# 部门编码编辑功能说明 ## 功能概述 在若依后台管理系统的部门管理界面中,新增了服务单编码和调度单编码的显示和编辑功能,方便管理员手动维护部门编码。 **实现日期**:2025-10-19 **版本**:v1.0 ## 界面变更 ### 1. 部门列表展示 在部门列表表格中新增两列: | 列名 | 字段名 | 宽度 | 显示样式 | 说明 | |------|--------|------|----------|------| | 服务单编码 | serviceOrderClass | 120px | 绿色标签 | 显示分公司的服务单编码 | | 调度单编码 | dispatchOrderClass | 120px | 橙色标签 | 显示分公司的调度单编码 | **显示效果**: - 有编码值:显示为彩色标签(服务单-绿色,调度单-橙色) - 无编码值:显示为灰色"-" **列顺序**: ``` 部门名称 -> SQL Server部门ID -> 服务单编码 -> 调度单编码 -> 排序 -> 状态 -> 创建时间 -> 操作 ``` ### 2. 部门编辑表单 在"添加/修改部门"对话框中新增编码编辑字段: **表单布局**: ``` [ 上级部门 ] (全宽) [ 部门名称 ] [ 显示排序 ] (左右分栏) [ SQL Server部门ID ] (半宽,只读) [ 服务单编码 ] [ 调度单编码 ] (左右分栏,可编辑) [ 负责人 ] [ 联系电话 ] (左右分栏) [ 邮箱 ] [ 部门状态 ] (左右分栏) ``` **字段说明**: | 字段名 | 类型 | 最大长度 | 是否必填 | 说明 | |--------|------|----------|----------|------| | 服务单编码 | 文本 | 20字符 | 否 | 对应SQL Server dictionary表vType=1 | | 调度单编码 | 文本 | 20字符 | 否 | 对应SQL Server dictionary表vType=2 | ## 代码变更 ### 修改文件 **文件路径**:`ruoyi-ui/src/views/system/dept/index.vue` #### 1. 表格列新增(第58-69行) ```vue ``` #### 2. 表单字段新增(第139-149行) ```vue ``` #### 3. 表单数据初始化(第276-289行) ```javascript this.form = { deptId: undefined, parentId: undefined, deptName: undefined, departmentId: undefined, serviceOrderClass: undefined, // 新增 dispatchOrderClass: undefined, // 新增 orderNum: undefined, leader: undefined, phone: undefined, email: undefined, status: "0" }; ``` ## 使用说明 ### 查看编码 1. 登录若依后台管理系统 2. 进入 **系统管理 -> 部门管理** 3. 在部门列表中可以看到每个分公司的服务单编码和调度单编码 **显示效果**: - ✅ 有编码:显示为彩色标签 - 服务单编码:绿色标签 - 调度单编码:橙色标签 - ⚠️ 无编码:显示为灰色"-" ### 手动编辑编码 #### 场景1:新增分公司时设置编码 1. 点击"新增"按钮 2. 填写部门名称等基本信息 3. 在"服务单编码"和"调度单编码"字段输入对应编码 4. 点击"确定"保存 #### 场景2:修改已有分公司的编码 1. 在部门列表中找到要修改的分公司 2. 点击该行的"修改"按钮 3. 在弹出的对话框中修改编码字段 4. 点击"确定"保存 #### 场景3:自动同步后手动修正 如果自动同步的编码不正确,可以手动修正: 1. 找到编码错误的分公司 2. 点击"修改" 3. 输入正确的编码 4. 保存 ### 编码规范 参考[部门编码映射表.md](./部门编码映射表.md)中的编码示例: **服务单编码示例**: - 中山:JA - 广州:GZ - 湛江:ZJ - 珠海:ZH **调度单编码示例**: - 中山:JA01 - 广州:GZ01 - 湛江:ZJ01 - 珠海:ZH01 ## 数据流转 ### 手动编辑流程 ``` 管理员在界面编辑 ↓ 提交表单 ↓ 调用 updateDept API ↓ 后端验证数据 ↓ 更新 sys_dept 表 ├─ service_order_class └─ dispatch_order_class ↓ 返回成功消息 ↓ 刷新部门列表 ``` ### 自动同步 + 手动修正流程 ``` 自动同步(定时任务) ↓ 根据地名匹配编码 ↓ 写入数据库 ↓ 管理员检查 ↓ 发现错误 → 手动修正 ↓ 更新数据库 ``` ## 权限控制 编辑编码功能使用与部门管理相同的权限: | 操作 | 权限标识 | 说明 | |------|----------|------| | 查看编码 | system:dept:list | 查看部门列表权限 | | 编辑编码 | system:dept:edit | 修改部门权限 | | 新增时设置编码 | system:dept:add | 新增部门权限 | ## 字段验证 ### 前端验证 - **最大长度**:20个字符 - **格式**:无特殊格式要求,支持字母、数字、符号 - **必填**:非必填,可以为空 ### 后端验证 后端使用MyBatis动态SQL,字段更新规则: ```xml service_order_class = #{serviceOrderClass}, dispatch_order_class = #{dispatchOrderClass}, ``` - 如果前端传null,则不更新该字段 - 如果前端传空字符串,则更新为空字符串 ## 测试场景 ### 测试用例1:查看编码 **步骤**: 1. 登录后台 2. 进入部门管理 3. 查看部门列表 **预期结果**: - 已有编码的分公司显示为彩色标签 - 未设置编码的显示为灰色"-" ### 测试用例2:新增分公司并设置编码 **步骤**: 1. 点击"新增"按钮 2. 输入部门名称"深圳分公司" 3. 输入服务单编码"SZ" 4. 输入调度单编码"SZ01" 5. 点击"确定" **预期结果**: - 保存成功 - 列表中显示新增的分公司及其编码 ### 测试用例3:修改编码 **步骤**: 1. 找到"中山分公司" 2. 点击"修改" 3. 将服务单编码改为"JA2" 4. 将调度单编码改为"JA02" 5. 点击"确定" **预期结果**: - 保存成功 - 列表中显示更新后的编码 ### 测试用例4:清空编码 **步骤**: 1. 修改某个分公司 2. 清空服务单编码和调度单编码 3. 保存 **预期结果**: - 保存成功 - 列表中显示为灰色"-" ## 界面截图说明 ### 部门列表 ``` ┌──────────────────────────────────────────────────────────────────────┐ │ 部门管理 │ ├──────────────────────────────────────────────────────────────────────┤ │ 部门名称 SQL Server 服务单编码 调度单编码 排序 状态 创建时间 │ │ 部门ID │ ├──────────────────────────────────────────────────────────────────────┤ │ 合作单位 - - - 1 正常 2025-01-01│ │ ├─中山分公司 2001 [JA] [JA01] 1 正常 2025-01-01│ │ ├─广州分公司 2002 [GZ] [GZ01] 2 正常 2025-01-01│ │ └─湛江分公司 2003 [ZJ] [ZJ01] 3 正常 2025-01-01│ └──────────────────────────────────────────────────────────────────────┘ 注:[JA] 表示绿色标签,[JA01] 表示橙色标签 ``` ### 编辑对话框 ``` ┌────────────────────────────────────┐ │ 修改部门 [X] │ ├────────────────────────────────────┤ │ 上级部门:[合作单位 ▼] │ │ │ │ 部门名称:[中山分公司] │ │ 显示排序:[ 1 ] │ │ │ │ SQL Server部门ID:[2001] (只读) │ │ │ │ 服务单编码:[JA ] │ │ 调度单编码:[JA01 ] │ │ │ │ 负责人:[张三 ] │ │ 联系电话:[13800138000] │ │ │ │ 邮箱:[zhangsan@example.com] │ │ 部门状态:(·) 正常 ( ) 停用 │ │ │ │ [确定] [取消] │ └────────────────────────────────────┘ ``` ## 注意事项 1. **编码长度**:建议使用2-10个字符的简短编码 2. **编码唯一性**:系统不强制编码唯一,但建议每个分公司使用不同的编码 3. **编码规范**:建议遵循统一的命名规范(如城市拼音首字母) 4. **同步关系**:手动修改的编码不会被自动同步覆盖(除非重新执行同步) 5. **数据一致性**:修改编码后建议同时在SQL Server的dictionary表中更新 ## 与自动同步的关系 | 特性 | 自动同步 | 手动编辑 | |------|----------|----------| | 触发时机 | 部门同步任务执行时 | 管理员主动修改 | | 数据来源 | SQL Server dictionary表 | 管理员输入 | | 适用场景 | 批量初始化、定期更新 | 修正错误、特殊配置 | | 优先级 | 低 | 高 | **建议流程**: 1. 首次配置:使用自动同步批量设置编码 2. 检查验证:管理员检查自动匹配结果 3. 手动修正:对匹配错误或未匹配的进行手动修正 4. 后续维护:主要通过手动编辑维护 ## 相关文档 - [部门编码同步功能说明](./部门编码同步功能说明.md) - 自动同步技术文档 - [部门编码映射表](./部门编码映射表.md) - 编码参考表 - [部门编码同步-快速开始](./部门编码同步-快速开始.md) - 快速开始指南 --- **更新日期**:2025-10-19 **维护人**:系统管理员