dedsudiyu 1 år sedan
förälder
incheckning
252ea05c3b

+ 21 - 1
src/views/integratedManagement/laboratoryManagement/subject/admissionConfiguration.vue

@@ -135,7 +135,27 @@
       },
       //点击事件
       forListClick(item) {
-        item.selected = !item.selected
+        let self = this;
+        if(item.materialType==2&&item.relationType==2){
+          if(!item.selected){
+            let num = 0;
+            for(let i=0;i<self.listStudent.length;i++){
+              if(self.listStudent[i].materialType == 2 && self.listStudent[i].relationType == 2 && self.listStudent[i].selected){
+                num++
+              }
+            }
+            if(num > 0){
+              self.msgError('只能勾选一个安全考试证书')
+              return
+            }else{
+              item.selected = !item.selected
+            }
+          }else{
+            item.selected = !item.selected
+          }
+        }else{
+          item.selected = !item.selected
+        }
       },
       //获取准入模板
       laboratorySubMaterialListData() {

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

@@ -49,7 +49,7 @@
     data() {
       return {
         materialTypeList:[
-          {name:"身份信息",id:1},
+          // {name:"身份信息",id:1},
           {name:"安全考试证书",id:2}
         ],
         form:{

+ 46 - 12
src/views/secureAccess/approval/infoPage.vue

@@ -17,14 +17,16 @@
         <li>有效期:<i>{{parseTime(subjectData.labSecurityApply.validBeginTime,"{y}-{m}-{d} {h}:{i}")}} 至 {{parseTime(subjectData.labSecurityApply.validEndTime,"{y}-{m}-{d} {h}:{i}")}}</i></li>
         <li>申请状态:<i>{{subjectData.labSecurityApply.auditStatus == 0?'待审核':(subjectData.labSecurityApply.auditStatus == 1?'已驳回':(subjectData.labSecurityApply.auditStatus == 2?'已通过':''))}}</i></li>
         <li v-if="isLook">审核时间:<i>{{parseTime(subjectData.labSecurityApply.auditTime,"{y}-{m}-{d} {h}:{i}")}}</i></li>
-        <li v-if="isLook">审核人:<i>{{subjectData.labSecurityApply.auditName}}</i></li>
+        <li v-if="isLook">审核人:<i>{{subjectData.labSecurityApply.auditName?subjectData.labSecurityApply.auditName:'--'}}</i></li>
         <li v-if="isLook">审核备注:<i>{{subjectData.labSecurityApply.rejectCause}}</i></li>
       </div>
       <div class="admittance_materials">
         <p class="admittance_materials_title">准入材料</p>
-        <div v-for="(item,index) in subjectData.listTemp" :key="index">
-          <div class="item-title-box" v-if="item.materialType==2&&item.relationType==1"><i style="color: #F56C6C;">*</i>身份信息:(关联学生信息材料)</div>
-          <div class="identity" v-if="item.materialType==2&&item.relationType==1">
+        <div>
+          <div class="item-title-box">
+            <i style="color: #F56C6C;">* </i>身份信息:<span style="color:#999;">(关联学生信息材料)</span>
+          </div>
+          <div class="identity">
             <li>姓名:<i>{{subjectData.sysUser.userName}}</i></li>
             <li>学号:<i>{{subjectData.sysUser.account}}</i></li>
             <li>卡号:<i>{{subjectData.sysUser.cardNumSimple}}</i></li>
@@ -35,17 +37,25 @@
             <li>专业:<i>{{subjectData.sysUser.majorName}}</i></li>
             <li>申请备注:<i>{{subjectData.labSecurityApply.applyCause}}</i></li>
           </div>
-          <div class="item-title-box" v-if="item.materialType==1"><i style="color: #F56C6C;">*</i>{{item.materialName}}</div>
+        </div>
+        <div v-for="(item,index) in subjectData.listTemp" :key="index">
+          <div class="item-title-box" v-if="item.materialType==1"><i style="color: #F56C6C;">* </i>{{item.materialName}}</div>
           <div class="file_list"  v-for="(minItem,minIndex) in item.upList">
             <el-checkbox  @change="checkedImg(minItem)" v-if="isLook" >{{minItem.name}}</el-checkbox>
             <i v-if="!isLook" >{{minItem.name}}</i>
             <i class="file_list_look" @click="lookFile(minItem)">查看</i>
             <i v-if="isLook" class="file_list_look" @click="handleExport(1,minItem)">下载</i>
           </div>
+          <div class="item-title-box" v-if="item.materialType==2&&item.relationType==2"><i style="color: #F56C6C;">* </i>安全考试证书:<span style="color:#999;">(已同步证书信息)</span></div>
+          <img v-if="item.materialType==2&&item.relationType==2&&subjectData.userCertificate"
+               @click="fullScreenViewClick(subjectData.userCertificate)"
+               class="item-img-box" :src="subjectData.userCertificate">
+          <p v-if="item.materialType==2&&item.relationType==2&&!subjectData.userCertificate"
+             style="margin-left:80px;color:#999;font-size:14px;line-height:40px;">暂无证书</p>
         </div>
         <div class="item-title-box" v-if="subjectData.labSecurityApply.auditStatus!=2">审核备注:</div>
         <el-input class="item-textarea" v-if="subjectData.labSecurityApply.auditStatus!=2"
-                  type="textarea" style="margin-top: 20px"
+                  type="textarea" style="margin-top: 20px" resize="none"
                   v-model="rejectCause" placeholder="请输入审核备注" maxlength="50"/>
       </div>
     </div>
@@ -66,6 +76,7 @@
         <el-button @click="auditClick(3)">取 消</el-button>
       </div>
     </el-dialog>
+    <fullScreenView :fullScreenViewProps="fullScreenViewProps" ref="fullScreenView"></fullScreenView>
   </div>
 </template>
 
@@ -74,8 +85,13 @@ let Base64 = require('js-base64').Base64;
 import { optionHazard, downloadwBatch, getDetails, laboratoryApply} from "@/api/secureAccess/index";
 //                      V3
 import { laboratoryApplyGetDetails,laboratoryApplyUpdate} from "@/api/secureAccess/index";
+import fullScreenView from "@/components/fullScreenView/fullScreenView.vue";
+
 export default {
   name: "info-page",
+  components: {
+    fullScreenView,
+  },
   props:{
     infoData: {},
   },
@@ -110,6 +126,8 @@ export default {
           { required: true, message: "请输入条款号", validator: this.spaceJudgment, trigger: "blur" }
         ],
       },
+      //图片浏览
+      fullScreenViewProps:[],
     };
   },
   created() {
@@ -121,9 +139,20 @@ export default {
     this.laboratoryApplyGetDetails();
   },
   methods: {
+    //图片浏览
+    fullScreenViewClick(url){
+      this.$set(this,'fullScreenViewProps',[url]);
+      this.$refs['fullScreenView'].initialize();
+    },
+    //文件浏览
     lookFile(item){
-      let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item.url;
-      window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
+      if(item.name.split('.')[1] == 'png' || item.name.split('.')[1] == 'jpg' || item.name.split('.')[1] == 'gif'){
+        this.fullScreenViewClick(item.url);
+      }else {
+        window.open(window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url)
+      }
+      // let visitUrl=window.location.href.split('://')[0]+'://'+process.env.VUE_APP_BASE_API+'/admin/'+item.url;
+      // window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
 
     },
     /** 下载 */
@@ -349,9 +378,14 @@ export default {
         line-height:60px;
         font-weight:700;
       }
+      .item-img-box{
+        width:240px;
+        margin-left:80px;
+        cursor: pointer;
+      }
       .item-textarea{
         margin:0 0 60px 75px;
-        width:600px;
+        width:800px;
       }
       .admittance_materials_title{
         flex: 1;
@@ -366,7 +400,7 @@ export default {
         display: flex;
         justify-content: flex-start;
         flex-wrap: wrap;
-        padding-left: 40px;
+        padding-left: 80px;
         box-sizing: border-box;
         >li{
           list-style-type:none;
@@ -374,7 +408,7 @@ export default {
           font-family: Microsoft YaHei;
           font-weight: 500;
           color: #999999;
-          line-height: 70px;
+          line-height: 40px;
           margin-right: 20px;
           >i{
             margin-left: 10px;
@@ -384,7 +418,7 @@ export default {
             font-family: Microsoft YaHei;
             font-weight: 500;
             color: #333333;
-            line-height: 70px;
+            line-height: 40px;
           }
         }
       }

+ 27 - 6
src/views/secureAccess/handle/addPage.vue

@@ -129,8 +129,11 @@
                 <p>安全考试证书</p>
                 <p>(已同步证书信息):</p>
               </div>
-              <img v-if="subjectData.listcert[0]" class="item-img-box" :src="subjectData.listcert[0].cert_url">
-              <p v-if="!subjectData.listcert[0]" style="margin-left:40px;color:#999;font-size:14px;">暂无证书</p>
+              <img v-if="item.materialType==2&&item.relationType==2&&subjectData.userCertificate"
+                   @click="fullScreenViewClick(subjectData.userCertificate)"
+                   class="item-img-box" :src="subjectData.userCertificate">
+              <p v-if="item.materialType==2&&item.relationType==2&&!subjectData.userCertificate"
+                 style="margin-left:40px;color:#999;font-size:14px;line-height:40px;">暂无证书</p>
             </div>
             <div class="item-max-box" v-if="item.materialType==1">
               <div class="item-title-box">
@@ -176,6 +179,7 @@
         </div>
       </el-form>
     </div>
+    <fullScreenView :fullScreenViewProps="fullScreenViewProps" ref="fullScreenView"></fullScreenView>
   </div>
 </template>
 
@@ -186,9 +190,13 @@
   import { materialApply, laboratoryApplyMaterialAdd, laboratoryApplyMaterialUpdate } from '@/api/secureAccess/index'
   import { laboratorySubRelInfoGetRelListByPower, systemUserSelectUser } from '@/api/commonality/permission'
   import { getToken } from '@/utils/auth'
+  import fullScreenView from "@/components/fullScreenView/fullScreenView.vue";
 
   export default {
     name: 'addPage',
+    components: {
+      fullScreenView,
+    },
     props: {
       infoData: {},
       infoType: {}
@@ -277,7 +285,9 @@
         queryParams: {},
 
         optionsUser: [],
-        remark: '1'
+        remark: '1',
+        //图片浏览
+        fullScreenViewProps:[],
       }
     },
     computed: {
@@ -297,10 +307,20 @@
       }
     },
     methods: {
-      //查看
+      //图片浏览
+      fullScreenViewClick(url){
+        this.$set(this,'fullScreenViewProps',[url]);
+        this.$refs['fullScreenView'].initialize();
+      },
+      //文件浏览
       lookFile(item) {
-        var originUrl = window.location.href.split('://')[0] + '://' + this.judgmentNetworkReturnAddress() + '/admin/' + item //要预览文件的访问地址
-        window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url=' + encodeURIComponent(Base64.encode(originUrl)))
+        if(item.name.split('.')[1] == 'png' || item.name.split('.')[1] == 'jpg' || item.name.split('.')[1] == 'gif'){
+          this.fullScreenViewClick(item.url);
+        }else {
+          window.open(window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url)
+        }
+        // var originUrl = window.location.href.split('://')[0] + '://' + this.judgmentNetworkReturnAddress() + '/admin/' + item //要预览文件的访问地址
+        // window.open(localStorage.getItem('filePreviewUrl') + '/onlinePreview?url=' + encodeURIComponent(Base64.encode(originUrl)))
       },
       /** 导师-懒加载 */
       systemUserSelectUser(query) {
@@ -682,6 +702,7 @@
           .item-img-box {
             width: 240px;
             margin-left: 15px;
+            cursor: pointer;
           }
         }
       }

+ 36 - 11
src/views/secureAccess/handle/infoPage.vue

@@ -18,13 +18,13 @@
         <li>申请状态:<i>{{subjectData.labSecurityApply.auditStatus == 0?'待审核':(subjectData.labSecurityApply.auditStatus == 1?'已驳回':(subjectData.labSecurityApply.auditStatus == 2?'已通过':''))}}</i></li>
         <li v-if="subjectData.labSecurityApply.auditStatus == 2 && subjectData.labSecurityApply.auditStatus != 0">审核时间:<i>{{parseTime(subjectData.labSecurityApply.auditTime,"{y}-{m}-{d} {h}:{i}")}}</i></li>
         <li v-if="subjectData.labSecurityApply.auditStatus == 1 && subjectData.labSecurityApply.auditStatus != 0">审核时间:<i>{{parseTime(subjectData.labSecurityApply.rejectTime,"{y}-{m}-{d} {h}:{i}")}}</i></li>
-        <li>审核人:<i>{{subjectData.fzrSysUser.nickName}}</i></li>
+        <li>审核人:<i>{{subjectData.labSecurityApply.auditName?subjectData.labSecurityApply.auditName:'--'}}</i></li>
         <li v-if="subjectData.labSecurityApply.auditStatus != 0">审核备注:<i>{{subjectData.labSecurityApply.rejectCause}}</i></li>
       </div>
       <div class="admittance_materials">
         <p class="admittance_materials_title">准入材料</p>
-        <div class="admittance_materials_for" v-for="(item,index) in subjectData.listTemp" :key="index">
-          <div class="item-max-box" v-if="item.materialType==2&&item.relationType==1">
+        <div class="admittance_materials_for">
+          <div class="item-max-box">
             <div class="item-title-box" style="margin-left: 0;">
               <p>*</p>
               <p>身份信息:</p>
@@ -42,14 +42,19 @@
               <li>申请备注:<i>{{subjectData.labSecurityApply.applyCause}}</i></li>
             </div>
           </div>
+        </div>
+        <div class="admittance_materials_for" v-for="(item,index) in subjectData.listTemp" :key="index">
           <div class="item-max-box" v-if="item.materialType==2&&item.relationType==2">
             <div class="item-title-box" style="margin-left: 0;">
               <p>*</p>
-              <p>安全考试证书</p>
-              <p>(已同步证书信息)</p>
+              <p>安全考试证书</p>
+              <p>(已同步证书信息)</p>
             </div>
-            <img v-if="subjectData.listcert[0]" class="item-img-box" :src="subjectData.listcert[0].cert_url">
-            <p v-if="!subjectData.listcert[0]" style="margin-left:40px;color:#999;font-size:14px;">暂无证书</p>
+            <img v-if="item.materialType==2&&item.relationType==2&&subjectData.userCertificate"
+                 @click="fullScreenViewClick(subjectData.userCertificate)"
+                 class="item-img-box" :src="subjectData.userCertificate">
+            <p v-if="item.materialType==2&&item.relationType==2&&!subjectData.userCertificate"
+               style="margin-left:40px;color:#999;font-size:14px;line-height:40px;">暂无证书</p>
           </div>
           <div class="item-max-box" v-if="item.materialType==1">
             <div class="item-title-box" style="margin-left: 0;">
@@ -66,14 +71,20 @@
         </div>
       </div>
     </div>
+    <fullScreenView :fullScreenViewProps="fullScreenViewProps" ref="fullScreenView"></fullScreenView>
   </div>
 </template>
 
 <script>
 let Base64 = require('js-base64').Base64;
 import { laboratoryApplyGetDetails } from "@/api/secureAccess/index";
+import fullScreenView from "@/components/fullScreenView/fullScreenView.vue";
+
 export default {
   name: "info-page",
+  components: {
+    fullScreenView,
+  },
   props:{
     infoData: {},
   },
@@ -83,6 +94,8 @@ export default {
       forIndex:0,
       subjectData:{},
       iframeSrc:"",
+      //图片浏览
+      fullScreenViewProps:[],
     };
   },
   created() {
@@ -91,8 +104,19 @@ export default {
 
 
   methods: {
+    //图片浏览
+    fullScreenViewClick(url){
+      this.$set(this,'fullScreenViewProps',[url]);
+      this.$refs['fullScreenView'].initialize();
+    },
+    //文件浏览
     lookFile(item){
-      window.open(window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url)
+      if(item.name.split('.')[1] == 'png' || item.name.split('.')[1] == 'jpg' || item.name.split('.')[1] == 'gif'){
+        this.fullScreenViewClick(item.url);
+      }else {
+        window.open(window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url)
+      }
+      // window.open(window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url)
       // let visitUrl=window.location.href.split('://')[0]+'://'+this.judgmentNetworkReturnAddress()+'/admin/'+item.url;
       // window.open(window.location.href.split('://')[0]+'://'  + this.judgmentNetworkReturnAddress() + '/onlinePreview?url='+encodeURIComponent(Base64.encode(visitUrl)));
     },
@@ -233,7 +257,7 @@ export default {
           font-family: Microsoft YaHei;
           font-weight: 500;
           color: #999999;
-          line-height: 70px;
+          line-height: 40px;
           margin-right: 20px;
           >i{
             margin-left: 10px;
@@ -243,7 +267,7 @@ export default {
             font-family: Microsoft YaHei;
             font-weight: 500;
             color: #333333;
-            line-height: 70px;
+            line-height: 40px;
           }
         }
       }
@@ -368,7 +392,8 @@ export default {
       }
       .item-img-box{
         width:240px;
-        margin-left:15px;
+        margin-left:35px;
+        cursor: pointer;
       }
     }
   }