diff --git a/internal/erpserver/handler/handler.go b/internal/erpserver/handler/handler.go
index 7a66aef..ac834e9 100644
--- a/internal/erpserver/handler/handler.go
+++ b/internal/erpserver/handler/handler.go
@@ -72,10 +72,6 @@ func (h *Handler) Render(ctx context.Context, w http.ResponseWriter, t templ.Com
}
}
-func (h *Handler) HTML(w http.ResponseWriter, r *http.Request, name string, data map[string]any) {
- h.render.HTML(w, r, name, data)
-}
-
func (h *Handler) JSON(w http.ResponseWriter, data any) {
h.render.JSON(w, data)
}
diff --git a/internal/erpserver/handler/system/audit.go b/internal/erpserver/handler/system/audit.go
index 7577539..65d23d5 100644
--- a/internal/erpserver/handler/system/audit.go
+++ b/internal/erpserver/handler/system/audit.go
@@ -6,6 +6,7 @@ import (
"management/internal/erpserver/handler"
"management/internal/erpserver/model/dto"
v1 "management/internal/erpserver/service/v1"
+ "management/internal/erpserver/templ/system/auditlog"
"management/internal/pkg/convertor"
"management/internal/pkg/render"
)
@@ -25,7 +26,8 @@ func NewAuditHandler(handler *handler.Handler, auditLogService v1.AuditLogServic
func (h *AuditHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
- h.HTML(w, r, "audit_log/list.tmpl", nil)
+ ctx := r.Context()
+ h.Render(ctx, w, auditlog.List(ctx))
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
diff --git a/internal/erpserver/handler/system/config.go b/internal/erpserver/handler/system/config.go
index 00248bc..744a686 100644
--- a/internal/erpserver/handler/system/config.go
+++ b/internal/erpserver/handler/system/config.go
@@ -8,7 +8,9 @@ import (
"management/internal/erpserver/handler"
"management/internal/erpserver/model/dto"
systemModel "management/internal/erpserver/model/system"
+ "management/internal/erpserver/model/view"
systemService "management/internal/erpserver/service/v1"
+ "management/internal/erpserver/templ/system/config"
"management/internal/pkg/convertor"
"management/internal/pkg/database"
"management/internal/pkg/render"
@@ -29,7 +31,8 @@ func NewConfigHandler(handler *handler.Handler, configService systemService.Conf
func (h *ConfigHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
- h.HTML(w, r, "config/list.tmpl", nil)
+ ctx := r.Context()
+ h.Render(ctx, w, config.List(ctx))
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
@@ -56,21 +59,15 @@ func (h *ConfigHandler) List(w http.ResponseWriter, r *http.Request) {
}
func (h *ConfigHandler) Add(w http.ResponseWriter, r *http.Request) {
- h.HTML(w, r, "config/edit.tmpl", map[string]any{
- "Item": &systemModel.Config{},
- "Result": "",
- })
-}
-
-type EditSysConfig struct {
- *systemModel.Config
- Result string
+ ctx := r.Context()
+ h.Render(ctx, w, config.Edit(ctx, &view.EditSysConfig{Config: &systemModel.Config{}}))
}
func (h *ConfigHandler) Edit(w http.ResponseWriter, r *http.Request) {
+ ctx := r.Context()
vars := r.URL.Query()
id := convertor.QueryInt[int32](vars, "id", 0)
- vm := &EditSysConfig{}
+ vm := &view.EditSysConfig{}
if id > 0 {
if conf, err := h.configService.Get(r.Context(), id); err == nil {
vm.Config = conf
@@ -78,10 +75,7 @@ func (h *ConfigHandler) Edit(w http.ResponseWriter, r *http.Request) {
vm.Result = string(b)
}
}
- h.HTML(w, r, "config/edit.tmpl", map[string]any{
- "Item": vm.Config,
- "Result": vm.Result,
- })
+ h.Render(ctx, w, config.Edit(ctx, vm))
}
func (h *ConfigHandler) Save(w http.ResponseWriter, r *http.Request) {
diff --git a/internal/erpserver/handler/system/department.go b/internal/erpserver/handler/system/department.go
index 31fa473..669a288 100644
--- a/internal/erpserver/handler/system/department.go
+++ b/internal/erpserver/handler/system/department.go
@@ -8,6 +8,7 @@ import (
"management/internal/erpserver/model/form"
systemmodel "management/internal/erpserver/model/system"
v1 "management/internal/erpserver/service/v1"
+ "management/internal/erpserver/templ/system/department"
"management/internal/pkg/binding"
"management/internal/pkg/convertor"
"management/internal/pkg/render"
@@ -28,7 +29,8 @@ func NewDepartmentHandler(handler *handler.Handler, departmentService v1.Departm
func (h *DepartmentHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
- h.HTML(w, r, "department/list.tmpl", nil)
+ ctx := r.Context()
+ h.Render(ctx, w, department.List(ctx))
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
@@ -57,30 +59,27 @@ func (h *DepartmentHandler) List(w http.ResponseWriter, r *http.Request) {
}
func (h *DepartmentHandler) Add(w http.ResponseWriter, r *http.Request) {
- h.HTML(w, r, "department/edit.tmpl", map[string]any{
- "Item": &systemmodel.Department{Sort: 6666},
- })
+ ctx := r.Context()
+ h.Render(ctx, w, department.Edit(ctx, &systemmodel.Department{Sort: 6666}))
}
func (h *DepartmentHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
vars := r.URL.Query()
parentID := convertor.QueryInt[int32](vars, "parentID", 0)
vm := &systemmodel.Department{ParentID: parentID, Sort: 6666}
- h.HTML(w, r, "department/edit.tmpl", map[string]any{
- "Item": vm,
- })
+ ctx := r.Context()
+ h.Render(ctx, w, department.Edit(ctx, vm))
}
func (h *DepartmentHandler) Edit(w http.ResponseWriter, r *http.Request) {
+ ctx := r.Context()
vars := r.URL.Query()
id := convertor.QueryInt[int32](vars, "id", 0)
vm := &systemmodel.Department{Sort: 6666}
if id > 0 {
vm, _ = h.departmentService.Get(r.Context(), id)
}
- h.HTML(w, r, "department/edit.tmpl", map[string]any{
- "Item": vm,
- })
+ h.Render(ctx, w, department.Edit(ctx, vm))
}
func (h *DepartmentHandler) Save(w http.ResponseWriter, r *http.Request) {
diff --git a/internal/erpserver/handler/system/home.go b/internal/erpserver/handler/system/home.go
index 7ceb3fe..6cdef70 100644
--- a/internal/erpserver/handler/system/home.go
+++ b/internal/erpserver/handler/system/home.go
@@ -29,7 +29,6 @@ func NewHomeHandler(
func (h *HomeHandler) Home(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
h.Render(ctx, w, home.Home(ctx))
- //h.HTML(w, r, "home/home.tmpl", nil)
}
func (h *HomeHandler) Dashboard(w http.ResponseWriter, r *http.Request) {
@@ -39,10 +38,4 @@ func (h *HomeHandler) Dashboard(w http.ResponseWriter, r *http.Request) {
lt, _ := h.loginLogService.LoginTime(ctx, auth.Email)
c := h.loginLogService.LoginCount(ctx, auth.Email)
h.Render(ctx, w, home.Dashboard(ctx, int(c), lt.ThisLoginTime, lt.LastLoginTime))
- //h.HTML(w, r, "home/dashboard.tmpl", map[string]any{
- // "Auth": auth,
- // "User": user,
- // "LoginTime": lt,
- // "LoginCount": c,
- //})
}
diff --git a/internal/erpserver/handler/system/login_log.go b/internal/erpserver/handler/system/login_log.go
index 93bad9f..355b906 100644
--- a/internal/erpserver/handler/system/login_log.go
+++ b/internal/erpserver/handler/system/login_log.go
@@ -6,6 +6,7 @@ import (
"management/internal/erpserver/handler"
"management/internal/erpserver/model/dto"
v1 "management/internal/erpserver/service/v1"
+ "management/internal/erpserver/templ/system/loginlog"
"management/internal/pkg/convertor"
"management/internal/pkg/render"
)
@@ -25,7 +26,8 @@ func NewLoginLogHandler(handler *handler.Handler, loginLogService v1.LoginLogSer
func (h *LoginLogHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
- h.HTML(w, r, "login_log/list.tmpl", nil)
+ ctx := r.Context()
+ h.Render(ctx, w, loginlog.List(ctx))
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
diff --git a/internal/erpserver/handler/system/menu.go b/internal/erpserver/handler/system/menu.go
index f92a7b0..6a1d42d 100644
--- a/internal/erpserver/handler/system/menu.go
+++ b/internal/erpserver/handler/system/menu.go
@@ -9,6 +9,7 @@ import (
"management/internal/erpserver/handler"
systemmodel "management/internal/erpserver/model/system"
v1 "management/internal/erpserver/service/v1"
+ "management/internal/erpserver/templ/system/menu"
"management/internal/pkg/convertor"
"management/internal/pkg/database"
"management/internal/pkg/render"
@@ -45,7 +46,8 @@ func (h *MenuHandler) Menus(w http.ResponseWriter, r *http.Request) {
func (h *MenuHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
- h.HTML(w, r, "menu/list.tmpl", nil)
+ ctx := r.Context()
+ h.Render(ctx, w, menu.List(ctx))
case http.MethodPost:
res, err := h.menuService.ListMenuTree(r.Context())
if err != nil {
@@ -66,16 +68,16 @@ func (h *MenuHandler) List(w http.ResponseWriter, r *http.Request) {
}
func (h *MenuHandler) Add(w http.ResponseWriter, r *http.Request) {
- h.HTML(w, r, "menu/edit.tmpl", map[string]any{
- "Item": &systemmodel.Menu{Style: style, Visible: true, Sort: 6666},
- })
+ ctx := r.Context()
+ h.Render(ctx, w, menu.Edit(ctx, &systemmodel.Menu{Style: style, Visible: true, Sort: 6666}))
}
func (h *MenuHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
+ ctx := r.Context()
vars := r.URL.Query()
parentID := convertor.QueryInt[int32](vars, "parentID", 0)
vm := &systemmodel.Menu{ParentID: parentID, Style: style, Visible: true, Sort: 6666}
- parent, err := h.menuService.Get(r.Context(), parentID)
+ parent, err := h.menuService.Get(ctx, parentID)
if err == nil {
if parent.Type == "node" {
vm.Type = "menu"
@@ -83,21 +85,18 @@ func (h *MenuHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
vm.Type = "btn"
}
}
- h.HTML(w, r, "menu/edit.tmpl", map[string]any{
- "Item": vm,
- })
+ h.Render(ctx, w, menu.Edit(ctx, vm))
}
func (h *MenuHandler) Edit(w http.ResponseWriter, r *http.Request) {
+ ctx := r.Context()
vars := r.URL.Query()
id := convertor.QueryInt[int32](vars, "id", 0)
vm := &systemmodel.Menu{Style: style, Sort: 6666}
if id > 0 {
vm, _ = h.menuService.Get(r.Context(), id)
}
- h.HTML(w, r, "menu/edit.tmpl", map[string]any{
- "Item": vm,
- })
+ h.Render(ctx, w, menu.Edit(ctx, vm))
}
func (h *MenuHandler) Save(w http.ResponseWriter, r *http.Request) {
diff --git a/internal/erpserver/handler/system/role.go b/internal/erpserver/handler/system/role.go
index a5378ca..6aaaf5e 100644
--- a/internal/erpserver/handler/system/role.go
+++ b/internal/erpserver/handler/system/role.go
@@ -8,6 +8,7 @@ import (
"management/internal/erpserver/model/dto"
"management/internal/erpserver/model/form"
"management/internal/erpserver/model/system"
+ "management/internal/erpserver/model/view"
v1 "management/internal/erpserver/service/v1"
"management/internal/erpserver/templ/system/role"
"management/internal/pkg/binding"
@@ -34,7 +35,6 @@ func (h *RoleHandler) List(w http.ResponseWriter, r *http.Request) {
case http.MethodGet:
ctx := r.Context()
h.Render(ctx, w, role.List(ctx))
- //h.HTML(w, r, "role/list.tmpl", nil)
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
@@ -65,9 +65,6 @@ func (h *RoleHandler) List(w http.ResponseWriter, r *http.Request) {
func (h *RoleHandler) Add(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
h.Render(ctx, w, role.Edit(ctx, &system.Role{Sort: 6666}))
- //h.HTML(w, r, "role/edit.tmpl", map[string]any{
- // "Item": &system.Role{Sort: 6666},
- //})
}
func (h *RoleHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
@@ -76,9 +73,6 @@ func (h *RoleHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
vm := &system.Role{ParentID: parentID, Sort: 6666}
ctx := r.Context()
h.Render(ctx, w, role.Edit(ctx, vm))
- //h.HTML(w, r, "role/edit.tmpl", map[string]any{
- // "Item": vm,
- //})
}
func (h *RoleHandler) Edit(w http.ResponseWriter, r *http.Request) {
@@ -90,9 +84,6 @@ func (h *RoleHandler) Edit(w http.ResponseWriter, r *http.Request) {
vm, _ = h.roleService.Get(ctx, id)
}
h.Render(ctx, w, role.Edit(ctx, vm))
- //h.HTML(w, r, "role/edit.tmpl", map[string]any{
- // "Item": vm,
- //})
}
func (h *RoleHandler) Save(w http.ResponseWriter, r *http.Request) {
@@ -206,22 +197,19 @@ func (h *RoleHandler) SetMenu(w http.ResponseWriter, r *http.Request) {
case http.MethodGet:
vars := r.URL.Query()
id := convertor.QueryInt[int32](vars, "id", 0)
- vm := struct {
- Role *system.Role
- Menus []*dto.SetMenuDto
- }{}
+ vm := &view.SetMenuView{
+ Role: &system.Role{},
+ Menus: []*dto.SetMenuDto{},
+ }
+ ctx := r.Context()
if id > 0 {
- ctx := r.Context()
var err error
vm.Role, err = h.roleService.Get(ctx, id)
if err == nil {
vm.Menus, _ = h.menuService.MenuViewData(ctx, vm.Role.ID)
}
}
-
- h.HTML(w, r, "role/set_menu.tmpl", map[string]any{
- "Item": vm,
- })
+ h.Render(ctx, w, role.SetMenu(ctx, vm))
case http.MethodPost:
ctx := r.Context()
id := convertor.ConvertInt[int32](r.PostFormValue("ID"), 0)
diff --git a/internal/erpserver/handler/system/user.go b/internal/erpserver/handler/system/user.go
index 6cac07f..abd97dd 100644
--- a/internal/erpserver/handler/system/user.go
+++ b/internal/erpserver/handler/system/user.go
@@ -11,10 +11,10 @@ import (
systemmodel "management/internal/erpserver/model/system"
v1 "management/internal/erpserver/service/v1"
"management/internal/erpserver/templ/auth"
+ "management/internal/erpserver/templ/system/user"
"management/internal/pkg/binding"
"management/internal/pkg/convertor"
"management/internal/pkg/render"
- "management/internal/pkg/render/html"
)
type UserHandler struct {
@@ -42,27 +42,22 @@ func NewUserHandler(
}
func (h *UserHandler) Add(w http.ResponseWriter, r *http.Request) {
- h.HTML(w, r, "user/edit.tmpl", map[string]any{
- "Item": &systemmodel.User{
- HashedPassword: nil,
- },
- })
+ ctx := r.Context()
+ h.Render(ctx, w, user.Edit(ctx, &systemmodel.User{HashedPassword: nil}))
}
func (h *UserHandler) Edit(w http.ResponseWriter, r *http.Request) {
+ ctx := r.Context()
vars := r.URL.Query()
id := convertor.QueryInt[int32](vars, "id", 0)
- user := &systemmodel.User{}
+ vm := &systemmodel.User{}
if id > 0 {
- ctx := r.Context()
if u, err := h.userService.Get(ctx, id); err == nil {
- user.HashedPassword = []byte("********")
- user = u
+ vm.HashedPassword = []byte("********")
+ vm = u
}
}
- h.HTML(w, r, "user/edit.tmpl", map[string]any{
- "Item": user,
- })
+ h.Render(ctx, w, user.Edit(ctx, vm))
}
func (h *UserHandler) Save(w http.ResponseWriter, r *http.Request) {
@@ -108,9 +103,8 @@ func (h *UserHandler) Save(w http.ResponseWriter, r *http.Request) {
func (h *UserHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
- h.HTML(w, r, "user/list.tmpl", map[string]any{
- "Statuses": html.NewSelectControls(html.SearchStatuses, "0"),
- })
+ ctx := r.Context()
+ h.Render(ctx, w, user.List(ctx))
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
@@ -140,11 +134,9 @@ func (h *UserHandler) List(w http.ResponseWriter, r *http.Request) {
func (h *UserHandler) Profile(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
- user := h.AuthUser(ctx)
- vm, _ := h.userService.Get(ctx, user.ID)
- h.HTML(w, r, "user/profile.tmpl", map[string]any{
- "Item": vm,
- })
+ u := h.AuthUser(ctx)
+ vm, _ := h.userService.Get(ctx, u.ID)
+ h.Render(ctx, w, user.Profile(ctx, vm))
}
func (h *UserHandler) Data(w http.ResponseWriter, r *http.Request) {
@@ -168,8 +160,8 @@ func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
switch r.Method {
case http.MethodGet:
- user := h.AuthUser(ctx)
- if user.ID > 0 {
+ u := h.AuthUser(ctx)
+ if u.ID > 0 {
if err := h.RenewToken(ctx); err == nil {
http.Redirect(w, r, "/home.html", http.StatusFound)
return
@@ -179,7 +171,6 @@ func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
_ = h.Destroy(ctx)
component := auth.Login(ctx)
h.Render(ctx, w, component)
- //h.HTML(w, r, "oauth/login.tmpl", nil)
case http.MethodPost:
defer func(Body io.ReadCloser) {
err := Body.Close()
diff --git a/internal/erpserver/http.go b/internal/erpserver/http.go
index ed1841f..8a98cb8 100644
--- a/internal/erpserver/http.go
+++ b/internal/erpserver/http.go
@@ -46,8 +46,8 @@ func NewHTTPServer(
r.Handle("/public/*", http.StripPrefix("/public", uploadServer))
r.Group(func(r chi.Router) {
- //r.Use(mi.NoSurf) // CSRF
- //r.Use(mi.NoSurfContext) // CSRF Store Context
+ r.Use(mi.NoSurf) // CSRF
+ r.Use(mi.NoSurfContext) // CSRF Store Context
r.Use(mi.LoadSession(sm)) // Session
r.Get("/", userHandler.Login)
@@ -71,7 +71,7 @@ func NewHTTPServer(
})
r.Route("/system", func(r chi.Router) {
- //r.Use(mi.Audit(sm, log))
+ r.Use(mi.Audit(sm, log))
r.Get("/menus", menuHandler.Menus)
diff --git a/internal/erpserver/model/system/category.go b/internal/erpserver/model/system/category.go
new file mode 100644
index 0000000..6d6cc27
--- /dev/null
+++ b/internal/erpserver/model/system/category.go
@@ -0,0 +1,10 @@
+package system
+
+type Category struct {
+ ID int32 `json:"id" gorm:"primaryKey;autoIncrement;not null"`
+ Name string `json:"name" gorm:"type:varchar(200);not null;uniqueIndex"`
+}
+
+func (Category) TableName() string {
+ return "categories"
+}
diff --git a/internal/erpserver/model/view/system.go b/internal/erpserver/model/view/system.go
index 7f83cbb..417506e 100644
--- a/internal/erpserver/model/view/system.go
+++ b/internal/erpserver/model/view/system.go
@@ -1,6 +1,11 @@
package view
-import "time"
+import (
+ "time"
+
+ "management/internal/erpserver/model/dto"
+ "management/internal/erpserver/model/system"
+)
type LayuiTree struct {
ID string `json:"id"`
@@ -53,3 +58,13 @@ type MenuTree struct {
Children []*MenuTree `json:"children"`
}
+
+type EditSysConfig struct {
+ *system.Config
+ Result string
+}
+
+type SetMenuView struct {
+ Role *system.Role
+ Menus []*dto.SetMenuDto
+}
diff --git a/internal/erpserver/repository/system/menu_seed.go b/internal/erpserver/repository/system/menu_seed.go
index 669606b..01c5263 100644
--- a/internal/erpserver/repository/system/menu_seed.go
+++ b/internal/erpserver/repository/system/menu_seed.go
@@ -384,7 +384,7 @@ func (r *menuRepository) Initialize(ctx context.Context) error {
_, err = r.Create(ctx, &system.Menu{
Name: "刷新",
DisplayName: "刷新",
- Url: "/system/role/refresh",
+ Url: "/system/role/refresh_cache",
Type: "btn",
ParentID: systemRole.ID,
ParentPath: fmt.Sprintf("%s%d,", systemRole.ParentPath, systemRole.ID),
@@ -565,7 +565,7 @@ func (r *menuRepository) Initialize(ctx context.Context) error {
_, err = r.Create(ctx, &system.Menu{
Name: "刷新",
DisplayName: "刷新",
- Url: "/system/department/refresh",
+ Url: "/system/department/refresh_cache",
Type: "btn",
ParentID: systemDepartment.ID,
ParentPath: fmt.Sprintf("%s%d,", systemDepartment.ParentPath, systemDepartment.ID),
@@ -808,7 +808,7 @@ func (r *menuRepository) Initialize(ctx context.Context) error {
_, err = r.Create(ctx, &system.Menu{
Name: "刷新",
DisplayName: "刷新",
- Url: "/system/config/refresh",
+ Url: "/system/config/refresh_cache",
Type: "btn",
ParentID: systemConfig.ID,
ParentPath: fmt.Sprintf("%s%d,", systemConfig.ParentPath, systemConfig.ID),
diff --git a/internal/erpserver/service/v1/system/role.go b/internal/erpserver/service/v1/system/role.go
index 3ed7f48..7e070ef 100644
--- a/internal/erpserver/service/v1/system/role.go
+++ b/internal/erpserver/service/v1/system/role.go
@@ -124,6 +124,9 @@ func (s *roleService) List(ctx context.Context, q dto.SearchDto) ([]*system.Role
func (s *roleService) RefreshCache(ctx context.Context) error {
var res []*system.Role
key := know.GetManageKey(ctx, know.AllRoles)
+ if err := s.Redis.Del(ctx, key); err != nil {
+ return err
+ }
return util.GetOrSetCache(ctx, s.Redis, key, util.GetCacheExpire(), func() (any, error) {
return s.repo.All(ctx)
}, &res)
diff --git a/internal/erpserver/templ/component/content.templ b/internal/erpserver/templ/component/content.templ
new file mode 100644
index 0000000..f42d4f4
--- /dev/null
+++ b/internal/erpserver/templ/component/content.templ
@@ -0,0 +1,13 @@
+package component
+
+import (
+ "strings"
+)
+
+templ Content(str string) {
+ trimSpace(str)
+}
+
+func trimSpace(str string) string {
+ return strings.TrimSpace(str)
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/component/content_templ.go b/internal/erpserver/templ/component/content_templ.go
new file mode 100644
index 0000000..f41db24
--- /dev/null
+++ b/internal/erpserver/templ/component/content_templ.go
@@ -0,0 +1,48 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package component
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "strings"
+)
+
+func Content(str string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "trimSpace(str)")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func trimSpace(str string) string {
+ return strings.TrimSpace(str)
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/component/time.go b/internal/erpserver/templ/component/time.go
new file mode 100644
index 0000000..9c8590f
--- /dev/null
+++ b/internal/erpserver/templ/component/time.go
@@ -0,0 +1,25 @@
+package component
+
+import (
+ "time"
+
+ "github.com/a-h/templ"
+)
+
+func YearBegin() templ.Component {
+ dt := time.Now()
+ t := dt.AddDate(0, -int(dt.Month())+1, -dt.Day()+1)
+ return templ.Raw(t.Format("2006-01-02") + " 00:00:00")
+}
+
+func MonthBegin() string {
+ dt := time.Now()
+ t := dt.AddDate(0, 0, -dt.Day()+1)
+ return t.Format("2006-01-02") + " 00:00:00"
+}
+
+func MonthEnd() string {
+ dt := time.Now()
+ t := dt.AddDate(0, 0, -dt.Day()+1).AddDate(0, 1, -1)
+ return t.Format("2006-01-02") + " 23:59:59"
+}
diff --git a/internal/erpserver/templ/component/upload.templ b/internal/erpserver/templ/component/upload.templ
new file mode 100644
index 0000000..76ab404
--- /dev/null
+++ b/internal/erpserver/templ/component/upload.templ
@@ -0,0 +1,47 @@
+package component
+
+templ Upload(avatar string) {
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/component/upload_templ.go b/internal/erpserver/templ/component/upload_templ.go
new file mode 100644
index 0000000..1320fca
--- /dev/null
+++ b/internal/erpserver/templ/component/upload_templ.go
@@ -0,0 +1,53 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package component
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+func Upload(avatar string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/auditlog/list.templ b/internal/erpserver/templ/system/auditlog/list.templ
new file mode 100644
index 0000000..8b3b0a9
--- /dev/null
+++ b/internal/erpserver/templ/system/auditlog/list.templ
@@ -0,0 +1,195 @@
+package auditlog
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+)
+
+templ List(ctx context.Context) {
+ @base.Base(ctx, listCss(), listJs(ctx, component.MonthBegin(), component.MonthEnd())) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ @component.TemplBtn(meuns, true)
+
+
+
+
+ }
+}
+
+templ listCss() {
+}
+
+templ listJs(ctx context.Context, monthBegin, monthEnd string) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/auditlog/list_templ.go b/internal/erpserver/templ/system/auditlog/list_templ.go
new file mode 100644
index 0000000..6a5c43b
--- /dev/null
+++ b/internal/erpserver/templ/system/auditlog/list_templ.go
@@ -0,0 +1,188 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package auditlog
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func List(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ templ_7745c5c3_Err = component.TemplBtn(meuns, true).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, listCss(), listJs(ctx, component.MonthBegin(), component.MonthEnd())).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func listCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var5 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var5 == nil {
+ templ_7745c5c3_Var5 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ return nil
+ })
+}
+
+func listJs(ctx context.Context, monthBegin, monthEnd string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var6 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var6 == nil {
+ templ_7745c5c3_Var6 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/category/list.templ b/internal/erpserver/templ/system/category/list.templ
new file mode 100644
index 0000000..0ff9b85
--- /dev/null
+++ b/internal/erpserver/templ/system/category/list.templ
@@ -0,0 +1,310 @@
+package category
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+)
+
+templ List(ctx context.Context) {
+ @base.Base(ctx, listCss(), listJs(ctx)) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ @component.TemplBtn(meuns, true, "add", "refresh", "rebuild_parent_path")
+ @component.TemplLink(meuns, "add_children", "edit")
+
+
+
+
+ }
+}
+
+templ listCss() {
+}
+
+templ listJs(ctx context.Context) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/category/list_templ.go b/internal/erpserver/templ/system/category/list_templ.go
new file mode 100644
index 0000000..e2da930
--- /dev/null
+++ b/internal/erpserver/templ/system/category/list_templ.go
@@ -0,0 +1,182 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package category
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func List(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ templ_7745c5c3_Err = component.TemplBtn(meuns, true, "add", "refresh", "rebuild_parent_path").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = component.TemplLink(meuns, "add_children", "edit").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, listCss(), listJs(ctx)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func listCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var3 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var3 == nil {
+ templ_7745c5c3_Var3 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ return nil
+ })
+}
+
+func listJs(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var4 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var4 == nil {
+ templ_7745c5c3_Var4 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/config/edit.templ b/internal/erpserver/templ/system/config/edit.templ
new file mode 100644
index 0000000..78efff3
--- /dev/null
+++ b/internal/erpserver/templ/system/config/edit.templ
@@ -0,0 +1,138 @@
+package config
+
+import (
+ "context"
+ "time"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+ "management/internal/erpserver/model/view"
+)
+
+templ Edit(ctx context.Context, item *view.EditSysConfig) {
+ @base.Base(ctx, editCss(), editJs(ctx, item)) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ {{ ht := mid.GetHtmlCsrfToken(ctx) }}
+
+
+ }
+}
+
+templ editCss() {
+
+}
+
+templ editJs(ctx context.Context, item *view.EditSysConfig) {
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/config/edit_templ.go b/internal/erpserver/templ/system/config/edit_templ.go
new file mode 100644
index 0000000..789a318
--- /dev/null
+++ b/internal/erpserver/templ/system/config/edit_templ.go
@@ -0,0 +1,242 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package config
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+ "time"
+
+ "management/internal/erpserver/model/view"
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func Edit(ctx context.Context, item *view.EditSysConfig) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ ht := mid.GetHtmlCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, editCss(), editJs(ctx, item)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func editCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var9 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var9 == nil {
+ templ_7745c5c3_Var9 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func editJs(ctx context.Context, item *view.EditSysConfig) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var10 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var10 == nil {
+ templ_7745c5c3_Var10 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/config/list.templ b/internal/erpserver/templ/system/config/list.templ
new file mode 100644
index 0000000..04682dd
--- /dev/null
+++ b/internal/erpserver/templ/system/config/list.templ
@@ -0,0 +1,200 @@
+package config
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+)
+
+templ List(ctx context.Context) {
+ @base.Base(ctx, listCss(), listJs(ctx)) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ @component.TemplBtn(meuns, true, "add", "reset_pear")
+ @component.TemplLink(meuns, "edit", "refresh_cache")
+
+
+
+
+ }
+}
+
+templ listCss() {
+}
+
+templ listJs(ctx context.Context) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/config/list_templ.go b/internal/erpserver/templ/system/config/list_templ.go
new file mode 100644
index 0000000..3e8c9ac
--- /dev/null
+++ b/internal/erpserver/templ/system/config/list_templ.go
@@ -0,0 +1,170 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package config
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func List(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ templ_7745c5c3_Err = component.TemplBtn(meuns, true, "add", "reset_pear").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = component.TemplLink(meuns, "edit", "refresh_cache").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, listCss(), listJs(ctx)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func listCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var3 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var3 == nil {
+ templ_7745c5c3_Var3 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ return nil
+ })
+}
+
+func listJs(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var4 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var4 == nil {
+ templ_7745c5c3_Var4 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/department/edit.templ b/internal/erpserver/templ/system/department/edit.templ
new file mode 100644
index 0000000..b4094bf
--- /dev/null
+++ b/internal/erpserver/templ/system/department/edit.templ
@@ -0,0 +1,203 @@
+package department
+
+import (
+ "context"
+ "time"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+ "management/internal/erpserver/model/system"
+)
+
+templ Edit(ctx context.Context, item *system.Department) {
+ @base.Base(ctx, editCss(), editJs(ctx, item)) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ {{ ht := mid.GetHtmlCsrfToken(ctx) }}
+
+
+
+
+
+ }
+}
+
+templ editCss() {
+
+}
+
+templ editJs(ctx context.Context, item *system.Department) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/department/edit_templ.go b/internal/erpserver/templ/system/department/edit_templ.go
new file mode 100644
index 0000000..8745090
--- /dev/null
+++ b/internal/erpserver/templ/system/department/edit_templ.go
@@ -0,0 +1,282 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package department
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+ "time"
+
+ "management/internal/erpserver/model/system"
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func Edit(ctx context.Context, item *system.Department) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ ht := mid.GetHtmlCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, editCss(), editJs(ctx, item)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func editCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var9 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var9 == nil {
+ templ_7745c5c3_Var9 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func editJs(ctx context.Context, item *system.Department) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var10 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var10 == nil {
+ templ_7745c5c3_Var10 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/department/list.templ b/internal/erpserver/templ/system/department/list.templ
new file mode 100644
index 0000000..f2d6513
--- /dev/null
+++ b/internal/erpserver/templ/system/department/list.templ
@@ -0,0 +1,301 @@
+package department
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+)
+
+templ List(ctx context.Context) {
+ @base.Base(ctx, listCss(), listJs(ctx)) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ @component.TemplBtn(meuns, true, "add", "refresh_cache", "rebuild_parent_path")
+ @component.TemplLink(meuns, "add_children", "edit")
+
+
+
+
+ }
+}
+
+templ listCss() {
+}
+
+templ listJs(ctx context.Context) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/department/list_templ.go b/internal/erpserver/templ/system/department/list_templ.go
new file mode 100644
index 0000000..bfd1a0b
--- /dev/null
+++ b/internal/erpserver/templ/system/department/list_templ.go
@@ -0,0 +1,182 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package department
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func List(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ templ_7745c5c3_Err = component.TemplBtn(meuns, true, "add", "refresh_cache", "rebuild_parent_path").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = component.TemplLink(meuns, "add_children", "edit").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, listCss(), listJs(ctx)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func listCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var3 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var3 == nil {
+ templ_7745c5c3_Var3 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ return nil
+ })
+}
+
+func listJs(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var4 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var4 == nil {
+ templ_7745c5c3_Var4 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/loginlog/list.templ b/internal/erpserver/templ/system/loginlog/list.templ
new file mode 100644
index 0000000..acf4bc0
--- /dev/null
+++ b/internal/erpserver/templ/system/loginlog/list.templ
@@ -0,0 +1,187 @@
+package loginlog
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+)
+
+templ List(ctx context.Context) {
+ @base.Base(ctx, listCss(), listJs(ctx, component.MonthBegin(), component.MonthEnd())) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ @component.TemplBtn(meuns, true)
+
+
+
+
+ }
+}
+
+templ listCss() {
+}
+
+templ listJs(ctx context.Context, monthBegin, monthEnd string) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/loginlog/list_templ.go b/internal/erpserver/templ/system/loginlog/list_templ.go
new file mode 100644
index 0000000..a055188
--- /dev/null
+++ b/internal/erpserver/templ/system/loginlog/list_templ.go
@@ -0,0 +1,188 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package loginlog
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func List(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ templ_7745c5c3_Err = component.TemplBtn(meuns, true).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, listCss(), listJs(ctx, component.MonthBegin(), component.MonthEnd())).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func listCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var5 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var5 == nil {
+ templ_7745c5c3_Var5 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ return nil
+ })
+}
+
+func listJs(ctx context.Context, monthBegin, monthEnd string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var6 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var6 == nil {
+ templ_7745c5c3_Var6 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/menu/edit.templ b/internal/erpserver/templ/system/menu/edit.templ
new file mode 100644
index 0000000..681214f
--- /dev/null
+++ b/internal/erpserver/templ/system/menu/edit.templ
@@ -0,0 +1,271 @@
+package menu
+
+import (
+ "context"
+ "time"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+ "management/internal/erpserver/model/system"
+)
+
+templ Edit(ctx context.Context, item *system.Menu) {
+ @base.Base(ctx, editCss(), editJs(ctx, item)) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ {{ ht := mid.GetHtmlCsrfToken(ctx) }}
+
+
+ }
+}
+
+templ editCss() {
+
+}
+
+templ editJs(ctx context.Context, item *system.Menu) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/menu/edit_templ.go b/internal/erpserver/templ/system/menu/edit_templ.go
new file mode 100644
index 0000000..fc135cf
--- /dev/null
+++ b/internal/erpserver/templ/system/menu/edit_templ.go
@@ -0,0 +1,361 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package menu
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+ "time"
+
+ "management/internal/erpserver/model/system"
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func Edit(ctx context.Context, item *system.Menu) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ ht := mid.GetHtmlCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, editCss(), editJs(ctx, item)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func editCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var12 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var12 == nil {
+ templ_7745c5c3_Var12 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func editJs(ctx context.Context, item *system.Menu) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var13 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var13 == nil {
+ templ_7745c5c3_Var13 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/menu/list.templ b/internal/erpserver/templ/system/menu/list.templ
new file mode 100644
index 0000000..18bb8c9
--- /dev/null
+++ b/internal/erpserver/templ/system/menu/list.templ
@@ -0,0 +1,190 @@
+package menu
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/pkg/mid"
+ "management/internal/erpserver/templ/component"
+)
+
+templ List(ctx context.Context) {
+ @base.Base(ctx, listCss(), listJs(ctx)) {
+ {{ meuns := mid.GetCurMenus(ctx) }}
+ @component.TemplBtn(meuns, true, "add", "refresh_cache")
+ @component.TemplLink(meuns, "add_children", "edit")
+
+
+ }
+}
+
+templ listCss() {
+}
+
+templ listJs(ctx context.Context) {
+ {{ token := mid.GetCsrfToken(ctx) }}
+
+}
\ No newline at end of file
diff --git a/internal/erpserver/templ/system/menu/list_templ.go b/internal/erpserver/templ/system/menu/list_templ.go
new file mode 100644
index 0000000..c7fab9b
--- /dev/null
+++ b/internal/erpserver/templ/system/menu/list_templ.go
@@ -0,0 +1,158 @@
+// Code generated by templ - DO NOT EDIT.
+
+// templ: version: v0.3.898
+package menu
+
+//lint:file-ignore SA4006 This context is only used if a nested component is present.
+
+import "github.com/a-h/templ"
+import templruntime "github.com/a-h/templ/runtime"
+
+import (
+ "context"
+
+ "management/internal/erpserver/templ/base"
+ "management/internal/erpserver/templ/component"
+ "management/internal/pkg/mid"
+)
+
+func List(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var1 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var1 == nil {
+ templ_7745c5c3_Var1 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ meuns := mid.GetCurMenus(ctx)
+ templ_7745c5c3_Err = component.TemplBtn(meuns, true, "add", "refresh_cache").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = component.TemplLink(meuns, "add_children", "edit").Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, " ")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = base.Base(ctx, listCss(), listJs(ctx)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func listCss() templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var3 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var3 == nil {
+ templ_7745c5c3_Var3 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ return nil
+ })
+}
+
+func listJs(ctx context.Context) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var4 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var4 == nil {
+ templ_7745c5c3_Var4 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ token := mid.GetCsrfToken(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+var _ = templruntime.GeneratedTemplate
diff --git a/internal/erpserver/templ/system/role/edit.templ b/internal/erpserver/templ/system/role/edit.templ
index 4907368..fe0f4a6 100644
--- a/internal/erpserver/templ/system/role/edit.templ
+++ b/internal/erpserver/templ/system/role/edit.templ
@@ -39,14 +39,14 @@ templ Edit(ctx context.Context, item *system.Role) {
}