OrderRenderer.vue 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <script setup lang="ts">
  2. import chargeList from '../../components/charge-orderList/charge-orderList.vue'
  3. import xsbList from '../../components/xsb-orderList/xsb-orderList.vue'
  4. import filmList from '../../components/film-orderList/film-orderList.vue'
  5. import videoRightsList from '../../components/videoRights-orderList/videoRights-orderList.vue'
  6. interface Props {
  7. orderList: Api.xsbOrderList[]
  8. navActiveTab: string
  9. subPackOrder: any
  10. subPackConfirm: any
  11. }
  12. defineProps<Props>()
  13. defineEmits<{
  14. 'cancel': [order: Api.xsbOrderList]
  15. 'pay': [orderNumber: string]
  16. 'submit': [order: Api.xsbOrderList]
  17. 'del': [order: Api.xsbOrderList]
  18. 'after-sale': [item: Api.xsbOrderList]
  19. 'refresh': []
  20. }>()
  21. const subPackFilmOrder = ref<typeof import('@/subPack-film/utils/order-data')>()
  22. const subPackFilmComfirm = ref<typeof import('@/subPack-film/utils/confirm-order')>()
  23. onMounted(async () => {
  24. subPackFilmOrder.value = await AsyncImport('@/subPack-film/utils/order-data')
  25. subPackFilmComfirm.value = await AsyncImport('@/subPack-film/utils/confirm-order')
  26. })
  27. </script>
  28. <template>
  29. <template v-if="navActiveTab === 'all'">
  30. <template v-for="order in orderList" :key="order.orderNumber">
  31. <xsbList
  32. v-if="order.businessType === 'XSB'" :order-list="[order]" :sub-pack-order="subPackOrder"
  33. :sub-pack-confirm="subPackConfirm" @cancel="$emit('cancel', $event)" @pay="$emit('pay', $event)"
  34. @submit="$emit('submit', $event)" @del="$emit('del', $event)" @after-sale="$emit('after-sale', $event)"
  35. @refresh="$emit('refresh')"
  36. />
  37. <chargeList v-else-if="order.businessType === 'CD'" :order-list="[order]" />
  38. <filmList
  39. v-else-if="order.businessType === 'DYY'" :order-list="[order]" :sub-pack-order="subPackFilmOrder"
  40. :sub-pack-confirm="subPackFilmComfirm" @cancel="$emit('cancel', $event)" @pay="$emit('pay', $event)"
  41. @submit="$emit('submit', $event)" @del="$emit('del', $event)" @after-sale="$emit('after-sale', $event)"
  42. @refresh="$emit('refresh')"
  43. />
  44. <videoRightsList v-else-if="order.businessType === 'XNSP'" :order-list="[order]" />
  45. </template>
  46. </template>
  47. <xsbList
  48. v-else-if="navActiveTab === 'XSB'" :order-list="orderList" :sub-pack-order="subPackOrder"
  49. :sub-pack-confirm="subPackConfirm" @cancel="$emit('cancel', $event)" @pay="$emit('pay', $event)"
  50. @submit="$emit('submit', $event)" @del="$emit('del', $event)" @after-sale="$emit('after-sale', $event)"
  51. @refresh="$emit('refresh')"
  52. />
  53. <chargeList v-else-if="navActiveTab === 'CD'" :order-list="orderList" />
  54. <filmList
  55. v-else-if="navActiveTab === 'DYY'" :order-list="orderList" :sub-pack-order="subPackFilmOrder"
  56. :sub-pack-confirm="subPackFilmComfirm" @cancel="$emit('cancel', $event)" @pay="$emit('pay', $event)"
  57. @submit="$emit('submit', $event)" @del="$emit('del', $event)" @after-sale="$emit('after-sale', $event)"
  58. @refresh="$emit('refresh')"
  59. />
  60. <videoRightsList v-else-if="navActiveTab === 'XNSP'" :order-list="orderList" />
  61. </template>