ken_nogi/pleasanter/develop/新・着工要因プリザンター化/Scripts/sample.js
Kenichiro NOGI 88a402ce0f up
2026-07-10 18:13:30 +09:00

107 lines
5.2 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.

//----------------------------------------------------------------------
//入力チェック前処理
//更新ボタンを押したあと、入力必須項目などのチェックの前に処理される関数
$p.events.before_validate = function (args) {
//サンプル①
//2つの項目を1つにマージする
let str1 = $('#Results_Class003').val(); //施主1・姓カナ
let str2 = $('#Results_Class004').val(); //施主1・名カナ
//スペースで結合して、施主名(カナ)を作成し、保管
$p.set($('#Results_Class015'), str1 + ' ' + str2); //施主名マージ
//サンプル②
//自動連番される管理番号から子番を別保存する
let kanriNo = $('#Results_ClassX').val(); //管理番号
let childNo = kanriNo.split('-')[1]; //管理番号を「-」で分割して、子番を取得
$p.set($('#Results_ClassB'), childNo); //子番を保存
//サンプル③
//DescriptionCに下記をマージして一覧に表示させたい
//Class031、Class032、Class033、Class034、Description031
//Class038、Class039、Class040
let mergeStr = []; //マージする文字列を格納する配列
mergeStr.push($('#Results_Class031').val()); //Class031の値を配列に格納
mergeStr.push($('#Results_Class032').val()); //Class032の値を配列に格納
mergeStr.push($('#Results_Class033').val()); //Class033の値を配列に格納
mergeStr.push($('#Results_Class034').val()); //Class034の値を配列に格納
mergeStr.push($('#Results_Description031').val()); //Description031の値を配列に格納
mergeStr.push($('#Results_Class038').val()); //Class038の値を配列に格納
mergeStr.push($('#Results_Class039').val()); //Class039の値を配列に格納
mergeStr.push($('#Results_Class040').val()); //Class040の値を配列に格納
//改行で結合して、DescriptionCに格納
$p.set($('#Results_DescriptionC'), mergeStr.join('\n')); //DescriptionCにマージして保存
//サンプル④
//各担当者やCCをマージする場合
//前提条件:変換元の各項目の選択肢一覧の値が[[Users*]]であること
//Class032 主担当営業
//Class033 副担当営業
//Class034 営業設計
//Class035 管理設計
//Class036 担当IC
//Class037 担当監督
//Class038 所属長
//Class151 担当者一覧 ※複数選択
let users151 = []; //ユーザーIDを格納する配列
users151.push($('#Results_Class032').val()); //Class032の値を配列に格納
users151.push($('#Results_Class033').val()); //Class033の値を配列に格納
users151.push($('#Results_Class034').val()); //Class034の値を配列に格納
users151.push($('#Results_Class035').val()); //Class035の値を配列に格納
users151.push($('#Results_Class036').val()); //Class036の値を配列に格納
users151.push($('#Results_Class037').val()); //Class037の値を配列に格納
users151.push($('#Results_Class038').val()); //Class038の値を配列に格納
users151.push($('#Results_Class151').val()); //Class151の値を配列に格納
//改行で結合して、DescriptionDに格納
//ユーザーIDの配列をJSON文字列に変換して保存
$p.set($('#Results_Description151'), JSON.stringify(users151));
//サンプル⑤
//Date101算出日、Date102チェック日、Date103返信日
//Class101算出者、Class102チェック者、Class103返信者
//Description091見積回答、Description092別途費用・伝達事項"
let logStr = [];
logStr.push('算出日:' + $('#Results_Date101').val()); //Date101の値を配列に格納
logStr.push('算出者:' + $('#Results_Class101').val()); //Class101の値を配列に格納
logStr.push('チェック日:' + $('#Results_Date102').val()); //Date102の値を配列に格納
logStr.push('チェック者:' + $('#Results_Class102').val()); //Class102の値を配列に格納
logStr.push('返信日:' + $('#Results_Date103').val()); //Date103の値を配列に格納
logStr.push('返信者:' + $('#Results_Class103').val()); //Class103の値を配列に格納
logStr.push('見積回答:' + $('#Results_Description091').val()); //Description091の値を配列に格納
logStr.push('別途費用・伝達事項:' + $('#Results_Description092').val()); //Description092の値を配列に格納
let orgLog = $('#Results_Description101').val(); //Description101の既存の値を取得
//既存のログがある場合はそれを先頭にして新しいログを結合、ない場合は新しいログのみを結合
let saveLog = orgLog ? orgLog + '-----\n' + logStr.join('\n') : logStr.join('\n');
$p.set($('#Results_Description101'), saveLog); //Description101に保存
}
[
{
"SiteId": 335450,
"View": {
"ColumnSorterHash": {
"NumA": "asc"
}
},
"Lookups": [
{
"From": "ClassA",
"To": "Class086"
},
{
"From": "DescriptionA",
"To": "Description081"
}
]
}
]