2024年8月28日 星期三

V80202- 新增過濾欄位1,2,3

 目的: V80202- 新增過濾欄位1,2,3

處理說明: 1>提供[過濾欄位]挑選 - 挑選要過濾的欄位 & 過濾欄位值 & 欄位值挑選([...])
                  2>在畫面下方新增 Query1 - 過濾欄位 Panel
                        var Query1 = new Ext.FormPanel({ ,
                                                       items: [ cmp_filter1, cmp_filter2, cmp_filter3,]
                  3>產生[過濾欄位1,2,3]
                       var cmp_filter1 = get_cmp_filter1("過濾條件1", "s_filter1", 80, 80, Tmp_Store);                                    var cmp_filter2 = get_cmp_filter1("過濾條件2", "s_filter2", 80, 80, Tmp_Store);                                     var cmp_filter3 = get_cmp_filter1("過濾條件3", "s_filter3", 80, 80, Tmp_Store);
     
               4>[過濾欄位]名稱(combo.id):  Ex:  s_filter1  
                   [過濾欄位值].名稱(combo.id+"_txt"): Ex:   s_filter1_txt
                   [過濾欄位挑選按鈕].名稱(combo.id+"_btn"): Ex:   s_filter1_btn

                5>設定過濾欄位.挑選子視窗  - [過濾欄位挑選按鈕] .handler= function;
                    var onSelect = function (combo, records) {
                          var record = records[0] || records;
                         var cur_value = record.get("value");
                         switch (cur_value) {
                            case "MKNO":

                                  Ext.getCmp(cur_comboid_btn).handler = s_MKNO_pick1;
                                  break;
                             case "FIXPONO":
                                  Ext.getCmp(cur_comboid_btn).handler = s_FIXPONO_pick1;
                                  break;
                           default:
                                Ext.getCmp(cur_comboid_btn).handler = null;
                          }

                        //製程欄位 - DoubleClick 挑選子視窗
                           var s_MKNO_pick1 = function (me, e) {
                                 var Tmp_id = me.id; //s_filter1_btn
                                 var Tmp_pos = Tmp_id.indexOf("_btn");        
                                 var cur_comboid_txt = Tmp_id.substr(0, Tmp_pos)+"_txt";
                                 //允選多選 - get_pick1
                                 get_pick1('挑選製程',
                                                  '../api/V80202API/get_s_MKNOPick',
                                ['MKNO'], [cur_comboid_txt], J_pickstore_s_MKNO, J_pickcolumns_s_MKNO);        
                                };
                       //提領編號欄位 - DoubleClick 挑選子視窗
                         var s_FIXPONO_pick1 = function (me, e) {
                              var Tmp_id = me.id; //s_filter1_btn
                             var Tmp_pos = Tmp_id.indexOf("_btn");
                             var cur_comboid_txt = Tmp_id.substr(0, Tmp_pos) + "_txt";
                             //單選 - get_pick0
                             get_pick0('挑選提領編號', 
                                          '../api/V80202API/get_s_FIXPONOPick',
                  ['FIXPONO'], [cur_comboid_txt], J_pickstore_s_FIXPONO, J_pickcolumns_s_FIXPONO);
                    };

                6>[過濾欄位]值 np[]  傳至後端  -  [資料顯示]鈕
                     var selectedValues = {        
                           s_filter1: null,
                           s_filter2: null,
                           s_filter3: null,
                      };
                     var Tmp_filter_Ary = ['s_filter1', 's_filter2', 's_filter3'];  //過濾條件的 Array
                     //取得過濾欄位的過濾值, 並傳入  np
                     Tmp_filter_Ary.forEach(function (cur_filter) {
                                //取得過濾欄位名稱(Ex: AMMNO,SAPNO)
                                var Tmp_filter_NM = selectedValues[cur_filter];  
                                if (!checkisnull(Tmp_filter_NM)) {
                                     var cur_filter_txt = cur_filter + "_txt";
                                 var Tmp_filter_txt = nulltoStr(Ext.getCmp(cur_filter_txt).getValue()).trim();
                                    Tmp_filter_NM = "s_" + Tmp_filter_NM;
                                    np[Tmp_filter_NM] = Tmp_filter_txt;
                            }
                            }
                            );

              7>設定過濾欄位.挑選子視窗  - button.onclick handle
var s_MKNO_pick1 = function (me, e) {
        var Tmp_id = me.id; //s_filter1_btn
        var Tmp_pos = Tmp_id.indexOf("_btn");        
        var cur_comboid_txt = Tmp_id.substr(0, Tmp_pos)+"_txt";
         //允許多選 
           get_pick1('挑選製程',
            '../api/V80202API/get_s_MKNOPick',
            ['MKNO'], [cur_comboid_txt], J_pickstore_s_MKNO, J_pickcolumns_s_MKNO);        
    };
    var s_FIXPONO_pick1 = function (me, e) {
        var Tmp_id = me.id; //s_filter1_btn
        var Tmp_pos = Tmp_id.indexOf("_btn");
        var cur_comboid_txt = Tmp_id.substr(0, Tmp_pos) + "_txt";
         get_pick0('挑選提領編號', 
            '../api/V80202API/get_s_FIXPONOPick',
             ['FIXPONO'], [cur_comboid_txt], J_pickstore_s_FIXPONO, J_pickcolumns_s_FIXPONO);
    };







沒有留言:

張貼留言