Browse Source

fix(): 导出Modal统一, 数据分析 && 系统管理

tags/PMS_V1.0.0_Alpha5
wanghx 1 year ago
parent
commit
ea968fcf1d
  1. 68
      src/components/Export/ExportBtnNew/index.jsx
  2. 3
      src/components/MapCircle/index.jsx
  3. 21
      src/pages/DataAnalysisPrediction/EquipmentAly/EquipmentRunningStat/loadable.jsx
  4. 22
      src/pages/DataAnalysisPrediction/MemberStat/ParkingAly/loadable.jsx
  5. 6
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/CarTypeAly/index.scss
  6. 15
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/CarTypeAly/loadable.jsx
  7. 3
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyDuration/index.scss
  8. 28
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyDuration/loadable.jsx
  9. 6
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/index.scss
  10. 15
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx
  11. 3
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyReport/index.scss
  12. 15
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyReport/loadable.jsx
  13. 2
      src/pages/SystemMgm/AreaManage/index.scss
  14. 15
      src/pages/SystemMgm/AreaManage/loadable.jsx
  15. 16
      src/pages/SystemMgm/SystemLog/loadable.jsx

68
src/components/Export/ExportBtnNew/index.jsx

@ -17,12 +17,14 @@ function ExportBtn(props) {
const { const {
children, children,
className,
modalType = "hasImg", // hasImgnoImg, portrait modalType = "hasImg", // hasImgnoImg, portrait
totalRecords = 100, // totalRecords = 100, //
exportUrl = "http://192.168.8.7:3001/mock/2995/api/v1/common/export", // exportUrl = "http://192.168.8.7:3001/mock/2995/api/v1/common/export", //
ajaxType = "post", // ajaxType = "post", //
postdata = {}, // post : {formData:(pn,page_size),other:{}} postdata = {}, // post : {formData:(pn,page_size),other:{}}
timeDelay = 300, timeDelay = 300,
pageName,
imgno = true // true false imgno = true // true false
} = props; } = props;
@ -105,7 +107,32 @@ function ExportBtn(props) {
// [,,]---- // [,,]----
const options = [ const options = [
{ label: "导出全部 (全部导出需等待较长时间,请耐心等候) ", value: "2" }
{ label: "导出当前页", value: "1" },
{
label: (
<div className='piecewise'>
<span>导出</span>
<div className='countInput'>
<InputNumber
key="min"
min={1}
value={min}
onChange={(e) => handleChangeNum(e, "min")}
/>
~
<InputNumber
key="max"
min={1}
value={max}
onChange={(e) => handleChangeNum(e, "max")}
/>
</div>
<div className='count'>{Math.abs(max - min + 1)}</div>
</div>
),
value: "3",
},
{ label: "导出全部", value: "2" }
]; ];
// //
@ -134,9 +161,9 @@ function ExportBtn(props) {
} }
// //
else if (checkedType == 1) { else if (checkedType == 1) {
const { pn, length } = postdata.formData
const { pn, length, page_size } = postdata.formData
console.log(postdata.formData) console.log(postdata.formData)
startExport((pn - 1) * length + 1, pn * length, exportType == "hasImg" ? 1 : 0)
startExport((pn - 1) * (length || page_size) + 1, pn * (length || page_size) , exportType == "hasImg" ? 1 : 0)
} }
// //
else { else {
@ -152,8 +179,18 @@ function ExportBtn(props) {
let url = exportUrl; let url = exportUrl;
if (imgno) { if (imgno) {
ajax({ url, type: ajaxType, data: { export_type: checkedType, start, end, isimg:exportType == "hasImg" ? 1 : 0, ...formData, ...other } }).then((res) => { ajax({ url, type: ajaxType, data: { export_type: checkedType, start, end, isimg:exportType == "hasImg" ? 1 : 0, ...formData, ...other } }).then((res) => {
if (pageName == 'parkingOverview') {
downloadFile(res.export_url)
handleCancel()
setBtnLoading(false);
return
}
if (res.status === 20000) { if (res.status === 20000) {
downloadFile(res.data.url)
if (end - start > 500) {
message.info('当前导出任务, 已加入导出任务列表')
} else {
downloadFile(res.data.url || res.data.export_url)
}
handleCancel() handleCancel()
// res.data.task_url // res.data.task_url
// setInProcess("2"); // setInProcess("2");
@ -170,8 +207,18 @@ function ExportBtn(props) {
}); });
} else { } else {
ajax({ url, type: ajaxType, data: { export_type: checkedType, start, end, isimg:0, ...formData, ...other } }).then((res) => { ajax({ url, type: ajaxType, data: { export_type: checkedType, start, end, isimg:0, ...formData, ...other } }).then((res) => {
if (pageName == 'parkingOverview') {
downloadFile(res.export_url)
handleCancel()
setBtnLoading(false);
return
}
if (res.status === 20000) { if (res.status === 20000) {
if (end - start > 500) {
message.info('当前导出任务, 已加入导出任务列表')
} else {
downloadFile(res.data.url || res.data.export_url) downloadFile(res.data.url || res.data.export_url)
}
handleCancel() handleCancel()
// setInProcess("2"); // setInProcess("2");
// setProcess(res.data?.task_url) // setProcess(res.data?.task_url)
@ -287,7 +334,7 @@ function ExportBtn(props) {
<div className='titleLine' /> <div className='titleLine' />
</div> </div>
<div className='export-content'> <div className='export-content'>
<div className='mode'>
{/* <div className='mode'>
{EXPORT_TYPE.map((item) => ( {EXPORT_TYPE.map((item) => (
<div <div
key={item.value} key={item.value}
@ -308,7 +355,7 @@ function ExportBtn(props) {
}px)`, }px)`,
}} }}
/> />
</div>
</div> */}
<div className='options'> <div className='options'>
<Radio.Group value={checkedType} onChange={onOptionChange}> <Radio.Group value={checkedType} onChange={onOptionChange}>
<Space direction="vertical" size={10}> <Space direction="vertical" size={10}>
@ -331,13 +378,14 @@ function ExportBtn(props) {
</Space> </Space>
</Radio.Group> </Radio.Group>
</div> </div>
{/* <div className='alert'>
<div className='alert'>
<ExclamationCircleFilled className='alertIcon' /> <ExclamationCircleFilled className='alertIcon' />
<div className='message'> <div className='message'>
<div>分段导出每次最多支持导出<span style={{color:'#3B97FF'}}> {maxExportNum} </span></div>
<div>本次查询包含<span style={{color:'#3B97FF'}}> {totalRecords} </span>条数据可供导出</div>
<div>导出文件将加入导出下载列表</div>
{/* <div>分段导出每次最多支持导出<span style={{color:'#3B97FF'}}> {maxExportNum} </span>条</div> */}
{/* <div>本次查询包含<span style={{color:'#3B97FF'}}> {totalRecords} </span>条数据可供导出</div> */}
</div>
</div> </div>
</div> */}
</div> </div>
</div> </div>
)} )}

3
src/components/MapCircle/index.jsx

@ -18,7 +18,7 @@ function Markers(props) {
<img src='${Rerm}' /> <img src='${Rerm}' />
</div>`; </div>`;
useEffect(() => { useEffect(() => {
if (data.length) {
if (data.length && data[0].lat && data[0].lng) {
addMarker(data, getMapValue); addMarker(data, getMapValue);
console.log(getMapValue); console.log(getMapValue);
} }
@ -78,6 +78,7 @@ function Markers(props) {
}, 800); }, 800);
}; };
useEffect(() => { useEffect(() => {
if (!data.length || !data[0].lng || !data[0].lat) return
map.setCenter(new AMap.LngLat(parseFloat(data[0].lng), parseFloat(data[0].lat))); map.setCenter(new AMap.LngLat(parseFloat(data[0].lng), parseFloat(data[0].lat)));
}, [getReset]) }, [getReset])
return null; return null;

21
src/pages/DataAnalysisPrediction/EquipmentAly/EquipmentRunningStat/loadable.jsx

@ -8,6 +8,7 @@ import {
Popover, Popover,
Cascader, Cascader,
AutoComplete, AutoComplete,
Button,
Tooltip, Tooltip,
Checkbox, Checkbox,
Modal, Modal,
@ -19,7 +20,7 @@ import moment from "moment";
import ajax from "@/services"; import ajax from "@/services";
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; // import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
import { ResultFlow } from "@/components";
import { ResultFlow, ExportBtnNew } from "@/components";
import "./index.scss"; import "./index.scss";
import Equip1 from "@/assets/images/equip/equip1.png"; import Equip1 from "@/assets/images/equip/equip1.png";
import Equip2 from "@/assets/images/equip/equip2.png"; import Equip2 from "@/assets/images/equip/equip2.png";
@ -711,7 +712,7 @@ function ExceptionParkReport() {
<p> <p>
共查询到<span> {Data?.total || 0}</span>条数据 共查询到<span> {Data?.total || 0}</span>条数据
</p> </p>
<span
{/* <span
className={"sear_ser"} className={"sear_ser"}
onClick={() => { onClick={() => {
Data?.total && setOpen(true); Data?.total && setOpen(true);
@ -723,7 +724,21 @@ function ExceptionParkReport() {
}} }}
> >
导出 导出
</span>
</span> */}
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={500}
exportUrl="/api/ana/equipmentRuning/export"
postdata={{
formData: {
...FormDatas,
area_id: Show,
export_name: "设备运行统计-" + moment().format("YYYY-MM-DD")
}
}}
imgno={false}
/>
</div> </div>
<ResultFlow <ResultFlow
hasLoad={true} hasLoad={true}

22
src/pages/DataAnalysisPrediction/MemberStat/ParkingAly/loadable.jsx

@ -4,6 +4,7 @@ import {
Pagination, Pagination,
Table, Table,
Select, Select,
Button,
Input, Input,
Popover, Popover,
Cascader, Cascader,
@ -18,7 +19,7 @@ import moment from "moment";
import ReactEcharts from "echarts-for-react"; import ReactEcharts from "echarts-for-react";
import ajax from "@/services"; import ajax from "@/services";
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; // import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
import { ResultFlow } from "@/components";
import { ResultFlow, ExportBtnNew } from "@/components";
import "./index.scss"; import "./index.scss";
function ParkingAly() { function ParkingAly() {
@ -602,7 +603,7 @@ function ParkingAly() {
<p> <p>
共查询到<span> {Data?.total || 0}</span>条数据 共查询到<span> {Data?.total || 0}</span>条数据
</p> </p>
<span
{/* <span
className={"sear_ser"} className={"sear_ser"}
onClick={() => { onClick={() => {
Data?.total && ReportPaySummaryReport(); Data?.total && ReportPaySummaryReport();
@ -610,7 +611,22 @@ function ParkingAly() {
}} }}
> >
导出 导出
</span>
</span> */}
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={500}
exportUrl="/api/ana/member/parking_export"
postdata={{
formData: {
pn: 1,
page_size: 15,
...FormData,
...DateFormt(FormDatas.date_type)
}
}}
imgno={false}
/>
</div> </div>
<ResultFlow <ResultFlow
hasLoad={true} hasLoad={true}

6
src/pages/DataAnalysisPrediction/ParkingBusinessAly/CarTypeAly/index.scss

@ -252,14 +252,16 @@ $color-primary : var(--color-primary);
margin: 18px 0 18px 18px; margin: 18px 0 18px 18px;
display: inline-block; display: inline-block;
} }
.root_gfkk {
float: right;
}
.export-btn { .export-btn {
display: inline-block; display: inline-block;
text-align: center; text-align: center;
float: right; float: right;
width: 68px; width: 68px;
height: 34px; height: 34px;
line-height: 34px;
// line-height: 34px;
background: linear-gradient(180deg, #3aa9ff, #59b7ff); background: linear-gradient(180deg, #3aa9ff, #59b7ff);
border-radius: 4px; border-radius: 4px;
margin-right: 15px; margin-right: 15px;

15
src/pages/DataAnalysisPrediction/ParkingBusinessAly/CarTypeAly/loadable.jsx

@ -1,5 +1,5 @@
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import { ResultFlowResult, DataSelect } from "@/components";
import { ResultFlowResult, DataSelect, ExportBtnNew } from "@/components";
import { Select, Input, Button, Table, message, Pagination, DatePicker, Modal, Cascader, Tooltip, Tabs } from "antd"; import { Select, Input, Button, Table, message, Pagination, DatePicker, Modal, Cascader, Tooltip, Tabs } from "antd";
import { useSessionStorageState } from "ahooks"; import { useSessionStorageState } from "ahooks";
import { lineChartOption, ringChartOption } from "../echarts.config"; import { lineChartOption, ringChartOption } from "../echarts.config";
@ -701,7 +701,18 @@ function CarTypeAly() {
</div> </div>
<div className="result-box parkinglive-right"> <div className="result-box parkinglive-right">
<div className="result-box-title">新能源车排行</div> <div className="result-box-title">新能源车排行</div>
<div className="export-btn" onClick={handleExport}>导出</div>
{/* <div className="export-btn" onClick={handleExport}>导出</div> */}
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={500}
exportUrl="/api/ana/dataanalysis/carType_export"
postdata={{
// formData: {...pageInfo, export_type: 'all', area_id: sessionTabList?.show}
formData: { ...pageInfo, export: 1, type: tabKey == 2 ? 'road' : 'region', area_id: sessionTabList?.show}
}}
imgno={false}
/>
<Tabs <Tabs
defaultActiveKey="1" defaultActiveKey="1"
activeKey={tabKey} activeKey={tabKey}

3
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyDuration/index.scss

@ -148,7 +148,8 @@ $color-primary : var(--color-primary);
float: right; float: right;
width: 68px; width: 68px;
height: 34px; height: 34px;
line-height: 34px;
// line-height: 34px;
line-height: unset !important;
background: linear-gradient(180deg,#3aa9ff, #59b7ff); background: linear-gradient(180deg,#3aa9ff, #59b7ff);
border-radius: 4px; border-radius: 4px;
margin-right: 15px; margin-right: 15px;

28
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyDuration/loadable.jsx

@ -1,5 +1,5 @@
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import { ResultFlowResult } from "@/components";
import { ResultFlowResult, ExportBtnNew } from "@/components";
import { Select, Input, Button, Table, message, Pagination, DatePicker, Modal, Cascader, Tooltip, Tabs } from "antd"; import { Select, Input, Button, Table, message, Pagination, DatePicker, Modal, Cascader, Tooltip, Tabs } from "antd";
import { useSessionStorageState } from "ahooks"; import { useSessionStorageState } from "ahooks";
import { dictionary } from "@/config/common"; import { dictionary } from "@/config/common";
@ -919,7 +919,18 @@ function ParkingAlyDuration() {
<div className="duration-box"> <div className="duration-box">
<div className="result-box duration-left"> <div className="result-box duration-left">
<div className="result-box-title">日均泊位周转次数排行榜</div> <div className="result-box-title">日均泊位周转次数排行榜</div>
<div className="export-btn" onClick={handleExport}>导出</div>
{/* <div className="export-btn" onClick={handleExport}>导出</div> */}
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={500}
exportUrl="/api/ana/dataanalysis/get_turn_times_export"
pageName="parkingOverview"
postdata={{
formData: {...pageInfo, export_type: 'all', area_id: sessionTabList?.show}
}}
imgno={false}
/>
<Tabs <Tabs
defaultActiveKey="2" defaultActiveKey="2"
activeKey={tabKey} activeKey={tabKey}
@ -1012,7 +1023,18 @@ function ParkingAlyDuration() {
</div> </div>
<div className="result-box duration-right"> <div className="result-box duration-right">
<div className="result-box-title">平均停车时长排行榜</div> <div className="result-box-title">平均停车时长排行榜</div>
<div className="export-btn" onClick={() => { handleExportCar() }}>导出</div>
{/* <div className="export-btn" onClick={() => { handleExportCar() }}>导出</div> */}
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={500}
exportUrl="/api/ana/dataanalysis/get_parking_duration_export"
pageName="parkingOverview"
postdata={{
formData: {...pageInfo, export_type: 'all', area_id: sessionTabList?.show}
}}
imgno={false}
/>
<Tabs <Tabs
defaultActiveKey="2" defaultActiveKey="2"
activeKey={tabCarKey} activeKey={tabCarKey}

6
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/index.scss

@ -12,7 +12,9 @@ $color-primary : var(--color-primary);
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
@include scrollBar(var(--color-user-list-bg), #3B97FF); @include scrollBar(var(--color-user-list-bg), #3B97FF);
.root_gfkk {
float: right;
}
.paid-search { .paid-search {
display: block; display: block;
width: 375px; width: 375px;
@ -259,7 +261,7 @@ $color-primary : var(--color-primary);
float: right; float: right;
width: 68px; width: 68px;
height: 34px; height: 34px;
line-height: 34px;
// line-height: 34px;
background: linear-gradient(180deg, #3aa9ff, #59b7ff); background: linear-gradient(180deg, #3aa9ff, #59b7ff);
border-radius: 4px; border-radius: 4px;
margin-right: 15px; margin-right: 15px;

15
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx

@ -8,7 +8,7 @@ import { useNavigate } from "react-router-dom";
import { setTabList } from "@/store/common.js"; import { setTabList } from "@/store/common.js";
import { useSelector, useDispatch } from "react-redux"; import { useSelector, useDispatch } from "react-redux";
import { QuestionCircleFilled } from "@ant-design/icons" import { QuestionCircleFilled } from "@ant-design/icons"
import { Icon } from "@/components"
import { Icon, ExportBtnNew } from "@/components"
import moment from "moment"; import moment from "moment";
import ReactEcharts from "echarts-for-react"; import ReactEcharts from "echarts-for-react";
import "./index.scss"; import "./index.scss";
@ -768,7 +768,18 @@ function ParkingAlyOverview() {
</div> </div>
<div className="result-box overview-right"> <div className="result-box overview-right">
<div className="result-box-title">停车资源利用率排行榜</div> <div className="result-box-title">停车资源利用率排行榜</div>
<div className="export-btn" onClick={handleExport}>导出</div>
{/* <div className="export-btn" onClick={handleExport}>导出</div> */}
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={500}
exportUrl="/api/ana/dataanalysis/parking_export"
pageName="parkingOverview"
postdata={{
formData: {...pageInfo, export_type: 'all', area_id: sessionTabList?.show}
}}
imgno={false}
/>
<Tabs <Tabs
//defaultActiveKey="2" //defaultActiveKey="2"
activeKey={tabKey} activeKey={tabKey}

3
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyReport/index.scss

@ -255,6 +255,9 @@ $color-primary : var(--color-primary);
margin-bottom: 10px; margin-bottom: 10px;
cursor: pointer; cursor: pointer;
} }
.root_gfkk {
float: right;
}
.row-head { .row-head {
height: 32px; height: 32px;
display: flex; display: flex;

15
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyReport/loadable.jsx

@ -8,7 +8,7 @@ import { useNavigate } from "react-router-dom";
import { setTabList } from "@/store/common.js"; import { setTabList } from "@/store/common.js";
import { useSelector, useDispatch } from "react-redux"; import { useSelector, useDispatch } from "react-redux";
import { QuestionCircleFilled } from "@ant-design/icons" import { QuestionCircleFilled } from "@ant-design/icons"
import { Icon } from "@/components"
import { Icon, ExportBtnNew } from "@/components"
import moment from "moment"; import moment from "moment";
import ReactEcharts from "echarts-for-react"; import ReactEcharts from "echarts-for-react";
import "./index.scss"; import "./index.scss";
@ -529,7 +529,18 @@ function ParkingAlyReport() {
<div className="paid-result soll-result"> <div className="paid-result soll-result">
<div className="result"> <div className="result">
<div className="result-title">共查询到<p>{resultData?.total_records || 0}</p>条结果</div> <div className="result-title">共查询到<p>{resultData?.total_records || 0}</p>条结果</div>
<div className="export-btn" onClick={handleExport}>导出</div>
{/* <div className="export-btn" onClick={handleExport}>导出</div> */}
<ExportBtnNew
children={<Button className="export-btn-new" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={resultData?.total_records || 500}
exportUrl="/api/ana/dataanalysis/parking_total_analysis_export"
pageName="parkingOverview"
postdata={{
formData: { ...formData, ...pageInfo, area_id: sessionTabList?.show }
}}
imgno={false}
/>
<Table <Table
columns={columns} columns={columns}
dataSource={resultData.list || []} dataSource={resultData.list || []}

2
src/pages/SystemMgm/AreaManage/index.scss

@ -21,7 +21,7 @@ $color-primary : var(--color-primary);
} }
} }
.modal-map-container { .modal-map-container {
#map-select-container {
#map {
height: 300px; height: 300px;
} }
.modal-map-info { .modal-map-info {

15
src/pages/SystemMgm/AreaManage/loadable.jsx

@ -2,7 +2,7 @@ import React, { useState, useRef, useEffect } from "react";
import { message, Pagination, Table, Input, Modal, Tree, Button, Dropdown } from "antd"; import { message, Pagination, Table, Input, Modal, Tree, Button, Dropdown } from "antd";
import { DeleteOutlined, EditOutlined, PlusCircleOutlined, EllipsisOutlined } from '@ant-design/icons'; import { DeleteOutlined, EditOutlined, PlusCircleOutlined, EllipsisOutlined } from '@ant-design/icons';
import ajax from "@/services" import ajax from "@/services"
import { AMap } from "@/components"
import { AMap, BaseMap, MapCircle } from "@/components"
import ModalAreaAdd from "./ModalAreaAdd"; import ModalAreaAdd from "./ModalAreaAdd";
import "./index.scss"; import "./index.scss";
import { isArray } from "lodash"; import { isArray } from "lodash";
@ -127,7 +127,7 @@ function AreaManage() {
setModalMapVisible(true) setModalMapVisible(true)
} }
const handleMapClick = ({ lat, lng }) => { const handleMapClick = ({ lat, lng }) => {
setLatlng([lat.toFixed(4), lng.toFixed(4)].join(','))
setLatlng([lng.toFixed(4), lat.toFixed(4)].join(','))
} }
// //
@ -260,10 +260,19 @@ function AreaManage() {
footer={null} footer={null}
> >
<div className="modal-map-content"> <div className="modal-map-content">
<AMap
{/* <AMap
id="map-select-container" id="map-select-container"
onClick={({ lnglat }) => handleMapClick(lnglat)} onClick={({ lnglat }) => handleMapClick(lnglat)}
/> */}
<BaseMap zoom={13} id="map-select-container" onClick={({ lnglat }) => handleMapClick(lnglat)}>
<MapCircle
// getReset={getReset}
// getMapValue={getEditModal.attendmin}
data={latlng ? [{lng: latlng.split(',')[0], lat: latlng.split(',')[1]}] : []}
refresh={true}
type="img"
/> />
</BaseMap>
</div> </div>
<div className="modal-map-info"> <div className="modal-map-info">
<Input value={latlng}></Input> <Input value={latlng}></Input>

16
src/pages/SystemMgm/SystemLog/loadable.jsx

@ -3,7 +3,7 @@ import { message, Cascader, Select, Input, DatePicker, Button, Table, Pagination
import { SearchOutlined, DeleteOutlined, DownloadOutlined } from '@ant-design/icons'; import { SearchOutlined, DeleteOutlined, DownloadOutlined } from '@ant-design/icons';
import moment from "moment"; import moment from "moment";
import ajax from '@/services' import ajax from '@/services'
import { TableModule } from "@/components";
import { TableModule, ExportBtnNew } from "@/components";
import { useSessionStorageState } from "ahooks"; import { useSessionStorageState } from "ahooks";
import { dictionary } from "@/config/common.js"; import { dictionary } from "@/config/common.js";
import "./index.scss"; import "./index.scss";
@ -441,9 +441,19 @@ const SystemLog = () => {
<div className="result"> <div className="result">
<div className="result-info-row"> <div className="result-info-row">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span> <span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<Button type="primary" onClick={() => setModalExport({ ...modalExport, open: true })}>
{/* <Button type="primary" onClick={() => setModalExport({ ...modalExport, open: true })}>
导出 导出
</Button>
</Button> */}
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={resultData.total_records}
exportUrl="/api/manage/system/export_system_log"
postdata={{
formData: {...formData, ...{is_excel: 1}}
}}
imgno={false}
/>
</div> </div>
<div className="result-data"> <div className="result-data">
<Table <Table

Loading…
Cancel
Save