feat: 片头片尾管理、用户请求状态管理功能
This commit is contained in:
@@ -29,6 +29,13 @@ const adminPages = [
|
|||||||
path: '/generation/admin/digital-human-train',
|
path: '/generation/admin/digital-human-train',
|
||||||
color: 'amber',
|
color: 'amber',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '片头片尾管理',
|
||||||
|
description: '管理用户提交的片头片尾制作请求',
|
||||||
|
icon: 'i-tabler-movie',
|
||||||
|
path: '/generation/admin/materials',
|
||||||
|
color: 'green',
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
const navigateToPage = (path: string) => {
|
const navigateToPage = (path: string) => {
|
||||||
@@ -66,6 +73,7 @@ const navigateToPage = (path: string) => {
|
|||||||
:class="{
|
:class="{
|
||||||
'bg-blue-100 dark:bg-blue-900/30': page.color === 'blue',
|
'bg-blue-100 dark:bg-blue-900/30': page.color === 'blue',
|
||||||
'bg-amber-100 dark:bg-amber-900/30': page.color === 'amber',
|
'bg-amber-100 dark:bg-amber-900/30': page.color === 'amber',
|
||||||
|
'bg-green-100 dark:bg-green-900/30': page.color === 'green',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<UIcon
|
<UIcon
|
||||||
@@ -74,6 +82,7 @@ const navigateToPage = (path: string) => {
|
|||||||
:class="{
|
:class="{
|
||||||
'text-blue-600 dark:text-blue-400': page.color === 'blue',
|
'text-blue-600 dark:text-blue-400': page.color === 'blue',
|
||||||
'text-amber-600 dark:text-amber-400': page.color === 'amber',
|
'text-amber-600 dark:text-amber-400': page.color === 'amber',
|
||||||
|
'text-green-600 dark:text-green-400': page.color === 'green',
|
||||||
}"
|
}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
1436
pages/generation/admin/materials.vue
Normal file
1436
pages/generation/admin/materials.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -18,8 +18,11 @@ const userPagination = reactive({
|
|||||||
pageSize: 15,
|
pageSize: 15,
|
||||||
})
|
})
|
||||||
|
|
||||||
const { data: systemTitlesTemplate, status: systemTitlesTemplateStatus } =
|
const {
|
||||||
useAsyncData(
|
data: systemTitlesTemplate,
|
||||||
|
status: systemTitlesTemplateStatus,
|
||||||
|
refresh: refreshSystemTitlesTemplate,
|
||||||
|
} = useAsyncData(
|
||||||
'systemTitlesTemplate',
|
'systemTitlesTemplate',
|
||||||
() =>
|
() =>
|
||||||
useFetchWrapped<
|
useFetchWrapped<
|
||||||
@@ -93,6 +96,46 @@ const onUserTitlesRequest = (titles: TitlesTemplate) => {
|
|||||||
isUserTitlesRequestModalActive.value = true
|
isUserTitlesRequestModalActive.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onSystemTitlesDelete = (titles: TitlesTemplate) => {
|
||||||
|
useFetchWrapped<
|
||||||
|
{ title_id: number } & AuthedRequest,
|
||||||
|
BaseResponse<{ code: 0 | 1 }>
|
||||||
|
>('App.Digital_Titles.Delete', {
|
||||||
|
token: loginState.token!,
|
||||||
|
user_id: loginState.user.id,
|
||||||
|
title_id: titles.id,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.ret === 200 && res.data.code === 1) {
|
||||||
|
toast.add({
|
||||||
|
title: '删除成功',
|
||||||
|
description: '已删除系统片头模板',
|
||||||
|
color: 'green',
|
||||||
|
icon: 'i-tabler-check',
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
toast.add({
|
||||||
|
title: '删除失败',
|
||||||
|
description: res.msg || '未知错误',
|
||||||
|
color: 'red',
|
||||||
|
icon: 'i-tabler-alert-triangle',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
toast.add({
|
||||||
|
title: '删除失败',
|
||||||
|
description: error instanceof Error ? error.message : '未知错误',
|
||||||
|
color: 'red',
|
||||||
|
icon: 'i-tabler-alert-triangle',
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
systemPagination.page = 1
|
||||||
|
refreshSystemTitlesTemplate()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const onUserTitlesDelete = (titles: TitlesTemplate) => {
|
const onUserTitlesDelete = (titles: TitlesTemplate) => {
|
||||||
useFetchWrapped<
|
useFetchWrapped<
|
||||||
Pick<req.gen.TitlesTemplateRequest, 'to_user_id'> & {
|
Pick<req.gen.TitlesTemplateRequest, 'to_user_id'> & {
|
||||||
@@ -217,6 +260,7 @@ const onUserTitlesSubmit = (event: FormSubmitEvent<UserTitlesSchema>) => {
|
|||||||
type="system"
|
type="system"
|
||||||
:key="titles.id"
|
:key="titles.id"
|
||||||
@user-titles-request="onUserTitlesRequest"
|
@user-titles-request="onUserTitlesRequest"
|
||||||
|
@system-titles-delete="onSystemTitlesDelete"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user