顯示具有 np 標籤的文章。 顯示所有文章
顯示具有 np 標籤的文章。 顯示所有文章

2022年8月3日 星期三

V120103 - 判斷目前編輯的模式(1:新增, 2:編輯,0:瀏覽,..) buttonModel.modelType

1>TMSingleViewEdit.js

var buttonModel = function () {
    this.modelType = 0; //預設檢視模式
    this.getModelType = function () {
        return this.modelType;
    }
}

Ext.define('G_buttonModel', {
getModelType: function () {
return buttonModel.modelType;
},
setModelType: function (type_num) {
buttonModel.modelType = type_num;
}
});


2>V120103.js 

Ext.onReady(function () {
     var TMSingleViewEdit = Ext.create('TMSingleViewEdit');
     var gridstore = Ext.getCmp('grid_Single').store;
     var buttonModel = Ext.create('G_buttonModel'); 
                         :
               Ext.getCmp('btn_save').setFormValue = function () {
               //要判斷 buttonModel 的編輯模式時, 才即時去抓 modelType
               var modelType = buttonModel.getModelType();

               console.log("setFormValue modelType=", modelType);
               //若非[新增]模式,則不設定欄位值
               if (!(modelType == 1))    
                   return true;

        var isOk = true;
        var Tmp_MAX_ITM = "";       
        np = {};
        np["CLS"] = Ext.getCmp('CLS').getValue();        
        Ext.Ajax.request({
            method: "POST",
            url: '../../api/V120103API/GET_MAXITM',
            params: np,
            async: false,
            success: function (response, opts) {
                var Tmp_Obj = Ext.decode(response.responseText);       
                if (Tmp_Obj["success"]) {
                    Tmp_MAX_ITM = Tmp_Obj['MAX_ITM'];
                    Ext.getCmp("ITM").setValue(Tmp_MAX_ITM);
                }
            }, // end of  success 
            failure: function (response, opts) {
                isOk = false;
            }
        });  // end of Ext.Ajax               
       return isOk;

}

 

2022年7月14日 星期四

Web V120502 - store 加入新資料(add)

目的: 在Grid(store) 加入資料 
問題:  1>如何在Grid(store)加入新資料

           2>如何判斷 store 有選擇資料
                --> 自行加入checkbox ,
                      勾選多行, 不可以 Ext.getCmp('grid_Single').selModel.getSelection();  判斷



Ans:
 var Tmp_Str = '';
        var Tmp_Grid = Ext.getCmp('grid_Single');
        var Tmp_store = Tmp_Grid.store;  //= gridstore        
        var Tmp_sub_Grid = Ext.getCmp('sub_Grid');
        var Tmp_sub_store = Tmp_sub_Grid.store;  //= gridstore        
        var Tmp_PageCnt = Tmp_store.getCount();
        console.log("分頁共 N  筆 , Tmp_PageCnt =", Tmp_PageCnt);
        var cur_rec, Tmp_AMMNO, Tmp_CHECK, Tmp_SAPNO, Tmp_PN, Tmp_QTY, Tmp_EOCND, Tmp_RMK ;
        var Tmp_OK = true;
        var np = {};
        for (i = 0; i < Tmp_PageCnt; i++) {
            //console.log("更新第 i  筆", i);
            //依目前 store的資料, 更新 AMM_FACDEPD.NWK , PK( DT+DEP+EMPLYID)
            cur_rec = Tmp_store.getAt(i);
            Tmp_AMMNO = cur_rec.data["AMMNO"];
            Tmp_CHECK = cur_rec.data["CHECK"];
            console.log("1 Tmp_AMMNO=", Tmp_AMMNO);
            console.log("1 Tmp_CHECK=", Tmp_CHECK);
            Tmp_SAPNO = cur_rec.data["SAPNO"];
            Tmp_PN = cur_rec.data["PN"];
            Tmp_QTY = cur_rec.data["QTY"];
            if (!checkisnull(cur_rec.data["ECNO"])) {
                Tmp_EOCND = cur_rec.data["ECNO"] + "+" + cur_rec.data["CNDPROCCODE"];
            }
            else {
                Tmp_EOCND = "";
            }
            Tmp_RMK = cur_rec.data["ACNO_"];
            //若主畫面資料有勾選,則加入 sub_store
            if (Tmp_CHECK) {
                var sub_Store_np = {
                    SAPNO: Tmp_SAPNO,
                    PN: Tmp_PN,
                    QTY: Tmp_QTY,
                    EOCND: Tmp_EOCND,
                    RMK: Tmp_RMK,                    
                }
                Tmp_sub_store.add(sub_Store_np);
            }

        }  // end of for i=
    }  // end of  function mySub2_OkBtn_click()