diff --git a/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAsset.vue b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAsset.vue
index 754b98388..be44f5980 100644
--- a/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAsset.vue
+++ b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAsset.vue
@@ -65,7 +65,8 @@ export default {
const url = `/api/v1/perms/asset-permissions-assets-relations/?assetpermission=${this.object.id}&asset=${cellValue}`
this.$axios.delete(url).then(res => {
this.$message.success(this.$tc('DeleteSuccessMsg'))
- this.$store.commit('common/reload')
+ this.$emit('relation-changed')
+ reload()
}).catch(error => {
this.$message.error(this.$tc('DeleteErrorMsg') + ' ' + error)
})
@@ -103,7 +104,8 @@ export default {
onAddSuccess: (items, that) => {
this.$log.debug('AssetSelect value', that.assets)
this.$message.success(this.$tc('UpdateSuccessMsg'))
- this.$store.commit('common/reload')
+ this.$emit('relation-changed')
+ this.$refs.ListTable.reloadTable()
}
},
nodeRelationConfig: {
@@ -131,6 +133,7 @@ export default {
this.$log.debug('Select value', that.select2.value)
that.iHasObjects = [...that.iHasObjects, ...objects]
that.$refs.select2.clearSelected()
+ this.$emit('relation-changed')
this.$message.success(this.$tc('UpdateSuccessMsg'))
this.$refs.ListTable.reloadTable()
},
@@ -148,6 +151,7 @@ export default {
this.$log.debug('disabled values remove index: ', i)
that.select2.disabledValues.splice(i, 1)
}
+ this.$emit('relation-changed')
this.$message.success(this.$tc('DeleteSuccessMsg'))
this.$refs.ListTable.reloadTable()
}
diff --git a/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionUser.vue b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionUser.vue
index 46469178f..cc93b16ca 100644
--- a/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionUser.vue
+++ b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionUser.vue
@@ -55,7 +55,8 @@ export default {
const url = `/api/v1/perms/asset-permissions-users-relations/?assetpermission=${this.object.id}&user=${cellValue}`
this.$axios.delete(url).then(res => {
this.$message.success(this.$tc('DeleteSuccessMsg'))
- this.$store.commit('common/reload')
+ this.$emit('relation-changed')
+ reload()
}).catch(error => {
this.$message.error(this.$tc('DeleteErrorMsg') + ' ' + error)
})
@@ -103,6 +104,7 @@ export default {
this.$log.debug('Select value', that.select2.value)
that.iHasObjects = [...that.iHasObjects, ...objects]
that.$refs.select2.clearSelected()
+ this.$emit('relation-changed')
this.$refs.ListTable.reloadTable()
}
},
@@ -133,6 +135,7 @@ export default {
onAddSuccess: (objects, that) => {
that.iHasObjects = [...that.iHasObjects, ...objects]
that.$refs.select2.clearSelected()
+ this.$emit('relation-changed')
this.$message.success(this.$tc('UpdateSuccessMsg'))
this.$refs.ListTable.reloadTable()
},
@@ -144,6 +147,7 @@ export default {
this.$log.debug('disabled values remove index: ', i)
that.select2.disabledValues.splice(i, 1)
}
+ this.$emit('relation-changed')
this.$message.success(this.$tc('DeleteSuccessMsg'))
this.$refs.ListTable.reloadTable()
}
diff --git a/src/views/perms/AssetPermission/AssetPermissionDetail/index.vue b/src/views/perms/AssetPermission/AssetPermissionDetail/index.vue
index 83d557886..38dfca335 100644
--- a/src/views/perms/AssetPermission/AssetPermissionDetail/index.vue
+++ b/src/views/perms/AssetPermission/AssetPermissionDetail/index.vue
@@ -7,7 +7,11 @@
@tab-click="handleTabClick"
>
-
+
@@ -30,6 +34,7 @@ export default {
},
data() {
return {
+ relationChanged: false,
AssetPermission: {
name: '',
users_amount: 0,
@@ -67,7 +72,16 @@ export default {
}
}
},
+ beforeDestroy() {
+ // 当弹窗关闭时,如果关联发生变化,通知父级列表局部刷新
+ if (this.relationChanged) {
+ this.$emit('relation-change')
+ }
+ },
methods: {
+ handleRelationChanged() {
+ this.relationChanged = true
+ },
handleTabClick(tab) {
if (tab.name !== 'AssetPermissionDetail') {
this.$set(this.config, 'hasRightSide', false)
diff --git a/src/views/perms/AssetPermission/AssetPermissionList.vue b/src/views/perms/AssetPermission/AssetPermissionList.vue
index 5e68c7562..d05e9bb3a 100644
--- a/src/views/perms/AssetPermission/AssetPermissionList.vue
+++ b/src/views/perms/AssetPermission/AssetPermissionList.vue
@@ -7,6 +7,7 @@
:tree-setting="treeSetting"
:quick-filters="quickFilter"
:create-drawer="createDrawer"
+ @relation-change="handleRelationChange"
/>