Merge branch 'feature/入司优化' into release/1119

# Conflicts:
#	src/components/ebiz/account/SelectBankName.vue
#	src/views/ebiz/agentEenter/AgentEenterBasicInfor.vue
#	src/views/ebiz/agentEenter/js/bankList.js
This commit is contained in:
mengxiaolong
2020-11-19 10:26:59 +08:00
27 changed files with 1562 additions and 558 deletions

View File

@@ -85,7 +85,8 @@ export function agentAddApproval(data) {
data
})
}
//入司增员审批
// 入司撤销申请
export function revoke(data) {
return request({
url: getUrl('/agent/enter/revoke', 1),
@@ -93,3 +94,21 @@ export function revoke(data) {
data
})
}
// 执业证信息保存
export function saveCertificateInfo(data) {
return request({
url: getUrl('/agent/enter/uploadZgz', 1),
method: 'post',
data
})
}
// 联行号获取
export function getBankJoints(data) {
return request({
url: getUrl('/agent/enter/bankJoint', 1),
method: 'post',
data
})
}

View File

@@ -2310,8 +2310,7 @@ export default {
guarantRelationType: [
{ id: '0', text: '亲属' },
{ id: '1', text: '朋友' },
{ id: '2', text: '同事' },
{ id: '3', text: '其他' }
{ id: '2', text: '同事' }
],
classification: [{ id: '1', text: '司外' }],
//入司国籍/地区

View File

@@ -2,7 +2,7 @@
export default function jump(options) {
// eslint-disable
if (window.WebViewJavascriptBridge && options.flag) {
if (options.flag == 'h5' || options.flag == 'service' || options.flag == 'home') {
if (options.flag == 'h5' || options.flag == 'service' || options.flag == 'home' || options.flag == 'mine') {
EWebBridge.webCallAppInJs('bridge', {
flag: options.flag,
extra: options.extra

View File

@@ -97,4 +97,9 @@ export default {
}
}
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
.vanlist {
height: 100%;
overflow: auto;
}
</style>

View File

@@ -24,6 +24,7 @@ const ApproveList = () => import('@/views/ebiz/agentEenter/approve/ApproveList')
const BasicInfo = () => import('@/views/ebiz/agentEenter/approve/BasicInfo')
const ApproveInfo = () => import('@/views/ebiz/agentEenter/approve/ApproveInfo')
const SubmitSuccess = () => import('@/views/ebiz/agentEenter/approve/SubmitSuccess')
const PractisingCertificateInfo = () => import('@/views/ebiz/agentEenter/PractisingCertificate')
const recordList = () => import('@/views/ebiz/agentEenter/approve/RecordList')
const recordDetail = () => import('@/views/ebiz/agentEenter/approve/RecordDetail')
const ResultEnd = () => import('@/views/ebiz/agentEenter/ResultEnd')
@@ -200,6 +201,15 @@ export default [
index: 1
}
},
{
path: '/agentEenter/practisingCertificateInfo',
name: 'practisingCertificateInfo',
component: PractisingCertificateInfo,
meta: {
title: '执业证信息',
index: 1
}
},
{
path: '/agentEenter/ShareInfo',
name: 'ShareInfo',

View File

@@ -0,0 +1,208 @@
<template>
<div class="bg-white">
<div class="cell-group van-hairline--bottom">
<div class="cell-title">证书类型</div>
<div class="cell-value" :class="{ selectTipText: typeColor }" @click="selectCertificateType">
{{ certificate.certificate_type === '' ? '请选择证书类型' : certificate.certificate_type }}
</div>
<van-icon class="right-arrow" name="arrow" />
</div>
<div class="cell-group van-hairline--bottom">
<div class="cell-title">证书编号</div>
<div class="cell-value">
<van-field v-model="certificate.certificate_no" :maxlength="26" placeholder="请输入证书编号" />
</div>
</div>
<div class="cell-group van-hairline--bottom">
<div class="cell-title">批准单位</div>
<div class="cell-value">{{ certificate.unit }}</div>
</div>
<div class="cell-group van-hairline--bottom">
<div class="cell-title">发放日期</div>
<div class="cell-value" :class="{ selectTipText: timeColor }" @click="selectTime">{{ effectiveDate === '-' ? '请选择日期' : effectiveDate }}</div>
<van-icon class="right-arrow" name="arrow" />
</div>
<div class="cell-group van-hairline--bottom">
<div class="cell-title">有效起期</div>
<div class="cell-value" :class="{ selectTipText: timeColor }">{{ effectiveDate }}</div>
</div>
<div class="cell-group van-hairline--bottom">
<div class="cell-title">有效止期</div>
<div class="cell-value">{{ certificate.enddate }}</div>
</div>
<div class="cell-group van-hairline--bottom">
<div class="cell-title">是否有效</div>
<div class="cell-value">
<van-radio-group v-model="certificate.flag" direction="horizontal">
<van-radio name="Y"></van-radio>
<van-radio name="N"></van-radio>
</van-radio-group>
</div>
</div>
<!-- 选择时间组件 -->
<van-popup v-model="isTimeSelectorShow" position="bottom" round>
<van-datetime-picker v-model="tempDate" :visible-item-count="4" type="date" @confirm="setTime" @cancel="isTimeSelectorShow = false" />
</van-popup>
<!-- 证件类型选择组件 -->
<van-popup v-model="isCertificateTypeShow" position="bottom" round>
<van-picker show-toolbar :columns="columns" @confirm="setCertificateType" @cancel="isCertificateTypeShow = false" />
</van-popup>
<!-- 完成按钮 -->
<div class="bottom-btn">
<van-button type="default" v-no-more-click="1000" @click="cancelAdd">取消</van-button>
<van-button type="danger" v-no-more-click="1000" @click="submit">添加</van-button>
</div>
</div>
</template>
<script>
import { DatetimePicker, Popup, Field, RadioGroup, Radio } from 'vant'
import dateFormattor from '@/assets/js/utils/date-utils'
export default {
name: 'AddPractisingCertificate',
components: {
[DatetimePicker.name]: DatetimePicker,
[Popup.name]: Popup,
[Field.name]: Field,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio
},
props: {
checkRepeat: {
type: Function
}
},
data() {
return {
certificate: {
certificate_type: '',
certificate_no: '',
unit: '银保监局',
issuedate: '',
startdate: '',
enddate: '2099-12-31',
flag: 'Y'
},
isCertificateTypeShow: false,
isTimeSelectorShow: false,
effectiveDate: '-',
tempDate: new Date(),
columns: ['执业证', '其他'],
typeColor: true,
timeColor: true
}
},
methods: {
selectCertificateType() {
this.isCertificateTypeShow = true
},
setCertificateType(val) {
this.certificate.certificate_type = val
this.typeColor = false
this.isCertificateTypeShow = false
},
selectTime() {
// 复位时间选择器
this.tempDate = new Date()
this.isTimeSelectorShow = true
},
setTime(date) {
const timeStr = dateFormattor.formatDate(date, 'yyyy-MM-dd')
this.certificate.issuedate = timeStr
this.certificate.startdate = timeStr
this.effectiveDate = timeStr
this.isTimeSelectorShow = false
this.timeColor = false
},
resetData() {
this.typeColor = true
this.timeColor = true
this.effectiveDate = '-'
this.certificate = {
certificate_type: '',
certificate_no: '',
unit: '银保监局',
issuedate: '',
startdate: '',
enddate: '2099-12-31',
flag: 'Y'
}
},
cancelAdd() {
this.$emit('cancel')
this.resetData()
},
submit() {
if (!this.certificate.certificate_type) {
return this.$toast('请选择证书类型')
}
let canAdd = this.checkRepeat(this.certificate.certificate_type)
if (!canAdd) {
return this.$toast('不能重复添加同一类型执业证书')
}
const reg = /^\d{26}$/
if (this.certificate.certificate_type === '执业证' && !reg.test(this.certificate.certificate_no)) {
return this.$toast('证书编号录入不正确')
}
if (!this.certificate.issuedate) {
return this.$toast('证书发放日期录入不正确')
}
let param = { ...this.certificate }
param.flag === 'Y' ? (param.flag = '是') : (param.flag = '否')
this.$emit('confirmCertificate', param)
this.resetData()
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .bottom-btn {
display: flex;
.van-button {
flex: 1;
border-radius: 0;
}
}
::v-deep .van-radio {
margin-right: 10px;
display: flex;
align-items: center;
}
.van-radio-group {
display: flex;
}
.cell-group {
font-size: 14px;
display: flex;
position: relative;
margin: 0 1em;
padding: 1em 0;
align-items: center;
.cell-title {
flex-basis: 40%;
}
.cell-value {
flex-basis: 60%;
}
.right-arrow {
position: absolute;
right: 0;
}
.selectTipText {
color: #bcbcbc;
}
}
.bg-white {
min-height: 60vh;
}
::v-deep .van-cell {
padding: 0;
}
</style>

View File

@@ -175,11 +175,7 @@ export default {
loadingType: 'spinner',
message: '加载中……'
})
let data = {
// userModel: { //线上去掉
// mobile: '13000000000'
// }
}
let data = {}
agentAll(data).then(res => {
if (res.result == '0') {
if (res.content.ebizRelationDtoLst.length != 0) {
@@ -332,9 +328,6 @@ export default {
})
let params = {
entryType: 'CUSTOMER_RELATION',
// userModel: { //线上去掉
// mobile: '13000000000'
// },
ebizRelationDtoLst: {}
}
params.ebizRelationDtoLst = that.userInfo

View File

@@ -94,7 +94,6 @@ export default {
},
mounted() {
document.body.style.backgroundColor = '#fff'
// this.getImpart()
this.agentAll()
},
beforeRouteLeave(to, from, next) {
@@ -136,12 +135,7 @@ export default {
//获取健康告知列表
getImpart(dataItemLst) {
let that = this
let data = {
// userModel: {
// //线上去掉
// mobile: '18888888888'
// }
}
let data = {}
that.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -150,7 +144,6 @@ export default {
})
getImpart(data).then(res => {
that.$toast.clear()
console.log(res)
res.map((item, index) => {
if (dataItemLst && dataItemLst.length > 0) {
let showLst = dataItemLst.filter(itemC => {
@@ -162,17 +155,7 @@ export default {
item.bigCode = 'A' + index + 1
if (item.itemDtoLst) {
item.itemDtoLst.map((it, index) => {
// let showSubLst = showLst.filter(itemB => {
let showSubLst = showLst[0].itemDtoLst.filter(itemB => {
console.log(
'!!!!!!!!!!',
item.itemDtoLst,
showLst,
showLst[0].itemDtoLst,
it,
itemB,
itemB.impartNo == it.impartNo && itemB.impartType == it.impartType
)
return itemB.impartNo == it.impartNo && itemB.impartType == it.impartType
})
if (showSubLst && showSubLst.length > 0) {
@@ -312,10 +295,6 @@ export default {
let params = {
entryType: 'CUSTOMER_ITEM',
ebizItemDtoLst: {}
// userModel: {
// //线上去掉
// mobile: '13000000000'
// }
}
params.ebizItemDtoLst = that.impartDTOS
saveOrUpdateInfo(params).then(res => {
@@ -326,8 +305,6 @@ export default {
extra: {
url: location.origin + '/#/agentEenter/signContract',
pullRefresh: '1'
// forbidSwipeBack: '1',
// backToFirst: '1'
},
routerInfo: {
path: '/agentEenter/signContract'

View File

@@ -40,8 +40,6 @@
@click="toSelect('1')"
required
/>
<!-- <van-field :value="census" label="户籍" name="户籍" v-validate="'required'" right-icon="arrow" placeholder="请选择" @click="censusShow = true" /> -->
<!-- <van-field v-model="userInfo.homeProvince" label="户口所在地" name="户口所在地" v-validate="'required'" placeholder="请输入" /> -->
<van-field
:value="userInfo.rgtAddress | idToText('rsnativePlace')"
label="户口所在地"
@@ -54,18 +52,7 @@
maxlength="20"
required
/>
<!-- <van-field v-model="userInfo.title" label="职称" name="职称" v-validate="'required'" placeholder="请输入" required /> -->
<van-field v-model="userInfo.title" label="职称" name="职称" placeholder="请输入" />
<!-- <van-field
:value="userInfo.health | idToText('rshealthCondition')"
label="健康状况"
name="健康状况"
v-validate="'required'"
readonly
right-icon="arrow"
placeholder="请选择"
@click="toSelect('3')"
/> -->
<van-field
:value="userInfo.marriage | idToText('rsmarriage')"
label="婚姻状况"
@@ -105,18 +92,14 @@
label="所学专业"
name="所学专业"
placeholder="请输入"
v-validate="Number(userInfo.degree) == 11 || Number(userInfo.degree) == 10 || Number(userInfo.degree) <= 4 ? 'required' : ''"
:required="isDegreeRequired(userInfo.degree) === 'required'"
v-validate="isDegreeRequired(userInfo.degree)"
clearable
/>
<!-- <van-field v-model="userInfo.discipline" label="所学专业" name="所学专业" placeholder="请输入" v-validate="'required'" required clearable /> -->
<van-field v-model="userInfo.mobile" label="手机" name="手机" required readonly />
<van-field :value="userInfo.idType | idToText('idType')" v-validate="'required'" label="证件类型" name="证件类型" required readonly />
<!-- <van-field v-model="userInfo.idNo" v-validate="'required|idNo'" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable> -->
<van-field v-model="userInfo.idNo" label="证件号码" readonly>
<!-- <van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button> -->
</van-field>
<van-field v-model="userInfo.idNo" label="证件号码" readonly />
<van-field v-model="userInfo.address" label="联系地址" name="联系地址" placeholder="请输入" v-validate="'required'" required clearable />
<!-- <van-field v-model="userInfo.zip" label="邮政编码" name="邮政编码" placeholder="请输入" v-validate="'required|zipCode'" required clearable /> -->
<van-field v-model="userInfo.zip" label="邮政编码" name="邮政编码" placeholder="请输入" v-validate="'zipCode'" clearable />
<van-field
placeholder="请选择"
@@ -139,7 +122,7 @@
v-validate="'required'"
@click="areaShow = true"
/>
<van-field v-model="bankJoint" readonly label="联行号" name="联行号" right-icon="arrow" placeholder="请选择" @click="isBankListShow = true" />
<van-field v-model="bankJoint" readonly label="网点名称" name="网点名称" right-icon="arrow" placeholder="请选择" @click="isBankListShow = true" />
<van-field v-model="userInfo.accountName" label="开户姓名" name="开户姓名" placeholder="请输入" v-validate="'required'" required clearable />
<van-field
v-model="userInfo.bankCode"
@@ -173,16 +156,6 @@
v-validate="'onlyInteger'"
clearable
/>
<!-- <van-field
v-model="userInfo.perationPeriod"
type="digit"
label="从业年限"
name="从业年限"
placeholder="请输入整数"
v-validate="'required|onlyInteger'"
required
clearable
/> -->
<van-field v-model="userInfo.oldCompany" label="原工作单位" name="原工作单位" placeholder="请输入" required v-validate="'required'" clearable />
<van-field
:value="userInfo.oldOccupation | idToText('oldOccupation')"
@@ -233,8 +206,8 @@
right-icon="arrow"
placeholder="请选择"
@click="toSelect('13')"
label="职级"
name="职级"
label="拟聘职级"
name="拟聘职级"
readonly
required
v-validate="'required'"
@@ -287,12 +260,9 @@
</van-dialog>
<!--开户银行选择-->
<SelectBankName :inputShow="inputShow" :listShow.sync="islistShow" :operateType="'enter_bank_type'" @getBank="getBank"></SelectBankName>
<van-popup v-model="areaShow" position="bottom">
<van-area :area-list="areaList" :columns-num="2" value="110101" @confirm="setBankArea($event)" @cancel="areaShow = false" />
</van-popup>
<!-- 联行号选择 -->
<van-popup v-model="isBankListShow" position="bottom">
<van-picker show-toolbar :columns="computedBankList" @confirm="setBankNum($event)" @cancel="isBankListShow = false" />
<van-picker show-toolbar :columns="bankJointNames" @confirm="setBankNum" @cancel="isBankListShow = false" />
</van-popup>
</div>
</template>
@@ -309,7 +279,7 @@ import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
import RsTop from '@/components/ebiz/agentEenter/RsTop'
import { saveOrUpdateInfo, agentAll } from '@/api/ebiz/agentEenter/agentEenter.js'
import { saveOrUpdateInfo, agentAll, getBankJoints } from '@/api/ebiz/agentEenter/agentEenter.js'
import { idToData } from '@/views/ebiz/customer/js/verification'
import SelectBankName from '@/components/ebiz/account/SelectBankName'
import { getChildBank, getBankName } from '@/components/ebiz/account/getBankName'
@@ -327,7 +297,6 @@ import {
getCode,
effectiveDataTypeChange
} from './js/methods'
import bankListJson from './js/bankList.js'
export default {
name: 'insuredInfo',
@@ -356,9 +325,8 @@ export default {
return {
bankJoint: '',
bankChild: [],
computedBankList: [],
bankJointsList: [],
isBankListShow: false,
bankListJson,
inputShow: false, //模糊查询功能
islistShow: false, //选择银行弹窗
bankList: [], //银行名称列表
@@ -463,6 +431,15 @@ export default {
}
}
},
computed: {
bankJointNames() {
const names = []
this.bankJointsList.forEach(item => {
names.push(item.banknames)
})
return names
}
},
created() {
this.getBankList()
},
@@ -472,32 +449,24 @@ export default {
this.agentAll()
},
watch: {
code: {
handler: function() {
this.bankJoint = ''
let bank = this.bankListJson.find(item => {
return item.code === this.code.trim()
})
if (bank) {
this.bankChild = bank.child
const bankNames = []
for (let bank of bank.child) {
bankNames.push(bank.name)
}
this.computedBankList = bankNames
} else {
this.computedBankList = ['暂无数据']
}
code() {
if (this.userInfo.bankCity) {
this.queryBankJoints()
}
}
},
methods: {
isDegreeRequired(degree) {
degree = Number(degree)
if (degree === 11 || degree === 10 || degree <= 4) return 'required'
return ''
},
setBankNum(bankJoint) {
this.isBankListShow = false
this.bankJoint = bankJoint
for (let name of this.bankChild) {
if (name.name === bankJoint) {
this.userInfo.bankJoint = name.code
this.isBankListShow = false
for (let name of this.bankJointsList) {
if (name.banknames === bankJoint) {
this.userInfo.bankJoint = name.bankjoint
return
}
}
@@ -509,6 +478,30 @@ export default {
this.userInfo.bankCity = city.code
this.areaName = this.userInfo.bankAddress
this.areaShow = false
this.queryBankJoints()
},
async queryBankJoints() {
let param = {
bankcode: this.code,
citycode: this.userInfo.bankCity.slice(0, 4)
}
this.bankJointsList.splice(0)
let res = await getBankJoints(param)
if (res.result === '0') {
if (!res.content.length) {
param.citycode = this.userInfo.bankProvince.slice(0, 4)
let res = await getBankJoints(param)
if (res.result === '0') {
this.bankJointsList.push(...res.content)
} else {
this.$toast(res.resultMessage)
}
} else {
this.bankJointsList.push(...res.content)
}
} else {
this.$toast(res.resultMessage)
}
},
// 获取银行卡列表
getBankList() {
@@ -542,6 +535,7 @@ export default {
if (res.result == '0') {
this.$toast.clear()
this.userInfo = res.content.ebizEnterCustomerDto
this.bankCode = this.userInfo.bankCode
this.ebiz_referrer = res.content.ebizReferrerDto
if (this.userInfo.idType == '1') {
this.effectiveDateTypeAble = idToData(this.userInfo.idNo).age < 45
@@ -623,13 +617,9 @@ export default {
if (this.userInfo.name != this.userInfo.accountName) {
return this.$toast('姓名与开户名要一致')
}
if (
//学历为初中、小学、其他、文盲阻断入司
Number(this.userInfo.degree) == 13 ||
Number(this.userInfo.degree) == 12 ||
Number(this.userInfo.degree) == 8 ||
Number(this.userInfo.degree) == 6
) {
const degree = Number(this.userInfo.degree)
// 学历为初中、小学、其他、文盲阻断入司
if (degree == 13 || degree == 12 || degree == 8 || degree == 6) {
return this.$toast('您的学历不符合入司要求,不允许入司。')
}
this.bankCodeConfirm()
@@ -641,7 +631,7 @@ export default {
save() {
let data = {
entryType: 'CUSTOMER_BASE',
ebizEnterCustomerDto: this.userInfo
ebizEnterCustomerDto: { ...this.userInfo, isRevoke: 0 }
}
saveOrUpdateInfo(data).then(res => {
if (res.result == '0') {
@@ -679,10 +669,6 @@ export default {
getCode() {
getCode(this, '1')
},
//证件扫描
// goScan() {
// this.isScan = true
// },
//长期状态改变时
effectiveDataTypeChange(val) {
if (val) {

View File

@@ -16,17 +16,6 @@
@click="toSelect('1')"
required
/>
<!-- <van-field
:value="userInfo.type | idToText('classification')"
v-validate="'required'"
readonly
label="类别"
name="类别"
right-icon="arrow"
placeholder="请选择"
@click="toSelect('2')"
required
/> -->
<van-field :value="userInfo.type | idToText('classification')" v-validate="'required'" readonly label="类别" name="类别" disabled />
<van-field label="姓名" type="text" name="姓名" placeholder="请输入" v-validate="'required|name'" clearable v-model="userInfo.name" required />
<select-radio :radios="sexRadio" label="性别" name="性别" v-validate="'required'" required :value.sync="userInfo.sex"></select-radio>
@@ -43,8 +32,6 @@
/>
<van-field label="单位" type="text" name="单位" placeholder="请输入" clearable v-model="userInfo.company" />
<van-field label="家庭地址" type="text" name="家庭地址" placeholder="请输入" clearable v-model="userInfo.homeAdress" />
<!-- <van-field label="单位" type="text" name="单位" placeholder="请输入" v-validate="'required'" clearable v-model="userInfo.company" required /> -->
<!-- <van-field label="家庭地址" type="text" name="家庭地址" placeholder="请输入" v-validate="'required'" clearable v-model="userInfo.homeAdress" required /> -->
<van-field
v-model="userInfo.mobile"
label="手机号码"
@@ -146,10 +133,7 @@ export default {
},
//信息返显
agentAll() {
let that = this
let data = {
// userModel: { mobile: '13000000000' }, //线上去掉
}
let data = {}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -157,9 +141,9 @@ export default {
message: '加载中……'
})
agentAll(data).then(res => {
that.$toast.clear()
this.$toast.clear()
if (res.content.ebizGuarantorDto.length != 0) {
that.userInfo = res.content.ebizGuarantorDto
this.userInfo = res.content.ebizGuarantorDto
//性别返显
if (res.content.ebizGuarantorDto.sex == null) {
this.userInfo.sex = '0'
@@ -191,11 +175,9 @@ export default {
this.popupShow = false
if (this.pickerType == '1') {
this.userInfo.relation = value.id
// this.$forceUpdate()
}
if (this.pickerType == '2') {
this.userInfo.type = value.id
// this.$forceUpdate()
}
},
// 下一步
@@ -221,8 +203,7 @@ export default {
})
},
save() {
let that = this
that.$toast.loading({
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
@@ -230,12 +211,11 @@ export default {
})
let params = {
entryType: 'CUSTOMER_GUARANTOR',
// userModel: { mobile: '13000000000' }, //线上去掉
ebizGuarantorDto: {}
}
params.ebizGuarantorDto = that.userInfo
params.ebizGuarantorDto = this.userInfo
saveOrUpdateInfo(params).then(res => {
that.$toast.clear()
this.$toast.clear()
if (res.result == '0') {
this.$jump({
flag: 'h5',

View File

@@ -224,13 +224,13 @@ export default {
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNo,
@@ -273,6 +273,7 @@ export default {
if (this.isWeixin) {
this.toAirSign('0', '担保人签名', '5', '1')
} else {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNoD,
@@ -327,12 +328,7 @@ export default {
this.goBack()
} else {
let data = {
// userModel: {
// mobile: '13000000000'
// },
baseEncryp: this.code == '0' ? this.base64 : this.base64D,
// otherBaseEncryp: this.base64D,
// baseEncryp: '123456',
ebizAgreementDto: this.appntSign
}
console.log('baseEncryp', data.baseEncryp)
@@ -367,24 +363,6 @@ export default {
}
})
}
// }
// else {
// if (this.isReSign == '1') {
// // 您已签名
// this.$toast('您已签名')
// }
// }
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
},
goBack() {
this.$jump({
@@ -411,14 +389,12 @@ export default {
watch: {
listenChange(val) {
let that = this
// if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
if (val.isOver == true && val.radio != '') {
that.isDisable = false
} else {
that.isDisable = true
}
// if (val.isOver == true && val.radio != '' && val.appntSign.signStateD !== '1') {
if (val.isOver == true && val.radio != '') {
that.isDisableD = false
} else {

View File

@@ -3,7 +3,6 @@
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <van-checkbox class="p15 pt20" v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险营销员健康告知书</span></van-checkbox> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
@@ -67,7 +66,6 @@ export default {
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
@@ -132,7 +130,6 @@ export default {
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -170,9 +167,6 @@ export default {
} else {
let that = this
let data = {
// userModel: {
// mobile: '13000000000'
// },
baseEncryp: that.base64,
ebizAgreementDto: that.appntSign
}
@@ -205,16 +199,6 @@ export default {
}
})
}
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
},
goBack() {
this.$jump({
@@ -242,7 +226,6 @@ export default {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '') {
// if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
@@ -253,10 +236,6 @@ export default {
} else {
that.isDisabledComplite = true
}
/*
if (val.appntSign.signState == '1') {
that.isDisable = true
}*/
}
},
beforeRouteLeave(to, from, next) {

View File

@@ -3,7 +3,6 @@
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <van-checkbox class="p15 pt20" v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险营销员健康告知书</span></van-checkbox> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
@@ -22,7 +21,7 @@
</template>
<script>
import { Field, Icon, Button, Radio, CheckboxGroup, NoticeBar, Dialog, RadioGroup } from 'vant'
import { Field, Icon, Button, Radio, NoticeBar, Dialog, RadioGroup } from 'vant'
import { agreementQuery, signAgreement } from '@/api/ebiz/agentEenter/agentEenter.js'
import config from '@/config'
import { filtSignList, getAgreementNextPagePath } from './js/methods'
@@ -68,7 +67,6 @@ export default {
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
@@ -83,11 +81,7 @@ export default {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
// userModel: { //线上去掉
// mobile: '13000000000'
// }
}
let data = {}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -138,7 +132,6 @@ export default {
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -176,11 +169,7 @@ export default {
} else {
let that = this
let data = {
// userModel: {
// mobile: '13000000000'
// },
baseEncryp: that.base64,
// baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
this.$toast.loading({
@@ -199,12 +188,10 @@ export default {
this.$jump({
flag: 'h5',
extra: {
// url: location.origin + `/#/agentEenter/Guarantee`
url: location.origin + `/#/agentEenter/${that.nextPagePath}?code=${that.code}`,
pullRefresh: that.nextPagePath == 'signContract' ? '1' : '0'
},
routerInfo: {
// path: `/agentEenter/Guarantee`
path: `/agentEenter/${that.nextPagePath}?code=${that.code}`
}
})
@@ -214,16 +201,6 @@ export default {
}
})
}
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
},
goBack() {
this.$jump({
@@ -251,7 +228,6 @@ export default {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '') {
// if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
@@ -263,10 +239,6 @@ export default {
} else {
that.isDisabledComplite = true
}
/*
if (val.appntSign.signState == '1') {
that.isDisable = true
}*/
}
},
beforeRouteLeave(to, from, next) {

View File

@@ -22,7 +22,7 @@
</template>
<script>
import { Field, Icon, Button, Radio, CheckboxGroup, NoticeBar, Dialog, RadioGroup } from 'vant'
import { Field, Icon, Button, Radio, NoticeBar, Dialog, RadioGroup } from 'vant'
import { agreementQuery, signAgreement } from '@/api/ebiz/agentEenter/agentEenter.js'
import config from '@/config'
import { filtSignList, getAgreementNextPagePath } from './js/methods'
@@ -46,19 +46,19 @@ export default {
isDisabledComplite: true,
// 是否签名 true 签名 false 未签名
isSign: false,
//推荐人信息
// 推荐人信息
agentInfo: {},
//协议list
// 协议list
signList: [],
//当前页面协议签署后下一页路由
// 当前页面协议签署后下一页路由
nextPagePath: '',
//签署人 0-申请人 1-担保人
// 签署人 0-申请人 1-担保人
code: '',
// 推荐人签名信息
appntSign: {
signState: '0'
},
//原生返回的加密包
// 原生返回的加密包
base64: ''
}
},
@@ -68,7 +68,6 @@ export default {
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
@@ -83,11 +82,7 @@ export default {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
// userModel: { //线上去掉
// mobile: '13000000000'
// }
}
let data = {}
that.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -138,13 +133,13 @@ export default {
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNo,
@@ -175,11 +170,7 @@ export default {
} else {
let that = this
let data = {
// userModel: { //线上去掉
// mobile: '13000000000'
// },
baseEncryp: that.base64,
// baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
that.$toast.loading({
@@ -198,12 +189,10 @@ export default {
this.$jump({
flag: 'h5',
extra: {
// url: location.origin + `/#/agentEenter/MessageLetterOfCommitment`
url: location.origin + `/#/agentEenter/${that.nextPagePath}?code=${that.code}`,
pullRefresh: that.nextPagePath == 'signContract' ? '1' : '0'
},
routerInfo: {
// path: `/agentEenter/MessageLetterOfCommitment`
path: `/agentEenter/${that.nextPagePath}?code=${that.code}`
}
})
@@ -213,15 +202,6 @@ export default {
}
})
}
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
},
goBack() {
this.$jump({
@@ -250,7 +230,6 @@ export default {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '') {
// if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
@@ -262,10 +241,6 @@ export default {
} else {
that.isDisabledComplite = true
}
/*
if (val.appntSign.signState == '1') {
that.isDisable = true
}*/
}
},
beforeRouteLeave(to, from, next) {

View File

@@ -3,7 +3,6 @@
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <van-checkbox class="p15 pt20" v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险营销员健康告知书</span></van-checkbox> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
@@ -22,7 +21,7 @@
</template>
<script>
import { Field, Icon, Button, Radio, CheckboxGroup, NoticeBar, Dialog, RadioGroup } from 'vant'
import { Field, Icon, Button, Radio, NoticeBar, Dialog, RadioGroup } from 'vant'
import { agreementQuery, signAgreement } from '@/api/ebiz/agentEenter/agentEenter.js'
import config from '@/config'
import { filtSignList, getAgreementNextPagePath } from './js/methods'
@@ -52,7 +51,6 @@ export default {
nextPagePath: '',
//签署人 0-申请人 1-担保人
code: '',
//推荐人信息
agentInfo: {},
// 推荐人签名信息
@@ -69,7 +67,6 @@ export default {
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
@@ -84,11 +81,7 @@ export default {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
// userModel: { //线上去掉
// mobile: '13000000000'
// }
}
let data = {}
that.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -146,6 +139,7 @@ export default {
loadingType: 'spinner',
message: '加载中……'
})
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNo,
@@ -176,11 +170,7 @@ export default {
} else {
let that = this
let data = {
// userModel: {
// mobile: '13000000000'
// },
baseEncryp: that.base64,
// baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
that.$toast.loading({
@@ -199,12 +189,10 @@ export default {
this.$jump({
flag: 'h5',
extra: {
// url: location.origin + `/#/agentEenter/IllegalLetterOfCommitment`
url: location.origin + `/#/agentEenter/${that.nextPagePath}?code=${that.code}`,
pullRefresh: that.nextPagePath == 'signContract' ? '1' : '0'
},
routerInfo: {
// path: `/agentEenter/IllegalLetterOfCommitment`
path: `/agentEenter/${that.nextPagePath}?code=${that.code}`
}
})
@@ -214,16 +202,6 @@ export default {
}
})
}
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
},
goBack() {
this.$jump({
@@ -250,7 +228,6 @@ export default {
watch: {
listenChange(val) {
let that = this
// if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
if (val.isOver == true && val.radio != '') {
that.isDisable = false
} else {
@@ -263,10 +240,6 @@ export default {
} else {
that.isDisabledComplite = true
}
/*
if (val.appntSign.signState == '1') {
that.isDisable = true
}*/
}
},
beforeRouteLeave(to, from, next) {

View File

@@ -3,7 +3,6 @@
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <div class="p15 pt20"><van-checkbox v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险销售人员代理合同</span></van-checkbox></div> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
@@ -52,7 +51,6 @@ export default {
nextPagePath: '',
//签署人 0-申请人 1-担保人
code: '',
//推荐人信息
agentInfo: {},
// 推荐人签名信息
@@ -84,11 +82,7 @@ export default {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
// userModel: { //线上去掉
// mobile: '13000000000'
// }
}
let data = {}
that.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -139,7 +133,6 @@ export default {
}
},
sign() {
let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -177,11 +170,7 @@ export default {
} else {
let that = this
let data = {
// userModel: { //线上去掉
// mobile: '13000000000'
// },
baseEncryp: that.base64,
// baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
that.$toast.loading({
@@ -200,14 +189,11 @@ export default {
this.$jump({
flag: 'h5',
extra: {
// url: location.origin + `/#/agentEenter/signContract`,
url: location.origin + `/#/agentEenter/${that.nextPagePath}?code=${that.code}`,
forbidSwipeBack: '1',
// backToFirst: '1',
pullRefresh: that.nextPagePath == 'signContract' ? '1' : '0'
},
routerInfo: {
// path: `/agentEenter/signContract`
path: `/agentEenter/${that.nextPagePath}?code=${that.code}`
}
})
@@ -244,7 +230,6 @@ export default {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '') {
// if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
@@ -255,10 +240,6 @@ export default {
} else {
that.isDisabledComplite = true
}
/*
if (val.appntSign.signState == '1') {
that.isDisable = true
}*/
}
},

View File

@@ -0,0 +1,184 @@
<template>
<div class="bg-white certificateWrapper pb30">
<div class="certificateList van-hairline--bottom" v-for="(info, index) in certificateList" :key="index">
<van-cell :title="key | columnNameMap" :value="value" v-for="(value, key, index) in info" :key="index" />
<van-cell class="deleteBtn">
<van-button size="mini" type="danger" @click="deleteCertificate(index)">删除</van-button>
</van-cell>
</div>
<div class="hr"></div>
<div class="addBtn" @click="addCertificate" v-if="certificateList.length < 2">
<van-icon name="plus" />
<span class="addText">添加执业证信息</span>
</div>
<div class="hr"></div>
<van-popup v-model="isAddInfoPanelShow" position="bottom" :style="{ height: '100vh' }">
<AddPractisingCertificate :checkRepeat="checkRepeat" @confirmCertificate="submit" @cancel="cancelAdd" />
</van-popup>
<van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000" :disabled="!certificateList.length">完成</van-button>
</div>
</template>
<script>
import { Popup, Dialog, Toast } from 'vant'
import AddPractisingCertificate from './AddPractisingCertificate.vue'
import { saveCertificateInfo } from '@/api/ebiz/agentEenter/agentEenter'
export default {
name: 'PractisingCertificate',
components: {
[Popup.name]: Popup,
[Dialog.name]: Dialog,
[Toast.name]: Toast,
AddPractisingCertificate
},
data() {
return {
id: this.$route.query.baseId,
isAddInfoPanelShow: false,
certificateList: []
}
},
methods: {
async nextStep() {
// 上传执业证信息
if (!this.certificateList.length) {
return this.$toast('请添加执业证信息')
}
let list = []
for (let certificate of this.certificateList) {
list.push({ ...certificate })
}
for (let item of list) {
item.certificate_type = item.certificate_type === '执业证' ? '1' : '2'
item.flag = item.flag === '是' ? 'Y' : 'N'
}
const params = {
id: Number(this.id),
certificate: list
}
const result = await saveCertificateInfo(params)
if (result.result === '0') {
Toast.success('添加成功')
setTimeout(() => {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/agentEenter/approve/ApproveList',
needRefresh: '1'
},
routerInfo: {
path: '/agentEenter/approve/ApproveList'
}
})
}, 1000)
} else {
this.$toast(result.resultMessage)
}
},
async deleteCertificate(index) {
try {
await this.$dialog.confirm({
className: 'dialog-delete',
title: '提示',
message: '确定删除这条信息吗?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
this.certificateList.splice(index, 1)
} catch (error) {
console.log(error)
}
},
checkRepeat(type) {
let certificate = this.certificateList.find(item => {
return item.certificate_type === type
})
return certificate ? false : true
},
addCertificate() {
this.isAddInfoPanelShow = true
},
cancelAdd() {
this.isAddInfoPanelShow = false
},
submit(data) {
this.certificateList.push(data)
this.isAddInfoPanelShow = false
}
},
filters: {
columnNameMap(val) {
switch (val) {
case 'certificate_type':
return '证书类型'
case 'certificate_no':
return '证书编号'
case 'unit':
return '批准单位'
case 'issuedate':
return '发放日期'
case 'startdate':
return '有效起期'
case 'enddate':
return '有效止期'
case 'flag':
return '是否有效'
default:
return '-'
}
}
}
}
</script>
<style lang="scss" scoped>
.certificateWrapper {
min-height: 90vh;
}
.certificateList {
padding: 10px;
background-color: #f5f5f5;
}
.hr {
border: 5px solid #fff;
}
.addBtn {
margin: auto;
display: flex;
justify-content: center;
align-items: center;
width: 90vw;
height: 20vh;
border: 1px dashed #999;
.van-icon {
color: #999;
}
.addText {
line-height: 32px;
margin-left: 2px;
color: #999;
}
}
/* 覆盖vant自带样式 */
::v-deep .deleteBtn > .van-cell__value {
text-align: right;
}
::v-deep .van-popup__close-icon {
top: 10px;
right: 10px;
}
::v-deep .van-cell__title {
flex: 3;
}
::v-deep .van-cell__value {
flex: 7;
}
</style>

View File

@@ -67,7 +67,8 @@ export default {
let data = {
ebizEnterCustomerDto: {
id: this.$route.query.basicId
}
},
flag: 1
}
revoke(data).then(res => {
if (res.result == 0) {

View File

@@ -17,7 +17,15 @@
<div class="w240 blue">{{ sign.name }}</div>
<div class="pt5 pb5">
<van-icon v-if="sign.signState === '1'" color="green" name="checked" />
<van-button v-if="sign.signState === '1' && agentInfo.audit == '04' " @click="changeSign(sign, '0')" v-no-more-click="1000" plain type="danger" round size="small" class="ml5"
<van-button
v-if="sign.signState === '1' && agentInfo.audit == '04'"
@click="changeSign(sign, '0')"
v-no-more-click="1000"
plain
type="danger"
round
size="small"
class="ml5"
>重新签名</van-button
>
</div>
@@ -40,7 +48,15 @@
<li class="flex" v-for="(sign, index) in guaranteeSignList" :key="index">
<div class="w240 blue">{{ sign.name }}</div>
<van-icon v-if="sign.signState === '1'" color="green" name="checked" />
<van-button v-if="sign.signState === '1' && agentInfo.audit == '04' " @click="changeSign(sign, '1')" v-no-more-click="1000" plain type="danger" round size="small" class="ml5"
<van-button
v-if="sign.signState === '1' && agentInfo.audit == '04'"
@click="changeSign(sign, '1')"
v-no-more-click="1000"
plain
type="danger"
round
size="small"
class="ml5"
>重新签名</van-button
>
</li>
@@ -49,9 +65,6 @@
</div>
<div v-if="!isInvalid" class="flex justify-content-a mb60 mt20">
<van-button v-if="!isWeixin" @click="share" v-no-more-click="1000" type="danger" size="normal" style="width:30%">分享</van-button>
<!-- <van-button v-if="!isWeixin" @click="share" v-no-more-click="1000" :disabled="isguranteeSubmit" type="danger" size="normal" style="width:30%"
>分享</van-button
> -->
<van-button @click="faceAuth('1')" v-no-more-click="1000" :disabled="isguranteeSubmit" type="danger" size="normal" style="width:30%">开始</van-button>
</div>
<div v-else class="ml15">操作时间已失效请联系销售人员</div>
@@ -140,9 +153,7 @@ export default {
//获取签署协议人信息
agreementQuery() {
let data = {
// userModel: { mobile: 13000000000 } //线上去掉
}
let data = {}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -175,7 +186,6 @@ export default {
})
})
},
//担保人分享到微信空签
share() {
// eslint-disable-next-line no-undef
@@ -191,14 +201,10 @@ export default {
},
getSignInvalid() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let data = {}
@@ -238,7 +244,7 @@ export default {
let data = {
sign: signInvalid
}
return new Promise((resolve, reject) => {
return new Promise(resolve => {
checkSignInvalid(data).then(res => {
if (res.result == '0') {
that.$toast.clear()
@@ -301,9 +307,7 @@ export default {
})
},
clickSubmit() {
let that = this
let data = {
// userModel: { mobile: 13000000000 }, //线上去掉
submitFlag: '1'
}
this.$toast.loading({

View File

@@ -2,12 +2,11 @@
<div class="detail-container">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">审批信息</p>
<van-cell-group v-for="item in approvalInfo" :key="item.examineApproveName" class="fs15">
<van-cell title="审批人" :value="approveName" />
<van-cell title="职级" :value="applGradeToText(item.examineApproveTitle, 'applGrade')" />
<van-cell title="所属团队" :value="item.examineApproveTeam" />
<!-- <van-cell title="审批结论" value="审批拒绝" /> -->
<van-cell title="审批结论" :value="item.exampleApproveStatus == '1' ? '审批拒绝' : '审批通过'" />
<van-cell title="退回原因" v-if="item.exampleApproveStatus == '1'" :value="item.examineApproveMsg" />
<van-cell title="审批人" :value="item.approveName" />
<van-cell title="审批节点" :value="item.approveNode | agentGradeFilter" />
<van-cell title="审批时间" :value="item.approveTime" />
<van-cell title="审批结论" :value="item.approveResult === '1' ? '审批通过' : '审批拒绝'" />
<van-cell title="退回原因" v-if="item.approveResult !== '1'" :value="item.approveMessage" />
</van-cell-group>
<van-cell-group class="pt10 pb80 fs15">
<van-radio-group v-model="approvalResult" v-validate="approvalResult === '' ? 'required' : ''" name="审批结论" class="pl15">
@@ -62,7 +61,6 @@ export default {
},
data() {
return {
// approvalInfo: [], //审批信息
approveName: decodeURI(this.$route.params.approveName), //当前审批人姓名
approvalInfo: [], //审批信息
approvalResult: '', //该审批人填写的审批结果
@@ -70,15 +68,6 @@ export default {
ebizEnterCustomerDto: {} //申请人信息
}
},
computed: {
applGradeToText() {
return (title, type) => {
const rs = this.$options.filters['idToText'](title, type)
if (rs) return rs
return ''
}
}
},
mounted() {
//获取审批信息
this.getOrderList()
@@ -95,7 +84,7 @@ export default {
agentAddApproval(params).then(res => {
if (res.result == '0') {
if (res.content) {
this.approvalInfo = res.content.ebizHisExamineApproveDtoList
this.approvalInfo = res.content.ebizApproveHistoryDTOS
this.ebizEnterCustomerDto = res.content.ebizEnterCustomerDto
}
}
@@ -146,29 +135,25 @@ export default {
idType: this.ebizEnterCustomerDto.idType,
name: this.ebizEnterCustomerDto.name
},
// userModel: {
// id: 'A864501000001', // 审批人工号
// name: '审批人一号', // 审批人姓名
// agentGrade: 'A201' // 审批人职级
// },
appntNode: this.$route.params.branchType == '1' ? appntNode : null,
result: this.approvalResult, //审批结果 0-拒绝审批 1-通过
msg: this.approvalMsg //审批原因
}
console.log('审批结果==', params)
agentAddApproval(params).then(res => {
console.log('res ==', res)
if (res.result == '0') {
console.log('审批结果提交===')
//跳转页面
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/approve/SubmitSuccess`,
url:
location.origin +
`/#/agentEenter/approve/SubmitSuccess?baseId=${baseId}&maintain=${this.$route.params.appntNode}&result=${this.approvalResult}`,
forbidSwipeBack: '1', //1:禁止右滑返回
backToFirst: '1' //1:点击左上角返回到入口第一个webview
},
routerInfo: { path: `/agentEenter/approve/SubmitSuccess` }
routerInfo: {
path: `/agentEenter/approve/SubmitSuccess?baseId=${baseId}&maintain=${this.$route.params.appntNode}&result=${this.approvalResult}`
}
})
} else {
this.$toast(res.resultMessage)
@@ -179,6 +164,33 @@ export default {
}
})
}
},
filters: {
agentGradeFilter(grage) {
if (grage && grage.length === 1) {
switch (grage) {
case '1':
return '营业区经理'
case '2':
return '三级机构负责人'
case '3':
return '人员管理岗'
default:
return '-'
}
} else {
if (grage) {
let level = Number(grage.charAt(1))
if (level < 3) {
return '推荐人'
} else {
return '主管'
}
} else {
return '-'
}
}
}
}
}
</script>

View File

@@ -1,12 +1,5 @@
<template>
<div class="sale-list-container pb50">
<!--<van-sticky>
<van-tabs v-model="appntNode" v-if="branchType === '1'" @change="change">
<van-tab title="营业区经理" name="1"> </van-tab>
<van-tab title="三级机构负责人" name="3"> </van-tab>
<van-tab title="人员管理岗" name="5"> </van-tab>
</van-tabs>
</van-sticky>-->
<div class="sale-list-container">
<van-list v-model="loading" :immediate-check="false" :finished="finished" :finished-text="finishedText" @load="loadMore">
<div v-if="isSuccess">
<div v-if="approveList.length > 0">
@@ -39,7 +32,19 @@
<span class="fs14 c-gray-dark ml20">{{ item.createdDate }}</span>
</div>
<div class="mt10 flex justify-content-fe">
<van-button round size="small" class="mr5" type="danger" @click="goApprove(item.baseId)">审批</van-button>
<van-button v-if="item.isRevoke == 0 && item.appntNode === 5" round size="small" class="mr5" type="danger" @click="revokeApply(item.baseId)"
>撤销申请</van-button
>
<van-button
v-if="item.examineApproveCode !== 'ZGZ'"
round
size="small"
class="mr5"
type="danger"
@click="goApprove(item.baseId, item.appntNode)"
>审批</van-button
>
<van-button v-else round size="small" class="mr5" type="danger" @click="goCertificate(item.baseId)">资格证维护</van-button>
</div>
</div>
</div>
@@ -50,13 +55,18 @@
<div class="fs17 mt40">暂无审批信息</div>
</div>
</van-list>
<van-dialog v-model="dialogShow" show-cancel-button cancel-button-color="#ee0a24" :before-close="checkData" @confirm="confirmRevoke" @cancel="cancelRevoke">
<p style="margin: 1em;">代理人身份证号:</p>
<van-field v-model="idNo" :maxlength="50" placeholder="请输入代理人身份证号" />
</van-dialog>
</div>
</template>
<script>
import { List, Tag, Tab, Sticky, Tabs } from 'vant'
import { agentAddApproval } from '@/api/ebiz/agentEenter/agentEenter.js'
import { List, Tag, Tab, Sticky, Tabs, Dialog, Field } from 'vant'
import { agentAddApproval, revoke } from '@/api/ebiz/agentEenter/agentEenter.js'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
import idNoCheck from '@/assets/js/utils/idNoCheck.js'
export default {
name: 'approveList',
@@ -65,116 +75,244 @@ export default {
[Tag.name]: Tag,
[Sticky.name]: Sticky,
[Tab.name]: Tab,
[Tabs.name]: Tabs
[Tabs.name]: Tabs,
[Dialog.name]: Dialog,
[Field.name]: Field
},
data() {
return {
dialogShow: false,
approveList: [], //审批列表信息
branchType: '', //是否是内勤审批 0-不是内勤审批 1-是内勤审批
approveName: '', //当前审批人姓名
appntNode: '', //审批级别 1区经理审批 3、三级机构审批 5、人员管理岗
appntNode: 0, //审批级别 1区经理审批 3、三级机构审批 5、人员管理岗
loading: false,
finished: false,
currentPage: 1, //当前页数
finishedText: '',
isSuccess: false
isSuccess: false,
basicId: 0,
idNo: '',
innerNodes: [
{ type: 1, isFinished: false },
{ type: 3, isFinished: false },
{ type: 5, isFinished: false }
],
isLoadMore: false
}
},
async mounted() {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
// 获取代理人信息
const res = await getAgentInfo({})
if (res.result == 0) {
this.branchType = /^N{1}/.test(res.branchType) ? '1' : '0' //res.branchType 以N打头的是内勤 其他是外勤
// res.branchType 以N打头的是内勤 其他是外勤
this.branchType = /^N{1}/.test(res.branchType) ? '1' : '0'
this.approveName = encodeURI(res.name)
if(this.branchType == '0'){
this.getOrderList({
pageNum: this.currentPage
})
// 0: 外勤
if (this.branchType == '0') {
this.getOuterDataList()
}
// 1: 内勤
else {
this.getInnerDataList()
}
} else {
return this.$toast(res.resultMessage)
}
},
methods: {
change(tab) {
this.currentPage = 1
this.approveList = []
this.finished = false
this.loading = true
this.finishedText = ''
this.getOrderList(
{
pageNum: this.currentPage
},
tab
)
},
loadMore() {
let pageInfo = {
pageNum: this.currentPage
// pageSize: this.pageSize
}
console.log('pageInfo==', pageInfo)
this.getOrderList(pageInfo, this.appntNode)
},
//初始化审批列表
getOrderList(pageInfo, appntNode = '1') {
let data = {
...pageInfo,
types: ['01'],
appntNode: this.branchType === '1' ? appntNode : null
}
agentAddApproval(data).then(res => {
this.$toast.clear()
if (res.result == '0') {
this.currentPage++
let resData = res.content.approveWaitPageInfo
if (resData.list.length > 0) {
this.isSuccess = true
resData.list.map(ele => {
this.approveList.push(ele)
})
if (resData.pageNum == resData.pages) {
this.finished = true
this.finishedText = '没有更多了'
}
this.loading = false
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'h5',
extra: {
title: '培训上岗',
forbidSwipeBack: 1,
url: location.origin + `/#/manpower/Training`
},
routerInfo: {
path: `/manpower/Training`,
type: '1'
}
} else {
this.finished = true
this.loading = false
this.finishedText = res.resultMessage
}
})
})
}
},
//审批
goApprove(baseId) {
console.log(baseId)
goCertificate(baseId) {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/approve/BasicInfo/${baseId}/${this.branchType}/${this.approveName}/${this.appntNode}`,
url: location.origin + `/#/agentEenter/practisingCertificateInfo?baseId=${baseId}`
},
routerInfo: {
path: `/agentEenter/practisingCertificateInfo?baseId=${baseId}`
}
})
},
// 外勤查询数据
async getOuterDataList() {
this.isLoadMore = true
let data = {
pageNum: this.currentPage,
types: ['01'],
appntNode: null
}
const res = await agentAddApproval(data)
this.$toast.clear()
if (res.result == '0') {
this.currentPage++
let resData = res.content.approveWaitPageInfo
if (resData && resData.list.length > 0) {
this.isSuccess = true
for (let data of resData.list) {
let exist = this.approveList.findIndex(item => {
return item.baseId === data.baseId
})
if (exist === -1) {
this.approveList.push(data)
}
}
if (resData.pageNum == resData.pages) {
this.finished = true
this.finishedText = '没有更多了'
}
this.loading = false
}
} else {
this.finished = true
this.loading = false
this.finishedText = res.resultMessage
}
this.isLoadMore = false
},
async getInnerDataList() {
this.isLoadMore = true
// 遍历内勤需要查询的节点
for (let node of this.innerNodes) {
let data = {
pageNum: this.currentPage,
types: ['01'],
appntNode: node.type
}
const res = await agentAddApproval(data)
if (res.result == '0') {
let resData = res.content.approveWaitPageInfo
if (resData && resData.list.length > 0) {
this.isSuccess = true
for (let data of resData.list) {
let exist = this.approveList.findIndex(item => {
return item.baseId === data.baseId
})
if (exist === -1) {
node.type === 5 ? (data.canAddCertificateInfo = true) : (data.canAddCertificateInfo = false)
data.appntNode = node.type
this.approveList.push(data)
}
}
this.loading = false
}
}
// 标记节点数据查询完成
else {
node.isFinished = true
this.loading = false
}
}
// 无数据将节点移除, 后续触发loadMore时不再查询该节点数据
this.innerNodes = this.innerNodes.filter(item => {
return !item.isFinished
})
if (!this.innerNodes.length) {
this.finished = true
this.finishedText = '没有更多了'
} else {
this.currentPage++
}
this.isLoadMore = false
},
async checkData(action, done) {
if (action === 'confirm') {
if (!idNoCheck.isIdno(this.idNo)) {
done(false)
return this.$toast('身份证号不正确')
} else {
//调后端撤销申请接口
const data = {
ebizEnterCustomerDto: {
id: this.basicId,
idNo: this.idNo
},
flag: 0
}
const res = await revoke(data)
if (res.result == 0) {
done()
this.idNo = ''
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/approve/SubmitSuccess`
},
routerInfo: {
path: `/agentEenter/approve/SubmitSuccess`
}
})
} else {
this.idNo = ''
done()
return this.$toast(res.resultMessage)
}
}
} else {
done()
}
},
confirmRevoke() {},
cancelRevoke() {
this.idNo = ''
},
revokeApply(basicId) {
this.dialogShow = true
this.basicId = basicId
},
loadMore() {
if (!this.isLoadMore) {
this.branchType === '1' ? this.getInnerDataList() : this.getOuterDataList()
}
},
//审批
goApprove(baseId, appntNode) {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/approve/BasicInfo/${baseId}/${this.branchType}/${this.approveName}/${appntNode}`,
pullRefresh: '1' //1:需要开启下拉刷新
},
routerInfo: { path: `/agentEenter/approve/BasicInfo/${baseId}/${this.branchType}/${this.approveName}/${this.appntNode}` }
routerInfo: { path: `/agentEenter/approve/BasicInfo/${baseId}/${this.branchType}/${this.approveName}/${appntNode}` }
})
}
},
watch: {
//审批级别变化时触发
// appntNode(val) {
// this.currentPage = 1
// this.finished = false
// this.loading = false
// let pageInfo = {
// pageNum: this.currentPage
// }
// this.approveList = []
// // this.getOrderList(pageInfo, val)
// this.loadMore()
// }
}
}
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
/deep/ .van-dialog {
background: #f2f2f2;
.van-cell {
width: auto;
padding: 0.5em 0;
margin: 0 1em;
.van-field__control {
text-indent: 1em;
}
}
.van-button {
background: #f2f2f2;
}
}
</style>

View File

@@ -1,15 +1,21 @@
<template>
<div class="detail-container">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
<div class="pb80">
<van-tabs v-model="active">
<van-tab title="详细信息" />
<van-tab title="图片资料" />
<van-tab title="协议文件" />
</van-tabs>
<div class="pb80" v-show="active === 0">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
<van-cell-group>
<van-cell title="姓名" :value="BasicInfoDTO.name" />
<van-cell title="性别" :value="BasicInfoDTO.sex == 0 ? '男' : '女'" />
<van-cell title="性别" :value="BasicInfoDTO.sex | genderFilter" />
<van-cell title="出生日期" :value="BasicInfoDTO.birthday" />
<van-cell title="是否二次入司" :value="enterSubmitResDTO.isflag | isSecond" />
<van-cell title="籍贯" :value="BasicInfoDTO.nativePlace | idToText('rsnativePlace')" />
<van-cell title="民族" :value="BasicInfoDTO.ethnic | idToText('nationType')" />
<van-cell title="户口所在地" :value="BasicInfoDTO.rgtAddress | idToText('rsnativePlace')" />
<van-cell title="职称" :value="BasicInfoDTO.title" />
<van-cell title="职称" :value="BasicInfoDTO.title | blankFilter" />
<van-cell title="婚姻状况" :value="BasicInfoDTO.marriage | idToText('rsmarriage')" />
<van-cell title="政治面貌" :value="BasicInfoDTO.political | idToText('rspoliticsStatus')" />
<van-cell title="学历" :value="BasicInfoDTO.degree | idToText('rsdegree')" />
@@ -19,30 +25,76 @@
<van-cell title="证件类型" :value="BasicInfoDTO.idType | idToText('idType')" />
<van-cell title="证件号码" :value="BasicInfoDTO.idNo" />
<van-cell title="联系地址" :value="BasicInfoDTO.address" />
<van-cell title="邮政编码" :value="BasicInfoDTO.zip" />
<van-cell title="开户银行" :value="BasicInfoDTO.bankName" />
<van-cell title="邮政编码" :value="BasicInfoDTO.zip | blankFilter" />
<van-cell title="开户银行" :value="BasicInfoDTO.bankName | bankNameFilter(bankList)" />
<van-cell title="开户地" :value="BasicInfoDTO.bankAddress" />
<van-cell title="开户姓名" :value="BasicInfoDTO.accountName" />
<van-cell title="银行卡号" :value="BasicInfoDTO.bankCode" />
<van-cell title="从业年限" :value="BasicInfoDTO.perationPeriod" />
<van-cell title="网点名称" :value="BasicInfoDTO.bankJoint | bankJointFilter(BasicInfoDTO.bankName, bankJointsList)" />
<van-cell title="从业年限" :value="BasicInfoDTO.perationPeriod | blankFilter" />
<van-cell title="原工作单位" :value="BasicInfoDTO.oldCompany" />
<van-cell title="原职业" :value="BasicInfoDTO.oldOccupation | idToText('oldOccupation')" />
<van-cell title="是否同业" :value="BasicInfoDTO.sameTrade | idToText('rshealthCondition')" />
<van-cell title="国籍/地区" :value="BasicInfoDTO.nationality | idToText('rsnativeplace')" />
<van-cell title="是否境外人员" :value="BasicInfoDTO.foreigners | idToText('rshealthCondition')" />
<van-cell title="职级" :value="BasicInfoDTO.applGrade | idToText('applGrade')" />
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">推荐人信息</p>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">行政信息</p>
<van-cell-group>
<van-cell title="推荐人工号" :value="referrerInfoDTO.referCode" />
<van-cell title="推荐人姓名" :value="referrerInfoDTO.referName" />
<van-cell title="营业组主管工号" :value="referrerInfoDTO.teamManger" />
<van-cell title="营业组主管姓名" :value="referrerInfoDTO.teamMangerName" />
<van-cell title="营业处经理工号" :value="referrerInfoDTO.officeManger" />
<van-cell title="营业处经理姓名" :value="referrerInfoDTO.officeMangerName" />
<van-cell title="总监工号" :value="referrerInfoDTO.areaManger" />
<van-cell title="总监姓名" :value="referrerInfoDTO.areaMangerName" />
<van-cell title="入司职级" :value="BasicInfoDTO.applGrade | idToText('applGrade')" />
<van-cell title="管理机构" :value="enterSubmitResDTO.managecom | blankFilter" />
<van-cell title="销售机构" :value="enterSubmitResDTO.branchName | blankFilter" />
<van-cell title="推荐人工号" :value="referrerInfoDTO.referCode | blankFilter" />
<van-cell title="推荐人姓名" :value="referrerInfoDTO.referName | blankFilter" />
<van-cell title="育成人工号" :value="enterSubmitResDTO.rear_agentcode | blankFilter" />
<van-cell title="育成人姓名" :value="enterSubmitResDTO.rear_name | blankFilter" />
<van-cell title="增部人工号" :value="enterSubmitResDTO.reardepart_agentcode | blankFilter" />
<van-cell title="增部人姓名" :value="enterSubmitResDTO.reardepart_name | blankFilter" />
<!-- <van-cell title="总监工号" :value="referrerInfoDTO.areaManger" />
<van-cell title="总监姓名" :value="referrerInfoDTO.areaMangerName" /> -->
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">担保人信息</p>
<van-cell-group v-for="item in guarantorList" :key="item.id" class="fs15">
<van-cell title="姓名" :value="item.name" />
<van-cell title="性别" :value="item.sex | genderFilter" />
<van-cell title="身份证号码" :value="item.idNo" />
<van-cell title="单位" :value="item.company | blankFilter" />
<van-cell title="家庭地址" :value="item.homeAdress | blankFilter" />
<van-cell title="手机" :value="item.mobile" />
<van-cell title="关系" :value="item.relation | guarantRelationFilter" />
<van-cell title="担保人类别" :value="item.type | relationFilter" />
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">家属信息</p>
<van-cell-group v-for="item in relationList" :key="item.id" class="fs15">
<van-cell title="姓名" :value="item.name | blankFilter" />
<van-cell title="性别" :value="item.sex | genderFilter" />
<van-cell title="出生日期" :value="item.birthday | blankFilter" />
<van-cell title="证件类型" :value="item.idType | idToText('idType') | blankFilter" />
<van-cell title="证件号码" :value="item.idNo | blankFilter" />
<van-cell title="关系" :value="item.relationType | familyRelationFilter" />
<van-cell title="联系电话" :value="item.mobile | blankFilter" />
</van-cell-group>
</div>
<div class="imgInfo bg-white" v-show="active === 1">
<div class="imgWrapper" v-for="(img, index) in imgs" :key="index">
<h4 class="van-hairline--bottom imgTitle">{{ img.title }}</h4>
<div class="imgList">
<van-grid :border="false">
<van-grid-item icon="photo-o" v-for="(photo, i) of img.list" :key="i">
<van-image width="100" height="100" @click="prevImg(photo.rgssUrl)" :src="handlePhoto(photo.rgssUrl)" />
</van-grid-item>
</van-grid>
</div>
</div>
</div>
<div class="protocolFile" v-show="active === 2">
<van-cell-group>
<van-cell is-link :title="protocol.name" v-for="(protocol, index) in agreements" :key="index" @click="handlePdf(protocol.thirdUrl)" />
</van-cell-group>
<van-popup v-model="pdfShow" position="bottom" :style="{ height: '100%' }">
<div style="display: flex; flex-direction: column; height: 100vh;">
<iframe style="width: 100vw; flex: 1;" :src="pdfUrl" frameborder="0"></iframe>
</div>
</van-popup>
</div>
<div class="flex justify-content-s bottom-btn bg-white">
<van-button class=" bottom0 left0" square type="danger" size="large" @click="nextStep" v-no-more-click="1000">下一步</van-button>
@@ -50,27 +102,113 @@
</div>
</template>
<script>
import { agentAddApproval } from '@/api/ebiz/agentEenter/agentEenter.js'
import { Cell, CellGroup, Button } from 'vant'
import config from '@/config'
import { agentAddApproval, getBankJoints } from '@/api/ebiz/agentEenter/agentEenter.js'
import { Cell, CellGroup, Button, Grid, GridItem, Image, ImagePreview } from 'vant'
import dictionary from '@/assets/js/utils/data-dictionary'
import { getBankList } from '@/api/ebiz/sale/sale'
export default {
name: 'approveInfo',
components: {
[Cell.name]: Cell,
[CellGroup.name]: CellGroup,
[Button.name]: Button
[Button.name]: Button,
[Grid.name]: Grid,
[GridItem.name]: GridItem,
[Image.name]: Image,
[ImagePreview.name]: ImagePreview
},
data() {
return {
bankList: [],
bankJointsList: [],
active: 0,
agreements: [],
medias: [],
imgs: {
myIdCard: {
title: '本人身份证',
list: []
},
bankCard: {
title: '银行卡',
list: []
},
otherIdCard: {
title: '担保人身份证',
list: []
},
education: {
title: '学历证明',
list: []
},
Bareheaded: {
title: '免冠照',
list: []
}
},
pdfBaseUrl: location.origin + '/pdfjs/web/viewer.html?file=',
pdfUrl: '',
pdfShow: false,
BasicInfoDTO: {}, //基本信息
referrerInfoDTO: {} //推荐人信息
referrerInfoDTO: {}, //推荐人信息
// 担保人信息
guarantorList: [],
// 家属信息
relationList: [],
// 行政信息
enterSubmitResDTO: {}
}
},
mounted() {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
//获取列表信息
this.getOrderList()
this.getBankList()
},
methods: {
async getBankList() {
let data = {
operateType: 'enter_bank_type'
}
const res = await getBankList(data)
if (res.result == '0') {
this.bankList = res.content
} else {
this.$toast(res.resultMessage)
}
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
if (!this.pdfShow) {
this.$jump({
flag: 'h5',
extra: {
title: '增员审批列表',
forbidSwipeBack: 1,
url: location.origin + `/#/agentEenter/approve/ApproveList`
},
routerInfo: {
path: `/agentEenter/approve/ApproveList`,
type: '1'
}
})
} else {
this.pdfShow = false
}
}
},
prevImg(url) {
let res = this.handlePhoto(url)
ImagePreview([res])
},
//获取列表信息
getOrderList() {
let BasicParams = {
@@ -85,14 +223,61 @@ export default {
if (res.result == '0') {
if (res.content) {
this.BasicInfoDTO = res.content.ebizEnterCustomerDto
if (this.BasicInfoDTO.bankName == '102') {
this.BasicInfoDTO.bankName = '工商银行'
}
localStorage.setItem('ebizEnterCustomerDto', this.BasicInfoDTO)
this.agreements = res.content.ebizEnterCustomerDto.agreements
this.medias = res.content.ebizEnterCustomerDto.ebizMediaDtoLst
this.guarantorList = res.content.ebizEnterCustomerDto.ebizGuarantorList
this.relationList = res.content.ebizEnterCustomerDto.ebizRelationDtoList
this.enterSubmitResDTO = res.content.enterSubmitResDTO ? res.content.enterSubmitResDTO : {}
this.classifyPhotos(this.medias)
this.referrerInfoDTO = res.content.ebizReferrerDto
}
}
})
},
classifyPhotos(photos) {
for (let photo of photos) {
// 本人身份证照片
if (photo.imageInfoType === '1' && photo.subBusinessType === '3') {
this.imgs.myIdCard.list.push(photo)
}
if (photo.imageInfoType === '2' && photo.subBusinessType === '3') {
this.imgs.myIdCard.list.push(photo)
}
// 担保人身份证照片
if (photo.imageInfoType === '1' && photo.subBusinessType === '4') {
this.imgs.otherIdCard.list.push(photo)
}
if (photo.imageInfoType === '2' && photo.subBusinessType === '4') {
this.imgs.otherIdCard.list.push(photo)
}
// 学历信息
if (photo.imageInfoType === '12') {
this.imgs.education.list.push(photo)
}
// 银行卡信息
if (photo.imageInfoType === '3') {
this.imgs.bankCard.list.push(photo)
}
// 免冠照
if (photo.imageInfoType === '13') {
this.imgs.Bareheaded.list.push(photo)
}
}
},
handlePhoto(url) {
let index = url.indexOf('images')
return this.$assetsUrl + url.substring(index)
},
handlePdf(url) {
this.pdfShow = true
let realUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${url}`)
this.pdfUrl = `${this.pdfBaseUrl}${realUrl}`
},
//下一步
nextStep() {
let baseId = this.$route.params.baseId // 代理人id
@@ -108,10 +293,111 @@ export default {
}
})
}
},
watch: {
'BasicInfoDTO.bankName': {
async handler() {
let param = {
bankcode: this.BasicInfoDTO.bankName,
citycode: this.BasicInfoDTO.bankCity.slice(0, 4)
}
this.bankJointsList.splice(0)
let res = await getBankJoints(param)
if (res.result === '0') {
if (!res.content.length) {
param.citycode = this.BasicInfoDTO.bankProvince.slice(0, 4)
let res = await getBankJoints(param)
if (res.result === '0') {
this.bankJointsList.push(...res.content)
} else {
this.$toast(res.resultMessage)
}
} else {
this.bankJointsList.push(...res.content)
}
} else {
this.$toast(res.resultMessage)
}
}
}
},
filters: {
guarantRelationFilter(val) {
for (let item of dictionary.guarantRelationType) {
if (item.id === val) {
return item.text
}
}
},
familyRelationFilter(val) {
for (let item of dictionary.relationType) {
if (item.id === val) {
return item.text
}
}
},
relationFilter(val) {
for (let item of dictionary.classification) {
if (item.id === val) {
return item.text
}
}
},
blankFilter(val) {
return val ? val : '-'
},
isSecond(val) {
return val ? (val.toUpperCase() === 'Y' ? '是' : '否') : '-'
},
bankNameFilter(val, bankList) {
for (let bank of bankList) {
if (bank.code === val) {
return bank.bankName
}
}
return '-'
},
genderFilter(val) {
if (!val) return '-'
return val === '0' ? '男' : '女'
},
bankJointFilter(bankJoint, bankName, bankJointsList) {
for (let joint of bankJointsList) {
if (joint.bankjoint === bankJoint) {
return joint.banknames
}
}
return '-'
}
}
}
</script>
<style lang="scss" scoped>
.detail-container {
.van-hairline--top-bottom::after {
border: none;
}
/deep/ .van-cell__title {
min-width: 40%;
}
/deep/ .van-cell__value {
text-align: left !important;
min-width: 60%;
}
}
.imgInfo {
margin-bottom: 50px;
}
.imgWrapper {
padding: 0 10px;
}
.imgTitle {
padding: 0.5em 0;
}
.detail-container {
.van-hairline--top-bottom::after {
border: none;

View File

@@ -1,76 +1,186 @@
<template>
<div class="record-detail-container">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
<div class="pb80">
<van-tabs v-model="active">
<van-tab title="详细信息" />
<van-tab title="图片资料" />
<van-tab title="协议文件" />
</van-tabs>
<div class="basicInfo" v-show="active === 0">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
<div class="pb50">
<van-cell-group>
<van-cell title="姓名" :value="basicInfoDTO.name" />
<van-cell title="性别" :value="basicInfoDTO.sex | genderFilter" />
<van-cell title="出生日期" :value="basicInfoDTO.birthday" />
<van-cell title="是否二次入司" :value="enterSubmitResDTO.isflag | isSecond" />
<van-cell title="籍贯" :value="basicInfoDTO.nativePlace | idToText('rsnativePlace')" />
<van-cell title="民族" :value="basicInfoDTO.ethnic | idToText('nationType')" />
<van-cell title="户口所在地" :value="basicInfoDTO.rgtAddress | idToText('rsnativePlace')" />
<van-cell title="职称" :value="basicInfoDTO.title | blankFilter" />
<van-cell title="婚姻状况" :value="basicInfoDTO.marriage | idToText('rsmarriage')" />
<van-cell title="政治面貌" :value="basicInfoDTO.political | idToText('rspoliticsStatus')" />
<van-cell title="学历" :value="basicInfoDTO.degree | idToText('rsdegree')" />
<van-cell title="毕业院校" :value="basicInfoDTO.school" />
<van-cell title="所学专业" :value="basicInfoDTO.discipline" />
<van-cell title="手机" :value="basicInfoDTO.mobile" />
<van-cell title="证件类型" :value="basicInfoDTO.idType | idToText('idType')" />
<van-cell title="证件号码" :value="basicInfoDTO.idNo" />
<van-cell title="联系地址" :value="basicInfoDTO.address" />
<van-cell title="邮政编码" :value="basicInfoDTO.zip | blankFilter" />
<van-cell title="开户银行" :value="basicInfoDTO.bankName | bankNameFilter(bankList)" />
<van-cell title="开户地" :value="basicInfoDTO.bankAddress" />
<van-cell title="开户姓名" :value="basicInfoDTO.accountName" />
<van-cell title="银行卡号" :value="basicInfoDTO.bankCode" />
<van-cell title="网点名称" :value="basicInfoDTO.bankJoint | bankJointFilter(basicInfoDTO.bankName, bankJointsList)" />
<van-cell title="从业年限" :value="basicInfoDTO.perationPeriod | blankFilter" />
<van-cell title="原工作单位" :value="basicInfoDTO.oldCompany" />
<van-cell title="原职业" :value="basicInfoDTO.oldOccupation | idToText('oldOccupation')" />
<van-cell title="是否同业" :value="basicInfoDTO.sameTrade | idToText('rshealthCondition')" />
<van-cell title="国籍/地区" :value="basicInfoDTO.nationality | idToText('rsnativeplace')" />
<van-cell title="是否境外人员" :value="basicInfoDTO.foreigners | idToText('rshealthCondition')" />
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">行政信息</p>
<van-cell-group>
<van-cell title="入司职级" :value="basicInfoDTO.applGrade | idToText('applGrade')" />
<van-cell title="管理机构" :value="enterSubmitResDTO.managecom | blankFilter" />
<van-cell title="销售机构" :value="enterSubmitResDTO.branchName | blankFilter" />
<van-cell title="推荐人工号" :value="referrerInfoDTO.referCode | blankFilter" />
<van-cell title="推荐人姓名" :value="referrerInfoDTO.referName | blankFilter" />
<van-cell title="育成人工号" :value="enterSubmitResDTO.rear_agentcode | blankFilter" />
<van-cell title="育成人姓名" :value="enterSubmitResDTO.rear_name | blankFilter" />
<van-cell title="增部人工号" :value="enterSubmitResDTO.reardepart_agentcode | blankFilter" />
<van-cell title="增部人姓名" :value="enterSubmitResDTO.reardepart_name | blankFilter" />
<!-- <van-cell title="业务总监经理代码" :value="referrerInfoDTO.areaManger" />
<van-cell title="业务总监经理姓名" :value="referrerInfoDTO.areaMangerName" /> -->
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">担保人信息</p>
<van-cell-group v-for="item in guarantorList" :key="item.id" class="fs15">
<van-cell title="姓名" :value="item.name" />
<van-cell title="性别" :value="item.sex | genderFilter" />
<van-cell title="身份证号码" :value="item.idNo" />
<van-cell title="单位" :value="item.company | blankFilter" />
<van-cell title="家庭地址" :value="item.homeAdress | blankFilter" />
<van-cell title="手机" :value="item.mobile" />
<van-cell title="关系" :value="item.relation | guarantRelationFilter" />
<van-cell title="担保人类别" :value="item.type | relationFilter" />
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">家属信息</p>
<van-cell-group v-for="item in relationList" :key="item.id" class="fs15">
<van-cell title="姓名" :value="item.name | blankFilter" />
<van-cell title="性别" :value="item.sex | genderFilter" />
<van-cell title="出生日期" :value="item.birthday | blankFilter" />
<van-cell title="证件类型" :value="item.idType | idToText('idType') | blankFilter" />
<van-cell title="证件号码" :value="item.idNo | blankFilter" />
<van-cell title="关系" :value="item.relationType | familyRelationFilter" />
<van-cell title="联系电话" :value="item.mobile | blankFilter" />
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">审批信息</p>
<van-cell-group v-for="item in approvalInfo" :key="item.examineApproveName" class="fs15">
<van-cell title="审批时间" :value="item.approveTime" />
<van-cell title="审批结论" :value="item.approveResult === '1' ? '审批通过' : '审批拒绝'" />
<van-cell v-if="item.approveResult !== '1'" title="退回原因" :value="item.approveMessage | blankFilter" />
</van-cell-group>
</div>
</div>
<div class="imgInfo bg-white" v-show="active === 1">
<div class="imgWrapper" v-for="(img, index) in imgs" :key="index">
<h4 class="van-hairline--bottom imgTitle">{{ img.title }}</h4>
<div class="imgList">
<van-grid :border="false">
<van-grid-item icon="photo-o" v-for="(photo, i) of img.list" :key="i">
<van-image @click="prevImg(photo.rgssUrl)" width="100" height="100" :src="handlePhoto(photo.rgssUrl)" />
</van-grid-item>
</van-grid>
</div>
</div>
</div>
<div class="protocolFile" v-show="active === 2">
<van-cell-group>
<van-cell title="姓名" :value="basicInfoDTO.name" />
<van-cell title="性别" :value="basicInfoDTO.sex == 0 ? '男' : '女'" />
<van-cell title="出生日期" :value="basicInfoDTO.birthday" />
<van-cell title="籍贯" :value="basicInfoDTO.nativePlace | idToText('rsnativePlace')" />
<van-cell title="民族" :value="basicInfoDTO.ethnic | idToText('nationType')" />
<van-cell title="户口所在地" :value="basicInfoDTO.rgtAddress | idToText('rsnativePlace')" />
<van-cell title="职称" :value="basicInfoDTO.title" />
<van-cell title="婚姻状况" :value="basicInfoDTO.marriage | idToText('rsmarriage')" />
<van-cell title="政治面貌" :value="basicInfoDTO.political | idToText('rspoliticsStatus')" />
<van-cell title="学历" :value="basicInfoDTO.degree | idToText('rsdegree')" />
<van-cell title="毕业院校" :value="basicInfoDTO.school" />
<van-cell title="所学专业" :value="basicInfoDTO.discipline" />
<van-cell title="手机" :value="basicInfoDTO.mobile" />
<van-cell title="证件类型" :value="basicInfoDTO.idType | idToText('idType')" />
<van-cell title="证件号码" :value="basicInfoDTO.idNo" />
<van-cell title="联系地址" :value="basicInfoDTO.address" />
<van-cell title="邮政编码" :value="basicInfoDTO.zip" />
<van-cell title="开户银行" :value="basicInfoDTO.bankName" />
<van-cell title="开户地" :value="basicInfoDTO.bankAddress" />
<van-cell title="开户姓名" :value="basicInfoDTO.accountName" />
<van-cell title="银行卡号" :value="basicInfoDTO.bankCode" />
<van-cell title="从业年限" :value="basicInfoDTO.perationPeriod" />
<van-cell title="原工作单位" :value="basicInfoDTO.oldCompany" />
<van-cell title="原职业" :value="basicInfoDTO.oldOccupation | idToText('oldOccupation')" />
<van-cell title="是否同业" :value="basicInfoDTO.sameTrade | idToText('rshealthCondition')" />
<van-cell title="国籍/地区" :value="basicInfoDTO.nationality | idToText('rsnativeplace')" />
<van-cell title="是否境外人员" :value="basicInfoDTO.foreigners | idToText('rshealthCondition')" />
<van-cell title="职级" :value="basicInfoDTO.applGrade | idToText('applGrade')" />
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">推荐人信息</p>
<van-cell-group>
<van-cell title=" 推荐人代码" :value="referrerInfoDTO.referCode" />
<van-cell title="推荐人姓名" :value="referrerInfoDTO.referName" />
<van-cell title="营业组主管代码" :value="referrerInfoDTO.teamManger" />
<van-cell title="营业组主管姓名" :value="referrerInfoDTO.teamMangerName" />
<van-cell title="营业部经理代码" :value="referrerInfoDTO.officeManger" />
<van-cell title="营业部经理姓名" :value="referrerInfoDTO.officeMangerNam" />
<van-cell title="业务总监经理代码" :value="referrerInfoDTO.areaManger" />
<van-cell title="业务总监经理姓名" :value="referrerInfoDTO.areaMangerName" />
</van-cell-group>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">审批信息</p>
<van-cell-group v-for="item in approvalInfo" :key="item.examineApproveName" class="fs15">
<van-cell title="审批时间" :value="item.modifiedDate" />
<van-cell title="审批结论" :value="item.exampleApproveStatus == '1' ? '审批拒绝' : '审批通过'" />
<van-cell v-if="item.exampleApproveStatus == '1'" title="退回原因" :value="item.examineApproveMsg" />
<van-cell is-link :title="protocol.name" v-for="(protocol, index) in agreements" :key="index" @click="handlePdf(protocol.thirdUrl)" />
</van-cell-group>
<van-popup v-model="pdfShow" position="bottom" :style="{ height: '100%' }">
<div style="display: flex; flex-direction: column; height: 100vh;">
<iframe style="width: 100vw; flex: 1;" :src="pdfUrl" frameborder="0"></iframe>
</div>
</van-popup>
</div>
</div>
</template>
<script>
import { agentAddApproval } from '@/api/ebiz/agentEenter/agentEenter.js'
import { Cell, CellGroup, Button } from 'vant'
import config from '@/config'
import { agentAddApproval, getBankJoints } from '@/api/ebiz/agentEenter/agentEenter.js'
import { Cell, CellGroup, Button, Tab, Tabs, Image, Grid, GridItem, Popup, ImagePreview } from 'vant'
import dictionary from '@/assets/js/utils/data-dictionary'
import { getBankList } from '@/api/ebiz/sale/sale'
export default {
name: 'recordDetail',
components: {
[Cell.name]: Cell,
[CellGroup.name]: CellGroup,
[Button.name]: Button
[Button.name]: Button,
[Tab.name]: Tab,
[Tabs.name]: Tabs,
[Image.name]: Image,
[Grid.name]: Grid,
[GridItem.name]: GridItem,
[Popup.name]: Popup,
[ImagePreview.name]: ImagePreview
},
data() {
return {
basicInfoDTO: {}, //基本信息
referrerInfoDTO: {}, //推荐人信息
approvalInfo: [] //审批信息
bankList: [],
bankJointsList: [],
active: 0,
// 基本信息
basicInfoDTO: {},
// 推荐人信息
referrerInfoDTO: {},
// 行政信息
enterSubmitResDTO: {},
// 审批信息
approvalInfo: [],
// 担保人信息
guarantorList: [],
// 家属信息
relationList: [],
agreements: [],
medias: [],
pdfBaseUrl: location.origin + '/pdfjs/web/viewer.html?file=',
pdfUrl: '',
pdfShow: false,
imgs: {
myIdCard: {
title: '本人身份证',
list: []
},
bankCard: {
title: '银行卡',
list: []
},
otherIdCard: {
title: '担保人身份证',
list: []
},
education: {
title: '学历证明',
list: []
},
Bareheaded: {
title: '免冠照',
list: []
}
}
}
},
async mounted() {
mounted() {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
let basicParams = {
types: ['02', '03'],
ebizEnterCustomerDto: {
@@ -78,7 +188,7 @@ export default {
}
}
//获取列表信息
await this.getOrderList(basicParams, '1')
this.getOrderList(basicParams, '1')
let { idNo, idType, name } = this.basicInfoDTO
let param = {
types: ['04'],
@@ -89,39 +199,199 @@ export default {
name
}
}
await this.getOrderList(param, '2')
this.getOrderList(param, '2')
this.getBankList()
},
methods: {
//获取列表信息
getOrderList(params, code) {
return new Promise((resolve, reject) => {
//获取代理人信息、推荐人信息
agentAddApproval(params).then(res => {
if (res.result == '0') {
if (res.content) {
if (code == '1') {
this.basicInfoDTO = res.content.ebizEnterCustomerDto
this.referrerInfoDTO = res.content.ebizReferrerDto
if (this.basicInfoDTO.bankName == '102') {
this.basicInfoDTO.bankName = '工商银行'
}
}
// 需要新的接口文档
if (code == '2') {
this.approvalInfo = res.content.ebizHisExamineApproveDtoList
}
async getBankList() {
let data = {
operateType: 'enter_bank_type'
}
const res = await getBankList(data)
if (res.result == '0') {
this.bankList = res.content
} else {
this.$toast(res.resultMessage)
}
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
if (!this.pdfShow) {
this.$jump({
flag: 'h5',
extra: {
title: '审批记录',
forbidSwipeBack: 1,
url: location.origin + `/#/agentEenter/approve/recordList`
},
routerInfo: {
path: `/agentEenter/approve/recordList`,
type: '1'
}
resolve()
} else {
this.$toast.resultMessage
})
} else {
this.pdfShow = false
}
}
},
prevImg(url) {
let res = this.handlePhoto(url)
ImagePreview([res])
},
//获取列表信息
async getOrderList(params, code) {
let res = await agentAddApproval(params)
if (res.result == '0') {
if (res.content) {
if (code == '1') {
this.basicInfoDTO = res.content.ebizEnterCustomerDto
this.referrerInfoDTO = res.content.ebizReferrerDto
this.agreements = res.content.ebizEnterCustomerDto.agreements
this.medias = res.content.ebizEnterCustomerDto.ebizMediaDtoLst
this.guarantorList = res.content.ebizEnterCustomerDto.ebizGuarantorList
this.relationList = res.content.ebizEnterCustomerDto.ebizRelationDtoList
this.enterSubmitResDTO = res.content.enterSubmitResDTO
this.classifyPhotos(this.medias)
}
})
})
// 需要新的接口文档
if (code == '2') {
this.approvalInfo = res.content.ebizApproveHistoryDTOS
}
}
} else {
this.$toast.resultMessage
}
},
classifyPhotos(photos) {
for (let photo of photos) {
// 本人身份证照片
if (photo.imageInfoType === '1' && photo.subBusinessType === '3') {
this.imgs.myIdCard.list.push(photo)
}
if (photo.imageInfoType === '2' && photo.subBusinessType === '3') {
this.imgs.myIdCard.list.push(photo)
}
// 担保人身份证照片
if (photo.imageInfoType === '1' && photo.subBusinessType === '4') {
this.imgs.otherIdCard.list.push(photo)
}
if (photo.imageInfoType === '2' && photo.subBusinessType === '4') {
this.imgs.otherIdCard.list.push(photo)
}
// 学历信息
if (photo.imageInfoType === '12') {
this.imgs.education.list.push(photo)
}
// 银行卡信息
if (photo.imageInfoType === '3') {
this.imgs.bankCard.list.push(photo)
}
// 免冠照
if (photo.imageInfoType === '13') {
this.imgs.Bareheaded.list.push(photo)
}
}
},
handlePhoto(url) {
let index = url.indexOf('images')
return this.$assetsUrl + url.substring(index)
},
handlePdf(url) {
this.pdfShow = true
this.pdfUrl = `${this.pdfBaseUrl}${encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${url}`)}`
}
},
watch: {
'basicInfoDTO.bankName': {
async handler() {
let param = {
bankcode: this.basicInfoDTO.bankName,
citycode: this.basicInfoDTO.bankCity.slice(0, 4)
}
this.bankJointsList.splice(0)
let res = await getBankJoints(param)
if (res.result === '0') {
if (!res.content.length) {
param.citycode = this.basicInfoDTO.bankProvince.slice(0, 4)
let res = await getBankJoints(param)
if (res.result === '0') {
this.bankJointsList.push(...res.content)
} else {
this.$toast(res.resultMessage)
}
} else {
this.bankJointsList.push(...res.content)
}
} else {
this.$toast(res.resultMessage)
}
}
}
},
filters: {
guarantRelationFilter(val) {
for (let item of dictionary.guarantRelationType) {
if (item.id === val) {
return item.text
}
}
},
familyRelationFilter(val) {
for (let item of dictionary.relationType) {
if (item.id === val) {
return item.text
}
}
},
relationFilter(val) {
for (let item of dictionary.classification) {
if (item.id === val) {
return item.text
}
}
},
blankFilter(val) {
return val ? val : '-'
},
isSecond(val) {
return val ? (val.toUpperCase() === 'Y' ? '是' : '否') : '-'
},
genderFilter(val) {
if (!val) return '-'
return val === '0' ? '男' : '女'
},
bankNameFilter(val, bankList) {
for (let bank of bankList) {
if (bank.code === val) {
return bank.bankName
}
}
return '-'
},
bankJointFilter(bankJoint, bankName, bankJointsList) {
for (let joint of bankJointsList) {
if (joint.bankjoint === bankJoint) {
return joint.banknames
}
}
return '-'
}
}
}
</script>
<style lang="scss" scoped>
.imgWrapper {
padding: 0 10px;
}
.imgTitle {
padding: 0.5em 0;
}
.detail-container {
.van-hairline--top-bottom::after {
border: none;

View File

@@ -1,5 +1,5 @@
<template>
<div class="record-list-container pb50">
<div class="record-list-container pb20 bg-white">
<van-list v-model="loading" :immediate-check="false" :finished="finished" :finished-text="finishedText" @load="loadMore">
<div v-if="isSuccess">
<div v-if="approveList.length > 0">
@@ -47,9 +47,8 @@
</template>
<script>
import { List, Tag, Sticky, Toast, Dialog } from 'vant'
import { List, Tag, Sticky, Dialog } from 'vant'
import { agentAddApproval } from '@/api/ebiz/agentEenter/agentEenter.js'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
export default {
name: 'approveList',
@@ -72,25 +71,38 @@ export default {
}
},
async mounted() {
document.getElementsByTagName('body')[0].classList.add('bg-white')
const res = await getAgentInfo({})
if (res.result == 0) {
this.branchType = /^N{1}/.test(res.branchType) ? '1' : '0' //res.branchType 以N打头的是内勤 其他是外勤
if(this.branchType == '0'){
this.loadMore()
}
} else {
return this.$toast(res.resultMessage)
}
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
this.loadMore()
},
destroyed() {
document.getElementsByTagName('body')[0].classList.remove('bg-white')
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'h5',
extra: {
title: '培训上岗',
forbidSwipeBack: 1,
url: location.origin + `/#/manpower/Training`
},
routerInfo: {
path: `/manpower/Training`,
type: '1'
}
})
}
},
loadMore() {
let pageInfo = {
pageNum: this.currentPage
// pageSize: this.pageSize
}
this.getOrderList(pageInfo)
},
@@ -140,7 +152,7 @@ export default {
.record-list {
border-bottom: 1px solid #ebedf0;
border-top: 1px solid #ebedf0;
margin: 15px 0;
margin-bottom: 15px;
.justify-content-fe {
border-top: 1px solid #ebedf0;
}

View File

@@ -1,8 +1,19 @@
<template>
<div class="payResult-container w100h100r">
<div class="payResult-header flex justify-content-fs align-items-c p80 box-sizing-bb w100h100r bg-white flex-direction-colunm">
<img src="@/assets/images/u20257.png" class="payResult-img mb15 pt60" alt />
<div class="payResult-container bg-white">
<div class="payResult-header flex justify-content-fs align-items-c box-sizing-bb w100h100r bg-white flex-direction-colunm">
<img src="@/assets/images/u20257.png" class="payResult-img mb15 " alt />
<h3 class="mb10">提交成功!</h3>
<van-button
v-if="$route.query.result === '1' && $route.query.maintain === '5'"
slot="button"
class="mt20"
size="small"
plain
type="danger"
round
@click="fillInPractisingCertificate"
>填写执业证信息</van-button
>
<van-button slot="button" class="mt20" size="small" plain type="danger" round @click="goBack">返回</van-button>
</div>
</div>
@@ -13,13 +24,44 @@ export default {
return {}
},
mounted() {
document.body.style.backgroundColor = '#fff'
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'h5',
extra: {
title: '培训上岗',
forbidSwipeBack: 1,
url: location.origin + `/#/manpower/Training`
},
routerInfo: {
path: `/manpower/Training`,
type: '1'
}
})
}
},
fillInPractisingCertificate() {
let baseId = this.$route.query.baseId
this.$jump({
flag: 'h5',
extra: {
url: `${location.origin}/#/agentEenter/practisingCertificateInfo?baseId=${baseId}`
},
routerInfo: {
path: `/agentEenter/practisingCertificateInfo?baseId=${baseId}`
}
})
},
goBack() {
this.$jump({
flag: 'h5',
@@ -43,8 +85,13 @@ export default {
color: #1abc9c !important;
}
.payResult-container {
min-height: 100vh;
position: relative;
.payResult-header {
// height: 143px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
.payResult-img {
width: 70px;
height: 70px;

View File

@@ -554,7 +554,7 @@ let bankListJson = [
]
},
{
code: '20038',
code: '501',
name: '广西北部湾银行',
child: [
{
@@ -1094,7 +1094,7 @@ let bankListJson = [
]
},
{
code: '501',
code: '20038',
name: '汇丰银行(中国)有限公司上海分行',
child: [
{

View File

@@ -48,8 +48,25 @@ export default {
},
created() {
this.getInfo()
// 拦截原生按钮
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1'
})
}, 100)
window.appCallBack = this.appCallBack
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'mine'
})
}
},
async getInfo() {
const res = await getTokenForUserModel()
if (res.result == 0) {