From 9931b23337698019523d75f56e784b120ccd2475 Mon Sep 17 00:00:00 2001 From: Dawn_Ocean <1785590531@qq.com> Date: Thu, 14 Mar 2024 16:51:21 +0800 Subject: [PATCH] wrap up detailframework in atcard in repair page --- mock/mytickets.json | 2 +- mock/ticketInfo.json | 4 +- .../DetailFramework/DetailFramework.tsx | 4 +- src/pages/repair/repair.tsx | 40 +++++++++++++------ src/plain-text/RepairPage.ts | 18 +++++++++ src/service/currentTicket.ts | 18 ++++++--- src/service/myTicket.ts | 17 +++----- .../{ticketsInfo.tsx => ticketsInfo.ts} | 0 8 files changed, 68 insertions(+), 35 deletions(-) rename src/service/{ticketsInfo.tsx => ticketsInfo.ts} (100%) diff --git a/mock/mytickets.json b/mock/mytickets.json index 67cfa70..78089bb 100644 --- a/mock/mytickets.json +++ b/mock/mytickets.json @@ -3,7 +3,7 @@ { "id": 6830, "type": 1, - "status": 5, + "status": 2, "device": "主机", "deviceModel": "技嘉", "owner": "武技栏", diff --git a/mock/ticketInfo.json b/mock/ticketInfo.json index e9b1af8..9bf5947 100644 --- a/mock/ticketInfo.json +++ b/mock/ticketInfo.json @@ -1,5 +1,5 @@ { - "id": 6847, + "id": 6830, "type": 1, "device": "华硕", "deviceModel": "灵耀X14", @@ -8,7 +8,7 @@ "description": "清灰", "workers": [], "createdTime": "2024-03-07T19:52:48.523303", - "status": 5, + "status": 2, "isConfirmed": false, "notes": [ { diff --git a/src/components/DetailFramework/DetailFramework.tsx b/src/components/DetailFramework/DetailFramework.tsx index fc2175d..f14ec0e 100644 --- a/src/components/DetailFramework/DetailFramework.tsx +++ b/src/components/DetailFramework/DetailFramework.tsx @@ -131,7 +131,9 @@ export default class DetailFramework extends Component< ) : ( - + ) ) : ( diff --git a/src/pages/repair/repair.tsx b/src/pages/repair/repair.tsx index b86242f..2ed6942 100644 --- a/src/pages/repair/repair.tsx +++ b/src/pages/repair/repair.tsx @@ -16,7 +16,7 @@ import { submitTicket } from '@/service/submitTicket'; import type CustomTabBar from '@/custom-tab-bar'; import repairLogo from '@/assets/icons/RepairPage/repair.svg'; import DetailFramework from '@/components/DetailFramework/DetailFramework'; -import { TicketListItem } from '@/components/TicketListItem/TicketListItem'; +import { getCurrentTicket } from '@/service/currentTicket'; import './repair.scss'; interface RepairPageState { @@ -29,11 +29,22 @@ interface RepairPageState { isLoading: boolean; isDisable: boolean; checkedList: Array; - currentTicket: Array; + currentTicketsId: Array; } const submitInterval = 5000; +const middleButton = ; + +const isInfoShow = { + device: true, + createdTime: true, + description: false, + current: true, + notelist: true, + showAllNotes: false, +}; + export default class RepairPage extends Component<{}, RepairPageState> { state = { type: 1 as 0 | 1, @@ -45,10 +56,12 @@ export default class RepairPage extends Component<{}, RepairPageState> { isLoading: false, isDisable: true, checkedList: [0], - currentTicket: [], + currentTicketsId: [] as Array, }; componentDidMount(): void { + getCurrentTicket(this, middleButton, isInfoShow); + setTimeout(() => { this.setState({ isDisable: false, @@ -149,19 +162,20 @@ export default class RepairPage extends Component<{}, RepairPageState> { } render(): ReactNode { - const middleButton = ; - - const isInfoShow = { - device: true, - createdTime: true, - description: false, - current: true, - notelist: true, - showAllNotes: false, - }; + const ticketsRenderer = this.state.currentTicketsId.map((id, idx) => ( + + + + )); + console.log(ticketsRenderer); return ( + {ticketsRenderer} { const data = res.data.data; - const currentTicket: Array = []; - data.list.array.forEach((ticket: TicketListItem) => { - if (ticket['status'] != 5) { - currentTicket.push(ticket); + let newIdList: Array = []; + data.list.map((ticket: TicketListItem) => { + if (ticket['status'] !== 5) { + newIdList.push(ticket.id); } }); that.setState({ - currentTicket: currentTicket, + currentTicketsId: newIdList, }); }) .catch((err) => { console.log(err); + Taro.atMessage({ + message: pt.get().button.submitText.error + err.toString(), + type: 'error', + }); }); } diff --git a/src/service/myTicket.ts b/src/service/myTicket.ts index 409c5a1..20c0e29 100644 --- a/src/service/myTicket.ts +++ b/src/service/myTicket.ts @@ -13,20 +13,15 @@ export function getMyTicketList(that: MyTicketPage) { }, }) .then((res) => { + let former = that.state.rs; if (!res.data.success) { that.setState({ - rs: { - loading: false, - success: false, - }, + rs: former.trans(false), }); return; } that.setState({ - rs: { - loading: false, - success: true, - }, + rs: former.trans(true), fixList: res.data.data.list.map( (item) => new TicketListItem( @@ -40,11 +35,9 @@ export function getMyTicketList(that: MyTicketPage) { }); }) .catch((reason) => { + let former = that.state.rs; that.setState({ - rs: { - loading: false, - success: false, - }, + rs: former.trans(false), }); console.log(reason); }); diff --git a/src/service/ticketsInfo.tsx b/src/service/ticketsInfo.ts similarity index 100% rename from src/service/ticketsInfo.tsx rename to src/service/ticketsInfo.ts