路由;授权页增加端口设置
This commit is contained in:
@ -277,6 +277,9 @@ function createWindow(): void {
|
|||||||
mainWindow.webContents.send('fullscreen-status-changed', false)
|
mainWindow.webContents.send('fullscreen-status-changed', false)
|
||||||
});
|
});
|
||||||
mainWindow.on("close", (e) => {
|
mainWindow.on("close", (e) => {
|
||||||
|
if (isRestart) {
|
||||||
|
return
|
||||||
|
}
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
dialog
|
dialog
|
||||||
.showMessageBox(mainWindow, {
|
.showMessageBox(mainWindow, {
|
||||||
@ -539,6 +542,10 @@ function closeAllWindows() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getmainWindow() {
|
||||||
|
return mainWindow;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const gotTheLock = app.requestSingleInstanceLock();
|
const gotTheLock = app.requestSingleInstanceLock();
|
||||||
if (!gotTheLock) {
|
if (!gotTheLock) {
|
||||||
@ -604,5 +611,7 @@ if (!gotTheLock) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export { getmainWindow };
|
||||||
|
|
||||||
// In this file you can include the rest of your app's specific main process
|
// In this file you can include the rest of your app's specific main process
|
||||||
// code. You can also put them in separate files and require them here.
|
// code. You can also put them in separate files and require them here.
|
||||||
|
|||||||
@ -364,6 +364,7 @@ img {
|
|||||||
.login-select-popper {
|
.login-select-popper {
|
||||||
border: 1px solid var(--el-border-color-light) !important;
|
border: 1px solid var(--el-border-color-light) !important;
|
||||||
box-shadow: var(--el-box-shadow-light) !important;
|
box-shadow: var(--el-box-shadow-light) !important;
|
||||||
|
z-index: 9999 !important;
|
||||||
|
|
||||||
.el-select-dropdown {
|
.el-select-dropdown {
|
||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
|
|||||||
@ -37,7 +37,7 @@ const router = createRouter({
|
|||||||
})
|
})
|
||||||
router.beforeEach((to, from, next) => {
|
router.beforeEach((to, from, next) => {
|
||||||
// 去登录,放行
|
// 去登录,放行
|
||||||
if (to.path === '/') {
|
if (to.path === '/' || to.path === '/login') {
|
||||||
next()
|
next()
|
||||||
} else {
|
} else {
|
||||||
if (localStorage.getItem('Authorization')) {
|
if (localStorage.getItem('Authorization')) {
|
||||||
|
|||||||
@ -39,7 +39,7 @@ import {TsApi} from "../../../api/ts";
|
|||||||
const times = ref(0)
|
const times = ref(0)
|
||||||
const numbers = ref(0)
|
const numbers = ref(0)
|
||||||
|
|
||||||
const detail = ref({})
|
const detail:any = ref({})
|
||||||
|
|
||||||
const eventBus: any = inject('bus')
|
const eventBus: any = inject('bus')
|
||||||
let eventObj:any = ref(null)
|
let eventObj:any = ref(null)
|
||||||
|
|||||||
@ -1,12 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<video
|
<div class="rightBox" v-if="isDesktop">
|
||||||
key="second-video"
|
<el-button size="small" :icon="Setting" @click="serviceDialog = true"> </el-button>
|
||||||
autoplay
|
</div>
|
||||||
loop
|
<video key="second-video" autoplay loop muted src="../../assets/video/author_video.mp4"
|
||||||
muted
|
style="position: fixed; width: 100vw; height: 100vh; left: 0; top: 0; object-fit: cover;z-index: -1;"></video>
|
||||||
src="../../assets/video/author_video.mp4"
|
|
||||||
style="position: fixed; width: 100vw; height: 100vh; left: 0; top: 0; object-fit: cover"
|
|
||||||
></video>
|
|
||||||
<Dialog ref="baseDialog" class="graffiti" title="系统授权" :closeCallback="closeCallBack">
|
<Dialog ref="baseDialog" class="graffiti" title="系统授权" :closeCallback="closeCallBack">
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="auth_info custom_scroll_bar content_h">
|
<div class="auth_info custom_scroll_bar content_h">
|
||||||
@ -15,12 +12,7 @@
|
|||||||
<span class="fankuai"></span>
|
<span class="fankuai"></span>
|
||||||
{{ t('auths.authCode') }}
|
{{ t('auths.authCode') }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="auth_info_text" @click="copy(authInfo.license_code)" style="cursor: pointer" title="点击可复制">
|
||||||
class="auth_info_text"
|
|
||||||
@click="copy(authInfo.license_code)"
|
|
||||||
style="cursor: pointer"
|
|
||||||
title="点击可复制"
|
|
||||||
>
|
|
||||||
{{ authInfo.license_code || '' }}
|
{{ authInfo.license_code || '' }}
|
||||||
<svg-icon name="copy" :size="20" style="margin-left: 30px"></svg-icon>
|
<svg-icon name="copy" :size="20" style="margin-left: 30px"></svg-icon>
|
||||||
</div>
|
</div>
|
||||||
@ -43,12 +35,8 @@
|
|||||||
<span class="fankuai"></span>
|
<span class="fankuai"></span>
|
||||||
{{ t('auths.authType') }}
|
{{ t('auths.authType') }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div v-if="authInfo.status != null" class="auth_info_text" style="font-size: 16px"
|
||||||
v-if="authInfo.status != null"
|
:style="{ color: authInfo.status ? 'rgba(27, 248, 195, 1)' : 'rgba(255, 161, 69, 1)' }">
|
||||||
class="auth_info_text"
|
|
||||||
style="font-size: 16px"
|
|
||||||
:style="{ color: authInfo.status ? 'rgba(27, 248, 195, 1)' : 'rgba(255, 161, 69, 1)' }"
|
|
||||||
>
|
|
||||||
{{ authInfo.status ? t('auths.authTempExpire') : t('auths.authexpire') }}
|
{{ authInfo.status ? t('auths.authTempExpire') : t('auths.authexpire') }}
|
||||||
</div>
|
</div>
|
||||||
<!-- <div v-else class="auth_info_text">{{ authInfo.message || '无' }}</div> -->
|
<!-- <div v-else class="auth_info_text">{{ authInfo.message || '无' }}</div> -->
|
||||||
@ -64,14 +52,71 @@
|
|||||||
<button @click="close">退出系统</button>
|
<button @click="close">退出系统</button>
|
||||||
</template>
|
</template>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
<div class="service" v-if="serviceDialog">
|
||||||
|
<div class="contentBox">
|
||||||
|
<div class="titleBox">
|
||||||
|
<span class="title"></span>
|
||||||
|
<span class="closeBox">
|
||||||
|
<span @click="cancel">✕</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<h1 class="hello">Hello!</h1>
|
||||||
|
<h2 class="greet"><span>欢迎您使用</span>实景三维电子沙盘系统</h2>
|
||||||
|
<div class="serviceContent">
|
||||||
|
<el-tabs v-model="selectedService" class="demo-tabs">
|
||||||
|
<el-tab-pane label="接口服务" name="接口服务"></el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
<div class="tabPanel">
|
||||||
|
<div class="item">
|
||||||
|
<span class="itemLabel">服务选择</span>
|
||||||
|
<el-select class="select" popper-class="login-select-popper" v-model="servVal">
|
||||||
|
<el-option size="mini" v-for="item in servOptions" :key="item.value" :label="item.name"
|
||||||
|
:value="item.name">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
<div class="item prototype" v-if="servVal == '网络'">
|
||||||
|
<span class="itemLabel">协议</span><el-input v-model="prototype"></el-input>
|
||||||
|
</div>
|
||||||
|
<div class="item ip">
|
||||||
|
<template v-if="servVal == '单机'">
|
||||||
|
<span class="itemLabel">IP</span>
|
||||||
|
<el-input v-model="localip" disabled></el-input>
|
||||||
|
</template>
|
||||||
|
<template v-if="servVal == '网络'">
|
||||||
|
<span class="itemLabel">IP</span>
|
||||||
|
<el-input v-model="ip"></el-input>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
<div class="item port">
|
||||||
|
<template v-if="servVal == '单机'">
|
||||||
|
<span class="itemLabel">端口</span>
|
||||||
|
<el-input v-model="localport"></el-input>
|
||||||
|
</template>
|
||||||
|
<template v-if="servVal == '网络'">
|
||||||
|
<span class="itemLabel">端口</span>
|
||||||
|
<el-input v-model="port"></el-input>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="btn">
|
||||||
|
<el-button style="margin: 5px 0" size="mini" @click="submit">确定</el-button>
|
||||||
|
<el-button size="mini" @click="cancel">关闭</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { User, Unlock, Setting, SwitchButton } from '@element-plus/icons-vue'
|
||||||
import Dialog from '@/components/dialog/baseDialog.vue'
|
import Dialog from '@/components/dialog/baseDialog.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { ref, reactive, toRefs, onBeforeMount, onMounted, watchEffect, computed } from 'vue'
|
import { ref, reactive, toRefs, onBeforeMount, onMounted, watchEffect, computed } from 'vue'
|
||||||
import { AuthApi } from '@/api/setting/auth'
|
import { AuthApi } from '@/api/setting/auth'
|
||||||
|
import { useLogin } from '../login/useLogin'
|
||||||
|
import { useSetUp } from '../login/useSetUp'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import uploadFiles from '@/components/upload/uploadFiles.vue'
|
import uploadFiles from '@/components/upload/uploadFiles.vue'
|
||||||
import useClipboard from 'vue-clipboard3'
|
import useClipboard from 'vue-clipboard3'
|
||||||
@ -82,12 +127,47 @@ import {
|
|||||||
$changeComponentShow
|
$changeComponentShow
|
||||||
} from '@/utils/communication'
|
} from '@/utils/communication'
|
||||||
|
|
||||||
|
const {
|
||||||
|
loginFormRef,
|
||||||
|
loginForm,
|
||||||
|
loginRules,
|
||||||
|
loading,
|
||||||
|
checkboxVModel,
|
||||||
|
showContent,
|
||||||
|
isFirstVideoPlayed,
|
||||||
|
onFirstVideoEnded,
|
||||||
|
rememberpwd,
|
||||||
|
handleLogin,
|
||||||
|
firstVideoRef,
|
||||||
|
goExit,
|
||||||
|
loginInit,
|
||||||
|
isDesktop
|
||||||
|
} = useLogin()
|
||||||
|
const {
|
||||||
|
serviceDialog,
|
||||||
|
servVal,
|
||||||
|
prototype,
|
||||||
|
ip,
|
||||||
|
port,
|
||||||
|
localip,
|
||||||
|
localport,
|
||||||
|
gpsVal,
|
||||||
|
gpsOptions,
|
||||||
|
servOptions,
|
||||||
|
serviceOptions,
|
||||||
|
submit,
|
||||||
|
cancel,
|
||||||
|
initialize
|
||||||
|
} = useSetUp()
|
||||||
const { ipcRenderer } = require('electron')
|
const { ipcRenderer } = require('electron')
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const getAuthInfo = async () => {
|
const getAuthInfo = async () => {
|
||||||
try {
|
try {
|
||||||
const res = await AuthApi.showAuth()
|
const res = await AuthApi.showAuth()
|
||||||
if (typeof res.data === 'object') {
|
if (typeof res.data === 'object') {
|
||||||
|
authInfo.value.generateTime = res.data.generateTime
|
||||||
|
authInfo.value.expireTime = res.data.expireTime
|
||||||
|
getStatus2()
|
||||||
getStatus(res.data.expireTime)
|
getStatus(res.data.expireTime)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@ -111,6 +191,7 @@ const getAuthInfo = async () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const selectedService = ref('接口服务')
|
||||||
let showPop = ref(false)
|
let showPop = ref(false)
|
||||||
const baseDialog = ref(null)
|
const baseDialog = ref(null)
|
||||||
const getStatus = (date) => {
|
const getStatus = (date) => {
|
||||||
@ -139,7 +220,9 @@ const getStatus = (date) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getAuthInfo()
|
setTimeout(() => {
|
||||||
|
getAuthInfo()
|
||||||
|
}, 5000);
|
||||||
|
|
||||||
//授权页面
|
//授权页面
|
||||||
|
|
||||||
@ -213,8 +296,9 @@ const getAuthCode = async () => {
|
|||||||
const res = await AuthApi.authInfo()
|
const res = await AuthApi.authInfo()
|
||||||
authInfo.value.license_code = res.data
|
authInfo.value.license_code = res.data
|
||||||
}
|
}
|
||||||
getAuthInfo2()
|
setTimeout(() => {
|
||||||
getAuthCode()
|
getAuthCode()
|
||||||
|
}, 5000);
|
||||||
//复制
|
//复制
|
||||||
|
|
||||||
const copy = async (text) => {
|
const copy = async (text) => {
|
||||||
@ -227,8 +311,17 @@ const copy = async (text) => {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
:root {
|
.rightBox {
|
||||||
--color-sdk-text-shadow: rgba(20, 118, 255, 1);
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
top: 0px;
|
||||||
|
z-index: 99999;
|
||||||
|
|
||||||
|
.el-button {
|
||||||
|
background: linear-gradient(to bottom, transparent, rgb(25, 129, 132));
|
||||||
|
border: none !important;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.auth_info {
|
.auth_info {
|
||||||
@ -262,6 +355,7 @@ const copy = async (text) => {
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.fankuai {
|
.fankuai {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
@ -272,6 +366,7 @@ const copy = async (text) => {
|
|||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.YJ-custom-base-dialog {
|
.YJ-custom-base-dialog {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@ -279,8 +374,7 @@ const copy = async (text) => {
|
|||||||
z-index: 99;
|
z-index: 99;
|
||||||
background: linear-gradient(0deg, #00ffff33 0%, #00ffff00 100%), rgba(0, 0, 0, 0.6);
|
background: linear-gradient(0deg, #00ffff33 0%, #00ffff00 100%), rgba(0, 0, 0, 0.6);
|
||||||
border: 1.5px solid;
|
border: 1.5px solid;
|
||||||
border-image: linear-gradient(to bottom, rgba(var(--color-base1), 1) 6.25%, rgb(0, 200, 255) 100%)
|
border-image: linear-gradient(to bottom, rgba(var(--color-base1), 1) 6.25%, rgb(0, 200, 255) 100%) 1;
|
||||||
1;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-family: 'sy-boldface';
|
font-family: 'sy-boldface';
|
||||||
}
|
}
|
||||||
@ -325,11 +419,12 @@ const copy = async (text) => {
|
|||||||
padding: 5px 16px 5px 16px !important;
|
padding: 5px 16px 5px 16px !important;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
::v-deep .title-box > .close-box {
|
|
||||||
|
::v-deep .title-box>.close-box {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .title-box > .title {
|
::v-deep .title-box>.title {
|
||||||
font-family: 'Ali-mother-counts-bold';
|
font-family: 'Ali-mother-counts-bold';
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -352,7 +447,7 @@ const copy = async (text) => {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .foot > button {
|
::v-deep .foot>button {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: rgba(var(--color-base1), 0.2);
|
background: rgba(var(--color-base1), 0.2);
|
||||||
@ -363,14 +458,16 @@ const copy = async (text) => {
|
|||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
::v-deep .foot > button:hover {
|
|
||||||
|
::v-deep .foot>button:hover {
|
||||||
border: 1px solid rgba(var(--color-base1), 1);
|
border: 1px solid rgba(var(--color-base1), 1);
|
||||||
color: rgba(var(--color-base1), 1);
|
color: rgba(var(--color-base1), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .foot > .show > .label {
|
::v-deep .foot>.show>.label {
|
||||||
margin: 0px 10px;
|
margin: 0px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-message-box {
|
::v-deep .el-message-box {
|
||||||
--el-messagebox-title-color: #fff !important;
|
--el-messagebox-title-color: #fff !important;
|
||||||
--el-messagebox-content-color: #fff !important;
|
--el-messagebox-content-color: #fff !important;
|
||||||
@ -378,6 +475,206 @@ const copy = async (text) => {
|
|||||||
linear-gradient(180deg, rgba(var(--color-base1), 0) 0%, rgba(var(--color-base1), 0.2) 100%),
|
linear-gradient(180deg, rgba(var(--color-base1), 0) 0%, rgba(var(--color-base1), 0.2) 100%),
|
||||||
rgba(0, 0, 0, 0.6) !important;
|
rgba(0, 0, 0, 0.6) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#app {
|
||||||
|
.service {
|
||||||
|
z-index: 9999;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
.contentBox {
|
||||||
|
padding: 0 40px 40px 40px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
backdrop-filter: blur(2px);
|
||||||
|
width: 450px;
|
||||||
|
position: absolute;
|
||||||
|
color: rgba(51, 51, 51, 1);
|
||||||
|
left: 50%;
|
||||||
|
top: 29%;
|
||||||
|
transform: translate(-50%, 0%);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.hello {
|
||||||
|
color: rgba(0, 66, 66, 1);
|
||||||
|
font-family: 'ddin';
|
||||||
|
font-size: 30px;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 30px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.greet {
|
||||||
|
color: rgba(0, 66, 66, 1);
|
||||||
|
font-family: 'SourceHanSans';
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: rgba(153, 153, 153, 1);
|
||||||
|
font-weight: 500;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.titleBox {
|
||||||
|
height: 40px;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
line-height: 50px;
|
||||||
|
padding-left: 15px;
|
||||||
|
font-size: 1rem;
|
||||||
|
text-shadow: 0px 0px 9px rgba(20, 118, 255, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.closeBox {
|
||||||
|
right: 0;
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
border-radius: 0 0 0 90%;
|
||||||
|
background: rgba(var(--color-base1), 1);
|
||||||
|
|
||||||
|
&>span {
|
||||||
|
font-size: 1rem;
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
cursor: pointer;
|
||||||
|
color: rgba(0, 66, 66, 1);
|
||||||
|
font-weight: 700;
|
||||||
|
width: 25px;
|
||||||
|
height: 25px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.serviceContent {
|
||||||
|
margin-top: 30px;
|
||||||
|
flex: auto;
|
||||||
|
|
||||||
|
::v-deep .el-tabs {
|
||||||
|
.el-tabs__header {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
|
||||||
|
.el-tabs__nav-wrap {
|
||||||
|
.el-tabs__nav-scroll {
|
||||||
|
.el-tabs__nav {
|
||||||
|
.el-tabs__active-bar {
|
||||||
|
background: rgba(0, 66, 66, 1);
|
||||||
|
height: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tabs__item {
|
||||||
|
color: rgba(153, 153, 153, 1);
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tabs__item:focus-visible {
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tabs__item.is-active {
|
||||||
|
font-size: 18px;
|
||||||
|
color: rgba(0, 66, 66, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tabs__nav-wrap::after {
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab {
|
||||||
|
border-radius: 5px;
|
||||||
|
//width: 50%;
|
||||||
|
width: 300px;
|
||||||
|
margin: 0 auto;
|
||||||
|
overflow: hidden;
|
||||||
|
background: rgba(var(--color-base1), 0.2);
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.tab-item {
|
||||||
|
display: inline-block;
|
||||||
|
flex: 1;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.activeService {
|
||||||
|
border: 1px solid rgba(var(--color-base1), 1);
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.itemLabel {
|
||||||
|
width: 64px;
|
||||||
|
flex: 0 0 64px;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-align: right;
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabPanel {
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
.item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin: 15px 0;
|
||||||
|
|
||||||
|
.select {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
button {
|
||||||
|
width: 166px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 0;
|
||||||
|
::v-deep span {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
border: 1px solid rgba(var(--color-base1), 1) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
button:nth-child(1) {
|
||||||
|
background: rgba(0, 255, 255, 1) !important;
|
||||||
|
border-color: #ff000000 !important;
|
||||||
|
color: rgba(0, 66, 66, 1) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:nth-child(2) {
|
||||||
|
background: rgba(255, 255, 255, 1) !important;
|
||||||
|
border-color: rgba(204, 204, 204, 0.4) !important;
|
||||||
|
color: rgba(102, 102, 102, 1) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::v-deep .el-popper {
|
||||||
|
z-index: 9999 !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.el-message-box {
|
.el-message-box {
|
||||||
@ -386,6 +683,7 @@ const copy = async (text) => {
|
|||||||
background:
|
background:
|
||||||
linear-gradient(180deg, rgba(var(--color-base1), 0) 0%, rgba(var(--color-base1), 0.2) 100%),
|
linear-gradient(180deg, rgba(var(--color-base1), 0) 0%, rgba(var(--color-base1), 0.2) 100%),
|
||||||
rgba(0, 0, 0, 0.6) !important;
|
rgba(0, 0, 0, 0.6) !important;
|
||||||
|
|
||||||
.el-message-box__btns {
|
.el-message-box__btns {
|
||||||
.el-button {
|
.el-button {
|
||||||
--el-button-text-color: #fff;
|
--el-button-text-color: #fff;
|
||||||
@ -395,10 +693,12 @@ const copy = async (text) => {
|
|||||||
--el-button-hover-border-color: rgba(var(--color-base1), 1) !important;
|
--el-button-hover-border-color: rgba(var(--color-base1), 1) !important;
|
||||||
--el-button-hover-text-color: rgba(var(--color-base1), 1) !important;
|
--el-button-hover-text-color: rgba(var(--color-base1), 1) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-button--primary {
|
.el-button--primary {
|
||||||
--el-button-bg-color: rgba(var(--color-base1), 0.2) !important;
|
--el-button-bg-color: rgba(var(--color-base1), 0.2) !important;
|
||||||
--el-button-hover-bg-color: rgba(var(--color-base1), 0.2) !important;
|
--el-button-hover-bg-color: rgba(var(--color-base1), 0.2) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-button:focus-visible {
|
.el-button:focus-visible {
|
||||||
outline: none !important;
|
outline: none !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,7 +48,7 @@ const logout = async (e) => {
|
|||||||
window.earth = null
|
window.earth = null
|
||||||
}
|
}
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
router.push({ path: '/' })
|
router.push({ path: '/login' })
|
||||||
// localStorage.clear()
|
// localStorage.clear()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user