This commit is contained in:
2026-01-26 19:42:37 +08:00
parent 557a3368a1
commit a6828e9f75
11 changed files with 61 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
<template>
<div class="h100" v-show="!isTagsViewCurrentFull">
<div :class="['h100', CURRENT_TENANT]" v-show="!isTagsViewCurrentFull">
<el-aside class="layout-aside" :class="setCollapseStyle" v-if="setShowAside">
<Logo v-if="setShowLogo" />
<el-scrollbar class="flex-auto" ref="layoutAsideScrollbarRef" @mouseenter="onAsideEnterLeave(true)" @mouseleave="onAsideEnterLeave(false)">
@@ -21,6 +21,7 @@ import {useRoute} from 'vue-router';
import Logo from '/@/layout/logo/index.vue';
import Vertical from '/@/layout/navMenu/vertical.vue';
import { CURRENT_TENANT } from '/@/spdm/utils/index'; // SPDM CODE
// 引入组件
const {locale} = useI18n();

View File

@@ -6,7 +6,7 @@
<div class="logo">
<ImageDecoration height="50px" :src="systemConfig.logo">
<template #error>
<ImageDecoration height="38px" src="/@/spdm/assets/spdm_logo.png" />
<ImageDecoration height="38px" src="/@/spdm/assets/imgs/spdm_logo.png" />
</template>
</ImageDecoration>
</div>

View File

@@ -18,9 +18,6 @@ import 'form-designer-plus/dist/designer.style.css'; //引入VForm3样式
// 部门树组件
import vue3TreeOrg from 'vue3-tree-org';
import 'vue3-tree-org/lib/vue3-tree-org.css';
import '/@/spdm/index.scss'; // SPDM CODE
// 日历组件
import { setupCalendar } from 'v-calendar';
@@ -51,6 +48,9 @@ import { dateStr, dateTimeStr, parseDate, parseTime, timeStr } from '/@/utils/fo
import { Pane, Splitpanes } from 'splitpanes';
import 'splitpanes/dist/splitpanes.css';
import { NextLoading } from '/@/utils/loading';
import '/@/spdm/main'; // SPDM CODE
initializeChannels();
const app = createApp(App);

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,19 +1,19 @@
// // 生产环境
// export const SPDM_URL = 'http://192.168.190.161:3000'; // SPDM项目地址
// export const BASE_URL = '/spdmApi/honeycom-spdm'; // baseUrl
// export const TENANT_NAME = 'BASE'; // 租户:基线
// export const TENANT_NAME = 'base'; // 租户:基线
// 测试环境
export const SPDM_URL = 'http://192.168.65.161:3000'; // SPDM项目地址
export const BASE_URL = '/spdmApi/honeycom-spdm'; // baseUrl
export const TENANT_NAME = 'LYRIC'; // 租户:利元亨
export const TENANT_NAME = 'lyric'; // 租户:利元亨
// // 利元亨内网环境
// export const SPDM_URL = 'http://192.168.30.147:7115'; // SPDM项目地址
// export const BASE_URL = '/spdmApi/honeycom-spdm'; // baseUrl
// export const TENANT_NAME = 'LYRIC'; // 租户:利元亨
// export const TENANT_NAME = 'lyric'; // 租户:利元亨
// // 本地环境
// export const SPDM_URL = 'http://192.168.65.64:3001'; // SPDM项目地址
// export const BASE_URL = '/spdmApi/honeycom-spdm'; // baseUrl
// export const TENANT_NAME = 'BASE'; // 租户:基线
// export const TENANT_NAME = 'lyric'; // 租户:利元亨

View File

@@ -95,3 +95,39 @@
}
}
}
// 利元亨定制样式
.lyric {
.el-menu {
& > .el-menu-item {
background-color: #001529;
color: rgba(255, 255, 255, 0.65);
border-bottom: 0;
&:hover {
background-color: #001529 !important;
color: rgba(255, 255, 255, 0.65) !important;
}
&.is-active {
background-color: #1890ff !important;
color: #fff !important;
}
}
& > .el-sub-menu {
border-bottom: 0;
&.is-active {
background-color: #001529 !important;
}
.el-sub-menu__title {
background-color: #001529 !important;
color: rgba(255, 255, 255, 0.65);
&:hover {
background-color: #001529 !important;
color: rgba(255, 255, 255, 0.65) !important;
}
}
.el-menu-item {
background-color: #000c17;
}
}
}
}

1
src/spdm/main.ts Normal file
View File

@@ -0,0 +1 @@
import '/@/spdm/index.scss';

View File

@@ -1,5 +1,6 @@
import { heartbeatApi } from '/@/spdm/api/spdm-user';
import Cookies from 'js-cookie';
import { TENANT_NAME } from '/@/spdm/config';
const SET_TIME = 5 * 60 * 1000; // 5分钟发一次心跳
@@ -16,4 +17,10 @@ export const loginHeartbeat = () => {
setInterval(() => {
heartbeatFun();
}, SET_TIME);
};
export const CURRENT_TENANT = TENANT_NAME;
export const enableConfigByTenant = (tenants: string[]) => {
return tenants.includes(CURRENT_TENANT);
};

View File

@@ -64,7 +64,7 @@
<div class="relative flex items-center justify-between">
<div class="text-sm ml-auto">
<!-- <a href="#" class="ml-2 text-primary hover:text-blue-600" @click="emit('change', LoginTypeEnum.MOBILE)"> {{ $t('component.password.091035-2') }} </a> -->
<a v-if="autoRegisterEnable && TENANT_NAME === 'BASE'" href="#" class="ml-2 text-primary hover:text-blue-600" @click="emit('change', LoginTypeEnum.REGISTER)">
<a v-if="autoRegisterEnable && enableConfigByTenant(['base'])" href="#" class="ml-2 text-primary hover:text-blue-600" @click="emit('change', LoginTypeEnum.REGISTER)">
{{ $t('component.password.091035-3') }}
</a>
</div>
@@ -91,7 +91,7 @@ import {rule} from '/@/utils/validate';
import {uploadFormat} from '/@/utils/commonFunction';
import {Session} from '/@/utils/storage';
import { useLocalStorage } from '@vueuse/core';
import { TENANT_NAME } from '/@/spdm/config'
import { enableConfigByTenant } from '/@/spdm/utils/index'; // SPDM CODE
// 使用国际化插件
const {t} = useI18n();

View File

@@ -39,7 +39,9 @@
</div>
</div>
</el-scrollbar>
<div class="flex-1 min-w-0 hidden md:block"><img class="h-screen w-full object-cover" :src="bgLogin" alt="" /></div>
<div class="flex-1 min-w-0 hidden md:block">
<img class="h-screen w-full object-cover" :src="enableConfigByTenant(['lyric']) ? lyricBgLogin : bgLogin" alt="" />
</div>
</div>
</div>
</template>
@@ -47,6 +49,7 @@
<script setup lang="ts" name="loginIndex">
import { onBeforeMount } from 'vue';
import bgLogin from '/@/assets/login/login-bg.jpg';
import lyricBgLogin from '/@/spdm/assets/imgs/login_lyric_bg.jpg';
// import illustration from '/@/assets/login/login_bg.svg';
// import bg from '/@/assets/login/bg.png';
// import miniQr from '/@/assets/login/mini_qr.png';
@@ -60,6 +63,7 @@ import { useRoute } from 'vue-router';
import { useUserInfo } from '/@/stores/userInfo';
import { Token } from '/@/utils/storage';
import {isEmpty} from 'lodash';
import { enableConfigByTenant } from '/@/spdm/utils/index'; // SPDM CODE
// 引入组件
const Password = defineAsyncComponent(() => import('./component/password.vue'));