2025-03-21 11:05:42 +08:00

556 lines
14 KiB
Go

package menus
import (
"context"
"fmt"
"log"
"time"
db "management/internal/db/sqlc"
"github.com/google/uuid"
)
func ERPInit(ctx context.Context) error {
erp, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "ERP管理",
DisplayName: "ERP管理",
Url: uuid.Must(uuid.NewRandom()).String(),
Type: "node",
ParentID: 0,
ParentPath: ",0,",
Avatar: "layui-icon layui-icon-set",
Style: "",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
pro, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "项目管理",
DisplayName: "项目管理",
Url: uuid.Must(uuid.NewRandom()).String(),
Type: "node",
ParentID: erp.ID,
ParentPath: fmt.Sprintf("%s%d,", erp.ParentPath, erp.ID),
Avatar: "layui-icon layui-icon-vercode",
Style: "",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
project, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "项目管理",
DisplayName: "项目管理",
Url: "/project/list",
Type: "menu",
ParentID: pro.ID,
ParentPath: fmt.Sprintf("%s%d,", pro.ParentPath, pro.ID),
Avatar: "",
Style: "",
Visible: true,
IsList: true,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "新增",
DisplayName: "新增",
Url: "/project/add",
Type: "btn",
ParentID: project.ID,
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
Avatar: "layui-icon layui-icon-add-1",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "编辑",
DisplayName: "编辑",
Url: "/project/edit",
Type: "btn",
ParentID: project.ID,
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
Avatar: "layui-icon layui-icon-edit",
Style: "pear-btn-primary pear-btn-xs",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "保存",
DisplayName: "保存",
Url: "/project/save",
Type: "btn",
ParentID: project.ID,
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
Avatar: "layui-icon layui-icon-ok",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "xmselect",
DisplayName: "xmselect",
Url: "/project/xmselect",
Type: "btn",
ParentID: project.ID,
ParentPath: fmt.Sprintf("%s%d,", project.ParentPath, project.ID),
Avatar: "layui-icon layui-icon-ok",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
budget, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "项目预算",
DisplayName: "项目预算",
Url: "/budget/list",
Type: "menu",
ParentID: pro.ID,
ParentPath: fmt.Sprintf("%s%d,", pro.ParentPath, pro.ID),
Avatar: "",
Style: "",
Visible: true,
IsList: true,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "新增",
DisplayName: "新增",
Url: "/budget/add",
Type: "btn",
ParentID: budget.ID,
ParentPath: fmt.Sprintf("%s%d,", budget.ParentPath, budget.ID),
Avatar: "layui-icon layui-icon-add-1",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "编辑",
DisplayName: "编辑",
Url: "/budget/edit",
Type: "btn",
ParentID: budget.ID,
ParentPath: fmt.Sprintf("%s%d,", budget.ParentPath, budget.ID),
Avatar: "layui-icon layui-icon-edit",
Style: "pear-btn-primary pear-btn-xs",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "保存",
DisplayName: "保存",
Url: "/budget/save",
Type: "btn",
ParentID: budget.ID,
ParentPath: fmt.Sprintf("%s%d,", budget.ParentPath, budget.ID),
Avatar: "layui-icon layui-icon-ok",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
projectDashboard, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "项目统计看板",
DisplayName: "项目统计看板",
Url: "/project/dashboard",
Type: "menu",
ParentID: pro.ID,
ParentPath: fmt.Sprintf("%s%d,", pro.ParentPath, pro.ID),
Avatar: "",
Style: "",
Visible: true,
IsList: true,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
log.Println(projectDashboard)
in, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "应收管理",
DisplayName: "应收管理",
Url: uuid.Must(uuid.NewRandom()).String(),
Type: "node",
ParentID: erp.ID,
ParentPath: fmt.Sprintf("%s%d,", erp.ParentPath, erp.ID),
Avatar: "layui-icon layui-icon-vercode",
Style: "",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
customer, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "客户管理",
DisplayName: "客户管理",
Url: "/customer/list",
Type: "menu",
ParentID: in.ID,
ParentPath: fmt.Sprintf("%s%d,", in.ParentPath, in.ID),
Avatar: "",
Style: "",
Visible: true,
IsList: true,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "新增",
DisplayName: "新增",
Url: "/customer/add",
Type: "btn",
ParentID: customer.ID,
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
Avatar: "layui-icon layui-icon-add-1",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "编辑",
DisplayName: "编辑",
Url: "/customer/edit",
Type: "btn",
ParentID: customer.ID,
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
Avatar: "layui-icon layui-icon-edit",
Style: "pear-btn-primary pear-btn-xs",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "保存",
DisplayName: "保存",
Url: "/customer/save",
Type: "btn",
ParentID: customer.ID,
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
Avatar: "layui-icon layui-icon-ok",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "xmselect",
DisplayName: "xmselect",
Url: "/customer/xmselect",
Type: "btn",
ParentID: customer.ID,
ParentPath: fmt.Sprintf("%s%d,", customer.ParentPath, customer.ID),
Avatar: "layui-icon layui-icon-ok",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
income, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "回款单",
DisplayName: "回款单",
Url: "/income/list",
Type: "menu",
ParentID: in.ID,
ParentPath: fmt.Sprintf("%s%d,", in.ParentPath, in.ID),
Avatar: "",
Style: "",
Visible: true,
IsList: true,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "新增",
DisplayName: "新增",
Url: "/income/add",
Type: "btn",
ParentID: income.ID,
ParentPath: fmt.Sprintf("%s%d,", income.ParentPath, income.ID),
Avatar: "layui-icon layui-icon-add-1",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "编辑",
DisplayName: "编辑",
Url: "/income/edit",
Type: "btn",
ParentID: income.ID,
ParentPath: fmt.Sprintf("%s%d,", income.ParentPath, income.ID),
Avatar: "layui-icon layui-icon-edit",
Style: "pear-btn-primary pear-btn-xs",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "保存",
DisplayName: "保存",
Url: "/income/save",
Type: "btn",
ParentID: income.ID,
ParentPath: fmt.Sprintf("%s%d,", income.ParentPath, income.ID),
Avatar: "layui-icon layui-icon-ok",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
cost, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "费用管理",
DisplayName: "费用管理",
Url: uuid.Must(uuid.NewRandom()).String(),
Type: "node",
ParentID: erp.ID,
ParentPath: fmt.Sprintf("%s%d,", erp.ParentPath, erp.ID),
Avatar: "layui-icon layui-icon-vercode",
Style: "",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
expense, err := db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "费用报销单",
DisplayName: "费用报销单",
Url: "/expense/list",
Type: "menu",
ParentID: cost.ID,
ParentPath: fmt.Sprintf("%s%d,", cost.ParentPath, cost.ID),
Avatar: "",
Style: "",
Visible: true,
IsList: true,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "新增",
DisplayName: "新增",
Url: "/expense/add",
Type: "btn",
ParentID: expense.ID,
ParentPath: fmt.Sprintf("%s%d,", expense.ParentPath, expense.ID),
Avatar: "layui-icon layui-icon-add-1",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "编辑",
DisplayName: "编辑",
Url: "/expense/edit",
Type: "btn",
ParentID: expense.ID,
ParentPath: fmt.Sprintf("%s%d,", expense.ParentPath, expense.ID),
Avatar: "layui-icon layui-icon-edit",
Style: "pear-btn-primary pear-btn-xs",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
_, err = db.Engine.CreateSysMenu(ctx, &db.CreateSysMenuParams{
Name: "保存",
DisplayName: "保存",
Url: "/expense/save",
Type: "btn",
ParentID: expense.ID,
ParentPath: fmt.Sprintf("%s%d,", expense.ParentPath, expense.ID),
Avatar: "layui-icon layui-icon-ok",
Style: "pear-btn-primary pear-btn-sm",
Visible: true,
IsList: false,
Status: 0,
Sort: 6666,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
})
if err != nil {
return err
}
return nil
}