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

View File

@@ -79,16 +79,16 @@
</template>
</GiTable>
<AppAddModal ref="AppAddModalRef" @save-success="search" />
<AppDetailDrawer ref="AppDetailDrawerRef" />
<AddModal ref="AddModalRef" @save-success="search" />
<DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout>
</template>
<script setup lang="ts">
import type { TableInstance } from '@arco-design/web-vue'
import { Message, Modal } from '@arco-design/web-vue'
import AppAddModal from './AppAddModal.vue'
import AppDetailDrawer from './AppDetailDrawer.vue'
import AddModal from './AddModal.vue'
import DetailDrawer from './DetailDrawer.vue'
import {
type AppQuery,
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 = () => {
AppAddModalRef.value?.onAdd()
AddModalRef.value?.onAdd()
}
// 修改
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) => {
AppDetailDrawerRef.value?.onOpen(record.id)
DetailDrawerRef.value?.onOpen(record.id)
}
</script>

View File

@@ -72,8 +72,8 @@
</template>
</GiTable>
<JobAddModal ref="JobAddModalRef" @save-success="reset" />
<JobDetailDrawer ref="JobDetailDrawerRef" />
<AddModal ref="AddModalRef" @save-success="reset" />
<DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout>
</template>
@@ -81,8 +81,8 @@
import type { TableInstance } from '@arco-design/web-vue'
import { Message } from '@arco-design/web-vue'
import { useRouter } from 'vue-router'
import JobAddModal from './JobAddModal.vue'
import JobDetailDrawer from './JobDetailDrawer.vue'
import AddModal from './AddModal.vue'
import DetailDrawer from './DetailDrawer.vue'
import { type JobQuery, type JobResp, deleteJob, listGroup, listJob, triggerJob, updateJobStatus } from '@/apis/schedule'
import { useTable } from '@/hooks'
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 = () => {
JobAddModalRef.value?.onAdd()
AddModalRef.value?.onAdd()
}
// 修改
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) => {
JobDetailDrawerRef.value?.onOpen(record)
DetailDrawerRef.value?.onOpen(record)
}
const router = useRouter()

View File

@@ -53,16 +53,16 @@
</template>
</GiTable>
<ClientAddModal ref="ClientAddModalRef" @save-success="search" />
<ClientDetailDrawer ref="ClientDetailDrawerRef" />
<AddModal ref="AddModalRef" @save-success="search" />
<DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout>
</template>
<script setup lang="tsx">
import type { LabelValue } from '@arco-design/web-vue/es/tree-select/interface'
import type { TableInstance } from '@arco-design/web-vue'
import ClientAddModal from './ClientAddModal.vue'
import ClientDetailDrawer from './ClientDetailDrawer.vue'
import AddModal from './AddModal.vue'
import DetailDrawer from './DetailDrawer.vue'
import { type ClientQuery, type ClientResp, deleteClient, listClient } from '@/apis/system/client'
import { DisEnableStatusList } from '@/constant/common'
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 = () => {
ClientAddModalRef.value?.onAdd()
AddModalRef.value?.onAdd()
}
// 修改
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) => {
ClientDetailDrawerRef.value?.onOpen(record.id)
DetailDrawerRef.value?.onOpen(record.id)
}
</script>

View File

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

View File

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

View File

@@ -72,12 +72,12 @@
</div>
</a-card>
<StorageAddModal ref="StorageAddModalRef" @save-success="search" />
<AddModal ref="AddModalRef" @save-success="search" />
</template>
<script lang="ts" setup>
import { Message, Modal } from '@arco-design/web-vue'
import StorageAddModal from '../StorageAddModal.vue'
import AddModal from '../AddModal.vue'
import has from '@/utils/has'
import { type StorageResp, deleteStorage, setDefaultStorage, updateStorageStatus } from '@/apis/system'
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) => {
StorageAddModalRef.value?.onUpdate(record.id)
AddModalRef.value?.onUpdate(record.id)
}
</script>

View File

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

View File

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

View File

@@ -72,13 +72,13 @@
</template>
</GiTable>
<NoticeDetailDrawer ref="NoticeDetailDrawerRef" />
<DetailDrawer ref="DetailDrawerRef" />
</GiPageLayout>
</template>
<script setup lang="ts">
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 { useTable } from '@/hooks'
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' } })
}
const NoticeDetailDrawerRef = ref<InstanceType<typeof NoticeDetailDrawer>>()
const DetailDrawerRef = ref<InstanceType<typeof DetailDrawer>>()
// 详情
const onDetail = (record: NoticeResp) => {
NoticeDetailDrawerRef.value?.onOpen(record.id)
DetailDrawerRef.value?.onOpen(record.id)
}
// 查看

View File

@@ -57,13 +57,13 @@
</template>
</GiTable>
<RoleAssignModal ref="RoleAssignModalRef" @save-success="search" />
<AssignModal ref="AssignModalRef" @save-success="search" />
</template>
<script lang='tsx' setup>
import type { TableInstance } 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 { type RoleUserQuery, type RoleUserResp, listRoleUser, unassignFromUsers } from '@/apis/system/role'
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 = () => {
RoleAssignModalRef.value?.onOpen(props.roleId)
AssignModalRef.value?.onOpen(props.roleId)
}
// 监听 roleId 的变化

View File

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

View File

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

View File

@@ -17,7 +17,11 @@
</template>
</a-upload>
<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" />
</div>
<div class="id">
@@ -30,8 +34,6 @@
<a-descriptions-item :span="4">
<template #label> <icon-user /><span style="margin-left: 5px">用户名</span></template>
{{ 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 :span="4">
<template #label> <icon-phone /><span style="margin-left: 5px">手机</span></template>