From 0705cb6170a9ba77ba48bbb6dcebb9cf3d73cbea Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 14 十月 2025 02:12:25 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js | 276 ++++++++++++++++++++++++++++++++++--------------------
1 files changed, 174 insertions(+), 102 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js"
index e43f901..5a7c805 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js"
@@ -1,113 +1,185 @@
-
//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+import { el } from "element-plus/es/locales.mjs";
+
let extension = {
- components: {
- //鏌ヨ鐣岄潰鎵╁睍缁勪欢
- gridHeader: '',
- gridBody: '',
- gridFooter: '',
- //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
- modelHeader: '',
- modelBody: '',
- modelFooter: ''
- },
- tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
- buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
- methods: {
- //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
- onInit() {
- let InOrder = this.buttons.find(x => x.value == 'StockOutbound');
- if (InOrder) {
- InOrder.onClick = function () {
- let rows = this.$refs.table.getSelected();
- if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
- if (rows.length > 1) return this.$error("璇烽�夋嫨鍗曟潯鏁版嵁!");
- var keys = rows.map(x => { return x.stockId });
- this.http
- .post("api/Task/Outbound?id="+keys[0], null, "鏁版嵁澶勭悊涓�")
- .then((x) => {
- if (!x.status) return this.$message.error(x.message);
- this.$message.success("鎿嶄綔鎴愬姛");
- this.refresh();
- });
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: '',
+ gridBody: '',
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+ onInit() {
+
+ let SelectTake = this.buttons.find(x => x.value == 'SelectStockTake');
+ if (SelectTake) {
+ SelectTake.onClick = function () {
+ let stockViews = this.$refs.table.getSelected();
+ this.http
+ .post("api/Task/TakeOutbound",stockViews, "鏁版嵁澶勭悊涓�")
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.refresh();
+ });
+ }
+ }
+ 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;
}
}
- 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;
+ 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 == '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;
- }
- }
- if (column.field == 'materielInfo') {
- const today = new Date()
- column.formatter = (row) => {
- 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;
+ }
+ 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((date - today) / (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>';
+ const daysRemaining = Math.ceil((closestDate - today) / (1000 * 60 * 60 * 24));
+
+ row.expiryDays = daysRemaining;
+
+ if (daysRemaining <= 0) {
+ return '<span style="color:rgb(30, 27, 27)">鏃犱繚璐ㄦ湡</span>';
+ } else {
+ return '<span style="color: #F56C6C">' + daysRemaining + "澶�" + '</span>';
+ }
+ } else {
+ row.expiryDays = null;
+ return '<span style="color:rgb(24, 18, 18)">鏃犱繚璐ㄦ湡</span>';
+ }
+ }
+ }
+
+ if (column.field == 'inventoryage') {
+ const today = new Date()
+ column.formatter = (row) => {
+ if (row.details.length > 0) {
+ const closestDate = row.details
+ .map(x => {
+ const date = new Date(x.createDate);
+ const ageInDays = Math.ceil((today - date) / (1000 * 60 * 60 * 24));
+ return { date, ageInDays };
+ })
+ .reduce((closest, current) => (current.ageInDays < closest.ageInDays ? current : closest))
+ .date;
+
+ const inventoryAge = Math.ceil((today - closestDate) / (1000 * 60 * 60 * 24));
+
+ row.inventoryAge = inventoryAge;
+
+ return `${inventoryAge} 澶ー;
+ }
+ // 濡傛灉娌℃湁鏄庣粏锛岃繑鍥炵┖鎴栨彁绀轰俊鎭�
+ return '-';
+ }
+ }
+ 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: rgb(24, 18, 18)">' + sum.toFixed(3) + row.details[0].unit + '</span>';
+ } else {
+ return '<span style="color: rgb(24, 18, 18)">' + "1涓�" + '</span>';
+ }
+
+ }
+ }
+ })
+ this.columns.forEach((column) => {
+ column.cellStyle = (row) => {
+ if (row.expirationlabel !== undefined && row.expirationlabel !== null) {
+ if (row.expirationlabel === 2) {
+ return { background: 'yellow' };
+ } else if (row.expirationlabel === 3) {
+ return { background: '#ffc0cb' };
}
}
- })
- },
- onInited() {
- //妗嗘灦鍒濆鍖栭厤缃悗
- //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
- //this.detailOptions.columns.forEach(column=>{ });
- },
- searchBefore(param) {
- //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
- //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
- return true;
- },
- searchAfter(result) {
- //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
- return true;
- },
- addBefore(formData) {
- //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
- return true;
- },
- updateBefore(formData) {
- //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
- return true;
- },
- rowClick({ row, column, event }) {
- //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
- this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
- },
- modelOpenAfter(row) {
- //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
- //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
- //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
- //(3)this.editFormFields.瀛楁='xxx';
- //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
- //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
- }
+ return {};
+ };
+ });
+
+ },
+ onInited() {
+ //妗嗘灦鍒濆鍖栭厤缃悗
+ //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+ //this.detailOptions.columns.forEach(column=>{ });
+ this.detailOptions.summary = true;
+ this.detailOptions.columns.forEach(x => {
+ if (x.field == 'stockQuantity') {
+ x.summary = true;
+ //璁$畻骞冲潎鍊�
+ // x.summary = 'avg';//2023.05.03鏇存柊voltable鏂囦欢鍚庢墠鑳戒娇鐢�
+ //璁剧疆灏忔暟鏄剧ず浣嶆暟(榛樿2浣�)
+ // x.numberLength = 4;
+ }
+ });
+ },
+ searchBefore(param) {
+ //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+ //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+ return true;
+ },
+ searchAfter(result) {
+ //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+ return true;
+ },
+ addBefore(formData) {
+ //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+ return true;
+ },
+ updateBefore(formData) {
+ //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+ return true;
+ },
+ rowClick({ row, column, event }) {
+ //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+ this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+ },
+ modelOpenAfter(row) {
+ //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+ //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+ //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+ //(3)this.editFormFields.瀛楁='xxx';
+ //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+ //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
}
- };
- export default extension;
-
\ No newline at end of file
+ }
+};
+export default extension;
\ No newline at end of file
--
Gitblit v1.9.3