diff --git a/dashboard/app/(dashboard)/roles/_components/create.tsx b/dashboard/app/(dashboard)/roles/_components/create.tsx index 4f9a333..be580cb 100644 --- a/dashboard/app/(dashboard)/roles/_components/create.tsx +++ b/dashboard/app/(dashboard)/roles/_components/create.tsx @@ -26,7 +26,6 @@ import { Textarea } from "@/components/ui/textarea" type CreateRoleDrawerProps = { open: boolean saving: boolean - defaultSortNo: number onOpenChange: (open: boolean) => void onSubmit: (payload: CreateAdminRolePayload) => Promise } @@ -38,11 +37,6 @@ const createFormSchema = z.object({ .trim() .min(1, "角色编码不能为空") .regex(/^[A-Za-z][A-Za-z0-9:_-]*$/, "角色编码需以字母开头,仅支持字母、数字、冒号、下划线和短横线"), - sortNo: z - .string() - .trim() - .min(1, "排序不能为空") - .regex(/^\d+$/, "排序值必须是大于等于 0 的整数"), remark: z.string().trim(), }) @@ -54,12 +48,15 @@ const createFormResolver = zodResolver(createFormSchema as never) as Resolver< z.output > -function buildEmptyForm(defaultSortNo: number): CreateForm { +const emptyForm: CreateForm = { + name: "", + code: "", + remark: "", +} + +function buildEmptyForm(): CreateForm { return { - name: "", - code: "", - sortNo: String(defaultSortNo), - remark: "", + ...emptyForm, } } @@ -67,7 +64,6 @@ function buildPayload(form: CreateForm): CreateAdminRolePayload { return { name: form.name.trim(), code: form.code.trim(), - sortNo: Number(form.sortNo), remark: form.remark.trim(), } } @@ -75,7 +71,6 @@ function buildPayload(form: CreateForm): CreateAdminRolePayload { export function CreateRoleDrawer({ open, saving, - defaultSortNo, onOpenChange, onSubmit, }: CreateRoleDrawerProps) { @@ -83,9 +78,8 @@ export function CreateRoleDrawer({ {open ? ( @@ -96,14 +90,12 @@ export function CreateRoleDrawer({ type CreateRoleDrawerBodyProps = { saving: boolean - defaultSortNo: number onOpenChange: (open: boolean) => void onSubmit: (payload: CreateAdminRolePayload) => Promise } function CreateRoleDrawerBody({ saving, - defaultSortNo, onOpenChange, onSubmit, }: CreateRoleDrawerBodyProps) { @@ -113,7 +105,7 @@ function CreateRoleDrawerBody({ z.output >({ resolver: createFormResolver, - defaultValues: buildEmptyForm(defaultSortNo), + defaultValues: buildEmptyForm(), }) const { handleSubmit, @@ -124,7 +116,7 @@ function CreateRoleDrawerBody({ async function onFormSubmit(values: CreateForm) { await onSubmit(buildPayload(values)) - reset(buildEmptyForm(defaultSortNo)) + reset(buildEmptyForm()) } return ( @@ -164,18 +156,6 @@ function CreateRoleDrawerBody({ - - 排序 - - - - - 备注 diff --git a/dashboard/app/(dashboard)/roles/page.tsx b/dashboard/app/(dashboard)/roles/page.tsx index 5642007..a4b983c 100644 --- a/dashboard/app/(dashboard)/roles/page.tsx +++ b/dashboard/app/(dashboard)/roles/page.tsx @@ -310,9 +310,6 @@ export default function DashboardRolesPage() { void loadRoles() }, []) - const defaultSortNo = - result.results.reduce((max, item) => Math.max(max, item.sortNo), -1) + 1 - return (
@@ -398,7 +395,6 @@ export default function DashboardRolesPage() { diff --git a/dashboard/lib/api/admin.ts b/dashboard/lib/api/admin.ts index e267087..68de308 100644 --- a/dashboard/lib/api/admin.ts +++ b/dashboard/lib/api/admin.ts @@ -75,7 +75,6 @@ export type AdminRole = { export type CreateAdminRolePayload = { name: string code: string - sortNo: number remark: string } diff --git a/internal/pkg/dto/request/admin_request.go b/internal/pkg/dto/request/admin_request.go index b7b4bb8..32aba5e 100644 --- a/internal/pkg/dto/request/admin_request.go +++ b/internal/pkg/dto/request/admin_request.go @@ -50,7 +50,6 @@ type AssignRoleRequest struct { type CreateRoleRequest struct { Name string `json:"name"` Code string `json:"code"` - SortNo int `json:"sortNo"` Remark string `json:"remark"` } diff --git a/internal/services/role_service.go b/internal/services/role_service.go index 14a954e..d9f6d2d 100644 --- a/internal/services/role_service.go +++ b/internal/services/role_service.go @@ -88,7 +88,7 @@ func (s *roleService) CreateRole(req request.CreateRoleRequest, operator *dto.Au Code: code, Status: enums.StatusOk, IsSystem: false, - SortNo: req.SortNo, + SortNo: s.NextSortNo(), Remark: strings.TrimSpace(req.Remark), AuditFields: utils.BuildAuditFields(operator), } @@ -115,7 +115,7 @@ func (s *roleService) UpdateRole(req request.UpdateRoleRequest, operator *dto.Au } func (s *roleService) NextSortNo() int { - if latest := s.FindOne(sqls.NewCnd().Asc("sort_no").Desc("id")); latest != nil { + if latest := s.FindOne(sqls.NewCnd().Desc("sort_no").Desc("id")); latest != nil { return latest.SortNo + 1 } return 0