Forráskód Böngészése

'代码提交20210712'

fanghuisheng 4 éve
szülő
commit
e096ce9801

+ 104 - 107
package-lock.json

@@ -1812,6 +1812,63 @@
           "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
           "dev": true
         },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
+          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.1",
+          "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz",
+          "integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
+          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
+          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
+          "dev": true,
+          "optional": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1618847009337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
+          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
+          "dev": true,
+          "optional": true
+        },
+        "loader-utils": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
+          "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
         "ssri": {
           "version": "8.0.1",
           "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1617826725566&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-8.0.1.tgz",
@@ -1820,6 +1877,28 @@
           "requires": {
             "minipass": "^3.1.1"
           }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
+          "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "vue-loader-v16": {
+          "version": "npm:vue-loader@16.3.0",
+          "resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.3.0.tgz?cache=0&sync_timestamp=1624994309035&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-loader%2Fdownload%2Fvue-loader-16.3.0.tgz",
+          "integrity": "sha1-LxleS6D7DiY1ltaDDfF9Gjbok2w=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "hash-sum": "^2.0.0",
+            "loader-utils": "^2.0.0"
+          }
         }
       }
     },
@@ -4809,11 +4888,19 @@
       }
     },
     "echarts": {
-      "version": "4.8.0",
-      "resolved": "https://registry.nlark.com/echarts/download/echarts-4.8.0.tgz?cache=0&sync_timestamp=1623167264935&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fecharts%2Fdownload%2Fecharts-4.8.0.tgz",
-      "integrity": "sha1-ssHPuSKbE9No7hBPyO6mALV01MQ=",
+      "version": "5.1.2",
+      "resolved": "https://registry.nlark.com/echarts/download/echarts-5.1.2.tgz?cache=0&sync_timestamp=1623167264935&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fecharts%2Fdownload%2Fecharts-5.1.2.tgz",
+      "integrity": "sha1-qhqwzvW3T6L3xiAmGl8oaJPTD9E=",
       "requires": {
-        "zrender": "4.3.1"
+        "tslib": "2.0.3",
+        "zrender": "5.1.1"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.0.3",
+          "resolved": "https://registry.nlark.com/tslib/download/tslib-2.0.3.tgz",
+          "integrity": "sha1-jgdBrEX8DCJuWKF7/D5kubxsphw="
+        }
       }
     },
     "ee-first": {
@@ -10324,11 +10411,6 @@
       "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
       "dev": true
     },
-    "resize-detector": {
-      "version": "0.3.0",
-      "resolved": "https://registry.nlark.com/resize-detector/download/resize-detector-0.3.0.tgz",
-      "integrity": "sha1-/klREuGEaVUAqPUeA4nxV3TLHPw="
-    },
     "resize-observer-polyfill": {
       "version": "1.5.1",
       "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
@@ -12309,20 +12391,6 @@
         "@vue/shared": "3.0.11"
       }
     },
-    "vue-demi": {
-      "version": "0.9.1",
-      "resolved": "https://registry.nlark.com/vue-demi/download/vue-demi-0.9.1.tgz?cache=0&sync_timestamp=1625456204437&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-demi%2Fdownload%2Fvue-demi-0.9.1.tgz",
-      "integrity": "sha1-Jdbh69TUAQdX/zVx4r9qHXvz3oI="
-    },
-    "vue-echarts": {
-      "version": "6.0.0-rc.6",
-      "resolved": "https://registry.nlark.com/vue-echarts/download/vue-echarts-6.0.0-rc.6.tgz?cache=0&sync_timestamp=1623259509711&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-echarts%2Fdownload%2Fvue-echarts-6.0.0-rc.6.tgz",
-      "integrity": "sha1-wSr9vi6FjJQdQ0mW6bubevPIxjE=",
-      "requires": {
-        "resize-detector": "^0.3.0",
-        "vue-demi": "^0.9.1"
-      }
-    },
     "vue-eslint-parser": {
       "version": "7.6.0",
       "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.6.0.tgz?cache=0&sync_timestamp=1614679624052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.6.0.tgz",
@@ -12376,87 +12444,6 @@
         }
       }
     },
-    "vue-loader-v16": {
-      "version": "npm:vue-loader@16.3.0",
-      "resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.3.0.tgz?cache=0&sync_timestamp=1624994309035&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-loader%2Fdownload%2Fvue-loader-16.3.0.tgz",
-      "integrity": "sha1-LxleS6D7DiY1ltaDDfF9Gjbok2w=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chalk": "^4.1.0",
-        "hash-sum": "^2.0.0",
-        "loader-utils": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995778321&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
-          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.1",
-          "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz",
-          "integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz",
-          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
-          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
-          "dev": true,
-          "optional": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1618847009337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
-          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
-          "dev": true,
-          "optional": true
-        },
-        "loader-utils": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
-          "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
-          "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
     "vue-router": {
       "version": "4.0.8",
       "resolved": "https://registry.nlark.com/vue-router/download/vue-router-4.0.8.tgz",
@@ -13433,9 +13420,19 @@
       }
     },
     "zrender": {
-      "version": "4.3.1",
-      "resolved": "https://registry.nlark.com/zrender/download/zrender-4.3.1.tgz",
-      "integrity": "sha1-uviqbcgYei+BlpLX1fm+36K5D6M="
+      "version": "5.1.1",
+      "resolved": "https://registry.nlark.com/zrender/download/zrender-5.1.1.tgz",
+      "integrity": "sha1-BRX0+MwPR0LwKmuIGVUKbRPWTFw=",
+      "requires": {
+        "tslib": "2.0.3"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.0.3",
+          "resolved": "https://registry.nlark.com/tslib/download/tslib-2.0.3.tgz",
+          "integrity": "sha1-jgdBrEX8DCJuWKF7/D5kubxsphw="
+        }
+      }
     }
   }
 }

+ 1 - 0
package.json

@@ -12,6 +12,7 @@
     "ant-design-vue": "^2.0.0-rc.7",
     "axios": "^0.21.1",
     "core-js": "^3.6.5",
+    "echarts": "^5.1.2",
     "element-plus": "^1.0.2-beta.54",
     "element-ui": "^2.15.3",
     "js-cookie": "^2.2.1",

+ 13 - 6
src/assets/css/index.css

@@ -117,20 +117,27 @@ header {
 }
 
 /* el-select 下拉框 样式 */
-.el-input__inner{
+.el-input__suffix{
+    line-height: 1rem !important;
+}
+.el-input--suffix .el-input__inner{
     margin-top: 0.2rem;
     width: 2rem !important;
     height: 0.375rem !important;
     background-color: transparent !important;
     color: #4BF4F9 !important;
     font-size: 0.18rem !important;
-}
-.el-input__suffix{
-    line-height: 1rem !important;
-}
-.el-input--suffix .el-input__inner{
     border: 1px #4BF4F9 solid !important;
     border-radius: 0px !important;
+    
+}
+.el-input--suffix .el-input__icon{
+    width: 0.3125rem;
+    line-height: 0.375rem !important;
+}
+.el-input--suffix .el-select__caret{
+    color:#4BF4F9 !important;
+    font-size: 0.175rem !important;
 }
 .el-input__prefix, .el-input__suffix{
     top: -0.30rem !important;

BIN
src/assets/images/No_data.png


+ 9 - 4
src/main.js

@@ -12,11 +12,13 @@ import router from './router';
 import axios from 'axios';
 const app = createApp(App);
 
+import ElementPlus from 'element-plus';
+import 'element-plus/lib/theme-chalk/index.css';
+import 'dayjs/locale/zh-cn'
+import locale from 'element-plus/lib/locale/lang/zh-cn'
+
+app.use(router).use(ElementPlus, { locale });
 
-app.use(router);
-import ElementPlus from 'element-plus'
-import 'element-plus/lib/theme-chalk/index.css'
-app.use(ElementPlus)
 app.config.globalProperties.$UCore = UCore;
 app.config.globalProperties.$axios = axios;
 app.use(Antd).mount('#app');
@@ -30,6 +32,9 @@ import '@/assets/fonts/font.css';
 
 
 import * as echarts from 'echarts'
+import 'echarts/lib/component/tooltip'
+import 'echarts/lib/component/title'
+import 'echarts/lib/component/legend'
 app.use(echarts);
 
 

+ 1 - 0
src/views/index.vue

@@ -73,6 +73,7 @@
 </template>
 
 <script>
+
 export default {
   name: "App",
   data() {

+ 705 - 15
src/views/site/Device_motore.vue

@@ -1,6 +1,15 @@
 <template>
   <section class="mainbox">
-    <div class="Site-details">
+    <div
+      class="Site-details"
+      :style="
+        activeName === 'first'
+          ? 'height: 684px;'
+          : activeName === 'third'
+          ? 'height: 670px;'
+          : 'height: 710px;'
+      "
+    >
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="实时数据" name="first">
           <el-tabs
@@ -84,12 +93,140 @@
           </el-tabs>
           <el-button type="primary" class="primary">刷新</el-button>
         </el-tab-pane>
-        <el-tab-pane label="历史趋势" name="second" style="top: 1px"
-          >历史趋势</el-tab-pane
-        >
-        <el-tab-pane label="数据报表" name="third" style="top: 2px"
-          >数据报表</el-tab-pane
-        >
+        <el-tab-pane label="历史趋势" name="second" style="top: 1px">
+          <el-tabs
+            v-model="se_content"
+            @tab-click="handleClick2"
+            class="se-content"
+          >
+            <el-tab-pane label="电流" name="flow" class="flow"> </el-tab-pane>
+            <el-tab-pane label="功率" name="power" class="power"> </el-tab-pane>
+            <el-tab-pane label="电度" name="degree" class="degree">
+            </el-tab-pane>
+            <el-tab-pane label="电压" name="voltage" class="voltage">
+            </el-tab-pane>
+            <el-tab-pane label="温度" name="temperature" class="temperature">
+            </el-tab-pane>
+            <el-tab-pane label="频率" name="frequency" class="frequency">
+            </el-tab-pane>
+            <el-tab-pane
+              label="功率因数"
+              name="power_factor"
+              class="power_factor"
+            >
+            </el-tab-pane>
+            <el-tab-pane
+              label="谐波电流有效值"
+              name="hc_valid_value"
+              class="hc_valid_value"
+            >
+            </el-tab-pane>
+            <el-tab-pane
+              label="通讯参数"
+              name="c_parameters"
+              class="c_parameters"
+            >
+            </el-tab-pane>
+            <el-tab-pane label="电压突变" name="v_mutation" class="v_mutation">
+            </el-tab-pane>
+            <el-button type="primary" class="preservation" @click="preservation"
+              >保存为图片</el-button
+            >
+          </el-tabs>
+          <div class="block">
+            <span>选择时间范围:</span>
+            <el-date-picker
+              v-model="defaultTime"
+              type="datetimerange"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              range-separator="~"
+              :disabledDate="disabledDate"
+            >
+            </el-date-picker>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="数据报表" name="third" style="top: 2px">
+          <div class="block">
+            <span>选择时间范围:</span>
+            <el-date-picker
+              v-model="defaultTime"
+              type="datetimerange"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              range-separator="~"
+              :disabledDate="disabledDate"
+            >
+            </el-date-picker>
+            <div class="operation">
+              <el-button type="primary" class="query" :disabled="checkedCities.length > 0 ? false : true" @click="Time_all">查询</el-button>
+              <el-button type="primary" class="export" :disabled="tableData.length > 0 ? false : true">导出</el-button>
+            </div>
+          </div>
+          <div class="box">
+            <el-checkbox
+              :indeterminate="isIndeterminate"
+              v-model="checkAll"
+              @change="handleCheckAllChange"
+              >全选</el-checkbox
+            >
+            <el-checkbox-group
+              v-model="checkedCities"
+              @change="handleCheckedCitiesChange"
+            >
+              <el-checkbox v-for="city in cities" :label="city" :key="city">{{
+                city
+              }}</el-checkbox>
+            </el-checkbox-group>
+          </div>
+          <div class="table">
+            <el-table :data="tableData" style="width: 100%" height="520" show>
+              <el-table-column prop="time" label="时间" fixed>
+              </el-table-column>
+              <el-table-column label="电流 A" v-if="columnHeaders[0].isShow">
+                <el-table-column prop="name" label="A相电流"> </el-table-column>
+                <el-table-column prop="province" label="B相电流">
+                </el-table-column>
+                <el-table-column prop="city" label="C相电流"> </el-table-column>
+              </el-table-column>
+              <el-table-column label="电流 B" v-if="columnHeaders[1].isShow">
+                <el-table-column prop="name" label="B相电流"> </el-table-column>
+                <el-table-column prop="province" label="B相电流">
+                </el-table-column>
+                <el-table-column prop="city" label="B相电流"> </el-table-column>
+              </el-table-column>
+              <!-- <el-table-column label="地址">
+                <el-table-column prop="province" label="省份" width="120">
+                </el-table-column>
+                <el-table-column prop="city" label="市区" width="120">
+                </el-table-column>
+                <el-table-column prop="address" label="地址"> </el-table-column>
+                <el-table-column prop="zip" label="邮编" width="120">
+                </el-table-column>
+                <el-table-column prop="zip" label="邮编" width="120">
+                </el-table-column>
+                <el-table-column prop="zip" label="邮编" width="120">
+                </el-table-column>
+                <el-table-column prop="zip" label="邮编" width="120">
+                </el-table-column>
+                <el-table-column prop="zip" label="邮编" width="120">
+                </el-table-column>
+              </el-table-column> -->
+
+              <template #empty>
+                <div class="zwsj">
+                  <img src="./../../assets/images/No_data.png" alt="" />
+                  <p>暂无数据</p>
+                </div>
+              </template>
+            </el-table>
+          </div>
+        </el-tab-pane>
+        <devicemotore
+          v-if="activeName === 'second'"
+          ref="main"
+          :defaul_tTime="defaultTime"
+        ></devicemotore>
         <el-tab-pane label="运行状态统计" name="fourth" style="top: 3px"
           >运行状态统计</el-tab-pane
         >
@@ -98,11 +235,29 @@
   </section>
 </template>
 <script>
+import devicemotore from "../site_ehcarts/Device_motore";
+const cityOptions = [
+  "电流",
+  "功率",
+  "电度",
+  "电压",
+  "温度",
+  "频率",
+  "功率因数",
+  "谐波电流有效值",
+  "通讯参数",
+  "电压突变",
+];
 export default {
+  name: "site_details",
+  components: { devicemotore },
   data() {
     return {
       activeName: "first",
       ac_content: "model",
+      se_content: "flow",
+      se_label: "电流",
+
       model_array: [
         { name: "A相电压:", value: "236.94V" },
         { name: "B相电压:", value: "237.94V" },
@@ -205,16 +360,86 @@ export default {
         { name: "备用遥信3:", value: "OFF" },
         { name: "备用遥信4:", value: "OFF" },
       ],
+
+      value: "",
+      defaultTime: [
+        new Date(2021, 6, 1, 0, 0, 0),
+        new Date(2021, 6, 1, 12, 0, 0),
+      ],
+      disabledDate(date) {
+        return date.getTime() > new Date();
+      },
+      checkAll: false,
+      checkedCities: [],
+      cities: cityOptions,
+      isIndeterminate: false,
+      tableData: [],
+
+      msg: "暂无数据",
+
+      columnHeaders: [
+        { index: 0, title: "电流", isShow: false },
+        { index: 1, title: "功率", isShow: false },
+        { index: 2, title: "电度", isShow: false },
+        { index: 3, title: "电压", isShow: false },
+        { index: 4, title: "温度", isShow: false },
+        { index: 5, title: "频率", isShow: false },
+        {
+          index: 6,
+          title: "功率因数",
+          isShow: false,
+        },
+        {
+          index: 7,
+          title: "谐波电流有效值",
+          isShow: false,
+        },
+        {
+          index: 8,
+          title: "通讯参数",
+          isShow: false,
+        },
+        {
+          index: 9,
+          title: "电压突变",
+          isShow: false,
+        },
+      ],
     };
   },
-  name: "site_details",
-  components: {},
-  mounted() {},
+  mounted() {
+  },
   methods: {
+    preservation() {
+      console.log(this.$refs.main.chart);
+      var url = this.$refs.main.chart.getConnectedDataURL({
+        pixelRatio: 15,
+        backgroundColor: "black",
+        excludeComponents: ["toolbox"],
+        type: "png",
+      });
+      var $a = document.createElement("a");
+      var type = "png";
+      //图片名称
+      $a.download = this.se_label + "." + type;
+      $a.target = "_blank";
+      $a.href = url;
+      if (typeof MouseEvent === "function") {
+        var evt = new MouseEvent("click", {
+          view: window,
+          bubbles: true,
+          cancelable: false,
+        });
+        $a.dispatchEvent(evt);
+      }
+    },
+    //最外层tabs切换事件触发
     handleClick(tab, event) {
+      // this.Time_all();
       //   console.log(tab, event);
       //   console.log(tab.props.name)
       this.ac_content = "model";
+      this.se_content = "flow";
       for (let i in event.path) {
         if (event.path[i].className === "el-tabs__nav is-top") {
           var childNodes = event.path[i].childNodes;
@@ -226,16 +451,464 @@ export default {
         }
       }
     },
+    //实时数据 内部tabs 点击事件触发
     handleClick1(tab, event) {
       console.log(tab, event);
     },
+    //历史趋势 内部tabs 点击事件触发
+    handleClick2(tab, event) {
+      console.log(tab, event);
+      this.se_label = tab.props.label;
+    },
+    Time_all() {
+      // console.log(this.defaultTime)
+      // console.log("bbbbbbb",data)
+      // this.$emit("func", this.defaultTime);
+      this.tableData = [
+        {
+          time: "2016-05-03",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "1518",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-02",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-04",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-01",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-08",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-06",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          time: "2016-05-07",
+          name: "1",
+          province: "2",
+          city: "3",
+          address: "2市3金沙江路 1518 弄",
+          zip: 200333,
+        },
+      ]
+    },
+    handleCheckAllChange(val) {
+      this.checkedCities = val ? cityOptions : [];
+      this.isIndeterminate = false;
+    },
+    handleCheckedCitiesChange(value) {
+      let checkedCount = value.length;
+      this.checkAll = checkedCount === this.cities.length;
+      this.isIndeterminate =
+        checkedCount > 0 && checkedCount < this.cities.length;
+    },
+  },
+  watch: {
+    /**
+     * @title 监听列显示隐藏
+     */
+    checkedCities(newArrayVal) {
+      newArrayVal.length <= 0 ? this.tableData=[] : ''
+      // 计算为被选中的列标题数组
+      var nonSelecteds = this.columnHeaders
+        .filter((item) => newArrayVal.indexOf(item.title) == -1)
+        .map((item) => item.title);
+      // 根据计算结果进行表格重绘
+      this.columnHeaders.filter((item) => {
+        let isNonSelected = nonSelecteds.indexOf(item.title) != -1;
+        if (isNonSelected) {
+          // 隐藏未选中的列
+          item.isShow = false;
+        } else {
+          // 显示已选中的列
+          item.isShow = true;
+        }
+      });
+    },
   },
 };
 </script>
+
+<style>
+/* 
+  数据报表css样式
+*/
+#pane-third .el-table__fixed {
+  height: 100% !important;
+}
+#pane-third .el-table {
+  color: #fff;
+}
+#pane-third .el-table thead {
+  color: #fff;
+}
+#pane-third .cell {
+  text-align: center;
+}
+
+.el-table__fixed-body-wrapper {
+  /* height: 369px !important; */
+}
+#pane-third .el-table__header {
+  /* width: 100.65% !important; */
+}
+
+#pane-third .el-table--fit {
+  background-color: rgb(0, 66, 78, 0) !important;
+}
+#pane-third .el-table th,
+.el-table tr {
+  background-color: rgb(0, 66, 78, 0.5) !important;
+}
+.el-table__fixed-body-wrapper::-webkit-scrollbar {
+  width: 0;
+  height: 0;
+}
+#pane-third .block span {
+  padding: 0 10px;
+}
+#pane-third .el-input__inner {
+  width: 414px !important;
+  height: 30px !important;
+  line-height: 30px !important;
+  background-color: transparent;
+  border: 1px solid rgba(3, 107, 119, 1);
+}
+#pane-third .el-range-input {
+  background-color: transparent;
+  color: #fff;
+}
+#pane-third .el-range-separator {
+  line-height: 20px;
+  color: #fff;
+}
+#pane-third .operation {
+  float: right;
+  margin-right: 10px;
+}
+#pane-third button {
+  height: 30px !important;
+  min-height: 30px;
+  line-height: 0;
+  margin-top: 0px;
+  padding: 0px 10px;
+  margin-left: 17px;
+}
+#pane-third button span {
+  font-size: 0.18rem;
+  padding: 0 10px;
+  font-family: Microsoft YaHei Regular, Microsoft YaHei Regular-Regular;
+}
+#pane-third .box {
+  padding-left: 10px;
+  display: flex;
+  margin-top: 12px;
+}
+#pane-third .el-checkbox-group {
+  margin-left: 30px;
+}
+#pane-third .el-checkbox .el-checkbox__label {
+  color: #fff;
+  font-size: 0.18rem;
+}
+#pane-third .el-checkbox .el-checkbox__input .el-checkbox__inner {
+  background-color: transparent;
+  border: 1px solid rgba(1, 111, 109, 1);
+}
+#pane-third .el-checkbox__input.is-checked .el-checkbox__inner,
+.el-checkbox__input.is-indeterminate .el-checkbox__inner {
+  background-color: rgba(1, 111, 109, 1) !important;
+}
+#pane-third .el-checkbox__inner::after {
+  border: 1px solid rgba(0, 244, 253, 1);
+  border-left: 0;
+  border-top: 0;
+}
+#pane-third .table {
+  margin-top: 10px;
+  padding: 0 10px;
+}
+#pane-third .el-table--border,
+.el-table--group {
+  border: 1px solid rgba(1, 111, 109, 0.5);
+  background-color: transparent;
+}
+#pane-third .el-table--border td,
+.el-table--border th,
+.el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed {
+  border-right: 1px solid rgba(1, 111, 109, 0.5);
+  color: #fff;
+}
+#pane-third .el-table td,
+.el-table th.is-leaf {
+  border-bottom: 1px solid rgba(1, 111, 109, 0.5);
+}
+#pane-third .el-table th,
+.el-table tr {
+  border-bottom: 1px solid rgba(1, 111, 109, 0.5);
+}
+#pane-third .table .el-table thead.is-group th {
+  background-color: rgb(0, 66, 78, 1) !important;
+}
+#pane-third .el-table__row {
+  background-color: transparent;
+}
+
+/* #pane-third .el-table__body {
+  width: 100% !important;
+} */
+#pane-third .el-table__body .hover-row > td {
+  background-color: rgb(3, 61, 72, 1) !important;
+}
+#pane-third .el-table__body tr > td:nth-child(1) {
+  background-color: rgb(0, 66, 78, 1) !important;
+}
+#pane-third .el-table__body-wrapper::-webkit-scrollbar {
+  width: 5px;
+  height: 5px;
+}
+#pane-third .el-table__body-wrapper::-webkit-scrollbar-thumb {
+  border-right: none;
+  background-color: #01f5f1;
+  border-radius: 5px;
+}
+#pane-third .el-table__body-wrapper::-webkit-scrollbar-track {
+  background-color: rgb(0, 66, 78, 1);
+}
+#pane-third .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
+  background-color: rgb(17, 177, 174);
+}
+#pane-third .el-table__body-wrapper::-webkit-scrollbar-thumb:active {
+  background-color: rgb(9, 136, 134);
+}
+
+#pane-third .zwsj {
+  margin: 65px 0;
+}
+#pane-third .el-table--border::after,
+.el-table--group::after {
+  width: 0;
+}
+#pane-third .el-table::before {
+  height: 0px;
+}
+#pane-third .el-table__fixed-right::before,
+.el-table__fixed::before {
+  height: 0px;
+}
+/* #pane-third .is-scrolling-middle {
+  height: 374px !important;
+  z-index: 1;
+}
+#pane-third .is-scrolling-right {
+  height: 374px !important;
+  z-index: 1;
+}
+#pane-third .is-scrolling-left {
+  height: 374px !important;
+  z-index: 1;
+} */
+</style>
+
+<style>
+/* 历史趋势css样式 */
+.se-content {
+  width: 100%;
+  height: 100%;
+  margin: 0 auto;
+  display: flex;
+}
+.se-content .el-tabs__header {
+  /* width: calc(130px * 10); */
+  width: 100%;
+  margin: 0 auto;
+}
+.se-content .el-tabs__item.is-active {
+  background: rgba(6, 68, 83, 1) !important;
+}
+.se-content .el-tabs__active-bar {
+  width: 130px !important;
+  top: 0;
+  background: transparent;
+}
+.se-content .el-tabs__item {
+  border-top: 1px rgba(0, 244, 253, 0.1) solid;
+  border-bottom: 1px rgba(0, 244, 253, 0.1) solid;
+}
+.se-content .el-tabs__nav-scroll {
+  border-bottom: 0px rgba(0, 244, 253, 0.1) solid;
+}
+.se-content .el-tabs__nav {
+  /* width: 100%; */
+  width: calc(130px * 9);
+  float: none !important;
+  margin: auto;
+}
+.se-content .preservation {
+  min-height: 35px !important;
+  line-height: 10px;
+  height: 35px;
+  margin: 5px 0.4rem 5px 0px;
+}
+.se-content #tab-flow {
+  border-left: 1px rgba(0, 244, 253, 0.1) solid;
+}
+
+#pane-second .block {
+  margin-top: 3px;
+}
+#pane-second .el-input__inner {
+  width: 414px !important;
+  height: 30px !important;
+  line-height: 30px !important;
+  background-color: transparent;
+  border: 1px solid rgba(3, 107, 119, 1);
+}
+#pane-second span {
+  font-size: 0.2rem;
+  padding: 0 10px;
+  font-family: Microsoft YaHei Regular, Microsoft YaHei Regular-Regular;
+}
+#pane-second .el-range-input {
+  background-color: transparent;
+  color: #fff;
+}
+#pane-second .el-range-separator {
+  line-height: 20px;
+  color: #fff;
+}
+</style>
+
 <style>
 .Site-details {
   width: 98%;
-  height: 705px;
   /* opacity: 0.2; */
   background-color: rgba(0, 244, 253, 0.1);
   border: 1px solid rgba(0, 244, 253, 0.1);
@@ -243,7 +916,11 @@ export default {
   margin-top: 5px;
 }
 
+.el-tabs__nav-wrap {
+  margin-bottom: 0px;
+}
 .el-tabs__nav-scroll {
+  border-bottom: 1px rgba(0, 244, 253, 0.1) solid;
   margin: 0 auto;
 }
 .el-tabs__item {
@@ -264,6 +941,7 @@ export default {
   background: #4bf4f9;
 }
 .el-tabs__nav-wrap::after {
+  bottom: revert;
   height: 1px !important;
   background-color: rgba(0, 244, 253, 0.1) !important;
 }
@@ -284,20 +962,27 @@ export default {
   background: transparent;
 }
 .ac-content .el-tabs__item {
-  border: 1px rgba(0, 244, 253, 0.1) solid;
+  border-left: 1px rgba(0, 244, 253, 0.1) solid;
+  border-top: 1px rgba(0, 244, 253, 0.1) solid;
 }
 .primary {
   position: absolute;
   top: 0;
   right: 10px;
-  width: 72px !important;
   min-height: 34px !important;
   line-height: 8px;
+  z-index: 10;
 }
+</style>
 
+<style>
+/* 
+  模拟量css样式
+ */
 .ac-content .model > div {
   width: 25%;
-  height: 570px;
+  height: 580px;
+  margin-top: 10px;
 }
 .ac-content .model .display {
   display: flex;
@@ -319,7 +1004,12 @@ export default {
   padding-left: 0.7rem;
   color: rgba(1, 201, 208, 1);
 }
+</style>
 
+<style>
+/* 
+  状态量css样式
+ */
 .ac-content .states {
   display: flex;
 }
@@ -366,7 +1056,7 @@ export default {
   height: 24px;
   background: url(./../../assets/images/state_OFF.png) no-repeat;
   background-size: cover;
-  margin-top: 0.1rem;
+  margin-top: 6px;
   margin-left: 0.2rem;
 }
 </style>

+ 0 - 4
src/views/site/Power_diagram.vue

@@ -157,10 +157,6 @@ export default {
       });
   },
   unmounted() {
-    this.$router.push({
-      path: "/CircuitEdit",
-      name: "circuitEdit",
-    });
     window.removeEventListener("beforeunload", (e) => this.test(e));
   },
 };

+ 312 - 0
src/views/site_ehcarts/Device_motore.vue

@@ -0,0 +1,312 @@
+<template>
+  <div
+    ref="main"
+    :class="className"
+    :style="{ height: height, width: width }"
+  ></div>
+</template>
+<script>
+import * as echarts from "echarts";
+
+export default {
+  props: {
+    defaul_tTime: {
+      type: Array,
+    },
+    className: {
+      type: String,
+      default: "chart",
+    },
+    width: {
+      type: String,
+      default: "100%",
+    },
+    height: {
+      type: String,
+      default: "580px",
+    },
+    perData: {
+      type: Array,
+      default: () => [
+        {
+          color: "#01ACFF",
+          name: "摄像头",
+          value: [39],
+          // nAmount: 566557.14,
+        },
+      ],
+    },
+  },
+  data() {
+    return {
+      chart: null,
+      color_XY: "rgba(0, 244, 253, 0.1)",
+      itemStyle: [
+        {
+          normal: {
+            borderColor: "rgba(0,244,253,1)",
+            borderWidth: 2,
+            color: "rgba(6, 68, 83, 1)",
+            lineStyle: {
+              width: 2, //折线宽度
+              color: "rgba(0,244,253,1)",
+            },
+          },
+        },
+        {
+          normal: {
+            borderColor: "rgba(253,143,0,1)",
+            borderWidth: 2,
+            color: "rgba(6, 68, 83, 1)",
+            lineStyle: {
+              width: 2, //折线宽度
+              color: "rgba(253,143,0,1)",
+            },
+          },
+        },
+        {
+          normal: {
+            borderColor: "rgba(0,255,18,1)",
+            borderWidth: 2,
+            color: "rgba(6, 68, 83, 1)",
+            lineStyle: {
+              width: 2, //折线宽度
+              color: "rgba(0,255,18,1)",
+            },
+          },
+        },
+      ],
+      msgFormSon: null,
+    };
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.initChart();
+      // this.getMsgFormSon();
+      console.log(this.defaul_tTime);
+    });
+  },
+  beforeUnmount() {
+    window.removeEventListener("resize", this.chart);
+  },
+  methods: {
+    initChart() {
+      var chart = echarts.init(this.$refs.main);
+      var option;
+      let data = [
+        "2020-01-01 14:00:00",
+        "2020-01-01 15:00:00",
+        "2020-01-01 16:00:00",
+        "2020-01-01 17:00:00",
+        "2020-01-01 18:00:00",
+        "2020-01-01 19:00:00",
+        "2020-01-01 20:00:00",
+        "2020-01-01 21:00:00",
+        "2020-01-01 22:00:00",
+        "2020-01-01 23:00:00",
+        "2020-01-02 01:05:00",
+        "2020-01-02 01:10:00",
+        "2020-01-02 01:15:00",
+        "2020-01-02 01:20:00",
+        "2020-01-02 01:25:00",
+        "2020-01-02 01:30:00",
+        "2020-01-02 01:35:00",
+        "2020-01-02 01:40:00",
+        "2020-01-02 01:45:00",
+        "2020-01-02 01:50:00",
+        "2020-01-02 01:55:00",
+        "2020-01-02 02:00:00",
+      ];
+
+      option = {
+        // title: {
+        //   // text: "折线图堆叠",
+        //   textStyle: {
+        //     color: "red",
+        //     fontSize: "12",
+        //     fontFamily: "fangsong",
+        //     fontWeight: "400",
+        //     fontStyle: "normal",
+        //   },
+
+        //   // subtext: "副标题",
+        //   subtextStyle: {
+        //     color: "red",
+        //   },
+
+        //   align: "center",
+        //   x: "right",
+        //   y: "top",
+        //   textAlign: "center",
+        //   padding: [5, 10, 5, 10],
+        //   itemGap: "4",
+        // },
+        tooltip: {
+          backgroundColor: "rgba(0, 244, 253, 0.1)",
+          borderColor: "rgba(0, 244, 253, 0.3)",
+          textStyle: {
+            color: "#fff",
+          },
+          trigger: "axis",
+          // item  主要在散点图,饼图等无类目轴的图表中使用。 // axis  坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用 //none   什么都不触发
+          axisPointer: {
+            // 坐标轴指示器配置项。
+            type: "cross",
+            // line   直线指示器 / 'shadow' 阴影指示器 /'none' 无指示器 /'cross' 十字准星指示器。其实是种简写,表示启用两个正交的轴的 axisPointer。
+          },
+          formatter: function (params) {
+            // console.log(params);
+            var res = params[0].name;
+            for (let i in params) {
+              res += `
+              <div style="display:flex">
+                  <div style="width:10px;height:10px;background:${params[i].borderColor};border-radius: 10px;margin:10px 0;"></div>
+                  <div style="padding:4px 0px 0px 10px;">${params[i].seriesName}</div>
+                  <div style="padding:4px 0px 0px 40px;">${params[i].data}</div>
+              </div>`; //可以在这个方法中做改变
+            }
+
+            return res;
+          },
+        },
+        legend: {
+          //   orient: "vertical",
+          bottom: 0,
+          right: "auto",
+          left: "center",
+          padding: [5, 10, 18, 10],
+          data: ["A相电流", "B相电流", "C相电流"],
+          itemGap: 70, // 图例间隔
+          itemWidth: 40, // 图例宽度
+          itemHeight: 15, //高度
+          textStyle: {
+            fontSize: "12",
+            color: "#fff",
+            fontFamily:
+              "font-family: Microsoft YaHei Regular, Microsoft YaHei Regular-Regular;",
+            padding: [5, 10, 18, 10],
+          },
+
+          formatter: function (name) {
+            return name;
+          },
+        },
+        grid: {
+          left: "3%",
+          right: "4%",
+          bottom: "10%",
+          containLabel: true,
+        },
+        toolbox: {
+          show: false,
+        },
+        xAxis: {
+          type: "time",
+          // boundaryGap: false,
+          nameTextStyle: {
+            // 名称样式
+            fontSize: 12,
+            color: "#fff",
+            fontWeight: "bold",
+          },
+          axisLine: {
+            lineStyle: {
+              color: this.color_XY,
+            },
+            // symbol: ["none", "arrow"], //轴线两边的箭头
+            symbolSize: [8, 12],
+          },
+          interval: 2,
+          axisLabel: {
+            textStyle: {
+              color: "#fff", //坐标值得具体的颜色
+            },
+            // formatter: '{yyyy}-{MM}-{dd}'
+            formatter: {
+              year: "{yyyy}",
+              month: "{MMM}",
+              day: "{MM}-{dd} {hh}:{mm}",
+              hour: "{MM}-{dd} {HH}:{mm}",
+              minute: "{HH}:{mm}",
+              second: "{HH}:{mm}:{ss}",
+              millisecond: "{hh}:{mm}:{ss} {SSS}",
+              none: "{yyyy}-{MM}-{dd} {hh}:{mm}:{ss} {SSS}",
+            },
+          },
+        },
+        yAxis: {
+          type: "value",
+          max: 0.15,
+          splitLine: {
+            lineStyle: {
+              // 使用深浅的间隔色
+              color: [this.color_XY],
+            },
+          },
+          axisLabel: {
+            textStyle: {
+              color: "#fff", //坐标值得具体的颜色
+            },
+          },
+        },
+        series: [
+          {
+            // smooth: true,  //设置折线为圆滑曲线,false则有转折点
+            name: "A相电流",
+            type: "line",
+            data: [
+              0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0.005, 0, 0, 0, 0.03, 0, 0, 0,
+              0, 0, 0, 0, 0.005, 0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0.005,
+            ].map((val, ind) => {
+              return [data[ind], val];
+            }), //0
+            itemStyle: this.itemStyle[0],
+            symbolSize: 10,
+            symbol: "circle",
+          },
+          {
+            name: "B相电流",
+            type: "line",
+            data: [
+              0.015, 0.01, 0.015, 0.012, 0.01, 0.012, 0.01, 0.01, 0.06, 0.04,
+              0.007, 0, 0.015, 0.01, 0.015, 0.012, 0.01, 0.012, 0.01, 0.01,
+              0.06, 0.04, 0.007, 0,
+            ].map((val, ind) => {
+              return [data[ind], val];
+            }), //0.01,
+            itemStyle: this.itemStyle[1],
+            symbolSize: 10,
+            symbol: "circle",
+          },
+          {
+            name: "C相电流",
+            type: "line",
+            data: [
+              0.02, 0, 0.03, 0.04, 0.03, 0.04, 0.02, 0.03, 0.009, 0.03, 0.006,
+              0.008, 0.02, 0, 0.03, 0.04, 0.03, 0.04, 0.02, 0.03, 0.009, 0.03,
+              0.006, 0.008,
+            ].map((val, ind) => {
+              return [data[ind], val];
+            }), //0.005,
+            itemStyle: this.itemStyle[2],
+            symbolSize: 10,
+            symbol: "circle",
+          },
+        ],
+      };
+
+      chart.setOption(option);
+      window.addEventListener("resize", () => {
+        chart.resize();
+      });
+      this.chart = chart;
+    },
+    getMsgFormSon() {
+      // this.$emit("func", "aaaaaaaaaaaaaaaaaaaa");
+      console.log("aaaaaaaaaaaa");
+      // this.msgFormSon = data;
+      // console.log(this.msgFormSon);
+    },
+  },
+};
+</script>