index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import * as R from 'ramda'
  2. import i18n from '@/locales'
  3. export const exportDataOptions = {
  4. title: i18n.t('compute.text_986'),
  5. resource: 'secgrouprules',
  6. items: [
  7. { label: i18n.t('compute.text_987'), key: 'id' },
  8. { label: i18n.t('compute.text_988'), key: 'secgroup' },
  9. { label: i18n.t('compute.text_989'), key: 'secgroup_id' },
  10. { label: i18n.t('compute.text_990'), key: 'direction' },
  11. { label: i18n.t('compute.text_694'), key: 'action' },
  12. { label: i18n.t('compute.text_980'), key: 'protocol' },
  13. { label: i18n.t('compute.text_349'), key: 'ports' },
  14. { label: i18n.t('compute.text_981'), key: 'priority' },
  15. { label: 'CIDR', key: 'cidr' },
  16. { label: i18n.t('dictionary.project'), key: 'tenant' },
  17. { label: i18n.t('compute.text_271'), key: 'user_tags' },
  18. { label: i18n.t('common_295'), key: 'account' },
  19. { label: i18n.t('compute.text_653'), key: 'manager' },
  20. { label: i18n.t('compute.text_177'), key: 'cloudregion' },
  21. { label: i18n.t('common.createdAt'), key: 'created_at' },
  22. ],
  23. transformParams (params) {
  24. if (params.filter) {
  25. params.filter = params.filter.map((item) => {
  26. if (item.includes('name.contains(')) {
  27. const val = /\((.+?)\)/.exec(item)[1]
  28. params.secgroup_name = val
  29. return ''
  30. }
  31. if (R.is(String, item) && item.startsWith('id.in(')) {
  32. return item.replace('id', 'secgroup_id')
  33. }
  34. if (R.is(Array, item) && item.some(k => R.is(String, k) && k.startsWith('id.in('))) {
  35. item = item.map(k => {
  36. if (R.is(String, k) && k.startsWith('id.in(')) {
  37. return k.replace('id', 'secgroup_id')
  38. }
  39. return k
  40. })
  41. }
  42. return item
  43. }).filter((item) => {
  44. return item
  45. })
  46. }
  47. return params
  48. },
  49. }