This commit is contained in:
2025-06-13 17:23:16 +08:00
parent 3150ba80bc
commit 1b72f51e4a
55 changed files with 3894 additions and 310 deletions

View File

@@ -5,6 +5,7 @@ import (
"management/internal/erpserver/handler"
v1 "management/internal/erpserver/service/v1"
"management/internal/erpserver/templ/home"
)
type HomeHandler struct {
@@ -26,19 +27,22 @@ func NewHomeHandler(
}
func (h *HomeHandler) Home(w http.ResponseWriter, r *http.Request) {
h.HTML(w, r, "home/home.tmpl", nil)
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) {
ctx := r.Context()
auth := h.AuthUser(ctx)
user, _ := h.userService.Get(ctx, auth.ID)
//user, _ := h.userService.Get(ctx, auth.ID)
lt, _ := h.loginLogService.LoginTime(ctx, auth.Email)
c := h.loginLogService.LoginCount(ctx, auth.Email)
h.HTML(w, r, "home/dashboard.tmpl", map[string]any{
"Auth": auth,
"User": user,
"LoginTime": lt,
"LoginCount": c,
})
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,
//})
}

View File

@@ -9,6 +9,7 @@ import (
"management/internal/erpserver/model/form"
"management/internal/erpserver/model/system"
v1 "management/internal/erpserver/service/v1"
"management/internal/erpserver/templ/system/role"
"management/internal/pkg/binding"
"management/internal/pkg/convertor"
"management/internal/pkg/render"
@@ -31,7 +32,9 @@ func NewRoleHandler(handler *handler.Handler, roleService v1.RoleService, menuSe
func (h *RoleHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
h.HTML(w, r, "role/list.tmpl", nil)
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"))
@@ -60,30 +63,36 @@ func (h *RoleHandler) List(w http.ResponseWriter, r *http.Request) {
}
func (h *RoleHandler) Add(w http.ResponseWriter, r *http.Request) {
h.HTML(w, r, "role/edit.tmpl", map[string]any{
"Item": &system.Role{Sort: 6666},
})
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) {
vars := r.URL.Query()
parentID := convertor.QueryInt[int32](vars, "parentID", 0)
vm := &system.Role{ParentID: parentID, Sort: 6666}
h.HTML(w, r, "role/edit.tmpl", map[string]any{
"Item": vm,
})
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) {
ctx := r.Context()
vars := r.URL.Query()
id := convertor.QueryInt[int32](vars, "id", 0)
vm := &system.Role{Sort: 6666}
if id > 0 {
vm, _ = h.roleService.Get(r.Context(), id)
vm, _ = h.roleService.Get(ctx, id)
}
h.HTML(w, r, "role/edit.tmpl", map[string]any{
"Item": vm,
})
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) {
@@ -158,32 +167,32 @@ func (h *RoleHandler) RefreshRoleMenus(w http.ResponseWriter, r *http.Request) {
// 获取需要刷新的角色ID
roleID := convertor.ConvertInt[int32](r.PostFormValue("roleID"), 0)
role, err := h.roleService.Get(ctx, roleID)
roleModel, err := h.roleService.Get(ctx, roleID)
if err != nil {
h.JSONErr(w, err.Error())
return
}
if role == nil {
if roleModel == nil {
h.JSONErr(w, "角色不存在")
return
}
// 刷新角色菜单 (角色所拥有的菜单集合)
_, err = h.menuService.SetListByRoleID(ctx, role.ID)
_, err = h.menuService.SetListByRoleID(ctx, roleModel.ID)
if err != nil {
h.JSONErr(w, err.Error())
return
}
// 刷新角色菜单 (角色所拥有的菜单集合)
_, err = h.menuService.SetListByRoleIDToMap(ctx, role.ID)
_, err = h.menuService.SetListByRoleIDToMap(ctx, roleModel.ID)
if err != nil {
h.JSONErr(w, err.Error())
return
}
// 刷新角色菜单树 (pear admin layui 使用的格式)
_, err = h.menuService.SetOwerMenus(ctx, role.ID)
_, err = h.menuService.SetOwerMenus(ctx, roleModel.ID)
if err != nil {
h.JSONErr(w, err.Error())
return
@@ -220,7 +229,7 @@ func (h *RoleHandler) SetMenu(w http.ResponseWriter, r *http.Request) {
h.JSONErr(w, "角色异常, 请刷新重试")
return
}
role, err := h.roleService.Get(ctx, id)
roleModel, err := h.roleService.Get(ctx, id)
if err != nil {
h.JSONErr(w, err.Error())
return
@@ -248,7 +257,7 @@ func (h *RoleHandler) SetMenu(w http.ResponseWriter, r *http.Request) {
}
rms = append(rms, &system.RoleMenu{
RoleID: role.ID,
RoleID: roleModel.ID,
MenuID: menu.ID,
})
}

View File

@@ -3,7 +3,7 @@ package system
//
//import (
// v1 "management/internal/erpserver/service/v1"
// mi "management/internal/pkg/middleware"
// mi "management/internal/pkg/mid"
// "management/internal/pkg/session"
//
// "github.com/go-chi/chi/v5"

View File

@@ -10,6 +10,7 @@ import (
"management/internal/erpserver/model/form"
systemmodel "management/internal/erpserver/model/system"
v1 "management/internal/erpserver/service/v1"
"management/internal/erpserver/templ/auth"
"management/internal/pkg/binding"
"management/internal/pkg/convertor"
"management/internal/pkg/render"
@@ -176,7 +177,9 @@ func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
}
_ = h.Destroy(ctx)
h.HTML(w, r, "oauth/login.tmpl", nil)
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()