津贴审批流程页面提交

This commit is contained in:
li.jieyu@ebiz-digits.com
2021-09-03 14:10:30 +08:00
committed by zhangqi1
parent 3f3cb48a95
commit ef3b5567a8
2 changed files with 386 additions and 0 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@ dist
.eslintrc.js
.prettierrc
.idea

View File

@@ -0,0 +1,385 @@
<template>
<div class="entry-container pt60 pb30 bg-white" v-if="proces">
<div class="ml80 w200 text-center">
入司申请<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="right-path">
<div class="h60 flex relative border-right active">
<i class="w10 h10 radius50 right-circle absolute bottom0"></i>
</div>
<div class="relative nowrap pv5">
<div class="flex align-items-c text-center">
<div>
<div>自助入司资料上传<br />及签署协议</div>
<span v-if="proces.approvalStatus == '03'" class="grey">{{ proces.approvalDate }}{{ proces.approvalTime }}</span>
</div>
<van-button
v-if="proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0"
@click="goBaseInfo"
class="ml15 ph10"
plain
type="primary"
>立即处理</van-button
>
</div>
</div>
<div>
<div
:class="['h60', 'flex', 'relative', 'border-right', proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0 ? '' : 'active']"
>
<i
:class="[
'w10',
'h10',
'radius50',
'absolute',
'bottom0',
proces.approvalStatus == '01' && proces.ebizExamineApproveDtoList.length == 0 ? 'right-cir' : 'right-circle'
]"
></i>
</div>
</div>
<!-- 审批人审批 -->
<div v-for="(item, index) in approveMapping" :key="index">
<div class="flex nowrap align-items-c text-center relative pv5" style="left:50%">
<div class="relative">
<div>
{{ item.name }}
<van-tag
v-if="ebizExamineApproveDtoList[index].examineApproveStatus == '2' || ebizExamineApproveDtoList[index].examineApproveStatus == '1'"
class="w60 absolute approval-vag"
:color="
ebizExamineApproveDtoList[index].examineApproveStatus == '1'
? '#cc6600'
: ebizExamineApproveDtoList[index].examineApproveResult == '1'
? 'green'
: 'red'
"
plain
>{{ ebizExamineApproveDtoList[index].examineApproveStatus | statusFormat(ebizExamineApproveDtoList[index].examineApproveResult) }}</van-tag
>
</div>
<van-button
@click="goSeeCause(index)"
v-if="ebizExamineApproveDtoList[index].examineApproveResult == '0'"
class="absolute approval-button ph10"
plain
type="primary"
>查看原因</van-button
>
</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
:class="[
'h60',
'flex',
'relative',
'border-right',
ebizExamineApproveDtoList[ebizExamineApproveDtoList.length - 1].examineApproveResult == '1' ? 'active' : ''
]"
></div>
</div>
<div>
<div class="text-center" style="width:400%;font-size:0">
<i
:class="[
'w10',
'h10',
'relative',
'right1',
'radius50 ',
'inline-b',
'middle-circle',
ebizExamineApproveDtoList[ebizExamineApproveDtoList.length - 1].examineApproveResult == '1' ? 'active' : ''
]"
></i>
</div>
<div class="nowrap text-center relative mt5" style="width:400%">
<span>查看协议</span>
<van-button
v-if="ebizExamineApproveDtoList[ebizExamineApproveDtoList.length - 1].examineApproveResult == '1'"
plain
type="primary"
class="absolute left120 ph15"
@click="seeShowPDF"
>查看协议</van-button
>
</div>
</div>
</div>
</div>
</template>
<script>
import { Tag, Dialog } from 'vant'
import { processCheck } from '@/api/ebiz/agentEenter/agentEenter'
export default {
data() {
return {
proces: null,
approvalFlag: false, //人员管理岗审批标志
approveMapping: [], //审批流程链
ebizExamineApproveDtoList: [], //历史审批信息链
refusalCause: '' //审批拒绝原因
}
},
components: {
[Tag.name]: Tag,
[Dialog.name]: Dialog
},
created() {
setTimeout(() => {
this.processCheck()
}, 1000)
localStorage.setItem('agentEnter-refusalCause', '')
},
methods: {
processCheck() {
let that = this
let data = {
// userModel: {
// //线上去掉
// mobile: '13000000000'
// }
}
that.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
processCheck(data).then(res => {
that.$toast.clear()
if (res.result == '0') {
that.proces = res.content
that.approveMapping = that.proces.approveMapping
if (that.proces.ebizExamineApproveDtoList.length > 0) {
that.proces.ebizExamineApproveDtoList.map(item => {
that.ebizExamineApproveDtoList.push(item)
})
} else {
that.approveMapping.forEach(val => {
that.ebizExamineApproveDtoList.push({ examineApproveStatus: '0' })
})
}
// if (that.proces.ebizExamineApproveDtoList.length > 0) {
// if (that.proces.ebizExamineApproveDtoList[that.proces.ebizExamineApproveDtoList.length - 1].examineApproveResult == '1') {
// that.ebizExamineApproveDtoList.push({ examineApproveStatus: '1' })
// } else {
// that.ebizExamineApproveDtoList.push({ examineApproveStatus: '0' })
// }
// }
if (that.approveMapping.length == that.ebizExamineApproveDtoList.length) {
that.approvalFlag = true
}
} else {
this.$toast(res.resultMessage)
}
})
},
goSign() {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/signContract`
},
routerInfo: {
path: `/agentEenter/signContract`
}
})
},
goBaseInfo() {
console.log('click上传')
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/AgentEenterBasicInfor`
},
routerInfo: {
path: `/agentEenter/AgentEenterBasicInfor`
}
})
},
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({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/seeCause?basicId=${this.ebizExamineApproveDtoList[0].baseId}`
},
routerInfo: {
path: `/agentEenter/seeCause?basicId=${this.ebizExamineApproveDtoList[0].baseId}`
}
})
},
seeShowPDF() {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/ShowPDF`
},
routerInfo: {
path: `/agentEenter/ShowPDF`
}
})
}
},
filters: {
statusFormat(examineApproveStatus, examineApproveResult) {
let text
if (examineApproveStatus == '1') {
text = '审批中'
} else if (examineApproveStatus == '2') {
text = examineApproveResult == '1' ? '审批通过' : '审批拒绝'
}
return text
}
}
}
</script>
<style lang="scss" scoped>
@import '@/assets/sass/common.scss';
.entry-container {
height: 100%;
font-size: 13px;
.path {
& > div {
width: 50%;
}
}
.nowrap {
white-space: nowrap;
}
.border-raduis {
border-radius: 5px;
}
.border-top {
border-top: 2px dotted #ddd;
}
.border-right {
border-right: 2px dotted #ddd;
}
.border-left {
border-left: 2px dotted #ddd;
}
.border-bottom {
border-bottom: 2px dotted #ddd;
}
.border-top-right-radius {
border-top-right-radius: 5px;
}
.border-top-left-radius {
border-top-left-radius: 5px;
}
.border-bottom-left-radius {
border-bottom-left-radius: 5px;
}
.active.border-left {
border-left: 2px solid #1296db;
}
.active.border-top {
border-top: 2px solid #1296db;
}
.active.border-right {
border-right: 2px solid #1296db;
}
.active.border-bottom {
border-bottom: 2px solid #1296db;
}
.approval-vag {
right: -70px;
}
.approval-vag2 {
right: -120px;
}
.approval-button {
bottom: -40px;
right: -78px;
height: 30px;
line-height: 30px;
}
.middle-circle {
background: #ddd;
}
.active.middle-circle {
background: #1296db;
}
.right-circle {
background: #1296db;
right: -6px;
}
.right-cir {
background: #ddd;
right: -6px;
}
.left-circle {
background: #1296db;
left: -6px;
}
.van-button--plain.van-button--primary {
color: #1296db;
border-color: #1296db;
}
button {
height: 30px;
line-height: 30px;
}
.grey {
color: #999;
}
.approval-vag {
height: 20px;
line-height: 20px;
}
.px-vag {
left: 80px;
height: 20px;
line-height: 20px;
}
}
</style>