修复BUG:
1.系统配置没有在刷新页面的时候获取; 2.登录页面网站标题等信息更新名字不刷新; 3.列权限排序,且需可以搜索
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layout-logo" v-if="setShowLogo" @click="onThemeConfigChange">
|
<div class="layout-logo" v-if="setShowLogo" @click="onThemeConfigChange">
|
||||||
<img :src="logoMini" class="layout-logo-medium-img" />
|
<img :src="logoMini" class="layout-logo-medium-img" />
|
||||||
<span style="font-size: x-large">{{ themeConfig.globalTitle }}</span>
|
<span style="font-size: x-large">{{ getSystemConfig['login.site_title'] || themeConfig.globalTitle }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="layout-logo-size" v-else @click="onThemeConfigChange">
|
<div class="layout-logo-size" v-else @click="onThemeConfigChange">
|
||||||
<img :src="logoMini" class="layout-logo-size-img" />
|
<img :src="logoMini" class="layout-logo-size-img" />
|
||||||
@@ -13,6 +13,7 @@ import { computed } from 'vue';
|
|||||||
import { storeToRefs } from 'pinia';
|
import { storeToRefs } from 'pinia';
|
||||||
import { useThemeConfig } from '/@/stores/themeConfig';
|
import { useThemeConfig } from '/@/stores/themeConfig';
|
||||||
import logoMini from '/@/assets/logo-mini.svg';
|
import logoMini from '/@/assets/logo-mini.svg';
|
||||||
|
import {SystemConfigStore} from "/@/stores/systemConfig";
|
||||||
|
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
const storesThemeConfig = useThemeConfig();
|
const storesThemeConfig = useThemeConfig();
|
||||||
@@ -28,6 +29,13 @@ const onThemeConfigChange = () => {
|
|||||||
if (themeConfig.value.layout === 'transverse') return false;
|
if (themeConfig.value.layout === 'transverse') return false;
|
||||||
themeConfig.value.isCollapse = !themeConfig.value.isCollapse;
|
themeConfig.value.isCollapse = !themeConfig.value.isCollapse;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const systemConfigStore = SystemConfigStore()
|
||||||
|
const {systemConfig} = storeToRefs(systemConfigStore)
|
||||||
|
const getSystemConfig = computed(()=>{
|
||||||
|
return systemConfig.value
|
||||||
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
|
|||||||
import { useMenuApi } from '/@/api/menu/index';
|
import { useMenuApi } from '/@/api/menu/index';
|
||||||
import { handleMenu } from '../utils/menu';
|
import { handleMenu } from '../utils/menu';
|
||||||
import { BtnPermissionStore } from '/@/plugin/permission/store.permission';
|
import { BtnPermissionStore } from '/@/plugin/permission/store.permission';
|
||||||
|
import {SystemConfigStore} from "/@/stores/systemConfig";
|
||||||
|
|
||||||
const menuApi = useMenuApi();
|
const menuApi = useMenuApi();
|
||||||
|
|
||||||
@@ -96,11 +97,9 @@ export function setFilterRouteEnd() {
|
|||||||
* @link 参考:https://next.router.vuejs.org/zh/api/#addroute
|
* @link 参考:https://next.router.vuejs.org/zh/api/#addroute
|
||||||
*/
|
*/
|
||||||
export async function setAddRoute() {
|
export async function setAddRoute() {
|
||||||
console.log("默认路由",router.getRoutes())
|
|
||||||
await setFilterRouteEnd().forEach((route: RouteRecordRaw) => {
|
await setFilterRouteEnd().forEach((route: RouteRecordRaw) => {
|
||||||
router.addRoute(route);
|
router.addRoute(route);
|
||||||
});
|
});
|
||||||
console.log("全部路由",router.getRoutes())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -111,6 +110,8 @@ export async function setAddRoute() {
|
|||||||
export function getBackEndControlRoutes() {
|
export function getBackEndControlRoutes() {
|
||||||
//获取所有的按钮权限
|
//获取所有的按钮权限
|
||||||
BtnPermissionStore().getBtnPermissionStore();
|
BtnPermissionStore().getBtnPermissionStore();
|
||||||
|
// 获取系统配置
|
||||||
|
SystemConfigStore().getSystemConfigs()
|
||||||
return menuApi.getSystemMenu();
|
return menuApi.getSystemMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,17 +147,20 @@ export function backEndComponent(routes: any) {
|
|||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
console.log(item.is_iframe,item.web_path)
|
console.log(item.is_iframe,item.web_path)
|
||||||
|
console.log(router.getRoutes())
|
||||||
if(item.is_iframe){
|
if(item.is_iframe){
|
||||||
const iframeRoute:RouteRecordRaw = {
|
const iframeRoute:RouteRecordRaw = {
|
||||||
...item
|
...item
|
||||||
}
|
}
|
||||||
|
console.log(iframeRoute)
|
||||||
|
router.addRoute(iframeRoute)
|
||||||
item.meta.isLink = item.path
|
item.meta.isLink = item.path
|
||||||
item.path = `${item.path}Link`
|
item.path = `${item.path}Link`
|
||||||
item.name = `${item.name}Link`
|
item.name = `${item.name}Link`
|
||||||
item.component = dynamicImport(dynamicViewsModules, 'layout/routerView/link.vue')
|
|
||||||
item.meta.isIframe = !item.is_iframe
|
item.meta.isIframe = !item.is_iframe
|
||||||
item.meta.isKeepAlive = false
|
item.meta.isKeepAlive = false
|
||||||
item.meta.isIframeOpen = true
|
item.meta.isIframeOpen = true
|
||||||
|
item.component = dynamicImport(dynamicViewsModules, 'layout/routerView/link.vue')
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<span class="login-right-warp-one"></span>
|
<span class="login-right-warp-one"></span>
|
||||||
<span class="login-right-warp-two"></span>
|
<span class="login-right-warp-two"></span>
|
||||||
<div class="login-right-warp-mian">
|
<div class="login-right-warp-mian">
|
||||||
<div class="login-right-warp-main-title">{{ getThemeConfig.globalTitle }} 欢迎您!</div>
|
<div class="login-right-warp-main-title">{{ getSystemConfig['login.site_title'] || getThemeConfig.globalTitle }} 欢迎您!</div>
|
||||||
<div class="login-right-warp-main-form">
|
<div class="login-right-warp-main-form">
|
||||||
<div v-if="!state.isScan">
|
<div v-if="!state.isScan">
|
||||||
<el-tabs v-model="state.tabsActiveName">
|
<el-tabs v-model="state.tabsActiveName">
|
||||||
|
|||||||
@@ -103,6 +103,9 @@ export const createCrudOptions = function ({ crudExpose, props,modelDialog,selec
|
|||||||
label:'title',
|
label:'title',
|
||||||
value:'key'
|
value:'key'
|
||||||
}),
|
}),
|
||||||
|
column:{
|
||||||
|
sortable: true,
|
||||||
|
},
|
||||||
form: {
|
form: {
|
||||||
rules: [
|
rules: [
|
||||||
// 表单校验规则
|
// 表单校验规则
|
||||||
@@ -113,6 +116,13 @@ export const createCrudOptions = function ({ crudExpose, props,modelDialog,selec
|
|||||||
],
|
],
|
||||||
component: {
|
component: {
|
||||||
span: 12,
|
span: 12,
|
||||||
|
showSearch: true,
|
||||||
|
filterable: true,
|
||||||
|
//默认的filterOption仅支持value的过滤,label并不会加入查询
|
||||||
|
//所以需要自定义filterOption
|
||||||
|
filterOption(inputValue, option) {
|
||||||
|
return option.label.indexOf(inputValue) >= 0 || option.value.indexOf(inputValue) >= 0;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -143,6 +153,9 @@ export const createCrudOptions = function ({ crudExpose, props,modelDialog,selec
|
|||||||
search: {
|
search: {
|
||||||
show: true,
|
show: true,
|
||||||
},
|
},
|
||||||
|
column:{
|
||||||
|
sortable: true,
|
||||||
|
},
|
||||||
form: {
|
form: {
|
||||||
rules: [
|
rules: [
|
||||||
// 表单校验规则
|
// 表单校验规则
|
||||||
@@ -157,83 +170,6 @@ export const createCrudOptions = function ({ crudExpose, props,modelDialog,selec
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// is_create: {
|
|
||||||
// title: '创建时显示',
|
|
||||||
// sortable: 'custom',
|
|
||||||
// search: {
|
|
||||||
// disabled: true,
|
|
||||||
// },
|
|
||||||
// type: 'dict-switch',
|
|
||||||
// dict: dict({
|
|
||||||
// data: [
|
|
||||||
// { value: true, label: '启用' },
|
|
||||||
// { value: false, label: '禁用' },
|
|
||||||
// ],
|
|
||||||
// }),
|
|
||||||
// form: {
|
|
||||||
// value: true,
|
|
||||||
// },
|
|
||||||
// column: {
|
|
||||||
// valueChange(context){
|
|
||||||
// return api.UpdateObj(context.row)
|
|
||||||
// },
|
|
||||||
// component: {
|
|
||||||
// name: 'fs-dict-switch',
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// is_update: {
|
|
||||||
// title: '编辑时显示',
|
|
||||||
// search: {
|
|
||||||
// show: true,
|
|
||||||
// },
|
|
||||||
// type: 'dict-switch',
|
|
||||||
// dict: dict({
|
|
||||||
// data: [
|
|
||||||
// { value: true, label: '启用' },
|
|
||||||
// { value: false, label: '禁用' },
|
|
||||||
// ],
|
|
||||||
// }),
|
|
||||||
// form: {
|
|
||||||
// value: true,
|
|
||||||
// },
|
|
||||||
// column: {
|
|
||||||
// component: {
|
|
||||||
// name: 'fs-dict-switch',
|
|
||||||
// onChange: compute((context) => {
|
|
||||||
// //动态onChange方法测试
|
|
||||||
// return () => {
|
|
||||||
// console.log('onChange', context.row.switch);
|
|
||||||
// };
|
|
||||||
// }),
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// is_query: {
|
|
||||||
// title: '列表中显示',
|
|
||||||
// type: 'dict-switch',
|
|
||||||
// dict: dict({
|
|
||||||
// data: [
|
|
||||||
// { value: true, label: '启用' },
|
|
||||||
// { value: false, label: '禁用' },
|
|
||||||
// ],
|
|
||||||
// }),
|
|
||||||
// form: {
|
|
||||||
// value: true,
|
|
||||||
// },
|
|
||||||
// column: {
|
|
||||||
// component: {
|
|
||||||
// name: 'fs-dict-switch',
|
|
||||||
// onChange: compute((context) => {
|
|
||||||
// //动态onChange方法测试
|
|
||||||
// return () => {
|
|
||||||
// console.log('onChange', context.row.switch);
|
|
||||||
// };
|
|
||||||
// }),
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user