From 9a4ef7e8ce72556cd99dcbbe352127f1691daf05 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Thu, 14 Nov 2024 10:18:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/init.json | 6 + js/accessory/inventory_statistics_list.js | 298 ++++++++++++++++++ page/accessory/child/pro_count_detail.html | 2 +- page/accessory/inventory_statistics_list.html | 124 ++++++++ 4 files changed, 429 insertions(+), 1 deletion(-) create mode 100644 js/accessory/inventory_statistics_list.js create mode 100644 page/accessory/inventory_statistics_list.html diff --git a/api/init.json b/api/init.json index a836e86..10e9069 100644 --- a/api/init.json +++ b/api/init.json @@ -81,6 +81,12 @@ "icon": "fa fa-tachometer", "target": "_self" }, + { + "title": "工程统计", + "href": "page/accessory/inventory_statistics_list.html", + "icon": "fa fa-tachometer", + "target": "_self" + }, { "title": "配件入库", "href": "page/accessory/accessory_store_list.html", diff --git a/js/accessory/inventory_statistics_list.js b/js/accessory/inventory_statistics_list.js new file mode 100644 index 0000000..b9e0c33 --- /dev/null +++ b/js/accessory/inventory_statistics_list.js @@ -0,0 +1,298 @@ +let form, table, element; +let tableIns; +let pageNum = 1; // 定义分页 +layui.use(["form", "table"], function () { + form = layui.form; + table = layui.table; + element = layui.element; + // 动态插入进度条元素 + /* $("#num-progress").after(` +
+
+
+ `); + $("#num-progress2").after(` +
+
+
+ `); + $("#num-progress3").after(` +
+
+
+ `); */ + element.render(); + initTable(); + getStatistics(); +}); + +// 数据概览 +function getStatistics() { + let url = dataUrl + 'backstage/planOut/getStatistics'; + ajaxRequest(url, "POST", null, true, function () { + }, function (result) { + console.log(result); + if (result.code === 200) { + setNum(result.data); + } + }, function (xhr, status, error) { + errorFn(xhr, status, error) + }, null); + + // 数据概览赋值 + function setNum(obj) { + $('#totalNum').html(obj.needNum); + $('#dfhNum').html(obj.dfhNum); + $('#fhNum').html(obj.fhNum); + $('#overNum').html(obj.overNum); + $('#noPlanNum').html(obj.noPlanNum); + /* $('#dfh').html(obj.dfh + '%'); + $('#yfh').html(obj.yfh + '%'); + let dfh = obj.dfh; + let yfh = obj.yfh; + $("#num-progress").after(` +
+
+
+ `); + $("#num-progress2").after(` +
+
+
+ `); + $("#num-progress3").after(` +
+
+
+ `); */ + } +} + +// 查询/重置 +function queryTable(type) { + if (type === 1) { + reloadTable(1); + } else if (type === 2) { + $('#proName').val(''); + $('#status').val('0'); + layui.form.render(); + reloadTable(1); + } +} + +// 刷新页面数据 +function reloadData() { + reloadData(pageNum); +} + +// 重载表格 +function reloadTable(pageNum) { + table.reload("currentTableId", { + page: { + curr: pageNum ? pageNum : 1, + }, + where: { + encryptedData: JSON.stringify({ + 'proName': $('#proName').val(), + 'status': $('#status').val() + }), + }, + }, + ); +} + +// 初始化表格 +function initTable() { + tableIns = table.render({ + elem: "#currentTableId", + id: 'currentTableId', + headers: { + authorization: sessionStorage.getItem("gz-token"), + }, + height: "full-350", + url: dataUrl + "backstage/planOut/getProPlanPage", + where: { + encryptedData: JSON.stringify({ + 'proName': $('#proName').val(), + 'status': $('#status').val() + }), + }, + request: { + pageName: 'pageNum', + limitName: 'pageSize' + }, + parseData: function (res) { // res 即为原始返回的数据 + return { + "code": 0, // 解析接口状态 + "msg": '获取成功', // 解析提示文本 + "count": res.total, // 解析数据长度 + "data": res.list // 解析数据列表 + }; + }, + cols: [ + [ + { + width: '5%', + title: "序号", + align: "center", + templet: function (d) { + return d.LAY_NUM; + }, + }, + { + field: "proName", + width: '20%', + title: "工程名称", + unresize: true, + align: "center", + }, + { + field: "planNum", + width: '10%', + title: "需求计划数量", + unresize: true, + align: "center", + templet: function (d) { + let html = ""; + html += "" + setNumColor(d.planNum) + ""; + return html; + }, + }, + { + field: "recordNum", + width: '10%', + title: "出库单数量 ", + unresize: true, + align: "center", + templet: function (d) { + return setNumColor(d.recordNum); + }, + }, + { + field: "status", + title: "发货状态", + width: '10%', + unresize: true, + align: "center", + templet: function (d) { + return setStatusColor(d.status); + }, + }, + { + field: "lastDay", + width: '15%', + title: "最后发货时间", + unresize: true, + align: "center", + }, + { + field: "progress", + width: '19.85%', + title: "进度", + unresize: true, + align: "center", + templet: schedule, + }, + { + title: "操作", + width: '10%', + align: "center", + unresize: true, + templet: function (d) { + let html = ""; + html += "详情"; + html += "
|
发货"; + return html; + }, + }, + ], + ], + limits: [10, 15, 20, 25, 50, 100], + limit: 10, + page: true, + done: function (res, curr, count) { + pageNum = tableIns.config.page.curr; + element.render(); + table.resize("currentTableId"); + }, + }); +} + +// 数量颜色 +function setNumColor(value) { + return '' + value + ""; +} + +// 发货状态颜色 +function setStatusColor(value) { + value = value ? parseInt(value) : 0; + let color = "#409Eff"; + let name = '' + if (value === 0) { + color = "#f56c6c"; + name = '未发货'; + } else if (value === 1) { + color = "#ff9900"; + name = '部分发货' + } else if (value === 2) { + color = "#19be6b"; + name = '全部发货' + } + return '' + name + ""; +} + +// 设置进度值 +function schedule(d) { + d.progress = parseFloat(d.progress); + d.filter == undefined ? (d.filter = d.LAY_NUM) : d.filter; + d.progress == undefined ? (d.progress = 100) : d.progress; + var color = "layui-bg-orange"; + if (d.progress < 100) { + color = "layui-bg-orange"; + } else if (d.progress === 100) { + color = "layui-bg-primary"; + } else if (d.progress > 100) { + color = "layui-bg-blue"; + } + //设置页面进度条 + return ( + '
' + + '
' + + "
" + ); +} + +// 导出 +function exportExcel() { + let params = { + 'proName': $('#proName').val(), + 'status': $('#status').val() + } + let url = dataUrl + "backstage/export/exportFhList"; + exportExcelUtil(url, '机具公司发货数据', JSON.stringify(params)); +} + +// 发货详情 +function deliveryDetail(obj) { + openIframeByParamObj("deliveryDetail", "详情", "../demandPlan/child/delivery_detail_list.html", "92%", "95%", obj); +} + +// 发货 +function sendGoods(obj) { + openIframeByParamObj("sendGoods", "发货", "../demandPlan/child/send_goods_form.html", "92%", "95%", obj); +} + +// type 1.总需求量 2.待发货量 3.已发货量 +function openViewData(type) { + openIframeByParam("viewData", "数据概览", "../demandPlan/child/view_data_list.html", "92%", "95%", type); +} + +// type 1.超库存量 2.计划外量 +function earlyInfo(type) { + openIframeByParam("viewData", "预警信息", "../demandPlan/child/early_info_list.html", "92%", "95%", type); +} + +// 需求计划 +function view_plan(obj) { + openIframeByParamObj("view_plan", "需求计划", "../demandPlan/child/demand_plan_detail_list.html", "92%", "95%", obj); +} \ No newline at end of file diff --git a/page/accessory/child/pro_count_detail.html b/page/accessory/child/pro_count_detail.html index b0467da..9b73782 100644 --- a/page/accessory/child/pro_count_detail.html +++ b/page/accessory/child/pro_count_detail.html @@ -38,7 +38,7 @@

-

+

diff --git a/page/accessory/inventory_statistics_list.html b/page/accessory/inventory_statistics_list.html new file mode 100644 index 0000000..e48d248 --- /dev/null +++ b/page/accessory/inventory_statistics_list.html @@ -0,0 +1,124 @@ + + + + + + 库存统计 + + + + + + + + + + +
+
+
+ 数据预览 +
+
+
+
+

总需求计划量

+

0

+
+
+ +
+
+
+
+
+
+

待发货量

+

+ +
+
+ +
+
+
+
+
+
+

已发货量

+

+ +
+
+ +
+
+
+
+

预警信息

+
+

超库存量

+

0

+
+
+

计划外量

+

0

+
+ +
+
+
+
+ 搜索信息 +
+
+
+
+
+ +
+
+
+
+ + + +
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file