add uncompleted ticket list in member page

This commit is contained in:
Dawn1Ocean
2024-03-15 00:54:05 +08:00
parent fc3ef61e5d
commit 5614ce5818
10 changed files with 130 additions and 12 deletions
+23 -1
View File
@@ -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%' }}
+34 -4
View File
@@ -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>
);
}
-1
View File
@@ -186,7 +186,6 @@ export default class RepairPage extends Component<{}, RepairPageState> {
/>
</AtCard>
));
console.log(ticketsRenderer);
return (
<View>
<AtMessage />
+1 -1
View File
@@ -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) {
+1 -1
View File
@@ -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(),
};