From e0d55b6ab4a2ac07774502c6656423e0d2f0f9b6 Mon Sep 17 00:00:00 2001 From: fyy <2717885210@qq.com> Date: Wed, 30 Jul 2025 14:57:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=B1=82=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clean/cleanOrders/clean-modal.vue | 185 ++++++++------ .../property/clean/cleanOrders/index.vue | 2 +- .../costMeterWater/costMeterWater-modal.vue | 225 ++++++++++-------- .../houseCharge/houseCharge-add.vue | 164 +++++++------ .../orderMaintain-modal.vue | 17 +- .../property/resident/unit/unit-modal.vue | 100 ++++---- .../conferenceSettings-modal.vue | 93 ++++---- 7 files changed, 440 insertions(+), 346 deletions(-) diff --git a/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue b/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue index 7a763c7f..3091c3a0 100644 --- a/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue +++ b/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue @@ -6,7 +6,7 @@ import { computed, ref } from 'vue'; import { useVbenModal } from '@vben/common-ui'; import { $t } from '@vben/locales'; -import { cloneDeep,handleNode,getPopupContainer } from '@vben/utils'; +import { cloneDeep, handleNode, getPopupContainer } from '@vben/utils'; import { Button, Table } from 'ant-design-vue'; import dayjs from 'dayjs'; @@ -43,7 +43,11 @@ const isAudit = ref(false); const isRefund = ref(false); const rowData = ref({}); const title = computed(() => { - return isUpdate.value ? $t('pages.common.edit') : isReadonly.value ? '详情' : $t('pages.common.add'); + return isUpdate.value + ? $t('pages.common.edit') + : isReadonly.value + ? '详情' + : $t('pages.common.add'); }); // 用来缓存 cleanList 的完整数据 @@ -123,9 +127,9 @@ const [BasicModal, modalApi] = useVbenModal({ return null; } // 查询服务地址树形结构 - setupCommunitySelect() + setupCommunitySelect(); modalApi.modalLoading(true); - const { id, readonly,audit,refund,row } = modalApi.getData() as { + const { id, readonly, audit, refund, row } = modalApi.getData() as { id?: string; readonly?: boolean; audit?: boolean; @@ -138,9 +142,9 @@ const [BasicModal, modalApi] = useVbenModal({ isRefund.value = !!refund; rowData.value = row; //判断是否是编辑状态需要先判断是否是只读状态 - if(isReadonly.value){ + if (isReadonly.value) { isUpdate.value = false; - }else{ + } else { isUpdate.value = !!id; } if ((isUpdate.value || isReadonly.value) && id) { @@ -149,9 +153,9 @@ const [BasicModal, modalApi] = useVbenModal({ if (record.endTime) record.endTime = dayjs(record.endTime); editUnitId.value = record.unitId || ''; detailTable.value = record.cleanList || []; - for(const item of record.relationList){ - for(let i = 0; i < detailTable.value.length; i++){ - if(item.cleanId === detailTable.value[i].id){ + for (const item of record.relationList) { + for (let i = 0; i < detailTable.value.length; i++) { + if (item.cleanId === detailTable.value[i].id) { detailTable.value[i].area = item.areas; detailTable.value[i].sumPeices = item.sumPrice; } @@ -271,11 +275,11 @@ const detailColumns = [ dataIndex: 'sumPeices', key: 'sumPeices', }, - { - title: '操作', - key: 'action', - fixed: 'right' as const, - }, + { + title: '操作', + key: 'action', + fixed: 'right' as const, + }, ]; const [DetailTable, detailTableApi] = useVbenVxeGrid({ @@ -298,7 +302,6 @@ function handleDetailReload(data: any) { // 编辑订单服务详情 function handleEditDetailReload(data: any) { detailTable.value[data.index] = data; - } // 删除订单服务详情 function handleDeleteDetail(record: any, index: number) { @@ -342,11 +345,15 @@ async function handleConfirm() { data.unit = unitObj ? unitObj.name : data.unit || ''; data.name = cleanObj ? cleanObj.name : data.name || ''; data.unitId = unitObj ? unitObj.id : isUpdate.value ? editUnitId.value : ''; - data.sumPeices = Number(totalSumPeices.value) + data.sumPeices = Number(totalSumPeices.value); data.cleanList = detailTable.value; - if (data.starTime) data.starTime = dayjs(data.starTime).format('YYYY-MM-DD HH:mm:ss'); - if (data.endTime) data.endTime = dayjs(data.endTime).format('YYYY-MM-DD HH:mm:ss'); - isUpdate.value ? await clean_orderUpdate({...data,id:editCleanOrderId.value}) : await clean_orderAdd(data); + if (data.starTime) + data.starTime = dayjs(data.starTime).format('YYYY-MM-DD HH:mm:ss'); + if (data.endTime) + data.endTime = dayjs(data.endTime).format('YYYY-MM-DD HH:mm:ss'); + isUpdate.value + ? await clean_orderUpdate({ ...data, id: editCleanOrderId.value }) + : await clean_orderAdd(data); resetInitialized(); emit('reload'); modalApi.close(); @@ -359,17 +366,17 @@ async function handleConfirm() { async function handleClosed() { await formApi.resetForm(); - detailTable.value = [];//清空详情表格 + detailTable.value = []; //清空详情表格 resetInitialized(); } // 获取服务地址 async function setupCommunitySelect() { - const areaList = await communityTree(5); + const areaList = await communityTree(4); // 选中后显示在输入框的值 即父节点 / 子节点 // addFullName(areaList, 'areaName', ' / '); const splitStr = '/'; handleNode(areaList, 'label', splitStr, function (node: any) { - if (node.level != 5) { + if (node.level != 4) { node.disabled = true; } }); @@ -399,58 +406,65 @@ async function setupCommunitySelect() { ]); } async function handleAudit(params: any) { - modalApi.lock(true); - const { valid } = await formApi.validate(); - if (!valid) { - return; - } - const data = cloneDeep(await formApi.getValues()); - if(rowData.value){ + modalApi.lock(true); + const { valid } = await formApi.validate(); + if (!valid) { + return; + } + const data = cloneDeep(await formApi.getValues()); + if (rowData.value) { data.state = rowData.value.state; data.isUnbooking = rowData.value?.isUnbooking; - } - // 单位数据缓存 - if (unitListData.length === 0) { - const res = await resident_unitList(); - unitListData = res.rows || []; - } - // 劳务数据缓存 cleanListData 已有 - // 查找label - const unitObj = unitListData.find((item) => item.id === data.unitId); - const cleanObj = cleanListData.find((item) => item.id === data.name); - data.unit = unitObj ? unitObj.name : data.unit || ''; - data.name = cleanObj ? cleanObj.name : data.name || ''; - data.unitId = unitObj ? unitObj.id : isUpdate.value ? editUnitId.value : ''; - data.sumPeices = Number(totalSumPeices.value) - data.starTime = dayjs(data.starTime).format('YYYY-MM-DD HH:mm:ss'); - data.endTime = dayjs(data.endTime).format('YYYY-MM-DD HH:mm:ss'); - // data.sumPeices = parseInt(totalSumPeices.value, 10); - // 组装 cleanIds - // data.cleanIds = detailTable.value.map((item: any) => item.id); - data.cleanList = detailTable.value; - if(params.isRefund){ - data.isUnbooking = 1; - } else if(params.isAudit){ - data.state = 1; - }else{ - data.state = 2; - } - // 0:未审核 1:审核通过 2:审核不通过 - await clean_orderUpdate({...data,id:editCleanOrderId.value}) - resetInitialized(); - emit('reload'); - modalApi.close(); + } + // 单位数据缓存 + if (unitListData.length === 0) { + const res = await resident_unitList(); + unitListData = res.rows || []; + } + // 劳务数据缓存 cleanListData 已有 + // 查找label + const unitObj = unitListData.find((item) => item.id === data.unitId); + const cleanObj = cleanListData.find((item) => item.id === data.name); + data.unit = unitObj ? unitObj.name : data.unit || ''; + data.name = cleanObj ? cleanObj.name : data.name || ''; + data.unitId = unitObj ? unitObj.id : isUpdate.value ? editUnitId.value : ''; + data.sumPeices = Number(totalSumPeices.value); + data.starTime = dayjs(data.starTime).format('YYYY-MM-DD HH:mm:ss'); + data.endTime = dayjs(data.endTime).format('YYYY-MM-DD HH:mm:ss'); + // data.sumPeices = parseInt(totalSumPeices.value, 10); + // 组装 cleanIds + // data.cleanIds = detailTable.value.map((item: any) => item.id); + data.cleanList = detailTable.value; + if (params.isRefund) { + data.isUnbooking = 1; + } else if (params.isAudit) { + data.state = 1; + } else { + data.state = 2; + } + // 0:未审核 1:审核通过 2:审核不通过 + await clean_orderUpdate({ ...data, id: editCleanOrderId.value }); + resetInitialized(); + emit('reload'); + modalApi.close(); }