From 155df4c91117b20cfdc53cbd8a6409aa3511fea5 Mon Sep 17 00:00:00 2001 From: xingjx Date: Thu, 19 Oct 2023 15:24:19 +0800 Subject: [PATCH] =?UTF-8?q?fix():=E4=BF=AE=E6=94=B9=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=8C=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=AD=89=E9=A1=B5=E9=9D=A2=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TableModule/index.jsx | 25 +- src/components/TableModule/index.scss | 22 + .../OrderInquiry/OrderChangeInquiry/index.scss | 6 +- .../OrderInquiry/ParkingOrderInquiry/index.jsx | 1164 +++++++++++++++++++- .../OrderInquiry/ParkingOrderInquiry/index.scss | 323 +++++- .../OrderInquiry/ReturnOrderInquiry/index.jsx | 496 ++++++++- .../OrderInquiry/ReturnOrderInquiry/index.scss | 322 +++++- .../PersonMgm/MesNotification/loadable.jsx | 158 +-- .../DisabledCarParkRecordTotal/index.scss | 46 +- .../RecordInquiry/ParkRecordTotal/index.scss | 56 +- .../OperationCenter/CarMgm/CarAuth/loadable.jsx | 7 +- .../OperationCenter/CarMgm/CarInfo/index.scss | 38 +- .../OperationCenter/CarMgm/CarInfo/loadable.jsx | 42 +- .../OperationCenter/UserMgm/UserInfo/index.scss | 38 +- .../OperationCenter/UserMgm/UserInfo/loadable.jsx | 114 +- .../OutSegmentMgm/OutSegment/AddParking.jsx | 12 +- .../OutSegment/ConfigParking/MSPages.jsx | 3 +- .../OutSegmentMgm/OutSegment/loadable.jsx | 1 + 18 files changed, 2623 insertions(+), 250 deletions(-) diff --git a/src/components/TableModule/index.jsx b/src/components/TableModule/index.jsx index 206c9ef..880884c 100644 --- a/src/components/TableModule/index.jsx +++ b/src/components/TableModule/index.jsx @@ -36,7 +36,7 @@ const TableModule = forwardRef((props, ref) => { columns = [], //表头 tableData = [], //table的数据 formSearch = [], //左侧数据搜索项 - search = () => {}, //搜索按钮的回调函数 + search = () => { }, //搜索按钮的回调函数 total = 0, //总数据量 initFormData = {}, //初始化的表格搜索项 exportUrl = "", //导出的接口 @@ -45,6 +45,7 @@ const TableModule = forwardRef((props, ref) => { rightButtonGroup = [], //右侧按钮额外的展示,需要传入数组 otherData = {}, //额外需要携带的参数,传入对象 rowKey, //table的key值 + userInfo = {},//用户信息页面数据 } = props; const [searchForm] = Form.useForm(); const [tipForm] = Form.useForm(); @@ -77,6 +78,7 @@ const TableModule = forwardRef((props, ref) => { }); //区域列表 const [areaSelectedList, setAreaSelectedList] = useState([]); + const [toTime, setToTime] = useState(moment().subtract(3, 'days').startOf("day")); //tip导出弹窗 const [tipModal, setTipModal] = useState({ visible: false, @@ -228,7 +230,7 @@ const TableModule = forwardRef((props, ref) => { name={"start_time"} key={"start_time"} initialValue={ - (item.defaultValue && item.defaultValue[0]) || + toTime||(item.defaultValue && item.defaultValue[0]) || moment().startOf("day") } > @@ -247,6 +249,7 @@ const TableModule = forwardRef((props, ref) => { > + {/*
{ setToTime(moment().subtract(7, 'days').startOf("day")) }}>昨天
*/} ); break; @@ -381,7 +384,7 @@ const TableModule = forwardRef((props, ref) => { {renderSearch()}
+ {userInfo.all_user_count ? +
+
+ 用户总量:{userInfo.all_user_count} +
+
+ 身份认证总量: {userInfo.auth_user_count} +
+
+ 绑定车辆会员数量:{userInfo.total} +
+
+ : null} +
共查询到 @@ -461,7 +478,7 @@ const TableModule = forwardRef((props, ref) => { ); }); function InputSelectGroup(params) { - const { onChange = () => {} } = params; + const { onChange = () => { } } = params; const [timeType, setTimeType] = useState(1); const [timeGroup, setTimeGroup] = useState({ start_time: moment().subtract(1, "day").format(), diff --git a/src/components/TableModule/index.scss b/src/components/TableModule/index.scss index e05e826..c640cfb 100644 --- a/src/components/TableModule/index.scss +++ b/src/components/TableModule/index.scss @@ -21,6 +21,23 @@ $color-primary: var(--color-primary); } } .right-list { + .total-wrapper { + display: block; + .total-item { + display: inline-block; + opacity: 0.8; + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + font-weight: 400; + text-align: left; + margin-right: 25px; + span { + font-family: Microsoft YaHei, Microsoft YaHei-Bold; + font-weight: 700; + text-align: left; + color: #ffffff; + } + } + } height: calc(100% - 10px); &::-webkit-scrollbar :hover { width: 10px; @@ -174,6 +191,11 @@ $color-primary: var(--color-primary); display: inline-block; word-wrap: break-word; white-space: normal; + opacity: 0.8; + font-size: 14px; + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + font-weight: 400; + color: #eeeff1; } } .ant-picker { diff --git a/src/pages/FinancialMgm/OrderInquiry/OrderChangeInquiry/index.scss b/src/pages/FinancialMgm/OrderInquiry/OrderChangeInquiry/index.scss index 11d7a1a..336c4ad 100644 --- a/src/pages/FinancialMgm/OrderInquiry/OrderChangeInquiry/index.scss +++ b/src/pages/FinancialMgm/OrderInquiry/OrderChangeInquiry/index.scss @@ -158,19 +158,19 @@ $color-primary : var(--color-primary); .ant-table-thead { th { - background: var(--color-table-header-bg) !important; + background: #616b83 !important; } } .ant-table-tbody { td { - background: var(--color-table-body-bg) !important; + background: #3E4557 !important; border-bottom-color: var(--color-table-border-bottom-color); } tr:nth-child(even) { td { - background: var(--color-table-body-bg-nth-child-even) !important; + background: #3E4557 !important; } } } diff --git a/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx b/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx index e359224..12e6195 100644 --- a/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx +++ b/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx @@ -1,15 +1,1159 @@ import React, { useState, useRef, useEffect } from "react"; -// import { message, Pagination, Table, Space, Modal, } 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 { + message, + Pagination, + Table, + Input, + Space, + Modal, + Button, + Select, + Tabs, + Descriptions, + Timeline +} from "antd"; +const { TextArea } = Input; +import moment from "moment"; +import ajax from '@/config/ajax.js' +import { TableModule } from "@/components"; +import { dictionary } from "@/config/common.js"; +import "./index.scss"; function ParkingOrderInquiry() { - return
ParkingOrderInquiry
+ const [carId, setCarId] = useState() + + //构建表头 + const createCol = (label, name, type) => { + label.length == name.length ? null : console.log('参数缺失', 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 + case "退款订单ID": + case "业务订单ID": + case "支付订单ID": + cm.render = (text) => ( + <> + { + navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") }); + }}>{text} + + ) + break + default: break + } + arr.push(cm) + }) + var obj = { + title: "操作", + dataIndex: "operation", + key: "operation", + fixed: "right", + align: "center", + } + switch (type) { + case 2: + obj.render = (text, record) => (<> + { + setYcddData(record) + setDetailVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + case 5: + obj.render = (text, record) => (<> + { + refundSearch(record) + setTkddVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + case 6: + obj.render = (text, record) => (<> + { + setTkddVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + case 7: + obj.render = (text, record) => (<> + { + setTkddVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + case 8: + obj.render = (text, record) => (<> + { + + }}> + 详情 + + ) + arr.push(obj) + break + default: break + } + return arr + } + //基本信息检索条件 + const formSearch = [ + { + name: "carId", + type: "Input", + label: "车牌号", + placeholder: "请输入车牌号", + }, + { + name: "mobile", + type: "Input", + label: "会员手机号", + placeholder: "请输入会员手机号", + }, + { + name: "authState", + type: "Select", + label: "认证状态", + options: [ + { + label: "已认证", + value: 0, + }, + { + label: "未认证", + value: 1, + }, + + ], + }, + { + name: "bingState", + type: "Select", + label: "绑定状态", + options: [ + { + label: "已绑定", + value: 0, + }, + { + label: "未绑定", + value: 1, + }, + + ], + }, + { + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultValue: [moment().subtract(1, "month"), moment()], + }, + ]; + //退费记录检索条件 + const formRefundSearch = [ + { + name: "refund_id", + type: "Input", + label: "退款订单号", + placeholder: "请输入退款订单号", + }, + { + name: "type", + type: "Select", + label: "业务订单类型", + options: dictionary.BusinessOrderType, + }, + { + name: "park_id", + type: "Input", + label: "业务订单ID", + placeholder: "请输入业务订单ID", + }, + { + name: "order_id", + type: "Input", + label: "支付订单ID", + placeholder: "请输入支付订单ID", + }, + { + name: "state", + type: "Select", + label: "退款状态", + options: [ + { + label: "全部", + value: 0, + }, + { + label: "待确认", + value: 1, + }, + { + label: "退款中", + value: 2, + }, + { + label: "已完成", + value: 3, + }, + { + label: "退款失败", + value: 4, + }, + ], + }, + { + name: "reason", + type: "Select", + label: "退款原因", + options: [ + { + label: "全部", + value: 0, + }, + { + label: "异常订单处理", + value: 1, + }, + { + label: "自动平单退款", + value: 2, + }, + ], + }, + { + name: "flow_id", + type: "Input", + label: "渠道流水号", + placeholder: "请输入渠道流水号", + }, + { + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultTitle: ['退款时间', '至'], + defaultValue: [moment().subtract(1, "month"), moment()], + }, + ]; + //所有检索条件 + const ash = [ + {//1 + name: "region", + type: "TreeSelect", + label: "区域", + }, + {//2 + name: "operator", + type: "Select", + label: "商户名称", + options: dictionary.MerchantName, + }, + {//3 + name: "road", + type: "Input", + label: "停车场名称", + placeholder: "请输入停车场名称", + }, + {//4 + name: "road_type", + type: "Select", + label: "车场类型", + options: [ + { + label: "全部", + value: 0, + }, + { + label: "路侧平行", + value: 1, + }, + { + label: "路侧垂停", + value: 2, + }, + { + label: "封闭车场", + value: 3, + }, + { + label: "半封闭车场", + value: 4, + }, + ], + }, + {//5 + name: "phone", + type: "Input", + label: "手机号", + placeholder: "请输入手机号", + }, + {//6 + name: "type", + type: "Select", + label: "出入场类型", + placeholder: "请选择出入场类型", + defaultValue: 1, + options: [ + { + label: "入场", + value: 1, + }, + { + label: "出场", + value: 2, + }, + ], + }, + + {//7 + name: "b", + type: "Input", + label: "商品名称", + placeholder: "请输入商品名称", + }, + {//8 + name: "b", + type: "Select", + label: "购买渠道", + placeholder: "请选择购买渠道", + options: [ + { + label: "全部", + value: 0, + }, + { + label: "线上渠道", + value: 1, + }, + { + label: "后台录入", + value: 2, + }, + ], + }, + {//9 + name: "b", + type: "Select", + label: "订单状态", + placeholder: "请选择订单状态", + options: [ + { + label: "全部", + value: 0, + }, + { + label: "未生效", + value: 1, + }, + { + label: "生效中", + value: 2, + }, + { + label: "已失效", + value: 3, + }, + ], + }, + {//10 + name: "PayChannel", + type: "Select", + label: "支付渠道", + placeholder: "请选择支付渠道", + options: dictionary.PayChannel, + }, + {//11 + name: "payment_equipment", + type: "Select", + label: "支付设备", + placeholder: "请选择支付设备", + options: dictionary.PayDevice + }, + {//12 + name: "pay_type", + type: "Select", + label: "支付方式", + placeholder: "请选择支付方式", + options: dictionary.PaydMethod, + }, + {//13 + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultValue: [moment().startOf("day"), moment()], + }, + {//14 + name: "b", + type: "Select", + label: "退款方式", + placeholder: "请选择退款方式", + options: dictionary.PaydMethod, + }, + {//15 + name: "b", + type: "Input", + label: "第三方流水号", + placeholder: "请输入第三方流水号", + }, + {//16 + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultTitle: ['支付时间', '至'] + // defaultValue: [moment().startOf("day"), moment()], + }, + {//17 + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultTitle: ['订购时间', '至'] + // defaultValue: [moment().startOf("day"), moment()], + }, + {//18 + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultTitle: ['预约到场时间', '至'] + // defaultValue: [moment().startOf("day"), moment()], + }, + {//19 + name: "plate", + type: "Input", + label: "车牌号", + placeholder: "请输入车牌号", + }, + {//20 + name: "order_id", + type: "Input", + label: "支付订单ID", + placeholder: "请输入支付订单ID", + }, + {//21 + name: "t", + type: "Input", + label: "泊位号", + placeholder: "请输入泊位号", + }, + {//22 + name: "t", + type: "Select", + label: "所属商户", + placeholder: "请选择所属商户", + options: dictionary.PaydMethod, + }, + {//23 + name: "t", + type: "Input", + label: "预付订单ID", + placeholder: "请输入订单ID", + }, + {//24 + name: "t", + type: "Input", + label: "停车记录ID", + placeholder: "停车记录ID", + }, + {//25 + name: "t", + type: "Input", + label: "操作人", + placeholder: "请输入操作人", + }, + ]; + const [tag, setTag] = useState('1'); + const [edit, setEdit] = useState(true); + const [resultData, setResultData] = useState([]) + const [baseData, setBaseData] = useState({ + //car_type:2 + }) + const [bindData, setBindData] = useState([])//绑定 + const [modiData, setModiData] = useState([])//修改 + const [detailData, setDetailData] = useState([])// + const [ycddData, setYcddData] = useState([])//异常订单数据 + const [detailVisible, setDetailVisible] = useState(false); + const [ltcVisible, setLtcVisible] = useState(false); + const [timesVisible, setTimesVisible] = useState(false); //退款尝试次数展开 + const [ycddVisible, setYcddVisible] = useState(false); + const [tkddVisible, setTkddVisible] = useState(false); + const [cardVisible, setCardVisible] = useState(false); + const [eaeVisible, setEaeVisible] = useState(false);//出入场图片 + const [bigpicVisible, setBigpicVisible] = useState(false);//大图展示 + const [bigPic, setBigPic] = useState(); + const [total, setTotal] = useState(0); + const [tabKey, setTabKey] = useState("1"); + function openModal(params) { + setDetailVisible(true); + } + function changeKey(key) { + setTabKey(key); + } + + //基本信息查询 + function search(e) { + // if (!e.type) { + // e.type = 1 + // } + ajax({ + url: "/api/ope/car/list", + type: "post", + data: { ...e }, + }).then((res) => { + let { status, data, total } = res + if (status == 20000) { + setResultData(data) + setTotal(total) + } else { + message.error(res.message) + } + }) + } + //基本信息详情 + function searchDetail(e) { + ajax({ + url: "/api/ope/car/get_base_info", + type: "get", + data: { carId: e?.carId || carId }, + }).then((res) => { + let { status, data, total } = res + if (status == 20000) { + setBaseData(data) + setTag('2') + } else { + message.error(res.message) + } + }) + ajax({//绑定 + url: "/api/ope/car/get_bind_records", + type: "get", + data: { carId: e?.carId || carId }, + }).then((res) => { + let { status, data, total } = res + if (status == 20000) { + setBindData(data) + } else { + message.error(res.message) + } + }) + ajax({//修改数据 + url: "/api/ope/car/get_edit_records", + type: "get", + data: { carId: e?.carId || carId }, + }).then((res) => { + let { status, data, total } = res + if (status == 20000) { + setModiData(data) + } else { + message.error(res.message) + } + }) + } + //编辑车辆外观信息 + function editDetail() { + ajax({ + url: "/api/ope/car/edit_car", + type: "post", + data: { + carId: baseData.carId, + car_brand: baseData.car_brand, + car_model: baseData.car_model, + car_color: baseData.car_color, + car_type: baseData.car_type, + plate_type: baseData.plate_type, + }, + }).then((res) => { + let { status, data } = res + if (status == 20000) { + setEdit(true) + //window.location.reload() + //setTag('2') + searchDetail() + } else { + message.error(res.message) + } + }) + + } + //详情其他模块查询 + function searchOther(e) { + var url = '' + switch (tabKey) { + case "1": + url = "" + break + case "2": + url = "/api/bpm/record/get_record_list"//停车记录 + break + case "3": + url = "/api/bpm/record/get_parking_arrears_list"//欠费记录 + break + default: break + } + if (tabKey == '3' && e && !e?.type) { + e.type = 1 + } + ajax({ + url: url, + type: "post", + data: { ...e, carId: carId, startTime: e?.start_time, endTime: e?.end_time }, + }).then((res) => { + let { status, data, total } = res + if (status == 20000) { + if (data.list) { + setResultData(data.list) + setTotal(data.total) + } else { + setResultData(data) + setTotal(total) + } + } else { + setResultData([]) + message.error(res.message) + } + }) + } + //退款订单详情 + function refundSearch(e) { + ajax({ + url: "/api/ope/record/get_refund_info", + type: "get", + data: { id: e.refund_id }, + }).then((res) => { + let { status, data } = res + if (status == 20000) { + //setResultData(data) + setYcddData(data) + } else { + message.error(res.message) + } + }) + } + //停车记录信息渲染 + function renderParkRecord(params) { + return ( +
+
停车场信息
+
+
+
停车场名称
{params?.road || "--"}
+
+
+
泊位号
{params.berth_id || "--"}
+
+
+
区域
{params.region || "--"}
+
+
+
商户
{params.operator || "--"}
+
+
+
车场类型
{params.road_type || "--"}
+
+
+
停车信息
+
+
+
车牌号
{params.plate || "--"}
+
+
+
会员手机号
{params.phone || "--"}
+
+
+
入场时间
{params.in_time || "--"}
+
+
+
出场时间
{params.out_time || "--"}
+
+
+
停车时长
{params.admission_time || "--"}
+
+
+
订单金额
{params.order_amount || "--"}
+
+
+
停车卡折扣
{params.parking_card_discount || "--"}
+
+
+
车场折扣
{params.road_discount || "--"}
+
+
+
应收金额
{params.receivable_amount || "--"}
+
+
+
优惠券
{params.preferential_amount || "--"}
+
+
+
优惠总计
{params.preferential_total || "--"}
+
+
+
实付金额
{params.actual_amount || "--"}
+
+
+
优惠退款
{params.refund_discount || "--"}
+
+
+
实付退款
{params.actual_refund || "--"}
+
+
+
退款总计
{params.refund_total || "--"}
+
+
+
入场收费员
{params.in_person || "--"}
+
+
+
出场收费员
{params.out_person || "--"}
+
+
+
入场照片
+ + { setBigPic(params.in_veh_pic); setBigpicVisible(true) }} /> + { setBigPic(params.in_plate_pic); setBigpicVisible(true) }} /> + +
+ ); + } + //基本信息渲染 + function renderRecord(params) { + return ( +
+
+
+ +
+
+
车辆归属信息
+
+
+ 车牌颜色:{baseData.plate_color} +
+
+ 车牌号:{baseData.plate_number} +
+
+ 绑定会员账户:{baseData.mobile} +
+
+ 认证状态:{baseData.authStateName} +
+
+ 车牌归属地:{baseData.home_location} +
+
+ 创建时间:{baseData.create_time} +
+
+
+
车辆外观信息 + { + edit ?
{ setEdit(false) }}>编辑
: + <> +
{ editDetail(); }}>保存
+
{ setEdit(true) }}>取消
+ + } +
+
+
+ 车辆品牌: { console.log(e); setBaseData({ ...baseData, car_brand: e.target.value }) }} placeholder="请输入车辆品牌" disabled={edit}> +
+
+ 车辆型号: +
+
+ 车身颜色: +
+
+ 车辆类型: + + +
+
+
+
+
+
车辆绑定记录
+
+ {/* */} + +
车辆信息修改记录
+ {/*
*/} + + + ); + } + //其他页面渲染 + function renderTable(columns, arr, dataSource) { + return ( + + ); + } + //退款订单详情 + const tkddModal =
+
退款订单:{ycddData?.refund_id}
+
+
+
生成时间
{ycddData?.refund_time || "--"}
+
+
+
退款状态
{ycddData.refund_state || "--"}
+
+
+
支付渠道
{ycddData.payment_channels || "--"}
+
+
+
退款方式
{ycddData.refund_type || "--"}
+
+
+
应退实付金额
{ycddData.refund_actual_amount || "--"}
+
+
+
已退实付金额
{ycddData.has_refund_actual_amount || "--"}
+
+
+
应退优惠金额
{ycddData.refund_discount_amount || "--"}
+
+
+
已退优惠金额
{ycddData.has_refund_discount_amount || "--"}
+
+
+
退款尝试次数
{ycddData.try_count || "--"} + {timesVisible ? + { setTimesVisible(false) }}>收起 : + { setTimesVisible(true) }}>查看} +
+
+
+
最近尝试时间
{ycddData.latest_try_time || "--"}
+
+
+ + + {timesVisible ? <> +
退款尝试详情
+ : + <> +
支付订单:{ycddData.order_id}
+
+
+
平台商户
{ycddData.payment_operator_name}
+
+
+
生成时间
{ycddData.payment_create_time}
+
+
+
支付时间
{ycddData.pay_time}
+
+
+
支付渠道
{ycddData.payment_equipment}
+
+
+
优惠金额
{ycddData.discount_amount}
+
+
+
支付应用
{ycddData.payment_equipment}
+
+
+
实付金额
{ycddData.paid_in_money}
+
+
+
停车订单:{ycddData.park_record_id}
+
车厂详情
+
+
+
平台商户
{ycddData.payment_operator_name}
+
+
+
停车场名称
{ycddData?.road_name}
+
+
+
区域
{ycddData.area_name}
+
+
+
商户名称
{ycddData.park_operator_name}
+
+
+
泊位号
{ycddData.berth_code}
+
+
+
车场类型
{ycddData.road_type}
+
+
+
车辆详情
+
+
+
车牌号
{ycddData.plate_number}
+
+
+
停车时长
{ycddData.parking_duration}
+
+
+
入场时间
{ycddData.in_time}
+
+
+
出场时间
{ycddData.out_time}
+
+
+
入场记录来源
{ycddData.inSource}
+
+
+
出场记录来源
{ycddData.outSource}
+
+ +
+ } + + + +
+ + //停车卡详情 + const tckModal =
+
订单信息:
+
+ + {ycddData?.t || "--"} + {ycddData.r || "--"} + {ycddData.o || "--"} + {ycddData.r || "--"} + {ycddData.mobile || "--"} + {ycddData.r || "--"} + {ycddData.r || "--"} + {ycddData.r || "--"} + {ycddData.r || "--"} + +
商品信息:
+
+ + {ycddData.plate} + {ycddData.admission_time} + {ycddData.in_time} + {ycddData.out_time} + {ycddData.in_source} + {ycddData.out_source} + + +
+ + //错峰卡详情 + const cfkModal =
+
订单信息:
+
+ + {ycddData?.road || "--"} + {ycddData.mobile || "--"} + {ycddData.plate_number || "--"} + {ycddData.r || "--"} + {ycddData.r || "--"} + {ycddData.r || "--"} + {ycddData.r || "--"} + +
商品信息:
+
+ + {ycddData.plate} + {ycddData.admission_time} + +
+ useEffect(() => { + searchOther() + }, [tabKey]) + + const orderInfo = <> + + + {renderTable( + createCol(['欠费订单ID', '停车订单ID', '区域', '商户名称', '停车场名称', '车场类型', '车牌号', '入场时间', '出场时间', '停车时长', '应收金额', '欠费金额(元)'], + ['merchantName', '', 'area', '', 'sectionName', '', 'licensePlateNumber', 'entryTime', 'exitTime', '', 'arrearsAmount'], 1), + [ash[25], ash[0], ash[1], ash[2], ash[3], ash[18], ash[5], ash[0], ash[12]], + resultData + )} + + + {renderTable( + createCol(['停车订单ID', '欠费金额(元)', '订单修改时间', '修改原因', '处理记录ID', '区域', '商户名称', '停车场名称', '车场类型', '车牌号', '入场时间', '出场时间', '停车时长'], + ['merchantName', '', 'area', '', 'sectionName', '', 'licensePlateNumber', 'entryTime', 'exitTime', '', 'arrearsAmount'], 2), + [ash[25], ash[0], ash[1], ash[2], ash[3], ash[18], ash[5], ash[0], ash[12]], + resultData + )} + + + {renderTable( + createCol(['支付订单ID', '停车订单ID', '支付商户', '平台商户', '停车场', '泊位号', '车牌号', '入场时间', '计费时间', '停车时长', '应收金额', '优惠金额', '实付金额', '支付渠道', '支付设备', '操作人', '付款车场', '支付时间', '渠道流水号'], + ['merchantName', '', 'area', '', 'sectionName', '', 'licensePlateNumber', 'entryTime', 'exitTime', '', 'arrearsAmount'], 3), + [ash[19], ash[2], ash[18], ash[20], ash[21], ash[9], ash[10], ash[14], ash[15]], + resultData + )} + + + + return ( + <> + + + {renderTable( + createCol(['支付订单ID', '停车订单ID', '支付商户', '平台商户', '停车场', '泊位号', '车牌号', '入场时间', '计费时间', '停车时长', '应收金额', '优惠金额', '实付金额', '支付渠道', '支付设备', '操作人', '付款车场', '支付时间', '渠道流水号'], + ['merchantName', '', 'area', '', 'sectionName', '', 'licensePlateNumber', 'entryTime', 'exitTime', '', 'arrearsAmount'], 1), + [ash[19], ash[2], ash[18], ash[20], ash[21], ash[9], ash[10], ash[14], ash[15]], + resultData + )} + + + {orderInfo} + + + {renderTable( + createCol(['订单ID', '支付商户', '所属商户', '支付渠道', '支付设备', '操作人', '支付时间', '预付金额', '已抵扣金额', '退款金额', '抵扣时间', '停车记录ID'], + ['index', 'latest_try_time', 'payment_channels_name', 'refund_actual_amount', 'refund_discount_amount', 'reason', 'refund_time', 'payment_order_id', 'parking_type_name', 'park_record_id', 'payment_type_name', 'payment_order_id', 'flow_id', 'state_name'], 3), + [ash[22], ash[23], ash[21], ash[24], ash[15]], + resultData + )} + + + + + + { + setDetailVisible(false); + }} + footer={null} + > + + + {/* {renderParkRecord(detailData)} */} + {renderParkRecord(ycddData)} + + + {/* {renderModalTable(payRecordColumns, payRecord)} */} + + + + { + setBigpicVisible(false); + }} + footer={false} + > +
+
+ +
+
+
+ { + setTkddVisible(false); + }} + footer={[ + ]} + > + {/* {tkddModal} */} + {tabKey == '5' ? tkddModal : tabKey == '6' ? tckModal : tabKey == '7' ? cfkModal : null} + + + { + setEaeVisible(false); + }} + footer={false} + > +
+
入场图片
+
+
车辆照片
+ +
+
+
车牌照片
+ +
+
+
+ + ); } export default ParkingOrderInquiry; \ No newline at end of file diff --git a/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.scss b/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.scss index 1838f71..ea32ac0 100644 --- a/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.scss +++ b/src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.scss @@ -1,5 +1,320 @@ @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-tabs-tabpane-hidden { + display: none; +} +.ant-tabs { + margin-bottom: 16px; + .ant-tabs-nav { + margin-bottom: 0 !important; + &::before { + border-bottom: 1px solid var(--color-card-line) !important; + } + } + .ant-tabs-nav-wrap { + width: 100%; + box-sizing: content-box; + .ant-tabs-nav-list { + width: 340px; + .ant-tabs-ink-bar { + height: 3px; + background-color: #00ccff; + } + .ant-tabs-tab { + flex: 1; + width: 100%; + display: flex; + justify-content: center; + padding-bottom: 10px; + text-align: center; + cursor: pointer; + font-size: 14px !important; + font-family: MicrosoftYaHei; + text-align: center; + letter-spacing: 0.7px; + } + .ant-tabs-tab-active { + div { + color: #00ccff; + } + } + } + } +} +.ant-input::-webkit-input-placeholder { + color: var(--color-placeholder); +} +.ant-input::-moz-placeholder { + color: var(--color-placeholder); +} +.ant-input:-ms-input-placeholder { + color: var(--color-placeholder); +} +.ant-input::placeholder { + color: var(--color-placeholder); +} +.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); +} + +.ant-form-horizontal .ant-form-item-label { + label { + display: inline-block; + word-wrap: break-word; + white-space: normal; + } +} +.ant-picker { + width: 100%; + background-color: var(--color-search-list-item-bg); + border-color: var(--color-border); +} +.yisa-table { + width: 100%; + + .ant-table-thead { + th { + background: var(--color-table-header-bg) !important; + } + } + + .ant-table-tbody { + td { + background: var(--color-table-body-bg) !important; + border-bottom-color: var(--color-table-border-bottom-color); + } + tr:nth-child(even) { + td { + background: var(--color-table-body-bg-nth-child-even) !important; + } + } + } +} +.base-ltc { + display: flex; + +} +.ltc-img { + margin-right: 20px; +} +.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: 18px; + margin: 6px 0; + display: inline-block; + width: 470px; + .new-item { + display: inline-block; + width: 120px; + height: 32px; + background: rgba(150,161,192,0.24); + text-align: center; + } + .new-value { + display: inline-block; + width: 320px; + 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; + } + } + } + .ltc-liuc { + display: flex; + margin-left: 200px; + .ltc-item { + display: flex; + .ltc-item-name { + margin: 6px 10px 0 10px; + color: #3f94df; + } + } + .ltc-work{ + text-align: center; + .ltc-tips { + border: 3px solid #000; + text-align: center; + line-height: 27px; + height: 35px; + width: 35px; + border-radius: 28px; + margin: auto; + } + } + + } +} +.distable { + .ant-pagination { + justify-self: center; + } +} +.eae-modal { + .eae-modal-title { + font-size: 18px; + font-weight: bolder; + .ltc-icon { + width: 5px; + background: #0080db; + height: 19px; + display: inline-block; + margin-right: 10px; + } + } + .eae-modal-item { + display: inline-block; + font-size: 16px; + } +} +.cc-container { + overflow: auto; +} +.back-btn { + position: absolute; + right: 50px; + border: 1px solid #bdbdbd; + border-radius: 5px; + width: 60px; + height: 35px; + line-height: 30px; + text-align: center; + background: #ffffff; + color: #000; + cursor: pointer; + z-index: 9999; +} \ No newline at end of file diff --git a/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx b/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx index 0f344c2..a59df00 100644 --- a/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx +++ b/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx @@ -1,15 +1,491 @@ import React, { useState, useRef, useEffect } from "react"; -// import { message, Pagination, Table, Space, Modal, } 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 { + message, + Pagination, + Table, + Input, + Space, + Modal, + Button, + Select, + Tabs, + Descriptions, + Timeline +} from "antd"; +import moment from "moment"; +import ajax from '@/config/ajax.js' +import { TableModule } from "@/components"; +import { dictionary } from "@/config/common.js"; +import "./index.scss"; function ReturnOrderInquiry() { - return
ReturnOrderInquiry
+ const [memberId, setMemberId] = useState() + //构建表头 + const createCol = (label, name, type) => { + 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 + case "退款订单ID": + case "业务订单ID": + case "支付订单ID": + cm.render = (text) => ( + <> + { + navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") }); + }}>{text} + + ) + break + default: break + } + arr.push(cm) + }) + var obj = { + title: "操作", + dataIndex: "operation", + key: "operation", + fixed: "right", + align: "center", + } + switch (type) { + case 2: + obj.render = (text, record) => (<> + { + setYcddData(record) + setDetailVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + case 6: + obj.render = (text, record) => (<> + { + setTkddVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + case 7: + obj.render = (text, record) => (<> + { + setTkddVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + case 8: + obj.render = (text, record) => (<> + { + refundSearch(record) + setTkddVisible(true) + }}> + 详情 + + ) + arr.push(obj) + break + default: break + } + return arr + } + //退费记录检索条件 + const formRefundSearch = [ + { + name: "refund_id", + type: "Input", + label: "退款订单号", + placeholder: "请输入退款订单号", + }, + { + name: "type", + type: "Select", + label: "业务订单类型", + options: dictionary.BusinessOrderType, + }, + { + name: "park_id", + type: "Input", + label: "业务订单ID", + placeholder: "请输入业务订单ID", + }, + { + name: "order_id", + type: "Input", + label: "支付订单ID", + placeholder: "请输入支付订单ID", + }, + { + name: "state", + type: "Select", + label: "退款状态", + options: [ + { + label: "全部", + value: 0, + }, + { + label: "待确认", + value: 1, + }, + { + label: "退款中", + value: 2, + }, + { + label: "已完成", + value: 3, + }, + { + label: "退款失败", + value: 4, + }, + ], + }, + { + name: "reason", + type: "Select", + label: "退款原因", + options: [ + { + label: "全部", + value: 0, + }, + { + label: "异常订单处理", + value: 1, + }, + { + label: "自动平单退款", + value: 2, + }, + ], + }, + { + name: "flow_id", + type: "Input", + label: "渠道流水号", + placeholder: "请输入渠道流水号", + }, + { + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultTitle: ['退款时间', '至'], + defaultValue: [moment().subtract(1, "month"), moment()], + }, + ]; + + const [tag, setTag] = useState('1'); + const [resultData, setResultData] = useState([]) + const [baseData, setBaseData] = useState({ + //car_type:2 + img: '' + }) + 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 [bqVisible, setBqVisible] = useState(false);//流程查看 + const [bigPic, setBigPic] = useState(); + const [total, setTotal] = useState(0); + const [tabKey, setTabKey] = useState("1"); + function openModal(params) { + setDetailVisible(true); + } + + //基本信息详情 + function searchDetail(e) { + ajax({ + url: "/api/ope/user/get_base_info", + type: "get", + data: { memberId: e.memberId }, + }).then((res) => { + let { status, data, total } = res + if (status == 20000) { + setBaseData(data) + setTag('2') + } else { + message.error(res.message) + } + }) + + } + + //详情其他模块查询 + function searchOther(e) { + var url = '' + switch (tabKey) { + case "1": + url = "" + break + case "2": + url = "/api/bpm/record/get_record_list"//停车记录 + break + case "3": + url = "/api/bpm/record/get_payment_list"//支付记录 + break + case "4": + url = "/api/ope/record/get_recharge_list"//充值記錄 + break + case "5": + url = "/api/bpm/record/get_parking_arrears_list"//欠费记录 + break + case "6": + url = "" + break + case "7": + url = "" + break + case "8": + url = "/api/ope/record/get_refund_list"//退费订单 + break + default: break + } + if (tabKey == '5' && e && !e?.type) { + e.type = 1 + } + ajax({ + url: url, + type: "post", + data: { ...e, memberId: memberId, startTime: e?.start_time, endTime: e?.end_time }, + }).then((res) => { + let { status, data, total } = res + if (status == 20000) { + if (data.list) { + setResultData(data.list) + setTotal(data.total) + } else { + setResultData(data) + setTotal(total) + } + } else { + setResultData([]) + message.error(res.message) + } + }) + } + //退款订单详情 + function refundSearch(e) { + ajax({ + url: "/api/ope/record/get_refund_info", + type: "get", + data: { id: e.refund_id }, + }).then((res) => { + let { status, data } = res + if (status == 20000) { + //setResultData(data) + setYcddData(data) + } else { + message.error(res.message) + } + }) + } + + //其他页面渲染 + function renderTable(columns, arr, dataSource, exportUrl) { + return ( + + ); + } + + //退款订单详情 + const tkddModal =
+
退款订单:{ycddData?.refund_id}
+
+
+
生成时间
{ycddData?.refund_time || "--"}
+
+
+
退款状态
{ycddData.refund_state || "--"}
+
+
+
支付渠道
{ycddData.payment_channels || "--"}
+
+
+
退款方式
{ycddData.refund_type || "--"}
+
+
+
应退实付金额
{ycddData.refund_actual_amount || "--"}
+
+
+
已退实付金额
{ycddData.has_refund_actual_amount || "--"}
+
+
+
应退优惠金额
{ycddData.refund_discount_amount || "--"}
+
+
+
已退优惠金额
{ycddData.has_refund_discount_amount || "--"}
+
+
+
退款尝试次数
{ycddData.try_count || "--"} + {timesVisible ? + { setTimesVisible(false) }}>收起 : + { setTimesVisible(true) }}>查看} +
+
+
+
最近尝试时间
{ycddData.latest_try_time || "--"}
+
+
+ {timesVisible ? <> +
退款尝试详情
+ {/*
record.id} + /> */} + : + <> +
支付订单:{ycddData.order_id}
+
+
+
平台商户
{ycddData.payment_operator_name}
+
+
+
生成时间
{ycddData.payment_create_time}
+
+
+
支付时间
{ycddData.pay_time}
+
+
+
支付渠道
{ycddData.payment_equipment}
+
+
+
优惠金额
{ycddData.discount_amount}
+
+
+
支付应用
{ycddData.payment_equipment}
+
+
+
实付金额
{ycddData.paid_in_money}
+
+
+
停车订单:{ycddData.park_record_id}
+
车厂详情
+
+
+
平台商户
{ycddData.payment_operator_name}
+
+
+
停车场名称
{ycddData?.road_name}
+
+
+
区域
{ycddData.area_name}
+
+
+
商户名称
{ycddData.park_operator_name}
+
+
+
泊位号
{ycddData.berth_code}
+
+
+
车场类型
{ycddData.road_type}
+
+
+
车辆详情
+
+
+
车牌号
{ycddData.plate_number}
+
+
+
停车时长
{ycddData.parking_duration}
+
+
+
入场时间
{ycddData.in_time}
+
+
+
出场时间
{ycddData.out_time}
+
+
+
入场记录来源
{ycddData.inSource}
+
+
+
出场记录来源
{ycddData.outSource}
+
+ +
+ } + + + useEffect(() => { + searchOther() + }, [tabKey]) + + return ( + <> + + {renderTable( + createCol(['序号', '最近尝试时间', '支付渠道', '应退实付(元)', '应退优惠(元)', '退款原因', '退款申请时间', '退款订单ID', '业务订单类型', '业务订单ID', '支付订单类型', '支付订单ID', '渠道流水号', '状态'], + ['index', 'latest_try_time', 'payment_channels_name', 'refund_actual_amount', 'refund_discount_amount', 'reason', 'refund_time', 'payment_order_id', 'parking_type_name', 'park_record_id', 'payment_type_name', 'payment_order_id', 'flow_id', 'state_name'], 8), + formRefundSearch, + resultData + )} + { + setBigpicVisible(false); + }} + footer={false} + > +
+
+ +
+
+
+ { + setTkddVisible(false); + }} + footer={[ + ]} + > + {tkddModal} + {/* {tabKey == '8' ? tkddModal : tabKey == '6' ? tckModal : tabKey == '7' ? cfkModal : null} */} + + + + ); } export default ReturnOrderInquiry; \ No newline at end of file diff --git a/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.scss b/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.scss index 1838f71..9e876e8 100644 --- a/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.scss +++ b/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.scss @@ -1,5 +1,319 @@ @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-tabs-tabpane-hidden { + display: none; +} +.ant-tabs { + margin-bottom: 16px; + .ant-tabs-nav { + margin-bottom: 0 !important; + &::before { + border-bottom: 1px solid var(--color-card-line) !important; + } + } + .ant-tabs-nav-wrap { + width: 100%; + box-sizing: content-box; + .ant-tabs-nav-list { + width: 340px; + .ant-tabs-ink-bar { + height: 3px; + background-color: #00ccff; + } + .ant-tabs-tab { + flex: 1; + width: 100%; + display: flex; + justify-content: center; + padding-bottom: 10px; + text-align: center; + cursor: pointer; + font-size: 14px !important; + font-family: MicrosoftYaHei; + text-align: center; + letter-spacing: 0.7px; + } + .ant-tabs-tab-active { + div { + color: #00ccff; + } + } + } + } +} +.ant-input::-webkit-input-placeholder { + color: var(--color-placeholder); +} +.ant-input::-moz-placeholder { + color: var(--color-placeholder); +} +.ant-input:-ms-input-placeholder { + color: var(--color-placeholder); +} +.ant-input::placeholder { + color: var(--color-placeholder); +} +.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); +} + +.ant-form-horizontal .ant-form-item-label { + label { + display: inline-block; + word-wrap: break-word; + white-space: normal; + } +} +.ant-picker { + width: 100%; + background-color: var(--color-search-list-item-bg); + border-color: var(--color-border); +} +.yisa-table { + width: 100%; + + .ant-table-thead { + th { + background: var(--color-table-header-bg) !important; + } + } + + .ant-table-tbody { + td { + background: var(--color-table-body-bg) !important; + border-bottom-color: var(--color-table-border-bottom-color); + } + tr:nth-child(even) { + td { + background: var(--color-table-body-bg-nth-child-even) !important; + } + } + } +} +.base-ltc { + display: flex; +} +.ltc-img { + margin: 38px 20px; + .ltc-item { + width: 140px; + height: 32px; + background: rgba(150, 161, 192, 0.24); + text-align: center; + line-height: 32px; + } +} +.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: 18px; + margin: 6px 0; + display: inline-block; + width: 470px; + .new-item { + display: inline-block; + width: 120px; + height: 32px; + background: rgba(150,161,192,0.24); + text-align: center; + } + .new-value { + display: inline-block; + width: 320px; + 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; + } + } + .ltc-item-bind { + font-size: 18px; + margin: 10px 0; + display: block; + width: 900px; + .new-item-bind { + display: inline-block; + width: 400px; + } + .ltc-item-input { + display: inline-block; + width: 200px; + } + a { + margin-right: 20px; + } + } + } +} +.distable { + .ant-pagination { + justify-self: center; + } +} +.eae-modal { + .eae-modal-title { + font-size: 18px; + font-weight: bolder; + .ltc-icon { + width: 5px; + background: #0080db; + height: 19px; + display: inline-block; + margin-right: 10px; + } + } + .eae-modal-item { + display: inline-block; + font-size: 16px; + } +} +.cc-container { + overflow: auto; +} +.back-btn { + position: absolute; + right: 50px; + border: 1px solid #bdbdbd; + border-radius: 5px; + width: 60px; + height: 35px; + line-height: 30px; + text-align: center; + background: #ffffff; + color: #000; + cursor: pointer; + z-index: 9999; +} \ No newline at end of file diff --git a/src/pages/InRoadMgm/PersonMgm/MesNotification/loadable.jsx b/src/pages/InRoadMgm/PersonMgm/MesNotification/loadable.jsx index 2546844..3801c40 100644 --- a/src/pages/InRoadMgm/PersonMgm/MesNotification/loadable.jsx +++ b/src/pages/InRoadMgm/PersonMgm/MesNotification/loadable.jsx @@ -90,7 +90,6 @@ function loadable() { page_size, }); } - const initFormData = {}//初始化的表格搜索项 const handleChange = (value) => { console.log(`selected ${value}`); setSendData({ ...sendData, receiver_type: value }) @@ -99,6 +98,7 @@ function loadable() { maxLength: 50, showCount: true, }; + const [total, setTotal] = useState([]); const [mockData, setMockData] = useState([]); const [formData, setFormData] = useState({ start: moment().subtract(1, "month").format("YYYY-MM-DD HH:mm:ss"), @@ -134,6 +134,16 @@ function loadable() { console.log('Formatted Selected Time: ', dateString); setFormData({ start: dateString[0], end: dateString[1] }) }; + //退费记录检索条件 + const formSearch = [ + {//13 + name: "timePeriod", + type: "RangePicker", + label: "时间段", + defaultValue: [moment().startOf("day"), moment()], + defaultTitle: ['发送时间', '至'] + }, + ]; function send() { var arr = [] mockData.map((e) => { @@ -197,6 +207,7 @@ function loadable() { let { status, data } = res if (status == 20000) { setResultData(data.list) + setTotal(data.total) } else { message.error(res.message) } @@ -272,75 +283,84 @@ function loadable() { : -
-
-
发送时间: -
- -
-
-
- - -
+ //
+ //
+ //
发送时间: + //
+ // + //
+ //
+ //
+ // + // + //
-
-
- -
-
- -
- `共 ${total_records} 条`} - total={0} - current={pageData.pn} - pageSize={pageData.page_size} - pageSizeOptions={dictionary?.pageSizeOptions} - onChange={onShowSizeChange} - onShowSizeChange={onShowSizeChange} - /> -
- - - + // + //
+ // + //
+ //
+ // + //
+ // `共 ${total_records} 条`} + // total={0} + // current={pageData.pn} + // pageSize={pageData.page_size} + // pageSizeOptions={dictionary?.pageSizeOptions} + // onChange={onShowSizeChange} + // onShowSizeChange={onShowSizeChange} + // /> + //
+ // + // + // + }
`共 ${total_records} 条`} - total={0} + //showTotal={() => `共 ${total} 条`} + total={total} current={pageData.pn} pageSize={pageData.page_size} pageSizeOptions={dictionary?.pageSizeOptions} diff --git a/src/pages/OperationCenter/CarMgm/CarInfo/index.scss b/src/pages/OperationCenter/CarMgm/CarInfo/index.scss index ea32ac0..ad487a0 100644 --- a/src/pages/OperationCenter/CarMgm/CarInfo/index.scss +++ b/src/pages/OperationCenter/CarMgm/CarInfo/index.scss @@ -134,27 +134,27 @@ $color-primary: var(--color-primary); background-color: var(--color-search-list-item-bg); border-color: var(--color-border); } -.yisa-table { - width: 100%; +// .yisa-table { +// width: 100%; - .ant-table-thead { - th { - background: var(--color-table-header-bg) !important; - } - } +// .ant-table-thead { +// th { +// background: var(--color-table-header-bg) !important; +// } +// } - .ant-table-tbody { - td { - background: var(--color-table-body-bg) !important; - border-bottom-color: var(--color-table-border-bottom-color); - } - tr:nth-child(even) { - td { - background: var(--color-table-body-bg-nth-child-even) !important; - } - } - } -} +// .ant-table-tbody { +// td { +// background: var(--color-table-body-bg) !important; +// border-bottom-color: var(--color-table-border-bottom-color); +// } +// tr:nth-child(even) { +// td { +// background: var(--color-table-body-bg-nth-child-even) !important; +// } +// } +// } +// } .base-ltc { display: flex; diff --git a/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx b/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx index 425cd2c..96e5069 100644 --- a/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx +++ b/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx @@ -557,7 +557,7 @@ function CarInfo() { ajax({ url: "/api/ope/car/get_base_info", type: "get", - data: { carId: e?.carId||carId }, + data: { carId: e?.carId || carId }, }).then((res) => { let { status, data, total } = res if (status == 20000) { @@ -570,7 +570,7 @@ function CarInfo() { ajax({//绑定 url: "/api/ope/car/get_bind_records", type: "get", - data: { carId: e?.carId||carId }, + data: { carId: e?.carId || carId }, }).then((res) => { let { status, data, total } = res if (status == 20000) { @@ -582,7 +582,7 @@ function CarInfo() { ajax({//修改数据 url: "/api/ope/car/get_edit_records", type: "get", - data: { carId: e?.carId||carId }, + data: { carId: e?.carId || carId }, }).then((res) => { let { status, data, total } = res if (status == 20000) { @@ -676,7 +676,7 @@ function CarInfo() { ajax({ url: "/api/ope/record/get_refund_info", type: "get", - data: { id:e.refund_id }, + data: { id: e.refund_id }, }).then((res) => { let { status, data } = res if (status == 20000) { @@ -783,22 +783,28 @@ function CarInfo() {
车辆归属信息
- 车牌颜色:{baseData.plate_color} +
车牌颜色:
+
{baseData.plate_color || "--"}
- 车牌号:{baseData.plate_number} +
车牌号:
+
{baseData.plate_number || "--"}
- 绑定会员账户:{baseData.mobile} +
绑定会员账户:
+
{baseData.mobile || "--"}
- 认证状态:{baseData.authStateName} +
认证状态:
+
{baseData.authStateName || "--"}
- 车牌归属地:{baseData.home_location} +
车牌归属地:
+
{baseData.home_location || "--"}
- 创建时间:{baseData.create_time} +
创建时间:
+
{baseData.create_time || "--"}
@@ -813,16 +819,19 @@ function CarInfo() {
- 车辆品牌: { console.log(e); setBaseData({ ...baseData, car_brand: e.target.value }) }} placeholder="请输入车辆品牌" disabled={edit}> +
车辆品牌:
+ { console.log(e); setBaseData({ ...baseData, car_brand: e.target.value }) }} placeholder="请输入车辆品牌" disabled={edit}>
- 车辆型号: +
车辆型号:
+
- 车身颜色: +
车身颜色:
+
- 车辆类型: +
车辆类型:
: + rowKey={(record) => record.id} + /> */} + : <>
支付订单:{ycddData.order_id}
@@ -1048,15 +1096,14 @@ function UserInfo() { <> {tag == 1 ? <> -
- 用户总量:{resData.all_user_count} 身份认证总量:{resData.auth_user_count} 绑定车辆会员数量:{resData.total} -
record.id} /> : <>
{ setTag('1') }}>返回
@@ -1083,9 +1130,10 @@ function UserInfo() { {renderTable( createCol(['支付渠道', '充值金额', '支付日期'], - ['merchantName', 'area', 'sectionName', 'licensePlateNumber', 'entryTime', 'exitTime', 'arrearsAmount'], 4), + ['pay_type_name', 'pay_money', 'pay_time'], 4), [ash[15], ash[9]], - resultData + resultData, + '/api/ope/record/recharge_export' )} diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/AddParking.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/AddParking.jsx index 912a381..b671bcc 100644 --- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/AddParking.jsx +++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/AddParking.jsx @@ -203,7 +203,7 @@ function AddParking(props) { form .validateFields() .then((values) => { - console.log(values.area_id); + console.log(11111111,values.filings_time,values.filings_time.format('YYYY-MM-DD'),record); let arrStr =values.area_id let arr = arrStr[arrStr.length-1] const params = { @@ -211,10 +211,12 @@ function AddParking(props) { img: processImgData(fileList), lng_lat: lngLat.join(","), open_time: [ - moment(record.open_begin_time).format("HH:mm:ss"), - moment(record.open_end_time ).format("HH:mm:ss"), + moment(values.open_begin_time).format("HH:mm:ss"), + moment(values.open_end_time ).format("HH:mm:ss"), + // record.open_begin_time, + // record.open_end_time ], - filings_time:moment(record.filings_time).format("HH:mm:ss"), + filings_time:moment(values.filings_time).format("YY-MM-DD"), area_id:arr }; console.log(values); @@ -632,7 +634,7 @@ function AddParking(props) {
- + diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/MSPages.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/MSPages.jsx index 7906467..6ccbe80 100644 --- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/MSPages.jsx +++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/MSPages.jsx @@ -3,6 +3,7 @@ import { Button, Table, Modal, Form, Input, message } from "antd"; import ajax from "@/services"; function MSPages(props) { const { itemData = {} } = props; + console.log(1111,props) const columns = [ { title: "MS通信账号", @@ -76,7 +77,7 @@ function MSPages(props) { }; useEffect(() => { - ajax.getRoadMs().then((res) => { + ajax.getRoadMs({id:itemData.id}).then((res) => { if (res.status === 20000) { console.log(res.data); setDataSource([res.data]); diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx index 65294b8..16d35e6 100644 --- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx +++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx @@ -497,6 +497,7 @@ function OutSegment() { columns={columns} dataSource={tableData} pagination={false} + rowKey={(record)=>record.id} />