iqcInspBillFlow.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import service from '/@/utils/request';
  2. import { withAidopTenantParams } from '../../api/aidopTenant';
  3. // ── S5 来料检验单 检验员+主管最小审批流(写接口,正常鉴权)──
  4. // id 类一律 number | string:详情页走 path param,且大 id 超出 JS 安全整数范围(见 iqcInspBill.ts)
  5. // 后端 api/S5IqcInspBillFlow。BizType=S5_IQC_INSPBILL。不做 SQE/仓储/入库/导出。
  6. export interface IqcFlowState {
  7. bizType?: string;
  8. bizId?: number;
  9. instanceId?: number | null;
  10. flowStatus?: string;
  11. currentNodeCode?: string | null;
  12. currentNodeName?: string | null;
  13. currentAssigneeRole?: string | null;
  14. canSubmitResult?: boolean;
  15. canSupervisorApprove?: boolean;
  16. canSupervisorReject?: boolean;
  17. isCompleted?: boolean;
  18. canSqeSubmit?: boolean;
  19. isWaitingSqe?: boolean;
  20. hasSqeDisposition?: boolean;
  21. sqeDispositionId?: number | null;
  22. sqeDispositionStatus?: number | null;
  23. sqeDispositionType?: number | null;
  24. updatedAt?: string | null;
  25. message?: string | null;
  26. }
  27. export interface IqcSqeDispositionPayload {
  28. id: number | string;
  29. dispositionType: number;
  30. dispositionQty?: number | null;
  31. concessionQty?: number | null;
  32. selectionQty?: number | null;
  33. scrapQty?: number | null;
  34. dispositionOpinion: string;
  35. supplierResponse?: string;
  36. attachmentJson?: string;
  37. comment?: string;
  38. }
  39. export interface IqcSubmitResultPayload {
  40. id: number | string;
  41. pd: number;
  42. dhsl: number;
  43. bhgsl: number;
  44. clfs?: number | null;
  45. comment?: string;
  46. }
  47. export function fetchIqcInspBillFlowState(id: number | string) {
  48. return service
  49. .get<IqcFlowState>('/api/S5IqcInspBillFlow/state', { params: withAidopTenantParams({ id }) })
  50. .then((r) => r.data);
  51. }
  52. export function submitIqcInspBillResult(payload: IqcSubmitResultPayload) {
  53. return service.post<IqcFlowState>('/api/S5IqcInspBillFlow/submit-result', payload).then((r) => r.data);
  54. }
  55. export function approveIqcInspBill(id: number | string, comment?: string) {
  56. return service.post<IqcFlowState>('/api/S5IqcInspBillFlow/supervisor-approve', { id, comment }).then((r) => r.data);
  57. }
  58. export function rejectIqcInspBill(id: number | string, comment: string) {
  59. return service.post<IqcFlowState>('/api/S5IqcInspBillFlow/supervisor-reject', { id, comment }).then((r) => r.data);
  60. }
  61. export function sqeSubmitIqcInspBillDisposition(payload: IqcSqeDispositionPayload) {
  62. return service.post<IqcFlowState>('/api/S5IqcInspBillFlow/sqe-submit-disposition', payload).then((r) => r.data);
  63. }