feat:工作流优化

This commit is contained in:
weifs 2023-04-20 16:10:39 +08:00
parent 2cf661b54f
commit de7e74ff19
2 changed files with 79 additions and 83 deletions

View File

@ -35,8 +35,10 @@
<Divider/> <Divider/>
<h3 class="review-details-subtitle">{{$L('审批记录')}}</h3> <h3 class="review-details-subtitle">{{$L('审批记录')}}</h3>
<Timeline style="margin-top: 20px;"> <Timeline style="margin-top: 20px;">
<template v-for="(item,key) in datas.node_infos">
<!-- 提交 --> <!-- 提交 -->
<TimelineItem v-for="(item,key) in datas.node_infos" :key="key" v-if="item.type == 'starter'" color="green"> <TimelineItem :key="key" v-if="item.type == 'starter'" color="green">
<p class="timeline-title">{{$L('提交')}}</p> <p class="timeline-title">{{$L('提交')}}</p>
<div style="display: flex;"> <div style="display: flex;">
<Avatar :src="data.userimg || datas.userimg" size="38"/> <Avatar :src="data.userimg || datas.userimg" size="38"/>
@ -50,8 +52,9 @@
</div> </div>
</div> </div>
</TimelineItem> </TimelineItem>
<!-- 审批 --> <!-- 审批 -->
<TimelineItem v-for="(item,key) in datas.node_infos" :key="key" v-if="item.type == 'approver' && item._show" <TimelineItem :key="key" v-if="item.type == 'approver' && item._show"
:color="item.identitylink ? (item.identitylink?.state > 1 ? '#f03f3f' :'green') : '#ccc'" :color="item.identitylink ? (item.identitylink?.state > 1 ? '#f03f3f' :'green') : '#ccc'"
> >
<p class="timeline-title">{{$L('审批')}}</p> <p class="timeline-title">{{$L('审批')}}</p>
@ -77,10 +80,11 @@
<p>{{item.claim_time?.substr(0,16)}}</p> <p>{{item.claim_time?.substr(0,16)}}</p>
</div> </div>
</div> </div>
<p class="comment" v-if="item.identitylink?.state==2">{{ datas.latest_comment }}</p> <p class="comment" v-if="item.identitylink?.comment">{{ item.identitylink?.comment }}</p>
</TimelineItem> </TimelineItem>
<!-- 抄送 --> <!-- 抄送 -->
<TimelineItem v-for="(item,key) in datas.node_infos" :key="key" :color="item.is_finished ? 'green' : '#ccc'" v-if="item.type == 'notifier' && item._show"> <TimelineItem :key="key" :color="item.is_finished ? 'green' : '#ccc'" v-if="item.type == 'notifier' && item._show">
<p class="timeline-title">{{$L('抄送')}}</p> <p class="timeline-title">{{$L('抄送')}}</p>
<div style="display: flex;"> <div style="display: flex;">
<Avatar :src="'/images/avatar/default_bot.png'" size="38"/> <Avatar :src="'/images/avatar/default_bot.png'" size="38"/>
@ -95,8 +99,9 @@
</div> </div>
</div> </div>
</TimelineItem> </TimelineItem>
<!-- 结束 --> <!-- 结束 -->
<TimelineItem v-for="(item,key) in datas.node_infos" :key="key" :color="item.is_finished ? 'green' : '#ccc'" v-if="item.aprover_type == 'end'"> <TimelineItem :key="key" :color="item.is_finished ? 'green' : '#ccc'" v-if="item.aprover_type == 'end'">
<p class="timeline-title">{{$L('结束')}}</p> <p class="timeline-title">{{$L('结束')}}</p>
<div style="display: flex;"> <div style="display: flex;">
<Avatar :src="'/images/avatar/default_bot.png'" size="38"/> <Avatar :src="'/images/avatar/default_bot.png'" size="38"/>
@ -106,6 +111,9 @@
</div> </div>
</div> </div>
</TimelineItem> </TimelineItem>
</template>
</Timeline> </Timeline>
</div> </div>
<div class="review-operation" v-if="datas.state<=1"> <div class="review-operation" v-if="datas.state<=1">
@ -155,7 +163,7 @@ export default {
isShowWarningBtn(){ isShowWarningBtn(){
let is = this.userId == this.datas.start_user_id; let is = this.userId == this.datas.start_user_id;
(this.datas.node_infos || []).map(h=>{ (this.datas.node_infos || []).map(h=>{
if(h.type != 'starter' && h.is_finished == true) { if(h.type != 'starter' && h.is_finished == true && h.identitylink.userid != this.userId) {
is = false; is = false;
} }
}) })
@ -252,7 +260,7 @@ export default {
} }
}).then(({msg}) => { }).then(({msg}) => {
$A.messageSuccess(msg); $A.messageSuccess(msg);
if(this.$route.name=='manage-review-details'){ if(this.$route.name=='manage-review-details' || this.$route.name=='manage-messenger'){
this.getInfo() this.getInfo()
}else{ }else{
this.$emit('approve') this.$emit('approve')
@ -280,7 +288,7 @@ export default {
}).then(({msg}) => { }).then(({msg}) => {
$A.messageSuccess(msg); $A.messageSuccess(msg);
resolve(); resolve();
if(this.$route.name=='manage-review-details'){ if(this.$route.name=='manage-review-details' || this.$route.name=='manage-messenger'){
this.getInfo() this.getInfo()
}else{ }else{
this.$emit('revocation') this.$emit('revocation')

View File

@ -139,16 +139,7 @@
<span>开始时间:{{$data->start_time}}</span> <span>开始时间:{{$data->start_time}}</span>
<span>结束时间:{{$data->end_time}}</span> <span>结束时间:{{$data->end_time}}</span>
</div><div class="btn-raw"> </div><div class="btn-raw">
@if ($action === 'pass')
<Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已同意</Button> <Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已同意</Button>
@elseif ($action === 'refuse')
<Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已拒绝</Button>
@elseif ($action === 'withdraw')
<Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已撤销</Button>
@else
<Button type="button" class="ivu-btn ivu-btn-primary ivu-btn-small" style="flex: 1;">同意</Button>
<Button type="button" class="ivu-btn ivu-btn-error ivu-btn-small" style="flex: 1;">拒绝</Button>
@endif
</div></span> </div></span>
@elseif ($type === 'workflow_submitter') @elseif ($type === 'workflow_submitter')
<span class="open-review-details" data-id="{{$data->id}}"><b> @if ($action === 'pass')您发起的「{{$data->proc_def_name}}」已通过 @else您发起的「{{$data->proc_def_name}}」被{{$data->nickname}}拒绝 @endif</b> <span class="open-review-details" data-id="{{$data->id}}"><b> @if ($action === 'pass')您发起的「{{$data->proc_def_name}}」已通过 @else您发起的「{{$data->proc_def_name}}」被{{$data->nickname}}拒绝 @endif</b>
@ -166,9 +157,6 @@
<Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已拒绝</Button> <Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已拒绝</Button>
@elseif ($action === 'withdraw') @elseif ($action === 'withdraw')
<Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已撤销</Button> <Button type="button" class="ivu-btn ivu-btn-small" style="flex: 1;">已撤销</Button>
@else
<Button type="button" class="ivu-btn ivu-btn-primary ivu-btn-small" style="flex: 1;">同意</Button>
<Button type="button" class="ivu-btn ivu-btn-error ivu-btn-small" style="flex: 1;">拒绝</Button>
@endif @endif
</div></span> </div></span>
@else @else