目的: Web V20301 – 複製 -目前勾選的資料, 非目前所在資料
處理說明:1>將[複製]鈕 - Template 程式. disable
Ext.getCmp('btn_copy').setVisible(true);
Ext.getCmp('btn_copy').setText("複製");
Ext.getCmp('btn_copy').setVisible(true);
Ext.getCmp('btn_copy').setText("複製");
Ext.getCmp('btn_copy').un("click", Ext.getCmp('btn_copy').events.click.listeners[0].fn);
2>處理勾選的資料s
if (CHK_PK_OBJ.PK_LIST.length == 0) {
buttonModel.modelType = 0;
mywarnalert('請先勾選要複製的資料!!');
}
else {
copy_recs = Array.from(CHK_PK_OBJ.ALL_LIST);
for (let i = 0; i <= CHK_PK_OBJ.PK_LIST.length - 1; i++) {
console.log("i:", i);
copy_rec = copy_recs[i];
Tmp_NEXT_FMNO = get_NEXT_FMNO();
var Tmp_cur_DT = DatetoStr(now, "Y/m/d");
var Tmp_MDDT = DatetoStr(copy_rec["MDDT"], "Y/m/d");
copy_rec["FMNO"]=Tmp_NEXT_FMNO;
3>複製後,停留在最新的一筆資料
gridstore.on('load', function (me, records, successful, eOpts) {
var Tmp_index = gridstore.find("FMNO", Tmp_NEXT_FMNO);
var sel_rec = gridstore.getAt(Tmp_index);
Ext.getCmp('grid_Single').getView().getSelectionModel().select(sel_rec);
gridstore.on('load', function (me, records, successful, eOpts) {
var Tmp_index = gridstore.find("FMNO", Tmp_NEXT_FMNO);
var sel_rec = gridstore.getAt(Tmp_index);
Ext.getCmp('grid_Single').getView().getSelectionModel().select(sel_rec);
//locate 後, reset load function
gridstore.un("load", gridstore.events.load.listeners[gridstore.events.load.listeners.length-1].fn);
}) // end of Ext.getCmp('grid_Single')..on("load")
gridstore.un("load", gridstore.events.load.listeners[gridstore.events.load.listeners.length-1].fn);
}) // end of Ext.getCmp('grid_Single')..on("load")
1>*.js
Ext.getCmp("btn_copy").on('click', function (me, e, eOpts) {
//原始的Grid 選擇資料
//var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
var cur_recs = [];
var cur_rec;
console.log("before copy_rec");
var copy_recs,copy_rec; //?? 如何產生另一 copy_rec 不和 cur_rec 相同
var np = {};
if (CHK_PK_OBJ.PK_LIST.length == 0) {
buttonModel.modelType = 0;
mywarnalert('請先勾選要複製的資料!!');
}
else {
me.delMessage = "確定複製勾選的資料嗎?";
Ext.Msg.confirm('提醒', me.delMessage, callBackFunc);
function callBackFunc(id) {
if (id == 'yes') {
gridstore.on('load', function (me, records, successful, eOpts) {
var Tmp_index = gridstore.find("FMNO", Tmp_NEXT_FMNO);
console.log("Tmp_index:", Tmp_index);
var sel_rec = gridstore.getAt(Tmp_index);
console.log("sel_rec:", sel_rec);
Ext.getCmp('grid_Single').getView().getSelectionModel().select(sel_rec);
console.log("gridstore.events:", gridstore.events);
gridstore.un("load", gridstore.events.load.listeners[gridstore.events.load.listeners.length-1].fn);
}) // end of Ext.getCmp('grid_Single')..on("load")
console.log("cur_recs.length:", cur_recs.length);
//複製 新的 Array , 不覆蓋原本的 Array
copy_recs = Array.from(CHK_PK_OBJ.ALL_LIST);
for (let i = 0; i <= CHK_PK_OBJ.PK_LIST.length - 1; i++) {
copy_rec = copy_recs[i];
Tmp_NEXT_FMNO = get_NEXT_FMNO();
var Tmp_cur_DT = DatetoStr(now, "Y/m/d");
//var Tmp_MDDT = DatetoStr(copy_rec.data["MDDT"], "Y/m/d");
var Tmp_MDDT = DatetoStr(copy_rec["MDDT"], "Y/m/d");
console.log("Tmp_NEXT_FMNO:", Tmp_NEXT_FMNO);
copy_rec["FMNO"]=Tmp_NEXT_FMNO;
copy_rec["BTDT"] = Tmp_cur_DT;
copy_rec["MDDT"] = Tmp_cur_DT;
copy_rec["STATFM"] = "A";
copy_rec["DTSOR"] = "A";
copy_rec["OSM"] = "";
copy_rec["PAMMNO"] = "";
copy_rec["FRNOAF"] = "";
//新增資料庫資料
Copy_FMNO(copy_rec);
} // end of for (let i=0,)
//因為複製後, 按[顯示資料]鈕, 並不會顯示刪才新增的資料,& Local 新增的資料
Ext.getCmp('btn_Show').fireHandler();
Ext.getCmp('grid_Single').getView().refresh();
//跳至最後一頁
var Tmp_ptb = Ext.getCmp('grid_ptb');
Tmp_ptb.moveLast();
buttonModel.modelType = 0;
} // end if (id == 'yes')
} // end of callbackfunc
} //end of else {}
}
);
沒有留言:
張貼留言