list.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { ref } from 'vue'
  2. // @ts-ignore
  3. import { getPickingDetail, getPickingFirst } from '@/api/picking'
  4. // @ts-ignore
  5. import router from '@/router'
  6. // @ts-ignore
  7. import { closeLoading, showLoading } from '@/utils/loading'
  8. interface PickingFirstResponse {
  9. data?: string; // PickingFirst API 返回的数据类型
  10. }
  11. interface PickingDetailResponse {
  12. data: any; // PickingDetail API 返回的数据类型
  13. }
  14. export const fetchPickingData= async(warehouse: string)=> {
  15. // 获取第一个拣货码
  16. const { data: pickingCode }: PickingFirstResponse = await getPickingFirst({
  17. warehouse,
  18. code: 'OWNER'
  19. });
  20. return {
  21. pickingCode
  22. }
  23. }
  24. export const getPickingTask = async (warehouse: string,pickingCode:any,mode:any,aisle:any) => {
  25. const taskList = ref<any>([]); // 用于存储拣货详情
  26. const expectedQuantity=ref(0)
  27. // 获取拣货数据的函数
  28. showLoading()
  29. // 获取拣货详情
  30. const { data: pickingDetails }: PickingDetailResponse = await getPickingDetail({
  31. warehouse,
  32. code: pickingCode,
  33. mode:mode || 'OWNER',
  34. aisle
  35. });
  36. closeLoading()
  37. // 更新拣货详情
  38. taskList.value = pickingDetails
  39. if(pickingDetails.length>0){
  40. expectedQuantity.value= pickingDetails.reduce((sum:number, item:any) => {
  41. return sum + (item.expectedQuantity ?? 0)
  42. }, 0)
  43. }
  44. return {
  45. taskList,
  46. expectedQuantity
  47. }
  48. }