fix 路由分组、缓存应用前缀、代码生成文件选择覆盖、操作日志记录参数截取、重新打开页面头像不显示
This commit is contained in:
parent
8ef36a028f
commit
565799e21e
@ -67,4 +67,13 @@ export function roleDeptTreeSelect(roleId:number) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据角色ID查询菜单树结构
|
||||||
|
export function roleMenuTreeSelect(roleId:number) {
|
||||||
|
return request({
|
||||||
|
url: '/api/v1/system/role/menuTreeSelect',
|
||||||
|
method: 'get',
|
||||||
|
params:{roleId}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -106,7 +106,8 @@ export async function setAddRoute() {
|
|||||||
export async function getBackEndControlRoutes() {
|
export async function getBackEndControlRoutes() {
|
||||||
let menuRoute = Session.get('userMenu')
|
let menuRoute = Session.get('userMenu')
|
||||||
let permissions = Session.get('permissions')
|
let permissions = Session.get('permissions')
|
||||||
if (!menuRoute || !permissions) {
|
let userInfo = Session.get('userInfo')
|
||||||
|
if (!menuRoute || !permissions ||!userInfo) {
|
||||||
await refreshBackEndControlRoutes()
|
await refreshBackEndControlRoutes()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -121,7 +122,9 @@ export async function refreshBackEndControlRoutes() {
|
|||||||
await getUserMenus().then((res:any)=>{
|
await getUserMenus().then((res:any)=>{
|
||||||
Session.set('userMenu',res.data.menuList)
|
Session.set('userMenu',res.data.menuList)
|
||||||
Session.set('permissions',res.data.permissions)
|
Session.set('permissions',res.data.permissions)
|
||||||
|
Session.set('userInfo',res.data.userInfo)
|
||||||
})
|
})
|
||||||
|
await useUserInfo().setUserInfos()
|
||||||
await useUserInfo().setPermissions()
|
await useUserInfo().setPermissions()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import { defineStore } from 'pinia';
|
|||||||
import Cookies from 'js-cookie';
|
import Cookies from 'js-cookie';
|
||||||
import { UserInfosStates } from './interface';
|
import { UserInfosStates } from './interface';
|
||||||
import { Session } from '/@/utils/storage';
|
import { Session } from '/@/utils/storage';
|
||||||
|
import {getUpFileUrl} from '/@/utils/gfast'
|
||||||
/**
|
/**
|
||||||
* 用户信息
|
* 用户信息
|
||||||
* @methods setUserInfos 设置用户信息
|
* @methods setUserInfos 设置用户信息
|
||||||
@ -48,16 +48,19 @@ export const useUserInfo = defineStore('userInfo', {
|
|||||||
id:0,
|
id:0,
|
||||||
userName: userName,
|
userName: userName,
|
||||||
userNickname: "",
|
userNickname: "",
|
||||||
avatar:
|
avatar:'',
|
||||||
userName === 'admin'
|
|
||||||
? 'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1813762643,1914315241&fm=26&gp=0.jpg'
|
|
||||||
: 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=317673774,2961727727&fm=26&gp=0.jpg',
|
|
||||||
time: new Date().getTime(),
|
time: new Date().getTime(),
|
||||||
roles: defaultRoles,
|
roles: defaultRoles,
|
||||||
authBtnList: defaultAuthBtnList,
|
authBtnList: defaultAuthBtnList,
|
||||||
};
|
};
|
||||||
if (Session.get('userInfo')) {
|
const sessUserInfo = Session.get('userInfo')
|
||||||
this.userInfos = Session.get('userInfo');
|
if(sessUserInfo){
|
||||||
|
if(sessUserInfo.avatar!=''){
|
||||||
|
sessUserInfo.avatar = getUpFileUrl(sessUserInfo.avatar)
|
||||||
|
}else{
|
||||||
|
sessUserInfo.avatar = '/favicon.ico'
|
||||||
|
}
|
||||||
|
this.userInfos=sessUserInfo
|
||||||
}else {
|
}else {
|
||||||
this.userInfos = userInfos;
|
this.userInfos = userInfos;
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col class="mb20" :span="4">
|
<el-col class="mb20" :span="4">
|
||||||
<el-form-item label="是否覆盖原有文件" prop="overwrite">
|
<el-form-item label="是否覆盖原有文件" prop="overwrite">
|
||||||
<el-checkbox v-model="info.overwrite" />
|
<el-checkbox v-model="info.overwrite" @change="overwriteChange"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col class="mb20" :span="4">
|
<el-col class="mb20" :span="4">
|
||||||
@ -79,6 +79,15 @@
|
|||||||
<el-checkbox v-model="info.showDetail" />
|
<el-checkbox v-model="info.showDetail" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col class="mb20" :span="24" style="border:solid 1px #e2e3e3;width: 90%;padding: 12px;" v-show="info.overwrite">
|
||||||
|
<el-row :gutter="18">
|
||||||
|
<el-col class="mb20" :span="3" v-for="(item,ind) in overwriteOptions" :key="ind">
|
||||||
|
<el-form-item :label="item.name" :prop="item.key">
|
||||||
|
<el-checkbox v-model="info.overwriteInfo[ind]['value']" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row>
|
<el-row>
|
||||||
@ -105,6 +114,25 @@ export default defineComponent({
|
|||||||
emits: ['goNext','close'],
|
emits: ['goNext','close'],
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
const basicInfoFormRef = ref<FormInstance>();
|
const basicInfoFormRef = ref<FormInstance>();
|
||||||
|
const overwriteOptions = ref([
|
||||||
|
{key:"api",name:"覆盖api"},
|
||||||
|
{key:"controller",name:"覆盖controller"},
|
||||||
|
{key:"dao",name:"覆盖dao"},
|
||||||
|
{key:"dao_internal",name:"覆盖dao_internal"},
|
||||||
|
{key:"logic",name:"覆盖logic"},
|
||||||
|
{key:"model",name:"覆盖model"},
|
||||||
|
{key:"model_do",name:"覆盖model_do"},
|
||||||
|
{key:"model_entity",name:"覆盖model_entity"},
|
||||||
|
{key:"router",name:"覆盖router"},
|
||||||
|
{key:"router_func",name:"覆盖router_func"},
|
||||||
|
{key:"service",name:"覆盖service"},
|
||||||
|
{key:"sql",name:"覆盖菜单sql"},
|
||||||
|
{key:"tsApi",name:"覆盖tsApi"},
|
||||||
|
{key:"tsModel",name:"覆盖tsModel"},
|
||||||
|
{key:"vue",name:"覆盖vue-list"},
|
||||||
|
{key:"vueDetail",name:"覆盖vue-detail"},
|
||||||
|
{key:"vueEdit",name:"覆盖vue-edit"},
|
||||||
|
])
|
||||||
const info = inject<TableDataInfo>('tableData') as TableDataInfo;
|
const info = inject<TableDataInfo>('tableData') as TableDataInfo;
|
||||||
const nextTip = (): boolean => {
|
const nextTip = (): boolean => {
|
||||||
//表单验证
|
//表单验证
|
||||||
@ -123,6 +151,11 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
const close = ()=>{
|
const close = ()=>{
|
||||||
emit('close')
|
emit('close')
|
||||||
|
}
|
||||||
|
const overwriteChange = (value:boolean)=>{
|
||||||
|
info.value.overwriteInfo.map((item:any)=>{
|
||||||
|
item.value = value
|
||||||
|
})
|
||||||
}
|
}
|
||||||
const rules = reactive<FormRules>({
|
const rules = reactive<FormRules>({
|
||||||
tableName: [{ required: true, message: '请输入表名称', trigger: 'blur' }],
|
tableName: [{ required: true, message: '请输入表名称', trigger: 'blur' }],
|
||||||
@ -136,7 +169,9 @@ export default defineComponent({
|
|||||||
basicInfoFormRef,
|
basicInfoFormRef,
|
||||||
info,
|
info,
|
||||||
rules,
|
rules,
|
||||||
|
overwriteOptions,
|
||||||
nextTip,
|
nextTip,
|
||||||
|
overwriteChange,
|
||||||
close
|
close
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -82,9 +82,40 @@ export default defineComponent({
|
|||||||
active.value = args;
|
active.value = args;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const defaultOverwriteInfo = [
|
||||||
|
{key:"api",value:false},
|
||||||
|
{key:"controller",value:false},
|
||||||
|
{key:"dao",value:false},
|
||||||
|
{key:"dao_internal",value:false},
|
||||||
|
{key:"logic",value:false},
|
||||||
|
{key:"model",value:false},
|
||||||
|
{key:"model_do",value:false},
|
||||||
|
{key:"model_entity",value:false},
|
||||||
|
{key:"router",value:false},
|
||||||
|
{key:"router_func",value:false},
|
||||||
|
{key:"service",value:false},
|
||||||
|
{key:"sql",value:false},
|
||||||
|
{key:"tsApi",value:false},
|
||||||
|
{key:"tsModel",value:false},
|
||||||
|
{key:"vue",value:false},
|
||||||
|
{key:"vueDetail",value:false},
|
||||||
|
{key:"vueEdit",value:false},
|
||||||
|
]
|
||||||
// 表详细信息
|
// 表详细信息
|
||||||
const info = ref(<TableDataInfo>{});
|
const info = ref(<TableDataInfo>{overwriteInfo:defaultOverwriteInfo});
|
||||||
provide('tableData', info);
|
provide('tableData', info);
|
||||||
|
const mergeArraysByKey = (arrays:Array<Array<object>>, key:string) :Array<any> => {
|
||||||
|
const merged:any={}
|
||||||
|
// 遍历所有数组,后面的数组会覆盖前面的数组
|
||||||
|
arrays.forEach(array => {
|
||||||
|
array.forEach((obj:any) => {
|
||||||
|
// 使用key的值作为键,将对象存储在merged对象中
|
||||||
|
merged[obj[key]] = obj;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 将merged对象转换为数组
|
||||||
|
return Object.values(merged);
|
||||||
|
}
|
||||||
onBeforeMount(() => {
|
onBeforeMount(() => {
|
||||||
const tableId = route.query?.tableId;
|
const tableId = route.query?.tableId;
|
||||||
if (tableId) {
|
if (tableId) {
|
||||||
@ -96,6 +127,7 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
const data: TableDataInfo = res.data.info as TableDataInfo;
|
const data: TableDataInfo = res.data.info as TableDataInfo;
|
||||||
data.columns = columnsTmp;
|
data.columns = columnsTmp;
|
||||||
|
data.overwriteInfo = data.overwriteInfo?mergeArraysByKey([defaultOverwriteInfo,data.overwriteInfo],'key'):defaultOverwriteInfo
|
||||||
info.value = data;
|
info.value = data;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -77,7 +77,8 @@ export interface TableDataInfo extends TableData{
|
|||||||
functionName:string;
|
functionName:string;
|
||||||
linkTableName:string;
|
linkTableName:string;
|
||||||
useVirtual:boolean;
|
useVirtual:boolean;
|
||||||
columns:TableColumns[]
|
columns:TableColumns[],
|
||||||
|
overwriteInfo:Array<any>
|
||||||
}
|
}
|
||||||
export interface TableDataState {
|
export interface TableDataState {
|
||||||
ids:number[];
|
ids:number[];
|
||||||
|
@ -17,7 +17,7 @@ const alias: Record<string, string> = {
|
|||||||
const viteConfig = defineConfig((mode: ConfigEnv) => {
|
const viteConfig = defineConfig((mode: ConfigEnv) => {
|
||||||
const env = loadEnv(mode.mode, process.cwd());
|
const env = loadEnv(mode.mode, process.cwd());
|
||||||
return {
|
return {
|
||||||
plugins: [vue(), vueSetupExtend(), viteCompression()],
|
plugins: [vue(), vueSetupExtend(), viteCompression({disable:true})],
|
||||||
root: process.cwd(),
|
root: process.cwd(),
|
||||||
resolve: { alias },
|
resolve: { alias },
|
||||||
base: mode.command === 'serve' ? './' : env.VITE_PUBLIC_PATH,
|
base: mode.command === 'serve' ? './' : env.VITE_PUBLIC_PATH,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user