From b47bde8c9646bea97e5eaee31b9225e7c75a57dd Mon Sep 17 00:00:00 2001 From: sa0ChunLuyu Date: Wed, 16 Aug 2023 10:09:04 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E8=B7=AF=E7=94=B1=E5=8A=9F=E8=83=BDBUG?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/pages/config/router.vue | 106 ++++++++++++------- app/Http/Controllers/AdminAuthController.php | 4 +- 2 files changed, 69 insertions(+), 41 deletions(-) diff --git a/admin/src/pages/config/router.vue b/admin/src/pages/config/router.vue index 6d37157..5386f1d 100644 --- a/admin/src/pages/config/router.vue +++ b/admin/src/pages/config/router.vue @@ -15,44 +15,48 @@ import { import icons_json from '@icon-park/vue-next/icons.json'; const icons_search = ref('') -const icons_list = computed(() => { - let list = [] - let search = icons_search.value - if (!!search) { - for (let i = 0; i < icons_json.length; i++) { - let push = false - if (icons_json[i].title.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true - if (icons_json[i].name.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true - if (icons_json[i].category.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true - if (icons_json[i].categoryCN.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true - for (let ii = 0; ii < icons_json[i].tag.length; ii++) { - if (icons_json[i].tag[ii].toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true +const iconSearchUpdate = (e = '') => { + icons_list.value = [] + nextTick(() => { + let list = [] + let search = icons_search.value + if (!!search) { + for (let i = 0; i < icons_json.length; i++) { + let push = false + if (icons_json[i].title.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true + if (icons_json[i].name.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true + if (icons_json[i].category.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true + if (icons_json[i].categoryCN.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true + for (let ii = 0; ii < icons_json[i].tag.length; ii++) { + if (icons_json[i].tag[ii].toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true + } + if (push) list.push(icons_json[i]) } - if (push) list.push(icons_json[i]) + } else { + list = icons_json } - } else { - list = icons_json - } - let list_turn = {} - for (let i = 0; i < list.length; i++) { - if (!(list[i]['category'] in list_turn)) { - list_turn[list[i]['category']] = { - name: list[i]['category'], - nameCN: list[i]['categoryCN'], - children: [] + let list_turn = {} + for (let i = 0; i < list.length; i++) { + if (!(list[i]['category'] in list_turn)) { + list_turn[list[i]['category']] = { + name: list[i]['category'], + nameCN: list[i]['categoryCN'], + children: [] + } } + list_turn[list[i]['category']]['children'].push({ + title: list[i]['title'], + name: list[i]['name'], + }) } - list_turn[list[i]['category']]['children'].push({ - title: list[i]['title'], - name: list[i]['name'], - }) - } - let ret = [] - for (let i in list_turn) { - ret.push(list_turn[i]) - } - return ret -}) + let ret = [] + for (let i in list_turn) { + ret.push(list_turn[i]) + } + icons_list.value = ret + }) +} +const icons_list = ref([]) const table_list = ref([]) const AdminAuthList = async () => { @@ -138,6 +142,9 @@ const AdminDelete = async () => { if (edit_data.value.pid === 0) { const index = table_list.value.findIndex(item => item.id === response.data.id) table_list.value.splice(index, 1) + + const select_index = admin_auth_select.value.findIndex(item => item.id === response.data.id); + admin_auth_select.value.splice(select_index, 1) } else { const index = table_list.value.findIndex(item => item.id === edit_data.value.pid) const children_index = table_list.value[index].children.findIndex(item => item.id === response.data.id) @@ -176,6 +183,10 @@ const editDoneClick = async () => { window.$message().success('创建') if (data.pid === 0) { table_list.value.unshift(response.data.info) + if (data.type === 1) admin_auth_select.value.unshift({ + id: response.data.info.id, + title: response.data.info.title, + }) } else { const index = table_list.value.findIndex(item => item.id === data.pid) table_list.value[index].children.unshift(response.data.info) @@ -184,6 +195,7 @@ const editDoneClick = async () => { window.$message().success('修改成功') let index = table_list.value.findIndex(item => item.id === data.id); let children_index = -1; + let select_index = -1; if (index === -1) { for (let i in table_list.value) { if ('children' in table_list.value[i]) { @@ -198,13 +210,23 @@ const editDoneClick = async () => { if ('children' in table_list.value[index]) { response.data.info.children = JSON.parse(JSON.stringify(table_list.value[index].children)); } + if (data.type === 1) { + select_index = admin_auth_select.value.findIndex(item => item.id === data.id); + admin_auth_select.value.splice(select_index, 1) + } table_list.value.splice(index, 1); } - nextTick(()=>{ + nextTick(() => { if (data.pid === 0) { if (!('children' in response.data.info)) { response.data.info.children = []; } + if (data.type === 1) { + admin_auth_select.value.unshift({ + id: response.data.info.id, + title: response.data.info.title, + }); + } if (index === -1) { table_list.value.unshift(response.data.info); } else { @@ -232,6 +254,11 @@ const iconChooseClick = (icon) => { }) icon_show.value = false } + +const iconChooseShowClick = () => { + iconSearchUpdate() + icon_show.value = true +}