diff --git a/src/config.js b/src/config.js
index 58e13a2..331cf28 100644
--- a/src/config.js
+++ b/src/config.js
@@ -6,6 +6,7 @@ export const HT_HOST = import.meta.env.PROD ? "https://p9axztuwd7x8a7.mycht.cn"
export const DATE_FORMAT = "YYYY-MM-DD";
export const DATE_FORMAT_MONTH = "YYYY-MM";
export const SMALL_DATETIME_FORMAT = "YYYY-MM-DD 23:59";
+export const OFFICEWEBVIEWERURL = "https://view.officeapps.live.com/op/embed.aspx?wdPrint=1&wdHideGridlines=0&wdHideComments=1&wdEmbedCode=0&src=";
const __BUILD_VERSION__ = `__BUILD_VERSION__`.replace(/"/g, '')
export const BUILD_VERSION = import.meta.env.PROD ? __BUILD_VERSION__ : import.meta.env.MODE;
diff --git a/src/main.jsx b/src/main.jsx
index ff392ac..dd3e4f6 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -30,6 +30,7 @@ import InvoiceDetail from "@/views/invoice/Detail";
import InvoicePaid from "@/views/invoice/Paid";
import InvoicePaidDetail from "@/views/invoice/PaidDetail";
import Airticket from "@/views/airticket/Index";
+import AirticketPlan from "@/views/airticket/Plan";
import './i18n';
@@ -65,6 +66,7 @@ const router = createBrowserRouter([
{ path: "invoice/paid",element:},
{ path: "invoice/paid/detail/:flid",element:},
{ path: "airticket",element:},
+ { path: "airticket/plan/:coli_sn",element:},
]
},
{
diff --git a/src/stores/Airticket.js b/src/stores/Airticket.js
index 1ddc720..d342b83 100644
--- a/src/stores/Airticket.js
+++ b/src/stores/Airticket.js
@@ -9,7 +9,7 @@ const airTicketStore = create((set, get) => ({
setLoading: loading => set({ loading }),
setPlanList: planList => set({ planList }),
- async getPlanList(vei_sn, GRI_Name, PNR, TimeStart, TimeEnd) {
+ async getPlanList(vei_sn, GRI_Name, TimeStart, TimeEnd) {
const { setLoading, setPlanList } = get();
setLoading(true);
const searchParams = {
@@ -17,7 +17,6 @@ const airTicketStore = create((set, get) => ({
FlightDate1: TimeStart,
FlightDate2: TimeEnd,
GRI_Name: GRI_Name,
- PNR: PNR,
};
const { errcode, result } = await fetchJSON(`${HT_HOST}/Service_BaseInfoWeb/GetFlightPlan`, searchParams);
diff --git a/src/views/airticket/Index.jsx b/src/views/airticket/Index.jsx
index 479975c..41f6f2c 100644
--- a/src/views/airticket/Index.jsx
+++ b/src/views/airticket/Index.jsx
@@ -1,7 +1,7 @@
import { useState, useEffect } from "react";
import { Grid, Divider, Layout, Spin, Input, Col, Row, Space, List, Table } from "antd";
import { PhoneOutlined, CustomerServiceOutlined, AudioOutlined } from "@ant-design/icons";
-import { useParams, useHref, useNavigate } from "react-router-dom";
+import { useParams, useHref, useNavigate, NavLink } from "react-router-dom";
import { isEmpty } from "@/utils/commons";
import dayjs from "dayjs";
import SearchForm from "@/components/SearchForm";
@@ -29,6 +29,11 @@ const planListColumns = [
title: "出发日期",
key: "StartDate",
dataIndex: "StartDate",
+ sorter: (a, b) => {
+ const dateA = new Date(a.StartDate);
+ const dateB = new Date(b.StartDate);
+ return dateB.getTime() - dateA.getTime();
+ },
},
{
title: "出发城市",
@@ -49,16 +54,27 @@ const planListColumns = [
title: "起飞时间",
key: "FlightTimeStart",
dataIndex: "FlightTimeStart",
+ render: text => {
+ const hours = text.substring(0, 2);
+ const minutes = text.substring(2);
+ return `${hours}:${minutes}`;
+ },
},
{
title: "落地时间",
key: "FlightTimeEnd",
dataIndex: "FlightTimeEnd",
+ render: text => {
+ const hours = text.substring(0, 2);
+ const minutes = text.substring(2);
+ return `${hours}:${minutes}`;
+ },
},
{
- title: "PNR 暂时用FlightInfo",
+ title: "操作",
key: "FlightInfo",
dataIndex: "FlightInfo",
+ render: (text, record) => {"编辑"},
},
];
@@ -83,14 +99,14 @@ const Airticket = props => {
dates: [dayjs().startOf("M"), dayjs().endOf("M")],
}}
fieldsConfig={{
- shows: ["referenceNo", "PNR", "dates"],
+ shows: ["referenceNo", "dates"],
fieldProps: {
referenceNo: { label: "搜索计划" },
dates: { label: "出发日期" },
},
}}
onSubmit={(err, formVal, filedsVal) => {
- getPlanList(travelAgencyId, formVal.referenceNo, formVal.PNR, formVal.startdate, formVal.endtime);
+ getPlanList(travelAgencyId, formVal.referenceNo, formVal.startdate, formVal.endtime);
}}
/>
diff --git a/src/views/airticket/Plan.jsx b/src/views/airticket/Plan.jsx
new file mode 100644
index 0000000..4cd4bf0
--- /dev/null
+++ b/src/views/airticket/Plan.jsx
@@ -0,0 +1,42 @@
+import { useState, useEffect } from "react";
+import { Grid, Divider, Layout, Spin, Input, Col, Row, Space, List, Table, Button } from "antd";
+import { PhoneOutlined, CustomerServiceOutlined, AudioOutlined } from "@ant-design/icons";
+import { useParams, useHref, useNavigate, NavLink } from "react-router-dom";
+import { isEmpty } from "@/utils/commons";
+import dayjs from "dayjs";
+import { HT_HOST, OFFICEWEBVIEWERURL } from "@/config";
+
+import airTicketStore from "@/stores/Airticket";
+import useAuthStore from "@/stores/Auth";
+
+const AirticketPlan = props => {
+ const href = useHref();
+ const navigate = useNavigate();
+ const { coli_sn } = useParams();
+ const [travelAgencyId, loginToken] = useAuthStore(
+ state => state.loginUser.travelAgencyId,
+ state => state.loginUser.loginToken
+ );
+ const [getPlanList, planList, loading] = airTicketStore(state => [state.getPlanList, state.planList, state.loading]);
+ const [loginUser] = useAuthStore(state => [state.loginUser]);
+
+ const reservationUrl = `https://p9axztuwd7x8a7.mycht.cn/service-fileServer/DownloadPlanDoc?GRI_SN=${coli_sn}&VEI_SN=${travelAgencyId}&token=${loginToken}&FileType=1`;
+
+ const reservationPreviewUrl = OFFICEWEBVIEWERURL + encodeURIComponent(reservationUrl);
+
+ useEffect(() => {}, []);
+
+ return (
+
+
+
+
+
+
+
+
+ );
+};
+export default AirticketPlan;