From 66b7cc44e98701c9e456c2c4470e146e19da1cd5 Mon Sep 17 00:00:00 2001 From: fyy <2717885210@qq.com> Date: Mon, 25 Aug 2025 16:14:11 +0800 Subject: [PATCH 01/11] =?UTF-8?q?fix:=20=E6=B0=B4=E7=94=B5=E6=8A=84?= =?UTF-8?q?=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=8A=84=E8=A1=A8=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../costManagement/costMeterWater/costMeterWater-modal.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/web-antd/src/views/property/costManagement/costMeterWater/costMeterWater-modal.vue b/apps/web-antd/src/views/property/costManagement/costMeterWater/costMeterWater-modal.vue index 4a0c76fc..6446d59e 100644 --- a/apps/web-antd/src/views/property/costManagement/costMeterWater/costMeterWater-modal.vue +++ b/apps/web-antd/src/views/property/costManagement/costMeterWater/costMeterWater-modal.vue @@ -19,7 +19,7 @@ import { personList } from '#/api/property/resident/person'; const emit = defineEmits<{ reload: [] }>(); const costItemsOptions = ref([]); const meterTypeOptions = ref([]); -const isMeterType = ref(false); +const isMeterType = ref(false); //是否选择了费用类型 const isUpdate = ref(false); const title = computed(() => { return isUpdate.value ? $t('pages.common.edit') : $t('pages.common.add'); @@ -70,6 +70,7 @@ const schema = [ isMeterType.value = false; } else { isMeterType.value = true; + // 获取费用项目 const costItemsRes = await costItemSettingList({ pageSize: 1000000000, pageNum: 1, @@ -79,10 +80,11 @@ const schema = [ label: item.chargeItem, value: item.id, })); + // 获取抄表类型:水费字典为0,电费为1 const meterTypeRes = await meterReadingTypeList({ pageSize: 1000000000, pageNum: 1, - costType: value == '5' ? 0 : 1, + meterType: value == '5' ? '0' : '1', }); meterTypeOptions.value = (meterTypeRes?.rows || []).map((item) => ({ label: item.name, From cc24027880c01de7b9ca8021fc6eb27e74450d0d Mon Sep 17 00:00:00 2001 From: FLL <2162874245@qq.com> Date: Mon, 25 Aug 2025 16:17:29 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contingenPlan/contingenPlan-examine.vue | 88 +++++++++++++++++++ .../customerService/contingenPlan/data.ts | 24 +++++ .../customerService/contingenPlan/index.vue | 26 +++--- .../visitorManagement/visitorTodo/data.ts | 6 ++ 4 files changed, 130 insertions(+), 14 deletions(-) create mode 100644 apps/web-antd/src/views/property/customerService/contingenPlan/contingenPlan-examine.vue diff --git a/apps/web-antd/src/views/property/customerService/contingenPlan/contingenPlan-examine.vue b/apps/web-antd/src/views/property/customerService/contingenPlan/contingenPlan-examine.vue new file mode 100644 index 00000000..f530abe4 --- /dev/null +++ b/apps/web-antd/src/views/property/customerService/contingenPlan/contingenPlan-examine.vue @@ -0,0 +1,88 @@ + + + + diff --git a/apps/web-antd/src/views/property/customerService/contingenPlan/data.ts b/apps/web-antd/src/views/property/customerService/contingenPlan/data.ts index 933e55ec..422a7415 100644 --- a/apps/web-antd/src/views/property/customerService/contingenPlan/data.ts +++ b/apps/web-antd/src/views/property/customerService/contingenPlan/data.ts @@ -156,3 +156,27 @@ export const modalSchema: FormSchemaGetter = () => [ rules: 'required', }, ]; + +export const schema: FormSchemaGetter = () => [ + { + label: '主键', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '演练状态', + fieldName: 'status', + component: 'RadioGroup', + componentProps: { + options: [ + { label: '已取消', value: 1 }, + { label: '待进行', value: 2 }, + ], + }, + rules: 'required', + } +]; diff --git a/apps/web-antd/src/views/property/customerService/contingenPlan/index.vue b/apps/web-antd/src/views/property/customerService/contingenPlan/index.vue index 5d105101..358cb853 100644 --- a/apps/web-antd/src/views/property/customerService/contingenPlan/index.vue +++ b/apps/web-antd/src/views/property/customerService/contingenPlan/index.vue @@ -18,6 +18,7 @@ import type { ContingenPlanForm } from '#/api/property/customerService/contingen import { commonDownloadExcel } from '#/utils/file/download'; import contingenPlanModal from './contingenPlan-modal.vue'; +import contingenPlanExamine from './contingenPlan-examine.vue'; import contingenPlanDetail from './contingenPlan-detail.vue'; import { columns, querySchema } from './data'; import {personList} from "#/api/property/resident/person"; @@ -96,10 +97,13 @@ async function handleDelete(row: Required) { await tableApi.query(); } +const [ContingenPlanExamine, contingenPlanExamineApi] = useVbenModal({ + connectedComponent: contingenPlanExamine, +}); + async function handleExamine(row: Required) { - row.status = '1' - await contingenPlanUpdate(row); - await tableApi.query(); + contingenPlanExamineApi.setData({ id: row.id }); + contingenPlanExamineApi.open(); } function handleMultiDelete() { @@ -183,19 +187,12 @@ onMounted(async () => { diff --git a/apps/web-antd/src/views/property/visitorManagement/visitorTodo/data.ts b/apps/web-antd/src/views/property/visitorManagement/visitorTodo/data.ts index 03cc4caa..7f305ccc 100644 --- a/apps/web-antd/src/views/property/visitorManagement/visitorTodo/data.ts +++ b/apps/web-antd/src/views/property/visitorManagement/visitorTodo/data.ts @@ -1,5 +1,6 @@ import type { FormSchemaGetter } from '#/adapter/form'; import type { VxeGridProps } from '#/adapter/vxe-table'; +import {renderDict} from "#/utils/render"; export const querySchema: FormSchemaGetter = () => [ { @@ -87,6 +88,11 @@ export const columns: VxeGridProps['columns'] = [ { title: '事由', field: 'visitingReason', + slots: { + default: ({ row }) => { + return renderDict(row.visitingReason, 'reason_for_visit'); + }, + }, }, { title: '拜访时间', From b44fa6ee7f69f004b33e4cee2ebb980fd99a416c Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Mon, 25 Aug 2025 16:32:44 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 9acb807d..01a06f2a 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -9,6 +9,8 @@ jobs: steps: - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 + with: + fetch-depth: 1 # 只拉取最新的1个提交(浅克隆) - name: Set up Node.js uses: http://git.missmoc.top/mocheng/setup-node@v3 From 67b80d76878404c8c02fad89fb05b977b794b22b Mon Sep 17 00:00:00 2001 From: dev_ljl <2590379346@qq.com> Date: Mon, 25 Aug 2025 17:00:32 +0800 Subject: [PATCH 04/11] =?UTF-8?q?feat:=E5=85=A5=E9=A9=BB=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E5=85=A5=E9=A9=BB=E4=BD=8D=E7=BD=AE=E5=A4=9A=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/property/resident/unit/model.d.ts | 1 + .../src/views/property/resident/unit/data.ts | 2 +- .../property/resident/unit/unit-modal.vue | 11 +++++++--- .../conferenceReservationRecords/data.ts | 22 +++++++++---------- .../conferenceReservations/index.vue | 10 ++++----- .../roomBooking/conferenceSettings/data.ts | 2 +- 6 files changed, 27 insertions(+), 21 deletions(-) diff --git a/apps/web-antd/src/api/property/resident/unit/model.d.ts b/apps/web-antd/src/api/property/resident/unit/model.d.ts index 8ae348bf..259e2abe 100644 --- a/apps/web-antd/src/api/property/resident/unit/model.d.ts +++ b/apps/web-antd/src/api/property/resident/unit/model.d.ts @@ -35,6 +35,7 @@ export interface Resident_unitVO { * 入驻位置 */ location: string; + locations: string[]; /** * 入驻时间 diff --git a/apps/web-antd/src/views/property/resident/unit/data.ts b/apps/web-antd/src/views/property/resident/unit/data.ts index a7ac0cae..7e7358f9 100644 --- a/apps/web-antd/src/views/property/resident/unit/data.ts +++ b/apps/web-antd/src/views/property/resident/unit/data.ts @@ -157,7 +157,7 @@ export const modalSchema: FormSchemaGetter = () => [ }, { label: '入驻位置', - fieldName: 'location', + fieldName: 'locations', component: 'TreeSelect', rules: 'selectRequired', formItemClass: 'col-span-2' diff --git a/apps/web-antd/src/views/property/resident/unit/unit-modal.vue b/apps/web-antd/src/views/property/resident/unit/unit-modal.vue index 3346c219..0d5d78a7 100644 --- a/apps/web-antd/src/views/property/resident/unit/unit-modal.vue +++ b/apps/web-antd/src/views/property/resident/unit/unit-modal.vue @@ -64,7 +64,11 @@ const [BasicModal, modalApi] = useVbenModal({ await initLocationOptions(); if (isUpdate.value && id) { const record = await resident_unitInfo(id); - await formApi.setValues({...record,authTime:[record.authBegDate,record.authEndDate]}); + let roomIds=record.location.split(',') + await formApi.setValues({...record, + authTime:[record.authBegDate,record.authEndDate], + locations:roomIds + }); } await markInitialized(); @@ -84,7 +88,7 @@ async function handleConfirm() { data.authBegDate = data.authTime[0]; data.authEndDate = data.authTime[1]; - + data.location=data.locations.join(',') await (isUpdate.value ? resident_unitUpdate(data) : resident_unitAdd(data)); resetInitialized(); emit('reload'); @@ -125,8 +129,9 @@ async function initLocationOptions() { treeNodeFilterProp: 'label', // 选中后显示在输入框的值 treeNodeLabelProp: 'fullName', + multiple:true }), - fieldName: 'location', + fieldName: 'locations', }, ]); } diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts index e21faef6..6fd44227 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts @@ -43,16 +43,16 @@ export const columns: VxeGridProps['columns'] = [ field: 'unitName', minWidth:'120' }, - { - title: '预定人', - field: 'personName', - minWidth:'120' - }, - { - title: '联系方式', - field: 'phone', - minWidth:'120' - }, + // { + // title: '预定人', + // field: 'personName', + // minWidth:'120' + // }, + // { + // title: '联系方式', + // field: 'phone', + // minWidth:'120' + // }, // { // title: '预定时间', // field: 'scheduledStarttime', @@ -64,7 +64,7 @@ export const columns: VxeGridProps['columns'] = [ { title: '预定时间', field: 'scheduledStarttime', - minWidth: '180', + minWidth: '200', formatter: ({ row }) => { const start = row.scheduledStarttime; const end = row.scheduledEndtime; diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue index 69fea076..43574bb7 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue @@ -10,8 +10,8 @@ @@ -113,7 +119,7 @@ async function handleSearch() { openStartHours: openStartHours??undefined, openEndHours:openEndHours??undefined, appointmentTime:formState.appointmentTime?formState.appointmentTime.format('YYYY-MM-DD'):undefined, - meetingRoomType:formState.meetingRoomType + meetingRoomType:formState.meetingRoomType=='all'?undefined:formState.meetingRoomType, } meetingList.value =await notlist(obj); }