目的: V20301 – 詢問使用者確認後,才往下執行 – callback 兩次
處理說明:
1>*.js
//[確認轉發工]
function FM2AMM()
{
var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
var cur_rec;
if (cur_recs.length == 0) {
buttonModel.modelType = 0;
mywarnalert('請先勾選要[確認轉發工]的資料!!');
}
else {
var gridstore = Ext.getCmp('grid_Single').store;
var Tmp_Msg = "確定將勾選的資料轉發工嗎?";Ext.Msg.confirm('確認', Tmp_Msg, callBackFunc);
function callBackFunc(id) {
console.log("1 callBackFunc : 確定將勾選的資料轉發工嗎?");
if (id == 'yes') {
console.log("cur_recs.length:", cur_recs.length);
var Tmp_DataAry = [];
var isOk = true;
var np = {};
var Tmp_Str = "";
for (let i = 0; i <= cur_recs.length - 1; i++) {
// console.log("i:", i);
cur_rec = cur_recs[i];
if (cur_rec.data["STATFM"].toString() != "A")
{
Tmp_Str = "交修件單號(" + cur_rec.data["FMNO"].toString() + ")單況必需為 A: 未發工<br> "
+ "才可轉發工 !!<br>"
+ "請點選[複製]鈕, 建立資料<br>"
+ "再發工<br>";
mywarnalert(Tmp_Str);
return ;
}
Tmp_DataAry.push(cur_rec.data);
} // end of for (let i=0,)
// 將目前子畫面的資料(Table)轉成 JSON字串
var Tmp_DataStr = JSON.stringify(Tmp_DataAry);
console.log("Tmp_DataStr:", Tmp_DataStr);
//詢問 "此筆資料來源為 AMM,請問是否將[拆檢交修單號(RPNOAF)]異動為 [AMM單號]?
var Tmp_isRPNOAF2AMMNO = "false";
var Tmp_Msg = "此筆資料來源為 AMM<br>"
+"請問是否將[拆檢交修單號(RPNOAF)]異動為 [AMM單號] ? <br>";
Ext.Msg.confirm('詢問', Tmp_Msg, callBackFunc1);
function callBackFunc1(id) {
console.log("2 callBackFunc1 : 此筆資料來源為 AMM, 請問是否將[拆檢交修單號(RPNOAF)]異動為 [AMM單號] ?");
if (id == 'yes') {
Tmp_isRPNOAF2AMMNO = "true";
}
var np = {};
np = {
DataStr: Tmp_DataStr,
isRPNOAF2AMMNO: Tmp_isRPNOAF2AMMNO,
};
Ext.Ajax.request({
method: "POST",
url: '../../api/V20301API/FM2AMM',
params: np,
//params: Ary_np,
async: false,
success: function (response, opts) {
console.log("0 response.responseText=", response.responseText);
var Tmp_Obj = Ext.decode(response.responseText);
console.log("1 Tmp_Obj=", Tmp_Obj);
if (Tmp_Obj["success"] == false) {
var Tmp_Rtn_Msg = "[轉待發工]失敗!! <br>"
+"請檢核<br> "
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = false;
}
}, //end of success
failure: function (response, opts) {
var Tmp_Obj = Ext.decode(response.responseText);
var Tmp_Rtn_Msg = "[轉待發工]失敗!! <br>"
+ "請檢核<br>"
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = false;
}
}) //end of Ext.Ajax.Request
if (isOk == true) {
mysuccessalert("確認轉發工成功!!");
//資料更新完成, 重新顯示資料
Ext.getCmp("btn_Show").fireHandler();
}
} //end of callBackFunc1
} // end if (id == 'yes')
} // end of callbackfunc
} //end of else {}
} // end of FM2AMM