add pagination in ticketlist
parent
1cf16472d2
commit
ff317c1cd2
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"pageIndex": 1,
|
"pageIndex": 1,
|
||||||
"pageCount": 24,
|
"pageCount": 24,
|
||||||
"size": 10,
|
"size": 8,
|
||||||
"queryType": 0,
|
"queryType": 0,
|
||||||
"data": [
|
"data": [
|
||||||
{
|
{
|
||||||
|
|
@ -81,32 +81,10 @@
|
||||||
"createdTime": "2024-03-06T09:49:27.043865",
|
"createdTime": "2024-03-06T09:49:27.043865",
|
||||||
"isConfirmed": false
|
"isConfirmed": false
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": 6837,
|
|
||||||
"type": 1,
|
|
||||||
"status": 7,
|
|
||||||
"device": "EVA",
|
|
||||||
"deviceModel": "超级笔记本",
|
|
||||||
"owner": "亦可",
|
|
||||||
"phone": "18888888881",
|
|
||||||
"createdTime": "2024-03-16T19:49:27.043865",
|
|
||||||
"isConfirmed": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 6838,
|
|
||||||
"type": 0,
|
|
||||||
"status": 2,
|
|
||||||
"device": "罗技",
|
|
||||||
"deviceModel": "G304",
|
|
||||||
"owner": "暮泠",
|
|
||||||
"phone": "18888888880",
|
|
||||||
"createdTime": "2024-04-06T19:49:27.043865",
|
|
||||||
"isConfirmed": false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": 6839,
|
"id": 6839,
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"status": 3,
|
"status": 7,
|
||||||
"device": "HAL",
|
"device": "HAL",
|
||||||
"deviceModel": "卡比手办",
|
"deviceModel": "卡比手办",
|
||||||
"owner": "蘑菇云",
|
"owner": "蘑菇云",
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ export default defineAppConfig({
|
||||||
'pages/user/report/report',
|
'pages/user/report/report',
|
||||||
'pages/user/member/member',
|
'pages/user/member/member',
|
||||||
'pages/TicketDetail/TicketDetail',
|
'pages/TicketDetail/TicketDetail',
|
||||||
'pages/ticketList/ticketList',
|
'pages/TicketList/TicketList',
|
||||||
],
|
],
|
||||||
window: {
|
window: {
|
||||||
backgroundTextStyle: 'light',
|
backgroundTextStyle: 'light',
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
import { Component, ReactNode } from 'react';
|
import { Component, ReactNode } from 'react';
|
||||||
import { View } from '@tarojs/components';
|
import { View } from '@tarojs/components';
|
||||||
import { AtList } from 'taro-ui';
|
import { AtList, AtPagination } from 'taro-ui';
|
||||||
import Taro from '@tarojs/taro';
|
import Taro from '@tarojs/taro';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import pt from '@/plain-text';
|
import pt from '@/plain-text';
|
||||||
|
import PageFooter from '@/components/PageFooter/PageFooter';
|
||||||
import { RequestState } from '@/service';
|
import { RequestState } from '@/service';
|
||||||
import { getTicketList } from '@/service/ticketList';
|
import { getTicketList } from '@/service/ticketList';
|
||||||
import { TicketListItem } from '@/components/TicketListItem/TicketListItem';
|
import { TicketListItem } from '@/components/TicketListItem/TicketListItem';
|
||||||
|
|
@ -12,12 +13,18 @@ import './TicketList.scss';
|
||||||
interface TicketListState {
|
interface TicketListState {
|
||||||
fixList: Array<TicketListItem>;
|
fixList: Array<TicketListItem>;
|
||||||
rs: RequestState;
|
rs: RequestState;
|
||||||
|
currentPage: number;
|
||||||
|
totalPage: number;
|
||||||
|
pageSize: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class TicketListPage extends Component<{}, TicketListState> {
|
export default class TicketListPage extends Component<{}, TicketListState> {
|
||||||
state = {
|
state = {
|
||||||
fixList: [new TicketListItem(0, '', '', 1, moment())],
|
fixList: [new TicketListItem(0, '', '', 1, moment())],
|
||||||
rs: new RequestState(),
|
rs: new RequestState(),
|
||||||
|
currentPage: 1,
|
||||||
|
totalPage: 1,
|
||||||
|
pageSize: 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
componentDidMount(): void {
|
componentDidMount(): void {
|
||||||
|
|
@ -27,6 +34,13 @@ export default class TicketListPage extends Component<{}, TicketListState> {
|
||||||
getTicketList(this);
|
getTicketList(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onPageChange(): void {
|
||||||
|
this.setState({
|
||||||
|
rs: new RequestState(),
|
||||||
|
});
|
||||||
|
getTicketList(this);
|
||||||
|
}
|
||||||
|
|
||||||
render(): ReactNode {
|
render(): ReactNode {
|
||||||
if (this.state.rs.loading) {
|
if (this.state.rs.loading) {
|
||||||
return <View>loading</View>;
|
return <View>loading</View>;
|
||||||
|
|
@ -37,7 +51,18 @@ export default class TicketListPage extends Component<{}, TicketListState> {
|
||||||
const fixListRenderer = this.state.fixList.map((item) => item.render());
|
const fixListRenderer = this.state.fixList.map((item) => item.render());
|
||||||
return (
|
return (
|
||||||
<View>
|
<View>
|
||||||
<AtList>{fixListRenderer}</AtList>
|
<View style={{ marginTop: '40rpx' }}>
|
||||||
|
<AtList>{fixListRenderer}</AtList>
|
||||||
|
</View>
|
||||||
|
<View style={{ marginTop: '40rpx' }}>
|
||||||
|
<AtPagination
|
||||||
|
total={this.state.totalPage}
|
||||||
|
pageSize={this.state.pageSize}
|
||||||
|
current={this.state.currentPage}
|
||||||
|
onPageChange={this.onPageChange.bind(this)}
|
||||||
|
></AtPagination>
|
||||||
|
</View>
|
||||||
|
<PageFooter />
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ export default class MainPage extends Component<{}, MainPageState> {
|
||||||
|
|
||||||
ticketListPage() {
|
ticketListPage() {
|
||||||
Taro.navigateTo({
|
Taro.navigateTo({
|
||||||
url: '/pages/ticketList/ticketList',
|
url: '/pages/TicketList/TicketList',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,14 @@ export function getTicketList(that: TicketListPage) {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
data: {
|
data: {
|
||||||
token: wechatUser.getToken(),
|
token: wechatUser.getToken(),
|
||||||
|
pageId: that.state.currentPage,
|
||||||
|
count: that.state.pageSize,
|
||||||
|
querytype: 0,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
let former = that.state.rs;
|
let former = that.state.rs;
|
||||||
|
const data = res.data.data;
|
||||||
if (!res.data.success) {
|
if (!res.data.success) {
|
||||||
that.setState({
|
that.setState({
|
||||||
rs: former.trans(false),
|
rs: former.trans(false),
|
||||||
|
|
@ -24,7 +28,7 @@ export function getTicketList(that: TicketListPage) {
|
||||||
}
|
}
|
||||||
that.setState({
|
that.setState({
|
||||||
rs: former.trans(true),
|
rs: former.trans(true),
|
||||||
fixList: res.data.data.data.map(
|
fixList: data.data.map(
|
||||||
(item: {
|
(item: {
|
||||||
id: number;
|
id: number;
|
||||||
device: string;
|
device: string;
|
||||||
|
|
@ -40,6 +44,9 @@ export function getTicketList(that: TicketListPage) {
|
||||||
moment(item.createdTime),
|
moment(item.createdTime),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
currentPage: data.pageIndex,
|
||||||
|
pageSize: data.size,
|
||||||
|
totalPage: data.pageCount,
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((reason) => {
|
.catch((reason) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue