修复BUG:

1.系统配置没有在刷新页面的时候获取;
2.登录页面网站标题等信息更新名字不刷新;
3.列权限排序,且需可以搜索
This commit is contained in:
猿小天
2023-12-25 18:48:11 +08:00
parent 7ae15022c0
commit c99eb1a9bc
4 changed files with 30 additions and 82 deletions

View File

@@ -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">

View File

@@ -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')
} }
} }

View File

@@ -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">

View File

@@ -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);
// };
// }),
// },
// },
// },
}, },
}, },
}; };