zpf 11 сар өмнө
parent
commit
b8feb15085

+ 80 - 19
src/views/siteselection/components/dkDetailsNew.vue

@@ -12,18 +12,40 @@
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane :label="item.tableName" :name="item.tableName" v-for="(item, index) in tabs_list" :key="index">
 
-          <pie class="echart" unit="平方米" :ref="`ghxz_pie`"></pie>
-          <el-table :data="tableData" style="width: 100%" :header-cell-style="{
-            background: 'rgba(10, 25, 38, 0.6)',
-            color: '#66b1ff',
-            fontSize: '14px',
-            fontFamily: 'Microsoft YaHei',
-            fontWeight: '400',
-          }">
-            <el-table-column show-overflow-tooltip="true" width="150" v-for="header in headers" :key="header"
-              :label="header" :prop="header" v-if="header != '空间信息'">
-            </el-table-column>
-          </el-table>
+          <div v-if="item.tableName != '权属'">
+            <pie class="echart" unit="平方米" :ref="`ghxz_pie`"></pie>
+
+            <el-table :data="tableData" style="width: 100%" :header-cell-style="{
+              background: 'rgba(10, 25, 38, 0.6)',
+              color: '#66b1ff',
+              fontSize: '14px',
+              fontFamily: 'Microsoft YaHei',
+              fontWeight: '400',
+            }">
+              <el-table-column show-overflow-tooltip="true" width="150" v-for="header in headers" :key="header"
+                :label="header" :prop="header" v-if="header != '空间信息'">
+              </el-table-column>
+            </el-table>
+          </div>
+          <div v-else>
+            <el-tabs @tab-click="handleClickPs">
+              <el-tab-pane v-for="(item, index) in ps_tabs" :key="index" :label="item.dataname" :name="item.dataname">
+                <pie class="echart" unit="平方米" :ref="`ps_ghxz_pie`"></pie>
+                <el-table :data="tableData" style="width: 100%" :header-cell-style="{
+                  background: 'rgba(10, 25, 38, 0.6)',
+                  color: '#66b1ff',
+                  fontSize: '14px',
+                  fontFamily: 'Microsoft YaHei',
+                  fontWeight: '400',
+                }">
+                  <el-table-column show-overflow-tooltip="true" width="150" v-for="header in headers" :key="header"
+                    :label="header" :prop="header" v-if="header != '空间信息'">
+                  </el-table-column>
+                </el-table>
+
+              </el-tab-pane>
+            </el-tabs>
+          </div>
         </el-tab-pane>
 
       </el-tabs>
@@ -66,6 +88,9 @@ export default {
       optional: null,
       rawData: [],
       headers: [], // 用于存储所有可能的 filedZH 值 
+      ps_tabs: [],
+      ps_datalist: [],
+
     };
   },
   methods: {
@@ -104,6 +129,12 @@ export default {
         let legend_right = "4%"
         this.$refs.ghxz_pie[index].setOptions({ data, type, max, legend_right });
       });
+    }, setEchartPs(data, type, index) {
+      this.$nextTick(() => {
+        let max = 7
+        let legend_right = "4%"
+        this.$refs.ps_ghxz_pie[index].setOptions({ data, type, max, legend_right });
+      });
     },
     async handleClick(tab, event) {
       this.rawData = [];
@@ -121,22 +152,52 @@ export default {
           }
 
           let data = await GetTabsPanePost(JSON.stringify(pane_obj));
-          let data_echart = [];
+          if (element.tableName == '权属') {
+            this.ps_tabs = data.data.child;
+
+
+
+          } else {
+            let data_echart = [];
+
+            data.data.datalist != undefined && data.data.datalist.forEach((res) => {
+              data_echart.push({
+                name: res.groupvalue,
+                value: res.sumvalue
+              })
+            })
+
+            if (data.data.data != undefined) {
+              this.rawData = data.data.data
+            }
+            let index_tab = Number(tab.index)
+            if (element.tableName == '土地现状') {
+              index_tab = 1;
+            }
+            this.setEchart(data_echart, "vertical", index_tab);
+          }
 
-          data.data.datalist != undefined && data.data.datalist.forEach((res) => {
+        }
+      });
+    },
+    handleClickPs(tab) {
+      let data_echart = [];
+
+      this.ps_tabs.forEach((res) => {
+        if (tab.name == res.dataname) {
+          res.datalist.forEach((res) => {
             data_echart.push({
               name: res.groupvalue,
               value: res.sumvalue
             })
           })
 
-          if (data.data.data != undefined) {
-            this.rawData = data.data.data
+          this.setEchartPs(data_echart, "vertical", Number(tab.index));
+          if (res.data != undefined) {
+            this.rawData = res.data
           }
-          this.setEchart(data_echart, "vertical", Number(tab.index));
-
         }
-      });
+      })
     },
     close() {
       this.isDateilsShow = false;