From 532869a4a365c59f97c551362fca2ca645c5432a Mon Sep 17 00:00:00 2001 From: zcxlsm Date: Sat, 26 Jul 2025 02:39:07 +0800 Subject: [PATCH 1/3] =?UTF-8?q?refactor(property):=20=E5=85=A5=E9=A9=BB?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E8=A1=A8=E5=8D=95=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/property/resident/person/model.d.ts | 4 +- .../views/property/resident/person/data.ts | 22 +++-- .../property/resident/person/person-modal.vue | 80 +++++++++++-------- 3 files changed, 65 insertions(+), 41 deletions(-) diff --git a/apps/web-antd/src/api/property/resident/person/model.d.ts b/apps/web-antd/src/api/property/resident/person/model.d.ts index 17413393..d748edb1 100644 --- a/apps/web-antd/src/api/property/resident/person/model.d.ts +++ b/apps/web-antd/src/api/property/resident/person/model.d.ts @@ -144,9 +144,9 @@ export interface PersonForm extends BaseEntity { */ authGroupId?: string | number - begDate?: string + authBegDate?: string - endDate?: string + authEndDate?: string } export interface PersonQuery extends PageQuery { diff --git a/apps/web-antd/src/views/property/resident/person/data.ts b/apps/web-antd/src/views/property/resident/person/data.ts index b061b2d5..b344beef 100644 --- a/apps/web-antd/src/views/property/resident/person/data.ts +++ b/apps/web-antd/src/views/property/resident/person/data.ts @@ -5,6 +5,7 @@ import { renderDict } from "#/utils/render" import { resident_unitList } from "#/api/property/resident/unit" import { authGroupList } from '#/api/sis/authGroup' import type { AuthGroupVO, AuthGroupQuery } from '#/api/sis/authGroup/model' +import { toRaw } from 'vue' export const querySchema: FormSchemaGetter = () => [ @@ -151,15 +152,16 @@ export const modalSchema: FormSchemaGetter = () => [ label: '性别', fieldName: 'gender', component: "Select", - componentProps:{ + componentProps: { options: getDictOptions('sys_user_sex') }, rules: 'required', }, { - label: '身份证号', + label: '证件号', fieldName: 'idCard', component: "Input", + rules: 'required', }, { label: '邮箱', @@ -221,12 +223,23 @@ export const modalSchema: FormSchemaGetter = () => [ format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', }, - rules: 'required', + dependencies: { + show: (values) => { + return typeof (values.id) !== 'undefined' + }, + triggerFields: ['id'], + } }, { label: '通行权限组', fieldName: 'authGroupId', component: 'ApiSelect', + dependencies: { + show: (values) => { + return typeof (values.id) !== 'undefined' + }, + triggerFields: ['id'], + }, componentProps: { resultField: 'list', // 根据API返回结构调整 labelField: 'name', @@ -244,8 +257,7 @@ export const modalSchema: FormSchemaGetter = () => [ } return authGroupArr }, - }, - rules: 'required', + } }, { label: '人脸图片', diff --git a/apps/web-antd/src/views/property/resident/person/person-modal.vue b/apps/web-antd/src/views/property/resident/person/person-modal.vue index 38ebe8ed..06d9678a 100644 --- a/apps/web-antd/src/views/property/resident/person/person-modal.vue +++ b/apps/web-antd/src/views/property/resident/person/person-modal.vue @@ -1,56 +1,60 @@ diff --git a/apps/web-antd/src/views/property/electricEnergy/electricityQOQ/data.ts b/apps/web-antd/src/views/property/electricEnergy/electricityQOQ/data.ts new file mode 100644 index 00000000..74dc092e --- /dev/null +++ b/apps/web-antd/src/views/property/electricEnergy/electricityQOQ/data.ts @@ -0,0 +1,81 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type { VxeGridProps } from '#/adapter/vxe-table'; +import {getDictOptions} from "#/utils/dict"; +import dayjs from 'dayjs'; + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Select', + componentProps: { + options: getDictOptions('pro_qoq_type'), + }, + fieldName: 'date', + label: '日期', + defaultValue: '0', + }, + { + component: 'DatePicker', + componentProps: (formData) => { + const type: 0 | 1 | 2 | 3 = formData.date ?? 0; + const today = dayjs(); + const propsMap = { + 0: { + picker: 'date', + format: 'YYYY-MM-DD', + valueFormat: 'YYYY-MM-DD', + showTime: false, + defaultValue: today.format('YYYY-MM-DD'), + }, + 1: { + picker: 'week', + format: 'YYYY-MM-DD', + valueFormat: 'YYYY-MM-DD', + showTime: false, + defaultValue: today.startOf('week').format('YYYY-MM-DD'), + }, + 2: { + picker: 'month', + format: 'YYYY-MM', + valueFormat: 'YYYY-MM', + showTime: false, + defaultValue: today.format('YYYY-MM'), + }, + 3: { + picker: 'year', + format: 'YYYY', + valueFormat: 'YYYY', + showTime: false, + defaultValue: today.format('YYYY'), + }, + }; + return propsMap[type]; + }, + fieldName: 'chioceDate', + dependencies: { + triggerFields: ['date'], + }, + }, +]; + +export const columns: VxeGridProps['columns'] = [ + { + title: '能源节点', + field: 'roomNumber', + }, + { + title: '当月用能(kw.h)', + field: 'chargeItem', + }, + { + title: '上月用能(kw.h)', + field: 'chargeCycle', + }, + { + title: '增加值(kw.h)', + field: 'startTime', + }, + { + title: '环比(%)', + field: 'endTime', + }, +]; diff --git a/apps/web-antd/src/views/property/electricEnergy/electricityQOQ/index.vue b/apps/web-antd/src/views/property/electricEnergy/electricityQOQ/index.vue index 63cf316b..240d96bf 100644 --- a/apps/web-antd/src/views/property/electricEnergy/electricityQOQ/index.vue +++ b/apps/web-antd/src/views/property/electricEnergy/electricityQOQ/index.vue @@ -1,11 +1,72 @@ diff --git a/apps/web-antd/src/views/property/waterPower/waterQOQ/data.ts b/apps/web-antd/src/views/property/waterPower/waterQOQ/data.ts new file mode 100644 index 00000000..630cf3d4 --- /dev/null +++ b/apps/web-antd/src/views/property/waterPower/waterQOQ/data.ts @@ -0,0 +1,81 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type { VxeGridProps } from '#/adapter/vxe-table'; +import {getDictOptions} from "#/utils/dict"; +import dayjs from 'dayjs'; + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Select', + componentProps: { + options: getDictOptions('pro_qoq_type'), + }, + fieldName: 'date', + label: '日期', + defaultValue: '0', + }, + { + component: 'DatePicker', + componentProps: (formData) => { + const type: 0 | 1 | 2 | 3 = formData.date ?? 0; + const today = dayjs(); + const propsMap = { + 0: { + picker: 'date', + format: 'YYYY-MM-DD', + valueFormat: 'YYYY-MM-DD', + showTime: false, + defaultValue: today.format('YYYY-MM-DD'), + }, + 1: { + picker: 'week', + format: 'YYYY-MM-DD', + valueFormat: 'YYYY-MM-DD', + showTime: false, + defaultValue: today.startOf('week').format('YYYY-MM-DD'), + }, + 2: { + picker: 'month', + format: 'YYYY-MM', + valueFormat: 'YYYY-MM', + showTime: false, + defaultValue: today.format('YYYY-MM'), + }, + 3: { + picker: 'year', + format: 'YYYY', + valueFormat: 'YYYY', + showTime: false, + defaultValue: today.format('YYYY'), + }, + }; + return propsMap[type]; + }, + fieldName: 'chioceDate', + dependencies: { + triggerFields: ['date'], + }, + }, +]; + +export const columns: VxeGridProps['columns'] = [ + { + title: '能源节点', + field: 'roomNumber', + }, + { + title: '当月用能(t)', + field: 'chargeItem', + }, + { + title: '上月用能(t)', + field: 'chargeCycle', + }, + { + title: '增加值(t)', + field: 'startTime', + }, + { + title: '环比(%)', + field: 'endTime', + }, +]; diff --git a/apps/web-antd/src/views/property/waterPower/waterQOQ/index.vue b/apps/web-antd/src/views/property/waterPower/waterQOQ/index.vue index 63cf316b..240d96bf 100644 --- a/apps/web-antd/src/views/property/waterPower/waterQOQ/index.vue +++ b/apps/web-antd/src/views/property/waterPower/waterQOQ/index.vue @@ -1,11 +1,72 @@ diff --git a/apps/web-antd/src/views/property/waterPower/waterTrend/index.vue b/apps/web-antd/src/views/property/waterPower/waterTrend/index.vue index 63cf316b..0cc039ac 100644 --- a/apps/web-antd/src/views/property/waterPower/waterTrend/index.vue +++ b/apps/web-antd/src/views/property/waterPower/waterTrend/index.vue @@ -1,11 +1,233 @@ From 54ed694271a4aeb1c3d592f9200e037fb524361f Mon Sep 17 00:00:00 2001 From: dev_ljl <2590379346@qq.com> Date: Sat, 26 Jul 2025 18:39:49 +0800 Subject: [PATCH 3/3] =?UTF-8?q?1=E3=80=81=E7=94=A8=E7=94=B5=E6=A6=82?= =?UTF-8?q?=E5=86=B5=202=E3=80=81=E7=94=A8=E6=B0=B4=E6=A6=82=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elctricitySituation/floor-tree.vue | 104 ++++ .../elctricitySituation/index.vue | 497 +++++++++++++++++- .../waterPower/waterSituation/index.vue | 391 +++++++++++++- 3 files changed, 985 insertions(+), 7 deletions(-) create mode 100644 apps/web-antd/src/views/property/electricEnergy/elctricitySituation/floor-tree.vue diff --git a/apps/web-antd/src/views/property/electricEnergy/elctricitySituation/floor-tree.vue b/apps/web-antd/src/views/property/electricEnergy/elctricitySituation/floor-tree.vue new file mode 100644 index 00000000..a5819758 --- /dev/null +++ b/apps/web-antd/src/views/property/electricEnergy/elctricitySituation/floor-tree.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/apps/web-antd/src/views/property/electricEnergy/elctricitySituation/index.vue b/apps/web-antd/src/views/property/electricEnergy/elctricitySituation/index.vue index e3ba3c35..88b4f4b9 100644 --- a/apps/web-antd/src/views/property/electricEnergy/elctricitySituation/index.vue +++ b/apps/web-antd/src/views/property/electricEnergy/elctricitySituation/index.vue @@ -1,11 +1,500 @@ + + - + diff --git a/apps/web-antd/src/views/property/waterPower/waterSituation/index.vue b/apps/web-antd/src/views/property/waterPower/waterSituation/index.vue index 63cf316b..9bcfcd23 100644 --- a/apps/web-antd/src/views/property/waterPower/waterSituation/index.vue +++ b/apps/web-antd/src/views/property/waterPower/waterSituation/index.vue @@ -1,11 +1,396 @@ + + -