ken_nogi/pleasanter/develop/総務 【β】売却・相続)名義変更一覧/01_物件検索.js
Kenichiro NOGI 48d993652f 20251006
2025-10-06 09:23:38 +09:00

186 lines
4.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

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.

let pageLoading = 0;
let apiKey = 'c38903157cbffc30961f50bc29d0991a6cd8af495ab3009b05c5f98e82b2e61b94ba2d5c0a48fc518b1cd74c9e427b01051a228f670f3c5282544dfbec93db87';
let userList = JSON.parse($('#userList').val()) || {};
window.addEventListener('load', function () {
if (pageLoading == 0) {
console.log('load Event');
onLoad();
}
});
$p.events.on_editor_load = function () {
if (pageLoading == 1) {
console.log('on Editor Load');
onLoad();
}
};
function onLoad() {
$p.ex.createSearchButton();
$p.ex.KeikaNissu();
$p.ex.createReportButton();
pageLoading = 1;
}
$p.ex.searchKeiyakuData = function () {
let resultsId = $('#Results_Class009').val();
if (resultsId) {
$p.apiGet({
'id': resultsId,
//'async': true,
'data': {
'ApiVersion': 1.1,
'ApiKey': apiKey,
},
'done': function (data) {
console.log(data);
//邸名:ClassJ to ClassD
//住所 ClassL to ClassE
//契約会社ClassF to Class020
//施工エリアClassG to Class021
if (data.Response.TotalCount) {
let ClassJ = data.Response.Data[0].ClassHash.ClassJ; //邸名
let ClassL = data.Response.Data[0].ClassHash.ClassL; //住所
let ClassF = data.Response.Data[0].ClassHash.ClassF; //契約会社
let ClassG = data.Response.Data[0].ClassHash.ClassG; //施工エリア
$p.set($('#Results_ClassD'), ClassJ);
$p.set($('#Results_ClassE'), ClassL);
$p.set($('#Results_Class020'), ClassF);
$p.set($('#Results_Class021'), ClassG);
}
},
'fail': function (data) {
console.log(data);
}
});
}
}
let companyData = {};
$p.ex.getcompanyData = function () {
//契約会社マスタを事前取得して変数に保存
let tableId = 96235;
if (tableId) {
$p.apiGet({
'id': tableId,
//'async': true,
'data': {
'ApiVersion': 1.1,
'ApiKey': 'c38903157cbffc30961f50bc29d0991a6cd8af495ab3009b05c5f98e82b2e61b94ba2d5c0a48fc518b1cd74c9e427b01051a228f670f3c5282544dfbec93db87',
},
'done': function (data) {
//console.log(data);
$.each(data.Response.Data, function (index, value) {
companyData[value.ResultId] = value;
});
console.log(companyData);
},
'fail': function (data) {
console.log(data);
}
});
}
}
$p.ex.getcompanyData();
//送信ボタンの作成
$p.ex.createSearchButton = () => {
let div = document.createElement('div');
let button = document.createElement('button');
button.type = 'button';
button.id = 'searchKeiyakuCodeBtn';
button.innerHTML = '契約情報を検索';
//button.setAttribute('onclick', '$p.ex.searchKeiyakuData()');
button.style.marginLeft = '120px';
button.style.marginBottom = '15px';
div.style.clear = 'both';
div.append(button);
$('#Results_Class009Field').after(div);
$('#searchKeiyakuCodeBtn').button({
icon: 'ui-icon-lightbulb'
});
$('#searchKeiyakuCodeBtn').on('click', function () {
//console.log('button click');
$p.ex.searchKeiyakuData();
});
}
$p.on('change', 'ClassH', function () {
let recordId = $('#Results_ClassH').val();
$p.set($('#Results_Description001'), JSON.stringify(companyData[recordId]));
});
//経過日数計算
$p.on('change', 'DateA', function () {
$p.ex.KeikaNissu();
});
$p.ex.KeikaNissu = function () {
let dateAstr = $('#Results_DateA').val();
let now = new Date();
let passDays = 0;
if (dateAstr) {
let dateA = new Date(dateAstr);
if (now.getTime() > dateA.getTime()) {
passDays = Math.floor((now.getTime() - dateA.getTime()) / (1000 * 60 * 60 * 24));
}
}
if ($('#passedDays')) {
$('#passedDays').remove();
}
let div = document.createElement('div');
let pYear = Math.floor(passDays / 365);
let pDays = passDays - (pYear * 365);
div.innerHTML = '経過日数:' + passDays + '日(' + pYear + '年 ' + pDays + '日)';
div.id = 'passedDays';
$('#Results_DateAField').after(div);
$('#passedDays').css({
'float': 'left',
'color': 'red',
'margin': '3px 0px',
'font-size': '1.5em',
'font-weight': 'bold',
});
}
$p.ex.createReportButton = function () {
let reportData = JSON.parse($('#reportData').val());
let div = document.createElement('div');
div.id = 'reportButtons';
$('#Guide').after(div);
if (reportData) {
console.log(reportData);
$.each(reportData, function (index, value) {
let fileName = value.reportName;
let guid = value.guid;
let button = document.createElement('button');
button.type = 'button';
button.id = 'guid_' + guid;
button.innerHTML = fileName;
button.setAttribute('onclick', '$p.ex.createReportData("' + fileName + '","' + guid + '")');
button.style.margin = '5px';
div.append(button);
$('#guid_' + guid).button({
icon: 'ui-icon-document'
});
});
}
}