Merge branch 'feature/GFRS-213【待确定】电投问题件-前端开发-new' into dev

This commit is contained in:
mengxiaolong
2020-08-05 10:03:26 +08:00

View File

@@ -33,7 +33,7 @@
<!-- 新契约基本问题件 -->
<div class="feedback" v-if="issueType === 'TB89'">
<div class="title">问题件回复</div>
<textarea placeholder="请输入" v-model="newContract.feedback"></textarea>
<textarea placeholder="请输入" v-model="newContract.feedback" :disabled="newContract.feedbackAvailable"></textarea>
</div>
<div class="checkedBox" v-if="issueType !== '818901'">
<van-checkbox v-model="checked" class="checked" icon-size="16px" shape="square"
@@ -53,20 +53,22 @@
</template>
</van-field>
</div>
<div class="item">
<van-field v-model="transfer.bank" @click="getBankListItem" label-class="labels" readonly label="开户银行" placeholder="请选择"> </van-field>
</div>
<div class="item">
<van-field v-model="transfer.card" :maxlength="19" label-class="labels" label="银行卡号" placeholder="请输入银行卡号"
><template #button>
<van-button size="small" class="button" round color="#e4393c" type="primary" @click.stop="toggleCardScan(true)">银行卡扫描</van-button>
</template>
</van-field>
</div>
<div class="item">
<van-field label-class="labels" readonly label="银行卡照片"></van-field>
<div class="cardList">
<van-uploader :max-count="2" :after-read="cardUpload" name="card" v-model="transfer.cardPhoto" />
<div v-if="this.transfer.mode !== 2">
<div class="item">
<van-field v-model="transfer.bank" @click="getBankListItem" label-class="labels" readonly label="开户银行" placeholder="请选择"> </van-field>
</div>
<div class="item">
<van-field v-model="transfer.card" :maxlength="19" label-class="labels" label="银行卡号" placeholder="请输入银行卡号"
><template #button>
<van-button size="small" class="button" round color="#e4393c" type="primary" @click.stop="toggleCardScan(true)">银行卡扫描</van-button>
</template>
</van-field>
</div>
<div class="item">
<van-field label-class="labels" readonly label="银行卡照片"></van-field>
<div class="cardList">
<van-uploader :max-count="2" :after-read="cardUpload" name="card" v-model="transfer.cardPhoto" />
</div>
</div>
</div>
<div class="checkedBox" v-if="issueType === '818901'">
@@ -76,7 +78,7 @@
</div>
</div>
<!-- end -->
<div class="autograph" v-if="issueType !== '818901'">
<div class="autograph">
<div class="list">
<span>投保人/监护人亲笔签名</span>
<van-button type="danger" size="small" @click="autograph(0)">{{ policyholderSigned ? '已签名' : '签名' }}</van-button>
@@ -135,6 +137,7 @@ export default {
let isWeixin = this.$utils.device().isWeixin
return {
isWeixin,
problemInfo: null,
problemDetail: null,
supplement: {
// 被保人问题描述
@@ -150,7 +153,8 @@ export default {
},
newContract: {
// 新契约
feedback: ''
feedback: '',
feedbackAvailable: false
},
transfer: {
// 转账失败
@@ -210,12 +214,28 @@ export default {
},
//签名
async autograph(personType) {
let problemInfo = JSON.parse(localStorage.getItem('currentProblemItem'))
// 新契约问题件签名前必须输入回复内容
if (this.$route.params.type === 'TB89') {
if (!this.newContract.feedback.trim()) {
return this.$toast('请先填写回复内容')
}
// 根据回复内容重新生成PDF&回复内容不能在更改
this.newContract.feedbackAvailable = true
}
// 转账不成功签名前必须选择处理方式
if (this.$route.params.type === '818901') {
if (this.transfer.mode === '') {
return this.$toast('请先选择处理方式')
}
// 根据选择的处理方式重新生成PDF
}
let name = personType === 0 ? this.problemInfo.appntName : this.problemInfo.insuredName
let number = personType === 0 ? this.problemInfo.appntIdCardNo : this.problemInfo.insuredIdCardNo
if (!this.isWeixin) {
let signParam = {
name: personType === 0 ? problemInfo.prtName : problemInfo.insuredName,
name,
type: '1',
number: '142727199301063550',
number,
keyword: '签字',
pageNo: '1',
index: 1,
@@ -224,7 +244,6 @@ export default {
signatureWidth: this.$utils.signParams().signatureWidth,
signatureHeight: this.$utils.signParams().signatureHeight
}
console.log(signParam)
// eslint-disable-next-line
const res = await EWebBridge.webCallAppInJs('ca_sign', signParam)
let signRes = JSON.parse(res)
@@ -312,34 +331,34 @@ export default {
if (this.transfer.mode === '') {
return this.$toast('请选择处理方式')
}
// 校验开户行
if (!this.transfer.bank) {
return this.$toast('请选择开户行')
}
// 银行卡号校验
let regx = /^(\d{16}|\d{18}|\d{19})$/
if (!regx.test(this.transfer.card)) {
return this.$toast('银行卡号不符合规则')
}
if (this.transfer.cardPhoto.length === 0) {
return this.$toast('请上传银行卡图片')
// 非终止转账
if (this.transfer.mode !== 2) {
// 校验开户行
if (!this.transfer.bank) {
return this.$toast('请选择开户行')
}
// 银行卡号校验
let regx = /^(\d{16}|\d{18}|\d{19})$/
if (!regx.test(this.transfer.card)) {
return this.$toast('银行卡号不符合规则')
}
if (this.transfer.cardPhoto.length === 0) {
return this.$toast('请上传银行卡图片')
}
}
}
if (!this.checked) return this.$toast('请先同意协议')
// 转账失败问题件不用签名
if (this.issueType !== '818901') {
// 校验签名
if (this.$route.query.receiveType === '0') {
if (!this.policyholderSigned) return this.$toast('请完成签名后继续操作')
} else if (this.$route.query.receiveType === '1') {
if (!this.policyholderSigned || !this.insurantSigned) return this.$toast('请完成签名后继续操作')
}
// 校验签名
if (this.$route.query.receiveType === '0') {
if (!this.policyholderSigned) return this.$toast('请完成签名后继续操作')
} else if (this.$route.query.receiveType === '1') {
if (!this.policyholderSigned || !this.insurantSigned) return this.$toast('请完成签名后继续操作')
}
// 短信校验
this.dialog = {
type: 'confirm',
show: true,
text: '为确定用户身份,我们将向186xxxx8972此手机号发送验证码'
text: `为确定用户身份,我们将向${this.problemInfo.phoneNo}此手机号发送验证码`
}
},
async getMessage({ data }) {
@@ -425,8 +444,9 @@ export default {
prtNo: this.$route.query.prtNo,
userType: Number(this.$route.query.receiveType)
})
this.problemDetail = rs.content.list[0]
this.problemDetail.receiveType = JSON.parse(localStorage.getItem('currentProblemItem')).receiveType
this.problemInfo = rs.content
this.problemDetail = this.problemInfo.list[0]
this.problemDetail.receiveType = this.$route.receiveType
this.supplement.descriptionInsurant = this.problemDetail.content
this.supplement.descriptionPolicyholder = this.problemDetail.issueContent
},