Commit f8203089d98376ea7a0f0b2136302e143c6ddef8

Authored by ww
1 parent d9d75797

perf: DEFECT-1205 优化 任务中心列表分页

Showing 1 changed file with 16 additions and 8 deletions
1 1 <script setup lang="ts">
2   - import { Button, List, Tooltip } from 'ant-design-vue';
  2 + import { Button, List, Space, Tooltip } from 'ant-design-vue';
3 3 import { PageWrapper } from '/@/components/Page';
4 4 import { BasicForm, useForm } from '/@/components/Form';
5 5 import { PermissionEnum, formSchemas } from './config';
... ... @@ -19,6 +19,7 @@
19 19 import { RunTaskModal } from './components/RunTaskModal';
20 20 import { DetailDrawer } from './components/DetailDrawer';
21 21 import { useDrawer } from '/@/components/Drawer';
  22 + import { CardLayoutButton } from '/@/components/Widget';
22 23
23 24 const [registerModal, { openModal }] = useModal();
24 25 const [registerDrawer, { openDrawer }] = useDrawer();
... ... @@ -41,12 +42,14 @@
41 42 getDataSource();
42 43 };
43 44
  45 + const colNumber = ref(5);
44 46 const pagination = reactive({
45 47 current: 1,
46   - pageSize: 10,
47 48 total: 0,
  49 + pageSize: unref(colNumber) * 2,
48 50 showQuickJumper: true,
49 51 size: 'small',
  52 + showSizeChanger: false,
50 53 showTotal: (total: number) => `共 ${total} 条数据`,
51 54 onChange: paginationChange,
52 55 onShowSizeChange: paginationChange,
... ... @@ -58,13 +61,15 @@
58 61 try {
59 62 loading.value = true;
60 63 const params = getFieldsValue();
  64 + const pageSize = unref(colNumber) * 2;
61 65 const { items, total } = await getTaskCenterList({
62 66 page: pagination.current,
63   - pageSize: pagination.pageSize,
  67 + pageSize,
64 68 ...params,
65 69 });
66 70 dataSource.value = items;
67 71 pagination.total = total;
  72 + pagination.pageSize = pageSize;
68 73 } catch (error) {
69 74 throw error;
70 75 } finally {
... ... @@ -148,11 +153,14 @@
148 153 <div>
149 154 <span class="text-lg font-medium">任务列表</span>
150 155 </div>
151   - <Tooltip v-if="dataSource.length" title="刷新">
152   - <Button type="primary" @click="getDataSource">
153   - <ReloadOutlined :spin="loading" />
154   - </Button>
155   - </Tooltip>
  156 + <Space>
  157 + <CardLayoutButton v-model:value="colNumber" @change="reload" />
  158 + <Tooltip v-if="dataSource.length" title="刷新">
  159 + <Button type="primary" @click="getDataSource">
  160 + <ReloadOutlined :spin="loading" />
  161 + </Button>
  162 + </Tooltip>
  163 + </Space>
156 164 </section>
157 165 </template>
158 166 <template #renderItem="{ item }">
... ...