From 5a7217512d67919a5833d945fa00467df34b284b Mon Sep 17 00:00:00 2001 From: zhangli <2235006734@qq.com> Date: Thu, 26 Oct 2023 18:27:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E5=AD=90=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/purchaseclaimRequestDetail/index.ts | 56 ++++++ src/components/BasicForm/src/BasicForm.vue | 28 ++- src/components/Detail/src/Detail.vue | 169 ++++++++++++++++-- src/utils/disposition/tableColumns.ts | 124 ++++++++++--- src/utils/formatTime.ts | 9 + .../wms/purchaseclaimRequestMain/index.vue | 40 +++-- 6 files changed, 372 insertions(+), 54 deletions(-) create mode 100644 src/api/wms/purchaseclaimRequestDetail/index.ts diff --git a/src/api/wms/purchaseclaimRequestDetail/index.ts b/src/api/wms/purchaseclaimRequestDetail/index.ts new file mode 100644 index 000000000..7896a6fff --- /dev/null +++ b/src/api/wms/purchaseclaimRequestDetail/index.ts @@ -0,0 +1,56 @@ +import request from '@/config/axios' + +export interface PurchaseclaimRequestMainVO { + altBatch: string + amount: Number + batch: Number + id: string + itemCode: string + itemDesc1: string + itemDesc2: string + itemName: string + number: string + poLine: string + poNumber: string + projectCode: string + qty: Number + reason: string + remark: string + singlePrice: Number + uom: string +} + +// 查询采购索赔申请子列表 +export const getPurchaseclaimRequestDetailPage = async (params) => { + return await request.get({ url: `/wms/purchaseclaim-request-detail/page`, params }) +} + +// 查询采购索赔申请子详情 +export const getPurchaseclaimRequesDetail = async (id: number) => { + return await request.get({ url: `/wms/purchaseclaim-request-detail/get?id=` + id }) +} + +// 新增采购索赔申请子 +export const createPurchaseclaimRequestDetail = async (data: PurchaseclaimRequestMainVO) => { + return await request.post({ url: `/wms/purchaseclaim-request-detail/create`, data }) +} + +// 修改采购索赔申请子 +export const updatePurchaseclaimRequestDetail = async (data: PurchaseclaimRequestMainVO) => { + return await request.put({ url: `/wms/purchaseclaim-request-detail/update`, data }) +} + +// 删除采购索赔申请子 +export const deletePurchaseclaimRequestDetail = async (id: number) => { + return await request.delete({ url: `/wms/purchaseclaim-request-detail/delete?id=` + id }) +} + +// 导出采购索赔申请子 Excel +export const exportPurchaseclaimRequestDetail = async (params) => { + return await request.download({ url: `/wms/purchaseclaim-request-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchaseclaim-request-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index c9055fd1f..691e9a39d 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -99,8 +99,13 @@ + -
+
{ resetForm() // 修改时,设置数据 if (row) { + console.log(row); formLoading.value = true try { nextTick(() => { @@ -243,7 +256,7 @@ const open = async (type: string, row?: any) => { } } } -defineExpose({ open , formRef, opensearchTable, dialogVisible}) // 提供 open 方法,用于打开弹窗 +defineExpose({ open , formRef, opensearchTable, dialogVisible, formLoading }) // 提供 open 方法,用于打开弹窗 /** 弹窗按钮 */ const Butttondata = [ @@ -275,7 +288,7 @@ const submitForm = async () => { const valid = await elForm.validate() if (!valid) return // 针对主子表 明细校验 - if (props.isBusiness) { + if (props.isBusiness && formType.value == 'create') { const validateForm = await tableFormRef.value.validateForm() if (!validateForm) { if (props.tableData.length == 0) { @@ -291,7 +304,7 @@ const submitForm = async () => { emit('submitForm', formType.value, data ) // dialogVisible.value = false } finally { - formLoading.value = false + // formLoading.value = false } } else { // 基础数据单表——提交请求 @@ -299,6 +312,9 @@ const submitForm = async () => { try { // const data = unref(formRef)?.formModel as ItempackagingApi.ItempackagingVO const data = unref(formRef)?.formModel + if(props.masterId){ + data.masterId = props.masterId + } if (formType.value === 'create') { await props.apiCreate(data) message.success(t('common.createSuccess')) @@ -334,7 +350,7 @@ const emit = defineEmits([ 'inpuFocus', 'searchTableSuccess', 'opensearchTable', - 'submitForm' + 'submitForm', ]) //普通下拉改变事件 const formSelectChange = (field, val) => { diff --git a/src/components/Detail/src/Detail.vue b/src/components/Detail/src/Detail.vue index 8842d8c00..f2328035d 100644 --- a/src/components/Detail/src/Detail.vue +++ b/src/components/Detail/src/Detail.vue @@ -1,4 +1,5 @@