feat(mes): 优化删除按钮操作及表单数据处理逻辑

pull/871/MERGE
YunaiV 2026-03-29 21:57:26 +08:00
parent 5856838c73
commit fe6e80271d
5 changed files with 30 additions and 31 deletions

View File

@ -61,15 +61,13 @@ const props = defineProps<{
const emit = defineEmits(['success'])
const { t } = useI18n() //
const message = useMessage() //
const { t } = useI18n()
const message = useMessage()
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const formLoading = ref(false) //
const formType = ref('') // 表单的类型create / update
const currentLineId = ref<number>() // ID
const formRef = ref() // Ref
const formData = ref({
id: undefined as number | undefined,
lineId: undefined as number | undefined,
@ -88,14 +86,15 @@ const formRules = reactive({
areaId: [{ required: true, message: '库位不能为空', trigger: 'change' }],
quantity: [{ required: true, message: '数量不能为空', trigger: 'blur' }]
})
const formRef = ref() // Ref
/** 打开弹窗 */
const open = async (type: string, lineId: number, itemId?: number, detailId?: number) => {
dialogVisible.value = true
dialogTitle.value = type === 'create' ? '添加拣货明细' : '编辑拣货明细'
formType.value = type
currentLineId.value = lineId
resetForm()
formData.value.lineId = lineId
//
if (detailId) {
formLoading.value = true
@ -108,7 +107,6 @@ const open = async (type: string, lineId: number, itemId?: number, detailId?: nu
formData.value.itemId = itemId
}
}
defineExpose({ open })
/** 提交表单 */
const submitForm = async () => {
@ -119,8 +117,7 @@ const submitForm = async () => {
try {
const data = {
...formData.value,
returnId: props.returnId,
lineId: currentLineId.value
returnId: props.returnId
} as unknown as WmReturnVendorDetailVO
if (formType.value === 'create') {
await WmReturnVendorDetailApi.createReturnVendorDetail(data)
@ -131,7 +128,7 @@ const submitForm = async () => {
}
dialogVisible.value = false
//
emit('success', currentLineId.value)
emit('success', formData.value.lineId)
} finally {
formLoading.value = false
}
@ -152,4 +149,6 @@ const resetForm = () => {
}
formRef.value?.resetFields()
}
defineExpose({ open })
</script>

View File

@ -8,7 +8,7 @@
<el-table-column label="库位名称" align="center" prop="areaName" min-width="100" />
<el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column
v-if="props.formType === 'stock'"
v-if="isStock"
label="操作"
align="center"
width="120"
@ -42,9 +42,10 @@ const props = defineProps<{
const emit = defineEmits(['edit-detail'])
const { t } = useI18n() //
const message = useMessage() //
const { t } = useI18n()
const message = useMessage()
const isStock = computed(() => props.formType === 'stock') //
const loading = ref(false) //
const list = ref<WmReturnVendorDetailVO[]>([]) //
@ -57,7 +58,6 @@ const getList = async () => {
loading.value = false
}
}
defineExpose({ getList })
/** 删除拣货明细 */
const handleDelete = async (detailId: number) => {
@ -69,8 +69,8 @@ const handleDelete = async (detailId: number) => {
} catch {}
}
/** 初始化:延迟加载,展开时才触发 */
onMounted(() => {
getList()
})
defineExpose({ getList })
</script>

View File

@ -107,7 +107,7 @@
</el-button>
<el-button
v-if="(isEditable && formData.status === MesWmReturnVendorStatusEnum.PREPARE) || isSubmit"
v-if="isEditable && formData.status === MesWmReturnVendorStatusEnum.PREPARE"
@click="handleSubmit"
type="warning"
:disabled="formLoading"
@ -136,7 +136,6 @@ defineOptions({ name: 'ReturnVendorForm' })
const emit = defineEmits(['success'])
const message = useMessage() //
const dialogVisible = ref(false) //
const formLoading = ref(false) //
const formType = ref<string>('create') // 表单的类型create / update / stock / finish / detail
@ -157,9 +156,9 @@ const dialogTitle = computed(() => {
})
const formData = ref({
id: undefined as number | undefined,
status: undefined as number | undefined,
code: undefined,
name: undefined,
status: undefined as number | undefined,
purchaseOrderCode: undefined,
vendorId: undefined,
returnDate: undefined,
@ -189,7 +188,7 @@ const open = async (type: string, id?: number) => {
dialogVisible.value = true
formType.value = type
resetForm()
// ////
// ///
if (id) {
formLoading.value = true
try {
@ -202,7 +201,7 @@ const open = async (type: string, id?: number) => {
originalFormData.value = JSON.stringify(formData.value)
}
/** 保存表单create/update 模式) */
/** 提交表单create/update 模式) */
const submitForm = async () => {
//
await formRef.value.validate()
@ -291,9 +290,9 @@ const handleFinish = async () => {
const resetForm = () => {
formData.value = {
id: undefined,
status: undefined,
code: undefined,
name: undefined,
status: undefined,
purchaseOrderCode: undefined,
vendorId: undefined,
returnDate: undefined,

View File

@ -159,7 +159,7 @@ const getList = async () => {
}
}
/** 删除 */
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
await message.delConfirm()

View File

@ -213,16 +213,6 @@ const openForm = (type: string, id?: number) => {
formRef.value.open(type, id)
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
await message.delConfirm()
await WmReturnVendorApi.deleteReturnVendor(id)
message.success(t('common.delSuccess'))
await getList()
} catch {}
}
/** 取消按钮操作 */
const handleCancel = async (id: number) => {
try {
@ -233,6 +223,16 @@ const handleCancel = async (id: number) => {
} catch {}
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
await message.delConfirm()
await WmReturnVendorApi.deleteReturnVendor(id)
message.success(t('common.delSuccess'))
await getList()
} catch {}
}
/** 导出按钮操作 */
const handleExport = async () => {
try {
@ -246,6 +246,7 @@ const handleExport = async () => {
}
}
/** 初始化 */
onMounted(() => {
getList()
})