Browse Source

完善停车区域

2545307760@qq.com 3 months ago
parent
commit
bd29fe4326

+ 6 - 5
server/api/v1/uhf/reader.go

@@ -4,7 +4,6 @@ import (
 	"fmt"
 	"server/model/common/response"
 	"server/model/uhf/request"
-	uhfResponse "server/model/uhf/response"
 	"server/service/uhf"
 
 	"github.com/gin-gonic/gin"
@@ -98,10 +97,12 @@ func ListReaders(c *gin.Context) {
 		return
 	}
 
-	response.OkWithData(uhfResponse.UHFReaderList{
-		Total: total,
-		List:  list,
-	}, c)
+	response.OkWithDetailed(response.PageResult{
+		List:     list,
+		Total:    total,
+		Page:     req.Page,
+		PageSize: req.PageSize,
+	}, "获取成功", c)
 }
 
 func DeleteReader(c *gin.Context) {

+ 1 - 0
server/dao/uhf_reader.go

@@ -27,6 +27,7 @@ type UHFReader struct {
 	IsActive       bool       `gorm:"default:true" json:"is_active"`
 	Description    string     `gorm:"size:200" json:"description"`
 	ParkingLotID   uint       `json:"parking_lot_id"`
+	ParkingLot     ParkingLot `gorm:"foreignkey:ParkingLotID" json:"parking_lot"`
 	LastOnlineTime *time.Time `json:"last_online_time" gorm:"comment:最后上线时间;default:null"`
 
 	ChannelID uint     `gorm:"comment:绑定通道ID" json:"channel_id"`

+ 1 - 1
server/go.mod

@@ -31,6 +31,7 @@ require (
 	github.com/swaggo/files v1.0.1
 	github.com/swaggo/gin-swagger v1.6.0
 	github.com/swaggo/swag v1.16.4
+	github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07
 	github.com/tencentyun/cos-go-sdk-v5 v0.7.60
 	github.com/unrolled/secure v1.17.0
 	go.mongodb.org/mongo-driver v1.17.2
@@ -113,7 +114,6 @@ require (
 	github.com/spf13/cast v1.7.1 // indirect
 	github.com/spf13/pflag v1.0.5 // indirect
 	github.com/subosito/gotenv v1.6.0 // indirect
-	github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07 // indirect
 	github.com/tklauser/go-sysconf v0.3.14 // indirect
 	github.com/tklauser/numcpus v0.9.0 // indirect
 	github.com/twitchyliquid64/golang-asm v0.15.1 // indirect

+ 6 - 24
server/service/uhf/uhf_service.go

@@ -2,11 +2,12 @@ package uhf
 
 import (
 	"fmt"
-	"go.uber.org/zap"
 	"server/dao"
 	"server/global"
 	"server/model/uhf/request"
 	"server/model/uhf/response"
+
+	"go.uber.org/zap"
 )
 
 type uhfService struct{}
@@ -39,6 +40,7 @@ func (s *uhfService) CreateReader(req request.UHFReaderCreate) error {
 		IsActive:     req.IsActive,
 		Description:  req.Description,
 		ParkingLotID: booth.ParkingLotID,
+		ChannelID:    uint(req.ChannelId),
 	}
 
 	err := global.GVA_DB.Create(&reader).Error
@@ -123,11 +125,11 @@ func (s *uhfService) QueryAllReaders() ([]dao.UHFReader, error) {
 }
 
 // ListReaders 分页查询设备列表
-func (s *uhfService) ListReaders(req request.UHFReaderQuery) ([]response.UHFReaderResponse, int64, error) {
+func (s *uhfService) ListReaders(req request.UHFReaderQuery) ([]dao.UHFReader, int64, error) {
 	var readers []dao.UHFReader
 	var total int64
 
-	query := global.GVA_DB.Model(&dao.UHFReader{})
+	query := global.GVA_DB.Model(&dao.UHFReader{}).Preload("Channel").Preload("ParkingLot")
 
 	if req.DeviceCode != "" {
 		query = query.Where("device_code LIKE ?", "%"+req.DeviceCode+"%")
@@ -158,27 +160,7 @@ func (s *uhfService) ListReaders(req request.UHFReaderQuery) ([]response.UHFRead
 		return nil, 0, err
 	}
 
-	var list []response.UHFReaderResponse
-	for _, reader := range readers {
-		list = append(list, response.UHFReaderResponse{
-			ID:           reader.ID,
-			DeviceCode:   reader.DeviceCode,
-			DeviceName:   reader.DeviceName,
-			ConnectType:  reader.ConnectType,
-			IPAddress:    reader.IPAddress,
-			Port:         reader.Port,
-			COMPort:      reader.COMPort,
-			BaudRate:     reader.BaudRate,
-			Status:       reader.Status,
-			IsActive:     reader.IsActive,
-			Description:  reader.Description,
-			ParkingLotID: reader.ParkingLotID,
-			CreatedAt:    reader.CreatedAt,
-			UpdatedAt:    reader.UpdatedAt,
-		})
-	}
-
-	return list, total, nil
+	return readers, total, nil
 }
 
 // DeleteReader 删除设备

+ 268 - 166
web/src/view/parking/parkingInfo.vue

@@ -23,13 +23,25 @@
             </el-icon>
           </div>
         </div>
-        <el-menu default-active="0" background-color="#f5f5f5">
-          <el-menu-item v-for="(item,val) in regionList" :index="val.toString()" :key="item.ID" @click="changeRegion(item)">
+        <el-menu
+          default-active="0"
+          background-color="#f5f5f5"
+        >
+          <el-menu-item
+            v-for="(item,val) in regionList"
+            :key="item.ID"
+            :index="val.toString()"
+            @click="changeRegion(item)"
+          >
             <div style="display: flex;justify-content: space-between; align-items: center;width: 100%">
-              <span>{{item.lot_name}}}</span>
+              <span>{{ item.lot_name }}}</span>
               <div>
-                <el-icon @click.stop="openRegion('编辑区域', item)"><edit/></el-icon>
-                <el-icon @click.stop="deleteRegion(item.ID)"><delete/></el-icon>
+                <el-icon @click.stop="openRegion('编辑区域', item)">
+                  <edit />
+                </el-icon>
+                <el-icon @click.stop="deleteRegion(item.ID)">
+                  <delete />
+                </el-icon>
               </div>
             </div>
           </el-menu-item>
@@ -60,26 +72,14 @@
                 新增
               </el-button>
             </el-form-item>
-            <el-form-item>
-              <el-button
-                icon="Edit"
-                text
-                type="warning"
-              >编辑</el-button>
-            </el-form-item>
-            <el-form-item>
-              <el-button
-                icon="Delete"
-                text
-                type="danger"
-              >删除</el-button>
-            </el-form-item>
             <el-form-item>
               <el-button
                 icon="Refresh"
                 text
                 type="primary"
-              >刷新</el-button>
+                @click="getGuardBoothList"
+              >刷新
+              </el-button>
             </el-form-item>
           </el-form>
           <el-table
@@ -110,7 +110,7 @@
               align="center"
               prop="description"
             />
-            <el-table-column label="操作">
+            <el-table-column label="操作" align="center">
               <template #default="scope">
                 <el-button
                   text
@@ -155,28 +155,17 @@
                 text
                 type="success"
                 @click="openChannel('通道新增','')"
-              >新增</el-button>
-            </el-form-item>
-            <el-form-item>
-              <el-button
-                icon="Edit"
-                text
-                type="warning"
-              >编辑</el-button>
-            </el-form-item>
-            <el-form-item>
-              <el-button
-                icon="Delete"
-                text
-                type="danger"
-              >删除</el-button>
+              >新增
+              </el-button>
             </el-form-item>
             <el-form-item>
               <el-button
                 icon="Refresh"
                 text
                 type="primary"
-              >刷新</el-button>
+                @click="getChannelList"
+              >刷新
+              </el-button>
             </el-form-item>
           </el-form>
           <el-table
@@ -188,21 +177,21 @@
               label="编码"
               align="center"
               width="100"
-              prop="ID"
+              prop="channel_code"
             />
             <el-table-column
               label="名称"
               align="center"
               width="250"
-              prop="channel_code"
+              prop="channel_name"
             />
             <el-table-column
+              v-slot="scope"
               label="进出方向"
               align="center"
               width="150"
-              #default="scope"
             >
-              {{scope.row.direction === 'in' ? '进' : '出'}}
+              {{ scope.row.direction === 'in' ? '进' : '出' }}
             </el-table-column>
             <el-table-column
               label="是否允许临时车进出"
@@ -211,16 +200,17 @@
             >
               <template #default="scope">
                 <el-button
-                    plain
-                    :type="scope.row.allow_temporary ? 'success' : 'danger'">
-                  {{scope.row.allow_temporary ? '允许' : '不允许'}}
+                  plain
+                  :type="scope.row.allow_temporary ? 'success' : 'danger'"
+                >
+                  {{ scope.row.allow_temporary ? '允许' : '不允许' }}
                 </el-button>
               </template>
             </el-table-column>
             <el-table-column
-              label="备注"
+              label="岗亭id"
               align="center"
-              prop="description"
+              prop="booth_id"
             />
             <el-table-column
               v-slot="scope"
@@ -232,12 +222,14 @@
                 icon="edit"
                 text
                 @click="openChannel('通道编辑', scope.row)"
-              >编辑</el-button>
+              >编辑
+              </el-button>
               <el-button
                 type="primary"
                 icon="delete"
                 text
-              >删除</el-button>
+              >删除
+              </el-button>
             </el-table-column>
           </el-table>
           <div style="width: 100%;display: flex;justify-content: end">
@@ -245,7 +237,7 @@
               :current-page="queryChannelData.page"
               :page-size="queryChannelData.page_size"
               :page-sizes="[10, 30, 50, 100]"
-              :total="guardTotal"
+              :total="channelTotal"
               layout="total, sizes, prev, pager, next, jumper"
               style="padding-right: 10px"
               @current-change="handleCurrentChannel"
@@ -264,28 +256,17 @@
                 text
                 type="success"
                 @click="openDevice('新增设备','')"
-              >新增</el-button>
-            </el-form-item>
-            <el-form-item>
-              <el-button
-                icon="Edit"
-                text
-                type="warning"
-              >编辑</el-button>
-            </el-form-item>
-            <el-form-item>
-              <el-button
-                icon="Delete"
-                text
-                type="danger"
-              >删除</el-button>
+              >新增
+              </el-button>
             </el-form-item>
             <el-form-item>
               <el-button
                 icon="Refresh"
                 text
                 type="primary"
-              >刷新</el-button>
+                @click="getDeviceList"
+              >刷新
+              </el-button>
             </el-form-item>
           </el-form>
           <el-table
@@ -309,7 +290,7 @@
               label="类别"
               align="center"
               width="150"
-              prop="device_type"
+              prop="connect_type"
             />
             <el-table-column
               label="IP地址"
@@ -329,8 +310,11 @@
               width="150"
             >
               <template #default="scope">
-                <el-button :type="scope.row.is_active ? 'success' : 'danger'" plain>
-                  {{scope.row.is_active ? '启用' : '不启用'}}
+                <el-button
+                  :type="scope.row.is_active ? 'success' : 'danger'"
+                  plain
+                >
+                  {{ scope.row.is_active ? '启用' : '不启用' }}
                 </el-button>
               </template>
             </el-table-column>
@@ -339,25 +323,47 @@
               align="center"
             >
               <template #default="scope">
-                <el-button
-                  type="primary"
-                  icon="edit"
-                  text
-                >备注</el-button>
+                <el-tooltip
+                  :content="scope.row.description"
+                  placement="top"
+                  effect="light"
+                >
+                  <el-button
+                    type="primary"
+                    icon="edit"
+                    text
+                  >备注
+                  </el-button>
+                </el-tooltip>
                 <el-button
                   type="primary"
                   icon="edit"
                   text
                   @click="openDevice('编辑设备', scope.row)"
-                >编辑</el-button>
+                >编辑
+                </el-button>
                 <el-button
                   type="primary"
                   icon="delete"
                   text
-                >删除</el-button>
+                  @click="removeDevice(scope.row.ID)"
+                >删除
+                </el-button>
               </template>
             </el-table-column>
           </el-table>
+          <div style="width: 100%;display: flex;justify-content: end">
+            <el-pagination
+              :current-page="searchDeviceData.page"
+              :page-size="searchDeviceData.page_size"
+              :page-sizes="[10, 30, 50, 100]"
+              :total="deviceTotal"
+              layout="total, sizes, prev, pager, next, jumper"
+              style="padding-right: 10px"
+              @current-change="handleCurrentDevice"
+              @size-change="handleSizeDevice"
+            />
+          </div>
         </el-tab-pane>
       </el-tabs>
     </el-col>
@@ -368,8 +374,16 @@
     >
       <el-form label-width="90">
         <el-form-item label="停车区域:">
-          <el-select v-model="positionRegionName" placeholder="请选择停车区域" @change="changePositionRegion">
-            <el-option v-for="item in regionList" :value="item.lot_name" :key="item.ID"></el-option>
+          <el-select
+            v-model="positionRegionName"
+            placeholder="请选择停车区域"
+            @change="changePositionRegion"
+          >
+            <el-option
+              v-for="item in regionList"
+              :key="item.ID"
+              :value="item.lot_name"
+            />
           </el-select>
         </el-form-item>
         <el-form-item label="岗亭编码:">
@@ -407,13 +421,16 @@
     >
       <el-form>
         <el-form-item label="通道岗亭:">
-          <el-select v-model="channelPositionName" @change="changeChannelPosition">
+          <el-select
+            v-model="channelPositionName"
+            @change="changeChannelPosition"
+          >
             <el-option
-                v-for="item in positionList"
-                :key="item.ID"
-                :value="item.booth_name"
-                :label="item.booth_name">
-            </el-option>
+              v-for="item in positionList"
+              :key="item.ID"
+              :value="item.booth_name"
+              :label="item.booth_name"
+            />
           </el-select>
         </el-form-item>
         <el-form-item label="通道编码:">
@@ -480,18 +497,18 @@
     >
       <el-form label-width="100">
         <el-form-item label="设备通道:">
-          <el-select v-model="deviceChannelName" @change="changeDeviceChannel">
+          <el-select
+            v-model="deviceChannelName"
+            @change="changeDeviceChannel"
+          >
             <el-option
-                v-for="item in channelList"
-                :key="item.ID"
-                :value="item.channel_name"
-                :label="item.channel_name">
-            </el-option>
+              v-for="item in channelList"
+              :key="item.ID"
+              :value="item.channel_name"
+              :label="item.channel_name"
+            />
           </el-select>
         </el-form-item>
-        <el-form-item label="IP地址:">
-          <el-input v-model="deviceData.ip_address" />
-        </el-form-item>
         <el-form-item label="设备名称:">
           <el-input v-model="deviceData.device_name" />
         </el-form-item>
@@ -500,32 +517,59 @@
         </el-form-item>
         <el-form-item label="连接方式:">
           <el-select v-model="deviceData.connect_type">
-            <el-option label="tcp" value="tcp"></el-option>
-            <el-option label="serial" value="serial"></el-option>
+            <el-option
+              label="tcp"
+              value="tcp"
+            />
+            <el-option
+              label="serial"
+              value="serial"
+            />
           </el-select>
         </el-form-item>
-        <el-form-item label="端口:">
-          <el-input v-model="deviceData.port" type="number"></el-input>
+        <el-form-item
+          v-show="deviceData.connect_type === 'tcp'"
+          label="IP地址:"
+        >
+          <el-input v-model="deviceData.ip_address" />
+        </el-form-item>
+        <el-form-item
+          v-show="deviceData.connect_type === 'tcp'"
+          label="端口:"
+        >
+          <el-input
+            v-model="deviceData.port"
+            type="number"
+          />
         </el-form-item>
-        <el-form-item label="串口名称:">
-          <el-input v-model="deviceData.com_port"></el-input>
+        <el-form-item
+          v-show="deviceData.connect_type === 'serial'"
+          label="串口名称:"
+        >
+          <el-input v-model="deviceData.com_port" />
         </el-form-item>
-        <el-form-item label="串口波特率:">
-          <el-input v-model="deviceData.baud_rate" type="number"></el-input>
+        <el-form-item
+          v-show="deviceData.connect_type === 'serial'"
+          label="串口波特率:"
+        >
+          <el-input
+            v-model="deviceData.baud_rate"
+            type="number"
+          />
         </el-form-item>
         <el-form-item label="是否启用:">
           <el-radio-group
-              v-model="deviceData.is_active"
-              size="large"
-              fill="#409eff"
+            v-model="deviceData.is_active"
+            size="large"
+            fill="#409eff"
           >
             <el-radio-button
-                label="否"
-                :value="false"
+              label="否"
+              :value="false"
             />
             <el-radio-button
-                label="是"
-                :value="true"
+              label="是"
+              :value="true"
             />
           </el-radio-group>
         </el-form-item>
@@ -548,7 +592,11 @@
         </div>
       </template>
     </el-dialog>
-    <el-dialog v-model="regionShow" :title="regionTitle" width="500">
+    <el-dialog
+      v-model="regionShow"
+      :title="regionTitle"
+      width="500"
+    >
       <el-form label-width="90">
         <el-form-item label="区域编码:">
           <el-input v-model="regionData.lot_code" />
@@ -557,12 +605,15 @@
           <el-input v-model="regionData.lot_name" />
         </el-form-item>
         <el-form-item label="区域容量:">
-          <el-input v-model="regionData.capacity" type="number"/>
+          <el-input
+            v-model="regionData.capacity"
+            type="number"
+          />
         </el-form-item>
         <el-form-item label="备注:">
           <el-input
-              v-model="regionData.description"
-              type="textarea"
+            v-model="regionData.description"
+            type="textarea"
           />
         </el-form-item>
       </el-form>
@@ -570,8 +621,8 @@
         <div class="dialog-footer">
           <el-button @click="regionShow = false">取消</el-button>
           <el-button
-              type="primary"
-              @click="regionOperation"
+            type="primary"
+            @click="regionOperation"
           >
             确认
           </el-button>
@@ -594,16 +645,15 @@ import {
   addChannel,
   editChannel,
   obtainChannelList,
-  deleteChannel
 } from '@/api/channel'
-import { addDevice, obtainDeviceList, editDevice } from '@/api/device'
+import { addDevice, obtainDeviceList, editDevice, deleteDevice } from '@/api/device'
 import { addPullOver, editPullOver, obtainPullOverList, removePullOver } from '@/api/pullOver'
 import { ElMessage, ElMessageBox } from 'element-plus'
 
 const activeName = ref('detail')
-const handleClick = () => {}
+const handleClick = () => {
+}
 const positionShow = ref(false)
-const positionOperation = ref(0)
 
 const positionTitle = ref('岗亭新增')
 // 岗亭数据.......................................
@@ -625,7 +675,7 @@ const addPosition = () => {
       ElMessage.error('请选择停车区域')
       return
     }
-    if(positionData.booth_name === '' || positionData.booth_code === '' || positionData.ip_address === '') {
+    if (positionData.booth_name === '' || positionData.booth_code === '' || positionData.ip_address === '') {
       ElMessage.error('请将除备注以外的信息填写完整')
       return
     }
@@ -641,7 +691,7 @@ const addPosition = () => {
       ElMessage.error('请选择停车区域')
       return
     }
-    if(positionData.booth_name === '' || positionData.booth_code === '' || positionData.ip_address === '') {
+    if (positionData.booth_name === '' || positionData.booth_code === '' || positionData.ip_address === '') {
       ElMessage.error('请将除备注以外的信息填写完整')
       return
     }
@@ -709,6 +759,7 @@ const getGuardBoothList = () => {
     if (res.code === 0) {
       positionList.length = 0
       positionList.push(...res.data.list)
+      guardTotal.value = res.data.total
     }
   })
 }
@@ -762,7 +813,7 @@ const queryChannelData = reactive({
 })
 const channelPositionName = ref('')
 const channelData = reactive({
-  id:0,
+  id: 0,
   channel_code: '',
   channel_name: '',
   direction: 'in',
@@ -777,12 +828,12 @@ const channelList = reactive([])
 
 const changeChannelPosition = (val) => {
   positionList.forEach(item => {
-    if(item.booth_name === val) {
+    if (item.booth_name === val) {
       channelData.booth_id = item.ID
     }
   })
 }
-
+const channelTotal = ref(0)
 const openChannel = (head, data) => {
   channelTitle.value = head
   channelShow.value = true
@@ -815,7 +866,7 @@ const channelOperation = () => {
       ElMessage.error('请选择岗亭')
       return
     }
-    if(channelData.channel_name === '' ||  channelData.channel_code === '') {
+    if (channelData.channel_name === '' || channelData.channel_code === '') {
       ElMessage.error('请将除备注以外的信息填写完整')
       return
     }
@@ -832,7 +883,7 @@ const channelOperation = () => {
       ElMessage.error('请选择岗亭')
       return
     }
-    if(channelData.channel_name === '' ||  channelData.channel_code === '') {
+    if (channelData.channel_name === '' || channelData.channel_code === '') {
       ElMessage.error('请将除备注以外的信息填写完整')
       return
     }
@@ -858,23 +909,26 @@ const handleSizeChannel = (val) => {
 const getChannelList = () => {
   obtainChannelList(queryChannelData).then(res => {
     if (res.code === 0) {
+      console.log(res.data)
       channelList.length = 0
       channelList.push(...res.data.list)
+      channelTotal.value = res.data.total
     }
   })
 }
 
 // 设备管理...............................................
 const deviceData = reactive({
+  id: 0,
   parking_lot_id: 0,
   device_code: '',
   device_name: '',
-  baud_rate:0,
+  baud_rate: 0,
   ip_address: '',
   port: 0,
   com_port: '',
   description: '',
-  connect_type:'',
+  connect_type: '',
   is_active: false,
   channel_id: 0
 })
@@ -883,11 +937,11 @@ const deviceChannelName = ref('')
 
 const deviceShow = ref(false)
 
-const openDevice = (head,data) => {
+const openDevice = (head, data) => {
   deviceTitle.value = head
   deviceShow.value = true
   if (head === '编辑设备') {
-    console.log('编辑信息', data)
+    deviceData.id = data.ID
     deviceData.device_code = data.device_code
     deviceData.device_name = data.device_name
     deviceData.baud_rate = data.baud_rate
@@ -899,7 +953,7 @@ const openDevice = (head,data) => {
     deviceData.channel_id = data.channel_id
     deviceData.is_active = data.is_active
     channelList.forEach(item => {
-      if (item.ID === data.id) {
+      if (item.ID === data.channel_id) {
         deviceChannelName.value = item.channel_name
       }
     })
@@ -911,7 +965,7 @@ const openDevice = (head,data) => {
     deviceData.port = 0
     deviceData.com_port = ''
     deviceData.description = ''
-    deviceData.connect_type = ''
+    deviceData.connect_type = 'tcp'
     deviceData.channel_id = 0
     deviceData.is_active = false
     deviceChannelName.value = ''
@@ -921,7 +975,7 @@ const openDevice = (head,data) => {
 const deviceOperation = async() => {
   deviceData.baud_rate = Number(deviceData.baud_rate)
   deviceData.port = Number(deviceData.port)
-  if (deviceTitle.value === '新增设备'){
+  if (deviceTitle.value === '新增设备') {
     await addDevice(deviceData).then(res => {
       if (res.code === 0) {
         ElMessage.success('添加成功')
@@ -954,6 +1008,17 @@ const changeDeviceChannel = (val) => {
   })
 }
 
+const deviceTotal = ref(0)
+const handleCurrentDevice = (val) => {
+  searchDeviceData.page = val
+  getDeviceList()
+}
+
+const handleSizeDevice = (val) => {
+  searchDeviceData.page_size = val
+  searchDeviceData.page = 1
+  getDeviceList()
+}
 
 const searchDeviceData = reactive({
   parking_lot_id: 0,
@@ -967,19 +1032,53 @@ const searchDeviceData = reactive({
 const getDeviceList = async() => {
   await obtainDeviceList(searchDeviceData).then(res => {
     if (res.code === 0) {
-      console.log(res.data)
       deviceList.length = 0
       if (res.data.list !== null) {
         deviceList.push(...res.data.list)
+        deviceTotal.value = res.data.total
       }
     }
   })
 }
 
+const removeDevice = async(id) => {
+  ElMessageBox.confirm(
+    '确定要删除该设备吗?',
+    '提示',
+    {
+      confirmButtonText: '确认',
+      cancelButtonText: '取消',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+      deleteDevice(id).then(res => {
+        if (res.code === 0) {
+          ElMessage({
+            type: 'success',
+            message: '删除成功',
+          })
+          getDeviceList()
+        } else {
+          ElMessage({
+            type: 'error',
+            message: '删除失败',
+          })
+        }
+      })
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '取消删除',
+      })
+    })
+}
+
 // 停车区域....................................
 const regionList = reactive([])
 // 查询停车区域
-const getRegionList = async () => {
+const getRegionList = async() => {
   await obtainPullOverList().then(res => {
     if (res.code === 0) {
       regionList.length = 0
@@ -1013,11 +1112,11 @@ const openRegion = (head, data) => {
     regionData.description = ''
   }
 }
-const regionOperation = async () => {
+const regionOperation = async() => {
   if (regionTitle.value === '创建区域') {
     regionData.capacity = Number(regionData.capacity)
     await addPullOver(regionData).then(res => {
-      if(res.code === 0) {
+      if (res.code === 0) {
         getRegionList()
         ElMessage.success('创建成功')
         regionShow.value = false
@@ -1025,7 +1124,7 @@ const regionOperation = async () => {
     })
   } else {
     await editPullOver(regionData).then(res => {
-      if(res.code === 0) {
+      if (res.code === 0) {
         getRegionList()
         ElMessage.success('修改成功')
         regionShow.value = false
@@ -1036,39 +1135,39 @@ const regionOperation = async () => {
 
 const deleteRegion = (id) => {
   ElMessageBox.confirm(
-      '确定要删除该停车区域吗?',
-      '提示',
-      {
-        confirmButtonText: '确认',
-        cancelButtonText: '取消',
-        type: 'warning',
-      }
+    '确定要删除该停车区域吗?',
+    '提示',
+    {
+      confirmButtonText: '确认',
+      cancelButtonText: '取消',
+      type: 'warning',
+    }
   )
-      .then(() => {
-        removePullOver(id).then(res => {
-          if (res.code === 0) {
-            ElMessage({
-              type: 'success',
-              message: '删除成功',
-            })
-            getRegionList()
-          } else {
-            ElMessage({
-              type: 'error',
-              message: '删除失败',
-            })
-          }
-        })
+    .then(() => {
+      removePullOver(id).then(res => {
+        if (res.code === 0) {
+          ElMessage({
+            type: 'success',
+            message: '删除成功',
+          })
+          getRegionList()
+        } else {
+          ElMessage({
+            type: 'error',
+            message: '删除失败',
+          })
+        }
       })
-      .catch(() => {
-        ElMessage({
-          type: 'info',
-          message: '取消删除',
-        })
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '取消删除',
       })
+    })
 }
 
-const changeRegion = async (item) => {
+const changeRegion = async(item) => {
   searchGuardBooth.parking_lot_id = item.ID
   queryChannelData.parking_lot_id = item.ID
   searchDeviceData.parking_lot_id = item.ID
@@ -1076,7 +1175,7 @@ const changeRegion = async (item) => {
   await getChannelList()
   await getDeviceList()
 }
-onMounted(async () => {
+onMounted(async() => {
   await getRegionList()
   if (regionList.length !== 0) {
     searchGuardBooth.parking_lot_id = regionList[0].ID
@@ -1094,12 +1193,14 @@ onMounted(async () => {
   width: 100%;
   height: 800px;
   background-color: #f5f5f5;
-  .regionTitle{
+
+  .regionTitle {
     width: 100%;
     height: 40px;
     display: flex;
     border-bottom: 1px solid;
     background-color: #b9b8b8;
+
     .regionTitle-text {
       width: 70%;
       height: 40px;
@@ -1107,6 +1208,7 @@ onMounted(async () => {
       align-items: center;
       padding-left: 10px;
     }
+
     .regionTitle-icon {
       width: 20%;
       height: 40px;