api.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import { parseTime } from '@/utils'
  2. import { downloadRequest } from '@/utils/request'
  3. import {
  4. send,
  5. addTenant
  6. } from '@/api/base'
  7. function download ({ data, headers }, fileName) {
  8. const blob = new Blob([data], { type: headers['content-type'] })
  9. const url = window.URL.createObjectURL(blob)
  10. const dom = document.createElement('a')
  11. dom.href = url
  12. dom.download = decodeURI(fileName)
  13. dom.style.display = 'none'
  14. document.body.appendChild(dom)
  15. dom.click()
  16. dom.parentNode.removeChild(dom)
  17. window.URL.revokeObjectURL(url)
  18. }
  19. export function getDeviceExcel () {
  20. return send({
  21. url: '/device/tenant/export/excel',
  22. method: 'GET',
  23. params: addTenant()
  24. }, downloadRequest).then(response => {
  25. download(response, `设备报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}.xlsx`)
  26. })
  27. }
  28. export function getMaterialExcel (params, fileName = '') {
  29. return send({
  30. url: '/minio-data/export',
  31. method: 'GET',
  32. params: addTenant(params)
  33. }, downloadRequest).then(response => {
  34. download(response, `资源报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  35. })
  36. }
  37. export function getContentExcel (params, fileName = '') {
  38. return send({
  39. url: '/minio-data/usage/degree/export',
  40. method: 'GET',
  41. params: addTenant(params)
  42. }, downloadRequest).then(response => {
  43. download(response, `内容播放${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  44. })
  45. }
  46. export function getAccountExcel (params, fileName = '') {
  47. return send({
  48. url: '/admin/department/user/export',
  49. method: 'GET',
  50. params: addTenant(params)
  51. }, downloadRequest).then(response => {
  52. download(response, `账号报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  53. })
  54. }
  55. export function getAuditExcel (params, fileName = '') {
  56. return send({
  57. url: '/orchestration/calendarReleaseHis/export',
  58. method: 'GET',
  59. params
  60. }, downloadRequest).then(response => {
  61. download(response, `三审报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xls`)
  62. })
  63. }
  64. export function getProgramGuideExcel (params, fileName = '') {
  65. return send({
  66. url: '/ad/tenant/scheduling/export',
  67. method: 'GET',
  68. params
  69. }, downloadRequest).then(response => {
  70. download(response, `节目单${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  71. })
  72. }
  73. export function getDeviceAdExcel ({ deviceId, date }, fileName = '') {
  74. return send({
  75. url: `/minio-data/device/${deviceId}/usage/statistic/export`,
  76. method: 'GET',
  77. params: { date }
  78. }, downloadRequest).then(response => {
  79. download(response, `广告播放${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  80. })
  81. }
  82. export function getOnlineDurationExcel () {
  83. return send({
  84. url: '/excel/export?type=DEVICE_ONLINE_TOTAL',
  85. method: 'POST',
  86. data: addTenant()
  87. }, downloadRequest).then(response => {
  88. download(response, `在线时长${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}.xlsx`)
  89. })
  90. }
  91. export function getRangeOnlineDurationExcel (data, fileName = '') {
  92. return send({
  93. url: '/excel/export?type=DEVICE_ONLINE_RANGEDAY',
  94. method: 'POST',
  95. data: addTenant(data)
  96. }, downloadRequest).then(response => {
  97. download(response, `在线时长${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  98. })
  99. }
  100. export function getDepartmentOnlineDurationExcel (department, fileName = '') {
  101. return send({
  102. url: '/excel/export?type=DEVICE_ONLINE_TOTAL',
  103. method: 'POST',
  104. data: { department }
  105. }, downloadRequest).then(response => {
  106. download(response, `在线时长${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  107. })
  108. }
  109. export function getDepartmentRangeOnlineDurationExcel (data, fileName = '') {
  110. return send({
  111. url: '/excel/export?type=DEVICE_ONLINE_RANGEDAY',
  112. method: 'POST',
  113. data
  114. }, downloadRequest).then(response => {
  115. download(response, `在线时长${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  116. })
  117. }