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