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() { export function getDuplicateGroups() {
return request({ return request({
timeout: 100000,
url: '/wms/materialCoil/duplicateGroups', url: '/wms/materialCoil/duplicateGroups',
method: 'get' method: 'get'
}) })

View File

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