From cccec1aa1bb42db72528a1e4ca3357b72539f756 Mon Sep 17 00:00:00 2001
From: zhaojisen <1301338853@qq.com>
Date: Mon, 1 Jul 2024 19:28:00 +0800
Subject: [PATCH] fixed: Fixed an issue with Select2 component and table in
user list
---
src/components/Cards/RelationCard/index.vue | 20 ++++++++++++-------
.../components/PermUserGroupCard.vue | 2 +-
.../users/Group/UserGroupDetail/GroupUser.vue | 18 ++++++++++++-----
3 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/src/components/Cards/RelationCard/index.vue b/src/components/Cards/RelationCard/index.vue
index b12c4b2ce..f1143e4db 100644
--- a/src/components/Cards/RelationCard/index.vue
+++ b/src/components/Cards/RelationCard/index.vue
@@ -114,15 +114,17 @@ export default {
onDeleteSuccess: {
type: Function,
default(obj, that) {
- // 从hasObjects中移除这个object
+ // 从 hasObjects 中移除这个object
const theRemoveIndex = that.iHasObjects.findIndex((v) => v.value === obj.value)
that.iHasObjects.splice(theRemoveIndex, 1)
- // 从disabled values中移除这个value
+
+ // 从 disabled values 中移除这个 value
while (that.select2.disabledValues.indexOf(obj.value) !== -1) {
const i = that.select2.disabledValues.indexOf(obj.value)
- this.$log.debug('disabled values remove index: ', i)
+ that.$log.debug('disabled values remove index: ', i)
that.select2.disabledValues.splice(i, 1)
}
+
that.$message.success(that.$t('RemoveSuccessMsg'))
}
},
@@ -157,6 +159,8 @@ export default {
that.iHasObjects = [...that.iHasObjects, ...objects]
that.$refs.select2.clearSelected()
that.$message.success(that.$t('AddSuccessMsg'))
+ this.$refs.select2.refresh()
+ this.$emit('addSuccess')
}
},
getHasObjects: {
@@ -291,9 +295,9 @@ export default {
}
},
removeObject(obj) {
- this.performDelete(obj, this).then(
- () => this.onDeleteSuccess(obj, this)
- ).catch(error => {
+ this.performDelete(obj, this).then(() => {
+ this.onDeleteSuccess(obj, this)
+ }).catch(error => {
this.onDeleteFail(error, this)
})
},
@@ -303,7 +307,9 @@ export default {
return
}
this.performAdd(objects, this).then(
- () => this.onAddSuccess(objects, this)
+ () => {
+ this.onAddSuccess(objects, this)
+ }
)
},
async selectAll() {
diff --git a/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue b/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue
index 2fb352fd6..9fc801bbc 100644
--- a/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue
+++ b/src/views/assets/Asset/AssetDetail/components/PermUserGroupCard.vue
@@ -51,7 +51,7 @@ export default {
props: {
icon: {
type: String,
- required: true
+ default: ''
},
title: {
type: String,
diff --git a/src/views/users/Group/UserGroupDetail/GroupUser.vue b/src/views/users/Group/UserGroupDetail/GroupUser.vue
index 386c68d69..42091511b 100644
--- a/src/views/users/Group/UserGroupDetail/GroupUser.vue
+++ b/src/views/users/Group/UserGroupDetail/GroupUser.vue
@@ -5,7 +5,7 @@
-
+
@@ -95,6 +95,11 @@ export default {
}
).then(res => {
this.$message.success(this.$tc('DeleteSuccessMsg'))
+
+ setTimeout(() => {
+ this.$refs.relationCard.$refs.select2.refresh()
+ }, 300)
+
reload()
}).catch(error => {
this.$message.error(this.$tc('DeleteErrorMsg') + ' ' + error)
@@ -143,14 +148,17 @@ export default {
usergroup: groupId
}
})
- this.$axios.post(relationUrl, data)
+
this.$message.success(this.$tc('AddSuccessMsg'))
- setTimeout(() => {
- window.location.reload()
- }, 1000)
+ return this.$axios.post(relationUrl, data)
}
}
}
+ },
+ methods: {
+ addSuccess() {
+ this.$refs.listTable.reloadTable()
+ }
}
}