feat: bpm api
parent
88fc7ed39b
commit
ee6317e906
@ -0,0 +1,48 @@
|
|||||||
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
|
import { FormVO } from './types'
|
||||||
|
const request = useAxios()
|
||||||
|
|
||||||
|
// 创建工作流的表单定义
|
||||||
|
export const createFormApi = async (data: FormVO) => {
|
||||||
|
return await request.post({
|
||||||
|
url: '/bpm/form/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新工作流的表单定义
|
||||||
|
export const updateFormApi = async (data: FormVO) => {
|
||||||
|
return await request.put({
|
||||||
|
url: '/bpm/form/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除工作流的表单定义
|
||||||
|
export const deleteFormApi = async (id: number) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: '/bpm/form/delete?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得工作流的表单定义
|
||||||
|
export const getFormApi = async (id: number) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/form/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得工作流的表单定义分页
|
||||||
|
export const getFormPageApi = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/form/page',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得动态表单的精简列表
|
||||||
|
export const getSimpleFormsApi = async () => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/form/list-all-simple'
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
export type FormVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
conf: string
|
||||||
|
fields: string[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
|
import { LeaveVO } from './types'
|
||||||
|
const request = useAxios()
|
||||||
|
|
||||||
|
// 创建请假申请
|
||||||
|
export const createLeaveApi = async (data: LeaveVO) => {
|
||||||
|
return await request.post({ url: '/bpm/oa/leave/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得请假申请
|
||||||
|
export const getLeaveApi = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得请假申请分页
|
||||||
|
export const getLeavePageApi = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/oa/leave/page', params })
|
||||||
|
}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
export type LeaveVO = {
|
||||||
|
id: number
|
||||||
|
result: number
|
||||||
|
type: number
|
||||||
|
reason: string
|
||||||
|
processInstanceId: string
|
||||||
|
startTime: string
|
||||||
|
endTime: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
|
import { ModelVO } from './types'
|
||||||
|
const request = useAxios()
|
||||||
|
|
||||||
|
export const getModelPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/model/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getModel = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/model/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateModel = async (data: ModelVO) => {
|
||||||
|
return await request.put({ url: '/bpm/model/update', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务状态修改
|
||||||
|
export const updateModelState = async (id: number, state: string) => {
|
||||||
|
const data = {
|
||||||
|
id: id,
|
||||||
|
state: state
|
||||||
|
}
|
||||||
|
return await request.put({ url: '/bpm/model/update-state', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const createModel = async (data: ModelVO) => {
|
||||||
|
return await request.post({ url: '/bpm/model/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const deleteModel = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/bpm/model/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const deployModel = async (id: number) => {
|
||||||
|
return await request.post({ url: '/bpm/model/deploy?id=' + id })
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
export type ModelVO = {
|
||||||
|
id: number
|
||||||
|
formName: string
|
||||||
|
key: string
|
||||||
|
name: string
|
||||||
|
description: string
|
||||||
|
category: string
|
||||||
|
formType: number
|
||||||
|
formId: number
|
||||||
|
formCustomCreatePath: string
|
||||||
|
formCustomViewPath: string
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
|
import { ProcessInstanceVO } from './types'
|
||||||
|
const request = useAxios()
|
||||||
|
|
||||||
|
export const getMyProcessInstancePage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const createProcessInstance = async (data: ProcessInstanceVO) => {
|
||||||
|
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cancelProcessInstance = async (id: number, reason: string) => {
|
||||||
|
const data = {
|
||||||
|
id: id,
|
||||||
|
reason: reason
|
||||||
|
}
|
||||||
|
return await request.delete({ url: '/bpm/process-instance/cancel', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessInstance = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
export type task = {
|
||||||
|
id: string
|
||||||
|
name: string
|
||||||
|
}
|
||||||
|
export type ProcessInstanceVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
processDefinitionId: string
|
||||||
|
category: string
|
||||||
|
result: number
|
||||||
|
tasks: task[]
|
||||||
|
fields: string[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
businessKey: string
|
||||||
|
createTime: string
|
||||||
|
endTime: string
|
||||||
|
}
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
|
|
||||||
|
const request = useAxios()
|
||||||
|
|
||||||
|
export const getTodoTaskPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/task/todo-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getDoneTaskPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/task/done-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const completeTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/complete', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const approveTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/approve', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const rejectTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/reject', data: data })
|
||||||
|
}
|
||||||
|
export const backTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/back', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateTaskAssignee = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/update-assignee', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskListByProcessInstanceId = async (processInstanceId) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
export type FormVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
conf: string
|
||||||
|
fields: string[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
|
import { TaskAssignVO } from './types'
|
||||||
|
const request = useAxios()
|
||||||
|
|
||||||
|
export const getTaskAssignRuleList = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/task-assign-rule/list', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const createTaskAssignRule = async (data: TaskAssignVO) => {
|
||||||
|
return await request.post({
|
||||||
|
url: '/bpm/task-assign-rule/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateTaskAssignRule = async (data: TaskAssignVO) => {
|
||||||
|
return await request.put({
|
||||||
|
url: '/bpm/task-assign-rule/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
export type TaskAssignVO = {
|
||||||
|
id: number
|
||||||
|
modelId: string
|
||||||
|
processDefinitionId: string
|
||||||
|
taskDefinitionKey: string
|
||||||
|
taskDefinitionName: string
|
||||||
|
options: string[]
|
||||||
|
type: number
|
||||||
|
}
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
|
import { UserGroupVO } from './types'
|
||||||
|
const request = useAxios()
|
||||||
|
|
||||||
|
// 创建用户组
|
||||||
|
export const createUserGroupApi = async (data: UserGroupVO) => {
|
||||||
|
return await request.post({
|
||||||
|
url: '/bpm/user-group/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新用户组
|
||||||
|
export const updateUserGroupApi = async (data: UserGroupVO) => {
|
||||||
|
return await request.put({
|
||||||
|
url: '/bpm/user-group/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除用户组
|
||||||
|
export const deleteUserGroupApi = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户组
|
||||||
|
export const getUserGroupApi = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户组分页
|
||||||
|
export const getUserGroupPageApi = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取用户组精简信息列表
|
||||||
|
export const listSimpleUserGroupsApi = async () => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/list-all-simple' })
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
export type UserGroupVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
description: string
|
||||||
|
memberUserIds: number[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
@ -1,7 +0,0 @@
|
|||||||
<script setup lang="ts"></script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>index</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
import { reactive } from 'vue'
|
||||||
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
|
import { required } from '@/utils/formRules'
|
||||||
|
import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
|
||||||
|
import { DICT_TYPE } from '@/utils/dict'
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
// 表单校验
|
||||||
|
export const rules = reactive({
|
||||||
|
name: [required]
|
||||||
|
})
|
||||||
|
|
||||||
|
// CrudSchema
|
||||||
|
const crudSchemas = reactive<CrudSchema[]>([
|
||||||
|
{
|
||||||
|
label: t('common.index'),
|
||||||
|
field: 'id',
|
||||||
|
type: 'index',
|
||||||
|
form: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
detail: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '表单名',
|
||||||
|
field: 'name',
|
||||||
|
search: {
|
||||||
|
show: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('common.status'),
|
||||||
|
field: 'status',
|
||||||
|
dictType: DICT_TYPE.COMMON_STATUS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
field: 'remark'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('common.createTime'),
|
||||||
|
field: 'createTime',
|
||||||
|
form: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('table.action'),
|
||||||
|
field: 'action',
|
||||||
|
width: '240px',
|
||||||
|
form: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
detail: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
])
|
||||||
|
export const { allSchemas } = useCrudSchemas(crudSchemas)
|
||||||
@ -0,0 +1,69 @@
|
|||||||
|
import { reactive } from 'vue'
|
||||||
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
|
import { required } from '@/utils/formRules'
|
||||||
|
import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
|
||||||
|
import { DICT_TYPE } from '@/utils/dict'
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
// 表单校验
|
||||||
|
export const rules = reactive({
|
||||||
|
name: [required]
|
||||||
|
})
|
||||||
|
|
||||||
|
// CrudSchema
|
||||||
|
const crudSchemas = reactive<CrudSchema[]>([
|
||||||
|
{
|
||||||
|
label: t('common.index'),
|
||||||
|
field: 'id',
|
||||||
|
type: 'index',
|
||||||
|
form: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
detail: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '组名',
|
||||||
|
field: 'name',
|
||||||
|
search: {
|
||||||
|
show: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '成员',
|
||||||
|
field: 'memberUserIds'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '描述',
|
||||||
|
field: 'description'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('common.status'),
|
||||||
|
field: 'status',
|
||||||
|
dictType: DICT_TYPE.COMMON_STATUS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
field: 'remark'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('common.createTime'),
|
||||||
|
field: 'createTime',
|
||||||
|
form: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('table.action'),
|
||||||
|
field: 'action',
|
||||||
|
width: '240px',
|
||||||
|
form: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
detail: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
])
|
||||||
|
export const { allSchemas } = useCrudSchemas(crudSchemas)
|
||||||
Loading…
Reference in New Issue