Compare commits
No commits in common. 'main' and 'v2.0.4' have entirely different histories.
@ -1,137 +0,0 @@
|
|||||||
import { useState, useEffect } from "react";
|
|
||||||
import { Grid, Divider, Layout, Spin, Input, Col, Row, Space, Checkbox, Table, Button, App } from "antd";
|
|
||||||
import { PhoneOutlined, CustomerServiceOutlined, FrownTwoTone, LikeTwoTone } from "@ant-design/icons";
|
|
||||||
import { useParams, useHref, useNavigate, NavLink } from "react-router-dom";
|
|
||||||
import { isEmpty, formatColonTime, formatDate, isNotEmpty } from "@/utils/commons";
|
|
||||||
import { DATE_FORMAT } from "@/config";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import SearchForm from "@/components/SearchForm";
|
|
||||||
import BackBtn from "@/components/BackBtn";
|
|
||||||
import { TableExportBtn } from "@/components/Data";
|
|
||||||
import useInvoiceStore from "@/stores/Invoice";
|
|
||||||
import { fetchInvoicePaidDetail } from "@/stores/Invoice";
|
|
||||||
|
|
||||||
import airTicketStore from "@/stores/Airticket";
|
|
||||||
import { usingStorage } from "@/hooks/usingStorage";
|
|
||||||
|
|
||||||
const InvoicePaid = props => {
|
|
||||||
const navigate = useNavigate();
|
|
||||||
const { notification } = App.useApp();
|
|
||||||
const { travelAgencyId } = usingStorage();
|
|
||||||
const [invoicePaidDetail, setInvoicePaidDetail] = useState([]);
|
|
||||||
const [invoiceNO, setInvoiceNO] = useState([]); //显示账单编号
|
|
||||||
const [loading, invoicePaid, fetchInvoicePaid] = useInvoiceStore(state => [state.loading, state.invoicePaid, state.fetchInvoicePaid]);
|
|
||||||
const showTotal = total => `Total ${total} items`;
|
|
||||||
const showTotal_detail = total => `Total ${total} items`;
|
|
||||||
useEffect(() => {
|
|
||||||
// fetchInvoicePaid(travelAgencyId, "", dayjs().subtract(2, "M").startOf("M").format(DATE_FORMAT), dayjs().endOf("M").format(DATE_FORMAT));
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const invoicePaidColumns = [
|
|
||||||
{
|
|
||||||
title: "编号",
|
|
||||||
dataIndex: "fl_finaceNo",
|
|
||||||
key: "fl_finaceNo",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "报账日期",
|
|
||||||
key: "fl_adddate",
|
|
||||||
dataIndex: "fl_adddate",
|
|
||||||
render: (text, record) => (isNotEmpty(text) ? formatDate(new Date(text)) : ""),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "团数",
|
|
||||||
key: "fcount",
|
|
||||||
dataIndex: "fcount",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "总额",
|
|
||||||
key: "pSum",
|
|
||||||
dataIndex: "pSum",
|
|
||||||
//render: (text, record) => (isNotEmpty(record.GMD_Currency) ? record.GMD_Currency + " " + text : text),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "查看",
|
|
||||||
key: "pSum",
|
|
||||||
dataIndex: "pSum",
|
|
||||||
render: (text, record) => (
|
|
||||||
<Button
|
|
||||||
type="link"
|
|
||||||
onClick={() => {
|
|
||||||
fetchInvoicePaidDetail(travelAgencyId, record.key).then(res => setInvoicePaidDetail(res));
|
|
||||||
setInvoiceNO(record.fl_finaceNo);
|
|
||||||
}}>
|
|
||||||
查看明细
|
|
||||||
</Button>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const invoicePaidDetailColumns = [
|
|
||||||
{
|
|
||||||
title: "团号",
|
|
||||||
dataIndex: "fl2_GroupName",
|
|
||||||
key: "fl2_GroupName",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "金额",
|
|
||||||
key: "fl2_price",
|
|
||||||
dataIndex: "fl2_price",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "报账日期",
|
|
||||||
key: "fl2_ArriveDate",
|
|
||||||
dataIndex: "fl2_ArriveDate",
|
|
||||||
render: (text, record) => (isNotEmpty(text) ? formatDate(new Date(text)) : ""),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "顾问",
|
|
||||||
dataIndex: "fl2_wl",
|
|
||||||
key: "fl2_wl",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Space direction="vertical" style={{ width: "100%" }}>
|
|
||||||
<Row>
|
|
||||||
<Col md={20} lg={20} xxl={20}>
|
|
||||||
<SearchForm
|
|
||||||
initialValue={{
|
|
||||||
dates: [dayjs().subtract(2, "M").startOf("M"), dayjs().endOf("M")],
|
|
||||||
}}
|
|
||||||
fieldsConfig={{
|
|
||||||
shows: ["dates"],
|
|
||||||
fieldProps: {
|
|
||||||
dates: { col: 10, label: "报账日期" },
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
onSubmit={(err, formVal) => {
|
|
||||||
fetchInvoicePaid(travelAgencyId, "", formVal.startdate, formVal.enddate);
|
|
||||||
setInvoicePaidDetail([]);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col md={4} lg={4} xxl={4}>
|
|
||||||
<BackBtn to={"/airticket"} />
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<Row>
|
|
||||||
<Col md={24} lg={16} xxl={16}>
|
|
||||||
<Divider orientation="left">汇款列表</Divider>
|
|
||||||
<Table bordered columns={invoicePaidColumns} dataSource={invoicePaid} loading={loading} pagination={{ defaultPageSize: 20, showTotal: showTotal }} />
|
|
||||||
</Col>
|
|
||||||
<Col md={24} lg={4} xxl={4}></Col>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Col md={24} lg={20} xxl={20}>
|
|
||||||
<Divider orientation="left">账单明细 {invoiceNO}</Divider>
|
|
||||||
<Table bordered columns={invoicePaidDetailColumns} dataSource={invoicePaidDetail} pagination={{ defaultPageSize: 100, showTotal: showTotal_detail }} />
|
|
||||||
<TableExportBtn btnTxt="导出账单明细" label={`机票账单`} {...{ columns: invoicePaidDetailColumns, dataSource: invoicePaidDetail }} />
|
|
||||||
</Col>
|
|
||||||
<Col md={24} lg={4} xxl={4}></Col>
|
|
||||||
</Row>
|
|
||||||
</Space>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
export default InvoicePaid;
|
|
@ -1,130 +0,0 @@
|
|||||||
import { useParams, NavLink, useNavigate } from "react-router-dom";
|
|
||||||
import { useEffect, useState } from "react";
|
|
||||||
import { Row, Col, Space, Table, Image,App } from "antd";
|
|
||||||
import { formatDate, isNotEmpty } from "@/utils/commons";
|
|
||||||
import SearchForm from "@/components/SearchForm";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import BackBtn from "@/components/BackBtn";
|
|
||||||
import { fetchInvoiceDetail } from "@/stores/Invoice";
|
|
||||||
import useInvoiceStore from "@/stores/Invoice";
|
|
||||||
import { usingStorage } from "@/hooks/usingStorage";
|
|
||||||
|
|
||||||
function History() {
|
|
||||||
const { travelAgencyId } = usingStorage();
|
|
||||||
const { GMDSN, GSN } = useParams();
|
|
||||||
const [dataLoading, setDataLoading] = useState(false);
|
|
||||||
const [invoiceZDDetail, setInvoiceZDDetail] = useState([]);
|
|
||||||
const { notification } = App.useApp();
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
defaultShow();
|
|
||||||
}, [GMDSN, GSN]);
|
|
||||||
|
|
||||||
function defaultShow() {
|
|
||||||
setDataLoading(true);
|
|
||||||
|
|
||||||
fetchInvoiceDetail(travelAgencyId, GMDSN, GSN)
|
|
||||||
.then((json) => {
|
|
||||||
//console.log("id:"+travelAgencyId+",gmdsn:"+GMDSN+",GSN:"+GSN+"#13"+json);
|
|
||||||
setInvoiceZDDetail(json.invoiceZDDetail);
|
|
||||||
})
|
|
||||||
.catch((ex) => {
|
|
||||||
notification.error({
|
|
||||||
message: `Notification`,
|
|
||||||
description: ex.message,
|
|
||||||
placement: "top",
|
|
||||||
duration: 4,
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
setDataLoading(false);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const invoicePaidColumns = [
|
|
||||||
{
|
|
||||||
title: "ID",
|
|
||||||
dataIndex: "GMD_SN",
|
|
||||||
key: "GMD_SN",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Due Date",
|
|
||||||
key: "GMD_PayDate",
|
|
||||||
dataIndex: "GMD_PayDate",
|
|
||||||
render: (text, record) =>
|
|
||||||
isNotEmpty(text) ? formatDate(new Date(text)) : "",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Amount",
|
|
||||||
key: "GMD_Cost",
|
|
||||||
dataIndex: "GMD_Cost",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Currency",
|
|
||||||
key: "GMD_Currency",
|
|
||||||
dataIndex: "GMD_Currency",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Status",
|
|
||||||
key: "FKState",
|
|
||||||
dataIndex: "FKState",
|
|
||||||
render: (text, record) => (isNotEmpty(record.FKState) ? invoiceStatus(record.FKState) : text),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Invoice",
|
|
||||||
key: "GMD_Pic",
|
|
||||||
dataIndex: "GMD_Pic",
|
|
||||||
render: showPIc,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const invoiceStatus = (FKState) => {
|
|
||||||
switch (FKState - 1) {
|
|
||||||
case 1:
|
|
||||||
return "Submitted";
|
|
||||||
case 2:
|
|
||||||
return "Travel Advisor";
|
|
||||||
case 3:
|
|
||||||
return "Finance Dept";
|
|
||||||
case 4:
|
|
||||||
return "Paid";
|
|
||||||
default:
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function showPIc(text, record) {
|
|
||||||
let strPic = record.GMD_Pic;
|
|
||||||
//console.log(JSON.parse(strPic));
|
|
||||||
if (isNotEmpty(strPic)) {
|
|
||||||
return JSON.parse(strPic).map((item, index) => {
|
|
||||||
return <Image key={index} width={90} src={item.url} />;
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Space direction="vertical" style={{ width: "100%" }}>
|
|
||||||
<Row gutter={16}>
|
|
||||||
<Col span={20}></Col>
|
|
||||||
<Col span={4}>
|
|
||||||
<BackBtn />
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Col md={24} lg={24} xxl={24}>
|
|
||||||
<Table
|
|
||||||
rowKey={"GMD_SN"}
|
|
||||||
bordered
|
|
||||||
columns={invoicePaidColumns}
|
|
||||||
dataSource={invoiceZDDetail}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Space>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default History;
|
|
File diff suppressed because it is too large
Load Diff
@ -1,140 +0,0 @@
|
|||||||
import { useState, useEffect } from "react";
|
|
||||||
import { Grid, Divider, Layout, Spin, Input, Col, Row, Space, List, Table, Button, Typography } from "antd";
|
|
||||||
import { PhoneOutlined, CustomerServiceOutlined, AudioOutlined, AuditOutlined } from "@ant-design/icons";
|
|
||||||
import { useParams, useHref, useNavigate, NavLink } from "react-router-dom";
|
|
||||||
import { isEmpty, formatColonTime } from "@/utils/commons";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import SearchForm from "@/components/SearchForm";
|
|
||||||
import { DATE_FORMAT } from "@/config";
|
|
||||||
import { TableExportBtn } from "@/components/Data";
|
|
||||||
import trainTicketStore from "@/stores/Trainticket";
|
|
||||||
import { usingStorage } from "@/hooks/usingStorage";
|
|
||||||
|
|
||||||
const planListColumns = [
|
|
||||||
{
|
|
||||||
title: "团名",
|
|
||||||
key: "GRI_No",
|
|
||||||
dataIndex: "GRI_No",
|
|
||||||
// sorter: (a, b) => b.GRI_No - a.GRI_No,
|
|
||||||
render: (text, record) => (
|
|
||||||
<Typography.Text title={record.Memo}>
|
|
||||||
{record.GRI_No} {record.WL}
|
|
||||||
</Typography.Text>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "人数",
|
|
||||||
dataIndex: "PersonNum",
|
|
||||||
key: "PersonNum",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "出发",
|
|
||||||
key: "FromAirport",
|
|
||||||
dataIndex: "FromAirport",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "抵达",
|
|
||||||
key: "ToAirport",
|
|
||||||
dataIndex: "ToAirport",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "车次",
|
|
||||||
key: "FlightNo",
|
|
||||||
dataIndex: "FlightNo",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
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: "开始时间",
|
|
||||||
key: "FlightStart",
|
|
||||||
dataIndex: "FlightStart",
|
|
||||||
render: text => formatColonTime(text),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "抵达时间",
|
|
||||||
key: "FlightEnd",
|
|
||||||
dataIndex: "FlightEnd",
|
|
||||||
render: text => formatColonTime(text),
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
title: "出票处理",
|
|
||||||
key: "TicketIssued",
|
|
||||||
dataIndex: "TicketIssued",
|
|
||||||
render: (text, record) => record.TicketIssuedName,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "计划状态",
|
|
||||||
key: "FlightStatus",
|
|
||||||
dataIndex: "FlightStatus",
|
|
||||||
render: (text, record) => record.FlightStatusName,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "操作",
|
|
||||||
key: "FlightInfo",
|
|
||||||
dataIndex: "FlightInfo",
|
|
||||||
render: (text, record) => <NavLink to={`/trainticket/plan/${record.COLI_SN}/${record.GRI_SN}`}>{"编辑"}</NavLink>,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const Trainticket = props => {
|
|
||||||
const navigate = useNavigate();
|
|
||||||
const { travelAgencyId } = usingStorage();
|
|
||||||
const [getPlanList, planList, loading] = trainTicketStore(state => [state.getPlanList, state.planList, state.loading]);
|
|
||||||
const showTotal = total => `合计 ${total} `;
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
!planList && getPlanList(travelAgencyId, "", dayjs().startOf("M").format(DATE_FORMAT), dayjs().endOf("M").format(DATE_FORMAT), "-1", "-1");
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Space direction="vertical" style={{ width: "100%" }}>
|
|
||||||
<Row>
|
|
||||||
<Col md={20} lg={20} xxl={20}>
|
|
||||||
<SearchForm
|
|
||||||
initialValue={{
|
|
||||||
dates: [dayjs().startOf("M"), dayjs().endOf("M")],
|
|
||||||
}}
|
|
||||||
fieldsConfig={{
|
|
||||||
shows: ["referenceNo", "dates", "airticket_state", "plan_state"],
|
|
||||||
fieldProps: {
|
|
||||||
referenceNo: { label: "搜索计划" },
|
|
||||||
dates: { label: "出发日期", col: 8 },
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
onSubmit={(err, formVal, filedsVal) => {
|
|
||||||
getPlanList(travelAgencyId, formVal.referenceNo, formVal.startdate, formVal.endtime, formVal.plan_state, formVal.airticket_state);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col md={4} lg={4} xxl={4}>
|
|
||||||
<Space>
|
|
||||||
<Button icon={<AuditOutlined />} onClick={() => navigate(`/trainticket/invoice`)}>
|
|
||||||
报账
|
|
||||||
</Button>
|
|
||||||
<Button icon={<AuditOutlined />} onClick={() => navigate(`/trainticket/invoicepaid`)}>
|
|
||||||
汇款记录
|
|
||||||
</Button>
|
|
||||||
</Space>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<Row gutter={16}>
|
|
||||||
<Col md={24} lg={24} xxl={24}>
|
|
||||||
<Table bordered={true} rowKey="id" columns={planListColumns} dataSource={planList} loading={loading} pagination={{ defaultPageSize: 20, showTotal: showTotal }} />
|
|
||||||
<TableExportBtn btnTxt="导出计划" label={`出票计划`} {...{ columns: planListColumns, dataSource: planList }} />
|
|
||||||
</Col>
|
|
||||||
<Col md={24} lg={24} xxl={24}></Col>
|
|
||||||
</Row>
|
|
||||||
</Space>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
export default Trainticket;
|
|
@ -1,136 +0,0 @@
|
|||||||
import { useState, useEffect } from "react";
|
|
||||||
import { Grid, Divider, Layout, Spin, Input, Col, Row, Space, Checkbox, Table, Button, App } from "antd";
|
|
||||||
import { PhoneOutlined, CustomerServiceOutlined, FrownTwoTone, LikeTwoTone } from "@ant-design/icons";
|
|
||||||
import { useParams, useHref, useNavigate, NavLink } from "react-router-dom";
|
|
||||||
import { isEmpty, formatColonTime, formatDate, isNotEmpty } from "@/utils/commons";
|
|
||||||
import { DATE_FORMAT } from "@/config";
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import SearchForm from "@/components/SearchForm";
|
|
||||||
import BackBtn from "@/components/BackBtn";
|
|
||||||
import { TableExportBtn } from "@/components/Data";
|
|
||||||
import useInvoiceStore from "@/stores/Invoice";
|
|
||||||
import { fetchInvoicePaidDetail } from "@/stores/Invoice";
|
|
||||||
|
|
||||||
import { usingStorage } from "@/hooks/usingStorage";
|
|
||||||
|
|
||||||
const InvoicePaid = props => {
|
|
||||||
const navigate = useNavigate();
|
|
||||||
const { notification } = App.useApp();
|
|
||||||
const { travelAgencyId } = usingStorage();
|
|
||||||
const [invoicePaidDetail, setInvoicePaidDetail] = useState([]);
|
|
||||||
const [invoiceNO, setInvoiceNO] = useState([]); //显示账单编号
|
|
||||||
const [loading, invoicePaid, fetchInvoicePaid] = useInvoiceStore(state => [state.loading, state.invoicePaid, state.fetchInvoicePaid]);
|
|
||||||
const showTotal = total => `Total ${total} items`;
|
|
||||||
const showTotal_detail = total => `Total ${total} items`;
|
|
||||||
useEffect(() => {
|
|
||||||
// fetchInvoicePaid(travelAgencyId, "", dayjs().subtract(2, "M").startOf("M").format(DATE_FORMAT), dayjs().endOf("M").format(DATE_FORMAT));
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const invoicePaidColumns = [
|
|
||||||
{
|
|
||||||
title: "编号",
|
|
||||||
dataIndex: "fl_finaceNo",
|
|
||||||
key: "fl_finaceNo",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "报账日期",
|
|
||||||
key: "fl_adddate",
|
|
||||||
dataIndex: "fl_adddate",
|
|
||||||
render: (text, record) => (isNotEmpty(text) ? formatDate(new Date(text)) : ""),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "团数",
|
|
||||||
key: "fcount",
|
|
||||||
dataIndex: "fcount",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "总额",
|
|
||||||
key: "pSum",
|
|
||||||
dataIndex: "pSum",
|
|
||||||
//render: (text, record) => (isNotEmpty(record.GMD_Currency) ? record.GMD_Currency + " " + text : text),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "查看",
|
|
||||||
key: "pSum",
|
|
||||||
dataIndex: "pSum",
|
|
||||||
render: (text, record) => (
|
|
||||||
<Button
|
|
||||||
type="link"
|
|
||||||
onClick={() => {
|
|
||||||
fetchInvoicePaidDetail(travelAgencyId, record.key).then(res => setInvoicePaidDetail(res));
|
|
||||||
setInvoiceNO(record.fl_finaceNo);
|
|
||||||
}}>
|
|
||||||
查看明细
|
|
||||||
</Button>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const invoicePaidDetailColumns = [
|
|
||||||
{
|
|
||||||
title: "团号",
|
|
||||||
dataIndex: "fl2_GroupName",
|
|
||||||
key: "fl2_GroupName",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "金额",
|
|
||||||
key: "fl2_price",
|
|
||||||
dataIndex: "fl2_price",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "报账日期",
|
|
||||||
key: "fl2_ArriveDate",
|
|
||||||
dataIndex: "fl2_ArriveDate",
|
|
||||||
render: (text, record) => (isNotEmpty(text) ? formatDate(new Date(text)) : ""),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "顾问",
|
|
||||||
dataIndex: "fl2_wl",
|
|
||||||
key: "fl2_wl",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Space direction="vertical" style={{ width: "100%" }}>
|
|
||||||
<Row>
|
|
||||||
<Col md={20} lg={20} xxl={20}>
|
|
||||||
<SearchForm
|
|
||||||
initialValue={{
|
|
||||||
dates: [dayjs().subtract(2, "M").startOf("M"), dayjs().endOf("M")],
|
|
||||||
}}
|
|
||||||
fieldsConfig={{
|
|
||||||
shows: ["dates"],
|
|
||||||
fieldProps: {
|
|
||||||
dates: { col: 10, label: "报账日期" },
|
|
||||||
},
|
|
||||||
}}
|
|
||||||
onSubmit={(err, formVal) => {
|
|
||||||
fetchInvoicePaid(travelAgencyId, "", formVal.startdate, formVal.enddate);
|
|
||||||
setInvoicePaidDetail([]);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col md={4} lg={4} xxl={4}>
|
|
||||||
<BackBtn to={"/trainticket"} />
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<Row>
|
|
||||||
<Col md={24} lg={16} xxl={16}>
|
|
||||||
<Divider orientation="left">汇款列表</Divider>
|
|
||||||
<Table bordered columns={invoicePaidColumns} dataSource={invoicePaid} loading={loading} pagination={{ defaultPageSize: 20, showTotal: showTotal }} />
|
|
||||||
</Col>
|
|
||||||
<Col md={24} lg={4} xxl={4}></Col>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Col md={24} lg={20} xxl={20}>
|
|
||||||
<Divider orientation="left">账单明细 {invoiceNO}</Divider>
|
|
||||||
<Table bordered columns={invoicePaidDetailColumns} dataSource={invoicePaidDetail} pagination={{ defaultPageSize: 100, showTotal: showTotal_detail }} />
|
|
||||||
<TableExportBtn btnTxt="导出账单明细" label={`车票账单`} {...{ columns: invoicePaidDetailColumns, dataSource: invoicePaidDetail }} />
|
|
||||||
</Col>
|
|
||||||
<Col md={24} lg={4} xxl={4}></Col>
|
|
||||||
</Row>
|
|
||||||
</Space>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
export default InvoicePaid;
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue