在若依后台管理系统的部门管理界面中,新增了服务单编码和调度单编码的显示和编辑功能,方便管理员手动维护部门编码。
实现日期:2025-10-19
版本:v1.0
在部门列表表格中新增两列:
| 列名 | 字段名 | 宽度 | 显示样式 | 说明 |
|---|---|---|---|---|
| 服务单编码 | serviceOrderClass | 120px | 绿色标签 | 显示分公司的服务单编码 |
| 调度单编码 | dispatchOrderClass | 120px | 橙色标签 | 显示分公司的调度单编码 |
显示效果:
- 有编码值:显示为彩色标签(服务单-绿色,调度单-橙色)
- 无编码值:显示为灰色"-"
列顺序: 部门名称 -> SQL Server部门ID -> 服务单编码 -> 调度单编码 -> 排序 -> 状态 -> 创建时间 -> 操作
在"添加/修改部门"对话框中新增编码编辑字段:
表单布局:
```
[ 上级部门 ] (全宽)
[ 部门名称 ] [ 显示排序 ] (左右分栏)
[ SQL Server部门ID ] (半宽,只读)
[ 服务单编码 ] [ 调度单编码 ] (左右分栏,可编辑)
[ 负责人 ] [ 联系电话 ] (左右分栏)
[ 邮箱 ] [ 部门状态 ] (左右分栏)
```
字段说明:
| 字段名 | 类型 | 最大长度 | 是否必填 | 说明 |
|---|---|---|---|---|
| 服务单编码 | 文本 | 20字符 | 否 | 对应SQL Server dictionary表vType=1 |
| 调度单编码 | 文本 | 20字符 | 否 | 对应SQL Server dictionary表vType=2 |
文件路径:ruoyi-ui/src/views/system/dept/index.vue
<!-- 服务单编码列 -->
<el-table-column prop="serviceOrderClass" label="服务单编码" width="120" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.serviceOrderClass" type="success" size="mini">
{{ scope.row.serviceOrderClass }}
</el-tag>
<span v-else style="color: #909399;">-</span>
</template>
</el-table-column>
<!-- 调度单编码列 -->
<el-table-column prop="dispatchOrderClass" label="调度单编码" width="120" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.dispatchOrderClass" type="warning" size="mini">
{{ scope.row.dispatchOrderClass }}
</el-tag>
<span v-else style="color: #909399;">-</span>
</template>
</el-table-column>
<el-row>
<el-col :span="12">
<el-form-item label="服务单编码" prop="serviceOrderClass">
<el-input v-model="form.serviceOrderClass" placeholder="请输入服务单编码" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调度单编码" prop="dispatchOrderClass">
<el-input v-model="form.dispatchOrderClass" placeholder="请输入调度单编码" maxlength="20" />
</el-form-item>
</el-col>
</el-row>
this.form = {
deptId: undefined,
parentId: undefined,
deptName: undefined,
departmentId: undefined,
serviceOrderClass: undefined, // 新增
dispatchOrderClass: undefined, // 新增
orderNum: undefined,
leader: undefined,
phone: undefined,
email: undefined,
status: "0"
};
显示效果:
- ✅ 有编码:显示为彩色标签
- 服务单编码:绿色标签
- 调度单编码:橙色标签
- ⚠️ 无编码:显示为灰色"-"
如果自动同步的编码不正确,可以手动修正:
参考部门编码映射表.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 | 新增部门权限 |
后端使用MyBatis动态SQL,字段更新规则:
<if test="serviceOrderClass != null">service_order_class = #{serviceOrderClass},</if>
<if test="dispatchOrderClass != null">dispatch_order_class = #{dispatchOrderClass},</if>
步骤:
1. 登录后台
2. 进入部门管理
3. 查看部门列表
预期结果:
- 已有编码的分公司显示为彩色标签
- 未设置编码的显示为灰色"-"
步骤:
1. 点击"新增"按钮
2. 输入部门名称"深圳分公司"
3. 输入服务单编码"SZ"
4. 输入调度单编码"SZ01"
5. 点击"确定"
预期结果:
- 保存成功
- 列表中显示新增的分公司及其编码
步骤:
1. 找到"中山分公司"
2. 点击"修改"
3. 将服务单编码改为"JA2"
4. 将调度单编码改为"JA02"
5. 点击"确定"
预期结果:
- 保存成功
- 列表中显示更新后的编码
步骤:
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] │
│ 部门状态:(·) 正常 ( ) 停用 │
│ │
│ [确定] [取消] │
└────────────────────────────────────┘
| 特性 | 自动同步 | 手动编辑 |
|---|---|---|
| 触发时机 | 部门同步任务执行时 | 管理员主动修改 |
| 数据来源 | SQL Server dictionary表 | 管理员输入 |
| 适用场景 | 批量初始化、定期更新 | 修正错误、特殊配置 |
| 优先级 | 低 | 高 |
建议流程:
1. 首次配置:使用自动同步批量设置编码
2. 检查验证:管理员检查自动匹配结果
3. 手动修正:对匹配错误或未匹配的进行手动修正
4. 后续维护:主要通过手动编辑维护
更新日期:2025-10-19
维护人:系统管理员