modalTable.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <BasicTable @register="registerTable" :rowSelection="rowSelection" :scroll="{ y: 450 }" />
  3. </template>
  4. <script lang="ts">
  5. import { BasicTable } from '/@/components/Table';
  6. import { useListPage } from '/@/hooks/system/useListPage';
  7. import { deviceList } from '/@/views/vent/monitorManager/windrectMonitor/windrect.api';
  8. import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
  9. export default {
  10. name: 'ModalTable',
  11. components: { BasicTable },
  12. props: {
  13. deviceType: {
  14. type: String,
  15. required: true,
  16. },
  17. },
  18. setup(props) {
  19. const columns = getTableHeaderColumns(props.deviceType);
  20. // 列表页面公共参数、方法
  21. const { tableContext, onExportXls } = useListPage({
  22. designScope: 'windrect_list',
  23. tableProps: {
  24. title: '',
  25. api: deviceList.bind(null, { pageSize: 1000 }),
  26. columns: columns,
  27. size: 'small',
  28. actionColumn: {
  29. width: 180,
  30. },
  31. pagination: false,
  32. showActionColumn: false,
  33. showTableSetting: false,
  34. bordered: false,
  35. useSearchForm: false,
  36. autoCreateKey: true,
  37. beforeFetch: (params) => {
  38. return Object.assign({ column: 'createTime', order: 'desc' }, params);
  39. },
  40. },
  41. });
  42. //注册table数据
  43. const [registerTable, { clearSelectedRowKeys, setSelectedRowKeys }, { rowSelection, selectedRowKeys }] = tableContext;
  44. return {
  45. registerTable,
  46. onExportXls,
  47. clearSelectedRowKeys,
  48. setSelectedRowKeys,
  49. selectedRowKeys,
  50. rowSelection,
  51. };
  52. },
  53. };
  54. </script>