Browse Source

feat():解决部分bug

tags/PMS_Frontend_v1.0.6-develop
janedididada 1 year ago
parent
commit
92eb0d0183
  1. 426
      src/pages/FinancialMgm/OrderInquiry/OrderChangeInquiry/index.jsx
  2. 4
      src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx
  3. 473
      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

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

@ -1,11 +1,21 @@
import React, { useState, useEffect } from "react";
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 { useNavigate } from "react-router-dom";
import { setTabList } from "@/store/common.js";
import { useSelector, useDispatch } from "react-redux";
import { QuestionCircleFilled } from "@ant-design/icons"
import { QuestionCircleFilled } from "@ant-design/icons";
import moment from "moment";
import "./index.scss";
import ajax from "@/services";
@ -22,15 +32,21 @@ function EditOrderInquiry(props) {
{ defaultValue: null }
);
const [detailVisible, setDetailVisible] = useState(false);
const [bigpicVisible, setBigpicVisible] = useState(false);//
const [bigpicVisible, setBigpicVisible] = useState(false); //
const [bigPic, setBigPic] = useState();
const [ycddData, setYcddData] = useState([])//
const [detailTable, setDetailTable] = useState([])
const [ycddData, setYcddData] = useState([]); //
const [detailTable, setDetailTable] = useState([]);
//
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"),
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"),
//app_name: "", //
//app_type: 0, //
@ -59,27 +75,30 @@ function EditOrderInquiry(props) {
const [total, setTotal] = useState(false);
const [detailTableData, setDetailTableData] = useState([]);
const [searchSelectList, setSearchSelectList] = useState([]); //
const [sessionTabList, setSessionTabList] = useSessionStorageState('editOrderInquiry', {
value: {
const [sessionTabList, setSessionTabList] = useSessionStorageState(
"editOrderInquiry",
{
value: {},
}
})
);
useEffect(() => {
if (sessionTabList && Object.values(sessionTabList).length > 0) {
setFormData({
...formData, ...sessionTabList
})
...formData,
...sessionTabList,
});
getData({
...sessionTabList
})
...sessionTabList,
});
} else {
getData()
getData();
}
}, [isAjax])
}, [isAjax]);
useEffect(() => {
setSessionTabList({
...formData
})
}, [formData])
...formData,
});
}, [formData]);
// useEffect(() => {
// getSelectList();
// }, []);
@ -111,12 +130,12 @@ function EditOrderInquiry(props) {
}
setDefaultParams({ ...postData, ...pageInfo });
setTabLoading(true);
console.log(115, pageInfo, { ...postData, ...v, ...pageInfo })
console.log(115, pageInfo, { ...postData, ...v, ...pageInfo });
ajax.getOrderChangeList({ ...postData, ...v, ...pageInfo }).then(
(res) => {
if (parseInt(res?.status) === 20000) {
setResultData(res?.data.list || []);
setTotal(res.data.total)
setTotal(res.data.total);
} else {
message.error(res?.message);
}
@ -136,7 +155,7 @@ function EditOrderInquiry(props) {
(res) => {
if (parseInt(res?.status) === 20000) {
setYcddData(res?.data || []);
setDetailTable(res?.data?.order_update_detail)
setDetailTable(res?.data?.order_update_detail);
} else {
message.error(res?.message);
}
@ -201,11 +220,17 @@ function EditOrderInquiry(props) {
width: 160,
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: "业务订单类型",
@ -220,11 +245,17 @@ function EditOrderInquiry(props) {
width: 160,
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: "订单金额(元)",
@ -271,13 +302,18 @@ function EditOrderInquiry(props) {
title: "操作",
align: "center",
width: 140,
fixed: 'right',
fixed: "right",
render: (val, row, index) => {
return (
<span style={{
<span
style={{
color: "#177ddc",
cursor: "pointer"
}} onClick={() => { handleView(row); }}>
cursor: "pointer",
}}
onClick={() => {
handleView(row);
}}
>
查看
</span>
);
@ -312,11 +348,17 @@ function EditOrderInquiry(props) {
align: "center",
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: "抵扣修改金额",
@ -346,102 +388,194 @@ function EditOrderInquiry(props) {
];
//
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>
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 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 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 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 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 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-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>
<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 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 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 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 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 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="new-item">证据图像</div>
<div className="new-value">
<a
onClick={() => {
setBigpicVisible(true);
}}
>
查看
</a>
</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">订单详情:{ycddData?.refund_id}</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 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 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="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 className="new-item">欠费总计</div>
<div className="new-value">
{ycddData?.order_info?.order_detail.arrears_mount || "--"}
</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">修改信息:{ycddData?.refund_id}</div><div className="line"></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 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="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 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 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 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 className="new-item">退款金额共计</div>
<div className="new-value">
{ycddData?.update_info?.actual_refund || "--"}
</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>
<Table
//rowSelection={rowSelection}
rowKey={'index'}
rowKey={"index"}
columns={detailColumns}
dataSource={detailTable || []}
pagination={false}
/>
</div>
);
//
const handleExport = () => {
if (resultData.list?.length > 0) {
@ -531,50 +665,48 @@ function EditOrderInquiry(props) {
placeholder="请选择"
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}
onChange={(v) =>
setFormData({ ...formData, parking_type: v })
}
onChange={(v) => setFormData({ ...formData, parking_type: v })}
/>
</div>
<div className="yisa-search">
@ -594,20 +726,31 @@ function EditOrderInquiry(props) {
className="form-con"
showTime
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)}
/>
</div>
<div className="yisa-search">
<label></label>
<DatePicker
className="form-con"
showTime
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 className="yisa-search">
@ -616,9 +759,17 @@ function EditOrderInquiry(props) {
className="form-con"
showTime
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 className="yisa-search">
@ -627,9 +778,17 @@ function EditOrderInquiry(props) {
className="form-con"
showTime
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 className="yisa-search">
@ -652,9 +811,7 @@ function EditOrderInquiry(props) {
},
]}
value={formData.status_id}
onChange={(v) =>
setFormData({ ...formData, status_id: v })
}
onChange={(v) => setFormData({ ...formData, status_id: v })}
/>
</div>
<div className="form-btn">
@ -709,23 +866,27 @@ function EditOrderInquiry(props) {
<Modal
open={detailVisible}
width={1500}
title={'修改详情'}
title={"修改详情"}
onCancel={() => {
setDetailVisible(false);
}}
footer={[
<Button key="back" onClick={() => {
<Button
key="back"
onClick={() => {
setDetailVisible(false);
}}>
}}
>
关闭窗口
</Button>]}
</Button>,
]}
>
{tkddModal}
</Modal>
<Modal
open={bigpicVisible}
width={1600}
title={'图片展示'}
title={"图片展示"}
className="eae-modal"
onCancel={() => {
setBigpicVisible(false);
@ -733,22 +894,49 @@ function EditOrderInquiry(props) {
footer={false}
>
<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-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 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 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-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 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>

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

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

473
src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx

@ -10,79 +10,100 @@ import {
Select,
Tabs,
Descriptions,
Timeline
Timeline,
} from "antd";
import moment from "moment";
import ajax from '@/config/ajax.js'
import ajax from "@/config/ajax.js";
import { TableModule } from "@/components";
import { dictionary } from "@/config/common.js";
import "./index.scss";
function ReturnOrderInquiry() {
const [memberId, setMemberId] = useState()
const [memberId, setMemberId] = useState();
//
const createCol = (label, name, type) => {
label.length == name.length ? null : console.log('参数缺失', name, label.length, name.length)
var arr = []
label.length == name.length
? null
: console.log("参数缺失", name, label.length, name.length);
var arr = [];
label?.map((item, index) => {
let cm = {
title: item,
dataIndex: name[index],
key: name[index],
align: "center",
}
};
switch (item) {
case "序号":
cm.render = (text, record, index) => index + 1
break
cm.render = (text, record, index) => index + 1;
break;
case "退款订单ID":
case "业务订单ID":
case "支付订单ID":
cm.render = (text) => (
<>
<a onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") });
}}>{text}</a>
<a
onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => {
message.success("已复制到剪切板");
});
}}
>
{text}
</a>
</>
)
break
default: break
);
break;
default:
break;
}
arr.push(cm)
})
arr.push(cm);
});
var obj = {
title: "操作",
dataIndex: "operation",
key: "operation",
fixed: "right",
align: "center",
}
};
switch (type) {
case 8:
obj.render = (text, record) => {
return <>
{record.state_name == "退款失败" || record.state_name == "处理中" || record.state_name == "退款中" ?
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
refundre(record)
return (
<>
{record.state_name == "退款失败" ||
record.state_name == "处理中" ||
record.state_name == "退款中" ? (
<span
type="primary"
style={{ display: "block", textAlign: "center" }}
onClick={() => {
refundre(record);
// setTkddVisible(true)
}}>
}}
>
<a>重试</a>
</span>
: null}
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
refundSearch(record)
setTkddVisible(true)
}}>
) : null}
<span
type="primary"
style={{ display: "block", textAlign: "center" }}
onClick={() => {
refundSearch(record);
setTkddVisible(true);
}}
>
<a>详情</a>
</span>
</>
);
};
arr.push(obj);
break;
default:
break;
}
arr.push(obj)
break
default: break
}
return arr
}
return arr;
};
//退
const formRefundSearch = [
{
@ -95,47 +116,47 @@ function ReturnOrderInquiry() {
name: "type",
type: "Select",
label: "业务订单类型",
defaultValue:'0',
defaultValue: "0",
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: "商家预付费订单",
},
],
},
@ -177,13 +198,13 @@ function ReturnOrderInquiry() {
value: 4,
},
],
defaultValue:0,
defaultValue: 0,
},
{
name: "reason",
type: "Select",
label: "退款原因",
defaultValue:0,
defaultValue: 0,
options: [
{
label: "全部",
@ -217,42 +238,47 @@ function ReturnOrderInquiry() {
name: "timePeriod",
type: "RangePicker",
label: "时间段",
defaultTitle: ['退款时间', '至'],
defaultTitle: ["退款时间", "至"],
defaultValue: [moment().subtract(1, "month"), moment()],
},
];
const [resultData, setResultData] = useState([])
const [ycddData, setYcddData] = useState([])//
const [resultData, setResultData] = useState([]);
const [ycddData, setYcddData] = useState([]); //
const [detailVisible, setDetailVisible] = useState(false);
const [timesVisible, setTimesVisible] = useState(false); //退
const [tkddVisible, setTkddVisible] = useState(false);
const [eaeVisible, setEaeVisible] = useState(false);//
const [bigpicVisible, setBigpicVisible] = useState(false);//
const [eaeVisible, setEaeVisible] = useState(false); //
const [bigpicVisible, setBigpicVisible] = useState(false); //
const [bigPic, setBigPic] = useState();
const [total, setTotal] = useState(0);
//
function search(e) {
var url = "/api/ope/record/get_refund_orders"//退
var url = "/api/ope/record/get_refund_orders"; //退
ajax({
url: url,
type: "post",
data: { ...e, memberId: memberId, startTime: e?.start_time, endTime: e?.end_time },
data: {
...e,
memberId: memberId,
startTime: e?.start_time,
endTime: e?.end_time,
},
}).then((res) => {
let { status, data, total } = res
let { status, data, total } = res;
if (status == 20000) {
if (data.list) {
setResultData(data.list)
setTotal(data.total)
setResultData(data.list);
setTotal(data.total);
} else {
setResultData(data)
setTotal(total)
setResultData(data);
setTotal(total);
}
} else {
setResultData([])
message.error(res.message)
setResultData([]);
message.error(res.message);
}
})
});
}
//退
function refundSearch(e) {
@ -261,14 +287,14 @@ function ReturnOrderInquiry() {
type: "get",
data: { id: e.id },
}).then((res) => {
let { status, data } = res
let { status, data } = res;
if (status == 20000) {
//setResultData(data)
setYcddData(data)
setYcddData(data);
} else {
message.error(res.message)
message.error(res.message);
}
})
});
}
//退
function refundre(e) {
@ -277,13 +303,13 @@ function ReturnOrderInquiry() {
type: "post",
data: { refund_id: e.id },
}).then((res) => {
let { status } = res
let { status } = res;
if (status == 20000) {
message.success(res.message)
message.success(res.message);
} else {
message.error(res.message)
message.error(res.message);
}
})
});
}
//
function renderTable(columns, arr, dataSource, exportUrl) {
@ -294,54 +320,95 @@ function ReturnOrderInquiry() {
formSearch={arr}
total={total}
search={search}
pageName={'returnOrderInquiry'}
pageName={"returnOrderInquiry"}
exportUrl={exportUrl}
rowKey={'id'}
rowKey={"id"}
/>
);
}
//退
const tkddModal = <div className="ltc-box">
<div className="ltc-box-title"><div className="text">退款订单:{ycddData?.refund_id}</div><div className="line"></div></div>
const tkddModal = (
<div className="ltc-box">
<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?.refund_time || "--"}</div>
<div className="new-item">生成时间</div>
<div className="new-value">{ycddData?.refund_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款状态</div><div className="new-value">{ycddData.refund_state || "--"}</div>
<div className="new-item">退款状态</div>
<div className="new-value">{ycddData.refund_state || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_channels || "--"}</div>
<div className="new-item">支付渠道</div>
<div className="new-value">{ycddData.payment_channels || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款方式</div><div className="new-value">{ycddData.refund_type || "--"}</div>
<div className="new-item">退款方式</div>
<div className="new-value">{ycddData.refund_type || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应退实付金额</div><div className="new-value">{ycddData.refund_actual_amount || "--"}</div>
<div className="new-item">应退实付金额</div>
<div className="new-value">
{ycddData.refund_actual_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">已退实付金额</div><div className="new-value">{ycddData.has_refund_actual_amount || "--"}</div>
<div className="new-item">已退实付金额</div>
<div className="new-value">
{ycddData.has_refund_actual_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">应退优惠金额</div><div className="new-value">{ycddData.refund_discount_amount || "--"}</div>
<div className="new-item">应退优惠金额</div>
<div className="new-value">
{ycddData.refund_discount_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">已退优惠金额</div><div className="new-value">{ycddData.has_refund_discount_amount || "--"}</div>
<div className="new-item">已退优惠金额</div>
<div className="new-value">
{ycddData.has_refund_discount_amount || "--"}
</div>
</div>
<div className="ltc-item">
<div className="new-item">退款尝试次数</div><div className="new-value">{ycddData.try_count || "--"}
{timesVisible ?
<a onClick={() => { setTimesVisible(false) }}>收起</a> :
<a onClick={() => { setTimesVisible(true) }}>查看</a>}
<div className="new-item">退款尝试次数</div>
<div className="new-value">
{ycddData.try_count || "--"}
{timesVisible ? (
<a
onClick={() => {
setTimesVisible(false);
}}
>
收起
</a>
) : (
<a
onClick={() => {
setTimesVisible(true);
}}
>
查看
</a>
)}
</div>
</div>
<div className="ltc-item">
<div className="new-item">最近尝试时间</div><div className="new-value">{ycddData.latest_try_time || "--"}</div>
<div className="new-item">最近尝试时间</div>
<div className="new-value">{ycddData.latest_try_time || "--"}</div>
</div>
</div>
{timesVisible ? (
<>
<div className="ltc-box-title">
<div className="text">退款尝试详情</div>
<div className="line"></div>
</div>
{timesVisible ? <>
<div className="ltc-box-title"><div className="text">退款尝试详情</div><div className="line"></div></div>
{/* <Table
columns={formRefundColumns}
dataSource={ycddData.try_list}
@ -350,93 +417,168 @@ function ReturnOrderInquiry() {
pagination={false}
rowKey={(record) => record.id}
/> */}
</> :
</>
) : (
<>
<div className="ltc-box-title"><div className="text">支付订单:{ycddData.order_id}</div><div className="line"></div></div>
<div className="ltc-box-title">
<div className="text">支付订单:{ycddData.order_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.payment_operator_name}</div>
<div className="new-item">平台商户</div>
<div className="new-value">{ycddData.payment_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">生成时间</div><div className="new-value">{ycddData.payment_create_time}</div>
<div className="new-item">生成时间</div>
<div className="new-value">{ycddData.payment_create_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付时间</div><div className="new-value">{ycddData.pay_time}</div>
<div className="new-item">支付时间</div>
<div className="new-value">{ycddData.pay_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_equipment}</div>
<div className="new-item">支付渠道</div>
<div className="new-value">{ycddData.payment_channels}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠金额</div><div className="new-value">{ycddData.discount_amount}</div>
<div className="new-item">优惠金额</div>
<div className="new-value">{ycddData.discount_amount}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付应用</div><div className="new-value">{ycddData.payment_equipment}</div>
<div className="new-item">支付应用</div>
<div className="new-value">{ycddData.payment_equipment}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付金额</div><div className="new-value">{ycddData.paid_in_money}</div>
<div className="new-item">实付金额</div>
<div className="new-value">{ycddData.paid_in_money}</div>
</div>
</div>
<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-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.payment_operator_name}</div>
<div className="new-item">平台商户</div>
<div className="new-value">{ycddData.payment_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车场名称</div><div className="new-value">{ycddData?.road_name}</div>
<div className="new-item">停车场名称</div>
<div className="new-value">{ycddData?.road_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div><div className="new-value">{ycddData.area_name}</div>
<div className="new-item">区域</div>
<div className="new-value">{ycddData.area_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">商户名称</div><div className="new-value">{ycddData.park_operator_name}</div>
{/* <div className="ltc-item">
<div className="new-item">商户名称</div>
<div className="new-value">{ycddData.park_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">泊位号</div><div className="new-value">{ycddData.berth_code}</div>
</div>
<div className="new-item">泊位号</div>
<div className="new-value">{ycddData.berth_code}</div>
</div> */}
<div className="ltc-item">
<div className="new-item">车场类型</div><div className="new-value">{ycddData.road_type}</div>
<div className="new-item">车场类型</div>
<div className="new-value">{ycddData.road_type}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">车辆详情</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.plate_number}</div>
<div className="new-item">车牌号</div>
<div className="new-value">{ycddData.plate_number}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车时长</div><div className="new-value">{ycddData.parking_duration}</div>
<div className="new-item">停车时长</div>
<div className="new-value">{ycddData.parking_duration}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场时间</div><div className="new-value">{ycddData.in_time}</div>
<div className="new-item">入场时间</div>
<div className="new-value">{ycddData.in_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div><div className="new-value">{ycddData.out_time}</div>
<div className="new-item">出场时间</div>
<div className="new-value">{ycddData.out_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场记录来源</div><div className="new-value">{ycddData.inSource}</div>
<div className="new-item">入场记录来源</div>
<div className="new-value">{ycddData.inSource}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场记录来源</div><div className="new-value">{ycddData.outSource}</div>
<div className="new-item">出场记录来源</div>
<div className="new-value">{ycddData.outSource}</div>
</div>
<div className="ltc-item">
<div className="new-item">证据图像</div><div className="new-value"><a onClick={() => { setEaeVisible(true) }}>查看</a></div>
<div className="new-item">证据图像</div>
<div className="new-value">
<a
onClick={() => {
setEaeVisible(true);
}}
>
查看
</a>
</div>
</div>
</>}
</div>
</>
)}
</div>
);
return (
<>
{renderTable(
createCol(['序号', '最近尝试时间', '支付渠道', '应退实付(元)', '应退优惠(元)', '退款原因', '退款申请时间', '退款订单ID', '业务订单类型', '业务订单ID', '支付订单类型', '支付订单ID', '渠道流水号', '状态'],
['index', 'latest_try_time', 'payment_channels_name', 'refund_actual_amount', 'refund_discount_amount', 'reason_name', 'refund_time', 'id', 'parking_type_name', 'park_record_id', 'payment_type_name', 'payment_order_id', 'flow_id', 'state_name'], 8),
createCol(
[
"序号",
"最近尝试时间",
"支付渠道",
"应退实付(元)",
"应退优惠(元)",
"退款原因",
"退款申请时间",
"退款订单ID",
"业务订单类型",
"业务订单ID",
"支付订单类型",
"支付订单ID",
"渠道流水号",
"状态",
],
[
"index",
"latest_try_time",
"payment_channels_name",
"refund_actual_amount",
"refund_discount_amount",
"reason_name",
"refund_time",
"id",
"parking_type_name",
"park_record_id",
"payment_type_name",
"payment_order_id",
"flow_id",
"state_name",
],
8
),
formRefundSearch,
resultData,'/api/ope/record/refund_export'
resultData,
"/api/ope/record/refund_export"
)}
<Modal
open={bigpicVisible}
width={1600}
title={'图片展示'}
title={"图片展示"}
className="eae-modal"
onCancel={() => {
setBigpicVisible(false);
@ -452,21 +594,82 @@ function ReturnOrderInquiry() {
<Modal
open={tkddVisible}
width={1500}
title={'订单详情'}
title={"订单详情"}
onCancel={() => {
setTkddVisible(false);
setYcddData([]);
}}
footer={[
<Button key="back" onClick={() => {
<Button
key="back"
onClick={() => {
setTkddVisible(false);
setYcddData([]);
}}>
}}
>
关闭窗口
</Button>]}
</Button>,
]}
>
{tkddModal}
</Modal>
<Modal
open={eaeVisible}
width={1600}
title={"证据图像"}
className="eae-modal"
onCancel={() => {
setEaeVisible(false);
}}
footer={false}
>
<div className="ltc-box">
<div className="ltc-box-title">
<div className="text">入场照片</div>
<div className="line"></div>
</div>
<div className="ltc-content">
<div className="ltc-item ltc-item-img ">
<img
src={
ycddData?.in_plate_pic ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div>
<div className="ltc-item ltc-item-img ">
<img
src={
ycddData?.in_veh_pic ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div>
</div>
<div className="ltc-box-title">
<div className="text">出场照片</div>
<div className="line"></div>
</div>
<div className="ltc-content">
<div className="ltc-item ltc-item-img ">
<img
src={
ycddData?.out_plate_pic ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div>
<div className="ltc-item ltc-item-img ">
<img
src={
ycddData?.out_veh_pic ||
require("../../../../../src/assets/images/error-img.png")
}
/>
</div>
</div>
</div>
</Modal>
</>
);
}

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

@ -301,6 +301,101 @@ $color-primary: var(--color-primary);
display: inline-block;
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 {
overflow: auto;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -394,7 +394,16 @@ function OutNvrMgm(props) {
//
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(
(res) => {
if (res?.status == 20000) {

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

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

Loading…
Cancel
Save