Skip to content

Commit 8ea1f28

Browse files
committed
improved problem list style
Signed-off-by: zhangtianli2006 <49156174+zhangtianli2006@users.noreply.github.com>
1 parent 946c62f commit 8ea1f28

File tree

4 files changed

+68
-65
lines changed

4 files changed

+68
-65
lines changed

src/assets/css/basic.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,19 @@ h3::before {
191191
margin-top: 0;
192192
}
193193

194+
.problem-list-pagination {
195+
border: 1px solid #ebeef5;
196+
background: #ffffff;
197+
margin-left: -20px;
198+
padding: 10px;
199+
height: 36px;
200+
max-width: 100vw;
201+
width: 827px;
202+
text-align: center;
203+
bottom: 0px;
204+
position: fixed;
205+
}
206+
194207
* {
195208
border-radius: 0 !important;
196209
}

src/components/lib/AjaxTable.vue

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="ajax-table">
2+
<div>
33
<el-table
44
v-loading="loading"
55
:data="tableData"
@@ -16,14 +16,15 @@
1616
:sortable="item.sortable"
1717
/>
1818
</el-table>
19-
<el-pagination
20-
:page-size="this.limit"
21-
background
22-
layout="prev, pager, next, jumper"
23-
@current-change="this.onPageChange"
24-
class="pagination"
25-
:total="this.own_total"
26-
/>
19+
<div :class="pagination_class + ' top-zindex'">
20+
<el-pagination
21+
:page-size="this.limit"
22+
background
23+
layout="prev, pager, next, jumper"
24+
@current-change="this.onPageChange"
25+
:total="this.own_total"
26+
/>
27+
</div>
2728
</div>
2829
</template>
2930

@@ -111,15 +112,16 @@ export default {
111112
default_sort: {
112113
type: Object,
113114
default: null
115+
},
116+
pagination_class: {
117+
type: String,
118+
default: 'pagination'
114119
}
115120
},
116121
};
117122
</script>
118123

119124
<style scoped>
120125
.pagination {
121-
height: 36px;
122-
margin-top: 20px;
123-
text-align: center;
124126
}
125127
</style>

src/components/lib/jumpToProblem.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<template>
22
<div>
33
<el-card>
4-
<i class="el-icon-s-promotion" />
5-
Jump to
4+
<div slot="header" class="clearfic">
5+
<i class="el-icon-s-promotion" />
6+
Jump to
7+
</div>
68
<el-input
79
placeholder="PID"
810
v-model="jumpToProblem"
9-
class="input-with-select"
10-
style="margin-top: 9px;"
11+
class="input-with-select"
1112
>
1213
<template slot="prepend">#.</template>
1314
<el-button slot="append" icon="el-icon-top-right" @click="jump"></el-button>

src/components/problem/list.vue

Lines changed: 36 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,52 @@
11
<template>
22
<div>
3-
<el-row :gutter="20">
4-
<el-col :span="10">
3+
<el-row :gutter="20" style="margin-bottom: 30px">
4+
<el-col :span="18">
5+
<el-card v-if="alive">
6+
<AjaxTable
7+
:ajax_url="ajax_url"
8+
:columns="columns"
9+
:limit="limit"
10+
:total="data_count"
11+
:process="process"
12+
:default_sort="{prop: 'pid', order: 'ascending'}"
13+
:costumData="{title:title}"
14+
pagination_class="problem-list-pagination"
15+
/>
16+
</el-card>
17+
</el-col>
18+
19+
<el-col :span="6">
520
<el-card>
6-
<i class="el-icon-search" />
7-
Search
21+
<div slot="header" class="clearfix">
22+
<i class="el-icon-search" />
23+
Search
24+
</div>
825
<el-input
926
placeholder="Search"
1027
v-model="searchTitle"
11-
class="input-with-select"
12-
style="margin-top: 9px;"
28+
class="input-with-select"
1329
clearable
1430
>
1531
</el-input>
1632
</el-card>
17-
</el-col>
18-
<el-col :span="6">
19-
<JumpToProblem />
20-
</el-col>
21-
<el-col :span="8">
22-
<el-card>
23-
<el-row :gutter="20">
24-
<el-col :span="16">
25-
<span>
26-
<i class="el-icon-s-grid" />
27-
Columns
28-
</span>
29-
<el-slider
30-
v-model="limit"
31-
:step="10"
32-
:min="10"
33-
style="margin-top: 10px;"
34-
/>
35-
</el-col>
36-
<el-col :span="8">
37-
<div>
38-
<i class="el-icon-collection-tag" />
39-
Show Tags
40-
</div>
41-
<el-switch
42-
v-model="showTags"
43-
active-color="#13ce66"
44-
inactive-color="#ff4949"
45-
style="margin-top: 18px;"
46-
/>
47-
</el-col>
48-
</el-row>
33+
<JumpToProblem class="item" />
34+
<el-card class="item">
35+
<span>
36+
<i class="el-icon-s-grid" />
37+
Columns
38+
</span>
39+
<el-slider
40+
v-model="limit"
41+
:step="10"
42+
:min="10"
43+
style="margin-top: 10px;"
44+
/>
45+
<el-divider />
46+
<el-checkbox v-model="showTags"> Show Tags</el-checkbox>
4947
</el-card>
5048
</el-col>
5149
</el-row>
52-
<el-card class="item" v-if="alive">
53-
<AjaxTable
54-
:ajax_url="ajax_url"
55-
:columns="columns"
56-
:limit="limit"
57-
:total="data_count"
58-
:process="process"
59-
:default_sort="{prop: 'pid', order: 'ascending'}"
60-
:costumData="{title:title}"
61-
/>
62-
</el-card>
6350
</div>
6451
</template>
6552

0 commit comments

Comments
 (0)