From a420d7cfcad28184345179a66513c4e9315e7d05 Mon Sep 17 00:00:00 2001 From: chenglb Date: Mon, 15 Jan 2024 09:48:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=96=B0=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E5=8A=A0=E9=97=AE=E9=A2=98=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/base.scss | 12 ++ src/config/ajax.js | 34 +++- .../EquipmentOpe/faultReport/loadable.jsx | 12 +- .../RecordInquiry/ArrearsEtcInquiries/index.jsx | 6 + .../RecordInquiry/ArrearsEtcInquiries/index.scss | 5 + .../RecordInquiry/ArrearsEtcInquiries/loadable.jsx | 181 +++++++++++++++++++++ src/pages/InRoadMgm/RecordInquiry/index.jsx | 2 + src/pages/Nav/index.jsx | 45 ++--- src/pages/Nav/index.scss | 37 +++-- .../OutSegmentMgm/ChargeRulesMgm/AddModal.jsx | 4 +- .../OutSegmentMgm/ChargeRulesMgm/Detail.jsx | 2 +- src/router/index.jsx | 1 + src/router/router.config.js | 6 + .../OperationCenter/OperationSales/index.js | 2 +- src/services/OutRoadMgm/OutSegment.js | 1 + src/services/recordInquiry.js | 18 +- 16 files changed, 316 insertions(+), 52 deletions(-) create mode 100644 src/pages/InRoadMgm/RecordInquiry/ArrearsEtcInquiries/index.jsx create mode 100644 src/pages/InRoadMgm/RecordInquiry/ArrearsEtcInquiries/index.scss create mode 100644 src/pages/InRoadMgm/RecordInquiry/ArrearsEtcInquiries/loadable.jsx diff --git a/src/assets/css/base.scss b/src/assets/css/base.scss index 709b468..a1cd5b1 100644 --- a/src/assets/css/base.scss +++ b/src/assets/css/base.scss @@ -758,3 +758,15 @@ color:var(--color-text) !important; margin-top: 0 !important; } } + +.yisa-custom-scrollbar{ + &::-webkit-scrollbar{ + width: 10px; + background-color: #3e4557; + cursor: pointer; + } + &::-webkit-scrollbar-thumb{ + background-color: #9da2ab; + border-radius: 5px; + } +} diff --git a/src/config/ajax.js b/src/config/ajax.js index f7e4b62..e348cb2 100644 --- a/src/config/ajax.js +++ b/src/config/ajax.js @@ -7,6 +7,10 @@ import qs from 'qs' axios.defaults.baseURL = baseApi axios.defaults.timeout = 5 * 60 * 1000 axios.defaults.headers.common['Authorization'] = getToken() +window.queryRecord = {} // 临时方案, 对于查询比较慢的接口, 先统一在这里处理, todo, 后期每个接口再加loading, +const longtimeInterfaces = [ // 对于一些查询比较慢的接口, 先定义一个数组, + "/api/orp/road/road_list" +] // axios.defaults.headers.common['Authorization'] = `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTk2MzAwNzUsInN1YiI6Inlpc2Ffand0IiwibmJmIjoxNjk5NjI2NDc1LCJhdWQiOiJ5aXNhX3VzZXIiLCJpYXQiOjE2OTk2MjY0NzUsImp0aSI6IjlhYzg3MzcxNGUyYWUyNjQyOWNlMTFjMDliZjZiMTFiIiwiaXNzIjoieWlzYV9pc3MiLCJzdGF0dXMiOjEsImRhdGEiOnsidXNlcl91aWQiOjE4MTkwOTEwNDA1MzQ2MTU5NjksImlkX2NhcmQiOm51bGwsInJvbGVfaWQiOjE3NjcyMTAwNDQ0NDE2MTQ0NzksIm5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJkZXBhcnRtZW50X25hbWUiOiLopb_mtbflsrjlhaznlKjkuovkuJrpm4blm6IiLCJ1c2VyX25hbWUiOiJ4dXF1biIsInRlbCI6IjE4OTc2MzMwMzIwIiwiYXV0aCI6IjE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3MywxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTUyLDEyMSwxMzQsMTM1LDEzOSwxNDMsMTQ5LDEzNiwxMzcsMTM4LDE0MCwxNDEsMTQyLDE0NCwxNDUsMTUwLDE1MSwxMjAsMTIyLDEyMywxMjQsMTI1LDExMiwxMTMsMTE0LDExNSwxNDYsMTQ3LDE0OCw4OCw4OSw5MCw5MSwxMDMsMTE4LDEyNiwxMzAsOTcsMTE2LDExNyw5Miw5Myw5NCw5NSw5NiwxMDQsMTA1LDExOSwxMjcsMTI4LDEyOSwxMzEsMTMyLDEzMyw5OCw5OSwxMDAsMTAxLDEwMiwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxLDIsMyw2LDcsOCw5LDEwLDQsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMTEsMTIsMjEsMjIsMjcsMjgsMzMsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDksNTAsNTEsNTIsNTMsNSw1Nyw1OCw1NCw1NSw1Niw3MSw3Miw1OSw2MCw2MSw2Miw2OSw3MCw3Myw3NCw3NSw3Niw3Nyw2NSw2Niw2Nyw2OCw2Myw2NCwyMywyNCwyNSwyNiwzNCwzNSwyOSwzMCwzMSwzMiw0Nyw0OCw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4NyIsInBpZCI6MCwiaWRfbmFtZSI6IuiuuOe-pCJ9fQ.mYH-k_uKUDxysOiytBSRzOj4hWjKSxkTBVEpy4FnLe8` /** * @description 请求全局拦截 @@ -37,6 +41,27 @@ function ajax(ajaxData = {}) { if (ajaxData.transFormData) { ajaxData.data = { ...ajaxData.data, transFormData: true } } + // 新增逻辑 + if(ajaxData.data?.guard){ + if( window.queryRecord[ajaxData.url]?.ing ){ + message.destroy() + if(ajaxData.data.pn && ajaxData.data.pn != window.queryRecord[ajaxData.url].pn){ // 约定pn 作为分页器 页码的唯一变量名 + message.error('建议不要快速切换') + }else{ + message.error('请勿重复操作') + // 返回一个promise防止语法错误 + return new Promise((resolve, reject)=>{ + new Error(1) + }) + } + }else{ + if(ajaxData.data.pn){ + window.queryRecord[ajaxData.url] = {ing: true, pn: ajaxData.data.pn} + }else{ + window.queryRecord[ajaxData.url] = {ing: true} + } + } + } return new Promise((resolve, reject) => { if (!utils.isObject(ajaxData)) { return reject(new Error('ajax请求配置错误')) @@ -44,7 +69,6 @@ function ajax(ajaxData = {}) { let method = ajaxData.type || 'GET' method = method.toLowerCase() let url = ajaxData.mock && isDevelopment ? `/mock` + ajaxData.url : ajaxData.url - // let data = method === 'get' ? { params: ajaxData.data } : ajaxData.data let data = method === "get" || method === 'delete' @@ -53,17 +77,23 @@ function ajax(ajaxData = {}) { axios[method](url, data) .then(res => { + if(res?.config?.data && JSON.parse(res.config.data)?.guard){ + window.queryRecord[res.config.url].ing = false + } if (res.data.status === 30009 || res.data.status === 40006 || res.data.status === 40005 ) { removeToken() window.location.replace(sysConfig.logout_url) // window.location.replace("/#/login") message.error(res.data.message) reject(res) - } else { + } else { resolve(res.data) } }) .catch(err => { + if(err?.config?.data && JSON.parse(err.config.data)?.guard){ + window.queryRecord[err.config.url].ing = false + } let response = err.response if (response) { switch (response.status) { diff --git a/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx b/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx index c582393..2c14b72 100644 --- a/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx +++ b/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx @@ -92,6 +92,7 @@ function faultReport(props) { { title: '序号', render: (text, record, index) => index + 1, + width: 80, }, { title: '商户名称', @@ -109,6 +110,11 @@ function faultReport(props) { key: 'park_name', }, { + title: '泊位号', + dataIndex: 'berth_code', + key: 'berth_code', + }, + { title: '设备类型', dataIndex: 'fault_type_name', key: 'fault_type_name', @@ -119,9 +125,11 @@ function faultReport(props) { key: 'name', }, { - title: '故障原因', + title: '备注', dataIndex: 'reason', key: 'reason', + width: 200, + ellipsis: true }, { title: '上报时间', @@ -286,7 +294,7 @@ function faultReport(props) { ]} />
- } + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData + }} + isTableModule={true} + onOk={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() {

共查询到 {Data?.total || 0}条数据

- { Data?.total && ReportPaySummaryReport(); @@ -938,7 +945,19 @@ function ParkingIncomeReport() { }} > 导出 - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData + }} + isTableModule={true} + onOk={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() {

共查询到 {Data?.total || 0}条数据

- { Data?.total && ReportPaySummaryReport(); @@ -695,7 +700,19 @@ function PaySummaryReport() { }} > 导出 - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData + }} + isTableModule={true} + onOk={ReportPaySummaryReport} + /> 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) { 条结果
- + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + />
{ + 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() { 共查询到 {Data?.total || 0}条数据

{FormData.type == 1 ? ( - { - Data?.total && ReportPaySummaryReport(); + // { + // Data?.total && ReportPaySummaryReport(); + // }} + // > + // 导出 + // + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={Data?.total} + imgno={false} + postdata={{ + formData: FormData }} - > - 导出 - + 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) {
共检索到{resultData.total_records}条结果 - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total_records} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={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) { > 设置 - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={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() { {resultData.total} 条结果 - + {/* */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + />
{ + 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) {
共检索到{resultData.total}条结果 - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + />
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}}> 添加   - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={ReportPaySummaryReport} + />
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) {
共检索到{resultData.total_records}条结果 - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total_records} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={exportData} + />
{ @@ -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) {
共检索到{resultData.total_records}条结果 - + */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={resultData.total_records} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={exportData} + />
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() { > 评价批量配置 - + {/* */} + 导出} + modalType="noImg" + ref={exportRef} + totalRecords={total} + imgno={false} + postdata={{ + formData: formData + }} + isTableModule={true} + onOk={handleExport} + />