顯示具有 詢問 標籤的文章。 顯示所有文章
顯示具有 詢問 標籤的文章。 顯示所有文章

2023年6月20日 星期二

V120202E – 確定後,才繼續往下執行 – Ext.Msg.alert –Ext.Msg.confirm - [退庫歸儲]鈕 , 詢問

 目的: V120202E 確定後,才繼續往下執行 – Ext.Msg.alert –Ext.Msg.confirm  - [退庫歸儲]鈕

處理說明: 1> Ext.Msg.confirm('是&否', me.delMessage, yes2go);
                        function 
yes2go(id) 
                        { if (id == 'yes') { }}
                 2> Ext.Msg.alert('確定', me.delMessage, ok2go);
                        function 
ok2go(id) 
                        { if (id == 'ok') { }}




1>*.js
- Ext.Msg.alert  - ok
             Tmp_Str = Tmp_Str
                    + "申請單號(" + cur_rec.data["APNO"].toString() + ") <br> "
                    + "退庫歸儲完成!!<br>";
                Ext.Msg.alert('確認', Tmp_Str, ok2go);
                function ok2go(id) {          
                    console.log("id:", id);
                    if (id == 'ok') {
                        //mysuccessalert("退庫歸儲完成 !!");
                        //清空 [點料人員][退庫原因] & grid 資料
                        Ext.getCmp("sub_BKMG").setValue("");
                        Ext.getCmp("sub_APNO").setValue("");
                        Ext.getCmp("sub_CAUSE_REMARK").setValue("");
                        var Tmp_gridstore = Ext.getCmp("sub_Grid").store;
                        Tmp_gridstore.clearData();
                        Tmp_gridstore.removeAll();
                    }// end of if(id=='yes')
                } //end of callbackfunc
            }


-Ext.Msg.confirm - Yes & No
            me.delMessage = "確定刪除勾選的資料嗎?";
            Ext.Msg.confirm('提醒', me.delMessage, callBackFunc);
            function callBackFunc(id) {
                if (id == 'yes') {
                    console.log("cur_recs.length:", cur_recs.length);
                    var gridstore = Ext.getCmp('grid_Single').store;                        
                    for (let i = 0; i <= cur_recs.length - 1; i++) {
                        console.log("i:", i);                        
                        Ext.getCmp('grid_Single').getSelectionModel().select(cur_recs[i]); //grid select指向所選的資料
                        cur_rec = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
                        console.log("cur_rec: ", cur_rec);                        
                        if (Ext.getCmp('btn_del').afterDel() == false) {
                            return;
                        }                                                
                    } //  end of for (let i=0,)
                    //資料庫均刪除完成後, 才由 gridstore 移除資料
                    for (let i = 0; i <= cur_recs.length - 1; i++) {
                        gridstore.remove(cur_recs[i]); //畫面上隱藏刪除列                     
                    } //  end of for (let i=0,)
                    Ext.getCmp('grid_Single').getView().refresh();
                    buttonModel.modelType = 0;
                }  // end    if (id == 'yes')             
            }  // end of callbackfunc

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

2022年9月26日 星期一

V20301 -YN -先詢問訊息,確認後,才執行後續動作 - callback - myconfirmalert(Tmp_msg, callBackFunc);

 目的: V20103  先詢問訊息,確認後,才執行後續動作

處理說明: 1> Ext.Msg.confirm('提醒', '確認執行嗎?', callBackFunc);

                       function callBackFunc(id) {
                            if (id == 'yes') {
                  2>myconfirmalert(par_msg,CallBackfunc)        
                      myconfirmalert(Tmp_msg, callBackFunc);
                      function callBackFunc(id) {
                        if (id == 'yes') {
                            console.log("cur_recs.length:", cur_recs.length);                
                             var np = {}
                            np["TASKNO"] = cur_rec.data['TASKNO'].toString();



1>*.js 

Ext.getCmp("btn_copy").on('click', function (me, e, eOpts) {        
        var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
        var cur_rec;
        console.log("before copy_rec");
        //var copy_rec = Ext.create('Ext.data.Model', {});            
        var copy_rec;  //?? 如何產生另一 copy_rec 不和 cur_rec 相同
        var np = {};
        console.log("after copy_rec");
        if (cur_recs.length == 0) {
            buttonModel.modelType = 0;
            mywarnalert('請先勾選要複製的資料!!');
        }
        else {
            var gridstore = Ext.getCmp('grid_Single').store;
            //me.delMessage = "確定複製勾選的資料嗎?";
            var Tmp_msg="確定複製勾選的資料嗎?";
            Ext.Msg.confirm('提醒', Tmp_msg, callBackFunc);
            function callBackFunc(id) {
                if (id == 'yes') {

                    console.log("cur_recs.length:", cur_recs.length);                    
                    for (let i = 0; i <= cur_recs.length - 1; i++) {
                        console.log("i:", i);                        
                        cur_rec = cur_recs[i];                        
                        copy_rec = cur_rec;

                        console.log("0 cur_rec: ", cur_rec);
                        var Tmp_NEXT_FMNO = get_NEXT_FMNO();
                        var Tmp_cur_DT = DatetoStr(now, "Y/m/d");
                        var Tmp_MDDT = DatetoStr(copy_rec.data["MDDT"], "Y/m/d");
                        console.log("Tmp_NEXT_FMNO:", Tmp_NEXT_FMNO);
                        copy_rec.data["FMNO"]=Tmp_NEXT_FMNO;                        
                        copy_rec.data["BTDT"] = Tmp_cur_DT;        
                        copy_rec.data["MDDT"] = Tmp_cur_DT;        
                        copy_rec.data["STATFM"] = "A";        
                        copy_rec.data["DTSOR"] = "A";        
                        copy_rec.data["OSM"] = "";                    
                        console.log("1 cur_rec: ", cur_rec);
                        console.log("copy_rec: ", copy_rec);
                        //新增資料庫資料
                        Copy_FMNO(copy_rec);
                        //gridstore.add(copy_rec);
                        //資料庫新增完成後,  gridstore 新增該筆資料                        
                    } //  end of for (let i=0,)
                    //資料庫均刪除完成後, 才由 gridstore 移除資料
                    //for (let i = 0; i <= cur_recs.length - 1; i++) {
                    //    gridstore.remove(cur_recs[i]); //畫面上隱藏刪除列                     
                    //} //  end of for (let i=0,)
                    Ext.getCmp('btn_Show').fireHandler();
                    //Ext.getCmp('grid_Single').getView().refresh();
                    buttonModel.modelType = 0;
                }  // end    if (id == 'yes')             
            }  // end of callbackfunc
        }  //end of else {}       
    }
    );



2>V30702B.js 
cur_rec = cur_recs[0];
        var Tmp_msg = "結案後<br>"
                                 +"目前簽入中的派遣單單況將自動簽出<br>"
                                 +"確定執行[結案]嗎 ?<br>"
                                 +"(地裝派遣單號: " + cur_rec.data['TASKNO'].toString() + ")<br>";
        //Ext.Msg.confirm('提醒', Tmp_msg, callBackFunc);
        myconfirmalert(Tmp_msg, callBackFunc);
        function callBackFunc(id) {
            if (id == 'yes') {
                console.log("cur_recs.length:", cur_recs.length);                
                var np = {}
                np["TASKNO"] = cur_rec.data['TASKNO'].toString();
                var Tmp_url = '../../api/V30702BAPI/UPDATE_STA';
                var Tmp_RtnStr = getUrlStr(Tmp_url, np, "結案處理 - 單況更新");
                if (checkRtnOK(Tmp_RtnStr)) {
                    mysuccessalert(Tmp_RtnStr, function () {
                        Ext.getCmp('btn_Show').fireHandler();  //重新顯示 Master資料
                    })                    
                }