From b4217c418a94ddfc3d3cb9dfa47ec40141cb8b2b Mon Sep 17 00:00:00 2001 From: susie-laptop Date: Mon, 28 Apr 2025 22:15:22 -0400 Subject: [PATCH] [dev]department --- src/components/CreateKnowledgeBaseModal.jsx | 8 +-- src/components/UserSettingsModal.jsx | 10 +-- .../KnowledgeBase/Detail/SettingsTab.jsx | 8 +-- src/pages/auth/Signup.jsx | 64 ++++++++++++++----- 4 files changed, 57 insertions(+), 33 deletions(-) diff --git a/src/components/CreateKnowledgeBaseModal.jsx b/src/components/CreateKnowledgeBaseModal.jsx index 4efd85e..f9424e2 100644 --- a/src/components/CreateKnowledgeBaseModal.jsx +++ b/src/components/CreateKnowledgeBaseModal.jsx @@ -3,12 +3,10 @@ import SvgIcon from './SvgIcon'; // 部门和组别的映射关系 const departmentGroups = { - 技术部: ['开发组', '测试组', '运维组', '架构组', '安全组'], - 产品部: ['产品规划组', '用户研究组', '交互设计组', '项目管理组'], - 市场部: ['品牌推广组', '市场调研组', '客户关系组', '社交媒体组'], - 行政部: ['人事组', '财务组', '行政管理组', '后勤组'], + 财务组: ['NA'], + 行政组: ['NA'], + 业务组: ['行政纠纷组', '刑事辩护组', '民商事争议解决组', '非诉业务组'], }; - // 部门列表 const departments = Object.keys(departmentGroups); diff --git a/src/components/UserSettingsModal.jsx b/src/components/UserSettingsModal.jsx index d10e2d9..d1c3473 100644 --- a/src/components/UserSettingsModal.jsx +++ b/src/components/UserSettingsModal.jsx @@ -5,13 +5,9 @@ import ChangePasswordModal from './ChangePasswordModal'; // 部门和组别的映射关系 const departmentGroups = { - 达人部门: ['达人'], - 商务部门: ['商务'], - 样本中心: ['样本'], - 产品部门: ['产品'], - AI自媒体: ['AI自媒体'], - HR: ['HR'], - 技术部门: ['技术'], + 财务组: ['NA'], + 行政组: ['NA'], + 业务组: ['行政纠纷组', '刑事辩护组', '民商事争议解决组', '非诉业务组'], }; export default function UserSettingsModal({ show, onClose }) { diff --git a/src/pages/KnowledgeBase/Detail/SettingsTab.jsx b/src/pages/KnowledgeBase/Detail/SettingsTab.jsx index 9d82649..c3af8e5 100644 --- a/src/pages/KnowledgeBase/Detail/SettingsTab.jsx +++ b/src/pages/KnowledgeBase/Detail/SettingsTab.jsx @@ -13,12 +13,10 @@ import Breadcrumb from './components/Breadcrumb'; import KnowledgeBaseForm from './components/KnowledgeBaseForm'; import DeleteConfirmModal from './components/DeleteConfirmModal'; -// 部门和组别的映射关系 const departmentGroups = { - 技术部: ['开发组', '测试组', '运维组', '架构组', '安全组'], - 产品部: ['产品规划组', '用户研究组', '交互设计组', '项目管理组'], - 市场部: ['品牌推广组', '市场调研组', '客户关系组', '社交媒体组'], - 行政部: ['人事组', '财务组', '行政管理组', '后勤组'], + 财务组: ['NA'], + 行政组: ['NA'], + 业务组: ['行政纠纷组', '刑事辩护组', '民商事争议解决组', '非诉业务组'], }; // 部门列表 diff --git a/src/pages/auth/Signup.jsx b/src/pages/auth/Signup.jsx index 42aaa5e..3e48e76 100644 --- a/src/pages/auth/Signup.jsx +++ b/src/pages/auth/Signup.jsx @@ -5,10 +5,9 @@ import { checkAuthThunk, signupThunk } from '../../store/auth/auth.thunk'; // 部门和组别映射关系 const departmentGroups = { - 技术部: ['开发组', '测试组', '运维组'], - 产品部: ['产品规划组', '用户研究组', '交互设计组', '项目管理组'], - 市场部: ['品牌推广组', '市场调研组', '客户关系组', '社交媒体组'], - 行政部: ['人事组', '财务组', '行政管理组', '后勤组'], + 财务组: ['NA'], + 行政组: ['NA'], + 业务组: ['行政纠纷组', '刑事辩护组', '民商事争议解决组', '非诉业务组'], }; export default function Signup() { @@ -44,6 +43,17 @@ export default function Signup() { group: '', })); } + + // 如果组别只有NA,自动设置为NA + if ( + departmentGroups[formData.department].length === 1 && + departmentGroups[formData.department][0] === 'NA' + ) { + setFormData((prev) => ({ + ...prev, + group: 'NA', + })); + } } else { setAvailableGroups([]); setFormData((prev) => ({ @@ -103,7 +113,16 @@ export default function Signup() { newErrors.department = '请选择部门'; } - if (!formData.group) { + // 只在department不是只有NA的情况下验证group + if ( + !formData.group && + !( + formData.department && + departmentGroups[formData.department] && + departmentGroups[formData.department].length === 1 && + departmentGroups[formData.department][0] === 'NA' + ) + ) { newErrors.group = '请选择组别'; } @@ -208,10 +227,9 @@ export default function Signup() { - - - - + + + {submitted && errors.department &&
{errors.department}
} @@ -222,17 +240,31 @@ export default function Signup() { name='group' value={formData.group} onChange={handleInputChange} - disabled={loading || !formData.department} + disabled={ + loading || + !formData.department || + (departmentGroups[formData.department] && + departmentGroups[formData.department].length === 1 && + departmentGroups[formData.department][0] === 'NA') + } required > - {availableGroups.map((group, index) => ( - - ))} + {availableGroups.map((group, index) => + group !== 'NA' ? ( + + ) : null + )} {submitted && errors.group &&
{errors.group}
}