ProductDetail.vue 1020 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <script setup lang="ts">
  2. import Detail from './components/Detail.vue'
  3. import { ContentDetailWrap } from '@/components/ContentDetailWrap'
  4. import { ref } from 'vue'
  5. import { useI18n } from '@/hooks/web/useI18n'
  6. import { useRouter, useRoute } from 'vue-router'
  7. import { getTableDetApi } from '@/api/manage/product'
  8. import { ProductTableData } from '@/api/manage/types'
  9. import { ElButton } from 'element-plus'
  10. const { push, go } = useRouter()
  11. const { query } = useRoute()
  12. const { t } = useI18n()
  13. const currentRow = ref<Nullable<ProductTableData>>(null)
  14. const getTableDet = async () => {
  15. const res = await getTableDetApi(query.id as string)
  16. if (res) {
  17. currentRow.value = res.data
  18. }
  19. }
  20. getTableDet()
  21. </script>
  22. <template>
  23. <ContentDetailWrap :title="t('exampleDemo.detail')" @back="push('/manage/product-page')">
  24. <template #header>
  25. <ElButton @click="go(-1)">
  26. {{ t('common.back') }}
  27. </ElButton>
  28. </template>
  29. <Detail :current-row="currentRow" />
  30. </ContentDetailWrap>
  31. </template>