refactor(sponsor/NewPerson): 角色统一 el-select, 管理员选项禁用, 编辑模式整体置灰
之前: v-if/v-else 二选一 (role='admin' 静态 tag / 其他 el-select)
历史主账号 role=NULL 时空白显示, UI 不一致
现在: 统一用 el-select
- :disabled=isEdit (编辑模式整体灰, 不可改)
- 管理员 option :disabled=true 常驻但永远不可选
(一公司一管理员只在注册时建, 不能从 UI 任命)
- 新建: 下拉只允许选监察员 (管理员 option 禁用)
- 编辑: 整个 select 灰, 显示当前 role (supervisor/admin/null 都能稳定渲染)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -66,11 +66,15 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="角色" prop="role">
|
||||
<!-- 编辑模式 + 当前 role=admin (主账号自己) → 显示静态 tag, 不让改 -->
|
||||
<!-- 新建时下拉不包含 admin, 只允许选 supervisor (监察员) -->
|
||||
<el-tag v-if="isEdit && form.role === 'admin'" type="warning" disable-transitions>管理员</el-tag>
|
||||
<el-select v-else v-model="form.role" placeholder="请选择" style="width:100%">
|
||||
<!--
|
||||
统一用 el-select, 不论新建/编辑:
|
||||
- 管理员 选项常驻, 但 :disabled=true 永远不能选 (一公司一管理员只在注册时建, 不能从 UI 任命)
|
||||
- 编辑模式整个 el-select :disabled=true (灰), 不可改 (与"操作列禁用本人删除"语义一致)
|
||||
- 解决历史主账号 role=NULL 时空白显示问题 (select 至少能稳定渲染当前值)
|
||||
-->
|
||||
<el-select v-model="form.role" placeholder="请选择" style="width:100%" :disabled="isEdit">
|
||||
<el-option label="监察员" value="supervisor" />
|
||||
<el-option label="管理员" value="admin" :disabled="true" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
Reference in New Issue
Block a user