diff --git a/src/views/Editor/Toolbar/ElementStylePanel/ChartStylePanel/index.vue b/src/views/Editor/Toolbar/ElementStylePanel/ChartStylePanel/index.vue index ce069cae..d0bd9103 100644 --- a/src/views/Editor/Toolbar/ElementStylePanel/ChartStylePanel/index.vue +++ b/src/views/Editor/Toolbar/ElementStylePanel/ChartStylePanel/index.vue @@ -96,12 +96,26 @@ -
-
- -
+ + + + + + + @@ -137,6 +151,21 @@ import ElementOutline from '../../common/ElementOutline.vue' import ColorButton from '../../common/ColorButton.vue' import ChartDataEditor from './ChartDataEditor.vue' +const presetChartThemes = [ + ['#d87c7c', '#919e8b', '#d7ab82', '#6e7074', '#61a0a8', '#efa18d'], + ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78'], + ['#516b91', '#59c4e6', '#edafda', '#93b7e3', '#a5e7f0', '#cbb0e3'], + ['#893448', '#d95850', '#eb8146', '#ffb248', '#f2d643', '#ebdba4'], + ['#4ea397', '#22c3aa', '#7bd9a5', '#d0648a', '#f58db2', '#f2b3c9'], + ['#3fb1e3', '#6be6c1', '#626c91', '#a0a7e6', '#c4ebad', '#96dee8'], + ['#fc97af', '#87f7cf', '#f7f494', '#72ccff', '#f7c5a0', '#d4a4eb'], + ['#c1232b', '#27727b', '#fcce10', '#e87c25', '#b5c334', '#fe8463'], + ['#2ec7c9', '#b6a2de', '#5ab1ef', '#ffb980', '#d87a80', '#8d98b3'], + ['#e01f54', '#001852', '#f5e8c8', '#b8d2c7', '#c6b38e', '#a4d8c2'], + ['#c12e34', '#e6b600', '#0098d9', '#2b821d', '#005eaa', '#339ca8'], + ['#8a7ca8', '#e098c7', '#8fd3e8', '#71669e', '#cc70af', '#7cb4cc'], +] + export default defineComponent({ name: 'chart-style-panel', components: { @@ -151,6 +180,7 @@ export default defineComponent({ const { theme } = storeToRefs(slidesStore) const chartDataEditorVisible = ref(false) + const presetThemesVisible = ref(false) const { addHistorySnapshot } = useHistorySnapshot() @@ -231,6 +261,12 @@ export default defineComponent({ updateElement(props) } + // 使用预置主题配色 + const applyPresetTheme = (colors: string[]) => { + updateElement({ themeColor: colors }) + presetThemesVisible.value = false + } + // 删除主题色 const deleteThemeColor = (index: number) => { const props = { @@ -258,6 +294,7 @@ export default defineComponent({ return { chartDataEditorVisible, + presetThemesVisible, handleElement, updateData, fill, @@ -276,6 +313,8 @@ export default defineComponent({ deleteThemeColor, updateGridColor, updateLegend, + presetChartThemes, + applyPresetTheme, } }, }) @@ -294,10 +333,6 @@ export default defineComponent({ .btn-icon { margin-right: 3px; } - -.add-color-btn { - padding: 0 !important; -} .color-btn-wrap { position: relative; } @@ -313,4 +348,21 @@ export default defineComponent({ background-color: #fff; cursor: pointer; } +.preset-themes { + width: 250px; + display: flex; + margin-bottom: -10px; + + @include flex-grid-layout(); +} +.preset-theme { + display: flex; + cursor: pointer; + + @include flex-grid-layout-children(2, 48%); +} +.preset-theme-color { + width: 20px; + height: 20px; +} \ No newline at end of file