定制版
This commit is contained in:
@@ -1,32 +1,48 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="grid grid-cols-1 lg:grid-cols-4 gap-4 mb-4">
|
<div class="grid grid-cols-1 lg:grid-cols-12 gap-4 mb-4">
|
||||||
<!-- Stat Cards -->
|
<!-- Stat Cards -->
|
||||||
<div class="bg-white dark:bg-slate-900 p-6 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800">
|
<!-- 总数量 (较小) -->
|
||||||
<div class="flex items-center justify-between mb-2">
|
<div class="lg:col-span-2 bg-white dark:bg-slate-900 p-4 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800">
|
||||||
<span class="text-sm font-medium text-slate-500">{{ $t('workbenches.totalnumber') }}</span>
|
<div class="flex items-center justify-between mb-1">
|
||||||
<span class="material-icons-round text-primary/40">analytics</span>
|
<span class="text-xs font-medium text-slate-500">{{ $t('workbenches.totalnumber') }}</span>
|
||||||
|
<span class="material-icons-round text-primary/40 text-lg">analytics</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-3xl font-bold text-slate-900 dark:text-white">{{ hostData.totalCount }}</div>
|
<div class="text-xl font-bold text-slate-900 dark:text-white">{{ hostData.totalCount }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-white dark:bg-slate-900 p-6 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800">
|
|
||||||
<div class="flex items-center justify-between mb-2">
|
<!-- 新建主播 (较小) -->
|
||||||
<span class="text-sm font-medium text-slate-500">{{ $t('workbenches.createHost') }}</span>
|
<div class="lg:col-span-2 bg-white dark:bg-slate-900 p-4 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800">
|
||||||
<span class="material-icons-round text-secondary/40">person_add</span>
|
<div class="flex items-center justify-between mb-1">
|
||||||
|
<span class="text-xs font-medium text-slate-500">{{ $t('workbenches.createHost') }}</span>
|
||||||
|
<span class="material-icons-round text-secondary/40 text-lg">person_add</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-3xl font-bold text-slate-900 dark:text-white">{{ hostData.validAnchorsCount }}</div>
|
<div class="text-xl font-bold text-slate-900 dark:text-white">{{ hostData.validAnchorsCount }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-white dark:bg-slate-900 p-6 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800">
|
|
||||||
<div class="flex items-center justify-between mb-2">
|
<!-- 查询 (较小) -->
|
||||||
<span class="text-sm font-medium text-slate-500">{{ $t('workbenches.query') }} / {{ $t('workbenches.invite')
|
<div class="lg:col-span-2 bg-white dark:bg-slate-900 p-4 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800">
|
||||||
}}</span>
|
<div class="flex items-center justify-between mb-1">
|
||||||
<span class="material-icons-round text-slate-400">compare_arrows</span>
|
<span class="text-xs font-medium text-slate-500">{{ $t('workbenches.query') }}</span>
|
||||||
|
<span class="material-icons-round text-amber-400/60 text-lg">search</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-3xl font-bold text-slate-900 dark:text-white">{{ hostData.checkedDataCount }} <span
|
<div class="text-xl font-bold text-slate-900 dark:text-white">{{ hostData.checkedDataCount }}</div>
|
||||||
class="text-slate-300 text-lg mx-2">/</span> {{ hostData.canInvitationCount }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
|
||||||
class="bg-white dark:bg-slate-900 p-6 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800 flex flex-col justify-center">
|
<!-- 邀请 (较大,突出显示) -->
|
||||||
|
<div class="lg:col-span-3 bg-gradient-to-br from-primary to-blue-600 p-5 rounded-xl shadow-lg shadow-primary/20 text-white relative overflow-hidden">
|
||||||
|
<div class="absolute top-0 right-0 w-24 h-24 bg-white/10 rounded-full -translate-y-1/2 translate-x-1/2"></div>
|
||||||
|
<div class="flex items-center justify-between mb-2 relative z-10">
|
||||||
|
<span class="text-sm font-medium text-white/80">{{ $t('workbenches.invite') }}</span>
|
||||||
|
<span class="material-icons-round text-white/60">mail_outline</span>
|
||||||
|
</div>
|
||||||
|
<div class="text-3xl font-bold text-white relative z-10">{{ hostData.canInvitationCount }}</div>
|
||||||
|
<div class="text-xs text-white/60 mt-1">可邀请主播</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 运行时间 (较大) -->
|
||||||
|
<div class="lg:col-span-3 bg-white dark:bg-slate-900 p-5 rounded-xl shadow-sm border border-slate-100 dark:border-slate-800 flex flex-col justify-center">
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
|
<!-- <span class="w-4 h-4 rounded-full" :class="1 ? 'bg-red-500' : 'bg-emerald-500'"></span> -->
|
||||||
<div>
|
<div>
|
||||||
<span class="text-xs font-semibold text-slate-400 uppercase tracking-wider block mb-1">{{
|
<span class="text-xs font-semibold text-slate-400 uppercase tracking-wider block mb-1">{{
|
||||||
$t('workbenches.runTime') }}</span>
|
$t('workbenches.runTime') }}</span>
|
||||||
@@ -45,11 +61,11 @@
|
|||||||
<div v-for="(item, index) in 2" :key="index" class="bg-white border border-slate-100 p-5 rounded-xl shadow-sm">
|
<div v-for="(item, index) in 2" :key="index" class="bg-white border border-slate-100 p-5 rounded-xl shadow-sm">
|
||||||
<div class="flex justify-between items-center mb-6">
|
<div class="flex justify-between items-center mb-6">
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<span class="w-2 h-2 rounded-full" :class="tkData[index].code == 1 ? 'bg-emerald-500' : 'bg-red-500'"></span>
|
<span class="w-4 h-4 rounded-full" :class="tkData[index].code == 1 ? 'bg-emerald-500' : 'bg-red-500'"></span>
|
||||||
<h3 class="font-bold text-slate-800 dark:text-white">{{ $t('workbenches.guildAccount') }} {{ index === 0 ? 'A'
|
<h3 class="font-bold text-slate-800 dark:text-white">{{ $t('workbenches.guildAccount') }} {{ index === 0 ? 'A'
|
||||||
: 'B' }}</h3>
|
: 'B' }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<span class="text-xs text-slate-500">{{ $t('workbenches.queriedNum') }}: {{ tkData[index].num }}</span>
|
<span class=" text-slate-700 text-size" >{{ $t('workbenches.queriedNum') }}: {{ tkData[index].num }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4">
|
<div class="space-y-4">
|
||||||
<div class="grid grid-cols-2 gap-4">
|
<div class="grid grid-cols-2 gap-4">
|
||||||
@@ -580,6 +596,8 @@ const reset = () => {
|
|||||||
const toggleFilter = (filterName) => {
|
const toggleFilter = (filterName) => {
|
||||||
if (!pyData.value.isStart) return; // 如果已启动则不允许修改
|
if (!pyData.value.isStart) return; // 如果已启动则不允许修改
|
||||||
pyData.value[filterName] = !pyData.value[filterName];
|
pyData.value[filterName] = !pyData.value[filterName];
|
||||||
|
|
||||||
|
console.log(pyData.value)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -804,4 +822,8 @@ const checkVPN = async () => {
|
|||||||
Most styles are replaced by Tailwind utility classes.
|
Most styles are replaced by Tailwind utility classes.
|
||||||
We can keep specific overrides or custom animations here if needed.
|
We can keep specific overrides or custom animations here if needed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
.text-size{
|
||||||
|
text-size:50px!important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -80,9 +80,18 @@ body {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
|
|
||||||
|
-webkit-user-select: none; /* Chrome / Safari */
|
||||||
|
-moz-user-select: none; /* Firefox */
|
||||||
|
-ms-user-select: none; /* IE / Edge */
|
||||||
|
user-select: none; /* 标准 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-container {
|
.nav-container {
|
||||||
transform-origin: center center;
|
transform-origin: center center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
Reference in New Issue
Block a user