xsh 3 years ago
parent
commit
c9b37f6c43

+ 10 - 13
src/components/HeaderElement.vue

@@ -70,10 +70,10 @@
             <div style="width: 100%; text-align: center">
             <div style="width: 100%; text-align: center">
               <el-popover
               <el-popover
                   placement="bottom"
                   placement="bottom"
-                  width="400"
+                  width="270"
                   trigger="hover">
                   trigger="hover">
                 <div class="color_flex">
                 <div class="color_flex">
-                  <slider-picker :value="color" @input="cut"></slider-picker>
+                  <chrome-picker :value="color" @input="cut"></chrome-picker>
 <!--                  <div v-for="item in colorList" :style="{backgroundColor: item.color}" :key="item.id" class="box" @click="cut(item.color)">-->
 <!--                  <div v-for="item in colorList" :style="{backgroundColor: item.color}" :key="item.id" class="box" @click="cut(item.color)">-->
 <!--                    <span>点击换肤</span>-->
 <!--                    <span>点击换肤</span>-->
 <!--                  </div>-->
 <!--                  </div>-->
@@ -97,14 +97,17 @@
 <script>
 <script>
 import { mapState, mapActions } from 'vuex'
 import { mapState, mapActions } from 'vuex'
 import { findUpdate, getFarmId } from '../utils/api';
 import { findUpdate, getFarmId } from '../utils/api';
-import { Slider } from 'vue-color'
+import { Chrome } from 'vue-color';
+import { Debounce } from "../utils";
+
 export default {
 export default {
   name: "HeaderElement",
   name: "HeaderElement",
   computed: {
   computed: {
     ...mapState(['color', 'farmList', 'farmId'])
     ...mapState(['color', 'farmList', 'farmId'])
   },
   },
   components: {
   components: {
-    'slider-picker': Slider
+    // 'slider-picker': Slider,
+    'chrome-picker': Chrome
   },
   },
   data() {
   data() {
     return {
     return {
@@ -147,8 +150,7 @@ export default {
   },
   },
   methods: {
   methods: {
     ...mapActions(['setModeAsync', 'setColorAsync', 'GetFarm', 'setFarmIdAsync']),
     ...mapActions(['setModeAsync', 'setColorAsync', 'GetFarm', 'setFarmIdAsync']),
-    cut(data) {
-      console.log(data)
+    cut: Debounce(function(data) {
       this.setColorAsync(data.hex)
       this.setColorAsync(data.hex)
       let params = {
       let params = {
         id: localStorage.getItem('UserId'),
         id: localStorage.getItem('UserId'),
@@ -157,7 +159,7 @@ export default {
       findUpdate(params).then(res => {
       findUpdate(params).then(res => {
         console.log(res)
         console.log(res)
       })
       })
-    },
+    }),
     changeMode(val) {
     changeMode(val) {
       let params = {
       let params = {
         id: localStorage.getItem('UserId'),
         id: localStorage.getItem('UserId'),
@@ -275,13 +277,8 @@ li {
 }
 }
 .color_flex {
 .color_flex {
   width: 100%;
   width: 100%;
-  height: 200px;
+  height: 260px;
   padding: 10px;
   padding: 10px;
-  display: grid;
-  grid-template-columns: repeat(4, 1fr);
-  grid-template-rows: repeat(2, 1fr);
-  grid-column-gap: 10px;
-  grid-row-gap: 10px;
 }
 }
 .box {
 .box {
   cursor: pointer;
   cursor: pointer;

+ 42 - 0
src/utils/index.js

@@ -18,3 +18,45 @@ export function timeDate(timestamp) {
   var D = date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate()
   var D = date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate()
   return Y + M + D
   return Y + M + D
 }
 }
+
+/**
+ * 函数防抖 (只执行最后一次点击)
+ */
+export const Debounce = (fn, t) => {
+  let delay = t || 500;
+  let timer;
+  console.log(fn)
+  console.log(typeof fn)
+  return function () {
+    let args = arguments;
+    if(timer){
+      clearTimeout(timer);
+    }
+    timer = setTimeout(() => {
+      timer = null;
+      fn.apply(this, args);
+    }, delay);
+  }
+};
+/*
+ * 函数节流
+ */
+export const Throttle = (fn, t) => {
+  let last;
+  let timer;
+  let interval = t || 500;
+  return function () {
+    let args = arguments;
+    let now = + new Date();
+    if (last && now - last < interval) {
+      clearTimeout(timer);
+      timer = setTimeout(() => {
+        last = now;
+        fn.apply(this, args);
+      }, interval);
+    } else {
+      last = now;
+      fn.apply(this, args);
+    }
+  }
+};

+ 14 - 0
src/views/Env/chart/ChartStarkBarOne.vue

@@ -26,6 +26,12 @@ export default {
         }
         }
       },
       },
       deep: true
       deep: true
+    },
+    color(newVal) {
+      if(newVal) {
+        this.myChart.clear();
+        this.init()
+      }
     }
     }
   },
   },
   computed: {
   computed: {
@@ -44,10 +50,18 @@ export default {
         time.push(item.createTime);
         time.push(item.createTime);
         data1.push(item.value)
         data1.push(item.value)
       })
       })
+      let start = time.length - 8;
+      let end = time.length - 1;
       var option = {
       var option = {
         tooltip: {
         tooltip: {
           trigger: 'axis',
           trigger: 'axis',
         },
         },
+        dataZoom: [{
+          type: 'inside',
+          startValue: start,
+          endValue: end,
+          show: false
+        }],
         color: [this.color],
         color: [this.color],
         xAxis: [
         xAxis: [
           {
           {

+ 4 - 2
src/views/dashboard/chart/ChartWsd.vue

@@ -37,10 +37,12 @@ export default {
       let time = [];
       let time = [];
       let humList = [];
       let humList = [];
       let tempList = [];
       let tempList = [];
-      temp.forEach((item, i) => {
+      temp.forEach((item) => {
         time.push(item.createTime.split(' ')[0]);
         time.push(item.createTime.split(' ')[0]);
         tempList.push(item.value);
         tempList.push(item.value);
-        humList.push(hum[i].value)
+      })
+      hum.forEach((item) => {
+        humList.push(item.value)
       })
       })
       let options = {
       let options = {
         title: {
         title: {