refactor: 简化命名,例如:UserAddDrawer => AddDrawer

This commit is contained in:
2025-08-15 22:42:48 +08:00
parent b1805dc41b
commit c57a0a2195
32 changed files with 89 additions and 93 deletions

View File

@@ -29,8 +29,6 @@ function calculateFileMd5Optimized(file: File, taskId: string, blockSize: number
let activeWorkers = 0 let activeWorkers = 0
let nextBlockIndex = 0 let nextBlockIndex = 0
console.log(`[Worker] 使用并发块处理: 最大并发 ${maxConcurrency},总块数: ${blocks}`)
function processBlock(blockIndex: number): Promise<void> { function processBlock(blockIndex: number): Promise<void> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
try { try {
@@ -63,9 +61,6 @@ function calculateFileMd5Optimized(file: File, taskId: string, blockSize: number
} else { } else {
blockHashes[blockIndex] = spark.end() blockHashes[blockIndex] = spark.end()
processedBlocks++ processedBlocks++
console.log(`[Worker] 块 ${blockIndex + 1}/${blocks} 处理完成`)
resolve() resolve()
} }
} else { } else {
@@ -120,7 +115,6 @@ function calculateFileMd5Optimized(file: File, taskId: string, blockSize: number
}) })
const finalMd5 = finalSpark.end() const finalMd5 = finalSpark.end()
console.info(`[Worker] 所有块完成,最终 MD5: ${finalMd5}`)
globalThis.postMessage({ globalThis.postMessage({
type: 'complete', type: 'complete',
taskId, taskId,

View File

@@ -79,16 +79,16 @@
</template> </template>
</GiTable> </GiTable>
<AppAddModal ref="AppAddModalRef" @save-success="search" /> <AddModal ref="AddModalRef" @save-success="search" />
<AppDetailDrawer ref="AppDetailDrawerRef" /> <DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout> </GiPageLayout>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import { Message, Modal } from '@arco-design/web-vue' import { Message, Modal } from '@arco-design/web-vue'
import AppAddModal from './AppAddModal.vue' import AddModal from './AddModal.vue'
import AppDetailDrawer from './AppDetailDrawer.vue' import DetailDrawer from './DetailDrawer.vue'
import { import {
type AppQuery, type AppQuery,
type AppResp, type AppResp,
@@ -200,21 +200,21 @@ const onResetSecret = async (record: AppResp) => {
}) })
} }
const AppAddModalRef = ref<InstanceType<typeof AppAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 新增 // 新增
const onAdd = () => { const onAdd = () => {
AppAddModalRef.value?.onAdd() AddModalRef.value?.onAdd()
} }
// 修改 // 修改
const onUpdate = (record: AppResp) => { const onUpdate = (record: AppResp) => {
AppAddModalRef.value?.onUpdate(record.id) AddModalRef.value?.onUpdate(record.id)
} }
const AppDetailDrawerRef = ref<InstanceType<typeof AppDetailDrawer>>() const DetailDrawerRef = ref<InstanceType<typeof DetailDrawer>>()
// 详情 // 详情
const onDetail = (record: AppResp) => { const onDetail = (record: AppResp) => {
AppDetailDrawerRef.value?.onOpen(record.id) DetailDrawerRef.value?.onOpen(record.id)
} }
</script> </script>

View File

@@ -72,8 +72,8 @@
</template> </template>
</GiTable> </GiTable>
<JobAddModal ref="JobAddModalRef" @save-success="reset" /> <AddModal ref="AddModalRef" @save-success="reset" />
<JobDetailDrawer ref="JobDetailDrawerRef" /> <DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout> </GiPageLayout>
</template> </template>
@@ -81,8 +81,8 @@
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import JobAddModal from './JobAddModal.vue' import AddModal from './AddModal.vue'
import JobDetailDrawer from './JobDetailDrawer.vue' import DetailDrawer from './DetailDrawer.vue'
import { type JobQuery, type JobResp, deleteJob, listGroup, listJob, triggerJob, updateJobStatus } from '@/apis/schedule' import { type JobQuery, type JobResp, deleteJob, listGroup, listJob, triggerJob, updateJobStatus } from '@/apis/schedule'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'
@@ -178,21 +178,21 @@ const onTrigger = (record: JobResp) => {
}) })
} }
const JobAddModalRef = ref<InstanceType<typeof JobAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 新增 // 新增
const onAdd = () => { const onAdd = () => {
JobAddModalRef.value?.onAdd() AddModalRef.value?.onAdd()
} }
// 修改 // 修改
const onUpdate = (record: JobResp) => { const onUpdate = (record: JobResp) => {
JobAddModalRef.value?.onUpdate(record) AddModalRef.value?.onUpdate(record)
} }
const JobDetailDrawerRef = ref<InstanceType<typeof JobDetailDrawer>>() const DetailDrawerRef = ref<InstanceType<typeof DetailDrawer>>()
// 详情 // 详情
const onDetail = (record: JobResp) => { const onDetail = (record: JobResp) => {
JobDetailDrawerRef.value?.onOpen(record) DetailDrawerRef.value?.onOpen(record)
} }
const router = useRouter() const router = useRouter()

View File

@@ -53,16 +53,16 @@
</template> </template>
</GiTable> </GiTable>
<ClientAddModal ref="ClientAddModalRef" @save-success="search" /> <AddModal ref="AddModalRef" @save-success="search" />
<ClientDetailDrawer ref="ClientDetailDrawerRef" /> <DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout> </GiPageLayout>
</template> </template>
<script setup lang="tsx"> <script setup lang="tsx">
import type { LabelValue } from '@arco-design/web-vue/es/tree-select/interface' import type { LabelValue } from '@arco-design/web-vue/es/tree-select/interface'
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import ClientAddModal from './ClientAddModal.vue' import AddModal from './AddModal.vue'
import ClientDetailDrawer from './ClientDetailDrawer.vue' import DetailDrawer from './DetailDrawer.vue'
import { type ClientQuery, type ClientResp, deleteClient, listClient } from '@/apis/system/client' import { type ClientQuery, type ClientResp, deleteClient, listClient } from '@/apis/system/client'
import { DisEnableStatusList } from '@/constant/common' import { DisEnableStatusList } from '@/constant/common'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
@@ -186,21 +186,21 @@ const onDelete = (record: ClientResp) => {
}) })
} }
const ClientAddModalRef = ref<InstanceType<typeof ClientAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 新增 // 新增
const onAdd = () => { const onAdd = () => {
ClientAddModalRef.value?.onAdd() AddModalRef.value?.onAdd()
} }
// 修改 // 修改
const onUpdate = (record: ClientResp) => { const onUpdate = (record: ClientResp) => {
ClientAddModalRef.value?.onUpdate(record.id) AddModalRef.value?.onUpdate(record.id)
} }
const ClientDetailDrawerRef = ref<InstanceType<typeof ClientDetailDrawer>>() const DetailDrawerRef = ref<InstanceType<typeof DetailDrawer>>()
// 详情 // 详情
const onDetail = (record: ClientResp) => { const onDetail = (record: ClientResp) => {
ClientDetailDrawerRef.value?.onOpen(record.id) DetailDrawerRef.value?.onOpen(record.id)
} }
</script> </script>

View File

@@ -71,14 +71,14 @@
</template> </template>
</GiTable> </GiTable>
<SmsConfigAddModal ref="SmsConfigAddModalRef" @save-success="search" /> <AddModal ref="AddModalRef" @save-success="search" />
</GiPageLayout> </GiPageLayout>
</template> </template>
<script setup lang="tsx"> <script setup lang="tsx">
import { Message, Modal } from '@arco-design/web-vue' import { Message, Modal } from '@arco-design/web-vue'
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import SmsConfigAddModal from './SmsConfigAddModal.vue' import AddModal from './AddModal.vue'
import { import {
type SmsConfigQuery, type SmsConfigQuery,
type SmsConfigResp, type SmsConfigResp,
@@ -208,15 +208,15 @@ const onSetDefault = (record: SmsConfigResp) => {
}) })
} }
const SmsConfigAddModalRef = ref<InstanceType<typeof SmsConfigAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 新增 // 新增
const onAdd = () => { const onAdd = () => {
SmsConfigAddModalRef.value?.onAdd() AddModalRef.value?.onAdd()
} }
// 修改 // 修改
const onUpdate = (record: SmsConfigResp) => { const onUpdate = (record: SmsConfigResp) => {
SmsConfigAddModalRef.value?.onUpdate(record.id) AddModalRef.value?.onUpdate(record.id)
} }
const router = useRouter() const router = useRouter()

View File

@@ -14,11 +14,11 @@
</div> </div>
</a-card> </a-card>
<StorageAddModal ref="StorageAddModalRef" @save-success="search" /> <AddModal ref="AddModalRef" @save-success="search" />
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import StorageAddModal from '../StorageAddModal.vue' import AddModal from '../AddModal.vue'
const props = defineProps({ const props = defineProps({
type: { type: {
@@ -35,10 +35,10 @@ const search = () => {
emit('save-success') emit('save-success')
} }
const StorageAddModalRef = ref<InstanceType<typeof StorageAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 新增 // 新增
const onAdd = () => { const onAdd = () => {
StorageAddModalRef.value?.onAdd(props.type) AddModalRef.value?.onAdd(props.type)
} }
</script> </script>

View File

@@ -72,12 +72,12 @@
</div> </div>
</a-card> </a-card>
<StorageAddModal ref="StorageAddModalRef" @save-success="search" /> <AddModal ref="AddModalRef" @save-success="search" />
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { Message, Modal } from '@arco-design/web-vue' import { Message, Modal } from '@arco-design/web-vue'
import StorageAddModal from '../StorageAddModal.vue' import AddModal from '../AddModal.vue'
import has from '@/utils/has' import has from '@/utils/has'
import { type StorageResp, deleteStorage, setDefaultStorage, updateStorageStatus } from '@/apis/system' import { type StorageResp, deleteStorage, setDefaultStorage, updateStorageStatus } from '@/apis/system'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'
@@ -182,11 +182,11 @@ const onDelete = (record: StorageResp) => {
}) })
} }
const StorageAddModalRef = ref<InstanceType<typeof StorageAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 修改 // 修改
const onUpdate = (record: StorageResp) => { const onUpdate = (record: StorageResp) => {
StorageAddModalRef.value?.onUpdate(record.id) AddModalRef.value?.onUpdate(record.id)
} }
</script> </script>

View File

@@ -87,7 +87,7 @@
</a-dropdown> </a-dropdown>
</a-card> </a-card>
</div> </div>
<DeptAddModal ref="DeptAddModalRef" :depts="dataList" @save-success="search" /> <AddModal ref="AddModalRef" :depts="dataList" @save-success="search" />
</GiPageLayout> </GiPageLayout>
</template> </template>
@@ -95,7 +95,7 @@
import 'vue3-tree-org/lib/vue3-tree-org.css' import 'vue3-tree-org/lib/vue3-tree-org.css'
import { Vue3TreeOrg } from 'vue3-tree-org' import { Vue3TreeOrg } from 'vue3-tree-org'
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import DeptAddModal from './DeptAddModal.vue' import AddModal from './AddModal.vue'
import { type DeptQuery, type DeptResp, deleteDept, exportDept, listDept } from '@/apis/system/dept' import { type DeptQuery, type DeptResp, deleteDept, exportDept, listDept } from '@/apis/system/dept'
import type GiTable from '@/components/GiTable/index.vue' import type GiTable from '@/components/GiTable/index.vue'
import { useDownload, useTable } from '@/hooks' import { useDownload, useTable } from '@/hooks'
@@ -196,17 +196,17 @@ const onExport = () => {
useDownload(() => exportDept(queryForm)) useDownload(() => exportDept(queryForm))
} }
const DeptAddModalRef = ref<InstanceType<typeof DeptAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 新增 // 新增
const onAdd = (parentId?: string) => { const onAdd = (parentId?: string) => {
DeptAddModalRef.value?.onAdd(parentId) AddModalRef.value?.onAdd(parentId)
} }
const handleAdd = (record: DeptResp) => { const handleAdd = (record: DeptResp) => {
onAdd(record.id) onAdd(record.id)
} }
// 修改 // 修改
const onUpdate = (record: DeptResp) => { const onUpdate = (record: DeptResp) => {
DeptAddModalRef.value?.onUpdate(record.id) AddModalRef.value?.onUpdate(record.id)
} }
</script> </script>

View File

@@ -90,14 +90,14 @@
</template> </template>
</GiTable> </GiTable>
<MenuAddModal ref="MenuAddModalRef" :menus="dataList" @save-success="search" /> <AddModal ref="AddModalRef" :menus="dataList" @save-success="search" />
</GiPageLayout> </GiPageLayout>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import { Message, Modal } from '@arco-design/web-vue' import { Message, Modal } from '@arco-design/web-vue'
import MenuAddModal from './MenuAddModal.vue' import AddModal from './AddModal.vue'
import { type MenuResp, clearMenuCache, deleteMenu, listMenu } from '@/apis/system/menu' import { type MenuResp, clearMenuCache, deleteMenu, listMenu } from '@/apis/system/menu'
import type GiTable from '@/components/GiTable/index.vue' import type GiTable from '@/components/GiTable/index.vue'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
@@ -209,15 +209,15 @@ const onExpanded = () => {
tableRef.value?.tableRef?.expandAll(isExpanded.value) tableRef.value?.tableRef?.expandAll(isExpanded.value)
} }
const MenuAddModalRef = ref<InstanceType<typeof MenuAddModal>>() const AddModalRef = ref<InstanceType<typeof AddModal>>()
// 新增 // 新增
const onAdd = (parentId?: string) => { const onAdd = (parentId?: string) => {
MenuAddModalRef.value?.onAdd(parentId) AddModalRef.value?.onAdd(parentId)
} }
// 修改 // 修改
const onUpdate = (record: MenuResp) => { const onUpdate = (record: MenuResp) => {
MenuAddModalRef.value?.onUpdate(record.id) AddModalRef.value?.onUpdate(record.id)
} }
</script> </script>

View File

@@ -72,13 +72,13 @@
</template> </template>
</GiTable> </GiTable>
<NoticeDetailDrawer ref="NoticeDetailDrawerRef" /> <DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout> </GiPageLayout>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import NoticeDetailDrawer from './NoticeDetailDrawer.vue' import DetailDrawer from './DetailDrawer.vue'
import { type NoticeQuery, type NoticeResp, deleteNotice, listNotice } from '@/apis/system' import { type NoticeQuery, type NoticeResp, deleteNotice, listNotice } from '@/apis/system'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'
@@ -153,10 +153,10 @@ const onUpdate = (record: NoticeResp) => {
router.push({ path: '/system/notice/add', query: { id: record.id, type: 'update' } }) router.push({ path: '/system/notice/add', query: { id: record.id, type: 'update' } })
} }
const NoticeDetailDrawerRef = ref<InstanceType<typeof NoticeDetailDrawer>>() const DetailDrawerRef = ref<InstanceType<typeof DetailDrawer>>()
// 详情 // 详情
const onDetail = (record: NoticeResp) => { const onDetail = (record: NoticeResp) => {
NoticeDetailDrawerRef.value?.onOpen(record.id) DetailDrawerRef.value?.onOpen(record.id)
} }
// 查看 // 查看

View File

@@ -57,13 +57,13 @@
</template> </template>
</GiTable> </GiTable>
<RoleAssignModal ref="RoleAssignModalRef" @save-success="search" /> <AssignModal ref="AssignModalRef" @save-success="search" />
</template> </template>
<script lang='tsx' setup> <script lang='tsx' setup>
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import { Message, Modal } from '@arco-design/web-vue' import { Message, Modal } from '@arco-design/web-vue'
import RoleAssignModal from '../RoleAssignModal.vue' import AssignModal from '../AssignModal.vue'
import { useResetReactive, useTable } from '@/hooks' import { useResetReactive, useTable } from '@/hooks'
import { type RoleUserQuery, type RoleUserResp, listRoleUser, unassignFromUsers } from '@/apis/system/role' import { type RoleUserQuery, type RoleUserResp, listRoleUser, unassignFromUsers } from '@/apis/system/role'
import { isMobile } from '@/utils' import { isMobile } from '@/utils'
@@ -158,10 +158,10 @@ const onDelete = (record: RoleUserResp) => {
}) })
} }
const RoleAssignModalRef = ref<InstanceType<typeof RoleAssignModal>>() const AssignModalRef = ref<InstanceType<typeof AssignModal>>()
// 分配 // 分配
const onAssign = () => { const onAssign = () => {
RoleAssignModalRef.value?.onOpen(props.roleId) AssignModalRef.value?.onOpen(props.roleId)
} }
// 监听 roleId 的变化 // 监听 roleId 的变化

View File

@@ -40,7 +40,7 @@
</div> </div>
</div> </div>
<RoleAddDrawer ref="RoleAddDrawerRef" @save-success="getTreeData" /> <AddDrawer ref="AddDrawerRef" @save-success="getTreeData" />
</div> </div>
</template> </template>
@@ -48,7 +48,7 @@
import { Message, Modal } from '@arco-design/web-vue' import { Message, Modal } from '@arco-design/web-vue'
import type { TreeNodeData } from '@arco-design/web-vue' import type { TreeNodeData } from '@arco-design/web-vue'
import { mapTree } from 'xe-utils' import { mapTree } from 'xe-utils'
import RoleAddDrawer from '../RoleAddDrawer.vue' import AddDrawer from '../AddDrawer.vue'
import RightMenu from './RightMenu.vue' import RightMenu from './RightMenu.vue'
import { type RoleResp, deleteRole, listRole } from '@/apis/system/role' import { type RoleResp, deleteRole, listRole } from '@/apis/system/role'
import has from '@/utils/has' import has from '@/utils/has'
@@ -112,16 +112,16 @@ const treeData = computed(() => {
return search(searchKey.value.toLowerCase()) return search(searchKey.value.toLowerCase())
}) })
const RoleAddDrawerRef = ref<InstanceType<typeof RoleAddDrawer>>() const AddDrawerRef = ref<InstanceType<typeof AddDrawer>>()
// 新增 // 新增
const onAdd = () => { const onAdd = () => {
RoleAddDrawerRef.value?.onAdd() AddDrawerRef.value?.onAdd()
} }
// 点击菜单项 // 点击菜单项
const onMenuItemClick = (mode: string, node: RoleResp) => { const onMenuItemClick = (mode: string, node: RoleResp) => {
if (mode === 'update') { if (mode === 'update') {
RoleAddDrawerRef.value?.onUpdate(node.id) AddDrawerRef.value?.onUpdate(node.id)
} else if (mode === 'delete') { } else if (mode === 'delete') {
Modal.warning({ Modal.warning({
title: '提示', title: '提示',

View File

@@ -77,22 +77,22 @@
</template> </template>
</GiTable> </GiTable>
<UserAddDrawer ref="UserAddDrawerRef" @save-success="search" /> <AddDrawer ref="AddDrawerRef" @save-success="search" />
<UserImportDrawer ref="UserImportDrawerRef" @save-success="search" /> <ImportDrawer ref="ImportDrawerRef" @save-success="search" />
<UserDetailDrawer ref="UserDetailDrawerRef" /> <DetailDrawer ref="DetailDrawerRef" />
<UserResetPwdModal ref="UserResetPwdModalRef" /> <PwdResetModal ref="PwdResetModalRef" />
<UserUpdateRoleModal ref="UserUpdateRoleModalRef" @save-success="search" /> <RoleUpdateModal ref="RoleUpdateModalRef" @save-success="search" />
</GiPageLayout> </GiPageLayout>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import type { TableInstance } from '@arco-design/web-vue' import type { TableInstance } from '@arco-design/web-vue'
import DeptTree from './dept/index.vue' import DeptTree from './dept/index.vue'
import UserAddDrawer from './UserAddDrawer.vue' import AddDrawer from './AddDrawer.vue'
import UserImportDrawer from './UserImportDrawer.vue' import ImportDrawer from './ImportDrawer.vue'
import UserDetailDrawer from './UserDetailDrawer.vue' import DetailDrawer from './DetailDrawer.vue'
import UserResetPwdModal from './UserResetPwdModal.vue' import PwdResetModal from './PwdResetModal.vue'
import UserUpdateRoleModal from './UserUpdateRoleModal.vue' import RoleUpdateModal from './RoleUpdateModal.vue'
import { type UserResp, deleteUser, exportUser, listUser } from '@/apis/system/user' import { type UserResp, deleteUser, exportUser, listUser } from '@/apis/system/user'
import { DisEnableStatusList } from '@/constant/common' import { DisEnableStatusList } from '@/constant/common'
import { useDownload, useResetReactive, useTable } from '@/hooks' import { useDownload, useResetReactive, useTable } from '@/hooks'
@@ -212,39 +212,39 @@ const handleSelectDept = (keys: Array<any>) => {
search() search()
} }
const UserImportDrawerRef = ref<InstanceType<typeof UserImportDrawer>>() const ImportDrawerRef = ref<InstanceType<typeof ImportDrawer>>()
// 导入 // 导入
const onImport = () => { const onImport = () => {
UserImportDrawerRef.value?.onOpen() ImportDrawerRef.value?.onOpen()
} }
const UserAddDrawerRef = ref<InstanceType<typeof UserAddDrawer>>() const AddDrawerRef = ref<InstanceType<typeof AddDrawer>>()
// 新增 // 新增
const onAdd = () => { const onAdd = () => {
UserAddDrawerRef.value?.onAdd() AddDrawerRef.value?.onAdd()
} }
// 修改 // 修改
const onUpdate = (record: UserResp) => { const onUpdate = (record: UserResp) => {
UserAddDrawerRef.value?.onUpdate(record.id) AddDrawerRef.value?.onUpdate(record.id)
} }
const UserDetailDrawerRef = ref<InstanceType<typeof UserDetailDrawer>>() const DetailDrawerRef = ref<InstanceType<typeof DetailDrawer>>()
// 详情 // 详情
const onDetail = (record: UserResp) => { const onDetail = (record: UserResp) => {
UserDetailDrawerRef.value?.onOpen(record.id) DetailDrawerRef.value?.onOpen(record.id)
} }
const UserResetPwdModalRef = ref<InstanceType<typeof UserResetPwdModal>>() const PwdResetModalRef = ref<InstanceType<typeof PwdResetModal>>()
// 重置密码 // 重置密码
const onResetPwd = (record: UserResp) => { const onResetPwd = (record: UserResp) => {
UserResetPwdModalRef.value?.onOpen(record.id) PwdResetModalRef.value?.onOpen(record.id)
} }
const UserUpdateRoleModalRef = ref<InstanceType<typeof UserUpdateRoleModal>>() const RoleUpdateModalRef = ref<InstanceType<typeof RoleUpdateModal>>()
// 分配角色 // 分配角色
const onUpdateRole = (record: UserResp) => { const onUpdateRole = (record: UserResp) => {
UserUpdateRoleModalRef.value?.onOpen(record.id) RoleUpdateModalRef.value?.onOpen(record.id)
} }
</script> </script>

View File

@@ -17,7 +17,11 @@
</template> </template>
</a-upload> </a-upload>
<div class="name"> <div class="name">
<span style="margin-right: 10px">{{ userInfo.nickname }}</span> <span style="margin-right: 10px">
{{ userInfo.nickname }}
<icon-man v-if="userInfo.gender === 1" style="color: #19bbf1" />
<icon-woman v-else-if="userInfo.gender === 2" style="color: #fa7fa9" />
</span>
<icon-edit :size="16" class="btn" @click="onUpdate" /> <icon-edit :size="16" class="btn" @click="onUpdate" />
</div> </div>
<div class="id"> <div class="id">
@@ -30,8 +34,6 @@
<a-descriptions-item :span="4"> <a-descriptions-item :span="4">
<template #label> <icon-user /><span style="margin-left: 5px">用户名</span></template> <template #label> <icon-user /><span style="margin-left: 5px">用户名</span></template>
{{ userInfo.username }} {{ userInfo.username }}
<icon-man v-if="userInfo.gender === 1" style="color: #19bbf1" />
<icon-woman v-else-if="userInfo.gender === 2" style="color: #fa7fa9" />
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item :span="4"> <a-descriptions-item :span="4">
<template #label> <icon-phone /><span style="margin-left: 5px">手机</span></template> <template #label> <icon-phone /><span style="margin-left: 5px">手机</span></template>