提交后台
This commit is contained in:
parent
2a1f568b35
commit
4b21cb794d
2
admin-client/src/components.d.ts
vendored
2
admin-client/src/components.d.ts
vendored
|
|
@ -91,6 +91,8 @@ declare module 'vue' {
|
|||
ElImage: typeof import('element-plus/es')['ElImage']
|
||||
ElMain: typeof import('element-plus/es')['ElMain']
|
||||
ElSpace: typeof import('element-plus/es')['ElSpace']
|
||||
ElTable: typeof import('element-plus/es')['ElTable']
|
||||
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
||||
ElText: typeof import('element-plus/es')['ElText']
|
||||
ElTimeline: typeof import('element-plus/es')['ElTimeline']
|
||||
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import Tools from "@/core/utils/Tools";
|
|||
import ThemeStore from "@/core/store/layouts/ThemeStore";
|
||||
import LanguageComponent from "@/locale/components/LanguageComponent.vue";
|
||||
import { computed } from "vue";
|
||||
|
||||
import AppMonitorService from "@/services/Apps/Ext/AppMonitorService";
|
||||
const appStore = AppStore();
|
||||
const coreStore = CoreStore();
|
||||
const menuStore = MenuStore();
|
||||
|
|
@ -43,43 +43,40 @@ function logOut() {
|
|||
function onReload() {
|
||||
coreStore.refresh(router.currentRoute.value.fullPath);
|
||||
}
|
||||
let isClearAllCacheData = false;
|
||||
// 刷新
|
||||
async function onDelCache() {
|
||||
if (isClearAllCacheData) {
|
||||
Tools.message.error("正在删除缓存中");
|
||||
return;
|
||||
}
|
||||
isClearAllCacheData = true;
|
||||
var data = await AppMonitorService.ClearAllCacheData();
|
||||
console.log(data);
|
||||
Tools.message.success("缓存清除成功");
|
||||
isClearAllCacheData = false;
|
||||
|
||||
//文档地址
|
||||
function jumpDoc() {
|
||||
window.open("https://www.yuque.com/u378909/yidf7v", "_black");
|
||||
}
|
||||
|
||||
//pro
|
||||
function jumpPro() {
|
||||
window.open("http://124.221.128.7:6600/", "_black");
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<a-layout-header class="hzy-layout-header">
|
||||
<div
|
||||
class="hzy-header-btn"
|
||||
@click="menuStore.onChangeCollapse(!menuStore.state.isCollapse)"
|
||||
>
|
||||
<!-- <a-tooltip>
|
||||
<template #title>菜单收展</template>
|
||||
<AppIcon :name="menuStore.state.isCollapse ? 'MenuUnfoldOutlined' : 'MenuFoldOutlined'" :size="iconSize" />
|
||||
</a-tooltip> -->
|
||||
<AppIcon
|
||||
:name="
|
||||
menuStore.state.isCollapse ? 'MenuUnfoldOutlined' : 'MenuFoldOutlined'
|
||||
"
|
||||
:size="iconSize"
|
||||
/>
|
||||
<div class="hzy-header-btn" @click="menuStore.onChangeCollapse(!menuStore.state.isCollapse)">
|
||||
|
||||
<AppIcon :name="menuStore.state.isCollapse ? 'MenuUnfoldOutlined' : 'MenuFoldOutlined'
|
||||
" :size="iconSize" />
|
||||
</div>
|
||||
<div
|
||||
style="flex: 1 1 0%; height: 100%; display: flex"
|
||||
v-if="menuStore.state.menuMode == EMenuMode.top"
|
||||
>
|
||||
<div style="flex: 1 1 0%; height: 100%; display: flex" v-if="menuStore.state.menuMode == EMenuMode.top">
|
||||
<LayoutOneLevelMenu />
|
||||
</div>
|
||||
<div style="flex: 1 1 0%" v-else></div>
|
||||
|
||||
<a-tooltip>
|
||||
<template #title>清除缓存</template>
|
||||
<div class="hzy-header-btn" @click="onDelCache">
|
||||
<AppIcon name="DeleteOutlined" :size="iconSize" />
|
||||
</div>
|
||||
</a-tooltip>
|
||||
|
||||
<!-- 刷新当前选项卡 -->
|
||||
<a-tooltip>
|
||||
<template #title>刷新当前选项卡</template>
|
||||
|
|
@ -91,31 +88,16 @@ function jumpPro() {
|
|||
<!-- 全屏 -->
|
||||
<a-tooltip>
|
||||
<template #title>全屏</template>
|
||||
<div
|
||||
class="hzy-header-btn"
|
||||
@click="toggle"
|
||||
v-if="!coreStore.state.isMobile"
|
||||
>
|
||||
<AppIcon
|
||||
:name="isFullscreen ? 'FullscreenExitOutlined' : 'FullscreenOutlined'"
|
||||
:size="iconSize"
|
||||
/>
|
||||
<div class="hzy-header-btn" @click="toggle" v-if="!coreStore.state.isMobile">
|
||||
<AppIcon :name="isFullscreen ? 'FullscreenExitOutlined' : 'FullscreenOutlined'" :size="iconSize" />
|
||||
</div>
|
||||
</a-tooltip>
|
||||
|
||||
<!-- 白昼 / 黑夜 -->
|
||||
<a-tooltip>
|
||||
<template #title>白昼 / 黑夜</template>
|
||||
<div
|
||||
class="hzy-header-btn"
|
||||
@click="themeStore.changeTheme(!themeStore.state.isDark)"
|
||||
>
|
||||
<AppIcon
|
||||
name="MoonNight"
|
||||
:size="iconSize + 5"
|
||||
style="color: white"
|
||||
v-if="themeStore.state.isDark"
|
||||
/>
|
||||
<div class="hzy-header-btn" @click="themeStore.changeTheme(!themeStore.state.isDark)">
|
||||
<AppIcon name="MoonNight" :size="iconSize + 5" style="color: white" v-if="themeStore.state.isDark" />
|
||||
<AppIcon name="Sunny" :size="iconSize + 5" v-else />
|
||||
</div>
|
||||
</a-tooltip>
|
||||
|
|
@ -160,6 +142,7 @@ function jumpPro() {
|
|||
|
||||
<style lang="less">
|
||||
.hzy-layout {
|
||||
|
||||
//覆盖样式
|
||||
.ant-layout-header {
|
||||
position: relative;
|
||||
|
|
|
|||
|
|
@ -36,5 +36,19 @@ export default class AppMonitorService {
|
|||
static GetAppMonitorHour() {
|
||||
return Http.get(`${this.urlPrefix}/GetAppMonitorHour`, {}, false)
|
||||
}
|
||||
/**
|
||||
* 清除缓存
|
||||
* @returns
|
||||
*/
|
||||
static ClearAllCacheData() {
|
||||
return Http.get(`${AppConsts.domainExServerApi}/api/Cache/ClearAllCacheData`, {}, true)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前在线人数
|
||||
* @returns
|
||||
*/
|
||||
static GetCurrentOnlineUsers() {
|
||||
return Http.get(`${this.urlPrefix}/GetCurrentOnlineUsers`, {})
|
||||
}
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@ import Tools from "@/core/utils/Tools";
|
|||
import PageContainerGame from "@/core/components/PageContainerGame.vue";
|
||||
import TableCurdV1 from "@/core/components/curd/TableCurdV1.vue";
|
||||
import AppConfigService from "@/services/apps/Ext/AppConfigService";
|
||||
|
||||
import MonacoEditor from "@/core/components/MonacoEditor.vue";
|
||||
defineOptions({ name: "appConfigIndex" });
|
||||
var columns = [
|
||||
{
|
||||
|
|
@ -125,6 +125,13 @@ async function findList() {
|
|||
const res = await AppConfigService.findForm();
|
||||
state.loading = false;
|
||||
if (res.code != 200) return;
|
||||
if (res.data != null) {
|
||||
res.data.form._cacheRequestUrls = "";
|
||||
if (res.data.form.cacheRequestUrls != null && res.data.form.cacheRequestUrls.length > 0) {
|
||||
res.data.form._cacheRequestUrls = JSON.stringify(res.data.form.cacheRequestUrls);
|
||||
console.log(res.data.form._cacheRequestUrls);
|
||||
}
|
||||
}
|
||||
state.vm = res.data;
|
||||
|
||||
// state.visible = false;
|
||||
|
|
@ -139,9 +146,19 @@ function save() {
|
|||
refForm.value?.validate().then(async () => {
|
||||
try {
|
||||
state.loading = true;
|
||||
var saveData = state.vm.form;
|
||||
if (saveData._cacheRequestUrls == "") {
|
||||
saveData.cacheRequestUrls = [];
|
||||
} else {
|
||||
var o = JSON.parse(saveData._cacheRequestUrls);
|
||||
saveData.cacheRequestUrls = o;
|
||||
delete saveData._cacheRequestUrls;
|
||||
}
|
||||
console.log(saveData);
|
||||
|
||||
const result = await AppConfigService.saveForm(
|
||||
state.vm.id,
|
||||
state.vm.form
|
||||
saveData
|
||||
);
|
||||
state.loading = false;
|
||||
if (result.code != 200) return;
|
||||
|
|
@ -193,182 +210,94 @@ function exportExcel() {
|
|||
<a-form ref="refForm" layout="vertical" :model="state.vm.form">
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="系统标识"
|
||||
name="tenantId"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.tenantId"
|
||||
:readonly="true"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="系统标识" name="tenantId" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
|
||||
<a-input v-model:value="state.vm.form.tenantId" :readonly="true" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="名称"
|
||||
name="name"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.name"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="名称" name="name" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
|
||||
<a-input v-model:value="state.vm.form.name" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="域名"
|
||||
name="domainName"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.domainName"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="域名" name="domainName" :rules="[{ required: true, message: '请输入', trigger: 'blur' }]">
|
||||
<a-input v-model:value="state.vm.form.domainName" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="唯一标识"
|
||||
name="identifier"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.identifier"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="唯一标识" name="identifier" :rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-input v-model:value="state.vm.form.identifier" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="隐私协议地址"
|
||||
name="privacyAgreement"
|
||||
:readonly="readonly"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.privacyAgreement"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="隐私协议地址" name="privacyAgreement" :readonly="readonly">
|
||||
<a-input v-model:value="state.vm.form.privacyAgreement" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="用户协议地址"
|
||||
name="userAgreement"
|
||||
:readonly="readonly"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.userAgreement"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="用户协议地址" name="userAgreement" :readonly="readonly">
|
||||
<a-input v-model:value="state.vm.form.userAgreement" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="app版本"
|
||||
name="appVersion"
|
||||
:readonly="readonly"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.appVersion"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="app版本" name="appVersion" :readonly="readonly"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-input v-model:value="state.vm.form.appVersion" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item label="多语言请求地址" name="languageRequestUrl" :readonly="readonly"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-input v-model:value="state.vm.form.languageRequestUrl" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="缓存数据"
|
||||
:readonly="readonly"
|
||||
name="redisConnectionString"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.redisConnectionString"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="扩展数据库" name="cacheRequestUrls">
|
||||
<MonacoEditor v-model:model-value="state.vm.form._cacheRequestUrls"></MonacoEditor>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="扩展数据库"
|
||||
name="extConnectionString"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.extConnectionString"
|
||||
:readonly="readonly"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="缓存数据" :readonly="readonly" name="redisConnectionString"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-input v-model:value="state.vm.form.redisConnectionString" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="游戏数据库"
|
||||
name="gameConnectionString"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.gameConnectionString"
|
||||
placeholder="请输入"
|
||||
:readonly="readonly"
|
||||
/>
|
||||
<a-form-item label="扩展数据库" name="extConnectionString" :rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-textarea v-model:value="state.vm.form.extConnectionString" :readonly="readonly" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item label="游戏数据库" name="gameConnectionString" :rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-textarea v-model:value="state.vm.form.gameConnectionString" placeholder="请输入" :readonly="readonly" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="手机数据库"
|
||||
name="phoneConnectionString"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.phoneConnectionString"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<a-form-item label="手机数据库" name="phoneConnectionString" :rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-textarea v-model:value="state.vm.form.phoneConnectionString" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="用户数据"
|
||||
name="userConnectionString"
|
||||
:rules="[{ message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.userConnectionString"
|
||||
placeholder="请输入"
|
||||
:readonly="readonly"
|
||||
/>
|
||||
<a-form-item label="用户数据" name="userConnectionString" :rules="[{ message: '请输入', trigger: 'blur' }]">
|
||||
<a-textarea v-model:value="state.vm.form.userConnectionString" placeholder="请输入" :readonly="readonly" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
<a-space :size="15">
|
||||
<a-button
|
||||
type="primary"
|
||||
v-if="power.update"
|
||||
@click="readonly = !readonly"
|
||||
>{{ readonly ? "修改" : "取消修改" }}</a-button
|
||||
>
|
||||
<a-button
|
||||
type="primary"
|
||||
:loading="state.loading"
|
||||
@click="save()"
|
||||
v-if="!readonly"
|
||||
>保存</a-button
|
||||
>
|
||||
<a-button type="primary" v-if="power.update" @click="readonly = !readonly">{{ readonly ? "修改" : "取消修改"
|
||||
}}</a-button>
|
||||
<a-button type="primary" :loading="state.loading" @click="save()" v-if="!readonly">保存</a-button>
|
||||
</a-space>
|
||||
<Info ref="refInfo" :onSuccess="() => findList()" />
|
||||
</PageContainerGame>
|
||||
</template>
|
||||
<style>
|
||||
.monaco-editor {
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import UserSignStatistics from "./components/UserSignStatistics.vue";
|
|||
import PlayGameTimeStatistics from "./components/PlayGameTimeStatistics.vue";
|
||||
import PlayGameStatistics from "./components/PlayGameStatistics.vue";
|
||||
import Home1 from "./Index1.vue";
|
||||
|
||||
|
||||
import PageContainer from "@/core/components/PageContainer.vue";
|
||||
import AppMonitorService from "@/services/Apps/Ext/AppMonitorService";
|
||||
defineOptions({ name: "HomeIndexCom" });
|
||||
|
|
@ -29,24 +29,16 @@ let visible = ref(false);
|
|||
<template>
|
||||
<PageContainer :show="false" class="p-16">
|
||||
<!-- 基础统计数据 -->
|
||||
<div @click="visible = !visible">
|
||||
<WorkOrder />
|
||||
</div>
|
||||
<WorkOrder />
|
||||
|
||||
<!-- 近一年设备销售量 -->
|
||||
<div class="mt-16">
|
||||
<a-row :gutter="[16, 16]">
|
||||
<a-col :xs="24" :sm="24" :md="12" :lg="16" :xl="12">
|
||||
<WorkOrderStatistics
|
||||
:data="login"
|
||||
v-if="login != null && login.length > 0"
|
||||
/>
|
||||
<WorkOrderStatistics :data="login" v-if="login != null && login.length > 0" />
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="12" :lg="16" :xl="12">
|
||||
<UserSignStatistics
|
||||
:data="registr"
|
||||
v-if="registr != null && registr.length > 0"
|
||||
/>
|
||||
<UserSignStatistics :data="registr" v-if="registr != null && registr.length > 0" />
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="12" :lg="16" :xl="12">
|
||||
<PlayGameStatistics :data="playGame" />
|
||||
|
|
@ -60,7 +52,9 @@ let visible = ref(false);
|
|||
</div>
|
||||
<!-- 抽屉 -->
|
||||
<a-drawer v-model:open="visible" title="更多" placement="right" width="90%">
|
||||
<Home1 />
|
||||
<!-- <Home1 /> -->
|
||||
|
||||
12312
|
||||
</a-drawer>
|
||||
</PageContainer>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -104,25 +104,26 @@ onBeforeUnmount(() => {
|
|||
clearInterval(timer.value);
|
||||
}
|
||||
});
|
||||
let visible = ref(false);
|
||||
let visbleIndex = ref(0);
|
||||
const tableData = ref([])
|
||||
|
||||
async function onDeList(index) {
|
||||
if (index == 2) {
|
||||
visible.value = !visible.value;
|
||||
visbleIndex = index;
|
||||
var c = await AppMonitorService.GetCurrentOnlineUsers();
|
||||
tableData.value = c;
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<a-row class="work-order" :gutter="[16, 16]">
|
||||
<a-col
|
||||
v-for="(card, index) in cards"
|
||||
:key="index"
|
||||
:xs="24"
|
||||
:sm="12"
|
||||
:md="12"
|
||||
:lg="6"
|
||||
:xl="4"
|
||||
>
|
||||
<a-card
|
||||
:bordered="false"
|
||||
hoverable
|
||||
:style="{ background: card.color }"
|
||||
:bodyStyle="{ padding: 0 }"
|
||||
>
|
||||
<a-col v-for="(card, index) in cards" :key="index" :xs="24" :sm="12" :md="12" :lg="6" :xl="4">
|
||||
<a-card :bordered="false" hoverable :style="{ background: card.color }" :bodyStyle="{ padding: 0 }"
|
||||
@click=" onDeList(index)">
|
||||
<a-row class="text-center p-16">
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="8" class="icon">
|
||||
<AppIcon :name="card.icon" :size="iconSize" style="color: #fff" />
|
||||
|
|
@ -135,6 +136,18 @@ onBeforeUnmount(() => {
|
|||
</a-card>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 抽屉 -->
|
||||
<a-drawer v-model:open="visible" title="更多" placement="right" width="90%">
|
||||
|
||||
<el-table :data="tableData" style="width: 100%" v-if="visbleIndex == 2">
|
||||
<el-table-column type="index" />
|
||||
<el-table-column prop="userId" label="用户id" width="120" />
|
||||
<el-table-column prop="nickName" label="昵称" />
|
||||
<el-table-column prop="phoneNum" label="手机号" />
|
||||
<el-table-column prop="diamond" label="钻石数" />
|
||||
<el-table-column prop="deviceNumber" label="设备号" />
|
||||
</el-table>
|
||||
</a-drawer>
|
||||
</template>
|
||||
|
||||
<style lang="less">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
"secret": "95BB717C61D1ECB0E9FB82C932CC77FF",
|
||||
"nodes": "http://124.220.55.158:94", //多个节点使用逗号分隔
|
||||
"url": "http://124.220.55.158:94",
|
||||
"env": "DEV",
|
||||
"env": "TEST",
|
||||
"UserName": "admin",
|
||||
"Password": "dbt@com@1234"
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user