OutDirection.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <template>
  2. <div>
  3. <a-alert
  4. :message="$t('compute.text_1032')"
  5. type="warning"
  6. style="margin-bottom: 20px" />
  7. <direction-list :type="this.getParams.type" :id="this.getParams.id" :isRead="isRead" :listId="getParams.listId" :data="data" />
  8. </div>
  9. </template>
  10. <script>
  11. import { mapGetters } from 'vuex'
  12. import DirectionList from '@Compute/views/secgroup-rule/components/List'
  13. import WindowsMixin from '@/mixins/windows'
  14. export default {
  15. name: 'InDirection',
  16. components: {
  17. DirectionList,
  18. },
  19. mixins: [WindowsMixin],
  20. props: {
  21. getParams: {
  22. type: Object,
  23. required: true,
  24. },
  25. resId: String,
  26. data: {
  27. type: Object,
  28. required: true,
  29. },
  30. },
  31. computed: {
  32. ...mapGetters(['isAdminMode', 'isDomainMode', 'isProjectMode', 'userInfo']),
  33. isRead () {
  34. return !this.isOwner
  35. },
  36. isOwner (obj) {
  37. if (!obj.domain_id && obj.data.domain_id) {
  38. obj = obj.data
  39. }
  40. if (this.isAdminMode) return true
  41. if (this.isDomainMode) return obj.domain_id === this.userInfo.projectDomainId
  42. return obj.tenant_id === this.userInfo.projectId
  43. },
  44. },
  45. }
  46. </script>