wrap up detailframework in atcard in repair page
parent
84507f7214
commit
9931b23337
|
|
@ -3,7 +3,7 @@
|
||||||
{
|
{
|
||||||
"id": 6830,
|
"id": 6830,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"status": 5,
|
"status": 2,
|
||||||
"device": "主机",
|
"device": "主机",
|
||||||
"deviceModel": "技嘉",
|
"deviceModel": "技嘉",
|
||||||
"owner": "武技栏",
|
"owner": "武技栏",
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"id": 6847,
|
"id": 6830,
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"device": "华硕",
|
"device": "华硕",
|
||||||
"deviceModel": "灵耀X14",
|
"deviceModel": "灵耀X14",
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
"description": "清灰",
|
"description": "清灰",
|
||||||
"workers": [],
|
"workers": [],
|
||||||
"createdTime": "2024-03-07T19:52:48.523303",
|
"createdTime": "2024-03-07T19:52:48.523303",
|
||||||
"status": 5,
|
"status": 2,
|
||||||
"isConfirmed": false,
|
"isConfirmed": false,
|
||||||
"notes": [
|
"notes": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,9 @@ export default class DetailFramework extends Component<
|
||||||
</View>
|
</View>
|
||||||
) : (
|
) : (
|
||||||
<View style={{ padding: 10 }}>
|
<View style={{ padding: 10 }}>
|
||||||
<NoteList noteList={[this.state.notes[-1]]} />
|
<NoteList
|
||||||
|
noteList={[this.state.notes[this.state.notes.length - 1]]}
|
||||||
|
/>
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
) : (
|
) : (
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import { submitTicket } from '@/service/submitTicket';
|
||||||
import type CustomTabBar from '@/custom-tab-bar';
|
import type CustomTabBar from '@/custom-tab-bar';
|
||||||
import repairLogo from '@/assets/icons/RepairPage/repair.svg';
|
import repairLogo from '@/assets/icons/RepairPage/repair.svg';
|
||||||
import DetailFramework from '@/components/DetailFramework/DetailFramework';
|
import DetailFramework from '@/components/DetailFramework/DetailFramework';
|
||||||
import { TicketListItem } from '@/components/TicketListItem/TicketListItem';
|
import { getCurrentTicket } from '@/service/currentTicket';
|
||||||
import './repair.scss';
|
import './repair.scss';
|
||||||
|
|
||||||
interface RepairPageState {
|
interface RepairPageState {
|
||||||
|
|
@ -29,11 +29,22 @@ interface RepairPageState {
|
||||||
isLoading: boolean;
|
isLoading: boolean;
|
||||||
isDisable: boolean;
|
isDisable: boolean;
|
||||||
checkedList: Array<number>;
|
checkedList: Array<number>;
|
||||||
currentTicket: Array<TicketListItem>;
|
currentTicketsId: Array<number>;
|
||||||
}
|
}
|
||||||
|
|
||||||
const submitInterval = 5000;
|
const submitInterval = 5000;
|
||||||
|
|
||||||
|
const middleButton = <View></View>;
|
||||||
|
|
||||||
|
const isInfoShow = {
|
||||||
|
device: true,
|
||||||
|
createdTime: true,
|
||||||
|
description: false,
|
||||||
|
current: true,
|
||||||
|
notelist: true,
|
||||||
|
showAllNotes: false,
|
||||||
|
};
|
||||||
|
|
||||||
export default class RepairPage extends Component<{}, RepairPageState> {
|
export default class RepairPage extends Component<{}, RepairPageState> {
|
||||||
state = {
|
state = {
|
||||||
type: 1 as 0 | 1,
|
type: 1 as 0 | 1,
|
||||||
|
|
@ -45,10 +56,12 @@ export default class RepairPage extends Component<{}, RepairPageState> {
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
isDisable: true,
|
isDisable: true,
|
||||||
checkedList: [0],
|
checkedList: [0],
|
||||||
currentTicket: [],
|
currentTicketsId: [] as Array<number>,
|
||||||
};
|
};
|
||||||
|
|
||||||
componentDidMount(): void {
|
componentDidMount(): void {
|
||||||
|
getCurrentTicket(this, middleButton, isInfoShow);
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.setState({
|
this.setState({
|
||||||
isDisable: false,
|
isDisable: false,
|
||||||
|
|
@ -149,19 +162,20 @@ export default class RepairPage extends Component<{}, RepairPageState> {
|
||||||
}
|
}
|
||||||
|
|
||||||
render(): ReactNode {
|
render(): ReactNode {
|
||||||
const middleButton = <View></View>;
|
const ticketsRenderer = this.state.currentTicketsId.map((id, idx) => (
|
||||||
|
<AtCard key={idx}>
|
||||||
const isInfoShow = {
|
<DetailFramework
|
||||||
device: true,
|
id={id}
|
||||||
createdTime: true,
|
isInfoShow={isInfoShow}
|
||||||
description: false,
|
middleButton={middleButton}
|
||||||
current: true,
|
/>
|
||||||
notelist: true,
|
</AtCard>
|
||||||
showAllNotes: false,
|
));
|
||||||
};
|
console.log(ticketsRenderer);
|
||||||
return (
|
return (
|
||||||
<View>
|
<View>
|
||||||
<AtMessage />
|
<AtMessage />
|
||||||
|
{ticketsRenderer}
|
||||||
<AtCard
|
<AtCard
|
||||||
note={pt.get().repairPage.cardText.note}
|
note={pt.get().repairPage.cardText.note}
|
||||||
title={pt.get().repairPage.cardText.title}
|
title={pt.get().repairPage.cardText.title}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
export interface RepairPageText {
|
export interface RepairPageText {
|
||||||
|
currentTicket: {
|
||||||
|
errorMessage: string;
|
||||||
|
title: string;
|
||||||
|
note: string;
|
||||||
|
extra: string;
|
||||||
|
};
|
||||||
typeText: {
|
typeText: {
|
||||||
computer: string;
|
computer: string;
|
||||||
appliance: string;
|
appliance: string;
|
||||||
|
|
@ -40,6 +46,12 @@ export interface RepairPageText {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const repairPageZhCn: RepairPageText = {
|
export const repairPageZhCn: RepairPageText = {
|
||||||
|
currentTicket: {
|
||||||
|
errorMessage: '未获取到工单!',
|
||||||
|
title: '',
|
||||||
|
note: '',
|
||||||
|
extra: '',
|
||||||
|
},
|
||||||
typeText: {
|
typeText: {
|
||||||
computer: '电脑',
|
computer: '电脑',
|
||||||
appliance: '电器',
|
appliance: '电器',
|
||||||
|
|
@ -81,6 +93,12 @@ export const repairPageZhCn: RepairPageText = {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const repairPageEnUs: RepairPageText = {
|
export const repairPageEnUs: RepairPageText = {
|
||||||
|
currentTicket: {
|
||||||
|
errorMessage: '未获取到工单!',
|
||||||
|
title: '',
|
||||||
|
note: '',
|
||||||
|
extra: '',
|
||||||
|
},
|
||||||
typeText: {
|
typeText: {
|
||||||
computer: 'Computer',
|
computer: 'Computer',
|
||||||
appliance: 'Appliance',
|
appliance: 'Appliance',
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
import RepairPage from '@/pages/repair/repair';
|
import RepairPage from '@/pages/repair/repair';
|
||||||
import Taro from '@tarojs/taro';
|
import Taro from '@tarojs/taro';
|
||||||
import { TicketListItem } from '@/components/TicketListItem/TicketListItem';
|
import { TicketListItem } from '@/components/TicketListItem/TicketListItem';
|
||||||
|
import pt from '@/plain-text';
|
||||||
|
import DetailFramework from '@/components/DetailFramework/DetailFramework';
|
||||||
import { getUrl } from '.';
|
import { getUrl } from '.';
|
||||||
|
|
||||||
export function getCurrentTicket(that: RepairPage) {
|
export function getCurrentTicket(that: RepairPage, middleButton, isInfoShow) {
|
||||||
Taro.request({
|
Taro.request({
|
||||||
url: getUrl('/user/mytickets'),
|
url: getUrl('/user/mytickets'),
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
|
|
@ -13,17 +15,21 @@ export function getCurrentTicket(that: RepairPage) {
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
const data = res.data.data;
|
const data = res.data.data;
|
||||||
const currentTicket: Array<TicketListItem> = [];
|
let newIdList: Array<number> = [];
|
||||||
data.list.array.forEach((ticket: TicketListItem) => {
|
data.list.map((ticket: TicketListItem) => {
|
||||||
if (ticket['status'] != 5) {
|
if (ticket['status'] !== 5) {
|
||||||
currentTicket.push(ticket);
|
newIdList.push(ticket.id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
that.setState({
|
that.setState({
|
||||||
currentTicket: currentTicket,
|
currentTicketsId: newIdList,
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.submitText.error + err.toString(),
|
||||||
|
type: 'error',
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,20 +13,15 @@ export function getMyTicketList(that: MyTicketPage) {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
let former = that.state.rs;
|
||||||
if (!res.data.success) {
|
if (!res.data.success) {
|
||||||
that.setState({
|
that.setState({
|
||||||
rs: {
|
rs: former.trans(false),
|
||||||
loading: false,
|
|
||||||
success: false,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
that.setState({
|
that.setState({
|
||||||
rs: {
|
rs: former.trans(true),
|
||||||
loading: false,
|
|
||||||
success: true,
|
|
||||||
},
|
|
||||||
fixList: res.data.data.list.map(
|
fixList: res.data.data.list.map(
|
||||||
(item) =>
|
(item) =>
|
||||||
new TicketListItem(
|
new TicketListItem(
|
||||||
|
|
@ -40,11 +35,9 @@ export function getMyTicketList(that: MyTicketPage) {
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((reason) => {
|
.catch((reason) => {
|
||||||
|
let former = that.state.rs;
|
||||||
that.setState({
|
that.setState({
|
||||||
rs: {
|
rs: former.trans(false),
|
||||||
loading: false,
|
|
||||||
success: false,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
console.log(reason);
|
console.log(reason);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue