chenhaozhe
2025-05-07 0fdf92335abc659f66fabb7552e01b466aa5bb21
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®±¨±í/ReportWorkDemandPlanBillList.html
@@ -11,7 +11,7 @@
    <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/soulTable.slim.js"></script>
</head>
<body>
    <div class="layui-fluid">
@@ -70,6 +70,90 @@
                                                </button>
                                            </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="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" 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="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>
@@ -90,7 +174,7 @@
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util'], function () {
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util','soulTable'], function () {
        //#region å…¬ç”¨å˜é‡
        var $ = layui.$
            , admin = layui.admin
@@ -103,6 +187,7 @@
            , util = layui.util
            , tree = layui.tree
            , util = layui.util
            , soulTable = layui.soulTable
        var sWhere = "";
        var option = [];
        //#endregion
@@ -147,43 +232,63 @@
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化日期
            $("#HBEGINDATE").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
            $("#HENDDATE").val(Format(new Date(), "yyyy-MM-dd"));
            $("#HBEGINDATE").val(Format(new Date(new Date()), "yyyy-MM-dd"));//提料日期
            $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), "yyyy-MM-dd"));//至
            //生产组织加载
            Organ();
            //初始化表格
            set_InitGrid();
            //快速过滤
            get_FastQuery(1);
            ColFilter();
        }
        //#endregion
        //#region åˆå§‹åŒ–表格方法
        function set_InitGrid() {
            var columns = [];
            var myDate = new Date();
            var yyyy = myDate.getFullYear();
            var MM = myDate.getMonth() + 1;
            var dd = myDate.getDate();
            var SumMonth = 31; //动态两月之差 new Date(yyyy, MM, 0).getDate()
            var MonthCount = new Date(yyyy, MM-1, 0).getDate();
            columns.push({ type: 'checkbox', fixed: 'left' });
            columns.push({ field: '组织', title: '生产组织' });
            columns.push({ field: '部门', title: '生产车间' });
            columns.push({ field: 'FSUMQTY', title: '合计' });
            columns.push({ field: '物料名称', title: '物料名称' });
            columns.push({ field: '规格型号', title: '物料规格' });
            columns.push({ field: 'HICMOBillNo', title: '生产订单号' });
            columns.push({ field: 'HSeOrderBillNo', title: '需求单号' });
            columns.push({ field: '物料代码', title: '物料编码' });
            columns.push({ field: '计量单位名称', title: '计量单位' });
            columns.push({ field: 'TQSUM', title: '要料拖期数量' });
            for (var i = 1; i <= (MonthCount - dd); i++) {
                columns.push({ field: Format(yyyy + '/' + (MM - 1) + '/' + (dd + i), 'yyyy-MM-dd'), title: Format(yyyy + '/' + (MM - 1) + '/' + (dd + i), 'MM.dd'), width: 70 })//0
            }
            for (var i = 1; i <= (SumMonth - MonthCount + dd); i++) {
                columns.push({ field: Format(yyyy + '/' + MM + '/' + i, 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + i, 'MM.dd'), width: 70 })//0
            columns.push({ type: 'checkbox', fixed: 'left', sort: true});
            columns.push({ field: '组织', title: '生产组织', sort: true});
            columns.push({ field: '部门', title: '生产车间', sort: true});
            columns.push({ field: 'FSUMQTY', title: '合计', sort: true});
            columns.push({ field: '物料名称', title: '物料名称', sort: true});
            columns.push({ field: '规格型号', title: '物料规格', sort: true});
            columns.push({ field: 'HICMOBillNo', title: '生产订单号', sort: true});
            columns.push({ field: 'HSeOrderBillNo', title: '需求单号', sort: true});
            columns.push({ field: '物料代码', title: '物料编码', sort: true});
            columns.push({ field: '计量单位名称', title: '计量单位', sort: true});
            columns.push({ field: 'TQSUM', title: '要料拖期数量', sort: true, totalRow: true});
            //获取两个月期之间的相差
            var time1 = Date.parse(new Date($("#HBEGINDATE").val()));//开始时间
            var time2 = Date.parse(new Date($("#HENDDATE").val()));//结束时间
            var Days = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
            //获取年
            var yyyy = new Date($("#HBEGINDATE").val()).getFullYear();
            //获取月份
            var MM = new Date($("#HBEGINDATE").val()).getMonth() + 1;
            //获取开始月份的最大天数
            var SumMonth = new Date(yyyy, MM, 0).getDate(); //动态两月之差
            //获取开始日期的天数
            var HBEGINDATE = new Date(new Date($("#HBEGINDATE").val())).getDate(); //获取开始日期天数
            var k = 0;//收集循环次数
            for (var j = 0; j <= (Days - k); j++) {
                columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70, totalRow: true})
                //跨年的话 ä¼šä»Žä¸€æœˆä¸€å·å¼€å§‹
                if (MM == 12 && (HBEGINDATE + j) == 31) {
                    yyyy += 1;
                    MM = 1;
                    SumMonth = new Date(yyyy, MM, 0).getDate();
                    HBEGINDATE = 0;
                    k += j;
                    j = 0;
                } else if ((HBEGINDATE + j) == SumMonth) { //跨月 æœˆæ•°åР䏀  å¤©æ•°ä»Žä¸€å¼€å§‹
                    HBEGINDATE = 0;
                    MM += 1;
                    SumMonth = new Date(yyyy, MM, 0).getDate();
                    k += j;
                    j = 0;
                }
            }
            columns.push({ field: '', title: '计划明细_合计' });
@@ -191,12 +296,16 @@
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , height: 'full-50'
                , page: true
                , page: false
                , cellMinWidth: 90
                , limit: 50
                , limit: 20000
                , totalRow: true
                , limits: [50, 500, 5000, 20000]
                , loading: false
                , cols: [columns]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
        }
        //#endregion
@@ -263,6 +372,84 @@
            var HMATERIALID = $("#HMATERIALID").val();//物料/产品
            var HDeptID = $("#HDeptID").val();//生产车间
            var ColName = $("#ColName").val();//复选框
            var Comparator = $("#Comparator").val()
            var ColContent = $("#ColContent").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();
            if (ColName != 0 && Comparator != 0) {
                var com = "";
                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;
                }
                sWhere += " 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;
            }
            if (HBEGINDATE > HENDDATE) {
                return layer.msg("开始日期不能小于结束日期!");
            }
            sWhere = {
                HORGID: HORGID
                , HBEGINDATE: HBEGINDATE
@@ -270,6 +457,8 @@
                , HMATERIALID: HMATERIALID
                , HDeptID: HDeptID
            }
            //初始化表格
            set_InitGrid();
            get_Display(JSON.stringify(sWhere));
            sWhere = "";//调用接口后清空sWhere缓存
        }
@@ -278,12 +467,21 @@
        //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
        function set_ClearQuery() {
            $("#HORGID").val(sessionStorage["OrganizationID"]);//组织
            $("#HBEGINDATE").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//提料日期
            $("#HENDDATE").val(Format(new Date(), "yyyy-MM-dd"));//至
            $("#HBEGINDATE").val(Format(new Date(new Date()), "yyyy-MM-dd"));//提料日期
            $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), "yyyy-MM-dd"));//至
            $("#HMATERIALID").val("");//物料/产品
            $("#HMATERIALNAME").val("");
            $("#HDeptID").val("");//生产车间
            $("#DeptNAME").val("");
            $("#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');
            sWhere = "";
        }
@@ -297,7 +495,7 @@
                , area: ['90%', '90%']//大小
                , title: '物料列表'//标题
                , shift: 2//弹出动画
                , content: ['../../Baseset/基础资料/Gy_MaterialList.html', 'yes']
                , content: ['../../基础资料/公用基础资料/Gy_Material.html', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -307,7 +505,7 @@
                    }
                    //获取数据
                    $("#HMATERIALID").val(checkStatus.data[0].HItemID);
                    $("#HMATERIALNAME").val(checkStatus.data[0].HName);
                    $("#HMATERIALNAME").val(checkStatus.data[0].物料名称);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
@@ -322,7 +520,7 @@
                , area: ['90%', '90%']//大小
                , title: '部门列表'//标题
                , shift: 2//弹出动画
                , content: ['../../Baseset/基础资料/Gy_DepartmentList.html', 'yes']
                , content: ['../../基础资料/公用基础资料/Gy_DepartmentList.html', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -332,13 +530,29 @@
                    }
                    //获取数据
                    $("#HDeptID").val(checkStatus.data[0].HItemID);
                    $("#DeptNAME").val(checkStatus.data[0].HName);
                    $("#DeptNAME").val(checkStatus.data[0].部门名称);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        }
        //列明显示下拉框
        function ColFilter() {
            var Organization = '<option  value="0" selected="selected" ></option>';
            for (var i = 1; i < option.cols[0].length; i++) {
                if (option.cols[0][i].hide != true) {
                    Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                }
            }
            $("#ColName").empty();
            $("#ColName").append(Organization);
            $("#ColName1").empty();
            $("#ColName1").append(Organization);
            $("#ColName2").empty();
            $("#ColName2").append(Organization);
            form.render('select');
        }
        //#endregion