add addToOreo in service

main
Dawn_Ocean 2024-03-18 13:39:15 +08:00
parent e39e8d4e13
commit 501f27bfbb
3 changed files with 65 additions and 3 deletions

View File

@ -17,6 +17,7 @@ import PageFooter from '@/components/PageFooter/PageFooter';
import { submitComment } from '@/service/submitComment';
import Taro from '@tarojs/taro';
import wechatUser from '@/wechat';
import { addToOreo } from '@/service/addToOreo';
const submitInterval = 5000;
@ -31,6 +32,10 @@ interface TicketDetailState {
comment: string;
isLoading: boolean;
isDisable: boolean;
isOreoLoading: boolean;
isOreoDisable: boolean;
isPickLoading: boolean;
isPickDisable: boolean;
}
export default class TicketDetail extends Component<{}, TicketDetailState> {
@ -45,6 +50,10 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
comment: '',
isLoading: false,
isDisable: false,
isOreoLoading: false,
isOreoDisable: false,
isPickLoading: false,
isPickDisable: false,
};
componentDidMount(): void {
@ -117,6 +126,16 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
}
handleOreoConfirm(): void {
this.setState({
isOreoDisable: true,
showOreoModal: false,
});
addToOreo(this);
setTimeout(() => {
this.setState({
isOreoDisable: false,
});
}, submitInterval);
return;
}
@ -188,7 +207,12 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
className='at-col'
style={{ marginLeft: 10, paddingRight: 5, width: '50%' }}
>
<AtButton type='primary' onClick={this.onAddToOreo.bind(this)}>
<AtButton
loading={this.state.isOreoLoading}
disabled={this.state.isOreoDisable}
type='primary'
onClick={this.onAddToOreo.bind(this)}
>
{pt.get().ticketDetail.addToOreo}
</AtButton>
</View>
@ -251,6 +275,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
return (
<View>
<AtMessage />
<AtModal
isOpened={this.state.showOreoModal}
title={pt.get().modal.addToOreo.title}

View File

@ -0,0 +1,38 @@
import TicketDetail from '@/pages/TicketDetail/TicketDetail';
import Taro from '@tarojs/taro';
import pt from '@/plain-text';
import { getUrl } from '.';
export function addToOreo(that: TicketDetail) {
that.setState({
isOreoLoading: true,
});
Taro.request({
url: getUrl('/tickets/addtooreo'),
method: 'POST',
data: {
token: 'token_test',
id: that.state.id,
},
})
.then((res) => {
console.log(res.data);
that.setState({
isOreoLoading: false,
});
Taro.atMessage({
message: pt.get().button.submitText.success,
type: 'success',
});
})
.catch((err) => {
console.log(err);
that.setState({
isLoading: false,
});
Taro.atMessage({
message: pt.get().button.submitText.error + err.toString(),
type: 'error',
});
});
}

View File

@ -6,7 +6,7 @@ import { getUrl } from '.';
export function getUncompletedTicketList(that: MemberPage) {
Taro.request({
url: getUrl('/member/tickets/uncompleted'),
url: getUrl('/tickets/uncompleted'),
method: 'GET',
data: {
token: 'token_test',
@ -30,7 +30,6 @@ export function getUncompletedTicketList(that: MemberPage) {
item.deviceModel,
item.status,
moment(item.createdTime),
true,
),
),
});