瀏覽代碼

完善出入管理bug

凉纪 1 年之前
父節點
當前提交
440e222d27
共有 3 個文件被更改,包括 57 次插入56 次删除
  1. 2 3
      src/utils/globalMixins.js
  2. 52 51
      src/views/menu/visitRegister/add.vue
  3. 3 2
      src/views/menu/visitRegister/detail.vue

+ 2 - 3
src/utils/globalMixins.js

@@ -64,12 +64,11 @@ export default {
     },
     //调用预览和pdf(内网银行)
     openFilePreview(item) {
-      let system = this.isAndroidOrIos();
       const parms = {
-        url: imgUrl(item.url),
+        url: item.url.indexOf('http') > -1 ? item.url : imgUrl(item.url),
         name: item.name
       }
-      console.log(item)
+      let system = this.isAndroidOrIos();
       if (system === 1) {
         //android
         // 判断当前环境是是否存在 js桥 'sap'

+ 52 - 51
src/views/menu/visitRegister/add.vue

@@ -72,11 +72,10 @@
       </div>
 
       <!--  人员列表   -->
-      <div class="card" v-for="(v,i) in pList" :key="i">
+      <div class="card" v-for="(v,i) in pList" :key="v.uuid">
         <van-swipe-cell>
           <div class="goods-card">
            <div class="card-img-box" @click="preView(v.imgFile)">
-<!--             <p>{{v.imgFile[0].imgPath}}</p>-->
              <img :src="imgUrl(v.imgFile[0].imgPath)" alt="">
            </div>
            <div class="card-cell-box">
@@ -232,56 +231,61 @@ export default {
       //     return;
       //   }
       // }
-      if(this.visitType ==  '2'){
-        if(!this.formData.letterNo){
-          this.$toast('请输入介绍信编号');
+      try{
+        if(this.visitType ==  '2'){
+          if(!this.formData.letterNo){
+            this.$toast('请输入介绍信编号');
+            return;
+          }
+          if(!this.formData.letterFile){
+            this.$toast('请上传介绍信');
+            return;
+          }
+        }
+
+        if(!this.formData.reasons){
+          this.$toast('请输入出入事由');
           return;
         }
-        if(!this.formData.letterFile){
-          this.$toast('请上传介绍信');
+        if(!this.formData.range){
+          this.$toast('请选择有效期');
           return;
         }
-      }
-
-      if(!this.formData.reasons){
-        this.$toast('请输入出入事由');
-        return;
-      }
-      if(!this.formData.range){
-        this.$toast('请选择有效期');
-        return;
-      }
-      if(this.pList.length == 0){
-        this.$toast('请添加人员信息');
-        return;
-      }
-      this.formData.status = 1;
-      this.formData.type = this.visitType;
-      this.formData.receptionOrgIds = [this.orgId];
-      this.formData.userInfos = this.pList;
-      let data = this.formData;
-      //alert(JSON.stringify(data))
-      if(this.visitType ==  '2'){
-        data.letterFile = this.formData.letterFile.map(v=>{
-          return JSON.stringify(v);
+        if(this.pList.length == 0){
+          this.$toast('请添加人员信息');
+          return;
+        }
+        this.formData.status = 1;
+        this.formData.type = this.visitType;
+        this.formData.receptionOrgIds = [this.orgId];
+        this.formData.userInfos = this.pList;
+        let data = this.formData;
+        //alert(JSON.stringify(data))
+        if(this.visitType ==  '2'){
+          data.letterFile = this.formData.letterFile.map(v=>{
+            return JSON.stringify(v);
+          })
+        }
+        data.userInfos = this.pList.map(user=>{
+          let urlArr = user.imgFile.map(v=>{
+            return v.imgPath
+          })
+          user.imgFile = urlArr.join(',');
+          return user
         })
-      }
-      data.userInfos = this.pList.map(user=>{
-        let urlArr = user.imgFile.map(v=>{
-          return v.imgPath
+        // alert(JSON.stringify(data));
+        // return;
+        visitAdd(data).then(res=>{
+          this.$toast.success('提交成功');
+          this.$router.replace({
+            name:'visitRegister',
+            path:'/visitRegister',
+            params:{event:'refresh'},
+          });
         })
-        user.imgFile = urlArr.join(',');
-        return user
-      })
-     // alert(JSON.stringify(data))
-      visitAdd(data).then(res=>{
-        this.$toast.success('提交成功');
-        this.$router.replace({
-          name:'visitRegister',
-          path:'/visitRegister',
-          params:{event:'refresh'},
-        });
-      })
+      }catch (e) {
+        alert(e)
+      }
     },
     onFailed(errorInfo) {
       console.log('failed', errorInfo);
@@ -308,7 +312,7 @@ export default {
         return;
       }
       let strObj = JSON.parse(JSON.stringify(this.personnel));
-      let index = this.pList.findIndex(v=>{return v.idCard === strObj.idCard});
+      let index = this.pList.findIndex(v=>{return v.uuid === strObj.uuid});
       this.pList.splice(index,1,strObj);
       this.personnel = {
         userName:null,
@@ -340,10 +344,6 @@ export default {
         this.$toast('请完善人员信息');
         return;
       }
-      if(this.personnel.imgFile.length < 2) {
-        this.$toast('请上传证件照正反面');
-        return;
-      }
       let strObj = JSON.parse(JSON.stringify(this.personnel));
       //判断是否已添加
       let flag  = this.pList.some(v=> {return v.idCard === strObj.idCard});
@@ -351,6 +351,7 @@ export default {
         this.$toast('该人员信息已添加');
         return;
       };
+      strObj.uuid = `${new Date().getTime()}`;
       this.pList.push(strObj);
       this.personnel = {
         userName:null,

+ 3 - 2
src/views/menu/visitRegister/detail.vue

@@ -25,7 +25,7 @@
                 <div class="file-box">
                   <p class="van-ellipsis" v-for="(v, i) in visitInfo.letterFile"
                      :key="v.url"
-                     @click="previewFile(v.url)">{{v.name}}</p>
+                     @click="previewFile(v)">{{v.name}}</p>
                 </div>
               </template>
             </van-cell>
@@ -35,7 +35,7 @@
       </div>
 
       <!--  人员列表  -->
-      <div class="card" v-for="(v,i) in userInfos" :key="i">
+      <div class="card" v-for="(v,i) in userInfos" :key="v.id">
           <div class="goods-card">
            <div class="card-img-box" v-if="v.imgFile && v.imgFile.length > 0" @click="preView(v.imgFile)">
              <img :src="imgUrl(v.imgFile[0])" alt="">
@@ -117,6 +117,7 @@ export default {
       })
     },
     previewFile(file){
+      console.log(file,'file')
       this.openFilePreview(file);
     },
     preView(val) {