From 299011f4f2f151d0550065c1ee89420379a653c2 Mon Sep 17 00:00:00 2001
From: WX <1377869194@qq.com>
Date: 星期二, 15 八月 2023 17:46:32 +0800
Subject: [PATCH] 添加报告功能

---
 src/views/index.vue               |  111 +++++--
 src/api/api.js                    |   26 ++
 src/components/BGDC.vue           |    8 
 src/components/reportList.vue     |  283 +++++++++++++++++++++
 src/components/xgzs/weekzdmax.vue |  101 +++++++
 src/components/YJlist.vue         |    5 
 src/assets/js/menuData.js         |   26 +
 src/components/BJlist.vue         |    4 
 src/views/menus.vue               |    6 
 src/components/xgzs/dayzdmax.vue  |   95 +++++++
 src/assets/js/menuTool.js         |    9 
 src/utils/export.js               |   49 +++
 12 files changed, 666 insertions(+), 57 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index 70781db..e8d9c1b 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -261,3 +261,29 @@
     params: params,
   });
 }
+//鏃ワ紝鍛紝鏈堟姤鍛�
+export function selectByPage(params) {
+  //璇锋眰鍦板潃
+  return request.get(`/xlsReport/selectByPage`, {
+    params: params,
+  });
+}
+//鎶ュ憡涓嬭浇
+export function downloadByld(params) {
+  //璇锋眰鍦板潃
+  return `/xlsReport/downloadById`;
+}
+
+//鏃ワ紝鍛紝鏈堟姤鍛�
+export function getdayTop(params) {
+  //璇锋眰鍦板潃
+  return request.get(`/warning/dayTop10`, {
+    params: params,
+  });
+} //鏃ワ紝鍛紝鏈堟姤鍛�
+export function getweekTop(params) {
+  //璇锋眰鍦板潃
+  return request.get(`/warning/weekTop10`, {
+    params: params,
+  });
+}
diff --git a/src/assets/js/menuData.js b/src/assets/js/menuData.js
index a6e6218..d709a22 100644
--- a/src/assets/js/menuData.js
+++ b/src/assets/js/menuData.js
@@ -20,6 +20,24 @@
           isActive: true,
           name: "鏅鸿兘鎶ュ憡",
         },
+        {
+          id: "a4",
+          num: 13,
+          isActive: true,
+          name: "鏃ユ姤",
+        },
+        {
+          id: "a5",
+          num: 14,
+          isActive: true,
+          name: "鍛ㄦ姤",
+        },
+        {
+          id: "a6",
+          num: 15,
+          isActive: true,
+          name: "鏈堟姤",
+        },
       ],
     },
     {
@@ -150,7 +168,13 @@
           id: "e3",
           num: 52,
           isActive: true,
-          name: "绯荤粺璇存槑",
+          name: "鎿嶄綔瑙嗛",
+        },
+        {
+          id: "e4",
+          num: 53,
+          isActive: true,
+          name: "鎿嶄綔鏂囨。",
         },
       ],
     },
diff --git a/src/assets/js/menuTool.js b/src/assets/js/menuTool.js
index 6c75476..efe2e24 100644
--- a/src/assets/js/menuTool.js
+++ b/src/assets/js/menuTool.js
@@ -328,6 +328,9 @@
       sgworld.Core.postMessage(
         `Type=shunxuwinds;Bool=true;Density=${FC.Density};Speed=${FC.Speed};StartLayer=${config.start};EndLayer=${config.end};Classify=${config.Classify};`
       );
+      console.log(
+        `Type=shunxuwinds;Bool=true;Density=${FC.Density};Speed=${FC.Speed};StartLayer=${config.start};EndLayer=${config.end};Classify=${config.Classify};`
+      );
     } else if (type == "sj") {
       let arr = date.split(/\s+/);
 
@@ -338,9 +341,9 @@
       sgworld.Core.postMessage(
         `Type=customewinds;Bool=true;Year=${day[0]};Mouth=${day[1]};Day=${day[2]};Hour=${Hour};Density=${FC.Density};Speed=${FC.Speed};StartLayer=${config.start};EndLayer=${config.end};Classify=${config.Classify};`
       );
-      // console.log(
-      //   `Type=customewinds;Bool=true;Year=${day[0]};Mouth=${day[1]};Day=${day[2]};Hour=${Hour[0]};Density=${FC.Density};Speed=${FC.Speed};`
-      // );
+      console.log(
+        `Type=customewinds;Bool=true;Year=${day[0]};Mouth=${day[1]};Day=${day[2]};Hour=${Hour};Density=${FC.Density};Speed=${FC.Speed};`
+      );
     }
   },
   //椋庡満鍒犻櫎
diff --git a/src/components/BGDC.vue b/src/components/BGDC.vue
index 40f2125..00edf50 100644
--- a/src/components/BGDC.vue
+++ b/src/components/BGDC.vue
@@ -21,14 +21,6 @@
           value-format="YYYY-MM-DD HH"
           format="YYYY-MM-DD HH"
         />
-        <!-- <el-date-picker
-          size="large"
-          v-model="selectform.value1"
-          type="date"
-          @change="changeTime"
-          value-format="YYYY-MM-DD"
-        />
-         -->
       </div>
 
       <div class="button_box">
diff --git a/src/components/BJlist.vue b/src/components/BJlist.vue
index 1d33386..e138018 100644
--- a/src/components/BJlist.vue
+++ b/src/components/BJlist.vue
@@ -141,7 +141,7 @@
       // );
 
       const dt = await ysshSuYuanX00Controller(
-        { name: POIobj.locationName, date: date },
+        { name: POIobj.name, date: date },
         100
       );
       if (dt.result) {
@@ -176,7 +176,7 @@
         if (data.JLvalue == 200) {
           h = 500;
         }
-        const dt1 = await getCoordByName(POIobj.locationName);
+        const dt1 = await getCoordByName(POIobj.name);
         sgworld.Navigate.flyToPosition(dt1.result.lon, dt1.result.lat, h, {
           heading: 270,
           pitch: -89.5,
diff --git a/src/components/YJlist.vue b/src/components/YJlist.vue
index d5bcd7b..101a619 100644
--- a/src/components/YJlist.vue
+++ b/src/components/YJlist.vue
@@ -141,9 +141,10 @@
       //   { name: store.state.POIname },
       //   data.JLvalue
       // );
+
       data.WGlist = [];
       const dt = await ysshSuYuanX00Controller(
-        { name: POIobj.locationName, date: date },
+        { name: POIobj.name, date: date },
         100
       );
       if (dt.result) {
@@ -178,7 +179,7 @@
         if (data.JLvalue == 200) {
           h = 500;
         }
-        const dt1 = await getCoordByName(POIobj.locationName);
+        const dt1 = await getCoordByName(POIobj.name);
         sgworld.Navigate.flyToPosition(dt1.result.lon, dt1.result.lat, h, {
           heading: 270,
           pitch: -89.5,
diff --git a/src/components/reportList.vue b/src/components/reportList.vue
new file mode 100644
index 0000000..65b0523
--- /dev/null
+++ b/src/components/reportList.vue
@@ -0,0 +1,283 @@
+<template>
+  <div class="FX_box">
+    <div class="FX_title">鍒嗘瀽鎶ュ憡</div>
+    <div class="form_box">
+      <div class="time_box">
+        <el-date-picker
+          size="large"
+          v-model="selectform.start"
+          type="datetime"
+          value-format="YYYY-MM-DD HH"
+          format="YYYY-MM-DD HH"
+        />
+        <span>-</span>
+        <el-date-picker
+          size="large"
+          v-model="selectform.end"
+          type="datetime"
+          value-format="YYYY-MM-DD HH"
+          format="YYYY-MM-DD HH"
+        />
+      </div>
+      <div class="button_box">
+        <el-button @click="selectList" class="button">纭</el-button>
+      </div>
+    </div>
+    <div class="list_box">
+      <el-table :data="data.tableData" style="width: 100%">
+        <el-table-column
+          prop="createTime"
+          label="鏃堕棿"
+          :formatter="dateFormatter"
+          align="center "
+        />
+        <el-table-column label="鎿嶄綔" align="center ">
+          <template #default="scope">
+            <el-button
+              link
+              type="primary"
+              size="small"
+              @click="download(scope.row)"
+              >涓嬭浇</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="page">
+        <el-pagination
+          layout="prev, pager, next"
+          :page-count="data.total"
+          :current-page="listData.pageIndex"
+          @current-change="handleCurrentChange"
+        />
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { reactive, onMounted, watch, ref } from "vue";
+import { useStore } from "vuex";
+import { selectByPage, downloadByld } from "@/api/api.js";
+import docxtemplater from "docxtemplater";
+import PizZip from "pizzip";
+import JSZipUtils from "jszip-utils";
+import { saveAs } from "file-saver";
+import { exportMethod } from "@/utils/export";
+export default {
+  //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {},
+  props: ["menusId"],
+  setup(props, { emit }) {
+    const store = useStore();
+    let data = reactive({
+      tableData: [],
+      total: 0,
+    });
+    let selectform = reactive({
+      start: "",
+      end: "",
+    });
+    let listData = reactive({
+      type: "",
+      start: "",
+      end: "",
+      pageSize: 10,
+      pageIndex: 1,
+    });
+    const selectList = async () => {
+      switch (props.menusId) {
+        case "a4":
+          listData.type = "day";
+          break;
+        case "a5":
+          listData.type = "week";
+          break;
+        case "a6":
+          listData.type = "month";
+          break;
+      }
+
+      listData.start =
+        selectform.start == "" ? "" : `${selectform.start}:00:00`;
+      listData.end = selectform.end == "" ? "" : `${selectform.end}:00:00`;
+      const dt = await selectByPage(listData);
+      data.total = Math.ceil(dt.count / listData.pageSize);
+      data.tableData = dt.result;
+
+      console.log(dt);
+    };
+    const download = async (res) => {
+      let downloadObj = {
+        url: downloadByld(),
+        fileName: res.name,
+        params: { id: res.id },
+      };
+      exportMethod(downloadObj);
+    };
+    const handleCurrentChange = (res) => {
+      listData.pageIndex = res;
+      selectList();
+    };
+    const dateFormatter = (row) => {
+      const date = new Date(row.createTime);
+      const year = date.getFullYear();
+      const month = date.getMonth() + 1;
+      const day = date.getDate();
+      const hours = date.getHours();
+      const minutes = date.getMinutes();
+
+      //   let formattedDatetime = `${year}-${month}-${day} ${hours}`;
+      let formattedDatetime = `${year}-${month}-${day}`;
+      if (props.menusId == "a6") {
+        formattedDatetime = `${year}-${month}-${day}`;
+      }
+      return formattedDatetime;
+    };
+    watch(
+      () => props.menusId,
+      (nVal, oVal) => {
+        selectList();
+      },
+      { deep: true }
+    );
+    onMounted(() => {
+      selectList();
+    });
+    return {
+      data,
+      selectform,
+      selectList,
+      download,
+      listData,
+      handleCurrentChange,
+      dateFormatter,
+    };
+  },
+};
+</script>
+<style lang="less" scoped>
+//@import url(); 寮曞叆鍏叡css绫�
+.FX_box {
+  width: 763px;
+
+  background: url("../assets/img/xgzs/gjfx.png") no-repeat center;
+  background-size: 100% 100%;
+  padding: 40px;
+  padding-bottom: 80px;
+  box-sizing: border-box;
+  .FX_title {
+    font-size: 30px;
+    font-weight: bold;
+    color: #ffffff;
+    padding-bottom: 10px;
+  }
+  .form_box {
+    display: flex;
+    align-items: center;
+    .time_box {
+      display: flex;
+      align-items: center;
+      span {
+        padding: 0 10px;
+        color: #fff;
+      }
+      /deep/.el-date-editor.el-input {
+        width: auto;
+      }
+      /deep/ .el-input__wrapper {
+        background: rgba(0, 0, 0, 0.2);
+        border: 2px solid #2e58cc;
+        border-radius: 10px;
+        color: #ffffff;
+        padding: 0;
+        padding-left: 3px;
+      }
+      /deep/ .el-input__inner,
+      /deep/ .el-textarea__inner {
+        //   background-color: rgba(134, 132, 132, 0.5);
+        color: #ffffff;
+        font-size: 24px;
+      }
+      /deep/.el-range-input {
+        color: white;
+      }
+      /deep/ .el-range-separator {
+        color: white;
+      }
+      .el-select {
+        // width: 180px;
+      }
+      .el-select /deep/ .el-input__wrapper {
+        background: rgba(0, 0, 0, 0.2);
+        border: 2px solid #2e58cc;
+        border-radius: 10px;
+        color: #ffffff;
+        padding: 0;
+        padding-left: 6px;
+      }
+      .el-select /deep/ .el-input__inner {
+        color: #ffffff;
+        font-size: 24px;
+      }
+    }
+  }
+  .el-table {
+    // height: 370px;
+    width: 100%;
+    overflow: auto;
+    background-color: transparent;
+  }
+  .el-table::before {
+    height: 0;
+  }
+  .el-table /deep/ .el-tooltip {
+    padding: 0;
+  }
+  .el-table /deep/ th,
+  .el-table /deep/ tr {
+    background-color: transparent;
+    color: white;
+  }
+  .el-table /deep/ tr:hover > td {
+    background-color: rgba(0, 0, 0, 1) !important;
+  }
+  /deep/ .el-table__body {
+    width: 100% !important;
+  }
+
+  /deep/ .el-table__header {
+    width: 100% !important;
+  }
+  .page {
+    display: flex;
+    justify-content: center;
+    padding-top: 20px;
+    .el-pagination {
+      background: transparent !important;
+
+      /deep/ .btn-prev,
+      /deep/ .btn-next,
+      /deep/ .number {
+        background: transparent !important;
+        color: #fff;
+      }
+      /deep/ .is-active {
+        color: rgb(64 158 255);
+      }
+    }
+  }
+}
+.button_box {
+  padding-left: 20px;
+}
+.button {
+  background: rgba(0, 0, 0, 0.2);
+  border: 4px solid #2e58cc !important;
+  border-radius: 20px !important;
+  color: #ffffff;
+  height: 64px !important;
+  font-size: 28px !important;
+  padding: 16px 30px !important;
+}
+</style>
diff --git a/src/components/xgzs/dayzdmax.vue b/src/components/xgzs/dayzdmax.vue
new file mode 100644
index 0000000..7c6564b
--- /dev/null
+++ b/src/components/xgzs/dayzdmax.vue
@@ -0,0 +1,95 @@
+<template>
+  <div class="zdmax">
+    <div class="title">褰撳ぉ鐩戞祴绔欑偣鏈�澶у�糡OP10</div>
+    <dv-scroll-board :config="config" />
+  </div>
+</template>
+
+<script>
+import dayjs from "dayjs";
+
+import { getdayTop } from "@/api/api.js";
+import { de } from "element-plus/es/locale";
+export default {
+  data() {
+    return {
+      config: {
+        header: ["鍚嶇О", "鏁板��", "鏃ユ湡"],
+        data: [],
+        // index: true,
+        columnWidth: [],
+        align: ["center", "center", "center"],
+        headerBGC: "transparent",
+        oddRowBGC: "transparent",
+        evenRowBGC: "transparent",
+        rowNum: 10,
+      },
+    };
+  },
+  mounted() {
+    // this.getList();
+    this.getWaringList();
+  },
+  methods: {
+    sequence(a, b) {
+      // console.log(a, b);
+      return b[1] - a[1];
+    },
+    async getWaringList() {
+      let dt = await getdayTop();
+      if (dt.code === 200 && dt.result.length > 0) {
+        const sotrArr = dt.result.sort((a, b) => b - a);
+        let result = sotrArr.slice(0, 10);
+        const data = result.map((item) => {
+          item.value = Number(item.value).toFixed(2);
+          item.time =
+            item.time.slice(0, 4) +
+            "-" +
+            item.time.slice(4, 6) +
+            "-" +
+            item.time.slice(6, 8);
+          return [item.name, item.value, item.time];
+        });
+        data.sort(this.sequence);
+
+        this.config.data = data;
+        this.config = { ...this.config };
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.zdmax {
+  // position: absolute;
+  // top: 1049px;
+  // right: 70px;
+  width: 763px;
+  height: 684px;
+  background: url("~@/assets/img/xgzs/gjfx.png");
+  background-size: 100% 100%;
+  box-sizing: border-box;
+  padding: 40px;
+  .title {
+    font-size: 30px;
+    font-weight: bold;
+    color: #ffffff;
+    padding-bottom: 10px;
+  }
+  :deep(.dv-scroll-board) {
+    margin: 10px;
+    width: 100%;
+    height: 550px;
+    .header {
+      font-size: 24px;
+    }
+    .rows {
+      height: 449px;
+      .row-item {
+        font-size: 24px;
+      }
+    }
+  }
+}
+</style>
diff --git a/src/components/xgzs/weekzdmax.vue b/src/components/xgzs/weekzdmax.vue
new file mode 100644
index 0000000..5213420
--- /dev/null
+++ b/src/components/xgzs/weekzdmax.vue
@@ -0,0 +1,101 @@
+<template>
+  <div class="zdmax">
+    <div class="title">鏈懆鐩戞祴绔欑偣鏈�澶у�糡OP10</div>
+    <dv-scroll-board :config="config" />
+  </div>
+</template>
+
+<script>
+import dayjs from "dayjs";
+
+import { getweekTop } from "@/api/api.js";
+import { de } from "element-plus/es/locale";
+export default {
+  data() {
+    return {
+      config: {
+        header: ["鍚嶇О", "鏁板��", "鏃ユ湡"],
+        data: [],
+        // index: true,
+        columnWidth: [],
+        align: ["center", "center", "center"],
+        headerBGC: "transparent",
+        oddRowBGC: "transparent",
+        evenRowBGC: "transparent",
+        rowNum: 10,
+      },
+    };
+  },
+  mounted() {
+    // this.getList();
+    this.getWaringList();
+  },
+  methods: {
+    sequence(a, b) {
+      // console.log(a, b);
+      return b[1] - a[1];
+    },
+    async getWaringList() {
+      let dt = await getweekTop();
+      if (dt.code === 200 && dt.result.length > 0) {
+        console.log(dt);
+        const sotrArr = dt.result.sort((a, b) => b - a);
+        let result = sotrArr.slice(0, 10);
+        const data = result.map((item) => {
+          item.value = Number(item.value).toFixed(2);
+          item.time =
+            item.time.slice(0, 4) +
+            "-" +
+            item.time.slice(4, 6) +
+            "-" +
+            item.time.slice(6, 8);
+          return [item.name, item.value, item.time];
+        });
+        data.sort(this.sequence);
+
+        this.config.data = data;
+        this.config = { ...this.config };
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.zdmax {
+  // position: absolute;
+  // top: 1049px;
+  // right: 70px;
+  width: 763px;
+  height: 684px;
+  background: url("~@/assets/img/xgzs/gjfx.png");
+  background-size: 100% 100%;
+  box-sizing: border-box;
+  padding: 40px;
+  .title {
+    font-size: 30px;
+    font-weight: bold;
+    color: #ffffff;
+    padding-bottom: 10px;
+  }
+  :deep(.dv-scroll-board) {
+    margin: 10px;
+    width: 100%;
+    height: 550px;
+    .header {
+      font-size: 24px;
+    }
+    .rows {
+      height: 449px;
+      .row-item {
+        font-size: 24px;
+      }
+    }
+  }
+}
+</style>
+
+<style lang="less">
+.zdmax {
+}
+</style>
diff --git a/src/utils/export.js b/src/utils/export.js
new file mode 100644
index 0000000..c9c4475
--- /dev/null
+++ b/src/utils/export.js
@@ -0,0 +1,49 @@
+/*
+ * @Description:
+ * @Author: 鐜嬫棴
+ * @Date: 2022-03-03 15:10:54
+ * @LastEditTime: 2022-04-13 15:19:08
+ * @LastEditors: 鐜嬫棴
+ */
+import axios from "axios";
+const instance = axios.create({
+  baseURL: BASE_URL, // api鐨刡ase_url
+  timeout: 1200000, // 璇锋眰瓒呮椂鏃堕棿
+  // headers: { "content-type": "application/json;charset=UTF-8" },
+  // withCredentials: true,
+  responseType: "blob",
+});
+// 鎷︽埅璇锋眰
+// instance.interceptors.request.use(
+//   //  鍙互鍦ㄦ澶勬坊鍔� token
+//   (config) => {
+//     // var token = window.sessionStorage.getItem("token");
+//     // // 涓存椂
+//     // var token = sessionStorage.token;
+//     // config.headers["X-Access-Token"] = token;
+//     return config;
+//   },
+//   (error) => {
+//     return Promise.reject(error);
+//   }
+// );
+// 瀵煎嚭Excel鍏敤鏂规硶
+export function exportMethod(data) {
+  instance
+    .get(data.url, { params: data.params })
+    .then((res) => {
+      const link = document.createElement("a");
+      let blob = new Blob([res.data], { type: "application/vnd.ms-excel" });
+      link.style.display = "none";
+      link.href = URL.createObjectURL(blob);
+
+      // link.download = res.headers['content-disposition'] //涓嬭浇鍚庢枃浠跺悕
+      link.download = data.fileName; // 涓嬭浇鐨勬枃浠跺悕
+      document.body.appendChild(link);
+      link.click();
+      document.body.removeChild(link);
+    })
+    .catch((error) => {
+      console.log(error);
+    });
+}
diff --git a/src/views/index.vue b/src/views/index.vue
index 0822406..caabd72 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -5,49 +5,66 @@
     <transition name="el-zoom-in-center" v-show="showlogo">
       <menus @menusData="menusData"></menus>
     </transition>
+
     <transition name="el-zoom-in-top" v-show="showlogo">
       <div class="right_box">
         <poiList></poiList>
-        <BGDC v-show="checkMenuFlag == 'a3'"></BGDC>
-        <SYFX
-          :SYPOIname="POIName"
-          @toggleFK="toggleFK"
-          v-if="checkMenuFlag == 'a2'"
-        ></SYFX>
-        <SYFK
-          :SYPOIname="POIName"
-          :syfkData="syfkData"
-          v-if="showFk"
-          @FKclose="FKclose"
-        ></SYFK>
-        <YCWG v-show="checkMenuFlag == 'b2'"></YCWG>
-        <div class="chart_box" v-if="chart_isshow">
-          <div class="popout_title">鏇茬嚎缁熻鍥�</div>
-          <div class="close" @click="popoutClose('QX')"></div>
-          <chart></chart>
-        </div>
+        <div class="content">
+          <div class="left">
+            <dayzdmax v-if="checkMenuFlag == 'f1'"></dayzdmax>
+            <weekzdmax v-if="checkMenuFlag == 'f1'"></weekzdmax>
+          </div>
+          <div class="right">
+            <BGDC v-show="checkMenuFlag == 'a3'"></BGDC>
+            <report-list
+              :menusId="checkMenuFlag"
+              v-if="
+                checkMenuFlag == 'a4' ||
+                checkMenuFlag == 'a5' ||
+                checkMenuFlag == 'a6'
+              "
+            ></report-list>
+            <SYFX
+              :SYPOIname="POIName"
+              @toggleFK="toggleFK"
+              v-if="checkMenuFlag == 'a2'"
+            ></SYFX>
+            <SYFK
+              :SYPOIname="POIName"
+              :syfkData="syfkData"
+              v-if="showFk"
+              @FKclose="FKclose"
+            ></SYFK>
+            <YCWG v-show="checkMenuFlag == 'b2'"></YCWG>
+            <div class="chart_box" v-if="chart_isshow">
+              <div class="popout_title">鏇茬嚎缁熻鍥�</div>
+              <div class="close" @click="popoutClose('QX')"></div>
+              <chart></chart>
+            </div>
 
-        <date-time-picker
-          :tpData="checkMenuFlag"
-          v-if="
-            checkMenuFlag == 'd21' ||
-            checkMenuFlag == 'd22' ||
-            checkMenuFlag == 'd23' ||
-            checkMenuFlag == 'd3'
-          "
-          @changeTime="changeTime"
-        ></date-time-picker>
-        <div class="weather_box_c" v-show="checkMenuFlag == 'd6'">
-          <div class="popout_title">澶╂皵鐗规晥</div>
-          <!-- <div class="close" @click="popoutClose('HJ')"></div> -->
-          <weather></weather>
-        </div>
-        <SZSZ v-show="checkMenuFlag == 'e2'"></SZSZ>
+            <date-time-picker
+              :tpData="checkMenuFlag"
+              v-if="
+                checkMenuFlag == 'd21' ||
+                checkMenuFlag == 'd22' ||
+                checkMenuFlag == 'd23' ||
+                checkMenuFlag == 'd3'
+              "
+              @changeTime="changeTime"
+            ></date-time-picker>
+            <div class="weather_box_c" v-show="checkMenuFlag == 'd6'">
+              <div class="popout_title">澶╂皵鐗规晥</div>
+              <!-- <div class="close" @click="popoutClose('HJ')"></div> -->
+              <weather></weather>
+            </div>
+            <SZSZ v-show="checkMenuFlag == 'e2'"></SZSZ>
 
-        <BJlist v-if="checkMenuFlag == 'c3'"></BJlist>
-        <YJlist v-if="checkMenuFlag == 'c2'"></YJlist>
-        <gjfx v-if="checkMenuFlag == 'f1'"></gjfx>
-        <zdmax v-if="checkMenuFlag == 'f1'"></zdmax>
+            <BJlist v-if="checkMenuFlag == 'c3'"></BJlist>
+            <YJlist v-if="checkMenuFlag == 'c2'"></YJlist>
+            <gjfx v-if="checkMenuFlag == 'f1'"></gjfx>
+            <zdmax v-if="checkMenuFlag == 'f1'"></zdmax>
+          </div>
+        </div>
       </div>
     </transition>
     <div class="video_box" v-show="checkMenuFlag == 'e3'">
@@ -74,6 +91,7 @@
 import menus from "@/views/menus.vue";
 //鏅鸿兘鎶ュ憡
 import BGDC from "@/components/BGDC.vue";
+import reportList from "@/components/reportList.vue";
 //婧簮鍒嗘瀽
 import SYFX from "@/components/SYFX.vue";
 import SYFK from "@/components/SYFK.vue";
@@ -96,6 +114,8 @@
 //缁熻鍥�
 import gjfx from "@/components/xgzs/gjfx.vue";
 import zdmax from "@/components/xgzs/zdmax.vue";
+import dayzdmax from "@/components/xgzs/dayzdmax.vue";
+import weekzdmax from "@/components/xgzs/weekzdmax.vue";
 import {
   queryWeatherList,
   queryLocaltion,
@@ -120,6 +140,9 @@
     poiList,
     gjfx,
     zdmax,
+    reportList,
+    dayzdmax,
+    weekzdmax,
   },
   setup(props, { emit }) {
     const store = useStore();
@@ -192,6 +215,13 @@
         checkMenuFlag.value = res.id;
       } else {
         checkMenuFlag.value = null;
+      }
+      if (res.id == "e4") {
+        window.open(
+          `${
+            window.location.href.split("#")[0]
+          }config/鐕曞北鐭冲寲绯荤粺鍔熻兘鎿嶄綔鏂囨。.pdf`
+        );
       }
     };
 
@@ -297,6 +327,11 @@
     display: flex;
     flex-direction: column;
     align-items: flex-end;
+    .content {
+      display: flex;
+      justify-content: space-between;
+      align-content: center;
+    }
   }
   .right_box::-webkit-scrollbar {
     width: 8px;
diff --git a/src/views/menus.vue b/src/views/menus.vue
index 2871c8a..8e35d1b 100644
--- a/src/views/menus.vue
+++ b/src/views/menus.vue
@@ -225,15 +225,15 @@
             // padding: 0 12px;
           }
           .menus_btn_c_list_chlid_list:hover {
-            background: rgba(0, 6, 80, 0.4);
+            background: rgba(49, 180, 255, 0.4);
           }
         }
       }
       .menus_btn_c_list:hover {
-        background: rgba(0, 6, 80, 0.4);
+        background: rgba(49, 180, 255, 0.4);
       }
       .child_Menu_Options {
-        background: rgba(0, 6, 80, 0.4);
+        background: rgba(49, 180, 255, 0.4);
       }
     }
   }

--
Gitblit v1.9.3