dedsudiyu 2 роки тому
батько
коміт
eabcd664bb
47 змінених файлів з 2255 додано та 1054 видалено
  1. 6 0
      .env.production
  2. 8 0
      src/api/laboratory/record.js
  3. BIN
      src/assets/ZDimages/bigData3_2/img_bg_kd.png
  4. BIN
      src/assets/ZDimages/bigData3_2/img_bg_yatk.png
  5. BIN
      src/assets/ZDimages/home/1.png
  6. BIN
      src/assets/ZDimages/home/10.png
  7. BIN
      src/assets/ZDimages/home/2.png
  8. BIN
      src/assets/ZDimages/home/3.png
  9. BIN
      src/assets/ZDimages/home/4.png
  10. BIN
      src/assets/ZDimages/home/5.png
  11. BIN
      src/assets/ZDimages/home/6.png
  12. BIN
      src/assets/ZDimages/home/7.png
  13. BIN
      src/assets/ZDimages/home/8.png
  14. BIN
      src/assets/ZDimages/home/9.png
  15. 0 57
      src/layout/components/AppMain.vue
  16. 0 252
      src/views/comprehensive/laboratoryManagement/accessAuthorization/addPage.vue
  17. 1 18
      src/views/comprehensive/laboratoryManagement/accessAuthorization/application.vue
  18. 2 1
      src/views/comprehensive/laboratoryManagement/accessAuthorization/index.vue
  19. 0 133
      src/views/comprehensive/laboratoryManagement/accessAuthorization/infoPage.vue
  20. 0 306
      src/views/comprehensive/laboratoryManagement/accessAuthorization/lookImpowerSearch.vue
  21. 88 23
      src/views/comprehensive/laboratoryManagement/record/index.vue
  22. 89 26
      src/views/comprehensive/laboratoryManagement/record_my/index.vue
  23. 3 1
      src/views/comprehensive/laboratoryManagement/subject/index.vue
  24. 15 15
      src/views/comprehensive/laboratoryManagement/subject/indexOne.vue
  25. 15 15
      src/views/comprehensive/laboratoryManagement/subject/indexTwo.vue
  26. 10 1
      src/views/comprehensive/personnel/student/addPage.vue
  27. 74 0
      src/views/comprehensive/personnel/student/differenceComponent/addPageSubPagePublic.vue
  28. 44 0
      src/views/comprehensive/personnel/student/differenceComponent/addPageSubPageSZDX.vue
  29. 9 2
      src/views/comprehensive/personnel/teacher/addPage.vue
  30. 100 0
      src/views/comprehensive/personnel/teacher/differenceComponent/addPageSubPagePublic.vue
  31. 76 0
      src/views/comprehensive/personnel/teacher/differenceComponent/addPageSubPageSZDX.vue
  32. 2 1
      src/views/comprehensive/system/publicConfig/index.vue
  33. 586 0
      src/views/differenceComponent/homeSubPageKYDXNH.vue
  34. 638 0
      src/views/differenceComponent/homeSubPagePublic.vue
  35. 27 0
      src/views/differenceComponent/newEvacuationBigDataSubPageKYDXNH.vue
  36. 27 0
      src/views/differenceComponent/newEvacuationBigDataSubPagePublic.vue
  37. 11 166
      src/views/home.vue
  38. 61 0
      src/views/mine/differenceComponent/fingerprintSubPagePublic.vue
  39. 5 14
      src/views/mine/index.vue
  40. 32 18
      src/views/newEvacuationBigData.vue
  41. 9 1
      src/views/newEvacuationBigDataHome.vue
  42. 76 0
      src/views/secureAccess/approval/differenceComponent/addPageSubPagePublic.vue
  43. 57 0
      src/views/secureAccess/approval/differenceComponent/addPageSubPageSZDX.vue
  44. 21 3
      src/views/secureAccess/approval/infoPage.vue
  45. 12 1
      src/views/secureAccess/whitelist/addPage.vue
  46. 82 0
      src/views/secureAccess/whitelist/differenceComponent/addPageSubPagePublic.vue
  47. 69 0
      src/views/secureAccess/whitelist/differenceComponent/addPageSubPageSZDX.vue

+ 6 - 0
.env.production

@@ -4,6 +4,12 @@ VUE_APP_TITLE = 实验室安全管理系统
 # 生产环境配置
 ENV = 'production'
 
+# ####################版本差异字段####################
+
+# VUE_APP_VERSION_DIFFERENCE_FIELD = 'kuangYeDaXue_nanHu'
+# VUE_APP_VERSION_DIFFERENCE_FIELD = 'suZhouDaXue'
+VUE_APP_VERSION_DIFFERENCE_FIELD = 'public'
+
 # ####################外网接口配置####################
 
 VUE_APP_BASE_API = 'lab.sxitdlc.com/labAppTest'

+ 8 - 0
src/api/laboratory/record.js

@@ -60,4 +60,12 @@ export function myListRecord(query) {
   })
 }
 
+//查看进出记录详情照片
+export function getDetial(id) {
+  return request({
+    url: '/laboratory/inspection/detial/'+id,
+    method: 'get',
+  })
+}
+
 

BIN
src/assets/ZDimages/bigData3_2/img_bg_kd.png


BIN
src/assets/ZDimages/bigData3_2/img_bg_yatk.png


BIN
src/assets/ZDimages/home/1.png


BIN
src/assets/ZDimages/home/10.png


BIN
src/assets/ZDimages/home/2.png


BIN
src/assets/ZDimages/home/3.png


BIN
src/assets/ZDimages/home/4.png


BIN
src/assets/ZDimages/home/5.png


BIN
src/assets/ZDimages/home/6.png


BIN
src/assets/ZDimages/home/7.png


BIN
src/assets/ZDimages/home/8.png


BIN
src/assets/ZDimages/home/9.png


+ 0 - 57
src/layout/components/AppMain.vue

@@ -3,8 +3,6 @@
     <div class="app-main-top-text-box" v-if="textType">
       <p>{{text}}</p>
       <p @click="buttonClick">查看</p>
-      <p v-if="closePlan">丨</p>
-      <p v-if="closePlan" @click="offButton">结束预案</p>
     </div>
     <div class="app-main-top-text-box-two" :class="workType == 1?'work-color-a':(workType == 2?'work-color-b':'')" v-if="!textType&&(workType == 1 || workType == 2)">
       <p>{{textWork}}</p>
@@ -20,7 +18,6 @@
 </template>
 
 <script>
-  import { getListStatus,closeRiskPlan } from '@/api/bigData/index.js'
   import { selectTriggerInfo} from '@/api/evacuationBigData/index.js'
   import store from '@/store'
   import mqtt from 'mqtt'
@@ -55,7 +52,6 @@ export default {
     }
   },
   created() {
-    // this.getListStatus();
   },
   mounted(){
     this.userType = localStorage.getItem('userType')
@@ -122,7 +118,6 @@ export default {
           console.log("data",data);
           if(topic == this.mtopic){
             //报警
-            // this.getListStatus();
             store.dispatch('settings/setPlanData', data)
             self.selectTriggerInfo();
           }
@@ -135,46 +130,6 @@ export default {
         }
       });
     },
-    //结束预案
-    closeRiskPlan(){
-      closeRiskPlan({id:this.groupId}).then(response => {
-        this.msgSuccess("操作成功");
-        this.getListStatus();
-      });
-    },
-    //查询报警信息
-    async getListStatus(){
-      let self = this;
-      const { data } = await getListStatus();
-      // console.log("getListStatusgetListStatusgetListStatusgetListStatus",data);
-      if(data.code==200){
-        if(data.data[0]){
-          if(data.data[0].floorId != 7){
-            self.text = data.data[0].buildName + data.data[0].floorName + data.data[0].roomName + data.data[0].subjectName + '发生应急预案';
-            self.textName = data.data[0].subjectName;
-            self.subjectId = data.data[0].subjectId;
-            self.textType = self.userType != '22';
-            self.closePlan =data.data[0].closePlan;
-            self.closeId = data.data[0].id;
-            self.buttonId = data.data[0].floorId;
-            self.buildingId = data.data[0].buildId;
-            self.address = data.data[0].deptName +'-'+data.data[0].buildName+''+data.data[0].floorName;
-          }
-        }
-      }
-    },
-    //结束预案
-    offButton(){
-      let self = this;
-      this.$confirm('确定要结束预案吗?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function() {
-        self.closeRiskPlan();
-      }).then(() => {
-      }).catch(() => {});
-    },
     //执行按钮
     buttonClick(){
       let self = this;
@@ -204,17 +159,6 @@ export default {
             })
             done();
           } else {
-            // this.$router.push({
-            //   path: "/emergencyEvacuationBig",
-            //   query: {
-            //     subId: self.subjectId,
-            //     text:self.textName,
-            //     buttonId:self.buttonId,
-            //     buildingId:self.buildingId,
-            //     address:self.address,
-            //     type:"2",
-            //   }
-            // })
             //取消
             done();
           }
@@ -234,7 +178,6 @@ export default {
         }
         localStorage.setItem('selectTriggerList',arr)
         if(response.data[0]){
-
           this.$set(this,'text',response.data.length>1?'有多个实验室发生预案':'有实验室发生预案');
           this.$set(this,'buildId',response.data[0].buildId);
           this.$set(this,'floorId',response.data[0].floorId);

+ 0 - 252
src/views/comprehensive/laboratoryManagement/accessAuthorization/addPage.vue

@@ -1,252 +0,0 @@
-<template>
-  <div class="addPage">
-    <div class="title-box">
-      <p>门禁授权申请</p>
-      <!--<p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>-->
-    </div>
-    <el-form ref="form" :model="form" :rules="addRules" label-width="200px">
-      <el-form-item label="实验室:" prop="subjectId" class="selsectbox"
-                    style="display: inline-block">
-        <el-select
-          style="width:500px;"
-          @change="userChange"
-          v-model="form.subjectId"
-          filterable
-          placeholder="搜索选择实验室"
-          remote
-          :remote-method="userSelectList"
-          :loading="loading">
-          <el-option
-            v-for="item in optionsUser"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id">
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="管理员:" prop="safeUserId"
-                    style="display: inline-block">
-        <el-select
-          style="width:500px;"
-          v-model="form.safeUserId"
-          placeholder="请选择管理员"
-          remote
-          :loading="loading">
-          <el-option
-            v-for="item in optionsUserOne"
-            :key="item.safeUserId"
-            :label="item.safeUserName"
-            :value="item.safeUserId">
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <!--<el-form-item label="共同申请人:" prop="userId2" class="selsectbox"-->
-                    <!--style="display: inline-block">-->
-        <!--<el-select-->
-          <!--style="width:500px;"-->
-          <!--@change="userChangeOne"-->
-          <!--v-model="form.userId2"-->
-          <!--filterable-->
-          <!--placeholder="搜索选择共同申请人"-->
-          <!--remote-->
-          <!--:remote-method="userSelectListOne"-->
-          <!--:loading="loading">-->
-          <!--<el-option-->
-            <!--v-for="item in optionsUserOne"-->
-            <!--:key="item.userId"-->
-            <!--:label="item.nickName"-->
-            <!--:value="item.userId">-->
-            <!--{{item.nickName}}-{{item.userName}}-->
-          <!--</el-option>-->
-        <!--</el-select>-->
-      <!--</el-form-item>-->
-      <el-form-item label="位置:" prop="laboratoryId">
-        <p style="line-height:40px;color:#333;">{{text?text:'请选择实验室'}}</p>
-      </el-form-item>
-      <!--<el-form-item label="安全责任人:" prop="laboratoryId">-->
-        <!--&lt;!&ndash;<p style="line-height:40px;">{{name?name:'请选择实验室'}}</p>&ndash;&gt;-->
-        <!--<p style="line-height:40px;color:#333;" v-if="!nameList[0]">请选择实验室</p>-->
-        <!--<p style="line-height:40px;color:#333;" v-if="nameList[0]"><span v-for="(item,index) in nameList">{{index!=0?','+item:item}}</span></p>-->
-      <!--</el-form-item>-->
-    </el-form>
-    <div class="bottom-button-box">
-      <p class="reset-button-one" @click="backPage">取消</p>
-      <p class="inquire-button-one" @click="upData">提交</p>
-    </div>
-  </div>
-</template>
-
-<script>
-import { subjectList,selectUserListByName } from "@/api/laboratory/approval";
-import { subjectVo,openDoorApply,subjectRelationList } from "@/api/laboratory/subject";
-  export default {
-    name: "addPage",
-    data(){
-      return{
-        loading:false,
-        form:{},
-        addRules:{
-          subjectId: [
-            { required: true, message: "请选择实验室", trigger: "blur" }
-          ],
-          userId2: [
-            { required: true, message: "请选择共同申请人", trigger: "blur" },
-          ],
-          safeUserId: [
-            { required: true, message: "请选择管理员", trigger: "blur" },
-          ],
-        },
-        optionsUser:[],
-        optionsUserOne:[],
-        subjectOptions:[],
-        text:"",
-        nameList:"",
-        newObj:{},
-
-      }
-    },
-    created() {
-
-    },
-    mounted(){
-
-    },
-    methods:{
-      //实验室获取
-      userSelectList(query){
-        if (query !== '' && query.length>1) {
-          this.loading = true;
-          let obj = {
-            name : query
-          };
-          subjectList(obj).then(response => {
-            this.optionsUser = response.data;
-            this.loading = false;
-          });
-        } else {
-          this.optionsUser = [];
-        }
-      },
-      //人员获取
-      userSelectListOne(query){
-        if (query !== '' && query.length>1) {
-          this.loading = true;
-          let obj = {
-            nickName : query,
-            userType : 22
-          };
-          selectUserListByName(obj).then(response => {
-            this.optionsUserOne = response.data;
-            this.loading = false;
-          });
-        } else {
-          this.optionsUserOne = [];
-        }
-      },
-      //实验室选中
-      userChange(data){
-        let self = this;
-        subjectVo(data,0).then(response => {
-          this.text = response.data.deptName + '-' + response.data.buildName + '-' + response.data.floorName +'-'+ response.data.roomName
-          let list = response.data.safeUserNames.split(',');
-          this.$set(this,'nameList',list);
-          this.$set(this.newObj,'position',response.data.buildName + '-' + response.data.floorName +'-'+ response.data.roomName);
-          this.$set(this.newObj,'college',response.data.deptName);
-          this.$set(this.newObj,'subjectName',response.data.name);
-          this.$set(this.newObj,'subjectId',response.data.id);
-          // this.$set(this.newObj,'safeUserName',response.data.safeUserName);
-          // this.$set(this.newObj,'safeUserId',response.data.safeUserId);
-          // this.$set(this.newObj,'safeUserPhone',response.data.safeUserPhone);
-          subjectRelationList({subjectId:response.data.id}).then(response => {
-            this.$set(this,'optionsUserOne',response.rows);
-          })
-        });
-      },
-      //人员选中
-      userChangeOne(data){
-        this.$set(this.newObj,'userId2',data);
-      },
-      upData(){
-        let self = this;
-        this.$refs["form"].validate(valid => {
-          if (valid) {
-            this.$confirm('确认要提交吗?', "警告", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning"
-            }).then(() => {
-              for(let i=0;i<self.optionsUserOne.length;i++){
-                if(self.form.safeUserId == self.optionsUserOne[i].safeUserId){
-                  self.newObj.safeUserId = self.optionsUserOne[i].safeUserId;
-                  self.newObj.safeUserName = self.optionsUserOne[i].safeUserName;
-                  self.newObj.safeUserPhone = self.optionsUserOne[i].safeUserPhone;
-                }
-              }
-              openDoorApply(self.newObj).then(response => {
-                self.msgSuccess(response.msg);
-                self.$parent.goPageButton(3);
-              });
-            }).catch(function() {
-              //  取消
-            });
-          }
-        });
-      },
-      //返回
-      backPage(){
-        this.$parent.goPageButton(1);
-      },
-    }
-  }
-</script>
-
-<style scoped lang="scss">
-  .addPage{
-    flex:1;
-    display: flex;
-    flex-direction: column;
-    overflow: hidden;
-    p{
-      margin:0;
-      padding:0;
-    }
-    .title-box{
-      display: flex;
-      height:90px;
-      border-bottom: 1px solid #D8D8D8;
-      margin-bottom:40px;
-      p:nth-child(1){
-        flex:1;
-        font-size:16px;
-        line-height:90px;
-        margin-left:18px;
-        color:#0045AF;
-      }
-      p:nth-child(2){
-        margin:25px 25px 0 0;
-      }
-    }
-    .bottom-button-box{
-      display: flex;
-      margin:200px auto 40px;
-      p:nth-child(1){
-        margin-right:20px;
-        width:90px;
-      }
-      p:nth-child(2){
-        width:90px;
-      }
-    }
-  }
-</style>
-<style>
-  /*//替换左边默认图标*/
-  .selsectbox .el-select .el-input .el-select__caret:after {
-    background: url(../../../../assets/ZDimages/icon_001.png) no-repeat center center; /*引入icon*/
-    transform:rotate(180deg);
-    background-size: 20px 20px;  /*这个是图片的大小,在这里不能直接设置width  height,设置宽高其实是select的宽高,图片可能会失真只设置宽度  高度auto也行*/
-    padding: 0 0 0 26px; /*需要设置padding 把placeholder向右移*/
-    box-sizing: border-box;
-    font-size: 14px;
-  }
-</style>

+ 1 - 18
src/views/comprehensive/laboratoryManagement/accessAuthorization/application.vue

@@ -1,7 +1,7 @@
 <!--授权日志-->
 <template>
   <div class="application">
-    <div class="application-page" v-if="pageType == 1">
+    <div class="application-page">
       <div class="title-box">
         <div @click="titleClick(1)">
           <p>门禁授权</p>
@@ -56,21 +56,15 @@
                     @pagination="getList"/>
       </div>
     </div>
-    <addPage v-if="pageType == 2"></addPage>
   </div>
 </template>
 
 <script>
 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,
@@ -104,17 +98,6 @@ export default {
     titleClick(type){
       this.$parent.titleClick(type);
     },
-    //页面状态切换
-    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;

+ 2 - 1
src/views/comprehensive/laboratoryManagement/accessAuthorization/index.vue

@@ -15,10 +15,11 @@ export default {
   name: "index",
   components: {
     authorize,
-    application,
+    application
   },
   data() {
     return {
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       pageType: 1,
     }
   },

+ 0 - 133
src/views/comprehensive/laboratoryManagement/accessAuthorization/infoPage.vue

@@ -1,133 +0,0 @@
-<template>
-  <div class="infoPage">
-    <div class="title-box">
-      <p>门禁授权</p>
-      <p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>
-    </div>
-    <div class="infoPage-min">
-      <div class="text-box">
-        <div>
-          <p>实验室名称:</p>
-          <p>{{infoData.subjectName}}</p>
-        </div>
-      </div>
-      <div class="text-box">
-        <div>
-          <p>申请人:</p>
-          <p>{{infoData.userName}}</p>
-        </div>
-      </div>
-      <!--<div class="text-box">-->
-        <!--<div>-->
-          <!--<p>开门时间:</p>-->
-          <!--<p>{{infoData.}}</p>-->
-        <!--</div>-->
-      <!--</div>-->
-      <!--<div class="text-box">-->
-        <!--<div>-->
-          <!--<p>关门时间:</p>-->
-          <!--<p>{{infoData.}}</p>-->
-        <!--</div>-->
-      <!--</div>-->
-      <!--<div class="text-box">-->
-        <!--<div>-->
-          <!--<p>开门时长:</p>-->
-          <!--<p>{{infoData.}}</p>-->
-        <!--</div>-->
-      <!--</div>-->
-      <div class="text-box">
-        <div>
-          <p>开门人员:</p>
-          <p>{{infoData.userName}},{{infoData.userName2}}</p>
-        </div>
-      </div>
-      <div class="text-box">
-        <div>
-          <p>审核状态:</p>
-          <p>{{infoData.applyStatus==1?'审批中':(infoData.applyStatus==2?'已授权':(infoData.applyStatus==3?'已拒绝':''))}}</p>
-        </div>
-      </div>
-      <div class="text-box">
-        <div>
-          <p>安全责任人:</p>
-          <p>{{infoData.safeUserName}}</p>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-  export default {
-    name: "infoPage",
-    props:{
-      infoData:{},
-    },
-    data(){
-      return{
-
-      }
-    },
-    created() {
-
-    },
-    mounted(){
-
-    },
-    methods:{
-      backPage(){
-        this.$parent.goPageButton();
-      },
-    }
-  }
-</script>
-
-<style scoped lang="scss">
-  .infoPage{
-    flex:1;
-    display: flex;
-    flex-direction: column;
-    overflow: hidden;
-    p{
-      margin:0;
-      padding:0;
-    }
-    .infoPage-min{
-      flex:1;
-      overflow: hidden;
-      margin:20px;
-      padding:0 0 0 80px;
-      .text-box{
-        div{
-          display: flex;
-          p{
-            line-height:80px;
-          }
-          p:nth-child(1){
-            width:140px;
-            text-align: right;
-            margin-right:20px;
-          }
-          p:nth-child(2){
-
-          }
-        }
-      }
-    }
-    .title-box{
-      display: flex;
-      height:90px;
-      border-bottom: 1px solid #D8D8D8;
-      p:nth-child(1){
-        flex:1;
-        font-size:16px;
-        line-height:90px;
-        margin-left:18px;
-        color:#0045AF;
-      }
-      p:nth-child(2){
-        margin:25px 25px 0 0;
-      }
-    }
-  }
-</style>

+ 0 - 306
src/views/comprehensive/laboratoryManagement/accessAuthorization/lookImpowerSearch.vue

@@ -1,306 +0,0 @@
-<!--
-=========================示例说明=========================
-<advanced-search :searchData="searchData"></advanced-search>
-import advancedSearch from "@/components/ZDcomponents/advancedSearch.vue"
-components: {
-  addPage,
-  advancedSearch
-},
-=========================必要参数=========================
-searchData:{
-  buttonList:[//按钮数组没有则为空
-    {
-      name:"新增",//按钮名称 只有再状态 1 时需要
-      type:"1", //按钮类型 1.按钮 2.导入 3.导出
-      parameter:"add",//按钮字符用于返回方法时的判断
-      hasPermi:['laboratory:gradeManage:add'] // 权限字段 如果没有则传空字符 hasPermi:"",
-    },
-    {
-      name:"导入",//按钮名称 只有再状态 1 时需要
-      type:"2", //按钮类型 1.按钮 2.导入 3.导出
-      parameter:"import",//按钮字符用于返回方法时的判断
-      hasPermi:['laboratory:gradeManage:import'] // 权限字段 如果没有则传空字符 hasPermi:"",
-    },
-    {
-      name:"导出",//按钮名称 只有再状态 1 时需要
-      type:"3", //按钮类型 1.按钮 2.导入 3.导出
-      parameter:"export",//按钮字符用于返回方法时的判断
-      hasPermi:['laboratory:gradeManage:export'] // 权限字段 如果没有则传空字符 hasPermi:"",
-    }
-  ],
-  searchList:[//搜索数组
-    {
-      name:"名称",//描述名称
-      key:"name",//键名 用于返回数据
-      value:"",//内容 用于组件内绑定数据
-      placeholder:"请输入名称",//输入提示
-      level:"1",//1.普通搜索 2.高级搜索  普通搜索默认会在高级搜索时显示
-      type:"1",//类型 1.input 2.select 3.TimePicker
-      universal:'10',//通用参数 input时为最大长度 //TimePicker时可不传
-      universal:[ //通用参数 select时为列表数据 //TimePicker时可不传
-        {label:"全部",value:""},{label:"开启",value:"1"},{label:"关闭",value:"0"},
-      ],
-      labelWidth:'100px',//label-width宽度  可传可不传 不传时为默认宽度
-      width:'200',//el-form-item 长度 可传可不传 不传时input/select默认180长度 TimePicker默认240长度
-    }
-  ]
-}
-=========================必要方法=========================
-//父组件必要此方法用于接收参数
-searchClick(type,data){
-  if(type == 1){ //type  1.查询
-    this.queryParams = JSON.parse(JSON.stringify(data));
-    this.queryParams.pageNum = 1;
-    this.queryParams.pageSize = 20;
-    this.getList();
-  }else if(type == 2){ //type  1.重置
-    this.queryParams = {
-      pageNum : 1,
-      pageSize:20,
-    };
-    this.getList();
-  }else if(type == 'add'){ //type  其他 自定义按钮
-    this.clickPageType(2);
-  }else if(type == 'import'){ //如果按钮类型是2或者3 这里data也会返回数据
-    console.log('data',data)
-  }else if(type == 'export'){ //如果按钮类型是2或者3 这里data也会返回数据
-    console.log('data',data)
-  }
-},
--->
-
-<template>
-  <div class="advancedSearchMaxBigBox">
-    <el-form ref="queryForm" :inline="true" v-if="!searchState">
-      <el-form-item :label="item.name" :label-width="item.labelWidth?item.labelWidth:'px'" prop="searchValue" v-for="item in searchData.searchList" v-if="item.level == 1">
-        <el-input v-if="item.type == 1" v-model="item.value" :maxlength="item.universal" :placeholder="item.placeholder" clearable
-                  :style="item.width?'width:'+item.width+'px;':'width: 180px;'"/>
-        <el-select v-if="item.type == 2" v-model="item.value" :placeholder="item.placeholder" clearable
-                   :style="item.width?'width:'+item.width+'px;':'width: 180px;'">
-          <el-option :key="minItem.value" :label="minItem.label" :value="minItem.value" v-for="minItem in item.universal"></el-option>
-        </el-select>
-        <el-date-picker v-if="item.type == 3" v-model="item.value" :clearable="false" value-format="yyyy-MM-dd"
-                        :style="item.width?'width:'+item.width+'px;':'width: 240px;'"
-                        type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item>
-        <p class="inquire-button-one" @click="buttonClick(1)">查询</p>
-        <p class="reset-button-one" @click="buttonClick(2)">重置</p>
-      </el-form-item>
-      <el-form-item>
-        <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 && !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">
-              <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="{item:item,command:1}">下载模板</el-dropdown-item>
-              <el-dropdown-item style="margin:0 10px;color:#666;" :command="{item:item,command:2}">导入数据</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </div>
-        <div style="float: right; "  v-if="item.type == 3">
-          <el-dropdown @command="commandButton" v-hasPermi="item.hasPermi">
-            <div class="form-dropdown-box">
-              <img src="@/assets/ZDimages/personnelManagement/icon_jzgxx_sc.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="{item:item,command:1}">导出全部数据</el-dropdown-item>
-              <el-dropdown-item style="margin:0 10px;color:#666;" :command="{item:item,command:2}">导出选中数据</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </div>
-      </el-form-item>
-    </el-form>
-    <el-form ref="queryForm" :inline="true" v-if="searchState">
-      <el-form-item :label="item.name" :label-width="item.labelWidth?item.labelWidth:'px'" prop="searchValue" v-for="item in searchData.searchList" >
-        <el-input v-if="item.type == 1" v-model="item.value" :maxlength="item.universal" :placeholder="item.placeholder" clearable
-                  :style="item.width?'width:'+item.width+'px;':'width: 180px;'"/>
-        <el-select v-if="item.type == 2" v-model="item.value" :placeholder="item.placeholder" clearable
-                   :style="item.width?'width:'+item.width+'px;':'width: 180px;'">
-          <el-option :key="minItem.value" :label="minItem.label" :value="minItem.value" v-for="minItem in item.universal"></el-option>
-        </el-select>
-        <el-date-picker v-if="item.type == 3" v-model="item.value" :clearable="false" value-format="yyyy-MM-dd"
-                        :style="item.width?'width:'+item.width+'px;':'width: 240px;'"
-                        type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期">
-        </el-date-picker>
-      </el-form-item>
-    </el-form>
-    <div class="advanced-max-big-box" v-if="searchState">
-      <div class="left-advanced-box"></div>
-      <div class="center-advanced-box">
-        <p class="inquire-button-one" @click="buttonClick(1)">查询</p>
-        <p class="reset-button-one" @click="buttonClick(2)">重置</p>
-      </div>
-      <div class="right-advanced-box">
-        <span class="ordinary-button" @click="stateSwitch">普通搜索</span>
-      </div>
-      <div v-for="item in searchData.buttonList">
-        <p v-if="item.type == 1" class="inquire-button-one"
-           v-hasPermi="item.hasPermi" style="width:120px;float: right;" @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">
-              <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="{item:item,command:1}">下载模板</el-dropdown-item>
-              <el-dropdown-item style="margin:0 10px;color:#666;" :command="{item:item,command:2}">导入数据</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </div>
-        <div style="float: right; "  v-if="item.type == 3">
-          <el-dropdown @command="commandButton" v-hasPermi="item.hasPermi">
-            <div class="form-dropdown-box">
-              <img src="@/assets/ZDimages/personnelManagement/icon_jzgxx_sc.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="{item:item,command:1}">导出全部数据</el-dropdown-item>
-              <el-dropdown-item style="margin:0 10px;color:#666;" :command="{item:item,command:2}">导出选中数据</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  name: "advancedSearch",
-  props:{
-    searchData:{}
-  },
-  data() {
-    return {
-      searchState:false,
-    }
-  },
-  created() {
-
-  },
-  mounted(){
-
-  },
-  methods: {
-    //普通/高级状态切换
-    stateSwitch(){
-      this.searchState = !this.searchState;
-    },
-    //导出/导入按钮
-    commandButton(data){
-      this.$parent.searchClick(data.item.parameter,data.command);
-    },
-    //按钮方法
-    buttonClick(type){
-      let self = this;
-      if(type == '1'){
-        //查找
-        let obj = {};
-        for(let i=0;i<self.searchData.searchList.length;i++){
-          if(self.searchState){
-            //高级搜索
-            obj[self.searchData.searchList[i].key] = self.searchData.searchList[i].value;
-          }else{
-            //普通搜索
-            if(self.searchData.searchList[i].level == '1'){
-              obj[self.searchData.searchList[i].key] = self.searchData.searchList[i].value;
-            }
-          }
-        }
-        self.$parent.searchClick(type,obj);
-      }else if(type == '2'){
-        //返回
-        for(let i=0;i<self.searchData.searchList.length;i++){
-          self.searchData.searchList[i].value = '';
-        }
-        self.$parent.searchClick(type);
-      }else{
-        self.$parent.searchClick(type);
-      }
-    },
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.advancedSearchMaxBigBox{
-  margin:0 20px;
-  .advanced-button{
-    margin:0 20px;
-    cursor: pointer;
-    line-height:40px;
-    font-weight:500;
-    font-size:14px;
-    color:#0183FA;
-  }
-  .advanced-max-big-box{
-    display: flex;
-    padding-bottom:20px;
-    padding-right:10px;
-    font-size:14px;
-    .left-advanced-box{
-      flex:1;
-    }
-    .center-advanced-box{
-
-    }
-    .right-advanced-box{
-      flex:1;
-      .ordinary-button{
-        margin:0 20px;
-        cursor: pointer;
-        line-height:40px;
-        font-weight:500;
-        font-size:14px;
-        color:#0183FA;
-      }
-    }
-  }
-  .form-dropdown-box{
-    display: flex;
-    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;
-    }
-  }
-}
-</style>
-<style lang="scss">
-.advancedSearchMaxBigBox{
-  .el-range-editor--medium.el-input__inner{
-    height:40px;
-  }
-}
-</style>

+ 88 - 23
src/views/comprehensive/laboratoryManagement/record/index.vue

@@ -93,30 +93,17 @@
       <!--</div>-->
       <el-table v-loading="loading" border :data="recordList" @selection-change="handleSelectionChange" ref="multipleTable" :row-key="getRowKeys">
         <!--<el-table-column type="selection" width="55" align="center" :reserve-selection="true" />-->
-        <el-table-column label="姓名" align="left" prop="nickName"  width="140"/>
-        <el-table-column label="学院" align="left" prop="deptName" show-overflow-tooltip width="200"/>
+        <el-table-column label="姓名" align="left" prop="nickName" show-overflow-tooltip width="170"/>
+        <el-table-column label="学院" align="left" prop="deptName" show-overflow-tooltip width="250"/>
         <el-table-column label="实验室" align="left" prop="subjectName" show-overflow-tooltip/>
-        <el-table-column label="进入时间" align="left" prop="inTime" width="200">
-          <!--<template slot-scope="scope">-->
-          <!--<span>{{ parseTime(scope.row.inTime, '{y}-{m}-{d}') }}</span>-->
-          <!--</template>-->
+        <el-table-column label="进入时间" align="left" prop="inTime" show-overflow-tooltip width="220"/>
+        <el-table-column label="离开时间" align="left" prop="outTime" show-overflow-tooltip width="220"/>
+        <el-table-column label="停留时间" align="left" prop="intervalTime" show-overflow-tooltip width="220"/>
+        <el-table-column label="操作" align="left" width="210">
+          <template slot-scope="scope">
+            <p class="table-min-button" v-if="scope.row.outTime" @click="lookInfo(scope.row)">详情</p>
+          </template>
         </el-table-column>
-        <el-table-column label="离开时间" align="left" prop="outTime" width="200">
-          <!--<template slot-scope="scope">-->
-          <!--<span>{{ parseTime(scope.row.outTime, '{y}-{m}-{d}') }}</span>-->
-          <!--</template>-->
-        </el-table-column>
-        <el-table-column label="停留时间" align="left" prop="intervalTime" width="200"/>
-        <!--<el-table-column label="操作" align="left" class-name="small-padding fixed-width" width="120" v-if="tableButtonType">-->
-          <!--<template slot-scope="scope">-->
-            <!--<div class="button-box" style="display: flex;margin-left:20px;">-->
-              <!--<p class="table-min-button"-->
-                 <!--@click="handleUpdate(scope.row)"-->
-                 <!--v-hasPermi="['laboratory:record:query']"-->
-              <!--&gt;查看</p>-->
-            <!--</div>-->
-          <!--</template>-->
-        <!--</el-table-column>-->
       </el-table>
       <pagination :page-sizes="[20, 30, 40, 50]"
         v-show="total>0"
@@ -169,12 +156,21 @@
       </el-dialog>
     </div>
     <my-record v-if="pageType == 2"></my-record>
+
+    <el-dialog class="record-el-dialog-max-box" :title="infoList[infoIndex].imgName" :visible.sync="infoShadeType" v-if="infoShadeType" width="1070px" height="700" append-to-body>
+      <div class="record-el-dialog-min-box scrollbar-box">
+        <img style="width:1026px;" :src="infoList[infoIndex].imgUrl">
+      </div>
+      <p class="el-icon-arrow-left left-i-button" @click="infoLeftButton"></p>
+      <p class="el-icon-arrow-right right-i-button" @click="infoRightButton"></p>
+      <p class="record-el-dialog-bottom-text">{{infoIndex+1}}/{{infoList.length}}</p>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import { Message } from 'element-ui'
-import { listRecord, getRecord, delRecord, addRecord, updateRecord, subjectDictList } from "@/api/laboratory/record";
+import { listRecord, getRecord, delRecord, addRecord, updateRecord, subjectDictList,getDetial } from "@/api/laboratory/record";
 import { listDepartments } from "@/api/system/dept";
 import { treeselect } from "@/api/system/dept";
 import Treeselect from "@riophae/vue-treeselect";
@@ -243,6 +239,10 @@ export default {
       selectedNum:0,
       //进入时间
       dateRange:[],
+      //详情遮罩开关
+      infoShadeType:false,
+      infoIndex:0,
+      infoList:[],
     };
   },
   created() {
@@ -251,6 +251,28 @@ export default {
     // this.getSubjectDictList();
   },
   methods: {
+    //查看详情
+    lookInfo(row){
+      getDetial(row.id).then(response => {
+        this.$set(this,'infoIndex',0);
+        this.$set(this,'infoList',response.rows);
+        this.$set(this,'infoShadeType',true);
+      });
+    },
+    infoLeftButton(){
+      if (this.infoIndex == 0){
+        this.msgError('当前是第一张')
+      }else{
+        this.infoIndex--
+      }
+    },
+    infoRightButton(){
+      if (this.infoIndex == this.infoList.length-1){
+        this.msgError('当前是最后一张')
+      }else{
+        this.infoIndex++
+      }
+    },
     clickPage(type){
       if(this.pageType != type){
         this.pageType = type;
@@ -530,3 +552,46 @@ export default {
     }
   }
 </style>
+<style lang="scss">
+  .record-el-dialog-max-box{
+    .left-i-button{
+      cursor: pointer;
+      text-align: center;
+      line-height:28px;
+      color:#fff;
+      font-size:16px;
+      top:350px;
+      left:40px;
+      position: absolute;
+      width:30px;
+      height:30px;
+      border:1px solid #fff;
+      border-radius:50%;
+    }
+    .right-i-button{
+      cursor: pointer;
+      text-align: center;
+      line-height:28px;
+      color:#fff;
+      font-size:16px;
+      position: absolute;
+      top:350px;
+      right:40px;
+      width:30px;
+      height:30px;
+      border:1px solid #fff;
+      border-radius:50%;
+    }
+    .record-el-dialog-bottom-text{
+      text-align: center;
+      line-height: 30px;
+      font-size:16px;
+    }
+  }
+  .record-el-dialog-min-box{
+    height:560px;
+  }
+  .el-dialog__body{
+    padding-bottom:0;
+  }
+</style>

+ 89 - 26
src/views/comprehensive/laboratoryManagement/record_my/index.vue

@@ -44,37 +44,22 @@
           end-placeholder="结束日期"
         ></el-date-picker>
       </el-form-item>
-      <!--<el-form-item label="进入时间" prop="inTime">-->
-        <!--<el-date-picker clearable size="small" style="width:180px;"-->
-                        <!--v-model="queryParams.inTime"-->
-                        <!--type="date"-->
-                        <!--value-format="yyyy-MM-dd"-->
-                        <!--placeholder="请选择进入时间">-->
-        <!--</el-date-picker>-->
-      <!--</el-form-item>-->
-      <!--<el-form-item label="离开时间" prop="outTime">-->
-        <!--<el-date-picker clearable size="small" style="width:180px;"-->
-                        <!--v-model="queryParams.outTime"-->
-                        <!--type="date"-->
-                        <!--value-format="yyyy-MM-dd"-->
-                        <!--placeholder="请选择离开时间">-->
-        <!--</el-date-picker>-->
-      <!--</el-form-item>-->
       <el-form-item>
         <p class="inquire-button-one" @click="handleQuery">查询</p>
         <p class="reset-button-one" @click="resetQuery">重置</p>
       </el-form-item>
     </el-form>
     <el-table v-loading="loading" border :data="recordList" @selection-change="handleSelectionChange" ref="multipleTable" :row-key="getRowKeys">
-      <el-table-column label="学院" align="left" prop="deptName" />
-      <el-table-column label="实验室" align="left" prop="subjectName" />
-      <el-table-column label="进入时间" align="left" prop="inTime">
-
-      </el-table-column>
-      <el-table-column label="离开时间" align="left" prop="outTime">
-
+      <el-table-column label="实验室" align="left" prop="subjectName" show-overflow-tooltip/>
+      <el-table-column label="学院" align="left" prop="deptName" show-overflow-tooltip width="300"/>
+      <el-table-column label="进入时间" align="left" prop="inTime" show-overflow-tooltip width="210"/>
+      <el-table-column label="离开时间" align="left" prop="outTime" show-overflow-tooltip width="210"/>
+      <el-table-column label="停留时间" align="left" prop="intervalTime" show-overflow-tooltip width="210"/>
+      <el-table-column label="操作" align="left" width="160">
+        <template slot-scope="scope">
+          <p class="table-min-button" v-if="scope.row.outTime" @click="lookInfo(scope.row)">详情</p>
+        </template>
       </el-table-column>
-      <el-table-column label="停留时间" align="left" prop="intervalTime" />
     </el-table>
 
     <pagination
@@ -129,11 +114,19 @@
         <el-button type="primary" @click="submitForm">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog class="record-my-el-dialog-max-box" :title="infoList[infoIndex].imgName" :visible.sync="infoShadeType" v-if="infoShadeType" width="1070px" height="700" append-to-body>
+      <div class="record-el-dialog-min-box scrollbar-box">
+        <img style="width:1026px;" :src="infoList[infoIndex].imgUrl">
+      </div>
+      <p class="el-icon-arrow-left left-i-button" @click="infoLeftButton"></p>
+      <p class="el-icon-arrow-right right-i-button" @click="infoRightButton"></p>
+      <p class="record-el-dialog-bottom-text">{{infoIndex+1}}/{{infoList.length}}</p>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listRecord, getRecord, delRecord, addRecord, updateRecord,myListRecord,subjectDictList } from "@/api/laboratory/record";
+import { listRecord, getRecord, delRecord, addRecord, updateRecord,myListRecord,subjectDictList,getDetial } from "@/api/laboratory/record";
 import { listDepartments } from "@/api/system/dept";
 
 import { treeselect } from "@/api/system/dept";
@@ -195,7 +188,11 @@ export default {
       }],
       //表格扩展选择器---需要在@selection-change绑定的方法内监控selection数组长度
       selectedNum:0,
-      dateRange:[]
+      dateRange:[],
+      //详情遮罩开关
+      infoShadeType:false,
+      infoIndex:0,
+      infoList:[],
     };
   },
   created() {
@@ -203,6 +200,28 @@ export default {
     this.getDeptList();
   },
   methods: {
+    //查看详情
+    lookInfo(row){
+      getDetial(row.id).then(response => {
+        this.$set(this,'infoIndex',0);
+        this.$set(this,'infoList',response.rows);
+        this.$set(this,'infoShadeType',true);
+      });
+    },
+    infoLeftButton(){
+      if (this.infoIndex == 0){
+        this.msgError('当前是第一张')
+      }else{
+        this.infoIndex--
+      }
+    },
+    infoRightButton(){
+      if (this.infoIndex == this.infoList.length-1){
+        this.msgError('当前是最后一张')
+      }else{
+        this.infoIndex++
+      }
+    },
     /** 查询实验室字典列表 */
     getSubjectDictList (deptId) {
       this.subjectOptions = null;
@@ -451,3 +470,47 @@ export default {
     }
   }
 </style>
+
+<style lang="scss">
+  .record-my-el-dialog-max-box{
+    .left-i-button{
+      cursor: pointer;
+      text-align: center;
+      line-height:28px;
+      color:#fff;
+      font-size:16px;
+      top:350px;
+      left:40px;
+      position: absolute;
+      width:30px;
+      height:30px;
+      border:1px solid #fff;
+      border-radius:50%;
+    }
+    .right-i-button{
+      cursor: pointer;
+      text-align: center;
+      line-height:28px;
+      color:#fff;
+      font-size:16px;
+      position: absolute;
+      top:350px;
+      right:40px;
+      width:30px;
+      height:30px;
+      border:1px solid #fff;
+      border-radius:50%;
+    }
+    .record-el-dialog-bottom-text{
+      text-align: center;
+      line-height: 30px;
+      font-size:16px;
+    }
+  }
+  .record-el-dialog-min-box{
+    height:560px;
+  }
+  .el-dialog__body{
+    padding-bottom:0;
+  }
+</style>

+ 3 - 1
src/views/comprehensive/laboratoryManagement/subject/index.vue

@@ -87,7 +87,8 @@
             <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 v-if="versionField != 'suZhouDaXue'"
+              :class="rightButtonType == 5 ? 'buttonColorA' : 'buttonColorB'" @click="rightButtonClick(5)">智能门禁</div>
           </div>
           <!--传感器-->
           <div class="bottom-max-box" :class="rightButtonType == 4?'overflow-box':''">
@@ -356,6 +357,7 @@ export default {
   },
   data(){
     return{
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       pageType:1,
       // 遮罩层
       loading: true,

+ 15 - 15
src/views/comprehensive/laboratoryManagement/subject/indexOne.vue

@@ -250,11 +250,11 @@
         </div>
       </div>
     </div>
-    <add-subject v-if="pageType == 2" :subjectData="subjectData"></add-subject>
-    <device-list v-if="pageType == 3" :subjectData="subjectData"></device-list>
-    <admission-configuration v-if="pageType == 4" :subjectData="subjectData"></admission-configuration>
-    <association-configuration v-if="pageType == 5" :subjectData="subjectData"></association-configuration>
-    <info-page v-if="pageType == 6" :newData="newData"></info-page>
+    <!--<add-subject v-if="pageType == 2" :subjectData="subjectData"></add-subject>-->
+    <!--<device-list v-if="pageType == 3" :subjectData="subjectData"></device-list>-->
+    <!--<admission-configuration v-if="pageType == 4" :subjectData="subjectData"></admission-configuration>-->
+    <!--<association-configuration v-if="pageType == 5" :subjectData="subjectData"></association-configuration>-->
+    <!--<info-page v-if="pageType == 6" :newData="newData"></info-page>-->
     <!--播放文字窗口-->
     <el-dialog title="广播系统" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
@@ -282,11 +282,11 @@ import flvjs from 'flv.js'
 import { hardWareControl,alarmControl } from "@/api/laboratory/hardware";
 import { authListSubject,subjectInfo,updateSubject,mangerVoice,startUrl,getDetalis } from "@/api/laboratory/subject";
 import { filterDept } from "@/api/medicUniversity-3_1/index";
-import addSubject from "./addSubject.vue";
-import deviceList from "./deviceListOne.vue";
-import admissionConfiguration from "./admissionConfiguration.vue";
-import associationConfiguration from "./associationConfigurationOne.vue";
-import infoPage from "./infoPageOne.vue";
+// import addSubject from "./addSubject.vue";
+// import deviceList from "./deviceListOne.vue";
+// import admissionConfiguration from "./admissionConfiguration.vue";
+// import associationConfiguration from "./associationConfigurationOne.vue";
+// import infoPage from "./infoPageOne.vue";
 import { getHxpAlarmRecordNoAuthList,getEnablelist } from "@/api/medicUniversity-3_1/index";
 export default {
   filters:{
@@ -300,11 +300,11 @@ export default {
   },
   name: "subject",
   components: {
-    addSubject,
-    deviceList,
-    admissionConfiguration,
-    associationConfiguration,
-    infoPage
+    // addSubject,
+    // deviceList,
+    // admissionConfiguration,
+    // associationConfiguration,
+    // infoPage
   },
   data(){
     return{

+ 15 - 15
src/views/comprehensive/laboratoryManagement/subject/indexTwo.vue

@@ -231,11 +231,11 @@
         </div>
       </div>
     </div>
-    <add-subject v-if="pageType == 2" :subjectData="subjectData"></add-subject>
-    <device-list v-if="pageType == 3" :subjectData="subjectData"></device-list>
-    <admission-configuration v-if="pageType == 4" :subjectData="subjectData"></admission-configuration>
-    <association-configuration v-if="pageType == 5" :subjectData="subjectData"></association-configuration>
-    <info-page v-if="pageType == 6" :newData="newData"></info-page>
+    <!--<add-subject v-if="pageType == 2" :subjectData="subjectData"></add-subject>-->
+    <!--<device-list v-if="pageType == 3" :subjectData="subjectData"></device-list>-->
+    <!--<admission-configuration v-if="pageType == 4" :subjectData="subjectData"></admission-configuration>-->
+    <!--<association-configuration v-if="pageType == 5" :subjectData="subjectData"></association-configuration>-->
+    <!--<info-page v-if="pageType == 6" :newData="newData"></info-page>-->
     <!--播放文字窗口-->
     <el-dialog title="广播系统" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
@@ -263,11 +263,11 @@ import flvjs from 'flv.js'
 import { hardWareControl,alarmControl } from "@/api/laboratory/hardware";
 import { authListSubject,subjectInfo,updateSubject,mangerVoice,startUrl } from "@/api/laboratory/subject";
 import { filterDept } from "@/api/medicUniversity-3_1/index";
-import addSubject from "./addSubject.vue";
-import deviceList from "./deviceList.vue";
-import admissionConfiguration from "./admissionConfiguration.vue";
-import associationConfiguration from "./associationConfiguration.vue";
-import infoPage from "./infoPage.vue";
+// import addSubject from "./addSubject.vue";
+// import deviceList from "./deviceList.vue";
+// import admissionConfiguration from "./admissionConfiguration.vue";
+// import associationConfiguration from "./associationConfiguration.vue";
+// import infoPage from "./infoPage.vue";
 import { getHxpAlarmRecordNoAuthList,getEnablelist } from "@/api/medicUniversity-3_1/index";
 export default {
   filters:{
@@ -281,11 +281,11 @@ export default {
   },
   name: "subject",
   components: {
-    addSubject,
-    deviceList,
-    admissionConfiguration,
-    associationConfiguration,
-    infoPage
+    // addSubject,
+    // deviceList,
+    // admissionConfiguration,
+    // associationConfiguration,
+    // infoPage
   },
   data(){
     return{

+ 10 - 1
src/views/comprehensive/personnel/student/addPage.vue

@@ -236,7 +236,9 @@
       </div>
     </el-form>
     <div class="bottom-button-box" v-if="!editType">
-      <p class="inquire-button-one" @click="upDataClick">提交</p>
+      <addPageSubPageSZDX v-if="versionField === 'suZhouDaXue'"></addPageSubPageSZDX>
+      <addPageSubPagePublic v-else></addPageSubPagePublic>
+      <!--<p class="inquire-button-one" @click="upDataClick">提交</p>-->
     </div>
     <el-dialog title="添加班级" :visible.sync="gradeOpen" width="600px" append-to-body class="teacher-revise-dialog-box">
       <el-form :model="gradeForm" ref="gradeForm" :inline="true" :rules="rules" class="addCheckPage-min">
@@ -256,8 +258,14 @@
 import { listDepartments } from "@/api/system/dept";
 import { getWorkList, getVague, addSystemClass, getMajorList,getTeacherOption,addUserStudent,putUserStudent } from "@/api/system/user_student";
 import { getToken } from "@/utils/auth";
+import addPageSubPagePublic from './differenceComponent/addPageSubPagePublic.vue'
+import addPageSubPageSZDX from './differenceComponent/addPageSubPageSZDX.vue'
 export default {
   name: "addPage",
+  components: {
+    addPageSubPagePublic,
+    addPageSubPageSZDX
+  },
   props:{
     editType:{},
     propsData:{},
@@ -265,6 +273,7 @@ export default {
   },
   data() {
     return {
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       uploadImgUrl: this.uploadUrl(), // 上传的图片服务器地址
       headers: {
         Authorization: "Bearer " + getToken(),

+ 74 - 0
src/views/comprehensive/personnel/student/differenceComponent/addPageSubPagePublic.vue

@@ -0,0 +1,74 @@
+<template>
+  <p class="inquire-button-one" @click="upDataClick">提交</p>
+</template>
+
+<script>
+  import { addUserStudent,putUserStudent } from "@/api/system/user_student";
+  export default {
+    name: 'addPageSubPagePublic',
+    methods:{
+      upDataClick(){
+        let self = this;
+        self.$parent.$refs["form"].validate(valid => {
+          if (valid) {
+            if(self.$parent.form.email){
+              let re = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
+              if(!re.test(self.$parent.form.email)){
+                self.msgError('请输入正确的邮箱地址')
+                return
+              }
+            }
+            if(self.$parent.propsData.userId){
+              //编辑
+              self.$parent.form.userId = self.$parent.propsData.userId
+              putUserStudent(self.$parent.form).then(response => {
+                if(response.code==200){
+                  self.msgSuccess(response.msg)
+                  self.$parent.outPageButton()
+                }else if(response.code==205){
+                  self.$confirm(response.msg, "警告", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                  }).then(() => {
+                    //  确定
+                    self.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization' });
+                  }).catch(function() {
+                    //  取消
+                    self.$parent.outPageButton();
+                  });
+                }
+
+              });
+            }else{
+              //新增
+              addUserStudent(self.$parent.form).then(response => {
+                if(response.code==200){
+                  self.msgSuccess(response.msg)
+                  self.$parent.outPageButton()
+                }else if(response.code==205){
+                  self.$confirm(response.msg, "警告", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                  }).then(() => {
+                    //  确定
+                    self.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization' });
+                  }).catch(function() {
+                    //  取消
+                    self.$parent.outPageButton();
+                  });
+                }
+
+              });
+            }
+          }
+        })
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 44 - 0
src/views/comprehensive/personnel/student/differenceComponent/addPageSubPageSZDX.vue

@@ -0,0 +1,44 @@
+<template>
+  <p class="inquire-button-one" @click="upDataClick">提交</p>
+</template>
+
+<script>
+  import { addUserStudent,putUserStudent } from "@/api/system/user_student";
+  export default {
+    name: 'addPageSubPageSZDX',
+    methods:{
+      upDataClick(){
+        let self = this;
+        self.$parent.$refs["form"].validate(valid => {
+          if (valid) {
+            if(self.$parent.form.email){
+              let re = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
+              if(!re.test(self.$parent.form.email)){
+                self.msgError('请输入正确的邮箱地址')
+                return
+              }
+            }
+            if(self.$parent.propsData.userId){
+              //编辑
+              self.$parent.form.userId = self.$parent.propsData.userId
+              putUserStudent(self.$parent.form).then(response => {
+                self.msgSuccess(response.msg)
+                self.$parent.outPageButton()
+              });
+            }else{
+              //新增
+              addUserStudent(self.$parent.form).then(response => {
+                self.msgSuccess(response.msg)
+                self.$parent.outPageButton()
+              });
+            }
+          }
+        });
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 9 - 2
src/views/comprehensive/personnel/teacher/addPage.vue

@@ -391,7 +391,9 @@
       </el-dialog>
     </div>
     <div class="bottom-button-box" v-if="!editType">
-      <p class="inquire-button-one" @click="upDataButton">提交</p>
+      <addPageSubPageSZDX v-if="versionField === 'suZhouDaXue'"></addPageSubPageSZDX>
+      <addPageSubPagePublic v-else></addPageSubPagePublic>
+      <!--<p class="inquire-button-one" @click="upDataButton">提交</p>-->
       <p class="add-button-one-150" v-if="form.status == 0 && form.nature == 0" @click="saveDataButton">另存为权限模板</p>
     </div>
   </div>
@@ -406,6 +408,8 @@ import { optionselect, getVaguet, userPermit, addUserTeacher, putUserTeacherNew
 import { getPermitOptionList, getPermitInfo } from "@/api/laboratory/managePermissionTemplates";
 import { addSystemPermit } from "@/api/laboratory/managePermissionTemplates";
 import Treeselect from "@riophae/vue-treeselect";
+import addPageSubPagePublic from './differenceComponent/addPageSubPagePublic.vue'
+import addPageSubPageSZDX from './differenceComponent/addPageSubPageSZDX.vue'
 export default {
   name: "addPage",
   props:{
@@ -415,10 +419,13 @@ export default {
   },
   components: {
     userListOne,
-    Treeselect
+    Treeselect,
+    addPageSubPagePublic,
+    addPageSubPageSZDX
   },
   data() {
     return {
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       uploadImgUrl: this.uploadUrl(), // 上传的图片服务器地址
       headers: {
         Authorization: "Bearer " + getToken(),

+ 100 - 0
src/views/comprehensive/personnel/teacher/differenceComponent/addPageSubPagePublic.vue

@@ -0,0 +1,100 @@
+<template>
+  <p class="inquire-button-one" @click="upDataButton">提交</p>
+</template>
+
+<script>
+  import { addUserTeacher, putUserTeacherNew } from "@/api/system/user_teacher";
+  export default {
+    name: 'addPageSubPagePublic',
+    methods:{
+      upDataButton(){
+        let self = this;
+        self.$parent.$refs["form"].validate(valid => {
+          if (valid) {
+            if(self.$parent.form.email){
+              let re = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
+              if(!re.test(self.$parent.form.email)){
+                self.msgError('请输入正确的邮箱地址')
+                return
+              }
+            }
+            let list = self.$parent.toArray();
+            let obj = JSON.parse(JSON.stringify(self.$parent.form));
+            obj.permitMenus = [];
+            if(obj.status == 0){
+              for(let i=0;i<list.length;i++){
+                let minObj = {
+                  menuId:list[i].menuId,
+                }
+                if(list[i].dataScope){
+                  minObj.dataScope = list[i].dataScope
+                  if(list[i].dataScope == 3){
+                    minObj.deptIds = list[i].deptIds;
+                    minObj.deptIdsList = list[i].deptIdsList;
+                  }
+                }else{
+                  minObj.dataScope = 0
+                }
+                obj.permitMenus.push(minObj)
+              }
+            }
+            if(self.$parent.propsData.userId){
+              //修改
+              obj.userId = self.$parent.propsData.userId;
+              self.putUserTeacherNew(obj);
+            }else{
+              //发布
+              self.addUserTeacher(obj);
+            }
+          }
+        });
+      },
+      putUserTeacherNew(obj){
+        let self = this;
+        putUserTeacherNew(obj).then(response => {
+          if(response.code == 200){
+            self.msgSuccess(response.msg);
+            self.$parent.outPageButton();
+          }else if(response.code==205){
+            self.$confirm(response.msg, "警告", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            }).then(() => {
+              //  确定
+              self.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization' });
+            }).catch(function() {
+              //  取消
+              self.$parent.outPageButton();
+            });
+          }
+        });
+      },
+      addUserTeacher(obj){
+        let self = this;
+        addUserTeacher(obj).then(response => {
+          if(response.code == 200){
+            self.msgSuccess(response.msg);
+            self.$parent.outPageButton();
+          }else if(response.code==205){
+            self.$confirm(response.msg, "警告", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            }).then(() => {
+              //  确定
+              self.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization' });
+            }).catch(function() {
+              //  取消
+              self.$parent.outPageButton();
+            });
+          }
+        });
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 76 - 0
src/views/comprehensive/personnel/teacher/differenceComponent/addPageSubPageSZDX.vue

@@ -0,0 +1,76 @@
+<template>
+  <p class="inquire-button-one" @click="upDataButton">提交</p>
+</template>
+
+<script>
+  import { addUserTeacher, putUserTeacherNew } from "@/api/system/user_teacher";
+  export default {
+    name: 'addPageSubPageSZDX',
+    methods:{
+      upDataButton(){
+        let self = this;
+        self.$parent.$refs["form"].validate(valid => {
+          if (valid) {
+            if(self.$parent.form.email){
+              let re = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
+              if(!re.test(self.$parent.form.email)){
+                self.msgError('请输入正确的邮箱地址')
+                return
+              }
+            }
+            let list = self.$parent.toArray();
+            let obj = JSON.parse(JSON.stringify(self.$parent.form));
+            obj.permitMenus = [];
+            if(obj.status == 0){
+              for(let i=0;i<list.length;i++){
+                let minObj = {
+                  menuId:list[i].menuId,
+                }
+                if(list[i].dataScope){
+                  minObj.dataScope = list[i].dataScope
+                  if(list[i].dataScope == 3){
+                    minObj.deptIds = list[i].deptIds;
+                    minObj.deptIdsList = list[i].deptIdsList;
+                  }
+                }else{
+                  minObj.dataScope = 0
+                }
+                obj.permitMenus.push(minObj)
+              }
+            }
+            if(self.$parent.propsData.userId){
+              //修改
+              obj.userId = self.$parent.propsData.userId;
+              self.putUserTeacherNew(obj);
+            }else{
+              //发布
+              self.addUserTeacher(obj);
+            }
+          }
+        });
+      },
+      putUserTeacherNew(obj){
+        let self = this;
+        putUserTeacherNew(obj).then(response => {
+          if(response.code == 200){
+            self.msgSuccess(response.msg);
+            self.$parent.outPageButton();
+          }
+        });
+      },
+      addUserTeacher(obj){
+        let self = this;
+        addUserTeacher(obj).then(response => {
+          if(response.code == 200){
+            self.msgSuccess(response.msg);
+            self.$parent.outPageButton();
+          }
+        });
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 1
src/views/comprehensive/system/publicConfig/index.vue

@@ -24,7 +24,7 @@
     </div>
     <basics-config v-if="pageType == 1"></basics-config>
     <chemicals-config v-if="pageType == 2"></chemicals-config>
-    <integration-config v-if="pageType == 3"></integration-config>
+    <integrationConfig v-if="pageType == 3"></integrationConfig>
     <program-config v-if="pageType == 4"></program-config>
     <exploit-config v-if="pageType == 5"></exploit-config>
   </div>
@@ -47,6 +47,7 @@ export default {
   },
   data() {
     return {
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       pageType:1,
     }
   },

+ 586 - 0
src/views/differenceComponent/homeSubPageKYDXNH.vue

@@ -0,0 +1,586 @@
+<template>
+  <div class="max-home-button-box">
+    <div class="max-home-box">
+      <div class="max-bottom-box">
+        <div class="top-button-box">
+          <!--左侧-->
+          <div class="left-box">
+            <!--<div class="position-button top-margin" @click="goPage('EmergencyManagement','应急管理')">-->
+            <div class="position-button top-margin" @click="goPage('SafetyEducationExam','安全教育与考试')">
+              <div>
+                <img src="@/assets/ZDimages/home/1.png">
+                <p>安全教育与考试</p>
+              </div>
+            </div>
+            <div class="position-button" @click="goPage('null','责任体系')">
+              <div>
+                <img src="@/assets/ZDimages/home/2.png">
+                <p>责任体系</p>
+              </div>
+            </div>
+            <!--<div class="position-button" @click="goPage('ChemicalLibrary','化学品管理')">-->
+            <div class="position-button" @click="goPage('SecureAccess','安全准入')">
+              <div>
+                <img src="@/assets/ZDimages/home/3.png">
+                <p>安全准入</p>
+              </div>
+            </div>
+          </div>
+          <!--中间-->
+          <div class="center-box">
+            <div class="position-button" @click="goPage('Https://www.sxitdlc.com','数据大屏')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_sydlpt_sjksh.png">
+                <p>数据可视化</p>
+              </div>
+            </div>
+          </div>
+          <!--右侧-->
+          <div class="right-box">
+            <div class="position-button" @click="goPage('HierarchicalControl','分级管控')">
+              <!--<div class="position-button top-margin" @click="goPage('SecureAccess','安全准入')">-->
+              <div>
+                <img src="@/assets/ZDimages/home/4.png">
+                <p>分级管控</p>
+              </div>
+            </div>
+            <div class="position-button" @click="goPage('SecurityCheck','安全检查')">
+              <div>
+                <img src="@/assets/ZDimages/home/5.png">
+                <p>安全检查</p>
+              </div>
+            </div>
+            <div class="position-button" @click="goPage('HazardManagement','危险源管理')">
+              <div>
+                <img src="@/assets/ZDimages/home/6.png">
+                <p>危险源管理</p>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="center-button-box display-none-one"></div>
+        <!--底部-->
+        <div class="bottom-button-box">
+          <div class="null-button"></div>
+          <div class="position-button" @click="goPage('EmergencyManagement','应急管理')">
+            <!--<div class="position-button" @click="goPage('SafetyEducationExam','安全教育与考试')">-->
+            <div>
+              <img src="@/assets/ZDimages/home/7.png">
+              <p>应急管理</p>
+            </div>
+          </div>
+          <div class="position-button" @click="goPage('CreditViolation','信用违规管理')">
+            <div>
+              <img src="@/assets/ZDimages/home/8.png">
+              <p>信用违规管理</p>
+            </div>
+          </div>
+          <!--<div class="position-button" @click="goPage('HierarchicalControl','分级管控')">-->
+          <!--<div>-->
+          <!--<img src="@/assets/ZDimages/home/icon_sy_fjgk.png">-->
+          <!--<p>分级管控</p>-->
+          <!--</div>-->
+          <!--</div>-->
+          <div class="position-button" @click="goPage('null','安全档案')">
+            <div>
+              <img src="@/assets/ZDimages/home/9.png">
+              <p>安全档案</p>
+            </div>
+          </div>
+          <div class="position-button" @click="goPage('Comprehensive','综合管理')">
+            <div>
+              <img src="@/assets/ZDimages/home/10.png">
+              <p>综合管理</p>
+            </div>
+          </div>
+          <div class="null-button"></div>
+        </div>
+      </div>
+      <img class="img-1" src="@/assets/ZDimages/home/img_sy_lf.png">
+      <img class="img-2" src="@/assets/ZDimages/home/img_yh_db.png">
+      <img class="img-3" src="@/assets/ZDimages/home/img_yh_zj.png">
+      <img class="img-4" src="@/assets/ZDimages/home/img_yh_dd.png">
+      <img class="img-5" src="@/assets/ZDimages/home/img_yh_zj.png">
+      <img class="img-6" src="@/assets/ZDimages/home/img_yh_db.png">
+    </div>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: 'homeSubPageKYDXNH',
+    data() {
+      return {
+        routeData:{},
+        userType:localStorage.getItem('userType'),
+        initPage:localStorage.getItem('initPage'),
+      };
+    },
+    created(){
+
+    },
+    mounted(){
+      let self =this
+      this.routeData = JSON.parse(localStorage.getItem("routeData"))
+      if(localStorage.getItem('initPage') == 'true'){
+        console.log("true")
+        if(localStorage.getItem('userType') == '22'){
+          for(let i=0;i<self.routeData.length;i++){
+            if(!self.routeData[i].hidden&&self.routeData[i].name != 'Https://www.sxitdlc.com'){
+              if (self.routeData[i].children){
+                for(let o=0;o<self.routeData[i].children.length;o++){
+                  if(!self.routeData[i].children[o].alwaysShow&&!self.routeData[i].children[o].hidden){
+                    let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path;
+                    console.log("urlText",urlText)
+                    this.$router.push({ path: urlText });
+                    return
+                  }else{
+                    if(self.routeData[i].children[o].children){
+                      for(let x=0;x<self.routeData[i].children[o].children.length;x++){
+                        if(!self.routeData[i].children[o].children[x].alwaysShow&&!self.routeData[i].children[o].children[x].hidden){
+                          let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path + '/' + self.routeData[i].children[o].children[x].path;
+                          console.log("urlText",urlText)
+                          this.$router.push({ path: urlText });
+                          return
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }else{
+        console.log("false")
+        for(let i=0;i<self.routeData.length;i++){
+          if(!self.routeData[i].hidden&&self.routeData[i].name != 'Https://www.sxitdlc.com'){
+            if (self.routeData[i].children){
+              for(let o=0;o<self.routeData[i].children.length;o++){
+                if(!self.routeData[i].children[o].alwaysShow&&!self.routeData[i].children[o].hidden){
+                  let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path;
+                  console.log("urlText",urlText)
+                  this.$router.push({ path: urlText });
+                  return
+                }else{
+                  if(self.routeData[i].children[o].children){
+                    for(let x=0;x<self.routeData[i].children[o].children.length;x++){
+                      if(!self.routeData[i].children[o].children[x].alwaysShow&&!self.routeData[i].children[o].children[x].hidden){
+                        let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path + '/' + self.routeData[i].children[o].children[x].path;
+                        console.log("urlText",urlText)
+                        this.$router.push({ path: urlText });
+                        return
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    methods: {
+      //跳转按钮
+      goPage(type,title){
+        let self = this;
+        if(type == 'null'){
+          this.$alert(title+'暂未开放', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          });
+          return
+        }
+        if(type == 'Https://www.sxitdlc.com'){
+          for(let i=0;i<self.routeData.length;i++){
+            if(type == self.routeData[i].name){
+              console.log("self.routeData[i].name",self.routeData[i].name)
+              window.open(localStorage.getItem('screenUrl') + '?identity=' + localStorage.getItem('identity'));
+              return
+            }
+          }
+          this.$alert('没有"'+title+'"系统权限,如有疑问,请联系管理员', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          });
+        }
+        //寻找跳转目标路由
+        let num = 0;
+        for(let i=0;i<self.routeData.length;i++){
+          if(type == self.routeData[i].name){
+            num++
+            if(!self.routeData[i].alwaysShow&&!self.routeData[i].hidden){
+              let urlText = self.routeData[i].path;
+              this.$router.push({ path: urlText });
+              console.log("urlText1",urlText)
+              return
+            }else if (self.routeData[i].children){
+              for(let o=0;o<self.routeData[i].children.length;o++){
+                if(!self.routeData[i].children[o].alwaysShow&&!self.routeData[i].children[o].hidden){
+                  let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path;
+                  this.$router.push({ path: urlText });
+                  console.log("urlText2",urlText)
+                  return
+                }else{
+                  if(self.routeData[i].children[o].children){
+                    for(let x=0;x<self.routeData[i].children[o].children.length;x++){
+                      if(!self.routeData[i].children[o].children[x].alwaysShow&&!self.routeData[i].children[o].children[x].hidden){
+                        let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path + '/' + self.routeData[i].children[o].children[x].path;
+                        this.$router.push({ path: urlText });
+                        console.log("urlText3",urlText)
+                        return
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        if(num == 0){
+          this.$alert('没有"'+title+'"系统权限,如有疑问,请联系管理员', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          });
+        }
+      },
+    },
+  }
+</script>
+
+<style scoped lang="scss">
+  @-webkit-keyframes centerButtonMover  {
+    0% {
+      transform:scale(1);
+    }
+    30% {
+      transform: rotate(0deg) scale(0.9);
+    }
+    40% {
+      transform: rotate(-5deg) scale(1);
+    }
+    50% {
+      transform: rotate(5deg) scale(1);
+    }
+    60% {
+      transform: rotate(-5deg) scale(1.1);
+    }
+    70% {
+      transform: rotate(0deg) scale(1.2);
+    }
+    100% {
+      transform: rotate(0deg) scale(1);
+    }
+  }
+  @-webkit-keyframes centerMover {
+    0% {
+      -webkit-transform: translateY(0);
+      /*transform:scale(0.5px;*/
+    }
+    50% {
+      -webkit-transform: translateY(20px);
+      /*transform:scale(0.5px;*/
+    }
+    100% {
+      -webkit-transform: translateY(0);
+      /*transform:scale(0.6px;/*/
+    }
+  }
+  @-webkit-keyframes ringMove {
+    0% {
+      -webkit-transform: translateY(0px);
+      /*transform:scale(0.5px;*/
+      opacity:1;
+    }
+    50% {
+      -webkit-transform: translateY(20px);
+      /*transform:scale(0.5px;*/
+      opacity:0;
+    }
+    100% {
+      -webkit-transform: translateY(0);
+      /*transform:scale(0.6px;/*/
+      opacity:0;
+    }
+  }
+  @-webkit-keyframes buttonMove{
+    50%{
+      -webkit-transform:scale(0.8);
+      transform:scale(0.8);
+      -webkit-filter:brightness(90%)
+    }
+    100%{
+      -webkit-transform:scale(1);
+      transform:scale(1);
+      /*css3滤镜亮度百分比*/
+      -webkit-filter:brightness(100%)
+    }
+  }
+  *{
+    margin:0;
+  }
+  .max-home-button-box{
+    /*width:1462px;*/
+    width:1300px;
+    /*height:848px;*/
+    height:760px;
+    top:50%;
+    left:50%;
+    margin-top:-380px;
+    margin-left:-650px;
+    position: absolute;
+    .max-home-box{
+      /*background: #E65D6E;*/
+      /*width:1462px;*/
+      width:1300px;
+      /*height:848px;*/
+      height:760px;
+      position: relative;
+      display: flex;
+      flex-direction: column;
+      .img-1{
+        position: absolute;
+        /*width:863px;*/
+        width:690px;
+        /*height:504px;*/
+        height:403px;
+        top:191px;
+        left:50%;
+        margin-left:- 345px;
+        -webkit-animation-name: centerMover;
+        -webkit-animation-duration: 4s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0s;
+      }
+      .img-2{
+        position: absolute;
+        /*width:463px;*/
+        width:370px;
+        /*height:106px;*/
+        height:84px;
+        top:391px;
+        left:50%;
+        margin-left:- 185px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0s;
+      }
+      .img-3{
+        position: absolute;
+        /*width:493px;*/
+        width:394px;
+        /*height:107px;*/
+        height:85px;
+        top:319px;
+        left:50%;
+        margin-left:- 197px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.2s;
+      }
+      .img-4{
+        position: absolute;
+        /*width:554px;*/
+        width:443px;
+        /*height:118px;*/
+        height:94px;
+        top:231px;
+        left:50%;
+        margin-left:- 221px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.4s;
+      }
+      .img-5{
+        position: absolute;
+        width:394px;
+        /*width:493px;*/
+        /*height:107px;*/
+        height:85px;
+        /*width:644px;*/
+        /*height:118px;*/
+        top:141px;
+        left:50%;
+        //margin-left:-322px;
+        margin-left:- 197px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.6s;
+      }
+      .img-6{
+        position: absolute;
+        width:354px;
+        /*width:443px;*/
+        /*height:106px;*/
+        height:84px;
+        /*width:734px;*/
+        /*height:118px;*/
+        top:051px;
+        left:50%;
+        //margin-left:-367px;
+        margin-left:- 177px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.8s;
+      }
+      .max-bottom-box{
+        width:1300px;
+        margin:0 auto;
+        flex:1;
+        display: flex;
+        flex-direction: column;
+        .top-button-box{
+          display: flex;
+          .left-box{
+            .position-button{
+              width:297px;
+              height:136px;
+              cursor: pointer;
+              position: relative;
+              z-index:5;
+              img{
+                width:297px;
+                height:136px;
+              }
+              p{
+                position: absolute;
+                top:43px;
+                left:142px;
+                text-align: center;
+                font-size:18px;
+                line-height:18px;
+                background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+                -webkit-background-clip: text;
+                color: transparent;
+              }
+            }
+            .position-button:nth-child(1){
+              margin-top:0;
+            }
+            .position-button:nth-child(2){
+              margin:55px 0 0 40px;
+            }
+            .position-button:nth-child(3){
+              margin:55px 0 0 80px;
+            }
+          }
+          .center-box{
+            flex:1;
+            .position-button{
+              width:147px;
+              height:105px;
+              cursor: pointer;
+              position: relative;
+              z-index:5;
+              margin:0 auto 0;
+              -webkit-animation-name: centerButtonMover;
+              -webkit-animation-duration: 3s;
+              -webkit-animation-iteration-count: infinite;
+              -webkit-animation-delay: 0s;
+              img{
+                width:147px;
+                height:105px;
+              }
+              p{
+                position: absolute;
+                top:66px;
+                left:30px;
+                text-align: center;
+                font-size:18px;
+                line-height:18px;
+                background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+                -webkit-background-clip: text;
+                color: transparent;
+              }
+            }
+          }
+          .right-box{
+            .position-button{
+              width:297px;
+              height:136px;
+              cursor: pointer;
+              z-index:5;
+              position: relative;
+              img{
+                width:297px;
+                height:136px;
+              }
+              p{
+                position: absolute;
+                top:43px;
+                left:56px;
+                text-align: center;
+                font-size:18px;
+                line-height:18px;
+                background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+                -webkit-background-clip: text;
+                color: transparent;
+              }
+            }
+            .position-button:nth-child(1){
+              margin:0 0 0 80px;
+            }
+            .position-button:nth-child(2){
+              margin:55px 0 0 40px;
+            }
+            .position-button:nth-child(3){
+              margin-top:55px;
+            }
+          }
+        }
+        .center-button-box{
+          flex:1;
+        }
+        .bottom-button-box{
+          display: flex;
+          .null-button{
+            flex:1;
+          }
+          .position-button{
+            width:140px;
+            height:200px;
+            cursor: pointer;
+            z-index:5;
+            position: relative;
+            img{
+              width:140px;
+              height:230px;
+            }
+            p{
+              position: absolute;
+              top:154px;
+              /*left:34px;*/
+              width:140px;
+              text-align: center;
+              font-size:18px;
+              line-height:18px;
+              background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+              -webkit-background-clip: text;
+              color: transparent;
+            }
+          }
+          .position-button:nth-child(1),
+          .position-button:nth-child(2),
+          .position-button:nth-child(3),
+          .position-button:nth-child(4){
+            margin-right:95px;
+          }
+        }
+        .position-button:hover{
+          -webkit-animation-name: buttonMove;
+          -webkit-animation-duration: 1.5s;
+          -webkit-animation-iteration-count: infinite;
+          -webkit-animation-delay: 0s;
+        }
+      }
+    }
+  }
+  .bottom-null-box{
+    height:60px;
+  }
+</style>

+ 638 - 0
src/views/differenceComponent/homeSubPagePublic.vue

@@ -0,0 +1,638 @@
+<template>
+  <div class="max-home-button-box">
+    <div class="max-home-box">
+      <div class="max-bottom-box">
+        <div class="top-button-box">
+          <div class="left-box">
+            <div class="position-button top-margin" @click="goPage('EmergencyManagement','应急预警')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_sy_yjyj.png">
+                <p>应急预警</p>
+              </div>
+            </div>
+            <div class="position-button" @click="goPage('GasManage','气瓶监测')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_sy_qpjc.png">
+                <p>气瓶监测</p>
+              </div>
+            </div>
+            <div class="position-button" @click="goPage('ChemicalLibrary','化学品管理')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_sy_hxpgl.png">
+                <p>化学品管控</p>
+              </div>
+            </div>
+            <!--<div class="position-button top-margin" @click="goPage('SafetyEducationExam','安全教育与考试')">-->
+            <!--<div>-->
+            <!--<img src="@/assets/ZDimages/home/icon_sy_aqjyyks.png">-->
+            <!--<p>安全教育与考试</p>-->
+            <!--</div>-->
+            <!--</div>-->
+            <!--<div class="position-button" @click="goPage('null','责任体系')">-->
+            <!--<div>-->
+            <!--<img src="@/assets/ZDimages/home/icon_sy_zrtx.png">-->
+            <!--<p>责任体系</p>-->
+            <!--</div>-->
+            <!--</div>-->
+            <!--<div class="position-button" @click="goPage('SecureAccess','安全准入')">-->
+            <!--<div>-->
+            <!--<img src="@/assets/ZDimages/home/icon_sy_aqjyyks.png">-->
+            <!--<p>安全准入</p>-->
+            <!--</div>-->
+            <!--</div>-->
+          </div>
+          <div class="center-box">
+            <div class="position-button" @click="goPage('Https://www.sxitdlc.com','数据大屏')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_sydlpt_sjksh.png">
+                <p>数据可视化</p>
+              </div>
+            </div>
+          </div>
+          <div class="right-box">
+            <div class="position-button top-margin" @click="goPage('SecureAccess','安全准入')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_sy_aqzr.png">
+                <p>安全准入</p>
+              </div>
+            </div>
+            <div class="position-button" @click="goPage('HazardManagement','危险源管理')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_tydlptsy_wxygl.png">
+                <p>危险源管理</p>
+              </div>
+            </div>
+            <div class="position-button" @click="goPage('SecurityCheck','安全检查')">
+              <div>
+                <img src="@/assets/ZDimages/home/icon_sy_aqjc.png">
+                <p>安全检查</p>
+              </div>
+            </div>
+            <!--<div class="position-button top-margin" @click="goPage('HierarchicalControl','分级管控')">-->
+            <!--<div>-->
+            <!--<img src="@/assets/ZDimages/home/icon_sy_fjgk.png">-->
+            <!--<p>分级管控</p>-->
+            <!--</div>-->
+            <!--</div>-->
+            <!--<div class="position-button" @click="goPage('SecurityCheck','安全检查')">-->
+            <!--<div>-->
+            <!--<img src="@/assets/ZDimages/home/icon_sy_aqjc.png">-->
+            <!--<p>安全检查</p>-->
+            <!--</div>-->
+            <!--</div>-->
+            <!--<div class="position-button" @click="goPage('HazardManagement','危险源管理')">-->
+            <!--<div>-->
+            <!--<img src="@/assets/ZDimages/home/icon_tydlptsy_wxygl.png">-->
+            <!--<p>危险源管理</p>-->
+            <!--</div>-->
+            <!--</div>-->
+          </div>
+        </div>
+        <div class="center-button-box display-none-one"></div>
+        <div class="bottom-button-box">
+          <div class="null-button"></div>
+          <div class="position-button" @click="goPage('SafetyEducationExam','安全教育与考试')">
+            <div>
+              <img src="@/assets/ZDimages/home/icon_sy_aqyuyks.png">
+              <p>安全教育与考试</p>
+            </div>
+          </div>
+          <div class="position-button" @click="goPage('CreditViolation','信用管理')">
+            <div>
+              <img src="@/assets/ZDimages/home/icon_sy_xygl.png">
+              <p>信用管理</p>
+            </div>
+          </div>
+          <div class="position-button" @click="goPage('HierarchicalControl','分级管控')">
+            <div>
+              <img src="@/assets/ZDimages/home/icon_sy_fjgk.png">
+              <p>分级管控</p>
+            </div>
+          </div>
+          <div class="position-button" @click="goPage('null','安全档案')">
+            <div>
+              <img src="@/assets/ZDimages/home/icon_sy_aqda.png">
+              <p>安全档案</p>
+            </div>
+          </div>
+          <div class="position-button" @click="goPage('Comprehensive','综合管理')">
+            <div>
+              <img src="@/assets/ZDimages/home/icon_sy_zhgl.png">
+              <p>综合管理</p>
+            </div>
+          </div>
+          <!--<div class="position-button" @click="goPage('EmergencyManagement','应急管理')">-->
+          <!--<div>-->
+          <!--<img src="@/assets/ZDimages/home/icon_sy_yjgl.png">-->
+          <!--<p>应急管理</p>-->
+          <!--</div>-->
+          <!--</div>-->
+          <!--<div class="position-button" @click="goPage('CreditViolation','信用管理')">-->
+          <!--<div>-->
+          <!--<img src="@/assets/ZDimages/home/icon_sy_xywg.png">-->
+          <!--<p>信用管理</p>-->
+          <!--</div>-->
+          <!--</div>-->
+          <!--<div class="position-button" @click="goPage('null','安全档案')">-->
+          <!--<div>-->
+          <!--<img src="@/assets/ZDimages/home/icon_sy_aqda.png">-->
+          <!--<p>安全档案</p>-->
+          <!--</div>-->
+          <!--</div>-->
+          <!--<div class="position-button" @click="goPage('Comprehensive','综合管理')">-->
+          <!--<div>-->
+          <!--<img src="@/assets/ZDimages/home/icon_sy_zhgl.png">-->
+          <!--<p>综合管理</p>-->
+          <!--</div>-->
+          <!--</div>-->
+          <div class="null-button"></div>
+        </div>
+      </div>
+      <img class="img-1" src="@/assets/ZDimages/home/img_sy_lf.png">
+      <img class="img-2" src="@/assets/ZDimages/home/img_yh_db.png">
+      <img class="img-3" src="@/assets/ZDimages/home/img_yh_zj.png">
+      <img class="img-4" src="@/assets/ZDimages/home/img_yh_dd.png">
+      <img class="img-5" src="@/assets/ZDimages/home/img_yh_zj.png">
+      <img class="img-6" src="@/assets/ZDimages/home/img_yh_db.png">
+    </div>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: 'homeSubPagePublic.vue',
+    data() {
+      return {
+        routeData:{},
+        userType:localStorage.getItem('userType'),
+        initPage:localStorage.getItem('initPage'),
+      };
+    },
+    created(){
+
+    },
+    mounted(){
+      let self =this
+      this.routeData = JSON.parse(localStorage.getItem("routeData"))
+      if(localStorage.getItem('initPage') == 'true'){
+        console.log("true")
+        if(localStorage.getItem('userType') == '22'){
+          for(let i=0;i<self.routeData.length;i++){
+            if(!self.routeData[i].hidden&&self.routeData[i].name != 'Https://www.sxitdlc.com'){
+              if (self.routeData[i].children){
+                for(let o=0;o<self.routeData[i].children.length;o++){
+                  if(!self.routeData[i].children[o].alwaysShow&&!self.routeData[i].children[o].hidden){
+                    let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path;
+                    console.log("urlText",urlText)
+                    this.$router.push({ path: urlText });
+                    return
+                  }else{
+                    if(self.routeData[i].children[o].children){
+                      for(let x=0;x<self.routeData[i].children[o].children.length;x++){
+                        if(!self.routeData[i].children[o].children[x].alwaysShow&&!self.routeData[i].children[o].children[x].hidden){
+                          let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path + '/' + self.routeData[i].children[o].children[x].path;
+                          console.log("urlText",urlText)
+                          this.$router.push({ path: urlText });
+                          return
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }else{
+        console.log("false")
+        for(let i=0;i<self.routeData.length;i++){
+          if(!self.routeData[i].hidden&&self.routeData[i].name != 'Https://www.sxitdlc.com'){
+            if (self.routeData[i].children){
+              for(let o=0;o<self.routeData[i].children.length;o++){
+                if(!self.routeData[i].children[o].alwaysShow&&!self.routeData[i].children[o].hidden){
+                  let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path;
+                  console.log("urlText",urlText)
+                  this.$router.push({ path: urlText });
+                  return
+                }else{
+                  if(self.routeData[i].children[o].children){
+                    for(let x=0;x<self.routeData[i].children[o].children.length;x++){
+                      if(!self.routeData[i].children[o].children[x].alwaysShow&&!self.routeData[i].children[o].children[x].hidden){
+                        let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path + '/' + self.routeData[i].children[o].children[x].path;
+                        console.log("urlText",urlText)
+                        this.$router.push({ path: urlText });
+                        return
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    methods: {
+      //跳转按钮
+      goPage(type,title){
+        let self = this;
+        if(type == 'null'){
+          this.$alert(title+'暂未开放', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          });
+          return
+        }
+        if(type == 'Https://www.sxitdlc.com'){
+          for(let i=0;i<self.routeData.length;i++){
+            if(type == self.routeData[i].name){
+              console.log("self.routeData[i].name",self.routeData[i].name)
+              window.open(localStorage.getItem('screenUrl') + '?identity=' + localStorage.getItem('identity'));
+              return
+            }
+          }
+          this.$alert('没有"'+title+'"系统权限,如有疑问,请联系管理员', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          });
+        }
+        //寻找跳转目标路由
+        let num = 0;
+        for(let i=0;i<self.routeData.length;i++){
+          if(type == self.routeData[i].name){
+            num++
+            if(!self.routeData[i].alwaysShow&&!self.routeData[i].hidden){
+              let urlText = self.routeData[i].path;
+              this.$router.push({ path: urlText });
+              console.log("urlText1",urlText)
+              return
+            }else if (self.routeData[i].children){
+              for(let o=0;o<self.routeData[i].children.length;o++){
+                if(!self.routeData[i].children[o].alwaysShow&&!self.routeData[i].children[o].hidden){
+                  let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path;
+                  this.$router.push({ path: urlText });
+                  console.log("urlText2",urlText)
+                  return
+                }else{
+                  if(self.routeData[i].children[o].children){
+                    for(let x=0;x<self.routeData[i].children[o].children.length;x++){
+                      if(!self.routeData[i].children[o].children[x].alwaysShow&&!self.routeData[i].children[o].children[x].hidden){
+                        let urlText = self.routeData[i].path + '/' + self.routeData[i].children[o].path + '/' + self.routeData[i].children[o].children[x].path;
+                        this.$router.push({ path: urlText });
+                        console.log("urlText3",urlText)
+                        return
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        if(num == 0){
+          this.$alert('没有"'+title+'"系统权限,如有疑问,请联系管理员', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          });
+        }
+      },
+    },
+  }
+</script>
+
+<style scoped lang="scss">
+  @-webkit-keyframes centerButtonMover  {
+    0% {
+      transform:scale(1);
+    }
+    30% {
+      transform: rotate(0deg) scale(0.9);
+    }
+    40% {
+      transform: rotate(-5deg) scale(1);
+    }
+    50% {
+      transform: rotate(5deg) scale(1);
+    }
+    60% {
+      transform: rotate(-5deg) scale(1.1);
+    }
+    70% {
+      transform: rotate(0deg) scale(1.2);
+    }
+    100% {
+      transform: rotate(0deg) scale(1);
+    }
+  }
+  @-webkit-keyframes centerMover {
+    0% {
+      -webkit-transform: translateY(0);
+      /*transform:scale(0.5px;*/
+    }
+    50% {
+      -webkit-transform: translateY(20px);
+      /*transform:scale(0.5px;*/
+    }
+    100% {
+      -webkit-transform: translateY(0);
+      /*transform:scale(0.6px;/*/
+    }
+  }
+  @-webkit-keyframes ringMove {
+    0% {
+      -webkit-transform: translateY(0px);
+      /*transform:scale(0.5px;*/
+      opacity:1;
+    }
+    50% {
+      -webkit-transform: translateY(20px);
+      /*transform:scale(0.5px;*/
+      opacity:0;
+    }
+    100% {
+      -webkit-transform: translateY(0);
+      /*transform:scale(0.6px;/*/
+      opacity:0;
+    }
+  }
+  @-webkit-keyframes buttonMove{
+    50%{
+      -webkit-transform:scale(0.8);
+      transform:scale(0.8);
+      -webkit-filter:brightness(90%)
+    }
+    100%{
+      -webkit-transform:scale(1);
+      transform:scale(1);
+      /*css3滤镜亮度百分比*/
+      -webkit-filter:brightness(100%)
+    }
+  }
+  *{
+    margin:0;
+  }
+  .max-home-button-box{
+    /*width:1462px;*/
+    width:1300px;
+    /*height:848px;*/
+    height:760px;
+    top:50%;
+    left:50%;
+    margin-top:-380px;
+    margin-left:-650px;
+    position: absolute;
+    .max-home-box{
+      /*background: #E65D6E;*/
+      /*width:1462px;*/
+      width:1300px;
+      /*height:848px;*/
+      height:760px;
+      position: relative;
+      display: flex;
+      flex-direction: column;
+      .img-1{
+        position: absolute;
+        /*width:863px;*/
+        width:690px;
+        /*height:504px;*/
+        height:403px;
+        top:191px;
+        left:50%;
+        margin-left:- 345px;
+        -webkit-animation-name: centerMover;
+        -webkit-animation-duration: 4s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0s;
+      }
+      .img-2{
+        position: absolute;
+        /*width:463px;*/
+        width:370px;
+        /*height:106px;*/
+        height:84px;
+        top:391px;
+        left:50%;
+        margin-left:- 185px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0s;
+      }
+      .img-3{
+        position: absolute;
+        /*width:493px;*/
+        width:394px;
+        /*height:107px;*/
+        height:85px;
+        top:319px;
+        left:50%;
+        margin-left:- 197px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.2s;
+      }
+      .img-4{
+        position: absolute;
+        /*width:554px;*/
+        width:443px;
+        /*height:118px;*/
+        height:94px;
+        top:231px;
+        left:50%;
+        margin-left:- 221px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.4s;
+      }
+      .img-5{
+        position: absolute;
+        width:394px;
+        /*width:493px;*/
+        /*height:107px;*/
+        height:85px;
+        /*width:644px;*/
+        /*height:118px;*/
+        top:141px;
+        left:50%;
+        //margin-left:-322px;
+        margin-left:- 197px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.6s;
+      }
+      .img-6{
+        position: absolute;
+        width:354px;
+        /*width:443px;*/
+        /*height:106px;*/
+        height:84px;
+        /*width:734px;*/
+        /*height:118px;*/
+        top:051px;
+        left:50%;
+        //margin-left:-367px;
+        margin-left:- 177px;
+        -webkit-animation-name: ringMove;
+        -webkit-animation-duration: 2s;
+        -webkit-animation-iteration-count: infinite;
+        -webkit-animation-delay: 0.8s;
+      }
+      .max-bottom-box{
+        width:1300px;
+        margin:0 auto;
+        flex:1;
+        display: flex;
+        flex-direction: column;
+        .top-button-box{
+          display: flex;
+          .left-box{
+            .position-button{
+              width:297px;
+              height:136px;
+              cursor: pointer;
+              position: relative;
+              z-index:5;
+              img{
+                width:297px;
+                height:136px;
+              }
+              p{
+                position: absolute;
+                top:43px;
+                left:142px;
+                text-align: center;
+                font-size:18px;
+                line-height:18px;
+                background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+                -webkit-background-clip: text;
+                color: transparent;
+              }
+            }
+            .position-button:nth-child(1){
+              margin-top:0;
+            }
+            .position-button:nth-child(2){
+              margin:55px 0 0 40px;
+            }
+            .position-button:nth-child(3){
+              margin:55px 0 0 80px;
+            }
+          }
+          .center-box{
+            flex:1;
+            .position-button{
+              width:147px;
+              height:105px;
+              cursor: pointer;
+              position: relative;
+              z-index:5;
+              margin:0 auto 0;
+              -webkit-animation-name: centerButtonMover;
+              -webkit-animation-duration: 3s;
+              -webkit-animation-iteration-count: infinite;
+              -webkit-animation-delay: 0s;
+              img{
+                width:147px;
+                height:105px;
+              }
+              p{
+                position: absolute;
+                top:66px;
+                left:30px;
+                text-align: center;
+                font-size:18px;
+                line-height:18px;
+                background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+                -webkit-background-clip: text;
+                color: transparent;
+              }
+            }
+          }
+          .right-box{
+            .position-button{
+              width:297px;
+              height:136px;
+              cursor: pointer;
+              z-index:5;
+              position: relative;
+              img{
+                width:297px;
+                height:136px;
+              }
+              p{
+                position: absolute;
+                top:43px;
+                left:56px;
+                text-align: center;
+                font-size:18px;
+                line-height:18px;
+                background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+                -webkit-background-clip: text;
+                color: transparent;
+              }
+            }
+            .position-button:nth-child(1){
+              margin:0 0 0 80px;
+            }
+            .position-button:nth-child(2){
+              margin:55px 0 0 40px;
+            }
+            .position-button:nth-child(3){
+              margin-top:55px;
+            }
+          }
+        }
+        .center-button-box{
+          flex:1;
+        }
+        .bottom-button-box{
+          display: flex;
+          .null-button{
+            flex:1;
+          }
+          .position-button{
+            width:140px;
+            height:200px;
+            cursor: pointer;
+            z-index:5;
+            position: relative;
+            img{
+              width:140px;
+              height:230px;
+            }
+            p{
+              position: absolute;
+              top:154px;
+              /*left:34px;*/
+              width:140px;
+              text-align: center;
+              font-size:18px;
+              line-height:18px;
+              background: linear-gradient(to top, #06F6F7 , #FFFFFF );
+              -webkit-background-clip: text;
+              color: transparent;
+            }
+          }
+          .position-button:nth-child(2),
+          .position-button:nth-child(3),
+          .position-button:nth-child(4),
+          .position-button:nth-child(5){
+            margin-right:95px;
+          }
+        }
+        .position-button:hover{
+          -webkit-animation-name: buttonMove;
+          -webkit-animation-duration: 1.5s;
+          -webkit-animation-iteration-count: infinite;
+          -webkit-animation-delay: 0s;
+        }
+      }
+    }
+  }
+  .bottom-null-box{
+    height:60px;
+  }
+</style>

+ 27 - 0
src/views/differenceComponent/newEvacuationBigDataSubPageKYDXNH.vue

@@ -0,0 +1,27 @@
+<template>
+  <div class="evacuation-title-position-box">应 急 处 置</div>
+</template>
+
+<script>
+  export default {
+    name: 'newEvacuationBigDataSubPageKYDXNH'
+  }
+</script>
+
+<style scoped lang="scss">
+  .evacuation-title-position-box{
+    position: absolute;
+    top:0;
+    height:92px;
+    left:41px;
+    width: 1837px;
+    background: url("../../assets/ZDimages/bigData3_2/img_bg_kd.png");
+    background-size: 100% 100%;
+    text-align: center;
+    font-size:40px;
+    line-height:82px;
+    color:#24d1f9;
+    font-weight:900;
+    letter-spacing:10px
+  }
+</style>

+ 27 - 0
src/views/differenceComponent/newEvacuationBigDataSubPagePublic.vue

@@ -0,0 +1,27 @@
+<template>
+    <div class="evacuation-title-position-box">风险应急处置指挥平台</div>
+</template>
+
+<script>
+  export default {
+    name: 'newEvacuationBigDataSubPagePublic'
+  }
+</script>
+
+<style scoped lang="scss">
+  .evacuation-title-position-box{
+    position: absolute;
+    top:0;
+    height:92px;
+    left:41px;
+    width: 1837px;
+    background: url("../../assets/ZDimages/bigData3_2/sy_db_bg.png");
+    background-size: 100% 100%;
+    text-align: center;
+    font-size:40px;
+    line-height:82px;
+    color:#24d1f9;
+    font-weight:900;
+    letter-spacing:10px
+  }
+</style>

+ 11 - 166
src/views/home.vue

@@ -1,169 +1,10 @@
 <template>
   <div class="home" :class="userType != 22&&initPage == 'true' ? 'home-class' : ''" >
-    <!--<div class="button-max-box" v-if="userType != '22'">-->
-    <!--<dv-full-screen-container v-if="userType != '22'&&initPage == 'true'" style="display: flex;flex-direction: column;flex:1;">-->
-      <home-navbar />
-      <div class="max-big-home-box" v-if="userType != 22&&initPage == 'true'">
-        <div class="max-home-button-box">
-          <div class="max-home-box">
-            <div class="max-bottom-box">
-              <div class="top-button-box">
-                <div class="left-box">
-                  <div class="position-button top-margin" @click="goPage('EmergencyManagement','应急预警')">
-                    <div>
-                      <img src="@/assets/ZDimages/home/icon_sy_yjyj.png">
-                      <p>应急预警</p>
-                    </div>
-                  </div>
-                  <div class="position-button" @click="goPage('GasManage','气瓶监测')">
-                    <div>
-                      <img src="@/assets/ZDimages/home/icon_sy_qpjc.png">
-                      <p>气瓶监测</p>
-                    </div>
-                  </div>
-                  <div class="position-button" @click="goPage('ChemicalLibrary','化学品管理')">
-                    <div>
-                      <img src="@/assets/ZDimages/home/icon_sy_hxpgl.png">
-                      <p>化学品管控</p>
-                    </div>
-                  </div>
-                  <!--<div class="position-button top-margin" @click="goPage('SafetyEducationExam','安全教育与考试')">-->
-                    <!--<div>-->
-                      <!--<img src="@/assets/ZDimages/home/icon_sy_aqjyyks.png">-->
-                      <!--<p>安全教育与考试</p>-->
-                    <!--</div>-->
-                  <!--</div>-->
-                  <!--<div class="position-button" @click="goPage('null','责任体系')">-->
-                    <!--<div>-->
-                      <!--<img src="@/assets/ZDimages/home/icon_sy_zrtx.png">-->
-                      <!--<p>责任体系</p>-->
-                    <!--</div>-->
-                  <!--</div>-->
-                  <!--<div class="position-button" @click="goPage('SecureAccess','安全准入')">-->
-                    <!--<div>-->
-                      <!--<img src="@/assets/ZDimages/home/icon_sy_aqjyyks.png">-->
-                      <!--<p>安全准入</p>-->
-                    <!--</div>-->
-                  <!--</div>-->
-                </div>
-                <div class="center-box">
-                  <div class="position-button" @click="goPage('Https://www.sxitdlc.com','数据大屏')">
-                    <div>
-                      <img src="@/assets/ZDimages/home/icon_sydlpt_sjksh.png">
-                      <p>数据可视化</p>
-                    </div>
-                  </div>
-                </div>
-                <div class="right-box">
-                  <div class="position-button top-margin" @click="goPage('SecureAccess','安全准入')">
-                    <div>
-                      <img src="@/assets/ZDimages/home/icon_sy_aqzr.png">
-                      <p>安全准入</p>
-                    </div>
-                  </div>
-                  <div class="position-button" @click="goPage('HazardManagement','危险源管理')">
-                    <div>
-                      <img src="@/assets/ZDimages/home/icon_tydlptsy_wxygl.png">
-                      <p>危险源管理</p>
-                    </div>
-                  </div>
-                  <div class="position-button" @click="goPage('SecurityCheck','安全检查')">
-                    <div>
-                      <img src="@/assets/ZDimages/home/icon_sy_aqjc.png">
-                      <p>安全检查</p>
-                    </div>
-                  </div>
-                  <!--<div class="position-button top-margin" @click="goPage('HierarchicalControl','分级管控')">-->
-                    <!--<div>-->
-                      <!--<img src="@/assets/ZDimages/home/icon_sy_fjgk.png">-->
-                      <!--<p>分级管控</p>-->
-                    <!--</div>-->
-                  <!--</div>-->
-                  <!--<div class="position-button" @click="goPage('SecurityCheck','安全检查')">-->
-                    <!--<div>-->
-                      <!--<img src="@/assets/ZDimages/home/icon_sy_aqjc.png">-->
-                      <!--<p>安全检查</p>-->
-                    <!--</div>-->
-                  <!--</div>-->
-                  <!--<div class="position-button" @click="goPage('HazardManagement','危险源管理')">-->
-                    <!--<div>-->
-                      <!--<img src="@/assets/ZDimages/home/icon_tydlptsy_wxygl.png">-->
-                      <!--<p>危险源管理</p>-->
-                    <!--</div>-->
-                  <!--</div>-->
-                </div>
-              </div>
-              <div class="center-button-box display-none-one"></div>
-              <div class="bottom-button-box">
-                <div class="null-button"></div>
-                <div class="position-button" @click="goPage('SafetyEducationExam','安全教育与考试')">
-                  <div>
-                    <img src="@/assets/ZDimages/home/icon_sy_aqyuyks.png">
-                    <p>安全教育与考试</p>
-                  </div>
-                </div>
-                <div class="position-button" @click="goPage('CreditViolation','信用管理')">
-                  <div>
-                    <img src="@/assets/ZDimages/home/icon_sy_xygl.png">
-                    <p>信用管理</p>
-                  </div>
-                </div>
-                <div class="position-button" @click="goPage('HierarchicalControl','分级管控')">
-                  <div>
-                    <img src="@/assets/ZDimages/home/icon_sy_fjgk.png">
-                    <p>分级管控</p>
-                  </div>
-                </div>
-                <div class="position-button" @click="goPage('null','安全档案')">
-                  <div>
-                    <img src="@/assets/ZDimages/home/icon_sy_aqda.png">
-                    <p>安全档案</p>
-                  </div>
-                </div>
-                <div class="position-button" @click="goPage('Comprehensive','综合管理')">
-                  <div>
-                    <img src="@/assets/ZDimages/home/icon_sy_zhgl.png">
-                    <p>综合管理</p>
-                  </div>
-                </div>
-                <!--<div class="position-button" @click="goPage('EmergencyManagement','应急管理')">-->
-                  <!--<div>-->
-                    <!--<img src="@/assets/ZDimages/home/icon_sy_yjgl.png">-->
-                    <!--<p>应急管理</p>-->
-                  <!--</div>-->
-                <!--</div>-->
-                <!--<div class="position-button" @click="goPage('CreditViolation','信用管理')">-->
-                  <!--<div>-->
-                    <!--<img src="@/assets/ZDimages/home/icon_sy_xywg.png">-->
-                    <!--<p>信用管理</p>-->
-                  <!--</div>-->
-                <!--</div>-->
-                <!--<div class="position-button" @click="goPage('null','安全档案')">-->
-                  <!--<div>-->
-                    <!--<img src="@/assets/ZDimages/home/icon_sy_aqda.png">-->
-                    <!--<p>安全档案</p>-->
-                  <!--</div>-->
-                <!--</div>-->
-                <!--<div class="position-button" @click="goPage('Comprehensive','综合管理')">-->
-                  <!--<div>-->
-                    <!--<img src="@/assets/ZDimages/home/icon_sy_zhgl.png">-->
-                    <!--<p>综合管理</p>-->
-                  <!--</div>-->
-                <!--</div>-->
-                <div class="null-button"></div>
-              </div>
-            </div>
-            <img class="img-1" src="@/assets/ZDimages/home/img_sy_lf.png">
-            <img class="img-2" src="@/assets/ZDimages/home/img_yh_db.png">
-            <img class="img-3" src="@/assets/ZDimages/home/img_yh_zj.png">
-            <img class="img-4" src="@/assets/ZDimages/home/img_yh_dd.png">
-            <img class="img-5" src="@/assets/ZDimages/home/img_yh_zj.png">
-            <img class="img-6" src="@/assets/ZDimages/home/img_yh_db.png">
-          </div>
-        </div>
-      </div>
-      <!--<div class="bottom-null-box"></div>-->
-    <!--</dv-full-screen-container>-->
+    <home-navbar />
+    <div class="max-big-home-box" v-if="userType != 22&&initPage == 'true'">
+      <homeSubPageKYDXNH v-if="versionField === 'kuangYeDaXue_nanHu'"></homeSubPageKYDXNH>
+      <homeSubPagePublic v-else></homeSubPagePublic>
+    </div>
     <backAnimation v-if="userType != '22'&&initPage == 'true'"></backAnimation>
   </div>
 </template>
@@ -171,17 +12,21 @@
 <script>
   import backAnimation from "@/components/backAnimation/backAnimation"
   import homeNavbar from './homeNavbar.vue'
+  import homeSubPagePublic from './differenceComponent/homeSubPagePublic.vue'
+  import homeSubPageKYDXNH from './differenceComponent/homeSubPageKYDXNH.vue'
   export default {
     name: "home",
     components: {
       homeNavbar,
-      backAnimation
+      backAnimation,
+      homeSubPagePublic,
+      homeSubPageKYDXNH
     },
     data() {
       return {
-        routeData:{},
         userType:localStorage.getItem('userType'),
         initPage:localStorage.getItem('initPage'),
+        versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD
       };
     },
     created(){

+ 61 - 0
src/views/mine/differenceComponent/fingerprintSubPagePublic.vue

@@ -0,0 +1,61 @@
+<template>
+  <el-form-item class="form-item-min" label="指纹:" prop="searchValue" label-width="120px">
+    <div class="fingerprint_no" v-if="Quantity==0">
+      <p>暂未录入指纹</p>
+      <p>(请在小程序端操作)</p>
+    </div>
+    <div class="fingerprint_yes" v-if="Quantity!=0">
+      <div class="fingerprint_yes_img">
+        <img src="@/assets/ZDimages/icon_zw_bk.png">
+        <img src="@/assets/ZDimages/icon_wd_zw.png">
+      </div>
+      <p>已录入{{Quantity}}个指纹</p>
+    </div>
+  </el-form-item>
+</template>
+
+<script>
+  export default {
+    name: 'fingerprintSubPagePublic',
+    props: {
+      Quantity:{},
+    },
+  }
+</script>
+
+<style scoped lang="scss">
+  .fingerprint_no{
+    >p:nth-of-type(1){
+      color: #666666;
+    }
+    >p:nth-of-type(2){
+      color: #F56C6C;
+    }
+  }
+  .fingerprint_yes{
+    .fingerprint_yes_img{
+      width: 122px;
+      height: 142px;
+      position: relative;
+      >img:nth-of-type(1){
+        width: 122px;
+        height: 142px;
+        position: absolute;
+      }
+      >img:nth-of-type(2){
+        width: 65px;
+        height: 88px;
+        position: absolute;
+        left: 29px;
+        top: 29px;
+      }
+    }
+    >p{
+      color: #666;
+      text-align: center;
+    }
+  }
+  .form-item-min{
+    margin-top:40px;
+  }
+</style>

+ 5 - 14
src/views/mine/index.vue

@@ -130,19 +130,7 @@
                   </div>
                 </div>
               </el-form-item>
-              <el-form-item class="form-item-min" label="指纹:" prop="searchValue" label-width="120px">
-                <div class="fingerprint_no" v-if="Quantity==0">
-                  <p>暂未录入指纹</p>
-                  <p>(请在小程序端操作)</p>
-                </div>
-                <div class="fingerprint_yes" v-if="Quantity!=0">
-                  <div class="fingerprint_yes_img">
-                    <img src="@/assets/ZDimages/icon_zw_bk.png">
-                    <img src="@/assets/ZDimages/icon_wd_zw.png">
-                  </div>
-                  <p>已录入{{Quantity}}个指纹</p>
-                </div>
-              </el-form-item>
+              <fingerprintSubPagePublic  v-if="versionField !== 'suZhouDaXue'" :Quantity="Quantity"></fingerprintSubPagePublic>
             </div>
           </el-form>
           <p class="type-one-max-box add-button-one-120" @click="upDataProfile">保存</p>
@@ -271,11 +259,13 @@ import { Navbar } from '@/layout/components'
 import userAvatar from "./userAvatar";
 import { getUserProfile,updateUserPwd,changePhone,genSign,updateSignature,upDataProfile,fingerprintQuantity} from "@/api/system/user";
 import { getToken } from "@/utils/auth";
+import fingerprintSubPagePublic from './differenceComponent/fingerprintSubPagePublic.vue'
 export default {
   name: "mine",
   components: {
     Navbar,
-    userAvatar
+    userAvatar,
+    fingerprintSubPagePublic
   },
   data(){
     const equalToPassword = (rule, value, callback) => {
@@ -302,6 +292,7 @@ export default {
       }
     };
     return{
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       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", // 上传的图片服务器地址

+ 32 - 18
src/views/newEvacuationBigData.vue

@@ -1,6 +1,7 @@
 <template>
     <div class="newEvacuationBigData">
-      <div class="evacuation-title-position-box">风险应急处置指挥平台</div>
+      <newEvacuationBigDataSubPageKYDXNH v-if="versionField === 'kuangYeDaXue_nanHu'"></newEvacuationBigDataSubPageKYDXNH>
+      <newEvacuationBigDataSubPagePublic v-else></newEvacuationBigDataSubPagePublic>
       <div class="evacuation-out-button-position-box">
         <i class="el-icon-switch-button"></i>
         <p @click="goRoute">{{routeType?'退出全屏':'全屏'}}</p>
@@ -186,11 +187,16 @@
                   <img src="@/assets/ZDimages/bigData3_2/icon_dp_bjsj.png">
                   <p>{{item.riskPlanTriggerTime}}</p>
                 </div>
-                <div :class="item.riskAttribute == 1?'plan-text-box':'plan-text-box-two'">
+                <!--<div :class="item.riskAttribute == 1?'plan-text-box':'plan-text-box-two'">-->
+                  <!--<p class="plan-title-p" :class="item.riskPlanLevel==1?'color-type-1':(item.riskPlanLevel==2?'color-type-2':(item.riskPlanLevel==3?'color-type-3':(item.riskPlanLevel==4?'color-type-4':'')))">{{item.riskPlanLevelName}}</p>-->
+                  <!--<p class="plan-text-p">{{item.name}}</p>-->
+                <!--</div>-->
+                <!--<p class="plan-button-p" v-if="item.riskAttribute == 1" @click="shadeButton(7,item.groupId)">结束预案</p>-->
+                <div class="plan-text-box">
                   <p class="plan-title-p" :class="item.riskPlanLevel==1?'color-type-1':(item.riskPlanLevel==2?'color-type-2':(item.riskPlanLevel==3?'color-type-3':(item.riskPlanLevel==4?'color-type-4':'')))">{{item.riskPlanLevelName}}</p>
                   <p class="plan-text-p">{{item.name}}</p>
                 </div>
-                <p class="plan-button-p" v-if="item.riskAttribute == 1" @click="shadeButton(7,item.groupId)">结束预案</p>
+                <p class="plan-button-p" @click="shadeButton(7,item.groupId)">结束预案</p>
               </div>
             </div>
           </div>
@@ -356,7 +362,7 @@
           </div>
           <div class="text-box" v-if="shadeType == 2 || shadeType == 3 || shadeType == 4 || shadeType == 5 || shadeType == 6">
             <p>{{shadeText}}</p>
-            <p></p>
+            <p>{{shadeType==5?'关闭报警后,3分钟内系统不再触发预案报警,请核实确认后再执行此操作.':''}}</p>
           </div>
           <div class="button-box">
             <p class="button-null"></p>
@@ -441,8 +447,14 @@
            outfirepc,isCancelOutFile,selectTriggerInfo,riskPlanId} from '@/api/evacuationBigData/index.js'
   import { closeRiskPlan } from '@/api/bigData/index.js'
   import { controlSwitch } from "@/api/laboratory/hardware";
+  import newEvacuationBigDataSubPageKYDXNH from './differenceComponent/newEvacuationBigDataSubPageKYDXNH.vue'
+  import newEvacuationBigDataSubPagePublic from './differenceComponent/newEvacuationBigDataSubPagePublic.vue'
   export default {
     name: 'newEvacuationBigData',
+    components: {
+      newEvacuationBigDataSubPageKYDXNH,
+      newEvacuationBigDataSubPagePublic,
+    },
     props:{
       propsBigData:{},
     },
@@ -460,6 +472,7 @@
     },
     data() {
       return {
+        versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
         videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         //当前路由状态
         routeType:false,
@@ -783,7 +796,7 @@
           this.$set(this,'shadeText','是否结束疏散?');
           this.$set(this,'shadeType',4);
         }else if(type == 7){
-          this.$set(this,'shadeText','是否结束预案?');
+          this.$set(this,'shadeText','传感器数据监测异常,确定要强制结束预案?');
           this.$set(this,'checkRiskPlanId',text);
           this.$set(this,'shadeType',5);
         }else if(type == 8){
@@ -1686,25 +1699,25 @@
                 };
                 if(list[i].doorList[0].toward == 'top'){
                   roomObj.width = 266;
-                  roomObj.height = 111;
+                  roomObj.height = 142;
                   roomObj.left = (list[i].w/2) + (list[i].x) - 133;
                   roomObj.top = list[i].y - 111;
                   roomObj.planType = false;
                 }else if(list[i].doorList[0].toward == 'bottom'){
                   roomObj.width = 266;
-                  roomObj.height = 111;
+                  roomObj.height = 142;
                   roomObj.left = (list[i].w/2) + (list[i].x) - 133;
                   roomObj.top = list[i].y + list[i].h;
                   roomObj.planType = false;
                 }else if(list[i].doorList[0].toward == 'left'){
                   roomObj.width = 266;
-                  roomObj.height = 111;
+                  roomObj.height = 142;
                   roomObj.left = list[i].x - 133;
                   roomObj.top = (list[i].h/2) + (list[i].y) - 56;
                   roomObj.planType = false;
                 }else if(list[i].doorList[0].toward == 'fight'){
                   roomObj.width = 266;
-                  roomObj.height = 111;
+                  roomObj.height = 142;
                   roomObj.left = list[i].x + list[i].w + 133;
                   roomObj.top = (list[i].h/2) + (list[i].y) - 56;
                   roomObj.planType = false;
@@ -2757,7 +2770,7 @@
               font-weight:500;
               position:absolute;
               z-index:100;
-              background: url("../assets/ZDimages/bigData3_2/img_zhpt_bg.png");
+              background: url("../assets/ZDimages/bigData3_2/img_bg_yatk.png");
               .plan-top-button-box{
                 display: flex;
                 p:nth-child(1){
@@ -2787,7 +2800,7 @@
               .plan-text-box{
                 display: flex;
                 color:#fff;
-                margin-top:10px;
+                margin-top:15px;
                 overflow: hidden;
                 .plan-title-p{
                   width:60px;
@@ -2857,13 +2870,13 @@
                 }
               }
               .plan-button-p{
-                margin:5px auto 0;
-                width:80px;
-                line-height:22px;
-                background: #00a0e9;
+                margin:15px auto 0;
+                width:100px;
+                line-height:30px;
+                background: #163277;
                 color:#fff;
                 text-align: center;
-                border-radius:10px;
+                border-radius:6px;
                 cursor: pointer;
               }
             }
@@ -3255,9 +3268,9 @@
         position: absolute;
         top:50%;
         left:50%;
-        margin-left:-250px;
+        margin-left:-315px;
         margin-top:-125px;
-        width:500px;
+        width:630px;
         height:250px;
         background: #011020;
         border:1px solid #116e8e;
@@ -3279,6 +3292,7 @@
             font-size:16px;
             height:20px;
             line-height:20px;
+            font-weight:500;
           }
           p:nth-child(1){
             margin-top:55px;

+ 9 - 1
src/views/newEvacuationBigDataHome.vue

@@ -1,6 +1,7 @@
 <template>
     <div class="newEvacuationBigDataHome" ref="maxBox">
-      <div class="evacuation-title-position-box">风险应急处置指挥平台</div>
+      <newEvacuationBigDataSubPageKYDXNH v-if="versionField === 'kuangYeDaXue_nanHu'"></newEvacuationBigDataSubPageKYDXNH>
+      <newEvacuationBigDataSubPagePublic v-else></newEvacuationBigDataSubPagePublic>
       <div class="evacuation-out-button-position-box">
         <i class="el-icon-switch-button"></i>
         <p @click="goRoute">{{routeType?'退出全屏':'全屏'}}</p>
@@ -105,8 +106,14 @@
   import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'
   import { mergeBufferGeometries } from 'three/examples/jsm/utils/BufferGeometryUtils'
   import { SceneUtils } from 'three/examples/jsm/utils/SceneUtils.js'
+  import newEvacuationBigDataSubPageKYDXNH from './differenceComponent/newEvacuationBigDataSubPageKYDXNH.vue'
+  import newEvacuationBigDataSubPagePublic from './differenceComponent/newEvacuationBigDataSubPagePublic.vue'
   export default {
     name: 'newEvacuationBigDataHome',
+    components: {
+      newEvacuationBigDataSubPageKYDXNH,
+      newEvacuationBigDataSubPagePublic,
+    },
     computed:{
       Obj(){
         return this.$store.state.settings.planData
@@ -121,6 +128,7 @@
     },
     data() {
       return {
+        versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
         videoCover:window.location.href.split('://')[0]+'://' + this.judgmentNetworkReturnAddress() + localStorage.getItem('videoCover'),
         //当前路由状态
         routeType:false,

+ 76 - 0
src/views/secureAccess/approval/differenceComponent/addPageSubPagePublic.vue

@@ -0,0 +1,76 @@
+<template>
+  <div style="display: inline-block">
+    <p v-if="buttonData.type == '0'" class="button-p reset-button-one" style="width:100px;margin-right:20px;" @click="auditClick(1)">驳回</p>
+    <p v-if="buttonData.type == '1'" class="inquire-button-one" style="width:100px;" @click="auditClick(2)">通过</p>
+    <el-button v-if="buttonData.type == '2'" type="primary" @click="laboratoryApply(1)">确 定</el-button>
+  </div>
+</template>
+
+<script>
+  import { laboratoryApply } from "@/api/laboratory/approval";
+  export default {
+    name: 'addPageSubPagePublic',
+    props:{
+      buttonData: {},
+    },
+    methods:{
+      //审核按钮
+      auditClick(type){
+        let self = this;
+        if(type == 1){
+          self.$parent.open = true;
+        }else if(type == 2){
+          self.$confirm('是否确认审核?', "", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(function() {
+            self.laboratoryApply(type);
+          }).then(() => {}).catch(() => {});
+        }
+      },
+      laboratoryApply(type){
+        let self = this;
+        let obj = {
+          id:type==1?self.$parent.$parent.infoData.list.id:self.$parent.infoData.list.id,
+          auditStatus:type,
+          rejectCause:type==1?self.$parent.$parent.rejectCause:self.$parent.rejectCause
+        };
+        if(type == 1){
+          obj.rejectCause = self.$parent.$parent.form.rejectCause;
+          obj.rejectMaterial = self.$parent.$parent.checkList + '';
+        }
+        laboratoryApply(obj).then(response => {
+          if(response.code==200){
+            self.msgSuccess("操作成功");
+            if(type == 1){
+              self.$parent.$parent.$parent.tableClick(1);
+            }else{
+              self.$parent.$parent.tableClick(1);
+            }
+          }else if(response.code==205){
+            self.$confirm(response.msg, "警告", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            }).then(() => {
+              //  确定
+              self.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization' });
+            }).catch(function() {
+              //  取消
+              if(type == 1){
+                self.$parent.$parent.$parent.tableClick(1);
+              }else{
+                self.$parent.$parent.tableClick(1);
+              }
+            });
+          }
+        })
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 57 - 0
src/views/secureAccess/approval/differenceComponent/addPageSubPageSZDX.vue

@@ -0,0 +1,57 @@
+<template>
+  <div style="display: inline-block">
+    <p v-if="buttonData.type == '0'" class="button-p reset-button-one" style="width:100px;margin-right:20px;" @click="auditClick(1)">驳回</p>
+    <p v-if="buttonData.type == '1'" class="inquire-button-one" style="width:100px;" @click="auditClick(2)">通过</p>
+    <el-button v-if="buttonData.type == '2'" type="primary" @click="laboratoryApply(1)">确 定</el-button>
+  </div>
+</template>
+
+<script>
+  import { laboratoryApply } from "@/api/laboratory/approval";
+  export default {
+    name: 'addPageSubPageSZDX',
+    props:{
+      buttonData: {},
+    },
+    methods:{
+      auditClick(type){
+        let self = this;
+        if(type == 1){
+          self.$parent.open = true;
+        }else if(type == 2){
+          self.$confirm('是否确认审核?', "", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(function() {
+            self.laboratoryApply(type);
+          }).then(() => {}).catch(() => {});
+        }
+      },
+      laboratoryApply(type){
+        let self = this;
+        let obj = {
+          id:type==1?self.$parent.$parent.infoData.list.id:self.$parent.infoData.list.id,
+          auditStatus:type,
+          rejectCause:type==1?self.$parent.$parent.rejectCause:self.$parent.rejectCause
+        };
+        if(type == 1){
+          obj.rejectCause = self.$parent.$parent.form.rejectCause;
+          obj.rejectMaterial = self.$parent.$parent.checkList + '';
+        }
+        laboratoryApply(obj).then(response => {
+          self.msgSuccess("操作成功");
+          if(type == 1){
+            self.$parent.$parent.$parent.tableClick(1);
+          }else{
+            self.$parent.$parent.tableClick(1);
+          }
+        })
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 21 - 3
src/views/secureAccess/approval/infoPage.vue

@@ -53,8 +53,12 @@
       <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>
+        <addPageSubPageSZDX v-if="!isLook && versionField === 'suZhouDaXue'" :buttonData="{type:0}"></addPageSubPageSZDX>
+        <addPageSubPagePublic v-if="!isLook && versionField !== 'suZhouDaXue'" :buttonData="{type:0}"></addPageSubPagePublic>
+        <addPageSubPageSZDX v-if="!isLook && versionField === 'suZhouDaXue'" :buttonData="{type:1}"></addPageSubPageSZDX>
+        <addPageSubPagePublic v-if="!isLook && versionField !== 'suZhouDaXue'" :buttonData="{type:1}"></addPageSubPagePublic>
+        <!--<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">
@@ -109,7 +113,9 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="laboratoryApply(1)">确 定</el-button>
+        <addPageSubPageSZDX v-if="versionField === 'suZhouDaXue'" :buttonData="{type:2}"></addPageSubPageSZDX>
+        <addPageSubPagePublic v-else :buttonData="{type:2}"></addPageSubPagePublic>
+        <!--<el-button type="primary" @click="laboratoryApply(1)">确 定</el-button>-->
         <!--<el-button @click="cancel">取 消</el-button>-->
       </div>
     </el-dialog>
@@ -120,13 +126,20 @@
 let Base64 = require('js-base64').Base64;
 import {downloadwBatch, getDetails, laboratoryApply} from "@/api/laboratory/approval";
 import {optionHazard} from "@/api/laboratory/hazard";
+import addPageSubPagePublic from './differenceComponent/addPageSubPagePublic.vue'
+import addPageSubPageSZDX from './differenceComponent/addPageSubPageSZDX.vue'
 export default {
   name: "info-page",
+  components: {
+    addPageSubPagePublic,
+    addPageSubPageSZDX
+  },
   props:{
     infoData: {},
   },
   data() {
     return {
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       pageType:false,
       forIndex:0,
       subjectData:{},
@@ -420,6 +433,11 @@ export default {
   .admittance_materials{
     padding-left: 40px;
     box-sizing: border-box;
+    .item-title-box{
+      margin-left:50px;
+      font-size:16px;
+      line-height:80px;
+    }
     .admittance_materials_title{
       flex: 1;
       line-height:60px;

+ 12 - 1
src/views/secureAccess/whitelist/addPage.vue

@@ -35,7 +35,9 @@
               </div>
             </div>
           </div>
-          <p class="inquire-button-one" style="margin:100px 50px;" @click="upButton">提交</p>
+          <addPageSubPageSZDX v-if="versionField === 'suZhouDaXue'"></addPageSubPageSZDX>
+          <addPageSubPagePublic v-else></addPageSubPagePublic>
+          <!--<p class="inquire-button-one" style="margin:100px 50px;" @click="upButton">提交</p>-->
         </el-form>
       </div>
       <div class="right">
@@ -144,13 +146,20 @@ import {listInfo} from "@/api/laboratory/gradeManage";
 import {delPlan, getUserRoleBySub} from "@/api/laboratory/plan";
 import {buildsList} from "@/api/laboratory/sparseHardware";
 import {listFloorByBuildId} from "@/api/laboratory/building";
+import addPageSubPagePublic from './differenceComponent/addPageSubPagePublic.vue'
+import addPageSubPageSZDX from './differenceComponent/addPageSubPageSZDX.vue'
 export default {
   name: "add-whitelist",
+  components: {
+    addPageSubPagePublic,
+    addPageSubPageSZDX
+  },
   props:{
     pageData:{},
   },
   data() {
     return {
+      versionField:process.env.VUE_APP_VERSION_DIFFERENCE_FIELD,
       isEdit:false,
       form:{},
       loading:false,
@@ -585,6 +594,8 @@ export default {
     p:nth-child(1){
       flex:1;
       font-size:16px;
+      line-height:40px;
+      padding-bottom:20px;
       color:#0045AF;
     }
     p:nth-child(2){

+ 82 - 0
src/views/secureAccess/whitelist/differenceComponent/addPageSubPagePublic.vue

@@ -0,0 +1,82 @@
+<template>
+  <p class="inquire-button-one" style="margin:100px 50px;" @click="upButton">提交</p>
+</template>
+
+<script>
+  import { whitelistAddList,whitelistEditList } from "@/api/laboratory/whitelist";
+  export default {
+    name: 'addPageSubPagePublic',
+    methods:{
+      // 上传按钮
+      upButton(){
+        let self = this;
+        if(!self.$parent.$parent.userList[0]){
+          self.msgError("请先添加人员")
+          return
+        }
+        self.$confirm('是否确认提交?', "", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          if(self.$parent.$parent.pageData.id){
+            self.whitelistEditList();
+          }else{
+            self.whitelistAddList();
+          }
+        }).then(() => {}).catch(() => {});
+      },
+      //新增提交
+      whitelistAddList(){
+        let self = this;
+        let labWhiteJoinSubList=[];
+        self.$parent.$parent.subjectList.forEach(function (item,index){
+          labWhiteJoinSubList.push({'subjectId':item.subjectId})
+        })
+        let obj = {
+          labWhitelist:self.$parent.$parent.userList,
+          labWhiteJoinSubList:labWhiteJoinSubList
+        }
+        whitelistAddList(obj).then(response => {
+          if(response.code==200){
+            self.msgSuccess("操作成功")
+            self.$parent.$parent.backPage();
+          }else if(response.code==205){
+            self.$confirm(response.msg, "警告", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            }).then(() => {
+              //  确定
+              self.$router.push({ path: '/comprehensive/laboratoryManagement/accessAuthorization' });
+            }).catch(function() {
+              //  取消
+              self.$parent.$parent.backPage();
+            });
+          }
+        });
+      },
+      //编辑提交
+      whitelistEditList(){
+        let self = this;
+        let labWhiteJoinSubList=[];
+        //循环取出实验室id
+        self.$parent.$parent.subjectList.forEach(function (item,index){
+          labWhiteJoinSubList.push({'subjectId':item.subjectId})
+        })
+        let obj = {
+          userId:self.$parent.$parent.userList[0].userId,
+          labWhiteJoinSubList:labWhiteJoinSubList
+        }
+        whitelistEditList(obj).then(response => {
+          self.msgSuccess("操作成功")
+          self.$parent.$parent.backPage();
+        });
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 69 - 0
src/views/secureAccess/whitelist/differenceComponent/addPageSubPageSZDX.vue

@@ -0,0 +1,69 @@
+<template>
+  <p class="inquire-button-one" style="margin:100px 50px;" @click="upButton">提交</p>
+</template>
+
+<script>
+  import { whitelistAddList,whitelistEditList } from "@/api/laboratory/whitelist";
+  export default {
+    name: 'addPageSubPageSZDX',
+    methods:{
+      // 上传按钮
+      upButton(){
+        console.log('s')
+        let self = this;
+        if(!self.$parent.$parent.userList[0]){
+          self.msgError("请先添加人员")
+          return
+        }
+        self.$confirm('是否确认提交?', "", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          if(self.$parent.$parent.pageData.id){
+            self.whitelistEditList();
+          }else{
+            self.whitelistAddList();
+          }
+        }).then(() => {}).catch(() => {});
+      },
+      //新增提交
+      whitelistAddList(){
+        let self = this;
+        let labWhiteJoinSubList=[];
+        self.$parent.$parent.subjectList.forEach(function (item,index){
+          labWhiteJoinSubList.push({'subjectId':item.subjectId})
+        })
+        let obj = {
+          labWhitelist:self.$parent.$parent.userList,
+          labWhiteJoinSubList:labWhiteJoinSubList
+        }
+        whitelistAddList(obj).then(response => {
+          self.msgSuccess("操作成功")
+          self.$parent.$parent.backPage();
+        });
+      },
+      //编辑提交
+      whitelistEditList(){
+        let self = this;
+        let labWhiteJoinSubList=[];
+        //循环取出实验室id
+        self.$parent.$parent.subjectList.forEach(function (item,index){
+          labWhiteJoinSubList.push({'subjectId':item.subjectId})
+        })
+        let obj = {
+          userId:self.$parent.$parent.userList[0].userId,
+          labWhiteJoinSubList:labWhiteJoinSubList
+        }
+        whitelistEditList(obj).then(response => {
+          self.msgSuccess("操作成功")
+          self.$parent.$parent.backPage();
+        });
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>