chenhaozhe
2026-04-14 f50cd9cfde1cdfc8e5b2205a63bdb2694da28e1c
WebTM/views/¹¤×ʹÜÀí/¹¤×ʱ¨±í/Pay_PaymentEntryReport.html
@@ -8,19 +8,21 @@
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                    <form class="layui-form" action="" lay-filter="component-form-group"  autocomplete="off">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
@@ -39,7 +41,7 @@
                                <div class="layui-inline">
                                    <label class="layui-form-label">班组<label style="color:red"></label></label>
                                    <div class="layui-input-inline">
                                        <input type="text" name="HGroupName" id="HGroupName" readonly class="layui-input" value="" style="background-color: #efefef4d; float: left; width: 150px;">
                                        <input type="text" name="HGroupName" id="HGroupName"  class="layui-input" value="" style="background-color: #efefef4d; float: left; width: 150px;">
                                        <input type="hidden" name="HGroupID" id="HGroupID" class="layui-input" value="0" style="float:left;width:150px;">
                                        <button type="button" lay-submit="" class="layui-btn" lay-filter="HGroupList" style="width:40px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
@@ -49,7 +51,7 @@
                                <div class="layui-inline">
                                    <label class="layui-form-label">职员</label>
                                    <div class="layui-input-inline">
                                        <input type="text" class="layui-input" name="HEmpName" id="HEmpName" style="float:left;width:150px;" readonly>
                                        <input type="text" class="layui-input" name="HEmpName" id="HEmpName" style="float:left;width:150px;" >
                                        <input type="hidden" class="layui-input" name="HEmpID" id="HEmpID" value="0" style="float:left;width:150px;">
                                        <button type="button" lay-submit="" class="layui-btn" lay-filter="HEmpList" style="width:40px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
@@ -74,15 +76,39 @@
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                        <div class="layui-tab layui-tab-card" lay-filter="table">
                            <ul class="layui-tab-title">
                                <li class="layui-this">计件数据</li>
                                <li>阶梯计件数据</li>
                            </ul>
                            <div class="layui-tab-content" style="">
                                <div class="layui-tab-item layui-show">
                                    <table class="" id="mainTable" lay-filter="mainTable"></table>
                                    <script type="text/html" id="toolbarDemo">
                                        <div class="layui-btn-container">
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        </div>
                                    </script>
                                </div>
                                <div class="layui-tab-item ">
                                    <table class="" id="mainTable2" lay-filter="mainTable2"></table>
                                    <script type="text/html" id="toolbarDemo2">
                                        <div class="layui-btn-container">
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload2"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export2" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        </div>
                                    </script>
                                </div>
                            </div>
                        </script>
                        </div>
                    </form>
                </div>
            </div>
@@ -93,7 +119,7 @@
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable'], function () {
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable','tableSelect'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
@@ -105,10 +131,13 @@
                , laypage = layui.laypage
                , laydate = layui.laydate
                , soulTable = layui.soulTable
                , tableSelect = layui.tableSelect;
            var ins;
            var sWhere = "";
            var option = [];
            var option2 = [];
            var HModName = "Pay_PaymentEntryReport";
            var HModName2 = "Pay_PaymentEntryReport2";
            var titleData = [];//不需要显示的字段 å¯æ‰©å±•
            
@@ -122,14 +151,16 @@
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
                get_FastQuery(1);
                get_FastQuery(2);
            });
            //重置按钮
            form.on('submit(btnReSearch)', function (data) {
                //清空过滤条件
                set_ClearQuery();
                get_FastQuery();
                get_FastQuery(1);
                get_FastQuery(2);
            });
            //#region é€‰æ‹©ç­ç»„按钮
@@ -146,18 +177,38 @@
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus(obj.config.id);//获取选中行 æ•°æ®
                switch (obj.event) {
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumn();
                        get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_FastQuery);
                        break;
                    case 'btn-reload':
                        get_FastQuery();
                        get_FastQuery(1);
                        break;
                    //导出excel
                    case 'get_export':
                        get_Export();
                        break;
                    //退出
                    case 'btn-exit': Pub_Close(2);
                        break;
                    default:
                        break;
                }
            });
            table.on('toolbar(mainTable2)', function (obj) {
                switch (obj.event) {
                    //列设置
                    case 'set_HideColumn2':
                        get_HideColumnNoPage(HModName2, sessionStorage["HUserName"], option2, get_FastQuery);
                        break;
                    case 'btn-reload2':
                        get_FastQuery(2);
                        break;
                    //导出excel
                    case 'get_export2':
                        get_Export2();
                        break;
                    //退出
                    case 'btn-exit': Pub_Close(2);
@@ -178,10 +229,102 @@
                get_Dept();
                //初始化表格
                set_InitGrid();
                $("#HBDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
                $("#HBDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 7), "yyyy-MM-dd"));
                $("#HEDate").val(Format(new Date(), "yyyy-MM-dd"));
                //查询
                get_FastQuery(1);
                get_FastQuery(2);
                //部门输入框
                tableSelect.render({
                    elem: '#HGroupName',//输入框dom选择
                    searchKey: '班组名称,班组代码',//查询的列名
                    sWhere: ` and HUSEORGID = ${sessionStorage["OrganizationID"]}`,//table搜索sWhere条件 //默认筛选项
                    ajaxSelect: function (sWhere) {
                        var data = '';
                        $.ajax({
                            url: GetWEBURL() + '/Gy_Group/list',
                            type: "GET",
                            data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                            async: false,
                            success: function (data1) {
                                if (data1.count == 1) {
                                    data = data1.data
                                }
                            },
                            error: function () {
                                layer.alert('获取列表失败!', { icon: 15, title: '通信错误' });
                            }
                        });
                        return data;
                    },//设置前端分页时可以设置的
                    table: {
                        //url: GetWEBURL() + 'Gy_Supplier/page',
                        //where: { user: '翁涛涛', Organization: '浙江智云迈思' },
                        cols: [[
                            { type: 'radio', fixed: 'left' },//需要加这个fixed属性不然点击checkbox会触发行点击导致无法正确点击
                            { field: 'HItemID', title: 'HItemID' },
                            { field: '班组名称', title: '班组名称' },
                            { field: '班组代码', title: '班组代码' },
                        ]],
                        page: true,
                        limit: 5,
                        limits: [5]
                    },
                    done: function (elem, data) {
                        if (data != []) {
                            $("#HGroupName").val(data.data[0]['班组名称']);
                            $("#HGroupID").val(data.data[0]['HItemID']);
                        }
                    }
                })
                //职员
                tableSelect.render({
                    elem: '#HEmpName',//输入框dom选择
                    searchKey: '职员名称,职员代码',//查询的列名
                    sWhere: ` and ç»„织名称 = '${sessionStorage["Organization"]}'`,//table搜索sWhere条件 //默认筛选项
                    ajaxSelect: function (sWhere) {
                        var data = '';
                        $.ajax({
                            url: GetWEBURL() + '/Gy_Employee/list',
                            type: "GET",
                            data: { "sWhere": sWhere, "user": sessionStorage["HUserName"],"Organization":'' },
                            async: false,
                            success: function (data1) {
                                if (data1.count == 1) {
                                    data = data1.data
                                }
                            },
                            error: function () {
                                layer.alert('获取列表失败!', { icon: 15, title: '通信错误' });
                            }
                        });
                        return data;
                    },//设置前端分页时可以设置的
                    table: {
                        //url: GetWEBURL() + 'Gy_Supplier/page',
                        //where: { user: '翁涛涛', Organization: '浙江智云迈思' },
                        cols: [[
                            { type: 'radio', fixed: 'left' },//需要加这个fixed属性不然点击checkbox会触发行点击导致无法正确点击
                            { field: 'HItemID', title: 'HItemID' },
                            { field: '职员名称', title: '职员名称' },
                            { field: '职员代码', title: '职员代码' },
                        ]],
                        page: true,
                        limit: 5,
                        limits: [5]
                    },
                    done: function (elem, data) {
                        if (data != []) {
                            $("#HEmpName").val(data.data[0]['职员名称']);
                            $("#HEmpID").val(data.data[0]['HItemID']);
                        }
                    }
                })
            }
            //#endregion
@@ -193,7 +336,21 @@
                    , page: true
                    , cellMinWidth: 90
                    , totalRow: true
                    , limit: 5000
                    , limit: 500
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                    , cols: [[]]
                };
                option2 = {
                    elem: '#mainTable2'
                    , toolbar: '#toolbarDemo2'
                    , height: 'full-80'
                    , page: true
                    , cellMinWidth: 90
                    , totalRow: true
                    , limit: 500
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
@@ -294,10 +451,11 @@
                            
                            option.cols = [col]
                            option.data = data1.data;
                            table.render(option);
                            layer.close(ajaxLoad);
                            DisPlay_HideColumn();
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, []);
                            table.render(option);
                            //layer.alert("查询成功", { icon: 1 });
                        } else {
                            layer.close(ajaxLoad);
@@ -309,17 +467,83 @@
                    }
                });
            }
            function get_Display2(sWhere) {
                var ajaxLoad = layer.load();
                var sql = "exec h_p_Pay_PaymentEntryReportStepped " + sWhere;
                $.ajax({
                    url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sql },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];//列字段数据
                            var col = [];
                            var totalArray = [];
                            var titleData = [];
                            //给空的数组赋值
                            for (var key in data1.list) {//循序遍历数组
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//从每个对象中提取数据
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            for (var i = 0; i < data.length; i++) {//遍历data数组重的数据
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {//检查data【i】.name是否在数组中  //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true, filter: true}); //隐藏id列
                                }
                                else if ($.inArray(data[i].name, totalArray) > -1) { //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120, filter: true });
                                } else if (isValidDate(data[i].name)) {
                                    col.push({ field: data[i].name, title: Format(data[i].name, 'MM-dd'), width: 70, totalRow: true, filter: true })
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, filter: true, templet: "<div>{{d." + (data[i].name == "行关闭日期" ? "行关闭人" : data[i].name) + " ==''?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 200 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
                                    }
                                }
                            }
                            option2.cols = [col];
                            option2.data = data1.data;
                            //列设置
                            DisPlay_HideColumn(HModName2, sessionStorage["HUserName"], option2, []);
                            table.render(option2);
                            layer.close(ajaxLoad);
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                            layer.close(ajaxLoad);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                        layer.close(ajaxLoad);
                    }
                });
            }
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery() {
            function get_FastQuery(type) {
                var HBDate = $("#HBDate").val();//开始时间
                var HEDate = $("#HEDate").val();//结束时间
                var HDeptID = $("#HDeptID").val();
                var HEmpID = $("#HEmpID").val();
                var HGroupID = $("#HGroupID").val();
                sWhere = "'" + HBDate + "','" + HEDate + "','" + HDeptID + "','" + HGroupID + "','" + HEmpID + "'";
                get_Display(sWhere);
                if (type == 1) {
                    get_Display(sWhere);
                } else {
                    get_Display2(sWhere);
                }
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
@@ -383,10 +607,11 @@
                                    }
                                    if (item[itemobj].length > 0) {  // å‡è®¾å­—段名为field
                                        item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                                        item[itemobj] = item[itemobj].toString().replace(/,/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                                    }
                                }
                            });
                            table.exportFile(ins.config.id, option.data, "xls");
                            table.exportFile("mainTable", option.data, "xls");
                        } else {
                            layer.alert("当前模块没有导出权限!", { icon: 5 });
                        }
@@ -395,6 +620,38 @@
                    }
                });
            }
            function get_Export2() {
                var ModRightNameCheck = "Pay_PaymentEntryReportExcel";
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", //方法所在页面和方法名
                    data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            var data = option2.data
                            data.forEach((item) => {
                                for (let itemobj in item) {
                                    if (item[itemobj] == null) {
                                        item[itemobj] = "";
                                    }
                                    if (item[itemobj].length > 0) {  // å‡è®¾å­—段名为field
                                        item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                                        item[itemobj] = item[itemobj].toString().replace(/,/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                                    }
                                }
                            });
                            table.exportFile("mainTable2", option2.data, "xls");
                        } else {
                            layer.alert("当前模块没有导出权限!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region é€‰æ‹©ç­ç»„
@@ -458,103 +715,7 @@
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    async: false,
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var newCols = [[]];//对应数据库列顺序col
                            newCols[0].push(option.cols[0][0]);//放入第一个checkbox
                            dataCol = data1.data[0].HGridString.split(',');
                            //列设置列数与页面列数是否一致
                            if (dataCol.length == option.cols[0].length - 1) {
                                //遍历寻找列设置对应列按顺序插入
                                for (var j = 0; j < option.cols[0].length - 1; j++) {
                                    for (var i = 0; i < option.cols[0].length - 1; i++) {
                                        var dataCols = dataCol[j].split('|');
                                        //选择与datacols相应列进行修改
                                        if (option.cols[0][i + 1]["field"] == dataCols[5]) {
                                            //隐藏列
                                            if (dataCols[1] == 1) {
                                                option.cols[0][i + 1]["hide"] = true;
                                            }
                                            //设置列宽
                                            if (dataCols[3] > 0) {
                                                option.cols[0][i + 1]["width"] = dataCols[3];
                                            }
                                            //设置内容字体大小
                                            if (data1.data[0].HFontSize != 0) {
                                                option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                            } else {
                                                option.cols[0][i + 1]["style"] = "font-size:100%";
                                            }
                                            //显示列
                                            if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                                option.cols[0][i + 1]["hide"] = false;
                                            }
                                            //统计列
                                            if (dataCols[6] == 1) {
                                                option.cols[0][i + 1]["totalRow"] = true;
                                            }
                                            //字体所在位置(å·¦ å±…中 å³)
                                            switch (dataCols[2]) {
                                                case "L":
                                                    option.cols[0][i + 1]["align"] = "left";
                                                    break;
                                                case "M":
                                                    option.cols[0][i + 1]["align"] = "center";
                                                    break;
                                                case "R":
                                                    option.cols[0][i + 1]["align"] = "right";
                                                    break;
                                            }
                                            //设置表格title属性显示别名
                                            if (dataCols[4] != null && dataCols[4] != "") {
                                                option.cols[0][i + 1]["title"] = dataCols[4];
                                            }
                                            newCols[0].push(option.cols[0][i + 1]);
                                        }
                                    }
                                }
                                //遍历循环后判断对应列数是否一致
                                if (dataCol.length == newCols[0].length - 1) {
                                    option.cols = newCols;
                                    //取消冻结列
                                    for (var i = 1; i < option.cols[0].length - 1; i++) {
                                        if (option.cols[0][i]["fixed"] != null) {
                                            option.cols[0][i]["fixed"] = null;
                                        }
                                        else {
                                            break;
                                        }
                                    }
                                    //冻结列
                                    if (data1.data[0].HFixCols != 0) {
                                        for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                            if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                                data1.data[0].HFixCols += 1;
                                            }
                                            option.cols[0][i + 1]["fixed"] = "left";
                                        }
                                    }
                                }
                            }
                            ins = table.render(option);
                        } else {
                            ins = table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            //table.on('row(mainTable)', function (obj) {