From 3d240d150e6e1a4e2df1a9f87d00ddd03ace4ee5 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期五, 17 一月 2025 10:06:37 +0800
Subject: [PATCH] 增加 BOM层级展开报表,修复全程追溯报表 黑白标页签导出失败,工艺路线的表头查询优化页面排序

---
 WebTM/views/项目管理/工程项目/PM_ProjectBillList.html |  541 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 501 insertions(+), 40 deletions(-)

diff --git "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillList.html" "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillList.html"
index ef35ff3..0be2646 100644
--- "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillList.html"
+++ "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillList.html"
@@ -14,11 +14,14 @@
     <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
     <script src="../../../layuiadmin/Scripts/webConfig.js"></script>-->
     <script src="../../../layuiadmin/layui/layui.js"></script>
+    <script src="../../../layuiadmin/HideButton_New.js"></script>
     <script src="../../../layuiadmin/Scripts/json2.js"></script>
     <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
     <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
     <script src="../../../layuiadmin/PubCustom.js"></script>
-
+    <script src="../../../layuiadmin/soulTable.slim.js"></script>
+    <script src="../../../layuiadmin/PageTitle.js"></script>
+    <script src="../../../layuiadmin/SetColumn.js"></script>
 </head>
 <body>
     <div class="layui-fluid">
@@ -36,25 +39,25 @@
                                 <div class="layui-inline">
                                     <label class="layui-form-label" style="width: 85px;">鍗曟嵁鍙�</label>
                                     <div class="layui-input-block" style="margin-left: 120px;">
-                                        <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
+                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBillNo" id="HBillNo">
                                     </div>
                                 </div>
                                 <div class="layui-inline">
                                     <label class="layui-form-label" style="width: 85px;">椤圭洰浠g爜</label>
                                     <div class="layui-input-block" style="margin-left: 120px;">
-                                        <input type="text" class="layui-input" name="HProNumber" id="HProNumber">
+                                        <input type="text" class="layui-input ForFilteringSchemes" name="HProNumber" id="HProNumber">
                                     </div>
                                 </div>
                                 <div class="layui-inline">
                                     <label class="layui-form-label" style="width: 85px;">椤圭洰鍚嶇О</label>
                                     <div class="layui-input-block" style="margin-left: 120px;">
-                                        <input type="text" class="layui-input" name="HProName" id="HProName">
+                                        <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">
+                                        <select name="HOrgID" id="HOrgID" lay-verify="HOrgID" class="ForFilteringSchemes">
                                             <!--鍔ㄦ�佹覆鏌撶粍缁�-->
                                         </select>
                                     </div>
@@ -63,17 +66,21 @@
                                     <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-row" style="margin-top:5px">
                                         <div class="layui-inline">
                                             <label class="layui-form-label">杩囨护</label>
                                             <div class="layui-input-block">
-                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
+                                                <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                                                 </select>
                                             </div>
                                         </div>
                                         <div class="layui-inline">
-                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
+                                            <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
                                                 <option value="0" selected="selected"></option>
                                                 <option value="=">=</option>
                                                 <option value=">=">>=</option>
@@ -88,32 +95,37 @@
                                             </select>
                                         </div>
                                         <div class="layui-inline">
-                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
+                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                         </div>
                                     </div>
                                 </div>
                             </div>
                         </div>
                         <table class="" id="mainTable" lay-filter="mainTable"></table>
+                        <div id="page" style="position: relative; bottom: 0;"></div>
                         <script type="text/html" id="toolbarDemo">
-                            <div class="layui-btn-container">
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>鏂板</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>缂栬緫</button>
+                            <div class="layui-btn-container" id="toolbarDemo_ButtonSet">
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew" id="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>鏂板</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill" id="set_ShowBill"><i class="layui-icon layui-icon-form"></i>缂栬緫</button>
                                 <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="get_view"><i class="layui-icon layui-icon-form"></i>娴忚</button>-->
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>鍒犻櫎</button>
-                                <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="btn-Audit"><i class="layui-icon layui-icon-radio"></i>瀹℃牳</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>鍙嶅鏍�</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Close"><i class="layui-icon layui-icon-radio"></i>鍏抽棴</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeClose"><i class="layui-icon layui-icon-radio"></i>鍙嶅叧闂�</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Drop"><i class="layui-icon layui-icon-radio"></i>浣滃簾</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeDrop"><i class="layui-icon layui-icon-radio"></i>鍙嶄綔搴�</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ProjectReport"><i class="layui-icon layui-icon-radio"></i>涓嬫帹(闃舵姹囨姤)</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_WorkTask"><i class="layui-icon layui-icon-radio"></i>涓嬫帹(宸ヤ綔浠诲姟)</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill" id="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>鍒犻櫎</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>鍒锋柊</button>
+                                <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-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>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeDrop" id="DeDrop"><i class="layui-icon layui-icon-radio"></i>鍙嶄綔搴�</button>
+                                <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="get_Exit"><i class="layui-icon layui-icon-logout"></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-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>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>淇濆瓨鏂规</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>璇诲彇鏂规</button>
                             </div>
                         </script>
                     </form>
@@ -126,7 +138,7 @@
             base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
         }).extend({
             index: 'lib/index', //涓诲叆鍙fā鍧�
-        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
+        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate','soulTable'], function () {
             //#region 鍏敤鍙橀噺
             var $ = layui.$
                 , admin = layui.admin
@@ -136,13 +148,40 @@
                 , element = layui.element
                 , laypage = layui.laypage
                 , laydate = layui.laydate
+                , soulTable = layui.soulTable
             var option = [];
             var sWhere = "";
             var HModName = "PM_ProjectBillList";
+            var optionPage = [];
+            var set_HideButton_ID = "toolbarDemo_ButtonSet";                    //闇�瑕佽缃殑鎸夐挳鐨勭埗绾ц妭鐐圭殑id
+            var HBillType = "4750";
+            //#region 銆愬姩鎬佽幏鍙栨ā鍧楀悕绉般��
+            var HModuleType = "4750";
+            //閫氳繃鍗曟嵁绫诲瀷锛屼粠鏁版嵁搴撳姩鎬佽幏鍙栧崟鎹ā鍧楀懡鍚�,寮曠敤js鏂囦欢 PageTitle.js
+            var HPageTitle = get_PageTitle(HModuleType) == "" ? document.title : get_PageTitle(HModuleType);
+        //#endregion
 
             //涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
             var titleData = ["HInterID","HCusID","HPMEmpID","HWorkEmpID","HDepEmpID","HPayCusID","HOrgID","HMaterID","HEntryID","HProjectStageID","HPMGoods","HEmpID","HPMGoodsID"];
             //#endregion
+
+            //#region 銆愯繃婊ゆ柟妗堛��
+
+            //杩囨护鏉′欢鐨刢lass绫� 
+            var HClassTag = "ForFilteringSchemes";
+            //妯″潡鍚嶇О锛堜腑鏂囩増锛� 姣忎釜妯″潡椤甸潰閮介渶瑕佷慨鏀�
+            window.HModuleName = "宸ョ▼椤圭洰缁存姢";
+            //鏄惁宸茬粡閫夋嫨浜嗚繃婊ゆ柟妗堬紙鍏ㄥ眬鍙橀噺锛�
+            window.HDefaultFilter = "";
+            //閫夋嫨鐨勮繃婊ゆ柟妗堝唴鐮侊紙鍏ㄥ眬鍙橀噺锛�
+            window.HInterID_Choose = 0;
+
+            //#endregion
+
+            var params = getUrlVars();
+            var UserName = params[params[2]];
+            UserName = decodeURI(UserName);//瀵筓RI 杩涜瑙g爜
+            var HBillSubType="椤圭洰绫�";
 
             //#region 杩涘叆椤甸潰鍗冲姞杞�
 
@@ -179,6 +218,10 @@
                     //鍙嶅鏍告寜閽�
                     case 'btn-DeAudit':
                         set_CheckBill(2);
+                        break;
+                    //鍙嶅鏍告寜閽�
+                    case 'btn-MoneyDeAudit':
+                        set_CheckMoneyBill("UnCheck");
                         break;
                     //鍏抽棴鎸夐挳        锛�1:鍏抽棴銆�2:鍙嶅叧闂級
                     case 'btn-Close':
@@ -218,6 +261,16 @@
                     //鍒楄缃�
                     case 'set_HideColumn': get_HideColumn();
                         break;
+                    //鎸夐挳璁剧疆
+                    case 'set_HideButton':
+                        get_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
+                        break;
+                    //淇濆瓨鏂规
+                    case 'set_SaveScheme': set_SaveScheme();
+                        break;
+                    //璇诲彇鏂规
+                    case 'set_ReadScheme': set_ReadScheme();
+                        break;
                 };
             });
             //#endregion
@@ -245,16 +298,29 @@
 
             //#region 閲嶇疆鎸夐挳
             form.on('submit(btnReSearch)', function (data) {
+                optionPage.curr = 1;
                 set_ClearQuery();
             });
             //#endregion
 
             //#region 鏌ヨ鎸夐挳
             form.on('submit(btnSearch)', function (data) {
+                optionPage.curr = 1;
                 get_FastQuery(2);
             });
             //#endregion
 
+            //#endregion
+
+
+            //#region 鍙屽嚮杩斿洖鏁版嵁
+            table.on('rowDouble(mainTable)', function (obj) {
+                var data = [];
+                data.push(obj.data);
+                parent.GetProjectBillValue(data);
+                var index = parent.layer.getFrameIndex(window.name);
+                parent.layer.close(index);
+            });
             //#endregion
 
             //#region 鏈〉闈㈡墍鏈夎璋冪敤鐨勬柟娉�
@@ -266,11 +332,9 @@
                 //鍒濆鍖栫粍缁�
                 Organ();
                 //鏌ヨ
-                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()鏂规硶鍒ゆ柇鏄惁鍏跺畠椤甸潰鎵撳紑鏈〉闈紝鑻ユ槸鍒欏鐞嗚繃婊ゆ潯浠讹紝骞惰繑鍥瀟rue
-                    get_FastQuery(2);
-                } else {
-                    get_FastQuery(1);
-                }
+                get_FastQuery();
+                //鏌ヨ褰撳墠鐧诲綍鐢ㄦ埛鏈夋病鏈夊湪褰撳墠妯″潡璁剧疆榛樿杩囨护鏂规
+                get_DefaultModule();
             }
             //#endregion
 
@@ -280,12 +344,35 @@
                     elem: '#mainTable'
                     , toolbar: '#toolbarDemo'
                     , height: 'full-50'
-                    , page: true
+                    , page: false
                     , totalRow: true
                     //, cellMinWidth: 90
                     , limit: 50
                     , limits: [50, 500, 5000, 50000]
+                    , done: function (res, curr, count) {
+                        soulTable.render(this);
+                    }
                 };
+                optionPage = {
+                    elem: 'page', //娉ㄦ剰锛岃繖閲岀殑 page 鏄� ID锛屼笉鐢ㄥ姞 # 鍙�
+                    count: 10000, //鏁版嵁鎬绘暟锛屼粠鏈嶅姟绔緱鍒�
+                    limit: 50,
+                    limits: [50, 500, 1000, 2000],
+                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
+                    jump: function (obj, first) {
+                        //console.log(obj)
+                        //obj鍖呭惈浜嗗綋鍓嶅垎椤电殑鎵�鏈夊弬鏁帮紝姣斿锛�
+                        //console.log(obj.curr); //寰楀埌褰撳墠椤碉紝浠ヤ究鍚戞湇鍔$璇锋眰瀵瑰簲椤电殑鏁版嵁銆�
+                        //console.log(obj.limit); //寰楀埌姣忛〉鏄剧ず鐨勬潯鏁�
+
+                        //棣栨涓嶆墽琛�
+                        if (!first) {
+                            //do something
+                            get_FastQuery();
+                        }
+                    }
+                }
+                laypage.render(optionPage);
             }
             //#endregion
 
@@ -319,6 +406,7 @@
                 $.ajax({
                     url: GetWEBURL() + '/PM_ProjectBill/list',
                     type: "GET",
+                    async: false,
                     data: { "sWhere": sWhere, "user": sessionStorage["HUserName"]},
                     success: function (data1) {
                         if (data1.count == 1) {
@@ -375,6 +463,79 @@
                 });
 
             }
+            //鍒嗛〉
+            function get_DisplayPage(sWhere) {
+                var ajaxLoad = layer.load();
+                //杩涘叆椤甸潰鏄剧ず鐨勭紦瀛樺垪琛�
+                $.ajax({
+                    url: GetWEBURL() + '/PM_ProjectBill/page',
+                    type: "GET",
+                    async: false,
+                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "page": optionPage.curr, "size": optionPage.limit },
+                    success: function (data1) {
+                        option.limit = optionPage.limit;//鏀瑰彉琛ㄦ牸椤靛ぇ灏�
+                        if (data1.code == 1) {
+                            optionPage.count = data1.count;//鏀瑰彉鍒楄〃鏁版嵁鎬绘暟
+                            var totalArray = ["鍚堝悓鎬婚噾棰�", "浜у搧璐�", "瀹炴柦璐�", "鍏跺畠璐圭敤", "鍚堝悓瀹炴柦浜哄ぉ", "棰勪及浜屾寮�鍙戜汉澶�", "缁撶畻閲戦", "闃舵涓氱哗鍗犳瘮"];
+                            var data = [];
+                            var col = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+                            col.push({ type: 'checkbox', fixed: 'left' });
+                            for (var i = 0; i < data.length; i++) {
+                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+                                if ($.inArray(data[i].name, titleData) > -1) {
+                                    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 });
+                                } else {
+                                    switch (data[i].Type) {
+                                        //int
+                                        case 'DateTime':
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            option.cols = [col];
+                            option.data = data1.data;
+                            laypage.render(optionPage);
+                            table.render(option);
+                            //鍒锋柊琛ㄦ牸鏁版嵁
+                            DisPlay_HideColumn();
+                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
+                                ColFilter();
+                            }
+                            Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
+                            layer.close(ajaxLoad);
+                        } else {
+                            layer.close(ajaxLoad);
+                            layer.alert(data1.code + data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(ajaxLoad);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+
+            //#endregion
+
+            //#region 鍙屽嚮杩斿洖鏁版嵁
+            table.on('rowDouble(mainTable)', function (obj) {
+                var data = [];
+                data.push(obj.data);
+                parent.GetProjectBillValue(data);
+                var index = parent.layer.getFrameIndex(window.name);
+                parent.layer.close(index);
+            });
             //#endregion
 
             //#region 蹇�熻繃婊�
@@ -409,7 +570,7 @@
                     }
                     sWhere += " and " + ColName + " " + com;
                 }
-                if (number == 1) {
+                if (addSWhereByOpenType()) {
                     HOrgID = sessionStorage["OrganizationID"];
                 }
                 else {
@@ -428,7 +589,13 @@
                 if (HOrgID) {
                     sWhere += " and HOrgID = '" + HOrgID + "'";
                 }
-                get_Display(sWhere);
+                if (number == 2) {
+                    if (HOrgID==null) {
+                        sWhere += " and 椤圭洰缁忕悊 = '" + UserName + "'  and  鍗曟嵁鐘舵�� != '宸插叧闂�' ";
+                    }
+                }
+                //addSWhereByOpenType();
+                get_DisplayPage(sWhere);
                 sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
             }
             //#endregion
@@ -454,9 +621,9 @@
                     type: 2
                     , skin: 'layui-layer-rim' //鍔犱笂杈规
                     , area: ['100%', '100%']
-                    , title: '宸ョ▼椤圭洰鍒楄〃-鏂板'
+                    , title: '鏂板' + HPageTitle
                     , shift: 0//寮瑰嚭鍔ㄧ敾
-                    , content: '../../椤圭洰绠$悊/宸ョ▼椤圭洰/PM_ProjectBill.html?OperationType=1&linterid=0&HSouceBillType='
+                    , content: '../../椤圭洰绠$悊/宸ョ▼椤圭洰/PM_ProjectBill.html?OperationType=1&linterid=0&HSouceBillType=&HBillSubType=' + HBillSubType
                     ,btn: ['纭畾'],
                     // 鎸夐挳1 鐨勫洖璋�
                     btn1: function (index, layero, that) {
@@ -477,9 +644,9 @@
                     layer.open({
                         type: 2
                         , area: ['100%', '100%']
-                        , title: '宸ョ▼椤圭洰鍒楄〃-缂栬緫'
+                        , title: '缂栬緫' + HPageTitle
                         , shift: 0//寮瑰嚭鍔ㄧ敾
-                        , content: '../../椤圭洰绠$悊/宸ョ▼椤圭洰/PM_ProjectBill.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='
+                        , content: '../../椤圭洰绠$悊/宸ョ▼椤圭洰/PM_ProjectBill.html?OperationType=3&linterid=' + linterid + '&HSouceBillType=&HBillSubType=' + HBillSubType
                         , btn: ['纭畾'],
                         // 鎸夐挳1 鐨勫洖璋�
                         btn1: function (index, layero, that) {
@@ -579,6 +746,42 @@
                         type: "GET",
                         url: GetWEBURL() + "/PM_ProjectBill/AuditPM_ProjectBill", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
                         data: { "HInterID": InterID, "Type": num, "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_CheckMoneyBill(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/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 () {
@@ -819,7 +1022,11 @@
                             dataCol = data1.data[0].HGridString.split(',');
 
                             for (var i = 0; i < option.cols[0].length - 1; i++) {
+                                if (dataCol.length <= i) {
+                                    break;
+                                }
                                 var dataCols = dataCol[i].split('|');
+
                                 //闅愯棌鍒�
                                 if (dataCols[1] == 1) {
                                     option.cols[0][i + 1]["hide"] = true;
@@ -917,23 +1124,277 @@
             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 == "宸ョ▼绫�") {
+                    sWhere += " and 鍗曟嵁瀛愮被鍨�='宸ョ▼绫�' "
+                } else if (HBillSubType == "浠诲姟绫�") {
+                    sWhere += " and 鍗曟嵁瀛愮被鍨�='浠诲姟绫�' "
+                }
                 if (openType == 2) {
                     sWhere += " and ISNULL(鍏抽棴浜�,'') = '' and ISNULL(浣滃簾浜�,'') = '' ";
                     $("#HOrgID").val(HOrgID);
                     form.render("select");
                     return true;
                 }
+                
                 return false;
             }
             //#endregion
 
-        });
+            //#region 銆愯繃婊ゆ柟妗堛��
+
+            //鑾峰彇褰撳墠鐢ㄦ埛鐨勯粯璁よ繃婊ゆ柟妗�
+            function get_DefaultModule() {
+                $.ajax({
+                    url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
+                    type: "GET",
+                    data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": 0, "Type": "Default" },
+                    success: function (data1) {
+                        if (data1.count == 1) {
+                            //褰撳墠鐢ㄦ埛璁剧疆鏈夐粯璁ょ殑杩囨护鏂规
+                            var data = data1.data;
+                            //褰撳墠閫夋嫨鐨勮繃婊ゆ柟妗�
+                            HInterID_Choose = data[0].hmainid;
+                            //杩囨护鏂规鍐呯爜
+                            HInterID = data[0].hmainid
+                            //杩囨护鏂规鍚嶇О
+                            HDefaultFilter = data[0].鏂规鍚嶇О
+                            //杩囨护鏂规鐨勫娉紙鏂规淇℃伅鎻忚堪锛�
+                            var HRemark = data[0].澶囨敞
+                            //鏄剧ず鍑哄綋鍓嶇殑榛樿杩囨护鏂规
+                            document.getElementById("HFilterScheme_Now").style.display = "block";
+                            document.getElementById('HFilterScheme_Now').innerHTML = "褰撳墠杩囨护鏂规锛�" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
+                            //鎶婅繃婊ゆ潯浠跺�煎洖鍐欏埌椤甸潰涓�
+                            for (let i = 0; i < data.length; i++) {
+                                $("#" + data[i].杩囨护瀛楁ID).val(data[i].杩囨护鍊�);
+                                if (data[i].杩囨护鏍囩绫诲瀷 == 'SELECT') {
+                                    $("#" + data[i].杩囨护瀛楁ID).find("option[value='" + data[i].杩囨护鍊� + "']").attr("selected", true);
+                                }
+                            }
+                            //鎵ц鏌ヨ鏂规硶
+                            get_FastQuery()
+                            form.render("select");
+                        } else {
+                            //褰撳墠鐢ㄦ埛娌℃湁璁剧疆榛樿鐨勮繃婊ゆ柟妗�
+                            //闅愯棌鏄剧ず杩囨护鏂规鐨勬爣绛句俊鎭�
+                            document.getElementById("HFilterScheme_Now").style.display = "none";
+                            //鎵ц鏌ヨ鏂规硶
+                            //get_FastQuery();
+                            form.render("select");
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+            //淇濆瓨鏂规
+            function set_SaveScheme() {
+                var index = layer.open()
+                //鍒ゆ柇鐢ㄦ埛鏄惁鐐瑰嚮浜嗗彸涓婅鐨勨�滃弶鍙封�濆叧闂脊绐楅〉闈�
+                var HIsClose_Manual = false;
+                //鑾峰彇鏈〉鎵�鏈夎繃婊ゆ潯浠跺璞�(class涓寘鍚�"ForFilteringSchemes"鐨勫厓绱�)
+                var Filter = document.getElementsByClassName(HClassTag);
+
+                var HFilterIdList = "";//杩囨护鏉′欢
+                var HFilterIdLists = "";//鎷兼帴澶氫釜杩囨护鏉′欢
+                var HValue = "";//杩囨护鍊�
+                var HElement_type = "";//杩囨护鏍囩绫诲瀷
+
+                for (var i = 0; i < Filter.length; i++) {
+                    HFilterIdList = Filter[i].id; //杩囨护鏉′欢ID
+                    HFilterIdLists += Filter[i].id + ","; //杩囨护鏉′欢ID(鎷兼帴)
+                    HValue += $("#" + HFilterIdList).val() + ","; //杩囨护鏉′欢涓緭鍏ョ殑鍊�                    
+                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//閫氳繃鏍囩id鑾峰彇鏍囩绫诲瀷
+                }
+
+                //鍘婚櫎鏈熬閫楀彿
+                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
+                HValue = HValue.substring(0, HValue.length - 1);
+                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
+
+                //褰撳墠椤甸潰涓婃病鏈夐�夋嫨杩囨护鏂规锛岃繘鍏ユ柊澧炴柟娉�
+                if (HDefaultFilter == "") {
+                    layer.open({
+                        type: 2
+                        , area: ['40%', '80%']
+                        , title: '杩囨护鏂规'
+                        , shift: 0//寮瑰嚭鍔ㄧ敾
+                        , content: '../../绯荤粺绠$悊/杩囨护鏂规璁剧疆/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
+                        , cancel: function () {
+                            // 鍙充笂瑙掑叧闂簨浠剁殑閫昏緫
+                            HIsClose_Manual = true;
+                        }
+                        , end: function () {
+                            if (HIsClose_Manual != true) {
+                                get_FastQuery();
+                                //鏄剧ず褰撳墠鐨勮繃婊ゆ柟妗�
+                                document.getElementById("HFilterScheme_Now").style.display = "block";
+                                document.getElementById('HFilterScheme_Now').innerHTML = "褰撳墠杩囨护鏂规锛�" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
+                            }
+                        }
+                    })
+                    layer.close(index)
+                } else {
+                    //褰撳墠椤甸潰宸叉湁杩囨护鏂规锛岀敤鎴烽�夋嫨 鏂板鎴栬�呯紪杈�
+                    layer.confirm('褰撳墠宸查�夋嫨杩囨护鏂规锛屾槸鍚︿慨鏀癸紵璇烽�夋嫨瀵瑰簲鎿嶄綔', {
+                        title: "鎿嶄綔鎻愮ず",
+                        icon: 0,
+                        btn: ['鏂板鏂规', '淇濆瓨淇敼褰撳墠鏂规', '鍙栨秷']
+                    }, function (index, layero) {
+                        //鏂板
+                        layer.open({
+                            type: 2
+                            , area: ['40%', '80%']
+                            , title: '杩囨护鏂规'
+                            , shift: 0//寮瑰嚭鍔ㄧ敾
+                            , content: '../../绯荤粺绠$悊/杩囨护鏂规璁剧疆/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
+                            , end: function () {
+                                get_FastQuery()
+                                //鏄剧ず褰撳墠鐨勮繃婊ゆ柟妗�
+                                document.getElementById("HFilterScheme_Now").style.display = "block";
+                                document.getElementById('HFilterScheme_Now').innerHTML = "褰撳墠杩囨护鏂规锛�" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
+                            }
+                        })
+                        layer.close(index)
+                    }, function (index) {
+                        //缂栬緫
+                        var Filter_Edit = document.getElementsByClassName(HClassTag); //鑾峰彇鏈〉鎵�鏈夎繃婊ゆ潯浠跺璞�(class涓寘鍚�"ForFilteringSchemes"鐨勫厓绱�)
+                        HFilterIdList = "";
+                        HFilterIdLists = "";
+                        HValue = "";
+                        HElement_type = "";
+                        for (var i = 0; i < Filter_Edit.length; i++) {
+                            HFilterIdList = Filter_Edit[i].id; //杩囨护鏉′欢ID
+                            HFilterIdLists += Filter_Edit[i].id + ","; //杩囨护鏉′欢ID(鎷兼帴)
+                            HValue += $("#" + HFilterIdList).val() + ","; //杩囨护鏉′欢涓緭鍏ョ殑鍊�
+                            HElement_type += document.getElementById(HFilterIdList).tagName + ",";//閫氳繃鏍囩id鑾峰彇鏍囩绫诲瀷
+                        }
+                        //鍘婚櫎鏈熬閫楀彿
+                        HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
+                        HValue = HValue.substring(0, HValue.length - 1);
+                        HElement_type = HElement_type.substring(0, HElement_type.length - 1);
+
+                        var sMainSub = HInterID_Choose + ';' + HFilterIdLists + ';' + HValue + ';' + HElement_type + ';' + sessionStorage["Czybm"] + ';' + 3;
+
+                        //淇敼
+                        $.ajax({
+                            type: "POST",
+                            url: GetWEBURL() + "/Xt_FastICScheme/save", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
+                            async: true,
+                            data: { "oMain": sMainSub },
+                            dataType: "json",
+                            success: function (data) {
+                                if (data.count == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 });
+                                }
+                                else {
+
+                                }
+                                layer.closeAll("loading");
+                            },
+                            error: function (err) {
+
+
+                            }
+                        });
+                        layer.close(index)
+                    }, function (index) {
+                        //鍙栨秷
+                        layer.alert('鍙栨秷')
+                        layer.close(index)
+                    });
+                }
+
+            }
+
+            //璇诲彇鏂规
+            function set_ReadScheme() {
+                var HIsClose_Manual = false;
+                var Filter = document.getElementsByClassName(HClassTag); //鑾峰彇鏈〉鎵�鏈夎繃婊ゆ潯浠跺璞�(class涓寘鍚�"ForFilteringSchemes"鐨勫厓绱�)
+
+                var HFilterIdList = "";
+                var HFilterIdLists = "";
+                var HValue = "";
+                var HElement_type = "";
+                for (var i = 0; i < Filter.length; i++) {
+                    HFilterIdList = Filter[i].id; //杩囨护鏉′欢ID
+                    HFilterIdLists += Filter[i].id + ","; //杩囨护鏉′欢ID(鎷兼帴)
+                    HValue += $("#" + HFilterIdList).val() + ","; //杩囨护鏉′欢涓緭鍏ョ殑鍊�
+                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//閫氳繃鏍囩id鑾峰彇鏍囩绫诲瀷
+                }
+                //鍘婚櫎鏈熬閫楀彿
+                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
+                HValue = HValue.substring(0, HValue.length - 1);
+                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
+
+                layer.open({
+                    type: 2
+                    , area: ['80%', '80%']
+                    , title: '杩囨护鏂规鍒楄〃'
+                    , shift: 0//寮瑰嚭鍔ㄧ敾
+                    , content: '../../绯荤粺绠$悊/杩囨护鏂规璁剧疆/Xt_FastICSchemeList.html?HType=Select&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type + '&HModuleName=' + HModuleName
+                    , cancel: function () {
+                        // 鍙充笂瑙掑叧闂簨浠剁殑閫昏緫
+                        HIsClose_Manual = true;
+                    }
+                    , end: function () {
+                        if (HIsClose_Manual != true) {
+                            get_FastQuery()
+                            form.render("select");
+                        }
+                    }
+                })
+            }
 
             //#endregion
 
-            //浠ヤ笂鏄痩ayui妯″潡
+        });
+
+        //#endregion
+
+        //浠ヤ笂鏄痩ayui妯″潡
+        //#region 銆愯繃婊ゆ柟妗堣繑鍥炴暟鎹��
+        function HFilterScheme(obj)  //杩斿洖杩囨护鏂规
+        {
+            var HInterID = obj[0].hmainid;
+            HInterID_Choose = obj[0].hmainid;
+            $.ajax({
+                url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
+                type: "GET",
+                data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": HInterID, "Type": "Select" },
+                success: function (data1) {
+                    if (data1.count == 1) {
+                        var data = data1.data;
+                        //璧嬪�艰繃婊ゆ柟妗堝悕绉�
+                        HDefaultFilter = data[0].鏂规鍚嶇О
+                        var HRemark = data[0].澶囨敞
+                        //鏄剧ず褰撳墠鐨勮繃婊ゆ柟妗�
+                        document.getElementById("HFilterScheme_Now").style.display = "block";
+                        document.getElementById('HFilterScheme_Now').innerHTML = "褰撳墠杩囨护鏂规锛�" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
+                        HInterID = data[0].hmainid
+                        //鏍规嵁閫夋嫨鐨勮繃婊ゆ柟妗堝洖濉暟鎹埌鍒楄〃杩囨护鏉′欢
+                        for (let i = 0; i < data.length; i++) {
+                            $("#" + data[i].杩囨护瀛楁ID).val(data[i].杩囨护鍊�);
+                            if (data[i].杩囨护鏍囩绫诲瀷 == 'SELECT') {
+                                $("#" + data[i].杩囨护瀛楁ID).find("option[value='" + data[i].杩囨护鍊� + "']").attr("selected", true);
+                            }
+                        }
+
+                    } else {
+                        layer.close(ajaxLoad);
+                        layer.alert(data1.code + data1.Message, { icon: 5 });
+                    }
+                }, error: function () {
+                    layer.close(ajaxLoad);
+                    layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                }
+            });
+        }
+        //#endregion
+
     </script>
 
 </body>

--
Gitblit v1.9.1