工作流起始接口以及动态获取view功能
This commit is contained in:
@@ -104,6 +104,25 @@ func FindWorkflowProcess(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// @Tags WorkflowProcess
|
||||
// @Summary 用id查询工作流步骤
|
||||
// @Security ApiKeyAuth
|
||||
// @accept application/json
|
||||
// @Produce application/json
|
||||
// @Param data body model.WorkflowProcess true "用id查询WorkflowProcess"
|
||||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
|
||||
// @Router /workflowProcess/findWorkflowCreateStep [get]
|
||||
func FindWorkflowCreateStep(c *gin.Context) {
|
||||
var workflowProcess model.WorkflowProcess
|
||||
_ = c.ShouldBindQuery(&workflowProcess)
|
||||
err, workflow := service.GetWorkflowCreateStep(workflowProcess.ID)
|
||||
if err != nil {
|
||||
response.FailWithMessage(fmt.Sprintf("查询失败,%v", err), c)
|
||||
} else {
|
||||
response.OkWithData(gin.H{"workflow": workflow}, c)
|
||||
}
|
||||
}
|
||||
|
||||
// @Tags WorkflowProcess
|
||||
// @Summary 分页获取WorkflowProcess列表
|
||||
// @Security ApiKeyAuth
|
||||
|
||||
@@ -82,7 +82,8 @@ var Apis = []model.SysApi{
|
||||
{global.GVA_MODEL{ID: 71, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/workflowProcess/updateWorkflowProcess", "更新工作流", "workflowProcess", "PUT"},
|
||||
{global.GVA_MODEL{ID: 72, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/workflowProcess/findWorkflowProcess", "根据ID获取工作流", "workflowProcess", "GET"},
|
||||
{global.GVA_MODEL{ID: 73, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/workflowProcess/getWorkflowProcessList", "获取工作流", "workflowProcess", "GET"},
|
||||
}
|
||||
{global.GVA_MODEL{ID: 74, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/workflowProcess/findWorkflowCreateStep", "获取工作流步骤", "workflowProcess", "GET"},
|
||||
}
|
||||
|
||||
func InitSysApi(db *gorm.DB) (err error) {
|
||||
return db.Transaction(func(tx *gorm.DB) error {
|
||||
|
||||
@@ -41,6 +41,7 @@ var AuthorityMenus = []SysAuthorityMenus{
|
||||
{"888", 28},
|
||||
{"888", 29},
|
||||
{"888", 30},
|
||||
{"888", 31},
|
||||
{"8881", 1},
|
||||
{"8881", 2},
|
||||
{"8881", 8},
|
||||
|
||||
@@ -80,6 +80,7 @@ var Carbines = []gormadapter.CasbinRule{
|
||||
{PType: "p", V0: "888", V1: "/workflowProcess/updateWorkflowProcess", V2: "PUT"},
|
||||
{PType: "p", V0: "888", V1: "/workflowProcess/findWorkflowProcess", V2: "GET"},
|
||||
{PType: "p", V0: "888", V1: "/workflowProcess/getWorkflowProcessList", V2: "GET"},
|
||||
{PType: "p", V0: "888", V1: "/workflowProcess/findWorkflowCreateStep", V2: "GET"},
|
||||
{PType: "p", V0: "8881", V1: "/base/login", V2: "POST"},
|
||||
{PType: "p", V0: "8881", V1: "/user/register", V2: "POST"},
|
||||
{PType: "p", V0: "8881", V1: "/api/createApi", V2: "POST"},
|
||||
|
||||
@@ -40,6 +40,7 @@ var BaseMenus = []model.SysBaseMenu{
|
||||
{GVA_MODEL: global.GVA_MODEL{ID: 28, CreatedAt: time.Now(), UpdatedAt: time.Now()}, MenuLevel: 0, ParentId: "0", Path: "workflow", Name: "workflow", Hidden: false, Component: "view/workflow/index.vue", Sort: 5, Meta: model.Meta{Title: "工作流功能", Icon: "phone"}},
|
||||
{GVA_MODEL: global.GVA_MODEL{ID: 29, CreatedAt: time.Now(), UpdatedAt: time.Now()}, MenuLevel: 0, ParentId: "28", Path: "workflowCreate", Name: "workflowCreate", Hidden: false, Component: "view/workflow/workflowCreate/workflowCreate.vue", Sort: 0, Meta: model.Meta{Title: "工作流绘制", Icon: "circle-plus"}},
|
||||
{GVA_MODEL: global.GVA_MODEL{ID: 30, CreatedAt: time.Now(), UpdatedAt: time.Now()}, MenuLevel: 0, ParentId: "28", Path: "workflowProcess", Name: "workflowProcess", Hidden: false, Component: "view/workflow/workflowProcess/workflowProcess.vue", Sort: 0, Meta: model.Meta{Title: "工作流列表", Icon: "s-cooperation"}},
|
||||
{GVA_MODEL: global.GVA_MODEL{ID: 31, CreatedAt: time.Now(), UpdatedAt: time.Now()}, MenuLevel: 0, ParentId: "28", Path: "workflowUse", Name: "workflowUse", Hidden: true, Component: "view/workflow/workflowUse/workflowUse.vue", Sort: 0, Meta: model.Meta{Title: "使用工作流", Icon: "video-play"}},
|
||||
}
|
||||
|
||||
func InitSysBaseMenus(db *gorm.DB) (err error) {
|
||||
|
||||
@@ -6,6 +6,22 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
//定义clazz常量
|
||||
|
||||
const (
|
||||
USER_TASK string = "userTask"
|
||||
SCRIPT_TASK string = "scriptTask"
|
||||
RECEIVE_TASK string = "receiveTask"
|
||||
MAIL_TASK string = "mailTask"
|
||||
TIMER_START string = "timerStart"
|
||||
MESSAGE_START string = "messageStart"
|
||||
GATEWAY string = "gateway"
|
||||
FLOW string = "flow"
|
||||
START string = "start"
|
||||
END string = "end"
|
||||
PROCESS string = "process"
|
||||
)
|
||||
|
||||
type WorkflowProcess struct {
|
||||
ID string `json:"id" form:"id" gorm:"comment:流程标识;primaryKey;unique;not null"`
|
||||
CreatedAt time.Time
|
||||
@@ -47,6 +63,7 @@ type WorkflowNode struct {
|
||||
DueDate time.Time `json:"dueDate" gorm:"comment:到期时间"`
|
||||
AssignType string `json:"assignType" gorm:"comment:审批类型"`
|
||||
AssignValue string `json:"assignValue" gorm:"comment:审批类型值"`
|
||||
Success bool `json:"success" gorm:"comment:是否成功"`
|
||||
}
|
||||
|
||||
type WorkflowEdge struct {
|
||||
|
||||
@@ -14,6 +14,7 @@ func InitWorkflowProcessRouter(Router *gin.RouterGroup) {
|
||||
WorkflowProcessRouter.DELETE("deleteWorkflowProcessByIds", v1.DeleteWorkflowProcessByIds) // 批量删除WorkflowProcess
|
||||
WorkflowProcessRouter.PUT("updateWorkflowProcess", v1.UpdateWorkflowProcess) // 更新WorkflowProcess
|
||||
WorkflowProcessRouter.GET("findWorkflowProcess", v1.FindWorkflowProcess) // 根据ID获取WorkflowProcess
|
||||
WorkflowProcessRouter.GET("findWorkflowCreateStep", v1.FindWorkflowCreateStep) // 根据ID获取工作流开启步骤
|
||||
WorkflowProcessRouter.GET("getWorkflowProcessList", v1.GetWorkflowProcessList) // 获取WorkflowProcess列表
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,13 +110,24 @@ func UpdateWorkflowProcess(workflowProcess *model.WorkflowProcess) (err error) {
|
||||
//@function: GetWorkflowProcess
|
||||
//@description: 获取工作流相关信息
|
||||
//@param: id string
|
||||
//@return: err error
|
||||
//@return: err error,workflowProcess model.WorkflowProcess
|
||||
|
||||
func GetWorkflowProcess(id string) (err error, workflowProcess model.WorkflowProcess) {
|
||||
err = global.GVA_DB.Preload("Nodes").Preload("Edges").Where("id = ?", id).First(&workflowProcess).Error
|
||||
return
|
||||
}
|
||||
|
||||
//@author: [piexlmax](https://github.com/piexlmax)
|
||||
//@function: GetWorkflowCreateStep
|
||||
//@description: 获取工作流步骤信息
|
||||
//@param: id string
|
||||
//@return: err error, workflowNodes []model.WorkflowNode
|
||||
|
||||
func GetWorkflowCreateStep(id string) (err error, workflowNode model.WorkflowProcess) {
|
||||
err = global.GVA_DB.Preload("Nodes", "clazz = ?", model.START).Where("id = ?", id).First(&workflowNode).Error
|
||||
return
|
||||
}
|
||||
|
||||
//@author: [piexlmax](https://github.com/piexlmax)
|
||||
//@function: GetWorkflowProcessInfoList
|
||||
//@description: 获取工作流列表
|
||||
|
||||
Reference in New Issue
Block a user