add reminder structure in ticketdetail
parent
5ce1db7693
commit
7f017a0b47
|
|
@ -6,6 +6,7 @@ import {
|
||||||
AtActionSheet,
|
AtActionSheet,
|
||||||
AtActionSheetItem,
|
AtActionSheetItem,
|
||||||
AtButton,
|
AtButton,
|
||||||
|
AtCheckbox,
|
||||||
AtFloatLayout,
|
AtFloatLayout,
|
||||||
AtForm,
|
AtForm,
|
||||||
AtMessage,
|
AtMessage,
|
||||||
|
|
@ -30,6 +31,7 @@ interface TicketDetailState {
|
||||||
isMember: boolean;
|
isMember: boolean;
|
||||||
showOreoModal: boolean;
|
showOreoModal: boolean;
|
||||||
showCommentLayout: boolean;
|
showCommentLayout: boolean;
|
||||||
|
showReminderLayout: boolean;
|
||||||
showRetrieveModal: boolean;
|
showRetrieveModal: boolean;
|
||||||
showStatusSheet: boolean;
|
showStatusSheet: boolean;
|
||||||
showPickModal: boolean;
|
showPickModal: boolean;
|
||||||
|
|
@ -48,6 +50,10 @@ interface TicketDetailState {
|
||||||
isCommentLoading: boolean;
|
isCommentLoading: boolean;
|
||||||
isCommentDisable: boolean;
|
isCommentDisable: boolean;
|
||||||
isCommentDisable_main: boolean;
|
isCommentDisable_main: boolean;
|
||||||
|
isReminderLoading: boolean;
|
||||||
|
isReminderDisable: boolean;
|
||||||
|
reminderList: Array<number>;
|
||||||
|
statusToBe: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class TicketDetail extends Component<{}, TicketDetailState> {
|
export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||||
|
|
@ -56,6 +62,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||||
isMember: false,
|
isMember: false,
|
||||||
showOreoModal: false,
|
showOreoModal: false,
|
||||||
showCommentLayout: false,
|
showCommentLayout: false,
|
||||||
|
showReminderLayout: false,
|
||||||
showRetrieveModal: false,
|
showRetrieveModal: false,
|
||||||
showStatusSheet: false,
|
showStatusSheet: false,
|
||||||
showPickModal: false,
|
showPickModal: false,
|
||||||
|
|
@ -74,6 +81,10 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||||
isCommentLoading: false,
|
isCommentLoading: false,
|
||||||
isCommentDisable: false,
|
isCommentDisable: false,
|
||||||
isCommentDisable_main: false,
|
isCommentDisable_main: false,
|
||||||
|
isReminderDisable: false,
|
||||||
|
isReminderLoading: false,
|
||||||
|
reminderList: [],
|
||||||
|
statusToBe: 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
componentDidMount(): void {
|
componentDidMount(): void {
|
||||||
|
|
@ -128,6 +139,12 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleReminderCancel(): void {
|
||||||
|
this.setState({
|
||||||
|
showReminderLayout: false,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
handleRetrieveCancel(): void {
|
handleRetrieveCancel(): void {
|
||||||
this.setState({
|
this.setState({
|
||||||
showRetrieveModal: false,
|
showRetrieveModal: false,
|
||||||
|
|
@ -193,7 +210,14 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||||
showStatusSheet: false,
|
showStatusSheet: false,
|
||||||
isStatusDisable: true,
|
isStatusDisable: true,
|
||||||
});
|
});
|
||||||
changeStatus(this, status);
|
if (status == 3 || status == 5 || status == 7) {
|
||||||
|
this.setState({
|
||||||
|
showReminderLayout: true,
|
||||||
|
statusToBe: status,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
changeStatus(this, status);
|
||||||
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.setState({
|
this.setState({
|
||||||
isStatusDisable: false,
|
isStatusDisable: false,
|
||||||
|
|
@ -234,6 +258,57 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||||
}, submitInterval);
|
}, submitInterval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleReminderChange(reminderList: Array<number>) {
|
||||||
|
this.setState({
|
||||||
|
reminderList: reminderList,
|
||||||
|
});
|
||||||
|
return reminderList;
|
||||||
|
}
|
||||||
|
|
||||||
|
onReminderSubmit() {
|
||||||
|
this.setState({
|
||||||
|
isReminderDisable: true,
|
||||||
|
});
|
||||||
|
if (
|
||||||
|
this.state.reminderList.includes(1) &&
|
||||||
|
this.state.reminderList.includes(3)
|
||||||
|
) {
|
||||||
|
this.setState({
|
||||||
|
showReminderLayout: false,
|
||||||
|
});
|
||||||
|
changeStatus(this, this.state.statusToBe);
|
||||||
|
} else {
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.submitText.blank,
|
||||||
|
type: 'error',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
setTimeout(() => {
|
||||||
|
this.setState({
|
||||||
|
isReminderDisable: false,
|
||||||
|
});
|
||||||
|
}, submitInterval);
|
||||||
|
}
|
||||||
|
|
||||||
|
reminderOption = [
|
||||||
|
{
|
||||||
|
value: 0,
|
||||||
|
label: pt.get().repairPage.checkboxText.none,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 1,
|
||||||
|
label: pt.get().repairPage.checkboxText.usbDisk,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 2,
|
||||||
|
label: pt.get().repairPage.checkboxText.mouseOrReceiver,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 3,
|
||||||
|
label: pt.get().repairPage.checkboxText.powerAdapter,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
render(): ReactNode {
|
render(): ReactNode {
|
||||||
const middleButton = this.state.isMember ? (
|
const middleButton = this.state.isMember ? (
|
||||||
<View>
|
<View>
|
||||||
|
|
@ -402,6 +477,27 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||||
</AtButton>
|
</AtButton>
|
||||||
</AtForm>
|
</AtForm>
|
||||||
</AtFloatLayout>
|
</AtFloatLayout>
|
||||||
|
<AtFloatLayout
|
||||||
|
isOpened={this.state.showReminderLayout}
|
||||||
|
title={pt.get().ticketDetail.reminder.title}
|
||||||
|
onClose={this.handleReminderCancel.bind(this)}
|
||||||
|
>
|
||||||
|
<AtForm onSubmit={this.onReminderSubmit.bind(this)}>
|
||||||
|
<AtCheckbox
|
||||||
|
options={this.reminderOption}
|
||||||
|
selectedList={this.state.reminderList}
|
||||||
|
onChange={this.handleReminderChange.bind(this)}
|
||||||
|
/>
|
||||||
|
<AtButton
|
||||||
|
loading={this.state.isReminderLoading}
|
||||||
|
formType='submit'
|
||||||
|
type='primary'
|
||||||
|
disabled={this.state.isReminderDisable}
|
||||||
|
>
|
||||||
|
{pt.get().button.buttonText.submit}
|
||||||
|
</AtButton>
|
||||||
|
</AtForm>
|
||||||
|
</AtFloatLayout>
|
||||||
<AtActionSheet
|
<AtActionSheet
|
||||||
isOpened={this.state.showStatusSheet}
|
isOpened={this.state.showStatusSheet}
|
||||||
cancelText={pt.get().ticketDetail.status.cancel}
|
cancelText={pt.get().ticketDetail.status.cancel}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,9 @@ export interface TicketDetailText {
|
||||||
pick: string;
|
pick: string;
|
||||||
status: string;
|
status: string;
|
||||||
};
|
};
|
||||||
|
reminder: {
|
||||||
|
title: string;
|
||||||
|
};
|
||||||
comment: {
|
comment: {
|
||||||
title: string;
|
title: string;
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
|
|
@ -72,6 +75,9 @@ export const ticketDetailZhCn: TicketDetailText = {
|
||||||
createTicketMessage: '创建了维修',
|
createTicketMessage: '创建了维修',
|
||||||
statusModifyPrefix: '将维修状态改为:',
|
statusModifyPrefix: '将维修状态改为:',
|
||||||
},
|
},
|
||||||
|
reminder: {
|
||||||
|
title: '注意事项!',
|
||||||
|
},
|
||||||
status: {
|
status: {
|
||||||
title: '请选择要改变成为的状态',
|
title: '请选择要改变成为的状态',
|
||||||
cancel: '取消',
|
cancel: '取消',
|
||||||
|
|
@ -117,6 +123,9 @@ export const ticketDetailEnUs: TicketDetailText = {
|
||||||
createTicketMessage: 'Created ticket',
|
createTicketMessage: 'Created ticket',
|
||||||
statusModifyPrefix: 'Modified repair status to: ',
|
statusModifyPrefix: 'Modified repair status to: ',
|
||||||
},
|
},
|
||||||
|
reminder: {
|
||||||
|
title: 'Reminder',
|
||||||
|
},
|
||||||
status: {
|
status: {
|
||||||
title: 'Please select the status you want to modify to',
|
title: 'Please select the status you want to modify to',
|
||||||
cancel: 'Cancel',
|
cancel: 'Cancel',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue