From 560e324e6cb66d4cf3f1c8e09d9bb022761617ed Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Tue, 17 Dec 2024 15:55:18 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E6=B8=85=E5=8D=95=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 23 +++ .../components/cost-settlement-model.vue | 2 +- .../components/rent-termination-model.vue | 147 ++++++++++++++---- 3 files changed, 143 insertions(+), 29 deletions(-) diff --git a/components.d.ts b/components.d.ts index cbeaded..cb2d9f6 100644 --- a/components.d.ts +++ b/components.d.ts @@ -9,12 +9,35 @@ declare module 'vue' { export interface GlobalComponents { Breadcrumb: typeof import('./src/components/Breadcrumb/index.vue')['default'] ElBadge: typeof import('element-plus/es')['ElBadge'] + ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] + ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem'] ElButton: typeof import('element-plus/es')['ElButton'] ElCarousel: typeof import('element-plus/es')['ElCarousel'] ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] + ElCascader: typeof import('element-plus/es')['ElCascader'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCol: typeof import('element-plus/es')['ElCol'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] + ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElDialog: typeof import('element-plus/es')['ElDialog'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElIcon: typeof import('element-plus/es')['ElIcon'] ElImage: typeof import('element-plus/es')['ElImage'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElMenu: typeof import('element-plus/es')['ElMenu'] + ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElPagination: typeof import('element-plus/es')['ElPagination'] + ElProgress: typeof import('element-plus/es')['ElProgress'] + ElRow: typeof import('element-plus/es')['ElRow'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElStep: typeof import('element-plus/es')['ElStep'] + ElSteps: typeof import('element-plus/es')['ElSteps'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElTag: typeof import('element-plus/es')['ElTag'] + ElUpload: typeof import('element-plus/es')['ElUpload'] Empty: typeof import('./src/components/Empty/index.vue')['default'] EquipCard: typeof import('./src/components/equipCard.vue')['default'] EquipCardHall: typeof import('./src/components/equipCardHall/index.vue')['default'] diff --git a/src/views/user/orderManagementCz/components/cost-settlement-model.vue b/src/views/user/orderManagementCz/components/cost-settlement-model.vue index 29c95f2..a6ec5c6 100644 --- a/src/views/user/orderManagementCz/components/cost-settlement-model.vue +++ b/src/views/user/orderManagementCz/components/cost-settlement-model.vue @@ -128,7 +128,7 @@ diff --git a/src/views/user/orderManagementCz/components/rent-termination-model.vue b/src/views/user/orderManagementCz/components/rent-termination-model.vue index 263e098..a9bc230 100644 --- a/src/views/user/orderManagementCz/components/rent-termination-model.vue +++ b/src/views/user/orderManagementCz/components/rent-termination-model.vue @@ -103,12 +103,11 @@ + + @@ -136,12 +146,11 @@ + + @@ -170,12 +190,11 @@ + + @@ -632,9 +662,7 @@ @@ -1019,24 +1047,81 @@ const getOrderDetailsData = async () => { props.type == 1 ? (dialogTitle.value = '退租检修') : (dialogTitle.value = '检修明细') if (props.type === 1) { - const { data: res }: any = await getOrderDetailsByIdApi({ + getOrderDetailsByIdApi({ orderId: props.orderId, // maId: props.maId, - }) + }).then(async (res: any) => { + orderDetails.value = res.data + orderDetails.value.detailsList = orderDetails.value.detailsList.map((e: any) => { + return { + ...e, + isEdit: false, + repairPrice: 0, + scrapPrice: 0, + lossPrice: 0, + repairInfoList: [], + scrapInfoList: [], + lossInfoList: [], + } + }) - orderDetails.value = res - orderDetails.value.detailsList = orderDetails.value.detailsList.map((e: any) => { - return { - ...e, - isEdit: false, - repairPrice: '', - scrapPrice: '', - lossPrice: '', - repairInfoList: [], - scrapInfoList: [], - lossInfoList: [], + const { data: result }: any = await getOverhaulApi(props.orderId) + + const { repairRecordList, scrapRecordList, lossRecordList, fileInfoList } = result + + if (repairRecordList.length > 0) { + repairRecordList.forEach((e: any) => { + orderDetails.value.detailsList.forEach((j: any) => { + if (e.maId == j.maId) { + j.repairPrice = e.repairPrice + j.isEdit = true + } + }) + }) + } + if (scrapRecordList.length > 0) { + scrapRecordList.forEach((e: any) => { + orderDetails.value.detailsList.forEach((j: any) => { + if (e.maId == j.maId) { + j.scrapPrice = e.scrapPrice + j.isEdit = true + } + }) + }) + } + if (lossRecordList.length > 0) { + lossRecordList.forEach((e: any) => { + orderDetails.value.detailsList.forEach((j: any) => { + if (e.maId == j.maId) { + j.lossPrice = e.lossPrice + j.isEdit = true + } + }) + }) + } + + if (fileInfoList.length > 0) { + fileInfoList.forEach((e: any) => { + orderDetails.value.detailsList.forEach((j: any) => { + if (e.modelId == j.maId && e.fileType == 0) { + j.repairInfoList.push(e) + } + if (e.modelId == j.maId && e.fileType == 1) { + j.scrapInfoList.push(e) + } + if (e.modelId == j.maId && e.fileType == 2) { + j.lossInfoList.push(e) + } + }) + }) } }) + + // overhaulDetails.value = res + // fileListAll.value = res.fileInfoList + // lossRecordList.value = res.lossRecordList + // scrapRecordList.value = res.scrapRecordList + // repairRecordList.value = res.repairRecordList // orderDetails.value = res // repairSelect.value = JSON.parse(JSON.stringify(res.detailsList)).filter( // (e: any) => e.orderStatus == 5, @@ -1236,7 +1321,7 @@ const onRepairFileChange = (fileList: any, index: number) => { taskType: 19, fileUrl: e.url, fileName: e.name, - modelId: orderDetails.value.detailsList[index].modelId, + modelId: orderDetails.value.detailsList[index].maId, // modelId: repairFormList.value[index].maId, } }) @@ -1254,7 +1339,7 @@ const onScrapFileChange = (fileList: any, index: number) => { taskType: 19, fileUrl: e.url, fileName: e.name, - modelId: orderDetails.value.detailsList[index].modelId, + modelId: orderDetails.value.detailsList[index].maId, // modelId: scrapFormList.value[index].maId, } }) @@ -1272,7 +1357,7 @@ const onLossFileChange = (fileList: any, index: number) => { fileUrl: e.url, fileName: e.name, // modelId: lossFormList.value[index].maId, - modelId: orderDetails.value.detailsList[index].modelId, + modelId: orderDetails.value.detailsList[index].maId, } }) // lossFormRefList.value[index].clearValidate('fileInfoList') @@ -1320,6 +1405,12 @@ const handleSelectionChange = (list: any) => { const onEditDeviceInfo = (row: any) => { row.isEdit = !row.isEdit + + if (!row.isEdit) { + row.repairPrice = 0 + row.scrapPrice = 0 + row.lossPrice = 0 + } } watch(