This commit is contained in:
2025-03-31 17:36:49 +08:00
parent 490630d4c9
commit d7183fcc00
805 changed files with 1055 additions and 304753 deletions

View File

@@ -3,6 +3,7 @@ package system
import (
"context"
"encoding/json"
"errors"
"strconv"
"time"
@@ -11,6 +12,7 @@ import (
"management/internal/erpserver/model/view"
"management/internal/global/keys"
"management/internal/pkg/redis"
"management/internal/pkg/tpl/html"
)
type CategoryBiz interface {
@@ -23,7 +25,9 @@ type CategoryBiz interface {
RebuildParentPath(ctx context.Context) error
Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
ListHtmlByLetter(ctx context.Context, letter string) ([]*html.SelectDict, error)
}
type categoryBiz struct {
@@ -130,7 +134,7 @@ func (b *categoryBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree, er
return b.toTree(id, all), nil
}
func (b *categoryBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
func (b *categoryBiz) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := b.All(ctx)
if err != nil {
return nil, err
@@ -139,6 +143,41 @@ func (b *categoryBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectT
return b.toXmSelectTree(id, all), nil
}
func (b *categoryBiz) ListHtmlByLetter(ctx context.Context, letter string) ([]*html.SelectDict, error) {
all, err := b.All(ctx)
if err != nil || len(all) == 0 {
return nil, err
}
var current *db.Category
for _, v := range all {
if v.Letter == letter {
current = v
break
}
}
if current == nil {
return nil, errors.New("未找到当前类别")
}
var res []*html.SelectDict
res = append(res, &html.SelectDict{
Name: "请选择",
Value: "0",
})
for _, v := range all {
if v.ParentID == current.ID {
item := html.SelectDict{
Name: v.Name,
Value: strconv.Itoa(int(v.ID)),
}
res = append(res, &item)
}
}
return res, nil
}
func (b *categoryBiz) toTree(parentId int32, data []*db.Category) []*view.LayuiTree {
var res []*view.LayuiTree
for _, v := range data {