From dc252ad2bd275f697c266e3c8b10cb7d540fdcaa Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Wed, 16 Feb 2022 17:08:11 +0800
Subject: [PATCH] 44个表格在1366*768下的适配,保安员管理-》保安员查询中操作栏更改,在用户表左侧控制栏同步高

---
 src/views/commandQuery/taskDistribution.vue |  249 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 232 insertions(+), 17 deletions(-)

diff --git a/src/views/commandQuery/taskDistribution.vue b/src/views/commandQuery/taskDistribution.vue
index a6f64a1..aa9cf46 100644
--- a/src/views/commandQuery/taskDistribution.vue
+++ b/src/views/commandQuery/taskDistribution.vue
@@ -1,13 +1,14 @@
-/*
- * @Author: Morpheus
- * @Date: 2021-07-07 17:30:05
- * @Last Modified by: Morpheus
- * @Last Modified time: 2021-07-10 16:06:14
- * menu-name 监管信息
- */
+/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by:
+Morpheus * @Last Modified time: 2021-11-25 14:54:40 * menu-name 监管信息 */
 <template>
-  <basic-container>
+  <basic-container
+    :class="[
+      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
+      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
+    ]"
+  >
     <avue-crud
+      class="tablesss"
       :option="option"
       :table-loading="loading"
       :data="data"
@@ -26,7 +27,57 @@
       @refresh-change="refreshChange"
       @on-load="onLoad"
     >
+      <template slot-scope="{ type, size, row }" slot="menu">
+        <el-button
+          icon="el-icon-location-outline"
+          :size="size"
+          :type="type"
+          @click.stop="seeLocation(row)"
+          >位置查看</el-button
+        >
+        <el-button
+          icon="el-icon-place"
+          :size="size"
+          :type="type"
+          @click.stop="seeTrack(row)"
+          >轨迹查看
+        </el-button>
+      </template>
     </avue-crud>
+
+    <el-dialog
+      class="see-location"
+      title="位置查看"
+      :visible.sync="seeLocationFlag"
+      :modal-append-to-body="false"
+      width="width"
+    >
+      <Map v-if="seeLocationFlag" ref="locationForm" />
+    </el-dialog>
+
+    <el-dialog
+      class="see-track"
+      title="轨迹查看"
+      :visible.sync="seeTrackFlag"
+      :modal-append-to-body="false"
+      width="width"
+    >
+      <div class="search">
+        选择时间:<el-date-picker
+          v-model="trackTime"
+          type="datetimerange"
+          range-separator="至"
+          start-placeholder="开始日期"
+          size="mini"
+          :editable="false"
+          end-placeholder="结束日期"
+        >
+        </el-date-picker>
+        <el-button type="text" @click="lookTrack"> 查看轨迹 </el-button>
+      </div>
+
+      <Map v-if="seeTrackFlag" ref="tarckForm" />
+    </el-dialog>
   </basic-container>
 </template>
 
@@ -42,10 +93,22 @@
 // import { datasing } from "./dataqualificationExamination";
 // import { getList } from "@/api/qualificationExamination/qualificationExamination";
 import { getLisperetaskDistribution } from "@/api/commandQuery/commandQuery";
+import {
+  getDirectiveLiveLocationVoList,
+  getDirectiveLocusInfoList,
+  getNewPeople,
+  getNewTark,
+} from "@/api/map/people";
+
+import peoplePng from "@/assets/img/people.png";
 
 export default {
   data() {
     return {
+      seeLocationFlag: false,
+      seeTrackFlag: false,
+      trackTime: [],
+      rowData: null,
       form: {},
       query: {},
       loading: true,
@@ -53,15 +116,18 @@
         pageSize: 10,
         currentPage: 1,
         total: 0,
+        ...this.$store.state.control.changePageSize,
       },
+
       selectionList: [],
+
       option: {
         // 操作栏多余按钮去除
         delBtn: false,
         editBtn: false,
         addBtn: false,
-        selection: false,
-        menu: false,
+        selection: true,
+        menu: true,
 
         searchShowBtn: false,
 
@@ -74,6 +140,7 @@
         index: true,
         viewBtn: true,
         dialogClickModal: false,
+        ...this.$store.state.control.clearOtherBut,
 
         column: [
           //   {
@@ -110,8 +177,9 @@
             label: "发送指令人",
             prop: "sendName",
             search: true,
-            searchLabelWidth: 120,
-            searchSpan: 5,
+            searchLabelWidth: 90,
+            searchSpan: 4,
+            width: 100,
             //     hide: true,
             //     editDisplay: false,
             //     addDisplay: false
@@ -120,8 +188,9 @@
           {
             label: "接收指令人",
             prop: "receiveName",
-            search: true,
-            searchLabelWidth: 120,
+            // search: true,
+            // searchSpan: 4,
+            searchLabelWidth: 90,
           },
           {
             label: "发送指令时间",
@@ -133,9 +202,18 @@
           {
             label: "指令内容",
             prop: "content",
+            search: true,
+            searchSpan: 4,
+          },
+          {
+            label: "图片",
+            prop: "url",
+            dataType: "string",
+            type: "img",
           },
         ],
       },
+
       data: [
         // {
         //   deptid: "江西众泰保安公司",
@@ -165,6 +243,9 @@
       });
       return ids.join(",");
     },
+  },
+  mounted() {
+    this.$store.commit("setWindowSizeHeightAdd");
   },
   methods: {
     rowSave(row, done, loading) {
@@ -262,7 +343,11 @@
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
-        console.log(this.data, "getLisperetaskDistribution");
+        // for (var k in this.data) {
+        //   this.data[k]["url"] = "https://avuejs.com/images/logo-bg.jpg";
+        this.$store.commit("setWindowSizeHeightAdd");
+        // }
+        // console.log(this.data, "getLisperetaskDistribution");
         this.loading = false;
         // this.selectionClear();
       });
@@ -311,9 +396,139 @@
         query: obj,
       });
     },
+
+    seeLocation(row) {
+      this.seeLocationFlag = true;
+
+      getDirectiveLiveLocationVoList({
+        type: 1,
+        userIds: row.receiveDirectiveIds,
+      }).then((result) => {
+        getNewPeople().then((res) => {
+          if (JSON.stringify(res.data) != "{}") {
+            var arr = res.data.sort(function (a, b) {
+              return a["date"] < b["date"] ? 1 : -1;
+            });
+
+            this.$refs.locationForm.addEntitys(
+              {
+                LGTD: arr[0].gis_jd,
+                LTTD: arr[0].gis_wd,
+                name: "人员位置",
+              },
+              peoplePng,
+              0.5,
+              "peoplelayer",
+              "peopleAddlayer"
+            );
+          }
+        });
+
+        // var res = result.data.data;
+        // if (JSON.stringify(res) != "[]") {
+        //     res.forEach((data)=>{
+        //         this.$refs.locationForm.addEntitys(
+        //             {
+        //                 LGTD: data.longitude,
+        //                 LTTD: data.latitude,
+        //                 name: "人员位置",
+        //             },
+        //             peoplePng,
+        //             0.5,
+        //             "peoplelayer",
+        //             "peopleAddlayer"
+        //         );
+        //     })
+        // }
+      });
+    },
+
+    seeTrack(row) {
+      this.trackTime = [];
+      this.rowData = "";
+      this.rowData = row;
+      this.seeTrackFlag = true;
+    },
+
+    lookTrack() {
+      if (this.trackTime.length == 0) {
+        this.$message({ message: "请选择开始时间", duration: 2000 });
+        return;
+      }
+      const startTime = new Date(this.trackTime[0]);
+      const start =
+        startTime.getFullYear() +
+        "-" +
+        this.disposeTime(startTime.getMonth() + 1) +
+        "-" +
+        this.disposeTime(startTime.getDate()) +
+        " " +
+        this.disposeTime(startTime.getHours()) +
+        ":" +
+        this.disposeTime(startTime.getMinutes()) +
+        ":" +
+        this.disposeTime(startTime.getSeconds());
+      if (this.trackTime.length == 1) {
+        this.$message({ message: "请选择结束时间", duration: 2000 });
+        return;
+      }
+      const endTime = new Date(this.trackTime[1]);
+      const end =
+        endTime.getFullYear() +
+        "-" +
+        this.disposeTime(endTime.getMonth() + 1) +
+        "-" +
+        this.disposeTime(endTime.getDate()) +
+        " " +
+        this.disposeTime(endTime.getHours()) +
+        ":" +
+        this.disposeTime(endTime.getMinutes()) +
+        ":" +
+        this.disposeTime(endTime.getSeconds());
+
+      getDirectiveLocusInfoList({
+        userIds: this.rowData.receiveDirectiveIds,
+        type: 1,
+        startTime: start,
+        endTime: end,
+      }).then((res) => {
+        getNewTark().then((res) => {
+          if (JSON.stringify(res.data.track) != "{}") {
+            if (res.data.track.length > 1) {
+              let arr = [];
+
+              res.data.track.forEach((item) => {
+                arr.push([Number(item.gis_jd), Number(item.gis_wd)]);
+              });
+
+              this.$refs.tarckForm.addLines(arr);
+            }
+          }
+        });
+
+        // var result = res.data.data;
+        // if (JSON.stringify(res) != "[]") {
+        //     result.forEach((item) => {
+        //         if (item.length > 1) {
+        //             let arr = [];
+
+        //             item.forEach((data) => {
+        //                 arr.push([Number(data.longitude), Number(data.latitude)]);
+        //             });
+
+        //             this.$refs.tarckForm.addLines(arr);
+        //         }
+        //     })
+        // }
+      });
+    },
+
+    // 处理时间补零操作
+    disposeTime(s) {
+      return s < 10 ? "0" + s : s;
+    },
   },
 };
 </script>
 
-<style>
-</style>
+<style></style>

--
Gitblit v1.9.3