crud.tsx 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. import * as api from './api'
  2. import {AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, UserPageQuery} from '@fast-crud/fast-crud'
  3. import {inject} from 'vue'
  4. import {BaseColumn} from '/@/views/adManage/utils/commonTabColumn.js'
  5. import {parseQueryParams} from '/@/views/adManage/utils/tools.js'
  6. import XEUtils from 'xe-utils'
  7. export const createCrudOptions = function ({crudExpose, context}: CreateCrudOptionsProps): CreateCrudOptionsRet {
  8. const pageRequest = async (query: UserPageQuery) => {
  9. const params = parseQueryParams(context.value)
  10. XEUtils.assign(query, params)
  11. return await api.GetList(query)
  12. }
  13. const editRequest = async ({form, row}: EditReq) => {
  14. form.id = row.id
  15. return await api.UpdateObj(form)
  16. }
  17. const delRequest = async ({row}: DelReq) => {
  18. return await api.DelObj(row.id)
  19. }
  20. const addRequest = async ({form}: AddReq) => {
  21. return await api.AddObj(form)
  22. }
  23. //权限判定
  24. const hasPermissions = inject('$hasPermissions')
  25. return {
  26. crudOptions: {
  27. table: {
  28. height: 800,
  29. },
  30. container: {
  31. fixedHeight: false
  32. },
  33. actionbar: {
  34. show: true,
  35. buttons: {
  36. add: {
  37. show: false
  38. },
  39. // create: {
  40. // text: '新建广告活动',
  41. // type: 'primary',
  42. // show: true,
  43. // click() {
  44. //
  45. // }
  46. // }
  47. }
  48. },
  49. search: {
  50. show: false
  51. },
  52. toolbar: {
  53. buttons: {
  54. search: {
  55. show: true
  56. },
  57. compact: {
  58. show: false
  59. }
  60. }
  61. },
  62. request: {
  63. pageRequest,
  64. addRequest,
  65. editRequest,
  66. delRequest,
  67. },
  68. rowHandle: {
  69. fixed: 'right',
  70. width: 80,
  71. buttons: {
  72. view: {
  73. show: false,
  74. },
  75. edit: {
  76. iconRight: 'Edit',
  77. type: 'text',
  78. text: null
  79. // show: hasPermissions('dictionary:Update'),
  80. },
  81. remove: {
  82. show: false
  83. // iconRight: 'Delete',
  84. // type: 'text',
  85. // text: null
  86. // show: hasPermissions('dictionary:Delete'),
  87. },
  88. },
  89. },
  90. columns: {
  91. id: {
  92. title: 'ID',
  93. column: {
  94. show: false
  95. },
  96. form: {
  97. show: false
  98. }
  99. },
  100. Name: {
  101. title: '日期',
  102. column: {
  103. width: 100,
  104. align: 'left'
  105. }
  106. },
  107. Spend: {
  108. title: '花费',
  109. column: {
  110. width: 100,
  111. align: 'left'
  112. },
  113. },
  114. TotalSales: {
  115. title: '销售额',
  116. },
  117. ACOS: {
  118. title: 'ACOS',
  119. },
  120. CPC: {
  121. title: '点击成本',
  122. },
  123. CPA: {
  124. title: '订单成本',
  125. },
  126. Click: {
  127. title: '点击量',
  128. },
  129. CTR: {
  130. title: '点击率',
  131. },
  132. TotalPurchases: {
  133. title: '订单数'
  134. },
  135. TotalUnitOrdered: {
  136. title: '销量',
  137. },
  138. ...BaseColumn
  139. }
  140. }
  141. }
  142. }