jiaxing.zhou

refactor(userRoleConfig): 优化用户角色配置弹窗数据加载逻辑

- 添加 isDataLoaded 变量用于控制数据加载状态
- 在弹窗打开时重置数据加载状态
- 在数据加载完成后设置 isDataLoaded 为 true
- 在数据加载失败时设置 isDataLoaded 为 true 并显示提示信息
- 关闭弹窗时重置数据加载状态
<template>
<el-dialog
v-if="isDataLoaded"
class="entryDialog classCUploadDialog"
:title="title"
:visible.sync="outerVisible"
......@@ -275,24 +276,33 @@ export default {
submitLoading: false,
},
loadingText: "",
isDataLoaded: false, // 新增变量
};
},
watch: {
outerVisible(val) {
if (val) {
this.loadings.dialogLoading = false;
this.loadings.dialogLoading = true;
this.isDataLoaded = false; // 重置数据加载状态
this.searchUserData(this.active.id);
if (this.type == "update") {
} else if (this.type == "roleChange") {
this.searchRoleData();
}
} else {
this.isDataLoaded = false; // 关闭弹窗时重置数据加载状态
}
},
isDataLoaded(val) {
if (val) {
this.loadings.dialogLoading = false;
this.$emit('update:outerVisible', true); // 设置 outerVisible 为 true
}
},
},
methods: {
//查询用户信息详情
// 查询用户信息详情
searchUserData(id) {
this.loadings.dialogLoading = true;
getUserDetailData({ id: id })
.then((res) => {
if (res.code === "200") {
......@@ -300,14 +310,15 @@ export default {
} else {
this.alertWarningMsg(res.message);
}
this.loadings.dialogLoading = false;
this.isDataLoaded = true; // 设置数据加载完成
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
this.alertWarningMsg("数据加载失败,请重试");
this.isDataLoaded = true; // 设置数据加载完成
});
},
//查询角色
// 查询角色
searchRoleData() {
getUserRoleType({ userId: this.active.id })
.then((res) => {
......@@ -315,9 +326,12 @@ export default {
let unassigned = res.data.unassigned.concat(res.data.assigned);
this.portDataInfo(unassigned, res.data.assigned);
}
this.isDataLoaded = true; // 设置数据加载完成
})
.catch((err) => {
console.log(err);
this.alertWarningMsg("数据加载失败,请重试");
this.isDataLoaded = true; // 设置数据加载完成
});
},
//数据保存
......