ken_nogi/pleasanter/develop/★MSS/★マスターシート/sites/scripts/0.工事名変更スクリプト.js
Kenichiro NOGI 7176dc33ec pleasanter
2025-07-10 10:15:35 +09:00

567 lines
21 KiB
JavaScript

/*
@config : next999.json
@filename : ${psFileBasename}
@title : 0.工事名変更スクリプト
@name :
@siteIds : 189112
@siteTitles : ★マスターシート
@disabled: false
*/
//
//事前チェック前にいろいろと内容をチェックする
//
$p.events.before_validate = function (args) {
let classC = ($('#Results_ClassC').attr('data-readonly') == '1') ? $('#Results_ClassC').text() : $('#Results_ClassC option:selected').text();
let classC2 = ($('#Results_Class049').attr('data-readonly') == '1') ? $('#Results_Class049').text() : $('#Results_Class049 option:selected').text();
//派生コードが選択されている場合は派生コードを使用
if (classC2.length > 5) classC = classC2;
if (classC.length < 5) classC = '9999AAABB';
$p.set($('#Results_ClassA'), classC);
setKankeisya();
createCustomerName();
console.log('before validate');
//法人オン、オフと施主名記入チェック
//処理内容
let houjin = $('#Results_CheckA').prop("checked");
//let status = $('#Results_Status').attr('data-value');
let status = $('#Results_Status').val();
//外構業者設定の確認
//新規作成または差戻し後
if (status == '100' || status == '101' || status == '102') {
let class104 = $('#Results_Class104').val(); //外構業者
let class103 = $('#Results_Class103').val(); //その他外構業者
if (class104 == 'その他') {
if (class103 == '') {//空欄だった場合
alert('施工関連タブで「その他外構業者」を入力してください');
return false;
}
}
}
if (status == '100' || status == '110') {
if (houjin) {
//法人オンの場合
let class054 = $('#Results_Class054').val();
let class055 = $('#Results_Class055').val();
let class056 = $('#Results_Class056').val();
let class057 = $('#Results_Class057').val();
if (class054 == '' || class055 == '' || class056 == '' || class057 == '') {
alert('法人名、代表者とカナ表記を入力してください');
return false;
}
} else {
//法人オフの場合
let class001 = $('#Results_Class001').val();
let class002 = $('#Results_Class002').val();
let class003 = $('#Results_Class003').val();
let class004 = $('#Results_Class004').val();
if (class001 == '' || class002 == '' || class003 == '' || class004 == '') {
alert('施主名とカナ名を入力してください');
return false;
}
}
}
if ($p.action() != 'new') {
//新規作成でない限り差戻し権限者の内容を更新する
setSashimodoshiMembers();
}
return true;
}
//差し戻し権限者の一覧に名前をいれる(固定処理)
function setSashimodoshiMembers() {
//役員一覧
//豊蔵 一幸:421,杉山 康弘:422,川名 真治:423,小池 泰久:424,後藤 傑:425,遠藤 晃太:426,佐藤 宏幸:481,刈込 美智子:644,
//WF総務GR
//豊蔵 恵美:463,長谷川 望:459,秦野 勇輝:655,露﨑 直樹:691,
//let yakuin = ["421", "422", "423", "424", "425", "426", "481", "644"];
//let soumu = ["463", "459", "655", "691"]
//総務メンバーのみ初期メンバー登録
let sashimodoshiMembers = ["463", "459", "655", "691"];
//次承認者一覧を結合
sashimodoshiMembers = sashimodoshiMembers.concat($("#Results_Class186").val());
//所属長 myData.ClassHash.ClassY
//主担当営業 myData.ClassHash.ClassG
//所属長が主担当営業の場合は含まない
//if (myData.ClassHash.ClassY != myData.ClassHash.ClassG) {
// sashimodoshiMembers.push(myData.ClassHash.ClassY + "");
//}
//console.log(sashimodoshiMembers);
$p.set($('#Results_Class176'), JSON.stringify(sashimodoshiMembers));
}
function haseiCodeCheck() {
//派生契約コード使用有無チェック
let haseiCd = $('#Results_CheckB').prop("checked");
if (haseiCd) {
$('#Results_Class049Field').css('display', 'block');
} else {
$('#Results_Class049Field').css('display', 'none');
if ($('#Results_Class049').val() != '') {
console.log('Class049 set blank')
$p.set($('#Results_Class049'), '');
}
}
let classC = ($('#Results_ClassC').attr('data-readonly') == '1') ? $('#Results_ClassC').text() : $('#Results_ClassC option:selected').text();
let classC2 = ($('#Results_Class049').attr('data-readonly') == '1') ? $('#Results_Class049').text() : $('#Results_Class049 option:selected').text();
//派生コードが選択されている場合は派生コードを使用
if (classC2.length > 5) classC = classC2;
if (classC.length < 5) classC = '9999AAABB';
if ($('#Results_ClassA').val() != classC) {
$p.set($('#Results_ClassA'), classC);
}
}
function houjinCheck() {
console.log('Houjin Check');
let houjin = $('#Results_CheckA').prop("checked");
if (houjin) {
//法人オンの場合
$p.set($('#Results_Class001'), '');
$p.set($('#Results_Class002'), '');
$p.set($('#Results_Class003'), '');
$p.set($('#Results_Class004'), '');
//連名2,3の中身を消して非表示
$p.set($('#Results_Class009'), '');
$p.set($('#Results_Class010'), '');
$p.set($('#Results_Class011'), '');
$p.set($('#Results_Class012'), '');
$p.set($('#Results_Class013'), '');
$p.set($('#Results_Class014'), '');
$p.set($('#Results_Class015'), '');
$p.set($('#Results_Class016'), '');
$p.set($('#Results_Date002'), '');
$p.set($('#Results_Num002'), '');
$p.set($('#Results_Class017'), '');
$p.set($('#Results_Class018'), '');
$p.set($('#Results_Class019'), '');
$p.set($('#Results_Class020'), '');
$p.set($('#Results_Class021'), '');
$p.set($('#Results_Class022'), '');
$p.set($('#Results_Class023'), '');
$p.set($('#Results_Class024'), '');
$p.set($('#Results_Date003'), '');
$p.set($('#Results_Num003'), '');
$('#Results_Class054Field').css('display', 'block');
$('#Results_Class055Field').css('display', 'block');
$('#Results_Class056Field').css('display', 'block');
$('#Results_Class057Field').css('display', 'block');
$('#Results_Class001Field').css('display', 'none');
$('#Results_Class002Field').css('display', 'none');
$('#Results_Class003Field').css('display', 'none');
$('#Results_Class004Field').css('display', 'none');
$('#SectionFields3Container').css('display', 'none');
$('#SectionFields4Container').css('display', 'none');
} else {
//法人オフの場合
$p.set($('#Results_Class054'), '');
$p.set($('#Results_Class055'), '');
$p.set($('#Results_Class056'), '');
$p.set($('#Results_Class057'), '');
$('#Results_Class054Field').css('display', 'none');
$('#Results_Class055Field').css('display', 'none');
$('#Results_Class056Field').css('display', 'none');
$('#Results_Class057Field').css('display', 'none');
$('#Results_Class001Field').css('display', 'block');
$('#Results_Class002Field').css('display', 'block');
$('#Results_Class003Field').css('display', 'block');
$('#Results_Class004Field').css('display', 'block');
$('#SectionFields3Container').css('display', 'block');
$('#SectionFields4Container').css('display', 'block');
}
}
function houjinCheck2() {
console.log('Houjin Check');
let houjin = $('#Results_CheckA').prop("checked");
if (houjin) {
//法人オンの場合
//連名2,3の中身を消して非表示
$('#Results_Class054Field').css('display', 'block');
$('#Results_Class055Field').css('display', 'block');
$('#Results_Class056Field').css('display', 'block');
$('#Results_Class057Field').css('display', 'block');
$('#Results_Class001Field').css('display', 'none');
$('#Results_Class002Field').css('display', 'none');
$('#Results_Class003Field').css('display', 'none');
$('#Results_Class004Field').css('display', 'none');
$('#SectionFields3Container').css('display', 'none');
$('#SectionFields4Container').css('display', 'none');
} else {
//法人オフの場合
$('#Results_Class054Field').css('display', 'none');
$('#Results_Class055Field').css('display', 'none');
$('#Results_Class056Field').css('display', 'none');
$('#Results_Class057Field').css('display', 'none');
$('#Results_Class001Field').css('display', 'block');
$('#Results_Class002Field').css('display', 'block');
$('#Results_Class003Field').css('display', 'block');
$('#Results_Class004Field').css('display', 'block');
$('#SectionFields3Container').css('display', 'block');
$('#SectionFields4Container').css('display', 'block');
}
}
/*
$('#Results_Class054,#Results_Class055,#Results_Class056,#Results_Class057,#Results_Class001,#Results_Class002,#Results_Class003,#Results_Class004,#Results_Class009,#Results_Class010,#Results_Class011,#Results_Class012,#Results_Class017,#Results_Class018,#Results_Class019,#Results_Class020').change(function (args) {
console.log('iroiro event');
createCustomerName();
});
*/
//法人チェックボックス処理
$p.on('change', 'CheckA', function () {
console.log('CheckA event');
houjinCheck();
createCustomerName();
});
//法人チェックボックス処理
$p.on('change', 'CheckB', function () {
console.log('CheckB event');
haseiCodeCheck();
});
$p.on('change', 'ClassC', function () {
console.log('ClassC event');
houjinCheck();
createCustomerName();
});
/*
$p.on('change', 'Class049', function () {
console.log('Class049 event');
//houjinCheck();
//createCustomerName();
});
*/
//差戻しチェックボックスイベント
$p.on('change', 'Check100', function () {
console.log('Check100 event');
console.log($('#Results_Check100').prop("checked"));
let check100 = $('#Results_Check100').prop("checked");
if (check100) {
$('button#Process_10').prop('disabled', false);
} else {
$('button#Process_10').prop('disabled', false);
}
});
//工事名、発注者名処理
function createCustomerName() {
console.log('Create Customer Name');
let class001 = ($('#Results_Class001').attr('data-readonly') == '1') ? $('#Results_Class001').text() : $('#Results_Class001').val();
let class002 = ($('#Results_Class002').attr('data-readonly') == '1') ? $('#Results_Class002').text() : $('#Results_Class002').val();
let class003 = ($('#Results_Class003').attr('data-readonly') == '1') ? $('#Results_Class003').text() : $('#Results_Class003').val();
let class004 = ($('#Results_Class004').attr('data-readonly') == '1') ? $('#Results_Class004').text() : $('#Results_Class004').val();
let class009 = ($('#Results_Class009').attr('data-readonly') == '1') ? $('#Results_Class009').text() : $('#Results_Class009').val();
let class010 = ($('#Results_Class010').attr('data-readonly') == '1') ? $('#Results_Class010').text() : $('#Results_Class010').val();
let class011 = ($('#Results_Class011').attr('data-readonly') == '1') ? $('#Results_Class011').text() : $('#Results_Class011').val();
let class012 = ($('#Results_Class012').attr('data-readonly') == '1') ? $('#Results_Class012').text() : $('#Results_Class012').val();
let class017 = ($('#Results_Class017').attr('data-readonly') == '1') ? $('#Results_Class017').text() : $('#Results_Class017').val();
let class018 = ($('#Results_Class018').attr('data-readonly') == '1') ? $('#Results_Class018').text() : $('#Results_Class018').val();
let class019 = ($('#Results_Class019').attr('data-readonly') == '1') ? $('#Results_Class019').text() : $('#Results_Class019').val();
let class020 = ($('#Results_Class020').attr('data-readonly') == '1') ? $('#Results_Class020').text() : $('#Results_Class020').val();
let class054 = ($('#Results_Class054').attr('data-readonly') == '1') ? $('#Results_Class054').text() : $('#Results_Class054').val();
let class055 = ($('#Results_Class055').attr('data-readonly') == '1') ? $('#Results_Class055').text() : $('#Results_Class055').val();
let class056 = ($('#Results_Class056').attr('data-readonly') == '1') ? $('#Results_Class056').text() : $('#Results_Class056').val();
let class057 = ($('#Results_Class057').attr('data-readonly') == '1') ? $('#Results_Class057').text() : $('#Results_Class057').val();
//工事名
let koujimei = '';
let koujimei_k = '';
//発注者
let hachusya = '';
let hachusya_k = '';
let houjin = $('#Results_CheckA').prop("checked");
if (houjin) {
//法人オンの場合
koujimei = class054;
if (class056 != '') {
koujimei = koujimei + ' ' + class056;
}
//hachusya = class054;
hachusya = koujimei;
koujimei_k = class055;
if (class057 != '') {
koujimei_k = koujimei_k + ' ' + class057;
}
//hachusya_k = class055;
hachusya_k = koujimei_k;
} else {
//工事名 漢字
koujimei = class001 + ' ' + class002;
if (class001 != class009 && class009 != '') {
koujimei = koujimei + '・' + class009 + ' ' + class010;
} else if (class001 == class009 && class010 != '') {
koujimei = koujimei + '・' + class010;
}
if (class001 != class017 && class017 != '') {
koujimei = koujimei + '・' + class017 + ' ' + class018;
} else if (class001 == class017 && class018 != '') {
koujimei = koujimei + '・' + class018;
}
//工事名 カナ
koujimei_k = class003 + ' ' + class004;
if (class003 != class011 && class011 != '') {
koujimei_k = koujimei_k + '・' + class011 + ' ' + class012;
} else if (class003 == class011 && class012 != '') {
koujimei_k = koujimei_k + '・' + class012;
}
if (class003 != class019 && class019 != '') {
koujimei_k = koujimei_k + '・' + class019 + ' ' + class020;
} else if (class003 == class019 && class020 != '') {
koujimei_k = koujimei_k + '・' + class020;
}
//発注者 漢字
if (class001 != '') hachusya = class001 + ' ' + class002;
if (class009 != '') hachusya = hachusya + '・' + class009 + ' ' + class010;
if (class017 != '') hachusya = hachusya + '・' + class017 + ' ' + class018;
//発注者 カナ
if (class003 != '') hachusya_k = class003 + ' ' + class004;
if (class011 != '') hachusya_k = hachusya_k + '・' + class011 + ' ' + class012;
if (class019 != '') hachusya_k = hachusya_k + '・' + class019 + ' ' + class020;
}
$p.set($('#Results_ClassQ'), koujimei);
$p.set($('#Results_ClassR'), koujimei_k);
$p.set($('#Results_ClassS'), hachusya);
$p.set($('#Results_ClassT'), hachusya_k);
//let classA = ($('#Results_ClassA').attr('data-readonly') == '1') ? $('#Results_ClassA').text() : $('#Results_ClassA').val();
let classC = ($('#Results_ClassC').attr('data-readonly') == '1') ? $('#Results_ClassC').text() : $('#Results_ClassC option:selected').text();
let classC2 = ($('#Results_Class049').attr('data-readonly') == '1') ? $('#Results_Class049').text() : $('#Results_Class049 option:selected').text();
//派生コードが選択されている場合は派生コードを使用
if (classC2.length > 5) classC = classC2;
if (classC.length < 5) classC = '9999AAABB';
//console.log(classA);
$p.set($('#Results_Class200'), classC + '■' + hachusya);
}
function hoshoCheck() {
//契約コード 保証年数のチェック----------------------------------------------------------------
let hosho1 = {
0: 10,
1: 20,
2: 30,
3: 60,
};
let hosho2 = {
1: 10,
2: 20,
3: 30,
6: 60,
};
let seino = {
4: 1,
3: 2,
2: 3,
1: 4,
0: 5,
}
//BVありの場合
let planCode1 = {
1: 2,
2: 5,
3: 6,
4: 'NG',
5: 'NG',
}
//BVなしの場合
let planCode2 = {
1: 7,
2: 3,
3: 4,
4: 8,
5: 1,
}
//console.log($('#Results_ClassC option:selected').text())
if ($('#Results_ClassA').val() != '9999AAABB') {
if ($('#Results_ClassC').attr('data-readonly') != '1') {
//console.log($('#Results_ClassA').val());
let keiyakuCode = $('#Results_ClassC option:selected').text();
let keiyakuCode2 = $('#Results_Class049 option:selected').text();
if (keiyakuCode2 != '') keiyakuCode = keiyakuCode2;
let hosho_year = $('#Results_Class063').val();
let code = keiyakuCode.substring(3, 4);
let code2 = keiyakuCode.substring(1, 2);
console.log('保証年数:' + hosho1[hosho_year]);
console.log('4桁目:' + code);
if (hosho1[hosho_year] != hosho2[code]) {
//alert('[物件詳細]の[保証年数]が適切ではありません\n再確認してください');
//return false;
$('#Results_Class063Field').css({
'background-color': 'red',
'color': 'white',
'height': '55px',
});
let div = document.createElement('div');
div.style.marginLeft = '60px';
div.style.fontSize = '1.2em';
div.style.fontWeight = 'bold';
div.innerHTML = '契約コードと保証年数が一致しません';
$('#Results_Class063Field').append(div);
} else {
//建物保証の選択内容チェック
if (code2 == '8') {
} else if (code2 == '0') {
} else {
let seino_plan = seino[$('#Results_Class087').val()];
let bvalue = $('#Results_Class062').val();
if (bvalue == '3' || bvalue == '4') {
console.log('BVあり');
console.log('性能プラン:' + planCode1[seino_plan]);
console.log('2桁目:' + code2);
if (planCode1[seino_plan] != code2) {
//建物保証プラン
$('#Results_Class062Field').css({
'background-color': 'red',
'color': 'white',
'height': '55px',
});
let div = document.createElement('div');
div.style.marginLeft = '60px';
div.style.fontSize = '1.2em';
div.style.fontWeight = 'bold';
div.innerHTML = '契約コードと保証プランが一致しません';
$('#Results_Class062Field').append(div);
//住宅性能評価
$('#Results_Class087Field').css({
'background-color': 'red',
'color': 'white',
'height': '55px',
});
let div1 = document.createElement('div');
div1.style.marginLeft = '60px';
div1.style.fontSize = '1.2em';
div1.style.fontWeight = 'bold';
div1.innerHTML = '契約コードと保証プランが一致しません';
$('#Results_Class087Field').append(div1);
}
} else {
console.log('BVなし');
console.log('性能プラン:' + planCode2[seino_plan]);
console.log('2桁目:' + code2);
if (planCode2[seino_plan] != code2) {
}
}
}
}
}
}
}
/*
[{
"SiteId": 61259,
"SearchFormat": "[ClassH] - [ClassJ] - [ClassP]([ClassO])",
"View": {
"ColumnSorterHash": {
"ClassH": "asc"
}
},
"Lookups": [{
"From": "ClassH",
"To": "ClassA",
"Type": 0
},
{
"From": "ClassT",
"To": "ClassB",
"Type": 0
},
{
"From": "Class001",
"To": "ClassO",
"Type": 0
},
{
"From": "DateA",
"To": "DateD",
"Type": 0
},
]
}]
*/