import { parseTime } from '@/utils' import request, { downloadRequest } from '@/utils/request.js' import { send, addTenant } from '@/api/base.js' function download ({ data, headers }, fileName) { const blob = new Blob([data], { type: headers['content-type'] }) const url = window.URL.createObjectURL(blob) const dom = document.createElement('a') dom.href = url dom.download = decodeURI(fileName) dom.style.display = 'none' document.body.appendChild(dom) dom.click() dom.parentNode.removeChild(dom) window.URL.revokeObjectURL(url) } export function getDeviceExcel () { return send({ url: '/device/tenant/export/excel', method: 'GET', params: addTenant() }, downloadRequest).then(response => { download(response, `设备报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}.xlsx`) }) } export function getMaterialExcel (params, fileName = '') { return send({ url: '/minio-data/export', method: 'GET', params: addTenant(params) }, downloadRequest).then(response => { download(response, `资源报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`) }) } export function getContentExcel (params, fileName = '') { return send({ url: '/minio-data/usage/degree/export', method: 'GET', params: addTenant(params) }, downloadRequest).then(response => { download(response, `内容播放${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`) }) } export function getDeviceStatusExcel (data, fileName = '') { return send({ url: '/device/tenant/export/excelByDate', method: 'POST', data: addTenant(data) }, downloadRequest).then(response => { download(response, `设备状况${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`) }) } export function getDeviceWarnExcel (data, fileName = '') { return send({ url: '/device/warn/export/excel', method: 'POST', data: addTenant(data) }, downloadRequest).then(response => { download(response, `设备预警${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`) }) } export function getAccountExcel (params, fileName = '') { return send({ url: '/admin/department/user/export', method: 'GET', params: addTenant(params) }, downloadRequest).then(response => { download(response, `账号报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`) }) } export function getAuditExcel (params, fileName = '') { return send({ url: '/orchestration/calendarReleaseHis/export', method: 'GET', params }, downloadRequest).then(response => { download(response, `三审报表${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xls`) }) } export function getProgramGuideExcel (data) { return send({ url: '/orchestration/jmdExportBatch', method: 'POST', data }, downloadRequest).then(response => { download(response, `节目单${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}.zip`) }) } export function getProgramPlaysExcel (data) { return send({ url: '/orchestration/timeSplit/export', method: 'POST', data }, downloadRequest).then(response => { download(response, `播放清单${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}.xls`) }) } export function getDeviceAdExcel ({ deviceId, date }, fileName = '') { return send({ url: `/minio-data/device/${deviceId}/usage/statistic/export`, method: 'GET', params: { date } }, downloadRequest).then(response => { download(response, `广告播放${parseTime(new Date(), '{y}{m}{d}{h}{i}{s}')}_${fileName}.xlsx`) }) } export function getOnlineDurationExcel () { return send({ url: '/excel/export?type=DEVICE_ONLINE_TOTAL', method: 'POST', data: addTenant() }) } export function getRangeOnlineDurationExcel (data) { return send({ url: '/excel/export?type=DEVICE_ONLINE_RANGEDAY', method: 'POST', data: addTenant(data) }) } export function getDepartmentOnlineDurationExcel (department) { return send({ url: '/excel/export?type=DEVICE_ONLINE_TOTAL', method: 'POST', data: { department } }) } export function getDepartmentRangeOnlineDurationExcel (data) { return send({ url: '/excel/export?type=DEVICE_ONLINE_RANGEDAY', method: 'POST', data }) } // 人流量统计 export function getPeopleCoutingExcel (data) { return send({ url: '/camera/statistic/export', method: 'POST', data }) } // 大屏上下线记录 export function getScreenOnlineExcel (data) { return send({ url: '/device/screen/online/export', method: 'POST', data }) } // 大屏播出单 export function addScreenBroadcastTask (data) { return send({ url: '/device/screen/record/export', method: 'POST', data }) } // 设备播放时长 export function getDevicePlayTime (data) { return send({ url: '/device/manage/play/statistics/export', method: 'POST', data: addTenant(data) }) } // 设备在线情况 export function getDeviceOnlineInfo (data) { return send({ url: '/device/manage/online/statistics/export', method: 'POST', data: addTenant(data) }) } // 自营广告播放 export function getSelfPlay (params) { return send({ url: '/minio-data/manage/self/play/export', method: 'GET', params: addTenant(params) }) } export function getServerAsyncTasks (query) { const { pageNum: pageIndex, pageSize, ...params } = query return request({ url: '/device/async-task/page', method: 'POST', data: ({ pageIndex, pageSize, ...params }) }) }