职员异动单:添加子表重复校验,子表做颜色区分,子表单元格根据宽度隐藏内容,取消分页,添加合计行,取消上一行下一行,职员带出原岗位、原班组、原部门
2个文件已修改
250 ■■■■■ 已修改文件
WebTM/Properties/PublishProfiles/JFTM.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/人事管理/职员异动单/HR_EmpChangeBill.html 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/Properties/PublishProfiles/JFTM.pubxml.user
@@ -1746,7 +1746,7 @@
      <publishTime>07/21/2023 10:15:10</publishTime>
    </File>
    <File Include="views/人事管理/职员异动单/HR_EmpChangeBill.html">
      <publishTime>07/26/2023 09:51:54</publishTime>
      <publishTime>08/15/2023 15:23:07</publishTime>
    </File>
    <File Include="views/人事管理/职员异动单/HR_EmpChangeBillList.html">
      <publishTime>07/25/2023 19:25:14</publishTime>
WebTM/views/ÈËʹÜÀí/Ö°Ô±Ò춯µ¥/HR_EmpChangeBill.html
@@ -14,7 +14,7 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
    <!--<style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
@@ -44,7 +44,7 @@
        .layui-form-label {
            width: 25%;
        }
    </style>
    </style>-->
</head>
<body>
@@ -75,14 +75,14 @@
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <div class="layui-inline" style="width:500px;">
                                            <label class="layui-form-label" style="width: 85px;">单据号</label>
                                            <label class="layui-form-label" style="width: 85px;">单据号<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 180px;">
                                                <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HInterID" id="HInterID" lay-verify="HInterID">
                                            </div>
                                        </div>
                                        <div class="layui-inline" style="width:500px;">
                                            <label class="layui-form-label" style="width: 85px;">日期</label>
                                            <label class="layui-form-label" style="width: 85px;">日期<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width:180px;">
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                            </div>
@@ -96,7 +96,7 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline" style="width:500px;">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">部门</label>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">部门<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px; width: 270px;">
                                                <input type="text" class="layui-input" lay-verify="HDeptName" name="HDeptName" id="HDeptName" style="background-color: #efefef4d; width: 180px; display: inline-block;" readonly>
                                                <input type="hidden" name="HDeptID" id="HDeptID" lay-verify="HDeptID" value="0">
@@ -224,8 +224,8 @@
                            <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>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up"><i class="layui-icon layui-icon-form"></i>上一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>下一行</button>
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up"><i class="layui-icon layui-icon-form"></i>上一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                        </div>
                    </script>
                </form>
@@ -495,36 +495,37 @@
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    , limit: 500
                    , limits: [50, 500, 5000, 50000]
                    //, page: true
                    //, limit: 500
                    //, limits: [50, 500, 5000, 50000]
                   /* , totalRow: true*/
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', totalRow: true }
                        , { field: 'RowID', title: '行号', hide: true }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HEmpID', title: '职员ID', hide: true }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;'}
                        , { field: 'RowID', title: '行号', hide: true, style: 'background-color: #f9f9f9;' }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HEmpID', title: '职员ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HEmpNumber', title: '职员代码', edit: 'text', event: "HEmpNumber" }     //f7
                        , { field: 'HEmpName', title: '职员名称' }
                        , { field: 'HOldDeptID', title: '原部门ID', hide: true }
                        , { field: 'HOldDeptNumber', title: '原部门代码', edit: 'text', event: "HOldDeptNumber" }     //f7
                        , { field: 'HOldDeptName', title: '原部门名称' }
                        , { field: 'HDeptID', title: '调入部门ID', hide: true }
                        , { field: 'HEmpName', title: '职员名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HOldDeptID', title: '原部门ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HOldDeptNumber', title: '原部门代码', style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HOldDeptName', title: '原部门名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HDeptID', title: '调入部门ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HDeptNumber', title: '调入部门代码', edit: 'text', event: "HDeptNumber" }     //f7
                        , { field: 'HDeptName', title: '调入部门名称' }
                        , { field: 'HOldGroupID', title: '原班组ID', hide: true }
                        , { field: 'HOldGroupNumber', title: '原班组代码', edit: 'text', event: "HOldGroupNumber" }     //f7
                        , { field: 'HOldGroupName', title: '原班组名称' }
                        , { field: 'HGroupID', title: '调入班组ID', hide: true }
                        , { field: 'HDeptName', title: '调入部门名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HOldGroupID', title: '原班组ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HOldGroupNumber', title: '原班组代码', style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HOldGroupName', title: '原班组名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HGroupID', title: '调入班组ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HGroupNumber', title: '调入班组代码', edit: 'text', event: "HGroupNumber" }     //f7
                        , { field: 'HGroupName', title: '调入班组名称' }
                        , { field: 'HOldPostID', title: '原岗位ID', hide: true }
                        , { field: 'HOldPostNumber', title: '原岗位代码', edit: 'text', event: "HOldPostNumber" }     //f7
                        , { field: 'HOldPostName', title: '原岗位名称' }
                        , { field: 'HPostID', title: '调入岗位ID', hide: true }
                        , { field: 'HGroupName', title: '调入班组名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HOldPostID', title: '原岗位ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HOldPostNumber', title: '原岗位代码', style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HOldPostName', title: '原岗位名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HPostID', title: '调入岗位ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HPostNumber', title: '调入岗位代码', edit: 'text', event: "HPostNumber" }     //f7
                        , { field: 'HPostName', title: '调入岗位名称' }
                        , { field: 'HPostName', title: '调入岗位名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HReason', title: '异动原因', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
@@ -697,76 +698,76 @@
            //#region æ•°æ®æ ¡éªŒ
            function AllowLoadData(data) {
                //#region è¡¨å¤´æ•°æ®æ£€éªŒ
                //if ($("#HBillNo").val() == "") {
                //    layer.msg("单据号不能为空!");
                //    return false;
                //}
                //if ($("#HInnerBillNo").val() == "") {
                //    layer.msg("内部单据号不能为空!");
                //    return false;
                //}
                //if ($("#HGroupName").val() == "") {
                //    layer.msg("班组未选择!");
                //    return false;
                //}
                //if ($("#HDeptName").val() == "") {
                //    layer.msg("部门未选择!");
                //    return false;
                //}
                //if ($("#HEmpName").val() == "") {
                //    layer.msg("主管未选择!");
                //    return false;
                //}
                //if ($("#HPayTypeName").val() == "") {
                //    layer.msg("工资类型未选择!");
                //    return false;
                //}
                if ($("#HBillNo").val() == "") {
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HDeptID").val() == "0") {
                    layer.msg("部门未选择!");
                    return false;
                }
                //#endregion
                //#region å­è¡¨æ•°æ®æ£€éªŒ
                //var temp;                               //记录需要检验的属性的值,用于检验
                //var ref = /^\d+(\.\d+)?$/;          //判断是否是非负浮点数
                //var ref1 = /^\d+$/;            //判断是否是非负整数
                //var value1 = ["HTimes", "HQty", "HPrice", "HPriceRate", "HSubsidyQty", "HSubsidyMoney", "HSubsidyTotal", "HDeuctTotal", "HPackQty", "HPackPrice", "HPackMoney", "HMoney"];  //子表需要进行浮点数验证的属性清单
                //var value1_ = ["工时", "数量", "工价", "定额浮动比率", "补贴数量", "补贴金额", "补贴合计", "扣款小计", "包装数量", "包装单价", "包装金额", "金额"];  ////子表需要进行浮点数验证的属性清单对应的列名清单
                //var value2 = ["HICMOInterID", "HProcReportInterID", "HProcReportEntryID", "HProcPlanInterID", "HProcPlanEntryID"];  //子表需要整数检验的属性清单
                //var value2_ = ["生产任务单ID", "工序汇报单ID", "工序汇报单子ID", "工序计划单ID", "工序计划单子ID"]; //子表需要整数检验的属性清单对应的列名清单
                //var value3 = ["HMaterNumber", "HProcNumber", "HEmpNumber", "HPackMaterName"];       //子表需要进行非空检验的属性清单
                //var value3_ = ["物料", "工序", "职员", "包装方式"];                                 //子表需要进行非空检验的属性清单对应的列名清单
                //for (var i = 0; i < option.data.length; i++) {
                //    if (option.data[i] != "") {
                //        //非空检验
                //        for (var j = 0; j < value3.length; j++) {
                //            temp = option.data[i][value3[j]] + "";
                //            if (temp == "") {
                //                layer.msg("第" + (i + 1) + "行:" + value3_[j] + "未选择!");
                //                return false;
                //            }
                //        }
                //        //整数检验
                //        for (var j = 0; j < value2.length; j++) {
                //            temp = option.data[i][value2[j]] + "";
                //            if (temp == "") {
                //                layer.msg("第" + (i + 1) + "行:" + value2_[j] + "不能为空!");
                //                return false;
                //            } else if (!ref1.test(temp)) {
                //                layer.msg("第" + (i + 1) + "行:" + value2_[j] + "请输入非负整数!");
                //                return false;
                //            }
                //        }
                //        //浮点数检验
                //        for (var j = 0; j < value1.length; j++) {
                //            temp = option.data[i][value1[j]] + "";
                //            if (temp == "") {
                //                layer.msg("第" + (i + 1) + "行:" + value1_[j] + "不能为空!");
                //                return false;
                //            } else if (!ref.test(temp)) {
                //                layer.msg("第" + (i + 1) + "行:" + value1_[j] + "请输入正确非负数字!");
                //                return false;
                //            }
                //        }
                //    }
                //}
                var temp;                               //记录需要检验的属性的值,用于检验
                var ref = /^\d+(\.\d+)?$/;          //判断是否是非负浮点数
                var ref1 = /^\d+$/;            //判断是否是非负整数
                var value1 = [];  //子表需要进行浮点数验证的属性清单
                var value1_ = [];  ////子表需要进行浮点数验证的属性清单对应的列名清单
                var value2 = [];  //子表需要整数检验的属性清单
                var value2_ = []; //子表需要整数检验的属性清单对应的列名清单
                var value3 = ["HEmpID", "HOldDeptID", "HDeptID", "HOldGroupID", "HGroupID", "HOldPostID", "HPostID"];       //子表需要进行非空检验的属性清单
                var value3_ = ["职员", "原部门", "调入部门", "原班组", "调入班组", "原岗位", "调入岗位"];                                 //子表需要进行非空检验的属性清单对应的列名清单
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i] != "") {
                        //非空检验
                        for (var j = 0; j < value3.length; j++) {
                            temp = option.data[i][value3[j]] + "";
                            if (temp == "0") {
                                layer.msg("第" + (i + 1) + "行:" + value3_[j] + "未选择!");
                                return false;
                            }
                        }
                        //整数检验
                        for (var j = 0; j < value2.length; j++) {
                            temp = option.data[i][value2[j]] + "";
                            if (temp == "") {
                                layer.msg("第" + (i + 1) + "行:" + value2_[j] + "不能为空!");
                                return false;
                            } else if (!ref1.test(temp)) {
                                layer.msg("第" + (i + 1) + "行:" + value2_[j] + "请输入非负整数!");
                                return false;
                            }
                        }
                        //浮点数检验
                        for (var j = 0; j < value1.length; j++) {
                            temp = option.data[i][value1[j]] + "";
                            if (temp == "") {
                                layer.msg("第" + (i + 1) + "行:" + value1_[j] + "不能为空!");
                                return false;
                            } else if (!ref.test(temp)) {
                                layer.msg("第" + (i + 1) + "行:" + value1_[j] + "请输入正确非负数字!");
                                return false;
                            }
                        }
                    }
                }
                //#endregion
                //#region å­è¡¨å…³é”®å­—段重复检验
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    temp = option.data[i]["HEmpID"];
                    if ($.inArray(temp, num) != -1) {
                        layer.msg("第" + (i + 1) + "行:职员重复,请重新选择!");
                        return false;
                    }
                    num.push(temp);
                }
                //#endregion
                return true;
            }
@@ -863,12 +864,51 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HEmpID": checkStatus.data[0].HItemID
                                        , "HEmpNumber": checkStatus.data[0].HNumber
                                        , "HEmpName": checkStatus.data[0].HName
                                    })
                                    var HEmpID = checkStatus.data[0].HItemID;
                                    $.ajax({
                                        url: GetWEBURL() + "HR_EmpDimissionBill/getInfoByHEmpID",
                                        type: "GET",
                                        data: {
                                            "HEmpID": HEmpID
                                        },
                                        success: function (result) {
                                            if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                                var HEmpID = checkStatus.data[0].HItemID;
                                                var HEmpNumber = checkStatus.data[0].HNumber;
                                                var HEmpName = checkStatus.data[0].HName;
                                                var HOldDeptID = result.data[0]["HDeptID"] == null ? 0 : result.data[0]["HDeptID"];
                                                var HOldDeptNumber = result.data[0]["HDeptNumber"];
                                                var HOldDeptName = result.data[0]["HDeptName"];
                                                var HOldGroupID = result.data[0]["HGroupID"] == null ?0: result.data[0]["HGroupID"];
                                                var HOldGroupNumber = result.data[0]["HGroupNumber"];
                                                var HOldGroupName = result.data[0]["HGroupName"];
                                                var HOldPostID = result.data[0]["HPostID"]==null ? 0 : result.data[0]["HPostID"];
                                                var HOldPostNumber = result.data[0]["HPostNumber"];
                                                var HOldPostName = result.data[0]["HPostName"];
                                                //更新表格缓存的数据
                                                obj.update({
                                                    "HEmpID": checkStatus.data[0].HItemID
                                                    , "HEmpNumber": checkStatus.data[0].HNumber
                                                    , "HEmpName": checkStatus.data[0].HName
                                                    , "HOldDeptID": HOldDeptID
                                                    , "HOldDeptNumber": HOldDeptNumber
                                                    , "HOldDeptName": HOldDeptName
                                                    , "HOldGroupID": HOldGroupID
                                                    , "HOldGroupNumber": HOldGroupNumber
                                                    , "HOldGroupName": HOldGroupName
                                                    , "HOldPostID": HOldPostID
                                                    , "HOldPostNumber": HOldPostNumber
                                                    , "HOldPostName": HOldPostName
                                                })
                                            } else {
                                                layer.alert(result.code + result.Message, { icon: 5 });
                                            }
                                        }, error: function () {
                                            layer.alert("接口请求失败!", { icon: 5 });
                                        }
                                    });
                                    layer.close(index);//关闭弹窗
                                }
                            })
@@ -1141,9 +1181,9 @@
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                    option.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                    option.cols[0][i + 1]["style"] += "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {