From 44e2c1fd4a9fff6015334ff27be4ac3ebd5dc897 Mon Sep 17 00:00:00 2001 From: FLL <2162874245@qq.com> Date: Fri, 25 Jul 2025 10:03:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customerService/centerConsole/index.vue | 43 ++++++++++--------- .../property/customerService/notices/data.ts | 2 +- .../notices/notices-detail.vue | 2 +- .../customerService/notices/notices-modal.vue | 1 + 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/apps/web-antd/src/views/property/customerService/centerConsole/index.vue b/apps/web-antd/src/views/property/customerService/centerConsole/index.vue index e82aae92..95c4f82f 100644 --- a/apps/web-antd/src/views/property/customerService/centerConsole/index.vue +++ b/apps/web-antd/src/views/property/customerService/centerConsole/index.vue @@ -25,7 +25,6 @@ async function fetchWorkOrderCount() { seriesData.value = board.value.recentWeekWorkOrders.map(item => { return `${item.count}`; }); - console.log(xAxisData.value,seriesData.value) renderWorkOrderCount({ tooltip: { trigger: 'axis' }, xAxis: { @@ -85,24 +84,21 @@ async function fetchSatisfactionLevel() { const orderNumber = ref(); const { renderEcharts: renderOrderNumber } = useEcharts(orderNumber); async function fetchOrderNumber() { + seriesData.value = board.value.recentSixMonthWorkOrders.map(item => [ + item.month, // 月份(对应目标结构的第一个元素) + item.orderCount // 工单数量(对应目标结构的第二个元素) + ]) + seriesData.value.unshift(['product','入驻员工']) renderOrderNumber({ title: {text: '近半年工单数',left: '18px'}, legend: {}, tooltip: { trigger: 'axis' }, dataset: { - source: [ - ['product', '物业', '入驻员工'], - ['2025-01', 2, 5.8], - ['2025-02', 10.1, 7.4], - ['2025-03', 6.4, 5.2], - ['2025-04', 3.3, 5.8], - ['2025-05', 8.1, 7.4], - ['2025-06', 6.4, 5.2], - ] + source: seriesData.value }, xAxis: { type: 'category' }, yAxis: {}, - series: [{ type: 'bar' }, { type: 'bar' }] + series: [{ type: 'bar' }] }) } @@ -110,6 +106,16 @@ async function fetchOrderNumber() { const orderTyper = ref(); const { renderEcharts: renderOrderTyper } = useEcharts(orderTyper); async function fetchOrderTyper() { + seriesData.value = board.value.satisfactionChartList.map(item => { + return { + value: item.quantity, + name: item.type, + }; + }) + const totalQuantity = board.value.satisfactionChartList.reduce((sum, item) => { + return sum + Number(item.quantity || 0); + }, 0); + console.log(seriesData.value) renderOrderTyper({ title: {text: '工单类型分类占比',left: '18px',top: '18px'}, tooltip: { @@ -131,7 +137,10 @@ async function fetchOrderTyper() { label: { show: true, position: 'center', - formatter: '员工单数量\n{num|56个}', + formatter: [ + '员工单数量', + `{num|${totalQuantity}个}` + ].join('\n'), fontSize: 14, fontWeight: 'bold', color: 'gray', @@ -148,13 +157,7 @@ async function fetchOrderTyper() { labelLine: { show: false }, - data: [ - { value: 1048, name: 'Search Engine' }, - { value: 735, name: 'Direct' }, - { value: 580, name: 'Email' }, - { value: 484, name: 'Union Ads' }, - { value: 300, name: 'Video Ads' } - ] + data: seriesData.value } ] }) @@ -232,7 +235,7 @@ onMounted(async () => {
工单计数
累计处理工单数
-
12
+
{{board.recentWeekWorkOrders?.[0]?.weekCount || '0'}}
diff --git a/apps/web-antd/src/views/property/customerService/notices/data.ts b/apps/web-antd/src/views/property/customerService/notices/data.ts index c8c554be..78df08f8 100644 --- a/apps/web-antd/src/views/property/customerService/notices/data.ts +++ b/apps/web-antd/src/views/property/customerService/notices/data.ts @@ -48,7 +48,7 @@ export const columns: VxeGridProps['columns'] = [ }, { title: '发布人', - field: 'issuers', + field: 'issuersName', }, { field: 'action', diff --git a/apps/web-antd/src/views/property/customerService/notices/notices-detail.vue b/apps/web-antd/src/views/property/customerService/notices/notices-detail.vue index 7123604c..8307690e 100644 --- a/apps/web-antd/src/views/property/customerService/notices/notices-detail.vue +++ b/apps/web-antd/src/views/property/customerService/notices/notices-detail.vue @@ -44,7 +44,7 @@ async function handleOpenChange(open: boolean) { /> - {{ noticesDetail.noticePersion }} + {{ noticesDetail.noticePersionName }} {{ noticesDetail.startTime }} diff --git a/apps/web-antd/src/views/property/customerService/notices/notices-modal.vue b/apps/web-antd/src/views/property/customerService/notices/notices-modal.vue index c590adb7..2926035d 100644 --- a/apps/web-antd/src/views/property/customerService/notices/notices-modal.vue +++ b/apps/web-antd/src/views/property/customerService/notices/notices-modal.vue @@ -64,6 +64,7 @@ const [BasicModal, modalApi] = useVbenModal({ if(record.isAll === '0'){ record.noticePersion = null } + record.noticePersion = record.noticePersion?.split(',') await formApi.setValues(record); } await markInitialized();