2024年1月10日 星期三

V30701A – 顯示[確認]訊息,使用者按確認後,才往下執行 -confirm - 確認訊息

 目的: V30701A – 顯示[確認]訊息,使用者按確認後,才往下執行 -confirm

處理說明: 1> 使用者按[確認]後, 才往下執行
                        --> Confirm(Tmp_msg);  
                        --> 同步式 , 會等使用者按確定鈕後,才繼續往下執行
                  2> myconfirmalert(Tmp_Str, callBackFunc);
                       --> 非同步式  , 不等使用者按確定鈕,繼續往下執行



1>*.js
//若工號(25155234) 承修工廠 不為7100,則顯示警示訊息
        //=> ’ 該工號非7100工單,是否確認 ?’,確認才繼續往下執行
        var Tmp_url = "../../api/V30701API/check_is_7100";
        var rtn = getUrlStr(Tmp_url, np, "檢核[輸入工單]承修工廠是否7100");
        if (!checkRtnOK(rtn)) {
            var Tmp_Str = "工號(" + Tmp_SAPNO + ")\n"
                                   + "承修工廠不為 7100\n"
                                   + "是否繼續執行?\n";
            var id = confirm(Tmp_Str);
            if (id) 
                return true;     
            else 
                return false;           
            //var Tmp_Str = "工號(" + Tmp_SAPNO + ")<br>"
            //                       +"承修工廠不為 7100<br>"
            //                       + "是否繼續執行?<br>";
            //非同步式,不等使用者按鈕,繼續往下執行, 所以資料庫不會新增
            //myconfirmalert(Tmp_Str, callBackFunc);  
            //function callBackFunc(id) {
            //    if (id == 'yes') 
            //        return true;
            //    else
            //        return false;
        }  // end of  if (!checkRtnOK(rtn)) {           

2024年1月4日 星期四

V30702F : 設定日期格式化: YYYY/MM/DD HH/MM & 欄位 readonly , renderer: 不可加 " "

目的: V30702F : 1>設定日期格式: YYYY/MM/DD HH/MM 

                             2>欄位 readonly

                            3> renderer:  不可加 "" , 否則Template[xls匯出]時, 會一直轉圈圈

{header:"數量",dataIndex:"QTY",width:30,align:"right",TMType:"float",renderer:Ext.util.Format.numberRenderer('000,000.00')}, 

處理說明: 1>設定日期格式: YYYY/MM/DD HH/MM -> 2024/01/05 11:05
{ header: "執行時間", dataIndex: "TATM", width: 150, sortable: false, TMType: "date", renderer: Ext.util.Format.dateRenderer('Y/m/d H:i') },
                  2>設定欄位 readOnly
                      setFieldsCls('mySubFormA',[], //required
['sub_TASKNO', 'sub_RQMAN', 'sub_RQDT', 'sub_RQDEP', 'sub_STLC', 'sub_EDLC', 'sub_TASKREMARK'], //readonly
[]);


1>*.js
var sub_Columns = [     
        { header: "", xtype: "rownumberer", width: 50, align: "center", sortable: false },
   // { header: "派遣申請單號", dataIndex: "TASKNO", width: 130, sortable: false, TMType: "string" },
      { header: "項次", dataIndex: "ITM", width: 30, sortable: false },
      { header: "執行人員", dataIndex: "TAMAN", width: 100, sortable: false, TMType: "string" },
      { header: "執行人員姓名", dataIndex: "TAMAN_", width: 100, sortable: false, TMType: "string" },
        { header: "執行時間", dataIndex: "TATM", width: 150, sortable: false, TMType: "date", renderer: Ext.util.Format.dateRenderer('Y/m/d H:i') },
        { header: "現況", dataIndex: "TP", width: 30, sortable: false, TMType: "string" },
        { header: "現況說明", dataIndex: "TP_" }    
    ];



 //欄位設為 ReadOnly 
    setFieldsCls('mySubFormA',
        [],                          //required
    ['sub_TASKNO', 'sub_RQMAN', 'sub_RQDT', 'sub_RQDEP', 'sub_STLC', 'sub_EDLC', 'sub_TASKREMARK'],  //readonly
        []);    
   

2024年1月3日 星期三

V30701 – Delay –新增&存檔後,延遲1秒(待資料重新顯示), 才Locate至該筆資料 - DelayedTask

 目的: V30701 – Delay –新增&存檔後,延遲1秒(待資料重新顯示), 才Locate至該筆資料

處理說明: 1>[存檔]鈕, 按存檔時,延遲1秒(待寫入資料庫),才重新顯示資料
                       Ext.getCmp('btn_save').on('click', function () { ...},
                                                                               this,
                                                                             { delay: 1000 }
                                                                   );
                 2>重新顯示資料時,Delay 1 秒, 才 Locate 新增的資料                  
                     Ext.getCmp('btn_Show').fireHandler();
                     var task = new Ext.util.DelayedTask(function () {
                     var Tmp_cnt = Ext.getCmp("grid_Single").store.getCount();                                
                     Ext.getCmp("grid_Single").getSelectionModel().select(Tmp_cnt-1);                              
                     Ext.getCmp("grid_Single").getView().focusRow(Tmp_cnt-1);        });                          
                     task.delay(1000);


1>*.js
//存檔後,重新顯示資料
    Ext.getCmp('btn_save').on('click', function () {      
        //按[存檔]鈕, 不需重新顯示 ,
        //否則原本無資料, 第一筆新增存檔時, 會顯示無資料
        Ext.getCmp('btn_Show').fireHandler();
        //Ext.getCmp("grid_Single").getSelectionModel().selectRow(7);
        var task = new Ext.util.DelayedTask(function () {
            var Tmp_cnt = Ext.getCmp("grid_Single").store.getCount();
            Ext.getCmp("grid_Single").getSelectionModel().select(Tmp_cnt-1);
            Ext.getCmp("grid_Single").getView().focusRow(Tmp_cnt-1);
        });
        task.delay(1000);        
    },
        this,
        { delay: 1000 }
    );