From d31ad5ba14af6ced0720e93ea92ae918bae93ffd Mon Sep 17 00:00:00 2001 From: Pine Date: Mon, 24 Aug 2026 19:06:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=B9=B3=E5=8F=B0=E7=AB=AF):=20=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E5=88=9B=E5=BB=BA=E8=A7=92=E8=89=B2=E6=94=B9=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E4=B8=89=E7=B1=BB=20=E2=80=94=20=E5=AD=90=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7/OPC/=E5=9B=AD=E5=8C=BA=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增账号「账号类型」下拉改中文:子账号(平台端/operator)、OPC 账号(其它端口通用/opc_member)、 园区账号(园区端/用于绑定园区管理员/carrier),附类型提示;未选择项不显示历史端口。npm run build 通过。 --- src/pages/users/index.tsx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/pages/users/index.tsx b/src/pages/users/index.tsx index 1eb633c..98be157 100644 --- a/src/pages/users/index.tsx +++ b/src/pages/users/index.tsx @@ -13,7 +13,12 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@ import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { formatDate } from "@/lib/utils"; -const PORT_ROLES = ["operator", "government", "enterprise", "provider", "carrier", "opc_member", "investor"]; +// 账号三类(中文):子账号=平台端账号;OPC=其它端口通用 OPC 账号;园区账号=园区端(用于绑定园区管理员) +const ACCOUNT_ROLES = [ + { label: "子账号(平台端)", value: "operator", hint: "平台管理方/运营" }, + { label: "OPC 账号(其它端口通用)", value: "opc_member", hint: "OPC 超级个体默认" }, + { label: "园区账号(园区端 · 用于绑定园区管理员)", value: "carrier", hint: "绑定为园区管理员" }, +]; const EMPTY = { username: "", nickname: "", role: "opc_member", sub_role: "" }; export default function UsersPage() { @@ -75,11 +80,14 @@ export default function UsersPage() {
setForm((f) => ({ ...f, username: e.target.value }))} />
{!editing &&
setForm((f) => ({ ...f, password: e.target.value }))} />
}
setForm((f) => ({ ...f, nickname: e.target.value }))} />
-
- setForm((f) => ({ ...f, role: v, sub_role: "" }))}> + + + {ACCOUNT_ROLES.map((r) => {r.label})} + +

{ACCOUNT_ROLES.find((r) => r.value === form.role)?.hint}

setForm((f) => ({ ...f, sub_role: e.target.value }))} />