[FIX]自助入司-入司流程显示、入司基本信息填写职级增加必填样式及校验

This commit is contained in:
yuweiqi
2020-02-18 16:16:36 +08:00
parent f0d6d0f534
commit e3dcfa2c09
2 changed files with 179 additions and 48 deletions

View File

@@ -176,7 +176,17 @@
placeholder="请选择"
@click="toSelect('15')"
/>
<van-field :value="userInfo.applGrade | idToText('applGrade')" right-icon="arrow" placeholder="请选择" @click="toSelect('13')" label="职级" 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 class="" :border="false">
<p style=" border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 mt10 pv12">推荐人信息</p>

View File

@@ -4,8 +4,7 @@
入司申请<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>
@@ -16,51 +15,138 @@
<div>自助入司资料上传</div>
<span v-if="proces.approvalStatus == '03'" class="grey">{{ proces.approvalDate }}{{ proces.approvalTime }}</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.approvalStatus == '02'" class="h50 flex relative border-right">
<i class="w10 h10 radius50 right-cir absolute bottom0"></i>
</div>
<div v-if="proces.approvalStatus == '02'" class="relative nowrap grey pv5">
<div class="flex align-items-c text-center">
<div>
<div>人员管理岗审批</div>
</div>
</div>
</div> -->
<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="item.approvalStatus == '04'" 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 :class="['h60', 'flex', 'relative', 'border-right', proces.approvalStatus == '06' || proces.approvalStatus == '07' ? 'active' : '']"></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>
<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>
@@ -81,7 +167,11 @@ import { processCheck } from '@/api/ebiz/agentEenter/agentEenter'
export default {
data() {
return {
proces: null
proces: null,
approvalFlag: false, //人员管理岗审批标志
approveMapping: [], //审批流程链
ebizExamineApproveDtoList: [], //历史审批信息链
refusalCause: '' //审批拒绝原因
}
},
components: {
@@ -108,10 +198,38 @@ export default {
})
processCheck(data).then(res => {
that.$toast.clear()
console.log(res,'ressss')
if (res.result == '0') {
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)
}
@@ -140,7 +258,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: {
@@ -164,24 +294,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
}
@@ -242,6 +360,9 @@ export default {
.approval-vag {
right: -70px;
}
.approval-vag2 {
right: -120px;
}
.approval-button {
bottom: -40px;
right: -78px;