import { TicketInfo, TicketNote } from '@/pages/TicketDetail/TicketNote'; import DetailFramework from '@/components/DetailFramework/DetailFramework'; import Taro from '@tarojs/taro'; import moment from 'moment'; import { FixStatus } from '@/common'; import pt from '@/plain-text'; import { getUrl } from '.'; const mapStatusStep: Map = new Map([ [0, 0], [1, 1], [2, 2], [3, 3], [4, 2], [5, 3], [6, 2], [7, 3], ]); export function getTicketInfo(that: DetailFramework, id: number) { Taro.request({ url: getUrl('/tickets/info'), method: 'GET', data: { id: id, }, }) .then((res) => { let former = that.state.rs; if (!res.data.success) { that.setState({ rs: former.trans(false), }); } else { const data = res.data.data; const ticketDetail: TicketInfo = { id: data.id, type: data.type, device: data.device, workers: data.workers, deviceModel: data.deviceModel, description: data.description, createdTime: moment(data.createdTime as string), status: data.status, info: { phone: data.phone, name: data.owner, }, }; const notes: Array = []; data.notes.map( (item: { avatar: string; id: number; op: string; type: 0 | 1 | 2; content: string; createdTime: string; }) => { notes.push({ avatar: item.avatar, id: item.id, op: item.op, type: item.type, content: item.content, createdTime: moment(item.createdTime as string), }); }, ); that.setState({ ticketInfo: ticketDetail, notes: notes, rs: former.trans(true), current: mapStatusStep.get(data.status) || 0, items: pt.get().ticketDetail.stepItems, }); } }) .catch((reason) => { let former = that.state.rs; that.setState({ rs: former.trans(false), }); console.error(reason.errMsg); }); }