前端明细操作
EggBornJS向前端组件
对象注入了对象$api
,在前端组件中可以通过this.$api
访问后端API路由,从而进行原子操作
后端明细操作
模块a-detail
通过Bean组件对明细基本操作进行了封装
create
- 前端
this.$api.post('/a/detail/detail/create', {
flowTaskId,
atomKey:{
atomId,
},
detailClass: {
id,
module,
detailClassName,
},
item,
}).then(key => {
console.log(key);
});
- 后端
const user = this.ctx.state.user.op;
const key = await this.ctx.bean.detail.create({
atomKey,
detailClass,
item,
user,
});
- 返回值
名称 | 说明 |
---|---|
key | 明细Key:{ detailId , detailItemId } |
- 参数
名称 | 说明 |
---|---|
flowTaskId | 如果是在审批工作流 中操作明细数据,需要提供当前所在的任务Id ,以便获取相应的操作权限。(下同) |
atomKey | 原子Key |
detailClass.id | 明细类型Id |
detailClass.module | 明细类型所属模块 |
detailClass.detailClassName | 明细类型名称 |
item | 初始化数据 |
user | 当前用户 |
-
flowTaskId:提供flowTaskId参数的目的是在
审批工作流
中提供权限判断的依据。因此,如果在后端执行create
方法,不需要提供此参数。(下同) -
detailClass:
- 如果没有指定
detailClass
,则尝试使用默认的明细类型 - 如果指定了
detailClass.id
,则不必指定detailClass.module
和detailClass.detailClassName
- 反之,如果没有指定
detailClass.id
,则必须指定detailClass.module
和detailClass.detailClassName
- 如果没有指定
write
- 前端
this.$api.post('/a/detail/detail/write', {
flowTaskId,
key: { detailId, detailItemId },
item,
}).then(() => {
});
- 后端
const user = this.ctx.state.user.op;
await this.ctx.bean.detail.write({
key,
item,
user,
});
- 参数
名称 | 说明 |
---|---|
key | 明细Key |
item | 明细条目数据 |
user | 当前用户 |
delete
- 前端
this.$api.post('/a/detail/detail/delete', {
flowTaskId,
key: { detailId, detailItemId },
}).then(() => {
});
- 后端
const user = this.ctx.state.user.op;
await this.ctx.bean.detail.delete({
key,
user,
});
评论: