refactor(system): 更新系统管理模块组件引用
- 更新用户管理页面中的组件引用从Nova到Coi - 更新角色管理页面中的组件引用从Nova到Coi - 更新相关事件处理和方法调用 - 确保功能保持不变
This commit is contained in:
parent
d71fd44a8a
commit
b944e3751f
@ -146,7 +146,7 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 空状态 -->
|
<!-- 空状态 -->
|
||||||
<NovaEmpty
|
<CoiEmpty
|
||||||
v-else
|
v-else
|
||||||
:type="getEmptyType()"
|
:type="getEmptyType()"
|
||||||
:title="getEmptyTitle()"
|
:title="getEmptyTitle()"
|
||||||
@ -161,7 +161,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
size="medium"
|
size="medium"
|
||||||
round
|
round
|
||||||
class="nova-empty__action-btn"
|
class="coi-empty__action-btn"
|
||||||
@click="handleEmptyAction"
|
@click="handleEmptyAction"
|
||||||
>
|
>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
@ -173,7 +173,7 @@
|
|||||||
{{ getEmptyActionText() }}
|
{{ getEmptyActionText() }}
|
||||||
</NButton>
|
</NButton>
|
||||||
</template>
|
</template>
|
||||||
</NovaEmpty>
|
</CoiEmpty>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 分页器 -->
|
<!-- 分页器 -->
|
||||||
@ -195,15 +195,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 角色表单弹框 -->
|
<!-- 角色表单弹框 -->
|
||||||
<NovaDialog
|
<CoiDialog
|
||||||
ref="roleDialogRef"
|
ref="roleDialogRef"
|
||||||
:title="modalTitle"
|
:title="modalTitle"
|
||||||
:width="700"
|
:width="700"
|
||||||
height="auto"
|
height="auto"
|
||||||
confirm-text="确定"
|
confirm-text="确定"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
@nova-confirm="handleSubmit"
|
@coi-confirm="handleSubmit"
|
||||||
@nova-cancel="handleCancel"
|
@coi-cancel="handleCancel"
|
||||||
>
|
>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="px-3 py-2">
|
<div class="px-3 py-2">
|
||||||
@ -275,18 +275,18 @@
|
|||||||
</n-form>
|
</n-form>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</NovaDialog>
|
</CoiDialog>
|
||||||
|
|
||||||
<!-- 菜单权限分配弹框 -->
|
<!-- 菜单权限分配弹框 -->
|
||||||
<NovaDialog
|
<CoiDialog
|
||||||
ref="menuDialogRef"
|
ref="menuDialogRef"
|
||||||
title="分配菜单权限"
|
title="分配菜单权限"
|
||||||
:width="500"
|
:width="500"
|
||||||
height="auto"
|
height="auto"
|
||||||
confirm-text="确定"
|
confirm-text="确定"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
@nova-confirm="handleConfirmAssignMenu"
|
@coi-confirm="handleConfirmAssignMenu"
|
||||||
@nova-cancel="handleCancelAssignMenu"
|
@coi-cancel="handleCancelAssignMenu"
|
||||||
>
|
>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="p-3">
|
<div class="p-3">
|
||||||
@ -362,7 +362,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</NovaDialog>
|
</CoiDialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -373,8 +373,8 @@ import { NButton, NIcon, NPopconfirm, NSpace, NSwitch, NTag, NTooltip, NTree } f
|
|||||||
import IconParkOutlineEditOne from '~icons/icon-park-outline/edit-one'
|
import IconParkOutlineEditOne from '~icons/icon-park-outline/edit-one'
|
||||||
import IconParkOutlineDelete from '~icons/icon-park-outline/delete'
|
import IconParkOutlineDelete from '~icons/icon-park-outline/delete'
|
||||||
import IconParkOutlineShield from '~icons/icon-park-outline/shield'
|
import IconParkOutlineShield from '~icons/icon-park-outline/shield'
|
||||||
import NovaDialog from '@/components/common/NovaDialog.vue'
|
import CoiDialog from '@/components/common/CoiDialog.vue'
|
||||||
import NovaEmpty from '@/components/common/NovaEmpty.vue'
|
import CoiEmpty from '@/components/common/CoiEmpty.vue'
|
||||||
import {
|
import {
|
||||||
addRole,
|
addRole,
|
||||||
batchDeleteRoles,
|
batchDeleteRoles,
|
||||||
@ -809,7 +809,7 @@ async function handleAdd() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
roleDialogRef.value?.novaOpen()
|
roleDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编辑角色
|
// 编辑角色
|
||||||
@ -825,7 +825,7 @@ function handleEdit(role: RoleVo) {
|
|||||||
remark: role.remark || '',
|
remark: role.remark || '',
|
||||||
sorted: role.sorted || 1,
|
sorted: role.sorted || 1,
|
||||||
}
|
}
|
||||||
roleDialogRef.value?.novaOpen()
|
roleDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除角色
|
// 删除角色
|
||||||
@ -947,7 +947,7 @@ async function handleAssignMenu(role: RoleVo) {
|
|||||||
checkedKeys.value = roleMenuResponse.data.map(id => String(id))
|
checkedKeys.value = roleMenuResponse.data.map(id => String(id))
|
||||||
}
|
}
|
||||||
|
|
||||||
menuDialogRef.value?.novaOpen()
|
menuDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
coiMsgError('获取菜单数据失败')
|
coiMsgError('获取菜单数据失败')
|
||||||
@ -1019,7 +1019,7 @@ async function handleConfirmAssignMenu() {
|
|||||||
|
|
||||||
if (response.isSuccess) {
|
if (response.isSuccess) {
|
||||||
coiMsgSuccess('菜单权限分配成功')
|
coiMsgSuccess('菜单权限分配成功')
|
||||||
menuDialogRef.value?.novaClose()
|
menuDialogRef.value?.coiClose()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
coiMsgError(response.message || '菜单权限分配失败')
|
coiMsgError(response.message || '菜单权限分配失败')
|
||||||
@ -1035,7 +1035,7 @@ async function handleConfirmAssignMenu() {
|
|||||||
|
|
||||||
// 取消分配菜单权限
|
// 取消分配菜单权限
|
||||||
function handleCancelAssignMenu() {
|
function handleCancelAssignMenu() {
|
||||||
menuDialogRef.value?.novaClose()
|
menuDialogRef.value?.coiClose()
|
||||||
currentAssignRole.value = null
|
currentAssignRole.value = null
|
||||||
menuData.value = []
|
menuData.value = []
|
||||||
expandedKeys.value = []
|
expandedKeys.value = []
|
||||||
@ -1140,7 +1140,7 @@ async function handleSubmit() {
|
|||||||
|
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
coiMsgSuccess(isEdit.value ? '角色信息更新成功' : '角色创建成功')
|
coiMsgSuccess(isEdit.value ? '角色信息更新成功' : '角色创建成功')
|
||||||
roleDialogRef.value?.novaClose()
|
roleDialogRef.value?.coiClose()
|
||||||
await getRoleList()
|
await getRoleList()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1154,7 +1154,7 @@ async function handleSubmit() {
|
|||||||
|
|
||||||
// 取消操作
|
// 取消操作
|
||||||
function handleCancel() {
|
function handleCancel() {
|
||||||
roleDialogRef.value?.novaClose()
|
roleDialogRef.value?.coiClose()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断是否有搜索条件
|
// 判断是否有搜索条件
|
||||||
@ -1412,8 +1412,8 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NovaEmpty按钮样式 */
|
/* CoiEmpty按钮样式 */
|
||||||
.nova-empty__action-btn {
|
.coi-empty__action-btn {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
@ -1422,7 +1422,7 @@ onMounted(() => {
|
|||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nova-empty__action-btn::before {
|
.coi-empty__action-btn::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -1433,12 +1433,12 @@ onMounted(() => {
|
|||||||
transition: left 0.6s ease;
|
transition: left 0.6s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nova-empty__action-btn:hover {
|
.coi-empty__action-btn:hover {
|
||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
.nova-empty__action-btn:hover::before {
|
.coi-empty__action-btn:hover::before {
|
||||||
left: 100%;
|
left: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -220,7 +220,7 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 空状态 -->
|
<!-- 空状态 -->
|
||||||
<NovaEmpty
|
<CoiEmpty
|
||||||
v-else
|
v-else
|
||||||
:type="getEmptyType()"
|
:type="getEmptyType()"
|
||||||
:title="getEmptyTitle()"
|
:title="getEmptyTitle()"
|
||||||
@ -235,7 +235,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
size="medium"
|
size="medium"
|
||||||
round
|
round
|
||||||
class="nova-empty__action-btn"
|
class="coi-empty__action-btn"
|
||||||
@click="handleEmptyAction"
|
@click="handleEmptyAction"
|
||||||
>
|
>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
@ -247,7 +247,7 @@
|
|||||||
{{ getEmptyActionText() }}
|
{{ getEmptyActionText() }}
|
||||||
</NButton>
|
</NButton>
|
||||||
</template>
|
</template>
|
||||||
</NovaEmpty>
|
</CoiEmpty>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 分页器 -->
|
<!-- 分页器 -->
|
||||||
@ -269,15 +269,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 用户表单弹框 -->
|
<!-- 用户表单弹框 -->
|
||||||
<NovaDialog
|
<CoiDialog
|
||||||
ref="userDialogRef"
|
ref="userDialogRef"
|
||||||
:title="modalTitle"
|
:title="modalTitle"
|
||||||
:width="800"
|
:width="800"
|
||||||
height="auto"
|
height="auto"
|
||||||
confirm-text="确定"
|
confirm-text="确定"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
@nova-confirm="handleSubmit"
|
@coi-confirm="handleSubmit"
|
||||||
@nova-cancel="handleCancel"
|
@coi-cancel="handleCancel"
|
||||||
>
|
>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="px-3 py-2">
|
<div class="px-3 py-2">
|
||||||
@ -407,18 +407,18 @@
|
|||||||
</n-form>
|
</n-form>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</NovaDialog>
|
</CoiDialog>
|
||||||
|
|
||||||
<!-- 角色分配弹框 -->
|
<!-- 角色分配弹框 -->
|
||||||
<NovaDialog
|
<CoiDialog
|
||||||
ref="roleDialogRef"
|
ref="roleDialogRef"
|
||||||
:title="roleModalTitle"
|
:title="roleModalTitle"
|
||||||
:width="600"
|
:width="600"
|
||||||
height="auto"
|
height="auto"
|
||||||
confirm-text="确定"
|
confirm-text="确定"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
@nova-confirm="handleConfirmAssignRole"
|
@coi-confirm="handleConfirmAssignRole"
|
||||||
@nova-cancel="handleCancelAssignRole"
|
@coi-cancel="handleCancelAssignRole"
|
||||||
>
|
>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="p-3 space-y-4">
|
<div class="p-3 space-y-4">
|
||||||
@ -467,18 +467,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</NovaDialog>
|
</CoiDialog>
|
||||||
|
|
||||||
<!-- 重置密码弹框 -->
|
<!-- 重置密码弹框 -->
|
||||||
<NovaDialog
|
<CoiDialog
|
||||||
ref="resetPwdDialogRef"
|
ref="resetPwdDialogRef"
|
||||||
title="重置用户密码"
|
title="重置用户密码"
|
||||||
:width="500"
|
:width="500"
|
||||||
height="auto"
|
height="auto"
|
||||||
confirm-text="确认重置"
|
confirm-text="确认重置"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
@nova-confirm="handleConfirmResetPassword"
|
@coi-confirm="handleConfirmResetPassword"
|
||||||
@nova-cancel="handleCancelResetPassword"
|
@coi-cancel="handleCancelResetPassword"
|
||||||
>
|
>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="p-3 space-y-4">
|
<div class="p-3 space-y-4">
|
||||||
@ -544,16 +544,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</NovaDialog>
|
</CoiDialog>
|
||||||
|
|
||||||
<!-- 头像查看弹框 -->
|
<!-- 头像查看弹框 -->
|
||||||
<NovaDialog
|
<CoiDialog
|
||||||
ref="avatarDialogRef"
|
ref="avatarDialogRef"
|
||||||
:width="600"
|
:width="600"
|
||||||
height="auto"
|
height="auto"
|
||||||
cancel-text="关闭"
|
cancel-text="关闭"
|
||||||
:show-confirm="false"
|
:show-confirm="false"
|
||||||
@nova-cancel="handleCloseAvatar"
|
@coi-cancel="handleCloseAvatar"
|
||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
@ -595,18 +595,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</NovaDialog>
|
</CoiDialog>
|
||||||
|
|
||||||
<!-- 导入用户弹框 -->
|
<!-- 导入用户弹框 -->
|
||||||
<NovaDialog
|
<CoiDialog
|
||||||
ref="importDialogRef"
|
ref="importDialogRef"
|
||||||
title="导入用户数据"
|
title="导入用户数据"
|
||||||
:width="600"
|
:width="600"
|
||||||
height="auto"
|
height="auto"
|
||||||
confirm-text="开始导入"
|
confirm-text="开始导入"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
@nova-confirm="handleConfirmImport"
|
@coi-confirm="handleConfirmImport"
|
||||||
@nova-cancel="handleCancelImport"
|
@coi-cancel="handleCancelImport"
|
||||||
>
|
>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="p-3 space-y-6">
|
<div class="p-3 space-y-6">
|
||||||
@ -698,7 +698,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</NovaDialog>
|
</CoiDialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -710,8 +710,8 @@ import IconParkOutlineEditOne from '~icons/icon-park-outline/edit-one'
|
|||||||
import IconParkOutlineDelete from '~icons/icon-park-outline/delete'
|
import IconParkOutlineDelete from '~icons/icon-park-outline/delete'
|
||||||
import IconParkOutlineRefresh from '~icons/icon-park-outline/refresh'
|
import IconParkOutlineRefresh from '~icons/icon-park-outline/refresh'
|
||||||
import IconParkOutlineUserPositioning from '~icons/icon-park-outline/user-positioning'
|
import IconParkOutlineUserPositioning from '~icons/icon-park-outline/user-positioning'
|
||||||
import NovaDialog from '@/components/common/NovaDialog.vue'
|
import CoiDialog from '@/components/common/CoiDialog.vue'
|
||||||
import NovaEmpty from '@/components/common/NovaEmpty.vue'
|
import CoiEmpty from '@/components/common/CoiEmpty.vue'
|
||||||
import {
|
import {
|
||||||
addUser,
|
addUser,
|
||||||
batchDeleteUsers,
|
batchDeleteUsers,
|
||||||
@ -1246,7 +1246,7 @@ function handleAdd() {
|
|||||||
remark: '',
|
remark: '',
|
||||||
roleIds: [],
|
roleIds: [],
|
||||||
}
|
}
|
||||||
userDialogRef.value?.novaOpen()
|
userDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编辑用户
|
// 编辑用户
|
||||||
@ -1309,7 +1309,7 @@ async function handleEdit(user: UserVo) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
userDialogRef.value?.novaOpen()
|
userDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除用户
|
// 删除用户
|
||||||
@ -1395,7 +1395,7 @@ function handleResetPassword(user: UserVo) {
|
|||||||
newPassword: '',
|
newPassword: '',
|
||||||
confirmPassword: '',
|
confirmPassword: '',
|
||||||
}
|
}
|
||||||
resetPwdDialogRef.value?.novaOpen()
|
resetPwdDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 执行重置密码
|
// 执行重置密码
|
||||||
@ -1419,7 +1419,7 @@ async function handleConfirmResetPassword() {
|
|||||||
const { isSuccess } = await resetUserPassword(currentResetUser.value.userId, resetPwdForm.value.newPassword)
|
const { isSuccess } = await resetUserPassword(currentResetUser.value.userId, resetPwdForm.value.newPassword)
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
coiMsgSuccess(`用户「${currentResetUser.value.userName}」密码重置成功`)
|
coiMsgSuccess(`用户「${currentResetUser.value.userName}」密码重置成功`)
|
||||||
resetPwdDialogRef.value?.novaClose()
|
resetPwdDialogRef.value?.coiClose()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
coiMsgError('重置密码失败,请稍后重试')
|
coiMsgError('重置密码失败,请稍后重试')
|
||||||
@ -1433,7 +1433,7 @@ async function handleConfirmResetPassword() {
|
|||||||
|
|
||||||
// 取消重置密码
|
// 取消重置密码
|
||||||
function handleCancelResetPassword() {
|
function handleCancelResetPassword() {
|
||||||
resetPwdDialogRef.value?.novaClose()
|
resetPwdDialogRef.value?.coiClose()
|
||||||
resetPwdForm.value = {
|
resetPwdForm.value = {
|
||||||
newPassword: '',
|
newPassword: '',
|
||||||
confirmPassword: '',
|
confirmPassword: '',
|
||||||
@ -1479,12 +1479,12 @@ function handleViewAvatar(user: UserVo) {
|
|||||||
currentAvatar.value = blobUrl
|
currentAvatar.value = blobUrl
|
||||||
createdBlobUrls.value.push(blobUrl)
|
createdBlobUrls.value.push(blobUrl)
|
||||||
}
|
}
|
||||||
avatarDialogRef.value?.novaOpen()
|
avatarDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关闭头像查看
|
// 关闭头像查看
|
||||||
function handleCloseAvatar() {
|
function handleCloseAvatar() {
|
||||||
avatarDialogRef.value?.novaClose()
|
avatarDialogRef.value?.coiClose()
|
||||||
// 如果是生成的默认头像,释放URL
|
// 如果是生成的默认头像,释放URL
|
||||||
if (currentAvatar.value.startsWith('blob:')) {
|
if (currentAvatar.value.startsWith('blob:')) {
|
||||||
URL.revokeObjectURL(currentAvatar.value)
|
URL.revokeObjectURL(currentAvatar.value)
|
||||||
@ -1626,7 +1626,7 @@ function handleImport() {
|
|||||||
selectedFile.value = null
|
selectedFile.value = null
|
||||||
updateSupport.value = false
|
updateSupport.value = false
|
||||||
uploadProgress.value = 0
|
uploadProgress.value = 0
|
||||||
importDialogRef.value?.novaOpen()
|
importDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件选择处理
|
// 文件选择处理
|
||||||
@ -1691,7 +1691,7 @@ async function handleConfirmImport() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 关闭模态框并刷新列表
|
// 关闭模态框并刷新列表
|
||||||
importDialogRef.value?.novaClose()
|
importDialogRef.value?.coiClose()
|
||||||
await getUserList()
|
await getUserList()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1716,7 +1716,7 @@ async function handleConfirmImport() {
|
|||||||
|
|
||||||
// 取消导入
|
// 取消导入
|
||||||
function handleCancelImport() {
|
function handleCancelImport() {
|
||||||
importDialogRef.value?.novaClose()
|
importDialogRef.value?.coiClose()
|
||||||
selectedFile.value = null
|
selectedFile.value = null
|
||||||
updateSupport.value = false
|
updateSupport.value = false
|
||||||
uploadProgress.value = 0
|
uploadProgress.value = 0
|
||||||
@ -1754,7 +1754,7 @@ async function handleAssignRole(user: UserVo) {
|
|||||||
|
|
||||||
// 预选用户当前角色(使用后端返回的用户角色ID)
|
// 预选用户当前角色(使用后端返回的用户角色ID)
|
||||||
selectedRoleIds.value = userRoleIds
|
selectedRoleIds.value = userRoleIds
|
||||||
roleDialogRef.value?.novaOpen()
|
roleDialogRef.value?.coiOpen()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
coiMsgInfo('当前系统没有可分配的角色')
|
coiMsgInfo('当前系统没有可分配的角色')
|
||||||
@ -1792,7 +1792,7 @@ async function handleConfirmAssignRole() {
|
|||||||
|
|
||||||
if (response.isSuccess) {
|
if (response.isSuccess) {
|
||||||
coiMsgSuccess('角色分配成功')
|
coiMsgSuccess('角色分配成功')
|
||||||
roleDialogRef.value?.novaClose()
|
roleDialogRef.value?.coiClose()
|
||||||
|
|
||||||
// 更新当前用户的角色信息
|
// 更新当前用户的角色信息
|
||||||
if (currentAssignUser.value) {
|
if (currentAssignUser.value) {
|
||||||
@ -1816,7 +1816,7 @@ async function handleConfirmAssignRole() {
|
|||||||
|
|
||||||
// 取消分配角色
|
// 取消分配角色
|
||||||
function handleCancelAssignRole() {
|
function handleCancelAssignRole() {
|
||||||
roleDialogRef.value?.novaClose()
|
roleDialogRef.value?.coiClose()
|
||||||
currentAssignUser.value = null
|
currentAssignUser.value = null
|
||||||
selectedRoleIds.value = []
|
selectedRoleIds.value = []
|
||||||
availableRoles.value = []
|
availableRoles.value = []
|
||||||
@ -1859,7 +1859,7 @@ async function handleSubmit() {
|
|||||||
|
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
coiMsgSuccess(isEdit.value ? '用户信息更新成功' : '用户创建成功')
|
coiMsgSuccess(isEdit.value ? '用户信息更新成功' : '用户创建成功')
|
||||||
userDialogRef.value?.novaClose()
|
userDialogRef.value?.coiClose()
|
||||||
await getUserList()
|
await getUserList()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1874,7 +1874,7 @@ async function handleSubmit() {
|
|||||||
|
|
||||||
// 取消操作
|
// 取消操作
|
||||||
function handleCancel() {
|
function handleCancel() {
|
||||||
userDialogRef.value?.novaClose()
|
userDialogRef.value?.coiClose()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断是否有搜索条件
|
// 判断是否有搜索条件
|
||||||
@ -2077,8 +2077,8 @@ onBeforeUnmount(() => {
|
|||||||
border-color: #40a9ff;
|
border-color: #40a9ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NovaEmpty按钮样式 */
|
/* CoiEmpty按钮样式 */
|
||||||
.nova-empty__action-btn {
|
.coi-empty__action-btn {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
@ -2087,7 +2087,7 @@ onBeforeUnmount(() => {
|
|||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nova-empty__action-btn::before {
|
.coi-empty__action-btn::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -2098,12 +2098,12 @@ onBeforeUnmount(() => {
|
|||||||
transition: left 0.6s ease;
|
transition: left 0.6s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nova-empty__action-btn:hover {
|
.coi-empty__action-btn:hover {
|
||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
.nova-empty__action-btn:hover::before {
|
.coi-empty__action-btn:hover::before {
|
||||||
left: 100%;
|
left: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user