1
yxj
2023-09-05 950157be58f7a635aa59dbe5c87bb2a2d5914be1
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskBill.html
@@ -75,20 +75,20 @@
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <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;">
                                                <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">
                                            <label class="layui-form-label" style="width: 85px;">项目代码<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HProNumber" name="HProNumber" id="HProNumber">
                                            </div>
                                        </div>-->
            <label class="layui-form-label" style="width: 85px;">项目代码<label style="color:red"> * </label></label>
            <div class="layui-input-block" style="margin-left: 120px;">
                <input type="text" class="layui-input" lay-verify="HProNumber" name="HProNumber" id="HProNumber">
            </div>
        </div>-->
                                        <div class="layui-inline">
                                            <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;">
                                                <input type="text" class="layui-input" lay-verify="HProNumber" name="HProNumber" id="HProNumber" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <!--<input type="hidden" name="HProjectStageID" id="HProjectStageID" lay-verify="HProjectStageID" value="0">-->
@@ -106,7 +106,7 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <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;">
                                                <input type="text" class="layui-input" lay-verify="HProjectStageName" name="HProjectStageName" id="HProjectStageName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HProjectStageID" id="HProjectStageID" lay-verify="HProjectStageID" value="0">
@@ -122,7 +122,7 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">日期</label>
                                            <label class="layui-form-label" style="width: 85px;">日期<label 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>
@@ -158,7 +158,7 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <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;">
                                                <input type="text" class="layui-input" lay-verify="HSendEmp" name="HSendEmp" id="HSendEmp" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <!--<input type="hidden" name="HPMEmpID" id="HPMEmpID" lay-verify="HPMEmpID" value="0">-->
@@ -199,7 +199,7 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">备注<label style="color:red"> * </label></label>
                                            <label class="layui-form-label" style="width: 85px;">备注</label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark">
                                            </div>
@@ -207,11 +207,21 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <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: 501px;">
                                                <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
                                                    <!--动态渲染组织-->
                                                </select>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                <input type="hidden" name="HMainSourceInterID" id="HMainSourceInterID" lay-verify="HMainSourceInterID" value="0">
                                                <input type="hidden" name="HMainSourceEntryID" id="HMainSourceEntryID" lay-verify="HMainSourceEntryID" value="0">
                                                <input type="hidden" name="HMainSourceBillType" id="HMainSourceBillType" lay-verify="HMainSourceBillType" value="0">
                                                <input type="hidden" name="HMainSourceBillNo" id="HMainSourceBillNo" lay-verify="HMainSourceBillNo" value="0">
                                            </div>
                                        </div>
                                    </div>
@@ -341,6 +351,7 @@
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            var HEntryID = params[params[3]]; //工程项目子内码
            //#endregion
@@ -353,22 +364,19 @@
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region ä»»åŠ¡ç±»åž‹ç±»åž‹ä¸‹æ‹‰æ¡†æ˜¾ç¤º
            ColFilter();
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                OperationType = 1;
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化派单人
                getHEmpByHUserName();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
@@ -395,11 +403,33 @@
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                RoadBillMain(linterid);
            } else if (OperationType == 4 && HProjectStageID != null) {                     //下推
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化最终完成时间
                $("#HLastDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //下推-页面设置
                set_WorkTaskReport();
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#endregion
@@ -571,6 +601,7 @@
            //#region é¡¹ç›®ä»£ç é€‰æ‹©é¡µé¢
            function get_checkSearchHProNumber() {
                var HOrgID = $("#HOrgID").val();
                //打开工程项目小窗体
                layer.open({
                    type: 2
@@ -580,7 +611,7 @@
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../项目管理/工程项目/PM_ProjectBillList.html", "yes"]
                    , content: ["../../项目管理/工程项目/PM_ProjectBillList.html?openType=2&HOrgID=" + HOrgID, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //按钮一  çš„回调
@@ -600,9 +631,6 @@
                        } else {
                            layer.msg("该项目已关闭,不可选择!");
                        }
                        layer.close(index);//关闭弹窗
                    }
                    , btn2: function (index, layero) { }
@@ -643,13 +671,14 @@
            //#region æ´¾å•人选择页面
            function get_checkSearchHSendEmp() {
                var HOrgID = $("#HOrgID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html', 'yes']
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -658,9 +687,9 @@
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HSendEmp").val(checkStatus.data[0].HName);//客户名称
                        $("#HSendEmp").val(checkStatus.data[0].职员名称);//客户名称
                        if ($("#HSendEmp").val() == "") {
                            $("#HSendEmp").val(checkStatus.data[0].HNumber);
                            $("#HSendEmp").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -671,13 +700,14 @@
            //#region æŽ¥æ”¶äººé€‰æ‹©é¡µé¢
            function get_checkSearchHReceiveEmp() {
                var HOrgID = $("#HOrgID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html', 'yes']
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -686,9 +716,9 @@
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HReceiveEmp").val(checkStatus.data[0].HName);//接收人名称
                        $("#HReceiveEmp").val(checkStatus.data[0].职员名称);//接收人名称
                        if ($("#HReceiveEmp").val() == "") {
                            $("#HReceiveEmp").val(checkStatus.data[0].HNumber);
                            $("#HReceiveEmp").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -699,29 +729,77 @@
            //#region æŠ„送人选择页面
            function get_checkSearchHCopyEmp() {
                //var HOrgID = $("#HOrgID").val();
                //layer.open({
                //    type: 2//弹窗类型
                //    , skin: 'layui-layer-rim' //加上边框
                //    , area: ['90%', '90%']//大小
                //    , title: '员工表'//标题
                //    , shift: 2//弹出动画
                //    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, '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('请选择数据');
                //        }
                //        //获取数据
                //        $("#HCopyEmp").val(checkStatus.data[0].职员名称);//抄送人名称
                //        if ($("#HCopyEmp").val() == "") {
                //            $("#HCopyEmp").val(checkStatus.data[0].职员代码);
                //        }
                //        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                //    }
                //    , btn2: function (index, layero) { }
                //})
                //页面层-自定义
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '抄送人列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../PublicPage/transfer.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) {
                        var checkStatus = iframeWindow.layui.transfer.getData('key123'); //获取已分配数量
                        if (checkStatus.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HCopyEmp").val(checkStatus.data[0].HName);//抄送人名称
                        if ($("#HCopyEmp").val() == "") {
                            $("#HCopyEmp").val(checkStatus.data[0].HNumber);
                        var value = "";
                        var title = "";
                        for (var i = 0; i < checkStatus.length; i++) {
                            value += checkStatus[i].value + ",";
                            title += checkStatus[i].title + ",";
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        //去掉最后一个逗号(如果不需要去掉,就不用写)
                        if (value.length > 0) {
                            value = value.substr(0, value.length - 1);
                            title = title.substr(0, title.length - 1);
                        }
                        $("#HCopyEmp").val(title);
                        console.log(checkStatus, value, title);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            }
            //#endregion
@@ -812,6 +890,36 @@
                            , "HDeleteManDate": tableMain[0]["HDeleteDate"] == null ? "" : Format(new Date(tableMain[0]["HDeleteDate"]), "yyyy-MM-dd")
                            , "HBackerDate": tableMain[0]["HBackerDate"] == null ? "" : Format(new Date(tableMain[0]["HBackerDate"]), "yyyy-MM-dd")
                            , "HBackRemark": tableMain[0]["HBackRemark"]
                        });
                        //组织的值HOrgID变化,重新渲染
                        HOrgIDBar = tableMain[0]["HOrgID"];
                    }
                })
            }
            //#endregion
            //#region ä¸‹æŽ¨-页面赋值
            function set_WorkTaskReport() {
                $.ajax({
                    url: GetWEBURL() + "/PM_ProjectBill/set_WorkTask",
                    type: "GET",
                    async: false,
                    data: { "HInterID": linterid, "HEntryID": HEntryID, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        var tableMain = result.data;
                        //主表 èµ‹å€¼
                        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                            "HOrgID": tableMain[0]["HOrgID"]
                            , "HProNumber": tableMain[0]["HProNumber"]
                            , "HProName": tableMain[0]["HProName"]
                            , "HProjectStageID": tableMain[0]["HProjectStageID"]
                            , "HProjectStageName": tableMain[0]["HProjectStageName"]
                            , "HMainSourceInterID": tableMain[0]["HInterID"]
                            , "HMainSourceEntryID": tableMain[0]["HEntryID"]
                            , "HMainSourceBillNo": tableMain[0]["HBillNo"]
                            , "HMainSourceBillType": tableMain[0]["HBillType"]
                        });
                        //组织的值HOrgID变化,重新渲染
@@ -928,21 +1036,20 @@
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HProNumber").val() == "") {
                    layer.msg("项目代码不能为空!");
                    return false;
                }
                if ($("#HProName").val() == "") {
                    layer.msg("项目名称不能为空!");
                    return false;
                }
                if ($("#HProjectStageName").val() == "") {
                if ($("#HProjectStageID").val() == "0") {
                    layer.msg("项目阶段没有选择!");
                    return false;
                }
                if ($("#HName").val() == "") {
                    layer.msg("任务名称不能为空!");
                    return false;
                }
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HSendEmp").val() == "") {
@@ -1094,6 +1201,33 @@
                form.render('select');
            }
            //#endregion
            //#region æ ¹æ®ç™»å½•账户获取相应职员
            function getHEmpByHUserName() {
                var Czybm = sessionStorage["Czybm"];
                var wait = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/PM_WorkTaskReportBill/getHEmpByHUserName',
                    type: "GET",
                    data: { "Czybm": Czybm , "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            var HSendEmp = result.data[0]["HEmpName"];
                            $("#HSendEmp").val(HSendEmp);
                            layer.close(wait);
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                            layer.close(wait);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                        layer.close(wait);
                    }
                });
            }
            //#endregion
            //#endregion