From 257d09aff7ec7b858b037607869d23ec61ac75bc Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期二, 19 八月 2025 09:03:49 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js | 238 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 172 insertions(+), 66 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
index 87fa048..24cec15 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
@@ -1,5 +1,9 @@
//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
import gridBody from './extend/materielcodeprintView.vue'
+import modelHeader from './extend/materielcodeSelectView.vue'
+import modelBody from './extend/purchaseOrderNoSelectView.vue'
+import modelFooter from './extend/GetOrderQuantityView.vue'
+import modelSpec from './extend/GetOrderMaterielSpec.vue'
let extension = {
components: {
//鏌ヨ鐣岄潰鎵╁睍缁勪欢
@@ -7,9 +11,10 @@
gridBody: gridBody,
gridFooter: '',
//鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
- modelHeader: '',
- modelBody: '',
- modelFooter: ''
+ modelHeader: modelHeader,
+ modelBody: modelBody,
+ modelFooter: modelFooter,
+ modelSpec: modelSpec
},
tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
@@ -33,72 +38,136 @@
let day = String(date.getDate()).padStart(2, "0");
return year + "-" + month + "-" + day;
},
- // 鏂板鏂规硶锛氬姞杞界墿鏂欑紪鍙锋暟鎹�
- async loadMaterielCodes(option) {
- try {
- option.loading = true;
- const { page, pageSize, keyword } = option.pagination;
- const res = await this.http.post("/api/PurchaseOrderDetail/GetPurchaseOrderDetailMaterielCode", {
- warehouseId: this.editFormFields.warehouseId,
- keyword,
- page,
- pageSize
- }, true);
-
- if (res.status) {
- option.pagination.total = res.total || res.data.length;
- const newData = res.data.map(item => ({ key: item, value: item }));
- option.data = page === 1 ? newData : [...option.data, ...newData];
- }
- } catch (error) {
- this.$error("鏁版嵁鍔犺浇澶辫触");
- } finally {
- option.loading = false;
- }
- },
//涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
onInit() { //妗嗘灦鍒濆鍖栭厤缃墠锛�
this.$nextTick(() => {
- let warehouseIdOption = this.getOption("warehouseId");
- let materielCodeOption = this.getOption("materielCode");
- let purchaseOrderNoOption = this.getOption("purchaseOrderNo");
- let materielQueryOption = this.getOption("materielQuery");
- warehouseIdOption.onChange = (val, option) => {
- this.editFormFields.materielCode = "";
- materielCodeOption.data = [];
- this.editFormFields.purchaseOrderNo = "";
- purchaseOrderNoOption.data = [];
- if (val == null || val == 0) {
- return this.$error("璇烽�夋嫨浠撳簱锛�")
- }
- this.http.post("/api/PurchaseOrderDetail/GetPurchaseOrderDetailMaterielCode?warehouseId=" + val, {}, true).then(
- source => {
- if (!source.status) return this.$error(source.message);
- this.$nextTick(() => {
+ this.editFormOptions.forEach((option) => {
+ option.forEach((item) => {
+ if (item.field == 'materielCode') {
+ //鍒濆鍖栧脊鍑烘閫夋嫨鍣ㄩ厤缃�
+ item.extra = {
+ icon: 'el-icon-zoom-out', //鏄剧ず鍥炬爣
+ text: '閫夋嫨鏁版嵁', //鏄剧ず鏂囨湰
+ style: 'color: #3a8ee6;font-size: 13px;cursor: pointer;',
+ //瑙﹀彂浜嬩欢
+ click: (item) => {
+ this.$refs.modelHeader.open(this.editFormFields.warehouseId);
+ }
+ };
+ }
+ });
+ });
+ this.editFormOptions.forEach((option) => {
+ option.forEach((item) => {
+ if (item.field == 'purchaseOrderNo') {
+ //鍒濆鍖栧脊鍑烘閫夋嫨鍣ㄩ厤缃�
+ item.extra = {
+ icon: 'el-icon-zoom-out', //鏄剧ず鍥炬爣
+ text: '閫夋嫨鏁版嵁', //鏄剧ず鏂囨湰
+ style: 'color: #3a8ee6;font-size: 13px;cursor: pointer;',
+ //瑙﹀彂浜嬩欢
+ click: (item) => {
+ this.$refs.modelBody.open(this.editFormFields.materielCode);
+ }
+ };
+ }
+ });
+ });
+ this.editFormOptions.forEach((option) => {
+ option.forEach((item) => {
+ if (item.field == 'quantity') {
+ //鍒濆鍖栧脊鍑烘閫夋嫨鍣ㄩ厤缃�
+ item.extra = {
+ icon: 'el-icon-zoom-out', //鏄剧ず鍥炬爣
+ text: '閲囪喘鍗曟渶澶ф暟閲�', //鏄剧ず鏂囨湰
+ style: 'color: #3a8ee6;font-size: 13px;cursor: pointer;',
+ //瑙﹀彂浜嬩欢
+ click: (item) => {
+ this.$refs.modelFooter.open(this.editFormFields.purchaseOrderNo);
+ }
+ };
+ }
+ });
+ });
+ this.editFormOptions.forEach((option) => {
+ option.forEach((item) => {
+ if (item.field == 'materielSpec') {
+ //鍒濆鍖栧脊鍑烘閫夋嫨鍣ㄩ厤缃�
+ item.extra = {
+ icon: 'el-icon-zoom-out', //鏄剧ず鍥炬爣
+ text: '閫夋嫨鐗╂枡瑙勬牸', //鏄剧ず鏂囨湰
+ style: 'color: #3a8ee6;font-size: 13px;cursor: pointer;',
+ //瑙﹀彂浜嬩欢
+ click: (item) => {
+ this.$refs.modelSpec.open(this.editFormFields.purchaseOrderNo,this.editFormFields.materielCode);
+ }
+ };
+ }
+ });
+ });
+ // warehouseIdOption.onChange = (val, option) => {
+ // this.editFormFields.materielCode = "";
+ // materielCodeOption.data = [];
+ // this.editFormFields.purchaseOrderNo = "";
+ // purchaseOrderNoOption.data = [];
+ // if (val == null || val == 0) {
+ // return this.$error("璇烽�夋嫨浠撳簱锛�")
+ // }
+ // this.http.post("/api/PurchaseOrderDetail/GetPurchaseOrderDetailMaterielCode?warehouseId=" + val, {}, true).then(
+ // source => {
+ // if (!source.status) return this.$error(source.message);
+ // this.$nextTick(() => {
- for (let i = 0; i < source.data.length; i++) {
- materielCodeOption.data.push({ key: source.data[i], value: source.data[i] })
- }
- })
- })
- }
- materielCodeOption.onChange = (val, option) => {
- this.editFormFields.purchaseOrderNo = "";
- purchaseOrderNoOption.data = [];
- if (val == null || val == 0) {
- return this.$error("璇烽�夋嫨鐗╂枡缂栧彿锛�")
- }
- this.http.post("/api/PurchaseOrderDetail/GetPurchaseOrderNos?materielCode=" + val, {}, true).then(
- source => {
- if (!source.status) return this.$error(source.message);
- this.$nextTick(() => {
- for (let i = 0; i < source.data.length; i++) {
- purchaseOrderNoOption.data.push({ key: source.data[i], value: source.data[i] })
- }
- });
- })
- }
+ // for (let i = 0; i < source.data.length; i++) {
+ // materielCodeOption.data.push({ key: source.data[i], value: source.data[i] })
+ // }
+ // })
+ // })
+ // }
+ // materielCodeOption.onChange = (val, option) => {
+ // this.editFormFields.purchaseOrderNo = "";
+ // purchaseOrderNoOption.data = [];
+ // if (val == null || val == 0) {
+ // return this.$error("璇烽�夋嫨鐗╂枡缂栧彿锛�")
+ // }
+ // this.http.post("/api/PurchaseOrderDetail/GetPurchaseOrderNos?materielCode=" + val, {}, true).then(
+ // source => {
+ // if (!source.status) return this.$error(source.message);
+ // this.$nextTick(() => {
+ // for (let i = 0; i < source.data.length; i++) {
+ // purchaseOrderNoOption.data.push({ key: source.data[i], value: source.data[i] })
+ // }
+ // });
+ // })
+ // }
});
+
+ // 椤甸潰鍔犺浇鏃跺垵濮嬪寲宸查珮浜殑琛�
+ const initHighlightedRows = () => {
+ try {
+ const highlightedRowIds = localStorage.getItem('highlightedRowIds');
+ if (highlightedRowIds) {
+ this.highlightedRowIds = JSON.parse(highlightedRowIds);
+ } else {
+ this.highlightedRowIds = [];
+ }
+ } catch (e) {
+ console.error('Failed to load highlighted rows from localStorage:', e);
+ this.highlightedRowIds = [];
+ }
+ };
+
+ // 淇濆瓨楂樹寒琛孖D鍒版湰鍦板瓨鍌�
+ const saveHighlightedRows = () => {
+ try {
+ localStorage.setItem('highlightedRowIds', JSON.stringify(this.highlightedRowIds));
+ } catch (e) {
+ console.error('Failed to save highlighted rows to localStorage:', e);
+ }
+ };
+
+ // 鍦ㄧ粍浠跺垵濮嬪寲鏃惰皟鐢�
+ initHighlightedRows();
this.columns.push({
field: '鎿嶄綔',
@@ -108,12 +177,45 @@
align: 'center',
formatter: (row) => {
return (
- '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-printer">鎵撳嵃</i>'
+ '<i style="cursor: pointer;color: #2d8cf0;" class="el-icon-printer">鎵撳嵃</i>'
);
},
click: (row) => {
+ // 鎵撳紑璇︽儏
this.$refs.gridBody.open(row);
+ // 鑾峰彇琛岀殑鍞竴鏍囪瘑锛堝亣璁緍ow.id鏄敮涓�ID锛�
+ const rowId = row.id;
+ // 娣诲姞鍒板凡楂樹寒鍒楄〃
+ if (!this.highlightedRowIds.includes(rowId)) {
+ this.highlightedRowIds.push(rowId);
+ // 淇濆瓨鍒版湰鍦板瓨鍌�
+ saveHighlightedRows();
+ // 鍒锋柊琛ㄦ牸浠ュ簲鐢ㄦ牱寮�
+ this.$refs.gridBody.refresh();
+ }
}
+ });
+
+ // 閰嶇疆cellStyle
+ this.columns.forEach((column) => {
+ // 淇濆瓨鍘熸湁鐨刢ellStyle鍑芥暟
+ const originalCellStyle = column.cellStyle;
+
+ column.cellStyle = (row) => {
+ // 鍏堝簲鐢ㄥ師鏈夌殑鏍峰紡閫昏緫
+ let style = originalCellStyle ? originalCellStyle(row) : {};
+
+ // 濡傛灉琛岃鏍囪涓洪珮浜紝鍒欐坊鍔犵豢鑹茶儗鏅�
+ if (this.highlightedRowIds.includes(row.id)) {
+ style = {
+ ...style,
+ background: '#d4edda',
+ color: '#155724'
+ };
+ }
+
+ return style;
+ };
});
},
onInited() {
@@ -155,7 +257,11 @@
let year = date.getFullYear();
let month = String(date.getMonth() + 1).padStart(2, "0");
let day = String(date.getDate()).padStart(2, "0");
- this.editFormFields.lotNo = year + month + day;
+ let hour= String(date.getHours()).padStart(2, "0");
+ let minute= String(date.getMinutes()).padStart(2, "0");
+ let second= String(date.getSeconds()).padStart(2, "0");
+ //灏唝ear鎴彇鍚庝袱浣�
+ this.editFormFields.lotNo = (year.toString().substr(-2)) + month+day + hour + minute+second;
this.editFormFields.productionDate = year + "-" + month + "-" + day;
this.editFormFields.effectiveDate = year + 2 + "-" + month + "-" + day;
}
--
Gitblit v1.9.3