From 4c28df16029e740ac1fcad852cb19008a9f48118 Mon Sep 17 00:00:00 2001 From: MTrun <1262327911@qq.com> Date: Sat, 9 Apr 2022 23:55:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BE=A7=E8=BE=B9?= =?UTF-8?q?=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 3 + src/components/GoUserInfo/index.ts | 3 + .../{UserInfo => GoUserInfo}/index.vue | 0 .../{UserInfo => GoUserInfo}/person.png | Bin src/components/UserInfo/index.ts | 3 - .../components/LayoutHeaderPro/index.vue | 4 +- src/plugins/icon.ts | 11 +- src/styles/common/_dark.scss | 1 + src/styles/common/_light.scss | 3 +- src/styles/common/var.scss | 2 - src/views/chart/ContentBox/index.vue | 5 + .../components/EditTools/index.vue | 170 ++++++++++++++++-- .../components/EditTools/utils/index.ts | 47 +++++ src/views/chart/HeaderRightBtn/index.vue | 50 +----- 14 files changed, 224 insertions(+), 78 deletions(-) create mode 100644 src/components/GoUserInfo/index.ts rename src/components/{UserInfo => GoUserInfo}/index.vue (100%) rename src/components/{UserInfo => GoUserInfo}/person.png (100%) delete mode 100644 src/components/UserInfo/index.ts create mode 100644 src/views/chart/ContentEdit/components/EditTools/utils/index.ts diff --git a/index.html b/index.html index 09b596fb..94791cb2 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,9 @@ + + + diff --git a/src/plugins/icon.ts b/src/plugins/icon.ts index 0f5debbb..fac68f4d 100644 --- a/src/plugins/icon.ts +++ b/src/plugins/icon.ts @@ -10,7 +10,7 @@ import { DesktopOutline as DesktopOutlineIcon, Download as DownloadIcon, DownloadOutline as DownloadOutlineIcon, - Open as OpenIcon, + Share as ShareIcon, Send as SendIcon, InformationCircleOutline as InformationCircleIcon, Grid as GridIcon, @@ -50,7 +50,8 @@ import { Leaf as LeafIcon, ColorWand as ColorWandIcon, ArrowBack as ArrowBackIcon, - ArrowForward as ArrowForwardIcon + ArrowForward as ArrowForwardIcon, + Planet as PawIcon } from '@vicons/ionicons5' import { @@ -125,7 +126,7 @@ const ionicons5 = { DownloadIcon, DownloadOutlineIcon, // 导出 - OpenIcon, + ShareIcon, // 导出 SendIcon, // 信息 @@ -180,7 +181,9 @@ const ionicons5 = { // 撤回 ArrowBackIcon, // 前进 - ArrowForwardIcon + ArrowForwardIcon, + // 狗爪 + PawIcon } const carbon = { diff --git a/src/styles/common/_dark.scss b/src/styles/common/_dark.scss index 64b8b531..1c9ee925 100644 --- a/src/styles/common/_dark.scss +++ b/src/styles/common/_dark.scss @@ -29,6 +29,7 @@ $dark: ( ), // hover 边框颜色 hover-border-color: $--color-dark-bg-5, + hover-border-color-shallow: $--color-dark-bg-3, // 阴影 box-shadow: 0 8px 10px #1e1e1e1f diff --git a/src/styles/common/_light.scss b/src/styles/common/_light.scss index cf6dc90c..4e919699 100644 --- a/src/styles/common/_light.scss +++ b/src/styles/common/_light.scss @@ -31,6 +31,7 @@ $light: ( ), // hover 边框颜色 hover-border-color: $--color-light-bg-4, - // 阴影 + hover-border-color-shallow: $--color-light-bg-3, + // 阴影 box-shadow: 0 8px 10px #00000012 ); diff --git a/src/styles/common/var.scss b/src/styles/common/var.scss index aacaf814..c393e4b9 100644 --- a/src/styles/common/var.scss +++ b/src/styles/common/var.scss @@ -25,7 +25,6 @@ $--color-light-bg-4: #e3e3e4; $--color-light-bg-4-shallow: lighten($--color-light-bg-4, $--light-shalow); $--color-light-bg-5: #bebebe; $--color-light-bg-5-shallow: lighten($--color-light-bg-5, $--light-shalow); -$--color-light-border: #efeff5; // 变暗值 $--dark-shalow: 2%; @@ -42,7 +41,6 @@ $--color-dark-bg-4: #313132; $--color-dark-bg-4-shallow: darken($--color-dark-bg-4, $--dark-shalow); $--color-dark-bg-5: #373739; $--color-dark-bg-5-shallow: darken($--color-dark-bg-5, $--dark-shalow); -$--color-dark-border: #333335; // 最大宽度 $--max-width: 1920px; diff --git a/src/views/chart/ContentBox/index.vue b/src/views/chart/ContentBox/index.vue index 7b83d931..a3593228 100644 --- a/src/views/chart/ContentBox/index.vue +++ b/src/views/chart/ContentBox/index.vue @@ -151,11 +151,16 @@ $topOrBottomHeight: 40px; border-bottom: 1px solid; @include filter-border-color('background-color1'); } + .content { height: calc(100vh - #{$--header-height}); overflow: hidden; } + .aside { + position: relative; + } + .content-height-show-top-bottom { height: calc(100vh - #{$--header-height} - #{$topOrBottomHeight}); } diff --git a/src/views/chart/ContentEdit/components/EditTools/index.vue b/src/views/chart/ContentEdit/components/EditTools/index.vue index ed3273c0..0b33dea0 100644 --- a/src/views/chart/ContentEdit/components/EditTools/index.vue +++ b/src/views/chart/ContentEdit/components/EditTools/index.vue @@ -1,38 +1,172 @@ diff --git a/src/views/chart/ContentEdit/components/EditTools/utils/index.ts b/src/views/chart/ContentEdit/components/EditTools/utils/index.ts new file mode 100644 index 00000000..a73c9c9c --- /dev/null +++ b/src/views/chart/ContentEdit/components/EditTools/utils/index.ts @@ -0,0 +1,47 @@ +import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' +import { canvasCut, downloadTextFile } from '@/utils' +const chartEditStore = useChartEditStore() + +// 导入 +export const importHandle = () => { } + +// 导出 +export const exportHandle = () => { + // 导出数据 + downloadTextFile(JSON.stringify(chartEditStore.getStorageInfo || []), undefined, 'json') + + // 导出图片 + const ruler = document.getElementById('mb-ruler') + const range = document.querySelector('.go-edit-range') as HTMLElement + const watermark = document.getElementById('go-edit-watermark') + // 隐藏边距线 + if (!ruler || !range || !watermark) { + window['$message'].error('导出失败!') + return + } + // 记录缩放比例 + const scaleTemp = chartEditStore.getEditCanvas.scale + // 去除标尺Dom + ruler.style.display = 'none' + // 百分百展示页面 + chartEditStore.setScale(1, true) + // 展示水印 + watermark.style.display = 'block' + + window['$message'].warning('生成截图和数据中, 请耐心等待...') + setTimeout(() => { + canvasCut(range, () => { + // 隐藏水印 + if (watermark) watermark.style.display = 'none' + // 放开边距线 + if (ruler) ruler.style.display = 'block' + // 还原页面大小 + chartEditStore.setScale(scaleTemp, true) + }) + }, 600) +} + +// 改变工具栏展示样式 +export const changeTypeHandle = () => { + +} \ No newline at end of file diff --git a/src/views/chart/HeaderRightBtn/index.vue b/src/views/chart/HeaderRightBtn/index.vue index db13dd65..463508d6 100644 --- a/src/views/chart/HeaderRightBtn/index.vue +++ b/src/views/chart/HeaderRightBtn/index.vue @@ -1,6 +1,6 @@