From deae00b5df65146d3e92f86f686fc0280753b91b Mon Sep 17 00:00:00 2001 From: zcxlsm Date: Thu, 11 Sep 2025 16:35:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(analytics-trends):=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BB=AA=E8=A1=A8=E7=B1=BB=E5=9E=8B=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/analytics/analytics-trends.vue | 17 +++++++--- .../src/views/dashboard/analytics/index.vue | 33 +++++++++++++++---- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/apps/web-antd/src/views/dashboard/analytics/analytics-trends.vue b/apps/web-antd/src/views/dashboard/analytics/analytics-trends.vue index 353d4c96..3e720e73 100644 --- a/apps/web-antd/src/views/dashboard/analytics/analytics-trends.vue +++ b/apps/web-antd/src/views/dashboard/analytics/analytics-trends.vue @@ -2,9 +2,18 @@ import type { EchartsUIType } from '@vben/plugins/echarts'; import { EchartsUI, useEcharts } from '@vben/plugins/echarts'; -import { onMounted, ref, defineExpose } from 'vue'; +import { onMounted, ref, defineExpose, watch } from 'vue'; import { meterRecordTrend } from '#/api/property/energyManagement/meterRecord'; import dayjs from 'dayjs'; + +const props = defineProps({ + meterType: { + type: Number, + default: 1, + }, +}); + +const meterType = ref(1); const chartRef = ref(); const { renderEcharts } = useEcharts(chartRef); // 添加日期选择相关逻辑 @@ -16,12 +25,12 @@ const getDaysInMonth = (date: any) => { const daysInMonth = new Date(year, month, 0).getDate(); return Array.from({ length: daysInMonth }, (_, i) => i + 1); }; -const getMeterRecordTrend = async (selectedDate: any) => { +const getMeterRecordTrend = async (selectedDate: any, meterType: any) => { const res = await meterRecordTrend({ day: dayjs().format('YYYY-MM-DD'), month: selectedDate.value, year: dayjs().format('YYYY'), - meterType: 1, + meterType: meterType.value, meterId: null, floorId: null, }); @@ -109,7 +118,7 @@ const getMeterRecordTrend = async (selectedDate: any) => { }); }; onMounted(async () => { - getMeterRecordTrend(selectedDate); + getMeterRecordTrend(selectedDate, meterType); }); // 暴露方法给父组件调用 defineExpose({ diff --git a/apps/web-antd/src/views/dashboard/analytics/index.vue b/apps/web-antd/src/views/dashboard/analytics/index.vue index 4eb8c766..59d09876 100644 --- a/apps/web-antd/src/views/dashboard/analytics/index.vue +++ b/apps/web-antd/src/views/dashboard/analytics/index.vue @@ -12,7 +12,7 @@ import AnalyticsVisitsData from './analytics-visits-data.vue'; import AnalyticsVisitsSales from './analytics-visits-sales.vue'; import AnalyticsVisitsSource from './analytics-visits-source.vue'; import { ref, onMounted } from 'vue'; -import { DatePicker } from 'ant-design-vue'; +import { DatePicker, message } from 'ant-design-vue'; import { Radio } from 'ant-design-vue'; import { getIndexCount, @@ -52,7 +52,7 @@ const overviewItems = ref([ ]); //tab选择 -const timeUnit = ref(1); +const meterType = ref(1); // 月份选择 const selectedDate = ref(null); const paramDate = ref(null); @@ -65,12 +65,28 @@ const analyticsTrendsRef = ref | null>( ); const handleDateChange = (date: any) => { paramDate.value = date.format('YYYY-MM'); + console.log('meterType', meterType); // 调用子组件的方法 if ( analyticsTrendsRef.value && analyticsTrendsRef.value.getMeterRecordTrend ) { - analyticsTrendsRef.value.getMeterRecordTrend(paramDate); + analyticsTrendsRef.value.getMeterRecordTrend(paramDate, meterType); + } +}; + +const handleMeterTypeChange = (e: Event) => { + if (!selectedDate.value) { + message.warning('请选择月份'); + return; + } + paramDate.value = selectedDate.value.format('YYYY-MM'); + // 调用子组件的方法 + if ( + analyticsTrendsRef.value && + analyticsTrendsRef.value.getMeterRecordTrend + ) { + analyticsTrendsRef.value.getMeterRecordTrend(paramDate, meterType); } }; @@ -199,8 +215,13 @@ onMounted(() => { class="flex items-center justify-between p-5" style="width: 100%; height: 100px" > - + 电量 + 水量 { @change="handleDateChange" /> -
+
-
From cf40169e87be8ed00cdbee6e8afa84691c0c901d Mon Sep 17 00:00:00 2001 From: dev_ljl <2590379346@qq.com> Date: Fri, 12 Sep 2025 19:43:57 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=E8=B4=B9=E7=94=A8=E9=A1=B9=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=8E=BB=E6=8E=89=E4=BB=98=E8=B4=B9=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../costManagement/costItemSetting/data.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts b/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts index 3c218bc6..43f36d10 100644 --- a/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts +++ b/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts @@ -158,15 +158,15 @@ export const modalSchema: FormSchemaGetter = () => [ placeholder: '请输入(如:元)', }, }, - { - label: '付费方式', - fieldName: 'paymentMode', - component: 'Select', - componentProps: { - options: getDictOptions('wy_fffs'), - }, - rules: 'selectRequired', - }, + // { + // label: '付费方式', + // fieldName: 'paymentMode', + // component: 'Select', + // componentProps: { + // options: getDictOptions('wy_fffs'), + // }, + // rules: 'selectRequired', + // }, { label: '进位方式', fieldName: 'roundingMode', @@ -202,7 +202,6 @@ export const modalSchema: FormSchemaGetter = () => [ options: getDictOptions('pro_calculation_formula'), }, rules: 'selectRequired', - formItemClass: 'col-span-2', }, { label: '计费单价',