diff --git a/src/api/automatedWarehouse/callOut.js b/src/api/automatedWarehouse/callOut.js
index 4743254..e2c56b1 100644
--- a/src/api/automatedWarehouse/callOut.js
+++ b/src/api/automatedWarehouse/callOut.js
@@ -4,3 +4,6 @@ export const saveTransportTask = data => createAPI(`/factory/tblbasedata/saveTra
export const getShopOrderFromIFSWithOrderNo = data => createAPI(`/wcsIntegration/getShopOrderFromIFSWithOrderNo`,'post',data)
export const getPalletList = data => createAPI(`/wcsIntegration/palletListForPartNo`,'post',data)
export const callPalletFromWcs = data => createAPI(`/wcsIntegration/callPalletFromWcs`,'post',data)
+
+// 【新方法】直接Call栈板(不使用定时任务方式) - rqrq
+export const callPalletFromWcsNew = data => createAPI(`/wcsIntegration/callPalletFromWcsNew`,'post',data)
diff --git a/src/utils/httpRequest.js b/src/utils/httpRequest.js
index bde06a6..029011c 100644
--- a/src/utils/httpRequest.js
+++ b/src/utils/httpRequest.js
@@ -81,7 +81,7 @@ export default http
const instance = axios.create({
baseURL: (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl) ,
- timeout: 10000 * 30,
+ timeout: 10000 * 300,
withCredentials: true,
headers: {
'Content-Type': 'application/json; charset=utf-8'
diff --git a/src/views/modules/automatedWarehouse/callOut.vue b/src/views/modules/automatedWarehouse/callOut.vue
index 77d21a8..0740170 100644
--- a/src/views/modules/automatedWarehouse/callOut.vue
+++ b/src/views/modules/automatedWarehouse/callOut.vue
@@ -15,7 +15,7 @@
-
+
@@ -47,20 +47,32 @@
/>
-
-
-
可用栈板列表
+
+
+
可用栈板列表
+
@@ -77,12 +89,7 @@
-
-
-
- Call车 ({{ selectedPallets.length }})
-
-
+
@@ -94,7 +101,8 @@ import {
saveTransportTask,
getShopOrderFromIFSWithOrderNo,
getPalletList,
- callPalletFromWcs
+ callPalletFromWcs,
+ callPalletFromWcsNew
} from '../../../api/automatedWarehouse/callOut'
export default {
@@ -118,6 +126,7 @@ export default {
palletList: [], // 栈板列表
selectedPallet: null, // 选中的栈板
selectedPallets: [], // 多选时选中的栈板列表
+ callLoading: false, // Call车按钮loading状态 - rqrq
};
},
computed: {
@@ -234,33 +243,66 @@ export default {
return this.selectedPallets.some(item => item.palletId === pallet.palletId);
},
- // 处理Cal按钮点击
+ // 处理Call按钮点击 - rqrq
handleCall() {
if (this.selectedPallets.length === 0) {
this.$message.error('请至少选择一个栈板');
return;
}
- // 这里添加Cal按钮的具体逻辑
- console.log('Cal操作,选中的栈板:', this.selectedPallets);
- this.$confirm('确定进行[Call车]操作?', '提示', {
+ this.$confirm(`确定Call ${this.selectedPallets.length} 个栈板出库?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
+ // 设置loading状态 - rqrq
+ this.callLoading = true;
- callPalletFromWcs(this.selectedPallets).then(({ data }) => {
+ // 调用新的接口 - rqrq
+ callPalletFromWcsNew(this.selectedPallets).then(({ data }) => {
if (data && data.code === 0) {
- this.$message.success('成功发送运输请求!');
- this.cleanData()
+ const failedCount = data.failedCount || 0;
+ const successCount = data.successCount || 0;
+
+ // 判断是否有失败 - rqrq
+ if (failedCount === 0) {
+ // 全部成功 - rqrq
+ this.$message.success(`成功Call ${successCount} 个栈板出库!`);
+ this.cleanData();
+ } else {
+ // 有失败的栈板 - rqrq
+ const failedPalletIds = data.failedPalletIds || [];
+ const failedReasons = data.failedReasons || [];
+
+ // 构建失败信息 - rqrq
+ let errorMsg = `成功:${successCount}个,失败:${failedCount}个\n\n失败栈板:\n`;
+ failedPalletIds.forEach((palletId, index) => {
+ errorMsg += `${index + 1}. ${palletId}:${failedReasons[index] || '未知错误'}\n`;
+ });
+
+ // 显示失败信息弹窗 - rqrq
+ this.$alert(errorMsg, `Call车结果`, {
+ confirmButtonText: '确定',
+ type: 'warning',
+ callback: () => {
+ // 点击确定后初始化页面 - rqrq
+ this.cleanData();
+ }
+ });
+ }
} else {
- this.$message.error(data.msg || '处理失败');
+ this.$message.error(data.msg || 'Call车失败');
}
}).catch(error => {
- console.error('处理栈板失败:', error);
- this.$message.error('处理失败');
+ console.error('Call车失败:', error);
+ this.$message.error('Call车失败');
+ }).finally(() => {
+ // 恢复按钮状态 - rqrq
+ this.callLoading = false;
});
- })
+ }).catch(() => {
+ // 用户取消操作 - rqrq
+ });
},
cleanData(){
@@ -285,5 +327,11 @@ export default {