diff --git a/src/components/TableModule/index.jsx b/src/components/TableModule/index.jsx
index ea8d988..ce6113c 100644
--- a/src/components/TableModule/index.jsx
+++ b/src/components/TableModule/index.jsx
@@ -1,4 +1,11 @@
-import React, { useState, useRef, useEffect, useLayoutEffect } from "react";
+import React, {
+ useState,
+ useRef,
+ useEffect,
+ useLayoutEffect,
+ useImperativeHandle,
+ forwardRef,
+} from "react";
import {
Form,
Pagination,
@@ -22,8 +29,8 @@ import { useSetState } from "ahooks";
import { ResultFlow, ExportBtn } from "@/components";
import "./index.scss";
const { RangePicker } = DatePicker;
-
-function TableModule(props) {
+//如想在外部调用搜索方法,请通过 , Ref.current.fetche 的方式调用
+const TableModule = forwardRef((props, ref) => {
const {
pagename = "",
columns = [], //表头
@@ -337,6 +344,9 @@ function TableModule(props) {
})
.catch((err) => console.error(err));
}
+ useImperativeHandle(ref, () => ({
+ fetch,
+ }));
useEffect(() => {
getAllOperator();
@@ -384,12 +394,14 @@ function TableModule(props) {
{rightButtonGroup.map((item) => item)}
-
+ {isExport && (
+
+ )}
);
-}
+});
function InputSelectGroup(params) {
const { onChange = () => {} } = params;
const [timeType, setTimeType] = useState(1);
diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RecordList.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RecordList.jsx
index f79c67f..9a255ce 100644
--- a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RecordList.jsx
+++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RecordList.jsx
@@ -26,43 +26,43 @@ function RecordList({ id }) {
},
{
title: "应收金额",
- dataIndex: "ys_money",
- key: "ys_money",
+ dataIndex: "receivable_amount",
+ key: "receivable_amount",
},
{
title: "优惠金额",
- dataIndex: "yh_money",
- key: "yh_money",
+ dataIndex: "preferential_amount",
+ key: "preferential_amount",
},
{
title: "实收金额",
- dataIndex: "sf_money",
- key: "sf_money",
+ dataIndex: "actual_amount",
+ key: "actual_amount",
},
{
title: "支付类型",
- dataIndex: "pay_type_name",
- key: "pay_type_name",
+ dataIndex: "pay_type",
+ key: "pay_type",
},
{
title: "支付渠道",
- dataIndex: "payment_type_name",
- key: "payment_type_name",
+ dataIndex: "payment_channels",
+ key: "payment_channels",
},
{
title: "支付设备",
- dataIndex: "payment_device_name",
- key: "payment_device_name",
+ dataIndex: "payment_equipment",
+ key: "payment_equipment",
},
{
title: "支付人",
- dataIndex: "car_owner_name",
- key: "car_owner_name",
+ dataIndex: "dealer",
+ key: "dealer",
},
{
title: "付款车场",
- dataIndex: "park_name",
- key: "park_name",
+ dataIndex: "pay_road",
+ key: "pay_road",
},
{
title: "第三方流水ID",
@@ -72,7 +72,7 @@ function RecordList({ id }) {
];
const [dataSource, setDataSource] = useState([]);
function getList() {
- ajax.showPayList({ id }).then((res) => {
+ ajax.getOutParkingReacordPayment({ park_record_id: id }).then((res) => {
if (res.status === 20000) {
setDataSource(res.data.list);
}
diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RefundList.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RefundList.jsx
index 32c14c2..11c19f1 100644
--- a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RefundList.jsx
+++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/RefundList.jsx
@@ -16,14 +16,14 @@ function RefundList({ id }) {
},
{
title: "支付渠道",
- dataIndex: "payment_type_name",
- key: "payment_type_name",
+ dataIndex: "payment_channels",
+ key: "payment_channels",
},
{
title: "支付设备",
- dataIndex: "payment_device_name",
- key: "payment_device_name",
+ dataIndex: "payment_channels",
+ key: "payment_channels",
},
{
title: "退款原因",
@@ -54,7 +54,7 @@ function RefundList({ id }) {
];
const [dataSource, setDataSource] = useState([]);
function getList() {
- ajax.showRefoundList({ id }).then((res) => {
+ ajax.getOutParkingReacordRefund({ park_record_id: id }).then((res) => {
if (res.status === 20000) {
setDataSource(res.data.list);
}
diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/StopList.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/StopList.jsx
index 6e6b39e..7b08585 100644
--- a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/StopList.jsx
+++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/StopList.jsx
@@ -1,43 +1,26 @@
import React, { useState, useEffect } from "react";
import ajax from "@/services";
import { message, Descriptions, Image } from "antd";
-function StopList({ id }) {
+function StopList({ id, record }) {
//获取停车记录
- const [recordData, setRecordData] = useState({});
+ const [recordData, setRecordData] = useState(record);
- function getRecord() {
- ajax.showStopList({ id }).then((res) => {
- if (res.status === 20000) {
- setRecordData(res.data.list[0]);
- } else {
- message.error(res.message);
- }
- });
- }
-
- useEffect(() => {
- getRecord();
- }, []);
return (
- {recordData.park_name}
-
-
- {recordData.area_name}
+ {recordData.road}
+ {recordData.region}
- {recordData.shop_name}
+ {recordData.operator}
- {recordData.road_type_name}
+ {recordData.road_type}
-
- {recordData.plate_num}
-
+ {recordData.plate}
{recordData.phone}
@@ -48,16 +31,16 @@ function StopList({ id }) {
{recordData.out_time}
- {recordData.parking_time}
+ {recordData.parking_duration}
- {recordData.ys_money}
+ {recordData.receivable_amount}
- {recordData.yh_money}
+ {recordData.preferential_amount}
- {recordData.sf_money}
+ {recordData.actual_amount}
@@ -68,6 +51,14 @@ function StopList({ id }) {
+
+
+
+
+
+
+
+
);
}
diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/index.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/index.jsx
index 33d1b80..5e64209 100644
--- a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/index.jsx
+++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/Detail/index.jsx
@@ -6,13 +6,19 @@ import RecordList from "./RecordList";
import RefundList from "./RefundList";
import "./index.scss";
function Detail(props) {
- const { visible = false, close = () => {}, onOk = () => {}, id } = props;
+ const {
+ visible = false,
+ close = () => {},
+ onOk = () => {},
+ id,
+ record = {},
+ } = props;
//tabs数据
const tabsItems = [
{
label: "停车记录",
key: "1",
- children: ,
+ children: ,
},
{
label: "支付记录",
diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/loadable.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/loadable.jsx
index 500e209..f8221a7 100644
--- a/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/loadable.jsx
+++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutParkingRecordInquiry/loadable.jsx
@@ -13,61 +13,62 @@ function OutParkingRecordInquiry() {
title: "序号",
dataIndex: "id",
key: "id",
+ render: (text, record, index) => index + 1,
},
{
title: "区域",
- dataIndex: "area",
- key: "area",
+ dataIndex: "region",
+ key: "region",
},
{
title: "商户名称",
- dataIndex: "merchantName",
- key: "merchantName",
+ dataIndex: "operator",
+ key: "operator",
},
{
title: "停车场名称",
- dataIndex: "parkingLotName",
- key: "parkingLotName",
+ dataIndex: "road",
+ key: "road",
},
{
title: "车场类型",
- dataIndex: "parkingLotType",
- key: "parkingLotType",
+ dataIndex: "road_type",
+ key: "road_type",
},
{
title: "车牌号",
- dataIndex: "licensePlate",
- key: "licensePlate",
+ dataIndex: "plate",
+ key: "plate",
},
{
title: "泊位号",
- dataIndex: "berthNumber",
- key: "berthNumber",
+ dataIndex: "berth_id",
+ key: "berth_id",
},
{
title: "入场时间",
- dataIndex: "entryTime",
- key: "entryTime",
+ dataIndex: "in_time",
+ key: "in_time",
},
{
title: "离场时间",
- dataIndex: "exitTime",
- key: "exitTime",
+ dataIndex: "out_time",
+ key: "out_time",
},
{
title: "停车时长",
- dataIndex: "parkingDuration",
- key: "parkingDuration",
+ dataIndex: "parking_duration",
+ key: "parking_duration",
},
{
title: "应收金额",
- dataIndex: "receivableAmount",
- key: "receivableAmount",
+ dataIndex: "receivable_amount",
+ key: "receivable_amount",
},
{
title: "实收金额",
- dataIndex: "actualAmount",
- key: "actualAmount",
+ dataIndex: "actual_amount",
+ key: "actual_amount",
},
{
title: "操作",
@@ -78,10 +79,12 @@ function OutParkingRecordInquiry() {
onClick={() => {
setDetailModal({
...detailModal,
+ record,
visible: true,
id: record.id,
});
}}
+ type="primary"
>
操作
@@ -144,6 +147,7 @@ function OutParkingRecordInquiry() {
const [detailModal, setDetailModal] = useState({
id: "",
visible: false,
+ record: {},
close: () => setDetailModal({ ...detailModal, visible: false }),
onOk: () => {
detailModal.close();
@@ -151,7 +155,7 @@ function OutParkingRecordInquiry() {
});
function fetch(params) {
- ajax.getRecordList(params).then((res) => {
+ ajax.getOutParkingRecordList(params).then((res) => {
if (res.status === 20000) {
setTableData(res.data.list);
setTotal(res.data.total);
@@ -169,13 +173,14 @@ function OutParkingRecordInquiry() {
pagename=""
search={fetch}
initFormData={initFormData}
- exportUrl=""
+ isExport={false} //是否显示导出按钮
/>
>
);
diff --git a/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx b/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx
index c859ec3..3dae334 100644
--- a/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx
+++ b/src/pages/OutRoadMgm/OutBusinessRecord/OutPayOrders/loadable.jsx
@@ -1,15 +1,150 @@
import React, { useState, useRef, useEffect } from "react";
-// import { message, Pagination, Table, Space, Modal, } from "antd";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
// import { dictionary, utils } from "@/config/common";
// import moment from 'moment'
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
-// import ajax from "@/services"
-// import { FormInput, FormSelect, OptionPanel, ResultPanel, FormSliderPicker, AreaCascader, ImgResize, ImgZoom, } from "@/components"
-// import "./index.scss";
-// import errorImg from "@/assets/images/layout/error.png"
-// import { useLocation } from "react-router-dom";
+import ajax from "@/services";
+import { TableModule } from "@/components";
+import "./index.scss";
function OutPayOrders() {
- return OutPayOrders
+ const columns = [
+ {
+ title: "订单ID",
+ dataIndex: "order_id",
+ key: "order_id",
+ },
+ {
+ title: "停车场",
+ dataIndex: "road",
+ key: "road",
+ },
+ {
+ title: "车牌号",
+ dataIndex: "plate",
+ key: "plate",
+ },
+ {
+ title: "入场时间",
+ dataIndex: "in_time",
+ key: "in_time",
+ },
+ {
+ title: "出场时间",
+ dataIndex: "out_time",
+ key: "out_time",
+ },
+ {
+ title: "停车时长",
+ dataIndex: "parking_duration",
+ key: "parking_duration",
+ },
+ {
+ title: "应收金额",
+ dataIndex: "receivable_amount",
+ key: "receivable_amount",
+ },
+ {
+ title: "实收金额",
+ dataIndex: "actual_amount",
+ key: "actual_amount",
+ },
+ {
+ title: "支付渠道",
+ dataIndex: "payment_channels",
+ key: "payment_channels",
+ },
+ {
+ title: "支付设备",
+ dataIndex: "payment_equipment",
+ key: "payment_equipment",
+ },
+ {
+ title: "操作人",
+ dataIndex: "dealer",
+ key: "dealer",
+ },
+ {
+ title: "支付时间",
+ dataIndex: "pay_time",
+ key: "pay_time",
+ },
+ {
+ title: "第三方流水ID",
+ dataIndex: "third_party_flow_id",
+ key: "third_party_flow_id",
+ },
+ ];
+ const formSearch = [
+ {
+ name: "road",
+ type: "Input",
+ label: "停车场名称",
+ placeholder: "请选择停车场名称",
+ },
+ {
+ name: "plate",
+ type: "Input",
+ label: "车牌号",
+ placeholder: "请输入车牌号",
+ },
+ {
+ name: "payment_channels",
+ type: "Select",
+ label: "支付渠道",
+ placeholder: "请选择支付渠道",
+ },
+ {
+ name: "payment_equipment",
+ type: "Select",
+ label: "支付设备",
+ placeholder: "请选择支付设备",
+ },
+ {
+ name: "time",
+ type: "RangePicker",
+ label: "时间段",
+ },
+ ];
+ //搜索参数初始化
+ const initFormData = {};
+
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ const [detailModal, setDetailModal] = useState({
+ id: "",
+ visible: false,
+ record: {},
+ close: () => setDetailModal({ ...detailModal, visible: false }),
+ onOk: () => {
+ detailModal.close();
+ },
+ });
+
+ function fetch(params) {
+ ajax.getOutPayOrdersList(params).then((res) => {
+ if (res.status === 20000) {
+ setTableData(res.data.list);
+ setTotal(res.data.total);
+ }
+ });
+ }
+
+ return (
+ <>
+
+ >
+ );
}
-export default OutPayOrders;
\ No newline at end of file
+export default OutPayOrders;
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/AddModal.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/AddModal.jsx
new file mode 100644
index 0000000..54896fa
--- /dev/null
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/AddModal.jsx
@@ -0,0 +1,293 @@
+import React, { useEffect, useState } from "react";
+import {
+ Modal,
+ Form,
+ Input,
+ Select,
+ Button,
+ Row,
+ Col,
+ Divider,
+ Checkbox,
+ Radio,
+ message,
+} from "antd";
+import ajax from "@/services";
+import EffectiveDate from "./EffectiveDate";
+function AddModal(props) {
+ const [form] = Form.useForm();
+ const {
+ record = {},
+ visible = false,
+ close = () => {},
+ status = "add",
+ research = () => {},
+ } = props;
+ const isEdit = status === "edit";
+
+ const [effectiveDateList, setEffectiveDateList] = useState(() => {
+ if (status === "add") {
+ return [
+ {
+ key:
+ Math.floor(Math.random() * 1000).toString() +
+ Date.now().toString().substring(0, 6),
+ },
+ ];
+ } else {
+ return record.property.map((item) => {
+ item.key =
+ Math.floor(Math.random() * 1000).toString() +
+ Date.now().toString().substring(0, 6);
+ item.status = "disable";
+ return item;
+ });
+ }
+ });
+
+ function addEctiveDate() {
+ const randomNum = Math.floor(Math.random() * 1000);
+ const item = {
+ key: randomNum.toString() + Date.now().toString().substring(0, 6),
+ };
+ console.log(effectiveDateList);
+ setEffectiveDateList([...effectiveDateList, item]);
+ }
+
+ function removeEffectiveDate(key) {
+ const _effectiveDateList = effectiveDateList
+ .map((item) => item.key !== key && item)
+ .filter((item) => item.key !== undefined);
+ setEffectiveDateList(_effectiveDateList);
+ }
+ //提交成功后函数
+ function submitSuccess() {
+ research();
+ close();
+ }
+ //提交接口
+ function fetch(params) {
+ if (status === "add") {
+ ajax.addChargeRule(params).then((res) => {
+ if (res.status === 20000) {
+ message.success("添加成功");
+ submitSuccess();
+ } else {
+ message.error(res.message);
+ }
+ });
+ } else {
+ ajax.editChargeRule(params).then((res) => {
+ if (res.status === 20000) {
+ message.success("编辑成功");
+ submitSuccess();
+ } else {
+ message.error(res.message);
+ }
+ });
+ }
+ }
+ //提交按钮
+ function submit() {
+ form
+ .validateFields()
+ .then((res) => {
+ const params = {
+ ...res,
+ property: effectiveDateList,
+ };
+ fetch(params);
+ })
+ .catch((err) => console.error(err));
+ }
+ return (
+
+
+
+
+
+
+
+ {effectiveDateList.map((item, index) => {
+ return (
+
{
+ const _effectiveDateList = effectiveDateList.map((item) => {
+ if (item.key === key) {
+ item = { ...item, ...value };
+ }
+ return item;
+ });
+ setEffectiveDateList(_effectiveDateList);
+ }}
+ />
+ );
+ })}
+
+
+ );
+}
+
+export default AddModal;
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/Detail.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/Detail.jsx
new file mode 100644
index 0000000..e04ce3c
--- /dev/null
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/Detail.jsx
@@ -0,0 +1,182 @@
+import React, { useState, useEffect } from "react";
+import {
+ Modal,
+ Form,
+ Input,
+ Select,
+ Button,
+ Row,
+ Col,
+ Divider,
+ Checkbox,
+ Descriptions,
+ Radio,
+} from "antd";
+import EffectiveDate from "./EffectiveDate";
+import ajax from "@/services";
+function Detail(props) {
+ const { record, visible = false, close = () => {} } = props;
+ const [form] = Form.useForm();
+ const [effectiveDateList, setEffectiveDateList] = useState(record.property);
+ useEffect(() => {
+ setEffectiveDateList(record.property);
+ console.log(record.property);
+ }, []);
+ return (
+
+
+
+
+ {record.feeName}
+
+
+ {record.feeCode}
+
+
+ {record.description}
+
+
+ {record.operationName}
+
+
+ {record.createdTime}
+
+
+ {record.limit24hour}
+
+
+ {record.freeTime}
+
+
+ 免费分钟数纳入计费时间
+
+
+
+
+
+
+
+ {record.evFreeTime}
+
+
+ 免费分钟数纳入计费时间
+
+
+
+
+
+ {effectiveDateList &&
+ effectiveDateList.map((item, index) => {
+ console.log(item);
+ return
;
+ })}
+
+
+ );
+}
+
+function EffectiveDetail(props) {
+ const { record } = props;
+ console.log(123);
+ return (
+ <>
+
+
+ {record.effective_date}
+
+
+
+
+
+ {record.time_part_arr.map((item, index) => {
+ return ;
+ })}
+ >
+ );
+}
+
+function TimePartDetail(props) {
+ const { record, index } = props;
+ function partName(type) {
+ switch (type) {
+ case 1:
+ return "基础时段";
+ case 2:
+ return "周期计费";
+ case 3:
+ return "按次计费";
+ }
+ }
+ return (
+ <>
+
+
+ {`${record.time_part[0]}-${record.time_part[1]}`}
+
+ {(record.interval === 1 || record.interval === 2) && (
+
+ {record.time_max_money}
+
+ )}
+
+ {partName(record.interval)}
+
+ {record.interval === 1 && (
+ <>
+
+ {`前:${record.time_before} 分钟,${record.time_before_money}元/${record.time_before_minute}分钟`}
+
+
+ {`满:${record.time_before} 分钟后,${record.time_after_money}元/${record.time_after_minute}分钟`}
+
+ >
+ )}
+ {record.interval === 2 && (
+
+ {`${record.time_money}元/${record.time_minute}分钟`}
+
+ )}
+ {record.interval === 3 && (
+
+ {`${record.money_per_time}元/次`}
+
+ )}
+
+
+ >
+ );
+}
+
+export default Detail;
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/EffectiveDate.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/EffectiveDate.jsx
new file mode 100644
index 0000000..8d0e9b3
--- /dev/null
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/EffectiveDate.jsx
@@ -0,0 +1,193 @@
+import React, { useEffect, useState } from "react";
+import {
+ Form,
+ Input,
+ Button,
+ Select,
+ DatePicker,
+ Checkbox,
+ Row,
+ Col,
+ Divider,
+ message,
+} from "antd";
+import TimePart from "./TimePart";
+import moment from "moment";
+function EffectiveDate(props) {
+ const {
+ remove = () => {},
+ itemKey,
+ onChange = () => {},
+ index,
+ disable = false,
+ record = {},
+ } = props;
+ const [form] = Form.useForm();
+ const [timePartList, setTimePartList] = useState(() => {
+ if (!disable) {
+ return [
+ {
+ key:
+ Math.floor(Math.random() * 1000).toString() +
+ Date.now().toString().substring(0, 6),
+ },
+ ];
+ } else {
+ return record.time_part_arr.map((item) => {
+ item.status = "disable";
+ item.key =
+ Math.floor(Math.random() * 1000).toString() +
+ Date.now().toString().substring(0, 6);
+ return item;
+ });
+ }
+ });
+ const addTimePart = () => {
+ const randomNum = Math.floor(Math.random() * 1000);
+ const item = {
+ key: randomNum.toString() + Date.now().toString().substring(0, 6),
+ };
+ setTimePartList([...timePartList, item]);
+ };
+ const removeTimePart = (key) => {
+ const _timePartList = timePartList
+ .map((item) => item.key !== key && item)
+ .filter((item) => item.key !== undefined);
+ setTimePartList(_timePartList);
+ };
+
+ //判断时间是否是一天时间
+ function isOneDay(time) {
+ let total = 0;
+ for (let i = 0; i < timePartList.length; i++) {
+ if (timePartList[i].time_part) {
+ total += Math.abs(
+ moment(timePartList[i].time_part[1], "HH:mm:ss").diff(
+ moment(timePartList[i].time_part[0], "HH:mm:ss"),
+ "minutes"
+ )
+ );
+ }
+ }
+ total += 1;
+ console.log(total);
+ if (total === 1440) {
+ return true;
+ }
+ return false;
+ }
+ function submit() {
+ form
+ .validateFields()
+ .then((values) => {
+ if (isOneDay(values)) {
+ message.success("时段检验通过");
+ } else {
+ message.error("时段检验未通过");
+ }
+ })
+ .catch((err) => {
+ console.error(err);
+ });
+ }
+
+ return (
+
+
+
+
+
+ {!disable && (
+ <>
+
+
+ >
+ )}
+
+ {timePartList.map((item, index) => {
+ console.log(item);
+ return (
+
{
+ const _timePartList = timePartList.map((item) => {
+ if (item.key === value.key) {
+ if (value.time_part) {
+ value.time_part = value.time_part.map((item) => {
+ item = item.format("HH:mm:ss");
+ return item;
+ });
+ }
+ return value;
+ } else {
+ return item;
+ }
+ });
+ const obj = {
+ ...form.getFieldsValue(),
+ time_part_arr: _timePartList,
+ };
+ if (obj.effective_date !== void 0) {
+ obj.effective_date = obj.effective_date.format("YYYY-MM-DD");
+ }
+ onChange(obj, itemKey);
+ setTimePartList(_timePartList);
+ }}
+ />
+ );
+ })}
+
+ );
+}
+
+export default EffectiveDate;
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/TimePart.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/TimePart.jsx
new file mode 100644
index 0000000..8c8ab3a
--- /dev/null
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/TimePart.jsx
@@ -0,0 +1,178 @@
+import React, { useEffect, useState } from "react";
+import {
+ Form,
+ Input,
+ Button,
+ Select,
+ DatePicker,
+ TimePicker,
+ Row,
+ Col,
+ Divider,
+} from "antd";
+import moment from "moment";
+function TimePart(props) {
+ const [form] = Form.useForm();
+ const {
+ index,
+ remove,
+ itemKey,
+ onChange = () => {},
+ record,
+ disable = false,
+ } = props;
+ console.log(disable);
+ const valueChange = (value, all) => {
+ all.key = itemKey;
+ onChange(all);
+ };
+
+
+ return (
+
+ );
+}
+
+export default TimePart;
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/index.scss b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/index.scss
index 1838f71..f19a16f 100644
--- a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/index.scss
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/index.scss
@@ -1,5 +1,82 @@
@import "@/assets/css/mixin.scss";
-$color-container-bg : var(--color-container-bg);
-$color-user-list-bg : var(--color-user-list-bg);
-$color-text : var(--color-text);
-$color-primary : var(--color-primary);
+$color-container-bg: var(--color-container-bg);
+$color-user-list-bg: var(--color-user-list-bg);
+$color-text: var(--color-text);
+$color-primary: var(--color-primary);
+.ant-modal-content {
+ .charge-rule-bottom-button {
+ display: flex;
+ justify-content: center;
+ margin-top: 20px;
+ button {
+ margin: 0 10px;
+ }
+ }
+ textarea,
+ input {
+ background: var(--color-search-list-item-bg);
+ }
+ .ant-select-selection-placeholder {
+ color: var(--color-placeholder);
+ }
+ .ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
+ background: var(--color-input-disabled-bg);
+ color: var(--color-placeholder);
+ }
+ .ant-select-disabled .ant-select-arrow {
+ color: var(--color-placeholder);
+ }
+ .ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {
+ background-color: var(--color-input-disabled-bg);
+ color: var(--color-input-disabled-color);
+ cursor: not-allowed;
+ }
+ .ant-select-multiple {
+ .ant-select-selector {
+ .ant-select-selection-item {
+ background-color: var(--color-bg-body);
+ border-color: var(--color-border);
+ .ant-select-selection-item-remove {
+ color: var(--color-text);
+ }
+ }
+ }
+ }
+ .ant-select-arrow {
+ color: var(--color-text);
+ }
+ .ant-select-clear {
+ border-radius: 50%;
+ }
+ .ant-select-dropdown-menu {
+ background-color: var(--color-input-bg);
+ .ant-select-dropdown-menu-item {
+ color: var(--color-text);
+ &.ant-select-dropdown-menu-item-active {
+ color: #fff;
+ // background-color: var(--radio-button-bg-checked);
+ }
+ &.ant-select-dropdown-menu-item-selected {
+ color: #fff;
+ // background-color: var(--radio-button-bg-checked);
+ }
+ &:hover {
+ color: #fff;
+ // background-color: var(--radio-button-bg-checked);
+ }
+ }
+ }
+ .ant-select-selector {
+ background-color: var(--color-search-list-item-bg) !important;
+ box-shadow: none !important;
+ border-radius: 4px;
+ color: var(--color-search-list-item-value);
+ border-color: var(--color-search-list-item-bd) !important;
+ }
+ .ant-select-selection {
+ background-color: var(--color-input-bg);
+ box-shadow: none;
+ color: var(--color-text);
+ // border-color:var(--checkable-tag-border);
+ }
+}
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/loadable.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/loadable.jsx
index 1c18f1c..d947efa 100644
--- a/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/loadable.jsx
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/ChargeRulesMgm/loadable.jsx
@@ -1,37 +1,47 @@
import React, { useState, useRef, useEffect } from "react";
-import { message, Pagination, Table, Space, Modal, Button } from "antd";
+import {
+ message,
+ Pagination,
+ Table,
+ Space,
+ Modal,
+ Button,
+ Popover,
+} from "antd";
// import { dictionary, utils } from "@/config/common";
// import moment from 'moment'
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
import ajax from "@/services";
import { TableModule } from "@/components";
+import AddModal from "./AddModal";
+import Detail from "./Detail";
import "./index.scss";
function ChargeRulesMgm() {
const columns = [
{
title: "商户名称",
- dataIndex: "merchantName",
- key: "merchantName",
+ dataIndex: "operationName",
+ key: "operationName",
},
{
title: "规则名称",
- dataIndex: "ruleName",
- key: "ruleName",
+ dataIndex: "feeName",
+ key: "feeName",
},
{
title: "规则编码",
- dataIndex: "ruleCode",
- key: "ruleCode",
+ dataIndex: "feeName",
+ key: "feeName",
},
{
title: "创建人",
- dataIndex: "creator",
- key: "creator",
+ dataIndex: "creatorName",
+ key: "creatorName",
},
{
title: "更新时间",
- dataIndex: "updateTime",
- key: "updateTime",
+ dataIndex: "createdTime",
+ key: "createdTime",
},
{
title: "描述",
@@ -42,7 +52,56 @@ function ChargeRulesMgm() {
title: "操作",
dataIndex: "operation",
key: "operation",
- render: () => Edit,
+ render: (_, record) => {
+ return (
+
+
+
+
+
+ }
+ >
+
+
+ );
+ },
},
];
const formSearch = [
@@ -74,32 +133,106 @@ function ChargeRulesMgm() {
road_type: 0,
plate: "",
};
+ //子ref
+ const childRef = useRef(null);
//搜索的结果
const [tableData, setTableData] = useState([]);
//搜索的总结果数
const [total, setTotal] = useState(0);
+ //添加和编辑的modal
+ const [addModal, setAddModal] = useState({
+ visible: false,
+ close: () => setAddModal({ ...addModal, visible: false }),
+ record: {},
+ status: "add",
+ });
+ //查看的modal
+ const [detailModal, setDetailModal] = useState({
+ visible: false,
+ close: () => setDetailModal({ ...detailModal, visible: false }),
+ record: {},
+ });
+ function addItem() {
+ return (
+
+ );
+ }
function fetch(params) {
- ajax.getParkingArrearsList(params).then((res) => {
+ ajax.getChargeRuleList(params).then((res) => {
if (res.status === 20000) {
setTableData(res.data.list);
setTotal(res.data.total);
}
});
}
+ //删除计费规则
+ function delChargeRule(id) {
+ ajax.delChargeRule({ id }).then((res) => {
+ if (res.status === 20000) {
+ message.success("删除成功");
+ research();
+ }
+ });
+ }
+ //research
+ function research() {
+ childRef.current.fetch();
+ }
+ const getRuleDetail = (id) => {
+ ajax.getChargeRuleInfo({ id }).then((res) => {
+ if (res.status === 20000) {
+ setDetailModal({ ...detailModal, visible: true, record: res.data });
+ console.log(res.data);
+ }
+ });
+ };
+ //TODO 调用到子组件的搜索
return (
-
+ <>
+
+ {addModal.visible && (
+
+ )}
+ {detailModal.visible && (
+
+ )}
+ >
);
}
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/BillingRules.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/BillingRules.jsx
index 568f557..bbfd014 100644
--- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/BillingRules.jsx
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/BillingRules.jsx
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
+import React, { useEffect, useState } from "react";
import {
Input,
Form,
@@ -9,49 +9,52 @@ import {
Modal,
Select,
Popover,
+ message,
} from "antd";
-function BillingRules() {
+import ajax from "@/services";
+function BillingRules(props) {
+ const { id } = props;
+ const [form] = Form.useForm();
+ const [editform] = Form.useForm();
+ const carTypeList = [
+ { label: "小型车", value: 1 },
+ { label: "大型车", value: 2 },
+ ];
const columns = [
{
title: "规则名称",
- dataIndex: "ruleName",
- key: "ruleName",
+ dataIndex: "rule_name",
+ key: "rule_name",
align: "center",
},
{
title: "规则编码",
- dataIndex: "ruleCode",
- key: "ruleCode",
+ dataIndex: "rule_code",
+ key: "rule_code",
align: "center",
},
{
title: "车辆类型",
- dataIndex: "vehicleType",
- key: "vehicleType",
+ dataIndex: "vehicle_type",
+ key: "vehicle_type",
align: "center",
},
{
title: "车辆组",
- dataIndex: "vehicleGroup",
- key: "vehicleGroup",
- align: "center",
- },
- {
- title: "同步状态",
- dataIndex: "syncStatus",
- key: "syncStatus",
+ dataIndex: "group_ids",
+ key: "group_ids",
align: "center",
},
{
title: "描述",
- dataIndex: "description",
- key: "description",
+ dataIndex: "group_ids",
+ key: "group_ids",
align: "center",
},
{
title: "更新时间",
- dataIndex: "updateTime",
- key: "updateTime",
+ dataIndex: "update_time",
+ key: "update_time",
align: "center",
},
{
@@ -59,14 +62,36 @@ function BillingRules() {
dataIndex: "action",
key: "action",
align: "center",
- render: () => {
+ render: (_, record) => {
return (
- 编辑
- 删除
+
+
}
>
@@ -78,23 +103,136 @@ function BillingRules() {
];
const [modalData, setModalData] = useState({
visible: false,
+ status: "add",
+ });
+ //计费规则下拉列表
+ const [chargeRuleList, setChargeRuleList] = useState([]);
+ //列表数据
+ const [tableData, setTableData] = useState([]);
+ //临时车辆组
+ const [tempGroup, setTempGroup] = useState([]);
+ //总数据
+ const [total, setTotal] = useState(0);
+ //页码数据
+ const [pageData, setPageData] = useState({
+ pn: 1,
+ page_size: 10,
+ });
+ //删除弹窗
+ const [delModal, setDelModal] = useState({
+ visible: false,
+ id: "",
});
const addRule = () => {
setModalData({ ...modalData, visible: true });
};
+
+ //搜索方法
+ const search = () => {
+ const params = form.getFieldsValue();
+ ajax
+ .getRoadBillRuleList({ road_id: id, ...pageData, ...params })
+ .then((res) => {
+ if (res.status === 20000) {
+ setTableData(res.data.list);
+ setTotal(res.data.total);
+ }
+ });
+ };
+
+ //获取计费规则下拉列表
+ const getChargeRuleList = () => {
+ ajax.getRoadBillRule().then((res) => {
+ if (res.status === 20000) {
+ setChargeRuleList(res.data);
+ }
+ });
+ };
+ //获取临时车辆组
+ const getTempGroup = () => {
+ ajax.getRoadTemporaryGroup({ road_id: id }).then((res) => {
+ if (res.status === 20000) {
+ setTempGroup(res.data);
+ }
+ });
+ };
+
+ //添加计费规则接口
+ const addRoadBillRule = (params) => {
+ ajax.addRoadBillRule(params).then((res) => {
+ if (res.status === 20000) {
+ message.success("添加成功");
+ successSubmit();
+ } else {
+ message.error(res.message);
+ }
+ });
+ };
+
+ //编辑计费规则接口
+ const editRoadBullRule = (params) => {
+ ajax.editRoadBullRule(params).then((res) => {
+ if (res.status === 20000) {
+ message.success("编辑成功");
+ successSubmit();
+ } else {
+ message.error(res.message);
+ }
+ });
+ };
+
+ //提交接口
+ const submit = () => {
+ editform
+ .validateFields()
+ .then((values) => {
+ if (modalData.status === "add") {
+ addRoadBillRule({ ...values, road_id: id, ...pageData });
+ } else if (modalData.status === "edit") {
+ editRoadBullRule({ ...values, road_id: id, ...pageData });
+ }
+ })
+ .catch((err) => console.error(err));
+ };
+
+ //添加成功接口
+ const successSubmit = () => {
+ setModalData({ ...modalData, visible: false });
+ editform.resetFields();
+ setPageData({ pn: 1, page_size: 10 });
+ };
+
+ //删除接口
+ const delRoadBillRule = (id) => {
+ ajax.delRoadBillRule({ id }).then((res) => {
+ if (res.status === 20000) {
+ message.success("删除成功");
+ setDelModal({ ...delModal, visible: false });
+ setPageData({ pn: 1, page_size: 10 });
+ }
+ });
+ };
+
+ useEffect(() => {
+ getChargeRuleList();
+ getTempGroup();
+ }, []);
+ useEffect(() => {
+ search();
+ }, [pageData]);
return (
-
+ {
+ setPageData({ ...pageData, pn: page, page_size: pageSize });
+ },
+ onShowSizeChange: (current, size) => {
+ setPageData({ ...pageData, pn: current, page_size: size });
+ },
+ }}
+ >
setModalData({ ...modalData, visible: false })}
+ onCancel={() => {
+ setModalData({ ...modalData, visible: false });
+ editform.resetFields();
+ }}
+ onOk={submit}
>
-
-
+
+
-
-
+
+
-
-
+
+
+ {/* 删除弹窗 */}
+
{
+ setDelModal({ ...delModal, visible: false });
+ }}
+ onOk={() => delRoadBillRule(delModal.id)}
+ >
+ 确定要删除这条数据吗?
+
);
}
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/TollCollectorManagement.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/TollCollectorManagement.jsx
index d943095..0bc7499 100644
--- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/TollCollectorManagement.jsx
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/TollCollectorManagement.jsx
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
+import React, { useState, useEffect } from "react";
import {
Input,
Form,
@@ -9,8 +9,10 @@ import {
Modal,
Select,
Popover,
+ Transfer,
} from "antd";
-function TollCollectorManagement() {
+import ajax from "@/services";
+function TollCollectorManagement({ id: road_id }) {
const columns = [
{
title: "收费员姓名",
@@ -20,14 +22,14 @@ function TollCollectorManagement() {
},
{
title: "收费员编号",
- dataIndex: "id",
- key: "id",
+ dataIndex: "user_code",
+ key: "user_code",
align: "center",
},
{
title: "收费员账号",
- dataIndex: "account",
- key: "account",
+ dataIndex: "user_account",
+ key: "user_account",
align: "center",
},
{
@@ -41,14 +43,21 @@ function TollCollectorManagement() {
dataIndex: "action",
key: "action",
align: "center",
- render: () => {
+ render: (_, record) => {
return (
- 编辑
- 删除
+
}
>
@@ -58,36 +67,116 @@ function TollCollectorManagement() {
},
},
];
+ const [form] = Form.useForm();
const [modalData, setModalData] = useState({
visible: false,
});
+ const [pageData, setPageData] = useState({
+ pn: 1,
+ page_size: 10,
+ });
+
+ const [transferSouceData, setTransferSouceData] = useState([]);
+ const [selectedKeys, setSelectedKeys] = useState([]);
+ const [targetKeys, setTargetKeys] = useState([]);
+ const [collectorList, setCollectorList] = useState([]);
+ const [total, setTotal] = useState(0);
const addCollector = () => {
setModalData({ ...modalData, visible: true });
};
+ //获取收费员列表接口
+ const getOutSegmentUserList = () => {
+ const params = {
+ ...form.getFieldsValue(),
+ road_id,
+ ...pageData,
+ };
+ ajax.getOutSegmentUserList(params).then((res) => {
+ if (res.status === 20000) {
+ setCollectorList(res.data.list);
+ setTotal(res.data.total);
+ }
+ });
+ };
+
+ //穿梭框
+ const transferChange = (nextTargetKeys) => {
+ setTargetKeys(nextTargetKeys);
+ };
+ const onSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
+ setSelectedKeys([...sourceSelectedKeys, ...targetSelectedKeys]);
+ };
+ //获取穿梭框数据
+ const getTransferData = () => {
+ ajax.getOperatorMbUser({ road_id }).then((res) => {
+ if (res.status === 20000) {
+ const allData = [...res.data.selected, ...res.data.unselected].map(
+ (item) => {
+ item.key = item.value;
+ return item;
+ }
+ );
+ const selected = res.data.selected.map((item) => item.value);
+ setTargetKeys(selected);
+ setTransferSouceData(allData);
+ }
+ });
+ };
+
+ //添加收费员接口
+ const addOutSegmentUser = () => {
+ ajax.addRoadUser({ road_id, user_ids: targetKeys }).then((res) => {
+ if (res.status === 20000) {
+ setModalData({ ...modalData, visible: false });
+ getOutSegmentUserList();
+ }
+ });
+ };
+ //删除收费员接口
+ const deleteOutSegmentUser = (id) => {
+ ajax.deleteRoadUser({ id }).then((res) => {
+ if (res.status === 20000) {
+ setModalData({ ...modalData, visible: false });
+ getOutSegmentUserList();
+ }
+ });
+ };
+ //查询接口
+ const search = () => {
+ setPageData({ ...pageData, pn: 1 });
+ };
+ useEffect(() => {
+ getTransferData();
+ }, []);
+ useEffect(() => {
+ getOutSegmentUserList();
+ }, [pageData]);
return (
{
- setBerthNumModal({ ...berthNumModal, visible: true });
+ setBerthNumModal({
+ ...berthNumModal,
+ visible: true,
+ id: record.id,
+ });
}}
>
修改剩余泊位
@@ -218,6 +230,13 @@ function OutSegment() {
const [berthNumModal, setBerthNumModal] = useState({
visible: false,
close: () => setBerthNumModal({ ...berthNumModal, visible: false }),
+ id: "",
+ });
+ //二维码
+ const [qrModal, setQrModal] = useState({
+ visible: false,
+ close: () => setQrModal({ ...qrModal, visible: false }),
+ record: {},
});
const [operationName, setOperationName] = useState([]);
@@ -291,7 +310,17 @@ function OutSegment() {
}
});
};
-
+ //编辑剩余泊位
+ const editBerthNumber = (id, berth_number) => {
+ ajax.editBerthNumber({ id, berth_number }).then((res) => {
+ if (res.status === 20000) {
+ message.success(res.message);
+ } else {
+ message.error(res.message);
+ }
+ setBerthNumModal({ ...berthNumModal, visible: false });
+ });
+ };
//评价批量配置
const configAppraise = () => {
let values = commentForm.getFieldsValue();
@@ -478,6 +507,12 @@ function OutSegment() {
itemData={configModal.record}
bodyStyle="modal-style"
/>
+
{
+ editBerthNumber(
+ berthNumModal.id,
+ berthForm.getFieldValue("berth_number")
+ );
+ }}
>
-
+
diff --git a/src/services/OutRoadMgm/ChargeRulesMgm.js b/src/services/OutRoadMgm/ChargeRulesMgm.js
new file mode 100644
index 0000000..6c6e215
--- /dev/null
+++ b/src/services/OutRoadMgm/ChargeRulesMgm.js
@@ -0,0 +1,48 @@
+import ajax from "@/config/ajax";
+///api/orp/bill/get_rule_list 计费规则列表查询展示
+const getChargeRuleList = (params) => {
+ return ajax({
+ url: "/api/orp/bill/get_rule_list",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/bill/del_rule 删除计费规则
+const delChargeRule = (params) => {
+ return ajax({
+ url: "/api/orp/bill/del_rule",
+ type: "get",
+ data: params,
+ });
+};
+///api/orp/bill/get_rule_info 获取详情
+const getChargeRuleInfo = (params) => {
+ return ajax({
+ url: "/api/orp/bill/get_rule_info",
+ type: "get",
+ data: params,
+ });
+};
+///api/orp/bill/add_rule 新增计费规则
+const addChargeRule = (params) => {
+ return ajax({
+ url: "/api/orp/bill/add_rule",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/bill/edit_rule 编辑计费规则
+const editChargeRule = (params) => {
+ return ajax({
+ url: "/api/orp/bill/edit_rule",
+ type: "post",
+ data: params,
+ });
+};
+export default {
+ getChargeRuleList,
+ delChargeRule,
+ getChargeRuleInfo,
+ addChargeRule,
+ editChargeRule,
+};
diff --git a/src/services/OutRoadMgm/OutParkingRecordInquiry.js b/src/services/OutRoadMgm/OutParkingRecordInquiry.js
index d685e3d..fef3d38 100644
--- a/src/services/OutRoadMgm/OutParkingRecordInquiry.js
+++ b/src/services/OutRoadMgm/OutParkingRecordInquiry.js
@@ -1,6 +1,6 @@
import ajax from "@/config/ajax";
///api/orp/business/get_record_list 停车记录查询/欠费订单-列表
-const getRecordList = (params) => {
+const getOutParkingRecordList = (params) => {
return ajax({
url: "/api/orp/business/get_record_list ",
type: "post",
@@ -8,4 +8,25 @@ const getRecordList = (params) => {
});
};
-export default { getRecordList };
+///api/orp/business/get_record_payment 停车记录查询-支付列表
+const getOutParkingReacordPayment = (params) => {
+ return ajax({
+ url: "/api/orp/business/get_record_payment",
+ type: "get",
+ data: params,
+ });
+};
+
+///api/orp/business/get_record_refund 停车记录查询-退款列表
+const getOutParkingReacordRefund = (params) => {
+ return ajax({
+ url: "/api/orp/business/get_record_refund",
+ type: "get",
+ data: params,
+ });
+};
+export default {
+ getOutParkingRecordList,
+ getOutParkingReacordPayment,
+ getOutParkingReacordRefund,
+};
diff --git a/src/services/OutRoadMgm/OutPayOrders.js b/src/services/OutRoadMgm/OutPayOrders.js
new file mode 100644
index 0000000..f5c1363
--- /dev/null
+++ b/src/services/OutRoadMgm/OutPayOrders.js
@@ -0,0 +1,12 @@
+import ajax from "@/config/ajax";
+// /api/orp/business/get_payment_list 支付订单-列表
+const getOutPayOrdersList = (params) => {
+ return ajax({
+ url: "/api/orp/business/get_payment_list",
+ type: "post",
+ data: params,
+ });
+};
+export default {
+ getOutPayOrdersList,
+};
diff --git a/src/services/OutRoadMgm/OutSegment.js b/src/services/OutRoadMgm/OutSegment.js
index 528c4fb..3e74cd6 100644
--- a/src/services/OutRoadMgm/OutSegment.js
+++ b/src/services/OutRoadMgm/OutSegment.js
@@ -266,6 +266,123 @@ const delLED = (params) => {
data: params,
});
};
+
+///api/orp/road/user_list 路段配置页面收费员列表
+const getOutSegmentUserList = (params) => {
+ return ajax({
+ url: "/api/orp/road/user_list",
+ type: "post",
+ data: params,
+ });
+};
+
+///api/orp/road/get_operator_mb_user 获取路段对应商户的MB收费员 左右侧筛选
+const getOperatorMbUser = (params) => {
+ return ajax({
+ url: "/api/orp/road/get_operator_mb_user",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/add_user 添加路段收费员
+const addRoadUser = (params) => {
+ return ajax({
+ url: "/api/orp/road/add_user",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/del_road_user 删除路段收费员
+const deleteRoadUser = (params) => {
+ return ajax({
+ url: "/api/orp/road/del_road_user",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/get_road_qrcode_info 路段二维码相关数据
+const getRoadQRcodeInfo = (params) => {
+ return ajax({
+ url: "/api/orp/road/get_road_qrcode_info",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/get_road_qrcode_info_1694677215313 获取路段二维码图片
+const getRoadQRcodePic = (params) => {
+ return ajax({
+ url: "/api/orp/road/get_road_qrcode_info_1694677215313",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/batch_get_qrcode 批量获取路段二维码图片
+const getRoadQRcodePicBatch = (params) => {
+ return ajax({
+ url: "/api/orp/road/batch_get_qrcode",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/edit_berth_number 编辑剩余泊位
+const editBerthNumber = (params) => {
+ return ajax({
+ url: "/api/orp/road/edit_berth_number",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/bill/get_road_bill_rule 获取路段对应计费规则下拉
+const getRoadBillRule = (params) => {
+ return ajax({
+ url: "/api/orp/bill/get_road_bill_rule",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/raod_bill_rule_list 路段对应计费规则列表
+const getRoadBillRuleList = (params) => {
+ return ajax({
+ url: "/api/orp/road/raod_bill_rule_list",
+ type: "post",
+ data: params,
+ });
+};
+///api/orp/road/get_road_temporary_group 获取路段临时车辆组
+const getRoadTemporaryGroup = (params) => {
+ return ajax({
+ url: "/api/orp/road/get_road_temporary_group",
+ type: "post",
+ data: params,
+ });
+};
+
+///api/orp/road/add_road_bill_rule 添加路段对应计费规则
+const addRoadBillRule = (params) => {
+ return ajax({
+ url: "/api/orp/road/add_road_bill_rule",
+ type: "post",
+ data: params,
+ });
+};
+
+//api/orp/road/edit_road_bill_rule 编辑路段对应计费规则
+const editRoadBullRule = (params) => {
+ return ajax({
+ url: "/api/orp/road/edit_road_bill_rule",
+ type: "post",
+ data: params,
+ });
+};
+
+///api/orp/road/del_road_bill_rule 删除路段对应计费规则
+const delRoadBillRule = (params) => {
+ return ajax({
+ url: "/api/orp/road/del_road_bill_rule",
+ type: "post",
+ data: params,
+ });
+};
export default {
getOrpRoadList,
getOrpRoadInfo,
@@ -299,4 +416,18 @@ export default {
editLED,
addLED,
delLED,
+ getOutSegmentUserList,
+ getOperatorMbUser,
+ addRoadUser,
+ deleteRoadUser,
+ getRoadQRcodeInfo,
+ getRoadQRcodePicBatch,
+ getRoadQRcodePic,
+ editBerthNumber,
+ getRoadBillRule,
+ getRoadBillRuleList,
+ getRoadTemporaryGroup,
+ addRoadBillRule,
+ editRoadBullRule,
+ delRoadBillRule,
};
diff --git a/src/services/OutRoadMgm/index.js b/src/services/OutRoadMgm/index.js
index 7c1397d..b988cb0 100644
--- a/src/services/OutRoadMgm/index.js
+++ b/src/services/OutRoadMgm/index.js
@@ -4,11 +4,15 @@ import OutParkingRecordInquiry from "./OutParkingRecordInquiry";
import OutNVRMgm from "./OutNVRMgm";
import LiftUpPoleRecord from "./LiftUpPoleRecord";
import ZombieCarCleanRecord from "./ZombieCarCleanRecord";
+import OutPayOrders from "./OutPayOrders";
+import ChargeRulesMgm from "./ChargeRulesMgm";
export default {
...OutSegment,
...ZombieCarMgm,
...OutParkingRecordInquiry,
...OutNVRMgm,
...LiftUpPoleRecord,
- ...ZombieCarCleanRecord
+ ...ZombieCarCleanRecord,
+ ...OutPayOrders,
+ ...ChargeRulesMgm,
};