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_Alpha6
lisf 1 year ago
parent
commit
4de5640165
  1. 10
      src/components/VideoPlay/index.jsx
  2. 2
      src/pages/DataAnalysisPrediction/EquipmentAly/EquipmentRunningStat/loadable.jsx
  3. 44
      src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx
  4. 10
      src/pages/FinancialMgm/SettleBill/GeneralBusiness/loadable.jsx
  5. 50
      src/pages/FinancialMgm/SettleBill/PayRepeat/loadable.jsx
  6. 6
      src/pages/NewEnergy/NewEnergyOverview/Map.jsx
  7. 4
      src/pages/NewEnergy/NewEnergyOverview/index.scss
  8. 4
      src/pages/NewEnergy/NewEnergyOverview/loadable.jsx
  9. 7
      src/pages/NewEnergy/RealtimeMonitor/LockMonitor/loadable.jsx
  10. 4
      src/pages/OperationCenter/CarMgm/CarAuth/loadable.jsx
  11. 8
      src/pages/OperationCenter/OperationSales/CreditScoreMgm/loadable.jsx
  12. 16
      src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx
  13. 19
      src/pages/OutRoadMgm/OutDeviceMgm/OutNvrMgm/loadable.jsx
  14. 2
      src/pages/OutRoadMgm/OutExceptionMgm/LiftUpPoleRecord/loadable.jsx
  15. 2
      src/pages/OutRoadMgm/OutRoadOverview/loadable.jsx
  16. 2
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/CarMgm/CarGroupMgm.jsx
  17. 2
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/GateControlManagement.jsx

10
src/components/VideoPlay/index.jsx

@ -8,8 +8,8 @@ let reloadTimes = 0
let flvPlayer = null
let lastUrl = null
function VideoPlay (props, ref) {
const {videoType = "flv"} = props
function VideoPlay(props, ref) {
const { videoType = "flv", controlslist } = props
const videoElement = useRef()
const [videoUrl, setVideoUrl] = useState('')
// console.log(videoType)
@ -47,7 +47,7 @@ function VideoPlay (props, ref) {
console.log(e)
}
}
}else{
} else {
console.log("不支持flvjs!!!")
}
}
@ -84,7 +84,7 @@ function VideoPlay (props, ref) {
useImperativeHandle(ref, () => ({
changeUrl: (url) => {
if(lastUrl == url) {
if (lastUrl == url) {
flvPlayer.play()
return
}
@ -99,7 +99,7 @@ function VideoPlay (props, ref) {
return (
<div className="video-play-wrap">
<div className="error-layer"></div>
<video ref={videoElement} id='videoElement' className="video-js rm-video" muted src="" controls="controls"></video>
<video ref={videoElement} id='videoElement' className="video-js rm-video" muted src="" controls="controls" controlslist={controlslist}></video>
</div>
)
}

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

@ -728,7 +728,7 @@ function ExceptionParkReport() {
<ExportBtnNew
children={<Button className="export-btn" size='medium' type="primary">导出</Button>}
modalType="noImg"
totalRecords={500}
totalRecords={Data?.total || 0}
exportUrl="/api/ana/equipmentRuning/export"
postdata={{
formData: {

44
src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx

@ -680,23 +680,6 @@ const ParkingOverview = connect(function mapStateToProps(state) {
series.push(seriesItem);
}
// 使 sumValue getParametricEquation
// series-surface series-surface.parametricEquation
// for (let i = 0; i < series.length; i++) {
// endValue = startValue + series[i].pieData.value;
// series[i].pieData.startRatio = startValue / sumValue;
// series[i].pieData.endRatio = endValue / sumValue;
// series[i].parametricEquation = getParametricEquation(
// series[i].pieData.startRatio,
// series[i].pieData.endRatio,
// false,
// false,
// k,
// series[i].pieData.value
// );
// startValue = endValue;
// }
for (let i = 0; i < series.length; i++) {
endValue = startValue + series[i].pieData.value;
@ -753,13 +736,6 @@ const ParkingOverview = connect(function mapStateToProps(state) {
// });
let option = {
// backgroundColor: "#203598",
// labelLine: {
// show: true,
// lineStyle: {
// color: "#fff",
// },
// },
legend: {
selectedMode: false,
data: legendData,
@ -790,26 +766,6 @@ const ParkingOverview = connect(function mapStateToProps(state) {
},
tooltip: {
backgroundColor: "#fff",
// formatter: (params) => {
// if (
// params.seriesName !== "mouseoutSeries" &&
// params.seriesName !== "pie2d"
// ) {
// let bfb = (
// (option.series[params.seriesIndex].pieData.endRatio -
// option.series[params.seriesIndex].pieData.startRatio) *
// 100
// ).toFixed(2);
// if (bfb == "NaN") {
// bfb = 0;
// }
// return (
// `${params.seriesName}<br/>` +
// `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>` +
// `${bfb}%`
// );
// }
// },
formatter: (params) => {
if (
params.seriesName !== "mouseoutSeries" &&

10
src/pages/FinancialMgm/SettleBill/GeneralBusiness/loadable.jsx

@ -6,22 +6,14 @@ import {
Select,
Input,
Popover,
Modal,
Row,
Form,
Col,
Button,
DatePicker,
} from "antd";
import { dictionary, utils } from "@/config/common";
import { dictionary } from "@/config/common";
import moment from "moment";
import { DeleteOutlined } from "@ant-design/icons";
import ajax from "@/services";
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
import { ResultFlow } from "@/components";
import "./index.scss";
// import errorImg from "@/assets/images/layout/error.png"
// import { useLocation } from "react-router-dom";
const { RangePicker } = DatePicker;
const { TextArea } = Input;
function GeneralBusiness() {

50
src/pages/FinancialMgm/SettleBill/PayRepeat/loadable.jsx

@ -699,42 +699,6 @@ function PayRepeat() {
/>
</div>
</div>
{/* <div className="form_item">
<span className="lab">操作人</span>
<div className="inputs">
<Select
value={FormData.workker}
style={{
width: "100%",
}}
placeholder="请选择"
options={[
{
value: "jack",
label: "Jack",
},
{
value: "lucy",
label: "Lucy",
},
{
value: "disabled",
label: "Disabled",
},
{
value: "Yiminghe",
label: "yiminghe",
},
]}
onChange={(e) =>
setFormData({
...FormData,
workker: e,
})
}
/>
</div>
</div> */}
</>
) : (
<>
@ -767,7 +731,7 @@ function PayRepeat() {
<div className="inputst">
<DatePicker
style={{ width: "100%" }}
// showTime
allowClear={false}
value={
FormData.start_time ? moment(FormData.start_time) : null
@ -912,14 +876,6 @@ function PayRepeat() {
<Table
// className="yisa-table"
columns={columns}
rowSelection={
FormData.type == 1
? {
...rowSelection,
checkStrictly,
}
: ""
}
rowKey={(record) => record.order_id}
dataSource={Data.data}
pagination={false}
@ -931,7 +887,6 @@ function PayRepeat() {
className="pagination-common"
showSizeChanger={true}
showQuickJumper={true}
// showTotal={() => ` ${total_records} `}
total={Data.total}
current={FormData.pn}
pageSize={FormData.page_size}
@ -963,10 +918,8 @@ function PayRepeat() {
<Table
// className="yisa-table"
columns={FormDatas.type == 1 ? columnsa : columnsc}
// rowKey={(record) => record.id}
dataSource={Tabdata.order}
pagination={false}
// scroll={{ y: "calc(100vh - 300px)" }}
/>
<p className="po">流水信息</p>
<Table
@ -975,7 +928,6 @@ function PayRepeat() {
// rowKey={(record) => record.id}
dataSource={Tabdata.flow_list}
pagination={false}
// scroll={{ y: "calc(100vh - 300px)" }}
/>
<span>处理方式</span>
<span>退款</span>

6
src/pages/NewEnergy/NewEnergyOverview/Map.jsx

@ -120,7 +120,7 @@ function BaseMap(props) {
content: `
<div class="map-item">
<div class="name">${e.data.name}</div>
<div class="location"><img src=${mapLocation} />${e.data.location}</div>
<div class="location"><img src=${mapLocation} title=${e.data.location} />${e.data.location}</div>
<div class="pic"><img src=${e.data.pic} /></div>
<div class="item"><div>慢充占用</div><div>${e.data.slow_charge}</div></div>
<div class="item"><div>快充占用</div><div>${e.data.fast_charge}</div></div>
@ -131,8 +131,8 @@ function BaseMap(props) {
});
mass.on('mouseout', function (e) {
marker.setPosition(e.data.lnglat);
marker.setLabel()
// marker.setPosition(e.data.lnglat);
// marker.setLabel()
});
mass.setMap(map);
//datalnglat

4
src/pages/NewEnergy/NewEnergyOverview/index.scss

@ -85,6 +85,10 @@
}
.location{
margin-bottom:3px;
overflow:hidden;
white-space: nowrap;
text-overflow: ellipsis;
img{
width: 23px;
}

4
src/pages/NewEnergy/NewEnergyOverview/loadable.jsx

@ -26,6 +26,8 @@ function NewEnergyOverview() {
}
});
}
const filterOption = (input, option) =>
(option?.label ?? '').toLowerCase().includes(input.toLowerCase());
useEffect(()=>{
getPointData()
},[])
@ -46,6 +48,7 @@ function NewEnergyOverview() {
<BaseMap zoom={10} data={data} centerPoint={centerPoint} className="overview-map">
<div className="search">
<Select
showSearch
// value={Selectq}
className="select-map"
style={{
@ -53,6 +56,7 @@ function NewEnergyOverview() {
height:40
}}
options={option}
filterOption={filterOption}
onChange={(e) => hangChange(e)}
/>
<div className="search-pic"></div>

7
src/pages/NewEnergy/RealtimeMonitor/LockMonitor/loadable.jsx

@ -81,42 +81,49 @@ function PileMonitor() {
dataIndex: "device_name",
key: "device_name",
align: "center",
render: (text, record, index) => text||"-",
},
{
title: "设备编码",
dataIndex: "device_num",
key: "device_num",
align: "center",
render: (text, record, index) => text||"-",
},
{
title: "设备类型",
dataIndex: "device_type",
key: "device_type",
align: "center",
render: (text, record, index) => text||"-",
},
{
title: "设备供应商",
dataIndex: "device_vendor",
key: "device_vendor",
align: "center",
render: (text, record, index) => text||"-",
},
{
title: "对接平台",
dataIndex: "platform",
key: "platform",
align: "center",
render: (text, record, index) => text||"-",
},
{
title: "车位锁状态",
dataIndex: "lock_state_name",
key: "lock_state_name",
align: "center",
render: (text, record, index) => text||"-",
},
{
title: "设备状态",
dataIndex: "device_state_name",
key: "device_state_name",
align: "center",
render: (text, record, index) => text||"-",
},
{
title: "操作",

4
src/pages/OperationCenter/CarMgm/CarAuth/loadable.jsx

@ -286,10 +286,10 @@ function CarAuth() {
</div>
</> : null}
<div className="ltc-item ltc-item-img">
<img src={resultData[indexby].disabled_certificate_img1 || require("../../../../../src/assets/images/error-img.png")} onClick={() => { setBigPic(resultData[indexby].disabled_certificate_img1); setBigpicVisible(true) }} />
<img src={resultData[indexby].disabled_certificate_img1} onError={handleImgError} onClick={() => { setBigPic(resultData[indexby].disabled_certificate_img1); setBigpicVisible(true) }} />
</div>
<div className="ltc-item ltc-item-img">
<img src={resultData[indexby].disabled_certificate_img2 || require("../../../../../src/assets/images/error-img.png")} onClick={() => { setBigPic(resultData[indexby].disabled_certificate_img2); setBigpicVisible(true) }} />
<img src={resultData[indexby].disabled_certificate_img2} onError={handleImgError} onClick={() => { setBigPic(resultData[indexby].disabled_certificate_img2); setBigpicVisible(true) }} />
</div>
</div>
</div>

8
src/pages/OperationCenter/OperationSales/CreditScoreMgm/loadable.jsx

@ -354,6 +354,10 @@ function CreditScoreMgm() {
}
//
function getRedeemEdit(e, type) {
if(!addData?.awardId||!addData?.redeem_points||!addData.total_num){
message.error('请填写完整!')
return
}
ajax.getCreditScoreRedeemEdit({ ...e }).then((res) => {
let { status, data, total } = res
if (status == 20000) {
@ -375,6 +379,10 @@ function CreditScoreMgm() {
}
//
function getRedeemAdd(e, type) {
if(!addData?.awardId||!addData?.redeem_points||!addData.total_num){
message.error('请填写完整!')
return
}
ajax.getCreditScoreRedeemAdd({ ...e }).then((res) => {
let { status, data, total } = res
if (status == 20000) {

16
src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx

@ -71,8 +71,9 @@ function OutMonitorMgm(props) {
device_name: "",
nvr_id: "",
device_code: "",
berth_ids: "",
nvr_type: ""
channel_ids: "",
nvr_type: "",
id: '',
};
//
const [rowData, setRowData] = useState(defRowData);
@ -501,9 +502,15 @@ function OutMonitorMgm(props) {
// message.error("");
// return;
// }
if (form.getFieldValue("nvr_type") == 1) {
if (!rowData?.channel_ids) {
message.error("请选择通道号");
return;
}
}
ajax[values?.id ? "monitorOutEdit" : "monitorOutAdd"]({
...values,
berth_ids: rowData?.berth_ids,
channel_ids: rowData?.channel_ids,
}).then(
(res) => {
if (res?.status == 20000) {
@ -794,7 +801,8 @@ function OutMonitorMgm(props) {
>
<Select
placeholder="请选择"
options={[{label: '非国标NVR', value: 1} , {label: '国标NVR', value: 2}]}
options={[{ label: '非国标NVR', value: 1 }, { label: '国标NVR', value: 2 }]}
onChange={() => { form.setFieldsValue({ nvr_id: '' }) }}
/>
</Form.Item>
<Form.Item

19
src/pages/OutRoadMgm/OutDeviceMgm/OutNvrMgm/loadable.jsx

@ -276,21 +276,21 @@ function OutNvrMgm(props) {
title: "设备名称",
dataIndex: "name",
align: "center",
width: 150,
width: 220,
ellipsis: true
},
{
title: "区域",
dataIndex: "area_name",
align: "center",
width: 150,
width: 220,
ellipsis: true
},
{
title: "所属车场",
dataIndex: "road_name",
align: "center",
width: 150,
width: 200,
ellipsis: true
},
{
@ -306,7 +306,7 @@ function OutNvrMgm(props) {
title: "国际编号",
dataIndex: "standard_code",
align: "center",
width: 150,
width: 250,
ellipsis: true
},
{
@ -345,7 +345,7 @@ function OutNvrMgm(props) {
title: "更新时间",
dataIndex: "update_time",
align: "center",
width: 150,
width: 220,
ellipsis: true
},
{
@ -444,7 +444,11 @@ function OutNvrMgm(props) {
return false
}
}
let reg=/^[1-9]\d*$/
if(!reg.test(values.standard_code)&&values.standard_code){
message.warning("国标编号为纯数字")
return false
}
console.log(values, rowData?.id);
ajax[rowData?.id ? "doEditOutNvr" : "doAddOutNvr"](values).then(
(res) => {
@ -452,6 +456,7 @@ function OutNvrMgm(props) {
message.success(res.message);
// setPageInfo({ ...pageInfo, ...{ pn: 1 } });
setVisible(false);
form.resetFields();
setIsAjax(!isAjax);
} else {
message.error(res.message);
@ -777,7 +782,7 @@ function OutNvrMgm(props) {
name={"standard_code"}
rules={[{ required: true, message: "国标编号不能为空" }]}
>
<Input autoComplete="off" />
<Input autoComplete="off" maxLength={30}/>
</Form.Item>
</div>

2
src/pages/OutRoadMgm/OutExceptionMgm/LiftUpPoleRecord/loadable.jsx

@ -113,7 +113,7 @@ function LiftUpPoleRecord(props) {
key: 'start_time',
},
{
title: '关闸时间',
title: '开闸原因',
dataIndex: 'end_reason',
key: 'end_reason',
},

2
src/pages/OutRoadMgm/OutRoadOverview/loadable.jsx

@ -573,7 +573,7 @@ const OutRoadOverview = () => {
onChange={(e) => { getOutRoadVideoPlay({ id: e, type: 1 }); setTodevice(e) }}
/>
<div>
<VideoPlay ref={videoRef} videoType={videoType} />
<VideoPlay ref={videoRef} videoType={videoType} controlslist={"noplaybackrate nodownload"}/>
</div>
</div>
</div>

2
src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/CarMgm/CarGroupMgm.jsx

@ -114,7 +114,7 @@ function CarGroupMgm({ id }) {
});
const [pageData, setPageData] = useState({
pn: 1,
page_size: 10,
page_size: 15,
total: 0,
});
const [currentId, setCurrentId] = useState("");

2
src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/GateControlManagement.jsx

@ -254,7 +254,6 @@ function GateControlManagement(props) {
useEffect(()=>{
getOptionData()
getOpenData(pageData)
},[])
@ -263,6 +262,7 @@ function GateControlManagement(props) {
<header style={{ margin: "10px 0" }}>
<Button type="primary" onClick={()=>{
setOpenVisible(true);
getOptionData();
openForm.setFieldsValue({
group_id:null,
option_id:null,

Loading…
Cancel
Save