listOfOilEnginesApi.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. import { storeToRefs } from "pinia";
  2. import {ContentType, HttpClient, RequestParams} from "/@/api/admin/http-client";
  3. import {ExportExcelInputDto, PageInputFuelDispenserDto,ResultOutputPageOutputFuelDispenserDto} from "/@/api/admin/reportManagement/listOfOilEngines/listOfOilEnginesDto";import { useUserInfo } from "/@/stores/userInfo";
  4. ;
  5. export class ListOfOilEnginesApi <SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
  6. /**
  7. * No description
  8. *
  9. * @tags List
  10. * @name GetPage
  11. * @summary 查询分页
  12. * @request POST:
  13. * @secure
  14. */
  15. timer = 200
  16. getPage = (data: PageInputFuelDispenserDto, params: RequestParams = {}) =>
  17. this.request<ResultOutputPageOutputFuelDispenserDto, any>({
  18. path: `/api/app/fuel-dispenser/get-download-record`,
  19. method: 'POST',
  20. body: data,
  21. secure: true,
  22. type: ContentType.Json,
  23. format: 'json',
  24. ...params,
  25. })
  26. getPage2 = () =>
  27. new Promise(resolve => {
  28. setTimeout(() => {
  29. resolve({
  30. total:100,
  31. list:[{
  32. id:1,
  33. name:4,
  34. oilCompanies:"中石化",
  35. gasStation:"中石化",
  36. serialNumber:123321,
  37. model:"潜油泵",
  38. quantity:12,
  39. manufacturer:"托肯恒山",
  40. factoryTime:"123",
  41. startTime:"startTime",
  42. equipmentStatus:1,
  43. onlineStatus:2
  44. },{
  45. id:1,
  46. name:4,
  47. oilCompanies:"中石化",
  48. gasStation:"中石化",
  49. serialNumber:123321,
  50. model:"潜油泵",
  51. quantity:12,
  52. manufacturer:"托肯恒山",
  53. factoryTime:"123",
  54. startTime:"startTime",
  55. equipmentStatus:1,
  56. onlineStatus:2
  57. },{
  58. id:1,
  59. name:4,
  60. oilCompanies:"中石化",
  61. gasStation:"中石化",
  62. serialNumber:123321,
  63. model:"潜油泵",
  64. quantity:12,
  65. manufacturer:"托肯恒山",
  66. factoryTime:"123",
  67. startTime:"startTime",
  68. equipmentStatus:1,
  69. onlineStatus:2
  70. },{
  71. id:1,
  72. name:4,
  73. oilCompanies:"中石化",
  74. gasStation:"中石化",
  75. serialNumber:123321,
  76. model:"潜油泵",
  77. quantity:12,
  78. manufacturer:"托肯恒山",
  79. factoryTime:"123",
  80. startTime:"startTime",
  81. equipmentStatus:1,
  82. onlineStatus:2
  83. },{
  84. id:1,
  85. name:4,
  86. oilCompanies:"中石化",
  87. gasStation:"中石化",
  88. serialNumber:123321,
  89. model:"潜油泵",
  90. quantity:12,
  91. manufacturer:"托肯恒山",
  92. factoryTime:"123",
  93. startTime:"startTime",
  94. equipmentStatus:1,
  95. onlineStatus:2
  96. }]
  97. })
  98. },this.timer)
  99. })
  100. // 导出excel
  101. onExportExcel = (data: PageInputFuelDispenserDto, params: RequestParams = {}) => {
  102. const { userInfos } = storeToRefs(useUserInfo());
  103. const accessToken = userInfos.value.token;
  104. const token = `Bearer ${accessToken}`;
  105. const myHeaders = new Headers();
  106. myHeaders.append("Authorization", token);
  107. myHeaders.append("Content-Type", "application/json");
  108. // 请求体
  109. const body = JSON.stringify(data);
  110. const requestOptions: RequestInit = {
  111. method: 'POST',
  112. headers: myHeaders,
  113. body: body,
  114. redirect: 'follow',
  115. };
  116. // const fileUrl = import.meta.env.VITE_API_URL + '/api/app/fuel-dispenser/export-excel';
  117. const fileUrl = "http://dev.hsfuel.com:8070" + '/api/app/fuel-dispenser/export-excel';
  118. fetch(fileUrl, requestOptions)
  119. .then(response => response.blob())
  120. .then(blob => {
  121. const link = document.createElement('a');
  122. link.href = URL.createObjectURL(blob);
  123. // link.download = fileName; // 使用参数中的 fileName
  124. link.download = "test"; // 使用参数中的 fileName
  125. link.click();
  126. URL.revokeObjectURL(link.href);
  127. })
  128. .catch(error => {
  129. console.error('下载失败:', error);
  130. });
  131. };
  132. }