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

# Conflicts:
#	src/views/ebiz/agentEenter/AgentEenterBasicInfor.vue
#	src/views/ebiz/agentEenter/EntryProcess.vue
#	src/views/ebiz/agentEenter/SeeCause.vue
This commit is contained in:
yuweiqi
2020-02-18 16:33:01 +08:00
7 changed files with 225 additions and 117 deletions

View File

@@ -10,17 +10,24 @@ export default new Vuex.Store({
app
},
state: {
pageFlag: '',
pageFlag: '', //理赔申请-区分被保人/申请人页面flag
agentEnterApplyMobil: '', //自助入司-新的被增员人填好的基础信息里的电话号码
agentEnterApplyIdNo: '' //自助入司-新的被增员人填好的基础信息里的证件号码
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: {
@@ -29,6 +36,9 @@ export default new Vuex.Store({
},
getAgentEnterApplyMsg(state) {
return state
},
getRefusalCause(state) {
return state.refusalCause
}
}
})

View File

@@ -54,8 +54,8 @@
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="请输入" 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="健康状况"
@@ -100,15 +100,15 @@
required
/>
<van-field v-model="userInfo.school" label="毕业院校" name="毕业院校" placeholder="请输入" v-validate="'required'" clearable required />
<!-- <van-field
<van-field
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.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> -->
@@ -116,8 +116,8 @@
<!-- <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.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="请输入" 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="请输入" clearable />
<van-field :value="userInfo.bankName" label="开户银行" name="开户银行" v-validate="'required'" required readonly />
<!-- @click="focus"
right-icon="arrow"
@@ -192,8 +192,10 @@
placeholder="请选择"
@click="toSelect('13')"
label="职级"
v-validate="'required'"
name="职级"
readonly
required
v-validate="'required'"
/>
</van-cell-group>
<van-cell-group class="" :border="false">

View File

@@ -1,12 +1,11 @@
<template>
<div class="entry-container pt60 bg-white" v-if="proces">
<div class="ml80 w200 text-center pv5">
入司申请<br />
<span class="grey">{{ proces.applyDate }}</span>
入司申请<br />
<span class="grey">{{ proces.applyDate }}</span>
</div>
<div class="ml80 w100 flex path relative" style="flex-wrap: wrap">
<div class="left-path flex" style="flex-direction: column">
</div>
<div class="left-path flex" style="flex-direction: column"></div>
<div class="right-path">
<div class="h60 flex relative border-right active">
<i class="w10 h10 radius50 right-circle absolute bottom0"></i>
@@ -17,55 +16,138 @@
<div>自助入司资料上传</div>
<span class="grey">{{ proces.approvalDate }}</span>
</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
>
</div>
</div>
<div v-if="(proces.trajectoryList == null && proces.approvalStatus == '02') || (proces.trajectory_list == null && proces.approvalStatus == '21')">
<div class="h50 flex relative border-right active">
<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>
人员管理岗审批
<van-tag class="w60 absolute approval-vag" color="#cc6600" plain>审批中</van-tag>
</div>
</div>
</div>
</div>
<div v-else>
<div v-for="(item, index) in proces.trajectoryList" :key="index">
<div class="h60 flex relative border-right active">
<!-- 审批人审批 -->
<div v-for="(item, index) in approveMapping" :key="index">
<div class="h60 flex relative border-right active" v-if="index == 0">
<i class="w10 h10 radius50 right-circle absolute bottom0"></i>
</div>
<div class="flex nowrap align-items-c text-center relative pv5">
<div v-else :class="['h60', 'flex', 'relative', 'border-right', ebizExamineApproveDtoList[index - 1].examineApproveResult == '1' ? 'active' : '']">
<i
:class="[
'w10',
'h10',
'radius50',
'absolute',
'bottom0',
ebizExamineApproveDtoList[index - 1].examineApproveResult == '1' ? 'right-circle' : 'right-cir'
]"
></i>
</div>
<div class="flex nowrap align-items-c text-center relative pv5" style="left:50%">
<div class="relative">
<div class="relative">
人员管理岗审批
<div>
{{ item.name }}
<van-tag
v-if="item.approvalStatus"
v-if="
(ebizExamineApproveDtoList[index].examineApproveStatus == '2' || ebizExamineApproveDtoList[index].examineApproveStatus == '1') &&
proces.approvalStatus != '02' &&
proces.approvalStatus != '03' &&
proces.approvalStatus != '21' &&
proces.approvalStatus != '04'
"
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
>{{ item.approvalStatus | statusFormat }}</van-tag
>{{ ebizExamineApproveDtoList[index].examineApproveStatus | statusFormat(ebizExamineApproveDtoList[index].examineApproveResult) }}</van-tag
>
</div>
<span v-if="item.approvalStatus == '03' || item.approvalStatus == '04'" class="grey">{{ item.approvalDate }}</span>
<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"
<van-button
@click="goSeeCause(index)"
v-if="ebizExamineApproveDtoList[index].examineApproveResult == '0'"
class="absolute approval-button ph10"
plain
type="primary"
>查看原因</van-button
>
</div>
</div>
</div>
<!-- 人员管理岗审批 (销管审批)-->
<div>
<div
:class="[
'h50',
'flex',
'relative',
'border-right',
proces.approvalStatus == '02' || proces.approvalStatus == '03' || proces.approvalStatus == '21' || proces.approvalStatus == '04' || approvalFlag
? 'active'
: ''
]"
>
<i
:class="[
'w10',
'h10',
'radius50',
'absolute',
'bottom0',
proces.approvalStatus == '02' || proces.approvalStatus == '03' || proces.approvalStatus == '21' || proces.approvalStatus == '04' || approvalFlag
? 'right-circle'
: 'right-cir'
]"
></i>
</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
:class="[
'h60',
'flex',
'relative',
'border-right',
proces.approvalStatus == '05' || proces.approvalStatus == '06' || proces.approvalStatus == '07' || proces.approvalStatus == '08' ? 'active' : ''
]"
></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">
<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 class="nowrap text-center relative mt5" style="width:400%">
<span>签署协议</span>
@@ -87,9 +169,10 @@ export default {
data() {
return {
proces: null,
granting: [],
failArr: [],
successArr: []
approvalFlag: false, //人员管理岗审批标志
approveMapping: [], //审批流程链
ebizExamineApproveDtoList: [], //历史审批信息链
refusalCause: '' //审批拒绝原因
}
},
components: {
@@ -121,7 +204,6 @@ export default {
})
processCheck(data).then(res => {
that.$toast.clear()
console.log(res, 'ressss')
if (res.result == '0') {
if (res.content.trajectoryList != null) {
res.content.trajectoryList.map((item, index, array) => {
@@ -164,7 +246,36 @@ export default {
}
that.proces = res.content
console.log(' that.proces', that.proces)
console.log(' that.proces', that.ebizExamineApproveDtoList.length)
that.approveMapping = that.proces.approveMapping
that.ebizExamineApproveDtoList = that.proces.ebizExamineApproveDtoList
if (that.approveMapping.length == that.ebizExamineApproveDtoList.length) {
that.approvalFlag = true
}
if (that.approveMapping.length == that.ebizExamineApproveDtoList.length + 1) {
if (that.ebizExamineApproveDtoList.length == 0) {
that.ebizExamineApproveDtoList.push({ examineApproveStatus: 1 })
} else if (that.ebizExamineApproveDtoList[that.ebizExamineApproveDtoList.length - 1].examineApproveResult == '0') {
//如果前一审批结果为拒绝审批
that.ebizExamineApproveDtoList.push({ examineApproveStatus: 0 })
} else {
that.ebizExamineApproveDtoList.push({ examineApproveStatus: 1 })
}
}
if (that.approveMapping.length > that.ebizExamineApproveDtoList.length + 1) {
if (that.ebizExamineApproveDtoList.length == 0) {
that.ebizExamineApproveDtoList.push({ examineApproveStatus: 1 })
} else if (that.ebizExamineApproveDtoList[that.ebizExamineApproveDtoList.length - 1].examineApproveResult == '0') {
//如果前一审批结果为拒绝审批
that.ebizExamineApproveDtoList.push({ examineApproveStatus: 0 })
} else {
that.ebizExamineApproveDtoList.push({ examineApproveStatus: 1 })
}
let arr = that.approveMapping.slice(that.ebizExamineApproveDtoList.length)
arr.forEach(val => {
that.ebizExamineApproveDtoList.push({ examineApproveStatus: 0 })
})
}
} else {
this.$toast(res.resultMessage)
}
@@ -193,7 +304,19 @@ 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']
}
this.$store.commit('updateRefusalCause', this.refusalCause)
this.$jump({
flag: 'h5',
extra: {
@@ -217,24 +340,12 @@ export default {
}
},
filters: {
statusFormat(status) {
statusFormat(examineApproveStatus, examineApproveResult) {
let text
switch (status) {
case '01':
text = '未申请'
break
case '02':
text = '审批中'
break
case '03':
text = '审批通过'
break
case '04':
text = '审批拒绝'
break
case '21':
text = '审批中'
break
if (examineApproveStatus == '1') {
text = '审批中'
} else {
text = examineApproveResult == '1' ? '审批通过' : '拒绝审批'
}
return text
}
@@ -295,6 +406,9 @@ export default {
.approval-vag {
right: -70px;
}
.approval-vag2 {
right: -120px;
}
.approval-button {
bottom: -40px;
right: -78px;

View File

@@ -1,13 +1,22 @@
<template>
<div>
<div class="p15 text-center fs14 ">
<img src="@/assets/images/cause.png" class=" mb15 pt15" />
<h4 class="text-left ph50">入司资料审核不通过可能是以下问题请修改相应资料确认无误后再次提交审核</h4>
<div class="text-left mt60 c-gray-base">未通过原因</div>
<div class="text-left c-gray-base" v-if="proces.trajectoryList.length>0">
<div v-for="(causeText, index) in proces.trajectoryList" v-if="index == proces.trajectoryList.length - 1" :key="index">{{ causeText.approvalOpinion }}</div>
<img :src="srcSuccess" class=" mb15 pt15" width="100" />
<div v-if="refusalCause == '' || refusalCause == undefined">
<h4 class="text-left ph50">入司资料审核不通过可能是以下问题请修改相应资料确认无误后再次提交审核</h4>
<div class="text-left mt60 c-gray-base">未通过原因</div>
<ul class="text-left c-gray-base">
<li v-for="(causeText, index) in cause" :key="index">{{ index + 1 }}.{{ causeText.text }}</li>
</ul>
</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>
</template>
@@ -21,21 +30,21 @@ export default {
// srcSuccess: this.$assetsUrl + 'images/fail.png',
pdfUrl: '',
checked: false,
proces: {
trajectoryList:[]
},
granting: [],
failArr: [],
successArr: []
refusalCause: '', //审批拒绝原因
cause: [
{
text: '入司基本信息中家庭地址不够详细'
},
{
text: '入司影像信息中银行卡影像模糊不清'
}
]
}
},
created() {},
mounted() {
;(document.body.style.backgroundColor = '#fff'),
this.processCheck()
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
this.refusalCause = this.$store.getters.getRefusalCause
console.log('refusalCause ==', this.refusalCause)
},
methods: {
goBaseInfo() {
@@ -58,8 +67,7 @@ export default {
loadingType: 'spinner',
message: '加载中……'
})
let data = {
}
let data = {}
processCheck(data).then(res => {
// console.log(res)
// console.log('res.result', res.result)

View File

@@ -121,7 +121,7 @@ export default {
// agentGrade: 'A201' // 审批人职级
// },
result: this.approvalResult, //审批结果 0-拒绝审批 1-通过
Msg: this.approvalMsg //审批原因
msg: this.approvalMsg //审批原因
}
// this.$jump({
// flag: 'h5',
@@ -132,7 +132,7 @@ export default {
// },
// routerInfo: { path: `/agentEenter/approve/SubmitSuccess` }
// })
console.log('审批结果==', params)
agentAddApproval(params).then(res => {
console.log('res ==', res)
if (res.result == '0') {

View File

@@ -22,7 +22,7 @@
<div class="inline-b">
<van-tag plain color="#5CA7DE">所属团队</van-tag>
</div>
<span class="fs14 c-gray-dark ml20">{{ item.examineApproveTeam }}</span>
<span class="fs14 c-gray-dark ml20">{{ item.team }}</span>
</div>
<div class="mb10">
<div class="inline-b">
@@ -82,34 +82,6 @@ export default {
id: 'A864501000001' //审批人工号
}
}
// let resData = [
// {
// ebizEnterCustomerDto: { name: '张三' },
// ebizReferrerDto: { referName: '推荐人李四' },
// ebizHisExamineApproveDtoList: { examineApproveTeam: '李四团队' },
// ebizExamineApproveDtoList: { createdDate: '2020-01-27', baseId: '57' }
// },
// {
// ebizEnterCustomerDto: { name: '张san' },
// ebizReferrerDto: { referName: '推荐人李si' },
// ebizHisExamineApproveDtoList: { examineApproveTeam: '李四团队' },
// ebizExamineApproveDtoList: { createdDate: '2020-02-01', baseId: '57' }
// }
// ]
// let obj = {}
// if (resData.length > 0) {
// this.$toast.clear()
// resData.forEach(ele => {
// obj = {}
// obj.name = ele.ebizEnterCustomerDto.name //申请人姓名
// obj.referName = ele.ebizReferrerDto.referName //推荐人姓名
// obj.examineApproveTeam = ele.ebizHisExamineApproveDtoList.examineApproveTeam //所属团队
// obj.createdDate = ele.ebizExamineApproveDtoList.createdDate //申请时间
// obj.baseId = ele.ebizExamineApproveDtoList.baseId //代理人id
// this.approveList.push(obj)
// })
// this.isSuccess = true
// }
agentAddApproval(data).then(res => {
this.$toast.clear()
if (res.result == '0') {
@@ -121,7 +93,7 @@ export default {
obj = {}
obj.name = ele.createdUser //申请人姓名
obj.referName = ele.referName //推荐人姓名
obj.examineApproveTeam = ele.examineApproveTeam //所属团队
obj.team = ele.team //所属团队
obj.createdDate = ele.createdDate //申请时间
obj.baseId = ele.baseId //代理人id
this.approveList.push(obj)

View File

@@ -4,7 +4,9 @@
<img :src="srcSuccess" class="payResult-img mb15 pt30" />
<h3 class="mb10">填写成功</h3>
<p class="pt60">
请扫描下方二维码下载金掌桂APP使用您所预留的手机号码{{ agentEnterApplyMobil }}及证件号{{ agentEnterApplyIdNo }}进行登录完成后续自助入司操作
请扫描下方二维码下载金掌桂APP安装后打开APP点击"加入我们"使用您所预留的手机号码{{ agentEnterApplyMobil }}及证件号{{
agentEnterApplyIdNo
}}进行登录完成后续自助入司操作
</p>
<div class="flex w315 pt30 justify-content-a">