diff --git a/src/app.config.ts b/src/app.config.ts
index e371740..472a856 100644
--- a/src/app.config.ts
+++ b/src/app.config.ts
@@ -8,6 +8,7 @@ export default defineAppConfig({
'pages/user/about/about',
'pages/user/report/report',
'pages/user/member/member',
+ 'pages/TicketDetail/TicketDetail',
],
window: {
backgroundTextStyle: 'light',
diff --git a/src/pages/TicketDetail/TicketDetail.config.ts b/src/pages/TicketDetail/TicketDetail.config.ts
new file mode 100644
index 0000000..a9ca517
--- /dev/null
+++ b/src/pages/TicketDetail/TicketDetail.config.ts
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ usingComponents: {},
+});
diff --git a/src/pages/TicketDetail/TicketDetail.scss b/src/pages/TicketDetail/TicketDetail.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/TicketDetail/TicketDetail.tsx b/src/pages/TicketDetail/TicketDetail.tsx
new file mode 100644
index 0000000..ecb8f9b
--- /dev/null
+++ b/src/pages/TicketDetail/TicketDetail.tsx
@@ -0,0 +1,23 @@
+import { Component, ReactNode } from 'react';
+import { View } from '@tarojs/components';
+import { getCurrentInstance } from '@tarojs/runtime';
+import Taro from '@tarojs/taro';
+
+export default class TicketDetail extends Component {
+ state = {
+ id: 0,
+ };
+ componentDidMount(): void {
+ Taro.setNavigationBarTitle({
+ title: '工单详情',
+ });
+ const { router } = getCurrentInstance();
+ const id = router?.params.id;
+ this.setState({
+ id: id,
+ });
+ }
+ render(): ReactNode {
+ return TicketDetail: {this.state.id};
+ }
+}
diff --git a/src/pages/user/myTicket/myTicket.tsx b/src/pages/user/myTicket/myTicket.tsx
index 6f2385c..059b1ba 100644
--- a/src/pages/user/myTicket/myTicket.tsx
+++ b/src/pages/user/myTicket/myTicket.tsx
@@ -14,6 +14,7 @@ import './myTicket.scss';
type FixStatus = 1 | 2 | 3 | 4 | 5;
class TicketListItem {
+ id: number;
brand: string;
model: string;
status: FixStatus;
@@ -21,11 +22,13 @@ class TicketListItem {
iconMap: Map;
constructor(
+ id: number,
brand: string,
model: string,
status: FixStatus,
createAt: moment.Moment,
) {
+ this.id = id;
this.brand = brand;
this.model = model;
this.status = status;
@@ -48,6 +51,11 @@ class TicketListItem {
extraText={tl.statusMap.get(this.status)}
arrow='right'
thumb={this.iconMap.get(this.status)}
+ onClick={() => {
+ Taro.navigateTo({
+ url: '/pages/TicketDetail/TicketDetail?id=' + this.id,
+ });
+ }}
/>
);
}
@@ -57,7 +65,7 @@ export default class SettingsPage extends Component {
state = {
loading: true,
success: false,
- fixList: [new TicketListItem('华硕', '天选3', 3, moment())],
+ fixList: [new TicketListItem(0, '', '', 1, moment())],
};
componentDidMount(): void {
@@ -82,6 +90,7 @@ export default class SettingsPage extends Component {
fixList: res.data.data.list.map(
item =>
new TicketListItem(
+ item.id,
item.device,
item.deviceModel,
item.status,