wtt
2025-04-01 45ed26ae1d7a9df011de2640517cbc9650305bfb
欠料运算报表修改,添加三升排产页面
1个文件已添加
6个文件已修改
4761 ■■■■■ 已修改文件
WebTM/WebTM.csproj 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/Scripts/webConfig.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/SetColumn.js 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/三升排产/JIT_DayPlanPlatForm.html 4262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/欠料运算/JIT_MaterialLevelShorAnalysisDetailReport.html 302 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/欠料运算/JIT_MaterialLevelShorAnalysisReport.html 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -413,9 +413,6 @@
    <Content Include="views\品质管理\客诉处理\Crm_CustomerAppealBillList.html" />
    <Content Include="views\基础资料\公用基础资料\Add_Edit_Gy_CheckNoteItem.html" />
    <Content Include="views\基础资料\公用基础资料\Add_Edit_Gy_EnvironmentTestItem.html" />
    <Content Include="views\基础资料\公用基础资料\Add_Edit_Gy_PiPeMaterial.html" />
    <Content Include="views\基础资料\公用基础资料\Add_Edit_Gy_PiPe.html" />
    <Content Include="views\基础资料\公用基础资料\Add_Edit_Gy_ProjectMoneyClass.html" />
    <Content Include="views\基础资料\公用基础资料\Add_Edit_Gy_TechnologyParameterType.html" />
    <Content Include="views\基础资料\公用基础资料\Add_Edit_Gy_MaintainLev.html" />
    <Content Include="views\基础资料\公用基础资料\excel\Gy_CheckItem_Excel.html" />
@@ -427,9 +424,6 @@
    <Content Include="views\基础资料\公用基础资料\excel\Gy_QCCheckClass_Excel.html" />
    <Content Include="views\基础资料\公用基础资料\excel\Gy_QualityStd_Excel.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_BadPhenomena_Excel.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_PiPeMaterial.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_PiPe.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_ProjectMoneyClass.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_SupType_Excel.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_EquipType_Excel.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_CheckNoteItem_Excel.html" />
@@ -569,6 +563,7 @@
    <Content Include="views\模治具管理\模治具管理\Gy_MouldFile_Excel.html" />
    <Content Include="views\模治具管理\模治具管理\Sc_MouldMaintainRuleBill_Excel.html" />
    <Content Include="views\模治具管理\模治具管理\Sc_MouldMaintainRuleBillList_PDA.html" />
    <Content Include="views\生产管理\三升排产\JIT_DayPlanPlatForm.html" />
    <Content Include="views\生产管理\宝工排产\JIT_PickUpCalculate_BaoGong.html" />
    <Content Include="views\生产管理\宝工排产\JIT_UnLockRequestBillList.html" />
    <Content Include="views\生产管理\宝工排产\JIT_UnLockRequestBill.html" />
WebTM/WebTM.csproj.user
@@ -2,7 +2,7 @@
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\网站发布\后端代码\MES-WEB-TM\MESWMS-LayUI\WebTM\Properties\PublishProfiles\LAYUI.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>C:\Users\86130\Desktop\智云迈思\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
WebTM/layuiadmin/Scripts/webConfig.js
@@ -7,7 +7,7 @@
    //var WEBURL = "http://localhost:8082/LuBaoAPI/";    //杨乐本地配置
    var WEBURL = "http://localhost:8082/API/";    //杜贺本地配置
    //var WEBURL = "http://localhost:8082/API/";    //张瑞广本地配置
    //var WEBURL = "http://localhost:81/API/"    //翁涛涛本地配置
    var WEBURL = "http://localhost:81/API/"    //翁涛涛本地配置
    //var WEBURL = "http://47.96.97.237/API/";          //智云服务器
  /*  var WEBURL = "http://localhost:8082/LuBaoAPI/";  //余思杰本地配置*/
    //var WEBURL = "http://localhost:8088/ARAPI/";      //余思杰本地配置(安瑞)
WebTM/layuiadmin/SetColumn.js
@@ -86,111 +86,6 @@
    })
}
//#endregion
//#region æ˜¾ç¤ºåˆ—数据
function DisPlay_HideColumn(HModName, user, option, titleData) {
    $.ajax({
        url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
        type: "GET",
        async: false,
        data: { "HModName": HModName, "user": user },
        success: function (data1) {
            if (data1.data.length != 0) {
                var dataCol = [];//数据库查询出的列数据
               /* var titleData = [];*/
                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]);
                                break;
                            }
                        }
                    }
                    //遍历循环后判断对应列数是否一致
                    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";
                            }
                        }
                        //设置列排序
                        for (var i = 1; i < option.cols[0].length; i++) {
                            if (data1.data[0].HSortFlag == "是") {
                                option.cols[0][i]["sort"] = true;
                            }
                            else {
                                option.cols[0][i]["sort"] = false;
                            }
                        }
                    }
                }
            } else {
            }
        }, error: function () {
            layer.alert("接口请求失败!", { icon: 5 });
        }
    })
}
//#endregion
//#region æ˜¾ç¤ºåˆ—数据
function DisPlay_HideColumn(HModName, user, option, titleData) {
WebTM/views/Éú²ú¹ÜÀí/ÈýÉýÅŲú/JIT_DayPlanPlatForm.html
New file
Diff too large
WebTM/views/Éú²ú¹ÜÀí/Ç·ÁÏÔËËã/JIT_MaterialLevelShorAnalysisDetailReport.html
@@ -35,44 +35,17 @@
                                        <span>更多</span>
                                    </div>
                                </div>
                                <!--<div class="layui-inline" style="display:none">
                <label class="layui-form-label" style="width: 85px;">组织</label>
                <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                    <select name="HORGID" id="HORGID" lay-verify="HORGID">-->
                                <!--动态渲染组织-->
                                <!--</select>
                </div>
            </div>-->
                                <!--<div class="layui-inline">
                <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">生产车间</label>
                <div class="layui-input-block" style="margin-left: 77px;">
                    <input type="hidden" class="layui-input" lay-verify="HWorkShopID" name="HWorkShopID" id="HWorkShopID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                    <input type="text" class="layui-input" lay-verify="HWorkShopIDName" name="HWorkShopIDName" id="HWorkShopIDName" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;">
                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHWorkShopID" id="btnHWorkShopID" style="padding: 0 10px;float: right;margin-right: 3px;">
                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                    </button>
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">产品编码</label>
                <div class="layui-input-block" style="margin-left: 77px;">
                    <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                    <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                    </button>
                </div>
            </div>-->
                                <!--<div class="layui-inline">
            <label class="layui-form-label" style="width: 85px;">齐套类型</label>
            <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                <select name="HType" id="HType" lay-verify="HType">
                    <option value="齐套" selected="selected">齐套</option>
                    <option value="未齐套">未齐套</option>-->
                                <!--<option value="采购订单">采购订单</option> æš‚时没有-->
                                <!--</select>
                </div>
            </div>-->
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">明细产品名称</label>
                                    <div class="layui-input-block" style="margin-left: 77px;">
                                        <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                        <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;">
                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                        </button>
                                    </div>
                                </div>
                                <div class="layui-inline" style="display:none">
                                    <label class="layui-form-label" style="width: 85px;">欠料日期</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
@@ -85,30 +58,12 @@
                                        <input type="date" class="layui-input" lay-verify="HENDDATE" name="HENDDATE" id="HENDDATE" style="padding-left: 78px;">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch2" id="btnSearch2">库存查询</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnExport" id="btnExport">导出</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="bthHideColumn" id="bthHideColumn">列设置</button>
                                <!--<div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                <div class="layui-row" style="margin-top:10px;">
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">产品编码</label>
                        <div class="layui-input-block" style="margin-left: 77px;">
                            <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                            <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                            </button>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 85px;">生产订单号</label>
                        <div class="layui-input-block" style="margin-left: 120px;">
                            <input type="text" class="layui-input" name="HMOBILLNO" id="HMOBILLNO">
                        </div>
                    </div>
                </div>
            </div>-->
                            </div>
                        </div>
@@ -116,6 +71,7 @@
                            <ul class="layui-tab-title">
                                <li class="layui-this">下查</li>
                                <li>上查</li>
                                <li>即时库存明细</li>
                            </ul>
                            <div class="layui-tab-content" style="">
                                <div class="layui-tab-item layui-show">
@@ -124,7 +80,14 @@
                                <div class="layui-tab-item ">
                                    <table class="" id="mainTable2" lay-filter="mainTable2"></table>
                                </div>
                                <div class="layui-tab-item ">
                                    <table class="" id="mainTable3" lay-filter="mainTable3"></table>
                                    <script type="text/html" id="toolbarDemo">
                                        <div class="layui-btn-container" id="toolbarDemo_ButtonSet">
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        </div>
                                    </script>
                                </div>
                            </div>
                        </div>
@@ -164,8 +127,10 @@
            , treeTable = layui.treeTable;
        var sWhere = "";
        var option = [];
        var option3 = [];
        var ins;                        //用于导出excel
        var HModName = "JIT_MaterialLevelShorAnalysisDetailReport";
        var HModName2 = "Jit_MaterialLevelShorAnalysisDetailReport2"
        var HMaterID = 0;
        var HWorkShopID = 0;
        var HOrgID = 0;
@@ -181,10 +146,30 @@
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //头工具栏事件
        table.on('toolbar(mainTable3)', function (obj) {
            switch (obj.event) {
                //列设置
                case 'set_HideColumn': get_HideColumnNoPage(HModName2, sessionStorage["HUserName"], option3, get_Display2);
                    break;
            };
        });
        //#region äº§å“ç¼–码
        form.on('submit(btnHMATERIALID)', function (data) {
            btnHMATERIALID();
        });
        //#endregion
        //#region é‡ç½®æŒ‰é’®
        form.on('submit(btnReSearch)', function (data) {
            set_ClearQuery();
        });
        //#endregion
        //#region åº“存明细查询按钮
        form.on('submit(btnSearch2)', function (data) {
            get_Display2();
        });
        //#endregion
@@ -212,7 +197,36 @@
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //物料表格下拉搜索框
            tableSelect.render({
                elem: '#HMATERIALNAME',
                checkedKey: 'HItemID',
                searchKey: '物料代码,物料名称',
                sWhere: '',//table搜索sWhere条件
                table: {
                    url: GetWEBURL() + 'Gy_Material/page',
                    where: { user: sessionStorage["HMaker"], "Organization": sessionStorage["Organization"] },
                    cols: [[
                        { type: 'checkbox', fixed: 'left' },
                        { field: 'HItemID', title: 'HItemID' },
                        { field: '物料代码', title: '物料代码' },
                        { field: '物料名称', title: '物料名称' },
                    ]],
                    page: true,
                    limit: 5,
                    limits: [5]
                },
                done: function (elem, data) {
                    if (data != []) {
                        //获取数据
                        $("#HMATERIALID").val(data.data[0].HItemID);
                        $("#HMATERIALNAME").val(data.data[0].物料名称);
                        /*$("#HMATERIALNAME").blur();//单元格失去焦点*/
                        get_Display2();
                    }
                }
            })
            addSWhereByOpenType()
            //初始化表格
            set_InitGrid();
@@ -220,6 +234,8 @@
            DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], option)
            //设置页码
            DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], option2)
            //设置页码
            DisPlay_HideColumn_GetPageSize(HModName2, sessionStorage["HUserName"], option3)
            //快速过滤
            get_FastQuery();
        }
@@ -332,6 +348,21 @@
                    soulTable.render(this);
                }
            };
            option3 = {
                elem: '#mainTable3'
                , toolbar: '#toolbarDemo'
                , height: 'full-50'
                , page: true
                , cellMinWidth: 90
                , limit: 1000
                , limits: [50, 500, 1000, 2000]
                , totalRow: true
                , loading: false
                , cols: [columns]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
        }
        //#endregion
@@ -426,7 +457,7 @@
                                }
                            }
                        });
                        option.data = root;
                        option.data = sortByFirstValidDate(root);
                        //列设置
                        DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option);
@@ -522,11 +553,129 @@
                                }
                            }
                        });
                        option2.data = root;
                        option2.data = sortByFirstValidDate(root);
                        //列设置
                        DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option2);
                        ins = treeTable.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);
                }
            });
        }
        // ç­›é€‰å‡½æ•°ï¼šæ£€æŸ¥å­—符串是否符合格式筛选日期
        function isValidDate(dateStr) {
            // æ­£åˆ™è¡¨è¾¾å¼éªŒè¯æ ¼å¼
            const formatRegex = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
            if (!formatRegex.test(dateStr)) return false;
            // åˆ†å‰²å¹´æœˆæ—¥å¹¶è½¬æ¢ä¸ºæ•°å€¼
            const [year, month, day] = dateStr.split('-').map(Number);
            // åˆ›å»ºDate对象(月份从0开始)
            const date = new Date(year, month - 1, day);
            // æ£€æŸ¥æ—¥æœŸæ˜¯å¦æœ‰æ•ˆï¼ˆä¸Žè¾“入的年月日一致)
            return (
                date.getFullYear() === year &&
                date.getMonth() === month - 1 &&
                date.getDate() === day
            );
        }
        //以最早欠料为优先级排序
        function sortByFirstValidDate(arr) {
            // å‡è®¾æ‰€æœ‰å¯¹è±¡æ‹¥æœ‰ç›¸åŒçš„æ—¥æœŸé”®ï¼Œè¿™é‡Œä»¥ç¬¬ä¸€ä¸ªå¯¹è±¡çš„键为基准
            const dateKeys = Object.keys(arr[0] || {})
                .filter(key => /^\d{4}-\d{2}-\d{2}$/.test(key))
                .sort((a, b) => a.localeCompare(b)); // é¢„先排序所有日期键
            // è¾…助函数:找到对象中第一个有效值的日期
            const getFirstValidDate = (obj) => {
                for (const key of dateKeys) {
                    const value = obj[key];
                    if (typeof value === 'number' && value > 0) {
                        return key; // è¿”回第一个有效日期
                    }
                }
                return Infinity; // æ— æœ‰æ•ˆæ—¥æœŸæ—¶æŽ’最后
            };
            // æŽ’序逻辑
            return arr.slice().sort((a, b) => {
                const aDate = getFirstValidDate(a);
                const bDate = getFirstValidDate(b);
                return aDate.localeCompare(bDate);
            });
        }
        //#endregion
        //#region æŸ¥è¯¢2
        function get_Display2() {
            var ajaxLoad = layer.load();
            var HMaterID2 = $("#HMATERIALID").val();
            if (HMaterID2 == 0) {
                HMaterID2 = HMaterID;
            }
            //明细列表
            var sql = "select * from h_v_Jit_MaterialLevelShorAnalysisDetailReport_StockOccupyingAnalysis where  å­é¡¹ç‰©æ–™ID = " + HMaterID2 + " order by å±‚级,日计划日期";
            $.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 }); //隐藏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 (data[i].name == '是否匹配到订单') {
                                col.push({ field: '是否匹配到订单', title: '是否匹配到订单', sort: true, filter: true, templet: function (d) { return d.是否匹配到订单 ? '否' : '是'; } });
                            }
                            else if (data[i].name == '是否匹配到要料计划信息') {
                                col.push({ field: '是否匹配到要料计划信息', title: '是否匹配到要料计划信息', sort: true, filter: true, templet: function (d) { return d.是否匹配到要料计划信息 ? '否' : '是'; } });
                            } 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 });
                                }
                            }
                        }
                        option3.cols = [col];
                        option3.data = data1.data;
                        //列设置
                        DisPlay_HideColumn(HModName2, sessionStorage["HUserName"], option3,[]);
                        table.render(option3);
                        layer.close(ajaxLoad);
                    } else {
                        layer.alert(data1.code + data1.Message, { icon: 5 });
@@ -568,6 +717,8 @@
            var data = HExportData;
            if (tableId == "mainTable2") {
                data = HExportData2;
            } else if (tableId == "mainTable3") {
                data = option3.data;
            }
            
            data.forEach((item) => {
@@ -615,7 +766,7 @@
           /* $("#HORGID").val(sessionStorage["OrganizationID"]);//组织*/
            //$("#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("");//物料/产品
            $("#HMATERIALID").val("0");//物料/产品
            //$("#HMATERIALNAME").val("");
            //$("#HWorkShopID").val("");
            //$("#HWorkShopIDName").val("");
@@ -623,7 +774,30 @@
            sWhere = "";
        }
        //#endregion
        //物料列表
        function btnHMATERIALID() {
            layer.open({
                type: 2 //类型
                , skin: 'layui-layer-rim'//加上边框
                , area: ['90%', '90%']//大小
                , title: '物料列表'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/公用基础资料/Gy_Material.html', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    //获取数据
                    $("#HMATERIALID").val(checkStatus.data[0].HItemID);
                    $("#HMATERIALNAME").val(checkStatus.data[0].物料名称);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        }
        //#region èŽ·å–å‚æ•°
        function getUrlVars() {
            var vars = [], hash;
WebTM/views/Éú²ú¹ÜÀí/Ç·ÁÏÔËËã/JIT_MaterialLevelShorAnalysisReport.html
@@ -52,16 +52,6 @@
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">产品编码</label>
                                    <div class="layui-input-block" style="margin-left: 77px;">
                                        <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                        <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;">
                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                        </button>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">欠料日期</label>
@@ -76,6 +66,27 @@
                                    </div>
                                </div>
                                <div class="layui-row">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">产品编码</label>
                                        <div class="layui-input-block" style="margin-left: 77px;">
                                            <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                            <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;">
                                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                            </button>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">物料属性</label>
                                        <div class="layui-input-block">
                                            <select name="HMaterClsID" id="HMaterClsID" lay-verify="HMaterClsID">
                                                <option value="0" selected>全部</option>
                                                <option value="1">外购</option>
                                                <option value="2">自制</option>
                                                <option value="3">委外</option>
                                            </select>
                                        </div>
                                    </div>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnExport" id="btnExport">导出</button>
@@ -152,6 +163,14 @@
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //#endregion è¾“入框回车监听
        //$('input[type="text"]').on('keydown', function (event) {
        //    if (event.keyCode == 13) {
        //        $("#btnSearch").click();
        //    }
        //});
        //#endregion
        //#region äº§å“ç¼–码
        form.on('submit(btnHMATERIALID)', function (data) {
            btnHMATERIALID();
@@ -188,17 +207,18 @@
            var HWorkShopID = obj.data.需求车间ID;
            var HBEGINDATE = $("#HBEGINDATE").val();//欠料日期
            var HENDDATE = $("#HENDDATE").val();//至
            layer.open({
                type: 2
                , skin: 'layui-layer-rim'//加上边框
                , area: ['90%', '90%']
                , title: '上层缺料情况'
                , shift: 2//弹出动画
                , shade: 0.6 //遮罩透明度
                //, maxmin: true //允许全屏最小化
                , anim: 0 //0-6的动画形式,-1不开启
                , content: ['../../生产管理/欠料运算/JIT_MaterialLevelShorAnalysisDetailReport.html?type=2&HOrgID=' + HOrgID + "&HMaterID=" + HMaterID + "&HWorkShopID=" + HWorkShopID + "&HBEGINDATE=" + HBEGINDATE + "&HENDDATE=" + HENDDATE, 'yes']
            })
            window.open('../../生产管理/欠料运算/JIT_MaterialLevelShorAnalysisDetailReport.html?type=2&HOrgID=' + HOrgID + "&HMaterID=" + HMaterID + "&HWorkShopID=" + HWorkShopID + "&HBEGINDATE=" + HBEGINDATE + "&HENDDATE=" + HENDDATE);
            //layer.open({
            //    type: 2
            //    , skin: 'layui-layer-rim'//加上边框
            //    , area: ['90%', '90%']
            //    , title: '上层缺料情况'
            //    , shift: 2//弹出动画
            //    , shade: 0.6 //遮罩透明度
            //    //, maxmin: true //允许全屏最小化
            //    , anim: 0 //0-6的动画形式,-1不开启
            //    , content: ['../../生产管理/欠料运算/JIT_MaterialLevelShorAnalysisDetailReport.html?type=2&HOrgID=' + HOrgID + "&HMaterID=" + HMaterID + "&HWorkShopID=" + HWorkShopID + "&HBEGINDATE=" + HBEGINDATE + "&HENDDATE=" + HENDDATE, 'yes']
            //})
        })
            //#endregion
@@ -368,11 +388,12 @@
        function get_Dept() {
            //获取车间列
            var HDeptID = '<option value="0" style="color:red;" selected>全部车间</option>';
            var sql = "exec h_p_Gy_GetHDeptListISWorkShop " + sessionStorage["OrganizationID"]
            $.ajax({
                type: "get",
                url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList",
                url: GetWEBURL() + "/Gy_SOPBillList/WindowPrintList",
                async: false,
                data: { "HOrgID": sessionStorage["OrganizationID"] },
                data: { "sWhere": sql},
                success: function (result) {
                    if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        var data = result.data;
@@ -511,8 +532,10 @@
            var HBEGINDATE = $("#HBEGINDATE").val();//欠料日期
            var HENDDATE = $("#HENDDATE").val();//至
            var HMATERIALID = $("#HMATERIALID").val();//物料/产品
            var HMATERIALNAME = $("#HMATERIALNAME").val();//物料名称
            var HWorkShopID = $("#HWorkShopID").val();//物料/产品
            var HWorkShopID2 = $("#HWorkShopID2").val();//物料/产品需求车间
            var HMaterClsID = $("#HMaterClsID").val();//物料属性
            if (HBEGINDATE > HENDDATE) {
                return layer.msg("开始日期不能小于结束日期!");
            }
@@ -526,11 +549,18 @@
            if (HWorkShopID2 != 0) {
                sWhere += " and T1.HWorkShopID= " + HWorkShopID2 + " ";
            }
            if (HMaterClsID != 0) {
                sWhere += " and T1.HMaterClsID=" + HMaterClsID + " ";
            }
            //if (HBEGINDATE != null && HENDDATE != null) {
            //    sWhere += " and HDate between ''" + HBEGINDATE + "'' and ''" + HENDDATE + "'' ";
            //}
            if (HMATERIALID!=0) {
                sWhere += " and T1.HMaterID= " + HMATERIALID+" ";
            if (HMATERIALID != 0) {
                sWhere += " and T1.HMaterID= " + HMATERIALID + " ";
            } else {
                if (HMATERIALNAME != "") {
                    sWhere += " and (T2.HName like ''%" + HMATERIALNAME + "%'' or T2.HNumber like ''%" + HMATERIALNAME + "%'') ";
                }
            }
            get_Display(sWhere);
            sWhere = "";//调用接口后清空sWhere缓存
@@ -546,6 +576,7 @@
            $("#HMATERIALNAME").val("");
            $("#HWorkShopID").val("0");
            $("#HWorkShopID2").val("0");
            $("#HMaterClsID").val("0");
            form.render('select');
            sWhere = "";
        }