From d7f982949a811f1cd14602b8d82ece68681cf7f0 Mon Sep 17 00:00:00 2001 From: FLL <2162874245@qq.com> Date: Sat, 26 Jul 2025 17:10:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=AF=E6=AF=94=EF=BC=8C=E8=B6=8B=E5=8A=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../electricEnergy/electricTrend/index.vue | 282 +++++++++++++++++- .../electricEnergy/electricityQOQ/data.ts | 81 +++++ .../electricEnergy/electricityQOQ/index.vue | 65 +++- .../property/waterPower/waterQOQ/data.ts | 81 +++++ .../property/waterPower/waterQOQ/index.vue | 65 +++- .../property/waterPower/waterTrend/index.vue | 226 +++++++++++++- 6 files changed, 779 insertions(+), 21 deletions(-) create mode 100644 apps/web-antd/src/views/property/electricEnergy/electricityQOQ/data.ts create mode 100644 apps/web-antd/src/views/property/waterPower/waterQOQ/data.ts diff --git a/apps/web-antd/src/views/property/electricEnergy/electricTrend/index.vue b/apps/web-antd/src/views/property/electricEnergy/electricTrend/index.vue index 8600d414..7f6fa54e 100644 --- a/apps/web-antd/src/views/property/electricEnergy/electricTrend/index.vue +++ b/apps/web-antd/src/views/property/electricEnergy/electricTrend/index.vue @@ -1,11 +1,28 @@ 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 @@