| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import { PaginationProps } from '/@/components/Table';
- import { defHttp } from '/@/utils/http/axios';
- enum Api {
- listdays = '/safety/ventanalyMonitorData/listdays',
- getDeviceList = '/monitor/device',
- getHistoryData = '/monitor/history/getHistoryData',
- historydata = '/safety/ventanalyMonitorData/export/historydata',
- exportHistoryData = '/monitor/history/exportHistoryData',
- }
- /**
- * 获取列表的接口
- * @param deviceCode 设备编码,作为 strtype 传参
- * @param deviceInfo 设备信息,根据分站判别所用的 api
- * @param formData 表单数据
- * @param pagination 分页数据
- * @returns
- */
- const intervalMap = new Map([
- ['1', '1s'],
- ['2', '5s'],
- ['3', '10s'],
- ['4', '30s'],
- ['5', '1m'],
- ['6', '10m'],
- ['7', '30m'],
- ['8', '1h'],
- ]);
- export const adaptFormData = (deviceCode: string, deviceInfo: any, formData: any, pagination: PaginationProps) => {
- if (deviceInfo.stationType === 'redis') {
- return {
- pageNum: pagination.current,
- pageSize: pagination.pageSize,
- column: 'createTime',
- startTime: formData.ttime_begin,
- endTime: formData.ttime_end,
- deviceId: formData.gdeviceids,
- strtype: deviceCode,
- interval: intervalMap.get(formData['skip']) || '1h',
- isEmployee: deviceCode.startsWith('vehicle') ? false : true,
- };
- } else {
- return {
- pageNo: pagination.current,
- pageSize: pagination.pageSize,
- column: 'createTime',
- strtype: deviceCode,
- ...formData,
- };
- }
- };
- export const list = (deviceCode: string, deviceInfo: any, formData: any, pagination: PaginationProps) => {
- if (deviceInfo.stationType === 'redis') {
- return defHttp.post({
- url: Api.getHistoryData,
- params: adaptFormData(deviceCode, deviceInfo, formData, pagination),
- });
- } else {
- return defHttp
- .get({
- url: Api.listdays,
- params: adaptFormData(deviceCode, deviceInfo, formData, pagination),
- })
- .then((r) => {
- if (r.datalist) return r.datalist;
- return { total: 0, records: [] };
- });
- }
- };
- export const getExportUrl = (deviceInfo) => {
- if (deviceInfo.stationType === 'redis') {
- return Api.exportHistoryData;
- } else {
- return Api.historydata;
- }
- };
- /**
- * 根据设备编码获取设备列表
- * @param params
- */
- export const getDeviceList = (params) =>
- defHttp.post({ url: Api.getDeviceList, params }).then((r) => {
- if (r.records && r.records.length) {
- return r.records;
- }
- if (r.msgTxt && r.msgTxt.length) {
- return r.msgTxt[0].datalist;
- }
- return [];
- });
|