107 lines
5.2 KiB
JavaScript
107 lines
5.2 KiB
JavaScript
//----------------------------------------------------------------------
|
||
//入力チェック前処理
|
||
//更新ボタンを押したあと、入力必須項目などのチェックの前に処理される関数
|
||
$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"
|
||
}
|
||
]
|
||
}
|
||
]
|