duhe
2024-01-22 43e741c8377b555f4e5ed287bee724e71a11540f
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®±¨±í/ReportPODemandPlanBillList.html
@@ -3,7 +3,7 @@
<head>
    <meta charset="utf-8" />
    <title>提料计划报表(采购订单维度)</title>
   <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
@@ -11,6 +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>
@@ -77,7 +78,7 @@
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-row" style="margin: 10px 0 10px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">采购订单号</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
@@ -89,6 +90,11 @@
                            </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="HideColumn"><i class="layui-icon layui-icon-form"></i>隐藏列设置</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
@@ -104,7 +110,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
@@ -117,8 +123,10 @@
            , util = layui.util
            , tree = layui.tree
            , util = layui.util
            , soulTable = layui.soulTable
        var sWhere = "";
        var option = [];
        var HModName = "ReportPODemandPlanBillList";
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -129,6 +137,16 @@
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //头工具栏事件
        table.on('toolbar(mainTable)', function (obj) {
            switch (obj.event) {
                //隐藏列设置
                case 'HideColumn':
                    get_HideColumn();
                    break;
            };
        });
        //#region äº§å“ç¼–码
        form.on('submit(btnHMATERIALID)', function (data) {
@@ -161,48 +179,71 @@
        //#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();
            ////初始化表格
            //set_InitGrid();
            //快速过滤
            //get_FastQuery(1);
            get_FastQuery(1);
            DisPlay_HideColumn();
        }
        //#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()
        
            columns.push({ type: 'checkbox', fixed: 'left' });
            columns.push({ field: '单据号', title: '采购组织' });
            columns.push({ field: '销售订单号', title: '物料名称' });
            columns.push({ field: '销售订单号', title: '物料规格' });
            columns.push({ field: '销售订单号', title: '供应商' });
            columns.push({ field: '销售订单号', title: '合计' });
            columns.push({ field: '销售订单号', title: '采购订单号' });
            columns.push({ field: '销售订单号', title: '需求单号' });
            columns.push({ field: '销售订单号', title: '摘要' });
            columns.push({ field: '销售订单号', title: '备注' });
            columns.push({ field: '销售订单号', title: '采购员' });
            columns.push({ field: '销售订单号', title: '物料编码' });
            columns.push({ field: '销售订单号', title: '计量单位' });
            columns.push({ field: '销售订单号', title: '提料拖期数量' });
            for (var i = 0; i <= (SumMonth - dd); i++) {
                columns.push({ field: Format(yyyy + '/' + (MM - 1) + '/' + (dd + i), 'yyyy-MM-dd'), title: Format(yyyy + '/' + (MM - 1) + '/' + (dd + i), 'MM.dd'), edit: 'text', 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: '规格型号', title: '物料规格', sort: true});
            columns.push({ field: '供应商', title: '供应商', sort: true});
            columns.push({ field: 'FSUMQTY', title: '合计', sort: true});
            columns.push({ field: 'HPOOrderBillNo', title: '采购订单号', sort: true});
            columns.push({ field: 'HSeOrderBillNo', title: '销售订单号', sort: true});
            columns.push({ field: 'HPOOrderBillRemark', title: '摘要', sort: true });
            columns.push({ field: 'HPOOrderBillNote', title: '备注', sort: true});
            columns.push({ field: '采购员', title: '采购员', sort: true});
            columns.push({ field: '物料代码', title: '物料编码', sort: true});
            columns.push({ field: '计量单位名称', title: '计量单位', sort: true});
            columns.push({ field: 'TQSUM', title: '提料拖期数量', sort: 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 })
                //跨年的话 ä¼šä»Žä¸€æœˆä¸€å·å¼€å§‹
                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;
                }
            }
            for (var i = 1; i < dd; i++) {
                columns.push({ field: Format(yyyy + '/' + MM + '/' + i, 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + i, 'MM.dd'), edit: 'text', width: 70 })//0
            }
            columns.push({ field: 'hmainid', title: '提料计划合计' });
            columns.push({ field: '', title: '提料计划合计' });
            option = {
                elem: '#mainTable'
@@ -214,10 +255,13 @@
                , limits: [50, 500, 5000, 20000]
                , loading: false
                , cols: [columns]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
            table.render(option);
        }
        //#endregion
        //获取组织
        function Organ() {
@@ -283,6 +327,10 @@
            var HXQD = $("#HXQD").val();//需求单号
            var HPURORDERNO = $("#HPURORDERNO").val();//采购订单号
            if (HBEGINDATE > HENDDATE) {
                return layer.msg("开始日期不能小于结束日期!");
            }
            sWhere = {
                HORGID: HORGID
                , HBEGINDATE: HBEGINDATE
@@ -292,6 +340,8 @@
                , HXQD: HXQD
                , HPURORDERNO: HPURORDERNO
            }
            //初始化表格
            set_InitGrid();
            get_Display(JSON.stringify(sWhere));
            sWhere = "";//调用接口后清空sWhere缓存
        }
@@ -300,11 +350,11 @@
        //#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"));//至
            $("#HMATERIALID").val("");//物料/产品
            $("#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("0");//物料/产品
            $("#HMATERIALNAME").val("");
            $("#HSUPPLIERID").val("");//供应商
            $("#HSUPPLIERID").val("0");//供应商
            $("#HSUPPLIERNAME").val("");
            $("#HXQD").val("");//需求单号
            $("#HPURORDERNO").val("");//采购订单号
@@ -346,7 +396,7 @@
                , area: ['90%', '90%']//大小
                , title: '供应商列表'//标题
                , shift: 2//弹出动画
                , content: ['../../Baseset/基础资料/Gy_SupplierList.html', 'yes']
                , content: ['../../基础资料/采购基础资料/Gy_Supplier.html', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -356,14 +406,117 @@
                    }
                    //获取数据
                    $("#HSUPPLIERID").val(checkStatus.data[0].HItemID);
                    $("#HSUPPLIERNAME").val(checkStatus.data[0].HName);
                    $("#HSUPPLIERNAME").val(checkStatus.data[0].供应商名称);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        }
        //隐藏列设置
        function get_HideColumn() {
            var colName = "";
            for (var i = 1; i < option.cols[0].length; i++) {
                colName += option.cols[0][i]["title"] + ",";
            }
            colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
            layer.open({
                type: 2
                , skin: "layui-layer-rim" //加上边框
                , title: "隐藏列设置"  //标题
                , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                , shift: 2 //弹出动画
                , area: ["50%", "90%"] //窗体大小
                , maxmin: true //设置最大最小按钮是否显示
                , content: ['../../基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
                , btn: ["确定", "取消"]
                , btn1: function (index, laero) {
                    //刷新表格数据
                    DisPlay_HideColumn();
                    //更新表格缓存的数据
                    layer.close(index);//关闭弹窗
                }
            })
        }
        //显示列数据
        function DisPlay_HideColumn() {
            $.ajax({
                url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                type: "GET",
                data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.data.length != 0) {
                        var dataCol = [];//数据库查询出的列数据
                        var titleData = [];//不需要显示的字段 å¯æ‰©å±•
                        dataCol = data1.data[0].HGridString.split(',');
                        for (var i = 0; i < option.cols[0].length - 1; i++) {
                            if (dataCol[i]) {
                                var dataCols = dataCol[i].split('|');
                            }
                            //隐藏列
                            if (dataCols[1] == 1) {
                                option.cols[0][i + 1]["hide"] = true;
                            }
                            //设置内容字体大小
                            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[3] > 0) {
                                option.cols[0][i + 1]["width"] = dataCols[3];
                            }
                            //显示列
                            if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                option.cols[0][i + 1]["hide"] = false;
                            }
                            //字体所在位置(å·¦ å±…中 å³)
                            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;
                            }
                        }
                        //取消冻结列
                        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";
                            }
                        }
                        table.render(option);
                    } else {
                        table.render(option);
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            })
        }
        //#endregion
        //以上是layui模块