zhouhao
2022-01-10 4a139e560bc5a2ad70426dcdd0ce921c6964c415
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
 
<template>
  <div class='text-main'>
    <!-- <van-nav-bar title="审核结果" /> -->
    <div style="  text-align: center;">
      <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"> {{datastr}}</p>
      <!-- <p class="content-text" v-if="isActive">{{examineStr}}</p> -->
      <div class="btn-content">
      <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>
</template>
 
<script>
export default {
  components: {},  
  data() {
    //这里存放数据
    return {
      datastr: '活体校验中,请稍等....',
      examineStr:'正在审核订单,请稍后...',
      isActive: false,
      orderNo:0,
      ResultIs:false,
      examineIs:true,
      dataInfo:{
      },
      bizId:this.$route.query.bizId,   //订单编号 
      bizType:this.$route.query.bizType,  //订单类型
      signBtn:false,//重新签约按钮
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    bankCardNoInit() {
      var slfe = this
      // let  objForm ={bizId:this.bizId,bizType:this.bizType}
      var t2 = window.setInterval(function () {
        slfe.$api.getBizStatus({bizId:slfe.bizId,bizType:slfe.bizType}).then(res => {
         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
                   console.log('aaaaa')
                }
           }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)
    },
    getQueryVariable(variable) {  //获取url参数
      var query = window.location.search.substring(1);
      var vars = query.split("&");
      for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) { return pair[1]; }
      }
      return (false);
    },
    checkBtn(){  //重新校验
           let objUrl
            if (process.env.NODE_ENV === "development") {  //开发环境
             objUrl = `https://t.finlean.com/comn_business/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}`
            }  else{  //生产
              objUrl = `${window.location.origin}/comn_business/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}`
            }
           this.$api.refreshFaceStatus({bizId:this.bizId,bizType:this.bizType,callbackUrl:objUrl}).then(res => {
               window.location.href =res.body.faceUrl               
            })      
    },
    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 == 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()
         }    
     })
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
 
  },
}
</script>
<style   lang="less"  scoped>
img {
  margin: 10px auto;
}
.content {
  text-align: center;
  .content-text {
    font-size: 16px;
    font-weight: 500;
    color: #333333;
  }
  .content-main {
    font-weight: 500;
    color: #999999;
  }
  .btn-content{
    display: flex;
    margin-top: 20px;
   justify-content:space-around;
  }
  .van-button{
    width: 150px;
  }
}
</style>