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