2026年11月1日 星期日

V60202S – 畫面排版 GroupBox - 按鈕置中 – Panel –label – readonly - 識別證2EMPLYID

 目的: V60202S – 畫面排版 – Panel –label – readonly - GroupBox  - 按鈕置中

處理說明: 1>GroupBox元件:
                       var cmp_sub_groupbox1 = get_cmp_groupbox1("明細資料", "sub_groupbox1", true);
                  2>Panel.按鈕置中:                
                       var cmp_sub_panel5 = get_cmp_panel1(550);
                       cmp_sub_panel5.layout = { type: 'hbox', pack: 'center', align: 'middle' };  //按鈕置中
                 3>Text.ReadOnly:
                      txt = Ext.getCmp("sub_MFGBATCH");
                      txt.setReadOnly(true);
                      txt.setFieldStyle('background:  #E0E0E0;');
                 4>Panel 放多元件
                     var cmp_sub_MFGBATCH = get_cmp_txt1('製造批號', 'sub_MFGBATCH', 80, 150);
                     var cmp_sub_MIXRATE = get_cmp_txt1('混合比例', 'sub_MIXRATE', 80, 70);
                     var cmp_sub_MIXRATE_lbl = get_cmp_lbl0(" : ", 10, { textAlign: 'left' },);
                     var cmp_sub_MIXRATE2 = get_cmp_txt0('sub_MIXRATE2', 70);
                     cmp_sub_MIXRATE.items.push(cmp_sub_MIXRATE_lbl, cmp_sub_MIXRATE2);
                     cmp_sub_panel1.items.push(cmp_sub_MFGBATCH, cmp_sub_MIXRATE);
                 5>按[Enter]-將[識別證號]轉成[員工編號]
                     //調合人員 - 按[ENTER]時,咷至下一欄位
                     Ext.getCmp("sub_MIXID").on("specialkey", function (field, e) {
                             if (e.getKey() === e.ENTER) {
                                 Ext.getCmp("sub_MIXID").fireEvent("blur", Ext.getCmp("sub_MIXID"));
            Ext.getCmp("sub_CHECKID").focus();
                     }
                     });

1>*.js
//panel11
//調合人員
    var cmp_sub_MIXID = get_cmp_txt1('調合人員', 'sub_MIXID', 80, 100);
    var cmp_sub_MIXID_ = get_cmp_cal0( 'sub_MIXID_', 100);
    var cmp_sub_LBL1 = get_cmp_lbl0('(請刷識別證)', 100, "text-align:left;color:blue;fontSize: 14px;");
    cmp_sub_MIXID.items.push(cmp_sub_MIXID_, cmp_sub_LBL1);
    //點料人員
    var cmp_sub_CHECKID = get_cmp_txt1('點料人員', 'sub_CHECKID', 80, 100);
    var cmp_sub_CHECKID_ = get_cmp_cal0('sub_CHECKID_', 100);
    var cmp_sub_LBL2 = get_cmp_lbl0('(請刷識別證)', 100, "text-align:left;color:blue;fontSize: 14px;");
    cmp_sub_CHECKID.items.push(cmp_sub_CHECKID_, cmp_sub_LBL2);
    //物料號碼&庫房&儲存位置
    var cmp_sub_MATNR = get_cmp_txt1('物料號碼', 'sub_MATNR', 80, 200);
    var cmp_sub_LBL3 = get_cmp_lbl0('(請掃描記錄卡之二維條碼)', 200, "text-align:center;color:blue;fontSize: 14px;");

    //panel12
    var cmp_chk_QTY = get_cmp_chk1('剩餘數量>0', 'sub_chk_QTY', 80, "true", "0 5 0 5",10,true);        
    var cmp_btn_Show = get_cmp_btn1('查詢', 'sub_btn_Show',10);
    
    //sub_panel5
    var cmp_sub_groupbox1 = get_cmp_groupbox1("明細資料", "sub_groupbox1", true);
    var cmp_sub_panel1 = get_cmp_panel1(550);
    var cmp_sub_panel2 = get_cmp_panel1(550);
    var cmp_sub_panel3 = get_cmp_panel1(550);
    var cmp_sub_panel5 = get_cmp_panel1(550);
    cmp_sub_panel5.layout = { type: 'hbox', pack: 'center', align: 'middle' };  //按鈕置中
    //sub_panel2
    var cmp_sub_MFGBATCH = get_cmp_txt1('製造批號', 'sub_MFGBATCH', 80, 150);
    var cmp_sub_MIXRATE = get_cmp_txt1('混合比例', 'sub_MIXRATE', 80, 70);
    var cmp_sub_MIXRATE_lbl = get_cmp_lbl0(" : ", 10, { textAlign: 'left' },);
    var cmp_sub_MIXRATE2 = get_cmp_txt0('sub_MIXRATE2', 70);
    cmp_sub_MIXRATE.items.push(cmp_sub_MIXRATE_lbl, cmp_sub_MIXRATE2);
    cmp_sub_panel1.items.push(cmp_sub_MFGBATCH, cmp_sub_MIXRATE);

    //sub_panel2
    var cmp_sub_MFG_RCBATCH = get_cmp_txt1('製造接收批號', 'sub_MFG_RCBATCH', 80, 150);
    var cmp_sub_WKTIMELIM = get_cmp_txt1('工作時限', 'sub_WKTIMELIM', 80, 150);
    var cmp_sub_WKTIMELIM_lbl = get_cmp_lbl0(" HR ", 30, { textAlign: 'left' },);
    cmp_sub_WKTIMELIM.items.push(cmp_sub_WKTIMELIM_lbl);
    cmp_sub_panel2.items.push(cmp_sub_MFG_RCBATCH, cmp_sub_WKTIMELIM);

    //sub_panel3
    var cmp_sub_VFDAT = get_cmp_txt1('儲存期限', 'sub_VFDAT', 80, 150);
    var cmp_sub_VFDAT_lbl = get_cmp_lbl0("(西元年月日,例如:20261031)", 200,
        { textAlign: 'left' },);
    cmp_sub_VFDAT.items.push(cmp_sub_VFDAT_lbl);
    cmp_sub_panel3.items.push(cmp_sub_VFDAT);

    //sub_panel4
    var cmp_sub_panel4 = get_cmp_panel1(550);
    cmp_sub_panel4.layout = { type: 'hbox', pack: 'center', align: 'middle'};  //按鈕置中
    var cmp_sub_btn_edit = get_cmp_btn1("編輯", "sub_btn_edit");
    cmp_sub_btn_edit.margin = '0 25 0 0';
    var cmp_sub_btn_save = get_cmp_btn1("儲存", "sub_btn_save");
    cmp_sub_btn_save.margin = '0 25 0 0';
    var cmp_sub_btn_cancel = get_cmp_btn1("取消", "sub_btn_cancel");
    cmp_sub_btn_cancel.margin = '0 25 0 0';
    cmp_sub_panel4.items.push(cmp_sub_btn_edit, cmp_sub_btn_save, cmp_sub_btn_cancel);
    cmp_sub_groupbox1.items.push(cmp_sub_panel1, cmp_sub_panel2, cmp_sub_panel3, cmp_sub_panel4);

    var cmp_sub_groupbox2 = get_cmp_groupbox1("膠漆料調和管制資料", "sub_groupbox2", true);
    var cmp_sub_PRNNO = get_cmp_txt1('膠漆料申請調配序號', 'sub_PRNNO', 120, 200);
    var cmp_sub_USEDQTY = get_cmp_txt1('主劑數量', 'sub_USEDQTY', 120, 200);
    var cmp_sub_USEDQTY_B = get_cmp_txt1('副劑數量', 'sub_USEDQTY_B', 120, 200);
    //sub_panel5
    var cmp_sub_btn_prn = get_cmp_btn1("列印", "sub_btn_prn");
    cmp_sub_btn_prn.margin = '0 25 0 0';
    var cmp_sub_btn_exit = get_cmp_btn1("離開", "sub_btn_exit");
    cmp_sub_btn_exit.margin = '0 25 0 0';
    var cmp_sub_prnlbl1 = get_cmp_lbl0('(標籤格式: 10cm*6cm)', 180, "text-align:left; color:blue;fontSize: 14px");
    cmp_sub_panel5.items.push(cmp_sub_btn_prn, cmp_sub_btn_exit, cmp_sub_prnlbl1);

    cmp_sub_groupbox2.items.push(cmp_sub_PRNNO, cmp_sub_USEDQTY, cmp_sub_USEDQTY_B, cmp_sub_panel5);
    
    var sub_V60202S_Flds = [
        {
            type: 'panel', bodyStyle: "background-color:transparent;", border: 5, padding: "1",
            layout: 'border',
            items: [
                {
                    xtype: 'panel', id: 'sub_panel1', region: 'north', layout: 'hbox',
                    //height: 30,
                    items: [
                        {
                            xtype: 'panel', id: 'sub_panel11', layout: { type: 'vbox', align: 'stretch' }, flex: 40, border: 0,
                            items: [cmp_sub_MIXID, cmp_sub_CHECKID, cmp_sub_MATNR, cmp_sub_LBL3],
                        },  // end of sub_panel11                            
                        {
                            xtype: 'panel', id: 'sub_panel12', layout: { type: 'vbox',  }, flex: 40, border: 0,
                            items: [cmp_chk_QTY, cmp_btn_Show],
                        },  // end of sub_panel12                        
                    ]  //end of sub_panel1.items,
                },  // end of sub_panel1                        
                {
                    xtype: 'panel',
                    id: 'sub_panel2',
                    region: 'center',
                    layout: 'fit',
                    //flex: 5,
                    border: 1,
                    items: [sub_Grid]
                },
                {  //製造批號 , 主劑數量,副劑數量
                    xtype: 'panel', id: 'sub_panel55', region: 'south',
                    layout:  { type: 'hbox', align: 'stretch' },
                    height: 150,
                    //flex: 1,
                    items: [cmp_sub_groupbox1, cmp_sub_groupbox2],
                },
                {  //純粹放[標籤預覽.html].BOM用 , 所以高度很小
                    xtype: 'panel', id: 'sub_panel_PRN', region: 'south',
                    layout: { type: 'hbox', align: 'stretch' },
                    height: 10,                    
                    items: [],
                },
            ] // end of   layout: "vbox", padding: "5", items: [
        }
        ]
            


    var win11 = getMyWindow("膠漆料管制標簽列印", sub_V60202S_Flds, sub_V60202S_Btns, "S");
    win11.x = 100; win11.y = 20;
        win11.setWidth(1200);
        win11.setHeight(600);
         win11.show();

//調合人員 - 按[ENTER]時,咷至下一欄位
    Ext.getCmp("sub_MIXID").on("specialkey", function (field, e) {
        if (e.getKey() === e.ENTER) {
            //field.next().focus();            
            //Ext.getCmp("sub_MIXID").setValue("ABC");
            Ext.getCmp("sub_MIXID").fireEvent("blur", Ext.getCmp("sub_MIXID"));
            Ext.getCmp("sub_CHECKID").focus();
        }
    });
        
    
    //調合人員 - MIXID
    Ext.getCmp("sub_MIXID").on('blur', function (me, eOpts) {
        //STEP1 將[識別證卡號] 轉成 [員工編號]
        var Tmp_CARDNO = me.getValue();
        if (Tmp_CARDNO.length > 8) {
            console.log("卡號:", Tmp_CARDNO);
            var Tmp_EMPLYID = "";  //所有資料 PK 字串, 以 , 分隔
            var Tmp_EMPLYNM = "";
            var Tmp_url = "../../api/V60202SAPI/get_EMPLYID_EMPLYNM";
            var np = {};
            np["CARDNO"] = Tmp_CARDNO;
            var Tmp_Str = getUrlStr(Tmp_url, np, "識別證編號2員工編號");
            Tmp_EMPLYID = StrExtract1(Tmp_Str, 1);
            Tmp_EMPLYNM = StrExtract1(Tmp_Str, 2);
            if (checkRtnOK(Tmp_EMPLYID)) {
                me.setValue(Tmp_EMPLYID);
                Ext.getCmp("sub_MIXID_").setValue(Tmp_EMPLYNM);
            }
        }
        else {  //直接輸入帳號 
            Tmp_EMPLYID = Tmp_CARDNO;
            Tmp_EMPLYNM = getEmp_NM(Tmp_EMPLYID);
            Ext.getCmp("sub_MIXID_").setValue(Tmp_EMPLYNM);
        }
    });


沒有留言:

張貼留言