From 024cc5e9e6fd51e3b0e14e8d3f76c63f1351a4f7 Mon Sep 17 00:00:00 2001
From: wanghong <309858992@qq.com>
Date: 星期四, 21 十二月 2023 12:25:35 +0800
Subject: [PATCH] 获取集团分类根节点前端传null传入后端直接改为空字符串bug修复

---
 Source/UBCS-WEB/src/views/statistic/statisticPage.vue |   94 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 67 insertions(+), 27 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
index 979622f..87f13cb 100644
--- a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
+++ b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
@@ -2,14 +2,14 @@
   <!--  鏂板鍙充晶鎸夐挳-->
   <div>
     <div style=" display: flex; justify-content: flex-end;">
-      <el-button plain type="primary" @click="addHandler">鏂板</el-button>
+      <el-button plain type="primary" @click="addHandler">閰嶇疆</el-button>
     </div>
     <!--  鏂板瀵硅瘽妗�-->
     <el-dialog
       :visible.sync="addVisible"
       append-to-body
       class="avue-dialog avue-dialog--top"
-      title="鏂板鏁版嵁缁熻鍒嗘瀽"
+      title="閰嶇疆鏁版嵁缁熻鍒嗘瀽"
       top="-50px"
     >
       <el-table
@@ -26,18 +26,16 @@
         <el-table-column
           align="center"
           label="涓绘暟鎹簱鍚�"
-          prop="menuName">
+          prop="menuName"
+          width="300">
         </el-table-column>
         <el-table-column
           align="center"
           label="绫诲瀷"
           prop="codeType">
           <template slot-scope="{ row }">
-            <el-select v-model="row.codeType" placeholder="璇烽�夋嫨鍥捐〃绫诲瀷">
-              <el-option label="鎶樼嚎鍥�" value="0"></el-option>
-              <el-option label="楗肩姸鍥�" value="1"></el-option>
-              <el-option label="鏌辩姸鍥�" value="2"></el-option>
-              <el-option label="鏌辩姸鎶樼嚎鍥�" value="3"></el-option>
+            <el-select v-model="row.codeType" :multiple="true" limit="4" placeholder="璇烽�夋嫨鍥捐〃绫诲瀷" style="width: 400px">
+              <el-option v-for="(item) in selectList" :label="item.label" :value="item.value"></el-option>
             </el-select>
           </template>
         </el-table-column>
@@ -48,7 +46,7 @@
   </span>
     </el-dialog>
     <!--    echarts缁勪欢-->
-    <div style="margin-top: 15px">
+    <div style="margin-top: 15px;padding-bottom: 35px">
       <lineChart v-for="(item,index) in lineList" :key="index" :chartName="item.menuName"
                  :lineData="item.menuData"></lineChart>
       <pieChart v-for="(item,index) in pieList" :key="index" :chartName="item.menuName"
@@ -66,7 +64,7 @@
 import pieChart from "../../components/StatisticsComponent/pieChart"
 import ColumnarChart from "../../components/StatisticsComponent/ColumnarChart"
 import mixCart from "../../components/StatisticsComponent/mixCart"
-import {getStatisticAnalysis} from "@/api/statistic/chart"
+import {getStatisticAnalysis,getBtmAndChart,saveStatisticAnalysis} from "@/api/statistic/chart"
 import {getList} from "@/api/system/statistic";
 
 export default {
@@ -79,7 +77,26 @@
   name: "statisticPage",
   data() {
     return {
-      menuList:[],
+      selectValue: '',
+      selectList: [
+        {
+          label: '鎶樼嚎鍥�',
+          value: '0'
+        },
+        {
+          label: '楗肩姸鍥�',
+          value: '1'
+        },
+        {
+          label: '鏌辩姸鍥�',
+          value: '2'
+        },
+        {
+          label: '鍫嗗彔鎶樼嚎鍥�',
+          value: '3'
+        }
+      ],
+      menuList: [],
       dataKeyList: [],
       addVisible: false,
       chartName: "",
@@ -92,13 +109,27 @@
     }
   },
   created() {
-    this.getMasterList()
+    this.getMasterList();
+    this.getEcharts()
   },
   methods: {
     getMasterList() {
       const userId = localStorage.getItem('userId');
       getList({userId: userId}).then(res => {
         this.tableData = res.data.data;
+      }).catch(error=>{
+        this.$message.error(error)
+      })
+    },
+    getEcharts(){
+      getBtmAndChart().then(res=>{
+        const btmNames = Object.keys(res.data.data).join(',');
+        console.log(btmNames);
+        if(btmNames){
+          getStatisticAnalysis({btmNames}).then(item=>{
+            console.log(item)
+          })
+        }
       })
     },
     //鏂板
@@ -110,12 +141,32 @@
       this.addVisible = false;
     },
     //淇濆瓨
-    addSaveHandler() {
+     async addSaveHandler() {
       if (this.selectData.length <= 0) {
         this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒');
         return;
       }
+      let codeStatus = this.selectData.every(key => key.codeType)
+      if (!codeStatus) {
+        this.$message.warning("璇锋鏌ュ凡鍕鹃�夋暟鎹被鍨嬫槸鍚︿负绌猴紒");
+        return;
+      }
 
+      const newArray = this.selectData.map(item => {
+        return {
+          btmname: item.code,
+          chartIds: item.codeType.join(',')
+        }
+      })
+       saveStatisticAnalysis(newArray).then(res => {
+          this.menuList = res.data.data;
+          this.nextSave();
+          this.$message.success('淇濆瓨鎴愬姛')
+        }).catch(error=>{
+          this.$message.error(error)
+        });
+    },
+    nextSave() {
       const typeList = {
         "0": "lineList",
         "1": "pieList",
@@ -124,25 +175,14 @@
       };
 
       let hasValidData = false; // 娣诲姞涓�涓爣蹇楁潵璁板綍鏄惁鏈夋湁鏁堢殑閫夋嫨鏁版嵁
-      let codeStatus = this.selectData.every(key => key.codeType)
-      if (!codeStatus) {
-        this.$message.warning("璇锋鏌ュ凡鍕鹃�夋暟鎹被鍨嬫槸鍚︿负绌猴紒");
-        return;
-      }
-      this.dataKeyList = this.selectData.map(obj => obj.code)
-      const btmName = this.dataKeyList.join(",");
-      if (btmName) {
-        getStatisticAnalysis({btmNames:btmName}  ).then(res=>{
-          this.menuList = res.data.data;
-          this.$message.success('淇濆瓨鎴愬姛')
-        })
 
-      }
-      this.selectData.forEach((item,index) => {
+      this.selectData.forEach((item, index) => {
         item.menuData = this.menuList[index].menuData;
         const dataKey = typeList[item.codeType];
         if (dataKey) {
           this[dataKey].push(item);
+          this[dataKey].forEach(res => {
+          })
           hasValidData = true;
         }
       });

--
Gitblit v1.9.3