diff --git a/src/assets/images/chart/decorates/title_diamond2.png b/src/assets/images/chart/informations/title_diamond2.png similarity index 100% rename from src/assets/images/chart/decorates/title_diamond2.png rename to src/assets/images/chart/informations/title_diamond2.png diff --git a/src/assets/images/chart/decorates/title_main.png b/src/assets/images/chart/informations/title_main.png similarity index 100% rename from src/assets/images/chart/decorates/title_main.png rename to src/assets/images/chart/informations/title_main.png diff --git a/src/packages/components/Decorate/Mores/Number/index.ts b/src/packages/components/Decorate/Mores/Number/index.ts new file mode 100644 index 00000000..a46fefa2 --- /dev/null +++ b/src/packages/components/Decorate/Mores/Number/index.ts @@ -0,0 +1,12 @@ +import Number from './index.vue' +import image from '@/assets/images/chart/decorates/number.png' +import { ConfigType } from '@/packages/index.d' +import { ChatCategoryEnum } from '../../index.d' + +export const NumberConfig: ConfigType = { + key: 'Number', + title: '数字翻牌', + category: ChatCategoryEnum.MORE, + node: Number, + image +} diff --git a/src/packages/components/Decorate/Mores/Number/index.vue b/src/packages/components/Decorate/Mores/Number/index.vue new file mode 100644 index 00000000..797e2979 --- /dev/null +++ b/src/packages/components/Decorate/Mores/Number/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/packages/components/Decorate/Mores/Time/index.ts b/src/packages/components/Decorate/Mores/Time/index.ts new file mode 100644 index 00000000..d25efaa2 --- /dev/null +++ b/src/packages/components/Decorate/Mores/Time/index.ts @@ -0,0 +1,12 @@ +import Time from './index.vue' +import image from '@/assets/images/chart/decorates/time.png' +import { ConfigType } from '@/packages/index.d' +import { ChatCategoryEnum } from '../../index.d' + +export const TimeConfig: ConfigType = { + key: 'Time', + title: '时间', + category: ChatCategoryEnum.MORE, + node: Time, + image +} diff --git a/src/packages/components/Decorate/Mores/Time/index.vue b/src/packages/components/Decorate/Mores/Time/index.vue new file mode 100644 index 00000000..797e2979 --- /dev/null +++ b/src/packages/components/Decorate/Mores/Time/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/packages/components/Decorate/Mores/Weather/index.ts b/src/packages/components/Decorate/Mores/Weather/index.ts new file mode 100644 index 00000000..b446d297 --- /dev/null +++ b/src/packages/components/Decorate/Mores/Weather/index.ts @@ -0,0 +1,12 @@ +import Weather from './index.vue' +import image from '@/assets/images/chart/decorates/weather.png' +import { ConfigType } from '@/packages/index.d' +import { ChatCategoryEnum } from '../../index.d' + +export const WeatherConfig: ConfigType = { + key: 'Weather', + title: '天气', + category: ChatCategoryEnum.MORE, + node: Weather, + image +} diff --git a/src/packages/components/Decorate/Mores/Weather/index.vue b/src/packages/components/Decorate/Mores/Weather/index.vue new file mode 100644 index 00000000..797e2979 --- /dev/null +++ b/src/packages/components/Decorate/Mores/Weather/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/packages/components/Decorate/Mores/WeatherTime/index.ts b/src/packages/components/Decorate/Mores/WeatherTime/index.ts new file mode 100644 index 00000000..061df0c6 --- /dev/null +++ b/src/packages/components/Decorate/Mores/WeatherTime/index.ts @@ -0,0 +1,12 @@ +import WeatherTime from './index.vue' +import image from '@/assets/images/chart/decorates/weather_time.png' +import { ConfigType } from '@/packages/index.d' +import { ChatCategoryEnum } from '../../index.d' + +export const WeatherTimeConfig: ConfigType = { + key: 'WeatherTime', + title: '天气和时间', + category: ChatCategoryEnum.MORE, + node: WeatherTime, + image +} diff --git a/src/packages/components/Decorate/Mores/WeatherTime/index.vue b/src/packages/components/Decorate/Mores/WeatherTime/index.vue new file mode 100644 index 00000000..797e2979 --- /dev/null +++ b/src/packages/components/Decorate/Mores/WeatherTime/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/packages/components/Decorate/Mores/index.ts b/src/packages/components/Decorate/Mores/index.ts new file mode 100644 index 00000000..66f43bad --- /dev/null +++ b/src/packages/components/Decorate/Mores/index.ts @@ -0,0 +1,6 @@ +import { WeatherConfig } from './Weather/index' +import { TimeConfig } from './Time/index' +import { WeatherTimeConfig } from './WeatherTime/index' +import { NumberConfig } from './Number/index' + +export default [WeatherConfig, TimeConfig, WeatherTimeConfig, NumberConfig] diff --git a/src/packages/components/Decorate/borders/borderCommon/index.ts b/src/packages/components/Decorate/borders/borderCommon/index.ts index 43375c1f..37ab5a64 100644 --- a/src/packages/components/Decorate/borders/borderCommon/index.ts +++ b/src/packages/components/Decorate/borders/borderCommon/index.ts @@ -6,7 +6,7 @@ import { ChatCategoryEnum } from '../../index.d' export const BorderCommonConfig: ConfigType = { key: 'BorderCommon', title: '边框', - category: ChatCategoryEnum.Border, + category: ChatCategoryEnum.BORDER, node: BorderCommon, image } diff --git a/src/packages/components/Decorate/index.d.ts b/src/packages/components/Decorate/index.d.ts index a8c4eae1..e124df4a 100644 --- a/src/packages/components/Decorate/index.d.ts +++ b/src/packages/components/Decorate/index.d.ts @@ -1,5 +1,4 @@ export enum ChatCategoryEnum { - Border = '边框', - Title = '标题', - Else = '其它' + BORDER = '边框', + MORE = '更多' } \ No newline at end of file diff --git a/src/packages/components/Decorate/index.ts b/src/packages/components/Decorate/index.ts index fc2a3b89..88e0a2cb 100644 --- a/src/packages/components/Decorate/index.ts +++ b/src/packages/components/Decorate/index.ts @@ -1,3 +1,4 @@ import Borders from './Borders' +import Mores from './Mores' -export const DecorateList = [...Borders] +export const DecorateList = [...Borders, ...Mores] diff --git a/src/packages/components/Information/Mores/TextCloud/index.ts b/src/packages/components/Information/Mores/TextCloud/index.ts new file mode 100644 index 00000000..da00ca94 --- /dev/null +++ b/src/packages/components/Information/Mores/TextCloud/index.ts @@ -0,0 +1,12 @@ +import TextCloud from './index.vue' +import image from '@/assets/images/chart/informations/words_cloud.png' +import { ConfigType } from '@/packages/index.d' +import { ChatCategoryEnum } from '../../index.d' + +export const TextCloudConfig: ConfigType = { + key: 'TextCloud', + title: '词云', + category: ChatCategoryEnum.MORE, + node: TextCloud, + image +} diff --git a/src/packages/components/Information/Mores/TextCloud/index.vue b/src/packages/components/Information/Mores/TextCloud/index.vue new file mode 100644 index 00000000..a962fd67 --- /dev/null +++ b/src/packages/components/Information/Mores/TextCloud/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/packages/components/Information/Mores/index.ts b/src/packages/components/Information/Mores/index.ts new file mode 100644 index 00000000..752cdaca --- /dev/null +++ b/src/packages/components/Information/Mores/index.ts @@ -0,0 +1,3 @@ +import { TextCloudConfig } from './TextCloud/index' + +export default [TextCloudConfig] diff --git a/src/packages/components/Information/Titles/TitleBevelAngle/index.ts b/src/packages/components/Information/Titles/TitleBevelAngle/index.ts new file mode 100644 index 00000000..bc50127f --- /dev/null +++ b/src/packages/components/Information/Titles/TitleBevelAngle/index.ts @@ -0,0 +1,12 @@ +import TitleBevelAngle from './index.vue' +import image from '@/assets/images/chart/informations/title_diamond2.png' +import { ConfigType } from '@/packages/index.d' +import { ChatCategoryEnum } from '../../index.d' + +export const TitleBevelAngleConfig: ConfigType = { + key: 'TitleBevelAngle', + title: '斜角标题', + category: ChatCategoryEnum.TITLE, + node: TitleBevelAngle, + image +} diff --git a/src/packages/components/Information/Titles/TitleBevelAngle/index.vue b/src/packages/components/Information/Titles/TitleBevelAngle/index.vue new file mode 100644 index 00000000..bc3b4761 --- /dev/null +++ b/src/packages/components/Information/Titles/TitleBevelAngle/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/packages/components/Information/Titles/TitleCommon/index.ts b/src/packages/components/Information/Titles/TitleCommon/index.ts index 18b7fa18..0698bfe7 100644 --- a/src/packages/components/Information/Titles/TitleCommon/index.ts +++ b/src/packages/components/Information/Titles/TitleCommon/index.ts @@ -5,8 +5,8 @@ import { ChatCategoryEnum } from '../../index.d' export const TitleCommonConfig: ConfigType = { key: 'Text', - title: '标题', + title: '普通标题', category: ChatCategoryEnum.TITLE, node: TitleCommon, image -} +} \ No newline at end of file diff --git a/src/packages/components/Information/Titles/TitlePro/index.ts b/src/packages/components/Information/Titles/TitlePro/index.ts new file mode 100644 index 00000000..5708d8ee --- /dev/null +++ b/src/packages/components/Information/Titles/TitlePro/index.ts @@ -0,0 +1,12 @@ +import TitlePro from './index.vue' +import image from '@/assets/images/chart/informations/title_main.png' +import { ConfigType } from '@/packages/index.d' +import { ChatCategoryEnum } from '../../index.d' + +export const TitleProConfig: ConfigType = { + key: 'TitlePro', + title: '中心标题', + category: ChatCategoryEnum.TITLE, + node: TitlePro, + image +} diff --git a/src/packages/components/Information/Titles/TitlePro/index.vue b/src/packages/components/Information/Titles/TitlePro/index.vue new file mode 100644 index 00000000..bc3b4761 --- /dev/null +++ b/src/packages/components/Information/Titles/TitlePro/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/packages/components/Information/Titles/index.ts b/src/packages/components/Information/Titles/index.ts index 0e69df00..61c10a6f 100644 --- a/src/packages/components/Information/Titles/index.ts +++ b/src/packages/components/Information/Titles/index.ts @@ -1,3 +1,5 @@ import { TitleCommonConfig } from './TitleCommon/index' +import { TitleProConfig } from './TitlePro/index' +import { TitleBevelAngleConfig } from './TitleBevelAngle/index' -export default [TitleCommonConfig] +export default [TitleProConfig, TitleCommonConfig, TitleBevelAngleConfig] diff --git a/src/packages/components/Information/index.d.ts b/src/packages/components/Information/index.d.ts index 1bc0cb1a..75ae48f2 100644 --- a/src/packages/components/Information/index.d.ts +++ b/src/packages/components/Information/index.d.ts @@ -1,4 +1,5 @@ export enum ChatCategoryEnum { TEXT = '文本', - TITLE = '标题' + TITLE = '标题', + MORE = '更多' } \ No newline at end of file diff --git a/src/packages/components/Information/index.ts b/src/packages/components/Information/index.ts index f4f30d55..ad497005 100644 --- a/src/packages/components/Information/index.ts +++ b/src/packages/components/Information/index.ts @@ -1,4 +1,5 @@ import Texts from './Texts' import Titles from './Titles' +import Mores from './Mores' -export const InformationList = [...Texts, ...Titles] +export const InformationList = [...Texts, ...Titles, ...Mores] diff --git a/src/packages/index.d.ts b/src/packages/index.d.ts index bce4eee0..11148627 100644 --- a/src/packages/index.d.ts +++ b/src/packages/index.d.ts @@ -6,16 +6,22 @@ export type ConfigType = { title: string category: string node: Component - image: string | (() => Promise), + image: string | (() => Promise) [T: string]: unknown } - export enum PackagesCategoryEnum { CHARTS = 'CHARTS', TABLES = 'TABLES', INFORMATION = 'INFORMATION', - DECORATES = 'DECORATES' + DECORATES = 'DECORATES', +} + +export enum PackagesCategoryName { + CHARTS = '图表', + TABLES = '表格', + INFORMATION = '信息', + DECORATES = '小组件', } export type PackagesType = { @@ -23,4 +29,4 @@ export type PackagesType = { [PackagesCategoryEnum.INFORMATION]: ConfigType[] [PackagesCategoryEnum.TABLES]: ConfigType[] [PackagesCategoryEnum.DECORATES]: ConfigType[] -} \ No newline at end of file +} diff --git a/src/store/modules/chartLayoutStore/chartLayoutStore.d.ts b/src/store/modules/chartLayoutStore/chartLayoutStore.d.ts index 9f177749..fd9d5240 100644 --- a/src/store/modules/chartLayoutStore/chartLayoutStore.d.ts +++ b/src/store/modules/chartLayoutStore/chartLayoutStore.d.ts @@ -25,3 +25,11 @@ export interface ChartLayoutType { // 滤镜 filter: ChartLayoutFilterType } + +export enum ChartLayoutStoreEnums { + LAYERS = 'layers', + CHARTS = 'charts', + DETAILS = 'details', + ALIGNLINE = 'alignLine', + FILTER = 'filter', +} \ No newline at end of file diff --git a/src/views/chart/components/ContentCharts/hooks/asideHook.ts b/src/views/chart/components/ContentCharts/hooks/asideHook.ts index ba74ee26..0ac2e962 100644 --- a/src/views/chart/components/ContentCharts/hooks/asideHook.ts +++ b/src/views/chart/components/ContentCharts/hooks/asideHook.ts @@ -2,16 +2,17 @@ import { reactive, ref } from 'vue' import { icon } from '@/plugins' import { renderLang, renderIcon } from '@/utils' import { themeColor, setItem, getCharts } from './layoutHook' -import { PackagesCategoryEnum } from '@/packages/index.d' +import { PackagesCategoryEnum, PackagesCategoryName } from '@/packages/index.d' // 图表 import { usePackagesStore } from '@/store/modules/packagesStore/packagesStore' +import { ChartLayoutStoreEnums } from '@/store/modules/chartLayoutStore/chartLayoutStore.d' // 图标 const { BarChartIcon } = icon.ionicons5 const { TableSplitIcon, RoadmapIcon, SpellCheckIcon, - GraphicalDataFlowIcon + GraphicalDataFlowIcon, } = icon.carbon // 图表 @@ -23,20 +24,20 @@ const menuOptions = reactive<{ const packagesListObj = { [PackagesCategoryEnum.CHARTS]: { icon: renderIcon(RoadmapIcon), - label: renderLang('图表') + label: renderLang(PackagesCategoryName.CHARTS), }, [PackagesCategoryEnum.INFORMATION]: { icon: renderIcon(SpellCheckIcon), - label: renderLang('信息') + label: renderLang(PackagesCategoryName.INFORMATION), }, [PackagesCategoryEnum.TABLES]: { icon: renderIcon(TableSplitIcon), - label: renderLang('表格') + label: renderLang(PackagesCategoryName.TABLES), }, [PackagesCategoryEnum.DECORATES]: { icon: renderIcon(GraphicalDataFlowIcon), - label: renderLang('装饰') - } + label: renderLang(PackagesCategoryName.DECORATES), + }, } // 处理列表 @@ -49,7 +50,7 @@ const handlePackagesList = () => { // @ts-ignore label: packagesListObj[val].label, // @ts-ignore - list: getPackagesList[val] + list: getPackagesList[val], }) } } @@ -67,9 +68,9 @@ const clickItemHandle = (key: string, item: any) => { selectOptions.value = item // 处理折叠 if (beforeSelect === key) { - setItem('charts', !getCharts.value) + setItem(ChartLayoutStoreEnums.CHARTS, !getCharts.value) } else { - setItem('charts', true) + setItem(ChartLayoutStoreEnums.CHARTS, true) } beforeSelect = key } @@ -81,5 +82,5 @@ export { selectOptions, selectValue, clickItemHandle, - menuOptions + menuOptions, } diff --git a/src/views/chart/components/ContentLayers/index.vue b/src/views/chart/components/ContentLayers/index.vue index bce9aff1..78ba196c 100644 --- a/src/views/chart/components/ContentLayers/index.vue +++ b/src/views/chart/components/ContentLayers/index.vue @@ -17,12 +17,13 @@ diff --git a/src/views/chart/components/HeaderLeftBtn/index.vue b/src/views/chart/components/HeaderLeftBtn/index.vue index 3887a99d..8d23d88e 100644 --- a/src/views/chart/components/HeaderLeftBtn/index.vue +++ b/src/views/chart/components/HeaderLeftBtn/index.vue @@ -36,6 +36,7 @@ import { renderIcon, goDialog, goHome } from '@/utils' import { icon } from '@/plugins' const { LayersIcon, BarChartIcon, PrismIcon, HomeIcon } = icon.ionicons5 import { useChartLayoutStore } from '@/store/modules/chartLayoutStore/chartLayoutStore' +import { ChartLayoutStoreEnums } from '@/store/modules/chartLayoutStore/chartLayoutStore.d' const { setItem } = useChartLayoutStore() const { getLayers, getCharts, getDetails } = toRefs(useChartLayoutStore()) @@ -49,19 +50,19 @@ type ItemType = { const btnList = reactive([ { - key: 'charts', + key: ChartLayoutStoreEnums.CHARTS, select: getCharts, title: '图表组件', icon: renderIcon(BarChartIcon) }, { - key: 'layers', + key: ChartLayoutStoreEnums.LAYERS, select: getLayers, title: '图层控制', icon: renderIcon(LayersIcon) }, { - key: 'details', + key: ChartLayoutStoreEnums.DETAILS, select: getDetails, title: '详情设置', icon: renderIcon(PrismIcon)