From dc06f58d8ed537555fd529551180f43a0586ec3f Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期日, 22 六月 2025 11:44:43 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn --- 代码管理/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js | 286 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 169 insertions(+), 117 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 a009b54..b8c502e 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,123 +1,175 @@ //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 -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(); - // }); - // } - // } - 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; - } - } - 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; +import { el } from "element-plus/es/locales.mjs"; - const daysSinceClosest = Math.ceil(Math.abs((today - closestDate) / (1000 * 60 * 60 * 24))); - return '<span style="color: #F56C6C">'+ daysSinceClosest+"澶�"+'</span>'; - } - } - if (column.field == 'sumStock') { - column.formatter = (row) => { - var sum=0; - const closestDate = row.details - .map(x => { - sum+=(x.stockQuantity) - }) - return '<span style="color: #F56C6C">'+ sum+row.details[0].unit+'</span>'; - } - } - }) - }, - 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) +let extension = { + 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; + } + } + 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((date - today) / (1000 * 60 * 60 * 24)); // 鏀逛负璁$畻鍓╀綑澶╂暟 + return { date, diffInDays }; + }) + .reduce((closest, current) => (current.diffInDays < closest.diffInDays ? current : closest)) + .date; + + 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>'; + } } - }; - export default extension; - \ No newline at end of file + + + } + 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.toFixed(3) + row.details[0].unit + '</span>'; + } else { + return '<span style="color: #F56C6C">' + "1涓�" + '</span>'; + } + + } + } + }) + this.columns.forEach((column) => { + column.cellStyle = (row) => { + // 鍙鐞嗘湁淇濊川鏈熸暟鎹殑鎯呭喌 + if (row.expiryDays !== null && row.expiryDays !== undefined) { + if (row.expiryDays <= 0) { + return { background: 'red' }; // 绾㈣壊鑳屾櫙锛堝凡杩囨湡锛� + } else if (row.expiryDays <= 30) { + return { background: 'yellow' }; // 榛勮壊鑳屾櫙锛堜复鏈燂級 + } + } + return {}; // 榛樿鏃犺儗鏅壊 + }; + + + + + //濡傛灉鏍规嵁琛岀殑鏌愪釜鍊艰缃暣琛岄鑹� + //璁剧疆鏁磋鑳屾櫙棰滆壊 + // x.cellStyle = (row, rowIndex, columnIndex) => { + // if (row.ProductCode == '10044464880643') { + // return { background: '#ddecfd' }; + // } + // }; + }); + }, + 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; -- Gitblit v1.9.3