Kaynağa Gözat

fix:接口联调

Cooklalala 5 ay önce
ebeveyn
işleme
c0597b40df

+ 23 - 24
mm/mm.config.js

@@ -393,7 +393,7 @@ module.exports = async (util) => {
       'base|10': [
         {
           'id|+1': 1,
-          区域编码(){
+          区域编码() {
             return getAdcode(this.id)
           },
           名称: `@county()@ctitle()基地`,
@@ -448,49 +448,48 @@ function wrapApiData({ data, code = 200 }) {
   }
 }
 
-
 function getAdcode(index) {
   const list = [
     {
-      "name": "碧江区",
-      "adcode": 520602
+      name: `碧江区`,
+      adcode: 520602,
     },
     {
-      "name": "万山区",
-      "adcode": 520603
+      name: `万山区`,
+      adcode: 520603,
     },
     {
-      "name": "江口县",
-      "adcode": 520621
+      name: `江口县`,
+      adcode: 520621,
     },
     {
-      "name": "玉屏侗族自治县",
-      "adcode": 520622
+      name: `玉屏侗族自治县`,
+      adcode: 520622,
     },
     {
-      "name": "石阡县",
-      "adcode": 520623
+      name: `石阡县`,
+      adcode: 520623,
     },
     {
-      "name": "思南县",
-      "adcode": 520624
+      name: `思南县`,
+      adcode: 520624,
     },
     {
-      "name": "印江土家族苗族自治县",
-      "adcode": 520625
+      name: `印江土家族苗族自治县`,
+      adcode: 520625,
     },
     {
-      "name": "德江县",
-      "adcode": 520626
+      name: `德江县`,
+      adcode: 520626,
     },
     {
-      "name": "沿河土家族自治县",
-      "adcode": 520627
+      name: `沿河土家族自治县`,
+      adcode: 520627,
     },
     {
-      "name": "松桃苗族自治县",
-      "adcode": 520628
-    }
+      name: `松桃苗族自治县`,
+      adcode: 520628,
+    },
   ]
   return list[index % list.length].adcode
-}
+}

+ 3 - 2
src/components/Customize/HorizontalHistogram.vue

@@ -84,6 +84,7 @@ export default {
         },
         xAxis: {
           type: `value`,
+          max: 100,
           axisLabel: {
             show: false,
           },
@@ -200,7 +201,7 @@ export default {
         ],
         series: [
           {
-            data: data.value,
+            data: data.value2,
             type: `bar`,
             barWidth: 10, // 柱子宽度
             MaxSize: 0,
@@ -264,7 +265,7 @@ export default {
               opacity: 1,
             },
             z: 2,
-            data: data.value,
+            data: data.value2,
             animationDelay: 500,
           },
         ],

+ 3 - 1
src/components/Customize/map/index.vue

@@ -392,8 +392,10 @@ export default {
       }
       myChart.setOption(this.option)
       myChart.on(`click`, function (params) {
+        console.log(params)
+
         const idx = params.dataIndex
-        that.$emit(`toView`, params.data.adcode)
+        that.$emit(`toView`, params.data.name)
       })
     },
   },

+ 36 - 39
src/components/Customize/wavyLineChart.vue

@@ -154,52 +154,49 @@ export default {
           bottom: `10%`,
           containLabel: true,
         },
-        xAxis: [
-          {
-            type: `category`,
-            boundaryGap: true,
-            axisLabel: {
-              formatter: `{value}`,
-              textStyle: {
-                color: `#c7d6f2`,
-              },
+        xAxis: {
+          type: `category`,
+          boundaryGap: true,
+          axisLabel: {
+            formatter: `{value}`,
+            textStyle: {
+              color: `#c7d6f2`,
             },
-            axisLine: {
-              lineStyle: {
-                color: `#D9D9D9`,
-              },
-            },
-            data: this.area,
           },
-        ],
-        yAxis: [
-          {
-            type: `value`,
-            name: this.unit,
-            axisLabel: {
-              textStyle: {
-                color: `#65ABE7`,
-              },
+          axisLine: {
+            lineStyle: {
+              color: `#D9D9D9`,
             },
-            nameTextStyle: {
+          },
+          data: this.area,
+        },
+        yAxis: {
+          max: 100,
+          type: `value`,
+          name: this.unit,
+          axisLabel: {
+            textStyle: {
               color: `#65ABE7`,
-              fontSize: 12,
-              lineHeight: 40,
             },
-            splitLine: {
-              lineStyle: {
-                type: `dashed`,
-                color: `#182D46`,
-              },
-            },
-            axisLine: {
-              show: false,
-            },
-            axisTick: {
-              show: false,
+          },
+          nameTextStyle: {
+            color: `#65ABE7`,
+            fontSize: 12,
+            lineHeight: 40,
+          },
+          splitLine: {
+            lineStyle: {
+              type: `dashed`,
+              color: `#182D46`,
             },
           },
-        ],
+          axisLine: {
+            show: false,
+          },
+          axisTick: {
+            show: false,
+          },
+        },
         series: [
           {
             name: this.lineName.thisName,

+ 1 - 1
src/components/Customize/weatherForecast.vue

@@ -122,7 +122,7 @@ export default {
             fontFamily: `Microsoft YaHei`,
           },
 
-          boundaryGap: false,
+          boundaryGap: true,
           data: this.area,
           axisTick: {
             show: false,

+ 11 - 5
src/util/index.js

@@ -59,13 +59,19 @@ function autoVueFn(autoList = [], opt) {
 
 /**
  * 根据区域 code 获取区域 id
- * @param {} vm 
- * @param {*} code 
- * @returns 
+ * @param {} vm
+ * @param {*} code
+ * @returns
  */
 async function code2base(vm, code) {
-  const list = await vm.$http.get(`/api/base`) || []
-  const item = list.find(item => String(item.区域编码) === String(code)) || list[0] || {}
+  const list = (await vm.$http.get(`/api/base`)) || []
+
+  console.log(list, code.slice(0, 2))
+  const item =
+    list.find((item) => String(item.名称).includes(String(code.slice(0, 2)))) ||
+    list[0] ||
+    {}
+
   return item
 }
 

+ 5 - 2
src/views/page1/index.vue

@@ -96,6 +96,7 @@ export default {
   },
   data() {
     return {
+      max: 100,
       autoVueFnInit: false,
       statisticsData: {
         title: `目标完成率`,
@@ -187,6 +188,8 @@ export default {
   mounted() {},
   methods: {
     async toView(code) {
+      console.log(code)
+
       const { id, 区域编码 } = (await this.$util.code2base(this, code)) || {}
       this.$router.push({
         path: `/page3`,
@@ -223,7 +226,7 @@ export default {
       return this.$http
         .get(`/api/weatherForecast`, {
           params: {
-            adcode: `520600`,
+            districtId: 0,
           },
         })
         .then((res) => {
@@ -266,7 +269,7 @@ export default {
           Done: [],
           Percentage: [],
         }
-        const date = res.sort((a, b) => b.已移载 - a.已移载)
+        const date = res
         date.forEach((element) => {
           area.push(element.名称.slice(0, 2))
           dataArray.Done.push(element.已移载)

+ 4 - 3
src/views/page2/index.vue

@@ -17,6 +17,7 @@
         style="position: absolute; right: 50px; top: 460px; z-index: 10"
         v-if="isMonthTrend"
         title="本月移栽数量趋势"
+        :max="max"
         :area.sync="monthTrendarea"
         :dataArray.sync="monthTrendDataArray"
         :lineName="monthName"
@@ -53,6 +54,7 @@ export default {
   },
   data() {
     return {
+      max: 100,
       HorizontalArea: [],
       HorizontalArray: {
         Done: [],
@@ -160,12 +162,11 @@ export default {
           Done: [],
           Percentage: [],
         }
-        console.log(res)
-
-        const date = res.sort((a, b) => b.已移栽 - a.已移栽)
+        const date = res
         date.forEach((element) => {
           area.push(element.名称.slice(0, 2))
           dataArray.Done.push(element.已移栽)
+          dataArray.Percentage.push(element.比率.toFixed(0))
         })
         this.HorizontalArea = area
         this.HorizontalArray = dataArray

+ 153 - 106
src/views/page3/index.vue

@@ -205,6 +205,7 @@ export default {
       WeatherdataArray: [],
       isCake: false,
       isWeather: false,
+      baseId: this.$route.query.id || 1,
     }
   },
   computed: {},
@@ -267,131 +268,177 @@ export default {
       console.log(`start, end`, start, end)
     },
     getWeatherForecast() {
-      return this.$http.get(`/api/weatherForecast`).then((res) => {
-        const area = []
-        const dataArray = {
-          temperature: [],
-          Weather: [],
-        }
-        res.forEach((element) => {
-          area.push(element.时间)
-          dataArray.temperature.push(element.温度)
-          dataArray.Weather.push(element.天气)
+      return this.$http
+        .get(`/api/weatherForecast`, {
+          params: {
+            districtId: this.baseId,
+          },
+        })
+        .then((res) => {
+          if (res) {
+            const area = []
+            const dataArray = {
+              temperature: [],
+              Weather: [],
+            }
+            res.forEach((element) => {
+              area.push(element.时间)
+              dataArray.temperature.push(element.温度)
+              dataArray.Weather.push(element.天气)
+            })
+            this.Weatherarea = area
+            this.WeatherdataArray = dataArray
+            this.isWeather = true
+          }
         })
-        this.Weatherarea = area
-        this.WeatherdataArray = dataArray
-        this.isWeather = true
-      })
     },
     getTrendOfTransplantQuantityThisMonth() {
-      this.$http.get(`/api/transplantTrendAnalysis`).then((res) => {
-        const area = []
-        const dataArray = {
-          LastYear: [],
-          thisYear: [],
-          comparisonLastDay: [],
-          comparisonLastYear: [],
-        }
-        res.forEach((element) => {
-          area.push(element.时间)
-          dataArray.LastYear.push(element.去年)
-          dataArray.thisYear.push(element.今年)
-          dataArray.comparisonLastDay.push(element.较上日)
-          dataArray.comparisonLastYear.push(element.较去年)
+      this.$http
+        .get(`/api/transplantTrendAnalysis`, {
+          params: {
+            districtId: this.baseId,
+          },
+        })
+        .then((res) => {
+          if (res) {
+            const area = []
+            const dataArray = {
+              LastYear: [],
+              thisYear: [],
+              comparisonLastDay: [],
+              comparisonLastYear: [],
+            }
+            res.forEach((element) => {
+              area.push(element.时间)
+              dataArray.LastYear.push(element.去年)
+              dataArray.thisYear.push(element.今年)
+              dataArray.comparisonLastDay.push(element.较上日)
+              dataArray.comparisonLastYear.push(element.较去年)
+            })
+            this.monthTrendarea = area
+            this.monthTrendDataArray = dataArray
+            this.isMonthTrend = true
+          }
         })
-        this.monthTrendarea = area
-        this.monthTrendDataArray = dataArray
-        this.isMonthTrend = true
-      })
     },
     getMonthlyTransplantationAreaAnalysis() {
-      this.$http.get(`/api/monthlyTransplantationAreaAnalysis`).then((res) => {
-        const area = []
-        const dataArray = {
-          LastYear: [],
-          thisYear: [],
-          comparisonLastDay: [],
-          comparisonLastYear: [],
-        }
-        res.forEach((element) => {
-          area.push(element.时间)
-          dataArray.LastYear.push(element.去年)
-          dataArray.thisYear.push(element.今年)
-          dataArray.comparisonLastDay.push(element.较上日)
-          dataArray.comparisonLastYear.push(element.较去年)
+      this.$http
+        .get(`/api/monthlyTransplantationAreaAnalysis`, {
+          params: {
+            districtId: this.baseId,
+          },
+        })
+        .then((res) => {
+          if (res) {
+            const area = []
+            const dataArray = {
+              LastYear: [],
+              thisYear: [],
+              comparisonLastDay: [],
+              comparisonLastYear: [],
+            }
+            res.forEach((element) => {
+              area.push(element.时间)
+              dataArray.LastYear.push(element.去年)
+              dataArray.thisYear.push(element.今年)
+              dataArray.comparisonLastDay.push(element.较上日)
+              dataArray.comparisonLastYear.push(element.较去年)
+            })
+            this.monthTrendAnalysearea = area
+            this.monthTrendAnalyseDataArray = dataArray
+            this.isAnalyseMonthTrend = true
+          }
         })
-        this.monthTrendAnalysearea = area
-        this.monthTrendAnalyseDataArray = dataArray
-        this.isAnalyseMonthTrend = true
-      })
     },
     getThisYearsTransplantingDataTrend() {
-      this.$http.get(`/api/thisYearsTransplantingDataTrend`).then((res) => {
-        const area = []
-        const dataArray = {
-          LastYear: [],
-          thisYear: [],
-          comparisonLastDay: [],
-          comparisonLastYear: [],
-        }
-        res.forEach((element) => {
-          area.push(element.时间)
-          dataArray.LastYear.push(element.去年)
-          dataArray.thisYear.push(element.今年)
-          dataArray.comparisonLastDay.push(element.较上日)
-          dataArray.comparisonLastYear.push(element.较去年)
+      this.$http
+        .get(`/api/thisYearsTransplantingDataTrend`, {
+          params: {
+            districtId: this.baseId,
+          },
+        })
+        .then((res) => {
+          if (res) {
+            const area = []
+            const dataArray = {
+              LastYear: [],
+              thisYear: [],
+              comparisonLastDay: [],
+              comparisonLastYear: [],
+            }
+            res.forEach((element) => {
+              area.push(element.时间)
+              dataArray.LastYear.push(element.去年)
+              dataArray.thisYear.push(element.今年)
+              dataArray.comparisonLastDay.push(element.较上日)
+              dataArray.comparisonLastYear.push(element.较去年)
+            })
+            this.yearTrendarea = area
+            this.yearTrendDataArray = dataArray
+            this.isYearTrend = true
+          }
         })
-        this.yearTrendarea = area
-        this.yearTrendDataArray = dataArray
-        this.isYearTrend = true
-      })
     },
     getAnalysisOfAnnualTransplantArea() {
-      this.$http.get(`/api/analysisOfAnnualTransplantArea`).then((res) => {
-        const area = []
-        const dataArray = {
-          LastYear: [],
-          thisYear: [],
-          comparisonLastDay: [],
-          comparisonLastYear: [],
-        }
-        res.forEach((element) => {
-          area.push(element.时间)
-          dataArray.LastYear.push(element.去年)
-          dataArray.thisYear.push(element.今年)
-          dataArray.comparisonLastDay.push(element.较上日)
-          dataArray.comparisonLastYear.push(element.较去年)
+      this.$http
+        .get(`/api/analysisOfAnnualTransplantArea`, {
+          params: {
+            districtId: this.baseId,
+          },
+        })
+        .then((res) => {
+          if (res) {
+            const area = []
+            const dataArray = {
+              LastYear: [],
+              thisYear: [],
+              comparisonLastDay: [],
+              comparisonLastYear: [],
+            }
+            res.forEach((element) => {
+              area.push(element.时间)
+              dataArray.LastYear.push(element.去年)
+              dataArray.thisYear.push(element.今年)
+              dataArray.comparisonLastDay.push(element.较上日)
+              dataArray.comparisonLastYear.push(element.较去年)
+            })
+            this.yearTrendAnalysearea = area
+            this.yearTrendAnalyseDataArray = dataArray
+            this.isAnalyseYearTrend = true
+          }
         })
-        this.yearTrendAnalysearea = area
-        this.yearTrendAnalyseDataArray = dataArray
-        this.isAnalyseYearTrend = true
-      })
     },
     getStatistics() {
-      return this.$http.get(`/api/transplantData`).then((res) => {
-        const obj = this.statisticsData
-        // eslint-disable-next-line no-prototype-builtins
-        if (res.hasOwnProperty(obj.title)) {
-          obj.value = res[obj.title]
-        }
-        const list1 = this.statisticsData.acrossList
-        this.statisticsData.acrossList = list1.map((item) => {
-          // eslint-disable-next-line no-prototype-builtins
-          if (res.hasOwnProperty(item.name)) {
-            return { ...item, value: res[item.name] }
-          }
-          return item
+      return this.$http
+        .get(`/api/transplantData`, {
+          params: {
+            districtId: this.baseId,
+          },
         })
-        const list2 = this.statisticsData.verticalList
-        this.statisticsData.verticalList = list2.map((item) => {
+        .then((res) => {
+          const obj = this.statisticsData
           // eslint-disable-next-line no-prototype-builtins
-          if (res.hasOwnProperty(item.name)) {
-            return { ...item, value: res[item.name] }
+          if (res.hasOwnProperty(obj.title)) {
+            obj.value = res[obj.title]
           }
-          return item
+          const list1 = this.statisticsData.acrossList
+          this.statisticsData.acrossList = list1.map((item) => {
+            // eslint-disable-next-line no-prototype-builtins
+            if (res.hasOwnProperty(item.name)) {
+              return { ...item, value: res[item.name] }
+            }
+            return item
+          })
+          const list2 = this.statisticsData.verticalList
+          this.statisticsData.verticalList = list2.map((item) => {
+            // eslint-disable-next-line no-prototype-builtins
+            if (res.hasOwnProperty(item.name)) {
+              return { ...item, value: res[item.name] }
+            }
+            return item
+          })
+          this.isCake = true
         })
-        this.isCake = true
-      })
     },
     backFn() {
       this.$router.back()

+ 8 - 3
src/views/page3/leftBox2.vue

@@ -7,7 +7,7 @@
         <div class="sub">
           <i :class="[`iconfont`, leftBox.天气图标]"></i>
           <img src="@/assets/img2/综合总览/编组 6.png" alt="" />
-          {{ leftBox.温度[0] }}℃ - {{ leftBox.温度[1] }}℃
+          {{ leftBox.温度[0] || '' }}℃ - {{ leftBox.温度[1] || '' }}℃
         </div>
       </div>
       <div class="imgBox">
@@ -35,7 +35,11 @@
       </div>
       <div class="infoBox">
         <h2>区域简介</h2>
-        <div class="htmlBox" v-html="leftBox.简介"></div>
+        <div
+          class="htmlBox"
+          style="color: antiquewhite"
+          v-html="leftBox.简介"
+        ></div>
       </div>
     </div>
   </div>
@@ -60,7 +64,7 @@ export default {
   },
   methods: {
     async infoFn() {
-      const baseId = this.$route.query.baseId || 1
+      const baseId = this.$route.query.id || 1
       const data = await this.$http.get(`/api/base/${baseId}`)
       this.leftBox = data
       this.leftBox.天气图标 =
@@ -155,6 +159,7 @@ export default {
       padding: 10px;
       height: 330px;
       overflow: auto;
+      color: #fff;
     }
   }
 }