From a206ac34469aa9e32d7bd36db783f15c2e9b90d6 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期三, 13 三月 2024 10:57:25 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/zgyw-ui

---
 src/views/system/video/index.vue    |    2 
 src/views/system/recovery/index.vue |    2 
 src/views/system/point/index.vue    |  150 +++++++++++--
 src/api/platform/contract.js        |   44 ++++
 src/views/system/contract/index.vue |  445 ++++++++++++++++++++++++++++++++++++++++
 src/api/platform/point.js           |   10 
 src/views/system/face/index.vue     |    2 
 src/views/system/car/index.vue      |    3 
 8 files changed, 631 insertions(+), 27 deletions(-)

diff --git a/src/api/platform/contract.js b/src/api/platform/contract.js
new file mode 100644
index 0000000..1ef129b
--- /dev/null
+++ b/src/api/platform/contract.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+export function listContract(query) {
+  return request({
+    url: '/system/contract/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戣缁�
+export function getContract(id) {
+  return request({
+    url: '/system/contract/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+export function addContract(data) {
+  return request({
+    url: '/system/contract',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+export function updateContract(data) {
+  return request({
+    url: '/system/contract',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+export function delContract(id) {
+  return request({
+    url: '/system/contract/' + id,
+    method: 'delete'
+  })
+}
diff --git a/src/api/platform/point.js b/src/api/platform/point.js
index b203118..67804eb 100644
--- a/src/api/platform/point.js
+++ b/src/api/platform/point.js
@@ -44,6 +44,16 @@
   })
 }
 
+// 鎵归噺淇敼杩愮淮鐐逛綅
+export function batchEdit(data) {
+  return request({
+    url: '/yw-point/batch',
+    method: 'put',
+    data: data
+  })
+}
+
+
 // 鍒犻櫎杩愮淮鐐逛綅
 export function delPoint(id) {
   return request({
diff --git a/src/views/system/car/index.vue b/src/views/system/car/index.vue
index b31648b..64c4527 100644
--- a/src/views/system/car/index.vue
+++ b/src/views/system/car/index.vue
@@ -86,6 +86,7 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
       <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+      <el-table-column label="涓婃姤閮ㄩ棬" align="center" prop="deptName" />
       <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
       <template slot-scope="scope">
         <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
@@ -128,10 +129,12 @@
           <el-col :span="12">
             <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
             <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+            <el-form-item label="涓婃姤閮ㄩ棬锛�">{{ form.deptName }} </el-form-item>
             <el-form-item label="璁惧鐘舵�侊細">
               <div v-if="form.onState === 1">鍙敤</div>
               <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
             </el-form-item>
+
           </el-col>
           <el-col :span="24">
             <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
diff --git a/src/views/system/contract/index.vue b/src/views/system/contract/index.vue
new file mode 100644
index 0000000..8e6ce43
--- /dev/null
+++ b/src/views/system/contract/index.vue
@@ -0,0 +1,445 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="鍏徃鍚�" prop="companyName">
+        <el-input
+          v-model="queryParams.companyName"
+          placeholder="璇疯緭鍏ュ叕鍙稿悕"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName">
+        <el-input
+          v-model="queryParams.deptName"
+          placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:contract:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:contract:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:contract:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:contract:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+
+    <el-table
+      :data="tableData"
+      style="width: 100%">
+      <el-table-column type="expand">
+        <template slot-scope="props">
+          <el-form label-position="left" inline class="demo-table-expand">
+            <el-collapse v-model="activeNames" @change="handleChange">
+              <el-collapse-item title="瑙嗛骞冲潎鍦ㄧ嚎鐜�" name="1">
+                <div>鈮�98%锛氫笉鎵e垎</div>
+                <div>95%鈮よ棰戝钩鍧囧湪绾跨巼锛�98%锛氭墸5鍒�</div>
+                <div>90%鈮よ棰戝钩鍧囧湪绾跨巼锛�95%锛氭墸10鍒�</div>
+                <div>锛�90%锛氭墸20鍒嗭紝鑻ユ湁杩炵画涓ゆ鐪佸巺鑰冩牳鍦ㄧ嚎鐜囦綆浜�90%锛屾嫑鏍囦汉鏈夋潈瑙i櫎鍚堝悓銆�</div>
+              </el-collapse-item>
+              <el-collapse-item title="鍓嶇鎰熺煡婧愭不鐞嗗伐浣�" name="2">
+                <div>鏃堕挓鍚屾锛堣秴杩嚶�3绉掍负涓嶅悎鏍硷級24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺*0.1鍒�</div>
+                <div>OSD鏍囪瘑涓嶆弧瓒炽�奊AT 751-2008 瑙嗛鍥惧儚鏂囧瓧鏍囨敞瑙勮寖銆嬶紝24灏忔椂鍐呮湭淇鐨勶細鏍囨墸闄ょ浉鍏抽暅澶存暟閲�*0.1鍒�</div>
+                <div>鐢ㄦ埛鎶芥锛屼竴鏈轰竴妗f暟鎹」涓嶅悎鏍硷紙鎻愪緵铏氬亣鏁版嵁鎴栭敊璇暟鎹负涓嶅悎鏍硷級锛�24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺*0.1鍒�</div>
+              </el-collapse-item>
+              <el-collapse-item title="鍚庡彴绯荤粺鐨勪繚闅�" name="3">
+                <div>涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,瓒呭嚭72灏忔椂涓嶈冻144灏忔椂鐨勶紱鎵�1鍒�/12灏忔椂</div>
+                <div>涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,瓒呭嚭144灏忔椂浠ュ悗锛屾瘡瓒呭嚭12灏忔椂锛氭墸2鍒�/12灏忔椂</div>
+                <div>涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,鍚屼竴鍔熻兘妯″潡鐨勭浉鍚屾垨涓嶅悓璁惧绱涓�涓湀鍐呮晠闅滆秴杩�3娆★細鎵�1鍒�/娆�</div>
+                <div>鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,瓒呭嚭24灏忔椂涓嶈冻48灏忔椂鐨勶細鎵�3鍒�/12灏忔椂</div>
+                <div>鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,瓒呭嚭48灏忔椂浠ュ悗锛氭墸5鍒�/12灏忔椂</div>
+                <div>鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,鍚屼竴鍔熻兘妯″潡鐨勭浉鍚屾垨涓嶅悓璁惧绱涓�涓湀鍐呮晠闅滆秴杩�2娆★細鎵�3鍒�/娆�</div>
+              </el-collapse-item>
+              <el-collapse-item title="瀛樺偍鏁呴殰" name="4">
+                <div>鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鍦�24灏忔椂浠ュ唴鐨勶細鎵�0.5鍒�/灏忔椂</div>
+                <div>鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鍦�24灏忔椂浠ュ唴鐨勶細鎵�1鍒�/灏忔椂</div>
+                <div>鍥犺棰戞垨鑰呭浘鐗囦涪澶卞鑷撮噸瑕佹浜嬩欢涓嶈兘鍥炴斁鎴栨煡鐪�,鍚屼竴鐐逛綅瑙嗛鍥惧儚鍚屼竴妗堜欢涓嶇疮璁¤绠楋細鎵�2鍒�/娆�</div>
+              </el-collapse-item>
+              <el-collapse-item title="瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�" name="5">
+                <div>24灏忔椂鍚庢湭淇鐨勶細鎵�0.5鍒�*闀滃ご鏁伴噺</div>
+                <div>48灏忔椂鍚庢湭淇锛岀疮璁℃墸鍒嗭細鎵�1鍒�*闀滃ご鏁伴噺*澶�</div>
+              </el-collapse-item>
+              <el-collapse-item title="瀹夊叏绠$悊" name="6">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="杩愮淮鍛ㄦ湡鎬ф姤鍛�" name="7">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="寤虹珛鏁呴殰鐢虫姤鐑嚎鐢佃瘽" name="8">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="浜哄憳椹诲満鏈嶅姟" name="9">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="淇濋殰宸ヤ綔" name="10">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="杩愮淮淇濋殰鎯呭喌" name="11">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="绯荤粺鍙婅澶囦骇鍝佽川閲�" name="12">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="杩愮淮鍥㈤槦" name="13">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="璁惧绯荤粺鍗囩骇" name="14">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="娉勫瘑杩芥煡" name="15">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="瀹夊叏闃叉姢缁堢" name="16">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="鍙拌处鐧昏" name="17">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="寤虹珛鏁版嵁鐩戞祴缁存姢鏈哄埗" name="18">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="纭繚褰曞儚瀹屾暣锛屼笉瀹氭湡瀵规墍鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�" name="19">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="纭繚鍥剧墖瀹屾暣锛屼笉瀹氭湡瀵规墍鏈変汉鑴搞�佽溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�" name="20">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="瑙嗚璁$畻鐪佸巺楠岃瘉宸ヤ綔" name="21">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="鑷础甯傛櫤鎱у煄甯傚ぇ鏁版嵁涓績鏈烘埧" name="22">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="涓诲共閾捐矾锛�10G鍙婁互涓婏級鏁呴殰" name="23">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+              <el-collapse-item title="鑰冩牳缁撴灉搴旂敤瑙勫垯" name="24">
+                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
+                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
+              </el-collapse-item>
+            </el-collapse>
+          </el-form>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="鍏徃鍚�"
+        prop="companyName">
+      </el-table-column>
+      <el-table-column
+        label="閮ㄩ棬鍚嶇О"
+        prop="deptName">
+      </el-table-column>
+      <el-table-column
+        label="寮�濮嬫椂闂�"
+        prop="startTime">
+      </el-table-column>
+      <el-table-column
+        label="鎴嚦鏃堕棿"
+        prop="endTime">
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+          >鍒犻櫎</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀广�愯濉啓鍔熻兘鍚嶇О銆戝璇濇 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="鍏徃鍚�" prop="companyName">
+          <el-input v-model="form.companyName" placeholder="璇疯緭鍏ュ叕鍙稿悕" />
+        </el-form-item>
+        <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName">
+          <el-input v-model="form.deptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" />
+        </el-form-item>
+        <el-form-item label="鍚堝悓鏄庣粏" prop="detail">
+          <el-input v-model="form.detail" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listContract, getContract, delContract, addContract, updateContract } from "@/api/platform/contract";
+
+export default {
+  name: "Contract",
+  data() {
+    return {
+      activeNames: ['1'],
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 銆愯濉啓鍔熻兘鍚嶇О銆戣〃鏍兼暟鎹�
+      contractList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        companyId: null,
+        companyName: null,
+        deptId: null,
+        deptName: null,
+        detail: null
+      },
+      tableData: [{
+        id: '12987122',
+        companyName: '杩愮淮鍏徃鐢�',
+        deptName: '鑷础瀵岄『鍏畨灞�',
+        startTime: '2023-12-11 10:20:20',
+        endTime: '2024-12-11 10:20:20',
+        shop: '鐜嬪皬铏庡か濡诲簵',
+        shopId: '10333'
+      }, {
+        id: '12987123',
+        companyName: '杩愮淮鍏徃涔�',
+        deptName: '鑷础澶у畨鍏畨灞�',
+        startTime: '2023-12-11 10:20:20',
+        endTime: '2023-12-11 10:20:20',
+        shop: '鐜嬪皬铏庡か濡诲簵',
+        shopId: '10333'
+      }, {
+        id: '12987125',
+        companyName: '杩愮淮鍏徃涓�',
+        deptName: '鑷础鑷祦浜曞叕瀹夊眬',
+        startTime: '2023-12-11 10:20:20',
+        endTime: '2023-12-11 10:20:20',
+        shop: '鐜嬪皬铏庡か濡诲簵',
+        shopId: '10333'
+      }],
+      // 琛ㄥ崟鍙傛暟
+      form: {
+
+
+      },
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        companyId: [
+          { required: true, message: "鍏徃id涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    handleChange(val) {
+      console.log(val);
+    },
+    /** 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛� */
+    getList() {
+      this.loading = true;
+      listContract(this.queryParams).then(response => {
+        this.contractList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        companyId: null,
+        companyName: null,
+        deptId: null,
+        deptName: null,
+        detail: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞銆愯濉啓鍔熻兘鍚嶇О銆�";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getContract(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼銆愯濉啓鍔熻兘鍚嶇О銆�";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateContract(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addContract(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆戠紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delContract(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('system/contract/export', {
+        ...this.queryParams
+      }, `contract_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+
+<style scoped>
+.demo-table-expand {
+  font-size: 0;
+}
+.demo-table-expand  .title{
+  width: 250px;
+  color: #99a9bf;
+}
+.demo-table-expand {
+  margin-right: 0;
+  margin-bottom: 0;
+  width: 100%;
+}
+
+
+</style>
diff --git a/src/views/system/face/index.vue b/src/views/system/face/index.vue
index d4a297e..9dfa69d 100644
--- a/src/views/system/face/index.vue
+++ b/src/views/system/face/index.vue
@@ -86,6 +86,7 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
       <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+      <el-table-column label="涓婃姤閮ㄩ棬" align="center" prop="deptName" />
       <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
       <template slot-scope="scope">
         <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
@@ -170,6 +171,7 @@
           <el-col :span="12">
             <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
             <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+            <el-form-item label="涓婃姤閮ㄩ棬锛�">{{ form.deptName }} </el-form-item>
             <el-form-item label="璁惧鐘舵�侊細">
               <div v-if="form.onState === 1">鍙敤</div>
               <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
diff --git a/src/views/system/point/index.vue b/src/views/system/point/index.vue
index d12157b..ad4b242 100644
--- a/src/views/system/point/index.vue
+++ b/src/views/system/point/index.vue
@@ -65,11 +65,19 @@
         <el-button
           type="warning"
           plain
-          icon="el-icon-download"
+          icon="el-icon-top"
           size="mini"
-          @click="handleExport"
-          v-hasPermi="['x:point:export']"
-        >瀵煎嚭</el-button>
+          @click="handleImportPoint"
+        >瀵煎叆鐐逛綅</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-receiving"
+          size="mini"
+          @click="handleEditBatch"
+        >鎵归噺淇敼</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -88,6 +96,14 @@
         </template>
       </el-table-column>
       <el-table-column label="杩愮淮鍗曚綅" align="center" prop="unitName" />
+      <el-table-column label="鐩戠閮ㄩ棬" align="center" prop="deptName" />
+      <el-table-column label="杩愮淮绫诲埆" align="center" prop="category">
+        <template slot-scope="scope">
+          <div v-if="scope.row.category === 1">瑙嗛鐩戞帶</div>
+          <div v-else-if="scope.row.category === 2">杞﹁締璇嗗埆</div>
+          <div v-else-if="scope.row.category === 3">浜鸿劯璇嗗埆</div>
+        </template>
+      </el-table-column>
       <el-table-column label="杩愮淮鐘舵��" align="center" prop="status" />
       <el-table-column label="澶囨敞" align="center" prop="remark" />
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
@@ -117,13 +133,30 @@
     />
 
     <!-- 娣诲姞杩愮淮鐐逛綅瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-form-item label="鐐逛綅鍚嶇О" prop="pointName">
           <el-input v-model="form.pointName" placeholder="璇疯緭鍏ョ偣浣嶅悕绉�" />
         </el-form-item>
+        <el-form-item label="鐐逛綅鎵�鍦ㄥ湴" prop="region">
+          <el-cascader v-model="form.region" :options="regionList" placeholder="鐐逛綅鎵�鍦ㄥ湴" :props="props" collapse-tags></el-cascader>
+        </el-form-item>
+        <el-form-item label="璁惧绫诲瀷" prop="category">
+          <el-select v-model="form.category"  placeholder="璁惧绫诲瀷">
+            <el-option label="浜鸿劯璇嗗埆" value="2"/>
+            <el-option label="瑙嗛鐩戞帶" value="1"/>
+            <el-option label="杞﹁締鐩戞帶" value="3"/>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鐩戠閮ㄩ棬" prop="category">
+          <el-select v-model="form.deptName"  placeholder="鐩戠閮ㄩ棬">
+            <el-option label="鐪佸巺" value="鐪佸巺"/>
+            <el-option label="鑷础鑽e幙鍏畨灞�" value="鑷础鑽e幙鍏畨灞�"/>
+            <el-option label="鑷础瀵岄『鍏畨灞�" value="鑷础瀵岄『鍏畨灞�"/>
+          </el-select>
+        </el-form-item>
         <el-form-item label="杩愮淮鍗曚綅" prop="unitId">
-          <el-select :disabled="title === '淇敼杩愮淮鐐逛綅'" v-model="form.unitId"  placeholder="杩愮淮鍗曚綅">
+          <el-select v-model="form.unitId"  placeholder="杩愮淮鍗曚綅">
             <el-option
               v-for="item in unitList"
               :key="item.id"
@@ -134,7 +167,6 @@
         </el-form-item>
         <el-form-item label="鐐逛綅鏃跺尯" prop="timezone">
           <el-date-picker
-            :disabled="title === '淇敼杩愮淮鐐逛綅'"
             @change="dateChange"
             v-model="form.timezone"
             type="daterange"
@@ -146,21 +178,6 @@
           >
           </el-date-picker>
         </el-form-item>
-        <el-form-item>
-          <div style="display: flex;flex-direction: row-reverse">
-            <el-button @click="nextAdd" type="primary" plain>娣诲姞鐐逛綅</el-button>
-          </div>
-        </el-form-item>
-        <el-row style="min-height: 200px;max-height: 400px; overflow-y: auto">
-          <el-col class="col-item" v-for="(point) in tempFormList" :span="8">
-            <div style="margin-right: 5px">
-              <el-cascader v-model="point.region" :options="regionList" placeholder="璇烽�夋嫨鍖哄煙" :show-all-levels="false"></el-cascader>
-            </div>
-            <div v-if="title === '淇敼杩愮淮鐐逛綅'">
-              <el-button @click="removeRegion(point)" type="danger" icon="el-icon-delete" circle></el-button>
-            </div>
-          </el-col>
-        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -168,11 +185,47 @@
       </div>
     </el-dialog>
 
+    <!-- 鎵归噺淇敼杩愮淮鍗曚綅 -->
+    <el-dialog title="鎵归噺淇敼杩愮淮鍗曚綅" :visible.sync="batchOpen" width="600px" append-to-body>
+      <el-form ref="form" :model="batchEditForm" :rules="batchRules" label-width="120px">
+        <el-form-item label="鐐逛綅閫夋嫨" prop="ids">
+          <el-cascader @change="cos" v-model="batchEditForm.ids" :options="regionList" placeholder="璇烽�夋嫨鍖哄煙" :props="props" collapse-tags></el-cascader>
+        </el-form-item>
+        <el-form-item label="杩愮淮鍗曚綅" prop="unitId">
+          <el-select v-model="batchEditForm.unitId"  placeholder="閫夋嫨杩愮淮鍗曚綅">
+            <el-option
+              v-for="item in unitList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="杩愮淮鏃堕棿娈�" prop="timezone">
+          <el-date-picker
+            @change="dateChange"
+            v-model="batchEditForm.timezone"
+            type="daterange"
+            align="right"
+            unlink-panels
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+          >
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitBatchEdit">纭� 瀹�</el-button>
+        <el-button @click="cancelBatchEdit">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
-import { listPoint, getPoint, delPoint, addPoint, addPointBatch, updatePoint } from "@/api/platform/point";
+import { listPoint, getPoint, delPoint, addPoint, batchEdit, updatePoint } from "@/api/platform/point";
 import { unitSelect } from "@/api/platform/unit";
 import { getCascader } from '../../../api/platform/region'
 
@@ -180,6 +233,17 @@
   name: "Point",
   data() {
     return {
+      // 鎵归噺淇敼琛ㄥ崟
+      batchEditForm: {
+        ids: [],
+        unitId: null,
+        timezone: null,
+        startTime: null,
+        endTime: null
+      },
+      // 鎵归噺淇敼寮圭獥
+      batchOpen: false,
+      props: { multiple: true },
       regionList: [],
       // 姝e湪淇敼绗嚑涓�
       editingIndex: null,
@@ -230,12 +294,21 @@
         pointName: [
           { required: true, message: "鐐逛綅鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
         ],
-        timezone: [
-          { required: true, message: "鐐逛綅鏃跺尯涓嶈兘涓虹┖", trigger: "blur" }
+        region: [
+          { required: true, message: "鐐逛綅鎵�鍦ㄥ湴涓嶈兘涓虹┖", trigger: "change" }
         ],
-        unitId: [
-          { required: true, message: "杩愮淮鍗曚綅涓嶈兘涓虹┖", trigger: "change" }
+        deptName: [
+          { required: true, message: "鐩戠閮ㄩ棬涓嶈兘涓虹┖", trigger: "change" }
         ],
+        category: [
+          { required: true, message: "璁惧绫诲瀷", trigger: "change" }
+        ],
+      },
+      // 鎵归噺琛ㄥ崟鏍¢獙
+      batchRules: {
+        ids: [
+          { required: true, message: "璇烽�夋嫨鐐逛綅", trigger: "change" }
+        ]
       }
     };
   },
@@ -245,6 +318,29 @@
     this.getCascader();
   },
   methods: {
+    // 鐐逛綅瀵煎叆
+    handleImportPoint() {
+
+    },
+    cos(value) {
+      console.log(value)
+    },
+    // 鎻愪氦鎵归噺淇敼
+    submitBatchEdit() {
+      this.batchEditForm.ids = this.batchEditForm.ids.map(array => array[array.length - 1]);
+      if (this.batchEditForm.timezone) {
+        this.batchEditForm.startTime = this.batchEditForm.timezone[0];
+        this.batchEditForm.endTime = this.batchEditForm.timezone[1];
+      }
+    },
+    // 鍙栨秷鎵归噺淇敼
+    cancelBatchEdit() {
+      this.batchOpen = false;
+    },
+    // 鎵归噺淇敼
+    handleEditBatch() {
+      this.batchOpen = true;
+    },
     removeRegion(item) {
       this.tempFormList = this.tempFormList.filter(data => data !== item)
     },
diff --git a/src/views/system/recovery/index.vue b/src/views/system/recovery/index.vue
index 628b3dd..9887f97 100644
--- a/src/views/system/recovery/index.vue
+++ b/src/views/system/recovery/index.vue
@@ -88,6 +88,7 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
       <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+      <el-table-column label="涓婃姤閮ㄩ棬" align="center" prop="deptName" />
       <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
       <template slot-scope="scope">
         <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
@@ -130,6 +131,7 @@
           <el-col :span="12">
             <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
             <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+            <el-form-item label="涓婃姤閮ㄩ棬锛�">{{ form.deptName }} </el-form-item>
             <el-form-item label="璁惧鐘舵�侊細">
               <div v-if="form.onState === 1">鍙敤</div>
               <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
diff --git a/src/views/system/video/index.vue b/src/views/system/video/index.vue
index 6f20107..c69255f 100644
--- a/src/views/system/video/index.vue
+++ b/src/views/system/video/index.vue
@@ -86,6 +86,7 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
       <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+      <el-table-column label="涓婃姤閮ㄩ棬" align="center" prop="deptName" />
       <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
       <template slot-scope="scope">
         <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
@@ -127,6 +128,7 @@
           <el-col :span="12">
             <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
             <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+            <el-form-item label="涓婃姤閮ㄩ棬锛�">{{ form.deptName }} </el-form-item>
             <el-form-item label="璁惧鐘舵�侊細">
               <div v-if="form.onState === 1">鍙敤</div>
               <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>

--
Gitblit v1.8.0