feat: 优化产品激活状态显示,使用标签组件展示状态,并添加启用/停用操作确认对话框
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { h, useTemplateRef } from 'vue';
|
import { h, useTemplateRef } from 'vue';
|
||||||
import { useDialog, useMessage } from 'naive-ui';
|
import { NTag, useDialog, useMessage } from 'naive-ui';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import { client, safeClient } from '@/service/api';
|
import { client, safeClient } from '@/service/api';
|
||||||
import type { TableBaseColumns, TableFetchData, TableInst } from '@/components/table';
|
import type { TableBaseColumns, TableFetchData, TableInst } from '@/components/table';
|
||||||
@@ -79,8 +79,8 @@ const columns: TableBaseColumns = [
|
|||||||
{
|
{
|
||||||
key: 'isActive',
|
key: 'isActive',
|
||||||
title: '是否激活',
|
title: '是否激活',
|
||||||
render: (row: any) => {
|
render(row) {
|
||||||
return row.isActive ? '是' : '否';
|
return row.isActive ? h(NTag, { type: 'primary' }, '是') : h(NTag, { type: 'error' }, '否');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -97,7 +97,7 @@ const columns: TableBaseColumns = [
|
|||||||
{
|
{
|
||||||
key: 'operations',
|
key: 'operations',
|
||||||
title: '操作',
|
title: '操作',
|
||||||
width: 120,
|
width: 200,
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
operations: row => [
|
operations: row => [
|
||||||
{
|
{
|
||||||
@@ -106,6 +106,25 @@ const columns: TableBaseColumns = [
|
|||||||
onClick() {
|
onClick() {
|
||||||
handleEdit(row);
|
handleEdit(row);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
contentText: row.isActive ? '停用' : '启用',
|
||||||
|
size: 'small',
|
||||||
|
type: row.isActive ? 'error' : 'success',
|
||||||
|
ghost: true,
|
||||||
|
onClick() {
|
||||||
|
dialog.warning({
|
||||||
|
title: `确认${row.isActive ? '停用' : '启用'}该产品吗?`,
|
||||||
|
content: `${row.isActive ? '停用' : '启用'}后用户将无法订阅该产品`,
|
||||||
|
positiveText: '确认',
|
||||||
|
negativeText: '取消',
|
||||||
|
onPositiveClick: async () => {
|
||||||
|
await safeClient(() => client.api.admin.subscription.products({ productId: row.id as string }).delete());
|
||||||
|
message.success('操作成功');
|
||||||
|
tableInst.value?.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user