yusijie
2023-08-03 d054d104a5abb43cb3209cceb2c574b84df6393e
Merge branch 'master' of http://101.37.171.70:10101/r/MESWMS-LayUI
1个文件已添加
7个文件已修改
1138 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/日计划基础资料/Cg_PODemandPlanConfigBill_Add.html 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/日计划报表/MaterialShorAnalysisReport.html 486 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/JIT_DayPlanPlatForm.html 610 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/计划管理/工艺路线/Gy_RoutingBill.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/委外工序接收单/Cj_StationEntrustOutBill.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/报表分析/sc_ICOMRKReport.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -229,6 +229,7 @@
    <Content Include="views\工资管理\工资结算单%28集体%29\Pay_GroupBalBillList.html" />
    <Content Include="views\条码明细\Kf_BarCodeDetailQuery.html" />
    <Content Include="views\生产管理\日计划基础资料\Cg_PODemandPlanConfigBill_Excel.html" />
    <Content Include="views\生产管理\日计划报表\MaterialShorAnalysisReport.html" />
    <Content Include="views\生产管理\生产计划平台\Sc_ShopCalendar.html" />
    <Content Include="views\系统管理\快捷方式自定义\Xt_UserFastMenu.html" />
    <Content Include="views\系统管理\快捷方式自定义\Xt_UserFastMenu_IconSet.html" />
WebTM/views/index.html
@@ -369,6 +369,7 @@
                                                <!--<dd><a lay-href="生产管理/日计划报表/ReportPODemandPlanBillList_S.html" style="margin: 0 0 0 13px;">提料计划报表</a></dd>-->
                                                <dd><a lay-href="生产管理/日计划报表/ReportWorkDemandPlanBillList.html" style="margin: 0 0 0 13px;">要料计划报表</a></dd>
                                                <dd><a lay-href="生产管理/日计划报表/ReportMOMaterReadysBillList.html" style="margin: 0 0 0 13px;">齐套报表</a></dd>
                                                <dd><a lay-href="生产管理/日计划报表/MaterialShorAnalysisReport.html" style="margin: 0 0 0 13px;">缺料分析报表</a></dd>
                                            </dl>
                                        </dd>
                                    </dl>
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®»ù´¡×ÊÁÏ/Cg_PODemandPlanConfigBill_Add.html
@@ -14,38 +14,6 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
            line-height: 30px;
        }
        .btn-title {
            font-size: 16px;
        }
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        .layui-form-label {
            width: 25%;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®±¨±í/MaterialShorAnalysisReport.html
New file
@@ -0,0 +1,486 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>缺料分析报表</title>
    <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>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </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="HORGID" id="HORGID" lay-verify="HORGID">
                                            <!--动态渲染组织-->
                                        </select>
                                    </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="date" class="layui-input" lay-verify="HBEGINDATE" name="HBEGINDATE" id="HBEGINDATE" style="padding-left: 78px;">
                                    </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="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="btnSearch" id="btnSearch">查询</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:10px;">
                                    </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="HideColumn"><i class="layui-icon layui-icon-form"></i>隐藏列设置</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    var treeCkData = { id: 0 };
    var TagId = "";
    var TagParentId = "";
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util'], function () {
        //#region å…¬ç”¨å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element
            , laypage = layui.laypage
            , laydate = layui.laydate
            , util = layui.util
            , tree = layui.tree
            , util = layui.util
        var sWhere = "";
        var option = [];
        var HModName = "MaterialShorAnalysisReport";
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //头工具栏事件
        table.on('toolbar(mainTable)', function (obj) {
            switch (obj.event) {
                //隐藏列设置
                case 'HideColumn':
                    get_HideColumn();
                    break;
            };
        });
        //#region é‡ç½®æŒ‰é’®
        form.on('submit(btnReSearch)', function (data) {
            set_ClearQuery();
        });
        //#endregion
        //#region æŸ¥è¯¢æŒ‰é’®
        form.on('submit(btnSearch)', function (data) {
            get_FastQuery(2);
        });
        //#endregion
        //#endregion
        //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化日期
            $("#HBEGINDATE").val(Format(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);
            DisPlay_HideColumn();
        }
        //#endregion
        //#region åˆå§‹åŒ–表格方法
        function set_InitGrid() {
            var columns = [];
            columns.push({ type: 'checkbox', fixed: 'left' });
            columns.push({ field: 'HOrgName', title: '采购组织' });
            columns.push({ field: 'FNUMBER', title: '物料编码' });
            columns.push({ field: 'HMaterName', title: '物料名称' });
            columns.push({ field: 'HMaterModel', title: '物料规格' });
            columns.push({ field: 'CountHQty', title: '合计' });
            columns.push({ field: 'FBASEQTY', title: '即时库存数量' });
            //获取两个月期之间的相差
            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;
                }
            }
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , height: 'full-50'
                , page: true
                , cellMinWidth: 90
                , limit: 50
                , limits: [50, 500, 5000, 20000]
                , loading: false
                , cols: [columns]
                , done: function (res, page, count) {
                    var that = this.elem.next();
                    res.data.forEach(function (item, index) {
                        var NumCount = item.FBASEQTY;//获取总库存数量
                        for (var i = 0; i < Days; i++) {
                            var dateNowTime = Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + i), 'yyyy-MM-dd');
                            if (item[dateNowTime] != null) {
                                if (NumCount > parseFloat(item[dateNowTime])) {
                                    NumCount -= parseFloat(item[dateNowTime]);
                                } else {
                                    var num = 6;//即时库存与日期挨着  ä»Žå³æ—¶åº“存开始算
                                    tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']");
                                    rq = tr.children()[num + 1 + i];
                                    rq.style.color = '#f66161';//然后变色
                                    rq = tr.children()[num];
                                    rq.style.color = '#f66161';//然后变色
                                }
                            }
                        }
                    });
                    $('.layui-table-cell').css({ 'height': 'auto' });
                }
            };
        }
        //#endregion
        //获取组织
        function Organ() {
            //获取登录页组织列
            var Organization = '';
            $.ajax({
                type: "get",
                url: GetWEBURL() + "/Web/GetOrganizations",
                success: function (result) {
                    if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        var data = result.data;
                        for (var i = 0; i < data.length; i++) {
                            Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                        }
                        $("#HORGID").append(Organization);
                        $("#HORGID").val(sessionStorage["OrganizationID"])
                        form.render('select');
                    }
                    layer.closeAll("loading");
                }
            })
        }
        //#region æŸ¥è¯¢
        function get_Display(sWhere) {
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/MaterialShorAnalysisReport',
                type: "GET",
                data: { "sWhere": sWhere },
                success: function (result) {
                    if (result.count == 1) {
                        option.data = result.data;
                        table.render(option);
                        layer.close(ajaxLoad);
                        //layer.alert("查询成功", { icon: 1 });
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(result.code + result.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
        //#region å¿«é€Ÿè¿‡æ»¤
        function get_FastQuery(number) {
            var HORGID = "";
            if (number == 1) {
                HORGID = sessionStorage["OrganizationID"];
            }
            else {
                HORGID = $("#HORGID").val();//组织
            }
            var HBEGINDATE = $("#HBEGINDATE").val();//提料日期
            var HENDDATE = $("#HENDDATE").val();//至
            //var HMATERIALID = $("#HMATERIALID").val();//物料/产品
            //var HSUPPLIERID = $("#HSUPPLIERID").val();//供应商
            //var HXQD = $("#HXQD").val();//需求单号
            //var HPURORDERNO = $("#HPURORDERNO").val();//采购订单号
            if (HBEGINDATE > HENDDATE) {
                return layer.msg("开始日期不能小于结束日期!");
            }
            sWhere = {
                HORGID: HORGID
                , HBEGINDATE: HBEGINDATE
                , HENDDATE: HENDDATE
                //, HMATERIALID: HMATERIALID
                //, HSUPPLIERID: HSUPPLIERID
                //, HXQD: HXQD
                //, HPURORDERNO: HPURORDERNO
            }
            //初始化表格
            set_InitGrid();
            get_Display(JSON.stringify(sWhere));
            sWhere = "";//调用接口后清空sWhere缓存
        }
        //#endregion
        //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
        function set_ClearQuery() {
            $("#HORGID").val(sessionStorage["OrganizationID"]);//组织
            $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), 'yyyy-MM-dd'));
            $("#HENDDATE").val(Format(new Date(), "yyyy-MM-dd"));//至
            //$("#HMATERIALID").val("");//物料/产品
            //$("#HMATERIALNAME").val("");
            //$("#HSUPPLIERID").val("");//供应商
            //$("#HSUPPLIERNAME").val("");
            //$("#HXQD").val("");//需求单号
            //$("#HPURORDERNO").val("");//采购订单号
            form.render('select');
            sWhere = "";
        }
        //#endregion
        //物料列表
        function btnHMATERIALID() {
            layer.open({
                type: 2 //类型
                , skin: 'layui-layer-rim'//加上边框
                , area: ['90%', '90%']//大小
                , title: '物料列表'//标题
                , shift: 2//弹出动画
                , content: ['../../Baseset/基础资料/Gy_MaterialList.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].HName);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        }
        //供应商
        function btnHSUPPLIERID() {
            layer.open({
                type: 2 //类型
                , skin: 'layui-layer-rim'//加上边框
                , area: ['90%', '90%']//大小
                , title: '供应商列表'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/采购基础资料/Gy_Supplier.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('请选择数据');
                    }
                    //获取数据
                    $("#HSUPPLIERID").val(checkStatus.data[0].HItemID);
                    $("#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模块
    });
</script>
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/JIT_DayPlanPlatForm.html
@@ -27,6 +27,7 @@
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnTLYS" id="btnTLYS">提料运算</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnICMOBill" id="btnICMOBill">生产订单选单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnReady" id="btnReady">准备</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnProPC" id="btnProPC">排产</button>
                        </div>
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
@@ -178,7 +179,7 @@
                                </div>
                            </div>
                        </div>
                        <div id="test"></div>
                        <div id="HProgressBar"></div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
@@ -306,6 +307,14 @@
                }
            });
            for (var i = 0; i < table.cache["mainTable"].length; i++) {
                if (table.cache["mainTable"][i]["生产订单号"] != obj.data["生产订单号"]) {
                    table.cache["mainTable"][i].LAY_CHECKED = false;
                }
            }
            option.data = table.cache["mainTable"];
            table.render(option);
          
            objData = obj;
        })
@@ -371,7 +380,7 @@
            } else if (table.cache["mainTable"].length == 0) {
                return layer.msg("无数据,无法保存!");
            } else {
                set_AddNew(data);
                set_AddNew();
            }
        });
@@ -415,7 +424,28 @@
            get_btnReady();
        })
        //排产
        form.on('submit(btnProPC)', function (data) {
            var HWorkShopID = $("#HWorkShopID").val();//生产车间
            if (HWorkShopID == 0) {
                return layer.msg("生产车间不能为空!");
            } else {
                layer.open({
                    type: 1, // page å±‚类型
                    area: ['500px', '300px'],
                    title: 'Hello layer',
                    shade: 0.6, // é®ç½©é€æ˜Žåº¦
                    shadeClose: true, // ç‚¹å‡»é®ç½©åŒºåŸŸï¼Œå…³é—­å¼¹å±‚
                    maxmin: true, // å…è®¸å…¨å±æœ€å°åŒ–
                    anim: 0, // 0-6 çš„动画形式,-1 ä¸å¼€å¯
                    content: '<div style="padding: 32px;">一个普通的页面层,传入了自定义的 HTML</div>'
                });
                setTimeout(get_btnProPC(HWorkShopID), 3000);
                layer.closeAll();
            }
        })
        //行内事件
        table.on('tool(mainTable)', function (obj) {
@@ -662,6 +692,10 @@
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150 });//0
            columns.push({ field: '订单可排数量', title: '订单可排数量', width: 150 });
            columns.push({ field: '未入库数量', title: '未入库数量', width: 150 });//0
            columns.push({ field: 'HICMOInterID', title: 'HICMOInterID', width: 150, hide:true });
            columns.push({ field: 'HGroupID', title: 'HGroupID', width: 150, hide:true });
            columns.push({ field: 'HGroupName', title: 'HGroupName', width: 150, hide:true });
            columns.push({ field: '生产资源代码', title: '生产资源代码', width: 150, hide:true });
            columns.push({ fixed: 'right', title: '操作', toolbar: '#barDemo' });
            option = {
@@ -673,7 +707,6 @@
                , cols: [columns]
                , limit: Number.MAX_VALUE//默认显示全部
            };
        }
        //查询加载数据
@@ -682,6 +715,7 @@
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillList',
                type: "GET",
                async: false,
                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                success: function (data1) {
                    if (data1.count == 1) {
@@ -721,6 +755,15 @@
                data: { "sWhere": HinterID_S.toString(),"num":1 },
                success: function (data1) {
                    if (data1.count == 1) {
                        for (var i = 0; i < 31; i++) {
                            option.cols[0][22 + i]["edit"] = "text";
                            option.cols[0][22 + i]["style"] = "";
                            var TableDate = option.cols[0][22 + i].field;
                            var date = new Date(TableDate).getDay();
                            if (date == 6 || date == 0) {
                                option.cols[0][22 + i]["style"] = "    background-color: #c3fec8";
                            }
                        }
                        if (data1.data[0]["DayNum"] > 0) {
                            //获取被锁定的列数
                            var tableNum = 0;
@@ -746,12 +789,13 @@
                                option.cols[0][22 + i]["style"] = "    background-color: #e6e6e6";
                            }
                        } else {
                            for (var i = 0; i < 31; i++) {
                                option.cols[0][22 + i]["edit"] = "text";
                                option.cols[0][22 + i]["style"] = "";
                            }
                        }
                        //else {
                        //    for (var i = 0; i < 31; i++) {
                        //        option.cols[0][22 + i]["edit"] = "text";
                        //        option.cols[0][22 + i]["style"] = "";
                        //    }
                        //}
                        table.render(option);
                        layer.close(ajaxLoad);
                        //layer.alert("查询成功", { icon: 1 });
@@ -1120,7 +1164,7 @@
            for (var i = 0; i < data.length; i++) {
                HICOMNum.push(data[i]["HICMOInterID"] + ";" + data[i]["HICMOEntryID"]);
            }
            $('#test').html(`
            $('#HProgressBar').html(`
    <div class="layui-progress" lay-filter="demo-filter-progress">
      <div class="layui-progress-bar" lay-percent="40%"></div>
    </div>
@@ -1177,7 +1221,7 @@
                                }
                            }
                        }
                        $('#test').html('')
                        $('#HProgressBar').html('')
                        table.render(option);
                       
@@ -1192,9 +1236,541 @@
            });
        }
        //下移
        function DownTable(data ,i) {
        //排产
        function get_btnProPC(HWorkShopID) {
            var JDTLen = 0;
            var lMainID = 0;
            var sICMOBillNo = "";
            var dEndDate = "";
            var sProdTimes = 0;
            var sPlanQty = 0;
            var lHGroupID = 0;
            var sGroupName = "";
            var lMaterID = 0;
            var sMaterNumber = "";
            var sMaterName = "";
            var sMaterModel = "";
            var sWorkQty = 0;
            var sYX = 0;
            var iLeftQty = 0;
            var sLeftProdTimes = 0;
            var lSourceID = 0;
            var iRow = 0;
            var sSourceName = "";
            var sSourceNumber = "";
            var ds = [];
            var dsSub = [];
            var bFind = false;
            var HPlanDay = 0;
            var HDelData = 0;
            JDTLen = (100 / option.data.length).toFixed(2);
            var HJDLen = 0;
            var ajaxLoad = layer.load();
            //如果锁定计划,则不需要再排程
            //查询本车间是否有锁定计划的数据
            var HinterID_S = [];
            for (var i = 0; i < option.data.length; i++) {
                HinterID_S.push(option.data[i]["hmainid"]);
            }
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHinterIDList',
                type: "GET",
                async: false,
                data: { "sWhere": HinterID_S.toString(), "num": 1 },
                success: function (data1) {
                    if (data1.count == 1) {
                        HPlanDay = data1.data[0].DayNum;
                    } else {
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
            //根据车间删除没有锁定的数据
            var sql = "delete from Sc_WorkBillSortBillSub  where  HMasterDate>=convert(varchar(10) ,DATEADD(DAY," + HPlanDay + ",GETDATE()),20)  and HInterID in(select  HInterID  from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + ")";
            $.ajax({
                url: GetWEBURL() +'/Gy_SOPBillList/UpDelSQL',
                type: "GET",
                async: false,
                data: { "sWhere": sql },
                success: function (data1) {
                    if (data1.count == 1) {
                        HDelData = 1;
                    } else {
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
            get_FastQuery(2);
            if (HDelData == 1) {
                //按任务单优先级 å¾ªçޝ
                for (var i = 0; i < option.data.length; i++) {
                    //找到本任务单 å¯ç”¨ç”Ÿäº§èµ„源
                    lMainID = option.data[i]["HICMOInterID"];
                    sICMOBillNo = option.data[i]["生产订单号"];
                    dEndDate = Format(option.data[i]["最迟完工日期"], 'yyyy/MM/dd');
                    sProdTimes = option.data[i]["生产周期"];
                    sPlanQty = option.data[i]["计划数量"];
                    lHGroupID = option.data[i]["HGroupID"];
                    sGroupName = option.data[i]["HGroupName"];
                    lMaterID = option.data[i]["HMaterID"];
                    sMaterNumber = option.data[i]["物料代码"];
                    sMaterName = option.data[i]["物料名称"];
                    sMaterModel = option.data[i]["规格型号"];
                    sWorkQty = option.data[i]["小时产能"];
                    sYX = option.data[i]["优先级"];
                    //剩余需求工时
                    iLeftQty = sPlanQty;
                    if (sWorkQty <= 0) {
                        sLeftProdTimes = 0;
                    }
                    else {
                        sLeftProdTimes = iLeftQty / sWorkQty;
                    }
                    //若本任务单已有安排资源(上次排程或者手工排程) åˆ™ä¸å†å¯»æ‰¾èµ„源,直接排程
                    if (option.data[i]["HSourceID"] != 0 && option.data[i]["生产资源"] != "") {
                        //获取该生产资源的剩余工时进行排程。
                        lSourceID = option.data[i]["HSourceID"];
                        sSourceName = option.data[i]["生产资源"];
                        sSourceNumber = option.data[i]["生产资源代码"];
                        //查询生产资源的剩余工时进行排程。
                        var sql = "exec h_p_Sc_ICMOGetWorkSource2 " + lMaterID + ",'" + dEndDate + "'," + sProdTimes + "," + lSourceID;
                        $.ajax({
                            url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                            type: "GET",
                            async: false,
                            data: { "sWhere": sql },
                            success: function (data1) {
                                if (data1.count == 1) {
                                    ds = data1.data
                                } else {
                                    layer.alert(data1.code + data1.Message, { icon: 5 });
                                }
                            }, error: function () {
                                layer.alert("接口请求失败!", { icon: 5 });
                            }
                        });
                    }
                    else //没有资源则 è‡ªåŠ¨æ‰¾åˆ°èµ„æº
                    {
                        //查询生产资源的剩余工时进行排程。
                        var sql = "exec h_p_Sc_ICMOGetWorkSource2 " + lMaterID + ",'" + dEndDate + "'," + sProdTimes;
                        $.ajax({
                            url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                            type: "GET",
                            async: false,
                            data: { "sWhere": sql },
                            success: function (data1) {
                                if (data1.count == 1) {
                                    ds = data1.data
                                } else {
                                    layer.alert(data1.code + data1.Message, { icon: 5 });
                                }
                            }, error: function () {
                                layer.alert("接口请求失败!", { icon: 5 });
                            }
                        });
                    }
                    if (ds == null || ds.length == 0) //没有可以排的资源
                    {
                        //跳到下一单  æœ¬å•红色显示
                        $("tr[data-index='" + i + "']").attr({ "style": "background:red;color:black;" });
                        continue;
                    }
                    else {
                        $("tr[data-index='" + i + "']").attr({ "style": "background:White;color:black;" });
                        //开始排单
                        bFind = false;
                        //超交货期  ä»ç„¶æŽ’程
                        for (var j = 0; j < ds.length; j++) {
                            //判断资源剩余工时,是否大于 ç”Ÿäº§å‘¨æœŸ
                            if (parseFloat(ds[j]["剩余工时"]) > sLeftProdTimes) {
                                if (iLeftQty > 0) // ç”Ÿäº§è®¢å•剩余数量
                                {
                                    //在本资源上生产
                                    //获取该生产资源的剩余工时进行排程。
                                    lSourceID = ds[j]["HitemID"];
                                    sSourceName = ds[j]["资源名称"];
                                    sSourceNumber = ds[j]["资源代码"];
                                    option.data[i]["HSourceID"] = lSourceID;
                                    option.data[i]["生产资源"] = sSourceName;
                                    option.data[i]["生产资源代码"] = sSourceNumber;
                                    var sql = "exec h_p_Sc_ICMOGetWorkSourceTime " + lSourceID;
                                    $.ajax({
                                        url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                                        type: "GET",
                                        async: false,
                                        data: { "sWhere": sql },
                                        success: function (data1) {
                                            if (data1.count == 1) {
                                                dsSub = data1.data
                                            } else {
                                                layer.alert(data1.code + data1.Message, { icon: 5 });
                                            }
                                        }, error: function () {
                                            layer.alert("接口请求失败!", { icon: 5 });
                                        }
                                    });
                                    if (dsSub == null || dsSub.length == 0) {
                                        continue;//如果没有剩余则 æ‰§è¡Œä¸‹ä¸€ä¸ªç”Ÿäº§è®¢å•
                                    }
                                    if (dsSub != null)//不加班排程
                                    {
                                        iRow = i + 1;
                                        //将数据排到网格中
                                        //grdMain.RowCount = grdMain.RowCount + 1;  //  grdmain æ–°å¢žä¸€è¡Œ
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecICMOBillNoCol].Value = sICMOBillNo;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecICMOInterIDCol].Value = lMainID;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecLeftQtyCol].Value = iLeftQty;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecGroupIDCol].Value = lHGroupID;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecGroupNameCol].Value = sGroupName;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterIDCol].Value = lMaterID;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterNameCol].Value = sMaterName;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterNumberCol].Value = sMaterNumber;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterModelCol].Value = sMaterModel;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecPlanEndDateCol].Value = dEndDate;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecPlanQtyCol].Value = sPlanQty;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceIDCol].Value = lSourceID;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceNameCol].Value = sSourceName;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceNumberCol].Value = sSourceNumber;
                                        //grdMain.Rows[grdMain.RowCount - 1].Cells[HSecYXCol].Value = sYX;
                                        //Sc_ICMOSortBillFun.SetInfoToGrid(grdMain, dsSub, null, grdMain.RowCount - 1, ref iLeftQty, sWorkQty, false, oClsGridValues);
                                        SetInfoToGrid(option, dsSub, null, (iRow - 1), iLeftQty, sWorkQty, false, HPlanDay);
                                    }
                                    bFind = true;
                                }
                            }
                        }
                        if (!bFind) {
                            for (var j = 0; j < ds.length; j++) {
                                //判断资源最大剩余工时,是否大于 ç”Ÿäº§å‘¨æœŸ
                                if (parseFloat(ds[j]["最大剩余工时"]) > sLeftProdTimes) {
                                    if (iLeftQty > 0) {
                                        //在本资源上生产
                                        grdMain.RowCount = grdMain.RowCount + 1;
                                        //获取该生产资源的剩余工时进行排程。
                                        lSourceID = ds[j]["HitemID"];
                                        sSourceName = ds[j]["资源名称"];
                                        sSourceNumber = ds[j]["资源代码"];
                                        option.data[i]["HSourceID"] = lSourceID;
                                        option.data[i]["生产资源"] = sSourceName;
                                        option.data[i]["生产资源代码"] = sSourceNumber;
                                        var sql = "exec h_p_Sc_ICMOGetWorkSourceTime " + lSourceID;
                                        $.ajax({
                                            url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                                            type: "GET",
                                            async: false,
                                            data: { "sWhere": sql },
                                            success: function (data1) {
                                                if (data1.count == 1) {
                                                    dsSub = data1.data
                                                } else {
                                                    layer.alert(data1.code + data1.Message, { icon: 5 });
                                                }
                                            }, error: function () {
                                                layer.alert("接口请求失败!", { icon: 5 });
                                            }
                                        });
                                        if (dsSub == null || dsSub.length == 0) {
                                            continue;
                                        }
                                        //if (dsSub != null)//加班排程
                                        //{
                                        //    //将数据排到网格中
                                        //    grdMain.RowCount = grdMain.RowCount + 1;  //  grdmain æ–°å¢žä¸€è¡Œ
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecICMOBillNoCol].Value = sICMOBillNo;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecICMOInterIDCol].Value = lMainID;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecLeftQtyCol].Value = iLeftQty;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecGroupIDCol].Value = lHGroupID;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecGroupNameCol].Value = sGroupName;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterIDCol].Value = lMaterID;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterNameCol].Value = sMaterName;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterNumberCol].Value = sMaterNumber;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterModelCol].Value = sMaterModel;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecPlanEndDateCol].Value = dEndDate;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecPlanQtyCol].Value = sPlanQty;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceIDCol].Value = lSourceID;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceNameCol].Value = sSourceName;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceNumberCol].Value = sSourceNumber;
                                        //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecYXCol].Value = sYX;
                                        //    Sc_ICMOSortBillFun.SetInfoToGrid(grdMain, dsSub, null, grdMain.RowCount - 1, ref iLeftQty, sWorkQty, true, oClsGridValues);
                                        //}
                                    }
                                    bFind = true;
                                }
                            }
                        }
                        if (!bFind) {
                            //如果没有找到合适资源则,直接排最后一个剩余最大的资源。
                            //获取该生产资源的剩余工时进行排程。
                            lSourceID = ds[ds.length - 1]["HitemID"];
                            sSourceName = ds[ds.length - 1]["资源名称"];
                            sSourceNumber = ds[ds.length - 1]["资源代码"];
                            option.data[i]["HSourceID"] = lSourceID;
                            option.data[i]["生产资源"] = sSourceName;
                            option.data[i]["生产资源代码"] = sSourceNumber;
                            //获取该生产资源的剩余工时进行排程。
                            var sql = "exec h_p_Sc_ICMOGetWorkSourceTime " + lSourceID;
                            $.ajax({
                                url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                                type: "GET",
                                async: false,
                                data: { "sWhere": sql },
                                success: function (data1) {
                                    if (data1.count == 1) {
                                        dsSub = data1.data
                                    } else {
                                        layer.alert(data1.code + data1.Message, { icon: 5 });
                                    }
                                }, error: function () {
                                    layer.alert("接口请求失败!", { icon: 5 });
                                }
                            });
                            if (dsSub == null || dsSub.length == 0) {
                                continue;
                            }
                            //if (dsSub != null)//加班排程
                            //{
                            //    //将数据排到网格中
                            //    grdMain.RowCount = grdMain.RowCount + 1;  //  grdmain æ–°å¢žä¸€è¡Œ
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecICMOBillNoCol].Value = sICMOBillNo;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecICMOInterIDCol].Value = lMainID;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecLeftQtyCol].Value = iLeftQty;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecGroupIDCol].Value = lHGroupID;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecGroupNameCol].Value = sGroupName;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterIDCol].Value = lMaterID;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterNameCol].Value = sMaterName;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterNumberCol].Value = sMaterNumber;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecMaterModelCol].Value = sMaterModel;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecPlanEndDateCol].Value = dEndDate;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecPlanQtyCol].Value = sPlanQty;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceIDCol].Value = lSourceID;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceNameCol].Value = sSourceName;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecSourceNumberCol].Value = sSourceNumber;
                            //    grdMain.Rows[grdMain.RowCount - 1].Cells[HSecYXCol].Value = sYX;
                            //    Sc_ICMOSortBillFun.SetInfoToGrid(grdMain, dsSub, null, grdMain.RowCount - 1, ref iLeftQty, sWorkQty, true, oClsGridValues);
                            //}
                        }
                    }
                }
                table.render(option);
                set_AddNew();
            } else {
                layer.msg("数据清空失败!")
            }
            layer.close(ajaxLoad);
        }
        //将数据排程到网格
        function SetInfoToGrid(grd, ds, dsPre, iRow, sLeftQty, sWorkQty, bAddFlag, HPlanDay) {
            var b = false;
            var oSub;
            //循环网格列
            if (bAddFlag) {
                for (var i = 0; i < ds.length; i++) {
                    //找到对应的列
                    for (var j = 22; j < grd.cols[0].length; j++) {
                        if (sLeftQty > 0) {
                            if (ds[i]["日期"] == grd.cols[0][j].field) //表格的标题上 ä¿å­˜äº†æ—¥æœŸï¼›
                            {
                                //如果时间被 ä¸Šé“余量占用 åˆ™ è·³è¿‡
                                b = false;
                                //if (dsPre != null && dsPre.Tables[0].Rows.Count > 0) {
                                //    for (var m = 0; m < dsPre.Tables[0].Rows.Count; m++)
                                //    {
                                //        if (ds[i]["日期"] < DBUtility.ClsPub.isDate(dsPre.Tables[0].Rows[m]["日期"])) {
                                //            b = true;
                                //        }
                                //    }
                                //}
                                if (b == false) {
                                    if (dsPre != null && ds[i]["日期"] == dsPre[0]["日期"]) {
                                        ////HUseTimes ä¸º ä¸Šé“余量后 å‰©ä½™å·¥æ—¶ã€‚
                                        //if (ds[i]["最大剩余工时"] > dsPre[0]["HUseTimes"]) {
                                        //    if (parseFloat(sLeftQty) > parseFloat(sWorkQty * dsPre[0]["HUseTimes"])) {
                                        //        grd.data[iRow][j] = parseFloat(sWorkQty * (dsPre[0]["HUseTimes"]));
                                        //        sLeftQty = sLeftQty - parseFloat(sWorkQty * (dsPre[0]["HUseTimes"]));
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = DBUtility.ClsPub.isSingle(dsPre[0]["HUseTimes"]);
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //    else {
                                        //        grd.data[iRow][j]= sLeftQty;
                                        //        sLeftQty = 0;
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = DBUtility.ClsPub.isSingle(dsPre.Tables[0].Rows[0]["HUseTimes"]);
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //}
                                        //else //卓力不需要考虑加班,下面的这一段不需要
                                        //{
                                        //    if (sLeftQty > sWorkQty * ds[i]["最大剩余工时"]) {
                                        //        grd.data[iRow][j]= parseFloat(sWorkQty * ds[i]["最大剩余工时"]);
                                        //        sLeftQty = sLeftQty - (parseFloat(sWorkQty * ds[i]["最大剩余工时"]));
                                        //        sLeftQty = 0;
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = ds[i]["最大剩余工时"];
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //    else {
                                        //        grd.data[iRow][j]= sLeftQty;
                                        //        sLeftQty = 0;
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = ds[i]["最大剩余工时"];
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //}
                                    }
                                    else {
                                        if (sLeftQty > parseFloat(sWorkQty * ds[i]["最大剩余工时"])) {
                                            grd.data[iRow][grd.cols[0][j + HPlanDay].field] = parseFloat(sWorkQty * ds[i]["最大剩余工时"]);
                                            sLeftQty = sLeftQty - (parseFloat(sWorkQty * ds[i]["最大剩余工时"]));
                                            //oSub = new ClsGridValues();
                                            //oSub.iRow = iRow;
                                            //oSub.iCol = j;
                                            option.data[iRow]["HLeftTimes"] = ds[i]["最大剩余工时"];
                                            break;
                                            //oSub.HLeftTimes = ds[i]["最大剩余工时"];
                                            //oClsGridValues.Add(oSub);
                                        }
                                        else {
                                            grd.data[iRow][grd.cols[0][j + HPlanDay].field] = sLeftQty;
                                            sLeftQty = 0;
                                            //oSub = new ClsGridValues();
                                            //oSub.iRow = iRow;
                                            //oSub.iCol = j;
                                            option.data[iRow]["HLeftTimes"] = ds[i]["最大剩余工时"];
                                            break;
                                            //oSub.HLeftTimes = ds[i]["最大剩余工时"];
                                            //oClsGridValues.Add(oSub);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else {
                for (var i = 0; i < ds.length; i++) {
                    //找到对应的列
                    for (var j = 22; j < grd.cols[0].length; j++) {
                        if (sLeftQty > 0) {
                            if (ds[i]["日期"] == grd.cols[0][j].field) {
                                //如果时间被 ä¸Šé“余量占用 åˆ™ è·³è¿‡
                                b = false;
                                //if (dsPre != null && dsPre.Tables[0].Rows.Count > 0) {
                                //    for (var m = 0; m < dsPre.Tables[0].Rows.Count; m++)
                                //    {
                                //        if (DBUtility.ClsPub.isDate(ds[i]["日期"]) < DBUtility.ClsPub.isDate(dsPre.Tables[0].Rows[m]["日期"])) {
                                //            b = true;
                                //        }
                                //    }
                                //}
                                if (b == false) {
                                    if (dsPre != null && s[i]["日期"] == dsPre[0]["日期"]) {
                                        //if (ds[i]["剩余工时"] > (DBUtility.ClsPub.isSingle(dsPre.Tables[0].Rows[0]["HUseTimes"]))) {
                                        //    if (sLeftQty > parseFloat(sWorkQty * (DBUtility.ClsPub.isSingle(dsPre.Tables[0].Rows[0]["HUseTimes"])))) {
                                        //        grd.data[iRow][j]= parseFloat(sWorkQty * (DBUtility.ClsPub.isSingle(dsPre.Tables[0].Rows[0]["HUseTimes"])));
                                        //        sLeftQty = sLeftQty - parseFloat(sWorkQty * (DBUtility.ClsPub.isSingle(dsPre.Tables[0].Rows[0]["HUseTimes"])));
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = DBUtility.ClsPub.isSingle(dsPre.Tables[0].Rows[0]["HUseTimes"]);
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //    else {
                                        //        grd.data[iRow][j]= sLeftQty;
                                        //        sLeftQty = 0;
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = DBUtility.ClsPub.isSingle(dsPre.Tables[0].Rows[0]["HUseTimes"]);
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //}
                                        //else {
                                        //    if (sLeftQty > sWorkQty * ds[i]["剩余工时"]) {
                                        //        grd.data[iRow][j]= parseFloat(sWorkQty * ds[i]["剩余工时"]);
                                        //        sLeftQty = sLeftQty - (parseFloat(sWorkQty * ds[i]["剩余工时"]));
                                        //        sLeftQty = 0;
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = ds[i]["剩余工时"];
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //    else {
                                        //        grd.data[iRow][j]= sLeftQty;
                                        //        sLeftQty = 0;
                                        //        oSub = new ClsGridValues();
                                        //        oSub.iRow = iRow;
                                        //        oSub.iCol = j;
                                        //        oSub.HLeftTimes = ds[i]["剩余工时"];
                                        //        oClsGridValues.Add(oSub);
                                        //    }
                                        //}
                                    }
                                    else {
                                        if (sLeftQty > parseFloat(sWorkQty * ds[i]["剩余工时"])) {
                                            grd.data[iRow][grd.cols[0][j + HPlanDay].field] = parseFloat(sWorkQty * ds[i]["剩余工时"]);
                                            sLeftQty = sLeftQty - (parseFloat(sWorkQty * ds[i]["剩余工时"]));
                                            //oSub = new ClsGridValues();
                                            //oSub.iRow = iRow;
                                            //oSub.iCol = j;
                                            option.data[iRow]["HLeftTimes"] = ds[i]["最大剩余工时"];
                                            break;
                                            //oSub.HLeftTimes = ds[i]["剩余工时"];
                                            //oClsGridValues.Add(oSub);
                                        }
                                        else {
                                            grd.data[iRow][grd.cols[0][j + HPlanDay].field] = sLeftQty;
                                            sLeftQty = 0;
                                            //oSub = new ClsGridValues();
                                            //oSub.iRow = iRow;
                                            //oSub.iCol = j;
                                            option.data[iRow]["HLeftTimes"] = ds[i]["最大剩余工时"];
                                            break;
                                            //oSub.HLeftTimes = ds[i]["剩余工时"];
                                            //oClsGridValues.Add(oSub);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        //查询生产订单
@@ -1354,7 +1930,7 @@
        }
        //保存
        function set_AddNew(data) {
        function set_AddNew() {
            //删除子表数据 ä¼šå ç”¨æ•°ç»„的位置,需要重新排一下顺序
            var num = [];
@@ -1564,9 +2140,9 @@
                            }
                            //设置内容字体大小
                            if (data1.data[0].HFontSize != 0) {
                                option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                option.cols[0][i + 1]["style"] += ";font-size:" + data1.data[0].HFontSize + "px;";
                            } else {
                                option.cols[0][i + 1]["style"] = "font-size:100%";
                                option.cols[0][i + 1]["style"] += ";font-size:100%";
                            }
                            //设置列宽
                            //if (data1.data[0].HColumnWidth != 0) {
WebTM/views/¼Æ»®¹ÜÀí/¹¤ÒÕ·Ïß/Gy_RoutingBill.html
@@ -532,7 +532,7 @@
                    //, { field: 'HPicNum', title: '图纸编号', edit: 'text' }
                    //, { field: 'HTimeUnit', title: '时间单位', edit: 'text' }
                    //, { field: 'HUnitTime', title: '运行时间', edit: 'text' }
                    //, { field: 'HWorkQty', title: '加工数量', edit: 'text' }//默认
                    , { field: 'HWorkQty', title: '加工数量', edit: 'text' }//默认
                    //, { field: 'HPassRate', title: '良率', edit: 'text' }//默认
                    //, { field: 'HProcID_S', title: '工段', edit: 'text' }
                    ////, { field: 'HCenterID_S', title: '产线中心id', hide: true }//hide: true
WebTM/views/³µ¼ä¹ÜÀí/ίÍ⹤Ðò½ÓÊÕµ¥/Cj_StationEntrustOutBill.html
@@ -367,7 +367,7 @@
                    <!--隐藏字段-->
                    <input type="hidden" name="lngBillKey" id="lngBillKey">
                    <input type="hidden" name="lngBillSubKey" id="lngBillSubKey">
                    <input type="hidden" name="HMaker" id="HMaker"><!--制单人-->
                    <!--<input type="hidden" name="HMaker" id="HMaker">--><!--制单人-->
                    <input type="hidden" name="eventType" id="eventType" value="Add">
                    <input type="hidden" name="HPrice_BHS" id="HPrice_BHS" value="0"><!--不含税单价-->
                    <input type="hidden" name="HMoney_BHS" id="HMoney_BHS" value="0"><!--不含税金额-->
WebTM/views/³µ¼ä¹ÜÀí/±¨±í·ÖÎö/sc_ICOMRKReport.html
@@ -52,7 +52,7 @@
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">单据号</label>
                                    <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="HBillNo" id="HBillNo">
                                    </div>
@@ -342,7 +342,7 @@
                }
                if (HBillNo != "") {
                    sWhere += " and ç”Ÿäº§è®¢å•号='" + HBillNo + "' ";
                    sWhere += " and æµè½¬å¡å·='" + HBillNo + "' ";
                }
                if (HProductName != "") {