heyang лет назад: 2
Родитель
Сommit
b68759c8dd

+ 40 - 0
src/api/laboratory/subject.js

@@ -351,3 +351,43 @@ export function subjectVo(id) {
     method: 'get',
     method: 'get',
   })
   })
 }
 }
+
+//查询门禁授权列表
+export function getHaikangList(data) {
+  return request({
+    url: '/laboratory/haikang/user/subList',
+    method: 'post',
+    data: data
+  })
+}
+//查询实验室已授权列表
+export function getHaikangUserList(data) {
+  return request({
+    url: '/laboratory/haikang/user/userList',
+    method: 'post',
+    data: data
+  })
+}
+//查询门禁授权类型
+export function getHaikangQueryTypes(data) {
+  return request({
+    url: '/laboratory/haikang/user/queryTypes',
+    method: 'post',
+    data: data
+  })
+}
+//新增用户授权
+export function AddImpowerHaikang(data) {
+  return request({
+    url: '/laboratory/haikang/user/add',
+    method: 'post',
+    data: data
+  })
+}
+// 删除用户授权
+export function delUserHaikang(id) {
+  return request({
+    url: '/laboratory/haikang/user/' + id,
+    method: 'delete'
+  })
+}

+ 22 - 20
src/views/comprehensive/laboratoryManagement/accessAuthorization/authorizejinan.vue

@@ -23,12 +23,12 @@
               size="small"/>
               size="small"/>
           </el-form-item>
           </el-form-item>
           <el-form-item label="状态" prop="status" label-width="50px">
           <el-form-item label="状态" prop="status" label-width="50px">
-            <el-select v-model="queryParamsData.applyStatus" clearable placeholder="请选择状态">
+            <el-select v-model="queryParamsData.operate" clearable placeholder="请选择状态">
               <el-option
               <el-option
                 v-for="item in optionsListTwo"
                 v-for="item in optionsListTwo"
-                :key="item.id"
+                :key="item.code"
                 :label="item.name"
                 :label="item.name"
-                :value="item.id">
+                :value="item.code">
               </el-option>
               </el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
@@ -38,18 +38,18 @@
           </el-form-item>
           </el-form-item>
         </el-form>
         </el-form>
         <el-table v-loading="loading" border :data="tableList">
         <el-table v-loading="loading" border :data="tableList">
-          <el-table-column label="所属学院" align="center" prop="college" show-overflow-tooltip/>
-          <el-table-column label="实验室" align="center" prop="subjectName" show-overflow-tooltip/>
-          <el-table-column label="位置" align="center" prop="position" show-overflow-tooltip v-if="$store.state.settings.smartAlarmType == 1"/>
-          <el-table-column label="实验室负责人" align="center" prop="subjectName" show-overflow-tooltip/>
-          <el-table-column label="门禁" align="center" prop="subjectName" show-overflow-tooltip/>
-          <el-table-column label="授权人数" align="center" prop="safeUserName"  width="160px" show-overflow-tooltip/>
-          <el-table-column label="状态" align="center" prop="applyStatus" width="180px" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <span>{{scope.row.applyStatus==1?'在线':(scope.row.applyStatus==2?'离线':'')}}</span>
+          <el-table-column label="所属学院" align="left" prop="deptName" />
+          <el-table-column label="实验室" align="left" prop="subName" />
+          <el-table-column label="位置" align="left" prop="posi"  />
+          <el-table-column label="实验室负责人" align="left" prop="adminName" />
+          <el-table-column label="门禁" align="left" prop="hardName" />
+          <el-table-column label="授权人数" align="left" prop="available"  />
+          <el-table-column label="状态" align="left" prop="operate" >
+            <template slot-scope="scope" v-if="scope.row.operate">
+              <span>{{scope.row.operate.name}}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column label="操作" align="left" class-name="small-padding fixed-width" width="120">
+          <el-table-column label="操作" align="left" class-name="small-padding fixed-width">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div class="button-box">
               <div class="button-box">
                 <p class="table-min-button"
                 <p class="table-min-button"
@@ -57,7 +57,6 @@
                    @click="handleClick('',scope.row,'detail')"
                    @click="handleClick('',scope.row,'detail')"
                 >查看授权</p>
                 >查看授权</p>
               </div>
               </div>
-
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table>
         </el-table>
@@ -74,7 +73,7 @@
 </template>
 </template>
 
 
 <script>
 <script>
-  import { openDoorApplyList} from "@/api/laboratory/subject";
+import { getHaikangList } from '@/api/laboratory/subject'
   import lookImpower from "./lookImpower.vue";
   import lookImpower from "./lookImpower.vue";
   export default {
   export default {
     name: "authorize",
     name: "authorize",
@@ -89,6 +88,8 @@
         queryParamsData:{
         queryParamsData:{
           pageNum:1,
           pageNum:1,
           pageSize:20,
           pageSize:20,
+          searchValue:'',
+          operate:'',
         },
         },
         // 搜索实际发送数据
         // 搜索实际发送数据
         queryParams:{
         queryParams:{
@@ -99,7 +100,7 @@
         total:10,
         total:10,
         tableList:[{}],
         tableList:[{}],
         //审批状态
         //审批状态
-        optionsListTwo:[{id:'0',name:'全部'},{id:'1',name:'待审核'},{id:'2',name:'已驳回'},{id:'3',name:'已授权'}],
+        optionsListTwo:[{code:'',name:'全部'},{code:0,name:'离线'},{code:2,name:'在线'}],
         //详情
         //详情
         pageData:{},
         pageData:{},
       }
       }
@@ -108,14 +109,15 @@
 
 
     },
     },
     mounted(){
     mounted(){
-      //this.getList();
+      this.getList();
     },
     },
     methods:{
     methods:{
       handleClick(index,row,doType){
       handleClick(index,row,doType){
-        console.log(1)
         if(doType=='detail'){
         if(doType=='detail'){
-
           this.pageType=2
           this.pageType=2
+
+          this.pageData=row
+          console.log(this.pageData)
         }else if(doType=='back'){
         }else if(doType=='back'){
           this.pageType=1
           this.pageType=1
         }
         }
@@ -144,7 +146,7 @@
       //获取数据列表
       //获取数据列表
       getList(){
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        openDoorApplyList(this.queryParamsData).then(response => {
+        getHaikangList(this.queryParamsData).then(response => {
           this.tableList = response.rows;
           this.tableList = response.rows;
           this.total = response.total
           this.total = response.total
         });
         });

+ 133 - 58
src/views/comprehensive/laboratoryManagement/accessAuthorization/lookImpower.vue

@@ -17,9 +17,9 @@
           />
           />
         </el-form-item>
         </el-form-item>
         <el-form-item label="类别" prop="zgType" label-width="80px">
         <el-form-item label="类别" prop="zgType" label-width="80px">
-          <el-select v-model="queryParams.status" placeholder="请选择" clearable size="small">
-            <el-option label="学生" value="0" />
-            <el-option label="教师" value="1" />
+          <el-select v-model="queryParams.userType" placeholder="请选择" clearable size="small">
+            <el-option label="学生" value="11" />
+            <el-option label="教师" value="22" />
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="授权时间段" prop="dateRange" style="margin-left:10px;">
         <el-form-item label="授权时间段" prop="dateRange" style="margin-left:10px;">
@@ -55,17 +55,18 @@
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
       <el-table border v-loading="loading" :data="tableData">
       <el-table border v-loading="loading" :data="tableData">
-        <el-table-column label="所属单位" align="left" prop="companyName"/>
-        <el-table-column label="姓名" align="left" prop="companyShort"></el-table-column>
-        <el-table-column label="验证方式" align="left" prop="contacts"></el-table-column>
-        <el-table-column label="类别" align="left" prop="phone"></el-table-column>
-        <el-table-column label="授权时间" align="left" prop="peopleSum"></el-table-column>
-        <el-table-column label="授权人" align="left" prop="carSum"></el-table-column>
-        <el-table-column label="失效时间" align="left" prop="status">
+        <el-table-column label="所属单位" align="left" prop="deptName"/>
+        <el-table-column label="姓名" align="left" prop="nickName"></el-table-column>
+        <el-table-column label="验证方式" align="left" prop="verifyMode"></el-table-column>
+        <el-table-column label="类别" align="left" prop="userType"></el-table-column>
+        <el-table-column label="授权时间" align="left" prop="verifyTime"></el-table-column>
+        <el-table-column label="授权人" align="left" prop="verifyUser"></el-table-column>
+        <el-table-column label="失效时间" align="left" prop="invalidTime">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <el-date-picker
             <el-date-picker
               @change="switchChange(scope.row)"
               @change="switchChange(scope.row)"
-              v-model="scope.row.date+''"
+              v-model="scope.row.invalidTime"
+              value-format="yyyy-MM-dd"
               type="date"
               type="date"
               placeholder="请选择失效时间">
               placeholder="请选择失效时间">
             </el-date-picker>
             </el-date-picker>
@@ -129,7 +130,7 @@
         <i></i>
         <i></i>
         <i @click="toggleSelection()">清除选项</i>
         <i @click="toggleSelection()">清除选项</i>
       </div>
       </div>
-      <el-table ref="multipleTable" border tooltip-effect="dark" :row-key="getRowKeys" :data="dialogTable"
+      <el-table ref="multipleTable" :key="randomKey" border tooltip-effect="dark" :row-key="getRowKeys" :data="dialogTable"
                 highlight-current-row @selection-change="handleSelectionChange" style="cursor: pointer;height:500px;">
                 highlight-current-row @selection-change="handleSelectionChange" style="cursor: pointer;height:500px;">
         <el-table-column type="selection"  width="55" :reserve-selection="true" align="center"></el-table-column>
         <el-table-column type="selection"  width="55" :reserve-selection="true" align="center"></el-table-column>
         <el-table-column label="所属单位" align="left" prop="deptName"/>
         <el-table-column label="所属单位" align="left" prop="deptName"/>
@@ -137,22 +138,23 @@
         <el-table-column label="导师" align="left" prop="tutorUserName" v-if="userType==1"/>
         <el-table-column label="导师" align="left" prop="tutorUserName" v-if="userType==1"/>
         <el-table-column label="专业" align="left" prop="major" v-if="userType==1"/>
         <el-table-column label="专业" align="left" prop="major" v-if="userType==1"/>
         <el-table-column label="身份" align="left" prop="positionName" v-if="userType==2"/>
         <el-table-column label="身份" align="left" prop="positionName" v-if="userType==2"/>
-        <el-table-column label="验证方式" align="left" prop="status">
+        <el-table-column label="验证方式" align="left" prop="verifyMode">
           <template slot-scope="scope">
           <template slot-scope="scope">
-            <el-select v-model="scope.row.status" clearable >
+            <el-select v-model="scope.row.verifyMode" @change="verifyModeFun(scope.row,$event)" clearable >
               <el-option
               <el-option
                 v-for="item in verifyWayList"
                 v-for="item in verifyWayList"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id">
+                :key="item.key"
+                :label="item.value"
+                :value="item.key">
               </el-option>
               </el-option>
             </el-select>
             </el-select>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column label="失效时间" align="left" prop="status">
+        <el-table-column label="失效时间" align="left" prop="invalidTime">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <el-date-picker
             <el-date-picker
-              v-model="scope.row.date+''"
+              v-model="scope.row.invalidTime"
+              value-format="yyyy-MM-dd"
               type="date"
               type="date"
               placeholder="请选择失效时间">
               placeholder="请选择失效时间">
             </el-date-picker>
             </el-date-picker>
@@ -169,25 +171,26 @@
       <div class="configuration">
       <div class="configuration">
         <el-form  :model="configuration" ref="queryForm" :inline="true" v-if="unifyDeploy">
         <el-form  :model="configuration" ref="queryForm" :inline="true" v-if="unifyDeploy">
           <el-form-item label="验证方式:" prop="name">
           <el-form-item label="验证方式:" prop="name">
-            <el-select v-model="configuration.status" clearable >
+            <el-select v-model="configuration.verifyMode" clearable >
               <el-option
               <el-option
                 v-for="item in verifyWayList"
                 v-for="item in verifyWayList"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id">
+                :key="item.key"
+                :label="item.value"
+                :value="item.key">
               </el-option>
               </el-option>
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
           <el-form-item label="失效时间:" prop="name">
           <el-form-item label="失效时间:" prop="name">
             <el-date-picker
             <el-date-picker
-              v-model="configuration.state"
+              v-model="configuration.invalidTime"
+              value-format="yyyy-MM-dd"
               type="date"
               type="date"
               placeholder="请选择失效时间">
               placeholder="请选择失效时间">
             </el-date-picker>
             </el-date-picker>
           </el-form-item>
           </el-form-item>
         </el-form>
         </el-form>
         <p :class="unifyDeploy?'add-button-one-120':'inquire-button-one'"  @click="unifyDeployFun()">{{unifyDeploy?'取消统一配置':'统一配置'}}</p>
         <p :class="unifyDeploy?'add-button-one-120':'inquire-button-one'"  @click="unifyDeployFun()">{{unifyDeploy?'取消统一配置':'统一配置'}}</p>
-        <el-button class="color_ff back_one" @click="closeDialog(2)">确定</el-button>
+        <el-button class="color_ff back_one" @click="submitForm()">确定</el-button>
       </div>
       </div>
     </el-dialog>
     </el-dialog>
   </div>
   </div>
@@ -197,25 +200,33 @@
 import { supplierDelete, supplierList, supplierStop } from '@/api/gasManage3_0/gasManage'
 import { supplierDelete, supplierList, supplierStop } from '@/api/gasManage3_0/gasManage'
 import { listStudentUser, listTeacherUser } from '@/api/system/user_student'
 import { listStudentUser, listTeacherUser } from '@/api/system/user_student'
 import { listDepartments } from '@/api/system/dept'
 import { listDepartments } from '@/api/system/dept'
+import { AddImpowerHaikang, delUserHaikang, getHaikangQueryTypes, getHaikangUserList } from '@/api/laboratory/subject'
+import { gasManageAdd } from '@/api/gasManage3_0/gasManageSYD'
 
 
 export default {
 export default {
   name: "Approval",
   name: "Approval",
   components: {
   components: {
 
 
   },
   },
+  props:{
+    pageData:{},
+  },
   data() {
   data() {
     return {
     return {
+      randomKey:Math.random(),
       loading:false,
       loading:false,
       // 查询参数
       // 查询参数
       queryParams: {
       queryParams: {
         pageNum: 1,
         pageNum: 1,
         pageSize:20,
         pageSize:20,
-        name:'',
+        searchValue:'',
+        userType:'',
+        startTime:'',
+        endTime:'',
       },
       },
       total:0,
       total:0,
-      tableData:[{}],
+      tableData:[],
       dateRange:[],
       dateRange:[],
-      pageData:{},
       dialogForm:{
       dialogForm:{
         pageNum: 1,
         pageNum: 1,
         pageSize: 20,
         pageSize: 20,
@@ -226,37 +237,44 @@ export default {
       dialogVisible:false,
       dialogVisible:false,
       collegeOptions:[],//学院
       collegeOptions:[],//学院
       labWhiteJoinSubList:[],
       labWhiteJoinSubList:[],
-      dialogTable:[{name:''}],
-      radioList:[
-
-      ],
+      dialogTable:[],
+      radioList:[],
       userType:1,//判断是学生 1 教职工2
       userType:1,//判断是学生 1 教职工2
-      verifyWayList:[
-        {
-          id:'1',
-          name:'人脸',
-        },
-        {
-          id:'2',
-          name:'指纹',
-        },
-        {
-          id:'3',
-          name:'刷卡',
-        },
-        {
-          id:'4',
-          name:'密码',
-        },
-      ],
-      configuration:{},
+      verifyWayList:[],
+      configuration:{
+        invalidTime:'',
+        verifyMode:'',
+      },
       unifyDeploy:false,
       unifyDeploy:false,
+      form:{}
     };
     };
 
 
 
 
   },
   },
   methods: {
   methods: {
+      //弹出层表格里验证方式改变重新赋值
+      verifyModeFun(item,e){
+        item=e
+        //通过改变数组数据刷新视图
+        this.dialogTable.pop()
+      },
+    //获取当前日期
+      getdate() {
+        var date = new Date();
+        var seperator1 = "-";
+        var year = date.getFullYear();
+        var month = date.getMonth() + 1;
+        var strDate = date.getDate();
 
 
+        if (month >= 1 && month <= 9) {
+          month = "0" + month;
+        }
+        if (strDate >= 0 && strDate <= 9) {
+          strDate = "0" + strDate;
+        }
+        var currentdate = year + "-" + month + "-" + strDate;
+        return currentdate;
+      },
       //查询
       //查询
       onSearch() {
       onSearch() {
         this.dialogForm.pageNo = 1;
         this.dialogForm.pageNo = 1;
@@ -271,6 +289,10 @@ export default {
       //统一配置
       //统一配置
       unifyDeployFun(){
       unifyDeployFun(){
           this.unifyDeploy=!this.unifyDeploy
           this.unifyDeploy=!this.unifyDeploy
+          if(this.unifyDeploy==false){
+            this.configuration.invalidTime='';
+            this.configuration.verifyMode='';
+          }
       },
       },
       getRowKeys(row) {
       getRowKeys(row) {
         return row.userId;   //指定row-key的一个标识
         return row.userId;   //指定row-key的一个标识
@@ -316,12 +338,12 @@ export default {
         }else if(doType=='delete'){//删除
         }else if(doType=='delete'){//删除
           let _this=this
           let _this=this
           console.log(row)
           console.log(row)
-          this.$confirm('是否确认删除['+row.companyName+']门禁授权?', "警告", {
+          this.$confirm('是否确认删除['+row.nickName+']门禁授权?', "警告", {
             confirmButtonText: "确定",
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             cancelButtonText: "取消",
             type: "warning"
             type: "warning"
           }).then(function() {
           }).then(function() {
-            supplierDelete(row.id).then( response => {
+            delUserHaikang(row.id).then( response => {
               _this.msgSuccess("删除成功");
               _this.msgSuccess("删除成功");
               _this.getList();
               _this.getList();
             });
             });
@@ -337,7 +359,7 @@ export default {
           this.collegeOptions = response.data;
           this.collegeOptions = response.data;
         });
         });
       },
       },
-      /** 弹框查询学生列表 */
+      /** 弹框查询列表 */
       getUserList(type) {//type 1学生 2教职工
       getUserList(type) {//type 1学生 2教职工
         let _this=this;
         let _this=this;
         this.loading = true;
         this.loading = true;
@@ -346,6 +368,10 @@ export default {
               this.dialogTable = response.rows;
               this.dialogTable = response.rows;
               this.total = response.total;
               this.total = response.total;
               this.loading = false;
               this.loading = false;
+              this.dialogTable.forEach(function(item) {
+                  item.verifyMode='faceOrFpOrCardOrPw'
+                  item.invalidTime=_this.getdate()
+              })
             }
             }
           );
           );
         }else if(type==2){
         }else if(type==2){
@@ -353,12 +379,22 @@ export default {
               this.dialogTable = response.rows;
               this.dialogTable = response.rows;
               this.total = response.total;
               this.total = response.total;
               this.loading = false;
               this.loading = false;
+              this.dialogTable.forEach(function(item) {
+                item.verifyMode='faceOrFpOrCardOrPw'
+                item.invalidTime=_this.getdate()
+              })
             }
             }
           );
           );
 
 
         }
         }
-
-
+      },
+      /** 查询门禁授权类型 */
+      getHaikangQueryTypes(){
+        getHaikangQueryTypes().then(response => {
+          if(response.code==200){
+            this.verifyWayList=response.data
+          }
+        });
       },
       },
 
 
 
 
@@ -380,16 +416,55 @@ export default {
       },
       },
       getList(){
       getList(){
         let _this=this;
         let _this=this;
-        supplierList(_this.queryParams).then( response => {
+        if(this.dateRange&&this.dateRange.length>0) {
+          this.queryParams.startTime=this.dateRange[0]
+          this.queryParams.endTime=this.dateRange[1]
+        } else {
+          this.queryParams.startTime=null;
+          this.queryParams.endTime=null
+        }
+        getHaikangUserList(_this.queryParams).then( response => {
           let res=response.rows;
           let res=response.rows;
           _this.tableData=res;
           _this.tableData=res;
           _this.total=response.total;
           _this.total=response.total;
         });
         });
       },
       },
+      /* 新增授权*/
+      submitForm(){
+        let _this=this;
+        let arr=[];
+        console.log(this.labWhiteJoinSubList)
+        if(this.labWhiteJoinSubList.length>0){
+          if(_this.configuration.invalidTime && _this.configuration.verifyMode){//统一配置
+            this.labWhiteJoinSubList.forEach(function(item){
+              arr.push({'invalidTime':_this.configuration.invalidTime,'userId':item.userId,'verifyMode':_this.configuration.verifyMode})
+            })
+          }else{
+            this.labWhiteJoinSubList.forEach(function(item){
+              arr.push({'invalidTime':item.invalidTime,'userId':item.userId,'verifyMode':item.verifyMode})
+            })
+          }
+          _this.form.detailList=arr;
+          _this.form.hardId=this.pageData.hardId
+          setTimeout(function () {
+            AddImpowerHaikang(_this.form).then(response => {
+              if(response.code==200){
+                this.msgSuccess("新增成功");
+              }
+            });
+          },100)
+        }else{
+          this.msgError("请先选择人员!");
+        }
+
+
+
+      },
   },
   },
   mounted() {
   mounted() {
+    console.log(this.pageData)
     this.listDepartments();
     this.listDepartments();
-
+    this.getHaikangQueryTypes()
     this.getList()
     this.getList()
   }
   }
 };
 };

+ 128 - 27
src/views/comprehensive/laboratoryManagement/subject/deviceListjinan.vue

@@ -24,36 +24,30 @@
     </div>
     </div>
     <div class="title-box">
     <div class="title-box">
       <p class="left-title">智能门禁</p>
       <p class="left-title">智能门禁</p>
-      <p class="right-button reset-button-one" @click="backPage">返回</p>
     </div>
     </div>
     <div class="for-max-box">
     <div class="for-max-box">
-      <div class="for-big-box" v-for="(item,index) in listCgq" :key="index">
-        <p class="for-title-p">{{item.type.name}}</p>
+      <div class="for-big-box" v-for="(item,index) in listHK" :key="index" style="width: 350px">
+        <p class="for-title-p">{{item.type.name}}-{{item.name}}</p>
         <div class="for-text-box">
         <div class="for-text-box">
           <p>门禁编号:</p>
           <p>门禁编号:</p>
-          <el-tooltip class="item" effect="dark" :content="item.gatewayId" placement="top">
-            <p>{{item.gatewayId}}</p>
-          </el-tooltip>
-        </div>
-        <div class="for-text-box">
-          <p>关联安全准入:</p>
-          <el-tooltip class="item" effect="dark" :content="item.gatewayId" placement="top">
-            <p>{{item.gatewayId}}</p>
+          <el-tooltip class="item" effect="dark" :content="item.hardwareNum" placement="top">
+            <p>{{item.hardwareNum}}</p>
           </el-tooltip>
           </el-tooltip>
         </div>
         </div>
         <div class="for-text-box">
         <div class="for-text-box">
-          <p>关联白名单:</p>
-          <el-tooltip class="item" effect="dark" :content="item.gatewayId" placement="top">
-            <p>{{item.gatewayId}}</p>
-          </el-tooltip>
+          <p>门禁授权:</p>
+          <el-checkbox-group v-model="item.controlScope.split(',')" style="margin-top: 6px" disabled>
+            <el-checkbox label="1" style="margin-right: 8px">关联安全准入</el-checkbox>
+            <el-checkbox label="2">关联白名单</el-checkbox>
+          </el-checkbox-group>
         </div>
         </div>
         <div class="for-button-box">
         <div class="for-button-box">
-          <p @click="editData('entrance',item)"><i class="el-icon-edit-outline"></i>编辑</p>
+          <p @click="editData('editEntrance',item)"><i class="el-icon-edit-outline"></i>编辑</p>
           <p></p>
           <p></p>
           <p @click="delEntrance(item)"><i class="el-icon-delete"></i>删除</p>
           <p @click="delEntrance(item)"><i class="el-icon-delete"></i>删除</p>
         </div>
         </div>
       </div>
       </div>
-      <p class="add-for-p" @click="addData('entrance')"><i class="el-icon-plus"></i>添加智能门禁</p>
+      <p class="add-for-p" @click="addData('addEntrance')" style="width: 350px;height: 158px;"><i class="el-icon-plus"></i>添加智能门禁</p>
     </div>
     </div>
     <div class="title-box">
     <div class="title-box">
       <p class="left-title">一体机</p>
       <p class="left-title">一体机</p>
@@ -211,11 +205,11 @@
                       maxlength="30" style="width:320px;"/>
                       maxlength="30" style="width:320px;"/>
           </el-form-item>
           </el-form-item>
         </div>
         </div>
-        <div v-if="upType == 'entrance'">
-          <el-form-item label="门禁编号" prop="name">
+        <div v-if="upType == 'addEntrance'||  upType=='editEntrance'">
+          <el-form-item label="门禁编号" prop="hardwareNum">
             <el-input
             <el-input
               style="width:320px;"
               style="width:320px;"
-              v-model="form.name"
+              v-model="form.hardwareNum"
               placeholder="请输入门禁编号"
               placeholder="请输入门禁编号"
               maxlength="30"
               maxlength="30"
               size="small"
               size="small"
@@ -230,10 +224,46 @@
               size="small"
               size="small"
             />
             />
           </el-form-item>
           </el-form-item>
+          <el-form-item label="IP" prop="ipAddress" >
+            <el-input
+              style="width:320px;"
+              v-model="form.ipAddress"
+              placeholder="请输入IP"
+              maxlength="30"
+              size="small"
+            />
+          </el-form-item>
+          <el-form-item label="端口" prop="port" >
+            <el-input
+              style="width:320px;"
+              v-model="form.port"
+              placeholder="请输入端口"
+              maxlength="30"
+              size="small"
+            />
+          </el-form-item>
+          <el-form-item label="设备管理证号" prop="harUser" >
+            <el-input
+              style="width:320px;"
+              v-model="form.harUser"
+              placeholder="请输入设备管理证号"
+              maxlength="30"
+              size="small"
+            />
+          </el-form-item>
+          <el-form-item label="设备管理密码" prop="harPsw" >
+            <el-input
+              style="width:320px;"
+              v-model="form.harPsw"
+              placeholder="请输入设备管理密码"
+              maxlength="30"
+              size="small"
+            />
+          </el-form-item>
           <el-form-item label="门禁权限" style="margin-bottom: 0">
           <el-form-item label="门禁权限" style="margin-bottom: 0">
-            <el-checkbox-group v-model="form.name">
-              <el-checkbox label="0" >关联安全准入</el-checkbox>
-              <el-checkbox label="1">关联白名单</el-checkbox>
+            <el-checkbox-group v-model="form.controlScope">
+              <el-checkbox label="1" >关联安全准入</el-checkbox>
+              <el-checkbox label="2">关联白名单</el-checkbox>
             </el-checkbox-group>
             </el-checkbox-group>
           </el-form-item>
           </el-form-item>
           <p style="margin:0 20px 0 104px;color: #FD2A2A;">关联之后申请安全准入或者白名单后自动授权门禁,不关联则需要单独授权门禁</p>
           <p style="margin:0 20px 0 104px;color: #FD2A2A;">关联之后申请安全准入或者白名单后自动授权门禁,不关联则需要单独授权门禁</p>
@@ -263,8 +293,9 @@ export default {
       listYtj:[],  //一体机
       listYtj:[],  //一体机
       listkzsb:[],
       listkzsb:[],
       listSpjk:[],   //摄像头
       listSpjk:[],   //摄像头
-      entranceList:[],//智能门禁
-      form:{},
+      listHK:[],//智能门禁
+      form:{
+      },
       // 表单校验
       // 表单校验
       rules: {
       rules: {
         name:[
         name:[
@@ -296,6 +327,24 @@ export default {
           { required: true, message: "请输入路由", trigger: "blur" },
           { required: true, message: "请输入路由", trigger: "blur" },
           { required: true, message: "请输入路由", validator: this.spaceJudgment, trigger: "blur" }
           { required: true, message: "请输入路由", validator: this.spaceJudgment, trigger: "blur" }
         ],
         ],
+        ipAddress: [
+          { required: true, message: "请输入IP", trigger: "blur" },
+          { required: true, message: "请输入IP", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+        port: [
+          { required: true, message: "请输入端口", trigger: "blur" },
+          { required: true, message: "请输入端口", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+
+        harUser: [
+          { required: true, message: "请输入设备管理证号", trigger: "blur" },
+          { required: true, message: "请输入设备管理证号", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+        harPsw: [
+          { required: true, message: "请输入设备管理密码", trigger: "blur" },
+          { required: true, message: "请输入设备管理密码", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+
       },
       },
       //提交类型
       //提交类型
       upType:"",
       upType:"",
@@ -343,6 +392,12 @@ export default {
           }else if(this.upType == 8){
           }else if(this.upType == 8){
             //编辑控制设备
             //编辑控制设备
             this.putHardwareThree();
             this.putHardwareThree();
+          }else if(this.upType == 'addEntrance'){
+            //新增智能门禁
+            this.addEntrance();
+          }else if(this.upType == 'editEntrance'){
+            //编辑智能门禁
+            this.editEntrance();
           }
           }
         }
         }
       });
       });
@@ -563,6 +618,44 @@ export default {
         //  取消
         //  取消
       });
       });
     },
     },
+    //新增智能门禁
+    addEntrance(){
+      let obj = {
+        type:10,
+        subjectId:this.subjectData.id,
+        hardwareNum:this.form.hardwareNum,
+        name:this.form.name,
+        ipAddress:this.form.ipAddress,
+        port:this.form.port,
+        harUser:this.form.harUser,
+        harPsw:this.form.harPsw,
+        controlScope:this.form.controlScope.join(','),
+      }
+      addHardware(obj).then(response => {
+        this.msgSuccess(response.msg)
+        this.addType = false;
+        this.listBySubjectId();
+      });
+    },
+    //编辑智能门禁
+    editEntrance(){
+      let obj = {
+        id:this.form.id,
+        hardwareNum:this.form.hardwareNum,
+        name:this.form.name,
+        ipAddress:this.form.ipAddress,
+        port:this.form.port,
+        harUser:this.form.harUser,
+        harPsw:this.form.harPsw,
+        controlScope:this.form.controlScope.join(','),
+        subjectId:this.subjectData.id
+      }
+      putHardware(obj).then(response => {
+        this.msgSuccess(response.msg)
+        this.addType = false;
+        this.listBySubjectId();
+      });
+    },
     //添加
     //添加
     addData(type){
     addData(type){
       // this.resetForm("form");
       // this.resetForm("form");
@@ -599,10 +692,16 @@ export default {
         this.$set(this,'form',{
         this.$set(this,'form',{
           hardwareNum:"",
           hardwareNum:"",
         });
         });
-      }else if(type == 'entrance'){
+      }else if(type == 'addEntrance'){
         this.title = '新增智能门禁';
         this.title = '新增智能门禁';
         this.$set(this,'form',{
         this.$set(this,'form',{
+          hardwareNum:"",
           name:"",
           name:"",
+          ipAddress:"",
+          port:"",
+          harUser:"",
+          harPsw:"",
+          controlScope:[],
         });
         });
       }
       }
       this.addType = true;
       this.addType = true;
@@ -626,9 +725,10 @@ export default {
       }else if(type == 8){
       }else if(type == 8){
         this.title = '编辑摄像头';
         this.title = '编辑摄像头';
         this.$set(this,'form',JSON.parse(JSON.stringify(row)));
         this.$set(this,'form',JSON.parse(JSON.stringify(row)));
-      }else if(type == 'entrance'){
+      }else if(type == 'editEntrance'){
         this.title = '编辑智能门禁';
         this.title = '编辑智能门禁';
         this.$set(this,'form',JSON.parse(JSON.stringify(row)));
         this.$set(this,'form',JSON.parse(JSON.stringify(row)));
+        this.form.controlScope=row.controlScope.split(',')
       }
       }
       this.addType = true;
       this.addType = true;
       this.upType = type;
       this.upType = type;
@@ -644,6 +744,7 @@ export default {
         this.$set(this,'listYtj',response.data.listYtj);
         this.$set(this,'listYtj',response.data.listYtj);
         this.$set(this,'listkzsb',response.data.listkzsb);
         this.$set(this,'listkzsb',response.data.listkzsb);
         this.$set(this,'listSpjk',response.data.listSpjk);
         this.$set(this,'listSpjk',response.data.listSpjk);
+        this.$set(this,'listHK',response.data.listHK);
       });
       });
     },
     },
     //返回上一页
     //返回上一页