2026年9月21日 星期一

V60202M-[屆期更新]鈕 – 更新後,重新Locate 在目前編輯資料,以便列印資料 - V60202N_CHECK() - findBy

 目的:V60202N-[屆期更新] 更新後,重新Locate 在目前編輯資料,以便列印資料

處理說明: 1>reload 時,locate 在目前資料
                       gridstore.on('load', function () {
                       var Tmp_index = gridstore.findBy(function (rec, id) {
                               var Tmp_bol = true;
                               Tmp_bol = rec.data["CPNO"].toString() == Tmp_CPNO
                                           && rec.data["MATNR"].toString() == Tmp_MATNR;
                               return Tmp_bol; // true : 有找到
                     });
                     cur_rec = gridstore.getAt(Tmp_index);
                     Ext.getCmp("grid_M").getSelectionModel().select(cur_rec);

                     });
                 2>更新資料後,列印目前資料
                     CALL_V60202N();  //列印
                   //關閉本子畫面 , 重新顯示資料後, locate 在目前的資料
                    Ext.getCmp("CancelBtn_V60202M").fireEvent("click", 
                   Ext.getCmp("CancelBtn_V60202M")); 




1>*.js

     var Btns_V60202N = [
        {
            xtype: 'button', text: '確定', id: 'OkBtn_V60202N',
            listeners: {
                click: function (me, e, eOpts) {
                    if (V60202N_CHECK())
                        V60202N_OK();                    
                }
            }
        },

function show_Data_V60202N() {        
        Ext.getCmp("sub_PRNNUM").setValue("1");        
    }

    //檢核
    function V60202N_CHECK() {
        //mywarnalert(" Call  V60202N_OK ");                
        var Tmp_PRNNUM = "1";
        Tmp_PRNNUM = Ext.getCmp("sub_PRNNUM").getValue();
        if (parseInt(Tmp_PRNNUM) > 9) {
            var Tmp_Str = "列印張數不可 >9<br>"
                + "若列印張數超過9張<br>"
                +"請重覆列印即可!!<br>";
            mywarnalert(Tmp_Str);
            return false;
        }
        return true;
    }

        //
    function V60202N_OK() {
        //mywarnalert(" Call  V60202N_OK ");        
        var Tmp_CPNO = "", Tmp_MATNR = "";
        var Tmp_NORM = "", Tmp_PROJ = "";
        var Tmp_CHARG = "", Tmp_VFDAT = "";
        var Tmp_BKTXT = "";
        var Tmp_PRNNUM="1";
        var cur_recs = Ext.getCmp('grid_M').getSelectionModel().getSelection();
        var cur_rec = null;
        if (cur_recs.length > 0) {
            cur_rec = cur_recs[0];
            Tmp_CPNO = nulltoStr(cur_rec.data['CPNO']).toString();
            Tmp_MATNR = nulltoStr(cur_rec.data['MATNR']).toString();
            Tmp_NORM = nulltoStr(cur_rec.data['NORM']).toString();
            Tmp_PROJ = nulltoStr(cur_rec.data['PROJ']).toString();
            Tmp_CHARG = nulltoStr(cur_rec.data['CHARG']).toString();
            Tmp_VFDAT = nulltoStr(cur_rec.data['VFDAT']).toString();
            Tmp_BKTXT = nulltoStr(cur_rec.data['BKTXT']).toString();            
        }
        Tmp_PRNNUM = Ext.getCmp("sub_PRNNUM").getValue();

        var np = {};
        //var np = s_JSON('mySubFormF'); //TMFunction.js, 組合form上的查詢條件為json參數傳遞    , type=2, 所有欄位值 , 均傳至後端(不排除_  CaluField)
        np["CPNO"] = Tmp_CPNO;
        np["MATNR"] = Tmp_MATNR;
        np["NORM"] = Tmp_NORM;
        np["PROJ"] = Tmp_PROJ;
        np["CHARG"] = Tmp_CHARG;
        np["VFDAT"] = Tmp_VFDAT;
        np["BKTXT"] = Tmp_BKTXT;
        np["PRNNUM"] = Tmp_PRNNUM;

        
        var Tmp_url = "../../api/V60202NAPI/AMM_COMP2XLS";
        //getUrlStr : 必需傳回字串( dt.JSON字串) , 非 ds
        //var rtn_Str = getUrlStr(Tmp_url, np, "匯出[工作編號-人力資源](AMM_WKSTPD)");
        Ext.util.Cookies.set("Rtn_Msg", "");
        Ext.getCmp('s_form').submit({
            url: Tmp_url,
            method: 'POST',
            async: false,
            standardSubmit: true, //若要傳送檔案至前端, standardSubmit必需設為 true  
            params: np,
        });
        var mask = new Ext.LoadMask(Ext.getBody(), {
            msg: '資料處理中, 請稍待...'
        });
        mask.show();//使用 mask 需手動呼叫show() 方法下        
        //隔兩秒才顯示完成訊息
        var timer = setInterval(function () {
            var cookie_token = Ext.util.Cookies.get("Rtn_Msg");
            var Tmp_Str;
            if (!checkisnull(cookie_token)) {
                clearInterval(timer);
                mask.hide();
                timer = null;
                var rtn_Msg = r_cookies("Rtn_Msg");
                if (checkRtnOK(rtn_Msg)) {
                    Tmp_Str = "匯出[時限器材管制標籤]成功!!";
                    mysuccessalert(Tmp_Str);
                }
                else {
                    Tmp_Str = "匯出[時限器材管制標籤]失敗!!<br>"
                        + rtn_Msg;
                    mywarnalert(Tmp_Str);
                }                
                me.up("window").close();
                me.up("window").destroy();
            }
        }, 2000);  //等待 2000ms =1sec    
    };  // end of Ok_process() {  //批次新增       
        
      {
            xtype: 'button', text: '取消', id: 'CancelBtn_V60202M',
            listeners: {
                click: function () {
                    this.up("window").close();
                    this.up("window").destroy();
                    //3>重新更新 MDBGrid, 並 Loate 在目前資料
                    var cur_recs = Ext.getCmp("grid_M").getSelectionModel().getSelection();
                    var cur_rec = cur_recs[0];                    
                    var Tmp_CPNO, Tmp_MATNR;
                    Tmp_CPNO = cur_rec.data["CPNO"].toString();
                    Tmp_MATNR = cur_rec.data["MATNR"].toString();
                    var gridstore = Ext.getCmp("grid_M").getStore();
                    gridstore.on('load', function () {                        
                        var Tmp_index = gridstore.findBy(function (rec, id) {
                            var Tmp_bol = true;                            
                            Tmp_bol = rec.data["CPNO"].toString() == Tmp_CPNO
                                && rec.data["MATNR"].toString() == Tmp_MATNR;                                                            
                            return Tmp_bol;   // true : 有找到
                        });
                        cur_rec = gridstore.getAt(Tmp_index);
                        Ext.getCmp("grid_M").getSelectionModel().select(cur_rec);                        
                    });
                    Ext.getCmp("btn_Show").fireHandler();
                }
            }
        },

沒有留言:

張貼留言