2026年7月2日 星期四

V1060302 – 匯出- 顯示”處理中,請稍候”訊息 - LoadMask

 目的: V1060302 – 匯出- 顯示處理中,請稍候訊息 - LoadMask

處理說明:  1>  顯示訊息
                         var mask = new Ext.LoadMask(Ext.getBody(), {
                              msg: '處理中,請稍候...'
                           });
                          mask.show();
                  2> Ext.Ajax.request 
                           :
                             async  : false;  //將非同步功能關閉 , 才會顯示請 稍候訊息
                  



1>*.js
                 var mask = new Ext.LoadMask(Ext.getBody(), {
                        msg: '處理中,請稍候...'
                    });
                    mask.show();

                    //Ext.Msg.wait('處理中,請稍候...', '系統訊息');
                    Ext.Ajax.request({
                        url: '../api/V1060302API/getGridData_M?par_paging=false',
                        method: 'POST',
                        //params: { all: 1 },
                        params: np ,
                        //async: false, //將非同步功能關閉 , 才會顯示請 稍候訊息
                        failure: function (response, opts) {
                            mask.hide();
                        },
                        success: function (response, opts) {
                              mask.hide();
                            //Ext.Msg.hide(); // 成功後關閉等待訊息
                            let Tmp_DataAry1 = [];
                            var obj = Ext.decode(response.responseText);
                            obj.T1.forEach(function (item, i) {
                                Tmp_DataAry1.push(item);
                            });
                            CALL_V1060302C(Tmp_DataAry1); //排程資料匯出
                        }

2>CALL_V1060302C  -submit - 利用  cookie 傳回結果
    var mask = new Ext.LoadMask(Ext.getBody(), {
        msg: '處理中,請稍待...'
    });

    mask.show();//使用 mask 需手動呼叫show() 方法下
    //每1秒檢核一次,是否已完成, 若已完成,則不再檢核
    var timer = setInterval(function () {
        var r = r_cookies('Rtn_Msg');
        //console.log("r_cookies=", r);
        if (!checkisnull(r)) {
            mysuccessalert(r);
            clearInterval(timer);
            mask.hide();
            timer = null;
        }
    }, 1000);  //1000ms = 1sec


2026年7月1日 星期三

V1060302 – 欄位挑選值 – 依其他欄位值過濾 - Query - url -? - &

 目的:V1060302 – 欄位挑選值 依其他欄位值過濾

處理說明:  1> 將目前欄位傳入 url 當參數
     var Tmp_url = '../api/V1060302API/get_ITEMPick';
        if ((Tmp_PROJID.length > 0) || (Tmp_TYPE.length > 0)) {         
                Tmp_url = Tmp_url + "?PROJID=" + Tmp_PROJID;            
                Tmp_url = Tmp_url + "&TYPE=" + Tmp_TYPE;
        }

                   2>依 url 傳入參數 , 組合成 SQL , 過濾 ITEM 



1>*.js
Ext.getCmp('btn_ITEM').on("click", function () {
var Tmp_PROJID = Ext.getCmp("PROJID").getValue();
var Tmp_TYPE = Ext.getCmp("TYPE").getValue();
var Tmp_url = '../api/V1060302API/get_ITEMPick';
if ((Tmp_PROJID.length > 0) || (Tmp_TYPE.length > 0)) {
    Tmp_url = Tmp_url + "?PROJID=" + Tmp_PROJID;
    Tmp_url = Tmp_url + "&TYPE=" + Tmp_TYPE;
}
var win = EditPickx('ITEM', Tmp_url , ['ITEM'], ['ITEM'], J_pickstore_ITEM, J_pickcolumns_ITEM,true,false);
win.show();
});

2>*.cs

//欄位 [ITEM(ITEM)]挑選
[HttpPost]
public dynamic get_ITEMPick(string PROJID = "", string TYPE = "", string ITEM = "", int isComplete = 0)
{
string Tmp_Sql = " SELECT distinct PROJID,TYPE,ITEM,CHKCHG_NM,CHKCHG_TM,TMBASE1,TMFEQ1,TMUNIT1 "
+ " FROM AMM_CHKCHG "
+ " WHERE ITEM IS NOT NULL ";
string n = funId + "s_ITEM";
if (PROJID != null && !PROJID.Equals(""))
{
if (isComplete == 1)
{
Tmp_Sql = Tmp_Sql + " AND PROJID=" + myfunc.AA(PROJID);
}
else
{
Tmp_Sql = Tmp_Sql + " AND PROJID LIKE " + myfunc.AA("%" + PROJID+"%");
}
}
if (TYPE != null && !TYPE.Equals(""))
{
if (isComplete == 1)
{
Tmp_Sql = Tmp_Sql + " AND TYPE=" + myfunc.AA(TYPE);
}
else
{
Tmp_Sql = Tmp_Sql + " AND TYPE LIKE " + myfunc.AA("%" + TYPE+"%");
}
}
Tmp_Sql = Tmp_Sql + " ORDER BY PROJID,TYPE,ITEM ";
//realtime
DataSet ds = setupPickDs(n, Tmp_Sql, new string[] { "AMM_CHKCHG" },true,true);
if (ITEM != null && !ITEM.Equals(""))
{
if (isComplete == 1)
{
ds = getPickDsbyCondi(n, "ITEM='" + ITEM + "'");
}
else
{
ds = getPickDsbyCondi(n, "ITEM LIKE '%" + ITEM + "%'");
}
}
return ds;
} // end of get_s_ITEMPick