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]', })