From 0e7404ca84d275ef39498b7a45063cd20b5e9633 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 12 三月 2024 18:28:41 +0800
Subject: [PATCH] 点位类型、点位监管部门

---
 src/views/system/video/index.vue    |    2 
 src/views/system/recovery/index.vue |    2 
 src/views/system/point/index.vue    |   10 +
 src/api/platform/contract.js        |   44 ++++
 src/views/system/contract/index.vue |  445 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/views/system/face/index.vue     |    2 
 src/views/system/car/index.vue      |    3 
 7 files changed, 507 insertions(+), 1 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/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 05ca375..100f98b 100644
--- a/src/views/system/point/index.vue
+++ b/src/views/system/point/index.vue
@@ -87,7 +87,15 @@
           <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="杩愮淮鍗曚綅" align="center" prop="unitId" />
+      <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">
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