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資料
                    })                    
                }




沒有留言:

張貼留言