新增性能数据排序功能

This commit is contained in:
lai
2023-11-28 19:21:26 +08:00
parent 534f261bd4
commit ac93726a0f
2 changed files with 59 additions and 16 deletions

View File

@@ -16,15 +16,24 @@ export async function listperfData(query: Record<string, any>) {
if (query.neType) { if (query.neType) {
querySQL += ` and ne_type like '%${query.neType}%' `; querySQL += ` and ne_type like '%${query.neType}%' `;
} }
if (query.taskId) {
querySQL += ` and task_id like '%${query.taskId}%' `;
}
if (query.beginTime) { if (query.beginTime) {
querySQL += ` and start_time >= '${query.beginTime}' `; querySQL += ` and start_time >= '${query.beginTime}' `;
} }
if (query.endTime) { 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') { if (query.sortOrder === 'asc') {
sortSql += ' asc '; sortSql += ' asc ';
} else { } else {

View File

@@ -30,6 +30,12 @@ let queryParams = reactive({
neType: '', neType: '',
/**记录时间 */ /**记录时间 */
beginTime: '', beginTime: '',
/**任务ID */
taskId: '',
/**排序字段 */
sortField: 'value',
/**排序方式 */
sortOrder: 'asc',
endTime: '', endTime: '',
/**当前页数 */ /**当前页数 */
pageNum: 1, pageNum: 1,
@@ -43,6 +49,8 @@ function fnQueryReset() {
neType: '', neType: '',
beginTime: '', beginTime: '',
endTime: '', endTime: '',
sortField: 'value',
sortOrder: 'asc',
pageNum: 1, pageNum: 1,
pageSize: 20, pageSize: 20,
}); });
@@ -108,34 +116,31 @@ let tableColumns: ColumnsType = [
{ {
title: t('views.perfManage.perfData.value'), title: t('views.perfManage.perfData.value'),
dataIndex: 'value', dataIndex: 'value',
key: 'value',
align: 'center', align: 'center',
sorter: (a: any, b: any) => { sorter: true,
return 1;
},
}, },
{ {
title: t('views.perfManage.perfData.startTime'), title: t('views.perfManage.perfData.startTime'),
dataIndex: 'startTime', dataIndex: 'startTime',
key: 'start_time',
align: 'center', align: 'center',
customRender(opt) { customRender(opt) {
if (!opt.value) return ''; if (!opt.value) return '';
return parseDateToStr(opt.value); return parseDateToStr(opt.value);
}, },
sorter: (a: any, b: any) => { sorter: true,
return 1;
},
}, },
{ {
title: t('views.perfManage.perfData.endTime'), title: t('views.perfManage.perfData.endTime'),
dataIndex: 'endTime', dataIndex: 'endTime',
align: 'center', align: 'center',
key: 'end_time',
customRender(opt) { customRender(opt) {
if (!opt.value) return ''; if (!opt.value) return '';
return parseDateToStr(opt.value); return parseDateToStr(opt.value);
}, },
sorter: (a: any, b: any) => { sorter: true,
return 1;
},
}, },
]; ];
@@ -176,7 +181,7 @@ function fnTableSize({ key }: MenuInfo) {
function fnGetList(pageNum?: number) { function fnGetList(pageNum?: number) {
if (tableState.loading) return; if (tableState.loading) return;
tableState.loading = true; tableState.loading = true;
if(pageNum){ if (pageNum) {
queryParams.pageNum = pageNum; queryParams.pageNum = pageNum;
} }
if (!queryRangePicker.value) { 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(() => { onMounted(() => {
// 初始字典数据 // 初始字典数据
Promise.allSettled([getDict('alarm_status')]).then(resArr => { Promise.allSettled([getDict('alarm_status')]).then(resArr => {
@@ -217,8 +234,11 @@ onMounted(() => {
<!-- 表格搜索栏 --> <!-- 表格搜索栏 -->
<a-form :model="queryParams" name="queryParams" layout="horizontal"> <a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :lg="6" :md="12" :xs="24"> <a-col :lg="4" :md="12" :xs="24">
<a-form-item :label="t('views.perfManage.perfData.type')" name="neType"> <a-form-item
:label="t('views.perfManage.perfData.type')"
name="neType"
>
<a-auto-complete <a-auto-complete
v-model:value="queryParams.neType" v-model:value="queryParams.neType"
:options="useNeInfoStore().getNeSelectOtions" :options="useNeInfoStore().getNeSelectOtions"
@@ -226,8 +246,21 @@ onMounted(() => {
/> />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="8" :md="12" :xs="24">
<a-form-item :label="t('views.perfManage.perfData.startTime')" name="queryRangePicker"> <a-col :lg="4" :md="12" :xs="24">
<a-form-item
:label="t('views.perfManage.perfData.taskId')"
name="taskId"
>
<a-input v-model:value="queryParams.taskId" allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :lg="10" :md="12" :xs="24">
<a-form-item
:label="t('views.perfManage.perfData.startTime')"
name="queryRangePicker"
>
<a-range-picker <a-range-picker
v-model:value="queryRangePicker" v-model:value="queryRangePicker"
allow-clear allow-clear
@@ -316,6 +349,7 @@ onMounted(() => {
:data-source="tableState.data" :data-source="tableState.data"
:size="tableState.size" :size="tableState.size"
:pagination="tablePagination" :pagination="tablePagination"
@change="fnTableChange"
:scroll="{ x: true }" :scroll="{ x: true }"
> >
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">