diff --git a/src/pages/FinancialMgm/FinancialReport/BookReport/loadable.jsx b/src/pages/FinancialMgm/FinancialReport/BookReport/loadable.jsx index 22997df..056d45c 100644 --- a/src/pages/FinancialMgm/FinancialReport/BookReport/loadable.jsx +++ b/src/pages/FinancialMgm/FinancialReport/BookReport/loadable.jsx @@ -740,14 +740,14 @@ function BookReport() { <p> 共查询到<span> {Data?.total || 0}</span>条数据 </p> - <span + {/* <span className={"sear_ser"} onClick={() => { // Data?.total && setFormDatas({ ...FormData }); }} > 导出 - </span> + </span> */} </div> <ResultFlow hasLoad={true} diff --git a/src/pages/FinancialMgm/FinancialReport/OperationReport/loadable.jsx b/src/pages/FinancialMgm/FinancialReport/OperationReport/loadable.jsx index c0ae6c2..21a1315 100644 --- a/src/pages/FinancialMgm/FinancialReport/OperationReport/loadable.jsx +++ b/src/pages/FinancialMgm/FinancialReport/OperationReport/loadable.jsx @@ -12,6 +12,7 @@ import { Checkbox, Form, DatePicker, + Button } from "antd"; import { dictionary, utils } from "@/config/common"; import moment from "moment"; @@ -24,7 +25,7 @@ import { } from "@ant-design/icons"; import ajax from "@/services"; // import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; -import { ResultFlow } from "@/components"; +import { ResultFlow, ExportBtnNew } from "@/components"; import "./index.scss"; import Finddje from "@/assets/images/fin_ddjehz.png"; import Finxgh from "@/assets/images/fin_xghdd.png"; @@ -37,6 +38,7 @@ const { RangePicker } = DatePicker; const { TextArea } = Input; function OperationReport() { const [form] = Form.useForm(); + const exportRef = useRef(null) //页面检索-重复 const formdata = { operator_id: "0", //商户 @@ -593,9 +595,11 @@ function OperationReport() { document.body.removeChild(link); }; //导出 - const ReportPaySummaryReport = () => { + const ReportPaySummaryReport = (start, end) => { ajax.ElectInvoice.getOperationReport({ ...FormDatas, + start: start, + end: end, area: FormDatas?.area?.length ? FormDatas?.area[FormDatas.area.length - 1] : "", @@ -604,8 +608,10 @@ function OperationReport() { (res) => { if (parseInt(res?.status) === 20000) { Daownload(res?.data?.url); + exportRef.current.handleCancel() } else { message.error(res?.message); + exportRef.current.handleError() } }, (err) => { @@ -1014,7 +1020,7 @@ function OperationReport() { <p> 共查询到<span> {Data?.total || 0}</span>条数据 </p> - <span + {/* <span className={"sear_ser"} onClick={() => { Data?.total && ReportPaySummaryReport(); @@ -1022,7 +1028,19 @@ function OperationReport() { }} > 导出 - </span> + </span> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData + }} + isTableModule={true} + onOk={ReportPaySummaryReport} + /> </div> <ResultFlow hasLoad={true} diff --git a/src/pages/FinancialMgm/FinancialReport/ParkingIncomeReport/loadable.jsx b/src/pages/FinancialMgm/FinancialReport/ParkingIncomeReport/loadable.jsx index 5851cee..c6a521d 100644 --- a/src/pages/FinancialMgm/FinancialReport/ParkingIncomeReport/loadable.jsx +++ b/src/pages/FinancialMgm/FinancialReport/ParkingIncomeReport/loadable.jsx @@ -13,6 +13,7 @@ import { Form, Cascader, DatePicker, + Button } from "antd"; import { dictionary, utils } from "@/config/common"; import moment from "moment"; @@ -25,7 +26,7 @@ import { } from "@ant-design/icons"; import ajax from "@/services"; // import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; -import { ResultFlow } from "@/components"; +import { ResultFlow, ExportBtnNew } from "@/components"; import "./index.scss"; import FinSr from "@/assets/images/fin_sr.png"; import Finyh from "@/assets/images/fin_yh.png"; @@ -53,6 +54,8 @@ function ParkingIncomeReport() { page_size: dictionary?.pageSizeOptions1[0], }; + const exportRef = useRef(null) + //图新展示 const tabt = [ { @@ -535,9 +538,11 @@ function ParkingIncomeReport() { document.body.removeChild(link); }; //导出 - const ReportPaySummaryReport = () => { + const ReportPaySummaryReport = (start, end) => { ajax.ElectInvoice.getParkingIncomeReport({ ...FormDatas, + start: start, + end: end, area: FormDatas?.area?.length ? FormDatas?.area[FormDatas.area.length - 1] : "", @@ -546,8 +551,10 @@ function ParkingIncomeReport() { (res) => { if (parseInt(res?.status) === 20000) { Daownload(res?.data?.url); + exportRef.current.handleCancel() } else { message.error(res?.message); + exportRef.current.handleError() } }, (err) => { @@ -930,7 +937,7 @@ function ParkingIncomeReport() { <p> 共查询到<span> {Data?.total || 0}</span>条数据 </p> - <span + {/* <span className={"sear_ser"} onClick={() => { Data?.total && ReportPaySummaryReport(); @@ -938,7 +945,19 @@ function ParkingIncomeReport() { }} > 导出 - </span> + </span> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData + }} + isTableModule={true} + onOk={ReportPaySummaryReport} + /> </div> <ResultFlow hasLoad={true} diff --git a/src/pages/FinancialMgm/FinancialReport/PaySummaryReport/loadable.jsx b/src/pages/FinancialMgm/FinancialReport/PaySummaryReport/loadable.jsx index d5a482b..8102c09 100644 --- a/src/pages/FinancialMgm/FinancialReport/PaySummaryReport/loadable.jsx +++ b/src/pages/FinancialMgm/FinancialReport/PaySummaryReport/loadable.jsx @@ -22,7 +22,7 @@ import { } from "@ant-design/icons"; import ajax from "@/services"; // import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; -import { ResultFlow } from "@/components"; +import { ResultFlow, ExportBtnNew } from "@/components"; import "./index.scss"; import FinSr from "@/assets/images/fin_sr.png"; import Fintchz from "@/assets/images/fin_tchz.png"; @@ -171,6 +171,7 @@ function PaySummaryReport() { }, ]; let form_data = sessionStorage.getItem("FormData_PaySummaryReport"); + const exportRef = useRef(null) //检索 const [FormData, setFormData] = useState( form_data ? JSON.parse(form_data) : formdata @@ -373,17 +374,21 @@ function PaySummaryReport() { ); }; //导出 - const ReportPaySummaryReport = () => { + const ReportPaySummaryReport = (start, end) => { ajax.ElectInvoice.ReportPaySummaryReport({ ...FormDatas, + start: start, + end: end, ...DateFormt(FormDatas.type), type: TimeChange().str, }).then( (res) => { if (parseInt(res?.status) === 20000) { Daownload(res?.data?.url); + exportRef.current.handleCancel() } else { message.error(res?.message); + exportRef.current.handleError() } }, (err) => { @@ -687,7 +692,7 @@ function PaySummaryReport() { <p> 共查询到<span> {Data?.total || 0}</span>条数据 </p> - <span + {/* <span className={"sear_ser"} onClick={() => { Data?.total && ReportPaySummaryReport(); @@ -695,7 +700,19 @@ function PaySummaryReport() { }} > 导出 - </span> + </span> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData + }} + isTableModule={true} + onOk={ReportPaySummaryReport} + /> </div> <ResultFlow hasLoad={true} diff --git a/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx b/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx index eb71a6f..2dd92d2 100644 --- a/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx +++ b/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx @@ -780,6 +780,7 @@ function ParkingOrderInquiry(props) { rowKey={'order_id'} initFormData={initFormData} exportUrl={exportUrl} + isExport={true} limitCon={limit ? limitCon : null} search={searchOther} /> diff --git a/src/pages/FinancialMgm/PayRecordTotal/loadable.jsx b/src/pages/FinancialMgm/PayRecordTotal/loadable.jsx index 6525450..7d47f49 100644 --- a/src/pages/FinancialMgm/PayRecordTotal/loadable.jsx +++ b/src/pages/FinancialMgm/PayRecordTotal/loadable.jsx @@ -1,5 +1,5 @@ -import React, { useState, useEffect } from "react"; -import { ResultFlowResult } from "@/components"; +import React, { useState, useEffect, useRef } from "react"; +import { ResultFlowResult, ExportBtnNew } from "@/components"; import { Select, Input, Button, Table, message, Pagination, DatePicker, Tooltip } from "antd"; import { useSessionStorageState } from "ahooks"; import { dictionary } from "@/config/common"; @@ -62,6 +62,7 @@ function PayRecordTotal(props) { value: { } }) + const exportRef = useRef(null) useEffect(() => { if (sessionTabList && Object.values(sessionTabList).length > 0) { setFormData({ @@ -280,7 +281,7 @@ function PayRecordTotal(props) { }; // 导出 - const handleExport = () => { + const handleExport = (start, end) => { if (resultData.list?.length > 0) { let { pn, page_size, ...params } = defaultParams; ajax.getPayRecordTotalListExport(params).then( @@ -289,8 +290,10 @@ function PayRecordTotal(props) { //window.location.href = res.data?.url window.open(res.data?.url) message.success(res?.message); + exportRef.current.handleCancel() } else { message.error(res?.message); + exportRef.current.handleError() } }, (err) => { @@ -439,9 +442,21 @@ function PayRecordTotal(props) { <span className="letter">条结果</span> </span> <div> - <Button type="primary" onClick={handleExport}> + {/* <Button type="primary" onClick={handleExport}> 导出 - </Button> + </Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + /> </div> </div> <ResultFlowResult diff --git a/src/pages/FinancialMgm/SettleBill/PayRepeat/loadable.jsx b/src/pages/FinancialMgm/SettleBill/PayRepeat/loadable.jsx index 73c8a42..920b3cf 100644 --- a/src/pages/FinancialMgm/SettleBill/PayRepeat/loadable.jsx +++ b/src/pages/FinancialMgm/SettleBill/PayRepeat/loadable.jsx @@ -14,7 +14,7 @@ import { dictionary, utils } from "@/config/common"; import moment from "moment"; import ajax from "@/services"; // import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; -import { ResultFlow } from "@/components"; +import { ResultFlow, ExportBtnNew } from "@/components"; import "./index.scss"; // import errorImg from "@/assets/images/layout/error.png" // import { useLocation } from "react-router-dom"; @@ -32,6 +32,7 @@ function PayRepeat() { pn: 1, page_size: dictionary?.pageSizeOptions1[0], }; + const exportRef = useRef(null) //页面检索-退款 const formdatb = { type: 2, @@ -413,15 +414,19 @@ function PayRepeat() { document.body.removeChild(link); }; //导出 - const ReportPaySummaryReport = () => { + const ReportPaySummaryReport = (start, end) => { ajax.ElectInvoice.ReportPayRepeat({ ...FormDatas, + start: start, + end: end }).then( (res) => { if (parseInt(res?.status) === 20000) { Daownload(res?.data?.url); + exportRef.current.handleCancel() } else { message.error(res?.message); + exportRef.current.handleError() } }, (err) => { @@ -872,14 +877,26 @@ function PayRepeat() { 共查询到<span> {Data?.total || 0}</span>条数据 </p> {FormData.type == 1 ? ( - <span - className="sear_ser" - onClick={() => { - Data?.total && ReportPaySummaryReport(); + // <span + // className="sear_ser" + // onClick={() => { + // Data?.total && ReportPaySummaryReport(); + // }} + // > + // 导出 + // </span> + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData }} - > - 导出 - </span> + isTableModule={true} + onOk={ReportPaySummaryReport} + /> ) : ( "" )} diff --git a/src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx b/src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx index 24a5e7b..fac1251 100644 --- a/src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx +++ b/src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from "react"; -import { ResultFlowResult, QuickMenu } from "@/components" +import { ResultFlowResult, QuickMenu, ExportBtnNew } from "@/components" import { Select, Button, Table, message, Pagination, Input, Modal, Image, DatePicker, Space, Upload } from 'antd' import { pageSizeOptions @@ -36,6 +36,7 @@ function CallbackSuggestion(props) { const [imgVisible, setImgVisible] = useState(false) const [orderVisible, setOrderVisible] = useState(false) const [evidenceVisible, setEvidenceVisible] = useState(false) + const exportRef = useRef(null) //物品型号 const handleAdviseType = (value) => { @@ -515,12 +516,17 @@ function CallbackSuggestion(props) { } } - const exportData = () => { + const exportData = (start, end) => { let data = { - ...formData + ...formData, + start: start, + end: end } ajax.exportDataList(data).then(res => { window.open(res.data.export_url) + exportRef.current.handleCancel() + }).catch(err => { + exportRef.current.handleError() }) } const checkPic = () => { @@ -644,9 +650,21 @@ function CallbackSuggestion(props) { <div className="result"> <div className="result-info-row"> <span className="font">共检索到<em>{resultData.total_records}</em>条结果</span> - <Button type="primary" className="yisa-btn colorBtn" onClick={() => { exportData() }}> + {/* <Button type="primary" className="yisa-btn colorBtn" onClick={() => { exportData() }}> 导出 - </Button> + </Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total_records} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={exportData} + /> </div> <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}> <Table diff --git a/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/index.scss b/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/index.scss index b0aa670..3b2a643 100644 --- a/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/index.scss +++ b/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/index.scss @@ -141,6 +141,11 @@ $color-primary: var(--color-primary); cursor: pointer; } + .root_gfkk { + display: inline-block; + margin-left: 10px; + } + .paid-result { width: calc(100% - 375px); padding-bottom: 15px; diff --git a/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/loadable.jsx b/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/loadable.jsx index 618a5a8..1325cd3 100644 --- a/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/loadable.jsx +++ b/src/pages/OperationCenter/CustomerServieMgm/ComplainManage/loadable.jsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from "react"; -import { ResultFlowResult } from "@/components"; +import { ResultFlowResult, ExportBtnNew } from "@/components"; import { Select, Input, @@ -124,6 +124,8 @@ function ComplainManage(props) { specific_content: "", //投诉具体内容 }; + const exportRef = useRef(null) + // 创建弹窗 const [visible1, setVisible1] = useState(false); // 创建弹窗-展开key @@ -239,13 +241,15 @@ function ComplainManage(props) { const [rowData, setRowData] = useState({}); //导出 - const exportData = () => { - let data = { ...holdData, ...pageInfo }; + const exportData = (start, end) => { + let data = { ...holdData, ...pageInfo, start: start, end: end }; ajax.getComplainExport(data).then((res) => { if (res?.data?.url) { window.open(res.data.url); + exportRef.current.handleCancel() } else { message.error("导出异常"); + exportRef.current.handleError() } }); }; @@ -1548,14 +1552,26 @@ function ComplainManage(props) { > 设置 </Button> - <Button + {/* <Button type="primary" onClick={() => { exportData(); }} > 导出 - </Button> + </Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={exportData} + /> </div> </div> <ResultFlowResult diff --git a/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffDetail/loadable.jsx b/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffDetail/loadable.jsx index 984b45f..1fc51fc 100644 --- a/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffDetail/loadable.jsx +++ b/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffDetail/loadable.jsx @@ -5,7 +5,7 @@ import { dictionary, utils } from "@/config/common"; import { useSetState , useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; import moment from "moment"; import ajax from '@/services/OperationCenter/OperationSales/index' -import { FormInput, FormSelect, ResultFlow ,FormSliderPicker} from "@/components" +import { FormInput, FormSelect, ResultFlow ,FormSliderPicker, ExportBtnNew} from "@/components" import "./index.scss"; import searchAjax from '@/services/search' // import errorImg from "@/assets/images/layout/error.png" @@ -18,6 +18,7 @@ function WriteOffDetail() { defaultValue:{} }) const params = useRef() + const exportRef = useRef(null) const [typeOptions,setTypeOptions] = useState([]) const [operatorAllData, setOperatorAllData] = useState([]) // 所有商户 const [pageData, setPageData] = useSetState({ // 分页参数 @@ -243,15 +244,24 @@ function WriteOffDetail() { } //导出 - const exportData=()=>{ + const exportData=(start, end)=>{ let data={ - ...formData + ...formData, + start: start, + end: end } ajax.handleOffExport(data).then(res => { window.open(res.data.url) + exportRef.current.handleCancel() + }).catch(err => { + exportRef.current.handleError() }) } + const handleExport = (start, end) => { + exportData(start, end) + } + useEffect(()=>{ // getOffList() getCouponOptions() @@ -357,7 +367,19 @@ function WriteOffDetail() { <span className="total-number"> {resultData.total} </span> <span className="letter">条结果</span> </span> - <Button type="primary" onClick={exportData} >导出</Button> + {/* <Button type="primary" onClick={exportData} >导出</Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + /> </div> <div className="table-wrap"> <Table diff --git a/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffStat/loadable.jsx b/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffStat/loadable.jsx index 35b3b6d..9b845d8 100644 --- a/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffStat/loadable.jsx +++ b/src/pages/OperationCenter/OperationSales/CouponMgm/WriteOffStat/loadable.jsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from "react"; -import { FormSliderPicker, ExportBtn, ResultFlowResult } from "@/components" +import { FormSliderPicker, ExportBtn, ResultFlowResult, ExportBtnNew } from "@/components" import { Select, Input, Button, Table, message, Pagination } from 'antd' import { pageSizeOptions @@ -31,6 +31,7 @@ function WriteOffStat(props) { const [formData, setFormData] = useState(parameter) const [lastFormData, setLastFormData] = useState(formData) const lastFormDataRef = useRef(formData) + const exportRef = useRef(null) const [couponNameOptions, setCouponNameOptions] = useState([]) //时段 @@ -110,6 +111,11 @@ function WriteOffStat(props) { } }) } + + const handleExport = (start, end) => { + exportData(start, end) + } + //切换分页 const changePn = (pn, length) => { if (lastFormData.size === length) { @@ -141,12 +147,17 @@ function WriteOffStat(props) { } //导出 - const exportData=()=>{ + const exportData=(start, end)=>{ let data={ - ...formData + ...formData, + start: start, + end: end } ajax.handleCountExport(data).then(res => { window.open(res.data.url) + exportRef.current.handleCancel() + }).catch(err => { + exportRef.current.handleError() }) } @@ -225,9 +236,21 @@ function WriteOffStat(props) { <div className="result"> <div className="result-info-row"> <span className="font">共检索到<em>{resultData.total}</em>条结果</span> - <Button type="primary" className="yisa-btn" onClick={() => { exportData() }}> + {/* <Button type="primary" className="yisa-btn" onClick={() => { exportData() }}> 导出 - </Button> + </Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + /> </div> <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.list ? resultData.list : []}> diff --git a/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx b/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx index 56154a1..997e48b 100644 --- a/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx +++ b/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx @@ -3,7 +3,7 @@ import { Select, Input, Popconfirm,Button, Table, message, DatePicker, Paginatio import { pageSizeOptions } from '@/config/character.config.js' -import { ResultFlowResult } from "@/components" +import { ResultFlowResult, ExportBtnNew } from "@/components" import { SearchOutlined, PlusOutlined,VerticalAlignBottomOutlined } from '@ant-design/icons'; import moment from 'moment' import { useSetState,} from 'ahooks'; @@ -156,6 +156,7 @@ function ParkingCardOrder() { }) const [lastFormData, setLastFormData] = useState(formData) + const exportRef = useRef(null) const lastFormDataRef = useRef(formData) @@ -292,17 +293,19 @@ function ParkingCardOrder() { }; // 导出 - const ReportPaySummaryReport = () => { + const ReportPaySummaryReport = (start, end) => { if(!resultData.total){ message.warning("暂无数据") return } - ajax.exportOrder(formData).then(res => { + ajax.exportOrder({...formData, start: start, end: end}).then(res => { if (parseInt(res?.status) === 20000){ Donwload(res.data?.url) + exportRef.current.handleCancel() } else { message.error(res?.message); + exportRef.current.handleError() } }).catch(e => console.log(e)) @@ -675,14 +678,26 @@ function ParkingCardOrder() { style={{width:110}}> 添加 </Button>  - <Button + {/* <Button type="primary" className="yisa-btn colorBtn " onClick={() => { ReportPaySummaryReport()}} // style={{background:"#fff",color:'#59b7ff',height:'100%'}} > 导出 - </Button> + </Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={ReportPaySummaryReport} + /> </div> </div> <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}> diff --git a/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredOrder/loadable.jsx b/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredOrder/loadable.jsx index bafa9d2..cc9bf43 100644 --- a/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredOrder/loadable.jsx +++ b/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredOrder/loadable.jsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from "react"; -import { ResultFlowResult } from "@/components" +import { ResultFlowResult, ExportBtnNew } from "@/components" import { Select, Input, Button, Table, message, TreeSelect, Pagination, DatePicker, Cascader, Popover, Modal } from 'antd' import { pageSizeOptions @@ -37,6 +37,7 @@ function StaggeredOrder(props) { const [lastFormData, setLastFormData] = useState(formData) const lastFormDataRef = useRef(formData) const [editVisible, setEditVisible] = useState(false) + const exportRef = useRef(null) //停车场名称 @@ -69,12 +70,17 @@ function StaggeredOrder(props) { } //导出 - const exportData = () => { + const exportData = (start, end) => { let data = { - ...formData + ...formData, + start: start, + end: end } ajax.getExportOrder(data).then(res => { window.open(res.data.url) + exportRef.current.handleCancel() + }).catch(err => { + exportRef.current.handleError() }) } //列表 @@ -355,9 +361,21 @@ function StaggeredOrder(props) { <div className="result"> <div className="result-info-row"> <span className="font">共检索到<em>{resultData.total_records}</em>条结果</span> - <Button type="primary" className="yisa-btn colorBtn" onClick={() => { exportData() }}> + {/* <Button type="primary" className="yisa-btn colorBtn" onClick={() => { exportData() }}> 导出 - </Button> + </Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total_records} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={exportData} + /> </div> <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}> <Table diff --git a/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredStat/loadable.jsx b/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredStat/loadable.jsx index 7895faf..5e04951 100644 --- a/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredStat/loadable.jsx +++ b/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredStat/loadable.jsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from "react"; -import { ResultFlowResult } from "@/components" +import { ResultFlowResult, ExportBtnNew } from "@/components" import { Select, Input, Button, Table, message, TreeSelect, Pagination, DatePicker, Space } from 'antd' import { pageSizeOptions @@ -34,6 +34,7 @@ function StaggeredStat(props) { const [lastFormData, setLastFormData] = useState(formData) const lastFormDataRef = useRef(formData) + const exportRef = useRef(null) //停车场名称 const handlePartName = (value) => { @@ -50,12 +51,17 @@ function StaggeredStat(props) { }; //导出 - const exportData = () => { + const exportData = (start, end) => { let data = { - ...formData + ...formData, + start: start, + end: end } ajax.getStaggeredStatExport(data).then(res => { window.open(res.data.url) + exportRef.current.handleCancel() + }).catch(err => { + exportRef.current.handleError() }) } //列表 @@ -233,9 +239,21 @@ function StaggeredStat(props) { <div className="result"> <div className="result-info-row"> <span className="font">共检索到<em>{resultData.total_records}</em>条结果</span> - <Button type="primary" className="yisa-btn colorBtn" onClick={() => { exportData() }}> + {/* <Button type="primary" className="yisa-btn colorBtn" onClick={() => { exportData() }}> 导出 - </Button> + </Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total_records} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={exportData} + /> </div> <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}> <Table diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingArrearsOrders/loadable.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingArrearsOrders/loadable.jsx index 19af8bb..de5cd10 100644 --- a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingArrearsOrders/loadable.jsx +++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingArrearsOrders/loadable.jsx @@ -209,6 +209,7 @@ function OutParkingArrearsOrders() { pageName={"outParkingArrearsOrders"} initFormData={initFormData} exportUrl="/api/orp/business/get_parking_arrears_export" + isExport={true} isQuickMenu={[ { text: "昨天", value: 1 }, { text: "近30天", value: 30 }, diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx index de33cb6..0b8d754 100644 --- a/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx +++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx @@ -215,6 +215,7 @@ function OutPayOrders() { search={fetch} limitCon={limitCon} initFormData={initFormData} + isExport={true} exportUrl="/api/orp/business/get_payment_export" /> </> diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/index.scss b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/index.scss index 5936f86..226d76f 100644 --- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/index.scss +++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/index.scss @@ -20,6 +20,7 @@ $color-primary: var(--color-primary); height: 100%; .header-button { + display: flex; button { margin: 0 3px; } diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx index a7cb763..bb1c50a 100644 --- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx +++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx @@ -26,7 +26,7 @@ import { useUpdate, } from "ahooks"; import ajax from "@/services"; -import { TableModule, ResultFlow } from "@/components"; +import { TableModule, ResultFlow, ExportBtnNew } from "@/components"; import Detail from "./Detail"; import AddParking from "./AddParking"; import "./index.scss"; @@ -216,6 +216,7 @@ function OutSegment() { pn: 1, page_size: 15, }); + const exportRef = useRef(null); const tableRef = useRef(null); const [appraise, setAppraise] = useState({}) const [loading, setLoading] = useState(false); @@ -394,12 +395,14 @@ function OutSegment() { } }, [formData]) // 导出 - const handleExport = () => { + const handleExport = (start, end) => { if (tableData.length > 0) { let values = searchForm.getFieldsValue(); let end = values.area?.length > 0 ? values.area.slice(-1) : null; let params = { ...values, + start: start, + end: end, //area_id: values.area?.length > 0 ? end : areaId, area_id: sessionTabList?.area, }; @@ -410,12 +413,15 @@ function OutSegment() { (res) => { if (res) { window.open(res.data.export_url) + tableRef.current.handleCancel() } else { message.error(res?.message); + tableRef.current.handleError() } }, (err) => { console.log(err); + tableRef.current.handleError() } ); } else { @@ -614,7 +620,19 @@ function OutSegment() { > 评价批量配置 </Button> - <Button type="primary" onClick={handleExport}>导出</Button> + {/* <Button type="primary" onClick={handleExport}>导出</Button> */} + <ExportBtnNew + children={<Button className="export-btn" size='medium' type="primary">导出</Button>} + modalType="noImg" + ref={exportRef} + totalRecords={total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + /> </div> </div> <ResultFlow