目的: V20301 –[複製] – 複製多筆資料 – CheckboxModel – 覆蓋原本 parent.[複製]鈕.處理
處理說明: 1>覆蓋原本 parent.[複製]鈕.處理 un('click', Handlerfn);
2>一筆一筆複製,呼叫後端函式 CopyFMNO (par_FMNO) ,於後端新增資料
3>重新顯示資料,btn_show.fireHandler()
2>一筆一筆複製,呼叫後端函式 CopyFMNO (par_FMNO) ,於後端新增資料
3>重新顯示資料,btn_show.fireHandler()
1>*.js
//覆蓋原本 parent 的 [複製]鈕處理
Ext.getCmp('btn_copy').un("click", Ext.getCmp('btn_copy').events.click.listeners[0].fn);
//新的 [複製]鈕處理,
var buttonModel = Ext.create('G_buttonModel'); //取得 目前的畫面狀態(1,2,3 : 新增/編輯/瀏覽)
Ext.getCmp("btn_copy").on('click', function (me, e, eOpts) {
var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
var cur_rec;
console.log("before copy_rec");
var copy_rec; //?? 如何產生另一 copy_rec 不和 cur_rec 相同
var np = {};
if (cur_recs.length == 0) {
buttonModel.modelType = 0;
mywarnalert('請先勾選要複製的資料!!');
}
else {
var gridstore = Ext.getCmp('grid_Single').store;
me.delMessage = "確定複製勾選的資料嗎?";
Ext.Msg.confirm('提醒', me.delMessage, callBackFunc);
function callBackFunc(id) {
if (id == 'yes') {
console.log("cur_recs.length:", cur_recs.length);
for (let i = 0; i <= cur_recs.length - 1; i++) {
console.log("i:", i);
cur_rec = cur_recs[i];
copy_rec = cur_rec;
console.log("0 cur_rec: ", cur_rec);
var 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");
console.log("Tmp_NEXT_FMNO:", Tmp_NEXT_FMNO);
copy_rec.data["FMNO"]=Tmp_NEXT_FMNO;
copy_rec.data["BTDT"] = Tmp_cur_DT;
copy_rec.data["MDDT"] = Tmp_cur_DT;
copy_rec.data["STATFM"] = "A";
copy_rec.data["DTSOR"] = "A";
copy_rec.data["OSM"] = "";
console.log("1 cur_rec: ", cur_rec);
console.log("copy_rec: ", copy_rec);
//新增資料庫資料
Copy_FMNO(copy_rec);
} // end of for (let i=0,)
//複製完成後,重新顯示資料
Ext.getCmp('btn_Show').fireHandler();
buttonModel.modelType = 0;
} // end if (id == 'yes')
} // end of callbackfunc
} //end of else {}
}
);
function Copy_FMNO(par_copy_rec)
{
var np = {};
np = par_copy_rec.data;
Ext.Ajax.request({
method: "POST",
url: '../../api/V20301API/Copy_FMNO',
params: np,
async: false,
success: function (response, opts) {
var Tmp_Obj = Ext.decode(response.responseText);
if (Tmp_Obj["success"]) {
Tmp_Rtn_Msg = Tmp_Obj['Rtn_Msg'].toString();
//"複製成功 !! <br>"
mywarnalert(Tmp_Rtn_Msg);
//gridstore.add(copy_rec);
}
else {
Tmp_Rtn_Msg = Tmp_Obj['Rtn_Msg'].toString();
//"複製失敗 !!"
mywarnalert(Tmp_Rtn_Msg);
}
}, // end of success
failure: function (response, opts) {
isOk = false;
}
}); // end of Ext.Ajax
} // end of function string Copy_FMNO(Tmp_FMNO)
//取得 FMNO 的下一編號
function get_NEXT_FMNO() {
var isOk = true;
var Tmp_NEXT_FMNO = "";
var np = {};
Ext.Ajax.request({
method: "POST",
url: '../../api/V20301API/get_NEXT_FMNO',
params: np,
async: false,
success: function (response, opts) {
var Tmp_Obj = Ext.decode(response.responseText);
//console.log("Tmp_Obj[success]=", Tmp_Obj["success"]);
if (Tmp_Obj["success"]) {
Tmp_NEXT_FMNO = Tmp_Obj['NEXT_FMNO'].toString();
if (Tmp_NEXT_FMNO.length == 0)
Tmp_NEXT_FMNO = '001';
console.log("Tmp_NEXT_FMNO=", Tmp_NEXT_FMNO);
return Tmp_NEXT_FMNO;
//mywarnalert(Tmp_Str);
//console.log(" 1 success return false");
}
else {
mywarnalert("取得下一系統件單號(FMNO)失敗 !!");
}
}, // end of success
failure: function (response, opts) {
isOk = false;
}
}); // end of Ext.Ajax
return Tmp_NEXT_FMNO;
} // end of function string get_NEXT_FMNO(Tmp_FMNO)
沒有留言:
張貼留言