事件API
一、流程表单的API
事件 | 必需 | ||
---|---|---|---|
submit(‘start’) | 是 | 送办 | 点击送办触发(未选人),需 this.$emit(‘next’, form)往下执行 |
submit(‘staging’) | 否 | 暂存 | |
startSubmit() | 否 | 开始后 | 送办后触发(已选人) |
handleSubmit() | 否 | 办理 | 点击办理触发(未选人),需 this.$emit(‘handle’, form)往下执行 |
handleAfterSubmit({ idea, audit}) | 否 | 办理后 | 送办后触发(已选人) |
endSubmit() | 否 | 结束 | 最后的节点且送办后触发(已选人) |
二、流程引擎传来的参数
props值 | 默认值 | 可选值 | 描述 |
---|---|---|---|
state | ‘add’ | add/edit/view/handle | add:发起 edit:编辑 view:查看 handle:办理时 |
data | {} | { id: xxxxx } | 发起时为空对象,编辑/查看/办理 返回 { id: xxxxx } |
finished: true/false | 当前流程事件已完成/已结束 |
例:办理时返回的参数
代码例子:
<template>
<el-form :model="form">
</el-form>
</template>
<script>
export default {
props: {
// 流程的数据
data: {
default() {
return {}
},
},
// 表单状态
state: {
default() {
return 'add'
},
},
},
data() {
return {
form: {},
}
},
watch: {
data: {
handler() {},
deep: true,
},
},
mounted() {
let id = this.data.id
if (id) {
this.form.id = id
this.loadData()
}
},
methods: {
loadData() {
// todo 重新加载业务数据,回显
this.$REQUEST({
url: `/xxx-api/v1/contracts/query`,
method: 'GET',
params: { id: this.form.id },
}).then((res) => {
this.form = res.data
this.$emit('form', this.form)
})
},
// 提交表单保存
submit(type) {
if (type == 'start') {
// todo 调用保存业务数据接口
this.$REQUEST({
url: `/xxx-api/v1/contracts/xxxx/add`,
method: 'POST',
data: this.form,
}).then((res) => {
this.form = res.data
// 必需-回调 id
this.$emit('next', this.form)
})
} else {
// todo 调用保存业务数据接口
}
},
// 最终节点执行
endSubmit() {
// todo 非必需 - 调用业务接口
},
},
}
</script>
<style lang="less" scoped>
</style>
三、节点规则,所必需数据,否则规则无法判断
回调数据,办理时,需把业务数据传到
流程中心
, 否则规则无法判断在
index.vue
传到父级if (!this.data.id) { return } // 根据id获取详情 this.$REQUEST({ url: `/xxx-api/v1/contracts/query`, method: 'GET', params: { id: this.data.id }, }).then((res) => { this.form = res.data this.$emit('form', this.form) })
事件 | 必需 | |
---|---|---|
$emit() | 是 | 获取到业务数据后,需 this.$emit(‘form’, form) 传参到父级 |
四、注意点
请求的方法
1/ this.$REQUEST
2/ fetch()
注:不能使用axios;不能import @/api文件里的。部分ES6语法不可用创建表单建模 / mate绑定formId / 创建流程服务 / 绑定表单js
预览表单 — /xx路由/preview
流程服务 编辑 / 更新js / 沙箱安装 / 控制台 / 应用套件 / 编辑流程 / 发布
文档更新时间: 2023-05-25 17:26 作者:戴均豪