chore(web): 合并 K23.1 后台修正

This commit is contained in:
Zhou Weidong committed 2026-10-19 12:34:21 +08:00
commit 6f522303a0
15 files changed
+59 -41

No files matched your search

+5 -4
View File
@@ -89,7 +89,7 @@ export const useAppStore = defineStore('app', {
// 头部背景颜色
topHeaderBgColor: '#fff',
// 头部字体颜色
topHeaderTextColor: 'inherit',
topHeaderTextColor: '#303133',
// 头部悬停颜色
topHeaderHoverColor: '#f6f6f6',
// 头部边框颜色
@@ -299,7 +299,7 @@ export const useAppStore = defineStore('app', {
// 左侧菜单选中字体颜色
leftMenuTextActiveColor: isDarkColor ? '#fff' : 'var(--el-color-primary)',
// logo字体颜色
logoTitleTextColor: isDarkColor ? '#fff' : 'inherit',
logoTitleTextColor: isDarkColor ? '#fff' : '#303133',
// logo边框颜色
logoBorderColor: isDarkColor ? color : '#eee'
}
@@ -308,7 +308,7 @@ export const useAppStore = defineStore('app', {
},
setHeaderTheme(color: string) {
const isDarkColor = colorIsDark(color)
const textColor = isDarkColor ? '#fff' : 'inherit'
const textColor = isDarkColor ? '#fff' : '#303133'
const textHoverColor = isDarkColor ? lighten(color!, 6) : '#f6f6f6'
const topToolBorderColor = isDarkColor ? color : '#eee'
setCssVar('--top-header-bg-color', color)
@@ -345,8 +345,9 @@ export const useAppStore = defineStore('app', {
context.store.title = import.meta.env.VITE_APP_TITLE
if (context.store.theme?.elColorPrimary !== '#c4322a') {
context.store.setTheme({ elColorPrimary: '#c4322a' })
context.store.setCssVarTheme()
}
context.store.setMenuTheme(context.store.theme.leftMenuBgColor)
context.store.setHeaderTheme(context.store.theme.topHeaderBgColor)
}
}
})
+5 -12
View File
@@ -37,7 +37,7 @@
align-items: center;
gap: 8px;
white-space: nowrap;
flex-wrap: wrap;
flex-wrap: nowrap;
}
.table-actions .el-button {
/* 统一尺寸:高度固定、水平内边距,靠行高垂直居中,避免文字被压扁 */
@@ -53,12 +53,6 @@
.table-actions .el-button + .el-button {
margin-left: 0 !important;
}
.table-actions .danger-action {
color: #a66a6a !important;
}
.table-actions .danger-action:hover {
color: #b54848 !important;
}
.drama-cell .drama-cover,
.drama-cell .drama-cover-image {
width: 44px;
@@ -271,7 +265,6 @@
.editor-grid--two {
grid-template-columns: 1fr;
}
}
html.dark .cover-preview-card,
@@ -406,10 +399,10 @@ html.dark .cover-preview-empty {
--el-button-hover-border-color: #3c7358;
}
.table-actions .el-button--danger {
--el-button-bg-color: #bd5b5b;
--el-button-border-color: #bd5b5b;
--el-button-hover-bg-color: #a94b4b;
--el-button-hover-border-color: #a94b4b;
--el-button-bg-color: var(--el-color-danger);
--el-button-border-color: var(--el-color-danger);
--el-button-hover-bg-color: var(--el-color-danger-dark-2);
--el-button-hover-border-color: var(--el-color-danger-dark-2);
}
.pagination {
display: flex;
+6 -5
View File
@@ -6,7 +6,7 @@ body {
min-width: 0;
min-height: 100vh;
}
.page-heading {
.page-heading {
display: flex;
justify-content: space-between;
align-items: center;
@@ -396,7 +396,11 @@ body {
background: linear-gradient(145deg, #f8d6d7, #ffece4);
}
.purple {
background: linear-gradient(145deg, var(--el-color-primary-light-8), var(--el-color-primary-light-9));
background: linear-gradient(
145deg,
var(--el-color-primary-light-8),
var(--el-color-primary-light-9)
);
}
.peach {
background: linear-gradient(145deg, #ffd6bd, #fff0d7);
@@ -615,9 +619,6 @@ body {
padding: 5px;
color: #9997a7;
}
.episode-actions .danger-action:hover {
color: #e77680;
}
.episode-footer {
display: flex;
justify-content: space-between;
+19
View File
@@ -38,6 +38,25 @@ body {
--el-button-active-bg-color: var(--el-color-primary-dark-2);
--el-button-active-border-color: var(--el-color-primary-dark-2);
}
.el-button--danger {
--el-button-text-color: #fff;
--el-button-bg-color: var(--el-color-danger);
--el-button-border-color: var(--el-color-danger);
--el-button-hover-bg-color: var(--el-color-danger-dark-2);
--el-button-hover-border-color: var(--el-color-danger-dark-2);
color: #fff !important;
background: var(--el-color-danger) !important;
border-color: var(--el-color-danger) !important;
}
.el-button--danger:hover {
background: var(--el-color-danger-dark-2) !important;
border-color: var(--el-color-danger-dark-2) !important;
}
.el-message-box__btns .el-button--danger {
color: #fff !important;
background: var(--el-color-danger) !important;
border-color: var(--el-color-danger) !important;
}
.eyebrow {
letter-spacing: 0.7px;
color: #9298a1;
+3 -2
View File
@@ -102,6 +102,7 @@ async function refund(row) {
{
confirmButtonText: '确认退款',
cancelButtonText: '取消',
confirmButtonClass: 'el-button--danger',
inputValidator: (val) => (val && val.trim() ? true : '退款原因不能为空')
}
)
@@ -375,8 +376,8 @@ function onTabChange(name) {
>
<el-button
v-if="canOrderUpdate && (row.status === 'PAID' || row.status === 'DELIVERED')"
type="danger"
size="small"
class="danger-action"
@click="refund(row)"
>退款</el-button
>
@@ -461,8 +462,8 @@ function onTabChange(name) {
<div class="table-actions">
<el-button
v-if="canEntitlementUpdate && row.status === 'ACTIVE'"
type="danger"
size="small"
class="danger-action"
@click="revokeEntitlement(row)"
>回收</el-button
>
@@ -561,6 +561,7 @@ onMounted(async () => {
</el-upload>
<el-button
v-if="can('cover:upload') && form.cover"
type="danger"
:disabled="uploadingCover"
@click="removeCover"
>
+2 -2
View File
@@ -244,8 +244,8 @@ function requestDramaCover(options) {
<el-button size="small">{{ hasResumeSession ? '继续上传' : '上传视频' }}</el-button>
</el-upload>
<el-button
type="danger"
size="small"
class="danger-action"
:disabled="!editable"
@click="removeEpisode(row)"
>删除</el-button
@@ -299,8 +299,8 @@ function requestDramaCover(options) {
<div class="table-actions">
<el-button
v-if="canEdit && ['SUBMITTED', 'REVIEWING'].includes(row.status)"
type="danger"
size="small"
class="danger-action"
@click="withdraw(row.id)"
>撤回</el-button
>
+1 -1
View File
@@ -229,8 +229,8 @@ function openEdit(row) {
row.submissionId &&
['SUBMITTED', 'REVIEWING'].includes(row.submissionStatus)
"
type="danger"
size="small"
class="danger-action"
@click="withdraw(row)"
>撤回</el-button
>
@@ -156,7 +156,8 @@ export function useCreatorWorkspace() {
'撤回提交',
{
confirmButtonText: '确认撤回',
cancelButtonText: '取消'
cancelButtonText: '取消',
confirmButtonClass: 'el-button--danger'
}
)
} catch {
+1 -1
View File
@@ -180,8 +180,8 @@ const {
>
<el-button
v-if="canAudit && row.status === 'approved'"
type="danger"
size="small"
class="danger-action"
@click="freeze(row)"
>冻结</el-button
>
@@ -135,7 +135,8 @@ export function useCreatorAudit() {
await ElMessageBox.confirm(`冻结后「${row.name}」将无法提交内容,确认冻结?`, '冻结创作者', {
confirmButtonText: '确认冻结',
cancelButtonText: '取消',
type: 'warning'
type: 'warning',
confirmButtonClass: 'el-button--danger'
})
} catch {
return
@@ -343,7 +343,7 @@ const handleTargetText = computed(() => {
show-overflow-tooltip
:formatter="dateCell"
/>
<el-table-column label="操作" width="200" fixed="right">
<el-table-column label="操作" width="230" fixed="right">
<template #default="{ row }">
<div class="table-actions">
<el-button
@@ -358,8 +358,8 @@ const handleTargetText = computed(() => {
>
<el-button
v-if="canCommentAudit"
type="danger"
size="small"
class="danger-action"
@click="removeComment(row)"
>删除</el-button
>
@@ -523,11 +523,7 @@ const handleTargetText = computed(() => {
<el-button v-if="canWordUpdate" type="primary" size="small" @click="openWord(row)"
>编辑</el-button
>
<el-button
v-if="canWordUpdate"
size="small"
class="danger-action"
@click="removeWord(row)"
<el-button v-if="canWordUpdate" type="danger" size="small" @click="removeWord(row)"
>删除</el-button
>
<span v-if="!canWordUpdate" class="console-muted">只读</span>
+1 -1
View File
@@ -37,7 +37,7 @@ const { treeData, loading, form, parentOptions, resetForm, selectNode, saveMenu,
<div
><h2>{{ form.id ? '编辑菜单' : '新增菜单' }}</h2></div
>
<el-button v-if="form.id" type="danger" plain @click="deleteMenu">删除菜单</el-button>
<el-button v-if="form.id" type="danger" @click="deleteMenu">删除菜单</el-button>
</div>
<el-form label-width="110px" label-position="right" class="menu-editor-form">
<el-form-item label="菜单名称" required>
+2 -2
View File
@@ -45,8 +45,8 @@ const {
<el-table-column prop="roleCount" label="角色数" width="100" />
<el-table-column label="操作" width="200">
<template #default="{ row }">
<el-button type="primary" @click="editCategory(row)">编辑</el-button>
<el-button type="danger" @click="deleteCategory(row)">删除</el-button>
<el-button type="primary" size="small" @click="editCategory(row)">编辑</el-button>
<el-button type="danger" size="small" @click="deleteCategory(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
+6 -2
View File
@@ -73,9 +73,13 @@ function removeRoleRow(row) {
}}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="90" fixed="right">
<el-table-column label="操作" width="100" fixed="right">
<template #default="{ row }">
<el-button type="danger" link :disabled="row.builtin" @click="removeRoleRow(row)"
<el-button
type="danger"
size="small"
:disabled="row.builtin"
@click="removeRoleRow(row)"
>删除</el-button
>
</template>