diff --git a/src/components/TicketListItem/TicketListItem.tsx b/src/components/TicketListItem/TicketListItem.tsx index 5a3f277..316c2e5 100644 --- a/src/components/TicketListItem/TicketListItem.tsx +++ b/src/components/TicketListItem/TicketListItem.tsx @@ -15,7 +15,6 @@ export class TicketListItem { status: FixStatus; createAt: moment.Moment; iconMap: Map; - isMember: boolean; constructor( id: number, @@ -23,14 +22,12 @@ export class TicketListItem { model: string, status: FixStatus, createAt: moment.Moment, - isMember: boolean, ) { this.id = id; this.brand = brand; this.model = model; this.status = status; this.createAt = createAt; - this.isMember = isMember; this.iconMap = new Map([ [1, repair], [2, repair], @@ -51,11 +48,7 @@ export class TicketListItem { thumb={this.iconMap.get(this.status)} onClick={() => { Taro.navigateTo({ - url: - '/pages/TicketDetail/TicketDetail?id=' + - this.id + - '&isMember=' + - this.isMember, + url: '/pages/TicketDetail/TicketDetail?id=' + this.id, }); }} /> diff --git a/src/pages/TicketDetail/TicketDetail.tsx b/src/pages/TicketDetail/TicketDetail.tsx index 3b0aee5..977459c 100644 --- a/src/pages/TicketDetail/TicketDetail.tsx +++ b/src/pages/TicketDetail/TicketDetail.tsx @@ -3,6 +3,8 @@ import { View } from '@tarojs/components'; import { getCurrentInstance } from '@tarojs/runtime'; import pt from '@/plain-text'; import { + AtActionSheet, + AtActionSheetItem, AtButton, AtFloatLayout, AtForm, @@ -14,6 +16,7 @@ import DetailFramework from '@/components/DetailFramework/DetailFramework'; import PageFooter from '@/components/PageFooter/PageFooter'; import { submitComment } from '@/service/submitComment'; import Taro from '@tarojs/taro'; +import wechatUser from '@/wechat'; const submitInterval = 5000; @@ -22,6 +25,9 @@ interface TicketDetailState { isMember: boolean; showOreoModal: boolean; showCommentModal: boolean; + showRetrieveModal: boolean; + showStatusSheet: boolean; + showPickModal: boolean; comment: string; isLoading: boolean; isDisable: boolean; @@ -33,6 +39,9 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { isMember: false, showOreoModal: false, showCommentModal: false, + showRetrieveModal: false, + showStatusSheet: false, + showPickModal: false, comment: '', isLoading: false, isDisable: false, @@ -41,10 +50,9 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { 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, + isMember: wechatUser.getAccess(), }); } @@ -60,6 +68,24 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { }); } + onRetrieved(): void { + this.setState({ + showRetrieveModal: true, + }); + } + + onPick(): void { + this.setState({ + showPickModal: true, + }); + } + + onChangeStatus(): void { + this.setState({ + showStatusSheet: true, + }); + } + handleOreoCancel(): void { this.setState({ showOreoModal: false, @@ -72,6 +98,24 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { }); } + handleRetrieveCancel(): void { + this.setState({ + showRetrieveModal: false, + }); + } + + handleStatusCancel(): void { + this.setState({ + showStatusSheet: false, + }); + } + + handlePickCancel(): void { + this.setState({ + showPickModal: false, + }); + } + handleOreoConfirm(): void { return; } @@ -80,6 +124,20 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { return; } + handleRetrieveConfirm(): void { + return; + } + + handlePickConfirm(): void { + return; + } + + handleStatusChange(status: number): void { + this.setState({ + showStatusSheet: false, + }); + } + handleCommentChange(comment: string) { this.setState({ comment: comment, @@ -113,29 +171,48 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { render(): ReactNode { const middleButton = this.state.isMember ? ( - + - {pt.get().ticketDetail.pick} + + + {pt.get().ticketDetail.pick} + + + + + {pt.get().ticketDetail.addToOreo} + + - {pt.get().ticketDetail.addToOreo} - - - {pt.get().ticketDetail.addNote} + + + {pt.get().ticketDetail.status.button} + + + + + {pt.get().ticketDetail.addNote} + + ) : ( @@ -147,13 +224,17 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { className='at-col' style={{ marginLeft: 10, paddingRight: 5, width: '50%' }} > - {pt.get().ticketDetail.tookAway} + + {pt.get().ticketDetail.tookAway} + - {pt.get().ticketDetail.addNote} + + {pt.get().ticketDetail.addNote} + ); @@ -178,6 +259,24 @@ export default class TicketDetail extends Component<{}, TicketDetailState> { onConfirm={this.handleOreoConfirm.bind(this)} content={pt.get().modal.addToOreo.content} /> + + { + + + {pt.get().ticketDetail.status.status0} + + + {pt.get().ticketDetail.status.status1} + + + {pt.get().ticketDetail.status.status2} + + + {pt.get().ticketDetail.status.status3} + + + {pt.get().ticketDetail.status.status4} + + + {pt.get().ticketDetail.status.status5} + +