duhe
2025-08-19 3bd61bd433fb39fedecd33f8f7e8e0d4d059ce1d
WebTM/views/³µ¼ä¹ÜÀí/±¨±í·ÖÎö/Kf_ProdProcessEntryReport_DyeColor.html
@@ -2,7 +2,7 @@
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>白坯发布明细报表</title>
    <title>染厂明细报表</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
@@ -161,12 +161,69 @@
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                    <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName1" id="ColName1" class="ForFilteringSchemes" lay-filter="ColName1" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator1" id="Comparator1" class="ForFilteringSchemes" lay-filter="Comparator1" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
                                        </div>
                                    </div>
                                    <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName2" id="ColName2" class="ForFilteringSchemes" lay-filter="ColName2" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator2" id="Comparator2" class="ForFilteringSchemes" lay-filter="Comparator2" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
                                        </div>
                                    </div>
                                </div>
                            </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="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="HideColumn"><i class="layui-icon layui-icon-form"></i>隐藏列设置</button>
                            </div>
@@ -200,6 +257,8 @@
            var HModName = "ProdProcessEntryReport_DyeColor";
            var detailBar = 0;       //用于汇总报表查看明细报表,当为0时显示明细汇总报表对应明细报表。
            var ins;                        //用于导出excel
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
@@ -213,6 +272,10 @@
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出excel
                    case 'get_export':
                        get_Export();
                        break;
                    //退出
                    case 'btn-exit': Pub_Close(2);
                        break;
@@ -228,7 +291,9 @@
            });
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                var ajaxLoad1 = layer.load();
                get_FastQuery();
                layer.close(ajaxLoad1);
            });
            //行监听事件-单击
@@ -286,142 +351,29 @@
            //初始化表格
            function set_InitGrid() {
                var HBeginDate = Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 1).setHours(8, 0, 0, 0), "yyyy-MM-dd") + " 00:00:00";//下达日期 å¼€å§‹æ—¥æœŸ
                var HEndDate = Format(new Date(new Date()).setHours(8, 0, 0, 0), "yyyy-MM-dd") + " 00:00:00";//结束日期
                var HMaterNumber = $("#HMaterNumber").val();//物料代码
                var HBillNo = $("#HBillNo").val();          //单据号
                var HProductName = $("#HProductName").val();//产品名称
                var HProductModel = $("#HProductModel").val();//产品规格
                //任意字段条件过滤 æ¡ä»¶æå–
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                var sProcessNo = $("#sProcessNo").val();   //流转卡号
                //拼接任一字段过滤查询条件
                var com = "";
                if (ColName != 0 && Comparator != 0) {
                    switch (Comparator) {
                        case "7":
                            com = "like ''%" + ColContent + "%''";
                            break;
                        case "8":
                            com = "like ''%" + ColContent + "''";
                            break;
                        case "9":
                            com = "like ''" + ColContent + "%''";
                            break;
                        case "10":
                            com = "not like ''%" + ColContent + "%''";
                            break;
                        default:
                            com = "" + Comparator + " ''" + ColContent + "''";
                            break;
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , cellMinWidth: 120
                    , limit: Number.MAX_VALUE // æ•°æ®è¡¨æ ¼é»˜è®¤å…¨éƒ¨æ˜¾ç¤º
                    , totalRow: true
                    , height: 'full-70'
                    , cols: [[
                        { type: 'checkbox', fixed: 'left', totalRowText: '合计' }
                        , { field: '日期', title: '日期', width: 160 }
                        , { field: '单据号', title: '单据号', width: 160 }
                        , { field: '产品代码', title: '产品代码', width: 160 }
                        , { field: '产品名称', title: '产品名称', width: 160 }
                        , { field: '规格型号', title: '规格型号', width: 160 }
                        , { field: '业务员', title: '业务员', width: 160 }
                        , { field: '客户', title: '客户', width: 160 }
                        , { field: '生产任务单数量', title: '生产任务单数量', totalRow: true, width: 200 }
                        , { field: '白坯发布', title: '白坯发布', width: 160, totalRow: true }
                        , { field: '是否下推生成流转卡', title: '是否下推生成流转卡', width: 160 }
                    ]]
                    , done: function (res) {
                    }
                    com = " and (" + ColName + " " + com + ")";
                }
                sWhere = {
                    HBeginDate: HBeginDate
                    , HEndDate: HEndDate
                    , HMaterNumber: HMaterNumber
                    , HBillNo: HBillNo
                    , HProductName: HProductName
                    , HProductModel: HProductModel
                    , RandomSearch: com
                }
                sWhere = JSON.stringify(sWhere);
                //动态列-缓存列表
                $.ajax({
                    url: GetWEBURL() + "/ProdProcessEntryReport/ProdProcessEntryReport_DyeColor",
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "sProcessNo": '', "user": sessionStorage["HUserName"] },
                    //async: false,
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = ["生产任务单数量", "白坯发布"];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            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' });
                            for (var i = 0; i < data.length; i++) {
                                if ($.inArray(data[i].name, "") > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: 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 });
                                }
                                else if (data[i].ColName == '白坯发布') {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true });
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true });
                                    }
                                }
                            }
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cellMinWidth: 120
                                , limit: Number.MAX_VALUE // æ•°æ®è¡¨æ ¼é»˜è®¤å…¨éƒ¨æ˜¾ç¤º
                                , totalRow: true
                                , height: 'full-70'
                                , cols: [col]
                                , data: data1.data
                            };
                            table.render(option);
                        } else {
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cellMinWidth: 120
                                , limit: Number.MAX_VALUE // æ•°æ®è¡¨æ ¼é»˜è®¤å…¨éƒ¨æ˜¾ç¤º
                                , totalRow: true
                                , height: 'full-70'
                                , cols: [[
                                    { type: 'checkbox', fixed: 'left', totalRowText: '合计' }
                                    , { field: '日期', title: '日期', width: 160 }
                                    , { field: '单据号', title: '单据号', width: 160 }
                                    , { field: '产品代码', title: '产品代码', width: 160 }
                                    , { field: '产品名称', title: '产品名称', width: 160 }
                                    , { field: '规格型号', title: '规格型号', width: 160 }
                                    , { field: '业务员', title: '业务员', width: 160 }
                                    , { field: '客户', title: '客户', width: 160 }
                                    , { field: '生产任务单数量', title: '生产任务单数量', totalRow: true,width: 200 }
                                    , { field: '白坯发布', title: '白坯发布', width: 160, totalRow: true }
                                    , { field: '是否下推生成流转卡', title: '是否下推生成流转卡', width: 160 }
                                ]]
                                , done: function (res) {
                                }
                            };
                            table.render(option);
                        }
                    },
                    error: function (err) {
                        layer.msg('错误' + err, {
                            icon: 5,
                            time: 20000
                        }, function () {
                            //do something
                        });
                    }
                })
                };
            }
            //列明显示下拉框
@@ -433,16 +385,19 @@
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                $("#ColName").append(Organization);     $("#ColName1").empty();
                $("#ColName1").append(Organization);     $("#ColName2").empty();
                $("#ColName2").append(Organization);
                form.render('select');
            }
            //加载网格
            function get_Display(sWhere,sProcessNo) {
                var wait = layer.load();//遮罩
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/ProdProcessEntryReport/ProdProcessEntryReport_DyeColor',
                    async: false,
                    type: "GET",
                    data: { "sWhere": sWhere, "sProcessNo": sProcessNo, "user": sessionStorage["HUserName"]  },
                    success: function (data1) {
@@ -462,7 +417,45 @@
                                }
                            }
                            var totalArray = ["生产任务单数量", "白胚发布"];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            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' });
                            for (var i = 0; i < data.length; i++) {
                                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 });
                                }
                                else if (data[i].ColName == '白坯发布') {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true });
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            ins = table.render(option);
                            //var num = 0;
                            //for (let i = 0; i < data1.data.length; i++) {
                            //    for (let j = i + 1; j < data1.data.length; j++) {
@@ -475,7 +468,7 @@
                            //        }
                            //    }
                            //}
                            table.render(option);
                            ins = table.render(option);
                            //计算合计公斤数
                            var sumHMaterOutQty = 0;
@@ -495,15 +488,15 @@
                            var sumCompare = sumHMaterOutQty - sumDyeColorOut;
                            $("#SumCompare").val(sumCompare);
                            layer.close(wait);
                            layer.close(ajaxLoad);
                        } else {
                            $("#SumHMaterOutQty").val("");
                            layer.close(wait);
                            layer.close(ajaxLoad);
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        $("#SumHMaterOutQty").val("");
                        layer.close(wait);
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
@@ -537,6 +530,12 @@
                var sProcessNo = $("#sProcessNo").val();
                var ColName1 = $("#ColName1").val();//复选框
                var Comparator1 = $("#Comparator1").val()
                var ColContent1 = $("#ColContent1").val();
                var ColName2 = $("#ColName2").val();//复选框
                var Comparator2 = $("#Comparator2").val()
                var ColContent2 = $("#ColContent2").val();
                //拼接任一字段过滤查询条件
                var com = "";
                if (ColName != 0 && Comparator != 0) {
@@ -559,7 +558,48 @@
                    }
                    com = " and (" + ColName + " " + com + ")";
                }
                if (ColName1 != 0 && Comparator1 != 0) {
                    var com1 = "";
                    switch (Comparator1) {
                        case "7":
                            com1 = "like'%" + ColContent1 + "%'";
                            break;
                        case "8":
                            com1 = "like'%" + ColContent1 + "'";
                            break;
                        case "9":
                            com1 = "like'" + ColContent1 + "%'";
                            break;
                        case "10":
                            com1 = "not like'%" + ColContent1 + "%'";
                            break;
                        default:
                            com1 = "" + Comparator1 + "'" + ColContent1 + "'";
                            break;
                    }
                    sWhere += " and " + ColName1 + " " + com1;
                }
                if (ColName2 != 0 && Comparator2 != 0) {
                    var com2 = "";
                    switch (Comparator2) {
                        case "7":
                            com2 = "like'%" + ColContent2 + "%'";
                            break;
                        case "8":
                            com2 = "like'%" + ColContent2 + "'";
                            break;
                        case "9":
                            com2 = "like'" + ColContent2 + "%'";
                            break;
                        case "10":
                            com2 = "not like'%" + ColContent2 + "%'";
                            break;
                        default:
                            com2 = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName2 + " " + com2;
                }
                var params = get_UrlVars();
                if (params[params[0]] != null && detailBar == 0) {
                    //汇总报表的生产订单号
@@ -638,11 +678,39 @@
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                $("#ColContent1").val("");
                $("#ColName1").val("0");
                $("#Comparator1").val("0");
                $("#ColContent2").val("");
                $("#ColName2").val("0");
                $("#Comparator2").val("0");
                form.render('select');
                //form.render()
                ColFilter();
                sWhere = "";
            }
            //#region å¯¼å‡ºExecel
            function get_Export() {
                var ModRightNameCheck = "Kf_ProdProcessEntryReport_DyeColor_ExportExcel";
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", //方法所在页面和方法名
                    data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            table.exportFile(ins.config.id, option.data, "xls");
                        } else {
                            layer.alert("当前模块没有导出权限!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //隐藏列设置
            function get_HideColumn() {
@@ -673,9 +741,11 @@
            //显示列数据
            function DisPlay_HideColumn() {
                var ajaxLoad = layer.load();
                ColFilter();
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    async: false,
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
@@ -748,8 +818,9 @@
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
                layer.close(ajaxLoad);
            }
            //#endregion
        });