zhouhao
2022-01-10 2e67cdf56f8befd0dc0f3add901549932b7ac757
修改流程
3 files modified
184 ■■■■■ changed files
src/api/index.js 4 ●●●● patch | view | raw | blame | history
src/views/main/addBankcard.vue 36 ●●●●● patch | view | raw | blame | history
src/views/main/queryres.vue 144 ●●●●● patch | view | raw | blame | history
src/api/index.js
@@ -54,6 +54,10 @@
         signContract(data) {  
            return $http.post('/signContract/signContract3', data);
      },
         //签署合同
         signContInfo(data) {
          return $http.post('/inside/signContInfo', data);
    },
    // ========================================
    
}
src/views/main/addBankcard.vue
@@ -31,21 +31,21 @@
      </van-field>
      <div class="index-title">
        <van-checkbox v-model="checked" style="height:30px; margin-right:5px" checked-color="#6cc3bb"></van-checkbox>
        <div v-if="bizType==0 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="show=true">《信息授权函》</span>的签订</div>
        <div v-if="bizType==1 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《保理付款服务合同》</span>的签订</div>
        <div v-if="bizType==1 && this.dataInfo.status==3" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《有追索权保理业务合同s》</span>的签订</div>
        <div v-if="bizType==0 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="contractBtn">《信息授权函》</span>的签订</div>
        <div v-if="bizType==1 && this.dataInfo.status==0" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="contractBtn">《保理付款服务合同》</span>的签订</div>
        <div v-if="bizType==1 && this.dataInfo.status==3" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="contractBtn">《有追索权保理业务合同s》</span>的签订</div>
      </div>
      <div style="margin: 16px;margin-top:30px">
        <van-button round block color="#6cc3bb" @click="onFailed" native-type="submit">确认</van-button>
      </div>
    </van-form>
    <van-popup v-model="show">
      <div class="agreenBox">
      <!-- <div class="agreenBox">
        <div class="agreen-html" v-html="agreementext"></div>
        <div class="close-agreen" @click="show = false">
          <van-icon name="close" color="#c8c9cc" />
        </div>
      </div>
      </div> -->
    </van-popup>
    <van-popup v-model="showx">
      <div class="agreenBox">
@@ -68,6 +68,7 @@
import { repstr } from '../../../static/agreement1'
import { repstrw } from '../../../static/agreement2'
import { ImagePreview } from 'vant';
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {},
@@ -168,19 +169,13 @@
      let objForm = { bizId: this.bizId, bizType: this.bizType }
      this.$api.getBizStatus(objForm).then(res => {
        this.dataInfo = res.body
        if (this.dataInfo.status == 0  || Number(this.bizType) == 1 && this.dataInfo.status == 3) {
        if (this.dataInfo.status == 0  || Number(this.bizType) == 1 && this.dataInfo.status == 3) {    //待签约状态停留在当前页面
          this.$api.getFrontData(objForm).then(res => {
            this.dataForm = res.body
          })
        } else if (this.dataInfo.status == 1 && Number(this.bizType) == 0 || this.dataInfo.status == 1 && Number(this.bizType) == 1 || this.dataInfo.status == 4 && Number(this.bizType) == 1) {
          //获取人脸识别结果页面
          this.$router.push({ path: '/main/queryres', query: { ...objForm } })
        }else  if(this.dataInfo.status == 6 && Number(this.bizType) ==1 || this.dataInfo.status ==2 && Number(this.bizType) ==0 ){  //已完成人脸识别合同签署
        }else if(this.dataInfo.status == 3  && Number(this.bizType) ==0 || this.dataInfo.status ==6 && Number(this.bizType) ==1 ){  //跳到合同已完成页面
               this.$router.push({path:'/main/bancardsucces',query:{bizId:this.bizId,bizType:this.bizType}}) 
        }else if(res.body.status==99 &&  Number(this.bizType)==0 || res.body.status==88 &&  Number(this.bizType)==1  || res.body.status==99 &&  Number(this.bizType)==1){   //人脸识别失败
                      //  window.clearInterval(t2)  // 去除定时器
                      //   slfe.dataInfo =res.body
                      //   slfe.ResultIs =true    //重试
        }else{   //跳到验证页面
             this.$router.push({ path: '/main/queryres', query: { ...objForm } })
            } 
      })
@@ -257,6 +252,18 @@
        this.setTime()
      })
    },
    contractBtn(){  //查看合同
    let objUrl=''
     if (process.env.NODE_ENV === "development") {  //开发环境
             objUrl = `https://t.finlean.com`
      }  else{  //生产
          objUrl = `${window.location.origin}`
    }
       this.dataForm.contractUrl =this.dataForm.contractUrl.map(element => {
         return element  = objUrl+element
      })
      ImagePreview(this.dataForm.contractUrl);
    },
    //图片click
    imgClick: function () {
      this.ishowFile = true // 重建
@@ -330,6 +337,7 @@
        duration:0,
        overlay:true,
      })
     this.setTime()
     this.bankCardNoInit()
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
src/views/main/queryres.vue
@@ -3,16 +3,17 @@
  <div class='text-main'>
    <!-- <van-nav-bar title="审核结果" /> -->
    <div style="  text-align: center;">
      <img  height="180" src="../../assets/img/loading.png"  v-if="!ResultIs" />
      <img  height="180" src="../../assets/img/img_fail.png" v-if="ResultIs" />
      <img  height="180" src="../../assets/img/loading.png"  v-if="!ResultIs && !signBtn" />
      <img  height="180" src="../../assets/img/img_fail.png" v-else />
    </div>
    <div class="content">
      <p class="content-text"  v-if="!ResultIs"> {{datastr}}</p>
        <p class="content-text" v-if="ResultIs"> 活体校验失败,请重试</p>
      <p class="content-text"> {{datastr}}</p>
      <!-- <p class="content-text" v-if="isActive">{{examineStr}}</p> -->
      <div class="btn-content">
      <van-button  color="#6cc3bb" @click="refreshBtn" round v-if="!ResultIs">刷新</van-button>
      <van-button  color="#6cc3bb" @click="checkBtn" round v-if="ResultIs">重新校验</van-button>
      <van-button  color="#6cc3bb" @click="signSub" round  v-if="signBtn">重新签署合同</van-button>
      <van-button  color="#6cc3bb" @click="refreshBtn" round  v-if="!ResultIs && !signBtn">刷新</van-button>
      <van-button  color="#6cc3bb" @click="checkBtn" round v-if="ResultIs">重新校验人脸</van-button>
      <van-button  color="#6cc3bb" @click="returnPage" round v-if="ResultIs || signBtn">退出</van-button>
      </div>
    </div>
  </div>
@@ -30,9 +31,11 @@
      orderNo:0,
      ResultIs:false,
      examineIs:true,
      dataInfo:{},
      dataInfo:{
      },
      bizId:this.$route.query.bizId,   //订单编号 
      bizType:this.$route.query.bizType,  //订单类型
      signBtn:false,//重新签约按钮
    };
  },
  //监听属性 类似于data概念
@@ -43,32 +46,72 @@
  methods: {
    bankCardNoInit() {
      var slfe = this
      let  objForm ={bizId:this.bizId,bizType:this.bizType}
      // let  objForm ={bizId:this.bizId,bizType:this.bizType}
      var t2 = window.setInterval(function () {
        slfe.$api.getBizStatus({bizId:slfe.bizId,bizType:slfe.bizType}).then(res => {
            if(res.body.status==1 &&  Number(slfe.bizType)==0 || res.body.status==1 && Number(slfe.bizType)==1 || res.body.status==4 && Number(slfe.bizType)==1){   //人脸识别未出结果
                 slfe.$api.getApplyStatus({bizId:slfe.bizId,bizType:slfe.bizType,status:res.body.status}).then(res=>{
                     if(res.body.faceResult==0 || res.body.faceResult==3){  //人脸识别失败
                         slfe.dataInfo =res.body
                         slfe.ResultIs =true
                          window.clearInterval(t2)  // 去除定时器
                     }else if(res.body.faceResult==1) {  //人脸识别成功
                          window.clearInterval(t2)  // 去除定时器
                         slfe.$router.push({path:'/main/bancardsucces',query:{bizId:slfe.bizId,bizType:slfe.bizType}})
                     }else if(res.body.faceResult==2){  //人脸识别中
         this.dataInfo =res.body
           if(Number(this.bizType) ==0){  //签署授权函
                if( this.dataInfo.status==1){  //授权人脸未出结果
                 this.datastr ='活体校验识别中,请稍等.....'
                 this.signBtn =false
                  this.ResultIs =false
                }else if( this.dataInfo.status==2){    //完成个人人脸授信,待签署信息函
                 this.datastr ='活体校验成功!待签署信息授权函,请稍后.....'
                 this.signBtn =false
                  this.ResultIs =false
                }else if( this.dataInfo.status==201){  //信息授权函签署失败
                 window.clearInterval(t2)
                 this.datastr ='活体校验成功!签署信息授权函失败,请重试.....'
                 this.signBtn =true
                 this.ResultIs =false
                }else if( this.dataInfo.status==3){  //完成信息授权函签署
                window.clearInterval(t2)
                this.$router.push({path:'/main/bancardsucces',query:{bizId:this.bizId,bizType:this.bizType}})
                }else if( this.dataInfo.status==99){
                   window.clearInterval(t2)
                   this.datastr ='活体校验失败!请重试.....'
                   this.signBtn =false
                   this.ResultIs =true
                     }
                 })
            }else if(res.body.status==2 &&  Number(slfe.bizType)==0  || res.body.status==6 &&  Number(slfe.bizType)==1){  //人脸识别成功 最后一步
             window.clearInterval(t2)  // 去除定时器
             slfe.$router.push({path:'/main/bancardsucces',query:{bizId:slfe.bizId,bizType:slfe.bizType}})
            }else if(res.body.status==3 &&  Number(slfe.bizType)==1 ){ //人脸识别成功  完成保理付款服务合同签署,待进行分销主体人脸认证
                  window.clearInterval(t2)  // 去除定时器
                  slfe.$router.push({path:'/',query:{bizId:slfe.bizId,bizType:slfe.bizType}})
            }else if(res.body.status==99 &&  Number(slfe.bizType)==0 || res.body.status==88 &&  Number(slfe.bizType)==1  || res.body.status==99 &&  Number(slfe.bizType)==1){   //人脸识别失败
                       window.clearInterval(t2)  // 去除定时器
                        slfe.dataInfo =res.body
                        slfe.ResultIs =true    //重试
           }else if(Number(this.bizType) ==1){  //签署借款
                if( this.dataInfo.status==1){  //授权人脸未出结果
                 this.datastr ='活体校验识别中,请稍等.....'
                   this.signBtn =false
                  this.ResultIs =false
                }else if( this.dataInfo.status==2){    //完成个人人脸授信,待签署信息函
                 this.datastr ='活体校验成功!待签署合同,请稍后.....'
                   this.signBtn =false
                  this.ResultIs =false
                }else if( this.dataInfo.status==201){    //完成个人人脸授信,待签署信息函
                  window.clearInterval(t2)
                  this.datastr ='活体校验成功!签署合同失败,请重试.....'
                   this.signBtn =true
                  this.ResultIs =false
                }else if( this.dataInfo.status==3){  //完成个人单笔合同签署    待分销主体验证
                 window.clearInterval(t2)
                this.$router.push({path:'/',query:{bizId:this.bizId,bizType:this.bizType}})
                }else if( this.dataInfo.status==4){  //授权人脸未出结果
                 this.datastr ='活体校验识别中,请稍等.....'
                   this.signBtn =false
                  this.ResultIs =false
                }else if( this.dataInfo.status==5){  //授权人脸未出结果
                 this.datastr ='活体校验成功!待签署合同,请稍等.....'
                   this.signBtn =false
                  this.ResultIs =false
                }else if( this.dataInfo.status==501){  //授权人脸未出结果
                  window.clearInterval(t2)
                 this.datastr ='活体校验成功!签署合同失败,请重试.....'
                 this.signBtn =true
                 this.ResultIs =false
                }else if( this.dataInfo.status==6){  //完成主体合同签署
                 window.clearInterval(t2)
                this.$router.push({path:'/main/bancardsucces',query:{bizId:this.bizId,bizType:this.bizType}})
                }else if( this.dataInfo.status==88 ||  this.dataInfo.status==99){
                   this.signBtn =false
                   this.ResultIs =true
                   window.clearInterval(t2)
                   this.datastr ='活体校验失败!请重试.....'
                }
            }    
        })
      }, 5000)
@@ -95,33 +138,36 @@
    },
    refreshBtn(){
        this.bankCardNoInit()
    },
    signSub(){ //重新发起签约
         this.$api.signContInfo({bizId:this.bizId,bizType:this.bizType}).then(res=>{
           if(Number(this.bizType) ==0){
                this.datastr ='信息授权函签署中,请稍后.....'
                this.signBtn =false
                this.ResultIs =false
           }else{
                this.datastr ='合同签署中,请稍后.....'
                this.signBtn =false
                this.ResultIs =false
           }
            this.bankCardNoInit()
         })
    },
    returnPage(){  //返回APP
      window.location.href ="https://www.qadlj.com/authorizeBack.html"
    }
  },
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
     this.$api.getBizStatus({bizId:this.bizId,bizType:this.bizType}).then(res=>{
       if(res.body.status==99 &&  Number(this.bizType)==0 || res.body.status==88 &&  Number(this.bizType)==1  || res.body.status==99 &&  Number(this.bizType)==1){
             return this.ResultIs =true
       }else{
         if(res.body.status == 3  && Number(this.bizType) ==0 || res.body.status ==6 && Number(this.bizType) ==1 ){  //成功直接跳转成功页面
                this.$router.push({path:'/main/bancardsucces',query:{bizId:this.bizId,bizType:this.bizType}})
         }else if(res.body.status == 3  && Number(this.bizType) ==1){  //待签约分销主体
                this.$router.push({path:'/',query:{bizId:this.bizId,bizType:this.bizType}})
         }else{  //执行定时器
             this.bankCardNoInit()
       }
     })
    // if(this.getQueryVariable('orderNo')){
    //       this.orderNo=this.getQueryVariable('orderNo')
    // }else{
    //         this.orderNo=this.$route.query.orderNo
    // }
    // let  orderStatus =this.$route.query.orderStatus
    // if(orderStatus && orderStatus==3){
    //         this.datastr='正在审核订单,请稍后...'
    //       //  this.bankCardNoInit()
    //          window.location.href ="https://www.shouxinshibai.com/"
    // }else{
    // this.datastr='正在审核订单,请稍后...'
    // // this.bankCardNoInit()
    // }
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {