普通工作流流动完成

This commit is contained in:
pixel
2020-11-23 18:13:46 +08:00
parent a487266f5b
commit 1591944756
10 changed files with 137 additions and 29 deletions

View File

@@ -27,8 +27,29 @@
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="start" type="primary">启动</el-button>
<el-button @click="back" type="primary">返回</el-button>
<el-button
v-if="this.wf.clazz == 'start'"
@click="start"
type="primary"
>启动</el-button
>
<el-button
v-if="this.wf.clazz == 'userTask'"
@click="complete('yes')"
type="primary"
>同意</el-button
>
<el-button
v-if="this.wf.clazz == 'userTask'"
@click="complete('no')"
type="primary"
>拒绝</el-button
>
<el-button
@click="back"
type="primary"
>返回</el-button
>
</el-form-item>
</el-form>
</div>
@@ -37,9 +58,11 @@
<script>
import {
startWorkflow,
completeWorkflowMove
} from "@/api/workflowProcess";
import infoList from "@/mixins/infoList";
import { mapGetters } from "vuex";
import Axios from 'axios';
export default {
name: "ExaWfLeave",
mixins: [infoList],
@@ -51,6 +74,10 @@ export default {
wf:{
type:Object,
default:function(){return{}}
},
workflowMoveID:{
type:Number,
default:0
}
},
data() {
@@ -65,6 +92,21 @@ export default {
};
},
computed:{
canShow(){
if(this.wf.assignType == "user"){
if(this.wf.assginValue.indexOf(","+this.userInfo.ID+",")>0){
return true
}else{
return false
}
}else if(this.wf.assign_type == "authority"){
if(this.wf.assginValue.indexOf(","+this.userInfo.authorityId+",")>0){
return true
}else{
return false
}
}
},
...mapGetters("user", ["userInfo"])
},
methods: {
@@ -72,6 +114,7 @@ export default {
const res = await startWorkflow({
business:this.formData,
wf:{
workflowMoveID:this.workflowMoveID,
businessId:0,
businessType:"leave",
workflowProcessID:this.wf.workflowProcessID,
@@ -87,18 +130,45 @@ export default {
type:"success",
message:"启动成功"
})
this.back()
}
},
async complete(param){
const res = await completeWorkflowMove({
business:this.formData,
wf:{
workflowMoveID:this.workflowMoveID,
businessID:this.formData.ID,
businessType:"leave",
workflowProcessID:this.wf.workflowProcessID,
workflowNodeID:this.wf.id,
promoterID:this.userInfo.ID,
operatorID:this.userInfo.ID,
action:"complete",
param:param
}
})
if(res.code == 0){
this.$message({
type:"success",
message:"提交"
})
this.back()
}
},
back(){
this.$router.go(-1)
}
},
async created() {
console.log(this.workflowMoveID)
// 建议通过url传参获取目标数据ID 调用 find方法进行查询数据操作 从而决定本页面是create还是update 以下为id作为url参数示例
if(this.business){
this.formData = this.business
}
}
};
</script>

View File

@@ -70,7 +70,7 @@ export default {
this.$router.push({
name: "workflowUse",
query: {
wfmId: row.ID
workflowMoveID: row.ID
}
})
}

View File

@@ -77,7 +77,7 @@ export default {
this.$router.push({
name: "workflowUse",
query: {
wfmId: row.ID
workflowMoveID: row.ID
}
})
}

View File

@@ -1,6 +1,6 @@
<template>
<div class="workflow-use">
<WorkflowInfo v-if="done" :wf="this.node" :business="business"/>
<WorkflowInfo v-if="done" :wf="this.node" :business="business" :workflowMoveID="$route.query.workflowMoveID" />
</div>
</template>
<script>
@@ -16,7 +16,7 @@ export default {
},
async created(){
const workflowId = this.$route.query.workflowId
const wfmId = this.$route.query.wfmId
const workflowMoveID = this.$route.query.workflowMoveID
if(workflowId){
const res = await findWorkflowStep({id:workflowId})
if(res.code == 0){
@@ -24,8 +24,8 @@ export default {
this.node = res.data.workflow.nodes[0]
this.done = true
}
}else if(wfmId){
const res = await getWorkflowMoveByID({id:wfmId})
}else if(workflowMoveID){
const res = await getWorkflowMoveByID({id:workflowMoveID})
if(res.code == 0){
this.business = res.data.business
this.node = res.data.move.workflowNode