feat:【antd】【crm】产品分类的代码优化

This commit is contained in:
YunaiV
2025-09-28 09:51:07 +08:00
parent 968552ec4b
commit 43c3169c54
68 changed files with 91 additions and 91 deletions

View File

@@ -57,6 +57,10 @@ export function useGridFormSchema(): VbenFormSchema[] {
fieldName: 'name',
label: '分类名称',
component: 'Input',
componentProps: {
allowClear: true,
placeholder: '请输入分类名称',
},
},
];
}

View File

@@ -23,8 +23,15 @@ const [FormModal, formModalApi] = useVbenModal({
destroyOnClose: true,
});
/** 切换树形展开/收缩状态 */
const isExpanded = ref(false);
function handleExpand() {
isExpanded.value = !isExpanded.value;
gridApi.grid.setAllTreeExpand(isExpanded.value);
}
/** 刷新表格 */
function onRefresh() {
function handleRefresh() {
gridApi.query();
}
@@ -51,22 +58,13 @@ async function handleDelete(row: CrmProductCategoryApi.ProductCategory) {
});
try {
await deleteProductCategory(row.id as number);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.name]),
});
onRefresh();
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {
hideLoading();
}
}
/** 切换树形展开/收缩状态 */
const isExpanded = ref(false);
function toggleExpand() {
isExpanded.value = !isExpanded.value;
gridApi.grid.setAllTreeExpand(isExpanded.value);
}
const [Grid, gridApi] = useVbenVxeGrid({
formOptions: {
schema: useGridFormSchema(),
@@ -87,14 +85,17 @@ const [Grid, gridApi] = useVbenVxeGrid({
},
rowConfig: {
keyField: 'id',
isHover: true,
},
toolbarConfig: {
refresh: true,
search: true,
},
treeConfig: {
parentField: 'parentId',
rowField: 'id',
transform: true,
expandAll: true,
reserve: true,
},
} as VxeTableGridOptions<CrmProductCategoryApi.ProductCategory>,
@@ -110,7 +111,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
/>
</template>
<FormModal @success="onRefresh" />
<FormModal @success="handleRefresh" />
<Grid>
<template #toolbar-tools>
<TableAction
@@ -125,16 +126,11 @@ const [Grid, gridApi] = useVbenVxeGrid({
{
label: isExpanded ? '收缩' : '展开',
type: 'primary',
onClick: toggleExpand,
onClick: handleExpand,
},
]"
/>
</template>
<template #name="{ row }">
<div class="flex w-full items-center gap-1">
<span class="flex-auto">{{ row.name }}</span>
</div>
</template>
<template #actions="{ row }">
<TableAction
:actions="[

View File

@@ -54,7 +54,7 @@ async function handleDelete(row: InfraConfigApi.Config) {
duration: 0,
});
try {
await deleteConfig(row.id as number);
await deleteConfig(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -47,7 +47,7 @@ async function handleDelete(row: InfraDataSourceConfigApi.DataSourceConfig) {
duration: 0,
});
try {
await deleteDataSourceConfig(row.id as number);
await deleteDataSourceConfig(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -49,7 +49,7 @@ async function handleDelete(row: Demo01ContactApi.Demo01Contact) {
key: 'action_process_msg',
});
try {
await deleteDemo01Contact(row.id as number);
await deleteDemo01Contact(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -65,7 +65,7 @@ async function handleDelete(row: Demo02CategoryApi.Demo02Category) {
duration: 0,
});
try {
await deleteDemo02Category(row.id as number);
await deleteDemo02Category(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.name]),
});

View File

@@ -56,7 +56,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) {
key: 'action_process_msg',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -55,7 +55,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Course) {
key: 'action_process_msg',
});
try {
await deleteDemo03Course(row.id as number);
await deleteDemo03Course(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -55,7 +55,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Grade) {
key: 'action_process_msg',
});
try {
await deleteDemo03Grade(row.id as number);
await deleteDemo03Grade(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -55,7 +55,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) {
key: 'action_process_msg',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -50,7 +50,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) {
key: 'action_process_msg',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -103,7 +103,7 @@ async function handleDelete(row: Demo01ContactApi.Demo01Contact) {
key: 'action_process_msg',
});
try {
await deleteDemo01Contact(row.id as number);
await deleteDemo01Contact(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.id]),
key: 'action_process_msg',

View File

@@ -89,7 +89,7 @@ async function onDelete(row: Demo02CategoryApi.Demo02Category) {
duration: 0,
});
try {
await deleteDemo02Category(row.id as number);
await deleteDemo02Category(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.id]),
});

View File

@@ -114,7 +114,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) {
key: 'action_process_msg',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.id]),
key: 'action_process_msg',

View File

@@ -59,7 +59,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Course) {
key: 'action_process_msg',
});
try {
await deleteDemo03Course(row.id as number);
await deleteDemo03Course(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.id]),
key: 'action_process_msg',

View File

@@ -59,7 +59,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Grade) {
key: 'action_process_msg',
});
try {
await deleteDemo03Grade(row.id as number);
await deleteDemo03Grade(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.id]),
key: 'action_process_msg',

View File

@@ -110,7 +110,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) {
key: 'action_process_msg',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.id]),
key: 'action_process_msg',

View File

@@ -104,7 +104,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) {
key: 'action_process_msg',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.id]),
key: 'action_process_msg',

View File

@@ -55,7 +55,7 @@ async function handleDelete(row: InfraFileApi.File) {
duration: 0,
});
try {
await deleteFile(row.id as number);
await deleteFile(row.id!);
message.success(
$t('ui.actionMessage.deleteSuccess', [row.name || row.path]),
);

View File

@@ -85,7 +85,7 @@ async function handleDelete(row: InfraFileConfigApi.FileConfig) {
content: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteFileConfig(row.id as number);
await deleteFileConfig(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -63,7 +63,7 @@ async function handleDelete(row: SystemDeptApi.Dept) {
duration: 0,
});
try {
await deleteDept(row.id as number);
await deleteDept(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -47,7 +47,7 @@ async function handleDelete(row: SystemMailAccountApi.MailAccount) {
duration: 0,
});
try {
await deleteMailAccount(row.id as number);
await deleteMailAccount(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.mail]));
handleRefresh();
} finally {

View File

@@ -66,7 +66,7 @@ async function handleDelete(row: SystemMailTemplateApi.MailTemplate) {
duration: 0,
});
try {
await deleteMailTemplate(row.id as number);
await deleteMailTemplate(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -49,7 +49,7 @@ async function handleDelete(row: SystemMenuApi.Menu) {
duration: 0,
});
try {
await deleteMenu(row.id as number);
await deleteMenu(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -48,7 +48,7 @@ async function handleDelete(row: SystemNoticeApi.Notice) {
duration: 0,
});
try {
await deleteNotice(row.id as number);
await deleteNotice(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.title]));
handleRefresh();
} finally {
@@ -88,7 +88,7 @@ async function handlePush(row: SystemNoticeApi.Notice) {
content: '正在推送中...',
});
try {
await pushNotice(row.id as number);
await pushNotice(row.id!);
message.success($t('ui.actionMessage.operationSuccess'));
} finally {
hideLoading();

View File

@@ -65,7 +65,7 @@ async function handleDelete(row: SystemNotifyTemplateApi.NotifyTemplate) {
duration: 0,
});
try {
await deleteNotifyTemplate(row.id as number);
await deleteNotifyTemplate(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -47,7 +47,7 @@ async function handleDelete(row: SystemOAuth2ClientApi.OAuth2Client) {
duration: 0,
});
try {
await deleteOAuth2Client(row.id as number);
await deleteOAuth2Client(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -54,7 +54,7 @@ async function handleDelete(row: SystemPostApi.Post) {
duration: 0,
});
try {
await deletePost(row.id as number);
await deletePost(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -67,7 +67,7 @@ async function handleDelete(row: SystemRoleApi.Role) {
duration: 0,
});
try {
await deleteRole(row.id as number);
await deleteRole(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -47,7 +47,7 @@ async function handleDelete(row: SystemSmsChannelApi.SmsChannel) {
duration: 0,
});
try {
await deleteSmsChannel(row.id as number);
await deleteSmsChannel(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.signature]));
handleRefresh();
} finally {

View File

@@ -65,7 +65,7 @@ async function handleDelete(row: SystemSmsTemplateApi.SmsTemplate) {
duration: 0,
});
try {
await deleteSmsTemplate(row.id as number);
await deleteSmsTemplate(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -66,7 +66,7 @@ async function handleDelete(row: SystemTenantApi.Tenant) {
duration: 0,
});
try {
await deleteTenant(row.id as number);
await deleteTenant(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -47,7 +47,7 @@ async function handleDelete(row: SystemTenantPackageApi.TenantPackage) {
duration: 0,
});
try {
await deleteTenantPackage(row.id as number);
await deleteTenantPackage(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -89,7 +89,7 @@ async function handleDelete(row: SystemUserApi.User) {
duration: 0,
});
try {
await deleteUser(row.id as number);
await deleteUser(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.username]));
handleRefresh();
} finally {
@@ -144,7 +144,7 @@ async function handleStatusChange(
})
.then(async () => {
// 更新用户状态
const res = await updateUserStatus(row.id as number, newStatus);
const res = await updateUserStatus(row.id!, newStatus);
if (res) {
// 提示并返回成功
message.success($t('ui.actionMessage.operationSuccess'));

View File

@@ -28,7 +28,7 @@ function handleSearch(e: any) {
: deptList.value;
deptTree.value = handleTree(filteredList);
// 展开所有节点
expandedKeys.value = deptTree.value.map((node) => node.id as number);
expandedKeys.value = deptTree.value.map((node) => node.id!);
}
/** 选中部门 */

View File

@@ -53,7 +53,7 @@ async function handleDelete(row: InfraConfigApi.Config) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteConfig(row.id as number);
await deleteConfig(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -46,7 +46,7 @@ async function handleDelete(row: InfraDataSourceConfigApi.DataSourceConfig) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteDataSourceConfig(row.id as number);
await deleteDataSourceConfig(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -48,7 +48,7 @@ async function handleDelete(row: Demo01ContactApi.Demo01Contact) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo01Contact(row.id as number);
await deleteDemo01Contact(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -59,7 +59,7 @@ async function handleDelete(row: Demo02CategoryApi.Demo02Category) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo02Category(row.id as number);
await deleteDemo02Category(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -54,7 +54,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Student) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -53,7 +53,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Course) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Course(row.id as number);
await deleteDemo03Course(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -53,7 +53,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Grade) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Grade(row.id as number);
await deleteDemo03Grade(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -53,7 +53,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Student) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -48,7 +48,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Student) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
onRefresh();
} finally {

View File

@@ -104,7 +104,7 @@ async function handleDelete(row: Demo01ContactApi.Demo01Contact) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo01Contact(row.id as number);
await deleteDemo01Contact(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
await getList();
} finally {

View File

@@ -96,7 +96,7 @@ async function handleDelete(row: Demo02CategoryApi.Demo02Category) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo02Category(row.id as number);
await deleteDemo02Category(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
await getList();
} finally {

View File

@@ -116,7 +116,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Student) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
await getList();
} finally {

View File

@@ -59,7 +59,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Course) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Course(row.id as number);
await deleteDemo03Course(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
await getList();
} finally {

View File

@@ -59,7 +59,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Grade) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Grade(row.id as number);
await deleteDemo03Grade(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
await getList();
} finally {

View File

@@ -112,7 +112,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Student) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
await getList();
} finally {

View File

@@ -105,7 +105,7 @@ async function handleDelete(row: Demo03StudentApi.Demo03Student) {
background: 'rgba(0, 0, 0, 0.7)',
});
try {
await deleteDemo03Student(row.id as number);
await deleteDemo03Student(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.id]));
await getList();
} finally {

View File

@@ -54,7 +54,7 @@ async function handleDelete(row: InfraFileApi.File) {
text: $t('ui.actionMessage.deleting', [row.name || row.path]),
});
try {
await deleteFile(row.id as number);
await deleteFile(row.id!);
ElMessage.success(
$t('ui.actionMessage.deleteSuccess', [row.name || row.path]),
);

View File

@@ -48,7 +48,7 @@ async function handleMaster(row: InfraFileConfigApi.FileConfig) {
text: $t('ui.actionMessage.updating', [row.name]),
});
try {
await updateFileConfigMaster(row.id as number);
await updateFileConfigMaster(row.id!);
ElMessage.success($t('ui.actionMessage.operationSuccess'));
handleRefresh();
} catch {
@@ -62,7 +62,7 @@ async function handleTest(row: InfraFileConfigApi.FileConfig) {
text: '测试上传中...',
});
try {
const response = await testFileConfig(row.id as number);
const response = await testFileConfig(row.id!);
loadingInstance.close();
// 确认是否访问该文件
confirm({
@@ -84,7 +84,7 @@ async function handleDelete(row: InfraFileConfigApi.FileConfig) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteFileConfig(row.id as number);
await deleteFileConfig(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -62,7 +62,7 @@ async function handleDelete(row: SystemDeptApi.Dept) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteDept(row.id as number);
await deleteDept(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -46,7 +46,7 @@ async function handleDelete(row: SystemMailAccountApi.MailAccount) {
text: $t('ui.actionMessage.deleting', [row.mail]),
});
try {
await deleteMailAccount(row.id as number);
await deleteMailAccount(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.mail]));
handleRefresh();
} finally {

View File

@@ -65,7 +65,7 @@ async function handleDelete(row: SystemMailTemplateApi.MailTemplate) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteMailTemplate(row.id as number);
await deleteMailTemplate(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -48,7 +48,7 @@ async function handleDelete(row: SystemMenuApi.Menu) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteMenu(row.id as number);
await deleteMenu(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -47,7 +47,7 @@ async function handleDelete(row: SystemNoticeApi.Notice) {
text: $t('ui.actionMessage.deleting', [row.title]),
});
try {
await deleteNotice(row.id as number);
await deleteNotice(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.title]));
handleRefresh();
} finally {
@@ -86,7 +86,7 @@ async function handlePush(row: SystemNoticeApi.Notice) {
text: '正在推送中...',
});
try {
await pushNotice(row.id as number);
await pushNotice(row.id!);
ElMessage.success($t('ui.actionMessage.operationSuccess'));
} finally {
loadingInstance.close();

View File

@@ -64,7 +64,7 @@ async function handleDelete(row: SystemNotifyTemplateApi.NotifyTemplate) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteNotifyTemplate(row.id as number);
await deleteNotifyTemplate(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -46,7 +46,7 @@ async function handleDelete(row: SystemOAuth2ClientApi.OAuth2Client) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteOAuth2Client(row.id as number);
await deleteOAuth2Client(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -53,7 +53,7 @@ async function handleDelete(row: SystemPostApi.Post) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deletePost(row.id as number);
await deletePost(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -66,7 +66,7 @@ async function handleDelete(row: SystemRoleApi.Role) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteRole(row.id as number);
await deleteRole(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -46,7 +46,7 @@ async function handleDelete(row: SystemSmsChannelApi.SmsChannel) {
text: $t('ui.actionMessage.deleting', [row.signature]),
});
try {
await deleteSmsChannel(row.id as number);
await deleteSmsChannel(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.signature]));
handleRefresh();
} finally {

View File

@@ -64,7 +64,7 @@ async function handleDelete(row: SystemSmsTemplateApi.SmsTemplate) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteSmsTemplate(row.id as number);
await deleteSmsTemplate(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -65,7 +65,7 @@ async function handleDelete(row: SystemTenantApi.Tenant) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteTenant(row.id as number);
await deleteTenant(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -46,7 +46,7 @@ async function handleDelete(row: SystemTenantPackageApi.TenantPackage) {
text: $t('ui.actionMessage.deleting', [row.name]),
});
try {
await deleteTenantPackage(row.id as number);
await deleteTenantPackage(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh();
} finally {

View File

@@ -88,7 +88,7 @@ async function handleDelete(row: SystemUserApi.User) {
text: $t('ui.actionMessage.deleting', [row.username]),
});
try {
await deleteUser(row.id as number);
await deleteUser(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.username]));
handleRefresh();
} finally {
@@ -142,7 +142,7 @@ async function handleStatusChange(
})
.then(async () => {
// 更新用户状态
const res = await updateUserStatus(row.id as number, newStatus);
const res = await updateUserStatus(row.id!, newStatus);
if (res) {
// 提示并返回成功
ElMessage.success($t('ui.actionMessage.operationSuccess'));

View File

@@ -27,7 +27,7 @@ function handleSearch(value: string) {
: deptList.value;
deptTree.value = handleTree(filteredList);
// 展开所有节点
expandedKeys.value = deptTree.value.map((node) => node.id as number);
expandedKeys.value = deptTree.value.map((node) => node.id!);
}
/** 选中部门 */