ken_nogi/pleasanter/develop/★MSS/★マスターシート/sites/scripts/3.テーブルリンクと情報取得.js
Kenichiro NOGI 7176dc33ec pleasanter
2025-07-10 10:15:35 +09:00

329 lines
9.7 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
@config : next999.json
@filename : ${psFileBasename}
@title : 3.テーブルリンクと情報取得
@name :
@siteIds : 189112
@siteTitles : ★マスターシート
@disabled: false
*/
//Results_DateD 契約日
//Results_DateJ 追加変更期限  契約日の30日後
$p.on('change', 'DateD', function () {
if ($('#Results_DateD').val() != '') {
let dateD = new Date($('#Results_DateD').val());
dateD.setDate(dateD.getDate() + 30);
$p.set($('#Results_DateM'), dateToStr(dateD));
}
});
$p.on('change', 'ClassD', function () {
let recordId = $('#Results_ClassD').val();
$p.apiGet({
'id': recordId,
'done': function (data) {
//console.log(data);
let jsonStr = JSON.stringify(data.Response.Data[0]);
$p.set($('#Results_Description001'), jsonStr);
furikomisaki();
}
});
});
$p.on('change', 'ClassE', function () {
let recordId = $('#Results_ClassE').val();
$p.apiGet({
'id': recordId,
'done': function (data) {
//console.log(data);
let jsonStr = JSON.stringify(data.Response.Data[0]);
$p.set($('#Results_Description002'), jsonStr);
furikomisaki();
}
});
});
$p.on('change', 'Class033', function () {
let recordId = $('#Results_Class033').val();
$p.apiGet({
'id': recordId,
'done': function (data) {
//console.log(data);
let jsonStr = JSON.stringify(data.Response.Data[0]);
$p.set($('#Results_Description004'), jsonStr);
}
});
});
$p.on('change', 'Class035', function () {
let recordId = $('#Results_Class035').val();
$p.apiGet({
'id': recordId,
'done': function (data) {
//console.log(data);
let jsonStr = JSON.stringify(data.Response.Data[0]);
$p.set($('#Results_Description005'), jsonStr);
}
});
});
$p.on('change', 'ClassF', function () {
let recordId = $('#Results_ClassF').val();
$p.apiGet({
'id': recordId,
'done': function (data) {
//console.log(data);
let jsonStr = JSON.stringify(data.Response.Data[0]);
$p.set($('#Results_Description003'), jsonStr);
furikomisaki();
}
});
});
function furikomisaki() {
//振込先情報の保存
let data001 = JSON.parse($('#Results_Description001').val());
let data003 = JSON.parse($('#Results_Description003').val());
let furikomisaki = data001.ClassHash.ClassF;
if (data003.ClassHash.ClassH != 'NG') {
furikomisaki = data003.ClassHash.ClassH;
}
$p.set($('#Results_ClassX'), furikomisaki);
}
$p.on('change', 'Num017', function () {
let num1 = parseFloat($('#Results_Num017').val());
let num2 = Math.floor(num1 * 0.3025 * 100) / 100;
$p.set($('#Results_Num018'), num2);
});
$p.on('change', 'Num011', function () {
mensekiCalc();
});
$p.on('change', 'Num012', function () {
mensekiCalc();
});
$p.on('change', 'Num013', function () {
mensekiCalc();
});
$p.on('change', 'Num014', function () {
mensekiCalc();
});
$p.on('change', 'Num019', function () {
mensekiCalc();
});
function mensekiCalc() {
let sum1 = 0;
if ($('#Results_Num011').val()) {
sum1 += parseFloat($('#Results_Num011').val());
}
if ($('#Results_Num012').val()) {
sum1 += parseFloat($('#Results_Num012').val());
}
if ($('#Results_Num013').val()) {
sum1 += parseFloat($('#Results_Num013').val());
}
if ($('#Results_Num014').val()) {
sum1 += parseFloat($('#Results_Num014').val());
}
if ($('#Results_Num019').val()) {
sum1 += parseFloat($('#Results_Num019').val());
}
let sum2 = Math.floor(sum1 * 0.3025 * 100) / 100;
$p.set($('#Results_Num015'), sum1);
$p.set($('#Results_Num016'), sum2);
}
function dateToStr(orgdate) {
let year = orgdate.getFullYear();
let month = orgdate.getMonth() + 1;
let date = orgdate.getDate();
month = month.toString().padStart(2, '0');
date = date.toString().padStart(2, '0');
let str = year + '/' + month + '/' + date;
return str;
}
//郵便番号から住所を引き当てて補完するサンプルコード
function jpostalSetting() {
$('#Results_Class028').jpostal({
postcode: [
'#Results_Class028'
],
address: {
'#Results_Class029': '%3%4%5',
'#Results_Class031': '%3%4%5',
'#Results_Class030': '%ASKV8%ASKV9%ASKV10'
}
});
$('#Results_Class006').jpostal({
postcode: [
'#Results_Class006'
],
address: {
'#Results_Class007': '%3%4%5',
'#Results_Class008': '%ASKV8%ASKV9%ASKV10'
}
});
$('#Results_Class014').jpostal({
postcode: [
'#Results_Class014'
],
address: {
'#Results_Class015': '%3%4%5',
'#Results_Class016': '%ASKV8%ASKV9%ASKV10'
}
});
$('#Results_Class022').jpostal({
postcode: [
'#Results_Class022'
],
address: {
'#Results_Class023': '%3%4%5',
'#Results_Class024': '%ASKV8%ASKV9%ASKV10'
}
});
}
//誕生日から年齢を計算して入力
$p.on('change', 'Date001', function () {
mensekiCalc();
if ($('#Results_Date001').val() != '') {
let birthday = new Date($('#Results_Date001').val());
let age = getAge(birthday);
$p.set($('#Results_Num001'), age);
}
});
$p.on('change', 'Date002', function () {
mensekiCalc();
if ($('#Results_Date002').val() != '') {
let birthday = new Date($('#Results_Date002').val());
let age = getAge(birthday);
$p.set($('#Results_Num002'), age);
}
});
$p.on('change', 'Date003', function () {
mensekiCalc();
if ($('#Results_Date003').val() != '') {
let birthday = new Date($('#Results_Date003').val());
let age = getAge(birthday);
$p.set($('#Results_Num003'), age);
}
});
function getAge(birthday) {
let today = new Date();
let thisYearsBirthday = new Date(today.getFullYear(), birthday.getMonth() - 1, birthday.getDate());
let age = today.getFullYear() - birthday.getFullYear();
if (today < thisYearsBirthday) {
//今年まだ誕生日が来ていない
age--;
}
return age;
}
function setKankeisya() {
let classG = ($('#Results_ClassG').attr('data-readonly') == '1') ?
$('#Results_ClassG').attr("data-value") ?
$('#Results_ClassG').attr("data-value") : '' : $('#Results_ClassG').val();
let classH = ($('#Results_ClassH').attr('data-readonly') == '1') ?
$('#Results_ClassH').attr("data-value") ?
$('#Results_ClassH').attr("data-value") : '' : $('#Results_ClassH').val();
let classI = ($('#Results_ClassI').attr('data-readonly') == '1') ?
$('#Results_ClassI').attr("data-value") ?
$('#Results_ClassI').attr("data-value") : '' : $('#Results_ClassI').val();
let classJ = ($('#Results_ClassJ').attr('data-readonly') == '1') ?
$('#Results_ClassJ').attr("data-value") ?
$('#Results_ClassJ').attr("data-value") : '' : $('#Results_ClassJ').val();
let classK = ($('#Results_ClassK').attr('data-readonly') == '1') ?
$('#Results_ClassK').attr('data-value') ?
$('#Results_ClassK').attr('data-value') : '' : $('#Results_ClassK').val();
let classL = ($('#Results_ClassL').attr('data-readonly') == '1') ?
$('#Results_ClassL').attr('data-value') ?
$('#Results_ClassL').attr('data-value') : ' ' : $('#Results_ClassL').val();
let classY = ($('#Results_ClassY').attr('data-readonly') == '1') ?
$('#Results_ClassY').attr('data-value') ?
$('#Results_ClassY').attr('data-value') : '' : $('#Results_ClassY').val();
let class122 = ($('#Results_Class122').attr('data-readonly') == '1') ?
$('#Results_Class122').attr('data-value') ?
$('#Results_Class122').attr('data-value') : '' : $('#Results_Class122').val();
let class123 = ($('#Results_Class123').attr('data-readonly') == '1') ?
$('#Results_Class123').attr('data-value') ?
$('#Results_Class123').attr('data-value') : '' : $('#Results_Class123').val();
let kankeisya = [];
if (classG != '') {
kankeisya.push(classG);
}
if (classH != '') {
kankeisya.push(classH);
}
if (classI != '') {
kankeisya.push(classI);
}
if (classJ != '') {
kankeisya.push(classJ);
}
if (classK != '') {
kankeisya.push(classK);
}
if (classL != '') {
kankeisya.push(classL);
}
if (classY != '') {
kankeisya.push(classY);
}
if (class122 != '') {
kankeisya.push(class122);
}
if (class123 != '') {
kankeisya.push(class123);
}
console.log(JSON.stringify(kankeisya));
$p.set($('#Results_Class111'), JSON.stringify(kankeisya));
}
/*
ClassP
1, 設計契約, 設計契約, status - big - orange
2, 本契約, 本契約, status - big - blue
ClassN
0, なし, なし, status - blue
1, あり, あり, status - red
*/
$('input[name="Results_ClassP"]:radio').change(function () {
console.log($(this).val());
let bunrui = $(this).val();
//console.log(bunrui);
if (bunrui == 1 && $('#Results_Status').val() == 100) {
//設計契約を選択
//console.log($('#Results_Status').val());
$p.set($('#Results_Status'), 110);
$p.set($('#Results_ClassN'), 1);
} else if (bunrui == 2 && $('#Results_Status').val() == 110) {
//本契約を選択
//console.log($('#Results_Status').val());
$p.set($('#Results_Status'), 100);
$p.set($('#Results_ClassN'), 0);
}
console.log($('#Results_Status').val());
});