2025年2月24日 星期一

V20305A – 零件需求編輯 – 子畫面編輯 – 唯讀/挑選/Memo欄位 - 按鈕隱藏 - 視窗最大化- New

目的: V20305A – 零件需求編輯 子畫面編輯 唯讀/挑選/Memo欄位

處理說明: 1>呼叫 Call_V20305A - 開啟子畫面
                      var win = getMyWindow("零件需求登錄", sub_V20305A_Flds, Btns_V20305A, "A");
                      //win.width = 600;
                      //win.height =300;
                      win.show();

                      win.maximize();
                      setFieldsCls('mySubFormA',..);
                      show_Data_V20305A();

                   2>設定 [必填]/[唯讀]欄位

                      setFieldsCls('mySubFormA',
                          [],  //required
                   ["sub_RPNOAF", "sub_AMMNO", "sub_TMNOXX", "sub_WP", "sub_FIG", "sub_IND",
                    "sub_NHA_PN_", "sub_NHA_QTY_", "sub_PN", "sub_CAGE", "sub_RQPN",                  
                    "sub_RQCAGE",
                   //"sub_C_UNIT",   //[C_UNIT]預設可編輯
                   "sub_QPA_TAL_", "sub_S_UNIT_",
                   "sub_SPN_", "sub_FACQTY_", "sub_ONLY_TLS",
                   "sub_EMPLYID",
                   "sub_EIAC", "sub_EI_LCN", "sub_EI_ALC", "sub_NHA_LCN", "sub_NHA_ALC",          
                   "sub_LCN", "sub_ALC",
                   ],  //readonly

                3>依欄位值,設定唯讀 , 按鈕隱藏
                     if (Tmp_C_UNIT.trim() != "") {  
                         Ext.getCmp("sub_C_UNIT").setReadOnly(true);
                         Ext.getCmp("sub_C_UNIT").inputEl.addCls('readonly');
                         Ext.getCmp("sub_btn_C_UNIT").setVisible(false);               
                     }







1>*.js

function Call_V20305A() {
console.log(" 1 inside - Call_V20305A 編輯: ");
//panel11
//交修單號(RPNOAF)
var cmp_sub_RPNOAF = get_cmp_txt1('交修單號', 'sub_RPNOAF', 100, 130);
var cmp_sub_AMMNO = get_cmp_txt1('AMM單號', 'sub_AMMNO', 100, 130);

//挑選欄位 - 料號 - 傳入 PN+CAGE挑選
 var cmp_sub_NSN = get_cmp_txt1('料號', 'sub_NSN', 100, 130);
    var cur_recs = Ext.getCmp('grid_D').getSelectionModel().getSelection();
    if (cur_recs.length == 0)
        return;
    var cur_rec = cur_recs[0];
    var Tmp_PN = nulltoStr(cur_rec.data['PN']).toString();
    var Tmp_CAGE = nulltoStr(cur_rec.data['CAGE']).toString();    
    var Tmp_urlStr = '../api/V20305AAPI/get_sub_NSNPick?isComplete=0&par_PN=' + Tmp_PN
        + '&par_CAGE=' + Tmp_CAGE;
    var cmp_sub_pick_NSN = get_pick_btn0('挑選料號', 'sub_btn_NSN',
        Tmp_urlStr ,
        ['NSN'], ['sub_NSN'],
        J_models_V20305A_NSN, J_columns_V20305A_NSN);
    cmp_sub_NSN.items.push(cmp_sub_pick_NSN);  
   
//Memo欄位
 var cmp_sub_OVERAHD = get_cmp_txtarea1('超量原因', 'sub_OVERAHD', 120, 600, 5);
 var cmp_sub_FRMK = get_cmp_txtarea1('故障現象', 'sub_FRMK', 120, 600, 5);


var sub_V20305A_Flds = [
        {
            type: 'panel', bodyStyle: "background-color:transparent;", border: 5, padding: "1",
            layout: 'border',
            items: [
                {
                    xtype: 'panel', id: 'sub_panel1', region: 'north', 
                    height: 300, layout: { type: 'hbox', align: 'stretch' },
                    items: [
                        { 
                            xtype: 'panel', id: 'sub_panel11', layout: 'vbox', flex: 10,                            
                            items: [cmp_sub_RPNOAF, cmp_sub_AMMNO, cmp_sub_TMNOXX, cmp_sub_WP, cmp_sub_FIG,
                                cmp_sub_IND, cmp_sub_NHA_PN_, cmp_sub_NHA_QTY_,
                            ]
                        },
:
:
     {
                    xtype: 'panel', id: 'sub_panel2', region: 'center',
                    layout: { type: 'vbox'},
                    border: 1,
                    items: [cmp_sub_OVERAHD,
                        cmp_sub_FRMK,
                        cmp_sub_FACHRN,
                        cmp_sub_NOTE,
                    ],
                },
            ]

      //若[需求單位]有值, 則 [需求單位]唯讀, 不可挑選  , 按鈕隱藏 
       if (Tmp_C_UNIT.trim() != "") {  
                Ext.getCmp("sub_C_UNIT").setReadOnly(true);
                Ext.getCmp("sub_C_UNIT").inputEl.addCls('readonly');
                Ext.getCmp("sub_btn_C_UNIT").setVisible(false);               
            }


2>*.cs
//過濾條件 [料號(NSN)]挑選
        [HttpPost]
        public dynamic get_sub_NSNPick(string NSN = "", string par_PN = "", string par_CAGE = "", int isComplete = 0)
        {
            //列出所有申請單(NSN)
            string Tmp_Sql ="  SELECT  NSN   "
                                       +" FROM     SP_NSN@TLS_245  "
                                       +" WHERE   PN = "+myfunc.AA(par_PN)
                                       +" AND        CAGE ="+ myfunc.AA(par_CAGE)
                                       +" ORDER  BY   NSN  ";
            string n = funId + "_sub_NSN";
            DataSet ds = setupPickDs(n, Tmp_Sql, new string[] { "AMM_FM" });
            if (NSN != null && !NSN.Equals(""))
            {
                if (isComplete == 1)
                {
                    ds = getPickDsbyCondi(n, "NSN='" + NSN + "'");
                }
                else
                {
                    ds = getPickDsbyCondi(n, "NSN  LIKE '%" + NSN + "%'");
                }
            }
            return ds;
        }  // end of  get_V20305A_NSNPick


        

沒有留言:

張貼留言