Release/test 合并上生产 #2

Merged
admin merged 736 commits from release/test into main 2026-09-17 11:50:56 +08:00
2 changed files with 13 additions and 4 deletions
Showing only changes of commit 6b7536b95c - Show all commits
+6
View File
@@ -101,6 +101,12 @@ describe('RolesView', () => {
expect(rolesSource).not.toContain("disabled: 'disabled'")
})
it('restores saved permission ids after the dialog tree has mounted', () => {
expect(rolesSource).toContain('@opened="initializePermissionSelection"')
expect(rolesSource).toContain('treeRef.value?.setCheckedKeys([...form.permissionIds])')
expect(rolesSource).not.toContain('nextTick(() =>')
})
it('shows the role code in the default list layout', () => {
expect(rolesSource).toContain("{ key: 'roleCode', prop: 'code', label: '角色编码', minWidth: 180, showOverflowTooltip: true }")
expect(rolesSource).toContain('<el-form-item label="角色编码"')
+7 -4
View File
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { computed, nextTick, onMounted, reactive, ref } from 'vue'
import { computed, onMounted, reactive, ref } from 'vue'
import { ElMessage, ElMessageBox, type FormInstance, type FormRules } from 'element-plus'
import { Pencil, Plus, Power, ShieldCheck, Trash2 } from '@lucide/vue'
import {
@@ -136,14 +136,17 @@ function openCreate() {
Object.assign(form, emptyForm())
captureBaseline()
editorOpen.value = true
nextTick(() => { formRef.value?.clearValidate(); treeRef.value?.setCheckedKeys([]) })
}
function openEdit(row: Role) {
if (!canEdit.value && !canGrant.value) return
Object.assign(form, { ...row, permissionIds: [...row.permissionIds] })
captureBaseline()
editorOpen.value = true
nextTick(() => { formRef.value?.clearValidate(); treeRef.value?.setCheckedKeys([...row.permissionIds]) })
}
function initializePermissionSelection() {
formRef.value?.clearValidate()
treeRef.value?.setCheckedKeys([...form.permissionIds])
}
function selectedPermissionIds() {
@@ -253,7 +256,7 @@ onMounted(loadRoles)
</section>
</ListPageLayout>
<AppDialog v-model="editorOpen" :title="form.id ? '配置角色' : '新增角色'" width="min(860px, calc(100vw - 28px))" class="role-editor-dialog" :confirm-loading="saving" confirm-text="保存角色" :show-confirm="form.id ? canEdit || canGrant : canCreate" destroy-on-close @confirm="saveRole">
<AppDialog v-model="editorOpen" :title="form.id ? '配置角色' : '新增角色'" width="min(860px, calc(100vw - 28px))" class="role-editor-dialog" :confirm-loading="saving" confirm-text="保存角色" :show-confirm="form.id ? canEdit || canGrant : canCreate" destroy-on-close @opened="initializePermissionSelection" @confirm="saveRole">
<el-form ref="formRef" :model="form" :rules="formRules" label-position="top" class="role-editor-form">
<div class="role-editor-layout">
<FormSection title="基本信息" description="维护角色名称、编码和职责说明。" class="role-editor-basic">