2026年8月26日 星期三

V20301-[刪除]鈕- 刪除目前所勾選的資料 , 必需清空 PK_LIST & ALL_LIST

 目的: V20301-[刪除]- 刪除目前所勾選的資料 , 必需清空 PK_LIST & ALL_LIST

處理說明: 1> var cur_recs = CHK_PK_OBJ.ALL_LIST;
                       for (var i = 0; i < CHK_PK_OBJ.PK_LIST.length; i++) {
                              cur_rec = CHK_PK_OBJ.ALL_LIST[i];
                               Tmp_DataAry1.push(cur_rec);
                        }

                    let Tmp_DataString1 = JSON.stringify(Tmp_DataAry1);
                    var np = {};
                    np["DataString1"] = Tmp_DataString1;
                    Tmp_url = '../../api/V20301API/Delete_1';
                    Tmp_RtnStr = getUrlStr(Tmp_url, np, "刪除 勾選的[交修件單號] 資料");
                    if (!checkRtnOK(Tmp_RtnStr)) {
                        mywarnalert(Tmp_RtnStr);
                        return;
                    }


1>*.js
Ext.getCmp("btn_del").on('click', function (me, e, eOpts) {
        parent.onclick = function () { };
        var cur_recs = CHK_PK_OBJ.ALL_LIST;
        var cur_rec;        
        if (cur_recs.length == 0)
        {
            buttonModel.modelType = 0;
            mywarnalert('請先勾選要刪除的資料!!');
        }
        else {
            me.delMessage = "確定刪除勾選的資料嗎?";
            Ext.Msg.confirm('提醒', me.delMessage, callBackFunc);
            function callBackFunc(id) {
                if (id == 'yes') {
                    console.log("cur_recs.length:", cur_recs.length);
                    var gridstore = Ext.getCmp('grid_Single').store;
                    //刪除勾選.FMNO
                    var Tmp_DataAry1 = [];
                    for (var i = 0; i < CHK_PK_OBJ.PK_LIST.length; i++) {
                        cur_rec = CHK_PK_OBJ.ALL_LIST[i];
                        Tmp_DataAry1.push(cur_rec);
                    }
                    //2026/08/26 刪除後,必需將 PK_LIST & ALL_LIST 清空
                    CHK_PK_OBJ.PK_LIST = [];
                    CHK_PK_OBJ.ALL_LIST = [];
                    let Tmp_DataString1 = JSON.stringify(Tmp_DataAry1);
                    var np = {};
                    np["DataString1"] = Tmp_DataString1;
                    Tmp_url = '../../api/V20301API/Delete_1';
                    Tmp_RtnStr = getUrlStr(Tmp_url, np, "刪除 勾選的[交修件單號] 資料");
                    if (!checkRtnOK(Tmp_RtnStr)) {
                        mywarnalert(Tmp_RtnStr);
                        return;
                    }
                    else
                        mysuccessalert(Tmp_RtnStr);
                    //for (let i = 0; i <= cur_recs.length - 1; i++) {
                    //    console.log("i:", i);                        
                    //    //Ext.getCmp('grid_Single').getSelectionModel().select(cur_recs[i]); //grid select指向所選的資料
                    //    //cur_rec = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
                    //    cur_rec = CHK_PK_OBJ.ALL_LIST[i];
                    //    console.log("cur_rec: ", cur_rec);                        
                    //    if (Ext.getCmp('btn_del').afterDel() == false) {
                    //        return;
                    //    }                                                
                    //} //  end of for (let i=0,)
                    //資料庫均刪除完成後, 才由 gridstore 移除資料
                    //for (let i = 0; i <= cur_recs.length - 1; i++) {
                    //    gridstore.remove(cur_recs[i]); //畫面上隱藏刪除列                     
                    //} //  end of for (let i=0,)
                    var toRemove = [];
                    Ext.getCmp('grid_Single').store.each(function (rec) {
                        if (rec.get('CHECK') == true)
                            toRemove.push(rec);
                            //gridstore.remove(rec); //畫面上隱藏刪除列  -->改成一次 remove all
                    });
                    gridstore.remove(toRemove); // remove all at once

                    Ext.getCmp('grid_Single').getView().refresh();
                    buttonModel.modelType = 0;
                }  // end    if (id == 'yes')             
            }  // end of callbackfunc
        }  //else { of if length>0            
    }) // end of click function 

沒有留言:

張貼留言