2020-11-12 18:21:03 +08:00
|
|
|
<template>
|
2020-11-24 18:07:14 +08:00
|
|
|
<div class="workflow-use">
|
|
|
|
<div style="padding:10px 20px">
|
|
|
|
<el-steps :active="moves.length-1" :process-status="processStatus" finish-status="finish" align-center>
|
|
|
|
<el-step v-for="(item, key) in moves" :key="key">
|
|
|
|
<div slot="title">{{ item.workflowNode.label }}</div>
|
|
|
|
<div slot="description">
|
|
|
|
<div>节点说明:{{ item.workflowNode.description }}</div>
|
|
|
|
<div>操作人:{{ item.promoter.nickName }}</div>
|
|
|
|
<div>操作参数:{{ item.param||'无参数' }}</div>
|
|
|
|
</div>
|
|
|
|
</el-step>
|
|
|
|
</el-steps>
|
|
|
|
</div>
|
|
|
|
<WorkflowInfo
|
|
|
|
v-if="done"
|
|
|
|
:wf="this.node"
|
|
|
|
:business="business"
|
|
|
|
:workflowMoveID="$route.query.workflowMoveID"
|
|
|
|
/>
|
|
|
|
</div>
|
2020-11-12 18:21:03 +08:00
|
|
|
</template>
|
|
|
|
<script>
|
2020-11-19 17:24:05 +08:00
|
|
|
import {findWorkflowStep,getWorkflowMoveByID} from "@/api/workflowProcess.js"
|
2020-11-12 18:21:03 +08:00
|
|
|
export default {
|
|
|
|
name:"WorklowUse",
|
|
|
|
data(){
|
|
|
|
return{
|
2020-11-19 17:24:05 +08:00
|
|
|
done:false,
|
|
|
|
business:null,
|
2020-11-24 18:07:14 +08:00
|
|
|
node:null,
|
|
|
|
moves:[]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
computed:{
|
|
|
|
processStatus(){
|
|
|
|
const node = this.moves[this.moves.length-1]
|
|
|
|
if(node&&node.workflowNode.clazz == "end"){
|
|
|
|
if(node.workflowNode.success){
|
|
|
|
return "success"
|
|
|
|
}else{
|
|
|
|
return "error"
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
return "process"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods:{
|
|
|
|
createDone(){
|
|
|
|
let path = ""
|
|
|
|
if(this.node.view){
|
|
|
|
path = this.node.view
|
|
|
|
}else{
|
|
|
|
path = this.workflow.view
|
|
|
|
}
|
|
|
|
this.$options.components.WorkflowInfo = ()=>import("@/"+path)
|
|
|
|
this.done = true
|
2020-11-12 18:21:03 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
async created(){
|
|
|
|
const workflowId = this.$route.query.workflowId
|
2020-11-23 18:13:46 +08:00
|
|
|
const workflowMoveID = this.$route.query.workflowMoveID
|
2020-11-12 18:21:03 +08:00
|
|
|
if(workflowId){
|
|
|
|
const res = await findWorkflowStep({id:workflowId})
|
|
|
|
if(res.code == 0){
|
|
|
|
this.workflow = res.data.workflow
|
2020-11-17 16:41:43 +08:00
|
|
|
this.node = res.data.workflow.nodes[0]
|
2020-11-24 18:07:14 +08:00
|
|
|
this.createDone()
|
2020-11-12 18:21:03 +08:00
|
|
|
}
|
2020-11-23 18:13:46 +08:00
|
|
|
}else if(workflowMoveID){
|
|
|
|
const res = await getWorkflowMoveByID({id:workflowMoveID})
|
2020-11-19 17:24:05 +08:00
|
|
|
if(res.code == 0){
|
|
|
|
this.business = res.data.business
|
2020-11-24 18:07:14 +08:00
|
|
|
this.workflow = res.data.move.workflowProcess
|
2020-11-19 17:24:05 +08:00
|
|
|
this.node = res.data.move.workflowNode
|
2020-11-24 18:07:14 +08:00
|
|
|
this.moves = res.data.moves
|
|
|
|
this.createDone()
|
2020-11-19 17:24:05 +08:00
|
|
|
}
|
2020-11-12 18:21:03 +08:00
|
|
|
}
|
2020-11-17 16:41:43 +08:00
|
|
|
},
|
|
|
|
beforeCreate(){
|
2020-11-24 18:07:14 +08:00
|
|
|
|
2020-11-12 18:21:03 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|