api.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. import { parseTime } from '@/utils'
  2. import request, { downloadRequest } from '@/utils/request.js'
  3. import {
  4. send,
  5. addTenant
  6. } from '@/api/base.js'
  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 getDeviceStatusExcel (data, fileName = '') {
  47. return send({
  48. url: '/device/tenant/export/excelByDate',
  49. method: 'POST',
  50. data: addTenant(data)
  51. }, downloadRequest).then(response => {
  52. download(response, `设备状况${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  53. })
  54. }
  55. export function getDeviceWarnExcel (data, fileName = '') {
  56. return send({
  57. url: '/device/warn/export/excel',
  58. method: 'POST',
  59. data: addTenant(data)
  60. }, downloadRequest).then(response => {
  61. download(response, `设备预警${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  62. })
  63. }
  64. export function getAccountExcel (params, fileName = '') {
  65. return send({
  66. url: '/admin/department/user/export',
  67. method: 'GET',
  68. params: addTenant(params)
  69. }, downloadRequest).then(response => {
  70. download(response, `账号报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  71. })
  72. }
  73. export function getAuditExcel (params, fileName = '') {
  74. return send({
  75. url: '/orchestration/calendarReleaseHis/export',
  76. method: 'GET',
  77. params
  78. }, downloadRequest).then(response => {
  79. download(response, `三审报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xls`)
  80. })
  81. }
  82. export function getProgramGuideExcel (data) {
  83. return send({
  84. url: '/orchestration/jmdExportBatch',
  85. method: 'POST',
  86. data
  87. }, downloadRequest).then(response => {
  88. download(response, `节目单${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}.zip`)
  89. })
  90. }
  91. export function getProgramPlaysExcel (data) {
  92. return send({
  93. url: '/orchestration/timeSplit/export',
  94. method: 'POST',
  95. data
  96. }, downloadRequest).then(response => {
  97. download(response, `播放清单${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}.xls`)
  98. })
  99. }
  100. export function getDeviceAdExcel ({ deviceId, date }, fileName = '') {
  101. return send({
  102. url: `/minio-data/device/${deviceId}/usage/statistic/export`,
  103. method: 'GET',
  104. params: { date }
  105. }, downloadRequest).then(response => {
  106. download(response, `广告播放${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`)
  107. })
  108. }
  109. export function getOnlineDurationExcel () {
  110. return send({
  111. url: '/excel/export?type=DEVICE_ONLINE_TOTAL',
  112. method: 'POST',
  113. data: addTenant()
  114. })
  115. }
  116. export function getRangeOnlineDurationExcel (data) {
  117. return send({
  118. url: '/excel/export?type=DEVICE_ONLINE_RANGEDAY',
  119. method: 'POST',
  120. data: addTenant(data)
  121. })
  122. }
  123. export function getDepartmentOnlineDurationExcel (department) {
  124. return send({
  125. url: '/excel/export?type=DEVICE_ONLINE_TOTAL',
  126. method: 'POST',
  127. data: { department }
  128. })
  129. }
  130. export function getDepartmentRangeOnlineDurationExcel (data) {
  131. return send({
  132. url: '/excel/export?type=DEVICE_ONLINE_RANGEDAY',
  133. method: 'POST',
  134. data
  135. })
  136. }
  137. // 人流量统计
  138. export function getPeopleCoutingExcel (data) {
  139. return send({
  140. url: '/camera/statistic/export',
  141. method: 'POST',
  142. data
  143. })
  144. }
  145. // 大屏上下线记录
  146. export function getScreenOnlineExcel (data) {
  147. return send({
  148. url: '/device/screen/online/export',
  149. method: 'POST',
  150. data
  151. })
  152. }
  153. // 大屏播出单
  154. export function addScreenBroadcastTask (data) {
  155. return send({
  156. url: '/device/screen/record/export',
  157. method: 'POST',
  158. data
  159. })
  160. }
  161. // 设备播放时长
  162. export function getDevicePlayTime (data) {
  163. return send({
  164. url: '/device/manage/play/statistics/export',
  165. method: 'POST',
  166. data: addTenant(data)
  167. })
  168. }
  169. // 设备在线情况
  170. export function getDeviceOnlineInfo (data) {
  171. return send({
  172. url: '/device/manage/online/statistics/export',
  173. method: 'POST',
  174. data: addTenant(data)
  175. })
  176. }
  177. // 自营广告播放
  178. export function getSelfPlay (params) {
  179. return send({
  180. url: '/minio-data/manage/self/play/export',
  181. method: 'GET',
  182. params: addTenant(params)
  183. })
  184. }
  185. export function getServerAsyncTasks (query) {
  186. const { pageNum: pageIndex, pageSize, ...params } = query
  187. return request({
  188. url: '/device/async-task/page',
  189. method: 'POST',
  190. data: ({
  191. pageIndex, pageSize,
  192. ...params
  193. })
  194. })
  195. }