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';
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
}
</script>
<template>
<div>
@ -243,7 +270,7 @@ const iconChooseClick = (icon) => {
</div>
<div ml-2>
<el-input class="input_line_input_wrapper" v-model="icons_search"
placeholder="请输入"></el-input>
placeholder="请输入" @change="iconSearchUpdate"></el-input>
</div>
</div>
<div mt-2>
@ -274,7 +301,7 @@ const iconChooseClick = (icon) => {
<el-tag w-full type="info">名称</el-tag>
</div>
<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>
</div>
</div>
@ -283,7 +310,7 @@ const iconChooseClick = (icon) => {
<el-tag w-full type="info">路由</el-tag>
</div>
<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>
</div>
</div>
@ -292,7 +319,8 @@ const iconChooseClick = (icon) => {
<el-tag w-full type="info">图标</el-tag>
</div>
<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>
<Icon v-if="!!edit_data.icon" :type="edit_data.icon"></Icon>
</el-icon>

@ -88,11 +88,11 @@ class AdminAuthController extends Controller
$data = [
'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;
$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([
'list' => array_merge($list, $auth_group_single)
]);

Loading…
Cancel
Save