diff --git a/src/api/perfManage/perfData.ts b/src/api/perfManage/perfData.ts index 1544404f..92e84f58 100644 --- a/src/api/perfManage/perfData.ts +++ b/src/api/perfManage/perfData.ts @@ -16,15 +16,24 @@ export async function listperfData(query: Record) { if (query.neType) { querySQL += ` and ne_type like '%${query.neType}%' `; } + if (query.taskId) { + querySQL += ` and task_id like '%${query.taskId}%' `; + } if (query.beginTime) { querySQL += ` and start_time >= '${query.beginTime}' `; } if (query.endTime) { - querySQL += ` and start_time <= '${query.endTime}' `; + querySQL += ` and end_time <= '${query.endTime}' `; } // 排序 - let sortSql = ' order by start_time '; + let sortSql = ' order by '; + if (query.sortField) { + sortSql += ` ${query.sortField} `; + }else{ + sortSql += ` start_time `; + } + if (query.sortOrder === 'asc') { sortSql += ' asc '; } else { diff --git a/src/views/perfManage/perfData/index.vue b/src/views/perfManage/perfData/index.vue index 5744f3e0..89ff8246 100644 --- a/src/views/perfManage/perfData/index.vue +++ b/src/views/perfManage/perfData/index.vue @@ -30,6 +30,12 @@ let queryParams = reactive({ neType: '', /**记录时间 */ beginTime: '', + /**任务ID */ + taskId: '', + /**排序字段 */ + sortField: 'value', + /**排序方式 */ + sortOrder: 'asc', endTime: '', /**当前页数 */ pageNum: 1, @@ -43,6 +49,8 @@ function fnQueryReset() { neType: '', beginTime: '', endTime: '', + sortField: 'value', + sortOrder: 'asc', pageNum: 1, pageSize: 20, }); @@ -108,34 +116,31 @@ let tableColumns: ColumnsType = [ { title: t('views.perfManage.perfData.value'), dataIndex: 'value', + key: 'value', align: 'center', - sorter: (a: any, b: any) => { - return 1; - }, + sorter: true, }, { title: t('views.perfManage.perfData.startTime'), dataIndex: 'startTime', + key: 'start_time', align: 'center', customRender(opt) { if (!opt.value) return ''; return parseDateToStr(opt.value); }, - sorter: (a: any, b: any) => { - return 1; - }, + sorter: true, }, { title: t('views.perfManage.perfData.endTime'), dataIndex: 'endTime', align: 'center', + key: 'end_time', customRender(opt) { if (!opt.value) return ''; return parseDateToStr(opt.value); }, - sorter: (a: any, b: any) => { - return 1; - }, + sorter: true, }, ]; @@ -176,7 +181,7 @@ function fnTableSize({ key }: MenuInfo) { function fnGetList(pageNum?: number) { if (tableState.loading) return; tableState.loading = true; - if(pageNum){ + if (pageNum) { queryParams.pageNum = pageNum; } if (!queryRangePicker.value) { @@ -193,6 +198,18 @@ function fnGetList(pageNum?: number) { }); } +/**表格分页、排序、筛选变化时触发操作, 排序方式,取值为 ascend descend */ +function fnTableChange(pagination: any, filters: any, sorter: any, extra: any) { + const { columnKey, order } = sorter; + if (order) { + queryParams.sortField = columnKey; + queryParams.sortOrder = order.replace('end', ''); + } else { + queryParams.sortOrder = 'asc'; + } + fnGetList(1); +} + onMounted(() => { // 初始字典数据 Promise.allSettled([getDict('alarm_status')]).then(resArr => { @@ -217,8 +234,11 @@ onMounted(() => { - - + + { /> - - + + + + + + + + + { :data-source="tableState.data" :size="tableState.size" :pagination="tablePagination" + @change="fnTableChange" :scroll="{ x: true }" >