bladex前端ui项目,基于avue-cli2.0开发
包含基础工作流,不包含表单设计器
https://git.javablade.com/blade/Saber
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
3.1 KiB
112 lines
3.1 KiB
<template> |
|
<div> |
|
<basic-container> |
|
<avue-form :option="option" v-model="form" @submit="handleSubmit"/> |
|
</basic-container> |
|
<basic-container> |
|
<flow-design :is-display="true" :process-definition-id="processDefinitionId"></flow-design> |
|
</basic-container> |
|
</div> |
|
</template> |
|
|
|
<script> |
|
import {leaveProcess} from "@/api/work/process"; |
|
|
|
export default { |
|
data() { |
|
return { |
|
processDefinitionId: '', |
|
form: {}, |
|
option: { |
|
group: [ |
|
{ |
|
icon: 'el-icon-info', |
|
label: '请假基础信息', |
|
prop: 'group1', |
|
column: [ |
|
{ |
|
label: '审批人员', |
|
prop: 'taskUser', |
|
type: 'select', |
|
dicUrl: `/api/blade-user/user-list`, |
|
props: { |
|
label: "account", |
|
value: "id" |
|
}, |
|
span: 24, |
|
rules: [ |
|
{ |
|
required: true, |
|
message: '请选择审批人员', |
|
trigger: 'blur' |
|
} |
|
] |
|
}, |
|
{ |
|
label: '开始时间', |
|
prop: 'startTime', |
|
type: 'datetime', |
|
valueFormat: 'yyyy-MM-dd HH:mm:ss', |
|
rules: [ |
|
{ |
|
required: true, |
|
message: '请选择开始时间', |
|
trigger: 'blur' |
|
} |
|
] |
|
}, |
|
{ |
|
label: '结束时间', |
|
prop: 'endTime', |
|
type: 'datetime', |
|
valueFormat: 'yyyy-MM-dd HH:mm:ss', |
|
rules: [ |
|
{ |
|
required: true, |
|
message: '请选择结束时间', |
|
trigger: 'blur' |
|
} |
|
] |
|
}, |
|
{ |
|
label: '请假理由', |
|
prop: 'reason', |
|
type: 'textarea', |
|
span: 24, |
|
rules: [ |
|
{ |
|
required: true, |
|
message: '请输入请假理由', |
|
trigger: 'blur' |
|
} |
|
] |
|
}, |
|
] |
|
}, |
|
], |
|
} |
|
} |
|
}, |
|
created() { |
|
this.processDefinitionId = this.$route.params.processDefinitionId; |
|
}, |
|
methods: { |
|
handleSubmit() { |
|
const params = { |
|
processDefinitionId: this.$route.params.processDefinitionId, |
|
...this.form, |
|
}; |
|
leaveProcess(params).then(resp => { |
|
const data = resp.data; |
|
if (data.success) { |
|
this.$message.success(data.msg); |
|
this.$router.$avueRouter.closeTag(); |
|
this.$router.push({path: `/work/start`}); |
|
} else { |
|
this.$message.error(data.msg || '提交失败'); |
|
} |
|
}); |
|
} |
|
} |
|
} |
|
</script>
|
|
|