From f29f358f589f5b1c2589c07b65845650be7aafef Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期一, 08 十二月 2025 21:21:08 +0800
Subject: [PATCH] 代码优化
---
项目代码/WIDESEA_WMSClient/src/extension/stock/stockView.js | 164 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 108 insertions(+), 56 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/stock/stockView.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/stock/stockView.js"
index 047c354..6e73be0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/stock/stockView.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/stock/stockView.js"
@@ -31,65 +31,117 @@
// });
// }
// }
- // this.columns.forEach(column => {
- // if (column.field == 'materielCode') {
- // column.formatter = (row) => {
- // var str = '';
- // var list = row.materielCode.split(',');
- // for (let index = 0; index < list.length; index++) {
- // str += list[index] + '<br>';
- // }
- // return str = list[0] == "" ? "绌虹" : str;
- // }
- // }
- // if (column.field == 'batchNo') {
- // column.formatter = (row) => {
- // var str = '';
- // var list = row.batchNo.split(',');
- // for (let index = 0; index < list.length; index++) {
- // str += list[index] + '<br>';
- // }
- // return str = list[0] == "" ? "鏃�" : str;
- // }
- // }
- // if (column.field == 'materielInfo') {
- // const today = new Date()
- // column.formatter = (row) => {
- // if (row.details.length > 0) {
- // const today = new Date();
- // const closestDate = row.details
- // .map(x => {
- // const date = new Date(x.effectiveDate);
- // const diffInDays = Math.ceil(Math.abs((today - date) / (1000 * 60 * 60 * 24)));
- // return { date, diffInDays };
- // })
- // .reduce((closest, current) => (current.diffInDays < closest.diffInDays ? current : closest))
- // .date;
+ this.columns.forEach(column => {
+ // if (column.field == 'materielCode') {
+ // column.formatter = (row) => {
+ // var str = '';
+ // var list = row.materielCode.split(',');
+ // for (let index = 0; index < list.length; index++) {
+ // str += list[index] + '<br>';
+ // }
+ // return str = list[0] == "" ? "绌虹" : str;
+ // }
+ // }
+ // if (column.field == 'batchNo') {
+ // column.formatter = (row) => {
+ // var str = '';
+ // var list = row.batchNo.split(',');
+ // for (let index = 0; index < list.length; index++) {
+ // str += list[index] + '<br>';
+ // }
+ // return str = list[0] == "" ? "鏃�" : str;
+ // }
+ // }
+ // if (column.field == 'materielInfo') {
+ // const today = new Date()
+ // column.formatter = (row) => {
+ // if (row.details.length > 0) {
+ // const today = new Date();
+ // const closestDate = row.details
+ // .map(x => {
+ // const date = new Date(x.effectiveDate);
+ // const diffInDays = Math.ceil(Math.abs((today - date) / (1000 * 60 * 60 * 24)));
+ // return { date, diffInDays };
+ // })
+ // .reduce((closest, current) => (current.diffInDays < closest.diffInDays ? current : closest))
+ // .date;
- // const daysSinceClosest = Math.ceil(Math.abs((today - closestDate) / (1000 * 60 * 60 * 24)));
- // return '<span style="color: #F56C6C">' + daysSinceClosest + "澶�" + '</span>';
- // } else {
- // return '<span style="color: #F56C6C">' + "鏃犱繚璐ㄦ湡" + '</span>';
- // }
+ // const daysSinceClosest = Math.ceil(Math.abs((today - closestDate) / (1000 * 60 * 60 * 24)));
+ // return '<span style="color: #F56C6C">' + daysSinceClosest + "澶�" + '</span>';
+ // } else {
+ // return '<span style="color: #F56C6C">' + "鏃犱繚璐ㄦ湡" + '</span>';
+ // }
- // }
- // }
- // if (column.field == 'sumStock') {
- // column.formatter = (row) => {
- // if (row.details.length > 0) {
- // var sum = 0;
- // const closestDate = row.details
- // .map(x => {
- // sum += (x.stockQuantity)
- // })
- // return '<span style="color: #F56C6C">' + sum + row.details[0].unit + '</span>';
- // } else {
- // return '<span style="color: #F56C6C">' + "1涓�" + '</span>';
- // }
+ // }
+ // }
+ if (column.field == 'sumStock') {
+ column.formatter = (row) => {
+ if (row.details.length > 0) {
+ var sum = 0;
+ const closestDate = row.details
+ .map(x => {
+ sum += (x.stockQuantity)
+ })
+ return '<span style="color: #F56C6C">' + sum + row.details[0].unit + '</span>';
+ } else {
+ return '<span style="color: #F56C6C">' + "1涓�" + '</span>';
+ }
- // }
- // }
- // })
+ }
+ }
+ if (column.field === 'orderStatistics') {
+ column.formatter = (row) => {
+ // 鏍¢獙details鏄惁瀛樺湪涓旀湁鏁版嵁
+ if (row.details && row.details.length > 0) {
+ // 鎸塵aterielCode鍒嗙粍缁熻stockQuantity鎬诲拰锛屽苟璁板綍鍗曚綅锛堝彇绗竴涓潪绌哄崟浣嶏級
+ const materielSumMap = row.details.reduce((acc, item) => {
+ const materielCode = item.materielCode || '鏈煡鐗╂枡';
+ const quantity = Number(item.stockQuantity) || 0;
+ const unit = item.unit || ''; // 鑾峰彇鍗曚綅锛屾棤鍒欎负绌�
+
+ // 绱姞鏁伴噺
+ acc[materielCode] = {
+ total: (acc[materielCode]?.total || 0) + quantity,
+ unit: acc[materielCode]?.unit || unit // 淇濈暀绗竴涓潪绌哄崟浣�
+ };
+ return acc;
+ }, {});
+
+ // 姣忎釜鐗╂枡椤圭敓鎴愮嫭绔媎iv锛岃法琛屾樉绀猴紙鍖呭惈鍗曚綅锛�
+ const displayItems = Object.entries(materielSumMap).map(([code, data]) => {
+ // 澶勭悊鍗曚綅鏄剧ず锛氭湁鍗曚綅鍒欏姞绌烘牸鏄剧ず锛屾棤鍒欎笉鏄剧ず
+ const unitText = data.unit ? ` ${data.unit}` : '';
+ return `<div style="line-height: 1.5; white-space: normal;">${code}锛�${data.total}${unitText}</div>`;
+ });
+ const displayContent = displayItems.join('');
+ return `<div style="color: #F56C6C; white-space: normal; word-break: break-all;">${displayContent}</div>`;
+ } else {
+ return '<span style="color: #F56C6C">绌虹</span>';
+ }
+ };
+ }
+ if (column.field == 'stockOrderNo') {
+ column.formatter = (row) => {
+ // 鏈夋槑缁嗘暟鎹椂澶勭悊
+ if (row.details && row.details.length > 0) {
+ // 鎻愬彇鎵�鏈夐潪绌虹殑orderNO骞跺幓閲�
+ const uniqueOrderNOs = [...new Set(
+ row.details.map(item => item.orderNo).filter(no => no) // 杩囨护绌哄崟鎹彿
+ )];
+
+ // 鏈夋湁鏁堝崟鎹彿鍒欐崲琛屾樉绀猴紝鍚﹀垯鏄剧ず榛樿鏂囨湰
+ if (uniqueOrderNOs.length > 0) {
+ return `<span style="color: #F56C6C">${uniqueOrderNOs.join('<br>')}</span>`;
+ } else {
+ return '<span style="color: #F56C6C">鏆傛棤鍗曟嵁</span>';
+ }
+ } else {
+ // 鏃犳槑缁嗘暟鎹椂鏄剧ず榛樿鏂囨湰
+ return '<span style="color: #F56C6C">鏆傛棤鍗曟嵁</span>';
+ }
+ }
+ }
+ })
},
onInited() {
//妗嗘灦鍒濆鍖栭厤缃悗
--
Gitblit v1.9.3