v2_10
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user