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 @@
+
+
+
+
+
+
库存统计
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file