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" />