fix: 修改全局颜色配置的问题

This commit is contained in:
MTrun 2022-03-12 15:25:26 +08:00
parent 4d54a3029b
commit ddc005ec10
6 changed files with 44 additions and 8 deletions

View File

@ -15,7 +15,6 @@
<script lang="ts" setup>
import { zhCN, dateZhCN, NConfigProvider } from 'naive-ui'
import { AppProvider } from '@/components/AppProvider'
import { useDesignStore } from '@/store/modules/designStore/designStore'
import { I18n } from '@/components/I18n'
import { getDarkThemeHook, getThemeOverridesHook } from '@/hooks'

View File

@ -1,32 +1,40 @@
import { computed } from 'vue'
import { computed, toRefs } from 'vue'
import { darkTheme, GlobalThemeOverrides } from 'naive-ui'
import { useDesignStore } from '@/store/modules/designStore/designStore'
import { borderRadius } from '@/settings/designSetting'
import { toLight } from '@/utils'
/**
*
*/
export const getThemeOverridesHook = () => {
const designStore = useDesignStore()
const { getAppTheme } = toRefs(designStore)
const getDarkTheme = computed(
(): GlobalThemeOverrides => {
// 通用
const commonObj = {
common: {
borderRadius
}
}
// 亮色主题
const lightObject = {
common: {
...commonObj.common
}
}
// 暗色主题
const dartObject = {
common: {
primaryColor: designStore.getAppTheme,
primaryColor: getAppTheme.value,
primaryColorHover: toLight(getAppTheme.value, 6),
primaryColorPressed: toLight(getAppTheme.value, 6),
primaryColorSuppl: getAppTheme.value,
...commonObj.common
},
LoadingBar: {
colorLoading: designStore.getAppTheme
colorLoading: getAppTheme.value
}
}
return designStore.getDarkTheme ? dartObject : lightObject

View File

@ -1,3 +1,5 @@
// * 外部路径地址
// 项目文档地址
export const docPath = "http://www.mtruning.club:81/"

View File

@ -3,7 +3,7 @@ import { useDesignStore } from '@/store/modules/designStore/designStore'
/**
* *
* @param themeName
* @returns
* @returns
*/
export const setHtmlTheme = (themeName?: string) => {
const e = window.document.documentElement
@ -14,3 +14,30 @@ export const setHtmlTheme = (themeName?: string) => {
const designStore = useDesignStore()
e.setAttribute('data-theme', designStore.themeName)
}
/**
* * RG或B相加
* @param {string} color
* @param {number} amount
* @returns {string} color
*/
const addLight = (color: string, amount: number): string => {
const cc = parseInt(color, 16) + amount
const c = cc > 255 ? 255 : cc
return c.toString(16).length > 1 ? c.toString(16) : `0${c.toString(16)}`
}
/**
* * 6
* @param {string} color
* @param {number} amount
* @returns {string} color
*/
export const toLight = (color: string, amount: number): string => {
color = color.indexOf('#') >= 0 ? color.substring(1, color.length) : color
amount = Math.trunc((255 * amount) / 100)
return `#${addLight(color.substring(0, 2), amount)}${addLight(
color.substring(2, 4),
amount
)}${addLight(color.substring(4, 6), amount)}`
}

View File

@ -64,9 +64,9 @@ const btnList = reactive<ItemType[]>([
// store ContentConfigurations collapsed
const styleHandle = (item: ItemType) => {
if (item.key === ChartLayoutStoreEnum.DETAILS) {
return item.select ? '' : 'success'
return item.select ? '' : 'primary'
}
return item.select ? 'success' : ''
return item.select ? 'primary' : ''
}
const clickHandle = (item: ItemType) => {

View File

@ -39,7 +39,7 @@ const fetchProhectInfoById = () => {
const { id } = routeParamsRes
if (id.length) {
// todo
return '编辑项目' + id[0]
return id[0]
}
return ''