1. 路由功能BUG修改

START
鹿和sa0ChunLuyu 2 years ago
parent 7717a5da78
commit b47bde8c96

@ -15,44 +15,48 @@ import {
import icons_json from '@icon-park/vue-next/icons.json'; import icons_json from '@icon-park/vue-next/icons.json';
const icons_search = ref('') const icons_search = ref('')
const icons_list = computed(() => { const iconSearchUpdate = (e = '') => {
let list = [] icons_list.value = []
let search = icons_search.value nextTick(() => {
if (!!search) { let list = []
for (let i = 0; i < icons_json.length; i++) { let search = icons_search.value
let push = false if (!!search) {
if (icons_json[i].title.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true for (let i = 0; i < icons_json.length; i++) {
if (icons_json[i].name.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true let push = false
if (icons_json[i].category.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true if (icons_json[i].title.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true
if (icons_json[i].categoryCN.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true if (icons_json[i].name.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true
for (let ii = 0; ii < icons_json[i].tag.length; ii++) { if (icons_json[i].category.toLowerCase().indexOf(search.toLowerCase()) !== -1) push = true
if (icons_json[i].tag[ii].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 { let list_turn = {}
list = icons_json for (let i = 0; i < list.length; i++) {
} if (!(list[i]['category'] in list_turn)) {
let list_turn = {} list_turn[list[i]['category']] = {
for (let i = 0; i < list.length; i++) { name: list[i]['category'],
if (!(list[i]['category'] in list_turn)) { nameCN: list[i]['categoryCN'],
list_turn[list[i]['category']] = { children: []
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({ let ret = []
title: list[i]['title'], for (let i in list_turn) {
name: list[i]['name'], ret.push(list_turn[i])
}) }
} icons_list.value = ret
let ret = [] })
for (let i in list_turn) { }
ret.push(list_turn[i]) const icons_list = ref([])
}
return ret
})
const table_list = ref([]) const table_list = ref([])
const AdminAuthList = async () => { const AdminAuthList = async () => {
@ -138,6 +142,9 @@ const AdminDelete = async () => {
if (edit_data.value.pid === 0) { if (edit_data.value.pid === 0) {
const index = table_list.value.findIndex(item => item.id === response.data.id) const index = table_list.value.findIndex(item => item.id === response.data.id)
table_list.value.splice(index, 1) 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 { } else {
const index = table_list.value.findIndex(item => item.id === edit_data.value.pid) 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) 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('创建') window.$message().success('创建')
if (data.pid === 0) { if (data.pid === 0) {
table_list.value.unshift(response.data.info) 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 { } else {
const index = table_list.value.findIndex(item => item.id === data.pid) const index = table_list.value.findIndex(item => item.id === data.pid)
table_list.value[index].children.unshift(response.data.info) table_list.value[index].children.unshift(response.data.info)
@ -184,6 +195,7 @@ const editDoneClick = async () => {
window.$message().success('修改成功') window.$message().success('修改成功')
let index = table_list.value.findIndex(item => item.id === data.id); let index = table_list.value.findIndex(item => item.id === data.id);
let children_index = -1; let children_index = -1;
let select_index = -1;
if (index === -1) { if (index === -1) {
for (let i in table_list.value) { for (let i in table_list.value) {
if ('children' in table_list.value[i]) { if ('children' in table_list.value[i]) {
@ -198,13 +210,23 @@ const editDoneClick = async () => {
if ('children' in table_list.value[index]) { if ('children' in table_list.value[index]) {
response.data.info.children = JSON.parse(JSON.stringify(table_list.value[index].children)); 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); table_list.value.splice(index, 1);
} }
nextTick(()=>{ nextTick(() => {
if (data.pid === 0) { if (data.pid === 0) {
if (!('children' in response.data.info)) { if (!('children' in response.data.info)) {
response.data.info.children = []; 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) { if (index === -1) {
table_list.value.unshift(response.data.info); table_list.value.unshift(response.data.info);
} else { } else {
@ -232,6 +254,11 @@ const iconChooseClick = (icon) => {
}) })
icon_show.value = false icon_show.value = false
} }
const iconChooseShowClick = () => {
iconSearchUpdate()
icon_show.value = true
}
</script> </script>
<template> <template>
<div> <div>
@ -243,7 +270,7 @@ const iconChooseClick = (icon) => {
</div> </div>
<div ml-2> <div ml-2>
<el-input class="input_line_input_wrapper" v-model="icons_search" <el-input class="input_line_input_wrapper" v-model="icons_search"
placeholder="请输入"></el-input> placeholder="请输入" @change="iconSearchUpdate"></el-input>
</div> </div>
</div> </div>
<div mt-2> <div mt-2>
@ -274,7 +301,7 @@ const iconChooseClick = (icon) => {
<el-tag w-full type="info">名称</el-tag> <el-tag w-full type="info">名称</el-tag>
</div> </div>
<div ml-2> <div ml-2>
<el-input class="input_line_input_wrapper" v-model="edit_data.name" <el-input class="input_line_input_wrapper" v-model="edit_data.title"
placeholder="请输入名称"></el-input> placeholder="请输入名称"></el-input>
</div> </div>
</div> </div>
@ -283,7 +310,7 @@ const iconChooseClick = (icon) => {
<el-tag w-full type="info">路由</el-tag> <el-tag w-full type="info">路由</el-tag>
</div> </div>
<div ml-2> <div ml-2>
<el-input class="input_line_input_wrapper" v-model="edit_data.title" <el-input class="input_line_input_wrapper" v-model="edit_data.name"
placeholder="请输入路由"></el-input> placeholder="请输入路由"></el-input>
</div> </div>
</div> </div>
@ -292,7 +319,8 @@ const iconChooseClick = (icon) => {
<el-tag w-full type="info">图标</el-tag> <el-tag w-full type="info">图标</el-tag>
</div> </div>
<div ml-2> <div ml-2>
<div @click="icon_show = true" cursor-pointer class="input_line_input_wrapper icon_wrapper" text-center> <div @click="iconChooseShowClick()" cursor-pointer class="input_line_input_wrapper icon_wrapper"
text-center>
<el-icon> <el-icon>
<Icon v-if="!!edit_data.icon" :type="edit_data.icon"></Icon> <Icon v-if="!!edit_data.icon" :type="edit_data.icon"></Icon>
</el-icon> </el-icon>

@ -88,11 +88,11 @@ class AdminAuthController extends Controller
$data = [ $data = [
'info' => $item, 'info' => $item,
]; ];
$auth_group_list = AdminAuth::where('pid', $item->id)->where('type', 2)->where('check', 1)->where('del', 2)->orderBy('order', 'desc')->get(); $auth_group_list = AdminAuth::where('pid', $item->id)->where('type', 2)->where('del', 2)->orderBy('order', 'desc')->get();
$data['list'] = $auth_group_list; $data['list'] = $auth_group_list;
$list[] = $data; $list[] = $data;
} }
$auth_group_single = AdminAuth::where('pid', 0)->where('type', 2)->where('check', 1)->where('del', 2)->orderBy('order', 'desc')->get()->toArray(); $auth_group_single = AdminAuth::where('pid', 0)->where('type', 2)->where('del', 2)->orderBy('order', 'desc')->get()->toArray();
return Yo::echo([ return Yo::echo([
'list' => array_merge($list, $auth_group_single) 'list' => array_merge($list, $auth_group_single)
]); ]);

Loading…
Cancel
Save