1
duhe
2024-08-15 40cd70d9a9d13001c1b6c2269334e8a363c562c3
WebTM/views/É豸¹ÜÀí/Sb_Add_EqpMaintenanceBillList.html
@@ -8,6 +8,7 @@
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
    <script src="../../layuiadmin/PageTitle.js"></script>
    <style type="text/css">
        .layui-form-label {
            width: 95px;
@@ -37,7 +38,7 @@
                                <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">
@@ -112,7 +113,7 @@
                                                <label class="layui-form-label">维修项目<label style="color:red"> * </label></label>
                                                <div class="layui-input-inline">
                                                    <input type="text" name="HRepairName" id="HRepairName" class="layui-input" value="" style="float:left;width:150px;">
                                                    <input type="hidden" name="HRepairID" id="HRepairID" class="layui-input" value="" style="float:left;width:150px;">
                                                    <input type="hidden" name="HRepairID" id="HRepairID" class="layui-input" value="0" style="float:left;width:150px;">
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="RepairItemList" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
@@ -157,6 +158,7 @@
                                                    <select name="HMainSourceBillType" lay-filter="HMainSourceBillType" id="HMainSourceBillType">
                                                        <option value="设备维修登记单" selected="selected">设备维修登记单</option>
                                                        <option value="手工录入">手工录入</option>
                                                        <option value="设备维修派工单">设备维修派工单</option>
                                                    </select>
                                                </div>
                                            </div>
@@ -197,14 +199,38 @@
                            </div>
                        </div>
                        <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                        <div class="layui-tab layui-tab-card" lay-filter="TabTest">
                            <ul class="layui-tab-title">
                                <li class="layui-this">维修信息</li>
                                <li>配件信息</li>
                            </ul>
                            <div class="layui-tab-content">
                                <div class="layui-tab-item layui-show">
                                    <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                                </div>
                                <div class="layui-tab-item">
                                    <table class="layui-hide" id="mainTable1" lay-filter="mainTable1"></table>
                                </div>
                            </div>
                        </div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            </div>
                        </script>
                        <script type="text/html" id="toolbarDemo1">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine1"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine1"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            </div>
                        </script>
                        <script type="text/html" id="xuhao">
                            {{d.LAY_TABLE_INDEX+1}}
                        </script>
                        <script type="text/html" id="xuhao1">
                            {{d.LAY_TABLE_INDEX+1}}
                        </script>
                    </form>
@@ -216,12 +242,17 @@
        <!--<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="barDemo1">
        <!--<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 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>
    <script>
        var OptionData = [];
        //获取参数
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
@@ -246,18 +277,35 @@
                , laydate = layui.laydate
                , element = layui.element;
            var option;
            var option;//维修信息
            var option1 = [];//配件
            var sBillType = "3910";
            //var TabRow = { "HRepairID1": 0, "HRepairCode": "", "HRepairName": "", "HManagerID1": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": "" };
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "3910";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
            //初始化表单插件
            set_InitFrom();
            //初始化表格
            set_InitGrid();
            set_InitGrid_pj();
            //判断操作类型
            if (OperationType == 1) {//无源单
                $("#HEmpID").val(sessionStorage["HEmpID"]); //根据登录用户带出维修人ID
                $("#HEmpName").val(sessionStorage["HEmpName"]); //根据登录用户带出维修人
                $("#HDeptID").val(sessionStorage["HDeptID"]); //根据登录用户带出部门ID
                $("#HDeptName").val(sessionStorage["HDept"]); //根据登录用户带出部门
                $("#HManagerID").val(sessionStorage["HEmpID"]); //根据登录用户带出负责人ID
                $("#HManagerName").val(sessionStorage["HEmpName"]); //根据登录用户带出负责人
                set_AddFNew();
            }
            else if (OperationType == 3) {//编辑
@@ -275,12 +323,12 @@
                form.render('select');
                switch (Sctag) {
                    //无源单新增
                    case '1':
                    case '手工录入':
                        $('#HMainSourceBillNo').attr("disabled", false);
                        $('#XDHList').addClass("layui-btn-disabled").attr("disabled", true);
                        break;
                    //有源单新增  Â 
                    case '2':
                    default:
                        $('#HMainSourceBillNo').attr("disabled", true);
                        $('#XDHList').removeClass("layui-btn-disabled").attr("disabled", false);
                        break;
@@ -295,7 +343,7 @@
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var NewRow = { "HRepairID1": 0, "HRepairCode": "", "HRepairName": "", "HManagerID1": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": "" };
                var NewRow = { "HRepairID": 0, "HRepairCode": "", "HRepairName": "", "HManagerID": sessionStorage["HEmpID"], "HManagerCode": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HRepairExplanation": "", "HRemark": ""/*, "HSourceInterID": 0, "HSourceEntryID": 0, "HSourceBillNo": " ", "HSourceBillType": " " */ };
                switch (obj.event) {
                    //增加一行
                    case 'btn-AddLine': set_AddLine(NewRow);
@@ -305,11 +353,32 @@
                        break;
                }
            });
            //头工具栏事件
            table.on('toolbar(mainTable1)', function (obj) {
                var checkStatus = table.checkStatus('mainTable1')
                    , data = checkStatus.data;
                var NewRow = { "HMaterID": 0, "HMaterNumber": "", "HMaterName": "", "HUnitID": 0, "HUnitNumber": "", "HUnitName": "", "HManagerID": sessionStorage["HEmpID"], "HManagerNumber": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HQty": "0", "HRemark": "" };
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine1': btnAddLine1(NewRow);
                        break;
                    //复制一行
                    case 'btn-CopyLine1': btnCopyLine1(data);
                        break;
                }
            });
            //行内事件
            //行内事件 ç»´ä¿®
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //行内事件 é…ä»¶
            table.on('tool(mainTable1)', function (obj) {
                set_GridDelete1(obj);   //行内删除
                set_GridCellCheck1(obj); //行内快捷键筛选
            });
@@ -324,9 +393,9 @@
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../PublicPage/UserInformation.html', 'yes'],
                    btn: ['确定', '取消']
                    maxmin: true
                    , content: ['../基础资料/公用基础资料/Gy_EmployeeList.html?type=HEmp', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
@@ -335,7 +404,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HEmpName").val(checkStatus.data[0].HName);
                        $("#HEmpName").val(checkStatus.data[0].职员名称);
                        $("#HEmpID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -362,9 +431,9 @@
                    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) {
                        //按钮【按钮一】的回调
@@ -373,8 +442,8 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HEquipName").val(checkStatus.data[0].HName);
                        $("#HEquipID").val(checkStatus.data[0].HItemID);
                        $("#HEquipName").val(checkStatus.data[0].设备名称);
                        $("#HEquipID").val(checkStatus.data[0].hmainid);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
@@ -400,9 +469,9 @@
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../PublicPage/UserInformation.html', 'yes'],
                    btn: ['确定', '取消']
                    maxmin: true
                    , content: ['../基础资料/公用基础资料/Gy_EmployeeList.html?type=HManager', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
@@ -411,7 +480,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HManagerName").val(checkStatus.data[0].HName);
                        $("#HManagerName").val(checkStatus.data[0].职员名称);
                        $("#HManagerID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -438,9 +507,9 @@
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../PublicPage/RepairItemInformation.html', 'yes'],
                    btn: ['确定', '取消']
                    maxmin: true
                    , content: ['../基础资料/基础资料/Gy_RepairList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
@@ -449,8 +518,8 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HRepairName").val(checkStatus.data[0].HName);
                        $("#HRepairID").val(checkStatus.data[0].HItemID);
                        $("#HRepairName").val(checkStatus.data[0].维修项目);
                        $("#HRepairID").val(checkStatus.data[0].hitemid);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
@@ -476,9 +545,9 @@
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../PublicPage/DeptInformation.html', 'yes'],
                    btn: ['确定', '取消']
                    maxmin: true
                    , content: ['../基础资料/公用基础资料/Gy_DepartmentList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
@@ -487,7 +556,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HDeptName").val(checkStatus.data[0].HName);
                        $("#HDeptName").val(checkStatus.data[0].部门名称);
                        $("#HDeptID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -503,50 +572,144 @@
                    }
                });
            });
            //#region è¡¨å¤´ä¿¡æ¯é€‰æ‹©å•据弹窗
            form.on('submit(XDHList)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '设备维修登记单',
                    shift: 2,
                    area: ['90%', '90%'],
                    content: ['../设备管理/Sb_EqpConkBookBillList.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('请选择单据数据');
                        }
                        $("#HMainSourceBillNo").val(checkStatus.data[0].单据号);
                        $("#HMainSourceInterID").val(checkStatus.data[0].hmainid);
                        $("#HMainSourceEntryID").val(checkStatus.data[0].hsubid);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                        //layer.full(index);
                    }
                });
            //表头信息选择单据弹窗
            form.on('submit(XDHList)', function () {
                if ($("#HMainSourceBillType").val() == "设备维修登记单") {
                    //页面层-自定义
                    layer.open({
                        type: 2,
                        skin: 'layui-layer-rim', //加上边框
                        title: '设备故障登记单',
                        shift: 2,
                        area: ['90%', '90%'],
                        content: ['../设备管理/Sb_EqpConkBookBillList.html?type=2', 'yes'],
                        btn: ['确定', '取消']
                        , btn1: function (index, layero) {
                            //var NewRow = { "HRepairID": 0, "HRepairCode": "", "HRepairName": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": "", "HSourceInterID": 0, "HSourceEntryID": 0, "HSourceBillNo": " ", "HSourceBillType": " " };
                            ////按钮【按钮一】的回调
                            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('请选择单据数据');
                            }
                            $("#HMainSourceBillNo").val(checkStatus.data[0].单据号);
                            $("#HMainSourceInterID").val(checkStatus.data[0].hmainid);
                            $("#HMainSourceEntryID").val(checkStatus.data[0].hsubid);
                            //回填设备信息
                            $("#HEquipName").val(checkStatus.data[0].设备名称);
                            $("#HEquipID").val(checkStatus.data[0].HEquipID);
                            ////按选单号加载表体数据
                            //$.ajax({
                            //    url: GetWEBURL() + 'Sb_EqpRepairWorkBill/Sb_EqpRepairWorkBillSubByHMainSourceBillNo',
                            //    type: "GET",
                            //    data: { "HMainSourceBillNo": checkStatus.data[0].单据号 },
                            //    success: function (result) {
                            //        if (result.count == 1) {
                            //            var EndData = result.data;
                            //            var rowdate = layui.table.cache["mainTable"];
                            //            if (rowdate.length == 0)  //表体数据为空时
                            //            {
                            //                buttonArr = [];//清空数组
                            //                for (var i = 0; i < checkStatus.data.length; i++) {
                            //                    var checkrow = { "HRepairID": 0, "HRepairCode": "", "HRepairName": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": "", "HSourceInterID": EndData[i].hmainid, "HSourceEntryID": EndData[i].hsubid, "HSourceBillNo": EndData[i].单据号, "HSourceBillType": EndData[i].HBillType };
                            //                    buttonArr.push(checkrow);  //将之前的数据存储
                            //                }
                            //                table.reload("mainTable", {
                            //                    data: buttonArr    //将数据重新载入表格
                            //                })
                            //            }
                            //            else {
                            //                buttonArr = [];//清空数组
                            //                for (var i = 0; i < EndData.length; i++) {
                            //                    var checkrow = {
                            //                        "HRepairID": rowdate[i].HRepairID, "HRepairCode": rowdate[i].HRepairCode, "HRepairName": rowdate[i].HRepairName,
                            //                        "HRepairExplanation": rowdate[i].HRepairExplanation, "HManagerID": rowdate[i].HManagerID, "HManagerCode": rowdate[i].HManagerCode,
                            //                        "HManagerName": rowdate[i].HManagerName, "HMoney": rowdate[i].HMoney, "HRemark": rowdate[i].HRemark,
                            //                        "HSourceInterID": EndData[i].hmainid, "HSourceEntryID": EndData[i].hsubid,
                            //                        "HSourceBillNo": EndData[i].单据号, "HSourceBillType": EndData[i].HBillType
                            //                    };
                            //                    buttonArr.push(checkrow);  //将之前的数据存储
                            //                }
                            //                table.reload("mainTable", {
                            //                    data: buttonArr    //将数据重新载入表格
                            //                })
                            //            }
                            //        } else {
                            //            layer.alert(result.code + result.Message, { icon: 5 });
                            //        }
                            //    }, error: function () {
                            //        layer.alert("接口请求失败!", { icon: 5 });
                            //    }
                            //});
                            layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        }
                        , btn2: function (index, layero) {
                            //按钮【按钮二】的回调
                            //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                        },
                        end: function () {
                        },
                        success: function (layero, index) {
                            //layer.full(index);
                        }
                    });
                } else if ($("#HMainSourceBillType").val() == "设备维修派工单") {
                    //页面层-自定义
                    layer.open({
                        type: 2,
                        skin: 'layui-layer-rim', //加上边框
                        title: '设备维修派工单',
                        shift: 2,
                        area: ['90%', '90%'],
                        content: ['../设备管理/设备维修派工单/Sb_EquipRepairSendWorkBillList.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('请选择一条单据数据');
                            }
                            $("#HMainSourceBillNo").val(checkStatus.data[0].单据号);
                            $("#HMainSourceInterID").val(checkStatus.data[0].hmainid);
                            $("#HMainSourceEntryID").val(checkStatus.data[0].hsubid);
                            //回填设备信息
                            $("#HEquipName").val(checkStatus.data[0].设备);
                            $("#HEquipID").val(checkStatus.data[0].HEquipID);
                            layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        }
                    });
                }
            });
            //保存
            form.on('submit(Saver)', function (data) {
                //debugger;
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                    }
                }
                var num1 = [];
                for (var i = 0; i < table.cache["mainTable1"].length; i++) {
                    if (table.cache["mainTable1"][i] != "") {
                        table.cache["mainTable1"][i].LAY_TABLE_INDEX = i;
                        num1.push(table.cache["mainTable1"][i])
                    }
                }
                data.field.HMaker = sessionStorage["HUserName"];//制单人
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                var sMainSub = sMainStr + ';' + sSubStr;
                var sSubStr = JSON.stringify(num);
                var sSubStr1 = JSON.stringify(num1);
                var sMainSub = sMainStr + ';' + sSubStr + ";" + sessionStorage["HUserName"] + ";" + sSubStr1 ;
                //对数据进行验证
                if (AllowLoadData(sSubStr)) {
                    $.ajax(
                        {
@@ -557,14 +720,11 @@
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 }, function () {
                                        $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                                        var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                        parent.layer.close(index); //再执行关闭
                                    });
                                    $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 });
                                }
                                else {
                                    f_alert(data.Message);
                                    layer.alert("保存失败")
                                    console.log("Reason" + sMainStr + "sub:" + JSON.stringify(layui.table.cache.mainTable));
                                }
                                layer.closeAll("loading");
@@ -609,20 +769,24 @@
                });
            }
            //初始化表格
            //初始化表格 ç»´ä¿®
            function set_InitGrid() {
                //表头
                columns = [
                    { type: 'checkbox', fixed: 'left' }
                    { type: 'checkbox', fixed: 'left', totalRowText: '合计行' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe" }
                    , { field: 'HRepairID1', title: 'HRepairID1', edit: 'text', event: "", hide: true }
                    , { field: 'HRepairID', title: 'HRepairID', edit: 'text', event: "", hide: true }
                    , { field: 'HRepairCode', title: '维修项目代码', edit: 'text', event: "", event: "HRepairCode" }
                    , { field: 'HRepairName', title: '维修项目', edit: 'text', event: "" }
                    , { field: 'HManagerID1', title: 'HManagerID1', edit: 'text', hide: true }
                    , { field: 'HManagerID', title: 'HManagerID', edit: 'text', hide: true }
                    , { field: 'HManagerCode', title: '负责人代码', edit: 'text', event: "HManagerCode" }
                    , { field: 'HManagerName', title: '负责人', edit: 'text' }
                    , { field: 'HRepairExplanation', title: '维修要求', edit: 'text' }
                    , { field: 'HRemark', title: '备注', event: "", edit: 'text' }
                    //, { field: 'HSourceInterID', title: '源单主内码' }
                    //, { field: 'HSourceEntryID', title: '源单子内码' }
                    //, { field: 'HSourceBillNo', title: '源单单号' }
                    //, { field: 'HSourceBillType', title: '源单类型' }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150 }
                ];
                option = {
@@ -630,8 +794,43 @@
                    , elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 500
                    , height: 300
                    , cols: [columns]
                    , done: function (res, curr, count) {
                    }
                };
            }
            //初始化表格 é…ä»¶
            function set_InitGrid_pj() {
                //表头
                columns = [
                    { type: 'checkbox', fixed: 'left', totalRowText: '合计行' }
                    , { templet: '#xuhao1', title: '序号', sort: true, fixed: 'left', event: "qwe" }
                    , { field: 'HMaterID', title: '配件ID', edit: 'text', hide: true }
                    , { field: 'HMaterNumber', title: '配件代码', edit: 'text', event: "HMaterCode" }
                    , { field: 'HMaterName', title: '配件名称', edit: 'text', event: "" }
                    , { field: 'HUnitID', title: '单位ID', edit: 'text', hide: true }
                    , { field: 'HUnitNumber', title: '单位代码', edit: 'text', event: "HUnitCode" }
                    , { field: 'HUnitName', title: '单位名称', edit: 'text', event: "" }
                    , { field: 'HManagerID', title: '负责人ID', edit: 'text', hide: true }
                    , { field: 'HManagerNumber', title: '负责人代码', edit: 'text', event: 'HManagerNumber' }
                    , { field: 'HManagerName', title: '负责人', edit: 'text' }
                    , { field: 'HQty', title: '用量', edit: 'text', totalRow: true }
                    , { field: 'HRemark', title: '备注', edit: 'text' }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo1', width: 150 }
                ];
                option1 = {
                    id: 'mainTable1'
                    , elem: '#mainTable1'
                    , toolbar: '#toolbarDemo1'
                    , page: true
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 300
                    , cols: [columns]
                    , done: function (res, curr, count) {
@@ -643,8 +842,10 @@
            function set_AddFNew() {
                //获取最大单据号
                get_MAXNum();
                option.data = [{ "HRepairID1": 0, "HRepairCode": "", "HRepairName": "", "HManagerID1": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": "" }];
                option.data = [{ "HRepairID": 0, "HRepairCode": "", "HRepairName": "", "HManagerID": sessionStorage["HEmpID"], "HManagerCode": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HRepairExplanation": "", "HRemark": ""/*, "HSourceInterID": 0, "HSourceEntryID": 0, "HSourceBillNo": " ", "HSourceBillType": " "*/ }];
                option1.data = [{ "HMaterID": 0, "HMaterNumber": "", "HMaterName": "", "HUnitID": 0, "HUnitNumber": "", "HUnitName": "", "HManagerID": sessionStorage["HEmpID"], "HManagerNumber": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HQty": "0", "HRemark": "" }];
                table.render(option);
                table.render(option1);
            }
            //获取最大单据号及默认值赋值
@@ -671,8 +872,10 @@
            function set_EditFromGrid() {
                set_EditForm(linterid);  //编辑获取表头
                set_EditGrid(linterid);  //编辑获取表体
                option.data = [{ "HRepairID1": 0, "HRepairCode": "", "HRepairName": "", "HManagerID1": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": "" }];
                option.data = [{ "HRepairID": 0, "HRepairCode": "", "HRepairName": "", "HManagerID": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": ""/*, "HSourceInterID": 0, "HSourceEntryID": 0, "HSourceBillNo": " ", "HSourceBillType": " " */ }];
                table.render(option);
                option1.data = [{ "HMaterID": 0, "HMaterNumber": "", "HMaterName": "", "HUnitID": 0, "HUnitNumber": "", "HUnitName": "", "HManagerID": "0 ", "HManagerNumber": " ", "HManagerName": " ", "HQty": "0", "HRemark": "" }];
                table.render(option1);
            }
            //编辑加载表头
@@ -744,11 +947,13 @@
                $.ajax({
                    url: GetWEBURL() + 'Sb_EqpRepairWorkBill/Sb_EqpRepairWorkBillListProjectDetai',
                    type: "GET",
                    data: { "sqlWhere": "and hmainid=" + linterid },
                    data: { "HInterID":linterid },
                    success: function (result) {
                        if (result.count == 1) {
                            option.data = result.data;
                            option.data = result.list[0];
                            table.render(option);
                            option1.data = result.list[1];
                            table.render(option1);
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
@@ -793,9 +998,9 @@
                                closeBtn: 1,
                                shift: 2,
                                area: ['80%', '80%'],
                                maxmin: true,
                                content: ['../PublicPage/RepairItemInformation.html', 'yes'],
                                btn: ['确定', '取消']
                                maxmin: true
                                , content: ['../基础资料/基础资料/Gy_RepairList.html?type=service', 'yes']
                                , btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
@@ -806,9 +1011,9 @@
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HRepairID1: checkStatus.data[0].HItemID,
                                        HRepairCode: checkStatus.data[0].HNumber,
                                        HRepairName: checkStatus.data[0].HName,
                                        HRepairID: checkStatus.data[0].hitemid,
                                        HRepairCode: checkStatus.data[0].维修项目代码,
                                        HRepairName: checkStatus.data[0].维修项目,
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
@@ -818,7 +1023,15 @@
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            HRepairID: OptionData[0].hitemid,
                                            HRepairCode: OptionData[0].维修项目代码,
                                            HRepairName: OptionData[0].维修项目,
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
@@ -833,9 +1046,9 @@
                                closeBtn: 1,
                                shift: 2,
                                area: ['80%', '80%'],
                                maxmin: true,
                                content: ['../PublicPage/UserInformation.html', 'yes'],
                                btn: ['确定', '取消']
                                maxmin: true
                                , content: ['../基础资料/公用基础资料/Gy_EmployeeList.html?type=HSecManager', 'yes']
                                , btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
@@ -847,9 +1060,9 @@
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HManagerID1: checkStatus.data[0].HItemID,
                                        HManagerCode: checkStatus.data[0].HNumber,
                                        HManagerName: checkStatus.data[0].HName
                                        HManagerID: checkStatus.data[0].HItemID,
                                        HManagerCode: checkStatus.data[0].职员代码,
                                        HManagerName: checkStatus.data[0].职员名称
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
@@ -859,11 +1072,189 @@
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            HManagerID: OptionData[0].HItemID,
                                            HManagerCode: OptionData[0].职员代码,
                                            HManagerName: OptionData[0].职员名称
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            // è¡Œå†…删除  é…ä»¶
            function set_GridDelete1(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行么', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            //obj.del();
                            //layer.close(index);
                            var oldData = table.cache["mainTable1"];
                            oldData.splice(obj.tr.data('index'), 1);
                            table.reload('mainTable1', { data: oldData });
                            layer.close(index);
                        }
                    });
                }
            }
            // è¡¨æ ¼è¡Œå†…事件快捷键筛选1 é…ä»¶
            function set_GridCellCheck1(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        //单位代码
                        if (obj.event === 'HUnitCode') {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '单位列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true
                                , content: ['../../views/基础资料/公用基础资料/Gy_Unit.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({
                                        HUnitID: checkStatus.data[0].HItemID,
                                        HUnitNumber: checkStatus.data[0].计量单位代码,
                                        HUnitName: checkStatus.data[0].计量单位名称
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            HUnitID: OptionData[0].HItemID,
                                            HUnitNumber: OptionData[0].计量单位代码,
                                            HUnitName: OptionData[0].计量单位名称
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
                        //配件代码
                        if (obj.event === 'HMaterCode') {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '配件列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true
                                , content: ['../基础资料/公用基础资料/Gy_Material.html', 'yes']
                                , btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HMaterID: checkStatus.data[0].HItemID,
                                        HMaterNumber: checkStatus.data[0].物料代码,
                                        HMaterName: checkStatus.data[0].物料名称
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            HMaterID: OptionData[0].HItemID,
                                            HMaterNumber: OptionData[0].物料代码,
                                            HMaterName: OptionData[0].物料名称
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
                        //负责人信息
                        if (obj.event === 'HManagerNumber') {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '责任人列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true
                                , content: ['../基础资料/公用基础资料/Gy_EmployeeList.html?type=HKeeper', '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({
                                        HManagerID: checkStatus.data[0].HItemID,
                                        HManagerNumber: checkStatus.data[0].职员代码,
                                        HManagerName: checkStatus.data[0].职员名称
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            HManagerID: OptionData[0].HItemID,
                                            HManagerNumber: OptionData[0].职员代码,
                                            HManagerName: OptionData[0].职员名称
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
                        obj.event = "";
                        return false;
@@ -902,6 +1293,48 @@
                }
            }
            //增加一行1 é…ä»¶
            function btnAddLine1(NewRow) {
                var tableBak = table.cache["mainTable1"]; //获取之前编辑过的表格数据
                buttonArr = [];//清空数组
                for (var i = 0; i < tableBak.length; i++) {
                    buttonArr.push(tableBak[i]);  //将之前的数据存储
                }
                buttonArr.push(NewRow);  //在尾部加一行
                table.reload("mainTable1", {
                    data: buttonArr    //将数据重新载入表格
                })
            }
            //复制一行1 é…ä»¶
            function btnCopyLine1(data) {
                var copydata = JSON.stringify(data);
                if (data.length <= 0) {
                    layer.msg("请选择需要复制的一行!");
                }
                else if (data.length > 1) {
                    layer.msg("只能选择复制一行!");
                }
                else {
                    var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                    var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                    table.cache["mainTable1"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                    option1.data = table.cache["mainTable1"];//将数据绑定到data上
                    table.render(option1);//将数据渲染到表格上
                }
            }
            //判断源单带回数据数组中的值是否相同
            function isAllEqual(array) {
                if (array.length > 0) {
                    return !array.some(function (value, index) {
                        return value !== array[0];
                    });
                } else {
                    return true;
                }
            }
            //数据验证
            function AllowLoadData(sSubStr) {  //sSubStr
@@ -924,7 +1357,7 @@
                if ($("#HRepairName").val() == '') {
                    layer.msg("维修项目没有选择", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                }
                //数字正则(包含小数)
                var reg = /^\d+(\.\d+)?$/;
                if (reg.test($("#HPlanTimes").val()) == false || $("#HPlanTimes").val() == '') {
@@ -964,15 +1397,58 @@
                        }
                    }
                }
                else {
                    return true;
                }
                return true;
            }
            //#endregion
        });
        //返回维修人
        function GetHEmpValue(obj) {
            $("#HEmpName").val(obj[0].职员名称);
            $("#HEmpID").val(obj[0].HItemID);
        }
        //返回设备
        function GetEquipFileValue(obj) {
            $("#HEquipName").val(obj[0].设备名称);
            $("#HEquipID").val(obj[0].hmainid);
        }
        //返回责任人
        function GetHManagerValue(obj) {  //返回责任人
            $("#HManagerName").val(obj[0].职员名称);
            $("#HManagerID").val(obj[0].HItemID);
        }
        //返回维修项目
        function GetRepairValue(obj) {
            $("#HRepairName").val(obj[0].维修项目); //维修项目名称
            $("#HRepairID").val(obj[0].hitemid); //维修项目ID
        }
        //返回部门
        function GetHDeptNameValue(obj) {
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
        //返回责任人
        function GetHSecManagerValue(obj) {  //返回责任人
            OptionData = obj;
        }
        //返回维修项目
        function GetRepairServiceValue(obj) {
            OptionData = obj;
        }
        //物料
        function GetMaterValue(obj) {
            OptionData = obj;
        }
        //计量单位
        function GetUnitValue(obj) {
            OptionData = obj;
        }
        //负责人
        function GetHKeeperValue(obj) {
            OptionData = obj;
        }
    </script>
</body>
</html>