From e192600a773d5b4afe4c5ad3d4a13773c0f61d29 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 26 五月 2025 09:18:31 +0800
Subject: [PATCH] 报表更新
---
WebTM/views/生产管理/日计划报表/MaterialShorAnalysisReport.html | 338 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 317 insertions(+), 21 deletions(-)
diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/MaterialShorAnalysisReport.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/MaterialShorAnalysisReport.html"
index 35796f3..979a3a6 100644
--- "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/MaterialShorAnalysisReport.html"
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/MaterialShorAnalysisReport.html"
@@ -5,13 +5,15 @@
<title>缂烘枡鍒嗘瀽鎶ヨ〃</title>
<link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+ <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
<script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
<script src="../../../layuiadmin/layui/layui.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/SetColumn.js"></script>
</head>
<body>
<div class="layui-fluid">
@@ -48,10 +50,93 @@
</div>
<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">鏌ヨ</button>
<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">閲嶇疆</button>
+ <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnExport" id="btnExport">瀵煎嚭</button>
<div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
- <div class="layui-row" style="margin-top:10px;">
-
- </div>
+ <!--<div class="layui-row" style="margin-top:10px;">
+ <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <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" class="ForFilteringSchemes" lay-filter="Comparator" 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 ForFilteringSchemes" value="" name="ColContent" id="ColContent">
+ </div>
+ </div>
+
+ <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <select name="ColName1" id="ColName1" class="ForFilteringSchemes" lay-filter="ColName1" style="width:190px;">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <select name="Comparator1" id="Comparator1" class="ForFilteringSchemes" 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 ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
+ </div>
+ </div>
+
+ <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <select name="ColName2" id="ColName2" class="ForFilteringSchemes" lay-filter="ColName2" style="width:190px;">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <select name="Comparator2" id="Comparator2" class="ForFilteringSchemes" 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 ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
+ </div>
+ </div>
+ </div>-->
</div>
</div>
</div>
@@ -76,7 +161,8 @@
base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
}).extend({
index: 'lib/index', //涓诲叆鍙fā鍧�
- }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util'], function () {
+ soulTable: '../ext/soulTable'
+ }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util','soulTable'], function () {
//#region 鍏敤鍙橀噺
var $ = layui.$
, admin = layui.admin
@@ -89,9 +175,11 @@
, util = layui.util
, tree = layui.tree
, util = layui.util
+ , soulTable = layui.soulTable
var sWhere = "";
var option = [];
var HModName = "MaterialShorAnalysisReport";
+ var ins; //鐢ㄤ簬瀵煎嚭excel
//#endregion
//#region 杩涘叆椤甸潰鍗冲姞杞�
@@ -108,7 +196,7 @@
switch (obj.event) {
//闅愯棌鍒楄缃�
case 'HideColumn':
- get_HideColumn();
+ get_HideColumnNoPageForPlan(HModName, option, get_FastQuery);
break;
};
});
@@ -126,6 +214,17 @@
});
//#endregion
+ //#region 瀵煎嚭鎸夐挳
+ form.on('submit(btnExport)', function (data) {
+ getExportData();
+ });
+ //#endregion
+
+ //鍙屽嚮琛ㄦ牸浜嬩欢
+ table.on('rowDouble(mainTable)', function (obj) {
+ btnrowDouble(obj.data);
+ })
+
//#endregion
//#region 鏈〉闈㈣璋冪敤鐨勬墍鏈夋柟娉�
@@ -137,11 +236,13 @@
$("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), 'yyyy-MM-dd'));
//鐢熶骇缁勭粐鍔犺浇
Organ();
+ //鍒濆鍖栬〃鏍�
+ set_InitGrid();
////鍒濆鍖栬〃鏍�
//set_InitGrid();
//蹇�熻繃婊�
get_FastQuery(1);
- DisPlay_HideColumn();
+ //ColFilter();
}
//#endregion
@@ -149,13 +250,13 @@
function set_InitGrid() {
var columns = [];
- columns.push({ type: 'checkbox', fixed: 'left' });
- columns.push({ field: 'HOrgName', title: '閲囪喘缁勭粐' });
- columns.push({ field: 'FNUMBER', title: '鐗╂枡缂栫爜' });
- columns.push({ field: 'HMaterName', title: '鐗╂枡鍚嶇О' });
- columns.push({ field: 'HMaterModel', title: '鐗╂枡瑙勬牸' });
- columns.push({ field: 'CountHQty', title: '鍚堣' });
- columns.push({ field: 'FBASEQTY', title: '鍗虫椂搴撳瓨鏁伴噺' });
+ columns.push({ field: 'HOrgName', title: '閲囪喘缁勭粐', sort: false, filter: true });
+ columns.push({ field: 'FNUMBER', title: '鐗╂枡缂栫爜', sort: false, filter: true });
+ columns.push({ field: 'HMaterName', title: '鐗╂枡鍚嶇О', sort: false, filter: true });
+ columns.push({ field: 'HMaterModel', title: '鐗╂枡瑙勬牸', sort: false, filter: true });
+ columns.push({ field: '鍦ㄩ�旀暟閲�', title: '鍦ㄩ�旀暟閲�', totalRow: true, filter: true });
+ columns.push({ field: 'CountHQty', title: '鍚堣', sort: false, filter: true });
+ columns.push({ field: 'FBASEQTY', title: '鍗虫椂搴撳瓨鏁伴噺', sort: false, totalRow: true, filter: true});
//鑾峰彇涓や釜鏈堟湡涔嬮棿鐨勭浉宸�
var time1 = Date.parse(new Date($("#HBEGINDATE").val()));//寮�濮嬫椂闂�
var time2 = Date.parse(new Date($("#HENDDATE").val()));//缁撴潫鏃堕棿
@@ -171,7 +272,7 @@
var k = 0;//鏀堕泦寰幆娆℃暟
for (var j = 0; j <= (Days - k); j++) {
- columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70 })
+ columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70, totalRow: true })
//璺ㄥ勾鐨勮瘽 浼氫粠涓�鏈堜竴鍙峰紑濮�
if (MM == 12 && (HBEGINDATE + j) == 31) {
yyyy += 1;
@@ -194,11 +295,13 @@
, height: 'full-50'
, page: true
, cellMinWidth: 90
- , limit: 50
- , limits: [50, 500, 5000, 20000]
+ , totalRow: true
+ , limit: 1000
+ , limits: [50, 500,1000, 5000, 20000]
, loading: false
, cols: [columns]
, done: function (res, page, count) {
+ soulTable.render(this);
var that = this.elem.next();
res.data.forEach(function (item, index) {
var NumCount = item.FBASEQTY;//鑾峰彇鎬诲簱瀛樻暟閲�
@@ -206,11 +309,16 @@
var dateNowTime = Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + i), 'yyyy-MM-dd');
if (item[dateNowTime] != null) {
if (NumCount > parseFloat(item[dateNowTime])) {
+ //搴撳瓨鏁伴噺>闇�姹傛暟閲忥細鍓╀綑鍙敤搴撳瓨鏁伴噺=搴撳瓨鏁伴噺-闇�姹傛暟閲�
NumCount -= parseFloat(item[dateNowTime]);
} else {
- var num = 6;//鍗虫椂搴撳瓨涓庢棩鏈熸尐鐫� 浠庡嵆鏃跺簱瀛樺紑濮嬬畻
+ //搴撳瓨鏁伴噺<闇�姹傛暟閲忥細鍓╀綑鍙敤搴撳瓨鏁伴噺=0
+ NumCount = 0;
+
+ var num = 7;//鍗虫椂搴撳瓨涓庢棩鏈熸尐鐫� 浠庡嵆鏃跺簱瀛樺紑濮嬬畻
tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']");
- rq = tr.children()[num + 1 + i];
+ //rq = tr.children()[num + 1 + i];
+ rq = tr.children()[num + i];
rq.style.color = '#f66161';//鐒跺悗鍙樿壊
rq = tr.children()[num];
rq.style.color = '#f66161';//鐒跺悗鍙樿壊
@@ -224,6 +332,21 @@
}
//#endregion
+ //鍙屽嚮璺宠浆榻愬鍒嗘瀽鏄庣粏琛�
+ function btnrowDouble(obj) {
+
+ var HMaterID = obj["鐗╂枡ID"];
+
+ layer.open({
+ type: 2 //绫诲瀷
+ , skin: 'layui-layer-rim'//鍔犱笂杈规
+ , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+ , area: ['90%', '90%']//澶у皬
+ , title: '榻愬鐗╂枡鍒嗘瀽鏄庣粏琛�'//鏍囬
+ , shift: 2//寮瑰嚭鍔ㄧ敾
+ , content: ['../../鐢熶骇绠$悊/榻愬鍒嗘瀽/JIT_CompleteMaterlDetailList.html?OperationType=1&HMaterID=' + HMaterID, 'yes']
+ })
+ }
//鑾峰彇缁勭粐
function Organ() {
@@ -257,6 +380,8 @@
success: function (result) {
if (result.count == 1) {
option.data = result.data;
+ //鍒楄缃�
+ DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option);
table.render(option);
layer.close(ajaxLoad);
//layer.alert("鏌ヨ鎴愬姛", { icon: 1 });
@@ -271,6 +396,79 @@
});
}
+ //#endregion
+
+ //#region 鑾峰彇瀵煎嚭鏁版嵁
+ function getExportData() {
+ var data;//瀵煎嚭鐨勬暟鎹�
+ var ajaxLoad = layer.load();
+ var HORGID = $("#HORGID").val();//缁勭粐
+ var HBEGINDATE = $("#HBEGINDATE").val();//鎻愭枡鏃ユ湡
+ var HENDDATE = $("#HENDDATE").val();//鑷�
+ //var HMATERIALID = $("#HMATERIALID").val();//鐗╂枡/浜у搧
+ //var HSUPPLIERID = $("#HSUPPLIERID").val();//渚涘簲鍟�
+ //var HXQD = $("#HXQD").val();//闇�姹傚崟鍙�
+ //var HPURORDERNO = $("#HPURORDERNO").val();//閲囪喘璁㈠崟鍙�
+ 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 (HBEGINDATE > HENDDATE) {
+ return layer.msg("寮�濮嬫棩鏈熶笉鑳藉皬浜庣粨鏉熸棩鏈�!");
+ }
+
+ sWhere = {
+ HORGID: HORGID
+ , HBEGINDATE: HBEGINDATE
+ , HENDDATE: HENDDATE
+ //, HMATERIALID: HMATERIALID
+ //, HSUPPLIERID: HSUPPLIERID
+ //, HXQD: HXQD
+ //, HPURORDERNO: HPURORDERNO
+ }
+
+ $.ajax({
+ url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/MaterialShorAnalysisReport',
+ type: "GET",
+ data: { "sWhere": JSON.stringify(sWhere) },//, "user": sessionStorage["HUserName"]
+ success: function (result) {
+ if (result.count == 1) {
+ data = result.data;
+
+ option.data = data;
+ ins = table.render(option);
+
+ data.forEach((item) => {
+ for (let itemobj in item) {
+ if (item[itemobj] == null) {
+ item[itemobj] = "";
+ }
+ if (item[itemobj].length > 0) { // 鍋囪瀛楁鍚嶄负field
+ item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, ''); // 灏嗘崲琛岀鏇挎崲涓虹┖瀛楃涓�
+ }
+ }
+ });
+
+ table.exportFile(ins.config.id, data, "xls");
+
+ layer.close(ajaxLoad);
+ } else {
+ layer.close(ajaxLoad);
+ layer.alert(result.code + result.Message, { icon: 5 });
+ }
+ }, error: function () {
+ layer.close(ajaxLoad);
+ layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+ }
+ });
+
+ sWhere = "";
+ }
//#endregion
//#region 蹇�熻繃婊�
@@ -288,7 +486,80 @@
//var HSUPPLIERID = $("#HSUPPLIERID").val();//渚涘簲鍟�
//var HXQD = $("#HXQD").val();//闇�姹傚崟鍙�
//var HPURORDERNO = $("#HPURORDERNO").val();//閲囪喘璁㈠崟鍙�
+ 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 = "";
+ switch (Comparator) {
+ case "7":
+ com = "like'%" + ColContent + "%'";
+ break;
+ case "8":
+ com = "like'%" + ColContent + "'";
+ break;
+ case "9":
+ com = "like'" + ColContent + "%'";
+ break;
+ case "10":
+ com = "not like'%" + ColContent + "%'";
+ break;
+ default:
+ com = "" + Comparator + "'" + ColContent + "'";
+ break;
+ }
+ 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 = "" + Comparator + "'" + ColContent + "'";
+ break;
+ }
+ sWhere += " and " + ColName2 + " " + com2;
+ }
if (HBEGINDATE > HENDDATE) {
return layer.msg("寮�濮嬫棩鏈熶笉鑳藉皬浜庣粨鏉熸棩鏈�!");
}
@@ -302,8 +573,7 @@
//, HXQD: HXQD
//, HPURORDERNO: HPURORDERNO
}
- //鍒濆鍖栬〃鏍�
- set_InitGrid();
+
get_Display(JSON.stringify(sWhere));
sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
}
@@ -320,6 +590,15 @@
//$("#HSUPPLIERNAME").val("");
//$("#HXQD").val("");//闇�姹傚崟鍙�
//$("#HPURORDERNO").val("");//閲囪喘璁㈠崟鍙�
+ $("#ColContent").val("");
+ $("#ColName").val("0");
+ $("#Comparator").val("0");
+ $("#ColContent1").val("");
+ $("#ColName1").val("0");
+ $("#Comparator1").val("0");
+ $("#ColContent2").val("");
+ $("#ColName2").val("0");
+ $("#Comparator2").val("0");
form.render('select');
sWhere = "";
}
@@ -479,6 +758,23 @@
}
})
}
+ //鍒楁槑鏄剧ず涓嬫媺妗�
+ function ColFilter() {
+ var Organization = '<option value="0" selected="selected" ></option>';
+ for (var i = 1; i < option.cols[0].length; i++) {
+ if (option.cols[0][i].hide != true) {
+ Organization += '<option style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
+ }
+ }
+ $("#ColName").empty();
+ $("#ColName").append(Organization);
+ $("#ColName1").empty();
+ $("#ColName1").append(Organization);
+ $("#ColName2").empty();
+ $("#ColName2").append(Organization);
+
+ form.render('select');
+ }
//#endregion
//浠ヤ笂鏄痩ayui妯″潡
--
Gitblit v1.9.1