fs-danaus
2023-12-01 0f032347696aff30cfe09c357adda15939499f4d
WebRoot/js/hotkey.js
@@ -150,9 +150,6 @@
            mygrid.excelTitle = new Base64().encode("~" + mygrid.gridTitlefun());// a面板+格线的动态标题
        var str = mygrid.exportExcl();
        excelurl = str.split("&p&")[0];
        if (excelurl.indexOf("flag=") < 0) {
            excelurl += "flag=-1";
        }
        TGData = str.split("&p&")[1].replace("TGData=", "");
    } else {
        if (typeof (panMain) != "undefined")
@@ -164,80 +161,83 @@
                panMain[panIndex].panelTitle = "doccode='" + doccode + "'";
            }
        }
        excelurl = "/gtGrid.do?m=load&where=" + (panMain[panIndex].panelTitle == undefined ? "" : panMain[panIndex].panelTitle) + "&formID=" + formId + "&winType=" + (formType == 16 ? 17 : formType) + "|0&flag=-1&autopaging=3&cp=0&formdatafilters=&pageSize=100&picFild=";
        excelurl = "/gtGrid.do?m=load&where=" + (panMain[panIndex].panelTitle == undefined ? "" : panMain[panIndex].panelTitle) + "&formID=" + formId + "&winType=" + (formType == 16 ? 17 : (formType == 496?497:formType)) + "|0&flag=-1&autopaging=3&cp=0&formdatafilters=&pageSize=100&picFild=";
    }
    var obj = toJson(excelurl);
    var form = $("<form>");
    form.attr('style', 'display:none');
    form.attr('target', '');
    form.attr('method', 'post');
    form.attr('action', "/gtGrid.do?m=" + obj.m);
    var input1 = $('<input>');
    input1.attr('type', 'hidden');
    input1.attr('name', 'autopaging');
    input1.attr('value', obj.autopaging);
    form.append(input1);
    var input2 = $('<input>');
    input2.attr('type', 'hidden');
    input2.attr('name', 'cp');
    input2.attr('value', obj.cp);
    form.append(input2);
    var input3 = $('<input>');
    input3.attr('type', 'hidden');
    input3.attr('name', 'flag');
    input3.attr('value', obj.flag);
    form.append(input3);
    var input4 = $('<input>');
    input4.attr('type', 'hidden');
    input4.attr('name', 'formID');
    input4.attr('value', obj.formID);
    form.append(input4);
    var input5 = $('<input>');
    input5.attr('type', 'hidden');
    input5.attr('name', 'formdatafilters');
    input5.attr('value', obj.formdatafilters);
    form.append(input5);
    var input6 = $('<input>');
    input6.attr('type', 'hidden');
    input6.attr('name', 'pageSize');
    input6.attr('value', obj.pageSize);
    form.append(input6);
    var input7 = $('<input>');
    input7.attr('type', 'hidden');
    input7.attr('name', 'picFild');
    input7.attr('value', obj.picFild);
    form.append(input7);
    var input8 = $('<input>');
    input8.attr('type', 'hidden');
    input8.attr('name', 'where');
    input8.attr('value', obj.where);
    form.append(input8);
    var input9 = $('<input>');
    input9.attr('type', 'hidden');
    input9.attr('name', 'winType');
    input9.attr('value', obj.winType);
    form.append(input9);
    var input10 = $('<input>');
    input10.attr('type', 'hidden');
    input10.attr('name', 'isExportExcel');
    input10.attr('value', obj.isExportExcel);
    form.append(input10);
    var input11 = $('<input>');
    input11.attr('type', 'hidden');
    input11.attr('name', 'TGData');
    input11.attr('value', TGData);
    form.append(input11);
    var input12 = $('<input>');
    input12.attr('type', 'hidden');
    input12.attr('name', 'tbCols');
    input12.attr('value', obj.tbCols);
    form.append(input12);
    // 创建一个隐藏的iframe,用于接收Excel文件
   // var iframe = $("<iframe>");
    //iframe.attr('style', 'display:none');
    //$('body').append(iframe);
    var obj = toJson(excelurl);
       var form = $("<form>");
       form.attr('style', 'display:none');
       form.attr('target', '');
       form.attr('method', 'post');
       form.attr('action', "/gtGrid.do?m="+ obj.m);
       var input1 = $('<input>');
       input1.attr('type', 'hidden');
       input1.attr('name', 'autopaging');
       input1.attr('value', obj.autopaging);
       form.append(input1);
       var input2 = $('<input>');
       input2.attr('type', 'hidden');
       input2.attr('name', 'cp');
       input2.attr('value', obj.cp);
       form.append(input2);
       var input3 = $('<input>');
       input3.attr('type', 'hidden');
       input3.attr('name', 'flag');
       input3.attr('value', -1);
       form.append(input3);
       var input4 = $('<input>');
       input4.attr('type', 'hidden');
       input4.attr('name', 'formID');
       input4.attr('value', obj.formID);
       form.append(input4);
       var input5 = $('<input>');
       input5.attr('type', 'hidden');
       input5.attr('name', 'formdatafilters');
       input5.attr('value', obj.formdatafilters);
       form.append(input5);
       var input6 = $('<input>');
       input6.attr('type', 'hidden');
       input6.attr('name', 'pageSize');
       input6.attr('value', obj.pageSize);
       form.append(input6);
       var input7 = $('<input>');
       input7.attr('type', 'hidden');
       input7.attr('name', 'picFild');
       input7.attr('value', obj.picFild);
       form.append(input7);
       var input8 = $('<input>');
       input8.attr('type', 'hidden');
       input8.attr('name', 'where');
       input8.attr('value', obj.where);
       form.append(input8);
       var input9 = $('<input>');
       input9.attr('type', 'hidden');
       input9.attr('name', 'winType');
       input9.attr('value', obj.winType);
       form.append(input9);
       var input10 = $('<input>');
       input10.attr('type', 'hidden');
       input10.attr('name', 'isExportExcel');
       input10.attr('value', obj.isExportExcel);
       form.append(input10);
       var input11 = $('<input>');
       input11.attr('type', 'hidden');
       input11.attr('name', 'TGData');
       input11.attr('value', TGData);
       form.append(input11);
       var input12 = $('<input>');
       input12.attr('type', 'hidden');
       input12.attr('name', 'tbCols');
       input12.attr('value', obj.tbCols);
       form.append(input12);
    $('body').append(form);
    form.submit();
    form.remove();
    if (typeof (mygrid) != "undefined") mygrid.ReloadBody();
    top.myFresh.clickNode = false;
    closeLoading();
}
@@ -1216,7 +1216,15 @@
}
function codeScanning(state,formid,formtype,type){
    var url = "/general/SerialNumber/" + (type == "out" ? "deliveryPage.jsp?" : "warehousing.jsp?");
    var page = "";
    if (type == "out") {
        page = "deliveryPage.jsp?";
    } else if (type == "in") {
        page = "warehousing.jsp?";
    } else if (type == "cyc") {
        page = "inventory.jsp?";
    }
    var url = "/general/SerialNumber/" + page;
    var parm = "formid=" + formid + "&formtype=" + formtype + "&doccode=" + getDoc("doccode", ".value");
    var isEdit = false;
    if (state != null) {
@@ -1268,7 +1276,7 @@
                gr.EndEdit(true);
                var rowids = value.rowids;
                for (var r in rowids) {
                    gr.setSerialNumber("serialnumbers", (rowids[r] != "" ? rowids[r].join(";") : ""), r);
                    gr.setSerialNumber("serialnumbers", (rowids[r] != "" ? rowids[r].join(";")  : ""), r);
                }
                if(isSave){//有改动过是需要保存
                    //处理保存自动执行事件
@@ -1370,6 +1378,11 @@
        var panelHeight = (top.panelHeight == 0 ? document.documentElement.clientHeight : top.panelHeight);// 获取页面的总高度
        var panelType = top.myFresh.panel[top.tabindex];// 获取面板的类型
        // let panelControlDiv=$('.panelControlDiv');
        // if(panelControlDiv && panelControlDiv.eq(0)){//是否有这个div层 xin 2023-8-22 15:59:36
        //     //固定这个层的最大高度为自适应获取的高度,如果不固定为最大高度,在有42控件显示层的时候,如果42控件显示层大于这个层的高度话会把他撑高。
        //     panelControlDiv.eq(0).css("max-height",panelControlDiv.outerHeight(true));
        // }
        // 有树形的特殊窗体处理
        if (';2;3;4;20;30;301;302;303;304;'.indexOf(';' + panelType + ';') != -1) {
            if (gridId.length == 0) return;
@@ -1486,7 +1499,6 @@
        this.Collection[Cid].wheres._pop_json = JSON.stringify(this.Collection[Cid]._pop_json);
        this.Collection[Cid].gridIndex = tg.Index;
        this.Collection[Cid].rowid = GT.rowIDp.id;
        this.Collection[Cid].isGrid=true;
        this.render(this.Collection[Cid]);//执行渲染
    }
    , getPanelParam: function (elem, Info, rod, Cid) {//面板需要到的属性
@@ -1686,32 +1698,27 @@
                    }
                    for(var i=0;i<res.count;i++){
                        var obj=res.data[i];
                        for(var o in obj){
                            if(obj[o]!=null&&obj[o]!=""&&isNaN(obj[o])) {
                        for(var o in obj) {
                            if (obj[o] != null && obj[o] != "" && isNaN(obj[o])) {
                                //console.log(obj[o]);
                                if((obj[o]+"").match(/<("[^"]*"|'[^']*'|[^'">])*>/g)&&(obj[o]+"").match(/<a[^>]*>|<img[^>]*>/g)==null){
                                    obj[o+"_escape"]=obj[o];
                                    obj[o]=(obj[o]+"").replace(/</g, "&lt;").replace(/>/g, "&gt;");
                                if ((obj[o] + "").match(/<("[^"]*"|'[^']*'|[^'">])*>/g) && (obj[o] + "").match(/<a[^>]*>|<img[^>]*>/g) == null) {
                                    obj[o + "_escape"] = obj[o];
                                    obj[o] = (obj[o] + "").replace(/</g, "&lt;").replace(/>/g, "&gt;");
                                }
                            }
                            //---处理5类型日期格式显示 by danaus 2023-07-27 14:43
                            if(list.isGrid) {
                                //表格
                               list.array.forEach(function(item,index){
                                   if(item.field==o&&(item.controlType!=undefined&&item.controlType==5)) {
                                       var format = "yyyy-MM-dd";
                                       if (item.displayformat!=undefined&&item.displayformat !=null&&item.displayformat !="") {
                                           format = item.displayformat;
                                       }
                                       if (typeof (GT.formatDate) == "function") {
                                           obj[o] = GT.formatDate(obj[o], format);
                                       }
                                   }
                            //--- by danaus 2023-07-27 14:43
                                list.array.forEach(function (item, index) {
                                    //处理5类型日期格式显示
                                    if (item.field == o && (item.controlType != undefined && item.controlType == 5)) {
                                        var format = "yyyy-MM-dd";
                                        if (item.displayformat != undefined && item.displayformat != null && item.displayformat != "") {
                                            format = item.displayformat;
                                        }
                                        if (typeof (formatDate) == "function") {
                                            obj[o] = formatDate(obj[o], format);
                                        }
                                    }
                                });
                            }else{
                                //面板
                            }
                        }
                    }
                    if (res instanceof Array) {
@@ -2011,8 +2018,8 @@
        bgColor: '#CCC'
    });
}
GT.formatDate = function (str, format) {
    var d = new Date(GT.toDate(str));//4位的数字不作为日期处理,直接返回
function formatDate  (str, format) {
    var d = new Date(toDate(str));//4位的数字不作为日期处理,直接返回
    if (d==null||d.getFullYear() == '1970') return str;
    var o = {
        "M+": d.getMonth() + 1, //month
@@ -2038,7 +2045,7 @@
    }
    return format;
};
GT.toDate = function (dateStr) {
function toDate  (dateStr) {
    var regex1 = /^\d{4}\/\d{1,2}\/\d{1,2}$|^\d{1,2}\/\d{1,2}\/\d{4}$|^\d{4}\/\d{1,2}\/\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$|^\d{1,2}\/\d{1,2}\/\d{4} \d{1,2}:\d{1,2}:\d{1,2}:\d{1,3}$/;
    var regex2 = /^\d{4}-\d{1,2}-\d{1,2}$/;
    var regex3 = /^\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}$/;
@@ -2070,11 +2077,11 @@
        var arr2 = dateStr.split("-");
        return new Date(arr2[0], arr2[1] - 1)
    } else {
        var art2= GT.timeFormat(dateStr,"yyyy-MM-dd HH:mm");
        var art2= timeFormat(dateStr,"yyyy-MM-dd HH:mm");
        return art2;
    }
};
GT.timeFormat=function(timeStr,formatStr){
function timeFormat(timeStr,formatStr){
    if(timeStr==""||timeStr==null||!isNaN(timeStr)){
        return null;
    }