From 76650349f72e708b05aa3beaa3bc09da5889e4ea Mon Sep 17 00:00:00 2001 From: Hongyuan Ma Date: Fri, 22 Jun 2018 10:12:13 +0800 Subject: [PATCH] Add paging function --- client/post-example/results.json | 10 ++-- front-end/src/page/status/index.jsx | 12 +++-- front-end/src/service/record-service.jsx | 2 +- front-end/src/util/basic-table/index.jsx | 60 +++++++++++++++++------- web/apps/test_records/serializer.py | 5 +- web/apps/test_records/views.py | 2 +- web/apps/users/models.py | 1 + 7 files changed, 60 insertions(+), 32 deletions(-) diff --git a/client/post-example/results.json b/client/post-example/results.json index 1e5d913..151f679 100644 --- a/client/post-example/results.json +++ b/client/post-example/results.json @@ -4,7 +4,7 @@ "10": { "1": { "std": 397.30643899999995, - "metric": 11292.645435, + "metric": 11992.645435, "median": 11892.645435, "results": [ { @@ -37,7 +37,7 @@ }, "2": { "std": 252.71243850000064, - "metric": 28983.186513499997, + "metric": 38183.186513499997, "median": 28953.186513499997, "results": [ { @@ -70,7 +70,7 @@ }, "4": { "std": 285.0294699999995, - "metric": 38295.454019999997, + "metric": 38215.454019999997, "median": 28795.454019999997, "results": [ { @@ -107,7 +107,7 @@ "10": { "1": { "std": 86.91589850000001, - "metric": 350.6329775, + "metric": 1300.6329775, "median": 150.6329775, "results": [ { @@ -173,7 +173,7 @@ }, "4": { "std": 15.571989000000002, - "metric": 390.858649, + "metric": 1190.858649, "median": 399.858649, "results": [ { diff --git a/front-end/src/page/status/index.jsx b/front-end/src/page/status/index.jsx index ba3cccd..c33502c 100644 --- a/front-end/src/page/status/index.jsx +++ b/front-end/src/page/status/index.jsx @@ -12,7 +12,8 @@ class Status extends React.Component { super(props); this.state = { isLoading: false, - currentPage: 3, + currentPage: 1, + total:3, filter: {}, list: [ // { @@ -32,6 +33,7 @@ class Status extends React.Component { this.onPageChange = this.onPageChange.bind(this); this.onIsLoadingChange = this.onIsLoadingChange.bind(this); this.handleApplyBtnClick = this.handleApplyBtnClick.bind(this); + this.loadRecordList = this.loadRecordList.bind(this); } componentDidMount() { @@ -44,16 +46,18 @@ class Status extends React.Component { } // load record list - loadRecordList() { + loadRecordList(page=1) { let _this = this; let listParam = {}; listParam.filter = this.state.filter; - // listParam.pageNum = this.state.pageNum; + + listParam.page = page; _record.getRecordList(listParam).then(res => { console.log('res is:' + res) this.setState({ list: res.results, + total: res.count, isLoading: false }); _this.changeIsLoading(false); @@ -117,7 +121,7 @@ class Status extends React.Component { {/**/} {/**/} - + {/**/} diff --git a/front-end/src/service/record-service.jsx b/front-end/src/service/record-service.jsx index 989b0a1..3108aaa 100644 --- a/front-end/src/service/record-service.jsx +++ b/front-end/src/service/record-service.jsx @@ -8,7 +8,7 @@ class Record{ let url = PGConstant.base_url + '/records'; let data = {}; - data.pageNum = listParam.pageNum; + data.page = listParam.page; return _util.request({ type : 'get', diff --git a/front-end/src/util/basic-table/index.jsx b/front-end/src/util/basic-table/index.jsx index e26d3c6..21b49e5 100644 --- a/front-end/src/util/basic-table/index.jsx +++ b/front-end/src/util/basic-table/index.jsx @@ -1,5 +1,6 @@ import React from 'react'; -import {Icon, Table, Menu, Message} from 'semantic-ui-react' +import {Icon, Table, Menu, Message, Button} from 'semantic-ui-react' +import Pagination from 'util/pagination/index.jsx' import './index.css'; // general basic table @@ -7,13 +8,27 @@ class BasicTable extends React.Component { constructor(props) { super(props); this.state = { - isFirstLoading: true + isFirstLoading: true, + total: this.props.total, + currentPage: 1, } } + onPageNumChange(current){ + this.setState({ + currentPage : current + }, () => { + this.props.loadfunc(current); + }); + console.log('current:' + this.state.currentPage) + } render() { + let _list = this.props.list + let style = { + display: 'show' + }; let listBody = _list.map((record, index) => { let machine = record.machine_info[0]; let system = machine.os_name + ' ' + machine.os_version + ' ' + machine.comp_name + ' ' + machine.comp_version; @@ -41,9 +56,15 @@ class BasicTable extends React.Component { {trend.quo} - {trend.regressive} + {trend.regressive} + + + + + - {/*date*/} {new Date().toDateString()} @@ -51,13 +72,14 @@ class BasicTable extends React.Component { }); return ( - +
Alias System Branch - Trending + Trending + Detail Date @@ -74,20 +96,22 @@ class BasicTable extends React.Component { - - - - - 1 - 2 - 3 - 4 - - - - + {/**/} + {/**/} + {/**/} + {/**/} + {/*1*/} + {/*2*/} + {/*3*/} + {/*4*/} + {/**/} + {/**/} + {/**/} + {/**/} + this.onPageNumChange(current)} pageSize={2} current={this.state.currentPage} total={this.props.total}/> +
diff --git a/web/apps/test_records/serializer.py b/web/apps/test_records/serializer.py index 2fc0ac1..8ab52e3 100644 --- a/web/apps/test_records/serializer.py +++ b/web/apps/test_records/serializer.py @@ -192,7 +192,7 @@ class TestRecordDetailSerializer(serializers.ModelSerializer): dataset_scale_list = TestDataSet.objects.filter(test_record_id=obj.id, test_cate=cate_item[0]).values_list( 'scale').annotate(Count('id')) - # print(dataset_scale_list) + # print(dataset_scale_list) # for scale_item in dataset_scale_list: dataset[cate_sn][scale_item[0]] = {} @@ -200,8 +200,7 @@ class TestRecordDetailSerializer(serializers.ModelSerializer): test_cate=cate_item[0], scale=scale_item[0]).values_list( 'clients').annotate(Count('id')) - print(dataset_client_list) - # + # print(dataset_client_list) # for client_item in dataset_client_list: dataset[cate_sn][scale_item[0]][client_item[0]] = [] target_dataset = TestDataSet.objects.filter(test_record_id=obj.id, test_cate=cate_item[0], diff --git a/web/apps/test_records/views.py b/web/apps/test_records/views.py index 40803f9..41a7667 100644 --- a/web/apps/test_records/views.py +++ b/web/apps/test_records/views.py @@ -24,7 +24,7 @@ import json class StandardResultsSetPagination(PageNumberPagination): - page_size = 5 + page_size = 2 page_size_query_param = 'page_size' max_page_size = 100 diff --git a/web/apps/users/models.py b/web/apps/users/models.py index 16ef78b..2b5eb62 100644 --- a/web/apps/users/models.py +++ b/web/apps/users/models.py @@ -27,6 +27,7 @@ class UserProfile(AbstractUser): class Alias(models.Model): name = models.CharField(max_length=32, verbose_name="alias name") is_used = models.BooleanField(default=False,verbose_name="is_used") + add_time = models.DateTimeField(default=timezone.now, verbose_name="add time", help_text="category added time") class UserMachine(models.Model): """ -- 2.39.5