|
@@ -6,10 +6,8 @@
|
|
|
<el-aside :class="[isCollapse?'is-collapse':'', MenuBarKey]" :width="isCollapse?'90px':'250px'"
|
|
|
class="hc-aside-box">
|
|
|
<div class="hc-aside-logo-box" @click="logoClick">
|
|
|
- <img :src="getAssetsHomeFile(`${AppColor.name}.png`)" alt="" class="logo-img">
|
|
|
- <img v-if="!isCollapse" :src="MenuBarKey === 'home-index' ? NameWhite : NameDark" alt=""
|
|
|
- class="logo-img-1 white">
|
|
|
- <img v-if="!isCollapse" :src="NameWhite" alt="" class="logo-img-1 dark">
|
|
|
+ <img :src="appLogoIcon" alt="" id="logo-icon">
|
|
|
+ <img :src="appLogoName" alt="" id="logo-name" v-if="!isCollapse">
|
|
|
</div>
|
|
|
<div class="hc-aside-menu-box">
|
|
|
<el-scrollbar>
|
|
@@ -72,9 +70,9 @@ import UserInfoBar from "./modules/UserInfoBar.vue"
|
|
|
import ConfigBar from "./modules/ConfigBar.vue"
|
|
|
import TopMenuBar from "./modules/TopMenuBar.vue"
|
|
|
import {initButtons, initProjectContract} from "~sto/app";
|
|
|
-import NameDark from "~src/assets/logo/name-dark.png";
|
|
|
-import NameWhite from "~src/assets/logo/name-white.png";
|
|
|
import website from '~src/config/index'
|
|
|
+import {setImageColor} from "js-fast-way";
|
|
|
+import {setAppName} from "~uti/tools";
|
|
|
|
|
|
//初始组合式
|
|
|
const router = useRouter()
|
|
@@ -87,6 +85,11 @@ const reloadRouter = ref(true)
|
|
|
const BarMenuKey = useRoutes?.name ?? 'home-index';
|
|
|
const BarMenuTitle = useRoutes?.meta?.title ?? '';
|
|
|
|
|
|
+//系统信息
|
|
|
+const appTitle = ref(useAppState.getTitle)
|
|
|
+const appLogoIcon = ref(useAppState.getLogoIcon)
|
|
|
+const appLogoName = ref(useAppState.getLogoName)
|
|
|
+
|
|
|
//主题和色调变量
|
|
|
const HomeTheme = ref(useAppState.getHomeTheme);
|
|
|
const AppColor = ref(useAppState.getColor);
|
|
@@ -119,6 +122,7 @@ onMounted(() => {
|
|
|
useAppState.barMenuName = BarMenuTitle
|
|
|
setIsCollapse(RoutesName.value)
|
|
|
setInitSocket()
|
|
|
+ setLogoImageColor()
|
|
|
})
|
|
|
|
|
|
//监听
|
|
@@ -126,14 +130,12 @@ watch(() => [
|
|
|
useAppState.getProjectContract,
|
|
|
useAppState.getMenus,
|
|
|
useAppState.getHomeTheme,
|
|
|
- useAppState.getColor,
|
|
|
useRoutes?.name,
|
|
|
useRoutes?.meta?.title,
|
|
|
useAppState.getCollapse,
|
|
|
-], ([projectContractArr, userMenus, theme, ColorVal, RouteName, RouteTitle, collapse]) => {
|
|
|
- MenuBarData.value = userMenus
|
|
|
+], ([projectContractArr, userMenus, theme, RouteName, RouteTitle, collapse]) => {
|
|
|
HomeTheme.value = theme
|
|
|
- AppColor.value = ColorVal
|
|
|
+ MenuBarData.value = userMenus
|
|
|
RoutesName.value = RouteName ?? 'home-index'
|
|
|
MenuBarKey.value = RouteName ?? 'home-index'
|
|
|
RoutesTitle.value = RouteTitle ?? ''
|
|
@@ -141,8 +143,29 @@ watch(() => [
|
|
|
setIsCollapse(RoutesName.value)
|
|
|
projectContractData(projectContractArr || []);
|
|
|
useAppState.barMenuName = RouteTitle ?? ''
|
|
|
+ setAppName(appTitle.value)
|
|
|
})
|
|
|
|
|
|
+//监听
|
|
|
+watch(() => [
|
|
|
+ useAppState.getTitle,
|
|
|
+ useAppState.getLogoIcon,
|
|
|
+ useAppState.getLogoName,
|
|
|
+ useAppState.getColor,
|
|
|
+], ([Title, LogoIcon, LogoName, ColorVal]) => {
|
|
|
+ appTitle.value = Title
|
|
|
+ appLogoIcon.value = LogoIcon
|
|
|
+ appLogoName.value = LogoName
|
|
|
+ AppColor.value = ColorVal
|
|
|
+ setLogoImageColor()
|
|
|
+})
|
|
|
+
|
|
|
+//设置Logo图片颜色
|
|
|
+const setLogoImageColor = () => {
|
|
|
+ const { result } = setImageColor(AppColor.value?.color);
|
|
|
+ document.getElementById('logo-icon').style = result.filter
|
|
|
+}
|
|
|
+
|
|
|
//设置折叠
|
|
|
const setIsCollapse = (key) => {
|
|
|
if (key === 'data-fill-wbs') {
|
|
@@ -241,19 +264,6 @@ const MenuBarChange = (item) => {
|
|
|
router.push({name: item?.code});
|
|
|
}
|
|
|
|
|
|
-// 获取assets静态资源
|
|
|
-const getAssetsHomeFile = (url) => {
|
|
|
- const path = `../assets/icon/${url}`;
|
|
|
- const modules = import.meta.globEager("../assets/icon/*");
|
|
|
- return modules[path].default;
|
|
|
-}
|
|
|
-
|
|
|
-const handleChange = () => {
|
|
|
- let file = document.getElementById("file").files[0]; // 获取input上传的图片数据;
|
|
|
- const url = window.URL.createObjectURL(file); // 得到bolb对象路径,可当成普通的文件路径一样使用,赋值给src;
|
|
|
- document.getElementById("imagebox").src = url;
|
|
|
-}
|
|
|
-
|
|
|
//首页
|
|
|
const logoClick = () => {
|
|
|
router.push({name: 'home-index'});
|