WebTM/views/É豸¹ÜÀí/Sb_EquipDotCheckBillEdit.html
@@ -13,14 +13,24 @@
    <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../layuiadmin/PubCustom.js"></script>
    <script src="../../layuiadmin/PageTitle.js"></script>
    <style type="text/css">
        .layui-form-label {
            width: 85px;
            width: 95px;
        }
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
</head>
<body>
    <div id="layout1" class="layui-fluid">
        <div class="layui-row layui-col-space15">
            <div class="layui-col-md12">
@@ -28,13 +38,9 @@
                    <form id="form0" class="layui-form" lay-filter="component-form-group" action="">
                        <div class="layui-card-header">
                            <div class="layui-btn-group">
                                <button type="button" id="add-btn" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="set_SaveBill">保存</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Cancel">退出</button>
                            </div>
                        </div>
                        <div class="layui-card-body">
                            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
@@ -42,14 +48,14 @@
                                <li class="layui-this">基本信息</li>-->
                                <!--<li>其他信息</li>-->
                                <!--</ul>-->
                                <h1 style="text-align:center;"><b>设备点检记录单</b></h1>
                                <h1 style="text-align: center; padding: 10px 0;"><b>设备点检记录单</b></h1>
                                <div class="layui-tab-content">
                                    <div class="layui-tab-item layui-show">
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">单据号</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo">
                                                    <input class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                    <input id="HInterID" name="HInterID" type="hidden" />
                                                    <input id="HMaker" name="HMaker" type="hidden" /><!--制单人-->
                                                </div>
@@ -70,7 +76,7 @@
                                                <label class="layui-form-label">设备<label style="color:red"> * </label></label>
                                                <div class="layui-input-inline">
                                                    <input type="hidden" name="HEquipID" id="HEquipID" class="layui-input" value="" style="float:left;width:150px;">
                                                    <input type="text" name="HEquipName" id="HEquipName" class="layui-input" value="" style="float:left;width:150px;" readonly="readonly">
                                                    <input type="text" name="HEquipName" id="HEquipName" class="layui-input" value="" style="float:left;width:150px;background-color:#efefef4d;" readonly="readonly">
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="ProductModulList" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
@@ -79,9 +85,15 @@
                                        </div>
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">点检计划编号</label>
                                                <label class="layui-form-label">点检计划编号<label style="color:red"></label></label>
                                                <div class="layui-input-inline">
                                                    <input type="text" name="HPlanNo" id="HPlanNo" class="layui-input">
                                                    <input type="hidden" name="HPlanNo" id="HPlanNo" class="layui-input" value="0" style="float:left;width:150px;">
                                                    <input type="hidden" name="HEquipDotCheckPlanEntryID" id="HEquipDotCheckPlanEntryID" class="layui-input" value="0" style="float:left;width:150px;">
                                                    <input type="hidden" name="HEquipDotCheckPlanInterID" id="HEquipDotCheckPlanInterID" class="layui-input" value="0" style="float:left;width:150px;">
                                                    <input type="text" name="HPlanName" id="HPlanName" class="layui-input" value="" style="float:left;width:150px;background-color:#efefef4d;" readonly="readonly">
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="HPlanList" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
@@ -97,6 +109,46 @@
                                                    <input class="layui-input" name="HEndDate" id="HEndDate" autocomplete="off" model="datetime" dateFormat="yyyy-MM-dd" placeholder="yyyy-MM-dd">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">设备点检规程<label style="color:red"></label></label>
                                                <div class="layui-input-inline">
                                                    <input type="hidden" name="HEquipDotCheckRuleInterID" id="HEquipDotCheckRuleInterID" class="layui-input" value="0" style="float:left;width:150px;">
                                                    <input type="text" name="HEquipDotCheckRuleInterNo" id="HEquipDotCheckRuleInterNo" class="layui-input" value="" style="float:left;width:150px;background-color:#efefef4d;" readonly>
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="HEquipDotCheckRuleInterList" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">异常情况记录</label>
                                                <div class="layui-input-inline">
                                                    <input type="text" name="HErrNote" id="HErrNote" class="layui-input">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">重大安全<br />隐患记录</label>
                                                <div class="layui-input-inline" style="margin-top:10px;">
                                                    <input type="text" name="HBigSafeNote" id="HBigSafeNote" class="layui-input">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">点检数据</label>
                                                <div class="layui-input-inline">
                                                    <input type="text" name="HDotCheckNote" id="HDotCheckNote" class="layui-input">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">生产班次</label>
                                                <div class="layui-input-inline">
                                                    <input type="hidden" name="HShiftsID" id="HShiftsID" class="layui-input" value="0" style="float:left;width:150px;">
                                                    <input type="text" name="HShiftsName" id="HShiftsName" class="layui-input" value="" style="float:left;width:150px;background-color:#efefef4d;" readonly="readonly">
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="btnHShifts" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
@@ -109,6 +161,13 @@
                                                <label class="layui-form-label">备注</label>
                                                <div class="layui-input-inline">
                                                    <textarea placeholder="请输入备注" class="layui-textarea" name="HRemark" id="HRemark"></textarea>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">最终结论</label>
                                                <div class="layui-input-inline">
                                                    <input type="radio" name="HLastResult" id="HLastResult" value="OK" title="OK" checked>
                                                    <input type="radio" name="HLastResult" id="HLastResult" value="NG" title="NG">
                                                </div>
                                            </div>
                                        </div>
@@ -138,7 +197,16 @@
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <!--行下拉选择(点检结果)-->
    <script type="text/html" id="HDotCheckResult">
        <select name="HDotCheckResult" lay-filter="HDotCheckResult" id="HDotCheckResult{{d.LAY_TABLE_INDEX+1}}">
            <!--<option value="">请选择</option>-->
            <option value="Y" selected>Y</option>
            <option value="X">X</option>
        </select>
    </script>
    <script>
        var OptionData = [];
        //获取参数
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
@@ -171,6 +239,14 @@
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "3903";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
            //初始化表单插件
            set_InitFrom();
@@ -195,7 +271,7 @@
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                var NewRow = { "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRemark": "" };
                var NewRow = { "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": sessionStorage["HEmpID"], "HManagerCode": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HRemark": "", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "","HDotCheckResult":"Y"};
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine': btnAddLine(NewRow);
@@ -217,13 +293,13 @@
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '车间列表',
                    title: '设备列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../PublicPage/EqpInformation.html', 'yes'],
                    btn: ['确定', '取消']
                    maxmin: true
                    , content: ['../设备管理/设备档案/Gy_EquipFileMainList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -231,9 +307,9 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HEquipName").val(checkStatus.data[0].HName);
                        $("#HEquipID").val(checkStatus.data[0].HInterID);
                        get_MaintainItem();
                        $("#HEquipName").val(checkStatus.data[0].设备名称);
                        $("#HEquipID").val(checkStatus.data[0].hmainid);
                        get_DocCheckItem();
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
@@ -246,15 +322,271 @@
                    }
                });
            });
            function get_MaintainItem() {
            //表头信息生产班次弹窗
            form.on('submit(btnHShifts)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '生产班次列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true
                    , content: ['../基础资料/生产基础资料/Gy_ShiftsList.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('请选择数据');
                        }
                        $("#HShiftsID").val(checkStatus.data[0].HItemID);
                        $("#HShiftsName").val(checkStatus.data[0].班次名称);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //获取设备点检规程
            function get_DocCheckItem() {
                $.ajax({
                    url: GetWEBURL() + "/Web/GetDotCheckRuleItemByEquipProjectID",
                    type: "GET",
                    data: { "EquipProjectID": $("#HEquipID").val() },
                    success: function (result) {
                        if (result != null) {
                            option.data = result.data;
                            table.render(option);
                            if (result.count == 1) {
                                var DJData = result;//
                                var rowdate1 = layui.table.cache["mainTable"];
                                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": " ", "HDotCheckItem": " ", "HDotCheckPart": " ", "HClaim": " ", "HManagerID": 0, "HManagerCode": " ", "HManagerName": " ", "HRemark": " ", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y"}];
                                table.render(option);
                                $("#HEquipDotCheckRuleInterID").val(DJData.data[0].HInterID);
                                $("#HEquipDotCheckRuleInterNo").val(DJData.data[0].HBillNo);
                                if (DJData.data.length != 0)  //表体数据为空时
                                {
                                    buttonArr = [];//清空数组
                                    for (var i = 0; i < DJData.data.length; i++) {
                                        var checkrow = {
                                            "HDotCheckItemID": DJData.data[i].HDotCheckItemID, "HDotCheckCode": DJData.data[i].HDotCheckCode, "HDotCheckItem": DJData.data[i].HDotCheckItem,
                                            "HDotCheckPart": DJData.data[i].HDotCheckPart, "HManagerID": DJData.data[i].HManagerID, "HManagerCode": DJData.data[i].HManagerCode,
                                            "HManagerName": DJData.data[i].HManagerName, "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y"
                                        };
                                        buttonArr.push(checkrow);  //将之前的数据存储
                                    }
                                    option.data = buttonArr;
                                    table.render(option);
                                    //table.reload("mainTable", {
                                    //    data: buttonArr    //将数据重新载入表格
                                    //})
                                }
                            }
                            else {
                                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRemark": "", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y" }];
                                table.render(option);
                                //layer.alert("该设备暂无默认点检记录", { icon: 5 });
                            }
                        }
                    }
                })
            }
            //表头信息设备点检规程
            form.on('submit(HEquipDotCheckRuleInterList)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '设备点检规程列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../设备管理/设备规程单/Sb_EquipDotCheckRuleList.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('请选择数据');
                        }
                        $("#HEquipDotCheckRuleInterNo").val(checkStatus.data[0].单据号);
                        $("#HEquipDotCheckRuleInterID").val(checkStatus.data[0].hmainid);
                        get_DocCheckItem2();
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //行选择处理(点检结果)
            form.on('select(HDotCheckResult)', function (data) {
                //获取下拉框选中的值
                var elem = data.othis.parents('tr');
                var dataindex = elem.attr("data-index");
                $.each(option.data, function (index, value) {
                    if (value.LAY_TABLE_INDEX == dataindex) {
                        value.HDotCheckResult = data.value;//把选中下拉框id值赋值给表格缓存
                    }
                });
                //for (var i = 1; i <= option.data.length; i++) {
                //    $('#HDotCheckResult' + i + '').find("option[value='" + option.data[i - 1].HDotCheckResult + "']").attr("selected", true);
                //}
                //form.render('select');
                console.log(table.cache['mainTable']);
                var HQty = 0;//表体行不合格数量
                for (let i = 0; i < table.cache['mainTable'].length; i++) {
                    if (table.cache['mainTable'][i].HDotCheckResult == "X") {
                        HQty++;
                    }
                }
                if (HQty > 0) {
                    document.querySelectorAll("[name='HLastResult']")[0].removeAttribute('checked'); //删除选择属性
                    $("input:radio[name=HLastResult][value=" + "NG" + "]").attr("checked", "true"); //添加选择属性
                } else {
                    document.querySelectorAll("[name='HLastResult']")[1].removeAttribute('checked'); //删除选择属性
                    $("input:radio[name=HLastResult][value=" + "OK" + "]").attr("checked", "true"); //添加选择属性
                }
                form.render('radio');
            });
            window.get_DocCheckItem2 = function () {
                $.ajax({
                    url: GetWEBURL() + "/Web/GetDotCheckRuleItemByDotCheckRuleID",
                    type: "GET",
                    data: { "HDotCheckRuleInterID": $("#HEquipDotCheckRuleInterID").val() },
                    success: function (result) {
                        if (result != null) {
                            if (result.count == 1) {
                                var DJData = result;//
                                var rowdate1 = layui.table.cache["mainTable"];
                                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": " ", "HDotCheckItem": " ", "HDotCheckPart": " ", "HClaim": " ", "HManagerID": 0, "HManagerCode": " ", "HManagerName": " ", "HRemark": " ", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y"}];
                                table.render(option);
                                if (DJData.data.length != 0)  //表体数据为空时
                                {
                                    buttonArr = [];//清空数组
                                    for (var i = 0; i < DJData.data.length; i++) {
                                        var checkrow = {
                                            "HDotCheckItemID": DJData.data[i].HDotCheckItemID, "HDotCheckCode": DJData.data[i].HDotCheckCode, "HDotCheckItem": DJData.data[i].HDotCheckItem,
                                            "HDotCheckPart": DJData.data[i].HDotCheckPart, "HManagerID": DJData.data[i].HManagerID, "HManagerCode": DJData.data[i].HManagerCode,
                                            "HManagerName": DJData.data[i].HManagerName, "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y"
                                        };
                                        buttonArr.push(checkrow);  //将之前的数据存储
                                    }
                                    option.data = buttonArr;
                                    table.render(option);
                                    //table.reload("mainTable", {
                                    //    data: buttonArr    //将数据重新载入表格
                                    //})
                                }
                            }
                            else {
                                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRemark": "", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y"}];
                                table.render(option);
                                //layer.alert("该设备暂无默认点检记录", { icon: 5 });
                            }
                        }
                    }
                })
            }
            //表头信息点检计划源单弹窗
            form.on('submit(HPlanList)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '点检计划源单列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../设备管理/Sb_EquipDotCheckPlanBillList.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 != 1) {
                            return layer.msg('请选择一条数据');
                        }
                        $("#HPlanName").val(checkStatus.data[0].单据号);
                        $("#HPlanNo").val(checkStatus.data[0].单据号);
                        $("#HEquipDotCheckPlanInterID").val(checkStatus.data[0].hmainid);
                        //$("#HEquipName").val(checkStatus.data[0].设备名称);
                        //$("#HEquipID").val(checkStatus.data[0].设备ID);
                        $("#HEquipDotCheckRuleInterID").val(checkStatus.data[0].HMouldDotCheckRuleID);
                        $("#HEquipDotCheckRuleInterNo").val(checkStatus.data[0].设备点检规程);
                        layer.close(index);  //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        get_DocCheckItem3();
                    }
                });
            });
            function get_DocCheckItem3() {
                var HPlanID = $("#HPlanNo").val() //点检计划ID
                var HDate = $("#HDate").val(); //当天日期
                $.ajax({
                    url: GetWEBURL() + "/Sb_EquipDotCheckPlanBill/Sb_EquipDotCheckPlanBill_PlanList",
                    type: "GET",
                    data: { "HInterID": HPlanID, "HDate": HDate },
                    success: function (result) {
                        if (result != null) {
                            if (result.count == 1) {
                                var DJData = result.data;//
                                var rowdate1 = layui.table.cache["mainTable"];
                                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": " ", "HDotCheckItem": " ", "HDotCheckPart": " ", "HClaim": " ", "HManagerID": 0, "HManagerCode": " ", "HManagerName": " ", "HRemark": " ", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y" }];
                                table.render(option);
                                if (DJData.length != 0)  //表体数据为空时
                                {
                                    $("#HEquipDotCheckPlanEntryID").val(DJData[0].HPlanEntryID);
                                    buttonArr = [];//清空数组
                                    for (var i = 0; i < DJData.length; i++) {
                                        var checkrow = {
                                            "HDotCheckItemID": DJData[i].HDotCheckID, "HDotCheckCode": DJData[i].点检项目代码, "HDotCheckItem": DJData[i].点检项目,
                                            "HDotCheckPart": DJData[i].点检部位, "HClaim": DJData[i].具体要求, "HManagerID": DJData[i].HEmployeeID,
                                            "HManagerCode": DJData[i].负责人代码, "HManagerName": DJData[i].负责人名称, "HRemark": DJData[i].HRemark,
                                            "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y"
                                        };
                                        buttonArr.push(checkrow);  //将之前的数据存储
                                    }
                                    option.data = buttonArr;
                                    table.render(option);
                                    //table.reload("mainTable", {
                                    //    data: buttonArr    //将数据重新载入表格
                                    //})
                                } else {
                                    layer.alert("点前时间段暂无需要点检的规划", { icon: 5 });
                                }
                            }
                            else {
                                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRemark": "", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y"}];
                                table.render(option);
                                //layer.alert("该设备暂无默认点检记录", { icon: 5 });
                            }
                        }
                    }
                })
@@ -266,7 +598,8 @@
                data.field.HMaker = sessionStorage["HUserName"];//制单人
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                var sMainSub = sMainStr + ';' + sSubStr;
                var sMainSub = sMainStr + ';' + sSubStr + ";" + sessionStorage["HUserName"];
                console.log(sSubStr);
                if (AllowLoadData(sSubStr)) {
                    $.ajax(
                        {
@@ -284,9 +617,7 @@
                                    });
                                }
                                else {
                                    f_alert(data.Message);
                                    console.log("Reason" + sMainStr + "sub:" + JSON.stringify(layui.table.cache.mainTable));
                                }
                                layer.closeAll("loading");
                            },
@@ -331,11 +662,16 @@
            function set_InitGrid() {
                //表头
                columns = [
                    { type: 'checkbox', fixed: 'left' }
                    { type: 'checkbox', fixed: 'left', totalRowText: '合计行' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe" }
                    , { field: 'HDotCheckItemID', title: '点检项目ID', edit: 'text', hide: true }
                    , { field: 'HDotCheckCode', title: '点检项目代码', edit: 'text', event: "HDotCheckCode" }
                    , { field: 'HDotCheckItem', title: '点检项目', edit: 'text', event: "" }
                    , { field: 'HDotCheckItemClassID', title: '点检项目分类ID', edit: 'text', hide: true }
                    , { field: 'HDotCheckItemClassName', title: '点检项目分类', edit: 'text', event: 'HDotCheckItemClassName' }
                    , { field: 'HDotCheckItemMethodID', title: '点检方法ID', edit: 'text', hide: true }
                    , { field: 'HDotCheckItemMethodName', title: '点检方法', edit: 'text', event: 'HDotCheckItemMethodName' }
                    , { field: 'HDotCheckResult', title: '点检结果', templet: '#HDotCheckResult', event: 'HDotCheckResult' }
                    , { field: 'HDotCheckPart', title: '点检部位', edit: 'text', event: "" }
                    , { field: 'HClaim', title: '具体要求', edit: 'text' }
                    , { field: 'HManagerID', title: '负责人代码', edit: 'text', hide: true }
@@ -349,6 +685,8 @@
                    , elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    , limit: 100
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 500
                    , cols: [columns]
@@ -357,19 +695,19 @@
                    }
                };
            }
            //增加一行事件
            function btnAddLine(NewRow) {
                var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                buttonArr = [];//清空数组
                for (var i = 0; i < tableBak.length; i++) {
                    buttonArr.push(tableBak[i]);  //将之前的数据存储
                }
                buttonArr.push(NewRow);  //在尾部加一行
                table.reload("mainTable", {
                    data: buttonArr    //将数据重新载入表格
                })
            }
                table.cache["mainTable"].push(NewRow);
                option.data = table.cache["mainTable"];
                table.render(option);
                for (var i = 1; i <= option.data.length; i++) {
                    $('#HDotCheckResult' + i + '').find("option[value='" + option.data[i - 1].HDotCheckResult + "']").attr("selected", true);
                }
                form.render('select');
            }
            //表格复制一行事件
            function btnCopyLine(data) {
                var copydata = JSON.stringify(data);
@@ -385,6 +723,11 @@
                    table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                    option.data = table.cache["mainTable"];//将数据绑定到data上
                    table.render(option);//将数据渲染到表格上
                    for (var i = 1; i <= option.data.length; i++) {
                        $('#HDotCheckResult' + i + '').find("option[value='" + option.data[i - 1].HDotCheckResult + "']").attr("selected", true);
                    }
                    form.render('select');
                }
            }
            // è¡¨æ ¼è¡Œå†…事件删除
@@ -417,12 +760,12 @@
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '物料列表',
                                title: '点检项目列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true,
                                content: ['../PublicPage/CheckItemInformation.html', 'yes'],
                                content: ['../基础资料/基础资料/Gy_DotCheckList.html', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
@@ -431,19 +774,56 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HDotCheckItemID: checkStatus.data[0].HItemID,
                                        HDotCheckCode: checkStatus.data[0].HNumber,
                                        HDotCheckItem: checkStatus.data[0].HName
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                    if (checkStatus.data.length === 1) {
                                        //同步更新表格和缓存对应的值
                                        obj.update({
                                            HDotCheckItemID: checkStatus.data[0].HItemID,
                                            HDotCheckCode: checkStatus.data[0].点检项目代码,
                                            HDotCheckItem: checkStatus.data[0].点检项目名称,
                                            HDotCheckItemClassID: checkStatus.data[0].HDotCheckItemClassID,
                                            HDotCheckItemClassName: checkStatus.data[0].点检项目分类名称,
                                        });
                                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                    } else {
                                        //(多选行)
                                        //将原有表体数据写入数组
                                        var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                                        buttonArr = [];//清空数组
                                        for (var i = 0; i < tableBak.length; i++) {
                                            if (tableBak[i]["HDotCheckItemID"] != 0 && tableBak[i]["HDotCheckItemID"] != "" && tableBak[i]["HDotCheckItemID"] != undefined && tableBak[i]["HDotCheckItemID"] != null) {
                                                buttonArr.push(tableBak[i]);  //如果关键字段不为空,则将之前的数据存储
                                            }
                                        }
                                        //将批量选择的数据写入数组(多选行)
                                        for (var i = 0; i < checkStatus.data.length; i++) {
                                            buttonArr.push({ "HDotCheckItemID": checkStatus.data[i].HItemID, "HDotCheckCode": checkStatus.data[i].点检项目代码, "HDotCheckItem": checkStatus.data[i].点检项目名称, "HDotCheckPart": "", "HClaim": "", "HManagerID": sessionStorage["HEmpID"], "HManagerCode": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HRemark": "", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y" });
                                        }
                                        option.data = buttonArr;
                                        table.render(option);
                                        //table.reload("mainTable", {
                                        //    data: buttonArr    //将数据重新载入表格
                                        //})
                                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                    }
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            HDotCheckItemID: OptionData[0].HItemID,
                                            HDotCheckCode: OptionData[0].点检项目代码,
                                            HDotCheckItem: OptionData[0].点检项目名称,
                                            HDotCheckItemClassID: OptionData[0].HDotCheckItemClassID,
                                            HDotCheckItemClassName: OptionData[0].点检项目分类名称,
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
@@ -453,13 +833,13 @@
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '物料列表',
                                title: '负责人列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true,
                                content: ['../PublicPage/UserInformation.html', 'yes'],
                                btn: ['确定', '取消']
                                maxmin: true
                                , content: ['../基础资料/公用基础资料/Gy_EmployeeList.html?type=HManager', 'yes']
                                , btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -470,8 +850,8 @@
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HManagerID: checkStatus.data[0].HItemID,
                                        HManagerCode: checkStatus.data[0].HNumber,
                                        HManagerName: checkStatus.data[0].HName
                                        HManagerCode: checkStatus.data[0].职员代码,
                                        HManagerName: checkStatus.data[0].职员名称
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
@@ -480,15 +860,92 @@
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            HManagerID: OptionData[0].HItemID,
                                            HManagerCode: OptionData[0].职员代码,
                                            HManagerName: OptionData[0].职员名称
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
                        if (obj.event === 'HDotCheckItemClassName')  //点检项目分类
                        {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '点检项目分类列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true
                                , content: ['../基础资料/基础资料/Gy_DotCheckItemClassList.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('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HDotCheckItemClassID: checkStatus.data[0].HItemID,
                                        HDotCheckItemClassName: checkStatus.data[0].点检项目分类名称
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                }
                            });
                        }
                        if (obj.event === 'HDotCheckItemMethodName')  //点检方法
                        {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '点检方法列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true
                                , content: ['../基础资料/基础资料/Gy_DotCheckItemMethodList.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('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HDotCheckItemMethodID: checkStatus.data[0].HItemID,
                                        HDotCheckItemMethodName: checkStatus.data[0].点检方法名称
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                }
                            });
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //获取最大单据号及默认值赋值
            function get_MAXNum() {
                //获取最大单据号 new
@@ -512,14 +969,15 @@
            function set_AddFNew() {
                //获取最大单据号
                get_MAXNum();
                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRemark": "" }];
                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": sessionStorage["HEmpID"], "HManagerCode": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HRemark": "", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y" }];
                table.render(option);
            }
            //编辑获取表头、获取表体
            function set_EditFromGrid(linterid) {
                set_EditForm(linterid);  //编辑获取表头
                set_EditGrid(linterid);  //编辑获取表体
                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRemark": "" }];
                option.data = [{ "HDotCheckItemID": 0, "HDotCheckCode": "", "HDotCheckItem": "", "HDotCheckPart": "", "HClaim": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRemark": "", "HDotCheckItemClassID": 0, "HDotCheckItemClassName": "", "HDotCheckItemMethodID": 0, "HDotCheckItemMethodName": "", "HDotCheckResult": "Y" }];
                table.render(option);
            }
            //编辑获取表头
@@ -543,8 +1001,26 @@
                                , "HBeginDate": data.开始日期             // å¼€å§‹æ—¥æœŸ
                                , "HEndDate": data.结束日期               // ç»“束日期
                                , "HPlanNo": data.点检计划编号            //点检计划编号
                                , "HPlanName": data.点检计划            //点检计划编号
                                , "HRemark": data.表头备注                //备注
                                , "HEquipDotCheckRuleInterID": data.设备点检规程ID // è®¾å¤‡ç‚¹æ£€è§„程ID
                                , "HEquipDotCheckRuleInterNo": data.设备点检规程 // è®¾å¤‡ç‚¹æ£€è§„程
                                , "HErrNote": data.异常情况记录 //异常情况记录
                                , "HBigSafeNote": data.重大安全隐患记录 //重大安全隐患记录
                                , "HDotCheckNote": data.点检数据 //点检数据
                                , "HShiftsID": data.HShiftsID //
                                , "HShiftsName": data.班次名称 //班次名称
                                //, "HLastResult": data.最终结论 == "合格" ? "OK" : "NG" //最终结论
                            });
                            if (data.最终结论 == "不合格") {
                                document.querySelectorAll("[name='HLastResult']")[0].removeAttribute('checked'); //删除选择属性
                                $("input:radio[name=HLastResult][value=" + "NG" + "]").attr("checked", "true"); //添加选择属性
                            } else {
                                document.querySelectorAll("[name='HLastResult']")[1].removeAttribute('checked'); //删除选择属性
                                $("input:radio[name=HLastResult][value=" + "OK" + "]").attr("checked", "true"); //添加选择属性
                            }
                            form.render('radio');
                        } else {
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
@@ -562,12 +1038,21 @@
                    url: GetWEBURL() + 'Sb_EquipDotCheckBill/Sb_EquipDotCheckBillListProjectDetai',
                    type: "GET",
                    data: { "sqlWhere": "and hmainid=" + linterid },
                    success: function (result) {
                        console.log(result);
                    success: function (result) {
                        if (result.count == 1) {
                            option.data = result.data;
                            table.render(option);
                            var data = result.data;
                            var subarr = [];
                            for (var i = 0; i < data.length; i++) {
                                subarr.push({ "HDotCheckItemID": data[i].点检项目ID, "HDotCheckCode": data[i].点检项目代码, "HDotCheckItem": data[i].点检项目, "HDotCheckPart": data[i].点检部位, "HClaim": data[i].具体要求, "HManagerID": data[i].负责人ID, "HManagerCode": data[i].负责人编码, "HManagerName": data[i].负责人, "HRemark": data[i].表体备注, "HDotCheckItemClassID": data[i].HDotCheckItemClassID, "HDotCheckItemClassName": data[i].点检项目分类名称, "HDotCheckItemMethodID": data[i].HDotCheckItemMethodID, "HDotCheckItemMethodName": data[i].点检方法名称, "HDotCheckResult": data[i].点检结果 == "合格" ? 'Y' : 'X' });
                            }
                            option.data = subarr;
                            table.render(option);
                            for (let j = 0; j < data.length; j++) {
                                $("#HDotCheckResult" + (j + 1)).val(data[j].点检结果 == "合格" ? 'Y' : 'X')
                            }
                            form.render('select');
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
@@ -595,6 +1080,16 @@
                    layer.msg("设备没有选择", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                //点检计划没有选择
                //if ($("#HPlanNo").val() == '') {
                //    layer.msg("点检计划没有选择", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //点检规程没有选择
                //if ($("#HEquipDotCheckRuleInterID").val() == '') {
                //    layer.msg("点检规程没有选择", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //判断物料明细项
                if (typeof (sSubStr) == "undefined" || sSubStr == "" || sSubStr == "[]") {
                    layer.msg("没有物料明细记录", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
@@ -620,9 +1115,34 @@
                    return true;
                }
            }
            //错误信息
            function f_alert(sMsg) {
                layer.alert(sMsg, { icon: 5 });
            }
            //#endregion
        });
        //设备
        function GetEquipFileValue(obj) {
            $("#HEquipName").val(obj[0].设备名称);
            $("#HEquipID").val(obj[0].hmainid);
        }
        //点检规程
        function GetSb_EquipDotCheckRuleListValue(obj) {
            $("#HEquipDotCheckRuleInterNo").val(obj.单据号);
            $("#HEquipDotCheckRuleInterID").val(obj.hmainid);
            get_DocCheckItem2();
        }
        //点检项目
        function GetDotCheckListValue(obj) {
            OptionData[0] = obj;
        }
        //责任人
        function GetHManagerValue(obj) {
            OptionData = obj;
        }
    </script>
</body>
</html>