ソースを参照

Merge branch 'VERSIONS-AnQuanJianCha-1223' into leb-web-dev

dedsudiyu 3 ヶ月 前
コミット
7af602eee8
共有20 個のファイルを変更した194 個の追加40 個の削除を含む
  1. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_aqjcgl.png
  2. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_aqjyks.png
  3. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_aqzrgl.png
  4. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_dygxyy.png
  5. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_hxpzngk.png
  6. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_jcjggl.png
  7. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sbzhgl.png
  8. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sydwzx.png
  9. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sysaqzr.png
  10. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sysfjfl.png
  11. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_syszyyy.png
  12. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_yjyjgl.png
  13. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_zcglxt.png
  14. BIN
      src/assets/ZDimages/basicsModules/homeXiNong/icon_sydlpt_sjksh.png
  15. 6 1
      src/router/index.js
  16. 57 4
      src/views/basicsModules/homeXiNong.vue
  17. 110 32
      src/views/integratedManagement/laboratoryManagement/subject/addSubject.vue
  18. 19 3
      src/views/safetyCheck/components/initiateInspect/initiateInspect.vue
  19. 1 0
      src/views/safetyCheck/safetyHazard/rectificationNotice/listPage.vue
  20. 1 0
      src/views/safetyCheck/safetyHazard/rectificationReport/listPage.vue

BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_aqjcgl.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_aqjyks.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_aqzrgl.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_dygxyy.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_hxpzngk.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_jcjggl.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sbzhgl.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sydwzx.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sysaqzr.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_sysfjfl.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_syszyyy.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_yjyjgl.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sy_zcglxt.png


BIN
src/assets/ZDimages/basicsModules/homeXiNong/icon_sydlpt_sjksh.png


+ 6 - 1
src/router/index.js

@@ -26,9 +26,14 @@ import Layout from '@/layout'
  */
 // 公共路由
 export const constantRoutes = [
+  // {
+  //   path: '/',
+  //   component: (resolve) => require(['@/views/basicsModules/home'], resolve),
+  //   hidden: true
+  // },
   {
     path: '/',
-    component: (resolve) => require(['@/views/basicsModules/home'], resolve),
+    component: (resolve) => require(['@/views/basicsModules/homeXiNong'], resolve),
     hidden: true
   },
   {

+ 57 - 4
src/views/basicsModules/homeXiNong.vue

@@ -11,15 +11,17 @@
                      v-for="(item,index) in leftButtonData" @click="goPage(item)">
                   <div>
                     <img :src="item.imgUrl">
+                    <p>{{item.menuName}}</p>
                   </div>
                 </div>
               </div>
               <div class="center-box">
                 <div class="position-button"
-                     style="cursor: auto"
+                     @click="goDataHome()"
                      v-for="(item,index) in centerButtonList">
                   <div>
                     <img :src="item.imgUrl">
+                    <p>{{item.menuName}}</p>
                   </div>
                 </div>
               </div>
@@ -28,6 +30,7 @@
                      v-for="(item,index) in rightButtonData" @click="goPage(item)">
                   <div>
                     <img :src="item.imgUrl">
+                    <p>{{item.menuName}}</p>
                   </div>
                 </div>
               </div>
@@ -39,6 +42,7 @@
                    v-for="(item,index) in buttonButtonData" @click="goPage(item)">
                 <div>
                   <img :src="item.imgUrl">
+                  <p>{{item.menuName}}</p>
                 </div>
               </div>
               <div class="null-button"></div>
@@ -147,10 +151,10 @@
         centerButtonList:[
           {
             buttonType: true,
-            buttonName: '大仪共享预约',
-            menuName: '大仪共享预约',
+            buttonName: '数据可视化',
+            menuName: '数据可视化',
             isFrame: true,
-            path: 'dayigongxiangyuyue',
+            path: 'shujudaping',
             imgUrl: require('@/assets/ZDimages/basicsModules/homeXiNong/icon_sydlpt_sjksh.png'),
           },
         ],
@@ -229,6 +233,13 @@
       }
     },
     methods: {
+      goDataHome(){
+        if(this.urlData()){
+          window.open('http://172.16.0.65/schoolData/#/')
+        }else{
+          window.open('https://labcontrol.nwafu.edu.cn/schoolData/#/')
+        }
+      },
       //跳转按钮
       goPage(item) {
         if (item.buttonType) {
@@ -359,6 +370,48 @@
             })
           }
         })
+      },
+      urlData() {
+        /*判断是否是内网IP*/
+        // 获取当前页面url
+        var curPageUrl = window.location.href;
+        var reg1 = /(http|ftp|https|www):\/\//g;//去掉前缀
+        curPageUrl =curPageUrl.replace(reg1,'');
+        var reg2 = /\:+/g;//替换冒号为一点
+        curPageUrl =curPageUrl.replace(reg2,'.');
+        curPageUrl = curPageUrl.split('.');//通过一点来划分数组
+        var ipAddress = curPageUrl[0]+'.'+curPageUrl[1]+'.'+curPageUrl[2]+'.'+curPageUrl[3];
+        var isInnerIp = false;//默认给定IP不是内网IP
+        var ipNum = getIpNum(ipAddress);
+        /**
+         * 私有IP:A类  10.0.0.0    -10.255.255.255
+         *       B类  172.16.0.0  -172.31.255.255
+         *       C类  192.168.0.0 -192.168.255.255
+         *       D类   127.0.0.0   -127.255.255.255(环回地址)
+         **/
+        var aBegin = getIpNum("10.0.0.0");
+        var aEnd = getIpNum("10.255.255.255");
+        var bBegin = getIpNum("172.16.0.0");
+        var bEnd = getIpNum("172.31.255.255");
+        var cBegin = getIpNum("192.168.0.0");
+        var cEnd = getIpNum("192.168.255.255");
+        var dBegin = getIpNum("127.0.0.0");
+        var dEnd = getIpNum("127.255.255.255");
+        isInnerIp = isInner(ipNum,aBegin,aEnd) || isInner(ipNum,bBegin,bEnd) || isInner(ipNum,cBegin,cEnd) || isInner(ipNum,dBegin,dEnd);
+        return !!isInnerIp;
+        /*获取IP数*/
+        function getIpNum(ipAddress) {
+          var ip = ipAddress.split(".");
+          var a = parseInt(ip[0]);
+          var b = parseInt(ip[1]);
+          var c = parseInt(ip[2]);
+          var d = parseInt(ip[3]);
+          var ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;
+          return ipNum;
+        }
+        function isInner(userIp,begin,end){
+          return (userIp>=begin) && (userIp<=end);
+        }
       }
     }
   }

+ 110 - 32
src/views/integratedManagement/laboratoryManagement/subject/addSubject.vue

@@ -6,7 +6,7 @@
       <p class="page-top-title-submit-p" @click="upData">提交</p>
     </div>
     <div class="content-box scrollbar-box">
-      <el-form ref="form" :model="form" label-width="120px" :rules="rules" >
+      <el-form ref="form" :model="form" label-width="120px" :rules="form.dynamicLeveling?rulesOne:rules" >
         <div class="title-box">
           <p class="left-title">基本信息</p>
         </div>
@@ -66,21 +66,11 @@
           </el-form-item>
           <p class="page-reset-common-style-button" @click="classifyClick()" style="margin-left:12px;margin-bottom:20px;width:90px;">分类配置</p>
         </div>
-        <el-form-item label="实验室面积" prop="subArea" class="form-item">
-          <el-input
-            style="width:320px;"
-            v-model="form.subArea"
-            placeholder="请输入面积"
-            oninput="value=value.replace(/[^0-9.]/g,'')"
-            maxlength="4"
-            size="small">
-            <template slot="append">M²</template>
-          </el-input>
-        </el-form-item>
-<!--        <el-form-item label="动态评级" class="form-item" style="width:440px;">
+        <el-form-item label="动态评级" class="form-item" style="width:440px;">
           <div class="tableListPaginationSwitch">
             <el-switch
               class="switch captcha-img"
+              @change="switchChange"
               v-model="form.dynamicLeveling"
               :active-value="true"
               :inactive-value="false"
@@ -90,7 +80,18 @@
             <i class="el-icon-warning tip-img"></i>
             <i class="tip-content">如需人工评定,请关闭动态评级</i>
           </div>
-        </el-form-item>-->
+        </el-form-item>
+        <el-form-item label="实验室面积" prop="subArea" class="form-item">
+          <el-input
+            style="width:320px;"
+            v-model="form.subArea"
+            placeholder="请输入面积"
+            oninput="value=value.replace(/[^0-9.]/g,'')"
+            maxlength="4"
+            size="small">
+            <template slot="append">M²</template>
+          </el-input>
+        </el-form-item>
         <el-form-item label="楼栋"  prop="buildId" class="form-item">
           <el-select v-model="form.buildId" placeholder="请选择楼栋"
                      @change="changeBuild" style="width:320px;">
@@ -353,6 +354,35 @@ import { chemicalMsdsEdit } from '@/api/chemicalManage'
               {required: true, message: '请选择详细位置', trigger: 'blur'}
             ],
 
+          },
+          rulesOne: {
+            subName:[
+              {required: true, message: '请输实验室名称', trigger: 'blur'},
+              { required: true, message: "请输实验室名称", validator: this.spaceJudgment, trigger: "blur" }
+            ],
+            moldId:[
+              {required: true, message: '请选择类型', trigger: 'blur'}
+            ],
+            deptId:[
+              {required: true, message: '请选择学院', trigger: 'blur'}
+            ],
+            buildId:[
+              {required: true, message: '请选择楼栋', trigger: 'blur'}
+            ],
+            adminId:[
+              {required: true, message: '请选择实验室负责人', trigger: 'blur'}
+            ],
+
+            floorId:[
+              {required: true, message: '请选择层数', trigger: 'blur'}
+            ],
+            // roomId:[
+            //   {required: true, message: '请输入房间号', trigger: 'blur'}
+            // ],
+            layoutId:[
+              {required: true, message: '请选择详细位置', trigger: 'blur'}
+            ],
+
           },
           labMoldList:[],
           //一体机/电子信息牌状态切换
@@ -364,7 +394,8 @@ import { chemicalMsdsEdit } from '@/api/chemicalManage'
           levelBasisList:[],
           levelEvaluateList:[],
           classifyList:[],
-
+          //选中分级分类零时存储
+          checkLevelTypeData:{},
         }
       },
       created() {
@@ -383,6 +414,7 @@ import { chemicalMsdsEdit } from '@/api/chemicalManage'
           this.$set(this.form,'subType',this.subjectData.typeName)
           this.$set(this.form,'levelId',this.subjectData.levelId)
           this.$set(this.form,'titleName',this.subjectData.levelName)
+          this.$set(this.form,'dynamicLeveling',this.subjectData.dynamicLeveling?this.subjectData.dynamicLeveling:false)
           this.$set(this.form,'deptId',this.subjectData.deptId)
           this.$set(this.form,'buildId',this.subjectData.buildId)
           this.$set(this.form,'floorId',this.subjectData.floorId)
@@ -454,19 +486,30 @@ import { chemicalMsdsEdit } from '@/api/chemicalManage'
       },
       methods:{
         LevelClick(){
-          this.$set(this,'dialogLevelVisible',true);
+          if(!this.form.dynamicLeveling){
+            this.$set(this,'dialogLevelVisible',true);
+          }else{
+            this.msgError('如需人工评定,请关闭动态评级')
+          }
         },
         classifyClick(){
-          this.$set(this,'dialogClassifyVisible',true);
+          if(!this.form.dynamicLeveling){
+            this.$set(this,'dialogClassifyVisible',true);
+          }else{
+            this.msgError('如需人工评定,请关闭动态评级')
+          }
         },
         tabsClick(index){
           this.tabsIndex=index;
         },
         radioClick(row,index){
+          console.log('row',row);
+          console.log('index',index);
           this.classifyList.forEach(function(item) {
             item.selected=false;
           })
-          this.classifyList[index].selected=true;
+          this.$set(this.classifyList[index],'selected',true);
+          this.$forceUpdate();
         },
         //初始化数据查询
         getInitializeData(){
@@ -553,6 +596,7 @@ import { chemicalMsdsEdit } from '@/api/chemicalManage'
                 cancelButtonText: "取消",
                 type: "warning"
               }).then(function() {
+                self.form.dynamicLeveling = self.form.dynamicLeveling?self.form.dynamicLeveling:false;
                 if(self.form.hazardCategory) {
                   self.form.hazardCategory = self.form.hazardCategory.join() ;
                 }
@@ -672,21 +716,22 @@ import { chemicalMsdsEdit } from '@/api/chemicalManage'
         laboratoryTypeConfigGetList(){
           let self=this;
           laboratoryTypeConfigGetList().then(response => {
-            if (this.subjectData.typeId){
-              response.data.forEach(function(item) {
-                item.selected=false;
-              })
-              response.data.forEach(function(item) {
-                if (item.typeId==self.subjectData.typeId){
-                  item.selected=true;
-                }
-              })
-            }else{
-              response.data.forEach(function(item) {
-                item.selected=false;
-              })
+            if (!this.form.dynamicLeveling){
+              if (this.subjectData.typeId){
+                response.data.forEach(function(item) {
+                  item.selected=false;
+                })
+                response.data.forEach(function(item) {
+                  if (item.typeId==self.subjectData.typeId){
+                    item.selected=true;
+                  }
+                })
+              }else{
+                response.data.forEach(function(item) {
+                  item.selected=false;
+                })
+              }
             }
-
             this.$set(this, 'classifyList',response.data)
           });
         },
@@ -801,6 +846,39 @@ import { chemicalMsdsEdit } from '@/api/chemicalManage'
             self.msgError("请选择实验室分类!");
           }
         },
+        //switch开关
+        switchChange(val){
+          if(!val){
+            let obj = {};
+            if(this.form.typeId){
+              obj.typeId = this.form.typeId
+              obj.subType = this.form.subType
+            }
+            if(this.form.levelId){
+              obj.titleName = this.form.titleName
+              obj.levelId = this.form.levelId
+            }
+            if (obj.typeId || obj.levelId){
+              this.$set(this,'checkLevelTypeData',JSON.parse(JSON.stringify(obj)));
+            }
+            this.$set(this.form,'subType',null);
+            this.$set(this.form,'typeId',null);
+            this.$set(this.form,'titleName',null);
+            this.$set(this.form,'levelId',null);
+          }else{
+            if(this.checkLevelTypeData.typeId){
+              this.$set(this.form,'subType',this.checkLevelTypeData.subType);
+              this.$set(this.form,'typeId',this.checkLevelTypeData.typeId);
+            }
+            if(this.checkLevelTypeData.levelId){
+              this.$set(this.form,'titleName',this.checkLevelTypeData.titleName);
+              this.$set(this.form,'levelId',this.checkLevelTypeData.levelId);
+            }
+          }
+          this.$nextTick(()=>{
+            this.$refs['form'].clearValidate();
+          })
+        },
       }
     }
 </script>

+ 19 - 3
src/views/safetyCheck/components/initiateInspect/initiateInspect.vue

@@ -93,7 +93,9 @@
             <div class="right-text-box">
               <p class="right-text-name-p">实验室</p>
               <div class="right-text-title-box">
-                <p>{{projectData.subName}}{{projectData.roomNum?'('+projectData.roomNum+')':''}}</p>
+                <el-tooltip class="item" effect="dark" :content="projectData.subName+(projectData.roomNum?'('+projectData.roomNum+')':'')" placement="top">
+                  <p>{{projectData.subName}}{{projectData.roomNum?'('+projectData.roomNum+')':''}}</p>
+                </el-tooltip>
               </div>
             </div>
             <div class="right-text-box">
@@ -409,7 +411,11 @@
                 this.$set(this.addForm, 'hazardCheckPro', this.projectData.hazardCheckPro)
                 this.$set(this, 'delSetOptionId', this.projectData.setOptionId)
                 this.securityCheckDangerGetDangerId();
-                this.$set(this,'freeChoiceType',true);
+                if(this.initiateData.orderType == 3 || this.initiateData.orderType == 5){
+                  this.$set(this,'freeChoiceType',false);
+                }else{
+                  this.$set(this,'freeChoiceType',true);
+                }
                 if(this.projectData.checkSetProgress < 100){
                   this.$set(this.addForm, 'uploadDtoList', response.data.photoList?response.data.photoList:[])
                   this.$set(this.addForm, 'checkFlag', response.data.checkFlag?response.data.checkFlag:0)
@@ -432,7 +438,17 @@
               if (this.initiateData.showType) {
                 this.securityCheckOptionSelAllList();
               } else {
-                this.securityCheckSetOptionUnCheckList();
+
+                if(this.initiateData.orderType == 1){
+                  this.securityCheckSetOptionUnCheckList();
+                }else{
+                  this.securityCheckOptionSelAllList();
+                }
+                // if(this.projectData.checkStatus != 0){
+                //   this.securityCheckOptionSelAllList();
+                // }else{
+                //   this.securityCheckSetOptionUnCheckList();
+                // }
               }
             }
           })

+ 1 - 0
src/views/safetyCheck/safetyHazard/rectificationNotice/listPage.vue

@@ -109,6 +109,7 @@
                 <span>{{scope.row.hazardCheckName}} {{scope.row.hazardCheckName}}</span>
               </template>
             </el-table-column>
+            <el-table-column label="房间号" prop="roomNum" width="100" show-overflow-tooltip/>
             <el-table-column label="实验室" prop="subName" width="200" show-overflow-tooltip/>
             <el-table-column label="整改期限" prop="rectifyDeadline" width="130" show-overflow-tooltip/>
             <el-table-column label="整改状态" prop="rectifyStatus" width="100" show-overflow-tooltip>

+ 1 - 0
src/views/safetyCheck/safetyHazard/rectificationReport/listPage.vue

@@ -109,6 +109,7 @@
                 <span>{{scope.row.hazardCheckName}} {{scope.row.hazardCheckName}}</span>
               </template>
             </el-table-column>
+            <el-table-column label="房间号" prop="roomNum" width="100" show-overflow-tooltip/>
             <el-table-column label="实验室" prop="subName" width="200" show-overflow-tooltip/>
             <el-table-column label="整改期限" prop="rectifyDeadline" width="160" show-overflow-tooltip>
               <template slot-scope="scope">