70 lines
2.8 KiB
JavaScript
70 lines
2.8 KiB
JavaScript
//返信予定日 Date085 変更イベントを検知して実行
|
||
$p.on('change', 'Date085', function () {
|
||
if ($('#Results_Date085').val() != '') {
|
||
console.log('返信予定日が変更されました。');
|
||
//返信予定日を取得
|
||
let date085 = $('#Results_Date085').val();
|
||
|
||
//遅延理由メッセージを取得
|
||
let content081 = $('#Results_Description081').val();
|
||
|
||
//%返信予定日% を置換する
|
||
let newContent = content081.replace(/%返信予定日%/g, date085);
|
||
|
||
//遅延理由を再設定する
|
||
$p.set($('#Results_Description081'), newContent);
|
||
}
|
||
});
|
||
|
||
/*
|
||
//----------------------------------------------------------------------
|
||
//日付文字列を「年/月/日(曜日)」形式に整形する(例:"2026/06/25" → "2026/6/25(木)")
|
||
function formatDateWithWeekday(dateStr) {
|
||
if (!dateStr) return '';
|
||
let datePart = dateStr.split(' ')[0]; //時刻が付いている場合は日付部分のみ取り出す
|
||
let parts = datePart.split('/');
|
||
if (parts.length < 3) return datePart; //想定外の形式の場合はそのまま返す
|
||
|
||
let year = parseInt(parts[0], 10);
|
||
let month = parseInt(parts[1], 10);
|
||
let day = parseInt(parts[2], 10);
|
||
let dateObj = new Date(year, month - 1, day);
|
||
|
||
let weekdays = ['日', '月', '火', '水', '木', '金', '土'];
|
||
let weekday = weekdays[dateObj.getDay()];
|
||
|
||
return year + '/' + month + '/' + day + '(' + weekday + ')'; //例:2026/6/25(木)
|
||
}
|
||
|
||
//----------------------------------------------------------------------
|
||
//返信予定日を遅延連絡内容に反映する共通処理
|
||
function reflectReplyDate() {
|
||
let replyDateRaw = $('#Results_Date085').val(); //返信予定日
|
||
if (!replyDateRaw) return; //未入力の場合は何もしない
|
||
|
||
let replyDate = formatDateWithWeekday(replyDateRaw); //「2026/6/25(木)」の形式に整形
|
||
|
||
let content = $('#Results_Description081').val(); //遅延連絡内容
|
||
if (!content) return; //テンプレがまだ反映されていない場合は何もしない
|
||
|
||
//「見積り返信が【○○】の予定です」の【○○】部分を、現在の中身に関わらず新しい日付に置き換える
|
||
let newContent = content.replace(/【.*?】の予定です/, '【' + replyDate + '】の予定です');
|
||
|
||
$p.set($('#Results_Description081'), newContent);
|
||
}
|
||
|
||
//----------------------------------------------------------------------
|
||
//返信予定日が変更された時
|
||
$p.events.on_change_Date085 = function (args) {
|
||
|
||
reflectReplyDate();
|
||
};
|
||
|
||
//----------------------------------------------------------------------
|
||
//遅延理由が変更された時(Lookupでテンプレが上書きされた直後に再反映)
|
||
$p.events.on_change_Class086 = function (args) {
|
||
reflectReplyDate();
|
||
};
|
||
|
||
*/
|