emergency-drill.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. import { http } from '@/utils/http/axios';
  2. import type { QueryPageRequest, QueryPageResponse } from '@/types/basic-query';
  3. import {
  4. DrillPlanItem,
  5. DrillPlanListSearch,
  6. CreateEmergencyDrillRuleForm,
  7. DrillPlanItemDetail,
  8. DrillPlanRecord,
  9. ExecuteDrillPlanRuleForm,
  10. DrillRecordRuleForm,
  11. DrillApprovalItem,
  12. } from '@/views/emergency/emergency-drill/types';
  13. import type { DrillSignlistQuery, DrillSignListResponse } from '@/types/emergency-drill';
  14. export const queryEnergencyDrillPlanList = (params: QueryPageRequest<DrillPlanListSearch>) => {
  15. return http.request<QueryPageResponse<DrillPlanItem>>({
  16. url: '/emergencyDrill/queryEmergencyDrillPlanPage',
  17. method: 'post',
  18. data: params,
  19. });
  20. };
  21. export const createEmergencyDrillPlan = (params: CreateEmergencyDrillRuleForm) => {
  22. return http.request({
  23. url: '/emergencyDrill/saveEmergencyDrillPlan',
  24. method: 'post',
  25. data: {
  26. drillScope: params.drillScope,
  27. drillContent: params.drillContent,
  28. dueCompleteTime: params.dueCompleteTime,
  29. responsibleDeptIdList: '[' + params.responsibleDeptIdList?.join(',') + ']',
  30. coordinateDeptIdList: params.coordinateDeptIdList ? '[' + params.coordinateDeptIdList?.join(',') + ']' : '',
  31. preplanId: params.preplanId,
  32. approvalTemplateId: params.approvalTemplateId,
  33. },
  34. });
  35. };
  36. export const saveEmergencyDrillExecute = (params: ExecuteDrillPlanRuleForm) => {
  37. return http.request({
  38. url: '/emergencyDrill/executeEmergencyDrillPlan',
  39. method: 'post',
  40. data: {
  41. drillPlanId: params.drillPlanId,
  42. drillTime: params.drillTime,
  43. drillLocation: params.drillLocation,
  44. personInChargeId: params.personInChargeId,
  45. drillDeptIdList: params.drillDeptIdList ? '[' + params.drillDeptIdList?.join(',') + ']' : '',
  46. drillScript: params.drillScript,
  47. saveOrSubmit: 0,
  48. },
  49. });
  50. };
  51. export const submitEmergencyDrillExecute = (params: ExecuteDrillPlanRuleForm) => {
  52. return http.request({
  53. url: '/emergencyDrill/executeEmergencyDrillPlan',
  54. method: 'post',
  55. data: {
  56. drillPlanId: params.drillPlanId,
  57. drillTime: params.drillTime,
  58. drillLocation: params.drillLocation,
  59. personInChargeId: params.personInChargeId,
  60. drillDeptIdList: params.drillDeptIdList ? '[' + params.drillDeptIdList?.join(',') + ']' : '',
  61. drillScript: params.drillScript,
  62. saveOrSubmit: 1,
  63. },
  64. });
  65. };
  66. export const saveEmergencyDrillRecord = (params: DrillRecordRuleForm) => {
  67. return http.request({
  68. url: '/emergencyDrill/saveEmergencyDrillRecord',
  69. method: 'POST',
  70. data: {
  71. ...params,
  72. saveOrSubmit: 0,
  73. },
  74. });
  75. };
  76. export const submitEmergencyDrillRecord = (params: DrillRecordRuleForm) => {
  77. return http.request({
  78. url: '/emergencyDrill/saveEmergencyDrillRecord',
  79. method: 'POST',
  80. data: {
  81. ...params,
  82. saveOrSubmit: 1,
  83. },
  84. });
  85. };
  86. export const deleteEmergencyDrillPlan = (id) => {
  87. return http.request({
  88. url: `/emergencyDrill/deleteEmergencyDrillPlan?drillPlanId=${id}`,
  89. method: 'delete',
  90. });
  91. };
  92. export const queryEmergencyDrillPlanDetail = (id) => {
  93. return http.request<DrillPlanItemDetail>({
  94. url: `/emergencyDrill/queryEmergencyDrillPlanDetail?drillPlanId=${id}`,
  95. method: 'get',
  96. });
  97. };
  98. export const queryEmergencyDrillRecordInEdit = (id) => {
  99. return http.request<DrillPlanRecord>({
  100. url: `/emergencyDrill/queryEmergencyDrillRecord`,
  101. method: 'post',
  102. data: { drillPlanId: id, editOrView: 0 },
  103. });
  104. };
  105. export const queryEmergencyDrillRecordInView = (id) => {
  106. return http.request<DrillPlanRecord>({
  107. url: `/emergencyDrill/queryEmergencyDrillRecord`,
  108. method: 'post',
  109. data: { drillPlanId: id, editOrView: 1 },
  110. });
  111. };
  112. export const exportEmergencyDrillRecord = (id) => {
  113. return http.request({
  114. url: `/emergencyDrill/exportEmergencyDrillRecord?drillPlanId=${id}`,
  115. method: 'post',
  116. });
  117. };
  118. // 查询应急预案名
  119. export const queryEmergencyPlanDetail = (id) => {
  120. return http.request<any>({
  121. url: `/emergencyPlan/queryEmergencyPlanDetail?emergencyPlanId=${id}`,
  122. method: 'get',
  123. });
  124. };
  125. /**
  126. * 查询演练会签列表
  127. */
  128. export const getDrillSignList = (data: QueryPageRequest<DrillSignlistQuery>) => {
  129. return http.request<QueryPageResponse<DrillSignListResponse>>({
  130. url: '/emergencyDrill/queryEmergencyDrillSignListPage',
  131. method: 'post',
  132. data,
  133. });
  134. };
  135. /**
  136. * 确认演练脚本
  137. */
  138. export const signDrillScript = (data: { drillPlanId: number; planToParticipateCount: number }) => {
  139. return http.request({
  140. url: '/emergencyDrill/signEmergencyDrillScript',
  141. method: 'post',
  142. data,
  143. });
  144. };
  145. /**
  146. * 演练记录审批
  147. */
  148. export const approveDrillRecord = (data: { drillPlanId: number; approvalStatus: number; returnReason?: string }) => {
  149. return http.request({
  150. url: '/emergencyDrill/approveEmergencyDrillRecord',
  151. method: 'post',
  152. data,
  153. });
  154. };
  155. /**
  156. * 查询审批模板
  157. */
  158. export const queryDrillApproval = (approvalTemplateId: number, drillId: number) => {
  159. return http.request<DrillApprovalItem[]>({
  160. url: `/approvalManagement/queryApprovalProcess`,
  161. method: 'post',
  162. data: {
  163. approvalTemplateId,
  164. sourceType: 2,
  165. sourceId: drillId,
  166. },
  167. });
  168. };