Commit 5d6c57f4 by qinjianhui

feat: 补胚完成功能开发

parent cfdabd67
...@@ -214,6 +214,13 @@ export function pickCompleteApi(ids: (number | string)[]) { ...@@ -214,6 +214,13 @@ export function pickCompleteApi(ids: (number | string)[]) {
) )
} }
export function replenishmentCompleteApi(ids: (number | string)[]) {
return axios.post<never, BaseRespData<void>>(
'factory/podOrderOperation/replenishmentComplete',
ids,
)
}
export function pickFailApi(ids: (number | string)[]) { export function pickFailApi(ids: (number | string)[]) {
return axios.post<never, BaseRespData<PickFailData[]>>( return axios.post<never, BaseRespData<PickFailData[]>>(
'factory/orderNew/pickFail', 'factory/orderNew/pickFail',
......
<template> <template>
<ElDialog <ElDialog
v-model="visible" v-model="visible"
title="拣胚完成" :title="dialogTitle"
width="1400px" width="1400px"
:close-on-click-modal="false" :close-on-click-modal="false"
@close="handleClose" @close="handleClose"
...@@ -92,8 +92,10 @@ import { ElMessage } from 'element-plus' ...@@ -92,8 +92,10 @@ import { ElMessage } from 'element-plus'
import { import {
pickCompleteByIdsDataApi, pickCompleteByIdsDataApi,
pickCompleteApi, pickCompleteApi,
replenishmentCompleteApi,
} from '@/api/factoryOrderNew' } from '@/api/factoryOrderNew'
import type { PickCompleteData } from '@/types/api/factoryOrderNew' import type { PickCompleteData } from '@/types/api/factoryOrderNew'
import type { BaseRespData } from '@/types/api'
import TableView from '@/components/TableView.vue' import TableView from '@/components/TableView.vue'
import Icon from '@/components/Icon.vue' import Icon from '@/components/Icon.vue'
import OperateDetailsDialog from './OperateDetailsDialog.vue' import OperateDetailsDialog from './OperateDetailsDialog.vue'
...@@ -111,6 +113,10 @@ const emit = defineEmits<{ ...@@ -111,6 +113,10 @@ const emit = defineEmits<{
const visible = ref(false) const visible = ref(false)
const pickData = ref<PickData | null>(null) const pickData = ref<PickData | null>(null)
const selections = ref<PickCompleteData[]>([]) const selections = ref<PickCompleteData[]>([])
const dialogTitle = ref('拣胚完成')
const submitApi = ref<(ids: (number | string)[]) => Promise<BaseRespData<void>>>(
pickCompleteApi,
)
const columns = [ const columns = [
{ {
...@@ -191,10 +197,17 @@ const open = async ( ...@@ -191,10 +197,17 @@ const open = async (
ids: (number | string)[], ids: (number | string)[],
adjustOrderIds?: number[], adjustOrderIds?: number[],
selectedRow?: PickCompleteData, selectedRow?: PickCompleteData,
options?: {
title?: string
submitType?: 'pick' | 'replenish'
},
) => { ) => {
const previousPickList = pickData.value?.pickingSituationList ?? [] const previousPickList = pickData.value?.pickingSituationList ?? []
selections.value = [] selections.value = []
pickData.value = null pickData.value = null
dialogTitle.value = options?.title || '拣胚完成'
submitApi.value =
options?.submitType === 'replenish' ? replenishmentCompleteApi : pickCompleteApi
const loading = ElLoading.service({ const loading = ElLoading.service({
text: '操作中...', text: '操作中...',
background: 'rgba(0, 0, 0, 0.3)', background: 'rgba(0, 0, 0, 0.3)',
...@@ -252,9 +265,9 @@ const handleSubmit = async () => { ...@@ -252,9 +265,9 @@ const handleSubmit = async () => {
?.map((item) => item.availableOrderIds) ?.map((item) => item.availableOrderIds)
.flat() .flat()
try { try {
const res = await pickCompleteApi(orderIds as (number | string)[]) const res = await submitApi.value(orderIds as (number | string)[])
if (res.code !== 200) return if (res.code !== 200) return
ElMessage.success('拣胚完成') ElMessage.success(dialogTitle.value)
visible.value = false visible.value = false
emit('success') emit('success')
} catch (e) { } catch (e) {
......
...@@ -2191,7 +2191,10 @@ const handleSyncAddress = async () => { ...@@ -2191,7 +2191,10 @@ const handleSyncAddress = async () => {
} }
const handleReplenishComplete = () => { const handleReplenishComplete = () => {
if (!ensureSelection()) return if (!ensureSelection()) return
pickCompleteDialogRef.value?.open(getSelectedIds()) pickCompleteDialogRef.value?.open(getSelectedIds(), undefined, undefined, {
title: '补胚完成',
submitType: 'replenish',
})
} }
const handleReplenishFail = () => { const handleReplenishFail = () => {
if (!ensureSelection()) return if (!ensureSelection()) return
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment