删除新建角色按钮

This commit is contained in:
2025-12-15 11:04:11 +08:00
parent ad46a0bb53
commit b9513e5b15
4 changed files with 97 additions and 13 deletions
+6 -10
View File
@@ -240,7 +240,11 @@ export default function DocumentEdit() {
// 从 actionData 初始化表单错误
useEffect(() => {
if (actionData?.fieldErrors) {
// general 是loader的时候返回的错误信息
// general 错误使用 toast 提示
if (actionData.fieldErrors.general) {
toastService.error(actionData.fieldErrors.general);
}
// 其他字段错误设置到 formErrors
setFormErrors(actionData.fieldErrors);
}
}, [actionData]);
@@ -531,15 +535,7 @@ export default function DocumentEdit() {
<div className="alert alert-info mb-4">
<i className="ri-information-line mr-2"></i>
</div>
{/* 错误提示 */}
{formErrors.general && (
<div className="general-error mb-4">
<i className="ri-error-warning-line mr-2"></i>
{formErrors.general}
</div>
)}
<Form id="edit-form" method="post" ref={formRef} onSubmit={handleBeforeSubmit}>
<div className="grid grid-cols-2 gap-6">
<div className="form-group">
+2 -2
View File
@@ -1742,7 +1742,7 @@ export default function RolePermissions() {
<i className="ri-shield-user-line"></i>
</h2>
<div className="page-actions">
{/* <div className="page-actions">
<Button
type="primary"
icon="ri-add-line"
@@ -1750,7 +1750,7 @@ export default function RolePermissions() {
>
新建角色
</Button>
</div>
</div> */}
</div>
<div className="permissions-container">
+8 -1
View File
@@ -69,6 +69,7 @@ export async function loader({ request }: { request: Request }) {
} catch (error) {
console.error('加载评查点分组失败:', error);
return Response.json({
error: error,
groups: [],
totalCount: 0,
page: 1,
@@ -79,7 +80,7 @@ export async function loader({ request }: { request: Request }) {
export default function RuleGroupsIndex() {
const loaderData = useLoaderData<typeof loader>();
const { groups: initialGroups, frontendJWT } = loaderData;
const { groups: initialGroups, frontendJWT,error } = loaderData;
const navigate = useNavigate();
const [searchParams, setSearchParams] = useSearchParams();
const [expandedGroups, setExpandedGroups] = useState<string[]>([]);
@@ -96,6 +97,12 @@ export default function RuleGroupsIndex() {
const canDeleteGroup = canDelete('evaluation_group');
const canBatchOperation = canBatch('evaluation_group'); // ✅ 批量操作权限
useEffect(() => {
if(error){
toastService.error(error.message);
}
}, [error]);
// 初始加载时自动加载所有子分组
useEffect(() => {
const loadAllChildGroups = async () => {
+81
View File
@@ -0,0 +1,81 @@
# 项目技术栈
## 核心框架
| 技术 | 版本 | 用途 |
|------|------|------|
| Remix | 2.16.2 | 全栈 React 框架 |
| React | 18.2.0 | UI 库 |
| TypeScript | 5.1.6 | 类型系统 |
| Vite | 6.0.0 | 构建工具 |
## UI 组件库
| 技术 | 版本 | 用途 |
|------|------|------|
| Ant Design | 6.0.0 | UI 组件库 |
| Ant Design X | 2.0.0 | AI 对话组件 |
| Tailwind CSS | 3.4.17 | 原子化 CSS |
| RemixIcon | 4.6.0 | 图标库 |
## 文档处理
| 技术 | 用途 |
|------|------|
| react-pdf | PDF 预览渲染 |
| pdf-lib | PDF 操作处理 |
| mammoth | Word 转 HTML |
| docx-preview | DOCX 预览 |
| docxtemplater | Word 模板生成 |
| JSZip / PizZip | 压缩文件处理 |
## 代码编辑器
| 技术 | 用途 |
|------|------|
| Monaco Editor | 代码编辑器(VS Code 同款) |
| CodeMirror | 轻量代码编辑器 |
## Markdown 渲染
| 技术 | 用途 |
|------|------|
| react-markdown | Markdown 渲染 |
| remark-gfm | GitHub 风格 Markdown |
| remark-math + rehype-katex | 数学公式渲染 |
| highlight.js / prismjs | 代码高亮 |
## 数据与网络
| 技术 | 用途 |
|------|------|
| Axios | HTTP 请求 |
| pg | PostgreSQL 数据库客户端 |
| jsonwebtoken | JWT 认证 |
## 工具库
| 技术 | 用途 |
|------|------|
| dayjs | 日期处理 |
| ahooks | React Hooks 工具库 |
| immer | 不可变数据 |
| uuid | UUID 生成 |
| diff | 文本差异对比 |
## 部署运维
| 技术 | 用途 |
|------|------|
| PM2 | 进程管理(多实例部署) |
| Express | HTTP 服务器 |
| Docker | 容器化部署 |
| dotenv | 环境变量管理 |
## 开发工具
| 技术 | 用途 |
|------|------|
| ESLint | 代码规范检查 |
| PostCSS + Autoprefixer | CSS 处理 |
| cross-env | 跨平台环境变量 |