diff --git a/CHANGELOG.md b/CHANGELOG.md index a8ac492e..cb19a4a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,25 @@ +# 2.4.0 (2023/6/17) + +### ✨ feat +- 新增组件标签输入框(author by [april-tong](https://april-tong.com/)) +- 新增组件签名(author by [april-tong](https://april-tong.com/)) +- 新增组件表格(author by [april-tong](https://april-tong.com/)) +- Echarts 图表添加下载功能 author by [april-tong](https://april-tong.com/)) + +### 🔄 refactor +- 限制包管理器为 pnpm 和 node 版本16+ +- 自定义组件自动导入配置 +- 搜索框样式写法优化 + +### 🐛 fix +- 用户导入的部门回显成数字问题修复 + +### ⬆️ chore +- element-plus 版本升级 2.3.5 → 2.3.6 + # 2.3.1 (2023/5/21) -### ✂️ refactor +### 🔄 refactor - 组件示例文件名称优化 # 2.2.2 (2023/5/11) @@ -16,7 +35,7 @@ - vue 版本升级 3.2.45 → 3.3.1 ([CHANGELOG](https://github.com/vuejs/core/blob/main/CHANGELOG.md)) - vite 版本升级 4.3.1 → 4.3.5 -### ✂️ refactor +### 🔄 refactor - 使用 vue 3.3 版本新特性 `defineOptions` 在 `setup` 定义组件名称,移除重复的 `script` 标签 # 2.2.2 (2023/5/11) diff --git a/package.json b/package.json index 3ba47d45..246cdf28 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vue3-element-admin", "private": true, - "version": "2.3.1", + "version": "2.4.0", "type": "module", "scripts": { "preinstall": "npx only-allow pnpm", diff --git a/src/styles/index.scss b/src/styles/index.scss index 655cc381..cccbd99f 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -3,14 +3,14 @@ @import "./dark"; .app-container { - margin: 20px; - - .search { - padding: 18px 0 0 10px; - margin-bottom: 10px; - background-color: var(--el-bg-color-overlay); - border: 1px solid var(--el-border-color-light); - border-radius: 4px; - box-shadow: var(--el-box-shadow-light); - } + padding: 10px; +} + +.search-container { + padding: 18px 0 0 10px; + margin-bottom: 10px; + background-color: var(--el-bg-color-overlay); + border: 1px solid var(--el-border-color-light); + border-radius: 4px; + box-shadow: var(--el-box-shadow-light); } diff --git a/src/types/components.d.ts b/src/types/components.d.ts index 80c373a7..a9bed336 100644 --- a/src/types/components.d.ts +++ b/src/types/components.d.ts @@ -9,6 +9,8 @@ export {}; declare module "@vue/runtime-core" { export interface GlobalComponents { + AppMain: typeof import("./../layout/components/AppMain.vue")["default"]; + BarChart: typeof import("./../views/dashboard/components/BarChart.vue")["default"]; Breadcrumb: typeof import("./../components/Breadcrumb/index.vue")["default"]; ElAlert: typeof import("element-plus/es")["ElAlert"]; ElBreadcrumb: typeof import("element-plus/es")["ElBreadcrumb"]; @@ -46,9 +48,11 @@ declare module "@vue/runtime-core" { ElTree: typeof import("element-plus/es")["ElTree"]; ElTreeSelect: typeof import("element-plus/es")["ElTreeSelect"]; ElUpload: typeof import("element-plus/es")["ElUpload"]; + FunnelChart: typeof import("./../views/dashboard/components/FunnelChart.vue")["default"]; GithubCorner: typeof import("./../components/GithubCorner/index.vue")["default"]; Hamburger: typeof import("./../components/Hamburger/index.vue")["default"]; IconSelect: typeof import("./../components/IconSelect/index.vue")["default"]; + IEpArrowDown: typeof import("~icons/ep/arrow-down")["default"]; IEpCaretBottom: typeof import("~icons/ep/caret-bottom")["default"]; IEpCaretTop: typeof import("~icons/ep/caret-top")["default"]; IEpClose: typeof import("~icons/ep/close")["default"]; @@ -62,18 +66,30 @@ declare module "@vue/runtime-core" { IEpRefreshLeft: typeof import("~icons/ep/refresh-left")["default"]; IEpSearch: typeof import("~icons/ep/search")["default"]; IEpSetting: typeof import("~icons/ep/setting")["default"]; + IEpSortDown: typeof import("~icons/ep/sort-down")["default"]; + IEpSortUp: typeof import("~icons/ep/sort-up")["default"]; IEpTop: typeof import("~icons/ep/top")["default"]; IEpUploadFilled: typeof import("~icons/ep/upload-filled")["default"]; LangSelect: typeof import("./../components/LangSelect/index.vue")["default"]; + Link: typeof import("./../layout/components/Sidebar/Link.vue")["default"]; + Logo: typeof import("./../layout/components/Sidebar/Logo.vue")["default"]; MultiUpload: typeof import("./../components/Upload/MultiUpload.vue")["default"]; + Navbar: typeof import("./../layout/components/Navbar.vue")["default"]; Pagination: typeof import("./../components/Pagination/index.vue")["default"]; + PieChart: typeof import("./../views/dashboard/components/PieChart.vue")["default"]; + RadarChart: typeof import("./../views/dashboard/components/RadarChart.vue")["default"]; RightPanel: typeof import("./../components/RightPanel/index.vue")["default"]; RouterLink: typeof import("vue-router")["RouterLink"]; RouterView: typeof import("vue-router")["RouterView"]; + ScrollPane: typeof import("./../layout/components/TagsView/ScrollPane.vue")["default"]; + Settings: typeof import("./../layout/components/Settings/index.vue")["default"]; + Sidebar: typeof import("./../layout/components/Sidebar/index.vue")["default"]; + SidebarItem: typeof import("./../layout/components/Sidebar/SidebarItem.vue")["default"]; SingleUpload: typeof import("./../components/Upload/SingleUpload.vue")["default"]; SizeSelect: typeof import("./../components/SizeSelect/index.vue")["default"]; SvgIcon: typeof import("./../components/SvgIcon/index.vue")["default"]; TagInput: typeof import("./../components/TagInput/index.vue")["default"]; + TagsView: typeof import("./../layout/components/TagsView/index.vue")["default"]; WangEditor: typeof import("./../components/WangEditor/index.vue")["default"]; } export interface ComponentCustomProperties { diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 7e1d7d73..546f0ee1 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -8,12 +8,6 @@ defineOptions({ import { useUserStore } from "@/store/modules/user"; import { useTransition, TransitionPresets } from "@vueuse/core"; -import GithubCorner from "@/components/GithubCorner/index.vue"; -import SvgIcon from "@/components/SvgIcon/index.vue"; -import BarChart from "./components/BarChart.vue"; -import PieChart from "./components/PieChart.vue"; -import RadarChart from "./components/RadarChart.vue"; - const userStore = useUserStore(); const date: Date = new Date(); @@ -90,26 +84,26 @@ orderCount.value = 2000; {{ greetings }} -
+
官方0到1教程💥官方从零到一文档 Gitee源码Gitee GitHub源码 + href="https://github.com/youlaitech" + >GitHub
@@ -160,7 +154,7 @@ orderCount.value = 2000;
收入金额
-
+
{{ Math.round(amountOutput) }}
diff --git a/src/views/demo/api-doc.vue b/src/views/demo/api-doc.vue index acd7fd76..d9071833 100644 --- a/src/views/demo/api-doc.vue +++ b/src/views/demo/api-doc.vue @@ -14,6 +14,14 @@ .app-container { display: flex; flex-direction: column; - height: calc(100vh - 124px); + + /* 84 = navbar + tags-view = 50 + 34 */ + height: calc(100vh - 50px); +} + +.hasTagsView { + .app-container { + height: calc(100vh - 84px); + } } diff --git a/src/views/demo/websocket.vue b/src/views/demo/websocket.vue index fae813d0..72f72074 100644 --- a/src/views/demo/websocket.vue +++ b/src/views/demo/websocket.vue @@ -86,7 +86,7 @@ onMounted(() => {}); >
-