index.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import request from '@/config/axios'
  2. // 保养工单 VO
  3. export interface IotMainWorkOrderVO {
  4. id: number // 主键id
  5. planId: number // 保养计划id
  6. planSerialNumber: string // 保养计划编号
  7. deptId: number // 组织id
  8. deptName: string // 组织名称
  9. orderNumber: string // 工单号
  10. name: string // 工单名称 (吐哈-C14-保养计划)
  11. type: number // 工单类型(1计划生成 2临时新建)
  12. responsiblePerson: string // 负责人id 多个以逗号分隔
  13. responsiblePersonName: string // 负责人id 多个以逗号分隔
  14. cost: number // 保养费用
  15. result: number // 保养结果(1待执行 2已执行)
  16. otherCost: number // 其他费用
  17. laborCost: number // 人工费用
  18. outsourcingFlag: number // 是否委外 0否 1是
  19. actualStartTime: Date // 实际保养开始时间
  20. actualEndTime: Date // 实际保养结束时间
  21. remark: string // 备注
  22. delayReason: string // 延时原因
  23. status: number // 状态 0启用 1停用
  24. processInstanceId: string // 流程实例id
  25. auditStatus: number // 审批状态 未提交、审批中、审批通过、审批不通过、已取消
  26. applicant: string // 申请人id
  27. }
  28. // 保养工单 API
  29. export const IotMainWorkOrderApi = {
  30. // 查询保养工单分页
  31. getIotMainWorkOrderPage: async (params: any) => {
  32. return await request.get({ url: `/pms/iot-main-work-order/page`, params })
  33. },
  34. // 获得保养工单分页 按照保养项的最近保养排序
  35. sortedMainWorkOrderPage: async (params: any) => {
  36. return await request.get({ url: `/pms/iot-main-work-order/sortedMainWorkOrderPage`, params })
  37. },
  38. // 以设备为维度统计所有保养明细中最近的保养数据
  39. deviceMainDistances: async (params: any) => {
  40. return await request.get({ url: `/pms/iot-main-work-order/deviceMainDistances`, params })
  41. },
  42. // 以设备为维度统计所有保养明细中最近的保养数据 保养项分组
  43. maintenanceSearch: async (params: any) => {
  44. return await request.get({ url: `/pms/iot-main-work-order/maintenanceSearch`, params })
  45. },
  46. getDeviceIotMainWorkOrderPage: async (params: any) => {
  47. return await request.get({ url: `/pms/iot-main-work-order/deviceOrderPage`, params })
  48. },
  49. // 根据保养结果统计工单数量
  50. allWorkOrderCountByResult: async () => {
  51. return await request.get({ url: `/pms/iot-main-work-order/allWorkOrderCountByResult` })
  52. },
  53. // 查询保养工单详情
  54. getIotMainWorkOrder: async (id: number) => {
  55. return await request.get({ url: `/pms/iot-main-work-order/get?id=` + id })
  56. },
  57. getDeviceIotWorkOrder: async (orderId: number, deviceId: number) => {
  58. return await request.get({
  59. url:
  60. `/pms/iot-main-work-order/deviceWorkOrder?workOrderId=` + orderId + '&deviceId=' + deviceId
  61. })
  62. },
  63. // 新增保养工单
  64. createIotMainWorkOrder: async (data: IotMainWorkOrderVO) => {
  65. return await request.post({ url: `/pms/iot-main-work-order/create`, data })
  66. },
  67. // 修改保养工单
  68. updateIotMainWorkOrder: async (data: IotMainWorkOrderVO) => {
  69. return await request.put({ url: `/pms/iot-main-work-order/update`, data })
  70. },
  71. // 填报保养工单
  72. fillWorkOrder: async (data: any) => {
  73. return await request.put({ url: `/pms/iot-main-work-order/fillWorkOrder`, data })
  74. },
  75. // 保存保养工单附件
  76. hiWorkOrderAttachment: async (data: Pick<IotMainWorkOrderVO, 'id'> & { attachments: any[] }) => {
  77. return await request.put({ url: `/pms/iot-main-work-order/hiWorkOrderAttachment`, data })
  78. },
  79. // 修改保养工单
  80. modifyWorkOrder: async (data: any) => {
  81. return await request.put({ url: `/pms/iot-main-work-order/modifyWorkOrder`, data })
  82. },
  83. // 手工新增保养工单
  84. addWorkOrder: async (data: any) => {
  85. return await request.put({ url: `/pms/iot-main-work-order/addWorkOrder`, data })
  86. },
  87. // 删除保养工单
  88. deleteIotMainWorkOrder: async (id: number) => {
  89. return await request.delete({ url: `/pms/iot-main-work-order/delete?id=` + id })
  90. },
  91. // 导出保养工单 Excel
  92. exportIotMainWorkOrder: async (params) => {
  93. return await request.download({ url: `/pms/iot-main-work-order/export-excel`, params })
  94. },
  95. exportIotMainWorkOrderIndex: async (params) => {
  96. return await request.download({
  97. url: `/pms/iot-main-work-order/exportMaintenanceOrders`,
  98. params
  99. })
  100. }
  101. }