Browse Source

feat():解决部分bug

tags/PMS_Frontend_v1.0.6-develop
janedididada 1 year ago
parent
commit
92eb0d0183
  1. 526
      src/pages/FinancialMgm/OrderInquiry/OrderChangeInquiry/index.jsx
  2. 4
      src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx
  3. 1049
      src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx
  4. 95
      src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.scss
  5. 9
      src/pages/FinancialMgm/PayConf/AppConf/index.scss
  6. 6
      src/pages/FinancialMgm/PayConf/PayMerchantConf/index.jsx
  7. 2
      src/pages/InRoadMgm/EquipmentMgm/NvrMgm/loadable.jsx
  8. 4
      src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx
  9. 2
      src/pages/InRoadMgm/RoadMgm/AddRoad/loadable.jsx
  10. 12
      src/pages/InRoadMgm/RoadMgm/ConfigRoad/loadable.jsx
  11. 3
      src/pages/OperationCenter/CarMgm/CarAuth/index.scss
  12. 5
      src/pages/OperationCenter/UserMgm/UserInfo/loadable.jsx
  13. 11
      src/pages/OutRoadMgm/OutDeviceMgm/OutNvrMgm/loadable.jsx
  14. 1
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx

526
src/pages/FinancialMgm/OrderInquiry/OrderChangeInquiry/index.jsx

@ -1,11 +1,21 @@
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import { ResultFlowResult } from "@/components"; import { ResultFlowResult } from "@/components";
import { Select, Input, Button, Table, message, Pagination, DatePicker, Modal, Tooltip } from "antd";
import {
Select,
Input,
Button,
Table,
message,
Pagination,
DatePicker,
Modal,
Tooltip,
} from "antd";
import { useSessionStorageState } from "ahooks"; import { useSessionStorageState } from "ahooks";
import { useNavigate } from "react-router-dom"; 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 moment from "moment"; import moment from "moment";
import "./index.scss"; import "./index.scss";
import ajax from "@/services"; import ajax from "@/services";
@ -22,15 +32,21 @@ function EditOrderInquiry(props) {
{ defaultValue: null } { defaultValue: null }
); );
const [detailVisible, setDetailVisible] = useState(false); const [detailVisible, setDetailVisible] = useState(false);
const [bigpicVisible, setBigpicVisible] = useState(false);//
const [bigpicVisible, setBigpicVisible] = useState(false); //
const [bigPic, setBigPic] = useState(); const [bigPic, setBigPic] = useState();
const [ycddData, setYcddData] = useState([])//
const [detailTable, setDetailTable] = useState([])
const [ycddData, setYcddData] = useState([]); //
const [detailTable, setDetailTable] = useState([]);
// //
const defaultData = { const defaultData = {
start_time: moment().subtract(7, "days").startOf("day").format("YYYY-MM-DD HH:mm:ss"),
start_time: moment()
.subtract(7, "days")
.startOf("day")
.format("YYYY-MM-DD HH:mm:ss"),
end_time: moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"), end_time: moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"),
deal_time_start: moment().subtract(7, "days").startOf("day").format("YYYY-MM-DD HH:mm:ss"),
deal_time_start: moment()
.subtract(7, "days")
.startOf("day")
.format("YYYY-MM-DD HH:mm:ss"),
deal_time_end: moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"), deal_time_end: moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"),
//app_name: "", // //app_name: "", //
//app_type: 0, // //app_type: 0, //
@ -59,27 +75,30 @@ function EditOrderInquiry(props) {
const [total, setTotal] = useState(false); const [total, setTotal] = useState(false);
const [detailTableData, setDetailTableData] = useState([]); const [detailTableData, setDetailTableData] = useState([]);
const [searchSelectList, setSearchSelectList] = useState([]); // const [searchSelectList, setSearchSelectList] = useState([]); //
const [sessionTabList, setSessionTabList] = useSessionStorageState('editOrderInquiry', {
value: {
const [sessionTabList, setSessionTabList] = useSessionStorageState(
"editOrderInquiry",
{
value: {},
} }
})
);
useEffect(() => { useEffect(() => {
if (sessionTabList && Object.values(sessionTabList).length > 0) { if (sessionTabList && Object.values(sessionTabList).length > 0) {
setFormData({ setFormData({
...formData, ...sessionTabList
})
...formData,
...sessionTabList,
});
getData({ getData({
...sessionTabList
})
...sessionTabList,
});
} else { } else {
getData()
getData();
} }
}, [isAjax])
}, [isAjax]);
useEffect(() => { useEffect(() => {
setSessionTabList({ setSessionTabList({
...formData
})
}, [formData])
...formData,
});
}, [formData]);
// useEffect(() => { // useEffect(() => {
// getSelectList(); // getSelectList();
// }, []); // }, []);
@ -111,12 +130,12 @@ function EditOrderInquiry(props) {
} }
setDefaultParams({ ...postData, ...pageInfo }); setDefaultParams({ ...postData, ...pageInfo });
setTabLoading(true); setTabLoading(true);
console.log(115, pageInfo, { ...postData, ...v, ...pageInfo })
console.log(115, pageInfo, { ...postData, ...v, ...pageInfo });
ajax.getOrderChangeList({ ...postData, ...v, ...pageInfo }).then( ajax.getOrderChangeList({ ...postData, ...v, ...pageInfo }).then(
(res) => { (res) => {
if (parseInt(res?.status) === 20000) { if (parseInt(res?.status) === 20000) {
setResultData(res?.data.list || []); setResultData(res?.data.list || []);
setTotal(res.data.total)
setTotal(res.data.total);
} else { } else {
message.error(res?.message); message.error(res?.message);
} }
@ -136,7 +155,7 @@ function EditOrderInquiry(props) {
(res) => { (res) => {
if (parseInt(res?.status) === 20000) { if (parseInt(res?.status) === 20000) {
setYcddData(res?.data || []); setYcddData(res?.data || []);
setDetailTable(res?.data?.order_update_detail)
setDetailTable(res?.data?.order_update_detail);
} else { } else {
message.error(res?.message); message.error(res?.message);
} }
@ -201,11 +220,17 @@ function EditOrderInquiry(props) {
width: 160, width: 160,
render: (text) => ( render: (text) => (
<> <>
<a onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") });
}}>{text}</a>
<a
onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => {
message.success("已复制到剪切板");
});
}}
>
{text}
</a>
</> </>
)
),
}, },
{ {
title: "业务订单类型", title: "业务订单类型",
@ -220,11 +245,17 @@ function EditOrderInquiry(props) {
width: 160, width: 160,
render: (text) => ( render: (text) => (
<> <>
<a onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") });
}}>{text}</a>
<a
onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => {
message.success("已复制到剪切板");
});
}}
>
{text}
</a>
</> </>
)
),
}, },
{ {
title: "订单金额(元)", title: "订单金额(元)",
@ -271,13 +302,18 @@ function EditOrderInquiry(props) {
title: "操作", title: "操作",
align: "center", align: "center",
width: 140, width: 140,
fixed: 'right',
fixed: "right",
render: (val, row, index) => { render: (val, row, index) => {
return ( return (
<span style={{
color: "#177ddc",
cursor: "pointer"
}} onClick={() => { handleView(row); }}>
<span
style={{
color: "#177ddc",
cursor: "pointer",
}}
onClick={() => {
handleView(row);
}}
>
查看 查看
</span> </span>
); );
@ -312,11 +348,17 @@ function EditOrderInquiry(props) {
align: "center", align: "center",
render: (text) => ( render: (text) => (
<> <>
<a onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") });
}}>{text}</a>
<a
onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => {
message.success("已复制到剪切板");
});
}}
>
{text}
</a>
</> </>
)
),
}, },
{ {
title: "抵扣修改金额", title: "抵扣修改金额",
@ -346,102 +388,194 @@ function EditOrderInquiry(props) {
]; ];
// //
const handleView = (row) => { const handleView = (row) => {
getDetailData({ deal_record_id: row.deal_record_id, park_record_id: row.park_record_id })
setDetailVisible(true)
getDetailData({
deal_record_id: row.deal_record_id,
park_record_id: row.park_record_id,
});
setDetailVisible(true);
}; };
// //
const tkddModal = <div className="ltc-box">
<div className="ltc-box-title"><div className="text">停车订单:{ycddData.park_record_id}</div><div className="line"></div></div>
<div className="ltc-box-title"><div className="text">车厂详情</div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">停车场名称</div><div className="new-value">{ycddData?.order_info?.parking_detail.road_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div><div className="new-value">{ycddData?.order_info?.parking_detail.region_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">商户名称</div><div className="new-value">{ycddData?.order_info?.parking_detail.operator_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">泊位号</div><div className="new-value">{ycddData?.order_info?.parking_detail.berth_id || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场类型</div><div className="new-value">{ycddData?.order_info?.parking_detail.parking_model_type_name || "--"}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">车辆详情</div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车牌号</div><div className="new-value">{ycddData?.order_info?.vehicle_detail.plate || "--"}</div>
const tkddModal = (
<div className="ltc-box">
<div className="ltc-box-title">
<div className="text">停车订单:{ycddData.park_record_id}</div>
<div className="line"></div>
</div> </div>
<div className="ltc-item">
<div className="new-item">停车时长</div><div className="new-value">{ycddData?.order_info?.vehicle_detail.parking_duration || "--"}</div>
<div className="ltc-box-title">
<div className="text">车厂详情</div>
</div> </div>
<div className="ltc-item">
<div className="new-item">入场时间</div><div className="new-value">{ycddData?.order_info?.vehicle_detail.in_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div><div className="new-value">{ycddData?.order_info?.vehicle_detail.out_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场记录来源</div><div className="new-value">{ycddData?.order_info?.vehicle_detail.in_source_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场记录来源</div><div className="new-value">{ycddData?.order_info?.vehicle_detail.out_source_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">证据图像</div><div className="new-value"><a onClick={() => { setBigpicVisible(true) }}>查看</a></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">停车场名称</div>
<div className="new-value">
{ycddData?.order_info?.parking_detail.road_name || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div>
<div className="new-value">
{ycddData?.order_info?.parking_detail.region_name || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">商户名称</div>
<div className="new-value">
{ycddData?.order_info?.parking_detail.operator_name || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">泊位号</div>
<div className="new-value">
{ycddData?.order_info?.parking_detail.berth_id || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">车场类型</div>
<div className="new-value">
{ycddData?.order_info?.parking_detail.parking_model_type_name ||
"--"}
</div>
</div>
</div> </div>
</div>
<div className="ltc-box-title"><div className="text">订单详情:{ycddData?.refund_id}</div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">应收金额</div><div className="new-value">{ycddData?.order_info?.order_detail.receivable_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠总计</div><div className="new-value">{ycddData?.order_info?.order_detail.preferential_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付总计</div><div className="new-value">{ycddData?.order_info?.order_detail.actual_amount || "--"}</div>
<div className="ltc-box-title">
<div className="text">车辆详情</div>
</div> </div>
<div className="ltc-item">
<div className="new-item">欠费总计</div><div className="new-value">{ycddData?.order_info?.order_detail.arrears_mount || "--"}</div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车牌号</div>
<div className="new-value">
{ycddData?.order_info?.vehicle_detail.plate || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">停车时长</div>
<div className="new-value">
{ycddData?.order_info?.vehicle_detail.parking_duration || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">入场时间</div>
<div className="new-value">
{ycddData?.order_info?.vehicle_detail.in_time || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div>
<div className="new-value">
{ycddData?.order_info?.vehicle_detail.out_time || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">入场记录来源</div>
<div className="new-value">
{ycddData?.order_info?.vehicle_detail.in_source_name || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">出场记录来源</div>
<div className="new-value">
{ycddData?.order_info?.vehicle_detail.out_source_name || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">证据图像</div>
<div className="new-value">
<a
onClick={() => {
setBigpicVisible(true);
}}
>
查看
</a>
</div>
</div>
</div> </div>
</div>
<div className="ltc-box-title"><div className="text">修改信息:{ycddData?.refund_id}</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">修改原因</div><div className="new-value">{ycddData?.update_info?.update_reason || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">欠费金额修改</div><div className="new-value">{ycddData?.update_info?.receivable_amount || "--"}</div>
<div className="ltc-box-title">
<div className="text">订单详情:{ycddData?.refund_id}</div>
</div> </div>
<div className="ltc-item">
<div className="new-item">修改金额</div><div className="new-value">{ycddData?.update_info?.receivable_amount_exception || "--"}</div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">应收金额</div>
<div className="new-value">
{ycddData?.order_info?.order_detail.receivable_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠总计</div>
<div className="new-value">
{ycddData?.order_info?.order_detail.preferential_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">实付总计</div>
<div className="new-value">
{ycddData?.order_info?.order_detail.actual_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">欠费总计</div>
<div className="new-value">
{ycddData?.order_info?.order_detail.arrears_mount || "--"}
</div>
</div>
</div> </div>
<div className="ltc-item">
<div className="new-item">优惠金额修改</div><div className="new-value">{ycddData?.update_info?.preferential_amount || "--"}</div>
<div className="ltc-box-title">
<div className="text">修改信息:{ycddData?.refund_id}</div>
<div className="line"></div>
</div> </div>
<div className="ltc-item">
<div className="new-item">退款方式</div><div className="new-value">{ycddData?.update_info?.refund_type_name || "--"}</div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">修改原因</div>
<div className="new-value">
{ycddData?.update_info?.update_reason || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">欠费金额修改</div>
<div className="new-value">
{ycddData?.update_info?.receivable_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">修改金额</div>
<div className="new-value">
{ycddData?.update_info?.receivable_amount_exception || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠金额修改</div>
<div className="new-value">
{ycddData?.update_info?.preferential_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">退款方式</div>
<div className="new-value">
{ycddData?.update_info?.refund_type_name || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">退款金额共计</div>
<div className="new-value">
{ycddData?.update_info?.actual_refund || "--"}
</div>
</div>
</div> </div>
<div className="ltc-item">
<div className="new-item">退款金额共计</div><div className="new-value">{ycddData?.update_info?.actual_refund || "--"}</div>
<div className="ltc-box-title">
<div className="text">订单修改明细</div>
<div className="line"></div>
</div> </div>
<Table
//rowSelection={rowSelection}
rowKey={"index"}
columns={detailColumns}
dataSource={detailTable || []}
pagination={false}
/>
</div> </div>
<div className="ltc-box-title"><div className="text">订单修改明细</div><div className="line"></div></div>
<Table
//rowSelection={rowSelection}
rowKey={'index'}
columns={detailColumns}
dataSource={detailTable || []}
pagination={false}
/>
</div>
);
// //
const handleExport = () => { const handleExport = () => {
if (resultData.list?.length > 0) { if (resultData.list?.length > 0) {
@ -531,50 +665,48 @@ function EditOrderInquiry(props) {
placeholder="请选择" placeholder="请选择"
options={[ options={[
{ {
value: '0',
label: '全部'
value: "0",
label: "全部",
}, },
{ {
value: '1',
label: '停车订单'
value: "1",
label: "停车订单",
}, },
{ {
value: '2',
label: '充电订单'
value: "2",
label: "充电订单",
}, },
{ {
value: '3',
label: '充值订单'
value: "3",
label: "充值订单",
}, },
{ {
value: '4',
label: '停车卡订单'
value: "4",
label: "停车卡订单",
}, },
{ {
value: '5',
label: '充电预约订单'
value: "5",
label: "充电预约订单",
}, },
{ {
value: '6',
label: '停车预约订单'
value: "6",
label: "停车预约订单",
}, },
{ {
value: '7',
label: '错峰订单'
value: "7",
label: "错峰订单",
}, },
{ {
value: '8',
label: '预付费订单'
value: "8",
label: "预付费订单",
}, },
{ {
value: '9',
label: '商家预付费订单'
value: "9",
label: "商家预付费订单",
}, },
]} ]}
value={formData.parking_type} value={formData.parking_type}
onChange={(v) =>
setFormData({ ...formData, parking_type: v })
}
onChange={(v) => setFormData({ ...formData, parking_type: v })}
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
@ -594,20 +726,31 @@ function EditOrderInquiry(props) {
className="form-con" className="form-con"
showTime showTime
allowClear={false} allowClear={false}
value={formData.start_time ? moment(formData.start_time) : undefined}
onChange={(date, dateString) => setFormData({ ...formData, start_time: dateString })}
value={
formData.start_time ? moment(formData.start_time) : undefined
}
onChange={(date, dateString) =>
setFormData({ ...formData, start_time: dateString })
}
disabledDate={(current) => current > moment(formData.end_time)} disabledDate={(current) => current > moment(formData.end_time)}
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<label></label> <label></label>
<DatePicker <DatePicker
className="form-con" className="form-con"
showTime showTime
allowClear={false} allowClear={false}
value={formData.end_time ? moment(formData.end_time) : undefined}
onChange={(date, dateString) => setFormData({ ...formData, end_time: dateString })}
disabledDate={(current) => current < moment(formData.start_time)}
value={
formData.end_time ? moment(formData.end_time) : undefined
}
onChange={(date, dateString) =>
setFormData({ ...formData, end_time: dateString })
}
disabledDate={(current) =>
current < moment(formData.start_time)
}
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
@ -616,9 +759,17 @@ function EditOrderInquiry(props) {
className="form-con" className="form-con"
showTime showTime
allowClear={false} allowClear={false}
value={formData.deal_time_start ? moment(formData.deal_time_start) : undefined}
onChange={(date, dateString) => setFormData({ ...formData, deal_time_start: dateString })}
disabledDate={(current) => current > moment(formData.deal_time_end)}
value={
formData.deal_time_start
? moment(formData.deal_time_start)
: undefined
}
onChange={(date, dateString) =>
setFormData({ ...formData, deal_time_start: dateString })
}
disabledDate={(current) =>
current > moment(formData.deal_time_end)
}
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
@ -627,9 +778,17 @@ function EditOrderInquiry(props) {
className="form-con" className="form-con"
showTime showTime
allowClear={false} allowClear={false}
value={formData.deal_time_end ? moment(formData.deal_time_end) : undefined}
onChange={(date, dateString) => setFormData({ ...formData, deal_time_end: dateString })}
disabledDate={(current) => current < moment(formData.deal_time_start)}
value={
formData.deal_time_end
? moment(formData.deal_time_end)
: undefined
}
onChange={(date, dateString) =>
setFormData({ ...formData, deal_time_end: dateString })
}
disabledDate={(current) =>
current < moment(formData.deal_time_start)
}
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
@ -652,9 +811,7 @@ function EditOrderInquiry(props) {
}, },
]} ]}
value={formData.status_id} value={formData.status_id}
onChange={(v) =>
setFormData({ ...formData, status_id: v })
}
onChange={(v) => setFormData({ ...formData, status_id: v })}
/> />
</div> </div>
<div className="form-btn"> <div className="form-btn">
@ -709,23 +866,27 @@ function EditOrderInquiry(props) {
<Modal <Modal
open={detailVisible} open={detailVisible}
width={1500} width={1500}
title={'修改详情'}
title={"修改详情"}
onCancel={() => { onCancel={() => {
setDetailVisible(false); setDetailVisible(false);
}} }}
footer={[ footer={[
<Button key="back" onClick={() => {
setDetailVisible(false);
}}>
<Button
key="back"
onClick={() => {
setDetailVisible(false);
}}
>
关闭窗口 关闭窗口
</Button>]}
</Button>,
]}
> >
{tkddModal} {tkddModal}
</Modal> </Modal>
<Modal <Modal
open={bigpicVisible} open={bigpicVisible}
width={1600} width={1600}
title={'图片展示'}
title={"图片展示"}
className="eae-modal" className="eae-modal"
onCancel={() => { onCancel={() => {
setBigpicVisible(false); setBigpicVisible(false);
@ -733,22 +894,49 @@ function EditOrderInquiry(props) {
footer={false} footer={false}
> >
<div className="ltc-box"> <div className="ltc-box">
<div className="ltc-box-title"><div className="text">入场照片</div><div className="line"></div></div>
<div className="ltc-box-title">
<div className="text">入场照片</div>
<div className="line"></div>
</div>
<div className="ltc-content"> <div className="ltc-content">
<div className="ltc-item ltc-item-img "> <div className="ltc-item ltc-item-img ">
<img src={ycddData?.order_info?.vehicle_detail.admissionPic || require("../../../../../src/assets/images/error-img.png")} />
<img
src={
ycddData?.order_info?.vehicle_detail.admissionPic ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div> </div>
<div className="ltc-item ltc-item-img "> <div className="ltc-item ltc-item-img ">
<img src={ycddData?.order_info?.vehicle_detail.admissionPicPlate || require("../../../../../src/assets/images/error-img.png")} />
<img
src={
ycddData?.order_info?.vehicle_detail
.admissionPicPlate ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div> </div>
</div> </div>
<div className="ltc-box-title"><div className="text">出场照片</div><div className="line"></div></div>
<div className="ltc-box-title">
<div className="text">出场照片</div>
<div className="line"></div>
</div>
<div className="ltc-content"> <div className="ltc-content">
<div className="ltc-item ltc-item-img "> <div className="ltc-item ltc-item-img ">
<img src={ycddData?.order_info?.vehicle_detail.exitionPic || require("../../../../../src/assets/images/error-img.png")} />
<img
src={
ycddData?.order_info?.vehicle_detail.exitionPic ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div> </div>
<div className="ltc-item ltc-item-img "> <div className="ltc-item ltc-item-img ">
<img src={ycddData?.order_info?.vehicle_detail.exitionPicPlate || require("../../../../../src/assets/images/error-img.png")} />
<img
src={
ycddData?.order_info?.vehicle_detail.exitionPicPlate ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div> </div>
</div> </div>
</div> </div>

4
src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx

@ -301,14 +301,14 @@ function ParkingOrderInquiry(props) {
type: "Select", type: "Select",
label: "支付渠道", label: "支付渠道",
placeholder: "请选择支付渠道", placeholder: "请选择支付渠道",
options: dictionary.PayChannel,
options: sysConfig.payment,
}, },
{//11 {//11
name: "payment_equipment", name: "payment_equipment",
type: "Select", type: "Select",
label: "支付设备", label: "支付设备",
placeholder: "请选择支付设备", placeholder: "请选择支付设备",
options: dictionary.PayDevice
options: sysConfig.Equipment
}, },
{//12 {//12
name: "pay_type", name: "pay_type",

1049
src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx
File diff suppressed because it is too large
View File

95
src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.scss

@ -301,6 +301,101 @@ $color-primary: var(--color-primary);
display: inline-block; display: inline-block;
font-size: 16px; font-size: 16px;
} }
.ltc-box {
width: 100%;
.ltc-box-title {
font-size: 18px;
font-weight: bolder;
width: 100%;
white-space: nowrap;
overflow: hidden;
.text {
display: inline-block;
}
.line {
display: inline-block;
border: 1px dotted #607092;
width: inherit;
margin-bottom: 6px;
}
.ltc-icon {
width: 5px;
background: #0080db;
height: 19px;
display: inline-block;
margin-right: 10px;
}
.ltc-btn {
display: inline-block;
border: 1px solid;
border-radius: 5px;
margin: 0 10px;
width: 60px;
height: 35px;
line-height: 35px;
text-align: center;
background: #409eff;
color: #fff;
font-weight: 100;
cursor: pointer;
}
.ltc-cancel {
background: #fff;
color: #000;
}
}
.ltc-box-line {
border: 1px solid #e7e7e7;
margin: 8px 0;
}
.ltc-box-in {
margin-left: 20px;
.ant-descriptions {
margin-left: 20px;
}
}
.ltc-title {
margin: auto;
width: 50%;
text-align: center;
font-size: 18px;
font-weight: 600;
}
.ltc-content {
margin: auto;
padding: 20px;
.ltc-item {
font-size: 14px;
margin: 6px 12px 6px 0;
display: inline-flex;
//width: 470px;
.new-item {
display: inline-block;
width: 120px;
height: 32px;
line-height: 32px;
background: rgba(150,161,192,0.24);
text-align: center;
}
.new-value {
display: inline-block;
width: 320px;
height: 32px;
line-height: 32px;
text-align: center;
background: #3E4557;
box-shadow: 0px 3px 8px 0px rgba(0,0,0,0.12);
}
.ltc-item-input {
display: inline-block;
width: 200px;
}
div {
width: 150px;
}
}
}
}
} }
.cc-container { .cc-container {
overflow: auto; overflow: auto;

9
src/pages/FinancialMgm/PayConf/AppConf/index.scss

@ -208,4 +208,13 @@ $color-primary : var(--color-primary);
margin-left: 20px; margin-left: 20px;
} }
} }
.form-container{
.ant-form-item{
.ant-form-item-label{
label{
line-height: 32px;
}
}
}
}
} }

6
src/pages/FinancialMgm/PayConf/PayMerchantConf/index.jsx

@ -328,6 +328,7 @@ function MerchantConfiguration(props) {
// //
const onFinish = (values) => { const onFinish = (values) => {
console.log(values);
ajax[values?.id ? "getPaymentMerchantEdit" : "getPaymentMerchantAdd"]({ ajax[values?.id ? "getPaymentMerchantEdit" : "getPaymentMerchantAdd"]({
...values, ...values,
}).then( }).then(
@ -485,7 +486,7 @@ function MerchantConfiguration(props) {
type: "select", type: "select",
label: "服务窗", label: "服务窗",
name: "service_window", name: "service_window",
value: rowData?.service_window_name,
value: rowData?.service_window,
options: platformToAppData?.service_window || [], options: platformToAppData?.service_window || [],
required: false, required: false,
allowClear: true, allowClear: true,
@ -494,7 +495,7 @@ function MerchantConfiguration(props) {
type: "select", type: "select",
label: "APP-支付宝", label: "APP-支付宝",
name: "alipay_app", name: "alipay_app",
value: rowData?.alipay_app_name,
value: rowData?.alipay_app,
options: platformToAppData?.alipay_app || [], options: platformToAppData?.alipay_app || [],
required: false, required: false,
allowClear: true, allowClear: true,
@ -615,7 +616,6 @@ function MerchantConfiguration(props) {
return null; return null;
} }
}; };
return ( return (
<> <>
<div className="merchant-configuration"> <div className="merchant-configuration">

2
src/pages/InRoadMgm/EquipmentMgm/NvrMgm/loadable.jsx

@ -56,7 +56,7 @@ function Fence(props) {
address: "", address: "",
device_name: "", device_name: "",
road_name: "", // road_name: "", //
operator: -1, //
operator: "0", //
export: false, export: false,
road_id: "", // road_id: "", //
pn: 1, pn: 1,

4
src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx

@ -727,6 +727,10 @@ function DisabledCarParkRecordTotal() {
onCancel={() => { onCancel={() => {
setCardVisible(false); setCardVisible(false);
}} }}
onOk={()=>{
setCardVisible(false);
}}
> >
<div> <div>
<img src={cjPic} width={750} /> <img src={cjPic} width={750} />

2
src/pages/InRoadMgm/RoadMgm/AddRoad/loadable.jsx

@ -148,7 +148,7 @@ function AddRoad() {
function getAreaArr(data, id, path = []) { function getAreaArr(data, id, path = []) {
console.log(data); console.log(data);
for (const item of data) { for (const item of data) {
if (item.id === id) {
if (item.id == id) {
path.push(item.id); path.push(item.id);
return path; return path;
} }

12
src/pages/InRoadMgm/RoadMgm/ConfigRoad/loadable.jsx

@ -856,8 +856,9 @@ function ConfigRoad() {
}, },
}; };
//form //form
const formRef = React.createRef();
console.log(showBerthSelect);
// const formRef = React.createRef();
const formRef=useRef()
// //
const tollCollector = { const tollCollector = {
form: [ form: [
@ -1180,6 +1181,7 @@ function ConfigRoad() {
.then((res) => { .then((res) => {
if (res.status === 20000) { if (res.status === 20000) {
message.success(res.message); message.success(res.message);
formRef.current.getList();
} else { } else {
message.error(res.message); message.error(res.message);
} }
@ -1187,6 +1189,7 @@ function ConfigRoad() {
.catch((err) => console.error(err)); .catch((err) => console.error(err));
} }
function getRoadTollList() { function getRoadTollList() {
ajax ajax
.getRoadTollList({ road_id: parking_id }) .getRoadTollList({ road_id: parking_id })
@ -2011,6 +2014,7 @@ function ConfigRoad() {
targetKeys={hasSelectTollList} targetKeys={hasSelectTollList}
onChange={(nexTargetKeys) => { onChange={(nexTargetKeys) => {
setHasSelectTollList(nexTargetKeys); setHasSelectTollList(nexTargetKeys);
console.log(nexTargetKeys);
}} }}
render={(item) => item.label} render={(item) => item.label}
/> />
@ -2494,8 +2498,8 @@ const SearchPart = forwardRef((props, ref) => {
getList(); getList();
} }
useImperativeHandle(ref, () => { useImperativeHandle(ref, () => {
return { getList };
});
return { getList:getList };
},[]);
useEffect(() => { useEffect(() => {
getList(); getList();

3
src/pages/OperationCenter/CarMgm/CarAuth/index.scss

@ -134,6 +134,9 @@ $color-primary : var(--color-primary);
text-align: center; text-align: center;
} }
.new-value { .new-value {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
display: inline-block; display: inline-block;
width: 320px; width: 320px;
height: 32px; height: 32px;

5
src/pages/OperationCenter/UserMgm/UserInfo/loadable.jsx

@ -606,6 +606,8 @@ function UserInfo() {
const [bigPic, setBigPic] = useState(); const [bigPic, setBigPic] = useState();
const [total, setTotal] = useState(0); const [total, setTotal] = useState(0);
const [tabKey, setTabKey] = useState("1"); const [tabKey, setTabKey] = useState("1");
//tab
const [actkey,setactKey]=useState("1")
function openModal(params) { function openModal(params) {
setDetailVisible(true); setDetailVisible(true);
} }
@ -1218,10 +1220,11 @@ function UserInfo() {
width={1500} width={1500}
onCancel={() => { onCancel={() => {
setDetailVisible(false); setDetailVisible(false);
setactKey("1")
}} }}
footer={null} footer={null}
> >
<Tabs >
<Tabs activeKey={actkey} onChange={(v)=>{setactKey(v)}}>
<Tabs.TabPane tab="停车记录信息" key="1"> <Tabs.TabPane tab="停车记录信息" key="1">
{/* {renderParkRecord(detailData)} */} {/* {renderParkRecord(detailData)} */}
{renderParkRecord(ycddData)} {renderParkRecord(ycddData)}

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

@ -394,7 +394,16 @@ function OutNvrMgm(props) {
// //
const onFinish = (values) => { const onFinish = (values) => {
// console.log(values);
let pattern = /^([0-9]{1,3}\.){3}[0-9]{1,3}$/;
let duankou=/^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/;
if(!pattern.test(values.ip_address)){
message.warning("请输入合理格式的ip地址")
return false
}else if(!duankou.test(values.port)){
message.warning("请输入合适的端口号")
return false
}
console.log(values);
ajax[values?.id ? "doEditOutNvr" : "doAddOutNvr"](values).then( ajax[values?.id ? "doEditOutNvr" : "doAddOutNvr"](values).then(
(res) => { (res) => {
if (res?.status == 20000) { if (res?.status == 20000) {

1
src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx

@ -82,6 +82,7 @@ function OutSegment() {
dataIndex: "area_name", dataIndex: "area_name",
key: "area_name", key: "area_name",
align: "center", align: "center",
render: (text, record, index) => <div style={{ width: '90px' }}>{text}</div>
}, },
{ {
title: "车位数", title: "车位数",

Loading…
Cancel
Save