From 1e8ca092e08494e78c398c6262aff94ac5a5bb22 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期四, 04 十二月 2025 10:42:58 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu
---
项目代码/WIDESEA_WMSClient/src/views/outbound/BatchPickingConfirm.vue | 608 +++++++++++++++++++++++++++++++-----------------------
1 files changed, 351 insertions(+), 257 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/BatchPickingConfirm.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/BatchPickingConfirm.vue"
index b73d987..c98438a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/BatchPickingConfirm.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/BatchPickingConfirm.vue"
@@ -92,7 +92,7 @@
</div>
<!-- 鎷嗗寘寮圭獥 -->
- <div v-if="showCustomSplitDialog" class="custom-dialog-overlay">
+ <div v-show="showCustomSplitDialog" class="custom-dialog-overlay">
<div class="custom-dialog-wrapper">
<div class="custom-dialog">
<div class="custom-dialog-header">
@@ -154,7 +154,7 @@
</div>
<!-- 鎾ら攢鎷嗗寘寮圭獥 -->
- <div v-if="showRevertSplitDialog" class="custom-dialog-overlay">
+ <div v-show="showRevertSplitDialog" class="custom-dialog-overlay">
<div class="custom-dialog-wrapper">
<div class="custom-dialog">
<div class="custom-dialog-header">
@@ -214,7 +214,7 @@
</div>
<!-- 鎷嗗寘閾句俊鎭脊绐� -->
-<div v-if="showSplitChainDialog" class="custom-dialog-overlay">
+<div v-show="showSplitChainDialog" class="custom-dialog-overlay">
<div class="custom-dialog-wrapper">
<div class="custom-dialog" style="width: 750px;">
<div class="custom-dialog-header">
@@ -501,11 +501,87 @@
{ required: true, message: '璇疯緭鍏ユ墭鐩樼爜', trigger: 'blur' }
]
},
+ // 寮圭獥鐘舵�� - 鏀逛负浣跨敤瀵硅薄绠$悊锛岄伩鍏嶅悓鏃舵墦寮�澶氫釜寮圭獥
+ dialogs: {
+ customSplit: false,
+ revertSplit: false,
+ splitChain: false,
+ batchReturn: false,
+ emptyPallet: false
+ },
+ // 鍔犺浇鐘舵��
+ loading: {
+ split: false,
+ revertSplit: false,
+ batchReturn: false,
+ emptyPallet: false,
+ splitChain: false
+ },
+
+ // 褰撳墠娲诲姩鐨勫脊绐楃被鍨�
+ activeDialog: null,
isProcessing: false
}
},
computed: {
+ // 璁$畻灞炴�ф槧灏勫埌dialogs瀵硅薄
+ showCustomSplitDialog: {
+ get() { return this.dialogs.customSplit; },
+ set(val) {
+ this.dialogs.customSplit = val;
+ this.activeDialog = val ? 'customSplit' : null;
+ }
+ },
+ showRevertSplitDialog: {
+ get() { return this.dialogs.revertSplit; },
+ set(val) {
+ this.dialogs.revertSplit = val;
+ this.activeDialog = val ? 'revertSplit' : null;
+ }
+ },
+ showSplitChainDialog: {
+ get() { return this.dialogs.splitChain; },
+ set(val) {
+ this.dialogs.splitChain = val;
+ this.activeDialog = val ? 'splitChain' : null;
+ }
+ },
+ showBatchReturnDialog: {
+ get() { return this.dialogs.batchReturn; },
+ set(val) {
+ this.dialogs.batchReturn = val;
+ this.activeDialog = val ? 'batchReturn' : null;
+ }
+ },
+ showEmptyPalletDialog: {
+ get() { return this.dialogs.emptyPallet; },
+ set(val) {
+ this.dialogs.emptyPallet = val;
+ this.activeDialog = val ? 'emptyPallet' : null;
+ },
+ },
+ // 鍔犺浇鐘舵�佹槧灏�
+ splitLoading: {
+ get() { return this.loading.split; },
+ set(val) { this.loading.split = val; }
+ },
+ revertSplitLoading: {
+ get() { return this.loading.revertSplit; },
+ set(val) { this.loading.revertSplit = val; }
+ },
+ batchReturnLoading: {
+ get() { return this.loading.batchReturn; },
+ set(val) { this.loading.batchReturn = val; }
+ },
+ emptypalletOutLoading: {
+ get() { return this.loading.emptyPallet; },
+ set(val) { this.loading.emptyPallet = val; }
+ },
+ splitChainLoading: {
+ get() { return this.loading.splitChain; },
+ set(val) { this.loading.splitChain = val; }
+ },
// 鏄惁鍙互鍙栨秷鏁翠釜鎷嗗寘閾�
canCancelWholeChain() {
return this.splitChainInfo.splitChain &&
@@ -574,10 +650,23 @@
this.$message.warning('璇峰厛鎵弿鎵樼洏鐮�');
return;
}
- this.showCustomSplitDialog = true;
- this.resetSplitForm();
- this.splitForm.orderNo = this.scanData.orderNo;
- this.splitForm.palletCode = this.scanData.palletCode;
+ // 鍏抽棴鍏朵粬鎵�鏈夊脊绐�
+ this.closeAllDialogs();
+ // 寤惰繜鎵撳紑鏂板脊绐楋紝纭繚鍏朵粬寮圭獥瀹屽叏鍏抽棴
+ this.$nextTick(() => {
+ this.showCustomSplitDialog = true;
+ this.resetSplitForm();
+ this.splitForm.orderNo = this.scanData.orderNo;
+ this.splitForm.palletCode = this.scanData.palletCode;
+
+ // 纭繚杈撳叆妗嗚幏寰楃劍鐐�
+ this.$nextTick(() => {
+ const inputs = document.querySelectorAll('.custom-dialog input');
+ if (inputs.length > 0) {
+ inputs[0].focus();
+ }
+ });
+ });
},
async onSplitBarcodeScan() {
@@ -608,30 +697,29 @@
async handleSplitPackage() {
if (this.$refs.splitFormRef) {
- this.$refs.splitFormRef.validate(async (valid) => {
- if (valid) {
- this.splitLoading = true;
- try {
- const res = await http.post('/api/OutboundBatchPicking/split-package', {
- orderNo: this.splitForm.orderNo,
- palletCode: this.splitForm.palletCode,
- originalBarcode: this.splitForm.originalBarcode,
- splitQuantity: this.splitForm.splitQuantity
- });
- if (res.status) {
- this.$message.success('鎷嗗寘鎴愬姛');
- this.showCustomSplitDialog = false;
- await this.loadPalletData();
- } else {
- this.$message.error(res.message || '鎷嗗寘澶辫触');
- }
- } catch (error) {
- this.$message.error('鎷嗗寘澶辫触');
- } finally {
- this.splitLoading = false;
- }
+ const valid = await this.$refs.splitFormRef.validate();
+ if (!valid) return;
+
+ this.splitLoading = true;
+ try {
+ const res = await http.post('/api/OutboundBatchPicking/split-package', {
+ orderNo: this.splitForm.orderNo,
+ palletCode: this.splitForm.palletCode,
+ originalBarcode: this.splitForm.originalBarcode,
+ splitQuantity: this.splitForm.splitQuantity
+ });
+ if (res.status) {
+ this.$message.success('鎷嗗寘鎴愬姛');
+ this.showCustomSplitDialog = false;
+ await this.loadPalletData();
+ } else {
+ this.$message.error(res.message || '鎷嗗寘澶辫触');
}
- });
+ } catch (error) {
+ this.$message.error('鎷嗗寘澶辫触: ' + (error.message || '缃戠粶閿欒'));
+ } finally {
+ this.splitLoading = false;
+ }
}
},
// 鍦ㄦ媶鍖呭脊绐椾腑鏌ョ湅鎷嗗寘閾�
@@ -651,38 +739,34 @@
},
// 鎾ら攢鎷嗗寘
async onRevertSplitBarcodeScan() {
- if (!this.revertSplitForm.newBarcode) return;
+ if (!this.revertSplitForm.newBarcode) return;
this.revertSplitForm.newBarcode = this.revertSplitForm.newBarcode.replace(/\n/g, '').trim();
-
- // 鏂板锛氭壂鎻忓悗鑷姩鏄剧ず鎷嗗寘閾句俊鎭�
- await this.viewSplitChain(this.revertSplitForm.newBarcode);
},
async handleRevertSplit() {
- if (this.$refs.revertSplitFormRef) {
- this.$refs.revertSplitFormRef.validate(async (valid) => {
- if (valid) {
- this.revertSplitLoading = true;
- try {
- const res = await http.post('/api/OutboundBatchPicking/cancel-split', {
- orderNo: this.scanData.orderNo,
- palletCode: this.scanData.palletCode,
- newBarcode: this.revertSplitForm.newBarcode
- });
- if (res.status) {
- this.$message.success('鎾ら攢鎷嗗寘鎴愬姛');
- this.showRevertSplitDialog = false;
- await this.loadPalletData();
- } else {
- this.$message.error(res.message || '鎾ら攢鎷嗗寘澶辫触');
- }
- } catch (error) {
- this.$message.error('鎾ら攢鎷嗗寘澶辫触');
- } finally {
- this.revertSplitLoading = false;
- }
+ if (this.$refs.revertSplitFormRef) {
+ const valid = await this.$refs.revertSplitFormRef.validate();
+ if (!valid) return;
+
+ this.revertSplitLoading = true;
+ try {
+ const res = await http.post('/api/OutboundBatchPicking/cancel-split', {
+ orderNo: this.scanData.orderNo,
+ palletCode: this.scanData.palletCode,
+ newBarcode: this.revertSplitForm.newBarcode
+ });
+ if (res.status) {
+ this.$message.success('鎾ら攢鎷嗗寘鎴愬姛');
+ this.showRevertSplitDialog = false;
+ await this.loadPalletData();
+ } else {
+ this.$message.error(res.message || '鎾ら攢鎷嗗寘澶辫触');
}
- });
+ } catch (error) {
+ this.$message.error('鎾ら攢鎷嗗寘澶辫触: ' + (error.message || '缃戠粶閿欒'));
+ } finally {
+ this.revertSplitLoading = false;
+ }
}
},
// 鏌ユ壘瀹屾暣鎷嗗寘閾撅紙浠庢牴鏉$爜寮�濮嬶級
@@ -709,39 +793,45 @@
// 鎷嗗寘閾剧浉鍏虫柟娉�
// 鏌ョ湅鎷嗗寘閾句俊鎭�
async viewSplitChain(barcode) {
- if (!barcode) {
- this.$message.warning('璇峰厛杈撳叆鏉$爜');
- return;
- }
-
- this.splitChainLoading = true;
- try {
- const res = await http.post('/api/OutboundBatchPicking/split-package-chain-info', {
- orderNo: this.scanData.orderNo,
- barcode: barcode
- });
-
- if (res.status) {
- this.splitChainInfo = res.data;
-
- // 鏄剧ず鎻愮ず淇℃伅锛屽憡璇夌敤鎴疯繖鏄粈涔堢被鍨嬬殑鎷嗗寘閾�
- let chainType = "褰撳墠鏉$爜鐨勬媶鍖呴摼";
- if (this.splitChainInfo.chainType === 'root') {
- chainType = "瀹屾暣鎷嗗寘閾撅紙浠庡師濮嬫潯鐮佸紑濮嬶級";
- } else if (this.splitChainInfo.chainType === 'branch') {
- chainType = "鍒嗘敮鎷嗗寘閾�";
+ if (!barcode) {
+ this.$message.warning('璇峰厛杈撳叆鏉$爜');
+ return;
}
- this.$message.info(`宸插姞杞�${chainType}锛屽叡${this.splitChainInfo.totalSplitTimes}娆℃媶鍖卄);
- this.showSplitChainDialog = true;
- } else {
- this.$message.error(res.message || '鑾峰彇鎷嗗寘閾句俊鎭け璐�');
- }
- } catch (error) {
- this.$message.error('鑾峰彇鎷嗗寘閾句俊鎭け璐�');
- } finally {
- this.splitChainLoading = false;
- }
+ this.splitChainLoading = true;
+ try {
+ const res = await http.post('/api/OutboundBatchPicking/split-package-chain-info', {
+ orderNo: this.scanData.orderNo,
+ barcode: barcode
+ });
+
+ if (res.status) {
+ this.splitChainInfo = res.data;
+
+ // 鍏抽棴鍏朵粬寮圭獥鍚庡啀鎵撳紑鎷嗗寘閾惧脊绐�
+ this.closeAllDialogs();
+
+ await this.$nextTick(() => {
+ this.showSplitChainDialog = true;
+
+ // 鏄剧ず鎻愮ず淇℃伅
+ let chainType = "褰撳墠鏉$爜鐨勬媶鍖呴摼";
+ if (this.splitChainInfo.chainType === 'root') {
+ chainType = "瀹屾暣鎷嗗寘閾撅紙浠庡師濮嬫潯鐮佸紑濮嬶級";
+ } else if (this.splitChainInfo.chainType === 'branch') {
+ chainType = "鍒嗘敮鎷嗗寘閾�";
+ }
+
+ this.$message.info(`宸插姞杞�${chainType}锛屽叡${this.splitChainInfo.totalSplitTimes}娆℃媶鍖卄);
+ });
+ } else {
+ this.$message.error(res.message || '鑾峰彇鎷嗗寘閾句俊鎭け璐�');
+ }
+ } catch (error) {
+ this.$message.error('鑾峰彇鎷嗗寘閾句俊鎭け璐�: ' + (error.message || '缃戠粶閿欒'));
+ } finally {
+ this.splitChainLoading = false;
+ }
},
// 鍏抽棴鎷嗗寘閾句俊鎭脊绐�
@@ -788,112 +878,86 @@
},
// 鍙栨秷鍗曚釜鎷嗗寘璁板綍
async cancelSingleSplit(newBarcode) {
- // 鍏堣褰曞綋鍓嶄俊鎭紝鐒跺悗鍏抽棴寮圭獥
- const originalBarcode = this.splitChainInfo.originalBarcode;
- this.closeSplitChainDialog();
-
- await this.$nextTick();
-
- try {
- await this.$confirm(
- `纭畾瑕佸彇娑堟潯鐮� ${newBarcode} 鐨勬媶鍖呮搷浣滃悧锛焋,
- '鍙栨秷鍗曚釜鎷嗗寘',
- {
- confirmButtonText: '纭畾鍙栨秷',
- cancelButtonText: '鍐嶆兂鎯�',
- type: 'warning'
+ try {
+ await ElMessageBox.confirm(
+ `纭畾瑕佸彇娑堟潯鐮� ${newBarcode} 鐨勬媶鍖呮搷浣滃悧锛焋,
+ '鍙栨秷鍗曚釜鎷嗗寘',
+ {
+ confirmButtonText: '纭畾鍙栨秷',
+ cancelButtonText: '鍐嶆兂鎯�',
+ type: 'warning',
+ customClass: 'message-box-top'
+ }
+ );
+
+ this.revertSplitLoading = true;
+
+ const res = await http.post('/api/OutboundBatchPicking/cancel-split', {
+ orderNo: this.scanData.orderNo,
+ palletCode: this.scanData.palletCode,
+ newBarcode: newBarcode
+ });
+
+ if (res.status) {
+ this.$message.success('鍙栨秷鎷嗗寘鎴愬姛');
+ await this.loadPalletData();
+
+ // 閲嶆柊鍔犺浇鎷嗗寘閾句俊鎭�
+ if (this.splitChainInfo.originalBarcode) {
+ await this.viewSplitChain(this.splitChainInfo.originalBarcode);
+ }
+ } else {
+ this.$message.error(res.message || '鍙栨秷鎷嗗寘澶辫触');
+ }
+ } catch (error) {
+ if (error !== 'cancel') {
+ this.$message.error('鍙栨秷鎷嗗寘澶辫触: ' + error.message);
+ }
+ } finally {
+ this.revertSplitLoading = false;
}
- );
-
- this.revertSplitLoading = true;
-
- const res = await http.post('/api/OutboundBatchPicking/cancel-split', {
- orderNo: this.scanData.orderNo,
- palletCode: this.scanData.palletCode,
- newBarcode: newBarcode
- });
-
- if (res.status) {
- this.$message.success('鍙栨秷鎷嗗寘鎴愬姛');
- await this.loadPalletData();
- // 閲嶆柊鎵撳紑寮圭獥鏄剧ず鏇存柊鍚庣殑鐘舵��
- await this.viewSplitChain(originalBarcode);
- } else {
- this.$message.error(res.message || '鍙栨秷鎷嗗寘澶辫触');
- await this.viewSplitChain(originalBarcode);
- }
- } catch (error) {
- if (error === 'cancel') {
- // 鐢ㄦ埛鍙栨秷鍚庨噸鏂版墦寮�寮圭獥
- await this.viewSplitChain(originalBarcode);
- } else {
- this.$message.error('鍙栨秷鎷嗗寘澶辫触');
- await this.viewSplitChain(originalBarcode);
- }
- } finally {
- this.revertSplitLoading = false;
- }
},
// 鍙栨秷鏁翠釜鎷嗗寘閾�
async cancelWholeSplitChain() {
- // 鍏堣褰曞綋鍓嶆媶鍖呴摼淇℃伅锛岀劧鍚庡叧闂脊绐�
- const originalBarcode = this.splitChainInfo.originalBarcode;
- this.closeSplitChainDialog();
-
- // 缁欎竴鐐规椂闂磋寮圭獥瀹屽叏鍏抽棴
- await this.$nextTick();
-
- try {
- // 鐜板湪鏄剧ず纭瀵硅瘽妗嗭紝纭繚瀹冨湪鏈�鍓嶉潰
- await this.$confirm(
- `纭畾瑕佸彇娑堟暣涓媶鍖呴摼鍚楋紵\n杩欏皢鍙栨秷浠庢潯鐮� ${originalBarcode} 寮�濮嬬殑鎵�鏈夋媶鍖呮搷浣溿�俙,
- '鍙栨秷鎷嗗寘閾剧‘璁�',
- {
- confirmButtonText: '纭畾鍙栨秷',
- cancelButtonText: '鍐嶆兂鎯�',
- type: 'warning',
- center: true,
- closeOnClickModal: false
+ if (!this.canCancelWholeChain) return;
+
+ try {
+ await ElMessageBox.confirm(
+ `纭畾瑕佸彇娑堟暣涓媶鍖呴摼鍚楋紵\n杩欏皢鍙栨秷浠庢潯鐮� ${this.splitChainInfo.originalBarcode} 寮�濮嬬殑鎵�鏈夋媶鍖呮搷浣溿�俙,
+ '鍙栨秷鎷嗗寘閾剧‘璁�',
+ {
+ confirmButtonText: '纭畾鍙栨秷',
+ cancelButtonText: '鍐嶆兂鎯�',
+ type: 'warning',
+ center: true,
+ closeOnClickModal: false,
+ customClass: 'message-box-top'
+ }
+ );
+
+ this.revertSplitLoading = true;
+
+ const res = await http.post('/api/OutboundBatchPicking/cancel-split-chain', {
+ orderNo: this.scanData.orderNo,
+ palletCode: this.scanData.palletCode,
+ startBarcode: this.splitChainInfo.originalBarcode
+ });
+
+ if (res.status) {
+ this.$message.success('鍙栨秷鎷嗗寘閾炬垚鍔�');
+ this.closeSplitChainDialog();
+ await this.loadPalletData();
+ } else {
+ this.$message.error(res.message || '鍙栨秷鎷嗗寘閾惧け璐�');
+ }
+ } catch (error) {
+ if (error !== 'cancel') {
+ this.$message.error('鍙栨秷鎷嗗寘閾惧け璐�: ' + error.message);
+ }
+ } finally {
+ this.revertSplitLoading = false;
}
- );
-
- // 鐢ㄦ埛纭鍚庢墽琛屽彇娑堟搷浣�
- this.revertSplitLoading = true;
-
- const res = await http.post('/api/OutboundBatchPicking/cancel-split-chain', {
- orderNo: this.scanData.orderNo,
- palletCode: this.scanData.palletCode,
- startBarcode: originalBarcode
- });
-
- console.log('鍙栨秷鎷嗗寘閾惧搷搴�:', res);
-
- if (res.status) {
- this.$message.success('鍙栨秷鎷嗗寘閾炬垚鍔�');
- await this.loadPalletData();
- // 鍙�夛細閲嶆柊鎵撳紑鎷嗗寘閾句俊鎭脊绐楁樉绀烘洿鏂板悗鐨勭姸鎬�
- // await this.viewSplitChain(originalBarcode);
- } else {
- this.$message.error(res.message || '鍙栨秷鎷嗗寘閾惧け璐�');
- // 澶辫触鍚庨噸鏂版墦寮�寮圭獥
- await this.viewSplitChain(originalBarcode);
- }
- } catch (error) {
- // 鐢ㄦ埛鍙栨秷鎿嶄綔
- if (error === 'cancel') {
- console.log('鐢ㄦ埛鍙栨秷浜嗘媶鍖呴摼鎿嶄綔');
- // 鐢ㄦ埛鍙栨秷鍚庨噸鏂版墦寮�寮圭獥
- await this.viewSplitChain(originalBarcode);
- } else {
- console.error('鍙栨秷鎷嗗寘閾鹃敊璇�:', error);
- this.$message.error('鍙栨秷鎷嗗寘閾惧け璐�: ' + error.message);
- // 鍑洪敊鍚庨噸鏂版墦寮�寮圭獥
- await this.viewSplitChain(originalBarcode);
- }
- } finally {
- this.revertSplitLoading = false;
- }
},
// 妫�鏌ユ潯鐮佹槸鍚﹀凡琚垎鎷�
@@ -907,18 +971,31 @@
const date = new Date(dateTime);
return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}:${date.getSeconds().toString().padStart(2, '0')}`;
},
-
+ closeAllDialogs() {
+ this.showCustomSplitDialog = false;
+ this.showRevertSplitDialog = false;
+ this.showSplitChainDialog = false;
+ this.showBatchReturnDialog = false;
+ this.showEmptyPalletDialog = false;
+ this.activeDialog = null;
+ },
// 鍥炲簱鐩稿叧鏂规硶
openBatchReturnDialog() {
- if (!this.scanData.palletCode) {
+ if (!this.scanData.palletCode) {
this.$message.warning('璇峰厛鎵弿鎵樼洏鐮�');
return;
}
- this.showBatchReturnDialog = true;
- this.batchReturnForm.orderNo = this.scanData.orderNo;
- this.batchReturnForm.palletCode = this.scanData.palletCode;
- this.batchReturnForm.unpickedCount = this.summary.unpickedCount;
- this.batchReturnForm.unpickedQuantity = this.summary.unpickedQuantity;
+
+ // 鍏抽棴鍏朵粬寮圭獥
+ this.closeAllDialogs();
+
+ this.$nextTick(() => {
+ this.showBatchReturnDialog = true;
+ this.batchReturnForm.orderNo = this.scanData.orderNo;
+ this.batchReturnForm.palletCode = this.scanData.palletCode;
+ this.batchReturnForm.unpickedCount = this.summary.unpickedCount;
+ this.batchReturnForm.unpickedQuantity = this.summary.unpickedQuantity;
+ });
},
async handleBatchReturnConfirm() {
@@ -936,7 +1013,7 @@
this.$message.error(res.message || '鍥炲簱澶辫触');
}
} catch (error) {
- this.$message.error('鍥炲簱澶辫触');
+ this.$message.error('鍥炲簱澶辫触: ' + (error.message || '缃戠粶閿欒'));
} finally {
this.batchReturnLoading = false;
}
@@ -944,9 +1021,14 @@
// 鍙栫┖绠辨柟娉�
handleEmptyPallet() {
- this.showEmptyPalletDialog = true;
- this.emptypalletOutForm.orderNo = this.scanData.orderNo;
- this.emptypalletOutForm.palletCode = '';
+ // 鍏抽棴鍏朵粬寮圭獥
+ this.closeAllDialogs();
+
+ this.$nextTick(() => {
+ this.showEmptyPalletDialog = true;
+ this.emptypalletOutForm.orderNo = this.scanData.orderNo;
+ this.emptypalletOutForm.palletCode = '';
+ });
},
async handleEmptyPalletConfirm() {
@@ -964,7 +1046,7 @@
this.$message.error(res.message || '鍙栬蛋绌虹澶辫触');
}
} catch (error) {
- this.$message.error('鍙栬蛋绌虹澶辫触');
+ this.$message.error('鍙栬蛋绌虹澶辫触: ' + (error.message || '缃戠粶閿欒'));
} finally {
this.emptypalletOutLoading = false;
}
@@ -972,26 +1054,32 @@
// 鏁版嵁鍔犺浇鏂规硶
async loadPalletData() {
- if (!this.scanData.orderNo || !this.scanData.palletCode) return;
+ if (!this.scanData.orderNo || !this.scanData.palletCode) return;
- await this.loadUnpickedList();
- await this.loadPickedList();
- await this.loadPalletStatus();
+ try {
+ await Promise.all([
+ this.loadUnpickedList(),
+ this.loadPickedList(),
+ this.loadPalletStatus()
+ ]);
+ } catch (error) {
+ console.error('鍔犺浇鎵樼洏鏁版嵁澶辫触:', error);
+ }
},
async loadUnpickedList() {
- try {
+ try {
const res = await http.post('/api/OutboundBatchPicking/pallet-locks', {
orderNo: this.scanData.orderNo,
palletCode: this.scanData.palletCode
});
if (res.status) {
- //this.unpickedList = res.data || [];
this.unpickedList = (res.data || []).filter(item => item.canPick === true);
this.summary.unpickedCount = this.unpickedList.length;
this.summary.unpickedQuantity = this.unpickedList.reduce((sum, item) => sum + (item.remainQuantity || 0), 0);
}
} catch (error) {
+ console.error('鍔犺浇鏈嫞閫夊垪琛ㄥけ璐�:', error);
this.$message.error('鍔犺浇鏈嫞閫夊垪琛ㄥけ璐�');
}
},
@@ -1003,25 +1091,20 @@
palletCode: this.scanData.palletCode
});
if (res.status) {
- this.pickedList = res.data || [];
-
- this.pickedList = res.data.map(item => {
- // 鏂瑰紡1锛氫繚鐣欏師barcode瀛楁锛屾柊澧瀋urrentBarcode
- return {
- ...item,
- currentBarcode: item.barcode
- };
-});
-
+ this.pickedList = res.data.map(item => ({
+ ...item,
+ currentBarcode: item.barcode
+ }));
this.summary.pickedCount = this.pickedList.length;
}
} catch (error) {
+ console.error('鍔犺浇宸叉嫞閫夊垪琛ㄥけ璐�:', error);
this.$message.error('鍔犺浇宸叉嫞閫夊垪琛ㄥけ璐�');
}
},
async loadPalletStatus() {
- try {
+ try {
const res = await http.post('/api/OutboundBatchPicking/pallet-status', {
orderNo: this.scanData.orderNo,
palletCode: this.scanData.palletCode
@@ -1030,13 +1113,14 @@
this.palletStatus = res.data.statusText || '鏈煡';
}
} catch (error) {
+ console.error('鍔犺浇鎵樼洏鐘舵�佸け璐�:', error);
this.palletStatus = '鏈煡';
}
},
// 鎵爜鐩稿叧鏂规硶
onPalletScan() {
- this.scanData.palletCode = this.scanData.palletCode.replace(/\n/g, '').trim();
+ this.scanData.palletCode = this.scanData.palletCode.replace(/\n/g, '').trim();
if (!this.scanData.palletCode) return;
this.loadPalletData();
@@ -1046,7 +1130,7 @@
},
onBarcodeScan() {
- this.scanData.barcode = this.scanData.barcode.replace(/\n/g, '').trim();
+ this.scanData.barcode = this.scanData.barcode.replace(/\n/g, '').trim();
if (!this.scanData.barcode) return;
this.confirmPicking();
},
@@ -1074,33 +1158,40 @@
return;
}
- this.$confirm(`纭畾瑕佸彇娑堥�変腑鐨� ${this.selectedPickedRows.length} 椤瑰悧锛焋, '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(async () => {
- try {
- for (const row of this.selectedPickedRows) {
- try {
- const res = await http.post('/api/OutboundBatchPicking/cancel-picking', {
- orderNo: this.scanData.orderNo,
- palletCode: this.scanData.palletCode,
- barcode: row.currentBarcode
- });
- if (!res.status) {
- this.$message.warning(`鍙栨秷鎷i�夊け璐�: ${row.currentBarcode} - ${res.message}`);
- }
- } catch (error) {
- this.$message.warning(`鍙栨秷鎷i�夊け璐�: ${row.currentBarcode} - ${error.message}`);
+ try {
+ await ElMessageBox.confirm(
+ `纭畾瑕佸彇娑堥�変腑鐨� ${this.selectedPickedRows.length} 椤瑰悧锛焋,
+ '鎻愮ず',
+ {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ customClass: 'message-box-top'
+ }
+ );
+
+ for (const row of this.selectedPickedRows) {
+ try {
+ const res = await http.post('/api/OutboundBatchPicking/cancel-picking', {
+ orderNo: this.scanData.orderNo,
+ palletCode: this.scanData.palletCode,
+ barcode: row.currentBarcode
+ });
+ if (!res.status) {
+ this.$message.warning(`鍙栨秷鎷i�夊け璐�: ${row.currentBarcode} - ${res.message}`);
}
- }
- this.$message.success('鎵归噺鍙栨秷瀹屾垚');
- await this.loadPalletData();
- this.selectedPickedRows = [];
- } catch (error) {
+ } catch (error) {
+ this.$message.warning(`鍙栨秷鎷i�夊け璐�: ${row.currentBarcode} - ${error.message}`);
+ }
+ }
+ this.$message.success('鎵归噺鍙栨秷瀹屾垚');
+ await this.loadPalletData();
+ this.selectedPickedRows = [];
+ } catch (error) {
+ if (error !== 'cancel') {
this.$message.error('鎵归噺鍙栨秷鎿嶄綔澶辫触');
}
- });
+ }
},
// 閲嶇疆鏂规硶
@@ -1117,8 +1208,13 @@
},
openRevertSplitDialog() {
- this.showRevertSplitDialog = true;
- this.revertSplitForm.newBarcode = '';
+ // 鍏抽棴鍏朵粬寮圭獥
+ this.closeAllDialogs();
+
+ this.$nextTick(() => {
+ this.showRevertSplitDialog = true;
+ this.revertSplitForm.newBarcode = '';
+ });
},
closeRevertSplitDialog() {
@@ -1184,15 +1280,20 @@
/* 鑷畾涔夊脊绐楁牱寮� */
:deep(.el-message-box) {
- z-index: 10010 !important;
+ z-index: 9999 !important;
}
:deep(.el-overlay) {
- z-index: 10009 !important;
+ z-index: 9998 !important;
}
:deep(.el-message) {
- z-index: 10011 !important;
+ z-index: 10000 !important;
+}
+
+/* 纭繚纭瀵硅瘽妗嗗湪鏈�鍓嶉潰 */
+:deep(.message-box-top) {
+ z-index: 10001 !important;
}
.custom-dialog-overlay {
@@ -1205,7 +1306,7 @@
display: flex;
align-items: center;
justify-content: center;
- z-index: 2000; /* 淇濇寔涓�涓悎鐞嗙殑 z-index */
+ z-index: 2000;
}
.custom-dialog-wrapper {
@@ -1276,14 +1377,7 @@
flex-direction: column;
align-items: stretch;
}
- /* 纭繚纭瀵硅瘽妗嗗湪鏈�鍓嶉潰 */
-.el-message-box__wrapper {
- z-index: 10001 !important;
-}
-
-.el-message {
- z-index: 10002 !important;
-}
+
.scanner-form .el-input {
width: 100%;
}
--
Gitblit v1.9.3