index.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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. }
  27. // 保养工单 API
  28. export const IotMainWorkOrderApi = {
  29. // 查询保养工单分页
  30. getIotMainWorkOrderPage: async (params: any) => {
  31. return await request.get({ url: `/pms/iot-main-work-order/page`, params })
  32. },
  33. // 获得保养工单分页 按照保养项的最近保养排序
  34. sortedMainWorkOrderPage: async (params: any) => {
  35. return await request.get({ url: `/pms/iot-main-work-order/sortedMainWorkOrderPage`, params })
  36. },
  37. // 以设备为维度统计所有保养明细中最近的保养数据
  38. deviceMainDistances: async (params: any) => {
  39. return await request.get({ url: `/pms/iot-main-work-order/deviceMainDistances`, params })
  40. },
  41. // 以设备为维度统计所有保养明细中最近的保养数据 保养项分组
  42. maintenanceSearch: async (params: any) => {
  43. return await request.get({ url: `/pms/iot-main-work-order/maintenanceSearch`, params })
  44. },
  45. getDeviceIotMainWorkOrderPage: async (params: any) => {
  46. return await request.get({ url: `/pms/iot-main-work-order/deviceOrderPage`, params })
  47. },
  48. // 根据保养结果统计工单数量
  49. allWorkOrderCountByResult: async () => {
  50. return await request.get({ url: `/pms/iot-main-work-order/allWorkOrderCountByResult` })
  51. },
  52. // 查询保养工单详情
  53. getIotMainWorkOrder: async (id: number) => {
  54. return await request.get({ url: `/pms/iot-main-work-order/get?id=` + id })
  55. },
  56. getDeviceIotWorkOrder: async (orderId: number, deviceId: number) => {
  57. return await request.get({
  58. url:
  59. `/pms/iot-main-work-order/deviceWorkOrder?workOrderId=` + orderId + '&deviceId=' + deviceId
  60. })
  61. },
  62. // 新增保养工单
  63. createIotMainWorkOrder: async (data: IotMainWorkOrderVO) => {
  64. return await request.post({ url: `/pms/iot-main-work-order/create`, data })
  65. },
  66. // 修改保养工单
  67. updateIotMainWorkOrder: async (data: IotMainWorkOrderVO) => {
  68. return await request.put({ url: `/pms/iot-main-work-order/update`, data })
  69. },
  70. // 填报保养工单
  71. fillWorkOrder: async (data: any) => {
  72. return await request.put({ url: `/pms/iot-main-work-order/fillWorkOrder`, data })
  73. },
  74. // 保存保养工单附件
  75. hiWorkOrderAttachment: async (data: Pick<IotMainWorkOrderVO, 'id'> & { attachments: any[] }) => {
  76. return await request.put({ url: `/pms/iot-main-work-order/hiWorkOrderAttachment`, data })
  77. },
  78. // 修改保养工单
  79. modifyWorkOrder: async (data: any) => {
  80. return await request.put({ url: `/pms/iot-main-work-order/modifyWorkOrder`, data })
  81. },
  82. // 手工新增保养工单
  83. addWorkOrder: async (data: any) => {
  84. return await request.put({ url: `/pms/iot-main-work-order/addWorkOrder`, data })
  85. },
  86. // 删除保养工单
  87. deleteIotMainWorkOrder: async (id: number) => {
  88. return await request.delete({ url: `/pms/iot-main-work-order/delete?id=` + id })
  89. },
  90. // 导出保养工单 Excel
  91. exportIotMainWorkOrder: async (params) => {
  92. return await request.download({ url: `/pms/iot-main-work-order/export-excel`, params })
  93. },
  94. exportIotMainWorkOrderIndex: async (params) => {
  95. return await request.download({
  96. url: `/pms/iot-main-work-order/exportMaintenanceOrders`,
  97. params
  98. })
  99. }
  100. }