+
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 @@
-
+