顯示具有 callback2次 標籤的文章。 顯示所有文章
顯示具有 callback2次 標籤的文章。 顯示所有文章

2022年9月28日 星期三

V20301 - 詢問使用者確認後,才往下執行 – callback 2 次

 目的: 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