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() {
|
||||
let menuRoute = Session.get('userMenu')
|
||||
let permissions = Session.get('permissions')
|
||||
if (!menuRoute || !permissions) {
|
||||
let userInfo = Session.get('userInfo')
|
||||
if (!menuRoute || !permissions ||!userInfo) {
|
||||
await refreshBackEndControlRoutes()
|
||||
}
|
||||
}
|
||||
@ -121,7 +122,9 @@ export async function refreshBackEndControlRoutes() {
|
||||
await getUserMenus().then((res:any)=>{
|
||||
Session.set('userMenu',res.data.menuList)
|
||||
Session.set('permissions',res.data.permissions)
|
||||
Session.set('userInfo',res.data.userInfo)
|
||||
})
|
||||
await useUserInfo().setUserInfos()
|
||||
await useUserInfo().setPermissions()
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@ import { defineStore } from 'pinia';
|
||||
import Cookies from 'js-cookie';
|
||||
import { UserInfosStates } from './interface';
|
||||
import { Session } from '/@/utils/storage';
|
||||
|
||||
import {getUpFileUrl} from '/@/utils/gfast'
|
||||
/**
|
||||
* 用户信息
|
||||
* @methods setUserInfos 设置用户信息
|
||||
@ -48,17 +48,20 @@ export const useUserInfo = defineStore('userInfo', {
|
||||
id:0,
|
||||
userName: userName,
|
||||
userNickname: "",
|
||||
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',
|
||||
avatar:'',
|
||||
time: new Date().getTime(),
|
||||
roles: defaultRoles,
|
||||
authBtnList: defaultAuthBtnList,
|
||||
};
|
||||
if (Session.get('userInfo')) {
|
||||
this.userInfos = Session.get('userInfo');
|
||||
} else {
|
||||
const sessUserInfo = Session.get('userInfo')
|
||||
if(sessUserInfo){
|
||||
if(sessUserInfo.avatar!=''){
|
||||
sessUserInfo.avatar = getUpFileUrl(sessUserInfo.avatar)
|
||||
}else{
|
||||
sessUserInfo.avatar = '/favicon.ico'
|
||||
}
|
||||
this.userInfos=sessUserInfo
|
||||
}else {
|
||||
this.userInfos = userInfos;
|
||||
}
|
||||
},
|
||||
|
@ -48,7 +48,7 @@
|
||||
</el-col>
|
||||
<el-col class="mb20" :span="4">
|
||||
<el-form-item label="是否覆盖原有文件" prop="overwrite">
|
||||
<el-checkbox v-model="info.overwrite" />
|
||||
<el-checkbox v-model="info.overwrite" @change="overwriteChange"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col class="mb20" :span="4">
|
||||
@ -79,6 +79,15 @@
|
||||
<el-checkbox v-model="info.showDetail" />
|
||||
</el-form-item>
|
||||
</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-form>
|
||||
<el-row>
|
||||
@ -105,6 +114,25 @@ export default defineComponent({
|
||||
emits: ['goNext','close'],
|
||||
setup(props, { emit }) {
|
||||
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 nextTip = (): boolean => {
|
||||
//表单验证
|
||||
@ -123,6 +151,11 @@ export default defineComponent({
|
||||
};
|
||||
const close = ()=>{
|
||||
emit('close')
|
||||
}
|
||||
const overwriteChange = (value:boolean)=>{
|
||||
info.value.overwriteInfo.map((item:any)=>{
|
||||
item.value = value
|
||||
})
|
||||
}
|
||||
const rules = reactive<FormRules>({
|
||||
tableName: [{ required: true, message: '请输入表名称', trigger: 'blur' }],
|
||||
@ -136,7 +169,9 @@ export default defineComponent({
|
||||
basicInfoFormRef,
|
||||
info,
|
||||
rules,
|
||||
overwriteOptions,
|
||||
nextTip,
|
||||
overwriteChange,
|
||||
close
|
||||
};
|
||||
},
|
||||
|
@ -82,9 +82,40 @@ export default defineComponent({
|
||||
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);
|
||||
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(() => {
|
||||
const tableId = route.query?.tableId;
|
||||
if (tableId) {
|
||||
@ -96,6 +127,7 @@ export default defineComponent({
|
||||
});
|
||||
const data: TableDataInfo = res.data.info as TableDataInfo;
|
||||
data.columns = columnsTmp;
|
||||
data.overwriteInfo = data.overwriteInfo?mergeArraysByKey([defaultOverwriteInfo,data.overwriteInfo],'key'):defaultOverwriteInfo
|
||||
info.value = data;
|
||||
});
|
||||
} else {
|
||||
|
@ -77,7 +77,8 @@ export interface TableDataInfo extends TableData{
|
||||
functionName:string;
|
||||
linkTableName:string;
|
||||
useVirtual:boolean;
|
||||
columns:TableColumns[]
|
||||
columns:TableColumns[],
|
||||
overwriteInfo:Array<any>
|
||||
}
|
||||
export interface TableDataState {
|
||||
ids:number[];
|
||||
|
@ -17,7 +17,7 @@ const alias: Record<string, string> = {
|
||||
const viteConfig = defineConfig((mode: ConfigEnv) => {
|
||||
const env = loadEnv(mode.mode, process.cwd());
|
||||
return {
|
||||
plugins: [vue(), vueSetupExtend(), viteCompression()],
|
||||
plugins: [vue(), vueSetupExtend(), viteCompression({disable:true})],
|
||||
root: process.cwd(),
|
||||
resolve: { alias },
|
||||
base: mode.command === 'serve' ? './' : env.VITE_PUBLIC_PATH,
|
||||
|
Loading…
x
Reference in New Issue
Block a user