Browse Source

Merge branch 'develop' of http://120.27.195.166:3000/chenglb/PMS_Frontend_v1.0.0 into develop

tags/PMS_V1.0.0_Alpha5
lisf 1 year ago
parent
commit
e68c513b6d
  1. 8
      src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/index.scss
  2. 62
      src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/loadable.jsx
  3. 153
      src/pages/NewEnergy/RealtimeMonitor/PileMonitor/loadable.jsx
  4. 89
      src/pages/NewEnergy/RecordsInquiry/Unlocking/loadable.jsx

8
src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/index.scss

@ -27,3 +27,11 @@
}
}
}
.custom-modal__charger-monitor{
.content{
display: flex;
align-items: center;
justify-content: center;
}
}

62
src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/loadable.jsx

@ -1,52 +1,29 @@
import React, { useState, useRef, useEffect } from "react";
import {
message,
Pagination,
Table,
Space,
Modal,
Button,
Tabs,
Descriptions,
Input,
Steps,
Select,
Image,
Timeline,
Popover,
} from "antd";
import { message, Modal, Image } from "antd";
import { dictionary, utils } from "@/config/common";
// import moment from 'moment'
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
import ajax from "@/services";
import errorImg from "@/assets/images/error-img-new.png";
import { QuestionCircleOutlined } from "@ant-design/icons";
import { TableModule } from "@/components";
import "./index.scss";
import {
payRecordColumns,
refundRecordColumns,
operatorRecordColumns,
} from "./dataSource";
// import errorImg from "@/assets/images/layout/error.png"
import moment from "moment";
function ChargerMonitor() {
const [tableData, setTableData] = useState([]); //
const [total, setTotal] = useState(0); //
const initFormData = {
status: "", //
plate: "", //
station_name: "", //
phone: "", //
station_name: "", //
start_time: "", //
end_time: "", //
plate: "", //
status: sysConfig?.energyChargingStatus[0]?.value ?? 0, //
timePeriod: moment().format("YYYY-MM-DD HH:mm:ss"),
// start_time: "", //
// end_time: "", //
}; //
const formSearch = [
{
label: "充电桩",
name: "charging_pile",
name: "station_name",
type: "Input",
placeholder: "请输入",
},
@ -64,17 +41,19 @@ function ChargerMonitor() {
},
{
label: "充电状态",
name: "charging_status",
name: "status",
type: "Select",
placeholder: "请选择充电状态",
defaultValue: 0,
options: sysConfig.energyChargingStatus,
defaultValue: initFormData.status,
options: sysConfig.energyChargingStatus ?? [],
},
{
name: "time",
name: "timePeriod",
type: "RangePicker",
label: "充电开始时间",
// defaultTitle: ["", ""],
defaultTitle: ["充电开始时间", " "],
defaultValue: [moment().subtract(1, "months"), moment()],
},
]; //
@ -198,6 +177,9 @@ function ChargerMonitor() {
})
.catch((err) => {
console.error(err);
})
.finally(() => {
utils.tableScrollTop("parent-table-scroll");
});
}
@ -233,17 +215,17 @@ function ChargerMonitor() {
/>
<Modal
title={"查看详情"}
className={"custom-modal "}
width={1200}
className={"custom-modal__charger-monitor "}
width={1000}
open={ImgRecordShow}
footer={null}
onCancel={() => {
closeImgRecordModal();
}}
>
<div className="content">
<div className="content" style={{ minHeight: 500 }}>
<Image
width={1000}
width={800}
height={600}
url={ImgRecordData?.pic_url}
preview={false}

153
src/pages/NewEnergy/RealtimeMonitor/PileMonitor/loadable.jsx

@ -1,46 +1,26 @@
import React, { useState, useRef, useEffect, useMemo } from "react";
import {
message,
Pagination,
Table,
Space,
Modal,
Button,
Tabs,
Descriptions,
Input,
Steps,
Select,
Image,
Timeline,
Popover,
} from "antd";
import { dictionary, utils } from "@/config/common";
import { ResultFlow, ExportBtnNew, QuickMenu } from "@/components";
import React, { useState, useEffect, useMemo } from "react";
import { message } from "antd";
import { utils } from "@/config/common";
import ajax from "@/services";
import errorImg from "@/assets/images/error-img-new.png";
import { QuestionCircleOutlined } from "@ant-design/icons";
import { TableModule } from "@/components";
import "./index.scss";
import { functions } from "lodash";
function PileMonitor() {
// const [pageData,setPageData] = useState({
// pn:1,
// page_size:15
// })
// const [loading,setLoading] = useState(false);
const [tableData, setTableData] = useState([]); //
const [total, setTotal] = useState(0); //
const [statsData, setStatsData] = useState({}); //
const [statsData, setStatsData] = useState({
all_count: 0,
kx_count: 0,
zy_count: 0,
gz_count: 0,
lx_count: 0,
}); //
const initFormData = {
station_name: "", //
muzzle_text: "", //
pile_type: "", //
charge_status: "", //
pile_type: sysConfig?.energyChargingType[0]?.value ?? 0, //
charge_status: sysConfig?.energyChargingGunStatus[0]?.value ?? 0, //
}; //
const formSearch = [
@ -60,15 +40,15 @@ function PileMonitor() {
label: "充电类型",
name: "pile_type",
type: "Select",
defaultValue: 0,
options: sysConfig.energyChargingType,
defaultValue: initFormData.pile_type,
options: sysConfig.energyChargingType ?? [],
},
{
label: "枪状态",
name: "charge_status",
type: "Select",
defaultValue: 0,
options: sysConfig.energyChargingGunStatus,
defaultValue: initFormData.charge_status,
options: sysConfig.energyChargingGunStatus ?? [],
},
]; //
@ -148,7 +128,6 @@ function PileMonitor() {
//
function search(params) {
utils.tableScrollTop("parent-table-scroll");
// setLoading(true);
ajax
.getPileMonitorList(params)
.then((res) => {
@ -163,7 +142,6 @@ function PileMonitor() {
console.error(err);
})
.finally(() => {
// setLoading(false);
});
}
@ -196,12 +174,11 @@ function PileMonitor() {
return (
<div className="item">
<div className="item-left">
{/* <img src="" alt="" /> */}
<div className={`img img-${type}`}></div>
</div>
<div className="item-right">
<span className="num">{num ?? 0}</span>
<span className="label">{label }</span>
<span className="label">{label}</span>
</div>
</div>
);
@ -220,105 +197,19 @@ function PileMonitor() {
return (
<>
<TableModule
className={"real-time-monitor_pile-monitor"}
showSerial={true}
isExport={false}
columns={columns}
pageName={"pileMonitor"}
pagename="电桩监控"
tableData={tableData}
formSearch={formSearch}
className={"real-time-monitor_pile-monitor"}
pagename="电桩监控"
pageName={"pileMonitor"}
initFormData={initFormData}
total={total}
search={search}
rightHeaderCompSlot={renderRightListHeader}
isExport={false}
rightHeaderCompSlot={renderRightListHeader} //
/>
{/* <div className="pile-monitor" >
<div className="left-search">
<div className="title">{"查询条件"}</div>
<div className="searchWrap">
{renderSearch()}
<div className="bottomBox">
<Button className="reset" onClick={reset}>
重置
</Button>
<Button type="primary" className="submit"
onClick={() => {
if(pageData.pn == 1){
fetch(1)
}else{
setPageData({ ...pageData, pn: 1 })
fetch({ ...pageData, pn: 1 })
}
}}>
查询
</Button>
{renderAdd()}
</div>
</div>
</div>
<div className="right-list">
<div className="total-row-wrapper">
<span className="number-wrapper">
<span className="letter">共查询到</span>
<span className="total-number"> {total}</span>
<span className="letter">条结果</span>
</span>
<div className="right-button-group">
{true && (
total ? (
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
ref={exportRef}
totalRecords={total}
exportUrl={exportUrl}
imgno={false}
postdata={{
formData: pageData
}}
isTableModule={true}
onOk={handleExport}
/>
) : <></>
)}
</div>
</div>
<ResultFlow
hasLoad={true}
loading={loading}
resultData={tableData}
message={"暂无数据"}
>
<div className="table-wrap parent-table-scroll">
<Table
rowSelection={rowSelection}
rowKey={rowKey}
columns={getNewColumns()}
dataSource={tableData}
pagination={false}
locale={locale}
/>
</div>
<div>
<Pagination
className="pagination-common"
showSizeChanger={true}
showQuickJumper={true}
// showTotal={() => ` ${total_records} `}
total={total}
current={pageData.pn}
pageSize={pageData.page_size}
pageSizeOptions={dictionary?.pageSizeOptions}
onChange={onChange}
// onShowSizeChange={onShowSizeChange}
/>
</div>
</ResultFlow>
</div>
</div> */}
</>
);
}

89
src/pages/NewEnergy/RecordsInquiry/Unlocking/loadable.jsx

@ -1,39 +1,24 @@
import React, { useState, useRef, useEffect } from "react";
import {
message,
Pagination,
Table,
Space,
Modal,
Button,
Tabs,
Descriptions,
Input,
Steps,
Select,
Image,
Timeline,
Popover
} from "antd";
import { dictionary } from "@/config/common";
import { message as Message } from "antd";
import { dictionary, utils } from "@/config/common";
import ajax from "@/services";
import { TableModule } from "@/components";
import "./index.scss";
import moment from "moment";
const { TextArea } = Input;
//
function Unlocking() {
const [tableData, setTableData] = useState([]); //
const [total, setTotal] = useState(0); //
//
const initFormData = {
tel: "",
charging_station: "",
ground_lock_name: "",
unlocking_timerange:[moment().subtract(1,"weeks"),moment()]
tel: "", //
charging_station: "", //
ground_lock_name: "", //
start_time: "", //
end_time: "", //
unlocking_timerange: [moment().subtract(1, "months"), moment()], // start_time, end_time search
};
const formSearch = [
@ -58,7 +43,8 @@ function Unlocking() {
{
name: "unlocking_timerange",
type: "DateRangePicker",
label: "降锁时间",
label: "降锁时间范围",
defaultValue: initFormData.unlocking_timerange,
},
]; //
@ -114,45 +100,42 @@ function Unlocking() {
//
const search = (params) => {
let temp_obj = {...params}
if(temp_obj.unlocking_timerange?.length){
temp_obj.unlocking_timerange = temp_obj.unlocking_timerange[0].format('YYYY-MM-DD') + ',' + temp_obj.unlocking_timerange[1].format('YYYY-MM-DD')
}else{
temp_obj.unlocking_timerange = ''
let temp_obj = { ...params };
if (temp_obj.unlocking_timerange?.length) {
temp_obj.start_time =
temp_obj.unlocking_timerange[0].format("YYYY-MM-DD");
temp_obj.end_time = temp_obj.unlocking_timerange[1].format("YYYY-MM-DD");
} else {
temp_obj.start_time = "";
temp_obj.end_time = "";
}
ajax.recordsInquiry.getUnlockingList(params).then((res) => {
temp_obj.unlocking_timerange = undefined;
ajax.recordsInquiry.getUnlockingList(temp_obj).then((res) => {
if (res.status === 20000) {
setTableData(res.data.list);
setTotal(res.data.total);
} else {
message.error(res.message)
Message.error(res?.message);
}
});
}
}).finally(()=>{
utils.tableScrollTop("parent-table-scroll");
})
};
return (
<>
<TableModule
showSerial={true}
isExport={false}
diyButton={
<Button
type="primary"
onClick={()=>{}}
>
新增
</Button>
}
columns={columns}
tableData={tableData}
formSearch={formSearch}
pagename="开锁记录"
pageName={'unlockingRecord'}
initFormData={initFormData}
total={total}
search={search}
exportUrl="/api/new_power/records/unlocking"
showSerial={true} //
isExport={false} //
pagename="开锁记录" //
pageName={"unlockingRecord"} // useSessionStorage
exportUrl="/api/new_power/records/unlocking" // url
formSearch={formSearch} //
columns={columns} //
initFormData={initFormData} //
search={search} //
total={total} //
tableData={tableData} //
/>
{/* <Modal
open={detailVisible}

Loading…
Cancel
Save