diff --git a/src/api/mes/wm/outsourceissue/index.ts b/src/api/mes/wm/outsourceissue/index.ts
index 16905d39c..5d1f83bb9 100644
--- a/src/api/mes/wm/outsourceissue/index.ts
+++ b/src/api/mes/wm/outsourceissue/index.ts
@@ -64,6 +64,11 @@ export const WmOutsourceIssueApi = {
return await request.put({ url: '/mes/wm/outsource-issue/cancel?id=' + id })
},
+ // 校验外协发料单数量
+ checkOutsourceIssueQuantity: async (id: number) => {
+ return await request.get({ url: '/mes/wm/outsource-issue/check-quantity?id=' + id })
+ },
+
// 导出外协发料单 Excel
exportOutsourceIssue: async (params: any) => {
return await request.download({ url: '/mes/wm/outsource-issue/export-excel', params })
diff --git a/src/views/mes/wm/outsourceissue/OutsourceIssueDetailList.vue b/src/views/mes/wm/outsourceissue/OutsourceIssueDetailList.vue
index 255b0be0f..371f4af7a 100644
--- a/src/views/mes/wm/outsourceissue/OutsourceIssueDetailList.vue
+++ b/src/views/mes/wm/outsourceissue/OutsourceIssueDetailList.vue
@@ -7,7 +7,13 @@
-
+
编辑
@@ -39,8 +45,6 @@ const emit = defineEmits(['edit-detail'])
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
-const isUpdate = computed(() => ['create', 'update'].includes(props.formType)) // 是否为编辑模式
-
const loading = ref(false) // 列表的加载中
const list = ref([]) // 明细列表
diff --git a/src/views/mes/wm/outsourceissue/OutsourceIssueForm.vue b/src/views/mes/wm/outsourceissue/OutsourceIssueForm.vue
index c52ad9f51..96d61b541 100644
--- a/src/views/mes/wm/outsourceissue/OutsourceIssueForm.vue
+++ b/src/views/mes/wm/outsourceissue/OutsourceIssueForm.vue
@@ -166,8 +166,12 @@ const submitForm = async () => {
/** 执行拣货 */
const handleStock = async () => {
try {
- await message.confirm('确认执行拣货吗?执行后将进入待执行出库状态。')
formLoading.value = true
+ // 校验发料数量与拣货数量是否一致
+ const quantityMatch = await WmOutsourceIssueApi.checkOutsourceIssueQuantity(formData.value.id!)
+ if (!quantityMatch) {
+ await message.confirm('发料数量与拣货数量不一致,确认执行拣货?')
+ }
await WmOutsourceIssueApi.stockOutsourceIssue(formData.value.id!)
message.success('拣货成功')
dialogVisible.value = false
diff --git a/src/views/mes/wm/outsourceissue/OutsourceIssueLineList.vue b/src/views/mes/wm/outsourceissue/OutsourceIssueLineList.vue
index f524ecef3..1bd7dd146 100644
--- a/src/views/mes/wm/outsourceissue/OutsourceIssueLineList.vue
+++ b/src/views/mes/wm/outsourceissue/OutsourceIssueLineList.vue
@@ -34,7 +34,13 @@
-
+
编辑
@@ -42,14 +48,8 @@
删除
-
-
- 添加明细
+
+ 拣货
@@ -133,6 +133,7 @@ const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
const isUpdate = computed(() => ['create', 'update'].includes(props.formType)) // 是否为编辑模式
+const isStock = computed(() => props.formType === 'stock') // 是否为拣货模式
// ==================== 列表 ====================
const loading = ref(false) // 列表的加载中
@@ -250,9 +251,10 @@ const setDetailListRef = (lineId: number, el: any) => {
// ==================== 发料明细表单(LineList 层级持有) ====================
const detailFormRef = ref()
-/** 添加明细:直接打开明细创建表单 */
-const handleAddDetail = (lineId: number, itemId?: number) => {
- openDetailForm('create', lineId, itemId)
+/** 拣货:直接打开明细创建表单 */
+const handlePicking = (lineId: number) => {
+ const row = list.value.find((r) => r.id === lineId)
+ openDetailForm('create', lineId, row?.itemId)
}
/** 打开发料明细表单 */