list.vue 845 B

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <a-table
  3. :data-source="list"
  4. :columns="recordColumns"
  5. :pagination="pagination"
  6. :scroll="{ x: '100%', y: 430 }"
  7. >
  8. <template #bodyCell="{ column, record }">
  9. <template v-if="column.key === 'action'">
  10. <div class="table-actions">
  11. <a @click="gotoProject(record)">{{ $t('sys.query') }}</a>
  12. </div>
  13. </template>
  14. </template>
  15. </a-table>
  16. </template>
  17. <script lang="ts" setup>
  18. import { fetchRecords } from '@/api'
  19. import { recordColumns } from './columns'
  20. import { usePaging } from '@/hook'
  21. import { router, RoutesName } from '@/router'
  22. import type { Record } from '@/api'
  23. const { list, pagination } = usePaging(fetchRecords, {})
  24. const gotoProject = (record: Record) => {
  25. router.push({
  26. name: RoutesName.projectScenes,
  27. params: { id: record.projectId }
  28. })
  29. }
  30. </script>