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