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

<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>