Merge branch 'feature/GFRS-221_入司审批' into release/20200225

# Conflicts:
#	src/views/ebiz/agentEenter/AgentEenterBasicFamily.vue
#	src/views/ebiz/agentEenter/AgentEenterBasicInfor.vue
#	src/views/ebiz/agentEenter/AgentEnterGuarantor.vue
#	src/views/ebiz/agentEenter/EntryProcess.vue
#	src/views/ebiz/agentEenter/SeeCause.vue
This commit is contained in:
ding.zhou
2020-02-25 18:49:44 +08:00
committed by 28CD73C051F645E8132835671423A23F
17 changed files with 928 additions and 287 deletions

View File

@@ -76,3 +76,12 @@ export function enterQuery(data) {
data data
}) })
} }
//入司增员审批
export function agentAddApproval(data) {
return request({
url: getUrl('/agent/examineApprove/dispose', 1),
method: 'post',
data
})
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -20,6 +20,11 @@ const agentEenterBasicHealth = () => import('@/views/ebiz/agentEenter/AgentEente
const agentEenterBasicSuccess = () => import('@/views/ebiz/agentEenter/AgentEenterBasicSuccess') const agentEenterBasicSuccess = () => import('@/views/ebiz/agentEenter/AgentEenterBasicSuccess')
const ShareInfo = () => import('@/views/ebiz/agentEenter/share/ShareInfo') const ShareInfo = () => import('@/views/ebiz/agentEenter/share/ShareInfo')
const ShareInfoSuccess = () => import('@/views/ebiz/agentEenter/share/ShareInfoSuccess') const ShareInfoSuccess = () => import('@/views/ebiz/agentEenter/share/ShareInfoSuccess')
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')
export default [ export default [
{ {
path: '/agentEenter/entryProcess', path: '/agentEenter/entryProcess',
@@ -209,5 +214,41 @@ export default [
title: '增员申请', title: '增员申请',
index: 1 index: 1
} }
},
{
path: '/agentEenter/approve/ApproveList',
name: 'ApproveList',
component: ApproveList,
meta: {
title: '增员审批列表',
index: 1
}
},
{
path: '/agentEenter/approve/BasicInfo/:baseId',
name: 'BasicInfo',
component: BasicInfo,
meta: {
title: '增员审批',
index: 1
}
},
{
path: '/agentEenter/approve/ApproveInfo/:baseId',
name: 'ApproveInfo',
component: ApproveInfo,
meta: {
title: '增员审批',
index: 1
}
},
{
path: '/agentEenter/approve/SubmitSuccess',
name: 'SubmitSuccess',
component: SubmitSuccess,
meta: {
title: '提交成功',
index: 1
}
} }
] ]

View File

@@ -9,5 +9,36 @@ export default new Vuex.Store({
modules: { modules: {
app app
}, },
getters state: {
pageFlag: '', //理赔申请-区分被保人/申请人页面flag
agentEnterApplyMobil: '', //自助入司-新的被增员人填好的基础信息里的电话号码
agentEnterApplyIdNo: '', //自助入司-新的被增员人填好的基础信息里的证件号码
refusalCause: '' //自助入司-查看审批流程-审批拒绝的原因
},
mutations: {
//更新 理赔申请-区分被保人/申请人页面flag
updatePageFlag(state, val) {
state.pageFlag = val
},
//更新 自助入司-新增人员填写的基础信息中的电话号码及证件号
updateAgentEnterApplyMsg(state, userInfo) {
state.agentEnterApplyMobil = userInfo.mobile
state.agentEnterApplyIdNo = userInfo.idNo
},
//更新 自助入司-查看审批流程-审批拒绝的原因
updateRefusalCause(state, val) {
state.refusalCause = val
}
},
getters: {
getPageFlag(state) {
return state.pageFlag
},
getAgentEnterApplyMsg(state) {
return state
},
getRefusalCause(state) {
return state.refusalCause
}
}
}) })

View File

@@ -26,6 +26,7 @@
<li><router-link to="/my/UserIncome">收入</router-link></li> <li><router-link to="/my/UserIncome">收入</router-link></li>
<li><router-link to="/serve/list">保单列表</router-link></li> <li><router-link to="/serve/list">保单列表</router-link></li>
<li><router-link to="/agentEenter/agentEenterBasicInfor">自助入司</router-link></li> <li><router-link to="/agentEenter/agentEenterBasicInfor">自助入司</router-link></li>
<li><router-link to="/agentEenter/approve/ApproveList">入司审批列表</router-link></li>
</ul> </ul>
</li> </li>
</ul> </ul>

View File

@@ -31,24 +31,42 @@
@click="toSelect('2', i)" @click="toSelect('2', i)"
required required
/> />
<van-field label="证件号码" type="text" name="证件号码" placeholder="请输入" clearable v-model="item.idNo" v-validate="'required'" required maxlength="18" /> <van-field
label="证件号码"
type="text"
name="证件号码"
placeholder="请输入"
clearable
v-model="item.idNo"
v-validate="'required'"
required
maxlength="18"
/>
<FieldDatePicter <FieldDatePicter
v-validate="'required'" v-validate="'required'"
label="出生日期" label="出生日期"
name="出生日期" name="出生日期"
:value.sync="item.birthday" :value.sync="item.birthday"
type="date" type="date"
:flag="true" :flag="true"
ref="birthday" ref="birthday"
:maxDate="currentTime" required
required ></FieldDatePicter>
></FieldDatePicter> <van-field
<van-field v-model="item.mobile" label="联系电话" name="联系电话" placeholder="请输入" v-validate="'required|mobile'" maxlength="11" required clearable /> v-model="item.mobile"
label="联系电话"
name="联系电话"
placeholder="请输入"
v-validate="'required|mobile'"
maxlength="11"
required
clearable
/>
</div> </div>
<div class="add-btn mt20 pb20 text-center p15 c-gray-base" @click="add">+ 新增</div> <div class="add-btn mt20 pb20 text-center p15 c-gray-base" @click="add">+ 新增</div>
<!-- end --> <!-- end -->
<div class="flex justify-content-s bottom-btn bg-white"> <div class="flex justify-content-s bottom-btn bg-white">
<van-button class=" bottom0 left0" square plain type="danger" v-no-more-click="1000" @click="goBack" size="large">上一步</van-button> <van-button class=" bottom0 left0" square plain type="danger" @click="goBack" size="large">上一步</van-button>
<van-button class=" bottom0 left0" square type="danger" size="large" @click="nextStep" v-no-more-click="1000">下一步</van-button> <van-button class=" bottom0 left0" square type="danger" size="large" @click="nextStep" v-no-more-click="1000">下一步</van-button>
</div> </div>
</van-cell-group> </van-cell-group>
@@ -59,13 +77,12 @@
</div> </div>
</template> </template>
<script> <script>
import { Field, CellGroup, Button, col, popup, picker, Dialog } from 'vant' import { Field, CellGroup, Button, col, popup, picker } from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio' import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter' import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import DataDictionary from '@/assets/js/utils/data-dictionary' import DataDictionary from '@/assets/js/utils/data-dictionary'
import RsTop from '@/components/ebiz/agentEenter/RsTop' import RsTop from '@/components/ebiz/agentEenter/RsTop'
import idNoCheck from '@/assets/js/utils/idNoCheck' import idNoCheck from '@/assets/js/utils/idNoCheck'
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
import { saveOrUpdateInfo, agentAll } from '@/api/ebiz/agentEenter/agentEenter' import { saveOrUpdateInfo, agentAll } from '@/api/ebiz/agentEenter/agentEenter'
export default { export default {
name: 'AgentEenterBasicFamily', name: 'AgentEenterBasicFamily',
@@ -114,17 +131,12 @@ export default {
gatPass: true, gatPass: true,
twPass: true, twPass: true,
gtFlag1: true, gtFlag1: true,
gtFlag2: true, gtFlag2: true
currentTime: beforeDate.getBeforeDays(1),
} }
}, },
mounted() { mounted() {
Dialog.alert({
message: '请如实填写下列各项内容,直系亲属为本人父母、子女或配偶,其余亲属不属于直系亲属。如有不实,后果自负。'
}).then(() => {
this.agentAll()
})
document.body.style.backgroundColor = '#fff' document.body.style.backgroundColor = '#fff'
this.agentAll()
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = '' document.body.style.backgroundColor = ''
@@ -162,20 +174,18 @@ export default {
} }
agentAll(data).then(res => { agentAll(data).then(res => {
if (res.result == '0') { if (res.result == '0') {
if (res.content.ebizRelationDtoLst.length != 0) { let result = res.content.ebizRelationDtoLst
let result = res.content.ebizRelationDtoLst if (result) {
if (result) { result.map(item => {
result.map(item => { delete item.id
delete item.id delete item.baseId
delete item.baseId delete item.createdDate
delete item.createdDate delete item.createdUser
delete item.createdUser delete item.isDelete
delete item.isDelete delete item.modifiedDate
delete item.modifiedDate delete item.modifiedUser
delete item.modifiedUser })
}) that.userInfo = result
that.userInfo = result
}
} }
} }
}) })
@@ -219,7 +229,7 @@ export default {
} else { } else {
this.idCardFlag = true this.idCardFlag = true
} }
} else if (item.idType == '2') { } /*else if (item.idType == '2') {
//户口本 //户口本
console.log('户口本') console.log('户口本')
if (item.idNo.length != 18) { if (item.idNo.length != 18) {
@@ -264,7 +274,7 @@ export default {
} else { } else {
this.twPass = true this.twPass = true
} }
} }*/
}) })
if (this.idCardFlag && this.bookletFlag && this.birthFlag && this.passportFlag && this.gatPass && this.twPass) { if (this.idCardFlag && this.bookletFlag && this.birthFlag && this.passportFlag && this.gatPass && this.twPass) {
this.save() this.save()
@@ -331,7 +341,7 @@ export default {
}, },
// add新增 // add新增
add() { add() {
this.userInfo.push({}) this.userInfo.push({ sex: '0' })
} }
} }
} }

View File

@@ -9,7 +9,7 @@
<div class="bg-white"> <div class="bg-white">
<div class="p10"> <div class="p10">
<van-cell-group> <van-cell-group>
<van-field required label="证件影像信息" disabled /> <van-field required label="代理人本人身份证正反面" disabled />
</van-cell-group> </van-cell-group>
<div @click="test('fileListBank01')"> <div @click="test('fileListBank01')">
<van-uploader <van-uploader

View File

@@ -51,10 +51,10 @@
right-icon="arrow" right-icon="arrow"
placeholder="请选择" placeholder="请选择"
@click="toSelect('10')" @click="toSelect('10')"
maxlength="20"
required required
/> />
<van-field v-model="userInfo.title" label="职称" name="职称" v-validate="'required'" placeholder="请输入" required clearable /> <!-- <van-field v-model="userInfo.title" label="职称" name="职称" v-validate="'required'" placeholder="请输入" required /> -->
<van-field v-model="userInfo.title" label="职称" name="职称" placeholder="请输入" />
<!-- <van-field <!-- <van-field
:value="userInfo.health | idToText('rshealthCondition')" :value="userInfo.health | idToText('rshealthCondition')"
label="健康状况" label="健康状况"
@@ -98,39 +98,50 @@
@click="toSelect('6')" @click="toSelect('6')"
required required
/> />
<van-field v-model="userInfo.school" maxlength="40" label="毕业院校" name="毕业院校" placeholder="请输入" required v-validate="'required'" clearable /> <van-field v-model="userInfo.school" label="毕业院校" name="毕业院校" placeholder="请输入" v-validate="'required'" clearable required />
<van-field v-model="userInfo.discipline" maxlength="40" label="所学专业" name="所学专业" placeholder="请输入" required v-validate="'required'" clearable /> <van-field
<!-- <van-field v-model="userInfo.homePhone" label="宅电" name="宅电" placeholder="非必填" maxlength="16" @blur="HomeMobile(userInfo.homePhone)" clearable /> --> v-model="userInfo.discipline"
label="所学专业"
name="所学专业"
placeholder="请输入"
v-validate="Number(userInfo.degree) <= 4 || Number(userInfo.degree) == 10 || Number(userInfo.degree) == 11 ? 'required' : ''"
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 v-model="userInfo.mobile" label="手机" name="手机" required readonly />
<van-field :value="userInfo.idType | idToText('idType')" v-validate="'required'" 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" v-validate="'required|idNo'" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable> -->
<van-field v-model="userInfo.idNo" label="证件号码" readonly> <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-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button> -->
</van-field> </van-field>
<van-field v-model="userInfo.address" label="联系地址" maxlength="80" name="联系地址" placeholder="请输入" v-validate="'required'" required clearable /> <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="'required|zipCode'" required clearable /> -->
<van-field <van-field v-model="userInfo.zip" label="邮政编码" name="邮政编码" placeholder="请输入" clearable />
:value="userInfo.bankName" <van-field :value="userInfo.bankName" label="开户银行" name="开户银行" v-validate="'required'" required readonly />
label="开户银行" <!-- @click="focus"
name="开户银行"
v-validate="'required'"
required
readonly />
<!-- @click="focus"
right-icon="arrow" right-icon="arrow"
data-vv-name="开户银行" --> data-vv-name="开户银行" -->
<!-- <van-field v-model="userInfo.bankName" label="开户银行" name="开户银行" placeholder="请输入" v-validate="'required'" /> --> <!-- <van-field v-model="userInfo.bankName" label="开户银行" name="开户银行" placeholder="请输入" v-validate="'required'" /> -->
<!-- <van-field v-model="bank" label="开户银行" placeholder="请选择" required @click="focus" v-validate="'required'" data-vv-name="开户银行" /> --> <!-- <van-field v-model="bank" label="开户银行" placeholder="请选择" required @click="focus" v-validate="'required'" data-vv-name="开户银行" /> -->
<van-field v-model="userInfo.bankAddress" label="开户地" name="开户地" placeholder="请输入" maxlength="100" v-validate="'required'" required clearable /> <van-field v-model="userInfo.bankAddress" label="开户地" name="开户地" placeholder="请输入" v-validate="'required'" required clearable />
<van-field v-model="userInfo.accountName" label="开户姓名" name="开户姓名" placeholder="请输入" v-validate="'required'" required clearable /> <van-field v-model="userInfo.accountName" label="开户姓名" name="开户姓名" placeholder="请输入" v-validate="'required'" required clearable />
<van-field v-model="userInfo.bankCode" maxlength="19" label="银行卡号" name="银行卡号" placeholder="请输入" required clearable v-validate="'required|bankCard'"> <van-field v-model="userInfo.bankCode" maxlength="19" label="银行卡号" name="银行卡号" placeholder="请输入" required clearable v-validate="'required'">
<van-button slot="button" size="small" type="danger" round @click="cardScanning('0')">银行卡扫描</van-button> <van-button slot="button" size="small" type="danger" round @click="cardScanning('0')">银行卡扫描</van-button>
</van-field> </van-field>
<van-field v-model="userInfo.perationPeriod" label="从业年限" name="从业年限" placeholder="请输入" v-validate="'onlyNumber'" clearable /> <van-field
v-model="userInfo.perationPeriod"
type="digit"
label="从业年限"
name="从业年限"
placeholder="请输入整数"
v-validate="'onlyInteger'"
required
clearable
/>
<van-field v-model="userInfo.oldCompany" label="原工作单位" name="原工作单位" placeholder="请输入" required v-validate="'required'" clearable /> <van-field v-model="userInfo.oldCompany" label="原工作单位" name="原工作单位" placeholder="请输入" required v-validate="'required'" clearable />
<van-field <van-field
:value="userInfo.oldOccupation | idToText('oldOccupation')" :value="userInfo.oldOccupation | idToText('oldOccupation')"
label="原职业" label="原职业"
name="原职业" name="原职业"
@@ -152,7 +163,7 @@
placeholder="请选择" placeholder="请选择"
@click="toSelect('3')" @click="toSelect('3')"
/> />
<van-field <van-field
:value="userInfo.nationality | idToText('rsnativeplace')" :value="userInfo.nationality | idToText('rsnativeplace')"
label="国籍/地区" label="国籍/地区"
name="国籍/地区" name="国籍/地区"
@@ -163,7 +174,7 @@
placeholder="请选择" placeholder="请选择"
@click="toSelect('12')" @click="toSelect('12')"
/> />
<van-field <van-field
:value="userInfo.foreigners | idToText('rshealthCondition')" :value="userInfo.foreigners | idToText('rshealthCondition')"
label="是否境外人员" label="是否境外人员"
name="是否境外人员" name="是否境外人员"
@@ -174,18 +185,28 @@
placeholder="请选择" placeholder="请选择"
@click="toSelect('15')" @click="toSelect('15')"
/> />
<van-field :value="userInfo.applGrade | idToText('applGrade')" right-icon="arrow" placeholder="请选择" @click="toSelect('13')" label="职级" v-validate="'required'" name="职级" /> <van-field
:value="userInfo.applGrade | idToText('applGrade')"
right-icon="arrow"
placeholder="请选择"
@click="toSelect('13')"
label="职级"
name="职级"
readonly
required
v-validate="'required'"
/>
</van-cell-group> </van-cell-group>
<van-cell-group class="" :border="false"> <van-cell-group class="" :border="false">
<p style=" border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 mt10 pv12">推荐人信息</p> <p style=" border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 mt10 pv12">推荐人信息</p>
<van-field class="referrerW" v-model="ebiz_referrer.referCode" label="推荐人编号" name="推荐人编号" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.referCode" label="推荐人编号" name="推荐人编号" readonly />
<van-field class="referrerW" v-model="ebiz_referrer.referName" label="推荐人姓名" name="推荐人姓名" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.referName" label="推荐人姓名" name="推荐人姓名" readonly />
<van-field class="referrerW" v-model="ebiz_referrer.teamCode" label="营业组主管代码" name="营业组主管代码" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.teamManger" label="营业组主管代码" name="营业组主管代码" readonly />
<van-field class="referrerW" v-model="ebiz_referrer.teamName" label="营业组主管姓名" name="营业组主管姓名" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.teamMangerName" label="营业组主管姓名" name="营业组主管姓名" readonly />
<van-field class="referrerW" v-model="ebiz_referrer.officeCode" label="营业经理代码" name="营业经理代码" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.officeManger" label="营业经理代码" name="营业经理代码" readonly />
<van-field class="referrerW" v-model="ebiz_referrer.officeName" label="营业经理姓名" name="营业经理姓名" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.officeMangerName" label="营业经理姓名" name="营业经理姓名" readonly />
<van-field class="referrerW" v-model="ebiz_referrer.areaCode" label=" 营业区经理代码" name=" 营业区经理代码" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.areaManger" label=" 营业区经理代码" name=" 营业区经理代码" readonly />
<van-field class="referrerW" v-model="ebiz_referrer.areaName" label="营业区经理姓名" name="营业区经理姓名" readonly /> <van-field class="referrerW" v-model="ebiz_referrer.areaMangerName" label="营业区经理姓名" name="营业区经理姓名" readonly />
</van-cell-group> </van-cell-group>
<van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">下一步</van-button> <van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">下一步</van-button>
<!-- 字段选择 --> <!-- 字段选择 -->
@@ -333,7 +354,7 @@ export default {
degree: '', //学历 degree: '', //学历
school: '', // 学校 school: '', // 学校
discipline: '', // 专业 discipline: '', // 专业
// homePhone: '', //家庭电话 homePhone: '', //家庭电话
idType: '1', //证件类型 idType: '1', //证件类型
idNo: '', //证件号码 idNo: '', //证件号码
dateStart: '', //证件起始日期 dateStart: '', //证件起始日期
@@ -377,7 +398,7 @@ export default {
mounted() { mounted() {
// 筛选按钮的点击事件 // 筛选按钮的点击事件
// window.appCallBack = this.appCallBack // window.appCallBack = this.appCallBack
window.appCallBack = this.appCallBack window.appCallBack = appCallBack
this.agentAll() this.agentAll()
// // 获取银行卡 // // 获取银行卡
// this.getBankList() // this.getBankList()
@@ -406,8 +427,8 @@ export default {
this.userInfo.age = idToData(this.userInfo.idNo).age this.userInfo.age = idToData(this.userInfo.idNo).age
this.userInfo.sex = idToData(this.userInfo.idNo).sex this.userInfo.sex = idToData(this.userInfo.idNo).sex
} }
this.userInfo.bankName='工商银行' this.userInfo.bankName = '工商银行'
this.userInfo.nationality='CHN' this.userInfo.nationality = 'CHN'
} }
}) })
}, },
@@ -496,6 +517,9 @@ export default {
if (this.userInfo.bankName == '工商银行') { if (this.userInfo.bankName == '工商银行') {
this.userInfo.bankName = '102' this.userInfo.bankName = '102'
} }
if (Number(this.userInfo.degree) >= 6 && Number(this.userInfo.degree) <= 14 && Number(this.userInfo.degree) != 12) {
return this.$toast('学历不符合入司条件')
}
console.log('this.userInfo.bankName', this.userInfo.bankName) console.log('this.userInfo.bankName', this.userInfo.bankName)
let data = { let data = {
entryType: 'CUSTOMER_BASE', entryType: 'CUSTOMER_BASE',
@@ -511,7 +535,6 @@ export default {
saveOrUpdateInfo(data).then(res => { saveOrUpdateInfo(data).then(res => {
if (res.result == '0') { if (res.result == '0') {
this.$toast.clear() this.$toast.clear()
localStorage.agentSex = this.userInfo.sex
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
@@ -615,20 +638,12 @@ export default {
this.$jump({ this.$jump({
flag: 'navigation', flag: 'navigation',
extra: { extra: {
title: '入司基本信息', title: '账户信息',
hiddenRight: '1' hiddenRight: '1'
} }
}) })
this.isScan = false this.isScan = false
}, }
// //验证宅电
// HomeMobile(value) {
// let res = /^((0\d{2,3}-\d{7,8})|(1\d{10}))$/.test(value)
// if (value != '' && !res) {
// this.userInfo.homePhone = ''
// return this.$toast('宅电输入有误')
// }
// }
}, },
beforeDestroy() { beforeDestroy() {
//清理计时器 //清理计时器

View File

@@ -1,42 +1,61 @@
<template> <template>
<div class="guarant-info-container pb50"> <div class="insured-info-container pb50">
<!-- 基本信息 --> <!-- 基本信息 -->
<van-cell-group> <van-cell-group>
<RsTop :active="['1', '2']"></RsTop> <RsTop :active="['1', '2']"></RsTop>
<p class="fs15 fwb pl10 pv12">担保人信息</p> <p class="fs15 fwb pl10 pv12">担保人信息</p>
<!-- start --> <!-- start -->
<van-field <van-field
:value="userInfo.relation | idToText('guarantRelationType')" :value="userInfo.relation | idToText('guarantRelationType')"
v-validate="'required'" v-validate="'required'"
readonly readonly
label="关系" label="关系"
name="关系" name="关系"
right-icon="arrow" right-icon="arrow"
placeholder="请选择" placeholder="请选择"
@click="toSelect('1')" @click="toSelect('1')"
required required
/> />
<van-field <van-field
:value="userInfo.type | idToText('classification')" :value="userInfo.type | idToText('classification')"
v-validate="'required'" v-validate="'required'"
readonly readonly
label="类别" label="类别"
name="类别" name="类别"
right-icon="arrow" right-icon="arrow"
placeholder="请选择" placeholder="请选择"
@click="toSelect('2')" @click="toSelect('2')"
required required
/> />
<van-field label="姓名" type="text" name="姓名" placeholder="请输入" v-validate="'required|name'" clearable v-model="userInfo.name" required /> <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> <select-radio :radios="sexRadio" label="性别" name="性别" v-validate="'required'" required :value.sync="userInfo.sex"></select-radio>
<van-field label="身份证号码" type="text" name="身份证号码" placeholder="请输入" clearable v-model="userInfo.idNo" v-validate="'required|idNo'" required maxlength="18" /> <van-field
<van-field label="单位" type="text" name="单位" placeholder="请输入" v-validate="'required'" clearable v-model="userInfo.company" required/> label="身份证号码"
<van-field label="家庭地址" type="text" name="家庭地址" placeholder="请输入" v-validate="'required'" clearable v-model="userInfo.homeAdress" required /> type="text"
<van-field v-model="userInfo.mobile" label="手机号码" name="手机号码" placeholder="请输入" v-validate="'required|mobile'" maxlength="11" clearable required /> name="身份证号码"
placeholder="请输入"
clearable
v-model="userInfo.idNo"
v-validate="'required'"
required
maxlength="18"
/>
<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="手机号码"
name="手机号码"
placeholder="请输入"
v-validate="'required|mobile'"
maxlength="11"
clearable
required
/>
<!-- end --> <!-- end -->
<div class="flex justify-content-s bottom-btn bg-white"> <div class="flex justify-content-s bottom-btn bg-white">
<van-button class=" bottom0 left0" square plain type="danger" @click="goBack" size="large">上一步</van-button> <van-button class=" bottom0 left0" square plain type="danger" @click="goBack" size="large">上一步</van-button>
<van-button class=" bottom0 left0" square type="danger" size="large" @click.native="nextStep" v-no-more-click="1000">下一步</van-button> <van-button class=" bottom0 left0" square type="danger" size="large" @click="nextStep" v-no-more-click="1000">下一步</van-button>
</div> </div>
</van-cell-group> </van-cell-group>
<!-- 字段选择 --> <!-- 字段选择 -->
@@ -46,7 +65,7 @@
</div> </div>
</template> </template>
<script> <script>
import { Field, CellGroup, Button, col, popup, picker, Dialog } from 'vant' import { Field, CellGroup, Button, col, popup, picker } from 'vant'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter' import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import SelectRadio from '@/components/ebiz/SelectRadio' import SelectRadio from '@/components/ebiz/SelectRadio'
import DataDictionary from '@/assets/js/utils/data-dictionary' import DataDictionary from '@/assets/js/utils/data-dictionary'
@@ -76,7 +95,7 @@ export default {
relation: '', relation: '',
type: '', type: '',
name: '', name: '',
sex: '0', sex: '',
idNo: '', idNo: '',
company: '', company: '',
homeAdress: '', homeAdress: '',
@@ -95,12 +114,8 @@ export default {
} }
}, },
mounted() { mounted() {
Dialog.alert({
message: '请如实填写下列各项内容担保人为年满18岁的中国公民。如有不实后果自负。'
}).then(() => {
this.agentAll()
})
document.body.style.backgroundColor = '#fff' document.body.style.backgroundColor = '#fff'
this.agentAll()
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = '' document.body.style.backgroundColor = ''
@@ -135,15 +150,7 @@ export default {
}) })
agentAll(data).then(res => { agentAll(data).then(res => {
that.$toast.clear() that.$toast.clear()
if (res.content.ebizGuarantorDto.length != 0) { that.userInfo = res.content.ebizGuarantorDto
that.userInfo = res.content.ebizGuarantorDto
//性别返显
if (res.content.ebizGuarantorDto.sex == null) {
this.userInfo.sex = '0'
} else {
this.userInfo.sex = String(res.content.ebizGuarantorDto.sex) //性别
}
}
}) })
}, },
toSelect(pickerType, index, valueKey) { toSelect(pickerType, index, valueKey) {
@@ -174,9 +181,20 @@ export default {
//表单校验, 成功跳转 //表单校验, 成功跳转
this.$validator.validate().then(valid => { this.$validator.validate().then(valid => {
if (true === valid) { if (true === valid) {
if (this.userInfo.idType == '1') {
//身份证
if (idNoCheck.isIdno(this.userInfo.idNo)) {
return this.$toast('您填写的证件号码有误')
}
if (this.userInfo.idNo.length == '18') {
//18位身份证第17位是性别位, 奇男偶女
let sexSign = this.userInfo.idNo.substr(16, 1)
if ((parseInt(sexSign) % 2 == 0 && this.userInfo.sex != 1) || (parseInt(sexSign) % 2 != 0 && this.userInfo.sex != 0)) {
return this.$toast('性别录入与身份证不符')
}
}
}
this.save() this.save()
} else {
this.$toast(this.$validator.errors.all()[0])
} }
}) })
}, },
@@ -215,7 +233,7 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.guarant-info-container { .insured-info-container {
.referrerW { .referrerW {
/deep/.van-cell__title { /deep/.van-cell__title {
width: 110px; width: 110px;

View File

@@ -1,12 +1,10 @@
<template> <template>
<div class="entry-container pt60 bg-white" v-if="proces"> <div class="entry-container pt60 pb30 bg-white" v-if="proces">
<div class="ml80 w200 text-center pv5"> <div class="ml80 w200 text-center">
入司申请<br /> 入司申请<br /><span class="grey">{{ proces.applyDate }}</span>
<span class="grey">{{ proces.applyDate }}</span>
</div> </div>
<div class="ml80 w100 flex path relative" style="flex-wrap: wrap"> <div class="ml80 w100 flex path relative" style="flex-wrap: wrap">
<div class="left-path flex" style="flex-direction: column"> <div class="left-path flex" style="flex-direction: column"></div>
</div>
<div class="right-path"> <div class="right-path">
<div class="h60 flex relative border-right active"> <div class="h60 flex relative border-right active">
<i class="w10 h10 radius50 right-circle absolute bottom0"></i> <i class="w10 h10 radius50 right-circle absolute bottom0"></i>
@@ -15,57 +13,137 @@
<div class="flex align-items-c text-center"> <div class="flex align-items-c text-center">
<div> <div>
<div>自助入司资料上传</div> <div>自助入司资料上传</div>
<span class="grey">{{ proces.approvalDate }}</span> <span v-if="proces.approvalStatus == '03'" class="grey">{{ proces.approvalDate }}{{ proces.approvalTime }}</span>
</div> </div>
<van-button v-if="proces.approvalStatus == '01'" @click="goBaseInfo" class="ml15 ph10" plain type="primary" <van-button
v-if="proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0"
@click="goBaseInfo"
class="ml15 ph10"
plain
type="primary"
>立即上传</van-button >立即上传</van-button
> >
</div> </div>
</div> </div>
<div v-if="(proces.trajectoryList == null && proces.approvalStatus == '02') || (proces.trajectory_list == null && proces.approvalStatus == '21')"> <div>
<div class="h50 flex relative border-right active"> <div
<i class="w10 h10 radius50 right-circle absolute bottom0"></i> :class="['h60', 'flex', 'relative', 'border-right', proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0 ? '' : 'active']"
</div> >
<div class="flex nowrap align-items-c text-center relative pv5"> <i
<div class="relative"> :class="[
<div> 'w10',
人员管理岗审批 'h10',
<van-tag class="w60 absolute approval-vag" color="#cc6600" plain>审批中</van-tag> 'radius50',
</div> 'absolute',
</div> 'bottom0',
proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0 ? 'right-cir' : 'right-circle'
]"
></i>
</div> </div>
</div> </div>
<div v-else> <!-- 审批人审批 -->
<div v-for="(item, index) in proces.trajectoryList" :key="index"> <div v-for="(item, index) in approveMapping" :key="index">
<div class="h60 flex relative border-right active"> <div class="flex nowrap align-items-c text-center relative pv5" style="left:50%">
<i class="w10 h10 radius50 right-circle absolute bottom0"></i>
</div>
<div class="flex nowrap align-items-c text-center relative pv5">
<div class="relative"> <div class="relative">
<div class="relative"> <div>
人员管理岗审批 {{ item.name }}
<van-tag <van-tag
v-if="item.approvalStatus" v-if="ebizExamineApproveDtoList[index].examineApproveStatus == '2' || ebizExamineApproveDtoList[index].examineApproveStatus == '1'"
class="w60 absolute approval-vag" class="w60 absolute approval-vag"
:color="item.approvalStatus == '03' ? 'green' : item.approvalStatus == '02' || item.approvalStatus == '21' ? '#cc6600' : 'red'" :color="
ebizExamineApproveDtoList[index].examineApproveStatus == '1'
? '#cc6600'
: ebizExamineApproveDtoList[index].examineApproveResult == '1'
? 'green'
: 'red'
"
plain plain
>{{ item.approvalStatus | statusFormat }}</van-tag >{{ ebizExamineApproveDtoList[index].examineApproveStatus | statusFormat(ebizExamineApproveDtoList[index].examineApproveResult) }}</van-tag
> >
</div> </div>
<span v-if="item.approvalStatus == '03' || item.approvalStatus == '04'" class="grey">{{ item.approvalDate }}</span> <van-button
<van-button @click="goSeeCause" v-if="proces.approvalStatus == '04' && item.approvalStatus == '04' && item.approvalStatus != '02' && item.approvalStatus != '03' && index == proces.trajectory_list.length - 1" class="absolute approval-button ph10" plain type="primary" @click="goSeeCause(index)"
v-if="ebizExamineApproveDtoList[index].examineApproveResult == '0'"
class="absolute approval-button ph10"
plain
type="primary"
>查看原因</van-button >查看原因</van-button
> >
</div> </div>
</div> </div>
<div
v-if="index != approveMapping.length - 1"
:class="[
'h60',
'flex',
'relative',
'border-right',
(proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0) ||
ebizExamineApproveDtoList[index + 1].examineApproveStatus == '0'
? ''
: 'active'
]"
>
<i
:class="[
'w10',
'h10',
'radius50',
'absolute',
'bottom0',
(proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0) ||
ebizExamineApproveDtoList[index + 1].examineApproveStatus == '0'
? 'right-cir'
: 'right-circle'
]"
></i>
</div>
</div> </div>
</div> <!-- 人员管理岗审批 销管审批-->
<div :class="['h60', 'flex', 'relative', 'border-right',proces.approvalStatus == '05' || proces.approvalStatus == '06' || proces.approvalStatus == '07' || proces.approvalStatus == '08' ? 'active' : '']"></div> <!-- <div>
<div class="flex nowrap align-items-c text-center relative pv5">
<div class="relative">
<div>
人员管理岗审批
<van-tag
v-if="proces.approvalStatus == '02' || proces.approvalStatus == '03' || proces.approvalStatus == '21'"
class="w60 absolute approval-vag"
color="#cc6600"
plain
>审批中</van-tag
>
<van-tag v-if="proces.approvalStatus == '04'" class="w60 absolute approval-vag" color="'red'" plain>审批拒绝</van-tag>
<van-button v-if="proces.approvalStatus == '04'" @click="goSeeCause(9999)" class="ml15 ph10 absolute approval-button" plain type="primary"
>查看原因</van-button
>
</div>
</div>
</div>
</div> -->
<div
:class="[
'h60',
'flex',
'relative',
'border-right',
proces.approvalStatus == '05' || proces.approvalStatus == '06' || proces.approvalStatus == '07' || proces.approvalStatus == '08' ? 'active' : ''
]"
></div>
</div> </div>
<div> <div>
<!-- <div :class="['h50','w100', 'border-right', proces.approvalStatus == '06'|| proces.approvalStatus == '07' ? 'active' : '']"></div> -->
<div class="text-center" style="width:400%;font-size:0"> <div class="text-center" style="width:400%;font-size:0">
<i :class="['w10', 'h10', 'relative', 'right1', 'radius50 ', 'inline-b', 'middle-circle', proces.approvalStatus == '06'|| proces.approvalStatus == '07' ? 'active' : '']"></i> <i
:class="[
'w10',
'h10',
'relative',
'right1',
'radius50 ',
'inline-b',
'middle-circle',
proces.approvalStatus == '06' || proces.approvalStatus == '07' ? 'active' : ''
]"
></i>
</div> </div>
<div class="nowrap text-center relative mt5" style="width:400%"> <div class="nowrap text-center relative mt5" style="width:400%">
<span>签署协议</span> <span>签署协议</span>
@@ -87,9 +165,10 @@ export default {
data() { data() {
return { return {
proces: null, proces: null,
granting: [], approvalFlag: false, //人员管理岗审批标志
failArr: [], approveMapping: [], //审批流程链
successArr: [] ebizExamineApproveDtoList: [], //历史审批信息链
refusalCause: '' //审批拒绝原因
} }
}, },
components: { components: {
@@ -98,11 +177,7 @@ export default {
}, },
created() { created() {
this.processCheck() this.processCheck()
document.body.style.backgroundColor = '#fff' localStorage.setItem('agentEnter-refusalCause', '')
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}, },
methods: { methods: {
processCheck() { processCheck() {
@@ -121,50 +196,28 @@ export default {
}) })
processCheck(data).then(res => { processCheck(data).then(res => {
that.$toast.clear() that.$toast.clear()
console.log(res, 'ressss')
if (res.result == '0') { if (res.result == '0') {
if (res.content.trajectoryList != null) { that.proces = res.content
res.content.trajectoryList.map((item, index, array) => { that.approveMapping = that.proces.approveMapping
//02审批中 03成功 04拒绝 if (that.proces.ebizExamineApproveDtoList.length > 0) {
//要拒绝的 that.proces.ebizExamineApproveDtoList.map(item => {
if (item.approvalStatus.indexOf('04') != -1) { that.ebizExamineApproveDtoList.push(item)
that.failArr.unshift(item)
// 要审批的
} else if (item.approvalStatus.indexOf('02') != -1) {
that.granting.push(item)
that.granting.map((item, index, array) => {
if (that.granting.length > 1) {
array.splice(index, array.length - 1)
}
})
// 成功的
} else if (item.approvalStatus.indexOf('03') != -1) {
that.successArr.push(item)
}
}) })
// if (that.successArr.length > 0) { } else {
// res.trajectory_list = that.successArr.concat(that.failArr) that.approveMapping.forEach(val => {
// } else { that.ebizExamineApproveDtoList.push({ examineApproveStatus: '0' })
// res.trajectory_list = that.granting.concat(that.failArr) })
// } }
if (res.content.approvalStatus == '01') { if (that.proces.ebizExamineApproveDtoList.length > 0) {
res.content.trajectoryList = null if (that.proces.ebizExamineApproveDtoList[that.proces.ebizExamineApproveDtoList.length - 1].examineApproveResult == '1') {
} else if (res.content.approvalStatus == '02' || res.content.approvalStatus == '21') { that.ebizExamineApproveDtoList.push({ examineApproveStatus: '1' })
res.content.trajectoryList = that.granting.concat(that.failArr) } else {
} else if (res.content.approvalStatus == '04') { that.ebizExamineApproveDtoList.push({ examineApproveStatus: '0' })
res.content.trajectoryList = that.failArr
} else if (res.content.approvalStatus == '05' || res.content.approvalStatus == '06' || res.approvalStatus == '07' || res.approvalStatus == '08') {
res.content.trajectoryList = that.successArr.concat(that.failArr)
}
// console.log(' res.trajectory_list', res.trajectory_list)
if (res.content.approvalStatus != '01') {
res.content.trajectoryList.reverse()
} }
} }
if (that.approveMapping.length == that.ebizExamineApproveDtoList.length) {
that.proces = res.content that.approvalFlag = true
console.log(' that.proces', that.proces) }
} else { } else {
this.$toast(res.resultMessage) this.$toast(res.resultMessage)
} }
@@ -193,7 +246,20 @@ export default {
} }
}) })
}, },
goSeeCause() { goSeeCause(val) {
if (val == 9999) {
this.proces.trajectoryList.forEach(item => {
if (item.approvalStatus == '04') {
this.refusalCause == item.approvalOpinion
return
}
})
} else {
let obj = this.proces.ebizExamineApproveDtoList[Number(val)]
this.refusalCause = obj.examineApproveMsg
localStorage.setItem('agentEnter-refusalCause', this.refusalCause)
}
// this.$store.commit('updateRefusalCause', this.refusalCause)
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
@@ -217,24 +283,12 @@ export default {
} }
}, },
filters: { filters: {
statusFormat(status) { statusFormat(examineApproveStatus, examineApproveResult) {
let text let text
switch (status) { if (examineApproveStatus == '1') {
case '01': text = '审批中'
text = '未申请' } else if (examineApproveStatus == '2') {
break text = examineApproveResult == '1' ? '审批通过' : '审批拒绝'
case '02':
text = '审批中'
break
case '03':
text = '审批通过'
break
case '04':
text = '审批拒绝'
break
case '21':
text = '审批中'
break
} }
return text return text
} }
@@ -295,6 +349,9 @@ export default {
.approval-vag { .approval-vag {
right: -70px; right: -70px;
} }
.approval-vag2 {
right: -120px;
}
.approval-button { .approval-button {
bottom: -40px; bottom: -40px;
right: -78px; right: -78px;

View File

@@ -1,75 +1,61 @@
<template> <template>
<div> <div>
<div class="p15 text-center fs14 "> <div class="p15 text-center fs14 ">
<img src="@/assets/images/cause.png" class=" mb15 pt15" /> <img :src="srcSuccess" class=" mb15 pt15" width="100" />
<h4 class="text-left ph50">入司资料审核不通过可能是以下问题请修改相应资料确认无误后再次提交审核</h4> <div v-if="refusalCause == '' || refusalCause == undefined">
<div class="text-left mt60 c-gray-base">未通过原因</div> <h4 class="text-left ph50">入司资料审核不通过可能是以下问题请修改相应资料确认无误后再次提交审核</h4>
<div class="text-left c-gray-base" v-if="proces.trajectoryList.length>0"> <div class="text-left mt60 c-gray-base">未通过原因</div>
<div v-for="(causeText, index) in proces.trajectoryList" v-if="index == proces.trajectoryList.length - 1" :key="index">{{ causeText.approvalOpinion }}</div> <ul class="text-left c-gray-base">
<li v-for="(causeText, index) in cause" :key="index">{{ index + 1 }}.{{ causeText.text }}</li>
</ul>
</div> </div>
<van-button @click="goBaseInfo" v-no-more-click="1000" plain type="danger" class="w200 mt50" round>去修改</van-button> <div v-else>
<h4 class="text-left ph50">入司资料审核不通过请修改相应资料确认无误后再次提交审核</h4>
<div class="text-left mt60 c-gray-base">未通过原因:</div>
<div class="text-left c-gray-base">
<span>{{ refusalCause }}</span>
</div>
</div>
<van-button @click="goBaseInfo" plain type="danger" class="w200 mt50" round>去修改</van-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { Field, Icon, Button, Checkbox, CheckboxGroup } from 'vant' import { Field, Icon, Button, Checkbox, CheckboxGroup } from 'vant'
import { processCheck } from '@/api/ebiz/agentEenter/agentEenter'
export default { export default {
data() { data() {
return { return {
// srcSuccess: this.$assetsUrl + 'images/fail.png', srcSuccess: this.$assetsUrl + 'images/success.png',
pdfUrl: '', pdfUrl: '',
checked: false, checked: false,
proces: { refusalCause: '', //审批拒绝原因
trajectoryList:[] cause: [
}, {
granting: [], text: '入司基本信息中家庭地址不够详细'
failArr: [], },
successArr: [] {
text: '入司影像信息中银行卡影像模糊不清'
}
]
} }
}, },
mounted() { mounted() {
;(document.body.style.backgroundColor = '#fff'), // this.refusalCause = this.$store.getters.getRefusalCause
this.processCheck() // console.log('refusalCause ==', this.refusalCause)
}, this.refusalCause = localStorage.getItem('agentEnter-refusalCause')
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}, },
methods: { methods: {
goBaseInfo() { goBaseInfo() {
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
url: location.origin + `/#/agentEenter/AgentEenterBasicInfor`, url: location.origin + `/#/agentEenter/AgentEenterBasicInfor`
forbidSwipeBack: '1'
}, },
routerInfo: { routerInfo: {
path: `/agentEenter/AgentEenterBasicInfor` path: `/agentEenter/AgentEenterBasicInfor`
} }
}) })
},
processCheck() {
let that = this
that.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let data = {
}
processCheck(data).then(res => {
// console.log(res)
// console.log('res.result', res.result)
if (res.result == '0') {
that.$toast.clear()
that.proces = res.content
} else {
this.$toast(res.resultMessage)
}
})
} }
}, },
components: { components: {

View File

@@ -0,0 +1,169 @@
<template>
<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="item.examineApproveName" />
<van-cell title="职级" :value="item.examineApproveTitle" />
<van-cell title="所属团队" :value="item.team" />
<van-cell title="审批结论" :value="item.examineApproveResult == '0' ? '拒绝审批' : '审批通过'" />
<van-cell title="退回原因" :value="item.examineApproveMsg" />
</van-cell-group>
<van-cell-group class="pt10 pb80 fs15">
<van-radio-group v-model="approvalResult" v-validate="approvalResult === '' ? 'required' : ''" name="审批结论" class="pl15">
<van-row>
<van-col span="8">审批结论</van-col>
<van-col span="8">
<van-radio name="0">退回修改</van-radio>
</van-col>
<van-col span="8">
<van-radio name="1">通过</van-radio>
</van-col>
</van-row>
</van-radio-group>
<van-row class="mt10 mr15 mb10">
<van-col span="8"></van-col>
<van-col span="16">
<van-field
class="van-hairline--surround"
v-model="approvalMsg"
rows="4"
autosize
type="textarea"
name="退回修改原因"
placeholder="请填写退回修改原因"
:required="approvalResult === '0' ? true : false"
v-validate="approvalResult === '0' ? 'required' : ''"
v-if="approvalResult === '0'"
/>
</van-col>
</van-row>
</van-cell-group>
<div class="flex justify-content-s bottom-btn bg-white">
<van-button class=" bottom0 left0" square plain type="danger" @click="goBack" size="large">上一步</van-button>
<van-button class=" bottom0 left0" square type="danger" size="large" @click="nextStep" v-no-more-click="1000">提交</van-button>
</div>
</div>
</template>
<script>
import { agentAddApproval } from '@/api/ebiz/agentEenter/agentEenter.js'
import { Cell, CellGroup, Field, Button, RadioGroup, Radio, Col, Row } from 'vant'
export default {
name: 'approveInfo',
components: {
[Cell.name]: Cell,
[CellGroup.name]: CellGroup,
[Button.name]: Button,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Col.name]: Col,
[Row.name]: Row,
[Field.name]: Field
},
data() {
return {
// approvalInfo: [], //审批信息
approvalInfo: [], //审批信息
approvalResult: '', //该审批人填写的审批结果
approvalMsg: '' //该审批人填写的退回原因
}
},
mounted() {
//获取审批信息
this.getOrderList()
},
methods: {
//获取审批信息
getOrderList() {
let params = {
types: ['04'],
ebizEnterCustomerDto: {
id: this.$route.params.baseId
}
}
agentAddApproval(params).then(res => {
if (res.result == '0') {
if (res.content) {
this.approvalInfo = res.content.ebizHisExamineApproveDtoList
}
}
})
},
//上一步
goBack() {
let baseId = this.$route.params.baseId // 代理人id
this.$jump({
flag: 'goBack',
extra: {
refresh: '1',
index: '-1',
forbidSwipeBack: '1'
},
routerInfo: {
type: 2,
index: -1,
path: `/agentEenter/approve/BasicInfo/${baseId}`
}
})
},
//提交审批结果
nextStep() {
this.$validator.validate().then(valid => {
if (true === valid) {
let baseId = this.$route.params.baseId // 代理人id
let params = {
types: ['00'],
ebizEnterCustomerDto: {
id: baseId // 代理人id
},
// userModel: {
// id: 'A864501000001', // 审批人工号
// name: '审批人一号', // 审批人姓名
// agentGrade: 'A201' // 审批人职级
// },
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`,
forbidSwipeBack: '1', //1:禁止右滑返回
backToFirst: '1' //1:点击左上角返回到入口第一个webview
},
routerInfo: { path: `/agentEenter/approve/SubmitSuccess` }
})
} else {
this.$toast(res.resultMessage)
}
})
} else {
this.$toast(this.$validator.errors.all()[0])
}
})
}
}
}
</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%;
}
/deep/ .van-cell-group {
margin-bottom: 10px;
}
}
</style>

View File

@@ -0,0 +1,117 @@
<template>
<div class="sale-list-container pb50">
<div v-if="isSuccess">
<div v-if="approveList.length > 0">
<div v-for="(item, index) in approveList" :key="index">
<div class="bg-white pv15 pr15 pl10 m15">
<div class="flex justify-content-s align-items-c">
<div class="mb10">
<div class="inline-b" style="margin-right:13px">
<van-tag plain color="#5CA7DE">申请人</van-tag>
</div>
<span class="fs14 c-gray-dark ml20">{{ item.name }}</span>
</div>
</div>
<div class="mb10">
<div class="inline-b" style="margin-right:13px">
<van-tag plain color="#5CA7DE">推荐人</van-tag>
</div>
<span class="fs14 c-gray-dark ml20">{{ item.referName }}</span>
</div>
<div class="mb10">
<div class="inline-b">
<van-tag plain color="#5CA7DE">所属团队</van-tag>
</div>
<span class="fs14 c-gray-dark ml20">{{ item.team }}</span>
</div>
<div class="mb10">
<div class="inline-b">
<van-tag plain color="#5CA7DE">申请时间</van-tag>
</div>
<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>
</div>
</div>
</div>
</div>
</div>
<div v-else class="text-center">
<img class="mt40" src="@/assets/images/pic_page-non.png" />
<div class="fs17 mt40">暂无审批信息</div>
</div>
</div>
</template>
<script>
import { List, Tag, Sticky, Toast, Dialog } from 'vant'
import { agentAddApproval } from '@/api/ebiz/agentEenter/agentEenter.js'
export default {
name: 'approveList',
components: {
[List.name]: List,
[Tag.name]: Tag,
[Sticky.name]: Sticky,
[Dialog.name]: Dialog
},
data() {
return {
approveList: [], //审批列表信息
isSuccess: false
}
},
mounted() {
this.getOrderList()
},
methods: {
//初始化审批列表
getOrderList() {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let data = {
types: ['01']
}
agentAddApproval(data).then(res => {
this.$toast.clear()
if (res.result == '0') {
let resData = res.content.ebizExamineApproveDtoList
let obj = {}
if (resData.length > 0) {
this.isSuccess = true
resData.forEach(ele => {
obj = {}
obj.name = ele.name //申请人姓名
obj.referName = ele.referName //推荐人姓名
obj.team = ele.team //所属团队
obj.createdDate = ele.createdDate //申请时间
obj.baseId = ele.baseId //代理人id
this.approveList.push(obj)
})
}
}
})
},
//审批
goApprove(baseId) {
console.log(baseId)
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/approve/BasicInfo/${baseId}`,
pullRefresh: '1' //1:需要开启下拉刷新
},
routerInfo: { path: `/agentEenter/approve/BasicInfo/${baseId}` }
})
}
}
}
</script>
<style lang="scss" scoped></style>

View File

@@ -0,0 +1,120 @@
<template>
<div class="detail-container">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
<div class="pb80">
<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" />
</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.officeMangerName" />
<van-cell title="营业区经理代码" :value="referrerInfoDTO.areaManger" />
<van-cell title="营业区经理姓名" :value="referrerInfoDTO.areaMangerName" />
</van-cell-group>
</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>
</div>
</div>
</template>
<script>
import { agentAddApproval } from '@/api/ebiz/agentEenter/agentEenter.js'
import { Cell, CellGroup, Button } from 'vant'
import DataDictionary from '@/assets/js/utils/data-dictionary'
export default {
name: 'approveInfo',
components: {
[Cell.name]: Cell,
[CellGroup.name]: CellGroup,
[Button.name]: Button
},
data() {
return {
BasicInfoDTO: {}, //基本信息
referrerInfoDTO: {} //推荐人信息
}
},
mounted() {
//获取列表信息
this.getOrderList()
},
methods: {
//获取列表信息
getOrderList() {
let BasicParams = {
types: ['02', '03'],
ebizEnterCustomerDto: {
id: this.$route.params.baseId
}
}
//获取代理人信息、推荐人信息
agentAddApproval(BasicParams).then(res => {
if (res.result == '0') {
if (res.content) {
this.BasicInfoDTO = res.content.ebizEnterCustomerDto
this.referrerInfoDTO = res.content.ebizReferrerDto
}
}
})
},
//下一步
nextStep() {
let baseId = this.$route.params.baseId // 代理人id
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/approve/ApproveInfo/${baseId}`
},
routerInfo: { path: `/agentEenter/approve/ApproveInfo/${baseId}` }
})
}
}
}
</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%;
}
}
</style>

View File

@@ -0,0 +1,54 @@
<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 />
<h3 class="mb10">提交成功!</h3>
<van-button slot="button" class="mt20" size="small" plain type="danger" round @click="goBack">返回</van-button>
</div>
</div>
</template>
<script>
export default {
data() {
return {}
},
mounted() {
document.body.style.backgroundColor = '#fff'
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
},
methods: {
goBack() {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/approve/ApproveList`,
backToFirst: '1'
},
routerInfo: {
path: '/agentEenter/approve/ApproveList'
}
})
}
}
}
</script>
<style lang="scss" scoped>
.img {
width: 50px;
}
.green {
color: #1abc9c !important;
}
.payResult-container {
.payResult-header {
// height: 143px;
.payResult-img {
width: 70px;
height: 70px;
}
}
}
</style>

View File

@@ -183,7 +183,7 @@ export default {
} }
} }
}) })
}else{ } else {
this.$toast.fail(response.data.content.resultMessage) this.$toast.fail(response.data.content.resultMessage)
} }
} else { } else {
@@ -287,7 +287,7 @@ export default {
Dialog.confirm({ Dialog.confirm({
title: '提示', title: '提示',
message: '是否确认提交?手机号与证件信息会作为您入司的重要信息,一旦提交无法再次修改!' message: '是否确认提交?手机号与证件信息会作为您入司的重要信息,一旦提交无法再次修改!'
}).then(() => { }).then(() => {
let data = { let data = {
// userModel: { //线上去掉 // userModel: { //线上去掉
// mobile: '18978145583' // mobile: '18978145583'
@@ -297,7 +297,7 @@ export default {
// ebizReferrerDto: this.recommender // ebizReferrerDto: this.recommender
} }
console.log(data) console.log(data)
let that = this let that = this
that.$toast.loading({ that.$toast.loading({
duration: 0, // 持续展示 toast duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击 forbidClick: true, // 禁用背景点击
@@ -308,6 +308,7 @@ export default {
.then(res => { .then(res => {
// console.log(res) // console.log(res)
if (res.result == '0') { if (res.result == '0') {
this.$store.commit('updateAgentEnterApplyMsg', this.userInfo)
that.$toast.clear() that.$toast.clear()
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',

View File

@@ -3,14 +3,18 @@
<div class="payResult-header flex justify-content-fs align-items-c p30 box-sizing-bb w100h100r bg-white flex-direction-colunm"> <div class="payResult-header flex justify-content-fs align-items-c p30 box-sizing-bb w100h100r bg-white flex-direction-colunm">
<img :src="srcSuccess" class="payResult-img mb15 pt30" /> <img :src="srcSuccess" class="payResult-img mb15 pt30" />
<h3 class="mb10">填写成功</h3> <h3 class="mb10">填写成功</h3>
<p class="pt60">请扫描下方二维码下载金掌桂APP使用您所预留的手机号码进行登录完成后续自助入司操作</p> <p class="pt60">
请扫描下方二维码下载金掌桂APP安装后打开APP点击"加入我们"使用您所预留的手机号码{{ agentEnterApplyMobil }}及证件号{{
agentEnterApplyIdNo
}}进行登录完成后续自助入司操作
</p>
<div class="flex w315 pt30 justify-content-a"> <div class="flex w315 pt30 justify-content-a">
<div class="border-text w130 pv10 flex flex-direction-colunm justify-content-c align-items-c"> <div class="border-text w130 pv10 flex flex-direction-colunm justify-content-c align-items-c">
<img src="@/assets/images/share_left.png" class="share-img" alt /> <img src="@/assets/images/share_left.png" class="share-img" alt />
<span class="pt5">IOS</span> <span class="pt5">IOS</span>
</div> </div>
<div class="border-text w130 pv10 flex flex-direction-colunm justify-content-c align-items-c" > <div class="border-text w130 pv10 flex flex-direction-colunm justify-content-c align-items-c">
<img src="@/assets/images/share_right.png" class="share-img" alt /> <img src="@/assets/images/share_right.png" class="share-img" alt />
<span class="pt5">Android</span> <span class="pt5">Android</span>
</div> </div>
@@ -29,7 +33,9 @@ export default {
// 图片 // 图片
srcSuccess: this.$assetsUrl + 'images/success.png', srcSuccess: this.$assetsUrl + 'images/success.png',
srcPending: this.$assetsUrl + 'images/pending.png', srcPending: this.$assetsUrl + 'images/pending.png',
srcFail: this.$assetsUrl + 'images/fail.png' srcFail: this.$assetsUrl + 'images/fail.png',
agentEnterApplyMobil: '',
agentEnterApplyIdNo: ''
} }
}, },
components: { components: {
@@ -37,6 +43,11 @@ export default {
[CellGroup.name]: CellGroup [CellGroup.name]: CellGroup
}, },
methods: { methods: {
//获取新的被增人员的手机号、证件号
setLogAccount() {
this.agentEnterApplyMobil = this.$store.getters.getAgentEnterApplyMsg.agentEnterApplyMobil
this.agentEnterApplyIdNo = this.$store.getters.getAgentEnterApplyMsg.agentEnterApplyIdNo
}
// goBack() { // goBack() {
// this.$jump({ // this.$jump({
// flag: 'goBack', // flag: 'goBack',
@@ -49,6 +60,7 @@ export default {
// } // }
}, },
mounted() { mounted() {
this.setLogAccount()
document.body.style.backgroundColor = '#fff' document.body.style.backgroundColor = '#fff'
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
@@ -73,6 +85,6 @@ export default {
} }
} }
.border-text { .border-text {
border:1px solid #CCCCCC; border: 1px solid #cccccc;
} }
</style> </style>