From 09321fa9f47984e06df5c29b57233dc59ee5a13a Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 19 十二月 2023 15:35:45 +0800
Subject: [PATCH] 整合代码

---
 Source/UBCS-WEB/src/views/statistic/statisticPage.vue |  173 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 91 insertions(+), 82 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
index cb12b69..0369f5c 100644
--- a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
+++ b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
@@ -2,42 +2,18 @@
   <!--  鏂板鍙充晶鎸夐挳-->
   <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="鏂板鏁版嵁缁熻鍒嗘瀽"
-      top="-50px"
-    >
-      <el-table
-        ref="table"
-        :data="tableData"
-        border
-        style="width: 100%"
-        @selection-change="selectChange"
-      >
-        <el-table-column
-          type="selection"
-          width="55">
-        </el-table-column>
-        <el-table-column
-          align="center"
-          label="涓绘暟鎹簱鍚�"
-          prop="menuName">
-        </el-table-column>
-        <el-table-column
-          align="center"
-          label="绫诲瀷"
-          prop="codeType">
+    <!--鏂板瀵硅瘽妗�-->
+    <el-dialog :visible.sync="addVisible" append-to-body class="avue-dialog avue-dialog--top" title="閰嶇疆鏁版嵁缁熻鍒嗘瀽"
+               top="-50px">
+      <el-table ref="table" :data="tableData" border style="width: 100%" @selection-change="selectChange">
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column align="center" label="涓绘暟鎹簱鍚�" 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>
@@ -47,16 +23,28 @@
     <el-button type="primary" @click="addSaveHandler">淇濆瓨</el-button>
   </span>
     </el-dialog>
-    <!--    echarts缁勪欢-->
-    <div style="margin-top: 15px">
-      <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"
-                :pieData="item.menuData"></pieChart>
-      <ColumnarChart v-for="(item,index) in columnarList" :key="index" :chartName="item.menuName"
-                     :columnarData="item.menuData"></ColumnarChart>
-      <mixCart v-for="(item,index) in mixList" :key="index" :chartName="item.menuName"
-               :mixData="item.menuData"></mixCart>
+    <!--echarts缁勪欢-->
+    <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"
+        :pieData="item.menuData"></pieChart>
+      <ColumnarChart
+        v-for="(item,index) in columnarList"
+        :key="index"
+        :chartName="item.menuName"
+        :columnarData="item.menuData"></ColumnarChart>
+      <mixCart
+        v-for="(item,index) in mixList"
+        :key="index"
+        :chartName="item.menuName"
+        :mixData="item.menuData"></mixCart>
     </div>
   </div>
 </template>
@@ -66,7 +54,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, deleteChartId} from "@/api/statistic/chart"
 import {getList} from "@/api/system/statistic";
 
 export default {
@@ -79,7 +67,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 +99,35 @@
     }
   },
   created() {
-    this.getMasterList()
+    this.getMasterList();
+    this.getEcharts();
+    // deleteChartId({btmname:'zxssaac',chartId:'3'}).then(res=>{
+    //   console.log('res',res)
+    // })
   },
   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(firstResponse => {
+        console.log('btm', firstResponse)
+        const btmNames = Object.keys(firstResponse.data.data).join(',');
+        const firstData = firstResponse.data.data;
+        Object.keys(firstData).forEach((item,index) => {
+          let firstIndex = firstData[item].split(',');
+          console.log('firstIndex',firstIndex);
+        });
+        if (btmNames) {
+          getStatisticAnalysis({btmNames}).then(secondResponse => {
+            console.log('getStatisticAnalysis', secondResponse)
+          })
+        }
       })
     },
     //鏂板
@@ -110,7 +139,7 @@
       this.addVisible = false;
     },
     //淇濆瓨
-    addSaveHandler() {
+    async addSaveHandler() {
       if (this.selectData.length <= 0) {
         this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒');
         return;
@@ -121,42 +150,19 @@
         return;
       }
 
-      this.dataKeyList = this.selectData.map(obj => obj.code)
-      const btmName = this.dataKeyList.join(",");
-      if (btmName) {
-        this.menuList=[
-          {
-            menuData: [
-              [0, 0, 0, 0, 0, 0, 4, 9, 12, 12, 12, 12],
-              [0, 0, 0, 0, 0, 0, 4, 5, 3, 0, 0, 0]
-            ],
-            code:1
-          },
-          {
-            menuData: [
-              [0, 0, 0, 1, 1, 1, 1, 1, 1, 29, 5315, 5315],
-              [0, 0, 0, 1, 0, 0, 0, 0, 0, 28, 5286, 0]
-            ],
-            code:2
-          },
-          {
-            menuData: [
-              [0, 58, 60, 61, 75, 84, 145, 162, 166, 177, 186, 186],
-              [0, 58, 2, 1, 14, 9, 61, 17, 4, 11, 9, 0]
-            ],
-            code:3
-          }
-        ]
+      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('淇濆瓨鎴愬姛')
-        // getStatisticAnalysis({btmNames: btmName}).then(res => {
-          // this.menuList = res.data.data;
-          // this.nextSave();
-          // this.$message.success('淇濆瓨鎴愬姛')
-        // });
-      }else {
-        this.$message.warning('璇烽�夋嫨鏁版嵁锛�')
-      }
+      }).catch(error => {
+        this.$message.error(error)
+      });
     },
     nextSave() {
       const typeList = {
@@ -173,6 +179,8 @@
         const dataKey = typeList[item.codeType];
         if (dataKey) {
           this[dataKey].push(item);
+          this[dataKey].forEach(res => {
+          })
           hasValidData = true;
         }
       });
@@ -188,6 +196,7 @@
     },
   }
 }
+
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.3