add uncompleted ticket list in member page
This commit is contained in:
@@ -8,23 +8,45 @@ import PageFooter from '@/components/PageFooter/PageFooter';
|
||||
|
||||
interface TicketDetailState {
|
||||
id: number;
|
||||
isMember: boolean;
|
||||
}
|
||||
|
||||
export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||
state: Readonly<TicketDetailState> = {
|
||||
id: 0,
|
||||
isMember: false,
|
||||
};
|
||||
|
||||
componentDidMount(): void {
|
||||
const { router } = getCurrentInstance();
|
||||
const id = router?.params.id as number;
|
||||
const isMember = router?.params.isMember as boolean;
|
||||
this.setState({
|
||||
id: id,
|
||||
isMember: isMember,
|
||||
});
|
||||
}
|
||||
|
||||
render(): ReactNode {
|
||||
const middleButton = (
|
||||
const middleButton = this.state.isMember ? (
|
||||
<View
|
||||
className='at-row'
|
||||
style={{ paddingTop: 10, paddingBottom: 10, width: '100%' }}
|
||||
>
|
||||
<View
|
||||
className='at-col'
|
||||
style={{ marginLeft: 10, paddingRight: 5, width: '50%' }}
|
||||
>
|
||||
<AtButton type='primary'>{pt.get().ticketDetail.addToOreo}</AtButton>
|
||||
</View>
|
||||
<View
|
||||
className='at-col'
|
||||
style={{ marginRight: 10, paddingLeft: 5, width: '50%' }}
|
||||
>
|
||||
<AtButton type='secondary'>{pt.get().ticketDetail.addNote}</AtButton>
|
||||
</View>
|
||||
</View>
|
||||
) : (
|
||||
<View
|
||||
className='at-row'
|
||||
style={{ paddingTop: 10, paddingBottom: 10, width: '100%' }}
|
||||
|
||||
@@ -1,10 +1,33 @@
|
||||
import { View, Text } from '@tarojs/components';
|
||||
import { View } from '@tarojs/components';
|
||||
import { Component, ReactNode } from 'react';
|
||||
import { AtButton, AtCard, AtList } from 'taro-ui';
|
||||
import Taro from '@tarojs/taro';
|
||||
import type CustomTabBar from '../../custom-tab-bar';
|
||||
import pt from '@/plain-text';
|
||||
import { getUncompletedTicketList } from '@/service/uncompletedTicket';
|
||||
import type CustomTabBar from '@/custom-tab-bar';
|
||||
import { TicketListItem } from '@/components/TicketListItem/TicketListItem';
|
||||
import { RequestState } from '@/service';
|
||||
import moment from 'moment';
|
||||
import './member.scss';
|
||||
|
||||
export default class MemberPage extends Component {
|
||||
interface UncompletedTicketState {
|
||||
fixList: Array<TicketListItem>;
|
||||
rs: RequestState;
|
||||
}
|
||||
|
||||
export default class MemberPage extends Component<{}, UncompletedTicketState> {
|
||||
state = {
|
||||
fixList: [new TicketListItem(0, '', '', 1, moment(), false)],
|
||||
rs: new RequestState(),
|
||||
};
|
||||
|
||||
componentDidMount(): void {
|
||||
Taro.setNavigationBarTitle({
|
||||
title: pt.get().navBar.user.member,
|
||||
});
|
||||
getUncompletedTicketList(this);
|
||||
}
|
||||
|
||||
// 以下是TabBar相关
|
||||
pageCtx = Taro.getCurrentInstance().page;
|
||||
componentDidShow() {
|
||||
@@ -14,9 +37,16 @@ export default class MemberPage extends Component {
|
||||
// 以上是TabBar相关
|
||||
|
||||
render(): ReactNode {
|
||||
if (this.state.rs.loading) {
|
||||
return <View>loading</View>;
|
||||
}
|
||||
if (!this.state.rs.success) {
|
||||
return <View>Failed</View>;
|
||||
}
|
||||
const fixListRenderer = this.state.fixList.map((item) => item.render());
|
||||
return (
|
||||
<View>
|
||||
<Text>Member Page</Text>
|
||||
<AtList>{fixListRenderer}</AtList>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -186,7 +186,6 @@ export default class RepairPage extends Component<{}, RepairPageState> {
|
||||
/>
|
||||
</AtCard>
|
||||
));
|
||||
console.log(ticketsRenderer);
|
||||
return (
|
||||
<View>
|
||||
<AtMessage />
|
||||
|
||||
@@ -16,7 +16,7 @@ export default class MemberPage extends Component {
|
||||
};
|
||||
componentDidMount(): void {
|
||||
Taro.setNavigationBarTitle({
|
||||
title: pt.get().navBar.user.member,
|
||||
title: pt.get().navBar.user.memberLogin,
|
||||
});
|
||||
}
|
||||
handleChangeStuid(stuid: string) {
|
||||
|
||||
@@ -16,7 +16,7 @@ interface MyTicketState {
|
||||
|
||||
export default class MyTicketPage extends Component<{}, MyTicketState> {
|
||||
state = {
|
||||
fixList: [new TicketListItem(0, '', '', 1, moment())],
|
||||
fixList: [new TicketListItem(0, '', '', 1, moment(), false)],
|
||||
rs: new RequestState(),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user