feat(system): 角色管理表格行增加编辑入口(名称、备注可改,角色标识锁定) #2

Merged
weicw merged 1 commits from weicw-dshsa/tuanwei-admin:agent/role-edit-button-ba5a05896d2c into master 2026-11-01 15:08:56 +08:00
Contributor

Fixes #1

This is by an automated agent, not a human.

改动

  • src/views/system/role/index.vue:操作列恢复「编辑」入口(此前 canEdit 恒为 false,编辑和删除入口一起被隐藏);「删除」保持原样,仍不展示。
  • src/views/system/role/components/role-edit.vue:编辑弹窗中「角色标识」锁定只读并给出说明;保存时更新请求只提交 roleId、roleName、comments,不再回传 roleCode。新建流程不变,仍可填写角色标识。
  • 角色标识参与审批流程判断(后端 BaseController、ReviewListController 按 roleCode 区分审批角色),因此作为不可编辑字段处理。

截图对比

基线:master @ e30dd04;改动:本 PR 分支 agent/role-edit-button-ba5a05896d2c。
同一页面、同一份数据、1440×900 视口、浅色主题、浏览器实际渲染。数据来自本地 mock 接口(按 tuanwei.sql 中 sys_role 记录构造),本地未启动后端。

Before(master) —— 操作列只有「分配权限」,没有编辑入口:

before

After(本 PR) —— 每行有「编辑」:

after

After(编辑弹窗) —— 角色名称、备注可改,「角色标识」禁用并说明原因:

after-dialog

验证

  • npm run build(vite build)通过。
  • npx eslint src/views/system/role/components/role-edit.vue 通过。
  • npx vue-tsc --noEmit:仓库基线本身已有大量无关文件报错(如 oa/app/components/app-edit.vue),本次改动相关文件无新增报错。
  • 浏览器实测:编辑「学生」角色并保存,PUT /api/system/role 请求体为 {"roleId":287,"roleName":...,"comments":...}(无 roleCode);「新建」仍提交 roleCode。
  • src/views/system/role/index.vue 沿用文件原有的 4 空格风格,未整文件重排(该文件在基线即不符合仓库 prettier 配置)。

合并后

tuanwei-home 的 tuanwei-admin 子模块指针需要同步(本账号对 b2894lxlx/tuanwei-admin 只有读权限,PR 从 fork weicw-dshsa/tuanwei-admin 发起)。

说明

  • 后端 PUT /api/system/role 仍接受 roleCode,本次按需求把限制放在管理页:编辑态锁定,且页面保存时不再回传该字段。
  • 本 PR 从 fork weicw-dshsa/tuanwei-admin 发起:机器人账号对 b2894lxlx/tuanwei-admin 只有读权限,无法直接在仓库建分支、建标签;仓库里也还没有 ready-for-human 标签,需要维护者创建并打上。
Fixes #1 This is by an automated agent, not a human. ## 改动 - `src/views/system/role/index.vue`:操作列恢复「编辑」入口(此前 `canEdit` 恒为 false,编辑和删除入口一起被隐藏);「删除」保持原样,仍不展示。 - `src/views/system/role/components/role-edit.vue`:编辑弹窗中「角色标识」锁定只读并给出说明;保存时更新请求只提交 `roleId`、`roleName`、`comments`,不再回传 `roleCode`。新建流程不变,仍可填写角色标识。 - 角色标识参与审批流程判断(后端 `BaseController`、`ReviewListController` 按 roleCode 区分审批角色),因此作为不可编辑字段处理。 ## 截图对比 基线:`master` @ `e30dd04`;改动:本 PR 分支 `agent/role-edit-button-ba5a05896d2c`。 同一页面、同一份数据、1440×900 视口、浅色主题、浏览器实际渲染。数据来自本地 mock 接口(按 `tuanwei.sql` 中 `sys_role` 记录构造),本地未启动后端。 **Before(master)** —— 操作列只有「分配权限」,没有编辑入口: ![before](https://code.websoft.top/attachments/ba2acaf6-7ae5-48fe-a00b-287a513f096f) **After(本 PR)** —— 每行有「编辑」: ![after](https://code.websoft.top/attachments/8423cdc7-4c4c-4e8e-bd80-746b03fca222) **After(编辑弹窗)** —— 角色名称、备注可改,「角色标识」禁用并说明原因: ![after-dialog](https://code.websoft.top/attachments/5496e6db-0d98-43d8-a7e6-ac387d986d56) ## 验证 - `npm run build`(vite build)通过。 - `npx eslint src/views/system/role/components/role-edit.vue` 通过。 - `npx vue-tsc --noEmit`:仓库基线本身已有大量无关文件报错(如 `oa/app/components/app-edit.vue`),本次改动相关文件无新增报错。 - 浏览器实测:编辑「学生」角色并保存,`PUT /api/system/role` 请求体为 `{"roleId":287,"roleName":...,"comments":...}`(无 `roleCode`);「新建」仍提交 `roleCode`。 - `src/views/system/role/index.vue` 沿用文件原有的 4 空格风格,未整文件重排(该文件在基线即不符合仓库 prettier 配置)。 ## 合并后 `tuanwei-home` 的 `tuanwei-admin` 子模块指针需要同步(本账号对 `b2894lxlx/tuanwei-admin` 只有读权限,PR 从 fork `weicw-dshsa/tuanwei-admin` 发起)。 ## 说明 - 后端 `PUT /api/system/role` 仍接受 `roleCode`,本次按需求把限制放在管理页:编辑态锁定,且页面保存时不再回传该字段。 - 本 PR 从 fork `weicw-dshsa/tuanwei-admin` 发起:机器人账号对 `b2894lxlx/tuanwei-admin` 只有读权限,无法直接在仓库建分支、建标签;仓库里也还没有 `ready-for-human` 标签,需要维护者创建并打上。
weicw-dshsa added 1 commit 2026-11-01 14:59:02 +08:00
角色标识参与审批流程等后端判断,前次改动整体隐藏了角色编辑入口;
本次恢复编辑入口,但编辑时角色标识锁定不可改,仅允许修改角色名称与备注,
且更新请求只提交 roleId、roleName、comments,避免误改审批流相关字段。
weicw merged commit 35e527ce53 into master 2026-11-01 15:08:56 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: b2894lxlx/tuanwei-admin#2