顯示具有 分頁勾選 標籤的文章。 顯示所有文章
顯示具有 分頁勾選 標籤的文章。 顯示所有文章

2023年7月17日 星期一

V120102 - 分頁勾選 - 保留分頁勾選的資料 - 雅嵐 -2 - each - forEach

 目的: V120102 - 分頁勾選  - 保留分頁勾選的資料 - 雅嵐_2

處理說明: 1> *_JSON.js , 定義 PK_LIST 儲存 PK
                        CHK_PK_OBJ.PKLIST     : 記錄目前勾選的 PK 字串
                  2>[全部選取] : 將資料的 PK 存入 CHK_PK_OBJ.PKLIST                      
                  3>[全部取消] : 將CHK_PK_OBJ.PKLIST清空
                  4>Column ["CHECK"] . renderer 時, 
                       1>>若目前資料為勾選(rec.get("CHECK")=true) :
                              若目前資料 PK 未存 在  CHK_PK_OBJ.PKLIST , 則加入本資料. PK
                       2>>若目前資料為未勾選(rec.get("CHECK")=false) :
                              將PK 從 CHK_PK_OBJ.PKLIST 移除
                            CHK_PK_OBJ.PK_LIST = jQuery.grep(CHK_PK_OBJ.PK_LIST, function (value) {
                                                       return value != item;
});
                 5> *.cs 若按[全部選取]鈕(par_paging==false),本頁已顯示計算欄位,
                      --> 不需計算欄位, 加快顯示速度
                       if (par_paging == false)
                         {  return ds;     }
 



   1>V120101_JSON.js

//2023/07/14 microed , 將 V120201 改成 雅嵐版本 - 分頁勾選
Ext.define('CHK_PK_OBJ', {  PK_LIST: [],            //儲存 PK_LIST  });
var CHK_PK_OBJ = Ext.create('CHK_PK_OBJ');

var J_columns = [
{ header: "", xtype: "rownumberer", width: 50, align: "center", sortable: false },
{
//2023/07/14 microed , 將 V120201 改成 雅嵐版本 - 分頁勾選
header: "勾選",
dataIndex: "CHECK", width: 40, xtype: 'checkcolumn', menuDisabled: true, sortable: false,
//rec : 目前資料欄位值
renderer: function (value, metadata, rec, rowIndex, colIndex, store) {
//var item = record.get('PROM_ID') + '&' + record.get('CR_NO') + '&' + record.get('ITEM_NO');
var item = rec.get('BITM');  //PK
var chkd = '';
if (rec.get('CHECK') === true) {
if (CHK_PK_OBJ.PK_LIST.indexOf(item) == -1) {
CHK_PK_OBJ.PK_LIST.push(item);
}
chkd = 'checked';
rec.set('CHECK', true);
}
else if (rec.get('CHECK') === false) {
rec.set('CHECK', false);
//將本item ,由 Array 中移除
CHK_PK_OBJ.PK_LIST = jQuery.grep(CHK_PK_OBJ.PK_LIST, function (value) {
return value != item;
});
}
else if (typeof rec.get('CHECK') === "undefined") { //往上或下一頁
if (CHK_PK_OBJ.PK_LIST.indexOf(item) > -1) {
chkd = 'checked';
if (CHK_PK_OBJ.PK_LIST.indexOf(item) == -1) {
CHK_PK_OBJ.PK_LIST.push(item);
}
rec.set('CHECK', true);
} else {
rec.set('CHECK', false);
}
}
var cbx = "<input  type='checkbox'  "
+ chkd + " > ";
return cbx;
},
},


2>V120102.js
//按鈕 : [批次新增][下載匯入格式]
    var BtnAry = [        
        { //2023/07/14 microed , 將 V120201 改成 雅嵐版本 - 分頁勾選
            xtype: 'button', text: '全部選取', id: 'SelAllBtn', iconCls: 'icon-check',
            listeners: {
                click: function () {
                    Ext.getCmp('grid_Single').store.each(function (rec) {
                        rec.set('CHECK', true);
                    }); 
//將 所有資料.PK 加入 CHK_PK_OBJ.PK_LIST
                    Ext.Ajax.request({
                        url: '../api/V120102API/getGridData_M?par_paging=false',
                        method: 'POST',
                        params: { all: 1 },
                        async: false, //將非同步功能關閉
                        failure: function (response, opts) {
                        },
                        success: function (response, opts) {
                            CHK_PK_OBJ.PK_LIST = [];
                            var obj = Ext.decode(response.responseText);
                            obj.T1.forEach(function (item, i) {
                                CHK_PK_OBJ.PK_LIST.push(item['BITM']);
                            });
                        }
                    });
                }
            }
        }, //end of 全部選取
 {
            xtype: 'button', text: '全部取消', id: 'unSelAllBtn', iconCls: 'icon-check',
            listeners: {
                click: function () {
                    //unSelAllBtn_click();                    
                    Ext.getCmp('grid_Single').store.each(function (rec) {
                        rec.set('CHECK', false);
                    });
                    CHK_PK_OBJ.PK_LIST = [];
                }
            }
        }, //end of 全部取消

2023年6月8日 星期四

V20302 - 交修件除帳 - 勾選 – 保留分頁勾選資料 - checkbox - cbxArr

 目的: V20303 - 交修件除帳 - 勾選 保留分頁勾選資料

處理說明:    1>利用    cbxArr : 記錄目前挑選資料.PK    ,
                                                                cbxIdx++;
             cbxArr[cbxIdx] = record.get('FMNO');
                     2>勾選時, 會觸發  columns      renderler    event 
                                               按[ ]時,若目前未勾選
                                                                                     cbxIdx++;
                      cbxArr[cbxIdx] = record.get('FMNO'); 
                                                                       若已勾選
                                     chkd = '';
                    cbxArr[i] = '';
                     3>利用 cbxArr1[ ] 儲存目前勾選資料內容 - Object { FMNO: xxxx, TYPEAF: xxxx}
                  cbxArr1[cbxIdx] = {
                 FMNO: record.get('FMNO'), 
                                              TYPEAF: record.get('TYPEAF'),
AMMNO: record.get('AMMNO'), OGONOAF: record.get('OGONOAF'), NGONOAF: record.get('NGONOAF'), 
SAPNO_: record.get('SAPNO_'), PN_: record.get('PN_'),
C_NM: record.get('C_NM'), SEQOAF: record.get('SEQOAF'), MB1A: record.get('MB1A'), RBTHAF: record.get('RBTHAF'), RPNOAF: record.get('RPNOAF'), MRPNOAF: record.get('MRPNOAF'), 
WBSNO: record.get('WBSNO'), DTSOR: record.get('DTSOR'), RQTYAF: record.get('RQTYAF'), NSN: record.get('NSN'), EIAC_CUS: record.get('EIAC_CUS'), 
FACWC: record.get('FACWC'), FRTP: record.get('FRTP'), STATFM: record.get('STATFM'), STATFM_: record.get('STATFM_'), 
};










1>*.js

var J_columns = [
{ header: "", xtype: "rownumberer", width: 40, align: "center", sortable: false },
{
header: "勾選", dataIndex: "CHECK", width: 40, xtype: 'checkcolumn',
renderer: function (value, metadata, record, rowIndex, colIndex, store) {
var chkd = '';
if (store.currentPage != curPage) {
if ((cbxArr.indexOf(record.get('FMNO'))) >= 0) {
chkd = 'checked';
}
}
else {
var i = cbxArr.indexOf(record.get('FMNO'));
if ((value === 'Y') || (value === true)) {
if (i < 0) {
chkd = 'checked';
cbxIdx++;
cbxArr[cbxIdx] = record.get('FMNO');
cbxArr1[cbxIdx] = {
FMNO: record.get('FMNO'), TYPEAF: record.get('TYPEAF'),
AMMNO: record.get('AMMNO'), OGONOAF: record.get('OGONOAF'), 
                                NGONOAF: record.get('NGONOAF'), SAPNO_: record.get('SAPNO_'),
                                PN_: record.get('PN_'),C_NM: record.get('C_NM'), 
                                SEQOAF: record.get('SEQOAF'), MB1A: record.get('MB1A'), 
                                RBTHAF: record.get('RBTHAF'), RPNOAF: record.get('RPNOAF'), 
                                MRPNOAF: record.get('MRPNOAF'), WBSNO: record.get('WBSNO'), 
                                DTSOR: record.get('DTSOR'), RQTYAF: record.get('RQTYAF'), 
                                NSN: record.get('NSN'), EIAC_CUS: record.get('EIAC_CUS'), 
FACWC: record.get('FACWC'), FRTP: record.get('FRTP'), 
                                STATFM: record.get('STATFM'), STATFM_: record.get('STATFM_'), 
};
console.log("cbxArr[cbxIdx]=", record.get('FMNO'));
}
else {
chkd = '';
cbxArr[i] = '';
cbxArr1[i] = {};
}
}
else {
if (i >= 0) {
chkd = '';
cbxArr[i] = '';
cbxArr1[i] = {};
}
}
}
var cbx = "<input  type='checkbox'  name='" + (record.get('FMNO') + "_V20302") + "'   " + chkd + " >";
return cbx;
},
},