zuohuaijun 3 роки тому
батько
коміт
4ada4e2021

+ 8 - 9
vue-next-admin/src/views/system/role/component/editRole.vue

@@ -44,7 +44,6 @@
 								node-key="id"
 								show-checkbox
 								:props="{ children: 'children', label: 'title', class: treeNodeClass }"
-								:default-checked-keys="ownMenuData"
 								highlight-current
 								class="menu-data-tree"
 								icon="ele-Menu"
@@ -81,11 +80,6 @@ export default defineComponent({
 			type: String,
 			default: '',
 		},
-		// 拥有菜单集合
-		ownMenuData: {
-			type: Array,
-			default: () => [],
-		},
 	},
 	setup() {
 		const { proxy } = getCurrentInstance() as any;
@@ -101,7 +95,7 @@ export default defineComponent({
 				order: 100, // 排序
 				status: 1, // 是否启用
 				remark: '', // 备注
-				menuIdList: [] as any, // 菜单权限
+				menuIdList: [] as any, // 菜单集合
 			},
 			ruleRules: {
 				name: [{ required: true, message: '角色名称不能为空', trigger: 'blur' }],
@@ -116,9 +110,14 @@ export default defineComponent({
 			state.loading = false;
 		});
 		// 打开弹窗
-		const openDialog = (row: any) => {
-			treeRef.value?.setCheckedKeys([]); // 先清空已选择节点
+		const openDialog = async (row: any) => {
 			state.ruleForm = row;
+			if (JSON.stringify(row) !== '{}') {
+				var res = await getAPI(SysRoleApi).sysRoleOwnMenuListGet(row.id);
+				setTimeout(() => {
+					treeRef.value?.setCheckedKeys(res.data.result);
+				}, 100);
+			}
 			state.isShowDialog = true;
 		};
 		// 关闭弹窗

+ 0 - 1
vue-next-admin/src/views/system/role/component/grantData.vue

@@ -62,7 +62,6 @@ export default defineComponent({
 			state.ruleForm = row;
 			var res = await getAPI(SysRoleApi).sysRoleOwnOrgGet(row.id);
 			setTimeout(() => {
-				// 延迟传递数据
 				orgTreeRef.value?.setCheckedKeys(res.data.result);
 			}, 100);
 			state.isShowDialog = true;

+ 6 - 11
vue-next-admin/src/views/system/role/index.vue

@@ -71,7 +71,7 @@
 			/>
 		</el-card>
 
-		<EditRole ref="editRoleRef" :title="editRoleTitle" :ownMenuData="ownMenuData" />
+		<EditRole ref="editRoleRef" :title="editRoleTitle" />
 		<GrantData ref="grantDataRef" />
 	</div>
 </template>
@@ -105,7 +105,6 @@ export default defineComponent({
 				total: 0 as any,
 			},
 			editRoleTitle: '',
-			ownMenuData: [] as any,
 		});
 		onMounted(async () => {
 			handleQuery();
@@ -139,12 +138,12 @@ export default defineComponent({
 		// 打开编辑页面
 		const openEditRole = async (row: any) => {
 			state.editRoleTitle = '编辑角色';
-			state.loading = true;
-			var res = await getAPI(SysRoleApi).sysRoleOwnMenuListGet(row.id);
-			state.ownMenuData = res.data.result;
-			state.loading = false;
 			editRoleRef.value.openDialog(row);
 		};
+		// 打开授权数据范围页面
+		const openGrantData = (row: any) => {
+			grantDataRef.value.openDialog(row);
+		};
 		// 删除
 		const delRole = (row: any) => {
 			ElMessageBox.confirm(`确定删角色:【${row.name}】?`, '提示', {
@@ -169,10 +168,6 @@ export default defineComponent({
 			state.tableParams.page = val;
 			handleQuery();
 		};
-		// 打开授权数据范围页面
-		const openGrantData = (row: any) => {
-			grantDataRef.value.openDialog(row);
-		};
 		return {
 			handleQuery,
 			resetQuery,
@@ -180,10 +175,10 @@ export default defineComponent({
 			grantDataRef,
 			openAddRole,
 			openEditRole,
+			openGrantData,
 			delRole,
 			handleSizeChange,
 			handleCurrentChange,
-			openGrantData,
 			...toRefs(state),
 		};
 	},

+ 3 - 3
vue-next-admin/src/views/system/server/index.vue

@@ -40,7 +40,7 @@
 				</el-card>
 			</el-col>
 			<el-col :md="12" :sm="24">
-				<el-card shadow="hover" header="使用信息">
+				<el-card shadow="hover" header="使用信息" v-loading="loading">
 					<table class="sysInfo_table">
 						<tr>
 							<td class="sysInfo_td">启动时间:</td>
@@ -138,12 +138,10 @@ export default defineComponent({
 			timer: null as any,
 		});
 		onMounted(async () => {
-			state.loading = true;
 			loadMachineBaseInfo();
 			loadMachineUseInfo();
 			loadMachineDiskInfo();
 			loadAssemblyInfo();
-			state.loading = false;
 		});
 		// 服务器配置信息
 		const loadMachineBaseInfo = async () => {
@@ -152,8 +150,10 @@ export default defineComponent({
 		};
 		// 服务器内存信息
 		const loadMachineUseInfo = async () => {
+			state.loading = true;
 			var res = await getAPI(SysServerApi).serverUseGet();
 			state.machineUseInfo = res.data.result;
+			state.loading = false;
 		};
 		// 服务器磁盘信息
 		const loadMachineDiskInfo = async () => {

+ 0 - 1
vue-next-admin/src/views/system/user/component/grantOrg.vue

@@ -48,7 +48,6 @@ export default defineComponent({
 			state.ruleForm = row;
 			var res = await getAPI(SysUserApi).sysUserOwnOrgGet(row.id);
 			setTimeout(() => {
-				// 延迟传递数据
 				orgTreeRef.value?.setCheckedKeys(res.data.result);
 			}, 100);
 			state.isShowDialog = true;

+ 3 - 3
vue-next-admin/src/views/system/user/index.vue

@@ -67,9 +67,9 @@
 									</span>
 									<template #dropdown>
 										<el-dropdown-menu>
-											<el-dropdown-item icon="ele-OfficeBuilding" @click="openGrantOrg(scope.row)" v-auth="'sysUser:grantData'"> 数据范围 </el-dropdown-item>
-											<el-dropdown-item icon="ele-RefreshLeft" @click="resetUserPwd(scope.row)" v-auth="'sysUser:resetPwd'"> 重置密码 </el-dropdown-item>
-											<el-dropdown-item icon="ele-Delete" @click="delUser(scope.row)" v-auth="'sysUser:delete'"> 删除账号 </el-dropdown-item>
+											<el-dropdown-item icon="ele-OfficeBuilding" @click="openGrantOrg(scope.row)" :v-auth="'sysUser:grantData'"> 数据范围 </el-dropdown-item>
+											<el-dropdown-item icon="ele-RefreshLeft" @click="resetUserPwd(scope.row)" :v-auth="'sysUser:resetPwd'"> 重置密码 </el-dropdown-item>
+											<el-dropdown-item icon="ele-Delete" @click="delUser(scope.row)" :v-auth="'sysUser:delete'"> 删除账号 </el-dropdown-item>
 										</el-dropdown-menu>
 									</template>
 								</el-dropdown>