worm.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import request from '@/utils/request/index.js'
  2. import {
  3. timeFormat
  4. } from '@/utils/utils.js'
  5. /**
  6. * 虫情监测模块
  7. */
  8. // 虫情监测模块请求父类函数
  9. const wormRequest = async (url, data) => {
  10. const res = await request.post(`api/api_gateway?method=forecast.worm_lamp.${url}`, data);
  11. return res?.data;
  12. }
  13. // 测报灯列表
  14. export const getWormLampList = (params) => wormRequest('lamp_list', params);
  15. // 测报灯详情
  16. export const getWormLampDetails = (params) => wormRequest('device_status_data', params);
  17. // 害虫预警
  18. export const getPestWarningList = (params) => wormRequest('cbd_pest_warning', params);
  19. // 图片列表
  20. export const getWormImageList = async (params) => {
  21. const res = await request.post(`api/api_gateway?method=forecast.forecast_system.device_photo_list`, params);
  22. return res?.data;
  23. }
  24. // 害虫数据详情
  25. export const getWormDetails = (params) => wormRequest('worm_list', params);
  26. // 虫情分析-始见期
  27. export const getPestRaiseInfo = (params) => wormRequest('pest_raise_info', params);
  28. // 虫情分析-折线图
  29. export const getPestStatisticsChart = async (params) => {
  30. const {
  31. char_data,
  32. pest_total,
  33. at_ah_info
  34. } = await wormRequest('pest_statistics_char_new', params);
  35. // at_ah_info组装成 categories: [],series: [{name: "",data: []}] 格式
  36. let lineChart = {
  37. categories: [],
  38. series: [{
  39. name: '湿度',
  40. data: []
  41. }, {
  42. name: '温度',
  43. data: []
  44. }],
  45. }
  46. for (let i = 0; i < at_ah_info.length; i++) {
  47. lineChart.categories.push(timeFormat(at_ah_info[i].addtime, 'mm-dd'))
  48. lineChart.series[0].data.push(at_ah_info[i].ah)
  49. lineChart.series[1].data.push(at_ah_info[i].at)
  50. }
  51. // at_ah_info组装 完成
  52. //饼状图数据组装
  53. let pieChart = {
  54. series: [{
  55. data: []
  56. }]
  57. }
  58. for (let key in pest_total) {
  59. pieChart.series[0].data.push({
  60. name: key,
  61. value: pest_total[key]
  62. })
  63. }
  64. return {
  65. lineChart,
  66. pieChart,
  67. pestTotal: pest_total,
  68. }
  69. };
  70. // 虫情分析-害虫图片溯源
  71. export const getPestImageSource = (params) => wormRequest('pest_image_source', params);
  72. // 虫情分析-害虫基础信息溯源
  73. export const getPestBaseData = (params) => wormRequest('pest_base_data', params);
  74. // 历史数据
  75. export const getWormLampHistory = (params) => wormRequest('device_history_data', params);