fix(wms): 修复分条操作超时问题并优化异步处理逻辑

增加获取重复组数据的超时设置,防止接口长时间无响应
重构handleStartSplit方法,使用async/await简化异步操作流程
调整样式使分条操作项支持换行显示
This commit is contained in:
砂糖
2026-01-26 11:36:25 +08:00
parent 0d1e13928d
commit e13a2bd415
2 changed files with 21 additions and 24 deletions

View File

@@ -222,6 +222,7 @@ export function getMaxCoilNo(enterCoilNoPrefix) {
*/
export function getDuplicateGroups() {
return request({
timeout: 100000,
url: '/wms/materialCoil/duplicateGroups',
method: 'get'
})

View File

@@ -202,8 +202,8 @@
</div>
<div class="card-footer">
<el-button v-if="useSpecialSplit" type="success" icon="el-icon-scissors"
size="mini" @click="handleStartSplit(item)" :loading="buttonLoading" class="action-btn">分条</el-button>
<el-button v-if="useSpecialSplit" type="success" icon="el-icon-scissors" size="mini"
@click="handleStartSplit(item)" :loading="buttonLoading" class="action-btn">分条</el-button>
<el-button v-else type="primary" icon="el-icon-check" size="mini" @click="handlePickMaterial(item)"
:loading="buttonLoading" class="action-btn">领料</el-button>
<el-button type="danger" icon="el-icon-alarm-clock" :plain="item.abnormalCount == 0" size="mini"
@@ -228,12 +228,13 @@
<h3 class="section-title">进行中的镀锌工序</h3>
<el-button size="mini" icon="el-icon-refresh" @click="getStepSplitList">刷新</el-button>
</div>
<div style="display: flex; align-items: center; gap: 10px;">
<div v-for="item in stepSpilt.list" :key="item.coilId || index" style="text-align: center; padding: 10px; border: 2px solid #e4e7ed; border-radius: 4px;">
<div style="display: flex; align-items: center; gap: 10px; flex-wrap: wrap;">
<div v-for="item in stepSpilt.list" :key="item.coilId || index"
style="text-align: center; padding: 10px; border: 2px solid #e4e7ed; border-radius: 4px;">
<div class="step-item" style="font-size: 24px; font-weight: bold; ">
<span class="step-value">{{ item.currentCoilNo }}</span>
</div>
<el-button type="primary" size="mini" @click="handleContinueSplit(item)">查看</el-button>
<el-button type="primary" size="mini" @click="handleContinueSplit(item)">查看</el-button>
<el-button size="mini" @click="handleCancelSplit(item)">取消操作</el-button>
</div>
</div>
@@ -343,8 +344,8 @@
</div>
<div class="card-footer" v-else="!useSpecialSplit">
<el-button :loading="buttonLoading" type="primary" icon="el-icon-edit" size="mini"
@click="handleProcess(item)" class="action-btn">查看</el-button>
<el-button :loading="buttonLoading" type="primary" icon="el-icon-edit" size="mini"
@click="handleProcess(item)" class="action-btn">查看</el-button>
</div>
</div>
</div>
@@ -829,33 +830,28 @@ export default {
}
})
},
handleStartSplit(row) {
async handleStartSplit(row) {
this.buttonLoading = true
this.$modal.confirm('是否确认领料开始分条操作?')
.then(_ => {
try {
await this.$modal.confirm('是否确认领料开始分条操作?')
this.stepSpilt.loading = true
addPendingAction({
await startSpecialSplit(row.coilId);
await addPendingAction({
coilId: row.coilId,
currentCoilNo: row.currentCoilNo,
actionType: 501,
actionStatus: 0,
sourceType: 'manual',
priority: 0,
}).then(_ => {
startSpecialSplit(row.coilId).then(_ => {
this.$message.success('分条操作已创建')
this.stepSpilt.loading = false
this.getPendingAction()
// this.getMaterialCoil()
this.getStepSplitList()
}).finally(() => {
this.buttonLoading = false
})
})
})
.finally(() => {
this.$message.success('分条操作已创建')
this.stepSpilt.loading = false
this.getPendingAction()
// this.getMaterialCoil()
this.getStepSplitList()
} finally {
this.buttonLoading = false
})
}
},
handleContinueSplit(row) {
this.stepSpilt.coilId = row.coilId