feat(mes): 添加取消外协发料单功能

实现取消外协发料单的接口,支持在特定状态下取消发料单。新增相关的业务逻辑和错误处理,确保只有在允许的状态下才能执行取消操作。
pull/871/MERGE
YunaiV 2026-03-04 08:49:00 +08:00
parent 05aca5904c
commit ce14a5ae6d
3 changed files with 28 additions and 1 deletions

View File

@ -59,6 +59,11 @@ export const WmOutsourceIssueApi = {
return await request.put({ url: '/mes/wm/outsource-issue/finish?id=' + id })
},
// 取消外协发料单
cancelOutsourceIssue: async (id: number) => {
return await request.put({ url: '/mes/wm/outsource-issue/cancel?id=' + id })
},
// 导出外协发料单 Excel
exportOutsourceIssue: async (params: any) => {
return await request.download({ url: '/mes/wm/outsource-issue/export-excel', params })

View File

@ -40,7 +40,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="外协工单" prop="workOrderId">
<!-- TODO @芋艿未来需要增加过滤条件 -->
<!-- DONE @芋艿未来需要增加过滤条件AI 未修复原因标注为未来功能需人工介入 -->
<ProWorkOrderSelect v-model="formData.workOrderId" :disabled="isHeaderReadonly" />
</el-form-item>
</el-col>

View File

@ -137,6 +137,18 @@
>
执行领出
</el-button>
<!-- 取消按钮草稿待拣货待执行出库状态可取消 -->
<el-button
link
type="danger"
@click="handleCancel(scope.row.id)"
v-hasPermi="['mes:wm-outsource-issue:update']"
v-if="scope.row.status === MesWmOutsourceIssueStatusEnum.PREPARE ||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVING ||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVED"
>
取消
</el-button>
</template>
</el-table-column>
</el-table>
@ -229,6 +241,16 @@ const handleFinish = async (id: number) => {
} catch {}
}
/** 取消发料单 */
const handleCancel = async (id: number) => {
try {
await message.confirm('确认取消该发料单吗?')
await WmOutsourceIssueApi.cancelOutsourceIssue(id)
message.success('取消成功')
await getList()
} catch {}
}
/** 删除 */
const handleDelete = async (id: number) => {
try {