From b12ae2b68ca4341dc25d6b2c8de4b641b8f4e886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=89=E6=9D=A5=E6=8A=80=E6=9C=AF?= <1490493387@qq.com> Date: Wed, 15 Dec 2021 23:46:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=BC=95=E5=85=A5TreeSelect=E5=92=8CIconS?= =?UTF-8?q?elect=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/{ => svg}/404.svg | 0 src/assets/icons/{ => svg}/await.svg | 0 src/assets/icons/{ => svg}/bug.svg | 0 src/assets/icons/{ => svg}/build.svg | 0 src/assets/icons/{ => svg}/button.svg | 0 src/assets/icons/{ => svg}/cascader.svg | 0 src/assets/icons/{ => svg}/chart.svg | 0 src/assets/icons/{ => svg}/checkbox.svg | 0 src/assets/icons/{ => svg}/clipboard.svg | 0 src/assets/icons/{ => svg}/code.svg | 0 src/assets/icons/{ => svg}/color.svg | 0 src/assets/icons/{ => svg}/component.svg | 0 src/assets/icons/{ => svg}/dashboard.svg | 0 src/assets/icons/{ => svg}/date-range.svg | 0 src/assets/icons/{ => svg}/date.svg | 0 src/assets/icons/{ => svg}/dict.svg | 0 src/assets/icons/{ => svg}/documentation.svg | 0 src/assets/icons/{ => svg}/download.svg | 0 src/assets/icons/{ => svg}/drag.svg | 0 src/assets/icons/{ => svg}/druid.svg | 0 src/assets/icons/{ => svg}/edit.svg | 0 src/assets/icons/{ => svg}/education.svg | 0 src/assets/icons/{ => svg}/email.svg | 0 src/assets/icons/{ => svg}/example.svg | 0 src/assets/icons/{ => svg}/excel.svg | 0 .../icons/{ => svg}/exit-fullscreen.svg | 0 src/assets/icons/{ => svg}/eye-open.svg | 0 src/assets/icons/{ => svg}/eye.svg | 0 src/assets/icons/{ => svg}/form.svg | 0 src/assets/icons/{ => svg}/fullscreen.svg | 0 src/assets/icons/{ => svg}/github.svg | 0 src/assets/icons/{ => svg}/guide.svg | 0 src/assets/icons/{ => svg}/icon.svg | 0 src/assets/icons/{ => svg}/input.svg | 0 src/assets/icons/{ => svg}/international.svg | 0 src/assets/icons/{ => svg}/ip.svg | 0 src/assets/icons/{ => svg}/job.svg | 0 src/assets/icons/{ => svg}/language.svg | 0 src/assets/icons/{ => svg}/link.svg | 0 src/assets/icons/{ => svg}/list.svg | 0 src/assets/icons/{ => svg}/lock.svg | 0 src/assets/icons/{ => svg}/log.svg | 0 src/assets/icons/{ => svg}/logininfor.svg | 0 src/assets/icons/{ => svg}/menu.svg | 0 src/assets/icons/{ => svg}/message.svg | 0 src/assets/icons/{ => svg}/money.svg | 0 src/assets/icons/{ => svg}/monitor.svg | 0 src/assets/icons/{ => svg}/nested.svg | 0 src/assets/icons/{ => svg}/nodata.svg | 0 src/assets/icons/{ => svg}/number.svg | 0 src/assets/icons/{ => svg}/offline.svg | 0 src/assets/icons/{ => svg}/online.svg | 0 src/assets/icons/{ => svg}/password.svg | 0 src/assets/icons/{ => svg}/pdf.svg | 0 src/assets/icons/{ => svg}/people.svg | 0 src/assets/icons/{ => svg}/peoples.svg | 0 src/assets/icons/{ => svg}/perm.svg | 0 src/assets/icons/{ => svg}/phone.svg | 0 src/assets/icons/{ => svg}/post.svg | 0 src/assets/icons/{ => svg}/qq.svg | 0 src/assets/icons/{ => svg}/question.svg | 0 src/assets/icons/{ => svg}/radio.svg | 0 src/assets/icons/{ => svg}/rate.svg | 0 src/assets/icons/{ => svg}/redis.svg | 0 src/assets/icons/{ => svg}/route.svg | 0 src/assets/icons/{ => svg}/row.svg | 0 src/assets/icons/{ => svg}/search.svg | 0 src/assets/icons/{ => svg}/select.svg | 0 src/assets/icons/{ => svg}/server.svg | 0 src/assets/icons/{ => svg}/shopping.svg | 0 src/assets/icons/{ => svg}/size.svg | 0 src/assets/icons/{ => svg}/skill.svg | 0 src/assets/icons/{ => svg}/slider.svg | 0 src/assets/icons/{ => svg}/star.svg | 0 src/assets/icons/{ => svg}/swagger.svg | 0 src/assets/icons/{ => svg}/switch.svg | 0 src/assets/icons/{ => svg}/system.svg | 0 src/assets/icons/{ => svg}/tab.svg | 0 src/assets/icons/{ => svg}/table.svg | 0 src/assets/icons/{ => svg}/textarea.svg | 0 src/assets/icons/{ => svg}/theme.svg | 0 src/assets/icons/{ => svg}/time-range.svg | 0 src/assets/icons/{ => svg}/time.svg | 0 src/assets/icons/{ => svg}/tool.svg | 0 src/assets/icons/{ => svg}/tree-table.svg | 0 src/assets/icons/{ => svg}/tree.svg | 0 src/assets/icons/{ => svg}/upload.svg | 0 src/assets/icons/{ => svg}/user.svg | 0 src/assets/icons/{ => svg}/validCode.svg | 0 src/assets/icons/{ => svg}/wechat.svg | 0 src/assets/icons/{ => svg}/zip.svg | 0 src/components/IconSelect/index.vue | 83 +++++ src/components/TreeSelect/index.vue | 304 ++++++++---------- src/views/system/menu/components/Menu.vue | 60 +++- vite.config.ts | 3 +- 95 files changed, 264 insertions(+), 186 deletions(-) rename src/assets/icons/{ => svg}/404.svg (100%) rename src/assets/icons/{ => svg}/await.svg (100%) rename src/assets/icons/{ => svg}/bug.svg (100%) rename src/assets/icons/{ => svg}/build.svg (100%) rename src/assets/icons/{ => svg}/button.svg (100%) rename src/assets/icons/{ => svg}/cascader.svg (100%) rename src/assets/icons/{ => svg}/chart.svg (100%) rename src/assets/icons/{ => svg}/checkbox.svg (100%) rename src/assets/icons/{ => svg}/clipboard.svg (100%) rename src/assets/icons/{ => svg}/code.svg (100%) rename src/assets/icons/{ => svg}/color.svg (100%) rename src/assets/icons/{ => svg}/component.svg (100%) rename src/assets/icons/{ => svg}/dashboard.svg (100%) rename src/assets/icons/{ => svg}/date-range.svg (100%) rename src/assets/icons/{ => svg}/date.svg (100%) rename src/assets/icons/{ => svg}/dict.svg (100%) rename src/assets/icons/{ => svg}/documentation.svg (100%) rename src/assets/icons/{ => svg}/download.svg (100%) rename src/assets/icons/{ => svg}/drag.svg (100%) rename src/assets/icons/{ => svg}/druid.svg (100%) rename src/assets/icons/{ => svg}/edit.svg (100%) rename src/assets/icons/{ => svg}/education.svg (100%) rename src/assets/icons/{ => svg}/email.svg (100%) rename src/assets/icons/{ => svg}/example.svg (100%) rename src/assets/icons/{ => svg}/excel.svg (100%) rename src/assets/icons/{ => svg}/exit-fullscreen.svg (100%) rename src/assets/icons/{ => svg}/eye-open.svg (100%) rename src/assets/icons/{ => svg}/eye.svg (100%) rename src/assets/icons/{ => svg}/form.svg (100%) rename src/assets/icons/{ => svg}/fullscreen.svg (100%) rename src/assets/icons/{ => svg}/github.svg (100%) rename src/assets/icons/{ => svg}/guide.svg (100%) rename src/assets/icons/{ => svg}/icon.svg (100%) rename src/assets/icons/{ => svg}/input.svg (100%) rename src/assets/icons/{ => svg}/international.svg (100%) rename src/assets/icons/{ => svg}/ip.svg (100%) rename src/assets/icons/{ => svg}/job.svg (100%) rename src/assets/icons/{ => svg}/language.svg (100%) rename src/assets/icons/{ => svg}/link.svg (100%) rename src/assets/icons/{ => svg}/list.svg (100%) rename src/assets/icons/{ => svg}/lock.svg (100%) rename src/assets/icons/{ => svg}/log.svg (100%) rename src/assets/icons/{ => svg}/logininfor.svg (100%) rename src/assets/icons/{ => svg}/menu.svg (100%) rename src/assets/icons/{ => svg}/message.svg (100%) rename src/assets/icons/{ => svg}/money.svg (100%) rename src/assets/icons/{ => svg}/monitor.svg (100%) rename src/assets/icons/{ => svg}/nested.svg (100%) rename src/assets/icons/{ => svg}/nodata.svg (100%) rename src/assets/icons/{ => svg}/number.svg (100%) rename src/assets/icons/{ => svg}/offline.svg (100%) rename src/assets/icons/{ => svg}/online.svg (100%) rename src/assets/icons/{ => svg}/password.svg (100%) rename src/assets/icons/{ => svg}/pdf.svg (100%) rename src/assets/icons/{ => svg}/people.svg (100%) rename src/assets/icons/{ => svg}/peoples.svg (100%) rename src/assets/icons/{ => svg}/perm.svg (100%) rename src/assets/icons/{ => svg}/phone.svg (100%) rename src/assets/icons/{ => svg}/post.svg (100%) rename src/assets/icons/{ => svg}/qq.svg (100%) rename src/assets/icons/{ => svg}/question.svg (100%) rename src/assets/icons/{ => svg}/radio.svg (100%) rename src/assets/icons/{ => svg}/rate.svg (100%) rename src/assets/icons/{ => svg}/redis.svg (100%) rename src/assets/icons/{ => svg}/route.svg (100%) rename src/assets/icons/{ => svg}/row.svg (100%) rename src/assets/icons/{ => svg}/search.svg (100%) rename src/assets/icons/{ => svg}/select.svg (100%) rename src/assets/icons/{ => svg}/server.svg (100%) rename src/assets/icons/{ => svg}/shopping.svg (100%) rename src/assets/icons/{ => svg}/size.svg (100%) rename src/assets/icons/{ => svg}/skill.svg (100%) rename src/assets/icons/{ => svg}/slider.svg (100%) rename src/assets/icons/{ => svg}/star.svg (100%) rename src/assets/icons/{ => svg}/swagger.svg (100%) rename src/assets/icons/{ => svg}/switch.svg (100%) rename src/assets/icons/{ => svg}/system.svg (100%) rename src/assets/icons/{ => svg}/tab.svg (100%) rename src/assets/icons/{ => svg}/table.svg (100%) rename src/assets/icons/{ => svg}/textarea.svg (100%) rename src/assets/icons/{ => svg}/theme.svg (100%) rename src/assets/icons/{ => svg}/time-range.svg (100%) rename src/assets/icons/{ => svg}/time.svg (100%) rename src/assets/icons/{ => svg}/tool.svg (100%) rename src/assets/icons/{ => svg}/tree-table.svg (100%) rename src/assets/icons/{ => svg}/tree.svg (100%) rename src/assets/icons/{ => svg}/upload.svg (100%) rename src/assets/icons/{ => svg}/user.svg (100%) rename src/assets/icons/{ => svg}/validCode.svg (100%) rename src/assets/icons/{ => svg}/wechat.svg (100%) rename src/assets/icons/{ => svg}/zip.svg (100%) create mode 100644 src/components/IconSelect/index.vue diff --git a/src/assets/icons/404.svg b/src/assets/icons/svg/404.svg similarity index 100% rename from src/assets/icons/404.svg rename to src/assets/icons/svg/404.svg diff --git a/src/assets/icons/await.svg b/src/assets/icons/svg/await.svg similarity index 100% rename from src/assets/icons/await.svg rename to src/assets/icons/svg/await.svg diff --git a/src/assets/icons/bug.svg b/src/assets/icons/svg/bug.svg similarity index 100% rename from src/assets/icons/bug.svg rename to src/assets/icons/svg/bug.svg diff --git a/src/assets/icons/build.svg b/src/assets/icons/svg/build.svg similarity index 100% rename from src/assets/icons/build.svg rename to src/assets/icons/svg/build.svg diff --git a/src/assets/icons/button.svg b/src/assets/icons/svg/button.svg similarity index 100% rename from src/assets/icons/button.svg rename to src/assets/icons/svg/button.svg diff --git a/src/assets/icons/cascader.svg b/src/assets/icons/svg/cascader.svg similarity index 100% rename from src/assets/icons/cascader.svg rename to src/assets/icons/svg/cascader.svg diff --git a/src/assets/icons/chart.svg b/src/assets/icons/svg/chart.svg similarity index 100% rename from src/assets/icons/chart.svg rename to src/assets/icons/svg/chart.svg diff --git a/src/assets/icons/checkbox.svg b/src/assets/icons/svg/checkbox.svg similarity index 100% rename from src/assets/icons/checkbox.svg rename to src/assets/icons/svg/checkbox.svg diff --git a/src/assets/icons/clipboard.svg b/src/assets/icons/svg/clipboard.svg similarity index 100% rename from src/assets/icons/clipboard.svg rename to src/assets/icons/svg/clipboard.svg diff --git a/src/assets/icons/code.svg b/src/assets/icons/svg/code.svg similarity index 100% rename from src/assets/icons/code.svg rename to src/assets/icons/svg/code.svg diff --git a/src/assets/icons/color.svg b/src/assets/icons/svg/color.svg similarity index 100% rename from src/assets/icons/color.svg rename to src/assets/icons/svg/color.svg diff --git a/src/assets/icons/component.svg b/src/assets/icons/svg/component.svg similarity index 100% rename from src/assets/icons/component.svg rename to src/assets/icons/svg/component.svg diff --git a/src/assets/icons/dashboard.svg b/src/assets/icons/svg/dashboard.svg similarity index 100% rename from src/assets/icons/dashboard.svg rename to src/assets/icons/svg/dashboard.svg diff --git a/src/assets/icons/date-range.svg b/src/assets/icons/svg/date-range.svg similarity index 100% rename from src/assets/icons/date-range.svg rename to src/assets/icons/svg/date-range.svg diff --git a/src/assets/icons/date.svg b/src/assets/icons/svg/date.svg similarity index 100% rename from src/assets/icons/date.svg rename to src/assets/icons/svg/date.svg diff --git a/src/assets/icons/dict.svg b/src/assets/icons/svg/dict.svg similarity index 100% rename from src/assets/icons/dict.svg rename to src/assets/icons/svg/dict.svg diff --git a/src/assets/icons/documentation.svg b/src/assets/icons/svg/documentation.svg similarity index 100% rename from src/assets/icons/documentation.svg rename to src/assets/icons/svg/documentation.svg diff --git a/src/assets/icons/download.svg b/src/assets/icons/svg/download.svg similarity index 100% rename from src/assets/icons/download.svg rename to src/assets/icons/svg/download.svg diff --git a/src/assets/icons/drag.svg b/src/assets/icons/svg/drag.svg similarity index 100% rename from src/assets/icons/drag.svg rename to src/assets/icons/svg/drag.svg diff --git a/src/assets/icons/druid.svg b/src/assets/icons/svg/druid.svg similarity index 100% rename from src/assets/icons/druid.svg rename to src/assets/icons/svg/druid.svg diff --git a/src/assets/icons/edit.svg b/src/assets/icons/svg/edit.svg similarity index 100% rename from src/assets/icons/edit.svg rename to src/assets/icons/svg/edit.svg diff --git a/src/assets/icons/education.svg b/src/assets/icons/svg/education.svg similarity index 100% rename from src/assets/icons/education.svg rename to src/assets/icons/svg/education.svg diff --git a/src/assets/icons/email.svg b/src/assets/icons/svg/email.svg similarity index 100% rename from src/assets/icons/email.svg rename to src/assets/icons/svg/email.svg diff --git a/src/assets/icons/example.svg b/src/assets/icons/svg/example.svg similarity index 100% rename from src/assets/icons/example.svg rename to src/assets/icons/svg/example.svg diff --git a/src/assets/icons/excel.svg b/src/assets/icons/svg/excel.svg similarity index 100% rename from src/assets/icons/excel.svg rename to src/assets/icons/svg/excel.svg diff --git a/src/assets/icons/exit-fullscreen.svg b/src/assets/icons/svg/exit-fullscreen.svg similarity index 100% rename from src/assets/icons/exit-fullscreen.svg rename to src/assets/icons/svg/exit-fullscreen.svg diff --git a/src/assets/icons/eye-open.svg b/src/assets/icons/svg/eye-open.svg similarity index 100% rename from src/assets/icons/eye-open.svg rename to src/assets/icons/svg/eye-open.svg diff --git a/src/assets/icons/eye.svg b/src/assets/icons/svg/eye.svg similarity index 100% rename from src/assets/icons/eye.svg rename to src/assets/icons/svg/eye.svg diff --git a/src/assets/icons/form.svg b/src/assets/icons/svg/form.svg similarity index 100% rename from src/assets/icons/form.svg rename to src/assets/icons/svg/form.svg diff --git a/src/assets/icons/fullscreen.svg b/src/assets/icons/svg/fullscreen.svg similarity index 100% rename from src/assets/icons/fullscreen.svg rename to src/assets/icons/svg/fullscreen.svg diff --git a/src/assets/icons/github.svg b/src/assets/icons/svg/github.svg similarity index 100% rename from src/assets/icons/github.svg rename to src/assets/icons/svg/github.svg diff --git a/src/assets/icons/guide.svg b/src/assets/icons/svg/guide.svg similarity index 100% rename from src/assets/icons/guide.svg rename to src/assets/icons/svg/guide.svg diff --git a/src/assets/icons/icon.svg b/src/assets/icons/svg/icon.svg similarity index 100% rename from src/assets/icons/icon.svg rename to src/assets/icons/svg/icon.svg diff --git a/src/assets/icons/input.svg b/src/assets/icons/svg/input.svg similarity index 100% rename from src/assets/icons/input.svg rename to src/assets/icons/svg/input.svg diff --git a/src/assets/icons/international.svg b/src/assets/icons/svg/international.svg similarity index 100% rename from src/assets/icons/international.svg rename to src/assets/icons/svg/international.svg diff --git a/src/assets/icons/ip.svg b/src/assets/icons/svg/ip.svg similarity index 100% rename from src/assets/icons/ip.svg rename to src/assets/icons/svg/ip.svg diff --git a/src/assets/icons/job.svg b/src/assets/icons/svg/job.svg similarity index 100% rename from src/assets/icons/job.svg rename to src/assets/icons/svg/job.svg diff --git a/src/assets/icons/language.svg b/src/assets/icons/svg/language.svg similarity index 100% rename from src/assets/icons/language.svg rename to src/assets/icons/svg/language.svg diff --git a/src/assets/icons/link.svg b/src/assets/icons/svg/link.svg similarity index 100% rename from src/assets/icons/link.svg rename to src/assets/icons/svg/link.svg diff --git a/src/assets/icons/list.svg b/src/assets/icons/svg/list.svg similarity index 100% rename from src/assets/icons/list.svg rename to src/assets/icons/svg/list.svg diff --git a/src/assets/icons/lock.svg b/src/assets/icons/svg/lock.svg similarity index 100% rename from src/assets/icons/lock.svg rename to src/assets/icons/svg/lock.svg diff --git a/src/assets/icons/log.svg b/src/assets/icons/svg/log.svg similarity index 100% rename from src/assets/icons/log.svg rename to src/assets/icons/svg/log.svg diff --git a/src/assets/icons/logininfor.svg b/src/assets/icons/svg/logininfor.svg similarity index 100% rename from src/assets/icons/logininfor.svg rename to src/assets/icons/svg/logininfor.svg diff --git a/src/assets/icons/menu.svg b/src/assets/icons/svg/menu.svg similarity index 100% rename from src/assets/icons/menu.svg rename to src/assets/icons/svg/menu.svg diff --git a/src/assets/icons/message.svg b/src/assets/icons/svg/message.svg similarity index 100% rename from src/assets/icons/message.svg rename to src/assets/icons/svg/message.svg diff --git a/src/assets/icons/money.svg b/src/assets/icons/svg/money.svg similarity index 100% rename from src/assets/icons/money.svg rename to src/assets/icons/svg/money.svg diff --git a/src/assets/icons/monitor.svg b/src/assets/icons/svg/monitor.svg similarity index 100% rename from src/assets/icons/monitor.svg rename to src/assets/icons/svg/monitor.svg diff --git a/src/assets/icons/nested.svg b/src/assets/icons/svg/nested.svg similarity index 100% rename from src/assets/icons/nested.svg rename to src/assets/icons/svg/nested.svg diff --git a/src/assets/icons/nodata.svg b/src/assets/icons/svg/nodata.svg similarity index 100% rename from src/assets/icons/nodata.svg rename to src/assets/icons/svg/nodata.svg diff --git a/src/assets/icons/number.svg b/src/assets/icons/svg/number.svg similarity index 100% rename from src/assets/icons/number.svg rename to src/assets/icons/svg/number.svg diff --git a/src/assets/icons/offline.svg b/src/assets/icons/svg/offline.svg similarity index 100% rename from src/assets/icons/offline.svg rename to src/assets/icons/svg/offline.svg diff --git a/src/assets/icons/online.svg b/src/assets/icons/svg/online.svg similarity index 100% rename from src/assets/icons/online.svg rename to src/assets/icons/svg/online.svg diff --git a/src/assets/icons/password.svg b/src/assets/icons/svg/password.svg similarity index 100% rename from src/assets/icons/password.svg rename to src/assets/icons/svg/password.svg diff --git a/src/assets/icons/pdf.svg b/src/assets/icons/svg/pdf.svg similarity index 100% rename from src/assets/icons/pdf.svg rename to src/assets/icons/svg/pdf.svg diff --git a/src/assets/icons/people.svg b/src/assets/icons/svg/people.svg similarity index 100% rename from src/assets/icons/people.svg rename to src/assets/icons/svg/people.svg diff --git a/src/assets/icons/peoples.svg b/src/assets/icons/svg/peoples.svg similarity index 100% rename from src/assets/icons/peoples.svg rename to src/assets/icons/svg/peoples.svg diff --git a/src/assets/icons/perm.svg b/src/assets/icons/svg/perm.svg similarity index 100% rename from src/assets/icons/perm.svg rename to src/assets/icons/svg/perm.svg diff --git a/src/assets/icons/phone.svg b/src/assets/icons/svg/phone.svg similarity index 100% rename from src/assets/icons/phone.svg rename to src/assets/icons/svg/phone.svg diff --git a/src/assets/icons/post.svg b/src/assets/icons/svg/post.svg similarity index 100% rename from src/assets/icons/post.svg rename to src/assets/icons/svg/post.svg diff --git a/src/assets/icons/qq.svg b/src/assets/icons/svg/qq.svg similarity index 100% rename from src/assets/icons/qq.svg rename to src/assets/icons/svg/qq.svg diff --git a/src/assets/icons/question.svg b/src/assets/icons/svg/question.svg similarity index 100% rename from src/assets/icons/question.svg rename to src/assets/icons/svg/question.svg diff --git a/src/assets/icons/radio.svg b/src/assets/icons/svg/radio.svg similarity index 100% rename from src/assets/icons/radio.svg rename to src/assets/icons/svg/radio.svg diff --git a/src/assets/icons/rate.svg b/src/assets/icons/svg/rate.svg similarity index 100% rename from src/assets/icons/rate.svg rename to src/assets/icons/svg/rate.svg diff --git a/src/assets/icons/redis.svg b/src/assets/icons/svg/redis.svg similarity index 100% rename from src/assets/icons/redis.svg rename to src/assets/icons/svg/redis.svg diff --git a/src/assets/icons/route.svg b/src/assets/icons/svg/route.svg similarity index 100% rename from src/assets/icons/route.svg rename to src/assets/icons/svg/route.svg diff --git a/src/assets/icons/row.svg b/src/assets/icons/svg/row.svg similarity index 100% rename from src/assets/icons/row.svg rename to src/assets/icons/svg/row.svg diff --git a/src/assets/icons/search.svg b/src/assets/icons/svg/search.svg similarity index 100% rename from src/assets/icons/search.svg rename to src/assets/icons/svg/search.svg diff --git a/src/assets/icons/select.svg b/src/assets/icons/svg/select.svg similarity index 100% rename from src/assets/icons/select.svg rename to src/assets/icons/svg/select.svg diff --git a/src/assets/icons/server.svg b/src/assets/icons/svg/server.svg similarity index 100% rename from src/assets/icons/server.svg rename to src/assets/icons/svg/server.svg diff --git a/src/assets/icons/shopping.svg b/src/assets/icons/svg/shopping.svg similarity index 100% rename from src/assets/icons/shopping.svg rename to src/assets/icons/svg/shopping.svg diff --git a/src/assets/icons/size.svg b/src/assets/icons/svg/size.svg similarity index 100% rename from src/assets/icons/size.svg rename to src/assets/icons/svg/size.svg diff --git a/src/assets/icons/skill.svg b/src/assets/icons/svg/skill.svg similarity index 100% rename from src/assets/icons/skill.svg rename to src/assets/icons/svg/skill.svg diff --git a/src/assets/icons/slider.svg b/src/assets/icons/svg/slider.svg similarity index 100% rename from src/assets/icons/slider.svg rename to src/assets/icons/svg/slider.svg diff --git a/src/assets/icons/star.svg b/src/assets/icons/svg/star.svg similarity index 100% rename from src/assets/icons/star.svg rename to src/assets/icons/svg/star.svg diff --git a/src/assets/icons/swagger.svg b/src/assets/icons/svg/swagger.svg similarity index 100% rename from src/assets/icons/swagger.svg rename to src/assets/icons/svg/swagger.svg diff --git a/src/assets/icons/switch.svg b/src/assets/icons/svg/switch.svg similarity index 100% rename from src/assets/icons/switch.svg rename to src/assets/icons/svg/switch.svg diff --git a/src/assets/icons/system.svg b/src/assets/icons/svg/system.svg similarity index 100% rename from src/assets/icons/system.svg rename to src/assets/icons/svg/system.svg diff --git a/src/assets/icons/tab.svg b/src/assets/icons/svg/tab.svg similarity index 100% rename from src/assets/icons/tab.svg rename to src/assets/icons/svg/tab.svg diff --git a/src/assets/icons/table.svg b/src/assets/icons/svg/table.svg similarity index 100% rename from src/assets/icons/table.svg rename to src/assets/icons/svg/table.svg diff --git a/src/assets/icons/textarea.svg b/src/assets/icons/svg/textarea.svg similarity index 100% rename from src/assets/icons/textarea.svg rename to src/assets/icons/svg/textarea.svg diff --git a/src/assets/icons/theme.svg b/src/assets/icons/svg/theme.svg similarity index 100% rename from src/assets/icons/theme.svg rename to src/assets/icons/svg/theme.svg diff --git a/src/assets/icons/time-range.svg b/src/assets/icons/svg/time-range.svg similarity index 100% rename from src/assets/icons/time-range.svg rename to src/assets/icons/svg/time-range.svg diff --git a/src/assets/icons/time.svg b/src/assets/icons/svg/time.svg similarity index 100% rename from src/assets/icons/time.svg rename to src/assets/icons/svg/time.svg diff --git a/src/assets/icons/tool.svg b/src/assets/icons/svg/tool.svg similarity index 100% rename from src/assets/icons/tool.svg rename to src/assets/icons/svg/tool.svg diff --git a/src/assets/icons/tree-table.svg b/src/assets/icons/svg/tree-table.svg similarity index 100% rename from src/assets/icons/tree-table.svg rename to src/assets/icons/svg/tree-table.svg diff --git a/src/assets/icons/tree.svg b/src/assets/icons/svg/tree.svg similarity index 100% rename from src/assets/icons/tree.svg rename to src/assets/icons/svg/tree.svg diff --git a/src/assets/icons/upload.svg b/src/assets/icons/svg/upload.svg similarity index 100% rename from src/assets/icons/upload.svg rename to src/assets/icons/svg/upload.svg diff --git a/src/assets/icons/user.svg b/src/assets/icons/svg/user.svg similarity index 100% rename from src/assets/icons/user.svg rename to src/assets/icons/svg/user.svg diff --git a/src/assets/icons/validCode.svg b/src/assets/icons/svg/validCode.svg similarity index 100% rename from src/assets/icons/validCode.svg rename to src/assets/icons/svg/validCode.svg diff --git a/src/assets/icons/wechat.svg b/src/assets/icons/svg/wechat.svg similarity index 100% rename from src/assets/icons/wechat.svg rename to src/assets/icons/svg/wechat.svg diff --git a/src/assets/icons/zip.svg b/src/assets/icons/svg/zip.svg similarity index 100% rename from src/assets/icons/zip.svg rename to src/assets/icons/svg/zip.svg diff --git a/src/components/IconSelect/index.vue b/src/components/IconSelect/index.vue new file mode 100644 index 00000000..f4618393 --- /dev/null +++ b/src/components/IconSelect/index.vue @@ -0,0 +1,83 @@ + + + + + \ No newline at end of file diff --git a/src/components/TreeSelect/index.vue b/src/components/TreeSelect/index.vue index 5d0087be..14039840 100644 --- a/src/components/TreeSelect/index.vue +++ b/src/components/TreeSelect/index.vue @@ -1,195 +1,155 @@ - - + \ No newline at end of file diff --git a/src/views/system/menu/components/Menu.vue b/src/views/system/menu/components/Menu.vue index 3e9d082e..a3b9a384 100644 --- a/src/views/system/menu/components/Menu.vue +++ b/src/views/system/menu/components/Menu.vue @@ -83,12 +83,10 @@ :rules="state.rules" label-width="80px"> - @@ -115,7 +113,30 @@ - + + + + + @@ -150,12 +171,15 @@ import {Search, Plus, Edit, Refresh, Delete} from '@element-plus/icons' import {ElForm, ElMessage, ElMessageBox} from "element-plus"; import {defineEmits, reactive, ref, unref, onMounted, getCurrentInstance} from "vue"; -import Treeselect from 'vue3-treeselect' -import 'vue3-treeselect/dist/vue3-treeselect.css' import SvgIcon from '@/components/SvgIcon/index.vue'; -const emit = defineEmits(['menuClick']) +import TreeSelect from '@/components/TreeSelect/index.vue'; +import IconSelect from '@/components/IconSelect/index.vue'; + +const emit = defineEmits(['menuClick']) +const showChooseIcon = ref(false); +const iconSelectRef = ref(null); const state = reactive({ loading: true, // 选中ID数组 @@ -180,7 +204,7 @@ const state = reactive({ parentId: 0, name: undefined, visible: 1, - icon: undefined, + icon: '', sort: 1, component: 'Layout', path: undefined @@ -220,7 +244,7 @@ function handleQuery() { function loadTreeSelectMenuOptions() { const menuOptions: any[] = [] listTreeSelectMenus().then(response => { - const menuOption = {id: 0, label: '无', children: response.data} + const menuOption = {id: 0, label: '顶级菜单', children: response.data} menuOptions.push(menuOption) state.menuOptions = menuOptions }) @@ -268,6 +292,7 @@ function handleUpdate(row: any) { } const dataForm = ref(ElForm) + function submitForm() { const form = unref(dataForm) form.validate((valid: any) => { @@ -296,7 +321,7 @@ function resetForm() { parentId: 0, name: undefined, visible: 1, - icon: undefined, + icon: '', sort: 1, component: 'Layout', path: undefined @@ -323,6 +348,17 @@ function handleDelete(row: any) { ) } +function showSelectIcon() { + (iconSelectRef as any).value.reset(); + showChooseIcon.value = true; +} + +function selected(name: string) { + state.formData.icon = name; + showChooseIcon.value = false; +} + + onMounted(() => { handleQuery() }) diff --git a/vite.config.ts b/vite.config.ts index ac8b645c..7f25b631 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -12,12 +12,11 @@ export default ({command, mode}: ConfigEnv): UserConfig => { return ( { - plugins: [ vue(), viteSvgIcons({ // 指定需要缓存的图标文件夹 - iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], + iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/svg')], // 指定symbolId格式 symbolId: 'icon-[dir]-[name]', })