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 | 205 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 172 insertions(+), 33 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 7489ede..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,13 +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">
@@ -101,25 +102,28 @@
</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="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>
@@ -148,7 +152,9 @@
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
@@ -175,7 +181,7 @@
var params = getUrlVars();
var UserName = params[params[2]];
UserName = decodeURI(UserName);//瀵筓RI 杩涜瑙g爜
-
+ var HBillSubType="椤圭洰绫�";
//#region 杩涘叆椤甸潰鍗冲姞杞�
@@ -212,6 +218,10 @@
//鍙嶅鏍告寜閽�
case 'btn-DeAudit':
set_CheckBill(2);
+ break;
+ //鍙嶅鏍告寜閽�
+ case 'btn-MoneyDeAudit':
+ set_CheckMoneyBill("UnCheck");
break;
//鍏抽棴鎸夐挳 锛�1:鍏抽棴銆�2:鍙嶅叧闂級
case 'btn-Close':
@@ -251,6 +261,10 @@
//鍒楄缃�
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;
@@ -284,12 +298,14 @@
//#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
@@ -316,11 +332,7 @@
//鍒濆鍖栫粍缁�
Organ();
//鏌ヨ
- if (addSWhereByOpenType()) { //addSWhereByOpenType()鏂规硶鍒ゆ柇鏄惁鍏跺畠椤甸潰鎵撳紑鏈〉闈紝鑻ユ槸鍒欏鐞嗚繃婊ゆ潯浠讹紝骞惰繑鍥瀟rue
- get_FastQuery(2);
- } else {
- get_FastQuery(1);
- }
+ get_FastQuery();
//鏌ヨ褰撳墠鐧诲綍鐢ㄦ埛鏈夋病鏈夊湪褰撳墠妯″潡璁剧疆榛樿杩囨护鏂规
get_DefaultModule();
}
@@ -332,7 +344,7 @@
elem: '#mainTable'
, toolbar: '#toolbarDemo'
, height: 'full-50'
- , page: true
+ , page: false
, totalRow: true
//, cellMinWidth: 90
, limit: 50
@@ -341,6 +353,26 @@
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
@@ -431,6 +463,69 @@
});
}
+ //鍒嗛〉
+ 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 鍙屽嚮杩斿洖鏁版嵁
@@ -475,7 +570,7 @@
}
sWhere += " and " + ColName + " " + com;
}
- if (number == 1) {
+ if (addSWhereByOpenType()) {
HOrgID = sessionStorage["OrganizationID"];
}
else {
@@ -499,7 +594,8 @@
sWhere += " and 椤圭洰缁忕悊 = '" + UserName + "' and 鍗曟嵁鐘舵�� != '宸插叧闂�' ";
}
}
- get_Display(sWhere);
+ //addSWhereByOpenType();
+ get_DisplayPage(sWhere);
sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
}
//#endregion
@@ -527,7 +623,7 @@
, area: ['100%', '100%']
, 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) {
@@ -550,7 +646,7 @@
, area: ['100%', '100%']
, 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) {
@@ -650,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 () {
@@ -890,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;
@@ -990,12 +1126,19 @@
var params = getUrlVars();
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
@@ -1038,11 +1181,7 @@
//闅愯棌鏄剧ず杩囨护鏂规鐨勬爣绛句俊鎭�
document.getElementById("HFilterScheme_Now").style.display = "none";
//鎵ц鏌ヨ鏂规硶
- if (addSWhereByOpenType()) { //addSWhereByOpenType()鏂规硶鍒ゆ柇鏄惁鍏跺畠椤甸潰鎵撳紑鏈〉闈紝鑻ユ槸鍒欏鐞嗚繃婊ゆ潯浠讹紝骞惰繑鍥瀟rue
- get_FastQuery(2);
- } else {
- get_FastQuery(1);
- }
+ //get_FastQuery();
form.render("select");
}
}, error: function () {
--
Gitblit v1.9.1