floder_BASE_1668.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import { params } from '@/env'
  2. import { FLODER_LIST } from './constant'
  3. import { addUnsetResErrorURLS,axios } from './instance'
  4. import {namespace} from '@/env'
  5. export interface Floder {
  6. filesId: number,
  7. caseId: string,
  8. filesTypeId: number,
  9. filesTitle: string,
  10. filesUrl: string,
  11. }
  12. export type Floders = Floder[]
  13. addUnsetResErrorURLS(`${namespace}/caseInquest/downDocx`, `${namespace}/caseExtractDetail/downDocx`, `${namespace}/caseImg/getFfmpegImage`)
  14. export const fetchFloders = async () => {
  15. const floders = await axios.get<Floders>(FLODER_LIST, { params: { caseId: params.caseId } })
  16. const otherFloders = [{
  17. filesId: 88,
  18. filesTypeId: 100,
  19. filesTitle: '勘验笔录',
  20. ex: `${namespace}/caseInquest/info`,
  21. bex: `${namespace}/caseInquest/downDocx`
  22. }, {
  23. filesId: 89,
  24. filesTypeId: 100,
  25. filesTitle: '提取清单',
  26. ex: `${namespace}/caseExtractDetail/info`,
  27. bex: `${namespace}/caseExtractDetail/downDocx`
  28. }, ]
  29. const res = await axios.get(`${namespace}/caseImg/getFfmpegImage`, {params: {caseId: params.caseId}})
  30. if (res.data.data.length) {
  31. res.data.data.forEach((item:any, ndx: any) => {
  32. floders.push({
  33. filesId: 100 + ndx,
  34. filesTypeId: 100,
  35. filesTitle: '照片制卷图',
  36. caseId: params.caseId.toString(),
  37. filesUrl: item.imgUrl
  38. })
  39. })
  40. }
  41. await Promise.all(otherFloders.map(async of => {
  42. const kybl = await axios.get(of.ex, { params: { caseId: params.caseId } })
  43. if (kybl) {
  44. const data = await axios.get(of.bex, { params: { caseId: params.caseId }, responseType: 'blob' })
  45. const blob = data.data
  46. floders.push({
  47. ...of,
  48. caseId: params.caseId.toString(),
  49. filesUrl: URL.createObjectURL(blob)
  50. })
  51. }
  52. }))
  53. // floders.forEach(item => item.filesTypeId = 102)
  54. // floders.push(...floders.map(item => {
  55. // return {...item, filesTypeId: 101 }
  56. // }))
  57. floders.push(...floders.map(item => {
  58. return {...item, filesTypeId: 1000 }
  59. }))
  60. floders.push(...floders.map(item => {
  61. return {...item, filesTypeId: 1001 }
  62. }))
  63. floders.push(...floders.map(item => {
  64. return {...item, filesTypeId: 1002 }
  65. }))
  66. floders.push(...floders.map(item => {
  67. return {...item, filesTypeId: 1005 }
  68. }))
  69. return floders
  70. }