add button disable in ticketdetail with relavant services
parent
f3f5be793b
commit
97a8d0570a
|
|
@ -6,9 +6,9 @@
|
|||
"owner": "唐姐姐",
|
||||
"phone": "15555555555",
|
||||
"description": "清灰",
|
||||
"workers": [],
|
||||
"workers": ["宇航员"],
|
||||
"createdTime": "2024-03-07T19:52:48.523303",
|
||||
"status": 2,
|
||||
"status": 5,
|
||||
"isConfirmed": false,
|
||||
"notes": [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import { addToOreo } from '@/service/addToOreo';
|
|||
import { pickTicket } from '@/service/pickTicket';
|
||||
import { retrieve } from '@/service/retrieve';
|
||||
import { changeStatus } from '@/service/changeStatus';
|
||||
import { getDisable } from '@/service/getDisable';
|
||||
|
||||
const submitInterval = 5000;
|
||||
|
||||
|
|
@ -35,14 +36,18 @@ interface TicketDetailState {
|
|||
comment: string;
|
||||
isOreoLoading: boolean;
|
||||
isOreoDisable: boolean;
|
||||
isOreoDisable_main: boolean;
|
||||
isPickLoading: boolean;
|
||||
isPickDisable: boolean;
|
||||
isPickDisable_main: boolean;
|
||||
isRetrieveLoading: boolean;
|
||||
isRetrieveDisable: boolean;
|
||||
isRetrieveDisable_main: boolean;
|
||||
isStatusLoading: boolean;
|
||||
isStatusDisable: boolean;
|
||||
isCommentLoading: boolean;
|
||||
isCommentDisable: boolean;
|
||||
isCommentDisable_main: boolean;
|
||||
}
|
||||
|
||||
export default class TicketDetail extends Component<{}, TicketDetailState> {
|
||||
|
|
@ -57,14 +62,18 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
|||
comment: '',
|
||||
isOreoLoading: false,
|
||||
isOreoDisable: false,
|
||||
isOreoDisable_main: false,
|
||||
isPickLoading: false,
|
||||
isPickDisable: false,
|
||||
isPickDisable_main: false,
|
||||
isRetrieveLoading: false,
|
||||
isRetrieveDisable: false,
|
||||
isRetrieveDisable_main: false,
|
||||
isStatusLoading: false,
|
||||
isStatusDisable: false,
|
||||
isCommentLoading: false,
|
||||
isCommentDisable: false,
|
||||
isCommentDisable_main: false,
|
||||
};
|
||||
|
||||
componentDidMount(): void {
|
||||
|
|
@ -74,6 +83,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
|||
id: id,
|
||||
isMember: wechatUser.getAccess(),
|
||||
});
|
||||
getDisable(this, id);
|
||||
}
|
||||
|
||||
onAddToOreo(): void {
|
||||
|
|
@ -237,7 +247,9 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
|||
>
|
||||
<AtButton
|
||||
loading={this.state.isPickLoading}
|
||||
disabled={this.state.isPickDisable}
|
||||
disabled={
|
||||
this.state.isPickDisable || this.state.isPickDisable_main
|
||||
}
|
||||
type='secondary'
|
||||
onClick={this.onPick.bind(this)}
|
||||
>
|
||||
|
|
@ -250,7 +262,9 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
|||
>
|
||||
<AtButton
|
||||
loading={this.state.isOreoLoading}
|
||||
disabled={this.state.isOreoDisable}
|
||||
disabled={
|
||||
this.state.isOreoDisable || this.state.isOreoDisable_main
|
||||
}
|
||||
type='primary'
|
||||
onClick={this.onAddToOreo.bind(this)}
|
||||
>
|
||||
|
|
@ -280,7 +294,9 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
|||
style={{ marginLeft: '20rpx', paddingRight: '10rpx', width: '50%' }}
|
||||
>
|
||||
<AtButton
|
||||
disabled={this.state.isCommentDisable}
|
||||
disabled={
|
||||
this.state.isCommentDisable || this.state.isCommentDisable_main
|
||||
}
|
||||
loading={this.state.isCommentLoading}
|
||||
type='secondary'
|
||||
onClick={this.onAddComment.bind(this)}
|
||||
|
|
@ -301,7 +317,9 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
|||
>
|
||||
<AtButton
|
||||
loading={this.state.isRetrieveLoading}
|
||||
disabled={this.state.isRetrieveDisable}
|
||||
disabled={
|
||||
this.state.isRetrieveDisable || this.state.isRetrieveDisable_main
|
||||
}
|
||||
type='primary'
|
||||
onClick={this.onRetrieved.bind(this)}
|
||||
>
|
||||
|
|
@ -313,7 +331,9 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
|
|||
style={{ marginRight: '20rpx', paddingLeft: '10rpx', width: '50%' }}
|
||||
>
|
||||
<AtButton
|
||||
disabled={this.state.isCommentDisable}
|
||||
disabled={
|
||||
this.state.isCommentDisable || this.state.isCommentDisable_main
|
||||
}
|
||||
loading={this.state.isCommentLoading}
|
||||
type='secondary'
|
||||
onClick={this.onAddComment.bind(this)}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ export class TicketInfo {
|
|||
createdTime: moment.Moment;
|
||||
status: FixStatus;
|
||||
info: Info;
|
||||
workers: string[];
|
||||
}
|
||||
|
||||
export class TicketNote {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
import TicketDetail from '@/pages/TicketDetail/TicketDetail';
|
||||
import Taro from '@tarojs/taro';
|
||||
import wechatUser from '@/wechat';
|
||||
import { getUrl } from '.';
|
||||
|
||||
export function getDisable(that: TicketDetail, id: number) {
|
||||
Taro.request({
|
||||
url: getUrl('/tickets/info'),
|
||||
method: 'GET',
|
||||
data: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
const data = res.data.data;
|
||||
if (data.status === 3 || data.status === 5 || data.status === 7) {
|
||||
that.setState({
|
||||
isRetrieveDisable_main: true,
|
||||
isCommentDisable_main: true,
|
||||
});
|
||||
}
|
||||
if (wechatUser.getAccess()) {
|
||||
if (data.workers.includes(wechatUser.getInfo().name)) {
|
||||
that.setState({
|
||||
isPickDisable_main: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((reason) => {
|
||||
console.error(reason);
|
||||
});
|
||||
}
|
||||
|
|
@ -30,7 +30,7 @@ export function memberLogin(that: UserMemberPage) {
|
|||
wechatUser.setInfo(res.data.data as UserInfo);
|
||||
wechatUser.setAccess(true);
|
||||
Taro.reLaunch({
|
||||
url: '/pages/member/member',
|
||||
url: '/pages/index/index',
|
||||
});
|
||||
} else {
|
||||
Taro.atMessage({
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ export function getTicketInfo(that: DetailFramework, id: number) {
|
|||
id: data.id,
|
||||
type: data.type,
|
||||
device: data.device,
|
||||
workers: data.workers,
|
||||
deviceModel: data.deviceModel,
|
||||
description: data.description,
|
||||
createdTime: moment(data.createdTime as string),
|
||||
|
|
|
|||
Loading…
Reference in New Issue