1
wtt
2025-12-29 3425237a2b54ca28fc3e3c5f7c35a7fbef4e15fa
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectBillList.html
@@ -22,6 +22,7 @@
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
</head>
<body>
    <div class="layui-fluid">
@@ -34,6 +35,25 @@
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">日期间隔</label>
                                    <div class="layui-input-block">
                                        <select name="HInitTimeCycle" id="HInitTimeCycle" class="ForFilteringSchemes" lay-filter="HInitTimeCycle" style="width:190px;">
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">开始日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input ForFilteringSchemes" id="HBeginDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">结束日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input ForFilteringSchemes" id="HEndDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
@@ -54,23 +74,33 @@
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HProName" id="HProName">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">组织</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HOrgID" id="HOrgID" lay-verify="HOrgID" class="ForFilteringSchemes">
                                            <!--动态渲染组织-->
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <!--显示当前过滤方案-->
                                <div class="layui-inline" style="margin-left:5px;">
                                    <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393" id="HFilterScheme_Now"></div>
                                </div>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label">单据号</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input ForFilteringSchemes" name="HBillno2" id="HBillno2" style="width:190px;">
                                        </div>
                                    </div>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnResCnz" id="btnResCnz" style="padding:0 5px">重新同步</button>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">组织</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                            <select name="HOrgID" id="HOrgID" lay-verify="HOrgID" class="ForFilteringSchemes">
                                                <!--动态渲染组织-->
                                            </select>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
@@ -98,6 +128,60 @@
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName1" id="ColName1" lay-filter="ColName1" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator1" id="Comparator1" lay-filter="Comparator1" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent1" id="ColContent1">
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName2" id="ColName2" lay-filter="ColName2" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator2" id="Comparator2" lay-filter="Comparator2" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent2" id="ColContent2">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
@@ -113,6 +197,7 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit" id="Audit"><i class="layui-icon layui-icon-radio"></i>审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit" id="DeAudit"><i class="layui-icon layui-icon-circle"></i>反审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-MoneyDeAudit" id="MoneyDeAudit"><i class="layui-icon layui-icon-circle"></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="btn-Close" id="Close"><i class="layui-icon layui-icon-radio"></i>关闭</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeClose" id="DeClose"><i class="layui-icon layui-icon-radio"></i>反关闭</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Drop" id="Drop"><i class="layui-icon layui-icon-radio"></i>作废</button>
@@ -120,7 +205,7 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ProjectReport" id="set_ProjectReport"><i class="layui-icon layui-icon-radio"></i>下推(阶段汇报)</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_WorkTask" id="set_WorkTask"><i class="layui-icon layui-icon-radio"></i>下推(工作任务)</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop"><i class="layui-icon layui-icon-radio"></i>禁用</button>
    <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>反禁用</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>反禁用</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button>
@@ -167,7 +252,7 @@
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //过滤条件的classç±»
            //过滤条件的classç±»
            var HClassTag = "ForFilteringSchemes";
            //模块名称(中文版) æ¯ä¸ªæ¨¡å—页面都需要修改
            window.HModuleName = "工程项目维护";
@@ -222,6 +307,10 @@
                    //反审核按钮
                    case 'btn-MoneyDeAudit':
                        set_CheckMoneyBill("UnCheck");
                        break;
                    //费用反保存按钮
                    case 'btn-MoneyDeSave':
                        set_SaveMoneyBill("UnSave");
                        break;
                    //关闭按钮        ï¼ˆ1:关闭、2:反关闭)
                    case 'btn-Close':
@@ -303,6 +392,69 @@
            });
            //#endregion
            table.on('tool(mainTable)', function (obj) {
                var data = obj.data;
                if (obj.event == '单据号') {
                    var linterid = data.HInterID.toString();
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '编辑' + HPageTitle
                        , shift: 0//弹出动画
                        , content: '../../项目管理/工程项目/PM_ProjectBill.html?OperationType=3&linterid=' + linterid + '&HSouceBillType=&HBillSubType=' + HBillSubType
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        btn1: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                }
            });
            //日期间隔下拉列表监听
            form.on('select(HInitTimeCycle)', function (data) {
                var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
                //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
                if (HInitTimeCycle != -1) {
                    $('#HBeginDate').prop('disabled', true);
                    $('#HEndDate').prop('disabled', true);
                    $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
                    $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                    //执行查询方法
                    get_FastQuery();
                } else {
                    $('#HBeginDate').prop('disabled', false);
                    $('#HEndDate').prop('disabled', false);
                }
            });
            //重新同步按钮
            form.on('submit(btnResCnz)', function (data) {
                var HBillno2 = $('#HBillno2').val();
                var sql = "exec h_p_IFCLD_ERPSourceBillToLocal_ProjectBill '" + HBillno2 + "'" ;
                $.ajax({
                    url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sql },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.msg(data1.Message, { time: 1 * 1000, icon: 1 }, function () {
                                //修改为功后刷新界面
                                get_FastQuery(2);
                            });
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            });
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                optionPage.curr = 1;
@@ -327,6 +479,14 @@
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化日期间隔、开始日期、结束日期
                setSelect_HInitTimeCycle();
                //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
                var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
                //根据日期间隔设置开始时间与结束时间
                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化表格
                set_InitGrid();
                //初始化组织
@@ -490,6 +650,13 @@
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if (data[i].name == '单据号') {//添加超链接
                                    col.push({
                                        field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: '单据号', templet: function (d) {
                                            return '<span style="color: blue;">' + d.单据号 + '</span>'
                                        }, style: 'cursor: pointer;'
                                    });
                                }
                                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 });
                                } else {
@@ -541,13 +708,23 @@
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(number) {
                var HOrgID = "";
                var HDate = $("#HBeginDate").val();//开始日期
                var HDate1 = $("#HEndDate").val();//结束日期
                var HBillNo = $("#HBillNo").val();  //单据号
                var HProNumber = $("#HProNumber").val();//项目代码
                var HProName = $("#HProName").val();//项目名称
                var HDeptID = sessionStorage["HDeptID"];
                //任意字段过滤
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                var ColName1 = $("#ColName1").val();//复选框
                var Comparator1 = $("#Comparator1").val()
                var ColContent1 = $("#ColContent1").val();
                var ColName2 = $("#ColName2").val();//复选框
                var Comparator2 = $("#Comparator2").val()
                var ColContent2 = $("#ColContent2").val();
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
@@ -570,13 +747,59 @@
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (ColName1 != 0 && Comparator1 != 0) {
                    var com1 = "";
                    switch (Comparator1) {
                        case "7":
                            com1 = "like'%" + ColContent1 + "%'";
                            break;
                        case "8":
                            com1 = "like'%" + ColContent1 + "'";
                            break;
                        case "9":
                            com1 = "like'" + ColContent1 + "%'";
                            break;
                        case "10":
                            com1 = "not like'%" + ColContent1 + "%'";
                            break;
                        default:
                            com1 = "" + Comparator1 + "'" + ColContent1 + "'";
                            break;
                    }
                    sWhere += " and " + ColName1 + " " + com1;
                }
                if (ColName2 != 0 && Comparator2 != 0) {
                    var com2 = "";
                    switch (Comparator2) {
                        case "7":
                            com2 = "like'%" + ColContent2 + "%'";
                            break;
                        case "8":
                            com2 = "like'%" + ColContent2 + "'";
                            break;
                        case "9":
                            com2 = "like'" + ColContent2 + "%'";
                            break;
                        case "10":
                            com2 = "not like'%" + ColContent2 + "%'";
                            break;
                        default:
                            com2 = "" + Comparator2 + "'" + ColContent2 + "'";
                            break;
                    }
                    sWhere += " and " + ColName2 + " " + com2;
                }
                if (addSWhereByOpenType()) {
                    HOrgID = sessionStorage["OrganizationID"];
                }
                else {
                    HOrgID = $("#HOrgID").val();//组织
                }
                if (HBillSubType == "任务类") {
                    if (HDeptID != 0) {
                        sWhere += " and HDeptID = '" + HDeptID + "'";
                    }
                }
                if (HBillNo) {
                    sWhere += " and å•据号 like '%" + HBillNo + "%'";
                }
@@ -588,6 +811,12 @@
                }
                if (HOrgID) {
                    sWhere += " and HOrgID = '" + HOrgID + "'";
                }
                if (HDate) {
                    sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + HDate + "'";
                }
                if (HDate1) {
                    sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + HDate1 + "'";
                }
                if (number == 2) {
                    if (HOrgID==null) {
@@ -609,6 +838,12 @@
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                $("#ColContent2").val("");
                $("#ColName2").val("0");
                $("#Comparator2").val("0");
                $("#ColContent1").val("");
                $("#ColName1").val("0");
                $("#Comparator1").val("0");
                form.render('select');
                sWhere = "";
@@ -782,6 +1017,42 @@
                        type: "GET",
                        url: GetWEBURL() + "/PM_ProjectBill/AuditTaskMoney", //方法所在页面和方法名
                        data: { "HInterID": InterID, "Type": type, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region è´¹ç”¨åä¿å­˜æ•°æ®
            function set_SaveMoneyBill(type) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HInterID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/PM_ProjectBill/SaveTaskMoney", //方法所在页面和方法名
                        data: { "HInterID": InterID, "Type": type, "user": sessionStorage["HUserName"],"HMoney":0 },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
@@ -1104,6 +1375,10 @@
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                $("#ColName1").empty();
                $("#ColName1").append(Organization);
                $("#ColName2").empty();
                $("#ColName2").append(Organization);
                form.render('select');
            }
            //#endregion
@@ -1124,7 +1399,7 @@
            function addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                HBillSubType = (decodeURI(params[params[2]]) != "工程类" && decodeURI(params[params[2]]) != "任务类") ? "项目类" : decodeURI(params[params[2]]);//若解码后type不为工程或任务强制变为项目
                if (HBillSubType == "工程类") {
@@ -1138,8 +1413,26 @@
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
            //#region åˆå§‹æ—¥æœŸé—´éš” ä¸‹æ‹‰åˆ—表
            function setSelect_HInitTimeCycle() {
                var valueList = [0, 1, 2, 3, 4, 5, 6, 29, 180, 365];
                var titleList = ["今天", "近两天", "近三天", "近四天", "近五天", "近六天", "近七天", "近30天", "近半年", "近一年"];
                var HInitTimeCycle_ArrayList = '<option  value="-1" selected="selected" >任意间隔</option>';
                for (var i = 0; i < valueList.length; i++) {
                    HInitTimeCycle_ArrayList += '<option  style="color:blue;" value="' + valueList[i] + '">' + titleList[i] + '</option>';
                }
                $("#HInitTimeCycle").empty();
                $("#HInitTimeCycle").append(HInitTimeCycle_ArrayList);
                form.render('select');
                $("#HInitTimeCycle").val("365");
            }
            //#endregion
@@ -1206,7 +1499,7 @@
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }