wtt
2025-05-20 5e4b414ff8099c24e43ffb1ecbf70554a086f4d6
工程项目优化
4个文件已修改
229 ■■■■ 已修改文件
WebTM/WebTM.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工程项目/PM_ProjectBill.html 172 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工程项目/PM_ProjectTaskNeedCheckQuery.html 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工程项目/PM_ProjectTaskNeedSaveQuery.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user
@@ -3,7 +3,7 @@
  <PropertyGroup>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\工作代码\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\LAYUI.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ShowAllFiles</ProjectView>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectBill.html
@@ -15,6 +15,7 @@
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <!--<style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
@@ -61,11 +62,11 @@
            transition: all 0.3s;
            color: #000 !important; /* å¼ºåˆ¶é»‘色字体 */
        }
        /* æ‚¬åœçŠ¶æ€ */
        .layui-nav-item:hover {
            background-color: #f8f8f8 !important;
            color: #000 !important;
        }
            /* æ‚¬åœçŠ¶æ€ */
            .layui-nav-item:hover {
                background-color: #f8f8f8 !important;
                color: #000 !important;
            }
    </style>
</head>
<body>
@@ -818,9 +819,9 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">是否结账</label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 200px;">
                                                <input type="checkbox" class="layui-input" name="HIsAccount" lay-verify="HIsAccount" id="HIsAccount" title="是" lay-skin="tag" value="true">
                                            <label class="layui-form-label" style="width: 85px;">抢修开始时间</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="datetime-local" step="1" class="layui-input" name="HTaskBTime" lay-verify="HTaskBTime" id="HTaskBTime">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
@@ -864,11 +865,12 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">任务开始时间</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="datetime-local" step="1" class="layui-input" name="HTaskBTime" lay-verify="HTaskBTime" id="HTaskBTime">
                                            <label class="layui-form-label" style="width: 85px;">是否结账</label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 200px;">
                                                <input type="checkbox" class="layui-input" name="HIsAccount" lay-verify="HIsAccount" id="HIsAccount" title="是" lay-skin="tag" value="true">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">工费结账日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
@@ -876,7 +878,7 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">任务详细内容</label>
                                            <label class="layui-form-label" style="width: 85px;">抢修详细内容</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <textarea type="text" class="layui-textarea" name="HTaskNote" lay-verify="HTaskNote" id="HTaskNote"></textarea>
                                            </div>
@@ -928,7 +930,7 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">任务备注</label>
                                            <label class="layui-form-label" style="width: 85px;">备注(附属项目)</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <textarea type="text" class="layui-textarea" name="HTaskRemark" lay-verify="HTaskRemark" id="HTaskRemark"></textarea>
                                            </div>
@@ -957,10 +959,11 @@
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                    <div class="layui-tab" lay-filter="tab-POStockInBill2" id="TableSub">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">项目阶段</li>
                            <li lay-id="2" style="padding:1px;">项目成员</li>
                            <li lay-id="3" style="padding:1px;">项目材料清单</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--项目阶段-->
@@ -972,7 +975,7 @@
                                        <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_under"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                                    </div>
                                </script>
                            </div>
@@ -985,7 +988,16 @@
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine1"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn1"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up1"><i class="layui-icon layui-icon-form"></i>上一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under1"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under1"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                                    </div>
                                </script>
                            </div>
                            <!--项目材料清单-->
                            <div class="layui-tab-item">
                                <table class="layui-hide" id="mainTable2" lay-filter="mainTable2"></table>
                                <script type="text/html" id="toolbarDemo2">
                                    <div class="layui-btn-container">
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2" id="HideColumn2"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                    </div>
                                </script>
                            </div>
@@ -1035,9 +1047,11 @@
            //模块名
            var HModName = "PM_ProjectBill";
            var HModName2 = "PM_ProjectTaskNeedCheckQuery_SellOut"
            //表格渲染参数
            var option = {};            //项目阶段表渲染参数
            var option1 = {};           //项目成员表渲染参数
            var option2 = {};           //项目材料清单
            //记录组织的值
            var HOrgIDBar = 0;
            //全局变量
@@ -1112,6 +1126,13 @@
                    $('#HTaskAddress, #HBreakStatus').on('input', () => {
                        $('#HProName').val($('#HTaskAddress').val() + $('#HBreakStatus').val());
                    });
                    //隐藏子表的选项
                    // éšè—ä¸éœ€è¦çš„tab标题
                    $('#TableSub .layui-tab-title li').not(':eq(2)').hide(); // åªä¿ç•™ç¬¬ä¸‰ä¸ªtab(项目材料清单)
                    // é»˜è®¤æ¿€æ´»ç¬¬ä¸‰ä¸ªtab
                    element.tabChange('tab-POStockInBill2', '3'); // åˆ‡æ¢åˆ°ç¬¬ä¸‰ä¸ªtab
                    // éšè—å…¶ä»–tab内容
                    $('#TableSub .layui-tab-content .layui-tab-item').not(':eq(2)').hide();
                    getCzyglByUser();
                } else {
                    $("#project_li").hide();
@@ -1186,7 +1207,7 @@
                //初始化项目阶段表
                get_InitGrid1();
                RoadBillMain(linterid);
                RoadBillSub(linterid);
            }
            //#endregion
@@ -1485,7 +1506,7 @@
                $("#HDate").on('blur', function (data) {
                    HDate = $("#HDate").val();
                    $("#HDate").val(HDate); // è¿™è¡Œå®žé™…可以省略,因为值未改变
                    GetHProjectNumber();
                    GetHProjectNumber(0);
                    console.log("失焦时值:", HDate);
                });
            });
@@ -1733,6 +1754,16 @@
            });
            //#endregion
            //#region é¡¹ç›®ææ–™æ¸…单
            table.on('toolbar(mainTable2)', function (obj) {
                switch (obj.event) {
                    //列设置
                    case 'set_HideColumn2': get_HideColumnNoPage(HModName2, sessionStorage["HUserName"], option2, function () { });
                        break;
                };
            });
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
@@ -1980,6 +2011,88 @@
                option1.data = rowdata1;
                table.render(option1);
                option2 = {
                    elem: '#mainTable2'
                    , toolbar: '#toolbarDemo2'
                    , page: true
                    , limit: 500
                    , limits: [50, 500, 1000, 2000]
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 600
                    , cols: [[]]
                    , data:[[]]
                }
                table.render(option2);
            }
            //#endregion
            //#region èŽ·å–é”€å”®å‡ºåº“å•åˆ—è¡¨
            function RoadBillSub(linterid)//加载表头
            {
                var ajaxLoad = layer.load();//遮罩
                //明细列表
                var sql = "exec h_p_PM_GetSellOutBillListByHProjectID " + linterid;
                $.ajax({
                    url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sql },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];//列字段数据
                            var col = [];
                            var totalArray = [];
                            var titleData = [];
                            //给空的数组赋值
                            for (var key in data1.list) {//循序遍历数组
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//从每个对象中提取数据
                                //获取不需要显示的列(H开头的列不显示)
                                var patrn = new RegExp(/^h/i);
                                if (patrn.test(data1.list[key].ColmCols)) {
                                    titleData[key] = data1.list[key].ColmCols;
                                }
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            for (var i = 0; i < data.length; i++) {//遍历data数组重的数据
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {//检查data【i】.name是否在数组中  //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if ($.inArray(data[i].name, totalArray) > -1) { //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120, filter: true });
                                } else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, filter: true, templet: "<div>{{d." + (data[i].name == "行关闭日期" ? "行关闭人" : data[i].name) + " ==''?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 200 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
                                    }
                                }
                            }
                            option2.cols = [col];
                            option2.data = data1.data;
                            //统计材料费
                            //let totalAmount = data1.data.reduce((accumulator, currentValue) => {
                            //    return accumulator + currentValue.金额;
                            //}, 0);
                            //$("#HTaskMaterMoney").val(totalAmount);
                            //列设置
                            DisPlay_HideColumn(HModName2, sessionStorage["HUserName"], option2, titleData);
                            table.render(option2);
                            layer.close(ajaxLoad);
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                            layer.close(ajaxLoad);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                        layer.close(ajaxLoad);
                    }
                });
            }
            //#endregion
@@ -2697,7 +2810,7 @@
                        $("#HTaskClassNumber").val(checkStatus.data[0].任务类别代码);                       
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        //更新项目代码
                        GetHProjectNumber();
                        GetHProjectNumber(0);
                    }
                    , btn2: function (index, layero) { }
                    , end: function () {
@@ -2706,7 +2819,7 @@
                            $("#HTaskClassName").val(TaskData.任务类别名称);
                            $("#HTaskClassNumber").val(TaskData.任务类别代码);
                            //更新项目代码
                            GetHProjectNumber();
                            GetHProjectNumber(0);
                        }
                        TaskData = [];
                    }
@@ -2739,7 +2852,7 @@
                        $("#HTaskClassEntryName").val(checkStatus.data[0].任务类别名称);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        //更新项目代码
                        GetHProjectNumber();
                        GetHProjectNumber(0);
                    }
                    , btn2: function (index, layero) { }
                    , end: function () {
@@ -2747,7 +2860,7 @@
                            $("#HTaskClassEntryID").val(TaskData.HItemID);
                            $("#HTaskClassEntryName").val(TaskData.任务类别名称);
                            //更新项目代码
                            GetHProjectNumber();
                            GetHProjectNumber(0);
                        }
                        TaskData = [];
                    }
@@ -2802,6 +2915,8 @@
                        if (data.count == 1) {
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                            layer.close(index);
                            //新增编码流水号
                            GetHProjectNumber(1);
                            layer.msg("提交成功");
                        }
                        else {
@@ -2906,6 +3021,13 @@
                            $("#item_li").hide();
                            $("#task_li").addClass("layui-this");
                            $("#task_tab").addClass("layui-show");
                            //隐藏子表的选项
                            // éšè—ä¸éœ€è¦çš„tab标题
                            $('#TableSub .layui-tab-title li').not(':eq(2)').hide(); // åªä¿ç•™ç¬¬ä¸‰ä¸ªtab(项目材料清单)
                            // é»˜è®¤æ¿€æ´»ç¬¬ä¸‰ä¸ªtab
                            element.tabChange('tab-POStockInBill2', '3'); // åˆ‡æ¢åˆ°ç¬¬ä¸‰ä¸ªtab
                            // éšè—å…¶ä»–tab内容
                            $('#TableSub .layui-tab-content .layui-tab-item').not(':eq(2)').hide();
                        } else {
                            $("#project_li").hide();
                            $("#task_li").hide();
@@ -3281,14 +3403,14 @@
            //#endregion
            //#region ï¼ˆä»»åŠ¡ç±»ï¼‰çš„å·¥ç¨‹é¡¹ç›®æ–°å¢ž
            //任务大类 ä»»åŠ¡é¡¹ç›®åˆ†ç±» æ—¥æœŸ å˜åŒ–时,更新 é¡¹ç›®ä»£ç 
            //任务大类 ä»»åŠ¡é¡¹ç›®åˆ†ç±» æ—¥æœŸ å˜åŒ–时,更新 é¡¹ç›®ä»£ç ï¼ˆType为0时只获取不新增流水号,为1时新增且获取流水号)
            function GetHProjectNumber() {
            function GetHProjectNumber(HType) {
                $.ajax({
                    url: GetWEBURL() + '/PM_ProjectBill/GetHProjectHNumber',
                    type: "GET",
                    async: false,
                    data: { "HDeptID": $("#HDeptID").val(), "HDate": $("#HDate").val(), "HTaskClassID": $("#HTaskClassID").val(), "HTaskClassEntryID": $("#HTaskClassEntryID").val()},
                    data: { "HDeptID": $("#HDeptID").val(), "HDate": $("#HDate").val(), "HTaskClassID": $("#HTaskClassID").val(), "HTaskClassEntryID": $("#HTaskClassEntryID").val(), "HType":HType },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = data1.data[0];
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectTaskNeedCheckQuery.html
@@ -45,6 +45,7 @@
                                            <div class="layui-btn-container">
                                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-MoneyDeSave" id="MoneyDeSave"><i class="layui-icon layui-icon-circle"></i>驳回</button>
                                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                            </div>
                                        </script>
@@ -141,6 +142,7 @@
                                            <script type="text/html" id="toolbarDemo">
                                                <div class="layui-btn-container" id="toolbarDemo_ButtonSet">
                                                    <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                                </div>
                                            </script>
                                        </div>
@@ -212,6 +214,10 @@
                    //列设置
                    case 'set_HideColumn': get_HideColumnNoPage(HModName, sessionStorage["HUserName"], optionNeedCheck, get_FastQuery);
                        break;
                    //费用反保存按钮
                    case 'btn-MoneyDeSave':
                        set_SaveMoneyBill();
                        break;
                };
            });
            table.on('toolbar(mainTable)', function (obj) {
@@ -235,6 +241,7 @@
            //#region å®¡æ ¸
            form.on('submit(btnCheckSetupMoney)', function (data) {
                set_CheckBill("SetupMoneyCheck");
                set_CheckBill("OtherMoneyCheck");//审核安装附属费
                $('#btnCheckSetupMoney').prop('disabled', true).addClass('layui-btn-disabled');
            });
            form.on('submit(btnCheckOtherMoney)', function (data) {
@@ -259,7 +266,12 @@
                $('tr').attr({ "style": "background:" });
                $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                //obj.tr.find('.layui-form-radio').addClass('layui-form-radioed');
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTableNeedCheck, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
                //显示项目信息
                RoadBillMain(obj.data["HInterID"]);
                
@@ -564,6 +576,45 @@
            }
            //#endregion
            //#region è´¹ç”¨åä¿å­˜æ•°æ®
            function set_SaveMoneyBill() {
                var checkStatus = table.checkStatus('mainTableNeedCheck')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HInterID = data[0].HInterID.toString();
                    var params = get_UrlVars();
                    var openType = params[params[0]]; //从参数中获取 æ‰“开方式
                    var sql = "exec h_p_PM_ProjectBillUnSaveMoney " + HInterID + ",'" + openType+"'"
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/CommonModel/searchMethod", //方法所在页面和方法名
                        data: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck":"Pm_ProjectBill_edit" },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.data[0].message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    get_FastQuery();
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据驳回!');
                }
            }
            //#endregion
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectTaskNeedSaveQuery.html
@@ -247,6 +247,7 @@
            //#region ä¿å­˜
            form.on('submit(btnSaveSetupMoney)', function (data) {
                set_SaveBill("SetupMoneySave", $("#HTaskSetupMoney").val() == "" ? 0 : $("#HTaskSetupMoney").val());
                set_SaveBill("OtherMoneySave", $("#HTaskOtherMoney").val() == "" ? 0 : $("#HTaskOtherMoney").val());//安装审核费保存
                $('#btnSaveSetupMoney').prop('disabled', true).addClass('layui-btn-disabled');
            });
            form.on('submit(btnSaveOtherMoney)', function (data) {
@@ -736,6 +737,7 @@
                if (openType == "SetupMoney") {
                    $('#btnSaveSetupMoney').show();
                    $('#btnSearchHTaskSetupMoney').show();
                    $('#btnSearchHTaskOtherMoney').show();
                    //titleData.push("任务工费审核");
                    //titleData.push("任务考核费审核");
                    //titleData.push("任务附属费审核");