操作日志页改为深色表格与下拉,避免白底看不清。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -271,7 +271,7 @@
|
|||||||
destroy-on-close
|
destroy-on-close
|
||||||
>
|
>
|
||||||
<div class="log-filters">
|
<div class="log-filters">
|
||||||
<el-select v-model="logFilters.leixing" placeholder="用户类型" clearable style="width: 140px" @change="fetchLogList(1)">
|
<el-select v-model="logFilters.leixing" placeholder="用户类型" clearable style="width: 140px" popper-class="op-log-dark-popper" @change="fetchLogList(1)">
|
||||||
<el-option label="全部类型" value="" />
|
<el-option label="全部类型" value="" />
|
||||||
<el-option label="打手" :value="2" />
|
<el-option label="打手" :value="2" />
|
||||||
<el-option label="管事" :value="3" />
|
<el-option label="管事" :value="3" />
|
||||||
@@ -289,7 +289,16 @@
|
|||||||
/>
|
/>
|
||||||
<el-button type="primary" @click="fetchLogList(1)">搜索</el-button>
|
<el-button type="primary" @click="fetchLogList(1)">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table :data="logList" v-loading="logLoading" border class="user-table" max-height="480">
|
<el-table
|
||||||
|
:data="logList"
|
||||||
|
v-loading="logLoading"
|
||||||
|
border
|
||||||
|
class="user-table log-table"
|
||||||
|
max-height="480"
|
||||||
|
:header-cell-style="{ background: '#0b1a2a', color: '#5ee7ff', borderColor: 'rgba(0,180,200,0.35)' }"
|
||||||
|
:cell-style="{ background: '#0a1420', color: '#e8f4ff', borderColor: 'rgba(255,255,255,0.08)' }"
|
||||||
|
:row-style="{ background: '#0a1420' }"
|
||||||
|
>
|
||||||
<el-table-column prop="create_time" label="时间" width="170" />
|
<el-table-column prop="create_time" label="时间" width="170" />
|
||||||
<el-table-column prop="leixing_name" label="类型" width="90" />
|
<el-table-column prop="leixing_name" label="类型" width="90" />
|
||||||
<el-table-column prop="beixiugai_yonghuid" label="被操作用户" width="110" />
|
<el-table-column prop="beixiugai_yonghuid" label="被操作用户" width="110" />
|
||||||
|
|||||||
@@ -65,6 +65,7 @@
|
|||||||
placeholder="类型"
|
placeholder="类型"
|
||||||
clearable
|
clearable
|
||||||
style="width: 130px"
|
style="width: 130px"
|
||||||
|
popper-class="op-log-dark-popper"
|
||||||
@change="fetchLogs(1)"
|
@change="fetchLogs(1)"
|
||||||
>
|
>
|
||||||
<el-option label="全部类型" value="" />
|
<el-option label="全部类型" value="" />
|
||||||
@@ -86,7 +87,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-table :data="logList" v-loading="logLoading" border class="log-table" max-height="620">
|
<el-table
|
||||||
|
:data="logList"
|
||||||
|
v-loading="logLoading"
|
||||||
|
border
|
||||||
|
class="log-table"
|
||||||
|
max-height="620"
|
||||||
|
:header-cell-style="headerCellStyle"
|
||||||
|
:cell-style="bodyCellStyle"
|
||||||
|
:row-style="rowStyle"
|
||||||
|
>
|
||||||
<el-table-column prop="create_time" label="时间" width="170" />
|
<el-table-column prop="create_time" label="时间" width="170" />
|
||||||
<el-table-column prop="leixing_name" label="类型" width="90" />
|
<el-table-column prop="leixing_name" label="类型" width="90" />
|
||||||
<el-table-column prop="beixiugai_yonghuid" label="被操作用户" width="110" />
|
<el-table-column prop="beixiugai_yonghuid" label="被操作用户" width="110" />
|
||||||
@@ -124,6 +134,19 @@ import request from '@/utils/request'
|
|||||||
const username = localStorage.getItem('username') || ''
|
const username = localStorage.getItem('username') || ''
|
||||||
const hasPermission = ref(true)
|
const hasPermission = ref(true)
|
||||||
|
|
||||||
|
const headerCellStyle = {
|
||||||
|
background: '#0b1a2a',
|
||||||
|
color: '#5ee7ff',
|
||||||
|
borderColor: 'rgba(0, 180, 200, 0.35)',
|
||||||
|
fontWeight: '600'
|
||||||
|
}
|
||||||
|
const bodyCellStyle = {
|
||||||
|
background: '#0a1420',
|
||||||
|
color: '#e8f4ff',
|
||||||
|
borderColor: 'rgba(255,255,255,0.08)'
|
||||||
|
}
|
||||||
|
const rowStyle = { background: '#0a1420' }
|
||||||
|
|
||||||
const userKeyword = ref('')
|
const userKeyword = ref('')
|
||||||
const userList = ref([])
|
const userList = ref([])
|
||||||
const userLoading = ref(false)
|
const userLoading = ref(false)
|
||||||
@@ -258,7 +281,7 @@ onMounted(async () => {
|
|||||||
background: radial-gradient(circle at 20% 30%, #0a0f1a, #03060c);
|
background: radial-gradient(circle at 20% 30%, #0a0f1a, #03060c);
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
color: #eef2ff;
|
color: #e8f4ff;
|
||||||
}
|
}
|
||||||
.no-permission {
|
.no-permission {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -268,18 +291,18 @@ onMounted(async () => {
|
|||||||
height: 60vh;
|
height: 60vh;
|
||||||
}
|
}
|
||||||
.no-permission-icon { font-size: 80px; margin-bottom: 20px; opacity: 0.6; }
|
.no-permission-icon { font-size: 80px; margin-bottom: 20px; opacity: 0.6; }
|
||||||
.no-permission-text { font-size: 24px; font-weight: bold; margin-bottom: 8px; }
|
.no-permission-text { font-size: 24px; font-weight: bold; margin-bottom: 8px; color: #e8f4ff; }
|
||||||
.no-permission-desc { font-size: 14px; color: rgba(255,255,255,0.5); }
|
.no-permission-desc { font-size: 14px; color: rgba(232,244,255,0.55); }
|
||||||
|
|
||||||
.page-title {
|
.page-title {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: #00f2ff;
|
color: #5ee7ff;
|
||||||
margin-bottom: 6px;
|
margin-bottom: 6px;
|
||||||
}
|
}
|
||||||
.page-desc {
|
.page-desc {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: rgba(255,255,255,0.55);
|
color: rgba(232,244,255,0.6);
|
||||||
margin-bottom: 18px;
|
margin-bottom: 18px;
|
||||||
}
|
}
|
||||||
.layout {
|
.layout {
|
||||||
@@ -289,8 +312,8 @@ onMounted(async () => {
|
|||||||
min-height: 70vh;
|
min-height: 70vh;
|
||||||
}
|
}
|
||||||
.left-panel, .right-panel {
|
.left-panel, .right-panel {
|
||||||
background: rgba(6,12,20,0.65);
|
background: #071018;
|
||||||
border: 1px solid rgba(0,242,255,0.2);
|
border: 1px solid rgba(0,200,220,0.28);
|
||||||
border-radius: 14px;
|
border-radius: 14px;
|
||||||
padding: 14px;
|
padding: 14px;
|
||||||
}
|
}
|
||||||
@@ -310,19 +333,21 @@ onMounted(async () => {
|
|||||||
padding: 10px 12px;
|
padding: 10px 12px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border: 1px solid transparent;
|
border: 1px solid rgba(255,255,255,0.06);
|
||||||
margin-bottom: 6px;
|
margin-bottom: 6px;
|
||||||
|
background: #0a1420;
|
||||||
|
color: #e8f4ff;
|
||||||
}
|
}
|
||||||
.user-item:hover { background: rgba(0,242,255,0.08); }
|
.user-item:hover { background: #102033; border-color: rgba(0,200,220,0.35); }
|
||||||
.user-item.active {
|
.user-item.active {
|
||||||
background: rgba(0,242,255,0.15);
|
background: #123047;
|
||||||
border-color: rgba(0,242,255,0.45);
|
border-color: rgba(94,231,255,0.55);
|
||||||
}
|
}
|
||||||
.user-name { font-weight: 600; }
|
.user-name { font-weight: 600; color: #f2f8ff; }
|
||||||
.user-phone { font-size: 12px; color: rgba(255,255,255,0.55); margin-top: 2px; }
|
.user-phone { font-size: 12px; color: #8fb3c9; margin-top: 2px; }
|
||||||
.left-pager { margin-top: 10px; display: flex; justify-content: center; }
|
.left-pager { margin-top: 10px; display: flex; justify-content: center; }
|
||||||
.empty, .empty-right {
|
.empty, .empty-right {
|
||||||
color: rgba(255,255,255,0.45);
|
color: #8fb3c9;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 40px 0;
|
padding: 40px 0;
|
||||||
}
|
}
|
||||||
@@ -334,13 +359,13 @@ onMounted(async () => {
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
}
|
}
|
||||||
.sel-name { color: #00f2ff; font-weight: 700; font-size: 16px; }
|
.sel-name { color: #5ee7ff; font-weight: 700; font-size: 16px; }
|
||||||
.sel-phone { color: rgba(255,255,255,0.6); margin-left: 4px; }
|
.sel-phone { color: #8fb3c9; margin-left: 4px; }
|
||||||
.filters { display: flex; gap: 8px; flex-wrap: wrap; }
|
.filters { display: flex; gap: 8px; flex-wrap: wrap; }
|
||||||
.log-change {
|
.log-change {
|
||||||
white-space: pre-line;
|
white-space: pre-line;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #a8e6ff;
|
color: #9adfff;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
.pager {
|
.pager {
|
||||||
@@ -349,25 +374,112 @@ onMounted(async () => {
|
|||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-table) { background: transparent; color: #fff; }
|
/* 表格强制深色,避免白底看不清 */
|
||||||
:deep(.el-table th) {
|
:deep(.log-table) {
|
||||||
background: rgba(0,242,255,0.15);
|
--el-table-bg-color: #0a1420;
|
||||||
color: #00f2ff;
|
--el-table-tr-bg-color: #0a1420;
|
||||||
border-bottom: 1px solid rgba(0,242,255,0.3);
|
--el-table-header-bg-color: #0b1a2a;
|
||||||
|
--el-table-row-hover-bg-color: #123047;
|
||||||
|
--el-table-border-color: rgba(255,255,255,0.1);
|
||||||
|
--el-table-text-color: #e8f4ff;
|
||||||
|
--el-table-header-text-color: #5ee7ff;
|
||||||
|
background: #0a1420 !important;
|
||||||
|
color: #e8f4ff !important;
|
||||||
}
|
}
|
||||||
:deep(.el-table td) {
|
:deep(.log-table .el-table__inner-wrapper::before),
|
||||||
background: transparent;
|
:deep(.log-table .el-table__border-left-patch),
|
||||||
color: #fff;
|
:deep(.log-table .el-table__border-bottom-patch) {
|
||||||
border-bottom: 1px solid rgba(255,255,255,0.08);
|
background-color: #0a1420 !important;
|
||||||
}
|
}
|
||||||
:deep(.el-table__row:hover td) { background: rgba(0,242,255,0.1) !important; }
|
:deep(.log-table th.el-table__cell),
|
||||||
|
:deep(.log-table td.el-table__cell) {
|
||||||
|
background-color: inherit !important;
|
||||||
|
}
|
||||||
|
:deep(.log-table .el-table__empty-text) {
|
||||||
|
color: #8fb3c9;
|
||||||
|
}
|
||||||
|
:deep(.log-table .el-loading-mask) {
|
||||||
|
background-color: rgba(7, 16, 24, 0.75);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 输入框 / 选择器 */
|
||||||
:deep(.el-input__wrapper) {
|
:deep(.el-input__wrapper) {
|
||||||
background: rgba(0,0,0,0.5);
|
background: #0a1420 !important;
|
||||||
box-shadow: 0 0 0 1px rgba(0,242,255,0.25) inset;
|
box-shadow: 0 0 0 1px rgba(0,200,220,0.35) inset !important;
|
||||||
|
}
|
||||||
|
:deep(.el-input__inner) {
|
||||||
|
color: #e8f4ff !important;
|
||||||
|
}
|
||||||
|
:deep(.el-input__inner::placeholder) {
|
||||||
|
color: #6f8fa3 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-select__wrapper) {
|
||||||
|
background: #0a1420 !important;
|
||||||
|
box-shadow: 0 0 0 1px rgba(0,200,220,0.35) inset !important;
|
||||||
|
color: #e8f4ff !important;
|
||||||
|
}
|
||||||
|
:deep(.el-select__placeholder) {
|
||||||
|
color: #6f8fa3 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-select__selected-item) {
|
||||||
|
color: #e8f4ff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 分页 */
|
||||||
|
:deep(.el-pagination) {
|
||||||
|
--el-pagination-bg-color: transparent;
|
||||||
|
--el-pagination-text-color: #cfe6f5;
|
||||||
|
--el-pagination-button-color: #cfe6f5;
|
||||||
|
--el-pagination-button-bg-color: #0a1420;
|
||||||
|
--el-pagination-hover-color: #5ee7ff;
|
||||||
|
--el-pagination-button-disabled-bg-color: #0a1420;
|
||||||
|
}
|
||||||
|
:deep(.el-pagination .el-pager li) {
|
||||||
|
background: #0a1420 !important;
|
||||||
|
color: #cfe6f5 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-pagination .el-pager li.is-active) {
|
||||||
|
color: #5ee7ff !important;
|
||||||
|
background: #123047 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-pagination .btn-prev),
|
||||||
|
:deep(.el-pagination .btn-next) {
|
||||||
|
background: #0a1420 !important;
|
||||||
|
color: #cfe6f5 !important;
|
||||||
|
}
|
||||||
|
:deep(.el-tag) {
|
||||||
|
--el-tag-bg-color: #123047;
|
||||||
|
--el-tag-border-color: rgba(94,231,255,0.35);
|
||||||
|
--el-tag-text-color: #9adfff;
|
||||||
}
|
}
|
||||||
:deep(.el-input__inner) { color: #fff; }
|
|
||||||
|
|
||||||
@media (max-width: 960px) {
|
@media (max-width: 960px) {
|
||||||
.layout { grid-template-columns: 1fr; }
|
.layout { grid-template-columns: 1fr; }
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<!-- 下拉菜单挂到 body,需非 scoped -->
|
||||||
|
<style>
|
||||||
|
.op-log-dark-popper.el-select__popper,
|
||||||
|
.op-log-dark-popper {
|
||||||
|
background: #0a1420 !important;
|
||||||
|
border: 1px solid rgba(0,200,220,0.4) !important;
|
||||||
|
}
|
||||||
|
.op-log-dark-popper .el-select-dropdown__item {
|
||||||
|
color: #e8f4ff !important;
|
||||||
|
background: #0a1420 !important;
|
||||||
|
}
|
||||||
|
.op-log-dark-popper .el-select-dropdown__item.is-hovering,
|
||||||
|
.op-log-dark-popper .el-select-dropdown__item:hover {
|
||||||
|
background: #123047 !important;
|
||||||
|
color: #5ee7ff !important;
|
||||||
|
}
|
||||||
|
.op-log-dark-popper .el-select-dropdown__item.is-selected {
|
||||||
|
color: #5ee7ff !important;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.op-log-dark-popper .el-popper__arrow::before {
|
||||||
|
background: #0a1420 !important;
|
||||||
|
border-color: rgba(0,200,220,0.4) !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user