From c2fd0bf273c19874d7f1a4f6f6a304ac723b42e3 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 22 九月 2025 09:50:48 +0800
Subject: [PATCH] 2025.9.22 扬尘月度简报分解数据产品(基础-现场巡查、中间-月度巡查简报)完成

---
 src/api/fysp/nightConstructionApi.js                                        |   14 +++++++++-----
 src/views/fysp/data-product/middle-data-product/ProdProblemTypeSummary.vue  |    2 +-
 src/api/index.js                                                            |    6 +++---
 src/views/fysp/data-product/middle-data-product/ProdProblemCountSummary.vue |    8 ++++----
 src/components.d.ts                                                         |   14 ++++++++++++++
 src/views/fysp/support/JingAnNightConstruction.vue                          |   13 +++++++++++--
 6 files changed, 42 insertions(+), 15 deletions(-)

diff --git a/src/api/fysp/nightConstructionApi.js b/src/api/fysp/nightConstructionApi.js
index babbc8e..8900273 100644
--- a/src/api/fysp/nightConstructionApi.js
+++ b/src/api/fysp/nightConstructionApi.js
@@ -17,14 +17,18 @@
 
   /**
    * 鏇存柊宸ュ湴澶滈棿鏂藉伐璁稿彲璇�
-   * @param {*} param0 
-   * @returns 
+   * @param {*} param0
+   * @returns
    */
   updateRecord({ recordId, userId, sceneId }) {
     return $fysp
-      .post(`nightwork/record`, undefined, {
-        params: { recordId, userId, sceneId }
-      })
+      .post(
+        `nightwork/record`,
+        {},
+        {
+          params: { recordId, userId, sceneId }
+        }
+      )
       .then((res) => res.data);
   }
 };
diff --git a/src/api/index.js b/src/api/index.js
index 7b8275a..e512156 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -1,7 +1,7 @@
 import axios from 'axios';
 import { ElMessage } from 'element-plus';
 
-const debug = true;
+const debug = false;
 
 // let ip1 = 'http://47.100.191.150:9005/';
 // let ip1_file = 'http://47.100.191.150:9005/';
@@ -13,8 +13,8 @@
 let ip2_file = 'https://fyami.com.cn/';
 
 if (debug) {
-  // ip1 = 'http://192.168.0.103:9001/';
-  ip1 = 'http://localhost:9001/';
+  ip1 = 'http://192.168.0.103:9001/';
+  // ip1 = 'http://localhost:9001/';
   // ip1_file = 'http://192.168.0.138:8080/';
   // ip2 = 'http://192.168.0.138:8080/';
   // ip2_file = 'https://fyami.com.cn/';
diff --git a/src/components.d.ts b/src/components.d.ts
index 9786e14..4603eee 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -21,8 +21,12 @@
     ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
     ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
     ElButton: typeof import('element-plus/es')['ElButton']
+    ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
+    ElCalendar: typeof import('element-plus/es')['ElCalendar']
     ElCard: typeof import('element-plus/es')['ElCard']
     ElCascader: typeof import('element-plus/es')['ElCascader']
+    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
+    ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElCollapse: typeof import('element-plus/es')['ElCollapse']
     ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
@@ -34,6 +38,9 @@
     ElDialog: typeof import('element-plus/es')['ElDialog']
     ElDivider: typeof import('element-plus/es')['ElDivider']
     ElDrawer: typeof import('element-plus/es')['ElDrawer']
+    ElDropdown: typeof import('element-plus/es')['ElDropdown']
+    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
+    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
     ElEmpty: typeof import('element-plus/es')['ElEmpty']
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
@@ -43,16 +50,22 @@
     ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
     ElInput: typeof import('element-plus/es')['ElInput']
     ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
+    ElLink: typeof import('element-plus/es')['ElLink']
     ElMain: typeof import('element-plus/es')['ElMain']
     ElMenu: typeof import('element-plus/es')['ElMenu']
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup']
     ElOption: typeof import('element-plus/es')['ElOption']
+    ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
+    ElPagination: typeof import('element-plus/es')['ElPagination']
+    ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
     ElPopover: typeof import('element-plus/es')['ElPopover']
     ElRadio: typeof import('element-plus/es')['ElRadio']
+    ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
+    ElSegmented: typeof import('element-plus/es')['ElSegmented']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSpace: typeof import('element-plus/es')['ElSpace']
     ElStep: typeof import('element-plus/es')['ElStep']
@@ -66,6 +79,7 @@
     ElTag: typeof import('element-plus/es')['ElTag']
     ElText: typeof import('element-plus/es')['ElText']
     ElTooltip: typeof import('element-plus/es')['ElTooltip']
+    ElTransfer: typeof import('element-plus/es')['ElTransfer']
     ElTree: typeof import('element-plus/es')['ElTree']
     ElUpload: typeof import('element-plus/es')['ElUpload']
     Footer: typeof import('./components/core/Footer.vue')['default']
diff --git a/src/views/fysp/data-product/middle-data-product/ProdProblemCountSummary.vue b/src/views/fysp/data-product/middle-data-product/ProdProblemCountSummary.vue
index 83aac7e..a743ccc 100644
--- a/src/views/fysp/data-product/middle-data-product/ProdProblemCountSummary.vue
+++ b/src/views/fysp/data-product/middle-data-product/ProdProblemCountSummary.vue
@@ -101,7 +101,7 @@
       ...item,
       lastSceneCount: last?.sceneCount || 0,
       lastProblemCount: last?.problemCount || 0,
-      lastRatio: Math.round(item.ratio * 10) / 10 || 0
+      lastRatio: Math.round((last?.ratio || 0) * 10) / 10 || 0
     };
   });
 });
@@ -152,7 +152,7 @@
   const month2 = dayjs(opt2.startTime).month() + 1;
   const time = `${year}骞�${month1}鏈堛��${month2}鏈坄;
   const option = barChartOption();
-  option.title.text = `${time}鍚勮閬擄紙闀囷級${opt1.sceneTypeName}鎵皹姹℃煋闂鏁板潎鍊煎姣擿;
+  option.title.text = `${time}${opt1.districtName}鍚勮閬擄紙闀囷級${opt1.sceneTypeName}鎵皹姹℃煋闂鏁板潎鍊煎姣擿;
 
   option.xAxis.name = '琛楅亾锛堥晣锛�';
   option.xAxis.data = tableData.value.map((item) => item.townName);
@@ -162,7 +162,7 @@
     {
       name: `${month1}鏈坄,
       type: 'bar', // 鍥捐〃绫诲瀷鏀逛负鏌辩姸鍥�
-      data: tableData1.value.map((item) => item.ratio),
+      data: tableData.value.map((item) => item.ratio),
       label: {
         show: true,
         position: 'top', // 鏍囩鏄剧ず鍦ㄦ煴瀛愰《閮�
@@ -172,7 +172,7 @@
     {
       name: `${month2}鏈坄,
       type: 'bar', // 鍥捐〃绫诲瀷鏀逛负鏌辩姸鍥�
-      data: tableData1.value.map((item) => item.ratio),
+      data: tableData.value.map((item) => item.lastRatio),
       label: {
         show: true,
         position: 'top', // 鏍囩鏄剧ず鍦ㄦ煴瀛愰《閮�
diff --git a/src/views/fysp/data-product/middle-data-product/ProdProblemTypeSummary.vue b/src/views/fysp/data-product/middle-data-product/ProdProblemTypeSummary.vue
index 93c161b..cf1a2c8 100644
--- a/src/views/fysp/data-product/middle-data-product/ProdProblemTypeSummary.vue
+++ b/src/views/fysp/data-product/middle-data-product/ProdProblemTypeSummary.vue
@@ -111,7 +111,7 @@
   }
   const startTime = dayjs(opt.startTime).format('YYYY骞碝M鏈�');
   const option = pieChartOption();
-  option.title.text = `${startTime}鎵皹姹℃煋闂绫诲瀷鍗犳瘮`;
+  option.title.text = `${startTime}${opt.districtName}鎵皹姹℃煋闂绫诲瀷鍗犳瘮`;
   option.legend.data = tableData.value.map((item) => item.typeName);
   option.series[0].name = '闂绫诲瀷';
   option.series[0].data = tableData.value.map((item) => ({
diff --git a/src/views/fysp/support/JingAnNightConstruction.vue b/src/views/fysp/support/JingAnNightConstruction.vue
index c610f63..2c2f90f 100644
--- a/src/views/fysp/support/JingAnNightConstruction.vue
+++ b/src/views/fysp/support/JingAnNightConstruction.vue
@@ -46,6 +46,11 @@
       />
       <el-table-column prop="ncPerson" label="鐢宠浜�" width="110" />
       <el-table-column prop="ncApplyContent" label="鐢宠鍐呭" width="110" />
+      <el-table-column prop="ncStartDate" label="鐢宠鏃堕棿" width="110">
+        <template #default="{ row }">
+          {{ $fm.formatYMD(row.ncCreateTime) }}
+        </template>
+      </el-table-column>
       <el-table-column prop="ncStartDate" label="宸ユ湡寮�濮�" width="110">
         <template #default="{ row }">
           {{ $fm.formatYMD(row.ncStartDate) }}
@@ -92,7 +97,7 @@
     />
     <template #footer>
       <el-button @click="dialog = false">鍙栨秷</el-button>
-      <el-button type="primary" @click="submit" :disabled="!selectedSVUser"
+      <el-button type="primary" @click="submit" :disabled="!selectedSVUser?.svUserId"
         >纭畾</el-button
       >
     </template>
@@ -172,7 +177,11 @@
 
 function itemEdit(row) {
   selectedRow.value = row;
-  selectedSVUser.value = row._user;
+  selectedSVUser.value = {
+    svUserId: row._user?.guid,
+    svUserName: row._user?.realname,
+    ...row._user
+  };
   dialog.value = true;
 }
 

--
Gitblit v1.9.3