From a4831debee63c7071a261c5f6ecfa62fd535b2ab Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Thu, 25 Jan 2024 16:21:18 +0800
Subject: [PATCH] 分页修改

---
 src/views/device/areaConfiguration.vue |  987 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 534 insertions(+), 453 deletions(-)

diff --git a/src/views/device/areaConfiguration.vue b/src/views/device/areaConfiguration.vue
index 9287d34..594a87b 100644
--- a/src/views/device/areaConfiguration.vue
+++ b/src/views/device/areaConfiguration.vue
@@ -3,89 +3,101 @@
     <div class="tableList">
       <div class="tableListForm">
         <a-form-model layout="horizontal">
-          <a-row  :gutter="15">
+          <a-row :gutter="15">
             <a-col :span="5">
               <a-button
-                  icon="plus"
-                  type="primary"
-                  @click="() => this.handleModalVisible(true)"
-                  style="margin-left: 25px;"
-              >������</a-button>
+                icon="plus"
+                type="primary"
+                @click="() => this.handleModalVisible(true)"
+                style="margin-left: 25px;"
+                >������</a-button
+              >
             </a-col>
             <a-col :span="5" style="margin-left: 37%">
               <a-form-model-item :wrapperCol="wrapperCol">
                 <a-select
-                    placeholder="������������"
-                    style="width: 240px;margin-top:4px"
-                    @change="handleChange"
-                    allow-clear
-                    show-search
+                  placeholder="������������"
+                  style="width: 240px;margin-top:4px"
+                  @change="handleChange"
+                  allow-clear
+                  show-search
                 >
-                  <a-select-option v-for="(item,index) in orgData" :key="index" :value="item.id">
+                  <a-select-option
+                    v-for="(item, index) in orgData"
+                    :key="index"
+                    :value="item.id"
+                  >
                     {{ item.name }}
                   </a-select-option>
                 </a-select>
               </a-form-model-item>
             </a-col>
-            <a-col :span="5" >
-              <a-form-model-item
-                  :wrapperCol="wrapperCol">
-                <a-input v-model="searchName" placeholder="���������������������" allow-clear />
+            <a-col :span="5">
+              <a-form-model-item :wrapperCol="wrapperCol">
+                <a-input
+                  v-model="searchName"
+                  placeholder="���������������������"
+                  allow-clear
+                />
               </a-form-model-item>
             </a-col>
           </a-row>
-        </a-form-model
-         >
+        </a-form-model>
       </div>
       <av-standard-table
-          :dataSource="dataSource"
-          :columns="columns"
-          :loading="tableLoading"
-          :paginationProps="pagination"
-          @tableChange="handlerTableChange"
+        :dataSource="dataSource"
+        :columns="columns"
+        :loading="tableLoading"
+        :paginationProps="pagination"
+        @tableChange="handlerTableChange"
       ></av-standard-table>
     </div>
     <a-modal
-        title="���������������������"
-        destroyOnClose
-        :visible="addShowOrHiddenFlag"
-        @ok="addOK"
-        @cancel="addCancel"
-        okText="������"
+      title="���������������������"
+      destroyOnClose
+      :visible="addShowOrHiddenFlag"
+      @ok="addOK"
+      @cancel="addCancel"
+      okText="������"
     >
       <a-form-model
-          style="margin-top: 8px"
-          :model="addForm"
-          :rules="rules"
-          ref="addRulesForm"
+        style="margin-top: 8px"
+        :model="addForm"
+        :rules="rules"
+        ref="addRulesForm"
       >
-
-        <a-form-model-item has-feedback
-                           :labelCol="{ span: 5 }"
-                           :wrapperCol="{ span: 15 }"
-                           label="������"
-                           prop="name">
+        <a-form-model-item
+          has-feedback
+          :labelCol="{ span: 5 }"
+          :wrapperCol="{ span: 15 }"
+          label="������"
+          prop="name"
+        >
           <a-input
-              placeholder="������������"
-              type="string"
-              v-model="addForm.name"
+            placeholder="������������"
+            type="string"
+            v-model="addForm.name"
           />
         </a-form-model-item>
         <a-form-model-item
-            :labelCol="{ span: 5 }"
-            :wrapperCol="{ span: 15 }"
-            label="������"
-            has-feedback
-            prop="orgId"
+          :labelCol="{ span: 5 }"
+          :wrapperCol="{ span: 15 }"
+          label="������"
+          has-feedback
+          prop="orgId"
         >
           <a-select
-              placeholder="���������������"
-              type="string"
-              allow-clear
-              show-search
-              v-model="addForm.orgId"
+            placeholder="���������������"
+            type="string"
+            allow-clear
+            show-search
+            v-model="addForm.orgId"
           >
-            <a-select-option v-for="(item,index) in orgData" :key="index" :value="item.id">
+            <a-select-option
+              v-for="(item, index) in orgData"
+              :key="index"
+              :value="item.id"
+            >
               {{ item.name }}
             </a-select-option>
           </a-select>
@@ -93,515 +105,585 @@
       </a-form-model>
     </a-modal>
     <a-modal
-        title="���������������������"
-        destroyOnClose
-        :visible="editShowOrHiddenFlag"
-        @ok="editSave"
-        @cancel="editCancel"
-        okText="������"
+      title="���������������������"
+      destroyOnClose
+      :visible="editShowOrHiddenFlag"
+      @ok="editSave"
+      @cancel="editCancel"
+      okText="������"
     >
       <a-form-model
-          style="margin-top: 8px"
-          :model="editForm"
-          :rules="rules"
-          ref="editRulesForm"
+        style="margin-top: 8px"
+        :model="editForm"
+        :rules="rules"
+        ref="editRulesForm"
       >
-        <a-form-model-item has-feedback
-                           :labelCol="{ span: 5 }"
-                           :wrapperCol="{ span: 15 }"
-                           label="������"
-                           prop="name">
-          <a-input
-              placeholder="������"
-              type="string"
-              v-model="editForm.name"
-          />
+        <a-form-model-item
+          has-feedback
+          :labelCol="{ span: 5 }"
+          :wrapperCol="{ span: 15 }"
+          label="������"
+          prop="name"
+        >
+          <a-input placeholder="������" type="string" v-model="editForm.name" />
         </a-form-model-item>
         <a-form-model-item
-            :labelCol="{ span: 5 }"
-            :wrapperCol="{ span: 15 }"
-            label="������"
-            has-feedback
+          :labelCol="{ span: 5 }"
+          :wrapperCol="{ span: 15 }"
+          label="������"
+          has-feedback
         >
           <a-input
-              placeholder="������"
-              type="string"
-              disabled="disabled"
-              v-model="editForm.orgName"
+            placeholder="������"
+            type="string"
+            disabled="disabled"
+            v-model="editForm.orgName"
           />
         </a-form-model-item>
-
-
       </a-form-model>
     </a-modal>
     <a-modal
-        title="������������"
-        width="70%"
-        destroyOnClose
-        :visible="areaPointConfigurationFlag"
-        @ok="editAreaPoint"
-        @cancel="editCancelMap"
-        okText="������"
-        class="areaStyle"
+      title="������������"
+      width="70%"
+      destroyOnClose
+      :visible="areaPointConfigurationFlag"
+      @ok="editAreaPoint"
+      @cancel="editCancelMap"
+      okText="������"
+      class="areaStyle"
     >
       <div>
-
         <a-layout>
           <a-layout>
             <a-layout-sider>
               <a-tree
-                  v-model="checkedKeys"
-                  checkable
-                  @select="onSelect"
-                  :tree-data="treeData"
-                  @check="onCheck"
+                v-model="checkedKeys"
+                checkable
+                @select="onSelect"
+                :tree-data="treeData"
+                @check="onCheck"
               />
             </a-layout-sider>
 
             <a-layout-content>
               <div style="position: relative">
-
                 <baidu-map
-                    @ready="handler"
-                    :center="map.center"
-                    :zoom="map.zoom"
-                    :scroll-wheel-zoom="true"
-                    @click="mapClick"
-                    style="height: 600px;width: 100%; z-index: 9">
+                  @ready="handler"
+                  :center="map.center"
+                  :zoom="map.zoom"
+                  :scroll-wheel-zoom="true"
+                  @click="mapClick"
+                  style="height: 600px;width: 100%; z-index: 9"
+                >
                   <bm-control>
-
-                    <a-button type="primary" style="margin-top: 20px; margin-left: 10px; border: none" @click="toggle">{{ polyline.editing ? '������������' : '������������' }}</a-button>
-                    <a-button type="primary" style="margin-top: 20px; margin-left: 10px; border: none" @click="chooseCenter">{{ !map.chooseCenter.flag ? '���������������' : '������������' }}</a-button>
-                    <p style="position: absolute;top: 20px;left: 240px;z-index: 10; width: 400px">
-                      <a-input disabled="disabled" placeholder="���������������" v-model="map.chooseCenter.point.lng" style="display: inline; width: 160px;height: 32px"/>
-                      <a-input disabled="disabled" placeholder="���������������" v-model="map.chooseCenter.point.lat" style="display: inline; width: 160px;height: 32px;margin-left: 10px"/>
+                    <a-button
+                      type="primary"
+                      style="margin-top: 20px; margin-left: 10px; border: none"
+                      @click="toggle"
+                      >{{
+                        polyline.editing ? "������������" : "������������"
+                      }}</a-button
+                    >
+                    <a-button
+                      type="primary"
+                      style="margin-top: 20px; margin-left: 10px; border: none"
+                      @click="chooseCenter"
+                      >{{
+                        !map.chooseCenter.flag ? "���������������" : "������������"
+                      }}</a-button
+                    >
+                    <p
+                      style="position: absolute;top: 20px;left: 240px;z-index: 10; width: 400px"
+                    >
+                      <a-input
+                        disabled="disabled"
+                        placeholder="���������������"
+                        v-model="map.chooseCenter.point.lng"
+                        style="display: inline; width: 160px;height: 32px"
+                      />
+                      <a-input
+                        disabled="disabled"
+                        placeholder="���������������"
+                        v-model="map.chooseCenter.point.lat"
+                        style="display: inline; width: 160px;height: 32px;margin-left: 10px"
+                      />
                     </p>
                   </bm-control>
                   <!--            <bm-local-search :keyword="keyword" :auto-viewport="true"  style="display: none" ></bm-local-search>-->
-                  <bm-marker v-for="item in map.points" :position="item.point" ></bm-marker>
-                  <bm-circle v-for="item in map.points" :center="item.point" :radius="2000" stroke-color="red" :stroke-opacity="0.5" :stroke-weight="1" :editing="false"></bm-circle>
-                  <bm-polygon :path="polyline.points" stroke-color="blue" :stroke-opacity="0.5" :stroke-weight="2" :editing="polyline.editing"  @lineupdate="updatePolygonPath"/>
-                  <bm-marker v-if="map.chooseCenter.flag || (map.chooseCenter.point.lat !== '')" :position="map.chooseCenter.point" color="blue" :dragging="true" animation="BMAP_ANIMATION_BOUNCE"></bm-marker>
+                  <bm-marker
+                    v-for="item in map.points"
+                    :position="item.point"
+                  ></bm-marker>
+                  <bm-circle
+                    v-for="item in map.points"
+                    :center="item.point"
+                    :radius="2000"
+                    stroke-color="red"
+                    :stroke-opacity="0.5"
+                    :stroke-weight="1"
+                    :editing="false"
+                  ></bm-circle>
+                  <bm-polygon
+                    :path="polyline.points"
+                    stroke-color="blue"
+                    :stroke-opacity="0.5"
+                    :stroke-weight="2"
+                    :editing="polyline.editing"
+                    @lineupdate="updatePolygonPath"
+                  />
+                  <bm-marker
+                    v-if="
+                      map.chooseCenter.flag || map.chooseCenter.point.lat !== ''
+                    "
+                    :position="map.chooseCenter.point"
+                    color="blue"
+                    :dragging="true"
+                    animation="BMAP_ANIMATION_BOUNCE"
+                  ></bm-marker>
                 </baidu-map>
               </div>
-
             </a-layout-content>
           </a-layout>
         </a-layout>
-
       </div>
     </a-modal>
   </a-card>
-
 </template>
 
 <script lang="tsx">
-import {Component, Vue, Watch} from "vue-property-decorator";
-import org from '@/util/org'
+import { Component, Vue, Watch } from "vue-property-decorator";
+import org from "@/util/org";
 import { get, post } from "@/util/request";
 import axios from "axios";
 
 @Component({
-  components: {
-  }
+  components: {},
 })
 export default class areaConfiguration extends Vue {
   // ������������
   private wrapperCol: any = {
-    sm: {span: 16}//������������������������
-  }
-  private orgData: any = []
+    sm: { span: 16 }, //������������������������
+  };
+  private orgData: any = [];
   // ������
   private columns: any[] = [
-
+    {
+      title: "������",
+      dataIndex: "key",
+      key: "key",
+      align: "center",
+      customRender: (text: any, record: any, index: any) => `${index + 1}`,
+      width: 60,
+    },
     {
       title: "������",
-      dataIndex: "name"
+      dataIndex: "name",
     },
     {
       title: "������������",
-      dataIndex: "organization_name"
+      dataIndex: "organization_name",
     },
     {
       title: "���������������",
-      dataIndex: "centerLongitude"
+      dataIndex: "centerLongitude",
     },
     {
       title: "���������������",
-      dataIndex: "centerLatitude"
+      dataIndex: "centerLatitude",
     },
 
     {
       title: "������������",
-      dataIndex: "createTime"
+      dataIndex: "createTime",
     },
     {
       title: "������",
-      customRender: this.opRender
-    }
+      customRender: this.opRender,
+    },
   ];
   // ������������������������������
-  private searchName: string = ''
+  private searchName: string = "";
   // ���������������������������
-  private tableLoading: boolean = false
+  private tableLoading: boolean = false;
   // ������
-  private dataSource: any[] =[]
+  private dataSource: any[] = [];
   // ���������������id
-  private queryId: any = undefined
+  private queryId: any = undefined;
   // ������������������������
-  private addShowOrHiddenFlag: boolean = false
+  private addShowOrHiddenFlag: boolean = false;
   // ������������������������
-  private editShowOrHiddenFlag: boolean = false
+  private editShowOrHiddenFlag: boolean = false;
   // ���������������������flag
-  private areaPointConfigurationFlag: boolean = false
+  private areaPointConfigurationFlag: boolean = false;
   // ���������
-  private treeData: any = []
+  private treeData: any = [];
   // ���������������������
-  private checkedKeys: any = []
+  private checkedKeys: any = [];
   // ���������������������������������
-  private mapRecord: any = {}
+  private mapRecord: any = {};
   // ���������
   private polyline: any = {
     editing: false,
-    points: []
-  }
+    points: [],
+  };
   // ���������������������������
   private rules: any = {
     name: [
-      {required: true, message: '������������������', trigger: ['change', 'blur']},
+      { required: true, message: "������������������", trigger: ["change", "blur"] },
     ],
 
     orgId: [
-      {required: true, message: '���������������', trigger: ['change', 'blur']},
-    ]
-  }
+      { required: true, message: "���������������", trigger: ["change", "blur"] },
+    ],
+  };
   // ������������������������record
-  private editBeforeRecord: any = null
+  private editBeforeRecord: any = null;
   // ������������������
   private addForm: any = {
-    name: '',
-    orgId: undefined
-  }
+    name: "",
+    orgId: undefined,
+  };
   private handleChange(val: any) {
-    this.pagination.current = 1
-    this.queryId = val
-    this.getDataByCondition()
+    this.pagination.current = 1;
+    this.queryId = val;
+    this.getDataByCondition();
   }
   // ������������������
   private editForm: any = {
-    name: '',
+    name: "",
     orgId: undefined,
-    orgName: ''
-  }
+    orgName: "",
+  };
   // ������������
   private pagination: any = {
     total: 0,
     current: 1,
-    pageSize: 8,
-    showSizeChanger: false,
-    showQuickJumper: false
+    pageSize: 10,
+    showSizeChanger: true,
+    showQuickJumper: true,
+    pageSizeOptions: ["10", "30", "60", "100"],
+    showTotal: (total: number) => `������ ${this.pagination.total} ���������`, //���������������������������
   };
   // ������������
-  private monitorPoints: any = []
+  private monitorPoints: any = [];
   // ���������������id
-  private deviceIds: any = []
+  private deviceIds: any = [];
   // ������������
   private map: any = {
-    center: {lng: 116.404, lat: 39.915},
+    center: { lng: 116.404, lat: 39.915 },
     zoom: 14,
     points: [],
     chooseCenter: {
-      point: {lng: '', lat: ''},
-      flag: false
-    }
-  }
+      point: { lng: "", lat: "" },
+      flag: false,
+    },
+  };
   // ������������������������
-  @Watch('searchName', {
+  @Watch("searchName", {
     deep: true,
-    immediate:true
+    immediate: true,
   })
   private watchName() {
-    this.pagination.current = 1
-    this.getDataByCondition()
+    this.pagination.current = 1;
+    this.getDataByCondition();
   }
   // ������������������
   private created() {
-    this.getAllOrg()
-    this.getDataByCondition()
+    this.getAllOrg();
+    this.getDataByCondition();
   }
   // ������������������������������
   private handlerTableChange(pagination: any, filter: any, sorter: any): void {
-    this.pagination.current = pagination.current
-    this.getDataByCondition()
+    this.pagination.current = pagination.current;
+    this.pagination.pageSize = pagination.pageSize;
+    this.pagination.total = pagination.total;
+    this.getDataByCondition();
   }
 
   // ������������������
-  private getAllOrg(){
-    get("organization/queryNames", {}
-    ).then(res => {
-      this.orgData = res.data.data.organizationVOs.reverse()
-    })
+  private getAllOrg() {
+    get("organization/queryNames", {}).then((res) => {
+      this.orgData = res.data.data.organizationVOs.reverse();
+    });
   }
   // ������������������������������
   private getDataByCondition() {
-    let params = {}
+    let params = {};
     if (this.queryId === undefined) {
       params = {
         name: this.searchName,
         current: this.pagination.current,
-        size: this.pagination.pageSize
-      }
+        size: this.pagination.pageSize,
+      };
     } else {
       params = {
         orgId: this.queryId,
         name: this.searchName,
         current: this.pagination.current,
-        size: this.pagination.pageSize
-      }
+        size: this.pagination.pageSize,
+      };
     }
-    get('servicesScope/getDataByCondition', params).then((res: any) => {
-      if(res.data.code === 0) {
-        this.dataSource = res.data.data.servicesScopes
-        this.pagination.total = res.data.data.totalNumber
+    get("servicesScope/getDataByCondition", params).then((res: any) => {
+      if (res.data.code === 0) {
+        this.dataSource = res.data.data.servicesScopes;
+        this.pagination.total = res.data.data.totalNumber;
       } else {
-        console.log('���������������������������������')
+        console.log("���������������������������������");
       }
-    })
+    });
   }
   // ������������
   private addOK() {
-    post('servicesScope/insert',
-        {
-                 name: this.addForm.name,
-                 organizationId: this.addForm.orgId
-              }
-    ).then((res: any) => {
-      if (res.data.code === 0) {
-        this.getDataByCondition()
-        this.addShowOrHiddenFlag = false
-        this.addForm.name = ''
-        this.addForm.orgId = undefined
-        this.$message.success(res.data.message)
-      } else {
-        this.$message.warning(res.data.message)
-      }
-    }).catch((err: any) => {
-      this.$message.error('���������������')
+    post("servicesScope/insert", {
+      name: this.addForm.name,
+      organizationId: this.addForm.orgId,
     })
+      .then((res: any) => {
+        if (res.data.code === 0) {
+          this.getDataByCondition();
+          this.addShowOrHiddenFlag = false;
+          this.addForm.name = "";
+          this.addForm.orgId = undefined;
+          this.$message.success(res.data.message);
+        } else {
+          this.$message.warning(res.data.message);
+        }
+      })
+      .catch((err: any) => {
+        this.$message.error("���������������");
+      });
   }
   // ������������
   private handleModalVisible(flag: boolean) {
-     this.addShowOrHiddenFlag = flag
+    this.addShowOrHiddenFlag = flag;
   }
   // ������������
   private addCancel() {
-    this.addForm.name = ''
-    this.addForm.orgId = undefined
-    this.addShowOrHiddenFlag = false
+    this.addForm.name = "";
+    this.addForm.orgId = undefined;
+    this.addShowOrHiddenFlag = false;
   }
   // ������������
-  private editShow(flag:boolean, record: any) {
-    this.editBeforeRecord = record
-    this.editShowOrHiddenFlag = flag
-    this.editForm.name = record.name
-    this.editForm.orgId = record.organizationId
-    this.editForm.orgName = record.organization_name
-    this.editBeforeRecord = record
+  private editShow(flag: boolean, record: any) {
+    this.editBeforeRecord = record;
+    this.editShowOrHiddenFlag = flag;
+    this.editForm.name = record.name;
+    this.editForm.orgId = record.organizationId;
+    this.editForm.orgName = record.organization_name;
+    this.editBeforeRecord = record;
   }
   // ������������
   private editSave() {
     this.$refs.editRulesForm.validate((valid: any) => {
       if (valid) {
-        const name = this.editForm.name === this.editBeforeRecord.name ? null : this.editForm.name
-        const organizationId = this.editForm.orgId === this.editBeforeRecord.organizationId ? null : this.editForm.orgId
+        const name =
+          this.editForm.name === this.editBeforeRecord.name
+            ? null
+            : this.editForm.name;
+        const organizationId =
+          this.editForm.orgId === this.editBeforeRecord.organizationId
+            ? null
+            : this.editForm.orgId;
         if (name === null && organizationId === null) {
-          this.$message.warning('���������')
+          this.$message.warning("���������");
         } else {
-          post('servicesScope/update', {
-                id: this.editBeforeRecord.id,
-                name: name,
-                organizationId: organizationId
-              }
-          ).then((res: any) => {
+          post("servicesScope/update", {
+            id: this.editBeforeRecord.id,
+            name: name,
+            organizationId: organizationId,
+          }).then((res: any) => {
             if (res.data.code === 0) {
-              this.getDataByCondition()
-              this.editShowOrHiddenFlag = false
-              this.editBeforeRecord = null
-              this.$message.success(res.data.message)
+              this.getDataByCondition();
+              this.editShowOrHiddenFlag = false;
+              this.editBeforeRecord = null;
+              this.$message.success(res.data.message);
             } else {
-              this.$message.warning(res.data.message)
+              this.$message.warning(res.data.message);
             }
-          })
+          });
         }
       }
-    })
+    });
   }
   // ������������
   private editCancel() {
-    this.editShowOrHiddenFlag = false
+    this.editShowOrHiddenFlag = false;
   }
 
   // ���������������������
   private areaPointConfiguration(flag: boolean, record: any) {
-    this.areaPointConfigurationFlag = flag
-      this.mapRecord = record
-      get("device/selectMonitorPiontAndDeviceByOrgId",{
-        organization_id:record.organizationId,
-      }).then(res=>{
-        if (res.data.code === 0) {
-          this.monitorPoints = res.data.data
-          if (this.monitorPoints.length > 0) {
-            this.map.center.lng = this.monitorPoints[0].longitude
-            this.map.center.lat = this.monitorPoints[0].latitude
+    this.areaPointConfigurationFlag = flag;
+    this.mapRecord = record;
+    get("device/selectMonitorPiontAndDeviceByOrgId", {
+      organization_id: record.organizationId,
+    }).then((res) => {
+      if (res.data.code === 0) {
+        this.monitorPoints = res.data.data;
+        if (this.monitorPoints.length > 0) {
+          this.map.center.lng = this.monitorPoints[0].longitude;
+          this.map.center.lat = this.monitorPoints[0].latitude;
+        }
+        this.treeData = this.monitorPoints.map((item: any) => {
+          let devices = [];
+          if (item.devices.length > 0) {
+            devices = item.devices.map((device: any) => {
+              const d = {
+                key: item.id + "-" + device.id,
+                title: device.name,
+                value: {
+                  longitude: device.longitude,
+                  latitude: device.latitude,
+                },
+              };
+              return d;
+            });
           }
-          this.treeData = this.monitorPoints.map((item: any) => {
-            let devices = []
-            if (item.devices.length > 0) {
-              devices = item.devices.map((device: any) => {
-                const d = {
-                  key: item.id + '-' + device.id,
-                  title: device.name,
-                  value: {
-                    longitude: device.longitude,
-                    latitude: device.latitude
+          const obj = {
+            key: item.id,
+            title: item.name,
+            value: {
+              longitude: item.longitude,
+              latitude: item.latitude,
+            },
+            children: devices,
+          };
+          return obj;
+        });
+        if (this.treeData.length > 0) {
+          if (record.boundary !== null) {
+            const points = record.boundary.split(";").map((item) => {
+              const point = item.split(",");
+              const obj = { lng: point[0], lat: point[1] };
+              return obj;
+            });
+            this.polyline.points = points;
+          }
+          if (
+            !(
+              record.boundary === null &&
+              record.centerLatitude === null &&
+              record.centerLongitude === null
+            )
+          ) {
+            this.map.chooseCenter.point.lat = record.centerLatitude;
+            this.map.chooseCenter.point.lng = record.centerLongitude;
+            get("servicesScopeDevice/getDevicesAndMonitorPoint", {
+              servicesScopeId: record.id,
+            }).then((res: any) => {
+              if (res.data.code === 0) {
+                const selectDevices = res.data.data;
+                this.map.center.lat = record.centerLatitude;
+                this.map.center.lng = record.centerLongitude;
+                const devicesExit = selectDevices.map((item: any) => {
+                  if (item.devices.length > 0) {
+                    const children = item.devices.map((device: any) => {
+                      const treeDevice = {
+                        key: item.id + "-" + device.id,
+                        title: device.name,
+                        value: {
+                          longitude: device.longitude,
+                          latitude: device.latitude,
+                        },
+                      };
+                      return treeDevice;
+                    });
+                    const treeDevices = {
+                      key: item.id,
+                      title: item.name,
+                      children: children,
+                    };
+                    return treeDevices;
                   }
+                });
+                if (devicesExit.length > 0) {
+                  const points = new Array();
+                  devicesExit.forEach((item: any) => {
+                    item.children.forEach((child: any) => {
+                      this.checkedKeys.push(child.key);
+                      const point = {
+                        lng: child.value.longitude,
+                        lat: child.value.latitude,
+                      };
+                      const deviceId = child.key.substr(
+                        child.key.indexOf("-") + 1,
+                        child.key.length
+                      );
+                      const obj = {
+                        point: point,
+                        deviceId: deviceId,
+                      };
+                      points.push(obj);
+                    });
+                  });
+                  this.map.points = points;
                 }
-                return d
-              })
-            }
-            const obj = {
-              key: item.id,
-              title: item.name,
-              value: {
-                longitude: item.longitude,
-                latitude: item.latitude
-              },
-              children: devices
-            }
-            return obj
-          })
-          if (this.treeData.length > 0) {
-            if (record.boundary !== null) {
-              const points = record.boundary.split(';').map(item => {
-                const point = item.split(',')
-                const obj = {lng: point[0], lat: point[1]}
-                return obj
-              })
-              this.polyline.points = points
-            }
-            if (!(record.boundary === null && record.centerLatitude === null && record.centerLongitude === null)) {
-              this.map.chooseCenter.point.lat = record.centerLatitude
-              this.map.chooseCenter.point.lng = record.centerLongitude
-              get('servicesScopeDevice/getDevicesAndMonitorPoint', {
-                servicesScopeId: record.id
-              }).then((res: any) => {
-                if (res.data.code === 0) {
-                  const selectDevices = res.data.data
-                  this.map.center.lat = record.centerLatitude
-                  this.map.center.lng = record.centerLongitude
-                  const devicesExit = selectDevices.map((item: any) => {
-                    if (item.devices.length > 0) {
-                      const children = item.devices.map((device: any) => {
-                        const treeDevice = {
-                          key: item.id + '-' + device.id,
-                          title: device.name,
-                          value: {
-                            longitude: device.longitude,
-                            latitude: device.latitude
-                          }
-                        }
-                        return treeDevice
-                      })
-                      const treeDevices = {
-                        key: item.id,
-                        title: item.name,
-                        children: children
-                      }
-                      return treeDevices
-                    }
-                  })
-                  if (devicesExit.length > 0) {
-                    const points = new Array()
-                    devicesExit.forEach((item: any) => {
-                      item.children.forEach((child: any) => {
-                        this.checkedKeys.push(child.key)
-                        const point = {
-                          lng: child.value.longitude,
-                          lat: child.value.latitude
-                        }
-                        const deviceId = child.key.substr(child.key.indexOf('-') + 1, child.key.length)
-                        const obj = {
-                          point: point,
-                          deviceId: deviceId
-                        }
-                        points.push(obj)
-                      })
-                    })
-                    this.map.points = points
-                  }
-                }
-              })
-            }
+              }
+            });
           }
         }
-      })
+      }
+    });
   }
   // ���������������
-  private handler({BMap, map}) {
-    this.map.zoom = 14
+  private handler({ BMap, map }) {
+    this.map.zoom = 14;
   }
   // ���������������������
   private editCancelMap() {
-    this.areaPointConfigurationFlag = false
-    this.map.points = []
-    this.polyline.points = []
-    this.polyline.editing = false
-    this.map.chooseCenter.point.lng = ''
-    this.map.chooseCenter.point.lat = ''
-    this.map.chooseCenter.flag = false
-    this.checkedKeys = []
+    this.areaPointConfigurationFlag = false;
+    this.map.points = [];
+    this.polyline.points = [];
+    this.polyline.editing = false;
+    this.map.chooseCenter.point.lng = "";
+    this.map.chooseCenter.point.lat = "";
+    this.map.chooseCenter.flag = false;
+    this.checkedKeys = [];
   }
   // ������������������������
   private editAreaPoint() {
     let lnglat = this.polyline.points.map((point: any) => {
-      return point.lng + ',' + point.lat
-    })
-    const boundary = lnglat.join(';')
-    if(boundary === '') {
-      this.$message.warning('������������������������')
-      return
+      return point.lng + "," + point.lat;
+    });
+    const boundary = lnglat.join(";");
+    if (boundary === "") {
+      this.$message.warning("������������������������");
+      return;
     }
-    if ((this.map.chooseCenter.point.lat === '' || this.map.chooseCenter.point.lat === null) && (this.map.chooseCenter.point.lng === '' || this.map.chooseCenter.point.lng === null)) {
-      this.$message.warning('���������������������')
-      return
+    if (
+      (this.map.chooseCenter.point.lat === "" ||
+        this.map.chooseCenter.point.lat === null) &&
+      (this.map.chooseCenter.point.lng === "" ||
+        this.map.chooseCenter.point.lng === null)
+    ) {
+      this.$message.warning("���������������������");
+      return;
     }
-    post('servicesScope/addBoundaryBindDevice',
-        {
-          devices: this.deviceIds.join(','),
-          servicesScope: {
-            id: this.mapRecord.id,
-            name: null,
-            organizationId: null,
-            centerLongitude: this.map.chooseCenter.point.lng,
-            centerLatitude: this.map.chooseCenter.point.lat,
-            boundary: boundary
-          }
-        }).then((res: any) => {
-            if (res.data.code === 0) {
-              this.getDataByCondition()
-              this.areaPointConfigurationFlag = false
-              this.map.points = []
-              this.polyline.points = []
-              this.polyline.editing = false
-              this.map.chooseCenter.point.lng = ''
-              this.map.chooseCenter.point.lat = ''
-              this.checkedKeys = []
-              this.map.chooseCenter.flag = false
-              this.$message.success(res.data.message)
-            } else {
-              this.$message.warning(res.data.message)
-            }
-    })
+    post("servicesScope/addBoundaryBindDevice", {
+      devices: this.deviceIds.join(","),
+      servicesScope: {
+        id: this.mapRecord.id,
+        name: null,
+        organizationId: null,
+        centerLongitude: this.map.chooseCenter.point.lng,
+        centerLatitude: this.map.chooseCenter.point.lat,
+        boundary: boundary,
+      },
+    }).then((res: any) => {
+      if (res.data.code === 0) {
+        this.getDataByCondition();
+        this.areaPointConfigurationFlag = false;
+        this.map.points = [];
+        this.polyline.points = [];
+        this.polyline.editing = false;
+        this.map.chooseCenter.point.lng = "";
+        this.map.chooseCenter.point.lat = "";
+        this.checkedKeys = [];
+        this.map.chooseCenter.flag = false;
+        this.$message.success(res.data.message);
+      } else {
+        this.$message.warning(res.data.message);
+      }
+    });
   }
   // ���������������������
   // private onSelect(selectedKeys: any, info: any) {
@@ -610,126 +692,125 @@
   // }
   // ������������������������
   private onCheck(checkedKeys: any, info: any) {
-    this.deviceIds = checkedKeys.filter((item: any) => {
-      if (typeof item === 'string') {
-        return item
-      }
-    }).map((item: any) => {
-      return item.substr(item.indexOf('-') + 1, item.length)
-    })
+    this.deviceIds = checkedKeys
+      .filter((item: any) => {
+        if (typeof item === "string") {
+          return item;
+        }
+      })
+      .map((item: any) => {
+        return item.substr(item.indexOf("-") + 1, item.length);
+      });
 
-    let infos = info.checkedNodes
+    let infos = info.checkedNodes;
     if (infos.length > 0) {
       infos = infos.filter((item: any) => {
-        if (typeof item.key === 'string') {
-          return item
+        if (typeof item.key === "string") {
+          return item;
         }
-      })
+      });
       this.map.points = infos.map((item: any) => {
-          const point = {
-            lng: item.data.props.value.longitude,
-            lat: item.data.props.value.latitude
-          }
-        const index = item.key.indexOf('-');
+        const point = {
+          lng: item.data.props.value.longitude,
+          lat: item.data.props.value.latitude,
+        };
+        const index = item.key.indexOf("-");
 
         const pointObj = {
-            point: point,
-            deviceId: item.key.substring(index+1,item.key.length)
-        }
-          return pointObj
-          // const id = item.key.substr()
-      })
+          point: point,
+          deviceId: item.key.substring(index + 1, item.key.length),
+        };
+        return pointObj;
+        // const id = item.key.substr()
+      });
     } else {
-      this.map.points = []
+      this.map.points = [];
     }
   }
   // ���������������������
-  private toggle(){
+  private toggle() {
     if (this.map.points.length === 0) {
-      this.$message.warning('������������������������������������������')
+      this.$message.warning("������������������������������������������");
       return;
     }
     if (this.map.points.length === 1) {
-      this.$message.warning('���������������������������')
+      this.$message.warning("���������������������������");
       return;
     }
-    this.polyline.editing = !this.polyline.editing
+    this.polyline.editing = !this.polyline.editing;
     if (this.polyline.editing) {
       if (this.polyline.points.length === 0) {
         const lngMaxOrMin = this.map.points.sort((item1: any, item2: any) => {
-          return item1.point.lng - item2.point.lng
-        })
-        const lngMin = lngMaxOrMin[0]
-        const lngMax = lngMaxOrMin[lngMaxOrMin.length - 1]
+          return item1.point.lng - item2.point.lng;
+        });
+        const lngMin = lngMaxOrMin[0];
+        const lngMax = lngMaxOrMin[lngMaxOrMin.length - 1];
         const latMaxOrMin = this.map.points.sort((item1: any, item2: any) => {
-          return item1.point.lat - item2.point.lat
-        })
-        const latMin = latMaxOrMin[0]
-        const latMax = latMaxOrMin[latMaxOrMin.length - 1]
+          return item1.point.lat - item2.point.lat;
+        });
+        const latMin = latMaxOrMin[0];
+        const latMax = latMaxOrMin[latMaxOrMin.length - 1];
         const points = [
-          {lng: lngMax.point.lng, lat:latMax.point.lat },
-          {lng: lngMax.point.lng, lat:latMin.point.lat },
-          {lng: lngMin.point.lng, lat:latMin.point.lat },
-          {lng: lngMin.point.lng, lat:latMax.point.lat }
-        ]
-        this.polyline.points = points
+          { lng: lngMax.point.lng, lat: latMax.point.lat },
+          { lng: lngMax.point.lng, lat: latMin.point.lat },
+          { lng: lngMin.point.lng, lat: latMin.point.lat },
+          { lng: lngMin.point.lng, lat: latMax.point.lat },
+        ];
+        this.polyline.points = points;
       }
     }
   }
   // ���������������
   private updatePolygonPath(e: any) {
-    this.polyline.points = e.target.getPath()
+    this.polyline.points = e.target.getPath();
   }
   // ���������������
   private chooseCenter() {
-      this.map.chooseCenter.flag = !this.map.chooseCenter.flag
+    this.map.chooseCenter.flag = !this.map.chooseCenter.flag;
   }
   // ���������������������������
   private mapClick(e: any) {
     if (this.map.chooseCenter.flag) {
-      const { lng, lat } = e.point
-      this.map.chooseCenter.point.lng = lng
-      this.map.chooseCenter.point.lat = lat
+      const { lng, lat } = e.point;
+      this.map.chooseCenter.point.lng = lng;
+      this.map.chooseCenter.point.lat = lat;
     }
   }
 
   // ������������
   private delete(record: any) {
-    post('servicesScope/delete', {
-      id: record.id
+    post("servicesScope/delete", {
+      id: record.id,
     }).then((res: any) => {
       if (res.data.code === 0) {
-        this.pagination.current = 1
-        this.getDataByCondition()
-        this.$message.success(res.data.message)
+        this.pagination.current = 1;
+        this.getDataByCondition();
+        this.$message.success(res.data.message);
       }
-    })
+    });
   }
 
   // ������������������
   private opRender(text: string, record: any, index: number) {
     return (
-        <div>
-          <a onClick={() => this.editShow(true, record)}>
-            {" "}
-            ������{" "}
-          </a>
-          <a-divider type="vertical"/>
-          <a onClick={() => this.areaPointConfiguration(true, record)}>
-            {" "}
-            ������������������������{" "}
-          </a>
-          <a-divider type="vertical"/>
-          <a-popconfirm
-              title="������������������"
-              ok-text="������"
-              cancel-text="������"
-              onConfirm={() => this.delete(record)}
-          >
-            <a href="#">������</a>
-          </a-popconfirm>
-        </div>
-    )
+      <div>
+        <a onClick={() => this.editShow(true, record)}> ������ </a>
+        <a-divider type="vertical" />
+        <a onClick={() => this.areaPointConfiguration(true, record)}>
+          {" "}
+          ������������������������{" "}
+        </a>
+        <a-divider type="vertical" />
+        <a-popconfirm
+          title="������������������"
+          ok-text="������"
+          cancel-text="������"
+          onConfirm={() => this.delete(record)}
+        >
+          <a href="#">������</a>
+        </a-popconfirm>
+      </div>
+    );
   }
 }
 </script>

--
Gitblit v1.8.0