dedsudiyu 1 年之前
父节点
当前提交
0787d9612b

+ 8 - 0
src/api/commonality/permission.js

@@ -67,6 +67,14 @@ export function subjectList(data) {
     data: data
     data: data
   })
   })
 }
 }
+//根据名称查询数据权限范围内的实验室(带相信信息)
+export function laboratorySubRelInfoGetRelListByPower(data) {
+  return request({
+    url: '/laboratory/subRelInfo/getRelListByPower',
+    method: 'post',
+    data: data
+  })
+}
 //查询当前登录人所属院校的实验室列表
 //查询当前登录人所属院校的实验室列表
 export function laboratorySubRelInfoSelectUserBySubPage(data) {
 export function laboratorySubRelInfoSelectUserBySubPage(data) {
   return request({
   return request({

+ 12 - 5
src/api/integratedManagement/index.js

@@ -345,7 +345,6 @@ export function laboratorySubRelInfoGetDetailDelete(data) {
     data: data
     data: data
   })
   })
 }
 }
-
 //实验室-排序修改
 //实验室-排序修改
 export function laboratorySubRelInfoUpdateBySort(data) {
 export function laboratorySubRelInfoUpdateBySort(data) {
   return request({
   return request({
@@ -354,7 +353,7 @@ export function laboratorySubRelInfoUpdateBySort(data) {
     data: data
     data: data
   })
   })
 }
 }
-//查询实验室-获取准入模板列表
+//准入配置-查询实验室-获取准入模板列表
 export function laboratorySubMaterialListData(query) {
 export function laboratorySubMaterialListData(query) {
   return request({
   return request({
     url: '/laboratory/subMaterial/listData',
     url: '/laboratory/subMaterial/listData',
@@ -362,10 +361,18 @@ export function laboratorySubMaterialListData(query) {
     params: query
     params: query
   })
   })
 }
 }
-//查询实验室-准入已绑定配置模板
-export function laboratoryMaterialDataListTemplate(query) {
+//准入配置-提交
+export function laboratorySubMaterialAdd(data) {
+  return request({
+    url: '/laboratory/subMaterial/add',
+    method: 'post',
+    data: data
+  })
+}
+//准入配置-人员登录授权方式下拉菜单
+export function laboratoryUserAuthAuthTypeList(query) {
   return request({
   return request({
-    url: '/laboratory/materialData/listTemplate',
+    url: '/laboratory/userAuth/authTypeList',
     method: 'get',
     method: 'get',
     params: query
     params: query
   })
   })

+ 34 - 1
src/api/secureAccess/index.js

@@ -33,6 +33,15 @@ export function laboratoryMaterialDataDelete(data) {
     data: data
     data: data
   })
   })
 }
 }
+/************安全准入审核************/
+//安全准入审核-列表
+export function laboratoryApplyList(data) {
+  return request({
+    url: '/laboratory/apply/list',
+    method: 'post',
+    data: data
+  })
+}
 /************安全准入办理************/
 /************安全准入办理************/
 //安全准入办理-列表
 //安全准入办理-列表
 export function laboratoryApplyListApply(data) {
 export function laboratoryApplyListApply(data) {
@@ -50,7 +59,7 @@ export function laboratoryApplyDelete(data) {
     data: data
     data: data
   })
   })
 }
 }
-//获取实验室当前准入配置
+//安全准入办理-获取实验室当前准入配置
 export function materialApply(data) {
 export function materialApply(data) {
   return request({
   return request({
     url: '/laboratory/apply/materialApply',
     url: '/laboratory/apply/materialApply',
@@ -58,6 +67,30 @@ export function materialApply(data) {
     data: data
     data: data
   })
   })
 }
 }
+//安全准入办理-新增
+export function laboratoryApplyMaterialAdd(data) {
+  return request({
+    url: '/laboratory/apply/materialAdd',
+    method: 'post',
+    data: data
+  })
+}
+//安全准入办理-编辑
+export function laboratoryApplyMaterialUpdate(data) {
+  return request({
+    url: '/laboratory/apply/materialUpdate',
+    method: 'post',
+    data: data
+  })
+}
+//安全准入办理-详情
+export function laboratoryApplyGetDetails(query) {
+  return request({
+    url: '/laboratory/apply/getDetails',
+    method: 'get',
+    params: query
+  })
+}
 /************白名单管理************/
 /************白名单管理************/
 //白名单管理-列表
 //白名单管理-列表
 export function laboratoryWhiteList(data) {
 export function laboratoryWhiteList(data) {

+ 199 - 221
src/views/integratedManagement/laboratoryManagement/subject/admissionConfiguration.vue

@@ -18,17 +18,17 @@
             disabled
             disabled
           />
           />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="考勤方式"  prop="authType" class="form-item" v-if="form.isSignId">
-          <el-select v-model="form.authType" clearable >
+        <el-form-item label="考勤方式" prop="authType" class="form-item" v-if="form.isSignId">
+          <el-select v-model="form.authType" clearable>
             <el-option
             <el-option
               v-for="item in verifyWayList"
               v-for="item in verifyWayList"
-              :key="item.dictValue"
-              :label="item.dictLabel"
-              :value="item.dictValue">
+              :key="item.id"
+              :label="item.authType"
+              :value="item.id">
             </el-option>
             </el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="考勤密码:" prop="authPwd"   class="form-item" v-if="form.isSignId">
+        <el-form-item label="考勤密码:" prop="authPwd" class="form-item" v-if="form.isSignId">
           <el-input
           <el-input
             maxlength="16"
             maxlength="16"
             v-model="form.authPwd"
             v-model="form.authPwd"
@@ -43,250 +43,228 @@
       <p class="title-p">准入信息配置</p>
       <p class="title-p">准入信息配置</p>
     </div>
     </div>
     <div class="max-for-box">
     <div class="max-for-box">
-      <div class="for-box" v-for="(item,index) in listStudent" :key="index" :class="item.checkType?'for-border-two':'for-border-one'" @click="forListClick(item)">
+      <div class="for-box" v-for="(item,index) in listStudent" :key="index"
+           :class="item.selected?'for-border-two':'for-border-one'" @click="forListClick(item)">
         <div><span>{{item.materialName}}</span><span>{{item.materialDescribe}}</span></div>
         <div><span>{{item.materialName}}</span><span>{{item.materialDescribe}}</span></div>
-        <img class="position-img" v-if="item.checkType" src="@/assets/ZDimages/integratedManagement/icon_30.png" alt="">
+        <img class="position-img" v-if="item.selected" src="@/assets/ZDimages/integratedManagement/icon_30.png" alt="">
       </div>
       </div>
     </div>
     </div>
-    <p class="page-submit-common-style-button button-p" @click="upDataButton">{{newUpDataType?'提交':'修改'}}</p>
+    <p class="page-submit-common-style-button button-p" @click="upDataButton">提交</p>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
-import { listTemplate, subjectmaterial, addlist } from "@/apiDemo/laboratory/admissionConfiguration";
-import {
-  getSignTypeList
-} from '@/apiDemo/laboratory/subject'
-import { infoConfigAdd, infoConfigPut } from '@/apiDemo/laboratory/safetyInfo'
-//                            V3
-import { laboratorySubMaterialListData,laboratoryMaterialDataListTemplate } from '@/api/integratedManagement/index'
-
-export default {
-  name: "admissionConfiguration",
-  props:{
-    subjectData:{},
-  },
-  data() {
-    return {
-      //学生模板
-      listStudent:[],
-      newUpDataType:false,
-      form:{
-        authType:'2',
-        authPwd:'',
-        isSignId:'',
-      },
-      verifyWayList:[],
+  //                            V3
+  import {
+    laboratorySubMaterialListData,
+    laboratorySubMaterialAdd,
+    laboratoryUserAuthAuthTypeList
+  } from '@/api/integratedManagement/index'
+  export default {
+    name: 'admissionConfiguration',
+    props: {
+      subjectData: {}
+    },
+    data() {
+      return {
+        //学生模板
+        listStudent: [],
+        form: {
+          authType: '2',
+          authPwd: '',
+          isSignId: ''
+        },
+        verifyWayList: [],
 
 
-      // 表单校验
-      rules: {
-        authType: [
-          { required: true, message: "请选择考勤方式", trigger: "blur" },
-        ],
-        authPwd: [
-          { required: true, message: "考勤密码最少8位 最多16位,必须同时包含字母和数字", trigger: "blur" },
-          { pattern:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/, message: "考勤密码最少8位 最多16位,必须同时包含字母和数字", trigger: "blur" }
-        ],
+        // 表单校验
+        rules: {
+          authType: [
+            { required: true, message: '请选择考勤方式', trigger: 'blur' }
+          ],
+          authPwd: [
+            { required: true, message: '考勤密码最少8位 最多16位,必须同时包含字母和数字', trigger: 'blur' },
+            {
+              pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
+              message: '考勤密码最少8位 最多16位,必须同时包含字母和数字',
+              trigger: 'blur'
+            }
+          ]
+        }
       }
       }
-    }
-  },
-  created() {
-
+    },
+    created() {
 
 
-  },
-  mounted(){
-    this.laboratorySubMaterialListData();
-    this.getSignTypeList();
-  },
-  methods:{
-    /** 查询门禁授权类型 */
-    getSignTypeList(){
-      getSignTypeList().then(response => {
-        if(response.code==200){
-          this.verifyWayList=response.rows
-        }
-      });
     },
     },
-    //获取当前实验室准入配置
-    laboratoryMaterialDataListTemplate(){
-      let self = this;
-      laboratoryMaterialDataListTemplate({subId:this.subjectData.subId}).then( response => {
-        for(let i=0;i<response.data.listStudent.length;i++){
-          for(let o=0;o<self.listStudent.length;o++){
-            if(response.data.listStudent[i].id == self.listStudent[o].id){
-              self.listStudent[o].checkType = true;
-            }
-          }
-        }
-        if(!response.data.listStudent[0]){
-          this.newUpDataType = true;
-        }else{
-          this.newUpDataType = false;
-        }
-      });
+    mounted() {
+      this.laboratorySubMaterialListData()
+      this.laboratoryUserAuthAuthTypeList()
     },
     },
-    //提交接口
-    upDataButton(){
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          let self = this;
-          let num = 0;
-          let newData = {
-            labSubjectList:[],
-            studentList:[],
-          };
-          newData.labSubjectList.push({id:this.subjectData.id});
-          newData.authType=this.form.authType
-          newData.authPwd=this.form.authPwd
-          for(let i=0;i<self.listStudent.length;i++){
-            if(self.listStudent[i].checkType){
-              let obj = {
-                materialId:self.listStudent[i].id,
-                materialType:self.listStudent[i].materialSuit
-              };
-              newData.studentList.push(obj);
-              num++
-            }
+    methods: {
+      /** 查询门禁授权类型 */
+      laboratoryUserAuthAuthTypeList() {
+        laboratoryUserAuthAuthTypeList().then(response => {
+          if (response.code == 200) {
+            this.verifyWayList = response.rows
           }
           }
-          if(num == 0){
-            this.msgError("请选择准入条件");
-            return
+        })
+      },
+      //提交接口
+      upDataButton() {
+        this.$refs['form'].validate(valid => {
+          if (valid) {
+            let self = this
+            let num = 0
+            let newData = {
+              subjectModelList: [{ subId: this.subjectData.subId }],
+              studentList: [],
+              authType: this.form.authType,
+              authPwd: this.form.authPwd
+            }
+            for (let i = 0; i < self.listStudent.length; i++) {
+              if (self.listStudent[i].selected) {
+                let obj = {
+                  materialId: self.listStudent[i].materialId,
+                  materialType: self.listStudent[i].materialSuit
+                }
+                newData.studentList.push(obj)
+                num++
+              }
+            }
+            if (num == 0) {
+              this.msgError('请选择准入条件')
+              return
+            }
+            laboratorySubMaterialAdd(newData).then(response => {
+              this.msgSuccess(response.message)
+              this.$parent.clickPage(1)
+            })
           }
           }
-          addlist(newData).then( response => {
-            this.msgSuccess(this.newUpDataType?"提交成功":"修改成功");
-            this.$parent.clickPage(1);
-          });
-        }
-      });
-    },
-    //点击事件
-    forListClick(item){
-      item.checkType = !item.checkType;
-    },
-    //获取准入模板
-    laboratorySubMaterialListData(){
-      this.loading = true;
-      laboratorySubMaterialListData({subId:this.subjectData.subId}).then( response => {
-        for(let i=0;i<response.data.listStudent.length;i++){
-          response.data.listStudent[i].checkType = false;
-        }
-        this.$set(this,'listStudent',response.data.listStudent);
-        this.$set(this.form,'isSignId',response.data.cardInfo.id);
-        this.form.authType=response.data.cardInfo.authType?response.data.cardInfo.authType+'':'2';
-        this.form.authPwd=response.data.cardInfo.authPwd;
-        this.laboratoryMaterialDataListTemplate();
-      });
-    },
-    //返回按钮
-    backPage(){
-      this.$parent.clickPage(1);
-    },
+        })
+      },
+      //点击事件
+      forListClick(item) {
+        item.selected = !item.selected
+      },
+      //获取准入模板
+      laboratorySubMaterialListData() {
+        this.loading = true
+        laboratorySubMaterialListData({ subId: this.subjectData.subId }).then(response => {
+          this.$set(this, 'listStudent', response.data.listStudent)
+          this.$set(this.form, 'isSignId', response.data.infoBoard.boardId)
+          this.$set(this.form, 'authType', response.data.infoBoard.authType)
+          this.$set(this.form, 'authPwd', response.data.infoBoard.authPwd)
+        })
+      },
+      //返回按钮
+      backPage() {
+        this.$parent.clickPage(1)
+      }
+    }
   }
   }
-}
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-.admissionConfiguration{
-  flex:1;
-  overflow-y: scroll;
-  position: relative;
-  display: flex;
-  flex-direction: column;
-  border-radius:10px!important;
-  margin:5px 20px 20px 10px!important;
-  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1) !important;
-  .form-item{
-    display: inline-block;
-    margin-top: 40px;
-  }
-  .basics{
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-    .tip{
-      width: 14px;
-      height: 14px;
-      margin-left: 14px;
-    }
-  }
-  .top-title-box{
+  .admissionConfiguration {
+    flex: 1;
+    overflow-y: scroll;
+    position: relative;
     display: flex;
     display: flex;
-    border-bottom:1px solid #E0E0E0;
-    margin:0 20px;
-    p{
-      margin:20px 0;
-      line-height: 40px;
-    }
-    .title-p{
-      font-size:18px;
-      flex:1;
-      color:#0045AF;
+    flex-direction: column;
+    border-radius: 10px !important;
+    margin: 5px 20px 20px 10px !important;
+    box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1) !important;
+    .form-item {
+      display: inline-block;
+      margin-top: 40px;
     }
     }
-    .right-icon{
-      width:40px;
-      text-align: center;
+    .basics {
+      display: flex;
+      justify-content: flex-start;
+      align-items: center;
+      .tip {
+        width: 14px;
+        height: 14px;
+        margin-left: 14px;
+      }
     }
     }
-    .right-icon:hover{
-      cursor: pointer;
-      background: rgba(0,0,0,0.1);
-      -webkit-border-radius: 50%;
-      -moz-border-radius: 50%;
-      border-radius: 50%;
+    .top-title-box {
+      display: flex;
+      border-bottom: 1px solid #E0E0E0;
+      margin: 0 20px;
+      p {
+        margin: 20px 0;
+        line-height: 40px;
+      }
+      .title-p {
+        font-size: 18px;
+        flex: 1;
+        color: #0045AF;
+      }
+      .right-icon {
+        width: 40px;
+        text-align: center;
+      }
+      .right-icon:hover {
+        cursor: pointer;
+        background: rgba(0, 0, 0, 0.1);
+        -webkit-border-radius: 50%;
+        -moz-border-radius: 50%;
+        border-radius: 50%;
+      }
     }
     }
-  }
-  .name-box{
-    margin:32px 0 0 35px;
-    font-size:16px;
-    p{
-      margin:0;
+    .name-box {
+      margin: 32px 0 0 35px;
+      font-size: 16px;
+      p {
+        margin: 0;
+      }
     }
     }
-  }
 
 
-  .max-for-box{
-    .for-box{
-      display: inline-block;
-      width:400px;
-      height:60px;
-      margin:32px 0 0 40px;
-      cursor: pointer;
-      border-radius:10px;
-      overflow: hidden;
-      position: relative;
-      div{
-        display: flex;
-        line-height:60px;
-        span:nth-child(1){
-          margin:0 18px 0 18px;
-          font-size:16px;
-          color:#333;
-          overflow:hidden;
-          text-overflow:ellipsis;
-          white-space:nowrap;
+    .max-for-box {
+      .for-box {
+        display: inline-block;
+        width: 400px;
+        height: 60px;
+        margin: 32px 0 0 40px;
+        cursor: pointer;
+        border-radius: 10px;
+        overflow: hidden;
+        position: relative;
+        div {
+          display: flex;
+          line-height: 60px;
+          span:nth-child(1) {
+            margin: 0 18px 0 18px;
+            font-size: 16px;
+            color: #333;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+          }
+          span:nth-child(2) {
+            font-size: 14px;
+            color: #999999;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+          }
         }
         }
-        span:nth-child(2){
-          font-size:14px;
-          color:#999999;
-          overflow:hidden;
-          text-overflow:ellipsis;
-          white-space:nowrap;
+        .position-img {
+          position: absolute;
+          right: 0;
+          bottom: 0;
         }
         }
       }
       }
-      .position-img{
-        position: absolute;
-        right:0;
-        bottom:0;
+      .for-border-one {
+        border: 1px solid #E0E0E0;
+      }
+      .for-border-two {
+        border: 1px solid #349cfb;
       }
       }
     }
     }
-    .for-border-one{
-      border:1px solid #E0E0E0;
-    }
-    .for-border-two{
-      border:1px solid #349cfb;
+    .button-p {
+      width: 80px;
+      margin: 40px auto;
     }
     }
   }
   }
-  .button-p{
-    width:80px;
-    margin:40px auto;
-  }
-}
 </style>
 </style>

+ 2 - 1
src/views/secureAccess/accessRequirement/index.vue

@@ -16,7 +16,7 @@
             <p class="for-text" v-if="item.materialType == 1">文件格式:{{item.fileTypeName}}</p>
             <p class="for-text" v-if="item.materialType == 1">文件格式:{{item.fileTypeName}}</p>
             <p class="for-text" v-if="item.materialType == 2">{{item.relationType == 1 ?'关联内容:身份信息':'关联内容:安全考试证书'}}</p>
             <p class="for-text" v-if="item.materialType == 2">{{item.relationType == 1 ?'关联内容:身份信息':'关联内容:安全考试证书'}}</p>
           </div>
           </div>
-          <div class="for-button-box">
+          <div class="for-button-box" v-if="tableButtonType">
             <div class="left-div"
             <div class="left-div"
                  v-hasPermiRouter="['laboratory:materialdata:query','laboratory:materialdata:edit']"
                  v-hasPermiRouter="['laboratory:materialdata:query','laboratory:materialdata:edit']"
                  @click="editItem(item)"><i class="el-icon-edit-outline"></i><p>编辑</p></div>
                  @click="editItem(item)"><i class="el-icon-edit-outline"></i><p>编辑</p></div>
@@ -50,6 +50,7 @@
     },
     },
     data() {
     data() {
       return {
       return {
+        tableButtonType:this.hasPermiDom(['laboratory:materialdata:query','laboratory:materialdata:edit','laboratory:materialdata:remove']),
         pageType:1,
         pageType:1,
         propsData:{},
         propsData:{},
         // 查询参数
         // 查询参数

文件差异内容过多而无法显示
+ 361 - 395
src/views/secureAccess/handle/addPage.vue


+ 3 - 5
src/views/secureAccess/handle/index.vue

@@ -8,11 +8,11 @@
       </div>
       </div>
       <div class="page-content-box">
       <div class="page-content-box">
         <el-table class="table-box" v-loading="loading" border :data="dataList">
         <el-table class="table-box" v-loading="loading" border :data="dataList">
-          <el-table-column label="申请实验室" align="left" prop="subjectName"/>
+          <el-table-column label="申请实验室" align="left" prop="subName"/>
           <!--<el-table-column label="准入资格名称" align="left" prop="configureName"/>-->
           <!--<el-table-column label="准入资格名称" align="left" prop="configureName"/>-->
           <el-table-column label="申请时间" align="left" prop="creatTime">
           <el-table-column label="申请时间" align="left" prop="creatTime">
             <template slot-scope="scope">
             <template slot-scope="scope">
-              {{scope.row.creatTime}} {{scope.row.hi}}
+              <span>{{ parseTime(scope.row.creatTime,"{y}-{m}-{d} {h}:{i}") }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column label="状态" align="left" prop="auditStatus">
           <el-table-column label="状态" align="left" prop="auditStatus">
@@ -22,7 +22,7 @@
           </el-table-column>
           </el-table-column>
           <el-table-column label="有效期" align="left" prop="validBeginTime">
           <el-table-column label="有效期" align="left" prop="validBeginTime">
             <template slot-scope="scope">
             <template slot-scope="scope">
-              {{scope.row.validBeginTime}}至{{scope.row.validEndTime}}
+              <span>{{ parseTime(scope.row.validBeginTime,"{y}-{m}-{d} {h}:{i}") }}至{{ parseTime(scope.row.validEndTime,"{y}-{m}-{d} {h}:{i}") }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <!--<el-table-column label="过期时间" align="left" prop="expirationDate" />-->
           <!--<el-table-column label="过期时间" align="left" prop="expirationDate" />-->
@@ -32,12 +32,10 @@
                 <p class="table-button-null"></p>
                 <p class="table-button-null"></p>
                 <p class="table-button-p"
                 <p class="table-button-p"
                    @click="pageClick('3',scope.row)"
                    @click="pageClick('3',scope.row)"
-                   v-hasPermiRouter="['laboratory:apply:query']"
                 >查看</p>
                 >查看</p>
                 <p class="table-button-p"
                 <p class="table-button-p"
                    v-if="scope.row.auditStatus == 0 || scope.row.auditStatus == 1"
                    v-if="scope.row.auditStatus == 0 || scope.row.auditStatus == 1"
                    @click="handleDelete(scope.row)"
                    @click="handleDelete(scope.row)"
-                   v-hasPermiRouter="['laboratory:apply:remove']"
                 >删除</p>
                 >删除</p>
                 <p class="table-button-null"></p>
                 <p class="table-button-null"></p>
               </div>
               </div>

+ 31 - 21
src/views/secureAccess/handle/infoPage.vue

@@ -1,21 +1,20 @@
 <!--准入申请详情-->
 <!--准入申请详情-->
 <!--准入审核详情-->
 <!--准入审核详情-->
 <template>
 <template>
-
   <div class="info-page" v-if="pageType">
   <div class="info-page" v-if="pageType">
-    <div class="top-title-box">
-      <p>准入信息</p>
-      <p class="button-p reset-button-one" style="margin-top: 10px" @click="backPage">返回</p>
+    <div class="page-top-title-box">
+      <p class="page-top-title-name-p">准入信息</p>
+      <p class="page-top-title-out-p" @click="backPage">返回</p>
     </div>
     </div>
     <div class="admittance_info">
     <div class="admittance_info">
-      <li>申请实验室:<i>{{subjectData.labSecurityApply.deptName}}-{{subjectData.labSecurityApply.subjectName}}</i></li>
-      <li>实验室负责人:<i>{{subjectData.fzrsysUser[0].nick_name}}</i></li>
-      <li>申请时间:<i>{{subjectData.labSecurityApply.creatTime}} {{subjectData.labSecurityApply.hi}}</i></li>
-      <li>有效期:<i>{{subjectData.labSecurityApply.validBeginTime}} 至 {{subjectData.labSecurityApply.validEndTime}}</i></li>
+      <li>申请实验室:<i>{{subjectData.labSecurityApply.deptName}}-{{subjectData.labSecurityApply.subName}}</i></li>
+      <li>实验室负责人:<i>{{subjectData.fzrSysUser.userName}}</i></li>
+      <li>申请时间:<i>{{parseTime(subjectData.labSecurityApply.creatTime,"{y}-{m}-{d} {h}:{i}")}}</i></li>
+      <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>申请状态:<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>{{subjectData.labSecurityApply.auditTime}}</i></li>
-      <li v-if="subjectData.labSecurityApply.auditStatus == 1 && subjectData.labSecurityApply.auditStatus != 0">审核时间:<i>{{subjectData.labSecurityApply.rejectTime}}</i></li>
-      <li>审核人:<i>{{subjectData.fzrsysUser[0].nick_name}}</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 v-if="subjectData.labSecurityApply.auditStatus != 0">审核备注:<i>{{subjectData.labSecurityApply.rejectCause}}</i></li>
       <li v-if="subjectData.labSecurityApply.auditStatus != 0">审核备注:<i>{{subjectData.labSecurityApply.rejectCause}}</i></li>
     </div>
     </div>
     <div class="admittance_materials">
     <div class="admittance_materials">
@@ -28,14 +27,14 @@
             <p>(关联学生信息材料)</p>
             <p>(关联学生信息材料)</p>
           </div>
           </div>
           <div class="identity">
           <div class="identity">
-            <li>姓名:<i>{{subjectData.sysUser.nickName}}</i></li>
-            <li>学号:<i>{{subjectData.sysUser.userName}}</i></li>
-            <li>卡号:<i>{{subjectData.sysUser.cardNum}}</i></li>
-            <li>联系方式:<i>{{subjectData.sysUser.phonenumber}}</i></li>
+            <li>姓名:<i>{{subjectData.sysUser.userName}}</i></li>
+            <li>学号:<i>{{subjectData.sysUser.account}}</i></li>
+            <li>卡号:<i>{{subjectData.sysUser.cardNumSimple}}</i></li>
+            <li>联系方式:<i>{{subjectData.sysUser.mobile}}</i></li>
             <li>导师:<i>{{subjectData.sysUser.tutorUserName}}</i></li>
             <li>导师:<i>{{subjectData.sysUser.tutorUserName}}</i></li>
-            <li>班级:<i>{{subjectData.sysUser.grade}}</i></li>
+            <li>班级:<i>{{subjectData.sysUser.gradeName}}</i></li>
             <li>学院:<i>{{subjectData.labSecurityApply.deptName}}</i></li>
             <li>学院:<i>{{subjectData.labSecurityApply.deptName}}</i></li>
-            <li>专业:<i>{{subjectData.sysUser.major}}</i></li>
+            <li>专业:<i>{{subjectData.sysUser.majorName}}</i></li>
             <li>申请备注:<i>{{subjectData.labSecurityApply.applyCause}}</i></li>
             <li>申请备注:<i>{{subjectData.labSecurityApply.applyCause}}</i></li>
           </div>
           </div>
         </div>
         </div>
@@ -70,7 +69,7 @@
 
 
 <script>
 <script>
 let Base64 = require('js-base64').Base64;
 let Base64 = require('js-base64').Base64;
-import { getDetails } from "@/api/secureAccess/index";
+import { laboratoryApplyGetDetails } from "@/api/secureAccess/index";
 export default {
 export default {
   name: "info-page",
   name: "info-page",
   props:{
   props:{
@@ -85,7 +84,7 @@ export default {
     };
     };
   },
   },
   created() {
   created() {
-    this.getDetails();
+    this.laboratoryApplyGetDetails();
   },
   },
 
 
 
 
@@ -101,9 +100,11 @@ export default {
       this.iframeSrc[bigIndex].forIndex = index;
       this.iframeSrc[bigIndex].forIndex = index;
     },
     },
     //获取数据
     //获取数据
-    getDetails(){
+    laboratoryApplyGetDetails(){
       let self = this;
       let self = this;
-      getDetails({id:this.infoData.id}).then(response => {
+      laboratoryApplyGetDetails({id:this.infoData.applyId}).then(response => {
+        console.log('re',response.data);
+
         let dataList = [];
         let dataList = [];
         for(let i=0;i<response.data.listTemp.length;i++){
         for(let i=0;i<response.data.listTemp.length;i++){
           if(response.data.listTemp[i].materialType == 2 && response.data.listTemp[i].materialType == 2){
           if(response.data.listTemp[i].materialType == 2 && response.data.listTemp[i].materialType == 2){
@@ -120,14 +121,17 @@ export default {
             dataList.unshift(response.data.listTemp[i]);
             dataList.unshift(response.data.listTemp[i]);
           }
           }
         }
         }
+        console.log('2');
         this.$set(response.data,'listTemp',dataList);
         this.$set(response.data,'listTemp',dataList);
         let newList = [];
         let newList = [];
         for(let i=0;i<response.data.listTemp.length;i++){
         for(let i=0;i<response.data.listTemp.length;i++){
           if(response.data.listTemp[i].materialType == 1){
           if(response.data.listTemp[i].materialType == 1){
             let maxList = [];
             let maxList = [];
+            console.log('3');
             for(let o=0;o<response.data.listTemp[i].listMr.length;o++){
             for(let o=0;o<response.data.listTemp[i].listMr.length;o++){
               let bigList = response.data.listTemp[i].listMr[o].dataUrl.split(',');
               let bigList = response.data.listTemp[i].listMr[o].dataUrl.split(',');
               for(let x=0;x<bigList.length;x++){
               for(let x=0;x<bigList.length;x++){
+                console.log('4');
                 if(bigList[x]){
                 if(bigList[x]){
                   let minList = bigList[x].split(';');
                   let minList = bigList[x].split(';');
                   let obj = {
                   let obj = {
@@ -139,6 +143,7 @@ export default {
               }
               }
             }
             }
 
 
+            console.log('5');
             response.data.listTemp[i].upList = maxList;
             response.data.listTemp[i].upList = maxList;
             let obj ={};
             let obj ={};
             if(maxList.length>0){
             if(maxList.length>0){
@@ -156,9 +161,11 @@ export default {
             newList.push(obj);
             newList.push(obj);
           }
           }
         }
         }
+        console.log('9');
         this.$set(this,"iframeSrc",newList);
         this.$set(this,"iframeSrc",newList);
         this.$set(this,"subjectData",response.data);
         this.$set(this,"subjectData",response.data);
         this.$forceUpdate()
         this.$forceUpdate()
+        console.log('10',this.subjectData);
         this.pageType = true;
         this.pageType = true;
       })
       })
     },
     },
@@ -313,6 +320,9 @@ export default {
       p{
       p{
         margin:0;
         margin:0;
       }
       }
+      p:nth-child(2){
+        font-weight:700;
+      }
     }
     }
     .item-user-box{
     .item-user-box{
       display: flex;
       display: flex;

+ 71 - 71
src/views/systemManagement/menu/index.vue

@@ -73,7 +73,7 @@
               <div class="table-button-box">
               <div class="table-button-box">
                 <p class="table-button-null"></p>
                 <p class="table-button-null"></p>
                 <p class="table-button-p"
                 <p class="table-button-p"
-                   v-if="!scope.row.isFrame"
+                   v-if="!scope.row.isFrame&&scope.row.menuType!=2"
                    @click="handleAdd(scope.row)"
                    @click="handleAdd(scope.row)"
                    v-hasPermiRouter="['system:menu:add']"
                    v-hasPermiRouter="['system:menu:add']"
                 >新增</p>
                 >新增</p>
@@ -114,21 +114,15 @@
             <el-col :span="24">
             <el-col :span="24">
               <el-form-item label="菜单类型" prop="menuType">
               <el-form-item label="菜单类型" prop="menuType">
                 <el-radio-group v-model="form.menuType" >
                 <el-radio-group v-model="form.menuType" >
-                  <!--<el-radio-->
-                    <!--v-for="item in menuTypeList"-->
-                    <!--:disabled="item.disabled"-->
-                    <!--:label="item.label">-->
-                    <!--{{item.value}}-->
-                  <!--</el-radio>-->
-                  <el-radio v-if="(superiorsData.level == 0 || superiorsData.level == 1) && !superiorsData.isFrame && typeButtonType!='menu' && typeButtonType!='button'"
+                  <el-radio v-if="catalogueRadioType"
                             :disabled="false" :label="0">
                             :disabled="false" :label="0">
                     目录
                     目录
                   </el-radio>
                   </el-radio>
-                  <el-radio v-if="superiorsData.level != 0 && (superiorsData.component == 'Layout' || superiorsData.component == 'ParentView') && !superiorsData.isFrame && typeButtonType!='catalogue' && typeButtonType!='button'"
+                  <el-radio v-if="buttonRadioType"
                             :disabled="false" :label="1">
                             :disabled="false" :label="1">
                     菜单
                     菜单
                   </el-radio>
                   </el-radio>
-                  <el-radio v-if="superiorsData.component != 'Layout' && superiorsData.component != 'ParentView' && superiorsData.component && !superiorsData.isFrame && typeButtonType!='catalogue' && typeButtonType!='menu'"
+                  <el-radio v-if="menuRadioType"
                             :disabled="false" :label="2" >
                             :disabled="false" :label="2" >
                     按钮
                     按钮
                   </el-radio>
                   </el-radio>
@@ -417,14 +411,10 @@ export default {
         menuName: undefined,
         menuName: undefined,
         visible: undefined
         visible: undefined
       },
       },
-      //上级数据用于验证
-      superiorsData:{
-        menuId:"0",
-        component:'Layout',
-        isFrame:false,
-        level:0,
-      },
-      typeButtonType:'',
+      //dialog菜单类型展示判断
+      catalogueRadioType:false,
+      buttonRadioType:false,
+      menuRadioType:false,
       // 表单参数
       // 表单参数
       form: {},
       form: {},
       // 表单校验
       // 表单校验
@@ -460,56 +450,71 @@ export default {
   methods: {
   methods: {
     //选中上级菜单
     //选中上级菜单
     parentSelect(item){
     parentSelect(item){
-      if (item.menuId != 0){
-        this.$set(this,'superiorsData',{
-          menuId:item.menuId,
-          component:item.component,
-          isFrame:item.isFrame,
-          level:item.level,
-        });
-      }else{
-        this.$set(this,'superiorsData',{
-          menuId:"0",
-          component:'Layout',
-          isFrame:false,
-          level:0,
-        });
-      }
       this.$set(this.form,'menuType','');
       this.$set(this.form,'menuType','');
+      this.lookUpParent(4,item);
     },
     },
     //查找上级数据
     //查找上级数据
-    lookUpParent(row,type){
+    lookUpParent(type,row){
       if(type == 1){
       if(type == 1){
-        this.$set(this,'superiorsData',{
-          menuId:row.menuId,
-          component:row.component,
-          isFrame:row.isFrame,
-          level:row.level,
-        });
-      }else if(type == 2){
-        this.$set(this,'typeButtonType',
-          (row.component == 'Layout'||row.component == 'ParentView')&&row.children?'catalogue': (
-            (row.component == ''||!row.component)&&row.children?'menu':(
-              row.component != 'Layout'&&row.component != 'ParentView'&&row.component != ''&&row.component&&row.children?'button':''))
-        );
-        if(row.parentId == 0){
-          this.$set(this,'superiorsData',{
-            menuId:"0",
-            component:'Layout',
-            isFrame:false,
-            level:0,
-          });
-        }else{
-          this.menuOptionsList.forEach((item)=>{
-            if(item.menuId == row.parentId){
-              this.$set(this,'superiorsData',{
-                menuId:item.menuId,
-                component:item.component,
-                isFrame:item.isFrame,
-                level:item.level,
-              });
+        //独立新增按钮
+        this.$set(this,'catalogueRadioType',true);
+        this.$set(this,'buttonRadioType',false);
+        this.$set(this,'menuRadioType',false);
+      }else if(type == 3){
+        //修改
+        if(row.parentId == '0'){
+          //主类目
+          this.$set(this,'catalogueRadioType',true);
+          this.$set(this,'buttonRadioType',false);
+          this.$set(this,'menuRadioType',false);
+        }else if(row.menuType == '0'){
+          //目录
+        }else if(row.menuType == '1'){
+          //菜单
+          if(row.children){
+            this.$set(this,'catalogueRadioType',false);
+            this.$set(this,'buttonRadioType',true);
+            this.$set(this,'menuRadioType',false);
+          }else{
+            if(row.level == 2){
+              this.$set(this,'catalogueRadioType',true);
+              this.$set(this,'buttonRadioType',true);
+              this.$set(this,'menuRadioType',false);
+            }else if(row.level == 3){
+              this.$set(this,'catalogueRadioType',false);
+              this.$set(this,'buttonRadioType',true);
+              this.$set(this,'menuRadioType',false);
             }
             }
-          })
+          }
+        }else if(row.menuType == '2'){
+          //按钮
+          this.$set(this,'catalogueRadioType',false);
+          this.$set(this,'buttonRadioType',false);
+          this.$set(this,'menuRadioType',true);
+        }
+      }else if(type == 2 || type == 4){
+        //下拉框变动时
+        if(row.menuId == '0'){
+          //主类目
+          this.$set(this,'catalogueRadioType',true);
+          this.$set(this,'buttonRadioType',false);
+          this.$set(this,'menuRadioType',false);
+        }else if(row.menuType == '0'){
+          //一级/二级目录
+          if (row.level == 1){
+            this.$set(this,'catalogueRadioType',true);
+            this.$set(this,'buttonRadioType',true);
+            this.$set(this,'menuRadioType',false);
+          }else if(row.level == 2){
+            this.$set(this,'catalogueRadioType',false);
+            this.$set(this,'buttonRadioType',true);
+            this.$set(this,'menuRadioType',false);
+          }
+        }else if(row.menuType == '1'){
+          //菜单
+          this.$set(this,'catalogueRadioType',false);
+          this.$set(this,'buttonRadioType',false);
+          this.$set(this,'menuRadioType',true);
         }
         }
       }
       }
     },
     },
@@ -611,15 +616,10 @@ export default {
       this.getTreeselect();
       this.getTreeselect();
       this.reset();
       this.reset();
       if (row != null && row.menuId) {
       if (row != null && row.menuId) {
-        this.lookUpParent(row,1);
+        this.lookUpParent(2,row);
         this.form.parentId = row.menuId;
         this.form.parentId = row.menuId;
       } else {
       } else {
-        this.$set(this,'superiorsData',{
-          menuId:"0",
-          component:'Layout',
-          isFrame:false,
-          level:0,
-        });
+        this.lookUpParent(1);
         this.form.parentId = 0;
         this.form.parentId = 0;
       }
       }
       this.open = true;
       this.open = true;
@@ -648,7 +648,7 @@ export default {
           response.data.skipType = '_blank';
           response.data.skipType = '_blank';
           response.data.customParameter = [{key:'',value:''}];
           response.data.customParameter = [{key:'',value:''}];
         }
         }
-        this.lookUpParent(row,2);
+        this.lookUpParent(3,row);
         this.$set(this,'form',response.data);
         this.$set(this,'form',response.data);
         this.open = true;
         this.open = true;
         this.title = "修改菜单";
         this.title = "修改菜单";