DESKTOP-6LTVLN7\Liumouren 2 лет назад
Родитель
Сommit
7fdc39089d

+ 20 - 3
src/components/chart/LineChart.vue

@@ -38,9 +38,14 @@ export default {
   watch: {
     valueData: {
       handler(val) {
-        this.initEchart(this.categoryData, this.valueData);
+        this.$nextTick(() => {
+          if (this.valueData) {
+            this.initEchart(this.categoryData, this.valueData);
+          }
+        });
       },
-      immediate: false
+      deep: true,
+      immediate: true
     }
   },
   mounted() {
@@ -65,7 +70,19 @@ export default {
           show: true,
           trigger: "axis",
           formatter: function (params) {
-            return params[0].marker + params[0].name + "年" + "(" + homeSpecialTown + ")" + "<br />" + title + ":" + params[0].data + unit;
+            return (
+              params[0].marker +
+              params[0].name +
+              "年" +
+              "(" +
+              homeSpecialTown +
+              ")" +
+              "<br />" +
+              title +
+              ":" +
+              params[0].data +
+              unit
+            );
           }
         },
         grid: {

+ 9 - 2
src/components/common/ChartCard.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 组合chart外边框 -->
-  <div style="width: 100%;height: 100%;">
+  <div style="width: 100%; height: 100%">
     <!-- 上部倾斜方块、标题和分割线 -->
     <div class="displayFlex">
       <div class="borders2"></div>
@@ -11,7 +11,14 @@
     </div>
     <!-- chart主题 -->
     <div style="height: 75px; width: 100%">
-      <LineChart v-if="categoryData && valueData" :categoryData="categoryData" :valueData="valueData" :unit="unit" :title="title"/>
+      <LineChart
+        ref="lineChart"
+        v-if="categoryData && valueData"
+        :categoryData="categoryData"
+        :valueData="valueData"
+        :unit="unit"
+        :title="title"
+      />
       <el-empty v-else description="暂无数据"></el-empty>
     </div>
   </div>

+ 25 - 20
src/components/layout/MenuCard.vue

@@ -382,18 +382,20 @@ export default {
   methods: {
     sumData() {
       this.dataInitLoading = true;
-      let params = new FormData();
-      params.append("columnId", this.menuData.columnId);
-      if (this.menuData.field) {
-        params.append("field", this.menuData.field);
-      }
-      params.append("states", "2,3");
-      params.append("pageSize", this.menuData.pageSize ? this.menuData.pageSize : 999);
-      params.append("page", 0);
       if (this.menuData.paramJson) {
         if (this.menuData.categoryData) {
-          let pramJson = {};
-          this.menuData.categoryData.forEach((item,_index) => {
+          this.menuData.topSolt.commonData[0].categoryData = [];
+          this.menuData.topSolt.commonData[0].valueData = [];
+          this.menuData.categoryData.forEach((item, _index) => {
+            let params = new FormData();
+            params.append("columnId", this.menuData.columnId);
+            if (this.menuData.field) {
+              params.append("field", this.menuData.field);
+            }
+            params.append("states", "2,3");
+            params.append("pageSize", this.menuData.pageSize ? this.menuData.pageSize : 999);
+            params.append("page", 0);
+            let pramJson = {};
             pramJson.c_new_date = item;
             pramJson.sj_select = this.menuData.paramJson.sj_select;
             params.append("paramJson", JSON.stringify(pramJson));
@@ -408,27 +410,28 @@ export default {
             }
             this.$Post(this.menuData.getUrl ? this.menuData.getUrl : this.urlsCollection.selectContentList, params).then(
               res => {
-                if (res.code === 200 && res.content.length > 0) {
-                  this.menuData.topSolt.commonData[0].categoryData[_index] = item;
+                if (res.code === 200 && res.content !== "数据为空" && res.content.length > 0) {
+                  this.menuData.topSolt.commonData[0].categoryData[_index] = Number(item);
                   let sumField = 0;
                   res.content.forEach(contentItem => {
                     sumField += Number(contentItem.number);
                   });
                   this.menuData.topSolt.commonData[0].valueData[_index] = sumField;
                 } else {
-                  this.menuData.topSolt.commonData[0].categoryData = [];
-                  this.menuData.topSolt.commonData[0].valueData = [];
+                  this.menuData.topSolt.commonData[0].categoryData[_index] = Number(item);
+                  this.menuData.topSolt.commonData[0].valueData[_index] = 0;
                 }
                 this.dataInitLoading = false;
               },
               error => {
-                this.menuData.topSolt.commonData[0].categoryData = [];
-                this.menuData.topSolt.commonData[0].valueData = [];
+                this.menuData.topSolt.commonData[0].categoryData[_index] = item;
+                this.menuData.topSolt.commonData[0].valueData[_index] = 0;
                 console.log("error:", error, this.menuData);
                 this.dataInitLoading = false;
               }
             );
           });
+          console.log(this.menuData.topSolt.commonData[0].categoryData, this.menuData.topSolt.commonData[0].valueData);
         }
       }
     },
@@ -458,6 +461,12 @@ export default {
             this.menuData.topSolt.commonData[4].valueData = [sum];
           }
         }
+      } else if (this.menuData && this.menuData.commonName && this.menuData.commonName === "TOP") {
+        this.menuData.topData = this.resData;
+      } else if (this.menuData && this.menuData.commonName && this.menuData.commonName === "SUM") {
+        console.log("changeHomeSpecialTown");
+        // this.sumData(this.$store.state.homeSpecialTown);
+        this.sumData();
       } else if (this.menuData && this.menuData.topSolt && this.menuData.topSolt.commonData) {
         this.menuData.topSolt.commonData.forEach((item, index) => {
           this.menuData.topSolt.commonData[index].categoryData = [];
@@ -469,10 +478,6 @@ export default {
             this.menuData.topSolt.commonData[index].value = 0;
           }
         });
-      } else if (this.menuData && this.menuData.commonName && this.menuData.commonName === "TOP") {
-        this.menuData.topData = this.resData;
-      } else if (this.menuData && this.menuData.commonName && this.menuData.commonName === "SUM") {
-        this.sumData(this.$store.state.homeSpecialTown);
       }
     },
     // 当用户使用光标切换交互组件时触发

+ 3 - 21
src/config/common.js

@@ -1101,17 +1101,13 @@ export const menuOnLine = {
             {
               type: "lr",
               title: "土地类疑点",
-              value: 72,
+              value: 0,
               unit: "个",
               categoryData: [
-                "2019",
-                "2020",
-                "2021"
+                '2019', '2020', '2021'
               ],
               valueData: [
-                100,
-                120,
-                72
+                0, 0, 0
               ]
             }
           ]
@@ -1169,17 +1165,10 @@ export const menuOnLine = {
             {
               type: "lr",
               title: "水资源类疑点",
-              value: 72,
               unit: "个",
               categoryData: [
-                "2019",
-                "2020",
-                "2021"
               ],
               valueData: [
-                100,
-                120,
-                72
               ]
             }
           ]
@@ -1237,17 +1226,10 @@ export const menuOnLine = {
             {
               type: "lr",
               title: "林地类疑点",
-              value: 72,
               unit: "个",
               categoryData: [
-                "2019",
-                "2020",
-                "2021"
               ],
               valueData: [
-                100,
-                120,
-                72
               ]
             }
           ]