2024年9月30日 星期一

V80202E – 工單附檔瀏覽 – 唯讀 – 底色:灰色 - 下載檔案 - - 清除 cookie - loadMask - cookie -timer

 目的: V80202E – 工單附檔瀏覽 唯讀 底色:灰色

處理說明:    1>欄位設為唯讀 , 底色設為灰色
                                     Ext.getCmp("sub_AMMNO").setReadOnly(true);    
                                    Ext.getCmp("sub_AMMNO").inputEl.addCls('readonly');
                               2>inputEI 必需在 已顯示畫面(win.show()),才可設定
                               3>清除 cookie
                                    //Ext.util.Cookies.clear("Rtn_Msg"); 
                        //先清除 cookies 欄位值 
                        Ext.util.Cookies.set("Rtn_Msg", "");


1>*.js
  var Tmp_AMMNO, Tmp_SAPNO, Tmp_PN;
    Tmp_AMMNO = nulltoStr(par_rec.data['AMMNO']).toString();    
    Tmp_SAPNO = nulltoStr(par_rec.data['SAPNO']).toString();    
    Tmp_PN = nulltoStr(par_rec.data['PN']).toString();            
        Ext.getCmp("sub_AMMNO").setValue(Tmp_AMMNO);
        Ext.getCmp("sub_SAPNO").setValue(Tmp_SAPNO);
    Ext.getCmp("sub_PN").setValue(Tmp_PN);              
    Ext.getCmp("sub_AMMNO").setReadOnly(true);    
    Ext.getCmp("sub_SAPNO").setReadOnly(true);
    Ext.getCmp("sub_PN").setReadOnly(true);    
    win1.show();
    Ext.getCmp("sub_AMMNO").inputEl.addCls('readonly');
    Ext.getCmp("sub_SAPNO").inputEl.addCls('readonly');
    Ext.getCmp("sub_PN").inputEl.addCls('readonly');

    //檔案下載
 try {            
            var Tmp_url = "../api/myAPI/downloadFile2?aTbl=" + Tmp_TblNM + "&Flds=" + Tmp_Flds + "&aCnd=" + Tmp_Cnd;
            document.location = Tmp_url;        
            var mask = new Ext.LoadMask(Ext.getBody(), {
                msg: '檔案下載中, 請稍待...'
            });
            mask.show();//使用 mask 需手動呼叫show() 方法下        
            var timer = setInterval(function () {
                //timer = null;     
                //若資料庫已更新完成, 則 Email 委約==6  &  Email 委約<>6
                var Tmp_Str = r_cookies('Rtn_Msg');
                console.log("cookies Rtn_Msg =", Tmp_Str);
                if (!checkisnull(Tmp_Str)) {
                    mask.hide();
                    mysuccessalert(Tmp_Str);
                    clearInterval(timer);  //不再重覆執行                                     
                }
            }, 1000)  // end of timer                    
        }  // end of try
        catch (e) {
            var Tmp_Str = "下載檔案失敗!!<br>"
                + "AMM單號(" + cur_rec.data["AMMNO"] + ")<br>"
                +"錯誤訊息:"+ e.message;
            mywarnalert(Tmp_Str);        
        }   //檔案無法讀取,仍會下載 byte=0

//若下載完成,則不再顯示 LoadMark
   Ext.getCmp('grid_Single').store.on("load", 
                                  function (me, records, successful, eOpts) {
                                      Proc_Msg.hide();  //若顯示完成,則不再顯示訊息
                                });

沒有留言:

張貼留言