dedsudiyu 2 роки тому
батько
коміт
e28f61a9b3
100 змінених файлів з 5915 додано та 5355 видалено
  1. 7 2
      .env.production
  2. 11 1
      src/App.vue
  3. 7 0
      src/api/laboratory/sensor.js
  4. 1 0
      src/api/laboratory/subject.js
  5. 7 1
      src/api/system/user.js
  6. 1 1
      src/components/UEditor/index.vue
  7. 2 1
      src/components/ZDcomponents/advancedSearch.vue
  8. 2 1
      src/main.js
  9. 1 1
      src/router/index.js
  10. 2 2
      src/utils/LodopFuncs.js
  11. 2 2
      src/utils/bigDataRequest.js
  12. 26 14
      src/utils/request.js
  13. 60 2
      src/utils/ruoyi.js
  14. 2 1
      src/utils/zipdownload.js
  15. 158 147
      src/views/codeHtml.vue
  16. 144 172
      src/views/comprehensive/laboratoryManagement/accessAuthorization/application.vue
  17. 147 198
      src/views/comprehensive/laboratoryManagement/accessAuthorization/authorize.vue
  18. 40 38
      src/views/comprehensive/laboratoryManagement/accessAuthorization/index.vue
  19. 2 2
      src/views/comprehensive/laboratoryManagement/accessAuthorization/lookImpower.vue
  20. 2 1
      src/views/comprehensive/laboratoryManagement/building/buildingDetails.vue
  21. 17 17
      src/views/comprehensive/laboratoryManagement/subject/addSubject.vue
  22. 206 12
      src/views/comprehensive/laboratoryManagement/subject/deviceList.vue
  23. 104 44
      src/views/comprehensive/laboratoryManagement/subject/index.vue
  24. 1 1
      src/views/comprehensive/laboratoryManagement/subject/infoPageOne.vue
  25. 1093 1063
      src/views/comprehensive/personnel/student/addPage.vue
  26. 2 2
      src/views/comprehensive/personnel/student/index.vue
  27. 1229 1205
      src/views/comprehensive/personnel/teacher/addPage.vue
  28. 1 1
      src/views/comprehensive/personnel/teacher/index.vue
  29. 1 1
      src/views/comprehensive/personnel/teacher/indexOne.vue
  30. 48 12
      src/views/comprehensive/system/publicConfig/basicsConfig.vue
  31. 49 13
      src/views/comprehensive/system/publicConfig/indexOne.vue
  32. 1 1
      src/views/comprehensive/system/user/index.vue
  33. 55 0
      src/views/demo.vue
  34. 5 5
      src/views/emergencyManagement/plan/index.vue
  35. 2 2
      src/views/gasManage3_0/manage/RFIDManage/RFIDManage.vue
  36. 1 1
      src/views/gasManage3_0/manage/infoRecord/abnormalRecordDetail.vue
  37. 1 1
      src/views/gasManage3_0/manage/infoRecord/detailsPage.vue
  38. 1 1
      src/views/gasManage3_0/manage/infoRecord/enterRecordDetail.vue
  39. 1 1
      src/views/gasManage3_0/manage/infoRecord/useRecordDetail.vue
  40. 2 2
      src/views/gasManage3_0/manage/labCenterPerson/labCenterPerson.vue
  41. 16 11
      src/views/gasManage3_0/manage/qualificationApply/qualificationApplyAdd.vue
  42. 1 1
      src/views/gasManage3_0/manage/qualificationApply/qualificationApplyDetail.vue
  43. 1 1
      src/views/gasManage3_0/manage/qualificationManage/qualificationManageCheck.vue
  44. 1 1
      src/views/gasManage3_0/manage/qualificationManage/qualificationManageDetail.vue
  45. 6 2
      src/views/gasManage3_0/manage/recognizerManage/recognizerManage.vue
  46. 1 1
      src/views/gasManage3_0/manage/useGas/useGasDetail.vue
  47. 1 1
      src/views/gasManage3_0/manage/useGasManage/useGasManageCheck.vue
  48. 1 1
      src/views/gasManage3_0/manage/useGasManage/useGasManageDetail.vue
  49. 15 11
      src/views/gasManage3_0/student/qualificationApply/qualificationApplyAdd.vue
  50. 1 1
      src/views/gasManage3_0/student/qualificationApply/qualificationApplyDetail.vue
  51. 1 1
      src/views/gasManage3_0/student/useGas/useGasDetail.vue
  52. 1 1
      src/views/gasManage_syd/manage/infoRecord/abnormalRecordDetail.vue
  53. 1 1
      src/views/gasManage_syd/manage/infoRecord/alarmRecord.vue
  54. 1 1
      src/views/gasManage_syd/manage/infoRecord/enterRecordDetail.vue
  55. 1 1
      src/views/gasManage_syd/manage/infoRecord/useRecordDetail.vue
  56. 2 2
      src/views/gasManage_syd/manage/useGasCheck/useGasCheckDetail.vue
  57. 1 1
      src/views/gasManage_syd/student/useGas/useGasDetail.vue
  58. 1 1
      src/views/gasManage_syd/student/useRecord/useRecordDetail.vue
  59. 137 2
      src/views/hazardManagement/hazard/addLaboratory.vue
  60. 1 1
      src/views/login.vue
  61. 1 1
      src/views/loginOne.vue
  62. 2 2
      src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/OutboundRecord/index.vue
  63. 3 3
      src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/warehousingRecord/index.vue
  64. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/alarmRecord/detailsPage.vue
  65. 3 3
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/CabinetManagement/operationRecord.vue
  66. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/index.vue
  67. 3 4
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/listPage.vue
  68. 6 6
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/msds/addPage.vue
  69. 2 1
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/approvalProcess/index.vue
  70. 10 6
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/approvalPage.vue
  71. 1 0
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/index.vue
  72. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/IntelligentTerminal/index.vue
  73. 398 414
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/SmartAccessControl/index.vue
  74. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/rfidIdentifier/index.vue
  75. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartAlarm/index.vue
  76. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartLocker/index.vue
  77. 2 2
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartLocker/operationRecord.vue
  78. 5 5
      src/views/medicUniversity-3_1/chemicalManagement/usageRecord/infoPage.vue
  79. 847 793
      src/views/mine/index.vue
  80. 2 2
      src/views/mine/indexOne.vue
  81. 25 10
      src/views/newEvacuationBigData.vue
  82. 1 1
      src/views/newEvacuationBigDataHome.vue
  83. 6 2
      src/views/oneKeyOutfire/planExecuteRecord/planExecuteRecordDetail.vue
  84. 1 1
      src/views/safetyEducationExam/safeLearning/el_course/coursePreview.vue
  85. 1 1
      src/views/safetyEducationExam/safeLearning/el_course/edit.vue
  86. 32 39
      src/views/safetyEducationExam/safeLearning/el_resources/index.vue
  87. 1 1
      src/views/safetyEducationExam/safeLearning/safeLearning/learning.vue
  88. 1 1
      src/views/safetyEducationExam/safeLearning/safe_book/index.vue
  89. 377 363
      src/views/secureAccess/approval/infoPage.vue
  90. 1 1
      src/views/secureAccess/approval_handle/addPage.vue
  91. 3 3
      src/views/secureAccess/approval_handle/infoPage.vue
  92. 522 507
      src/views/secureAccess/whitelist/addPage.vue
  93. 1 1
      src/views/securityCheck/checkOption/index.vue
  94. 1 1
      src/views/securityCheck/checkRecord/CheckRecordInfo.vue
  95. 1 1
      src/views/securityCheck/checkRecord/addCheck.vue
  96. 2 2
      src/views/securityCheck/checkRecord/unsubmittedInfo.vue
  97. 10 154
      src/views/securityCheck/release/checkRecordInfoPage.vue
  98. 1 1
      src/views/securityCheck/release/index.vue
  99. 2 2
      src/views/securityCheck/release/listPage.vue
  100. 0 0
      src/views/studentViews/chemicalManagement/studentChemicalInfo/index.vue

+ 7 - 2
.env.production

@@ -4,13 +4,18 @@ VUE_APP_TITLE = 实验室安全管理系统
 # 生产环境配置
 ENV = 'production'
 
-# ####################接口配置####################
+# ####################外网接口配置####################
 
 # 实验室安全管理系统/生产环境
 # VUE_APP_BASE_API = '192.168.2.3/labSystem'
 
 # 实验室安全管理系统/生产环境
 #VUE_APP_BASE_API = '10.20.10.7/labSystem'
-VUE_APP_BASE_API = 'lab.sxitdlc.com/labSystem/'
+VUE_APP_BASE_API = 'lab.sxitdlc.com/labAppTest'
 #VUE_APP_BASE_API = '192.168.1.88/labSystem'
 # VUE_APP_BASE_API = 'lab.sxitdlc.com/sudalabSystem'
+
+
+# ####################内网接口配置####################
+
+VUE_APP_BASE_LOCAL_API = '192.168.1.43/labSystem'

+ 11 - 1
src/App.vue

@@ -1,5 +1,6 @@
 <template>
-    <div id="app">
+    <div id="app" :class="$route.path == '/codeHtml'?'codeHtmlPage':''"
+         :style="$route.path == '/codeHtml'?'width:'+innerWidth+'px!important;height:'+innerHeight+'px!important;':''">
       <router-view />
     </div>
 </template>
@@ -7,6 +8,12 @@
 <script>
   export default  {
     name:  'App',
+    data(){
+      return{
+        innerHeight:window.innerHeight,
+        innerWidth:window.innerWidth,
+      }
+    },
     metaInfo() {
       return {
         title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
@@ -83,4 +90,7 @@
   .el-drawer__container,.el-dialog__wrapper,.el-message-box__wrapper{
     background: rgba(0,0,0,0.4);
   }
+  .codeHtmlPage{
+    transform: scale(1)!important;
+  }
 </style>

+ 7 - 0
src/api/laboratory/sensor.js

@@ -62,3 +62,10 @@ export function getSensorList() {
     method: 'get'
   })
 }
+// 预案管理页面 查询传感器下拉列表
+export function riskOptionSensor() {
+  return request({
+    url: '/laboratory/sensor/getSensorList',
+    method: 'get'
+  })
+}

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

@@ -397,6 +397,7 @@ export function viewWarnMessage(query) {
     method: 'get',
   })
 }
+
 /* 智能门禁----------------- */
 
 //查询门禁授权列表

+ 7 - 1
src/api/system/user.js

@@ -18,7 +18,13 @@ export function selectListUser(query) {
     params: query
   })
 }
-
+//指纹-查询用户指纹录取数量
+export const fingerprintQuantity  = (data) => {
+  return request({
+    url: `/laboratory/haikang/userFinger/queryCount/`+data,
+    method: 'GET',
+  })
+};
 // 查询教职工列表-下拉列表
 export function selectTeacherList(query) {
   return request({

+ 1 - 1
src/components/UEditor/index.vue

@@ -28,7 +28,7 @@
           // 上传文件接口(这个地址是我为了方便各位体验文件上传功能搭建的临时接口,请勿在生产环境使用!!!)
           // serverUrl: '//ueditor.szcloudplus.com/cos',
           // serverUrl: '//192.168.1.8:9300/exec',
-          serverUrl: '//'+process.env.VUE_APP_BASE_API+'/base/exec',
+          serverUrl: '//'+this.judgmentNetworkReturnAddress()+'/base/exec',
           // UEditor 资源文件的存放路径,如果你使用的是 vue-cli 生成的项目,通常不需要设置该选项,vue-ueditor-wrap 会自动处理常见的情况,如果需要特殊配置,参考下方的常见问题2
           UEDITOR_HOME_URL: './UEditor/'
         },

+ 2 - 1
src/components/ZDcomponents/advancedSearch.vue

@@ -92,7 +92,8 @@ searchClick(type,data){
         <p class="advanced-button" @click="stateSwitch">高级搜索</p>
       </el-form-item>
       <el-form-item style="float: right" v-for="item in searchData.buttonList" >
-        <p v-if="item.type == 1" class="inquire-button-one" v-hasPermi="item.hasPermi" style="width:120px;" @click="buttonClick(item.parameter)">{{item.name}}</p>
+        <p v-if="item.type == 1 && !item.hasPermi" class="inquire-button-one" style="width:120px;" @click="buttonClick(item.parameter)">{{item.name}}</p>
+        <p v-if="item.type == 1 && item.hasPermi" class="inquire-button-one" v-hasPermi="item.hasPermi" style="width:120px;" @click="buttonClick(item.parameter)">{{item.name}}</p>
         <div style="float: right;" v-if="item.type == 2">
           <el-dropdown @command="commandButton" v-hasPermi="item.hasPermi">
             <div class="form-dropdown-box">

+ 2 - 1
src/main.js

@@ -13,7 +13,7 @@ import store from './store'
 import router from './router'
 import directive from './directive' //directive
 import { download } from '@/utils/request'
-import { uploadUrl } from '@/utils/ruoyi'
+import { uploadUrl,judgmentNetworkReturnAddress } from '@/utils/ruoyi'
 import hasPermiDom from './directive/permission/hasPermiDom'
 
 import './assets/icons' // icon
@@ -65,6 +65,7 @@ Vue.prototype.spaceJudgment = spaceJudgment
 Vue.prototype.spaceJudgmentHTML = spaceJudgmentHTML
 Vue.prototype.isNum = isNum
 Vue.prototype.urlJudge = urlJudge
+Vue.prototype.judgmentNetworkReturnAddress = judgmentNetworkReturnAddress
 
 Vue.prototype.msgSuccess = function (msg) {
   this.$message({ showClose: true, message: msg, type: "success", offset:100 });

+ 1 - 1
src/router/index.js

@@ -51,7 +51,7 @@ export const constantRoutes = [
       */
       {
         path: '/demo',
-        component: (resolve) => require(['@/views/medicUniversity-3_1/chemicalManagement/alarmRecord/detailsPage'], resolve),
+        component: (resolve) => require(['@/views/demo'], resolve),
       },
     ]
   },

+ 2 - 2
src/utils/LodopFuncs.js

@@ -63,7 +63,7 @@ export function getLodop(oOBJECT,oEMBED){
         var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
         if (needCLodop()) {
             try{ LODOP=getCLodop();} catch(err) {};
-            if (!LODOP && document.readyState!=="complete") {alert("C-Lodop没准备好,请稍后再试!"); return;};
+            if (!LODOP && document.readyState!=="complete") {console.log("C-Lodop没准备好,请稍后再试!"); return;};
             if (!LODOP) {
                 // if (isIE) document.write(strCLodopInstall); else
                 // document.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML;
@@ -117,6 +117,6 @@ export function getLodop(oOBJECT,oEMBED){
 
         //===========================================================
         return LODOP;
-    } catch(err) {alert("getLodop出错:"+err);};
+    } catch(err) {console.log("getLodop出错:"+err);};
 };
 

+ 2 - 2
src/utils/bigDataRequest.js

@@ -4,7 +4,7 @@ import router from '@/router'
 import store from '@/store'
 import { getToken } from '@/utils/auth'
 import errorCode from '@/utils/errorCode'
-import { tansParams } from "@/utils/ruoyi";
+import { tansParams,judgmentNetworkReturnAddress } from "@/utils/ruoyi";
 
 //判定http或者https
 let urlText = window.location.href.split('://')[0]+'://';
@@ -24,7 +24,7 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
 const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分
-  baseURL: urlText+process.env.VUE_APP_BASE_API,
+  baseURL: urlText+judgmentNetworkReturnAddress(),
   // 超时
   timeout: 10000
 })

+ 26 - 14
src/utils/request.js

@@ -4,15 +4,17 @@ import router from '@/router'
 import store from '@/store'
 import { getToken } from '@/utils/auth'
 import errorCode from '@/utils/errorCode'
-import { tansParams } from "@/utils/ruoyi";
+import { tansParams,judgmentNetworkReturnAddress } from "@/utils/ruoyi";
 
 //判定http或者https
 let urlText = window.location.href.split('://')[0]+'://';
 
-
 //分锅器
 let potType = false;
 
+//弹窗状态开关
+let messageData = null;
+
 // 弹层数据
 let loadingInstance = {};
 let options = {
@@ -25,7 +27,7 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
 const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分
-  baseURL: urlText+process.env.VUE_APP_BASE_API,
+  baseURL: urlText+judgmentNetworkReturnAddress(),
   // 超时
   timeout: 10000
 })
@@ -114,11 +116,16 @@ service.interceptors.response.use(res => {
         path: '/403'
       })
     } else if (code === 500) {
-      Message({
-        message: msg,
-        type: 'error',
-        offset:100
-      })
+      if(!messageData){
+        messageData = Message({
+          message: msg,
+          type: 'error',
+          offset:100
+        })
+        setTimeout(function(){
+          messageData = null
+        },1000);
+      }
       return Promise.reject(new Error(msg))
     } else if (code == 303 || code == 530 || code == 503 || code == 504 || code == 205) {
       // 303-考试从定向   530-账号不存在   503-验证码错误  504特殊报错code 用于报错后需要返回code进行后续操作
@@ -158,12 +165,17 @@ service.interceptors.response.use(res => {
     else if (message.includes("Request failed with status code")) {
       message = "系统接口" + message.substr(message.length - 3) + "异常";
     }
-    Message({
-      message: message,
-      type: 'error',
-      duration: 5 * 1000,
-      offset:100
-    })
+    if(!messageData){
+      messageData = Message({
+        message: message,
+        type: 'error',
+        duration: 5 * 1000,
+        offset:100
+      })
+      setTimeout(function(){
+        messageData = null
+      },1000);
+    }
     return Promise.reject(error)
   }
 )

+ 60 - 2
src/utils/ruoyi.js

@@ -3,7 +3,65 @@
  * Copyright (c) 2019 ruoyi
  */
 
-const baseURL = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API
+// 判断当前用户网络 外网/内网 返回接口地址
+
+
+
+export function judgmentNetworkReturnAddress() {
+  /*判断是否是内网IP*/
+    // 获取当前页面url
+    var curPageUrl = window.location.href;
+    // console.log('curPageUrl-0  '+curPageUrl);
+
+    var reg1 = /(http|ftp|https|www):\/\//g;//去掉前缀
+    curPageUrl =curPageUrl.replace(reg1,'');
+    // console.log('curPageUrl-1  '+curPageUrl);
+
+    var reg2 = /\:+/g;//替换冒号为一点
+    curPageUrl =curPageUrl.replace(reg2,'.');
+    // console.log('curPageUrl-2  '+curPageUrl);
+
+    curPageUrl = curPageUrl.split('.');//通过一点来划分数组
+    // console.log(curPageUrl);
+
+
+    var ipAddress = curPageUrl[0]+'.'+curPageUrl[1]+'.'+curPageUrl[2]+'.'+curPageUrl[3];
+
+    var isInnerIp = false;//默认给定IP不是内网IP
+    var ipNum = getIpNum(ipAddress);
+    /**
+     * 私有IP:A类  10.0.0.0    -10.255.255.255
+     *       B类  172.16.0.0  -172.31.255.255
+     *       C类  192.168.0.0 -192.168.255.255
+     *       D类   127.0.0.0   -127.255.255.255(环回地址)
+     **/
+    var aBegin = getIpNum("10.0.0.0");
+    var aEnd = getIpNum("10.255.255.255");
+    var bBegin = getIpNum("172.16.0.0");
+    var bEnd = getIpNum("172.31.255.255");
+    var cBegin = getIpNum("192.168.0.0");
+    var cEnd = getIpNum("192.168.255.255");
+    var dBegin = getIpNum("127.0.0.0");
+    var dEnd = getIpNum("127.255.255.255");
+    isInnerIp = isInner(ipNum,aBegin,aEnd) || isInner(ipNum,bBegin,bEnd) || isInner(ipNum,cBegin,cEnd) || isInner(ipNum,dBegin,dEnd);
+    // console.log('是否是内网:'+isInnerIp);
+    return isInnerIp?process.env.VUE_APP_BASE_LOCAL_API:process.env.VUE_APP_BASE_API;
+  /*获取IP数*/
+  function getIpNum(ipAddress) {
+    var ip = ipAddress.split(".");
+    var a = parseInt(ip[0]);
+    var b = parseInt(ip[1]);
+    var c = parseInt(ip[2]);
+    var d = parseInt(ip[3]);
+    var ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;
+    return ipNum;
+  }
+  function isInner(userIp,begin,end){
+    return (userIp>=begin) && (userIp<=end);
+  }
+}
+
+const baseURL = window.location.href.split('://')[0]+'://' + judgmentNetworkReturnAddress()
 
 // 日期格式化
 export function parseTime(time, pattern) {
@@ -268,7 +326,7 @@ export function urlJudge(url) {
   //   let text =  window.location.href.split('://')[0]+'://' + url.split('://')[1]
   //   src = localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(btoa(unescape(encodeURIComponent(text))));
   // }else{
-  //   src = localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(btoa(unescape(encodeURIComponent(window.location.href.split('://')[0]+'://' +process.env.VUE_APP_BASE_API +'/admin/'+ url))));
+  //   src = localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(btoa(unescape(encodeURIComponent(window.location.href.split('://')[0]+'://' +judgmentNetworkReturnAddress() +'/admin/'+ url))));
   // }
   return location + url
 }

+ 2 - 1
src/utils/zipdownload.js

@@ -1,12 +1,13 @@
 import axios from 'axios'
 import { getToken } from '@/utils/auth'
+import { judgmentNetworkReturnAddress } from "@/utils/ruoyi";
 
 const mimeMap = {
   xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
   zip: 'application/zip'
 }
 
-const baseUrl = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API
+const baseUrl = window.location.href.split('://')[0]+'://' + judgmentNetworkReturnAddress()
 export function downLoadZip(str, filename) {
   var url = baseUrl + str
   axios({

+ 158 - 147
src/views/codeHtml.vue

@@ -85,147 +85,147 @@
       hazardLookUp(id){
         hazardLookUp(id).then( data => {
           this.text = unescape(data.data.content);
-          let list = this.text.split('font-size:');
-          let newText = "";
-          for (let i=0;i<list.length;i++){
-            if(
-              (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
-              (list[i][1] == 'p')&&
-              (list[i][2] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][0]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(1)
-              newText = newText + 'font-size:'+num+textNew;
-            }else if(
-              (list[i][0] == ' ')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == 'p')&&
-              (list[i][3] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][1]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(2)
-              newText = newText + 'font-size:'+num+textNew;
-            }else if(
-              (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == 'p')&&
-              (list[i][3] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][0]+list[i][1]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(2)
-              newText = newText + 'font-size:'+num+textNew;
-            }else if(
-              (list[i][0] == ' ')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
-              (list[i][3] == 'p')&&
-              (list[i][4] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][1]+list[i][2]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(3)
-              newText = newText + 'font-size:'+num+textNew;
-            }else if(
-              (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
-              (list[i][3] == 'p')&&
-              (list[i][4] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][0]+list[i][1]+list[i][2]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(3)
-              newText = newText + 'font-size:'+num+textNew;
-            }else if(
-              (list[i][0] == ' ')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
-              (list[i][3] == '0' || list[i][3] == '1' || list[i][3] == '2' || list[i][3] == '3' || list[i][3] == '4' || list[i][3] == '5' || list[i][3] == '6' || list[i][3] == '7' || list[i][3] == '8' || list[i][3] == '9')&&
-              (list[i][4] == 'p')&&
-              (list[i][5] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][1]+list[i][2]+list[i][3]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(4)
-              newText = newText + 'font-size:'+num+textNew;
-            }else{
-              newText = newText + list[i]
-            }
-          }
-          list = newText.split('line-height:');
-          newText = "";
-          for (let i=0;i<list.length;i++){
-            if(
-              (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
-              (list[i][1] == 'p')&&
-              (list[i][2] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][0]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(1)
-              newText = newText + 'line-height:'+num+textNew;
-            }else if(
-              (list[i][0] == ' ')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == 'p')&&
-              (list[i][3] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][1]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(2)
-              newText = newText + 'line-height:'+num+textNew;
-            }else if(
-              (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == 'p')&&
-              (list[i][3] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][0]+list[i][1]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(2)
-              newText = newText + 'line-height:'+num+textNew;
-            }else if(
-              (list[i][0] == ' ')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
-              (list[i][3] == 'p')&&
-              (list[i][4] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][1]+list[i][2]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(3)
-              newText = newText + 'line-height:'+num+textNew;
-            }else if(
-              (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
-              (list[i][3] == 'p')&&
-              (list[i][4] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][0]+list[i][1]+list[i][2]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(3)
-              newText = newText + 'line-height:'+num+textNew;
-            }else if(
-              (list[i][0] == ' ')&&
-              (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
-              (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
-              (list[i][3] == '0' || list[i][3] == '1' || list[i][3] == '2' || list[i][3] == '3' || list[i][3] == '4' || list[i][3] == '5' || list[i][3] == '6' || list[i][3] == '7' || list[i][3] == '8' || list[i][3] == '9')&&
-              (list[i][4] == 'p')&&
-              (list[i][5] == 'x')
-            ){
-              let num = this.accMul(parseInt(list[i][1]+list[i][2]+list[i][3]),6);
-              num = num>140?140:num;
-              let textNew = list[i].slice(4)
-              newText = newText + 'line-height:'+num+textNew;
-            }else{
-              newText = newText + list[i]
-            }
-          }
-          this.$set(this,'text',newText);
+          // let list = this.text.split('font-size:');
+          // let newText = "";
+          // for (let i=0;i<list.length;i++){
+          //   if(
+          //     (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
+          //     (list[i][1] == 'p')&&
+          //     (list[i][2] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][0]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(1)
+          //     newText = newText + 'font-size:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == ' ')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == 'p')&&
+          //     (list[i][3] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][1]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(2)
+          //     newText = newText + 'font-size:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == 'p')&&
+          //     (list[i][3] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][0]+list[i][1]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(2)
+          //     newText = newText + 'font-size:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == ' ')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
+          //     (list[i][3] == 'p')&&
+          //     (list[i][4] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][1]+list[i][2]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(3)
+          //     newText = newText + 'font-size:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
+          //     (list[i][3] == 'p')&&
+          //     (list[i][4] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][0]+list[i][1]+list[i][2]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(3)
+          //     newText = newText + 'font-size:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == ' ')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
+          //     (list[i][3] == '0' || list[i][3] == '1' || list[i][3] == '2' || list[i][3] == '3' || list[i][3] == '4' || list[i][3] == '5' || list[i][3] == '6' || list[i][3] == '7' || list[i][3] == '8' || list[i][3] == '9')&&
+          //     (list[i][4] == 'p')&&
+          //     (list[i][5] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][1]+list[i][2]+list[i][3]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(4)
+          //     newText = newText + 'font-size:'+num+textNew;
+          //   }else{
+          //     newText = newText + list[i]
+          //   }
+          // }
+          // list = newText.split('line-height:');
+          // newText = "";
+          // for (let i=0;i<list.length;i++){
+          //   if(
+          //     (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
+          //     (list[i][1] == 'p')&&
+          //     (list[i][2] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][0]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(1)
+          //     newText = newText + 'line-height:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == ' ')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == 'p')&&
+          //     (list[i][3] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][1]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(2)
+          //     newText = newText + 'line-height:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == 'p')&&
+          //     (list[i][3] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][0]+list[i][1]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(2)
+          //     newText = newText + 'line-height:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == ' ')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
+          //     (list[i][3] == 'p')&&
+          //     (list[i][4] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][1]+list[i][2]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(3)
+          //     newText = newText + 'line-height:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == '0' || list[i][0] == '1' || list[i][0] == '2' || list[i][0] == '3' || list[i][0] == '4' || list[i][0] == '5' || list[i][0] == '6' || list[i][0] == '7' || list[i][0] == '8' || list[i][0] == '9')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
+          //     (list[i][3] == 'p')&&
+          //     (list[i][4] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][0]+list[i][1]+list[i][2]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(3)
+          //     newText = newText + 'line-height:'+num+textNew;
+          //   }else if(
+          //     (list[i][0] == ' ')&&
+          //     (list[i][1] == '0' || list[i][1] == '1' || list[i][1] == '2' || list[i][1] == '3' || list[i][1] == '4' || list[i][1] == '5' || list[i][1] == '6' || list[i][1] == '7' || list[i][1] == '8' || list[i][1] == '9')&&
+          //     (list[i][2] == '0' || list[i][2] == '1' || list[i][2] == '2' || list[i][2] == '3' || list[i][2] == '4' || list[i][2] == '5' || list[i][2] == '6' || list[i][2] == '7' || list[i][2] == '8' || list[i][2] == '9')&&
+          //     (list[i][3] == '0' || list[i][3] == '1' || list[i][3] == '2' || list[i][3] == '3' || list[i][3] == '4' || list[i][3] == '5' || list[i][3] == '6' || list[i][3] == '7' || list[i][3] == '8' || list[i][3] == '9')&&
+          //     (list[i][4] == 'p')&&
+          //     (list[i][5] == 'x')
+          //   ){
+          //     let num = this.accMul(parseInt(list[i][1]+list[i][2]+list[i][3]),6);
+          //     num = num>140?140:num;
+          //     let textNew = list[i].slice(4)
+          //     newText = newText + 'line-height:'+num+textNew;
+          //   }else{
+          //     newText = newText + list[i]
+          //   }
+          // }
+          // this.$set(this,'text',newText);
           this.loading = false;
         });
       },
@@ -265,15 +265,17 @@
 </script>
 <style lang="scss">
   #codeHtml{
-    font-size:80px;
     video{
-      width:1820px;
-      height:1050px;
-      margin:20px;
+      width:100%!important;
+      /*object-fit: fill;*/
+      height:100%!important;
+      /*display: block;*/
     }
     img{
-      width:1500px;
-      margin:20px 200px;
+      width:100%!important;
+      height:100%!important;
+      /*width:1500px;*/
+      /*margin:20px 200px;*/
     }
   }
 </style>
@@ -283,6 +285,11 @@
     overflow:hidden;
     display: flex;
     flex-direction: column;
+    font-size:16px;
+    *{
+      margin:0;
+      padding:0;
+    }
     .pdf-max-box{
       flex:1;
       overflow-y: scroll;
@@ -296,6 +303,10 @@
     }
     .w-e-text{
       flex:1;
+      overflow-x: hidden;
+      overflow-y: scroll;
+      padding:8px;
+      font-size:16px;
     }
     .w-e-text.table::-webkit-scrollbar{
       width: 4px;     /*高宽分别对应横竖滚动条的尺寸*/

+ 144 - 172
src/views/comprehensive/laboratoryManagement/accessAuthorization/application.vue

@@ -1,14 +1,14 @@
-<!--申请-->
+<!--授权日志-->
 <template>
   <div class="application">
     <div class="application-page" v-if="pageType == 1">
       <div class="title-box">
-        <div @click="titleClick">
+        <div @click="titleClick(1)">
           <p>门禁授权</p>
           <p></p>
         </div>
-        <div>
-          <p class="top-p-color">授权申请</p>
+        <div @click="titleClick(2)">
+          <p>授权日志</p>
           <p class="bottom-p-color"></p>
         </div>
       </div>
@@ -22,64 +22,37 @@
               clearable
               size="small"/>
           </el-form-item>
-          <el-form-item label="状态" prop="status" label-width="50px">
-            <el-select v-model="queryParamsData.status" clearable placeholder="请选择状态">
-              <el-option
-                v-for="item in optionsListTwo"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id">
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="申请时间" prop="subjectId" label-width="80px">
-            <el-date-picker
-              :clearable="false"
-              v-model="dateRange"
-              style="width: 240px;height:40px;"
-              value-format="yyyy-MM-dd"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-            ></el-date-picker>
-          </el-form-item>
-          <el-form-item style="float: right;">
-            <el-col :span="1.5">
-              <p class="inquire-button-one"
-                 style="width:100px;margin-right:0;"
-                 v-hasPermi="['smartlock:openDoorApply:add']"
-                 @click="goPageButton(2)"
-              >授权申请</p>
-            </el-col>
-          </el-form-item>
+          <!--          <el-form-item label="状态" prop="status" label-width="50px">-->
+          <!--            <el-select v-model="queryParamsData.operate" clearable placeholder="请选择状态">-->
+          <!--              <el-option-->
+          <!--                v-for="item in optionsListTwo"-->
+          <!--                :key="item.code"-->
+          <!--                :label="item.name"-->
+          <!--                :value="item.code">-->
+          <!--              </el-option>-->
+          <!--            </el-select>-->
+          <!--          </el-form-item>-->
           <el-form-item>
             <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
             <p class="reset-button-one" @click="resetQuery">重置</p>
           </el-form-item>
         </el-form>
         <el-table v-loading="loading" border :data="tableList">
-          <el-table-column label="申请时间" align="center" prop="creatTime" 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="college" show-overflow-tooltip/>
-          <el-table-column label="授权人" align="center" prop="safeUserName"  width="160px" show-overflow-tooltip/>
-          <el-table-column label="失效时间" align="center" prop="loseTime" width="160px" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <span>{{scope.row.loseTime!=1?scope.row.loseTime:''}}</span>
-            </template>
-          </el-table-column>
-          <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>
-            </template>
-          </el-table-column>
+          <el-table-column label="名称" align="center" prop="nickName" show-overflow-tooltip/>
+          <el-table-column label="类别" align="center" prop="userType" show-overflow-tooltip/>
+          <el-table-column label="门禁" align="center" prop="hardName" show-overflow-tooltip/>
+          <el-table-column label="实验室" align="center" prop="subName" show-overflow-tooltip/>
+          <el-table-column label="实验室所属学院" align="center" prop="deptName" show-overflow-tooltip/>
+          <el-table-column label="实验室位置" align="center" prop="posi"  width="160px" show-overflow-tooltip/>
+          <el-table-column label="操作内容" align="center" prop="remark"  width="160px" show-overflow-tooltip/>
+          <el-table-column label="操作时间" align="center" prop="createTime"  width="160px" show-overflow-tooltip/>
+          <el-table-column label="操作人" align="center" prop="createBy"  width="160px" show-overflow-tooltip/>
         </el-table>
         <pagination :page-sizes="[20, 30, 40, 50]"
                     v-show="total>0"
                     :total="total"
-                    :page.sync="queryParams.pageNum"
-                    :limit.sync="queryParams.pageSize"
+                    :page.sync="queryParamsData.pageNum"
+                    :limit.sync="queryParamsData.pageSize"
                     @pagination="getList"/>
       </div>
     </div>
@@ -88,146 +61,145 @@
 </template>
 
 <script>
-  import { applyList } from "@/api/laboratory/subject";
-  import addPage from "./addPage.vue";
-  export default {
-    name: "application",
-    components: {
-      addPage
+import { applyList, entranceUserLogList } from '@/api/laboratory/subject'
+import addPage from "./addPage.vue";
+export default {
+  name: "application",
+  components: {
+    addPage
+  },
+  data(){
+    return{
+      pageType:1,
+      // table操作按钮校验
+      tableButtonType:this.hasPermiDom(['system:user_student:query','system:user_student:query']),
+      loading:false,
+      // 搜索数据
+      queryParamsData:{
+        pageNum:1,
+        pageSize:20,
+        searchValue:'',
+        operate:'',
+      },
+      // 搜索实际发送数据
+      queryParams:{
+        pageNum:1,
+        pageSize:20,
+      },
+      dateRange:[],
+      //数据数量
+      total:10,
+      tableList:[],
+      //审批状态
+      optionsListTwo:[{code:null,name:'全部'},{code:0,name:'离线'},{code:2,name:'在线'}],
+    }
+  },
+  created() {
+
+  },
+  mounted(){
+    this.getList();
+  },
+  methods:{
+    titleClick(type){
+      this.$parent.titleClick(type);
     },
-    data(){
-      return{
-        pageType:1,
-        // table操作按钮校验
-        tableButtonType:this.hasPermiDom(['system:user_student:query','system:user_student:query']),
-        loading:false,
-        // 搜索数据
-        queryParamsData:{
-          pageNum:1,
-          pageSize:20,
-        },
-        // 搜索实际发送数据
-        queryParams:{
-          pageNum:1,
-          pageSize:20,
-        },
-        dateRange:[],
-        //数据数量
-        total:10,
-        tableList:[],
-        //审批状态
-        optionsListTwo:[{id:'1',name:'已授权'},{id:'2',name:'已失效'}]
+    //页面状态切换
+    goPageButton(type){
+      if(type == 1){
+        this.pageType = 1;
+      }else if(type == 2){
+        this.pageType = 2;
+      }else if(type == 3){
+        this.resetQuery();
+        this.pageType = 1;
       }
     },
-    created() {
-
-    },
-    mounted(){
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParamsData.pageNum = 1;
+      this.queryParamsData.pageSize = 20;
       this.getList();
     },
-    methods:{
-      titleClick(){
-        this.$parent.titleClick(1);
-      },
-      //页面状态切换
-      goPageButton(type){
-        if(type == 1){
-          this.pageType = 1;
-        }else if(type == 2){
-          this.pageType = 2;
-        }else if(type == 3){
-          this.resetQuery();
-          this.pageType = 1;
-        }
-      },
-      /** 搜索按钮操作 */
-      handleQuery() {
-        this.queryParamsData.pageNum = 1;
-        this.queryParamsData.pageSize = 20;
-        this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
-        this.getList();
-      },
-      /** 重置按钮操作 */
-      resetQuery() {
-        this.$set(this,'queryParamsData',{});
-        this.$set(this,'queryParams',{});
-        this.$set(this,'dateRange',[]);
-        this.handleQuery();
-      },
-      //获取数据列表
-      getList(){
-        this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        if(this.dateRange&&this.dateRange.length>0) {
-          this.queryParamsData.startTime = this.dateRange[0];
-          this.queryParamsData.endTime = this.dateRange[1];
-        } else {
-          this.queryParamsData.startTime = null;
-          this.queryParamsData.endTime = null;
-        }
-        applyList(this.queryParamsData).then(response => {
-          this.tableList = response.rows;
-          this.total = response.total
-        });
-      },
-    }
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.$set(this,'queryParamsData',{});
+      this.$set(this,'dateRange',[]);
+      this.handleQuery();
+    },
+    //获取数据列表
+    getList(){
+      if(this.dateRange&&this.dateRange.length>0) {
+        this.queryParamsData.startTime = this.dateRange[0];
+        this.queryParamsData.endTime = this.dateRange[1];
+      } else {
+        this.queryParamsData.startTime = null;
+        this.queryParamsData.endTime = null;
+      }
+      entranceUserLogList(this.queryParamsData).then(response => {
+        this.tableList = response.rows;
+        this.total = response.total
+      });
+    },
   }
+}
 </script>
 
 <style scoped lang="scss">
-  .application{
+.application{
+  flex:1;
+  display: flex;
+  flex-direction: column;
+  .application-page{
     flex:1;
     display: flex;
     flex-direction: column;
-    .application-page{
-      flex:1;
+    overflow: hidden;
+    .title-box{
       display: flex;
-      flex-direction: column;
-      overflow: hidden;
-      .title-box{
-        display: flex;
-        border-bottom:1px solid #E0E0E0;
-        margin-bottom:20px;
-        div{
-          height:80px;
-          margin-right:20px;
-          cursor: pointer;
-          p:nth-child(1){
-            font-size:18px;
-            text-align: center;
-            padding:0 20px;
-            margin-top:26px;
-          }
-          p:nth-child(2){
-            width:40px;
-            height:4px;
-            border-radius:40px;
-            margin:12px auto;
-          }
-          .top-p-color{
-            color: #0045AF;
-          }
-          .bottom-p-color{
-            background: #0045AF;
-          }
+      border-bottom:1px solid #E0E0E0;
+      margin-bottom:20px;
+      div{
+        height:80px;
+        margin-right:20px;
+        cursor: pointer;
+        p:nth-child(1){
+          font-size:18px;
+          text-align: center;
+          padding:0 20px;
+          margin-top:26px;
+        }
+        p:nth-child(2){
+          width:40px;
+          height:4px;
+          border-radius:40px;
+          margin:12px auto;
         }
-        .buttonTitleColorA{
-          color:#0045AF;
+        .top-p-color{
+          color: #0045AF;
         }
-        .buttonTitleColorB{
-          color:#999999;
+        .bottom-p-color{
+          background: #0045AF;
         }
       }
-      .application-min{
-        flex:1;
+      .buttonTitleColorA{
+        color:#0045AF;
+      }
+      .buttonTitleColorB{
+        color:#999999;
+      }
+    }
+    .application-min{
+      flex:1;
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
+      margin:0 20px!important;
+      .button-box{
         display: flex;
-        flex-direction: column;
-        overflow: hidden;
-        margin:0 20px!important;
-        .button-box{
-          display: flex;
-        }
       }
     }
   }
+}
 
 </style>

+ 147 - 198
src/views/comprehensive/laboratoryManagement/accessAuthorization/authorize.vue

@@ -1,4 +1,4 @@
-<!--授权-->
+<!--门禁授权-->
 <template>
   <div class="authorize">
     <div class="authorize-page" v-if="pageType == 1">
@@ -7,8 +7,8 @@
           <p class="top-p-color">门禁授权</p>
           <p class="bottom-p-color"></p>
         </div>
-        <div @click="titleClick">
-          <p>授权申请</p>
+        <div @click="titleClick(2)">
+          <p>授权日志</p>
           <p></p>
         </div>
       </div>
@@ -23,26 +23,21 @@
               size="small"/>
           </el-form-item>
           <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
                 v-for="item in optionsListTwo"
-                :key="item.id"
+                :key="item.code"
                 :label="item.name"
-                :value="item.id">
+                :value="item.code">
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="申请时间" prop="subjectId" label-width="80px">
-            <el-date-picker
-              :clearable="false"
-              v-model="dateRange"
-              style="width: 240px;height:40px;"
-              value-format="yyyy-MM-dd"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-            ></el-date-picker>
+          <el-form-item label="分类" prop="zgType" label-width="80px">
+            <el-select v-model="queryParamsData.leadAuditStaus" placeholder="请选择" clearable size="small">
+              <el-option label="全部" value="" />
+              <el-option label="授权验证成功" value="0" />
+              <el-option label="授权验证失败" value="1" />
+            </el-select>
           </el-form-item>
           <el-form-item>
             <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
@@ -50,34 +45,28 @@
           </el-form-item>
         </el-form>
         <el-table v-loading="loading" border :data="tableList">
-          <el-table-column label="申请时间" align="center" prop="creatTime" show-overflow-tooltip/>
-          <el-table-column label="申请人" align="center" prop="userName" show-overflow-tooltip/>
-          <el-table-column label="共同申请人" align="center" prop="userName2" 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="college" show-overflow-tooltip/>
-          <el-table-column label="授权人" align="center" prop="safeUserName"  width="160px" show-overflow-tooltip/>
-          <el-table-column label="失效时间" align="center" prop="approvalTime" width="160px" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <span>{{scope.row.loseTime!=1?scope.row.loseTime:''}}</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="failNum"  />
+          <el-table-column label="状态" align="left" prop="operate" >
+            <template slot-scope="scope" v-if="scope.row.operate">
+              <span>{{scope.row.operate.name}}</span>
             </template>
           </el-table-column>
-          <el-table-column label="状态" align="center" prop="applyStatus" width="180px" show-overflow-tooltip>
+          <el-table-column label="操作" align="left" class-name="small-padding fixed-width"  width="120">
             <template slot-scope="scope">
-              <span>{{scope.row.applyStatus==1?'已授权':(scope.row.applyStatus==2?'已失效':'')}}</span>
+              <div class="button-box">
+                <p class="table-min-button"
+                   v-hasPermi="['haikang:user:list']"
+                   @click="handleClick('',scope.row,'detail')"
+                >查看授权</p>
+              </div>
             </template>
           </el-table-column>
-          <!--<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="140" v-if="tableButtonType">-->
-            <!--<template slot-scope="scope">-->
-              <!--<div class="button-box">-->
-                <!--&lt;!&ndash;<p class="table-min-button"  @click="tableButtonClick(scope.row,1)">通过</p>&ndash;&gt;-->
-                <!--&lt;!&ndash;<p class="table-min-button"  @click="tableButtonClick(scope.row,2)">拒绝</p>&ndash;&gt;-->
-                <!--<p class="table-min-button" v-show="scope.row.applyStatus==1&&scope.row.safe" @click="tableButtonClick(scope.row,1)">通过</p>-->
-                <!--<p class="table-min-button" v-show="scope.row.applyStatus==1&&scope.row.safe" @click="tableButtonClick(scope.row,2)">拒绝</p>-->
-                <!--&lt;!&ndash;<p class="table-min-button" v-show="scope.row.applyStatus==2" @click="tableButtonClick(scope.row,3)">查看</p>&ndash;&gt;-->
-              <!--</div>-->
-            <!--</template>-->
-          <!--</el-table-column>-->
         </el-table>
         <pagination :page-sizes="[20, 30, 40, 50]"
                     v-show="total>0"
@@ -87,187 +76,147 @@
                     @pagination="getList"/>
       </div>
     </div>
-    <infoPage v-if="pageType == 2" :infoData="infoData"></infoPage>
+    <lookImpower v-if="pageType == 2" :pageData="pageData"></lookImpower>
   </div>
 </template>
 
 <script>
-  import { openDoorApplyList,postApproval,getOpenDoorApply } from "@/api/laboratory/subject";
-  import infoPage from "./infoPage.vue";
-  export default {
-    name: "authorize",
-    components: {
-      infoPage
-    },
-    data(){
-      return{
-        pageType:1,
-        // table操作按钮校验
-        tableButtonType:this.hasPermiDom(['system:user_student:query','system:user_student:query']),
-        loading:false,
-        // 搜索数据
-        queryParamsData:{
-          pageNum:1,
-          pageSize:20,
-        },
-        // 搜索实际发送数据
-        queryParams:{
-          pageNum:1,
-          pageSize:20,
-        },
-        dateRange:[],
-        //数据数量
-        total:10,
-        tableList:[],
-        //审批状态
-        optionsListTwo:[{id:'1',name:'已授权'},{id:'2',name:'已失效'}],
-        //详情
-        infoData:{},
+import { getHaikangList } from '@/api/laboratory/subject'
+import lookImpower from "./lookImpower.vue";
+export default {
+  name: "authorize",
+  components: {
+    lookImpower
+  },
+  data(){
+    return{
+      pageType:1,
+      loading:false,
+      // 搜索数据
+      queryParamsData:{
+        pageNum:1,
+        pageSize:20,
+        searchValue:'',
+        operate:'',
+      },
+      // 搜索实际发送数据
+      queryParams:{
+        pageNum:1,
+        pageSize:20,
+      },
+      //数据数量
+      total:10,
+      tableList:[{}],
+      //审批状态
+      optionsListTwo:[{code:null,name:'全部'},{code:0,name:'离线'},{code:2,name:'在线'}],
+      //详情
+      pageData:{},
+    }
+  },
+  created() {
+
+  },
+  mounted(){
+    this.getList();
+  },
+  methods:{
+    handleClick(index,row,doType){
+      if(doType=='detail'){
+        this.pageType=2
+
+        this.pageData=row
+        console.log(this.pageData)
+      }else if(doType=='back'){
+        this.pageType=1
       }
-    },
-    created() {
 
     },
-    mounted(){
+    //操作接口
+    goPageButton(){
+      this.pageType = 1;
+    },
+    titleClick(type){
+      this.$parent.titleClick(type);
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParamsData.pageNum = 1;
+      this.queryParamsData.pageSize = 20;
+      this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
       this.getList();
     },
-    methods:{
-      //操作接口
-      tableButtonClick(item,type){
-        if(type == 1){
-          this.$confirm('确认要通过审批吗?', "警告", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          }).then(() => {
-            let obj = {
-              applyId:item.id,
-              approvaStatus:'1',
-            }
-            postApproval(obj).then((response) => {
-              this.msgSuccess(response.msg)
-              this.getList();
-            });
-          }).catch(function() {
-            //  取消
-          });
-        }else if(type == 2){
-          this.$confirm('确认要拒绝审批吗?', "警告", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          }).then(() => {
-            let obj = {
-              applyId:item.id,
-              approvaStatus:'2',
-            };
-            postApproval(obj).then((response) => {
-              this.msgSuccess(response.msg);
-              this.getList();
-            });
-          }).catch(function() {
-            //  取消
-          });
-        } else if(type == 3){
-          getOpenDoorApply(item.id).then((response) => {
-            this.infoData  = response.data;
-            this.pageType = 2;
-          });
-        }
-      },
-      goPageButton(){
-        this.pageType = 1;
-      },
-      titleClick(){
-        this.$parent.titleClick(2);
-      },
-      /** 搜索按钮操作 */
-      handleQuery() {
-        this.queryParamsData.pageNum = 1;
-        this.queryParamsData.pageSize = 20;
-        this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
-        this.getList();
-      },
-      /** 重置按钮操作 */
-      resetQuery() {
-        this.$set(this,'queryParamsData',{});
-        this.$set(this,'queryParams',{});
-        this.$set(this,'dateRange',[]);
-        this.handleQuery();
-      },
-      //获取数据列表
-      getList(){
-        this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        if(this.dateRange&&this.dateRange.length>0) {
-          this.queryParamsData.startTime = this.dateRange[0];
-          this.queryParamsData.endTime = this.dateRange[1];
-        } else {
-          this.queryParamsData.startTime = null;
-          this.queryParamsData.endTime = null;
-        }
-        openDoorApplyList(this.queryParamsData).then(response => {
-          this.tableList = response.rows;
-          this.total = response.total
-        });
-      },
-    }
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.$set(this,'queryParamsData',{});
+      this.$set(this,'queryParams',{});
+      this.handleQuery();
+    },
+    //获取数据列表
+    getList(){
+      this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
+      getHaikangList(this.queryParamsData).then(response => {
+        this.tableList = response.rows;
+        this.total = response.total
+      });
+    },
   }
+}
 </script>
 
 <style scoped lang="scss">
-  .authorize{
+.authorize{
+  flex:1;
+  display: flex;
+  flex-direction: column;
+  .authorize-page{
     flex:1;
     display: flex;
     flex-direction: column;
-    .authorize-page{
-      flex:1;
+    overflow: hidden;
+    .title-box{
       display: flex;
-      flex-direction: column;
-      overflow: hidden;
-      .title-box{
-        display: flex;
-        border-bottom:1px solid #E0E0E0;
-        margin-bottom:20px;
-        div{
-          height:80px;
-          margin-right:20px;
-          cursor: pointer;
-          p:nth-child(1){
-            font-size:18px;
-            text-align: center;
-            padding:0 20px;
-            margin-top:26px;
-          }
-          p:nth-child(2){
-            width:40px;
-            height:4px;
-            border-radius:40px;
-            margin:12px auto;
-          }
-          .top-p-color{
-            color: #0045AF;
-          }
-          .bottom-p-color{
-            background: #0045AF;
-          }
+      border-bottom:1px solid #E0E0E0;
+      margin-bottom:20px;
+      div{
+        height:80px;
+        margin-right:20px;
+        cursor: pointer;
+        p:nth-child(1){
+          font-size:18px;
+          text-align: center;
+          padding:0 20px;
+          margin-top:26px;
+        }
+        p:nth-child(2){
+          width:40px;
+          height:4px;
+          border-radius:40px;
+          margin:12px auto;
         }
-        .buttonTitleColorA{
-          color:#0045AF;
+        .top-p-color{
+          color: #0045AF;
         }
-        .buttonTitleColorB{
-          color:#999999;
+        .bottom-p-color{
+          background: #0045AF;
         }
       }
-      .authorize-min{
-        flex:1;
+      .buttonTitleColorA{
+        color:#0045AF;
+      }
+      .buttonTitleColorB{
+        color:#999999;
+      }
+    }
+    .authorize-min{
+      flex:1;
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
+      margin:0 20px!important;
+      .button-box{
         display: flex;
-        flex-direction: column;
-        overflow: hidden;
-        margin:0 20px!important;
-        .button-box{
-          display: flex;
-        }
       }
     }
   }
+}
 </style>

+ 40 - 38
src/views/comprehensive/laboratoryManagement/accessAuthorization/index.vue

@@ -1,52 +1,54 @@
 <template>
-    <div class="app-container accessAuthorization">
-      <!--授权-->
-      <authorize v-if="pageType == 1"></authorize>
-      <!--申请-->
-      <application v-if="pageType == 2"></application>
-    </div>
+  <div class="app-container accessAuthorization">
+    <!--门禁授权-->
+    <authorize v-if="pageType == 1"></authorize>
+    <!--授权日志-->
+    <application v-if="pageType == 2"></application>
+  </div>
 </template>
 
 <script>
-  import authorize from "./authorize.vue";
-  import application from "./application.vue";
-  export default {
-    name: "index",
-    components: {
-      authorize,
-      application
-    },
-    data(){
-      return{
-        pageType:1,
-      }
-    },
-    created() {
+import authorize from "./authorize.vue";
+import application from "./application.vue";
+
+export default {
+  name: "index",
+  components: {
+    authorize,
+    application,
+  },
+  data() {
+    return {
+      pageType: 1,
+    }
+  },
+  created() {
 
-    },
-    mounted(){
+  },
+  mounted() {
 
-    },
-    methods:{
-      //选项卡切换
-      titleClick(type){
-        if(this.pageType != type){
-          this.pageType = type
-        }
+  },
+  methods: {
+    //选项卡切换
+    titleClick(type) {
+      if (this.pageType != type) {
+        this.pageType = type
       }
     }
   }
+}
 </script>
 
 <style scoped lang="scss">
-  .accessAuthorization{
-    flex:1;
-    display: flex!important;
-    flex-direction: column;
-    overflow: hidden;
-    *{
-      margin:0;
-      font-weight:500;
-    }
+.accessAuthorization {
+  flex: 1;
+  display: flex !important;
+  flex-direction: column;
+  overflow: hidden;
+
+  * {
+    margin: 0;
+    font-weight: 500;
   }
+}
 </style>

+ 2 - 2
src/views/comprehensive/laboratoryManagement/accessAuthorization/lookImpower.vue

@@ -27,8 +27,8 @@
         </el-table-column>
         <el-table-column label="授权状态" align="left" prop="isretry">
           <template slot-scope="scope">
-            <span v-if="scope.row.impowerStatus">成功</span>
-            <span v-if="!scope.row.impowerStatus">失败</span>
+            <span v-if="scope.row.state">成功</span>
+            <span v-if="!scope.row.state">失败</span>
           </template>
         </el-table-column>
         <el-table-column label="类别" align="left" prop="userType"></el-table-column>

+ 2 - 1
src/views/comprehensive/laboratoryManagement/building/buildingDetails.vue

@@ -58,8 +58,9 @@
                      :style="'line-height:'+(item.w>item.h?item.h-4:item.w-4)+'px;'"
                      @contextmenu="(contextmenu)=>boxRightClick(contextmenu,item,index)"
                      @mousedown.stop="(MouseEvent)=>dragDown(MouseEvent,index)">
-                  {{item.roomNum&&item.type == 1?item.roomNum:(!item.roomNum&&item.type == 1?'配置房间':'')}}
+                  {{item.roomNum&&item.type == 1?item.roomNum:(!item.roomNum&&item.type == 1?'右键配置':'')}}
                 </div>
+                <!--这里要改找志蔚-->
                 <p class="center-right-p"
                    @mousedown.stop="(MouseEvent)=>zoomDownX(MouseEvent,index,2)"></p>
               </div>

+ 17 - 17
src/views/comprehensive/laboratoryManagement/subject/addSubject.vue

@@ -74,16 +74,16 @@
           ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="详细位置" prop="layoutId" class="form-item">
-        <el-select v-model="form.layoutId"  placeholder="请选择详细位置" style="width:320px;">
-          <el-option
-            v-for="dict in layoutLists"
-            :key="dict.id"
-            :label="dict.room"
-            :value="dict.id"
-          ></el-option>
-        </el-select>
-      </el-form-item>
+      <!--<el-form-item label="详细位置" prop="layoutId" class="form-item">-->
+        <!--<el-select v-model="form.layoutId"  placeholder="请选择详细位置" style="width:320px;">-->
+          <!--<el-option-->
+            <!--v-for="dict in layoutLists"-->
+            <!--:key="dict.id"-->
+            <!--:label="dict.room"-->
+            <!--:value="dict.id"-->
+          <!--&gt;</el-option>-->
+        <!--</el-select>-->
+      <!--</el-form-item>-->
       <div class="title-box">
         <p class="left-title">安全信息牌</p>
       </div>
@@ -278,7 +278,7 @@
           this.$set(this.form,'deptId',this.subjectData.deptId)
           this.$set(this.form,'buildId',this.subjectData.buildId)
           this.$set(this.form,'floorId',this.subjectData.floorId)
-          this.$set(this.form,'layoutId',this.subjectData.layoutId)
+          // this.$set(this.form,'layoutId',this.subjectData.layoutId)
           this.$set(this.form,'moldId',this.subjectData.moldId)
           if(this.subjectData.adminId){
             this.$set(this.form,'adminId',this.subjectData.adminId)
@@ -325,9 +325,9 @@
             listFloorByBuildId(this.form.buildId).then(response=>{
               this.floors = response.data;
               //根据层获取实验室
-              onUselistLayoutByFloorIdTwo(this.form.floorId,this.form.layoutId).then(response=>{
-                this.layoutLists = response.data;
-              });
+              // onUselistLayoutByFloorIdTwo(this.form.floorId,this.form.layoutId).then(response=>{
+              //   this.layoutLists = response.data;
+              // });
             });
           });
         }
@@ -402,7 +402,7 @@
             this.buildings = [];
             this.$set(this.form, 'floorId', '');//楼层
             this.floors = [];
-            this.$set(this.form, 'layoutId', '');//房间
+            // this.$set(this.form, 'layoutId', '');//房间
             this.layoutLists = [];
             listbuildings(id).then(response => {
               this.buildings = response.data;
@@ -414,7 +414,7 @@
           if(id) {
             this.$set(this.form, 'floorId', '');//楼层
             this.floors = [];
-            this.$set(this.form, 'layoutId', '');//房间
+            // this.$set(this.form, 'layoutId', '');//房间
             this.layoutLists = [];
             listFloorByBuildId(id).then(response=>{
               this.floors = response.data;
@@ -424,7 +424,7 @@
         //查询布局信息
         getLayouts(id) {
           if(id) {
-            this.$set(this.form, 'layoutId', '');//房间
+            // this.$set(this.form, 'layoutId', '');//房间
             this.layoutLists = [];
             onUselistLayoutByFloorId(id).then(response=>{
               this.layoutLists = response.data;

+ 206 - 12
src/views/comprehensive/laboratoryManagement/subject/deviceList.vue

@@ -23,6 +23,33 @@
       <p class="add-for-p" @click="addData(1)"><i class="el-icon-plus"></i>添加传感器</p>
     </div>
     <div class="title-box">
+      <p class="left-title">智能门禁</p>
+    </div>
+    <div class="for-max-box">
+      <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">
+          <p>门禁编号:</p>
+          <el-tooltip class="item" effect="dark" :content="item.hardwareNum" placement="top">
+            <p>{{item.hardwareNum}}</p>
+          </el-tooltip>
+        </div>
+        <div class="for-text-box">
+          <p>门禁授权:</p>
+          <el-checkbox-group v-model="item.controlScope==null?[]: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 class="for-button-box">
+          <p @click="editData('editEntrance',item)"><i class="el-icon-edit-outline"></i>编辑</p>
+          <p></p>
+          <p @click="delEntrance(item)"><i class="el-icon-delete"></i>删除</p>
+        </div>
+      </div>
+      <p class="add-for-p" @click="addData('addEntrance')" style="width: 350px;height: 158px;" v-if="listHK.length<3"><i class="el-icon-plus"></i>添加智能门禁</p>
+    </div>
+    <div class="title-box">
       <p class="left-title">一体机</p>
     </div>
     <div class="for-max-box">
@@ -165,12 +192,6 @@
           <el-form-item label="设备路由" prop="bit">
             <el-input v-model="form.bit" oninput="value=value.replace(/[^0-9.]/g,'')" maxlength="2" placeholder="请输入路由" style="width:320px;"></el-input>
           </el-form-item>
-          <el-form-item label="是否灭火主机" prop="isPcfire">
-            <el-radio-group v-model="form.isPcfire">
-              <el-radio :label="0">否</el-radio>
-              <el-radio :label="1">是</el-radio>
-            </el-radio-group>
-          </el-form-item>
           <el-form-item label="设备参数" prop="configName" v-if="form.hardwareType == 2">
             <el-input v-model="form.configName" maxlength="30" placeholder="请输入设备参数" style="width:320px;"></el-input>
           </el-form-item>
@@ -184,6 +205,69 @@
                       maxlength="30" style="width:320px;"/>
           </el-form-item>
         </div>
+        <div v-if="upType == 'addEntrance'||  upType=='editEntrance'">
+          <el-form-item label="门禁编号" prop="hardwareNum">
+            <el-input
+              style="width:320px;"
+              v-model="form.hardwareNum"
+              placeholder="请输入门禁编号"
+              maxlength="20"
+              size="small"
+            />
+          </el-form-item>
+          <el-form-item label="门禁名称" prop="name" >
+            <el-input
+              style="width:320px;"
+              v-model="form.name"
+              placeholder="请输入门禁名称"
+              maxlength="8"
+              size="small"
+            />
+          </el-form-item>
+          <el-form-item label="IP" prop="ipAddress" >
+            <el-input
+              style="width:320px;"
+              v-model="form.ipAddress"
+              placeholder="请输入IP"
+              maxlength="15"
+              size="small"
+            />
+          </el-form-item>
+          <el-form-item label="端口" prop="port" >
+            <el-input
+              style="width:320px;"
+              v-model="form.port"
+              placeholder="请输入端口"
+              maxlength="6"
+              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-checkbox-group v-model="form.controlScope">
+              <el-checkbox label="1" >关联安全准入</el-checkbox>
+              <el-checkbox label="2">关联白名单</el-checkbox>
+            </el-checkbox-group>
+          </el-form-item>
+          <p style="margin:0 20px 0 104px;color: #FD2A2A;">关联之后申请安全准入或者白名单后自动授权门禁,不关联则需要单独授权门禁</p>
+        </div>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="cancel">取 消</el-button>
@@ -209,14 +293,14 @@ export default {
       listYtj:[],  //一体机
       listkzsb:[],
       listSpjk:[],   //摄像头
+      listHK:[],//智能门禁
       form:{
-
       },
       // 表单校验
       rules: {
         name:[
-          {required: true, message: '一体机名称不能为空', trigger: 'blur'},
-          { required: true, message: "一体机名称不能为空", validator: this.spaceJudgment, trigger: "blur" }
+          {required: true, message: '请输入名称', trigger: 'blur'},
+          { required: true, message: "请输入名称", validator: this.spaceJudgment, trigger: "blur" }
         ],
         type:[
           {required: true, message: '类型不能为空', trigger: 'blur'}
@@ -243,6 +327,24 @@ export default {
           { required: true, message: "请输入路由", 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:"",
@@ -290,10 +392,33 @@ export default {
           }else if(this.upType == 8){
             //编辑控制设备
             this.putHardwareThree();
+          }else if(this.upType == 'addEntrance'){
+            //新增智能门禁
+            this.addEntrance();
+          }else if(this.upType == 'editEntrance'){
+            //编辑智能门禁
+            this.editEntrance();
           }
         }
       });
     },
+    //删除智能门禁
+    delEntrance(item){
+      this.$confirm('确认要删除该智能门禁?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        //  确定
+        delHardware(item.id).then((response) => {
+          this.msgSuccess(response.msg)
+          this.addType = false;
+          this.listBySubjectId();
+        });
+      }).catch(function() {
+        //  取消
+      });
+    },
     //新增摄像头
     addHardwareThree(){
       let obj = {
@@ -346,7 +471,6 @@ export default {
       let obj = {
         type:this.form.type,
         hardwareType:this.form.hardwareType,
-        isPcfire:this.form.isPcfire,
         relayCode:this.form.relayCode,
         bit:this.form.bit,
         configName:this.form.configName,
@@ -366,7 +490,6 @@ export default {
       let obj = {
         id:this.form.id,
         hardwareType:this.form.hardwareType,
-        isPcfire:this.form.isPcfire,
         relayCode:this.form.relayCode,
         bit:this.form.bit,
         configName:this.form.configName,
@@ -495,6 +618,57 @@ export default {
         //  取消
       });
     },
+    //新增智能门禁
+    addEntrance(){
+      let obj = {
+        type:11,
+        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 => {
+        if(response.code==200){
+          this.msgSuccess(response.msg)
+          this.addType = false;
+          this.listBySubjectId();
+        }else if(response.code==205){
+          this.$confirm(response.msg, "警告", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(() => {
+            //  确定
+            this.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization-KDNH' });
+          }).catch(function() {
+            //  取消
+          });
+        }
+      });
+    },
+    //编辑智能门禁
+    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){
       // this.resetForm("form");
@@ -521,7 +695,6 @@ export default {
         this.$set(this,'form',{
           type:"",
           hardwareType:"",
-          isPcfire:0,
           relayCode:"",
           bit:"",
           configName:"",
@@ -532,6 +705,17 @@ export default {
         this.$set(this,'form',{
           hardwareNum:"",
         });
+      }else if(type == 'addEntrance'){
+        this.title = '新增智能门禁';
+        this.$set(this,'form',{
+          hardwareNum:"",
+          name:"",
+          ipAddress:"",
+          port:"",
+          harUser:"",
+          harPsw:"",
+          controlScope:[],
+        });
       }
       this.addType = true;
       this.upType = type;
@@ -554,6 +738,15 @@ export default {
       }else if(type == 8){
         this.title = '编辑摄像头';
         this.$set(this,'form',JSON.parse(JSON.stringify(row)));
+      }else if(type == 'editEntrance'){
+        this.title = '编辑智能门禁';
+        this.$set(this,'form',JSON.parse(JSON.stringify(row)));
+        if(row.controlScope){
+          this.form.controlScope=row.controlScope.split(',')
+        }else{
+          this.form.controlScope=[]
+        }
+
       }
       this.addType = true;
       this.upType = type;
@@ -569,6 +762,7 @@ export default {
         this.$set(this,'listYtj',response.data.listYtj);
         this.$set(this,'listkzsb',response.data.listkzsb);
         this.$set(this,'listSpjk',response.data.listSpjk);
+        this.$set(this,'listHK',response.data.listHK);
       });
     },
     //返回上一页

+ 104 - 44
src/views/comprehensive/laboratoryManagement/subject/index.vue

@@ -42,19 +42,12 @@
               </template>
             </el-table-column>
             <el-table-column label="实验室名称" align="left" prop="name" width="230" show-overflow-tooltip/>
-            <el-table-column label="位置" align="left" prop="name" width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{scope.row.buildName}}{{scope.row.floorName}}{{scope.row.room}}
-              </template>
-            </el-table-column>
-            <!--<el-table-column label="类型" align="left" prop="moldName" width="100" show-overflow-tooltip/>-->
-            <el-table-column label="安全分类" align="left" prop="typeName" width="100" show-overflow-tooltip/>
-            <el-table-column label="安全分级" align="left" prop="levelName" width="80" show-overflow-tooltip>
+            <el-table-column label="分类/分级" align="left" prop="levelName" width="120" show-overflow-tooltip>
               <template slot-scope="scope">
+                <span >{{scope.row.typeName}}/</span>
                 <span :style="'color:'+scope.row.fiedColor+';'">{{scope.row.levelName}}</span>
               </template>
             </el-table-column>
-            <el-table-column label="重大危险源辨识指标" align="left" prop="riskIndicator" width="150" show-overflow-tooltip/>
             <el-table-column label="学院" align="left" prop="deptName" width="150" show-overflow-tooltip/>
             <el-table-column label="实验室责任人" align="left" prop="adminName" width="120" show-overflow-tooltip/>
             <el-table-column label="安全责任人" align="left" prop="safeUserName" width="200" show-overflow-tooltip/>
@@ -91,6 +84,7 @@
             <div :class="rightButtonType == 2 ? 'buttonColorA' : 'buttonColorB'" @click="rightButtonClick(2)">物联控制</div>
             <div :class="rightButtonType == 3 ? 'buttonColorA' : 'buttonColorB'" @click="rightButtonClick(3)">视频监控</div>
             <div :class="rightButtonType == 4 ? 'buttonColorA' : 'buttonColorB'" @click="rightButtonClick(4)">智能声光报警器</div>
+            <div :class="rightButtonType == 5 ? 'buttonColorA' : 'buttonColorB'" @click="rightButtonClick(5)">智能门禁</div>
           </div>
           <!--传感器-->
           <div class="bottom-max-box" :class="rightButtonType == 4?'overflow-box':''">
@@ -99,7 +93,6 @@
               <div class="sensor-for-max-box" v-if="checkedSubject.sensorFunctionStatusList[0]">
                 <div class="sensor-for-big-box"
                      :class="item.type == 1 ? 'sensor-color-a' : (item.type == 2 ? 'sensor-color-b' : 'sensor-color-c')"
-                     v-if="item.funNum != 'huoyan'"
                      v-for="(item,index) in checkedSubject.sensorFunctionStatusList" :key="index">
                   <div class="sensor-for-min-box">
                     <img src="@/assets/ZDimages/subject/icon_bj_wd.png" v-if="item.funNum == 'wendu'">
@@ -135,9 +128,9 @@
             <div class="bottom-switch-box" v-if="rightButtonType == 2">
               <p class="top-title">当前位置:{{checkedSubject.subAddrr.buildName}}{{checkedSubject.subAddrr.floorName}}</p>
               <div class="switch-for-max-box" v-show="checkedSubject.labHardwareVOList" v-hasPermi="['laboratory:subcontrol:set']">
-                <div class="switch-for-big-box" v-for="(item,index) in checkedSubject.labHardwareVOList" :key="index" v-if="item.isPcfire != 1">
+                <div class="switch-for-big-box" v-for="(item,index) in checkedSubject.labHardwareVOList" :key="index">
                   <div class="switch-for-min-box" v-if="item.hardwareTypeEnum.enumName == 'SWITCH'">
-                    <p class="switch-for-min-title">{{item.hardwareName?item.hardwareName:item.hardwareTypeEnum.hardwareTypeName}}</p>
+                    <p class="switch-for-min-title">电源控制</p>
                     <el-switch
                       v-if="item.state.code == 3||item.state.code == 4"
                       class="switch"
@@ -152,9 +145,9 @@
                     <p class="switch-null-p" v-else>{{item.state.name}}</p>
                   </div>
                   <div class="switch-for-min-box" v-if="item.hardwareTypeEnum.enumName == 'AI_VENTILATION'">
-                    <p class="switch-for-min-title">{{item.hardwareName?item.hardwareName:item.hardwareTypeEnum.hardwareTypeName}}</p>
+                    <p class="switch-for-min-title">智能通风</p>
                     <el-switch
-                      v-if="(item.state.code == 3||item.state.code == 4) && item.pcType != 1"
+                      v-if="item.state.code == 3||item.state.code == 4"
                       class="switch"
                       @click.native="changeIsNeedCaptcha(item)"
                       v-model="item.state.code"
@@ -164,8 +157,7 @@
                       inactive-text="关"
                       disabled>
                     </el-switch>
-                    <p class="switch-null-p" v-if="(item.state.code != 3&&item.state.code != 4) && item.pcType != 1">{{item.state.name}}</p>
-                    <p class="switch-button-p" v-if="item.pcType == 1" @click="switchButton(item.id)">操作</p>
+                    <p class="switch-null-p" v-else>{{item.state.name}}</p>
                   </div>
                   <!--<div class="switch-for-min-box" v-if="item.hardwareTypeEnum.enumName == 'ONE_MACHINE'">-->
                   <!--<p class="switch-for-min-title">广播系统</p>-->
@@ -180,8 +172,7 @@
               <p class="top-title">当前位置:{{checkedSubject.subAddrr.buildName}}{{checkedSubject.subAddrr.floorName}}</p>
               <div class="video-for-max-box" v-if="checkedSubject.videoData[0]">
                 <div class="switch-for-big-box" v-for="(item,index) in checkedSubject.videoData" :key="index">
-                  <video :id="item.divId" ref="videoRef" autoplay controls :poster="videoCover"
-                         muted width="490px" height="262px"></video>
+                  <video :id="item.divId" ref="videoRef" autoplay controls  muted width="490px" height="262px"></video>
                   <p class="el-icon-full-screen position-p" @click="videoFullScreen(index)"></p>
                 </div>
               </div>
@@ -232,6 +223,19 @@
                 @pagination="getHxpAlarmRecordNoAuthList"
               />
             </div>
+            <div class="bottom-entrance-box" v-if="rightButtonType == 5">
+              <div class="entrance" v-for="(item,index) in entranceList" v-if="item.operate">
+                <p :class="item.operate.code==2?'entrance_l_yes':'entrance_l_no'">{{item.operate.code==2?'在线':'离线'}}</p>
+                <img class="entrance_c" v-if="item.operate.code==2" src="@/assets/ZDimages/icon_znmj_zx.png">
+                <img class="entrance_c" v-if="item.operate.code!=2"  src="@/assets/ZDimages/icon_znmj_lx.png">
+                <div class="entrance_r">
+                  <p>门禁名称:{{item.name}}</p>
+                  <p>门禁编号:{{item.hardwareNum}}</p>
+                </div>
+              </div>
+              <img class="null-data-img" src="@/assets/ZDimages/null-data.png" v-if="entranceList.length<=0">
+              <p class="null-text-p" v-if="entranceList.length<=0">暂无智能门禁信息,请在更多操作-物联设备配置中进行添加</p>
+            </div>
           </div>
         </div>
       </div>
@@ -272,7 +276,7 @@ import {
   updateSubject,
   mangerVoice,
   startUrl,
-  authListSubjectTow
+  queryHardByTypeList, getHaikangUserList
 } from '@/api/laboratory/subject'
 import { filterDept } from "@/api/medicUniversity-3_1/index";
 import addSubject from "./addSubject.vue";
@@ -281,7 +285,6 @@ import admissionConfiguration from "./admissionConfiguration.vue";
 import associationConfiguration from "./associationConfiguration.vue";
 import infoPage from "./infoPage.vue";
 import { getHxpAlarmRecordNoAuthList,getEnablelist } from "@/api/medicUniversity-3_1/index";
-import { controlSwitch } from "@/api/laboratory/hardware";
 export default {
   filters:{
     ellipsis(value){
@@ -302,7 +305,6 @@ export default {
   },
   data(){
     return{
-      videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
       pageType:1,
       // 遮罩层
       loading: true,
@@ -340,6 +342,19 @@ export default {
       subId:"",
       open:false,
       form:{},
+      //智能门禁
+      entranceList:[
+        {
+          status:1,
+          name:'门禁名称',
+          num:'XD12345678912'
+        },
+        {
+          status:0,
+          name:'门禁名称',
+          num:'XD12345678912'
+        }
+      ],
       rules:{
         txt:[
           {required: true, message: '请输入播放文字', trigger: 'blur'},
@@ -377,6 +392,7 @@ export default {
     this.getDeptList();
     // this.subscriptionMQTT();
     this.getList();
+    // this.queryHardByTypeList();
   },
   methods:{
     goAlarmRecord(){
@@ -384,20 +400,17 @@ export default {
         path: `/chemicalLibrary/alarmRecord`,
       })
     },
-    //通风橱开关
-    switchButton(id){
-      let self = this;
-      this.$confirm(`是否确认操作此设备`, "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(async () => {
-        controlSwitch({id:id}).then(response => {
-          self.msgSuccess(response.msg);
-        });
-      }).catch(() => {
-
-      })
+    //智能门禁
+    queryHardByTypeList(){
+      let _this=this;
+      let obj={
+        subjectId:'85',
+        type:'HK_DOOR',
+      }
+      queryHardByTypeList(obj).then( response => {
+        let res=response.data;
+        _this.entranceList=res;
+      });
     },
     //报警器开启关闭方法
     changeIsNeedCaptchaAlarm(row){
@@ -735,6 +748,8 @@ export default {
           }else{
             this.$set(this.checkedSubject,'videoData',[]);
           }
+        }else if(type==5){
+          this.queryHardByTypeList();
         }
       }
     },
@@ -842,7 +857,7 @@ export default {
     getList() {
       this.loading = true;
       // this.offMQTT();
-      authListSubjectTow(this.queryParams).then(response => {
+      authListSubject(this.queryParams).then(response => {
         this.subjectList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -903,7 +918,7 @@ export default {
           // console.log("MQTT----message",data)
           if(data.data.subId){
             //传感器
-            console.log("传感器",data);
+            // console.log("传感器",data.data.subId,'---------',data);
             if(self.checkedSubject.id){
               if(data.data.subId&&data.data.subId == self.checkedSubject.id){
                 self.$set(self.checkedSubject,'sensorFunctionStatusList',data.data.functionStatuses);
@@ -918,7 +933,7 @@ export default {
             }
           }else{
             //硬件
-            console.log("硬件",data);
+            // console.log("硬件",data);
             for (let i = 0; i < data.data.length; i++) {
               if (self.checkedSubject.labHardwareVOList) {
                 for (let k = 0; k < self.checkedSubject.labHardwareVOList.length; k++) {
@@ -1227,12 +1242,6 @@ export default {
                   line-height:58px;
                   color:#999;
                 }
-                .switch-button-p{
-                  font-size:16px;
-                  line-height:58px;
-                  color:#0183fa;
-                  cursor: pointer;
-                }
                 .switch-for-min-button{
                   width:70px;
                   height:30px;
@@ -1350,6 +1359,57 @@ export default {
             }
           }
         }
+        /*智能门禁*/
+        .bottom-entrance-box{
+          background: #fff;
+          width:510px;
+          border: 1px solid #E0E0E0;
+          border-radius: 0 10px 10px 10px;
+          .entrance{
+            display: flex;
+            justify-content: flex-start;
+            border: 1px solid #E0E0E0;
+            .entrance_l_yes{
+              width: 60px;
+              height: 30px;
+              background: rgba(1,131,250,0.2);
+              border-radius: 0px 0px 20px 0px;
+              font-size: 14px;
+              font-weight: 400;
+              color: #0183FA;
+              line-height: 30px;
+              text-align: center;
+            }
+            .entrance_l_no{
+              width: 60px;
+              height: 30px;
+              background: rgba(224,224,224,0.2);
+              border-radius: 0px 0px 20px 0px;
+              font-size: 14px;
+              font-weight: 400;
+              color: #666666;
+              line-height: 30px;
+              text-align: center;
+            }
+            .entrance_c{
+              width: 50px;
+              height: 50px;
+              margin: 20px 0 8px 44px;
+            }
+            .entrance_r{
+              margin-left: 30px;
+              >p{
+                font-size: 12px;
+                font-weight: 400;
+                color: #333333;
+                line-height: 20px;
+              }
+              >p:nth-of-type(1){
+                margin: 20px 0 10px 0;
+              }
+            }
+          }
+        }
         .null-data-img{
           width:137px;
           height:137px;

+ 1 - 1
src/views/comprehensive/laboratoryManagement/subject/infoPageOne.vue

@@ -19,7 +19,7 @@
               </div>
             </div>
             <div class="right-code-img" @click="clickCode">
-              <vue-qr style="display: block;height:60px;width:60px;cursor:pointer;margin:0 10px 0 0;" :text="newData.qrCode" :size="300" @click="clickCode"></vue-qr>
+              <vue-qr style="display: block;height:60px;width:60px;cursor:pointer;margin:0 10px 0 0;" :text="newData.qrCodeUrl" :size="300" @click="clickCode"></vue-qr>
             </div>
           </div>
           <div class="user-max-box">

Різницю між файлами не показано, бо вона завелика
+ 1093 - 1063
src/views/comprehensive/personnel/student/addPage.vue


+ 2 - 2
src/views/comprehensive/personnel/student/index.vue

@@ -230,7 +230,7 @@ export default {
     };
     return {
       tableButtonType:this.hasPermiDom(['system:user_student:query','system:user_student:query','system:user_student:edit','system:user_student:remove','system:user_student:resetpwd']),
-      uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/system/user/student/importData", // 上传地址
+      uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/system/user/student/importData", // 上传地址
       headers: {
         Authorization: "Bearer " + getToken(),
       },
@@ -287,7 +287,7 @@ export default {
         // 设置上传的请求头部
         headers: { Authorization: "Bearer " + getToken() },
         // 上传的地址
-        url: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/system/user/importData"
+        url: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/system/user/importData"
       },
       // 查询参数
       queryParams: {

Різницю між файлами не показано, бо вона завелика
+ 1229 - 1205
src/views/comprehensive/personnel/teacher/addPage.vue


+ 1 - 1
src/views/comprehensive/personnel/teacher/index.vue

@@ -381,7 +381,7 @@
     data() {
       return {
         tableButtonType:this.hasPermiDom(['system:user_teacher:query','system:user_teacher:query','system:user_teacher:edit','system:user_teacher:remove','system:user_teacher:resetpwd']),
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/system/user/teacher/importData", // 上传地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/system/user/teacher/importData", // 上传地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 1 - 1
src/views/comprehensive/personnel/teacher/indexOne.vue

@@ -380,7 +380,7 @@
     data() {
       return {
         tableButtonType:this.hasPermiDom(['system:user_teacher:query','system:user_teacher:query','system:user_teacher:edit','system:user_teacher:remove','system:user_teacher:resetpwd']),
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/system/user/teacher/importData", // 上传地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/system/user/teacher/importData", // 上传地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 48 - 12
src/views/comprehensive/system/publicConfig/basicsConfig.vue

@@ -19,14 +19,15 @@
             accept="image/jpeg,image/gif,image/png"
             :on-success="(res)=>handleAvatarSuccess(res,'circularLogo')"
             :headers="headers"
-            :before-upload="beforeAvatarUpload">
-            <img v-if="form.circularLogo" :src="form.circularLogo" class="avatar" style="height:80px;width:80px;border-radius: 40px;">
+            :before-upload="(file)=>beforeAvatarUpload(file,'1')">
+            <img v-if="form.circularLogo" :src="form.circularLogo" class="avatar" style="height:200px;width:200px;background: #dedede;padding:5px;border-radius:4px;">
             <i v-if="!form.circularLogo" class="el-icon-plus avatar-uploader-icon" style="height:80px;width:80px;border-radius: 40px;line-height: 80px;">上传</i>
           </el-upload>
           <i v-if="form.circularLogo" class="el-icon-view" @click="lookImg(form.circularLogo)"
              style="position: absolute;top:0;right:0;z-index:999;border-radius:3px;cursor:pointer;width:20px;
             height:20px;line-height:20px;text-align: center;background: rgba(0,0,0,0.2);color:#fff;"></i>
         </el-form-item>
+        <p style="margin-left:160px;font-size:16px;color:#666;font-weight:500;">尺寸限制为200*200px,支持PNG格式</p>
       </div>
       <div class="form-max-box">
         <el-form-item label="长方形Logo:" prop="rectangleLogo">
@@ -37,14 +38,15 @@
             accept="image/jpeg,image/gif,image/png"
             :on-success="(res)=>handleAvatarSuccess(res,'rectangleLogo')"
             :headers="headers"
-            :before-upload="beforeAvatarUpload">
-            <img v-if="form.rectangleLogo" :src="form.rectangleLogo" class="avatar">
+            :before-upload="(file)=>beforeAvatarUpload(file,'2')">
+            <img v-if="form.rectangleLogo" :src="form.rectangleLogo" class="avatar" style="height:110px;width:500px;background: #dedede;padding:5px;border-radius:4px;">
             <i v-if="!form.rectangleLogo" class="el-icon-plus avatar-uploader-icon">上传</i>
           </el-upload>
           <i v-if="form.rectangleLogo" class="el-icon-view" @click="lookImg(form.rectangleLogo)"
              style="position: absolute;top:0;right:0;z-index:999;border-radius:3px;cursor:pointer;width:20px;
             height:20px;line-height:20px;text-align: center;background: rgba(0,0,0,0.2);color:#fff;"></i>
         </el-form-item>
+        <p style="margin-left:160px;font-size:16px;color:#666;font-weight:500;">尺寸限制为110*500px,支持PNG格式</p>
       </div>
     </el-form>
     <div class="sub_btn">
@@ -139,16 +141,50 @@
         }
         this.$forceUpdate()
       },
-      beforeAvatarUpload(file) {
-        let type = false;
-        console.log('file',file);
-        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') {
-          type = true;
+      beforeAvatarUpload(file,type) {
+        if (file.type == 'image/png') {
+          this.asyncImgChecked(file,type).then(data => {
+            if (data.code == 200) {
+              return true;
+            } else if(data.code == 201){
+              this.$message.error('尺寸限制为200*200px,支持PNG格式')
+              return false;
+            } else if(data.code == 202){
+              this.$message.error('尺寸限制为110*500px,支持PNG格式')
+              return false;
+            }
+          })
         }else{
-          this.$message.error('只能上传png/jpeg/gif格式图片');
-          type = false;
+          this.$message.error('请上传PNG格式');
+          return false;
         }
-        return type;
+      },
+      // 计算图片尺寸
+      asyncImgChecked (file,type) {
+        return new Promise((resolve) => {
+          let reader = new FileReader()
+          reader.readAsDataURL(file) // 必须用file.raw
+          reader.onload = e => { // 让页面中的img标签的src指向读取的路径
+            let img = e.target.result;
+            const image = new Image()
+            image.src=img
+            image.onload = _=>{
+              if(type == '1'){
+                if(image.width == 200 && image.height == 200){
+                  resolve({code:200})
+                }else{
+                  resolve({code:201})
+                }
+              }else if(type == '2'){
+                if(image.width == 500 && image.height == 110){
+                  resolve({code:200})
+                }else{
+                  resolve({code:202})
+                }
+              }
+            }
+          }
+        })
       },
     },
   };

+ 49 - 13
src/views/comprehensive/system/publicConfig/indexOne.vue

@@ -20,14 +20,15 @@
             accept="image/jpeg,image/gif,image/png"
             :on-success="(res)=>handleAvatarSuccess(res,'circularLogo')"
             :headers="headers"
-            :before-upload="beforeAvatarUpload">
-            <img v-if="form.circularLogo" :src="form.circularLogo" class="avatar" style="height:80px;width:80px;">
+            :before-upload="(file)=>beforeAvatarUpload(file,'1')">
+            <img v-if="form.circularLogo" :src="form.circularLogo" class="avatar" style="height:200px;width:200px;background: #dedede;padding:5px;border-radius:4px;">
             <i v-if="!form.circularLogo" class="el-icon-plus avatar-uploader-icon"></i>
           </el-upload>
           <i v-if="form.circularLogo" class="el-icon-view" @click="lookImg(form.circularLogo)"
              style="position: absolute;top:0;right:0;z-index:999;border-radius:3px;cursor:pointer;width:20px;
             height:20px;line-height:20px;text-align: center;background: rgba(0,0,0,0.2);color:#fff;"></i>
         </el-form-item>
+        <p style="margin-left:160px;font-size:16px;color:#666;font-weight:500;">尺寸限制为200*200px,支持PNG格式</p>
         <el-form-item label="长方形Logo:" prop="rectangleLogo">
           <el-upload
             class="certificate-avatar-uploader"
@@ -36,14 +37,15 @@
             accept="image/jpeg,image/gif,image/png"
             :on-success="(res)=>handleAvatarSuccess(res,'rectangleLogo')"
             :headers="headers"
-            :before-upload="beforeAvatarUpload">
-            <img v-if="form.rectangleLogo" :src="form.rectangleLogo" class="avatar" style="height:80px;width:80px;">
+            :before-upload="(file)=>beforeAvatarUpload(file,'2')">
+            <img v-if="form.rectangleLogo" :src="form.rectangleLogo" class="avatar" style="height:110px;width:500px;background: #dedede;padding:5px;border-radius:4px;">
             <i v-if="!form.rectangleLogo" class="el-icon-plus avatar-uploader-icon"></i>
           </el-upload>
           <i v-if="form.rectangleLogo" class="el-icon-view" @click="lookImg(form.rectangleLogo)"
              style="position: absolute;top:0;right:0;z-index:999;border-radius:3px;cursor:pointer;width:20px;
             height:20px;line-height:20px;text-align: center;background: rgba(0,0,0,0.2);color:#fff;"></i>
         </el-form-item>
+        <p style="margin-left:160px;font-size:16px;color:#666;font-weight:500;">尺寸限制为110*500px,支持PNG格式</p>
       </div>
       <!--<div class="title-box">-->
         <!--<p>一体机</p>-->
@@ -207,7 +209,7 @@
     name: "publicConfig",
     data() {
       return {
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/file/upload", // 上传的图片服务器地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/file/upload", // 上传的图片服务器地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },
@@ -372,16 +374,50 @@
         }
         this.$forceUpdate()
       },
-      beforeAvatarUpload(file) {
-        let type = false;
-        console.log('file',file);
-        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') {
-          type = true;
+      beforeAvatarUpload(file,type) {
+        if (file.type == 'image/png') {
+          this.asyncImgChecked(file,type).then(data => {
+            if (data.code == 200) {
+              return true;
+            } else if(data.code == 201){
+              this.$message.error('尺寸限制为200*200px,支持PNG格式')
+              return false;
+            } else if(data.code == 202){
+              this.$message.error('尺寸限制为110*500px,支持PNG格式')
+              return false;
+            }
+          })
         }else{
-          this.$message.error('只能上传png/jpeg/gif格式图片');
-          type = false;
+          this.$message.error('请上传PNG格式');
+          return false;
         }
-        return type;
+      },
+      // 计算图片尺寸
+      asyncImgChecked (file,type) {
+        return new Promise((resolve) => {
+          let reader = new FileReader()
+          reader.readAsDataURL(file) // 必须用file.raw
+          reader.onload = e => { // 让页面中的img标签的src指向读取的路径
+            let img = e.target.result;
+            const image = new Image()
+            image.src=img
+            image.onload = _=>{
+              if(type == '1'){
+                if(image.width == 200 && image.height == 200){
+                  resolve({code:200})
+                }else{
+                  resolve({code:201})
+                }
+              }else if(type == '2'){
+                if(image.width == 500 && image.height == 110){
+                  resolve({code:200})
+                }else{
+                  resolve({code:202})
+                }
+              }
+            }
+          }
+        })
       },
     },
   };

+ 1 - 1
src/views/comprehensive/system/user/index.vue

@@ -366,7 +366,7 @@ export default {
         // 设置上传的请求头部
         headers: { Authorization: "Bearer " + getToken() },
         // 上传的地址
-        url: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/system/user/importData"
+        url: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/system/user/importData"
       },
       // 查询参数
       queryParams: {

+ 55 - 0
src/views/demo.vue

@@ -0,0 +1,55 @@
+<template>
+    <div class="demo-page">
+      <p>测试页面</p>
+      <el-upload
+        class="certificate-avatar-uploader"
+        :action="uploadImgUrl"
+        :show-file-list="false"
+        accept=""
+        :on-success="(res)=>handleAvatarSuccess(res)"
+        :headers="headers"
+        :before-upload="beforeAvatarUpload">
+        <i class="el-icon-plus avatar-uploader-icon" style="width:200px;">普通上传</i>
+      </el-upload>
+    </div>
+</template>
+
+<script>
+  import { getToken } from "@/utils/auth";
+  export default {
+    name: 'demo',
+    data() {
+      return {
+        uploadImgUrl: this.uploadUrl()+'?ifAsy=true', // 上传的图片服务器地址
+        headers: {
+          Authorization: "Bearer " + getToken(),
+        },
+      };
+    },
+    created(){
+
+    },
+    mounted(){
+
+    },
+    methods: {
+      handleAvatarSuccess(res, type) {
+        if(res.code == 200){
+          console.log('上传成功res-',res);
+          this.msgSuccess('上传成功!')
+        }else{
+          this.msgError(res.msg)
+        }
+        this.$forceUpdate()
+      },
+      beforeAvatarUpload(file) {
+        console.log('上传类型检测已关闭-',file)
+        return true
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 5 - 5
src/views/emergencyManagement/plan/index.vue

@@ -16,9 +16,9 @@
           <el-select v-model="param.startCondition" placeholder="请选择启动条件" clearable size="small">
             <el-option
               v-for="dict in deptOptions"
-              :key="dict.describe"
-              :label="dict.describe"
-              :value="dict.describe"
+              :key="dict.code"
+              :label="dict.name"
+              :value="dict.name"
             ></el-option>
           </el-select>
         </el-form-item>
@@ -114,7 +114,7 @@ import {listClassifiedAll} from "@/api/laboratory/classified";
 import {listClasstypeAll} from "@/api/laboratory/classtype";
 import {authListSubject} from "@/api/laboratory/subject";
 import { selectRiskPlanLeveList, addPlan, delPlanData } from "@/api/evacuation3_2/index";
-import { optionSensor } from "@/api/laboratory/sensor";
+import { riskOptionSensor } from "@/api/laboratory/sensor";
 
 export default {
   components: {
@@ -256,7 +256,7 @@ export default {
     },
     /** 查询启动条件 */
     getDeptListTow() {
-      optionSensor({}).then(response => {
+      riskOptionSensor({}).then(response => {
         this.$set(this, 'deptOptions', response.data)
       });
     },

+ 2 - 2
src/views/gasManage3_0/manage/RFIDManage/RFIDManage.vue

@@ -6,7 +6,7 @@
         <el-form-item label="关键字" prop="name">
           <el-input
             v-model="queryParams.searchValue"
-            placeholder="标签码"
+            placeholder="标签码"
             clearable
             maxLength="30"
             size="small"
@@ -201,7 +201,7 @@ export default {
         let _this=this;
 
         if(_this.form.tagCode==''){
-          _this.msgSuccess("请先录入RFID标签!");
+          _this.msgError("请先录入RFID标签!");
           return
         }
         _this.submitForm();

+ 1 - 1
src/views/gasManage3_0/manage/infoRecord/abnormalRecordDetail.vue

@@ -122,7 +122,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage3_0/manage/infoRecord/detailsPage.vue

@@ -104,7 +104,7 @@
           'https://img2.baidu.com/it/u=3596352791,3086982929&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800',
           'https://img2.baidu.com/it/u=3596352791,3086982929&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800',
         ],
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         topButtonIndex:0,
         topButton:[
           {id:'1',name:'走廊摄像头1'},{id:'2',name:'走廊摄像头2'},{id:'3',name:'走廊摄像头3'},

+ 1 - 1
src/views/gasManage3_0/manage/infoRecord/enterRecordDetail.vue

@@ -121,7 +121,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage3_0/manage/infoRecord/useRecordDetail.vue

@@ -118,7 +118,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 2 - 2
src/views/gasManage3_0/manage/labCenterPerson/labCenterPerson.vue

@@ -13,7 +13,7 @@
           />
         </el-form-item>
         <el-form-item label="所属院系" prop="deptId" class="form-item">
-          <el-select v-model="queryParams.deptIds" placeholder="请选择所属院系">
+          <el-select v-model="queryParams.deptId" placeholder="请选择所属院系">
             <el-option
               v-for="dict in deptOptions"
               :key="dict.deptId"
@@ -161,7 +161,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.queryParams.searchValue = "";
-      this.queryParams.deptIds = "";
+      this.queryParams.deptId = "";
       this.handleQuery();
     },
     getList(){

+ 16 - 11
src/views/gasManage3_0/manage/qualificationApply/qualificationApplyAdd.vue

@@ -405,19 +405,24 @@ export default {
     //提交
     submitForm(){
       let _this = this;
-      _this.loading = true;
-      if(_this.status==0){//新增
-        qualificationApplyAdd(_this.form).then(res => {
-          this.msgSuccess(res.msg);
-          _this.backPage();
-        });
-      }else if(_this.status==1){
-        qualificationApplyAnew(_this.form).then(res => {
-          this.msgSuccess(res.msg);
-          _this.backPage();
-        });
+      if(_this.form.listDetailVo.length>0){
+        _this.loading = true;
+        if(_this.status==0){//新增
+          qualificationApplyAdd(_this.form).then(res => {
+            this.msgSuccess(res.msg);
+            _this.backPage();
+          });
+        }else if(_this.status==1){
+          qualificationApplyAnew(_this.form).then(res => {
+            this.msgSuccess(res.msg);
+            _this.backPage();
+          });
+        }
+      }else{
+        _this.msgError('请先选择气瓶!')
       }
 
+
     },
 
     //返回

+ 1 - 1
src/views/gasManage3_0/manage/qualificationApply/qualificationApplyDetail.vue

@@ -80,7 +80,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage3_0/manage/qualificationManage/qualificationManageCheck.vue

@@ -193,7 +193,7 @@ export default {
 
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage3_0/manage/qualificationManage/qualificationManageDetail.vue

@@ -148,7 +148,7 @@ export default {
 
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 6 - 2
src/views/gasManage3_0/manage/recognizerManage/recognizerManage.vue

@@ -28,7 +28,7 @@
     <el-table border v-loading="loading" :data="sensorList">
       <el-table-column label="设备编号" align="left" prop="hardwareNum" />
       <el-table-column label="学院" align="center" prop="deptName" width="250"/>
-      <el-table-column label="位置" align="center" prop="posi" width="250" show-overflow-tooltip/>
+      <el-table-column label="位置" align="center" prop="position" width="250" show-overflow-tooltip/>
       <el-table-column label="设备状态" align="center" prop="status">
         <template slot-scope="scope">
           <el-switch
@@ -344,6 +344,10 @@ export default {
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
+      if(row.onOff == 1){
+        this.msgError("修改检测门前请先关闭设备");
+        return
+      }
       let _this=this;
       this.open = true;
       this.title = "修改识别器";
@@ -390,7 +394,7 @@ export default {
           if (this.form.id != null) {
             this.form.senseState = null
             recognizerAnew(this.form).then(response => {
-              this.msgSuccess("修改成功");
+              this.msgSuccess("修改成功,请重新开启设备");
               this.open = false;
               this.getList();
             });

+ 1 - 1
src/views/gasManage3_0/manage/useGas/useGasDetail.vue

@@ -73,7 +73,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage3_0/manage/useGasManage/useGasManageCheck.vue

@@ -187,7 +187,7 @@ export default {
 
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage3_0/manage/useGasManage/useGasManageDetail.vue

@@ -141,7 +141,7 @@ export default {
 
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 15 - 11
src/views/gasManage3_0/student/qualificationApply/qualificationApplyAdd.vue

@@ -407,17 +407,21 @@ export default {
     //提交
     submitForm(){
       let _this = this;
-      _this.loading = true;
-      if(_this.status==0){//新增
-        qualificationApplyAdd(_this.form).then(res => {
-          this.msgSuccess(res.msg);
-          _this.backPage();
-        });
-      }else if(_this.status==1){
-        qualificationApplyAnew(_this.form).then(res => {
-          this.msgSuccess(res.msg);
-          _this.backPage();
-        });
+      if(_this.form.listDetailVo.length>0){
+        _this.loading = true;
+        if(_this.status==0){//新增
+          qualificationApplyAdd(_this.form).then(res => {
+            this.msgSuccess(res.msg);
+            _this.backPage();
+          });
+        }else if(_this.status==1){
+          qualificationApplyAnew(_this.form).then(res => {
+            this.msgSuccess(res.msg);
+            _this.backPage();
+          });
+        }
+      }else{
+        _this.msgError('请先选择气瓶!')
       }
 
     },

+ 1 - 1
src/views/gasManage3_0/student/qualificationApply/qualificationApplyDetail.vue

@@ -80,7 +80,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage3_0/student/useGas/useGasDetail.vue

@@ -73,7 +73,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage_syd/manage/infoRecord/abnormalRecordDetail.vue

@@ -128,7 +128,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage_syd/manage/infoRecord/alarmRecord.vue

@@ -6,7 +6,7 @@
         <el-form-item label="关键字">
           <el-input
             v-model="queryParams.searchValue"
-            placeholder="姓名/联系方式"
+            placeholder="识别码"
             clearable
             maxLength="30"
             size="small"

+ 1 - 1
src/views/gasManage_syd/manage/infoRecord/enterRecordDetail.vue

@@ -78,7 +78,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage_syd/manage/infoRecord/useRecordDetail.vue

@@ -118,7 +118,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 2 - 2
src/views/gasManage_syd/manage/useGasCheck/useGasCheckDetail.vue

@@ -59,7 +59,7 @@ export default {
   },
   data() {
     return {
-      lookImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API, // 图片服务器地址
+      lookImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress(), // 图片服务器地址
       pageType:1,
       headers: {
         Authorization: "Bearer " + getToken(),
@@ -91,7 +91,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage_syd/student/useGas/useGasDetail.vue

@@ -69,7 +69,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 1 - 1
src/views/gasManage_syd/student/useRecord/useRecordDetail.vue

@@ -118,7 +118,7 @@ export default {
     },
     /**查看图片  */
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item;
+      let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item;
       console.log(visitUrl)
       window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },

+ 137 - 2
src/views/hazardManagement/hazard/addLaboratory.vue

@@ -32,9 +32,29 @@
       </el-form-item>
       <div class="button-box">
         <el-button class="color_99" @click="leftButtonClick">取消</el-button>
-        <el-button class="color_ff back_one" @click="rightButtonClick">确定</el-button>
+        <el-button class="color_ff back_one" @click="previewButton">确定</el-button>
       </div>
     </el-form>
+    <el-dialog title="预览" class="richTextDialog" v-if="richTextDialogType" :visible.sync="richTextDialogType" append-to-body>
+      <div class="button-max-box">
+        <el-select v-model="previewKey" placeholder="请选择" style="margin-bottom:20px;">
+          <el-option
+            v-for="item in previewSetList"
+            :key="item.key"
+            :label="item.name"
+            :value="item.key">
+          </el-option>
+        </el-select>
+        <p class="add-button-one-90" style="margin-left:20px;" @click="rightButtonClick">确定</p>
+      </div>
+      <div class="text-max-box" :class="previewKey!=2?'move-text-max-box':''">
+        <p class="text-max-null-p"></p>
+        <div class="text-box scrollbar-box w-e-text" v-html="text"
+             :style="'width:'+previewSetList[previewKey].width+'px;height:'+previewSetList[previewKey].height+'px;'">
+        </div>
+        <p class="text-max-null-p"></p>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -81,10 +101,64 @@ export default {
         BaseUrl: '',
         // serverUrl: '//192.168.1.8:9300/exec',
         //serverUrl: '//180.76.134.43:30002/base/exec',
-        serverUrl: '//'+process.env.VUE_APP_BASE_API+'/base/exec',
+        serverUrl: '//'+this.judgmentNetworkReturnAddress()+'/base/exec',
         UEDITOR_HOME_URL: '/public/ueditor-1.4.3.3/'
       },
       materialTypeList:[],
+      richTextDialogType:false,
+      previewKey:0,
+      previewSetList:[
+        // {
+        //   key:0,
+        //   name:"iphone 12 pro",
+        //   width:390,
+        //   height:884,
+        //   scale:0.203125,
+        // },
+        // {
+        //   key:1,
+        //   name:"iphone XR",
+        //   width:414,
+        //   height:896,
+        //   scale:0.215625,
+        // },
+        {
+          key:0,
+          name:"iphone SE",
+          width:375,
+          height:667,
+          scale:0.195312,
+        },
+        // {
+        //   key:3,
+        //   name:"Samsung Galaxy A51/71",
+        //   width:412,
+        //   height:914,
+        //   scale:0.214583,
+        // },
+        {
+          key:1,
+          name:"Samsung Galaxy S8+",
+          width:360,
+          height:740,
+          scale:0.1875,
+        },
+        // {
+        //   key:5,
+        //   name:"Samsung Galaxy S20",
+        //   width:412,
+        //   height:915,
+        //   scale:0.214583,
+        // },
+        {
+          key:2,
+          name:"化学品终端",
+          width:1041,
+          height:725,
+          scale:0.5421875,
+        },
+      ],
+      text:"",
     }
   },
   created() {
@@ -102,6 +176,22 @@ export default {
     })
   },
   methods: {
+    //预览
+    previewButton(){
+
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.$set(this,'text',this.$refs.UEditor.text);
+          this.richTextDialogType = !this.richTextDialogType
+        }
+      });
+      // if(this.$refs.UEditor.text){
+      //   this.$set(this,'text',this.$refs.UEditor.text);
+      //   this.richTextDialogType = !this.richTextDialogType
+      // }else{
+      //   this.msgError('请编辑内容')
+      // }
+    },
     //获取危险源类型
     dangerList(){
       let _this=this;
@@ -186,3 +276,48 @@ export default {
   }
 }
 </style>
+<style lang="scss">
+  .richTextDialog{
+    .el-dialog{
+      width:1083px;
+      .el-dialog__body{
+        padding:20px;
+      }
+    }
+    .button-max-box{
+      display: flex;
+      .button-null-p{
+        flex:1;
+      }
+    }
+    .text-max-box{
+      display: flex;
+      .text-max-null-p{
+        flex:1;
+      }
+      .text-box{
+        color:#000;
+        font-size:16px;
+        padding:8px;
+        border:1px solid #dedede;
+        font-weight:500;
+      }
+    }
+    .move-text-max-box{
+      video{
+        width:100%!important;
+        /*object-fit: fill;*/
+        height:100%!important;
+        /*display: block;*/
+      }
+      img{
+        width:100%!important;
+        height:100%!important;
+        /*width:1500px;*/
+        /*margin:20px 200px;*/
+      }
+    }
+  }
+  .richTextDemo{
+  }
+</style>

+ 1 - 1
src/views/login.vue

@@ -328,7 +328,7 @@ export default {
       position: absolute;
       top:29px;
       left:52px;
-      width:220px;
+      width:250px;
       height:55px;
     }
     .title-img-box{

+ 1 - 1
src/views/loginOne.vue

@@ -481,7 +481,7 @@
       position: absolute;
       top:29px;
       left:52px;
-      width:220px;
+      width:250px;
       height:55px;
     }
     .title-img-box{

+ 2 - 2
src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/OutboundRecord/index.vue

@@ -75,7 +75,7 @@
     },
     data() {
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         searchData:{
           buttonList:[//按钮数组没有则为空
             {
@@ -214,7 +214,7 @@
           return
         }
         let obj = {
-          url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
+          url:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + row.closeLockVideo
         }
         this.$set(this,'videoTitle','开关锁视频');
         this.$set(this,'videoData',obj);

+ 3 - 3
src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/warehousingRecord/index.vue

@@ -82,7 +82,7 @@
     },
     data() {
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         searchData:{
           buttonList:[//按钮数组没有则为空
             {
@@ -210,7 +210,7 @@
             return
           }
           let obj = {
-            url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.joinVideo
+            url:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + row.joinVideo
           }
           this.$set(this,'videoTitle','操作视频');
           this.$set(this,'videoData',obj);
@@ -221,7 +221,7 @@
             return
           }
           let obj = {
-            url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
+            url:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + row.closeLockVideo
           }
           this.$set(this,'videoTitle','开关锁视频');
           this.$set(this,'videoData',obj);

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/alarmRecord/detailsPage.vue

@@ -100,7 +100,7 @@
           'https://img2.baidu.com/it/u=3596352791,3086982929&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800',
           'https://img2.baidu.com/it/u=3596352791,3086982929&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800',
         ],
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         topButtonIndex:0,
         topButton:[
           {id:'1',name:'走廊摄像头1'},{id:'2',name:'走廊摄像头2'},{id:'3',name:'走廊摄像头3'},

+ 3 - 3
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/CabinetManagement/operationRecord.vue

@@ -95,7 +95,7 @@
     data() {
       return {
         //操作方式
-        optionsList:[{id:1,name:"入库"},{id:2,name:"出库"},{id:3,name:"领用"},{id:4,name:"归还"},{id:5,name:"系统"}],
+        optionsList:[{id:1,name:"入库"},{id:2,name:"出库"},{id:3,name:"领用"},{id:4,name:"归还"},{id:0,name:"系统"}],
         // 搜索数据
         queryParamsData:{
           pageNum:1,
@@ -113,7 +113,7 @@
         tableList:[],
         total:0,
         //开关锁视频相关数据
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         videoType:false,
         videoData:{},
       }
@@ -133,7 +133,7 @@
         }
         let obj = {
           type:type,
-          url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
+          url:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + row.closeLockVideo
         };
         // if(type == 1){
         //   obj.url = row.unLockVideo;

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/index.vue

@@ -189,7 +189,7 @@
         // table操作按钮校验
         tableButtonType:this.hasPermiDom(['chemical:hxpChemical:query','chemical:hxpChemical:edit','chemical:hxpChemical:remove','chemical:hxpChemical:joinList','chemical:hxpChemical:msdsList']),
         //上传相关配置
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/chemical/hxpChemical/importData", // 上传地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/chemical/hxpChemical/importData", // 上传地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 3 - 4
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/listPage.vue

@@ -41,9 +41,9 @@
         <el-table-column label="化学品编号" align="center" prop="joinNum"  show-overflow-tooltip/>
         <el-table-column label="容量规格" align="center" prop="chemicalAmountUnit"  show-overflow-tooltip/>
         <el-table-column label="容器规格" align="center" prop="tare"  show-overflow-tooltip/>
-        <el-table-column label="过期时间" align="center" prop="expireTime"  show-overflow-tooltip>
-          <template slot-scope="scope">{{scope.row.expireTime?scope.row.expireTime:'未设定'}}</template>
-        </el-table-column>
+        <!--<el-table-column label="过期时间" align="center" prop="expireTime"  show-overflow-tooltip>-->
+          <!--<template slot-scope="scope">{{scope.row.expireTime?scope.row.expireTime:'未设定'}}</template>-->
+        <!--</el-table-column>-->
         <el-table-column label="化学品柜" align="center" prop="cabinetName"  show-overflow-tooltip/>
         <el-table-column label="柜锁名称" align="center" prop="lockName"  show-overflow-tooltip v-if="$store.state.settings.smartAlarmType == 1"/>
         <el-table-column label="化学品柜位置" align="center" prop="posi"  show-overflow-tooltip/>
@@ -119,7 +119,6 @@
                         :precision="2"
                         :step="0.01"
                         v-model="minItem.chemicalAmount"
-                        :disabled="listPropsData.chemicalUnit=='g'"
                         placeholder="请输入">
                       </el-input-number>
                       <p class="num-title-span">{{listPropsData.chemicalUnit}}</p>

+ 6 - 6
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/msds/addPage.vue

@@ -36,16 +36,16 @@
         // 表单校验
         rules: {
           name:[
-            {required: true, message: '请输入危险品名称', trigger: 'blur'},
-            { required: true, message: "请输入危险品名称", validator: this.spaceJudgment, trigger: "blur" }
+            {required: true, message: '请输入化学品名称', trigger: 'blur'},
+            { required: true, message: "请输入化学品名称", validator: this.spaceJudgment, trigger: "blur" }
           ],
           code:[
-            {required: true, message: '请输入编号', trigger: 'blur'},
-            { required: true, message: "请输入危险品名称", validator: this.spaceJudgment, trigger: "blur" }
+            {required: true, message: '请输入化学品编号', trigger: 'blur'},
+            { required: true, message: "请输入化学品编号", validator: this.spaceJudgment, trigger: "blur" }
           ],
           content:[
-            {required: true, message: '请输入详情', trigger: 'blur'},
-            { required: true, message: "请输入危险品名称", validator: this.spaceJudgmentHTML, trigger: "blur" }
+            {required: true, message: '请输入化学品详情', trigger: 'blur'},
+            { required: true, message: "请输入化学品详情", validator: this.spaceJudgmentHTML, trigger: "blur" }
           ],
         },
       };

+ 2 - 1
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/approvalProcess/index.vue

@@ -83,7 +83,8 @@
           <p class="title-p">已选:</p>
           <div class="big-box scrollbar-box">
             <div class="user-for-box" v-for="(item,index) in userDialogRightList.actAudituserInfo" :key="index">
-              <img :src="item.avatar">
+              <img v-if="item.avatar" :src="item.avatar">
+              <img v-if="!item.avatar" src="@/assets/ZDimages/tx_cion.png">
               <p>{{item.nickName}}</p>
               <p class="el-icon-circle-close" @click="delRightUser(index)"></p>
             </div>

+ 10 - 6
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/approvalPage.vue

@@ -98,8 +98,8 @@
             <div class="approval-for-box-min">
               <div class="left-max-box">
                 <div class="left-top-box">
-                  <img src="">
-                  <!--<img src="">-->
+                  <img v-if="dataInfo.avatar" :src="dataInfo.avatar">
+                  <img v-if="!dataInfo.avatar" src="@/assets/ZDimages/tx_cion.png">
                   <div class="left-top-text-box">
                     <p>发起申请</p>
                     <p>{{dataInfo.applyUserName}}</p>
@@ -118,7 +118,8 @@
               <div class="left-max-box">
                 <div class="left-top-box" v-if="item.auditType == 1">
                   <img v-if="item.actApplytaskNodeList[1]" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ycsp.png">
-                  <img v-if="!item.actApplytaskNodeList[1]" :src="item.actApplytaskNodeList[0].applyUserList[0].avatar">
+                  <img v-if="!item.actApplytaskNodeList[1]&&item.actApplytaskNodeList[0].applyUserList[0].avatar" :src="item.actApplytaskNodeList[0].applyUserList[0].avatar">
+                  <img v-if="!item.actApplytaskNodeList[1]&&!item.actApplytaskNodeList[0].applyUserList[0].avatar" src="@/assets/ZDimages/tx_cion.png">
                   <div class="left-top-text-box">
                     <p>{{item.actApplytaskNodeList[1]?'依次审批':item.actApplytaskNodeList[0].applyUserList[0].postName}}</p>
                     <p>{{item.approvalName}}</p>
@@ -126,7 +127,8 @@
                 </div>
                 <div class="left-top-box" v-if="item.auditType == 2">
                   <img v-if="item.actApplytaskNodeList[0].applyUserList[1]" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ycsp.png">
-                  <img v-if="!item.actApplytaskNodeList[0].applyUserList[1]" :src="item.actApplytaskNodeList[0].applyUserList[0].avatar">
+                  <img v-if="!item.actApplytaskNodeList[0].applyUserList[1]&&item.actApplytaskNodeList[0].applyUserList[0].avatar" :src="item.actApplytaskNodeList[0].applyUserList[0].avatar">
+                  <img v-if="!item.actApplytaskNodeList[0].applyUserList[1]&&!item.actApplytaskNodeList[0].applyUserList[0].avatar" src="@/assets/ZDimages/tx_cion.png">
                   <div class="left-top-text-box">
                     <p>{{item.actApplytaskNodeList[0].applyUserList[1]?'或签':item.actApplytaskNodeList[0].applyUserList[0].postName}}</p>
                     <p>{{item.approvalName}}</p>
@@ -140,7 +142,8 @@
               <div class="right-max-box" v-if="item.auditType == 1">
                 <div class="right-for-name-box" v-for="(minItem,minIndex) in item.actApplytaskNodeList" :key="minIndex">
                   <div class="right-for-name-box-min">
-                    <img :src="minItem.applyUserList[0].avatar">
+                    <img v-if="minItem.applyUserList[0].avatar" :src="minItem.applyUserList[0].avatar">
+                    <img v-if="!minItem.applyUserList[0].avatar" src="@/assets/ZDimages/tx_cion.png">
                     <p>{{minItem.applyUserList[0].id==userId?'我':minItem.applyUserList[0].name}}</p>
                     <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_1.png" v-if="minItem.nodeStatus == 1&&minIndex!=item.actApplytaskNodeList.length-1">
                     <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_2.png" v-if="!minItem.nodeStatus == 1&&minIndex!=item.actApplytaskNodeList.length-1">
@@ -153,7 +156,8 @@
               <div class="right-max-box" v-if="item.auditType == 2">
                 <div class="right-for-name-box" v-for="(minItem,minIndex) in item.actApplytaskNodeList[0].applyUserList" :key="minIndex">
                   <div class="right-for-name-box-min">
-                    <img :src="minItem.avatar">
+                    <img v-if="minItem.avatar" :src="minItem.avatar">
+                    <img v-if="!minItem.avatar" src="@/assets/ZDimages/tx_cion.png">
                     <p>{{minItem.id==userId?'我':minItem.name}}</p>
                     <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_1.png" v-if="item.actApplytaskNodeList[0].applyUserid == minItem.id&&minIndex!=item.actApplytaskNodeList[0].applyUserList.length-1">
                     <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_2.png" v-if="item.actApplytaskNodeList[0].applyUserid != minItem.id&&minIndex!=item.actApplytaskNodeList[0].applyUserList.length-1">

+ 1 - 0
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/index.vue

@@ -259,6 +259,7 @@
                 let obj = {
                   chemicalId:parseInt(response.data.actHxpapplyDetailList[i].chemicalId),
                   chemicalName:response.data.actHxpapplyDetailList[i].chemicalName,
+                  applyUnit:response.data.actHxpapplyDetailList[i].applyUnit,
                   list:[],
                 }
                 maxObj.maxList.push(obj);

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/IntelligentTerminal/index.vue

@@ -166,7 +166,7 @@
         // table操作按钮校验
         tableButtonType:this.hasPermiDom(['laboratory:hardware5:edit','laboratory:hardware5:remove']),
         //上传相关配置
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/hardware/importData", // 上传地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/laboratory/hardware/importData", // 上传地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 398 - 414
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/SmartAccessControl/index.vue

@@ -6,7 +6,7 @@
         <el-input
           maxLength="30"
           v-model="queryParamsData.searchValue"
-          placeholder="设备编号/实验室"
+          placeholder="门禁锁编号/实验室"
           clearable
           size="small"
           style="width: 240px"
@@ -43,29 +43,16 @@
           ><i class="el-icon-plus"></i>新增</p>
         </el-col>
       </el-form-item>
-      <el-form-item style="float: right;">
-        <el-dropdown @command="importButton" v-hasPermi="['laboratory:hardware6:import']">
-          <div class="form-dropdown-box">
-            <img src="@/assets/ZDimages/personnelManagement/icon_jzgxx_dr.png">
-            <p>导入</p>
-            <img src="@/assets/ZDimages/personnelManagement/icon_jzggl_xljt.png">
-          </div>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;color:#333;" :command="{command:1}">下载模板</el-dropdown-item>
-            <el-dropdown-item style="margin:0 10px;color:#666;" :command="{command:2}">导入数据</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
-      </el-form-item>
     </el-form>
     <el-table  border :data="tableList" ref="multipleTable">
       <el-table-column label="门禁锁编号" align="center" prop="hardwareNum"/>
       <el-table-column label="学院" align="center" prop="deptName" width="250"/>
-      <el-table-column label="位置" align="center" prop="posi" width="250" show-overflow-tooltip/>
+      <el-table-column label="实验室" align="center" prop="posi" width="250" show-overflow-tooltip/>
       <el-table-column label="设备状态" align="center" prop="status" width="100">
         <template slot-scope="scope">{{scope.row.operate.name}}</template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center" prop="createTime" width="250"/>
       <el-table-column label="创建人" align="center" prop="createBy" width="150"/>
+      <el-table-column label="创建时间" align="center" prop="createTime" width="250"/>
       <el-table-column label="操作" align="center" width="140" class-name="small-padding fixed-width" v-if="tableButtonType">
         <template slot-scope="scope">
           <div class="button-box">
@@ -76,53 +63,16 @@
       </el-table-column>
     </el-table>
     <pagination :page-sizes="[20, 30, 40, 50]"
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
+                v-show="total>0"
+                :total="total"
+                :page.sync="queryParamsData.pageNum"
+                :limit.sync="queryParamsData.pageSize"
+                @pagination="getList"
     />
-    <!--导入窗口-->
-    <el-dialog title="导入数据" :visible.sync="importOpen" @close="importOpenOff" width="600px" append-to-body class="import-dialog-box">
-      <div class="el-upload__text" style="margin:0 0 20px 58px;">提示:导入后的数据将覆盖原有数据</div>
-      <el-upload
-        class="import-dialog-upLoad-box"
-        :drag="true"
-        :data="upImportData"
-        :action="uploadImgUrl"
-        :show-file-list="false"
-        :on-success="handleAvatarSuccess"
-        :headers="headers"
-        :before-upload="beforeAvatarUpload">
-        <i class="el-icon-upload"></i>
-        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
-        <!--<div class="el-upload__tip" slot="tip">-->
-        <!--<el-checkbox v-model="upImportData.upDate">是否更新已经存在的数据</el-checkbox>-->
-        <!--</div>-->
-        <div class="el-upload__tip" slot="tip">数据导入模板.xlsx<span style="color:#0183FA;cursor: pointer" @click="importTemplate">下载</span></div>
-        <div class="el-upload-text-box" slot="tip" v-if="getImportData.downFile">
-          <div class="img-text-box">
-            <img src="@/assets/ZDimages/personnelManagement/icon_dr_wj.png">
-            <p>{{getImportData.textName}}</p>
-          </div>
-          <p class="text-p">数据导入成功 <span style="color:#0183FA;">{{getImportData.successNum}}</span> 条,失败 <span style="color:#FF6464 ;">{{getImportData.failureNum}}</span> 条</p>
-          <div class="img-text-box">
-            <img src="@/assets/ZDimages/personnelManagement/icon_dr_sj.png">
-            <p style="color:#0183FA;cursor: pointer;" @click="failureExcel">点击下载失败数据报表</p>
-          </div>
-        </div>
-      </el-upload>
-      <div slot="footer" class="teacher-import-dialog-button-box">
-        <p class="inquire-button-one" @click="importOpenOff">确定</p>
-      </div>
-      <div class="teacher-import-dialog-position-box" v-if="loading"></div>
-    </el-dialog>
+
     <!--新增/编辑-->
     <el-dialog :title="dialogTitle" :visible.sync="addDialogType" v-if="addDialogType" width="520px" append-to-body class="add-dialog-box">
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="门禁锁编号:" prop="hardwareNum">
-          <el-input v-model="form.hardwareNum" placeholder="最大20个字符,包含大小写字母、数字" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" maxlength="20" style="width:360px;"/>
-        </el-form-item>
         <el-form-item label="实验室:" prop="subjectId">
           <el-select
             style="width:360px;"
@@ -144,6 +94,66 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="门禁编号" prop="hardwareNum">
+          <el-input
+            style="width:320px;"
+            v-model="form.hardwareNum"
+            placeholder="请输入门禁编号"
+            maxlength="20"
+            size="small"
+          />
+        </el-form-item>
+        <el-form-item label="门禁名称" prop="name" >
+          <el-input
+            style="width:320px;"
+            v-model="form.name"
+            placeholder="请输入门禁名称"
+            maxlength="8"
+            size="small"
+          />
+        </el-form-item>
+        <el-form-item label="IP" prop="ipAddress" >
+          <el-input
+            style="width:320px;"
+            v-model="form.ipAddress"
+            placeholder="请输入IP"
+            maxlength="15"
+            size="small"
+          />
+        </el-form-item>
+        <el-form-item label="端口" prop="port" >
+          <el-input
+            style="width:320px;"
+            v-model="form.port"
+            placeholder="请输入端口"
+            maxlength="6"
+            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-checkbox-group v-model="form.controlScope">
+            <el-checkbox label="1" >关联安全准入</el-checkbox>
+            <el-checkbox label="2">关联白名单</el-checkbox>
+          </el-checkbox-group>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -154,174 +164,191 @@
 </template>
 
 <script>
-  import { hxpSmartTerminal,filterDept,getSubList,addHxpSmartTerminal,putHxpSmartTerminal,getHxpSmartTerminal,delHxpSmartTerminal } from "@/api/medicUniversity-3_1/index";
-  import { listHardware, delHardware, addHardware, updateHardware } from "@/api/medicUniversity-3_1/index";
-  import { listDepartments } from "@/api/system/dept";
-  import { getToken } from "@/utils/auth";
-  export default {
-    name: "SmartAccessControl",
-    data() {
-      return {
-        // table操作按钮校验
-        tableButtonType:this.hasPermiDom(['laboratory:hardware6:edit','laboratory:hardware6:remove']),
-        //上传相关配置
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/hardware/importData", // 上传地址
-        headers: {
-          Authorization: "Bearer " + getToken(),
-        },
-        // 遮罩层
-        loading:false,
-        //页面状态
-        pageType:1,
-        // 搜索数据
-        queryParamsData:{
-          pageNum:1,
-          pageSize:20,
-        },
-        // 搜索实际发送数据
-        queryParams:{
-          pageNum:1,
-          pageSize:20,
-        },
-        //数据数量
-        total:0,
-        //数据数组
-        tableList:[],
-        //学院列表
-        optionsListOne:[],
-        //状态列表
-        optionsListTwo:[{id:"ONLINE",name:"在线"},{id:"OFFLINE",name:"离线"}],
-        //导入弹层开关
-        importOpen:false,
-        //导入数据
-        upImportData:{
-          sysUserEnable:true,
-          upDate:false,
-          terminalType:'AI_DOORLOCK',
-        },
-        getImportData:{
-          downFile:false,
-          successNum:0,
-          failureNum:0,
-          textName:"",
-        },
-        //编辑新增相关
-        dialogTitle:"",
-        addDialogType:false,
-        form:{},
-        selectList:[],
-        selectListData:[],
-        rules:{
-          hardwareNum: [
-            { required: true, trigger: "blur", message: "最大20个字符,包含大小写字母、数字" },
-            { required: true, message: "最大20个字符,包含大小写字母、数字", validator: this.spaceJudgment, trigger: "blur" }
-          ],
-          subjectId: [
-            { required: true, trigger: "blur", message: "搜索选择实验室" },
-          ],
-        },
-      };
-    },
-    created() {
+import { hxpSmartTerminal,filterDept,getSubList,addHxpSmartTerminal,putHxpSmartTerminal,getHxpSmartTerminal,delHxpSmartTerminal } from "@/api/medicUniversity-3_1/index";
+import { listHardware, delHardware, addHardware, updateHardware } from "@/api/medicUniversity-3_1/index";
+import { listDepartments } from "@/api/system/dept";
+import { getToken } from "@/utils/auth";
+export default {
+  name: "SmartAccessControl-jinan",
+  data() {
+    return {
+      // table操作按钮校验
+      tableButtonType:this.hasPermiDom(['laboratory:hardware6:edit','laboratory:hardware6:remove']),
+      //上传相关配置
+      uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/hardware/importData", // 上传地址
+      headers: {
+        Authorization: "Bearer " + getToken(),
+      },
+      // 遮罩层
+      loading:false,
+      //页面状态
+      pageType:1,
+      // 搜索数据
+      queryParamsData:{
+        pageNum:1,
+        pageSize:20,
+      },
+      //数据数量
+      total:0,
+      //数据数组
+      tableList:[],
+      //学院列表
+      optionsListOne:[],
+      //状态列表
+      optionsListTwo:[{id:"ONLINE",name:"在线"},{id:"OFFLINE",name:"离线"}],
+      //编辑新增相关
+      dialogTitle:"",
+      addDialogType:false,
+      form:{},
+      selectList:[],
+      selectListData:[],
+      rules:{
+        name: [
+          { required: true, trigger: "blur", message: "请输入门禁名称" },
+        ],
+        hardwareNum: [
+          { required: true, trigger: "blur", message: "最大20个字符,包含大小写字母、数字" },
+          { required: true, message: "最大20个字符,包含大小写字母、数字", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+        subjectId: [
+          { required: true, trigger: "blur", message: "搜索选择实验室" },
+        ],
+        relayCode: [
+          { required: true, message: "请输入设备编号", trigger: "blur" },
+          { required: true, message: "请输入设备编号", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+        bit: [
+          { required: true, message: "请输入路由", 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" }
+        ],
+
+      },
+    };
+  },
+  created() {
 
+  },
+  mounted(){
+    this.filterDept();
+    this.listDepartments();
+    this.getList();
+  },
+  methods: {
+    selectFocus(){
+      if(!this.selectList[0]){
+        this.filterDept();
+      }
     },
-    mounted(){
-      this.filterDept();
-      this.listDepartments();
-      this.getList();
+    //获取学院列表
+    listDepartments(){
+      listDepartments().then(response => {
+        this.optionsListOne = response.data;
+      });
     },
-    methods: {
-      selectFocus(){
-        if(!this.selectList[0]){
-          this.filterDept();
-        }
-      },
-      //获取学院列表
-      listDepartments(){
-        listDepartments().then(response => {
-          this.optionsListOne = response.data;
+    pageToggle(type,row){
+      let self = this;
+      if(type == 1){
+        //新增
+        this.dialogTitle = '新增';
+        this.$set(this,'form',{
+          subjectId:"",
+          hardwareNum:"",
+          name:"",
+          ipAddress:"",
+          port:"",
+          harUser:"",
+          harPsw:"",
+          controlScope:[],
         });
-      },
-      pageToggle(type,item){
-        let self = this;
-        if(type == 1){
-          //新增
-          this.dialogTitle = '新增';
-          this.$set(this,'form',{
-            hardwareNum:"",
-            subjectId:""
-          });
-          this.clearClick();
-          this.addDialogType = true;
-        }else if(type == 2){
-          // 编辑
-          this.dialogTitle = '编辑';
-          let obj = {
-            id:item.id,
-            subjectId:item.subjectId,
-            hardwareNum:item.hardwareNum,
-          };
-          this.$set(this,'form',obj);
-          this.clearClick();
-          this.addDialogType = true;
-        }else if(type == 3){
-          // 删除
-          this.$confirm('确认要删除吗?', "警告", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          }).then(function() {
-            delHardware(item.id).then(response => {
-              if (response.code == 200){
-                self.msgSuccess(response.msg);
-                self.getList();
-              }
-            });
-          }).then(() => {
-          }).catch(() => {});
+        this.clearClick();
+        this.addDialogType = true;
+      }else if(type == 2){
+        // 编辑
+        this.dialogTitle = '编辑';
+        this.$set(this,'form',JSON.parse(JSON.stringify(row)));
+        if(row.controlScope){
+          this.form.controlScope=row.controlScope.split(',')
+        }else{
+          this.form.controlScope=[]
         }
-      },
-      //查询当前院系
-      filterDept(){
-        filterDept().then(response => {
-          let idText = "";
-          for(let i=0;i<response.data.length;i++){
-            if(i==0){
-              idText = idText + response.data[i].deptId;
-            }else{
-              idText = idText +','+ response.data[i].deptId;
+        this.clearClick();
+        this.addDialogType = true;
+      }else if(type == 3){
+        // 删除
+        this.$confirm('确认要删除吗?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          delHardware(row.id).then(response => {
+            if (response.code == 200){
+              self.msgSuccess(response.msg);
+              self.getList();
             }
-          }
-          //查询院系下实验室
-          getSubList(idText).then(response => {
-            //当前列表
-            this.selectList = JSON.parse(JSON.stringify(response.data));
-            //原始列表数据
-            this.selectListData = JSON.parse(JSON.stringify(response.data));
           });
-        });
-      },
-      /** 实验室-本地懒加载 */
-      getSelectList(val) {
-        let self = this;
-        let list = [];
-        for(let i=0;i<self.selectListData.length;i++){
-          if(self.selectListData[i].name.indexOf(val) != -1){
-            list.push(self.selectListData[i]);
+        }).then(() => {
+        }).catch(() => {});
+      }
+    },
+    //查询当前院系
+    filterDept(){
+      filterDept().then(response => {
+        let idText = "";
+        for(let i=0;i<response.data.length;i++){
+          if(i==0){
+            idText = idText + response.data[i].deptId;
+          }else{
+            idText = idText +','+ response.data[i].deptId;
           }
         }
-        this.selectList = JSON.parse(JSON.stringify(list))
-      },
-      //实验室选中清除
-      clearClick(){
-        this.selectList = JSON.parse(JSON.stringify(this.selectListData))
-      },
-      submitForm(){
-        this.$refs["form"].validate((valid) => {
-          if (valid) {
-            if(this.form.id){
-              //编辑
-              this.form.type = "AI_DOORLOCK";
+        //查询院系下实验室
+        getSubList(idText).then(response => {
+          //当前列表
+          this.selectList = JSON.parse(JSON.stringify(response.data));
+          //原始列表数据
+          this.selectListData = JSON.parse(JSON.stringify(response.data));
+        });
+      });
+    },
+    /** 实验室-本地懒加载 */
+    getSelectList(val) {
+      let self = this;
+      let list = [];
+      for(let i=0;i<self.selectListData.length;i++){
+        if(self.selectListData[i].name.indexOf(val) != -1){
+          list.push(self.selectListData[i]);
+        }
+      }
+      this.selectList = JSON.parse(JSON.stringify(list))
+    },
+    //实验室选中清除
+    clearClick(){
+      this.selectList = JSON.parse(JSON.stringify(this.selectListData))
+    },
+    submitForm(){
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if(this.form.id){
+            //编辑
+            this.form.type = 11;
+            this.form.controlScope=this.form.controlScope.join(','),
               updateHardware(this.form).then(response => {
                 if (response.code == 200){
                   this.addDialogType = false;
@@ -329,228 +356,185 @@
                   this.getList();
                 }
               });
-            }else{
-              //新增
-              this.form.type = "AI_DOORLOCK";
-              addHardware(this.form).then(response => {
-                if (response.code == 200){
-                  this.addDialogType = false;
-                  this.msgSuccess(response.msg);
-                  this.resetQuery();
-                }
-              });
-            }
-          }
-        })
-      },
-      cancel(){
-        this.addDialogType = false;
-      },
-      //获取数据列表
-      getList(){
-        this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        this.queryParamsData.type = 'AI_DOORLOCK';
-        listHardware(this.queryParamsData).then(response => {
-          this.total = response.total;
-          this.tableList = response.rows;
-        });
-      },
-      /** 搜索按钮操作 */
-      handleQuery() {
-        this.queryParamsData.pageNum = 1;
-        this.queryParamsData.pageSize = 20;
-        this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
-        this.getList();
-      },
-      /** 重置按钮操作 */
-      resetQuery() {
-        this.$set(this,'queryParamsData',{});
-        this.$set(this,'queryParams',{});
-        this.handleQuery();
-      },
-      //导入页面关闭
-      importOpenOff(){
-        this.importOpen = false;
-        this.getImportData.downFile = false;
-        this.getImportData.successNum = 0;
-        this.getImportData.failureNum = 0;
-        this.getImportData.textName = "";
-      },
-      /** 导入按钮操作 */
-      importButton(item){
-        if(item.command == 1){
-          //  下载模板
-          this.download('/laboratory/hardware/importTemplate', {}, `导入模板.xlsx`)
-        }else if(item.command == 2){
-          //  导入数据
-          console.log('导入数据');
-          this.importOpen = true;
-        }
-      },
-      /** 下载模板操作 */
-      importTemplate() {
-        this.download('/laboratory/hardware/importTemplate', {}, `导入模板.xlsx`)
-      },
-      /*下载失败列表*/
-      failureExcel(){
-        this.download('/laboratory/hardware/importErrorData', {}, `失败报表.xlsx`)
-      },
-      //****************************************导入功能**************************************
-      handleAvatarSuccess(res, file) {
-        if(res.code == 200){
-          if(res.data.downFile){
-            this.getImportData.downFile = res.data.downFile
-            this.getImportData.successNum = res.data.successNum
-            this.getImportData.failureNum = res.data.failureNum
           }else{
-            this.msgSuccess(res.msg);
-            this.importOpen = false;
-            this.resetQuery();
+            //新增
+            let obj = {
+              type:11,
+              subjectId:this.form.subjectId,
+              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 => {
+              if (response.code == 200){
+                this.addDialogType = false;
+                this.msgSuccess(response.msg);
+                this.resetQuery();
+              }else if(response.code == 205){
+                this.$confirm(response.msg, "警告", {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+                }).then(() => {
+                  //  确定
+                  this.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization-KDNH' });
+                }).catch(function() {
+                  //  取消
+                });
+              }
+            });
           }
-          // this.getImportData.downFile = res.data.downFile
-          // this.getImportData.successNum = res.data.successNum
-          // this.getImportData.failureNum = res.data.failureNum
-          // this.importOpen = false;
-          // this.getList();
-        }else{
-          this.msgError(res.msg);
         }
-        this.loading = false;
-      },
-      beforeAvatarUpload(file) {
-        let type = false;
-        console.log('file',file);
-        if (file.type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || file.type == 'application/vnd.ms-excel') {
-          this.getImportData.textName = file.name;
-          type = true;
-          this.loading = true;
-        }else{
-          this.msgError('只能上传xls/xlsx格式文件')
-          type = false;
-        }
-        return type;
-      },
+      })
     },
-  }
+    cancel(){
+      this.addDialogType = false;
+    },
+    //获取数据列表
+    getList(){
+      this.queryParamsData.type = 'HK_DOOR';
+      listHardware(this.queryParamsData).then(response => {
+        this.total = response.total;
+        this.tableList = response.rows;
+      });
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParamsData.pageNum = 1;
+      this.queryParamsData.pageSize = 20;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.$set(this,'queryParamsData',{});
+      this.handleQuery();
+    },
+
+  },
+}
 </script>
 
 <style scoped lang="scss">
-  .SmartAccessControl{
-    flex:1;
-    display: flex;
-    flex-direction: column;
-    overflow: hidden!important;
-    padding:20px !important;
-    p{
+.SmartAccessControl{
+  flex:1;
+  display: flex;
+  flex-direction: column;
+  overflow: hidden!important;
+  padding:20px !important;
+  p{
+    margin:0;
+    padding:0;
+  }
+  .form-box{
+    .form-dropdown-box{
+      display: flex;
       margin:0;
-      padding:0;
-    }
-    .form-box{
-      .form-dropdown-box{
-        display: flex;
+      padding:0 10px;
+      cursor: pointer;
+      height:40px;
+      img:nth-child(1){
+        width:16px;
+        height:16px;
+        margin-top:12px;
+      }
+      p{
+        width:47px;
+        text-align: center;
+        font-size:14px;
         margin:0;
-        padding:0 10px;
-        cursor: pointer;
-        height:40px;
-        img:nth-child(1){
-          width:16px;
-          height:16px;
-          margin-top:12px;
-        }
-        p{
-          width:47px;
-          text-align: center;
-          font-size:14px;
-          margin:0;
-          line-height:40px;
-        }
-        img:nth-child(3){
-          width:10px;
-          height:6px;
-          margin-top:17px;
-        }
+        line-height:40px;
+      }
+      img:nth-child(3){
+        width:10px;
+        height:6px;
+        margin-top:17px;
       }
     }
-    .button-box{
-      display: flex;
-    }
   }
+  .button-box{
+    display: flex;
+  }
+}
 </style>
 <style lang="scss">
-  .import-dialog-box{
-    .import-dialog-upLoad-box{
-      .el-upload{
+.import-dialog-box{
+  .import-dialog-upLoad-box{
+    .el-upload{
+      width:450px;
+      margin:0 55px;
+      .el-upload-dragger{
         width:450px;
-        margin:0 55px;
-        .el-upload-dragger{
-          width:450px;
-          .el-icon-upload{
-            font-size:100px;
-            color:#CBE6FE;
-          }
-          .el-upload__text{
-            margin-top:20px;
-          }
+        .el-icon-upload{
+          font-size:100px;
+          color:#CBE6FE;
+        }
+        .el-upload__text{
+          margin-top:20px;
         }
       }
-      .el-upload__tip{
-        margin-left:60px;
-        font-size:14px;
-        margin-top:10px;
+    }
+    .el-upload__tip{
+      margin-left:60px;
+      font-size:14px;
+      margin-top:10px;
+    }
+    .el-upload-text-box{
+      background: #F5F5F5;
+      border-radius: 10px;
+      margin:15px 30px 0;
+      padding:0 20px 15px;
+      overflow: hidden;
+      *{
+        margin:0;
       }
-      .el-upload-text-box{
-        background: #F5F5F5;
-        border-radius: 10px;
-        margin:15px 30px 0;
-        padding:0 20px 15px;
-        overflow: hidden;
-        *{
-          margin:0;
-        }
-        .img-text-box{
-          display: flex;
-          margin-top:15px;
-          img{
-            width:16px;
-            height:16px;
-            margin-right:13px;
-          }
-          p{
-            height:16px;
-            line-height:16px;
-            font-size:12px;
-          }
+      .img-text-box{
+        display: flex;
+        margin-top:15px;
+        img{
+          width:16px;
+          height:16px;
+          margin-right:13px;
         }
-        .text-p{
-          margin-top:15px;
-          margin-left:29px;
+        p{
           height:16px;
           line-height:16px;
           font-size:12px;
         }
       }
-    }
-    .teacher-import-dialog-button-box{
-      display: flex;
-      width:190px;
-      margin:0 auto;
-      p{
-        width:70px;
-        height:30px;
-        line-height:30px;
-        font-size:14px;
-        margin:0 auto;
+      .text-p{
+        margin-top:15px;
+        margin-left:29px;
+        height:16px;
+        line-height:16px;
+        font-size:12px;
       }
     }
-    .teacher-import-dialog-position-box{
-      width:100%;
-      height:100%;
-      position: absolute;
-      top:0;
-      left:0;
-      z-index: 999;
-      background: rgba(255,255,255,0.4);
-      border-radius:20px;
+  }
+  .teacher-import-dialog-button-box{
+    display: flex;
+    width:190px;
+    margin:0 auto;
+    p{
+      width:70px;
+      height:30px;
+      line-height:30px;
+      font-size:14px;
+      margin:0 auto;
     }
   }
+  .teacher-import-dialog-position-box{
+    width:100%;
+    height:100%;
+    position: absolute;
+    top:0;
+    left:0;
+    z-index: 999;
+    background: rgba(255,255,255,0.4);
+    border-radius:20px;
+  }
+}
 </style>

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/rfidIdentifier/index.vue

@@ -165,7 +165,7 @@
         // table操作按钮校验
         tableButtonType:this.hasPermiDom(['laboratory:hardware7:edit','laboratory:hardware7:remove']),
         //上传相关配置
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/hardware/importData", // 上传地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/laboratory/hardware/importData", // 上传地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartAlarm/index.vue

@@ -278,7 +278,7 @@
         // table操作按钮校验
         tableButtonType:this.hasPermiDom(['laboratory:hardware8:edit','laboratory:hardware8:remove']),
         //上传相关配置
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/hardware/importData", // 上传地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/laboratory/hardware/importData", // 上传地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartLocker/index.vue

@@ -261,7 +261,7 @@
         // table操作按钮校验
         tableButtonType:this.hasPermiDom(['chemical:locklog:list','laboratory:hardware5:edit','laboratory:hardware5:remove']),
         //上传相关配置
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/hardware/importData", // 上传地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/laboratory/hardware/importData", // 上传地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 2 - 2
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartLocker/operationRecord.vue

@@ -113,7 +113,7 @@
         tableList:[],
         total:0,
         //开关锁视频相关数据
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         videoType:false,
         videoData:{},
       }
@@ -133,7 +133,7 @@
         }
         let obj = {
           type:type,
-          url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
+          url:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + row.closeLockVideo
         }
         // if(type == 1){
         //   obj.url = row.unLockVideo;

+ 5 - 5
src/views/medicUniversity-3_1/chemicalManagement/usageRecord/infoPage.vue

@@ -160,7 +160,7 @@
     },
     data(){
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         videoType:false,
         videoData:{},
         videoTitle:"",
@@ -183,7 +183,7 @@
             return
           }
           this.$set(this,'videoTitle','操作视频');
-          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.outDetail.outVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + this.infoData.outDetail.outVideo;
         } else if(type == 2){
           //归还操作视频
           if(!this.infoData.returnDetail.returnVideo){
@@ -191,7 +191,7 @@
             return
           }
           this.$set(this,'videoTitle','操作视频');
-          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.returnDetail.returnVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + this.infoData.returnDetail.returnVideo;
         } else if(type == 3){
           //领用开关锁视频
           if(!this.infoData.outDetail.outLockVideo){
@@ -199,7 +199,7 @@
             return
           }
           this.$set(this,'videoTitle','开关锁视频');
-          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.outDetail.outLockVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + this.infoData.outDetail.outLockVideo;
         } else if(type == 4){
           //归还开关锁视频
           if(!this.infoData.returnDetail.returnLockVideo){
@@ -207,7 +207,7 @@
             return
           }
           this.$set(this,'videoTitle','开关锁视频');
-          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.returnDetail.returnLockVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/admin/" + this.infoData.returnDetail.returnLockVideo;
         }
         this.$set(this,'videoData',obj);
         this.videoType = true;

Різницю між файлами не показано, бо вона завелика
+ 847 - 793
src/views/mine/index.vue


+ 2 - 2
src/views/mine/indexOne.vue

@@ -328,8 +328,8 @@
       };
       return{
         buttonType:'1',
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/studentinfo/commit/face", // 上传的图片服务器地址
-        uploadImgUrlTwo: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/file/upload", // 上传的图片服务器地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/laboratory/studentinfo/commit/face", // 上传的图片服务器地址
+        uploadImgUrlTwo: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/file/upload", // 上传的图片服务器地址
         headers: {
           Authorization: "Bearer " + getToken(),
         },

+ 25 - 10
src/views/newEvacuationBigData.vue

@@ -206,7 +206,7 @@
               <div class="radio-button-box scrollbar-box">
                 <p class="horn-for-p" @click="checkTrumpet(index)" :class="item.type?'check-p':''"
                    v-for="(item,index) in trumpetList" :key="index">{{item.name}}</p>
-                <p v-if="!trumpetList[0]" style="line-height:200px;font-size:16px;color:#fff;text-align: center">暂无数据</p>
+                <p v-if="!trumpetList[0]" style="line-height:60px;font-size:16px;color:#fff;text-align: center">暂无数据</p>
               </div>
               <div class="radio-text-box scrollbar-box">
                 <div v-for="(item,index) in radioTextList" :key="index">
@@ -282,7 +282,7 @@
               <div class="horn-max-big-box-two-left scrollbar-box">
                 <p class="horn-for-p" @click="checkTrumpet(index)" :class="item.type?'check-p':''"
                    v-for="(item,index) in trumpetList" :key="index">{{item.name}}</p>
-                <p v-if="!trumpetList[0]" style="line-height:200px;font-size:16px;color:#fff;text-align: center">暂无数据</p>
+                <p v-if="!trumpetList[0]" style="line-height:60px;font-size:16px;color:#fff;text-align: center">暂无数据</p>
               </div>
               <div class="horn-max-big-box-two-right">
                 <div class="radio-text-box scrollbar-box">
@@ -460,7 +460,7 @@
     },
     data() {
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         //当前路由状态
         routeType:false,
         //全局MQTT相关
@@ -1064,9 +1064,10 @@
       //喇叭操作
       checkTrumpet(index){
         let self = this;
-        for(let i=0;i<self.trumpetList.length;i++){
-          self.trumpetList[i].type = i == index;
-        }
+        self.trumpetList[index].type = !self.trumpetList[index].type
+        // for(let i=0;i<self.trumpetList.length;i++){
+        //   self.trumpetList[i].type = i == index;
+        // }
       },
       //发送消息到喇叭
       addHxpChemical(){
@@ -1074,11 +1075,25 @@
         let obj = {
           floorId:this.floorId,
           messageContext:this.inputText,
+          playVo:[],
         };
         let num = 0;
         for(let i=0;i<self.trumpetList.length;i++){
           if(self.trumpetList[i].type){
-            obj.playVo=[{
+            // obj.playVo=[{
+            //   sn:self.trumpetList[i].deviceSn,
+            //   port:self.trumpetList[i].port,
+            //   deviceIp:self.trumpetList[i].deviceIp,
+            //   type:"",
+            //   name:"",
+            //   speed:"",
+            //   params:{
+            //     tid:"",
+            //     vol:self.trumpetList[i].deviceVol,
+            //     urls:[]
+            //   }
+            // }];
+            obj.playVo.push({
               sn:self.trumpetList[i].deviceSn,
               port:self.trumpetList[i].port,
               deviceIp:self.trumpetList[i].deviceIp,
@@ -1090,7 +1105,7 @@
                 vol:self.trumpetList[i].deviceVol,
                 urls:[]
               }
-            }];
+            })
             num++
           }
         }
@@ -2879,7 +2894,7 @@
             .radio-button-box{
               margin:10px 40px 10px 12px;
               height:60px;
-              p{
+              .horn-for-p{
                 width:128px;
                 line-height:28px;
                 font-size:14px;
@@ -2891,7 +2906,7 @@
                 margin:0 0 10px 10px;
                 cursor: pointer;
               }
-              p:hover{
+              .horn-for-p:hover{
                 color:#24d1f9;
               }
               .check-p{

+ 1 - 1
src/views/newEvacuationBigDataHome.vue

@@ -121,7 +121,7 @@
     },
     data() {
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         //当前路由状态
         routeType:false,
         containerType:false,

+ 6 - 2
src/views/oneKeyOutfire/planExecuteRecord/planExecuteRecordDetail.vue

@@ -35,7 +35,7 @@
             <li v-for="(item,index3) in msgsPush" :key="index3">
               <i>{{item.createTimeStr}}</i>
               <i>{{item.pushType.code==0?'语音播报':'短信推送'}}</i>
-              <i>{{item.showInfo}}</i></li>
+              <i>{{item.recipientName}}</i></li>
           </div>
         </div>
       </div>
@@ -46,10 +46,14 @@
             <ul>
               <li :class="(item.riskStatus==1||item.riskStatus==2)?'risk_trend':'hardware'" v-for="(item,index2) in planAxis" :key="index2">
                 <p v-if="(index2 !=0 && index2 !=planAxis.length-1)" :class="(item.riskStatus==1||item.riskStatus==2)?'dot':'dot_tow'"></p>
-                <p v-if="(item.riskStatus==1||item.riskStatus==2)">{{item.riskPlanLevelName}}: {{item.riskPlanName}}</p>
+
+                <p v-if="(item.riskStatus==1||item.riskStatus==2) && item.riskPlanName !='风险解除'"> {{item.riskPlanName}} ({{item.riskPlanLevelName}})</p>
+                <p v-if="(item.riskStatus==1||item.riskStatus==2) && item.riskPlanName =='风险解除'"> {{item.riskPlanName}}</p>
+
                 <p v-if="(item.riskStatus!=1&& item.riskStatus!=2)">{{item.riskPlanName}}</p>
                 <p class="sensor_val">{{item.sensorJsonName}}:<i class="color: #FF3131;">{{item.sensorJsonValue}}</i></p>
                 <p class="sensor_timer">时间:<i>{{item.createTime}}</i></p>
+
                 <p v-if="index2 !=planAxis.length-1" :class="(item.riskStatus==1||item.riskStatus==2)?'ledgement':'ledgement_tow'"></p>
               </li>
             </ul>

+ 1 - 1
src/views/safetyEducationExam/safeLearning/el_course/coursePreview.vue

@@ -54,7 +54,7 @@
     },
     data() {
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         loading:false,
         playerOptions: {
           playbackRates: [0.5, 1.0, 1.5, 2.0], // 可选的播放速度

+ 1 - 1
src/views/safetyEducationExam/safeLearning/el_course/edit.vue

@@ -463,7 +463,7 @@
     },
     data() {
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         selectTree: '',
         selectTreeValue: [],
         /******************基本信息-开始******************/

+ 32 - 39
src/views/safetyEducationExam/safeLearning/el_resources/index.vue

@@ -454,7 +454,9 @@ export default {
       upTextList:[],
       //修改页面
       openEdit:false,
-      editForm:{},
+      editForm:{
+        id:'',
+      },
       //修改上传
       editTree:[],
       fileList:[],
@@ -466,7 +468,7 @@ export default {
       richTextEditType:false,
       skip: false,
       options: {
-        target: httpHeader+process.env.VUE_APP_BASE_API+"/base/file/upload/chunk",
+        target: httpHeader+this.judgmentNetworkReturnAddress()+"/base/file/upload/chunk",
         // 开启服务端分片校验功能
         testChunks: true,
         single: true,
@@ -581,7 +583,7 @@ export default {
       let self = this;
       if(type == 1){
         if(!this.queryParams.cateId){
-          this.msgError('请选择分类')
+          this.msgError('请在左侧列表选择分类')
           return
         }
         this.richTextForm = {};
@@ -594,9 +596,6 @@ export default {
         this.richTextForm.cateId = row.cateId;
         this.richTextForm.content = unescape(row.content);
         this.richTextEditType = true;
-        setTimeout(function(){
-          self.$refs.ditTree.setCheckedKeys([row.cateId]);
-        },100);
       }
     },
     //关闭富文本按钮
@@ -666,7 +665,7 @@ export default {
     },
     editUpClick(){
       let self = this;
-      this.uploadImgUrl = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/exam/el_resources/update?cateId=" + this.editForm.cateId +'&id=' + this.editForm.id + '&title=' + this.editForm.title
+      this.uploadImgUrl = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/exam/el_resources/update?cateId=" + this.editForm.cateId +'&id=' + this.editForm.id + '&title=' + this.editForm.title
       if(this.fileList[0]){
         setTimeout(function(){
           self.submitUpload();
@@ -750,12 +749,6 @@ export default {
         }
       }
       self.typeTitle=text
-      // if(node.parent.data.title){
-      //   this.typeTitle=node.parent.data.title+'/'+data.title;//点击的分类名称
-      //   // this.typeTitle=data.title;//点击的分类名称
-      // }else{
-      //   this.typeTitle=data.title;//点击的分类名称
-      // }
       console.log('当前节点的父节点:',node.parent.data);
       //根据id查找父元素
       console.log(this.familyTree(this.treeData,data.id))
@@ -874,12 +867,15 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       if(!this.queryParams.cateId){
-        this.msgError('请选择分类')
+        this.msgError('请在左侧列表选择分类')
         return
       }
       console.log(this.form.title)
       this.reset();
-      this.uploadImgUrl = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/exam/el_resources?cateId=" + this.queryParams.cateId
+      this.coursewareName='';
+      this.editForm.cateId='';
+      this.editForm.id='';
+      this.uploadImgUrl = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/exam/el_resources?cateId=" + this.queryParams.cateId
       this.upTextList = [];
       this.open = true;
       this.title = "添加课件资源";
@@ -907,12 +903,13 @@ export default {
         this.getList();
       });
     },
-    updateResource() {
+    updateResource(filePath) {
+      let _this=this;
       let obj = {
         id: this.editForm.id,
         cateId: this.editForm.cateId,
         title: this.editForm.title,
-        path: this.filePath,
+        path: filePath,
         fileName: this.fileName,
         size: this.fileSize
       }
@@ -920,6 +917,11 @@ export default {
         this.msgSuccess("修改成功");
         this.loading = false;
         this.openEdit = false;
+        this.coursewareName=response.data.fileName;//课件名称
+        this.loading = false;
+        setTimeout(function (){
+          _this.open = false;
+        },2000)
         this.allRemove();
         this.getList();
       });
@@ -927,22 +929,6 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       let self = this;
-      console.log(row)
-     /*
-      if(row.type=='5'){
-        this.richTextAddClick(2,row)
-        return
-      }
-      this.reset();
-      this.editForm = {};
-      this.fileList = [];
-      this.upTextList = [];
-      this.editForm =  JSON.parse(JSON.stringify(row));
-      this.title = "修改课件资源";
-      this.openEdit = true;
-      setTimeout(function(){
-        self.$refs.ditTree.setCheckedKeys([row.cateId]);
-      },100);*/
 
       //根据id查找父元素
       console.log(this.familyTree(this.treeData,row.cateId))
@@ -978,18 +964,21 @@ export default {
       }else{
         self.typeTitle='该分类已删除'
       }
-      // self.typeTitle=treeArr.join('/')
 
       if(row.type=='5'){
         this.richTextAddClick(2,row)
         return
       }
 
-      this.queryParams.cateId=row.cateId
+
       this.coursewareName=row.title
-      this.queryParams.id=row.id
+      // this.queryParams.cateId=row.cateId
+      //this.queryParams.id=row.id
+       this.editForm.cateId=row.cateId
+       this.editForm.id=row.id
+
       this.reset();
-      this.uploadImgUrl = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/exam/el_resources?cateId=" + this.queryParams.cateId
+      this.uploadImgUrl = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/exam/el_resources?cateId=" + this.queryParams.cateId
       this.upTextList = [];
       this.open = true;
       this.title = "修改课件资源";
@@ -1018,7 +1007,7 @@ export default {
 
       const result = JSON.parse(response);
       if (result.code==200 && !this.skip) {
-        axios.post(httpHeader+process.env.VUE_APP_BASE_API+"/base/file/upload/merge", {
+        axios.post(httpHeader+this.judgmentNetworkReturnAddress()+"/base/file/upload/merge", {
             identifier: file.uniqueIdentifier,
             filename: file.name,
             totalChunks: chunk.offset,
@@ -1028,8 +1017,12 @@ export default {
             }
         }).then((res) => {
             if (res.data.code==200) {
-              if(!this.editForm.id){
+              if(!this.editForm.id){//新增
+                console.log(1)
                 this.addResource(res.data.data);
+              }else{//修改
+                console.log(2)
+                this.updateResource(res.data.data);
               }
               this.filePath=res.data.data;
             } else {

+ 1 - 1
src/views/safetyEducationExam/safeLearning/safeLearning/learning.vue

@@ -85,7 +85,7 @@
     },
     data() {
       return {
-        videoCover:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + localStorage.getItem('videoCover'),
+        videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         circularLogo:localStorage.getItem('circularLogo'),
         studyLoading:false,
         //时间

+ 1 - 1
src/views/safetyEducationExam/safeLearning/safe_book/index.vue

@@ -256,7 +256,7 @@ export default {
     },
     //上传
     handleAvatarSuccess(res, file) {
-      this.form.content = window.location.href.split('://')[0]+'://' +process.env.VUE_APP_BASE_API + '/' + res.data.url;
+      this.form.content = window.location.href.split('://')[0]+'://' +this.judgmentNetworkReturnAddress() + '/' + res.data.url;
       this.form.realcontent =res.data.url;
       this.getNumPages();
       this.$forceUpdate()

+ 377 - 363
src/views/secureAccess/approval/infoPage.vue

@@ -6,13 +6,13 @@
       <p class="button-p reset-button-one" @click="backPage">返回</p>
     </div>
     <!--<div class="item-max-box" style="margin-top:30px;">-->
-      <!--<div class="item-title-box">{{subjectData.labSecurityApply.userType == '11'?'教师信息(关联教师信息材料):':(subjectData.labSecurityApply.userType == '22'?'学生信息(关联学生信息材料):':'')}}</div>-->
-      <!--<div class="item-user-box">-->
-        <!--<div>姓名:{{subjectData.labSecurityApply.userName}}</div>-->
-        <!--<div>{{subjectData.labSecurityApply.userType == '11'?'工号:':(subjectData.labSecurityApply.userType == '22'?'学号:':'')}}{{subjectData.labSecurityApply.userNumber}}</div>-->
-        <!--<div>学院:{{subjectData.labSecurityApply.deptName}}</div>-->
-        <!--<div v-if="subjectData.labSecurityApply.userType == '22'">专业:{{subjectData.labSecurityApply.major}}</div>-->
-      <!--</div>-->
+    <!--<div class="item-title-box">{{subjectData.labSecurityApply.userType == '11'?'教师信息(关联教师信息材料):':(subjectData.labSecurityApply.userType == '22'?'学生信息(关联学生信息材料):':'')}}</div>-->
+    <!--<div class="item-user-box">-->
+    <!--<div>姓名:{{subjectData.labSecurityApply.userName}}</div>-->
+    <!--<div>{{subjectData.labSecurityApply.userType == '11'?'工号:':(subjectData.labSecurityApply.userType == '22'?'学号:':'')}}{{subjectData.labSecurityApply.userNumber}}</div>-->
+    <!--<div>学院:{{subjectData.labSecurityApply.deptName}}</div>-->
+    <!--<div v-if="subjectData.labSecurityApply.userType == '22'">专业:{{subjectData.labSecurityApply.major}}</div>-->
+    <!--</div>-->
     <!--</div>-->
     <div class="admittance_info">
       <li>申请实验室:<i>{{subjectData.labSecurityApply.laboratoryDeptName}}-{{subjectData.labSecurityApply.subjectName}}</i></li>
@@ -44,56 +44,56 @@
           <el-checkbox  @change="checkedImg(minItem)" v-if="isLook" >{{minItem.name}}</el-checkbox>
           <i v-if="!isLook" >{{minItem.name}}</i>
           <i class="file_list_look" @click="lookFile(minItem)">查看</i>
-<!--          <a class="file_list_look" :href="item2.dataUrl.split(';')[1].replace(/,/g,'')" target="_blank">查看</a>-->
+          <!--          <a class="file_list_look" :href="item2.dataUrl.split(';')[1].replace(/,/g,'')" target="_blank">查看</a>-->
           <i v-if="isLook" class="file_list_look" @click="handleExport(1,minItem)">下载</i>
         </div>
       </div>
       <div class="item-title-box" v-if="subjectData.labSecurityApply.auditStatus!=2">审核备注:</div>
       <el-input type="textarea" style="margin-top: 20px" v-model="rejectCause" placeholder="请输入审核备注" maxlength="50" v-if="subjectData.labSecurityApply.auditStatus!=2"/>
-     <div class="btn_list">
-       <p v-if="isLook" class="button-p reset-button-one" style="width:100px;" @click="handleExport(2,'')">打包下载</p>
-       <p v-if="isLook&&subjectData.labSecurityApply.auditStatus!=2" class="inquire-button-one" style="width:100px;" @click="backPage()">确定</p>
-       <p v-if="!isLook" class="button-p reset-button-one" style="width:100px;" @click="auditClick(1)">驳回</p>
-       <p v-if="!isLook" class="inquire-button-one" style="width:100px;" @click="auditClick(2)">通过</p>
-     </div>
+      <div class="btn_list">
+        <p v-if="isLook" class="button-p reset-button-one" style="width:100px;" @click="handleExport(2,'')">打包下载</p>
+        <p v-if="isLook&&subjectData.labSecurityApply.auditStatus!=2" class="inquire-button-one" style="width:100px;" @click="backPage()">确定</p>
+        <p v-if="!isLook" class="button-p reset-button-one" style="width:100px;" @click="auditClick(1)">驳回</p>
+        <p v-if="!isLook" class="inquire-button-one" style="width:100px;" @click="auditClick(2)">通过</p>
+      </div>
     </div>
     <div v-for="(item,index) in subjectData.listTemp" :key="index">
-<!--      <div class="item-max-box" style="margin-top:30px;" v-if="item.materialType==2&&item.relationType==1">
-        <div class="item-title-box">{{subjectData.labSecurityApply.userType == '11'?'教师信息(关联教师信息材料):':(subjectData.labSecurityApply.userType == '22'?'学生信息(关联学生信息材料):':'')}}</div>
-        <div class="item-user-box">
-          <div>
-            <p>姓名:</p>
-            <p>{{subjectData.labSecurityApply.userName}}</p>
-          </div>
-          <div>
-            <p>{{subjectData.labSecurityApply.userType == '11'?'工号:':(subjectData.labSecurityApply.userType == '22'?'学号:':'')}}</p>
-            <p>{{subjectData.labSecurityApply.userNumber}}</p>
-          </div>
-          <div>
-            <p>学院:</p>
-            <p>{{subjectData.labSecurityApply.deptName}}</p>
-          </div>
-          <div v-if="subjectData.labSecurityApply.userType == '22'">
-            <p>专业:</p>
-            <p>{{subjectData.labSecurityApply.userMajor}}</p>
-          </div>
-        </div>
-      </div>-->
-<!--      <div class="item-max-box" v-if="item.materialType==2&&item.relationType==2&&subjectData.labSecurityApply.userType == '22'">
-        <div class="item-title-box">安全考试证书:</div>
-        <img v-if="subjectData.listcert[0]" class="item-img-box" :src="subjectData.listcert[0].cert_url">
-        <p v-if="!subjectData.listcert[0]" style="margin-left:40px;color:#999;font-size:14px;">暂无证书</p>
-      </div>
-      <div class="item-max-box" v-if="item.materialType==1">
-        <div class="item-title-box">{{item.materialName}}:</div>
-        <div class="item-for-text-box">
-          <p :class="iframeSrc[index].forIndex == minIndex ?'color-p':''" v-for="(minItem,minIndex) in item.upList" @click="forClick(minItem,minIndex,index)">{{minItem.name}}</p>
-        </div>
-        <iframe
-          class="item-html-box"
-          :src="iframeSrc[index].url" scrolling="auto" frameborder="0">
-        </iframe>
-      </div>-->
+      <!--      <div class="item-max-box" style="margin-top:30px;" v-if="item.materialType==2&&item.relationType==1">
+              <div class="item-title-box">{{subjectData.labSecurityApply.userType == '11'?'教师信息(关联教师信息材料):':(subjectData.labSecurityApply.userType == '22'?'学生信息(关联学生信息材料):':'')}}</div>
+              <div class="item-user-box">
+                <div>
+                  <p>姓名:</p>
+                  <p>{{subjectData.labSecurityApply.userName}}</p>
+                </div>
+                <div>
+                  <p>{{subjectData.labSecurityApply.userType == '11'?'工号:':(subjectData.labSecurityApply.userType == '22'?'学号:':'')}}</p>
+                  <p>{{subjectData.labSecurityApply.userNumber}}</p>
+                </div>
+                <div>
+                  <p>学院:</p>
+                  <p>{{subjectData.labSecurityApply.deptName}}</p>
+                </div>
+                <div v-if="subjectData.labSecurityApply.userType == '22'">
+                  <p>专业:</p>
+                  <p>{{subjectData.labSecurityApply.userMajor}}</p>
+                </div>
+              </div>
+            </div>-->
+      <!--      <div class="item-max-box" v-if="item.materialType==2&&item.relationType==2&&subjectData.labSecurityApply.userType == '22'">
+              <div class="item-title-box">安全考试证书:</div>
+              <img v-if="subjectData.listcert[0]" class="item-img-box" :src="subjectData.listcert[0].cert_url">
+              <p v-if="!subjectData.listcert[0]" style="margin-left:40px;color:#999;font-size:14px;">暂无证书</p>
+            </div>
+            <div class="item-max-box" v-if="item.materialType==1">
+              <div class="item-title-box">{{item.materialName}}:</div>
+              <div class="item-for-text-box">
+                <p :class="iframeSrc[index].forIndex == minIndex ?'color-p':''" v-for="(minItem,minIndex) in item.upList" @click="forClick(minItem,minIndex,index)">{{minItem.name}}</p>
+              </div>
+              <iframe
+                class="item-html-box"
+                :src="iframeSrc[index].url" scrolling="auto" frameborder="0">
+              </iframe>
+            </div>-->
     </div>
 
     <!-- 添加或修改安全准入申请材料配置对话框 -->
@@ -120,267 +120,320 @@
 let Base64 = require('js-base64').Base64;
 import {downloadwBatch, getDetails, laboratoryApply} from "@/api/laboratory/approval";
 import {optionHazard} from "@/api/laboratory/hazard";
-  export default {
-    name: "info-page",
-    props:{
-      infoData: {},
-    },
-    data() {
-      return {
-        pageType:false,
-        forIndex:0,
-        subjectData:{},
-        iframeSrc:[],
-        open:false,
-        form:{},
-        checkList:[],
-        rejectCause:'',//审核备注
-        isLook:false,//判断是查看还是审核
-        //打包下载查询参数
-        packDown:{
-          userName:'',
-          userNumber:'',
-          subjectName:'',
-          fileList:'',
-
-        },
-        mrList:[],
-        // 表单校验
-        rules: {
-          name: [
-            { required: true, message: "请输入检查项名称", trigger: "blur" },
-            { required: true, message: "请输入检查项名称", validator: this.spaceJudgment, trigger: "blur" }
-          ],
-          code: [
-            { required: true, message: "请输入条款号", trigger: "blur" },
-            { required: true, message: "请输入条款号", validator: this.spaceJudgment, trigger: "blur" }
-          ],
-        },
-      };
-    },
-    created() {
+export default {
+  name: "info-page",
+  props:{
+    infoData: {},
+  },
+  data() {
+    return {
+      pageType:false,
+      forIndex:0,
+      subjectData:{},
+      iframeSrc:[],
+      open:false,
+      form:{},
+      checkList:[],
+      rejectCause:'',//审核备注
+      isLook:false,//判断是查看还是审核
+      //打包下载查询参数
+      packDown:{
+        userName:'',
+        userNumber:'',
+        subjectName:'',
+        fileList:'',
 
-      if(this.infoData.type==0){
-        this.isLook=false;
+      },
+      mrList:[],
+      // 表单校验
+      rules: {
+        name: [
+          { required: true, message: "请输入检查项名称", trigger: "blur" },
+          { required: true, message: "请输入检查项名称", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+        code: [
+          { required: true, message: "请输入条款号", trigger: "blur" },
+          { required: true, message: "请输入条款号", validator: this.spaceJudgment, trigger: "blur" }
+        ],
+      },
+    };
+  },
+  created() {
 
-      }else if(this.infoData.type==1){
-        this.isLook=true;
-      }
-      this.getDetails();
+    if(this.infoData.type==0){
+      this.isLook=false;
 
+    }else if(this.infoData.type==1){
+      this.isLook=true;
+    }
+    this.getDetails();
 
-    },
-    methods: {
-      lookFile(item){
-        let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item.url;
-        console.log(visitUrl)
-        window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
 
-      },
-      /** 导出按钮操作 */
-      handleExport(type,item) {
-        console.log(item)
-        if(type==1){//单个
-          this.packDown.userName=this.subjectData.sysUser.nickName
-          this.packDown.userNumber=this.subjectData.sysUser.userName
-          this.packDown.subjectName=this.subjectData.labSecurityApply.subjectName
-          let visitUrl=item.name+';'+item.url+',';
+  },
+  methods: {
+    lookFile(item){
+      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item.url;
+      console.log(visitUrl)
+      window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
 
-          this.packDown.fileList=visitUrl
+    },
+    /** 导出按钮操作 */
+    handleExport(type,item) {
+      console.log(item)
+      if(type==1){//单个
+        this.packDown.userName=this.subjectData.sysUser.nickName
+        this.packDown.userNumber=this.subjectData.sysUser.userName
+        this.packDown.subjectName=this.subjectData.labSecurityApply.subjectName
+        let visitUrl=item.name+';'+item.url+',';
 
-          this.download('/laboratory/apply/downloadwBatch', {
-            ...this.packDown
-          }, this.packDown.userName+'_'+this.packDown.userNumber+'_'+this.packDown.subjectName+`.zip`)
+        this.packDown.fileList=visitUrl
 
+        this.download('/laboratory/apply/downloadwBatch', {
+          ...this.packDown
+        }, this.packDown.userName+'_'+this.packDown.userNumber+'_'+this.packDown.subjectName+`.zip`)
 
 
 
 
-        }else if(type==2){// 打包下载
-          console.log(this.mrList)
-          if(this.mrList.length<=0){
-            this.msgInfo("请先勾选需要打包下载的文件!");
-          }else{
-            let list=[];
-            this.mrList.forEach(function (item){
-                list.push(item+',')
-            })
-            console.log(list)
-            this.packDown.userName=this.subjectData.sysUser.nickName
-            this.packDown.userNumber=this.subjectData.sysUser.userName
-            this.packDown.subjectName=this.subjectData.labSecurityApply.subjectName
-            this.packDown.fileList= list.join('@@')
 
+      }else if(type==2){// 打包下载
+        console.log(this.mrList)
+        if(this.mrList.length<=0){
+          this.msgInfo("请先勾选需要打包下载的文件!");
+        }else{
+          let list=[];
+          this.mrList.forEach(function (item){
+            list.push(item+',')
+          })
+          console.log(list)
+          this.packDown.userName=this.subjectData.sysUser.nickName
+          this.packDown.userNumber=this.subjectData.sysUser.userName
+          this.packDown.subjectName=this.subjectData.labSecurityApply.subjectName
+          this.packDown.fileList= list.join('@@')
 
 
-            this.download('/laboratory/apply/downloadwBatch', {
-              ...this.packDown
-            }, this.packDown.userName+'_'+this.packDown.userNumber+'_'+this.packDown.subjectName+`.zip`)
-          }
 
+          this.download('/laboratory/apply/downloadwBatch', {
+            ...this.packDown
+          }, this.packDown.userName+'_'+this.packDown.userNumber+'_'+this.packDown.subjectName+`.zip`)
         }
 
+      }
 
-      },
-      checkedImg(item){
-        console.log(item)
-        if(event.target.checked==false){
-          this.mrList.splice(this.mrList.indexOf(item.url),1);
-        }else{
-          this.mrList.push(item.name+';'+item.url)
-        }
-        console.log(this.mrList)
 
+    },
+    checkedImg(item){
+      console.log(item)
+      if(event.target.checked==false){
+        this.mrList.splice(this.mrList.indexOf(item.url),1);
+      }else{
+        this.mrList.push(item.name+';'+item.url)
+      }
+      console.log(this.mrList)
 
-      },
-      //审核按钮
-      auditClick(type){
-        let self = this;
-        if(type == 1){
-          this.open = true;
-        }else if(type == 2){
-          this.$confirm('是否确认审核?', "", {
+
+    },
+    //审核按钮
+    auditClick(type){
+      let self = this;
+      if(type == 1){
+        this.open = true;
+      }else if(type == 2){
+        this.$confirm('是否确认审核?', "", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          self.laboratoryApply(type);
+        }).then(() => {}).catch(() => {});
+      }
+    },
+    laboratoryApply(type){
+      let obj = {
+        id:this.infoData.list.id,
+        auditStatus:type,
+        rejectCause:this.rejectCause
+      };
+      if(type == 1){
+        obj.rejectCause = this.form.rejectCause;
+        obj.rejectMaterial = this.checkList + '';
+      }
+      laboratoryApply(obj).then(response => {
+        if(response.code==200){
+          this.msgSuccess("操作成功");
+          this.$parent.tableClick(1);
+        }else if(response.code==205){
+          this.$confirm(response.msg, "警告", {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
-          }).then(function() {
-            self.laboratoryApply(type);
-          }).then(() => {}).catch(() => {});
+          }).then(() => {
+            //  确定
+            this.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization-KDNH' });
+          }).catch(function() {
+            //  取消
+            this.$parent.tableClick(1);
+          });
         }
-      },
-      laboratoryApply(type){
-        let obj = {
-          id:this.infoData.list.id,
-          auditStatus:type,
-          rejectCause:this.rejectCause
-        };
-        if(type == 1){
-          obj.rejectCause = this.form.rejectCause;
-          obj.rejectMaterial = this.checkList + '';
-        }
-        laboratoryApply(obj).then(response => {
-          this.msgSuccess("操作成功");
-          this.$parent.tableClick(1);
-        })
-      },
-      //点击切换文件
-      forClick(item,index,bigIndex){
-        this.iframeSrc[bigIndex].forIndex = index;
-        this.iframeSrc[bigIndex].url = this.urlJudge(item.url)
-      },
-      //获取数据
-      getDetails(){
-        let self = this;
-        getDetails({id:this.infoData.list.id}).then(response => {
-          let dataList = [];
-          for(let i=0;i<response.data.listTemp.length;i++){
-            if(response.data.listTemp[i].materialType == 2 && response.data.listTemp[i].materialType == 2){
-              dataList.unshift(response.data.listTemp[i]);
-            }
+      })
+    },
+    //点击切换文件
+    forClick(item,index,bigIndex){
+      this.iframeSrc[bigIndex].forIndex = index;
+      this.iframeSrc[bigIndex].url = this.urlJudge(item.url)
+    },
+    //获取数据
+    getDetails(){
+      let self = this;
+      getDetails({id:this.infoData.list.id}).then(response => {
+        let dataList = [];
+        for(let i=0;i<response.data.listTemp.length;i++){
+          if(response.data.listTemp[i].materialType == 2 && response.data.listTemp[i].materialType == 2){
+            dataList.unshift(response.data.listTemp[i]);
           }
-          for(let i=0;i<response.data.listTemp.length;i++){
-            if(response.data.listTemp[i].materialType == 1){
-              dataList.push(response.data.listTemp[i]);
-            }
+        }
+        for(let i=0;i<response.data.listTemp.length;i++){
+          if(response.data.listTemp[i].materialType == 1){
+            dataList.push(response.data.listTemp[i]);
           }
-          for(let i=0;i<response.data.listTemp.length;i++){
-            if(response.data.listTemp[i].materialType == 2 && response.data.listTemp[i].materialType == 1){
-              dataList.unshift(response.data.listTemp[i]);
-            }
+        }
+        for(let i=0;i<response.data.listTemp.length;i++){
+          if(response.data.listTemp[i].materialType == 2 && response.data.listTemp[i].materialType == 1){
+            dataList.unshift(response.data.listTemp[i]);
           }
-          this.$set(response.data,'listTemp',dataList);
-          let newList = [];
-          for(let i=0;i<response.data.listTemp.length;i++){
-            if(response.data.listTemp[i].materialType == 1){
-              let maxList = [];
-              for(let o=0;o<response.data.listTemp[i].listMr.length;o++){
-                let bigList = response.data.listTemp[i].listMr[o].dataUrl.split(',');
-                for(let x=0;x<bigList.length;x++){
-                  if(bigList[x]){
-                    let minList = bigList[x].split(';');
-                    let obj = {
-                      name:minList[0],
-                      url:minList[1],
-                    };
-                    maxList.push(obj);
-                  }
-                }
-              }
-              response.data.listTemp[i].upList = maxList;
-              let obj ={};
-              if(maxList.length>0){
-                 obj = {
-                  forIndex:0,
-                  url:this.urlJudge(maxList[0].url)
+        }
+        this.$set(response.data,'listTemp',dataList);
+        let newList = [];
+        for(let i=0;i<response.data.listTemp.length;i++){
+          if(response.data.listTemp[i].materialType == 1){
+            let maxList = [];
+            for(let o=0;o<response.data.listTemp[i].listMr.length;o++){
+              let bigList = response.data.listTemp[i].listMr[o].dataUrl.split(',');
+              for(let x=0;x<bigList.length;x++){
+                if(bigList[x]){
+                  let minList = bigList[x].split(';');
+                  let obj = {
+                    name:minList[0],
+                    url:minList[1],
+                  };
+                  maxList.push(obj);
                 }
               }
-              newList.push(obj);
-            }else{
-              let obj = {
-                forIndex:"",
-                url:""
+            }
+            response.data.listTemp[i].upList = maxList;
+            let obj ={};
+            if(maxList.length>0){
+              obj = {
+                forIndex:0,
+                url:this.urlJudge(maxList[0].url)
               }
-              newList.push(obj);
             }
+            newList.push(obj);
+          }else{
+            let obj = {
+              forIndex:"",
+              url:""
+            }
+            newList.push(obj);
           }
-          this.$set(this,"iframeSrc",newList);
-          this.$set(this,"subjectData",response.data);
-          //审核备注
-          if(this.isLook){
-
-            this.rejectCause=response.data.labSecurityApply.rejectCause
-          }
-          this.$forceUpdate()
-          this.pageType = true;
-        })
-      },
-      //返回
-      backPage(){
+        }
+        this.$set(this,"iframeSrc",newList);
+        this.$set(this,"subjectData",response.data);
+        //审核备注
         if(this.isLook){
-          this.$parent.tableClick(2);
-        }else{
-          this.$parent.tableClick(1);
+
+          this.rejectCause=response.data.labSecurityApply.rejectCause
         }
+        this.$forceUpdate()
+        this.pageType = true;
+      })
+    },
+    //返回
+    backPage(){
+      if(this.isLook){
+        this.$parent.tableClick(2);
+      }else{
+        this.$parent.tableClick(1);
+      }
 
-      },
-    }
-  };
+    },
+  }
+};
 </script>
 
 <style scoped lang="scss">
-  .info-page {
-    flex:1;
-    display: flex!important;
-    flex-direction: column;
-    /*box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);*/
-    /*border-radius:10px;*/
-    .top-title-box{
-      display: flex;
-      border-bottom: 1px solid #E0E0E0;
-      /*padding-top:20px;*/
-      p:nth-child(1){
-        flex: 1;
-        line-height:60px;
-        color: #0045AF;
-        font-size:18px;
-        margin:0 0 0 40px;
-      }
-      p:nth-child(2){
-        margin-right:20px;
-      }
-      p:nth-child(3){
-        margin-right:20px;
-      }
-      p:nth-child(4){
-        margin-right:20px;
+.info-page {
+  flex:1;
+  display: flex!important;
+  flex-direction: column;
+  /*box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);*/
+  /*border-radius:10px;*/
+  .top-title-box{
+    display: flex;
+    border-bottom: 1px solid #E0E0E0;
+    /*padding-top:20px;*/
+    p:nth-child(1){
+      flex: 1;
+      line-height:60px;
+      color: #0045AF;
+      font-size:18px;
+      margin:0 0 0 40px;
+    }
+    p:nth-child(2){
+      margin-right:20px;
+    }
+    p:nth-child(3){
+      margin-right:20px;
+    }
+    p:nth-child(4){
+      margin-right:20px;
+    }
+  }
+  /*准入信息*/
+  .admittance_info{
+    display: flex;
+    justify-content: flex-start;
+    flex-wrap: wrap;
+    padding-left: 80px;
+    box-sizing: border-box;
+    >li{
+      list-style-type:none;
+      font-size: 16px;
+      font-family: Microsoft YaHei;
+      font-weight: 500;
+      color: #999999;
+      line-height: 70px;
+      margin-right: 20px;
+      >i{
+        margin-left: 10px;
+        display: inline-block;
+        font-style:normal;
+        font-size: 16px;
+        font-family: Microsoft YaHei;
+        font-weight: 500;
+        color: #333333;
+        line-height: 70px;
       }
     }
-    /*准入信息*/
-    .admittance_info{
+  }
+  /*准入材料*/
+  .admittance_materials{
+    padding-left: 40px;
+    box-sizing: border-box;
+    .admittance_materials_title{
+      flex: 1;
+      line-height:60px;
+      color: #0045AF;
+      font-size:18px;
+
+      border-bottom: 1px solid #E0E0E0;
+      margin-top: 0;
+    }
+    .identity{
       display: flex;
       justify-content: flex-start;
       flex-wrap: wrap;
-      padding-left: 80px;
+      padding-left: 40px;
       box-sizing: border-box;
       >li{
         list-style-type:none;
@@ -402,113 +455,74 @@ import {optionHazard} from "@/api/laboratory/hazard";
         }
       }
     }
-    /*准入材料*/
-    .admittance_materials{
-      padding-left: 40px;
+    .file_list{
+      padding-left: 80px;
       box-sizing: border-box;
-      .admittance_materials_title{
-        flex: 1;
-        line-height:60px;
-        color: #0045AF;
-        font-size:18px;
-
-        border-bottom: 1px solid #E0E0E0;
-        margin-top: 0;
+      >i{
+        font-style: normal;
+        font-size: 14px;
+        font-family: Microsoft YaHei;
+        font-weight: bold;
+        color: #0183FA;
+        line-height: 70px;
       }
-      .identity{
-        display: flex;
-        justify-content: flex-start;
-        flex-wrap: wrap;
+      .file_list_look{
         padding-left: 40px;
-        box-sizing: border-box;
-        >li{
-          list-style-type:none;
-          font-size: 16px;
-          font-family: Microsoft YaHei;
-          font-weight: 500;
-          color: #999999;
-          line-height: 70px;
-          margin-right: 20px;
-          >i{
-            margin-left: 10px;
-            display: inline-block;
-            font-style:normal;
-            font-size: 16px;
-            font-family: Microsoft YaHei;
-            font-weight: 500;
-            color: #333333;
-            line-height: 70px;
-          }
-        }
+        cursor: pointer;
+        font-style: normal;
+        font-size: 14px;
+        font-family: Microsoft YaHei;
+        font-weight: bold;
+        color: #0183FA;
+        line-height: 70px;
       }
-      .file_list{
-        padding-left: 80px;
-        box-sizing: border-box;
-        >i{
-          font-style: normal;
-          font-size: 14px;
-          font-family: Microsoft YaHei;
-          font-weight: bold;
-          color: #0183FA;
-          line-height: 70px;
-        }
-        .file_list_look{
-          padding-left: 40px;
-          cursor: pointer;
-          font-style: normal;
-          font-size: 14px;
-          font-family: Microsoft YaHei;
-          font-weight: bold;
-          color: #0183FA;
-          line-height: 70px;
-        }
 
-      }
-      .btn_list{
-        text-align: center;
-        margin-top: 40px;
-        >p{
-          margin-right: 20px;
-        }
-      }
     }
-    .item-max-box{
-      .item-title-box{
-        margin-left:50px;
-        font-size:16px;
-        line-height:80px;
+    .btn_list{
+      text-align: center;
+      margin-top: 40px;
+      >p{
+        margin-right: 20px;
       }
-      .item-user-box{
+    }
+  }
+  .item-max-box{
+    .item-title-box{
+      margin-left:50px;
+      font-size:16px;
+      line-height:80px;
+    }
+    .item-user-box{
+      display: flex;
+      margin-left:65px;
+      div{
         display: flex;
-        margin-left:65px;
-        div{
-          display: flex;
-          margin-right:60px;
-          font-size:14px;
-        }
-      }
-      .item-img-box{
-        width:240px;
-        margin-left:50px;
+        margin-right:60px;
+        font-size:14px;
       }
-      .item-for-text-box{
-        margin-left:77px;
-        p{
-          display: inline-block;
-          font-size:14px;
-          line-height:40px;
-          margin:0 57px 0 0;
-        }
-        .color-p{
-          color:#0045AF;
-        }
+    }
+    .item-img-box{
+      width:240px;
+      margin-left:50px;
+    }
+    .item-for-text-box{
+      margin-left:77px;
+      p{
+        display: inline-block;
+        font-size:14px;
+        line-height:40px;
+        margin:0 57px 0 0;
       }
-      .item-html-box{
-        margin:20px 0 40px 58px;
-        width:900px;
-        height:900px;
-        background: #F5F5F5;
+      .color-p{
+        color:#0045AF;
       }
     }
+    .item-html-box{
+      margin:20px 0 40px 58px;
+      width:900px;
+      height:900px;
+      background: #F5F5F5;
+    }
   }
+}
 </style>

+ 1 - 1
src/views/secureAccess/approval_handle/addPage.vue

@@ -359,7 +359,7 @@
       lookFile(item){
         console.log(item)
 
-        var originUrl = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API+'/admin/'+item; //要预览文件的访问地址
+        var originUrl = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress()+'/admin/'+item; //要预览文件的访问地址
 
         window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(originUrl)));
       },

+ 3 - 3
src/views/secureAccess/approval_handle/infoPage.vue

@@ -92,10 +92,10 @@ export default {
 
   methods: {
     lookFile(item){
-      window.open(window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item.url)
-      // let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item.url;
+      window.open(window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url)
+      // let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url;
       // console.log(visitUrl)
-      // window.open(window.location.href.split('://')[0]+'://'  + process.env.VUE_APP_BASE_FILE_API + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
+      // window.open(window.location.href.split('://')[0]+'://'  + this.judgmentNetworkReturnAddress() + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },
     //点击切换文件
     forClick(item,index,bigIndex){

Різницю між файлами не показано, бо вона завелика
+ 522 - 507
src/views/secureAccess/whitelist/addPage.vue


+ 1 - 1
src/views/securityCheck/checkOption/index.vue

@@ -142,7 +142,7 @@ export default {
   data() {
     return {
       tableButtonType:this.hasPermiDom(['laboratory:checkOption:add','laboratory:checkOption:add','laboratory:checkOption:edit','laboratory:checkOption:remove']),
-      uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/checkOption/import", // 上传的图片服务器地址
+      uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/laboratory/checkOption/import", // 上传的图片服务器地址
       headers: {
         Authorization: "Bearer " + getToken(),
       },

+ 1 - 1
src/views/securityCheck/checkRecord/CheckRecordInfo.vue

@@ -312,7 +312,7 @@
     },
     data() {
       return {
-        uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/laboratory/studentinfo/commit/face", // 上传的图片服务器地址
+        uploadImgUrl: window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + "/laboratory/studentinfo/commit/face", // 上传的图片服务器地址
         uploadImgUrlTwo: this.uploadUrl(), // 上传的图片服务器地址
         headers: {
           Authorization: "Bearer " + getToken(),

+ 1 - 1
src/views/securityCheck/checkRecord/addCheck.vue

@@ -441,7 +441,7 @@ export default {
     },
     //上传
     handleAvatarSuccess(res, file, index) {
-      //let url=window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API+"/"+res.data.url;
+      //let url=window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress()+"/"+res.data.url;
       this.form.detailsList[index].yhImg.push(res.data.url);
       this.$forceUpdate()
     },

+ 2 - 2
src/views/securityCheck/checkRecord/unsubmittedInfo.vue

@@ -454,7 +454,7 @@
               obj.yhlist[i].voice = [];
             }
             for(let x=0;x<obj.yhlist[i].voice.length;x++){
-              obj.yhlist[i].voice[x].url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + '/' + obj.yhlist[i].voice[x].url;
+              obj.yhlist[i].voice[x].url = window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + '/' + obj.yhlist[i].voice[x].url;
             }
             obj.yhlist[i].jcxId = obj.yhlist[i].jcxId.split(",");
             for(let o=0;o<obj.yhlist[i].jcxId.length;o++){
@@ -523,7 +523,7 @@
       },
       //上传
       handleAvatarSuccess(res, file, index) {
-        // let url=window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API+"/"+res.data.url;
+        // let url=window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress()+"/"+res.data.url;
         // this.form.detailsList[index].yhImg.push(url);
         // this.form.detailsList[index].yhImg.push(res.data.url);
         this.form.detailsList[index].yhImg.push(res.data.url);

+ 10 - 154
src/views/securityCheck/release/checkRecordInfoPage.vue

@@ -1,153 +1,7 @@
 <!--检查记录详情-->
 <template>
   <div class="checkRecordInfoPage" v-if="pageType">
-    <!--<div class="top-steps-box">-->
-      <!--<el-steps :active="active">-->
-        <!--<el-step :title="textOne" icon="el-icon-circle-check"></el-step>-->
-        <!--<el-step :title="textTwo" :class="newData.zgStatus == 2?'zgStatusColor':''" :icon="newData.zgStatus == 2?'el-icon-circle-close':'el-icon-circle-check'"></el-step>-->
-        <!--<el-step :title="textTree" icon="el-icon-circle-check"></el-step>-->
-      <!--</el-steps>-->
-    <!--</div>-->
-    <!--<div class="top-text-steps-box">-->
-      <!--<div class="top-text-steps-left">-->
-        <!--<p>检查时间:{{newData.createTime}}</p>-->
-        <!--<p>截止整改时间:{{newData.zgjzTime}}</p>-->
-        <!--<p v-if="newData.firstTime">首次查看报告时间:{{newData.firstTime}}</p>-->
-      <!--</div>-->
-      <!--<div class="top-text-steps-center">-->
-        <!--<p v-if="newData.zgqrTime">整改时间:{{newData.zgqrTime}}</p>-->
-        <!--<p v-if="newData.zgbhTime">驳回时间:{{newData.zgbhTime}}</p>-->
-      <!--</div>-->
-    <!--</div>-->
-    <!--<div class="center-info-box scrollbar-box">-->
-      <!--<div class="center-info-top-box">-->
-        <!--<div class="center-left-box">-->
-          <!--<img src="@/assets/newImages/icon_7.png">-->
-          <!--<div>-->
-            <!--<p>{{newData.zgType == 0?'一般整改':(newData.zgType == 1?'重大整改':'')}}</p>-->
-            <!--<p>{{newData.jcDwName}}</p>-->
-          <!--</div>-->
-        <!--</div>-->
-        <!--<div class="center-center-box">-->
-          <!--<img src="@/assets/newImages/icon_8.png">-->
-          <!--<div>-->
-            <!--<p>{{newData.laboratoryName}}</p>-->
-            <!--<p>{{newData.buildingName}}{{newData.fjNumber}}</p>-->
-          <!--</div>-->
-        <!--</div>-->
-        <!--<div class="center-right-box">-->
-          <!--<img src="@/assets/newImages/icon_9.png">-->
-          <!--<div>-->
-            <!--<p>{{newData.fzrName}}</p>-->
-            <!--<p>{{newData.fzrLxfs}}</p>-->
-          <!--</div>-->
-        <!--</div>-->
-      <!--</div>-->
-      <!--<div class="text-box" v-if="newData.zgStatus == 2 || newData.zgStatus == 4">-->
-        <!--<p>{{newData.zgStatus == 2?'驳回原因':(newData.zgStatus == 4?'整改结果':'')}}:</p>-->
-        <!--<p>{{newData.zgStatus == 2?newData.fbYy:(newData.zgStatus == 4?newData.zgJg:'')}}</p>-->
-      <!--</div>-->
-      <!--<p class="center-info-title" v-if="newData.zgStatus==0">隐患信息</p>-->
-      <!--<p class="center-info-title" v-if="newData.zgStatus==1 || newData.zgStatus==2">整改信息</p>-->
-      <!--<p class="center-info-title" v-if="newData.zgStatus==3 || newData.zgStatus==4">已整改信息</p>-->
-      <!--<div class="center-for-box" v-for="(item,index) in newData.detailsList" :key="index" v-if="item.isZg != 1">-->
-        <!--<div class="center-for-left-box">-->
-          <!--<p class="for-title-p">{{item.jcxName}}</p>-->
-          <!--<div class="for-text-box" v-if="item.isLingshi == 1">-->
-            <!--<p>条款:</p>-->
-            <!--<p>临时检查项</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isLingshi == 0">-->
-            <!--<p>条款:</p>-->
-            <!--<p>{{item.allCheckOptionName}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box">-->
-            <!--<p>隐患描述:</p>-->
-            <!--<p>{{item.yhMs}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 0 && newData.zgType == 0">-->
-            <!--<p>整改描述:</p>-->
-            <!--<p>{{item.zgMs}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 0 && newData.zgType == 1">-->
-            <!--<p>原因分析:</p>-->
-            <!--<p>{{item.zgYyfx}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 0 && newData.zgType == 1">-->
-            <!--<p>整改措施:</p>-->
-            <!--<p>{{item.zgCs}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 1">-->
-            <!--<p>证明信息:</p>-->
-            <!--<p>{{item.zmClMs}}</p>-->
-          <!--</div>-->
-        <!--</div>-->
-        <!--<div class="center-for-right-box">-->
-          <!--<div class="for-img-max-box">-->
-            <!--<p class="for-img-max-title-p" v-if="!item.yhImg[0]">未上传隐患照片</p>-->
-            <!--<p class="for-img-max-title-p" v-if="item.yhImg[0]">整改前照片:</p>-->
-            <!--<div class="for-img-box">-->
-              <!--<img v-for="(itemImg,imgIndex) in item.yhImg" :key="imgIndex" :src="itemImg" @click="lockImg(1,itemImg)">-->
-            <!--</div>-->
-          <!--</div>-->
-          <!--<div class="for-img-max-box" v-if="item.yhZghImg">-->
-            <!--<p class="for-img-max-title-p">整改后照片:</p>-->
-            <!--<div class="for-img-box">-->
-              <!--<img v-for="(itemImg,imgIndex) in item.yhZghImg" :key="imgIndex" :src="itemImg" @click="lockImg(2,itemImg)">-->
-            <!--</div>-->
-          <!--</div>-->
-        <!--</div>-->
-      <!--</div>-->
-      <!--<p class="center-info-title" v-if="newData.zgStatus==3">未整改信息</p>-->
-      <!--<div class="center-for-box" v-for="(item,index) in newData.detailsList" :key="index" v-if="item.isZg == 1">-->
-        <!--<div class="center-for-left-box">-->
-          <!--<p class="for-title-p">{{item.jcxName}}</p>-->
-          <!--<div class="for-text-box" v-if="item.isLingshi == 1">-->
-            <!--<p>条款:</p>-->
-            <!--<p>临时检查项</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isLingshi == 0">-->
-            <!--<p>条款:</p>-->
-            <!--<p>{{item.allCheckOptionName}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box">-->
-            <!--<p>隐患描述:</p>-->
-            <!--<p>{{item.yhMs}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 0 && newData.zgType == 0">-->
-            <!--<p>整改描述:</p>-->
-            <!--<p>{{item.zgMs}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 0 && newData.zgType == 1">-->
-            <!--<p>原因分析:</p>-->
-            <!--<p>{{item.zgYyfx}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 0 && newData.zgType == 1">-->
-            <!--<p>整改措施:</p>-->
-            <!--<p>{{item.zgCs}}</p>-->
-          <!--</div>-->
-          <!--<div class="for-text-box" v-if="item.isZg == 1">-->
-            <!--<p>证明信息:</p>-->
-            <!--<p>{{item.zmClMs}}</p>-->
-          <!--</div>-->
-        <!--</div>-->
-        <!--<div class="center-for-right-box">-->
-          <!--<div class="for-img-max-box">-->
-            <!--<p class="for-img-max-title-p" v-if="!item.yhImg[0]">未上传隐患照片</p>-->
-            <!--<p class="for-img-max-title-p" v-if="item.yhImg[0]">整改前照片:</p>-->
-            <!--<div class="for-img-box">-->
-              <!--<img v-for="(itemImg,imgIndex) in item.yhImg" :key="imgIndex" :src="itemImg" @click="lockImg(1,itemImg)">-->
-            <!--</div>-->
-          <!--</div>-->
-          <!--<div class="for-img-max-box" v-if="item.zmClImg">-->
-            <!--<p class="for-img-max-title-p">证明材料:</p>-->
-            <!--<div class="for-img-box">-->
-              <!--<img v-for="(itemImg,imgIndex) in item.zmClImg" :key="imgIndex" :src="itemImg" @click="lockImg(3,itemImg)">-->
-            <!--</div>-->
-          <!--</div>-->
-        <!--</div>-->
-      <!--</div>-->
-    <!--</div>--><!--标题部分-->
+    <!--标题部分-->
     <div class="top-title-box">
       <p class="title-p">发布详情</p>
       <p class="button-p reset-button-one" @click="backPage">返回</p>
@@ -232,7 +86,7 @@
                 <div class="center-info-for-big-flex-left-box">
                   <p class="center-info-for-big-flex-left-title">隐患照片:</p>
                   <div class="center-info-for-big-flex-left-img-box" v-if="item.yhImg[0]">
-                    <img :src="item" v-for="(item,index) in item.yhImg" :key="index" @click="lockImg(item)">
+                    <img :src="item" v-for="(item,index) in item.yhImg" :key="index" @click="lockImg(1,item)">
                   </div>
                   <p v-if="!item.yhImg[0]">未上传照片</p>
                 </div>
@@ -251,7 +105,7 @@
                   </div>
                 </div>
               </div>
-              <div class="center-info-for-min-box" :class="" v-if="item.detailslogList[0]">
+              <div class="center-info-for-min-box" v-if="item.detailslogList[0]">
                 <!--整改循环-->
                 <div class="center-info-for-min" v-for="(minItme,minIndex) in item.detailslogList" :key="minIndex" v-if="minIndex == 0 || item.allDataType">
                   <div class="center-info-for-min-left-box">
@@ -274,7 +128,7 @@
                     <div class="for-min-img-box">
                       <p class="for-min-img-box-left-title">整改照片:</p>
                       <div class="for-min-img-box-left-img-box" v-if="minItme.yhZghImg[0]">
-                        <img :src="minItemMin" v-for="(minItemMin,minIndexMin) in item.yhZghImg" :key="minIndexMin" @click="lockImg(minItemMin)">
+                        <img :src="minItemMin" v-for="(minItemMin,minIndexMin) in item.yhZghImg" :key="minIndexMin" @click="lockImg(2,minItemMin)">
                       </div>
                       <p v-if="!item.yhZghImg[0]">未上传照片</p>
                     </div>
@@ -330,7 +184,7 @@
                 <div class="center-info-for-big-flex-left-box">
                   <p class="center-info-for-big-flex-left-title">隐患照片:</p>
                   <div class="center-info-for-big-flex-left-img-box" v-if="item.yhImg[0]">
-                    <img :src="item" v-for="(item,index) in item.yhImg" :key="index" @click="lockImg(item)">
+                    <img :src="item" v-for="(item,index) in item.yhImg" :key="index" @click="lockImg(1,item)">
                   </div>
                   <p v-if="!item.yhImg[0]">未上传照片</p>
                 </div>
@@ -372,7 +226,7 @@
                     <div class="for-min-img-box">
                       <p class="for-min-img-box-left-title">整改照片:</p>
                       <div class="for-min-img-box-left-img-box" v-if="minItme.yhZghImg[0]">
-                        <img :src="minItemMin" v-for="(minItemMin,minIndexMin) in minItme.yhZghImg" :key="minIndexMin" @click="lockImg(minItemMin)">
+                        <img :src="minItemMin" v-for="(minItemMin,minIndexMin) in minItme.yhZghImg" :key="minIndexMin" @click="lockImg(2,minItemMin)">
                       </div>
                       <p v-if="!minItme.yhZghImg[0]">未上传照片</p>
                     </div>
@@ -428,7 +282,7 @@
                 <div class="center-info-for-big-flex-left-box">
                   <p class="center-info-for-big-flex-left-title">隐患照片:</p>
                   <div class="center-info-for-big-flex-left-img-box" v-if="item.yhImg[0]">
-                    <img :src="item" v-for="(item,index) in item.yhImg" :key="index" @click="lockImg(item)">
+                    <img :src="item" v-for="(item,index) in item.yhImg" :key="index" @click="lockImg(1,item)">
                   </div>
                   <p v-if="!item.yhImg[0]">未上传照片</p>
                 </div>
@@ -470,7 +324,7 @@
                     <div class="for-min-img-box">
                       <p class="for-min-img-box-left-title">整改照片:</p>
                       <div class="for-min-img-box-left-img-box" v-if="minItme.yhZghImg[0]">
-                        <img :src="minItemMin" v-for="(minItemMin,minIndexMin) in item.yhZghImg" :key="minIndexMin" @click="lockImg(minItemMin)">
+                        <img :src="minItemMin" v-for="(minItemMin,minIndexMin) in item.yhZghImg" :key="minIndexMin" @click="lockImg(2,minItemMin)">
                       </div>
                       <p v-if="!item.yhZghImg[0]">未上传照片</p>
                     </div>
@@ -740,6 +594,8 @@
       },
       //查看图片
       lockImg(type,url){
+        console.log(type)
+        console.log(url)
         if(type == 1){
           this.imgTitle = "整改前照片";
         }else if(type == 2){

+ 1 - 1
src/views/securityCheck/release/index.vue

@@ -11,7 +11,7 @@
             size="small"
           />
         </el-form-item>
-        <el-form-item label="检查时间" label-width="70px">
+        <el-form-item label="发布时间" label-width="70px">
           <el-date-picker
             :clearable="false"
             v-model="dateRange"

+ 2 - 2
src/views/securityCheck/release/listPage.vue

@@ -66,8 +66,8 @@
           <p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>
         </el-form-item>
       </el-form>
-      <el-table v-loading="loading" border :data="checkRecordList" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" align="center"/>
+      <el-table v-loading="loading" border :data="checkRecordList">
+<!--        <el-table-column type="selection" width="55" align="center"/>-->
         <!--<el-table-column type="selection" width="55" align="center" />-->
         <!--<el-table-column label="创建人id" align="center" prop="id" />-->
         <el-table-column label="整改状态" align="left" prop="zgStatus" width="120">

+ 0 - 0
src/views/studentViews/chemicalManagement/studentChemicalInfo/index.vue


Деякі файли не було показано, через те що забагато файлів було змінено