style(admin): 修正页面格式以通过检查
This commit is contained in:
1 parent
0578052d6e
commit
8bd6aa35cb
4 files changed
+44
-53
No files matched your search
@@ -51,10 +51,7 @@ export const deleteClassificationApi = (id: number) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 分类下已关联的短剧 */
|
/** 分类下已关联的短剧 */
|
||||||
export const listClassificationDramasApi = (
|
export const listClassificationDramasApi = (id: number, params: ClassificationDramaPageParams) => {
|
||||||
id: number,
|
|
||||||
params: ClassificationDramaPageParams
|
|
||||||
) => {
|
|
||||||
return request.get<PageResult<ClassificationDramaItem>>({
|
return request.get<PageResult<ClassificationDramaItem>>({
|
||||||
url: `/admin/drama-classifications/${id}/dramas`,
|
url: `/admin/drama-classifications/${id}/dramas`,
|
||||||
params
|
params
|
||||||
|
|||||||
@@ -249,12 +249,7 @@ onMounted(loadClassifications)
|
|||||||
title="分类管理"
|
title="分类管理"
|
||||||
description="分类是运营自定义的分组,与「类型」无关;一个分类可以关联任意多部短剧。"
|
description="分类是运营自定义的分组,与「类型」无关;一个分类可以关联任意多部短剧。"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button v-if="can('drama:create')" type="primary" class="primary-button" @click="openCreate">
|
||||||
v-if="can('drama:create')"
|
|
||||||
type="primary"
|
|
||||||
class="primary-button"
|
|
||||||
@click="openCreate"
|
|
||||||
>
|
|
||||||
<AppIcon :icon="AppIcons.add" />
|
<AppIcon :icon="AppIcons.add" />
|
||||||
新建分类
|
新建分类
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -277,7 +272,13 @@ onMounted(loadClassifications)
|
|||||||
<span class="classification-list__count">{{ item.dramaCount || 0 }}</span>
|
<span class="classification-list__count">{{ item.dramaCount || 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="classification-list__actions" @click.stop>
|
<div class="classification-list__actions" @click.stop>
|
||||||
<el-button v-if="can('drama:update')" text circle size="small" @click="openEdit(item)">
|
<el-button
|
||||||
|
v-if="can('drama:update')"
|
||||||
|
text
|
||||||
|
circle
|
||||||
|
size="small"
|
||||||
|
@click="openEdit(item)"
|
||||||
|
>
|
||||||
<AppIcon :icon="AppIcons.edit" :size="15" />
|
<AppIcon :icon="AppIcons.edit" :size="15" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
@@ -314,11 +315,7 @@ onMounted(loadClassifications)
|
|||||||
@clear="search"
|
@clear="search"
|
||||||
/>
|
/>
|
||||||
<el-button type="primary" plain @click="search">查询</el-button>
|
<el-button type="primary" plain @click="search">查询</el-button>
|
||||||
<el-button
|
<el-button v-if="can('drama:update')" :disabled="!activeId" @click="openCandidates">
|
||||||
v-if="can('drama:update')"
|
|
||||||
:disabled="!activeId"
|
|
||||||
@click="openCandidates"
|
|
||||||
>
|
|
||||||
<AppIcon :icon="AppIcons.add" />
|
<AppIcon :icon="AppIcons.add" />
|
||||||
添加短剧
|
添加短剧
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -379,11 +376,7 @@ onMounted(loadClassifications)
|
|||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dialog
|
<el-dialog v-model="dialogVisible" :title="editingId ? '编辑分类' : '新建分类'" width="460px">
|
||||||
v-model="dialogVisible"
|
|
||||||
:title="editingId ? '编辑分类' : '新建分类'"
|
|
||||||
width="460px"
|
|
||||||
>
|
|
||||||
<el-form label-position="top">
|
<el-form label-position="top">
|
||||||
<el-form-item label="分类名称" required>
|
<el-form-item label="分类名称" required>
|
||||||
<el-input v-model="form.name" maxlength="20" placeholder="例如:本周必看" />
|
<el-input v-model="form.name" maxlength="20" placeholder="例如:本周必看" />
|
||||||
@@ -475,20 +468,20 @@ onMounted(loadClassifications)
|
|||||||
}
|
}
|
||||||
|
|
||||||
.classification-list {
|
.classification-list {
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.classification-list__item {
|
.classification-list__item {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
padding: 8px 12px 8px 16px;
|
||||||
|
color: var(--el-text-color-regular);
|
||||||
|
cursor: pointer;
|
||||||
|
border-left: 3px solid transparent;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
padding: 8px 12px 8px 16px;
|
|
||||||
cursor: pointer;
|
|
||||||
color: var(--el-text-color-regular);
|
|
||||||
border-left: 3px solid transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.classification-list__item:hover {
|
.classification-list__item:hover {
|
||||||
@@ -496,10 +489,10 @@ onMounted(loadClassifications)
|
|||||||
}
|
}
|
||||||
|
|
||||||
.classification-list__item.is-active {
|
.classification-list__item.is-active {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--el-color-primary);
|
||||||
background: var(--el-color-primary-light-9);
|
background: var(--el-color-primary-light-9);
|
||||||
border-left-color: var(--el-color-primary);
|
border-left-color: var(--el-color-primary);
|
||||||
color: var(--el-color-primary);
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.classification-list__main {
|
.classification-list__main {
|
||||||
@@ -520,10 +513,10 @@ onMounted(loadClassifications)
|
|||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
text-align: center;
|
|
||||||
border-radius: 9px;
|
|
||||||
background: var(--el-fill-color);
|
|
||||||
color: var(--el-text-color-secondary);
|
color: var(--el-text-color-secondary);
|
||||||
|
text-align: center;
|
||||||
|
background: var(--el-fill-color);
|
||||||
|
border-radius: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.classification-list__actions {
|
.classification-list__actions {
|
||||||
@@ -537,8 +530,8 @@ onMounted(loadClassifications)
|
|||||||
|
|
||||||
.classification-list__empty {
|
.classification-list__empty {
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
color: var(--el-text-color-secondary);
|
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
|
color: var(--el-text-color-secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.classification-layout__main {
|
.classification-layout__main {
|
||||||
|
|||||||
@@ -259,12 +259,7 @@ onMounted(loadCategories)
|
|||||||
title="剧单管理"
|
title="剧单管理"
|
||||||
description="剧单使用自己的分类体系(与「分类管理」无关),每个分类下直接选择短剧。"
|
description="剧单使用自己的分类体系(与「分类管理」无关),每个分类下直接选择短剧。"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button v-if="can('drama:create')" type="primary" class="primary-button" @click="openCreate">
|
||||||
v-if="can('drama:create')"
|
|
||||||
type="primary"
|
|
||||||
class="primary-button"
|
|
||||||
@click="openCreate"
|
|
||||||
>
|
|
||||||
<AppIcon :icon="AppIcons.add" />
|
<AppIcon :icon="AppIcons.add" />
|
||||||
新建分类
|
新建分类
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -287,7 +282,13 @@ onMounted(loadCategories)
|
|||||||
<span class="playlist-list__count">{{ item.dramaCount || 0 }}</span>
|
<span class="playlist-list__count">{{ item.dramaCount || 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="playlist-list__actions" @click.stop>
|
<div class="playlist-list__actions" @click.stop>
|
||||||
<el-button v-if="can('drama:update')" text circle size="small" @click="openEdit(item)">
|
<el-button
|
||||||
|
v-if="can('drama:update')"
|
||||||
|
text
|
||||||
|
circle
|
||||||
|
size="small"
|
||||||
|
@click="openEdit(item)"
|
||||||
|
>
|
||||||
<AppIcon :icon="AppIcons.edit" :size="15" />
|
<AppIcon :icon="AppIcons.edit" :size="15" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
@@ -492,20 +493,20 @@ onMounted(loadCategories)
|
|||||||
}
|
}
|
||||||
|
|
||||||
.playlist-list {
|
.playlist-list {
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.playlist-list__item {
|
.playlist-list__item {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
padding: 8px 12px 8px 16px;
|
||||||
|
color: var(--el-text-color-regular);
|
||||||
|
cursor: pointer;
|
||||||
|
border-left: 3px solid transparent;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
padding: 8px 12px 8px 16px;
|
|
||||||
cursor: pointer;
|
|
||||||
color: var(--el-text-color-regular);
|
|
||||||
border-left: 3px solid transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.playlist-list__item:hover {
|
.playlist-list__item:hover {
|
||||||
@@ -513,10 +514,10 @@ onMounted(loadCategories)
|
|||||||
}
|
}
|
||||||
|
|
||||||
.playlist-list__item.is-active {
|
.playlist-list__item.is-active {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--el-color-primary);
|
||||||
background: var(--el-color-primary-light-9);
|
background: var(--el-color-primary-light-9);
|
||||||
border-left-color: var(--el-color-primary);
|
border-left-color: var(--el-color-primary);
|
||||||
color: var(--el-color-primary);
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.playlist-list__main {
|
.playlist-list__main {
|
||||||
@@ -537,10 +538,10 @@ onMounted(loadCategories)
|
|||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
text-align: center;
|
|
||||||
border-radius: 9px;
|
|
||||||
background: var(--el-fill-color);
|
|
||||||
color: var(--el-text-color-secondary);
|
color: var(--el-text-color-secondary);
|
||||||
|
text-align: center;
|
||||||
|
background: var(--el-fill-color);
|
||||||
|
border-radius: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.playlist-list__actions {
|
.playlist-list__actions {
|
||||||
@@ -554,8 +555,8 @@ onMounted(loadCategories)
|
|||||||
|
|
||||||
.playlist-list__empty {
|
.playlist-list__empty {
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
color: var(--el-text-color-secondary);
|
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
|
color: var(--el-text-color-secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.playlist-layout__main {
|
.playlist-layout__main {
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ onBeforeUnmount(destroy)
|
|||||||
@closed="destroy"
|
@closed="destroy"
|
||||||
>
|
>
|
||||||
<div class="rendition-player">
|
<div class="rendition-player">
|
||||||
<video ref="videoRef" class="rendition-player__video" controls playsinline />
|
<video ref="videoRef" class="rendition-player__video" controls playsinline></video>
|
||||||
<p v-if="errorMsg" class="rendition-player__error">{{ errorMsg }}</p>
|
<p v-if="errorMsg" class="rendition-player__error">{{ errorMsg }}</p>
|
||||||
<p class="rendition-player__url" :title="url">{{ url }}</p>
|
<p class="rendition-player__url" :title="url">{{ url }}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -113,14 +113,14 @@ onBeforeUnmount(destroy)
|
|||||||
|
|
||||||
.rendition-player__error {
|
.rendition-player__error {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: var(--el-color-danger);
|
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
color: var(--el-color-danger);
|
||||||
}
|
}
|
||||||
|
|
||||||
.rendition-player__url {
|
.rendition-player__url {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: var(--el-text-color-secondary);
|
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
color: var(--el-text-color-secondary);
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
Reference in new issue
Block a user