From 04dba6a17f836b5fbdf0eedff8a129c6785fd8a2 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 28 二月 2025 18:25:00 +0800
Subject: [PATCH] 111

---
 admin/src/views/operation/site.vue |   71 +++++++++++++++++++----------------
 1 files changed, 39 insertions(+), 32 deletions(-)

diff --git a/admin/src/views/operation/site.vue b/admin/src/views/operation/site.vue
index 5a67726..512cfdb 100644
--- a/admin/src/views/operation/site.vue
+++ b/admin/src/views/operation/site.vue
@@ -17,43 +17,33 @@
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
       <ul class="toolbar" v-permissions="['business:sites:create']">
-        <li><el-button type="primary" @click="$refs.operaSitesWindow.open('鏂板缓绔欑偣')" icon="el-icon-plus" v-permissions="['business:sites:create']">鏂板缓</el-button></li>
+        <li><el-button type="primary" @click="$refs.operaSitesWindow.open('鏂板缓绔欑偣')" icon="el-icon-plus"
+            v-permissions="['business:sites:create']">鏂板缓</el-button></li>
       </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        stripe
-        border
-      >
-        <el-table-column prop="code" label="绔欑偣缂栧彿"  :sort-method="(a,b)=>{ return   a.code-b.code}"  sortable min-width="100px" align="center"></el-table-column>
+      <el-table v-loading="isWorking.search" :data="tableData.list" stripe border>
+        <el-table-column prop="code" label="绔欑偣缂栧彿" :sort-method="(a, b) => { return a.code - b.code }" sortable
+          min-width="100px" align="center"></el-table-column>
         <el-table-column prop="name" label="绔欑偣鍚嶇О" sortable min-width="100px" align="center"></el-table-column>
-       
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" sortable  min-width="100px" align="center"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['business:sites:update', 'business:sites:delete'])"
-          label="鎿嶄綔"
-          min-width="120"
-          align="center"
-          fixed="right"
-        >
+
+        <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" sortable min-width="100px" align="center"></el-table-column>
+        <el-table-column v-if="containPermissions(['business:sites:update', 'business:sites:delete'])" label="鎿嶄綔"
+          min-width="120" align="center" fixed="right">
           <template slot-scope="{row}">
             <el-button type="text" @click="handleDraw(row)">缁樺埗鍦板浘鍖哄煙</el-button>
-            <el-button type="text" @click="$refs.operaSitesWindow.open('缂栬緫绔欑偣', row)" icon="el-icon-edit" v-permissions="['business:sites:update']">缂栬緫</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:sites:delete']">鍒犻櫎</el-button>
+            <el-button type="text" @click="$refs.operaSitesWindow.open('缂栬緫绔欑偣', row)" icon="el-icon-edit"
+              v-permissions="['business:sites:update']">缂栬緫</el-button>
+            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+              v-permissions="['business:sites:delete']">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      >
+      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
       </pagination>
     </template>
     <!-- 鏂板缓/淇敼 -->
     <OperaSitesWindow ref="operaSitesWindow" @success="handlePageChange" />
     <!--  鏌ョ湅浜岀淮鐮�  -->
-    <AMap v-if="isShowMap" ref="MapRef" />
+    <AMap @change="changeMap" ref="MapRef" />
   </TableLayout>
 </template>
 
@@ -62,12 +52,14 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaSitesWindow from './components/SitesWindow'
-import AMap from './components/Map.vue'
+import AMap from './components/AMap.vue'
+import { Message } from 'element-ui'
+import { updateById } from '@/api/business/sites.js'
 export default {
   name: 'Sites',
   extends: BaseTable,
   components: { TableLayout, Pagination, OperaSitesWindow, AMap },
-  data () {
+  data() {
     return {
       // 鎼滅储
       searchForm: {
@@ -83,12 +75,13 @@
         status: '',
         lockNum: '',
         ip: '',
-        clientVersion: ''
+        clientVersion: '',
+        type: 1
       },
       isShowMap: false
     }
   },
-  created () {
+  created() {
     this.config({
       module: '绔欑偣淇℃伅琛�',
       api: '/business/sites',
@@ -98,10 +91,24 @@
     this.search()
   },
   methods: {
-    handleDraw() {
-      this.isShowMap = true
+    changeMap(e, row) {
+      console.log(e); 
+      updateById({ ...row, electronicFence: JSON.stringify(e) }).then(res => {
+        if (res) {
+          Message.success('璁剧疆鎴愬姛')
+          this.search()
+        }
+      })
+    },
+    handleDraw(row) {
+      this.$refs.MapRef.isShowModal = true
       this.$nextTick(() => {
-        this.$refs.MapRef.isShowModal = true
+        this.$refs.MapRef.row = row
+        if (row.electronicFence) {
+          this.$refs.MapRef.polygons = JSON.parse(row.electronicFence)
+        }
+
+        this.$refs.MapRef.initMap()
       })
     }
   }

--
Gitblit v1.9.3