Browse Source

Merge branch 'develop' of http://120.27.195.166:3000/chenglb/PMS_Frontend_v1.0.0.git into develop

tags/PMS_Frontend_v1.0.6-develop
heyx 2 years ago
parent
commit
1de55f13c1
  1. 6
      src/assets/css/base.scss
  2. 10
      src/components/TableModule/index.jsx
  3. 6
      src/pages/OperationCenter/ArrearsRecover/ArrearsCar/index.scss
  4. 234
      src/pages/OperationCenter/ArrearsRecover/ArrearsCar/loadable.jsx
  5. 11
      src/pages/OperationCenter/CarMgm/CarAuth/index.scss
  6. 72
      src/pages/OperationCenter/CarMgm/CarAuth/loadable.jsx
  7. 262
      src/pages/OperationCenter/CarMgm/CarInfo/dataSource.js
  8. 31
      src/pages/OperationCenter/CarMgm/CarInfo/index.scss
  9. 372
      src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx
  10. 258
      src/pages/OperationCenter/UserMgm/UserInfo/dataSource.js
  11. BIN
      src/pages/OperationCenter/UserMgm/UserInfo/error.png
  12. 71
      src/pages/OperationCenter/UserMgm/UserInfo/index.scss
  13. 466
      src/pages/OperationCenter/UserMgm/UserInfo/loadable.jsx

6
src/assets/css/base.scss

@ -109,18 +109,18 @@ a {
tr {
&:nth-child(2n) {
td {
background: #fff !important;
//background: #fff !important;
}
}
&:hover {
td {
background: #f0f5fc !important;
//background: #f0f5fc !important;
}
}
td {
background: #fff !important;
//background: #fff !important;
border-bottom-color: #f2f2f2;
}
}

10
src/components/TableModule/index.jsx

@ -161,7 +161,10 @@ function TableModule(props) {
name={item.name}
key={item.name}
>
<Input {...inputParams} placeholder={item.placeholder} />
{
item.hiddenCount ? <Input placeholder={item.placeholder} /> :
<Input {...inputParams} placeholder={item.placeholder} />
}
</Form.Item>
);
break;
@ -225,10 +228,7 @@ function TableModule(props) {
</Form.Item>
<Form.Item
name="end_time"
label={
(item.defaultTitle && item.defaultTitle[1]) ||
"结束时间"
}
label={(item.defaultTitle && item.defaultTitle[1]) || "结束时间"}
key={"end_time"}
initialValue={
(item.defaultValue && item.defaultValue[1]) || moment()

6
src/pages/OperationCenter/ArrearsRecover/ArrearsCar/index.scss

@ -3,3 +3,9 @@ $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);
.eae-modal .yisa-table .ant-table-thead .ant-table-cell {
background: #56636f;
}
.eae-modal .yisa-table .ant-table-tbody tr td {
background: #30383f !important;
}

234
src/pages/OperationCenter/ArrearsRecover/ArrearsCar/loadable.jsx

@ -7,79 +7,75 @@ import {
Space,
Modal,
Button,
Select,
Tabs,
Descriptions,
Timeline
} from "antd";
const { TextArea } = Input;
import moment from "moment";
import { dictionary, utils } from "@/config/common";
import ajax from '@/config/ajax.js'
import { TableModule } from "@/components";
import "./index.scss";
function ArrearsCar() {
const [parkID, setParkID] = useState()
const [carId, setCarId] = useState();
const columns = [
{
title: "车牌号",
dataIndex: "region",
key: "region",
dataIndex: "plate_info",
key: "plate_info",
},
{
title: "车辆归属地",
dataIndex: "region",
key: "region",
dataIndex: "area",
key: "area",
},
{
title: "欠费总金额",
dataIndex: "operator",
key: "operator",
title: "欠费总金额(元)",
dataIndex: "amount",
key: "amount",
},
{
title: "追缴金额",
dataIndex: "road",
key: "road",
title: "追缴金额(元)",
dataIndex: "currentRefund",
key: "currentRefund",
},
{
title: "欠费总订单数",
dataIndex: "road_type",
key: "road_type",
dataIndex: "amount_count",
key: "amount_count",
},
{
title: "追缴单数",
dataIndex: "plate",
key: "plate",
dataIndex: "refund_count",
key: "refund_count",
},
{
title: "电话追缴次数",
dataIndex: "berth_id",
key: "berth_id",
dataIndex: "mobile_count",
key: "mobile_count",
},
{
title: "会员电话",
dataIndex: "in_time",
key: "in_time",
dataIndex: "user_mobile",
key: "user_mobile",
},
{
title: "公安接口电话",
dataIndex: "out_time",
key: "out_time",
dataIndex: "police_mobile",
key: "police_mobile",
},
{
title: "三方导入电话",
dataIndex: "admission_time",
key: "admission_time",
dataIndex: "third_mobile",
key: "third_mobile",
},
{
title: "近日自主停车",
dataIndex: "in_person",
key: "in_person",
dataIndex: "parking_mobile",
key: "parking_mobile",
},
{
title: "可触达性",
dataIndex: "out_person",
key: "out_person",
dataIndex: "if_call",
key: "if_call",
},
{
title: "操作",
@ -92,8 +88,8 @@ function ArrearsCar() {
<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
openModal();
setDetailData(record);
setParkID(record.park_id)
setCarId(record.car_id)
searchDetail(record.car_id)
}}>
<a>欠费详情</a>
</span>
@ -119,18 +115,18 @@ function ArrearsCar() {
},
{
title: "区域",
dataIndex: "region",
key: "region",
dataIndex: "area",
key: "area",
},
{
title: "停车场名称",
dataIndex: "operator",
key: "operator",
dataIndex: "road_name",
key: "road_name",
},
{
title: "车牌号",
dataIndex: "road",
key: "road",
dataIndex: "plate_number",
key: "plate_number",
},
{
title: "入场时间",
@ -144,23 +140,23 @@ function ArrearsCar() {
},
{
title: "停车时长",
dataIndex: "admission_time",
key: "admission_time",
dataIndex: "parking_duration",
key: "parking_duration",
},
{
title: "欠费金额",
dataIndex: "in_person",
key: "in_person",
dataIndex: "arrears_mount",
key: "arrears_mount",
},
{
title: "入场照片",
dataIndex: "out_person",
key: "out_person",
dataIndex: "in_veh_pic",
key: "in_veh_pic",
},
{
title: "出场照片",
dataIndex: "authentication",
key: "authentication",
dataIndex: "out_veh_pic",
key: "out_veh_pic",
},
];
const formSearch = [
@ -171,7 +167,22 @@ function ArrearsCar() {
placeholder: "请输入车牌号",
},
{
name: "k",
name: "refund_amount_min",
type: "Input",
label: "欠费金额",
placeholder: "请输入",
hiddenCount: 1
},
{
name: "refund_amount_max",
type: "Input",
label: "至",
placeholder: "请输入",
hiddenCount: 1
},
{
name: "if_call",
type: "Select",
label: "可触达性",
options: [
@ -190,13 +201,42 @@ function ArrearsCar() {
],
},
{
name: "phone",
type: "Input",
name: "user_mobile",
type: "Select",
label: "会员电话",
placeholder: "请输入会员电话",
placeholder: "请选择",
options: [
{
label: "全部",
value: 0,
},
{
label: "有",
value: 1,
},
{
label: "无",
value: 2,
},
],
},
{
name: "status",
name: "count_min",
type: "Input",
label: "电话追缴次数",
placeholder: "请输入",
hiddenCount: 1
},
{
name: "count_max",
type: "Input",
label: "至",
placeholder: "请输入",
hiddenCount: 1
},
{
name: "auto_parking",
type: "Select",
label: "近日自主停车",
placeholder: "请选择",
@ -207,17 +247,17 @@ function ArrearsCar() {
value: 0,
},
{
label: "",
label: "",
value: 1,
},
{
label: "",
label: "",
value: 2,
},
],
},
{
name: "type",
name: "police",
type: "Select",
label: "公安接口电话",
defaultValue: 1,
@ -227,44 +267,71 @@ function ArrearsCar() {
value: 0,
},
{
label: "",
label: "",
value: 1,
},
{
label: "",
label: "",
value: 2,
},
],
},
];
const [resultData, setResultData] = useState([])
const [detailData, setDetailData] = useState([])
const [detailData, setDetailData] = useState([{ index: '1' }])
const [modalVisible, setModalVisible] = useState(false);
const [total, setTotal] = useState(0);
const [pageData, setPageData] = useState({
//
pn: 1,
page_size: 15,
});
function onShowSizeChange(pn, page_size) {
setPageData({
pn,
page_size,
});
}
function openModal(params) {
setModalVisible(true);
}
function search(e) {
if (!e.type) {
e.type = 1
}
//setResultData([{ index: '1', car_id: '21111' }])
ajax({
url: "/api/bpm/record/get_record_list",
url: "/api/ope/record/get_refund_car_list",
type: "post",
data: { ...e, cj_temporary: 1 },
data: { ...e },
}).then((res) => {
let { status, data, total } = res
if (status == 20000) {
setResultData(data.list)
setTotal(data.total)
setResultData(data)
setTotal(total)
} else {
message.error(res.message)
}
})
}
function searchDetail(e) {
//setResultData([{ index: '1' }])
//console.log(carId, e)
ajax({
url: "/api/ope/record/get_arrearage_car_info",
type: "get",
data: { carId: e },
}).then((res) => {
let { status, data, total } = res
if (status == 20000) {
setDetailData(data)
//setTotal(total)
} else {
message.error(res.message)
}
})
}
useEffect(() => {
searchDetail()
}, [pageData]);
return (
<>
<TableModule
@ -278,25 +345,34 @@ function ArrearsCar() {
<Modal
open={modalVisible}
width={1600}
title={'证据图像'}
title={'欠费详情'}
className="eae-modal"
onCancel={() => {
setModalVisible(false);
}}
footer={false}
>
<div>
<Table
columns={detailColumns}
dataSource={resultData}
scroll={{ x: 1000 }}
className="yisa-table"
pagination={false}
/>
</div>
<Table
columns={detailColumns}
dataSource={detailData}
scroll={{ x: 1000 }}
className="yisa-table"
pagination={false}
/>
<Pagination
className="pagination-common"
showSizeChanger={true}
showQuickJumper={true}
// showTotal={() => ` ${total_records} `}
total={0}
current={pageData.pn}
pageSize={pageData.page_size}
pageSizeOptions={dictionary?.pageSizeOptions}
onChange={onShowSizeChange}
onShowSizeChange={onShowSizeChange}
/>
</Modal>
</>
);
}

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

@ -214,4 +214,13 @@ $color-primary : var(--color-primary);
}
}
}
}
.pass-icon {
height: 22px;
width: 20px;
border-radius: 10px;
background: #ffbb26;
display: inline-block;
text-align: center;
font-weight: 800;
}

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

@ -14,6 +14,7 @@ import {
Descriptions,
Transfer
} from "antd";
const { TextArea } = Input;
import moment from "moment";
import ajax from '@/config/ajax.js'
import { TableModule, ResultFlow, } from "@/components";
@ -95,22 +96,26 @@ function CarAuth() {
<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
setTag('2');
setCarId(record.carId)
setIndexby(index)
}}>
<a>详情</a>
<a>{record.auditState == "待审核" || record.auditState == "残疾车待审核" ? "审核" : "查看"}</a>
</span>
</>
),
},
];
const [carId, setCarId] = useState();
const [loading, setLoading] = useState(false);
const [tag, setTag] = useState('1');
const [bigpicVisible, setBigpicVisible] = useState(false);//
const [passVisible, setPassVisible] = useState(false);
const [refuseVisible, setRefuseVisible] = useState(false);
const [toText, setToText] = useState();
const [bigPic, setBigPic] = useState();
const [resultData, setResultData] = useState([]);
const [total, setTotal] = useState(0);
const [indexby, setIndexby] = useState(0);
const [sfyVisible, setSfyVisible] = useState(false);
const [formData, setFormData] = useState({})
const [pageData, setPageData] = useState({
//
@ -145,6 +150,27 @@ function CarAuth() {
}
})
}
function toAudits(e) {
ajax({
url: "/api/ope/car/audit",
type: "post",
data: { carId: carId, audit: e ? "pass" : "refuse", text: e ? null : toText },
}).then((res) => {
let { status, data, total } = res
if (status == 20000) {
// setResultData(data)
// setTotal(total)
setPassVisible(false)
setRefuseVisible(false)
setToText('')
} else {
message.error(res.message)
}
})
}
const handleOpinion = (v) => {
setToText(v.target.value)
}
useEffect(() => {
search()
}, [formData, pageData]);
@ -188,10 +214,10 @@ function CarAuth() {
<Descriptions.Item label=""></Descriptions.Item>
</Descriptions>
</div>
{resultData[indexby].r == 1 || resultData[indexby].r == 4 ?
{resultData[indexby].auditState == '待审核' || resultData[indexby].auditState == '残疾车待审核' ?
<div className="push-btn-box">
<div className="push-btn" onClick={() => { }}>通过</div>
<div className="push-btn push-cancel" onClick={() => { }}>拒绝</div>
<div className="push-btn" onClick={() => { setPassVisible(true) }}>通过</div>
<div className="push-btn push-cancel" onClick={() => { setRefuseVisible(true) }}>拒绝</div>
<div className="push-btn push-cancel" onClick={() => { setTag('1') }}>取消</div>
</div> : null}
</div> :
@ -285,6 +311,42 @@ function CarAuth() {
</div>
</div>
</Modal>
<Modal
open={passVisible}
width={500}
title={'提示'}
className="eae-modal"
onCancel={() => {
setPassVisible(false);
}}
onOk={() => { toAudits(1) }}
>
<div>
<div className="pass-icon">!</div>请您确认审核资料是否无误
</div>
</Modal>
<Modal
open={refuseVisible}
width={800}
title={'拒绝详情'}
className="eae-modal"
onCancel={() => {
setRefuseVisible(false);
}}
onOk={() => { toAudits(0) }}
>
<div>
<div className="eae-modal-item">
请输入拒审理由
<TextArea
placeholder="请输入"
value={formData.text}
style={{ width: 500}}
onChange={handleOpinion}
/>
</div>
</div>
</Modal>
</>
);
}

262
src/pages/OperationCenter/CarMgm/CarInfo/dataSource.js

@ -1,258 +1,96 @@
//用来存储表头的js文件
import { Button,message } from "antd";
import { Button, message } from "antd";
import React from "react";
//支付记录的表头
export const payRecordColumns = [
//车辆绑定记录表头
export const bindColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
align: "center",
render: (text, record, index) => index + 1,
},
{
title: "订单ID",
dataIndex: "order_id",
key: "order_id",
align: "center",
},
{
title: "入场时间",
dataIndex: "charging_time",
key: "charging_time",
align: "center",
},
{
title: "计费时间",
dataIndex: "admission_time",
key: "admission_time",
title: "绑定用户手机",
dataIndex: "mobile",
key: "mobile",
width: 200,
align: "center",
},
{
title: "支付时间",
dataIndex: "pay_time",
key: "pay_time",
title: "绑定时间",
dataIndex: "bind_time",
key: "bind_time",
align: "center",
},
{
title: "应收金额",
dataIndex: "receivable_amount",
key: "receivable_amount",
title: "解绑时间",
dataIndex: "unbind_time",
key: "unbind_time",
align: "center",
},
{
title: "优惠金额",
dataIndex: "preferential_amount",
key: "preferential_amount",
align: "center",
},
{
title: "实付金额",
dataIndex: "actual_amount",
key: "actual_amount",
align: "center",
},
{
title: "支付类型",
dataIndex: "pay_road",
key: "pay_road",
align: "center",
},
{
title: "支付渠道",
dataIndex: "payment_channels",
key: "payment_channels",
title: "认证状态",
dataIndex: "authStateName",
key: "authStateName",
align: "center",
},
];
//车辆信息修改记录表头
export const modiColumns = [
{
title: "支付设备",
dataIndex: "payment_equipment",
key: "payment_equipment",
title: "修改类型",
dataIndex: "type_name",
key: "type_name",
align: "center",
},
{
title: "支付人",
dataIndex: "pay_person",
key: "pay_person",
title: "修改内容",
dataIndex: "context",
key: "context",
align: "center",
},
{
title: "付款路段",
dataIndex: "road",
key: "road",
title: "操作人",
dataIndex: "name",
key: "name",
align: "center",
},
{
title: "第三方流水ID",
dataIndex: "third_party_flow_id",
key: "third_party_flow_id",
title: "修改时间",
dataIndex: "update_time",
key: "update_time",
align: "center",
},
];
//退款订单的表头
export const refundRecordColumns = [
//退款尝试详情表头
export const formRefundColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
dataIndex: "mobile",
key: "mobile",
width: 200,
align: "center",
render: (text, record, index) => index + 1,
width: 100,
},
{
title: "退款方式",
dataIndex: "refund_type",
key: "refund_type",
align: "center",
},
{
title: "支付渠道",
dataIndex: "pay_road",
key: "pay_road",
align: "center",
},
{
title: "支付设备",
dataIndex: "pay_time",
key: "pay_time",
align: "center",
},
{
title: "退款原因",
dataIndex: "reason",
key: "reason",
align: "center",
},
{
title: "退款金额",
title: "退款金额(元)",
dataIndex: "refund_amonut",
key: "refund_amonut",
align: "center",
},
{
title: "申请人",
dataIndex: "application_person",
key: "application_person",
title: "尝试时间",
dataIndex: "try_time",
key: "try_time",
align: "center",
},
{
title: "申请时间",
dataIndex: "application_time",
key: "application_time",
title: "操作人",
dataIndex: "user_name",
key: "user_name",
align: "center",
},
{
title: "退款时间",
dataIndex: "refund_time",
key: "refund_time",
title: "结果",
dataIndex: "refund_result",
key: "refund_result",
align: "center",
},
];
//操作记录
export const operatorRecordColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
align: "center",
render: (text, record, index) => index + 1,
},
{
title: "操作类型",
dataIndex: "type",
key: "type",
align: "center",
},
{
title: "操作来源",
dataIndex: "source",
key: "osource",
align: "center",
},
{
title: "操作人/设备",
dataIndex: "object",
key: "object",
align: "center",
},
{
title: "操作时间",
dataIndex: "time",
key: "time",
align: "center",
},
];
//历史处理的表头
export const historyProgressColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
align: "center",
render: (text, record, index) => index + 1,
},
{
title: "状态",
dataIndex: "status",
key: "status",
align: "center",
},
{
title: "处理记录ID",
dataIndex: "deal_record_id",
key: "deal_record_id",
align: "center",
render: (text) => (
<>
<a onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") });
}}>{text}</a>
</>
)
},
{
title: "处理时间",
dataIndex: "deal_time",
key: "deal_time",
align: "center",
},
{
title: "处理人",
dataIndex: "dealer",
key: "dealer",
align: "center",
},
{
title: "业务订单类型",
dataIndex: "business_type",
key: "business_type",
align: "center",
},
{
title: "更改项",
dataIndex: "change_content",
key: "change_content",
align: "center",
},
{
title: "更改初始值",
dataIndex: "initial_value",
key: "initial_value",
align: "center",
},
{
title: "更改更新值",
dataIndex: "update_value",
key: "update_value",
align: "center",
},
{
title: "操作",
dataIndex: "operation",
key: "operation",
align: "center",
fixed: "right",
render: () => {
<Button>操作</Button>;
},
},
];
];

31
src/pages/OperationCenter/CarMgm/CarInfo/index.scss

@ -167,6 +167,18 @@ $color-primary: var(--color-primary);
.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;
@ -215,9 +227,24 @@ $color-primary: var(--color-primary);
padding: 20px;
.ltc-item {
font-size: 18px;
margin: 10px 0;
margin: 6px 0;
display: inline-block;
width: 400px;
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;

372
src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx

@ -17,8 +17,9 @@ import moment from "moment";
import ajax from '@/config/ajax.js'
import { TableModule } from "@/components";
import {
refundRecordColumns,
operatorRecordColumns,
bindColumns,
modiColumns,
formRefundColumns
} from "./dataSource";
import { dictionary } from "@/config/common.js";
import "./index.scss";
@ -83,61 +84,6 @@ function CarInfo() {
),
},
];
//
const bindColumns = [
{
title: "绑定用户手机",
dataIndex: "mobile",
key: "mobile",
width: 200,
align: "center",
},
{
title: "绑定时间",
dataIndex: "bind_time",
key: "bind_time",
align: "center",
},
{
title: "解绑时间",
dataIndex: "unbind_time",
key: "unbind_time",
align: "center",
},
{
title: "认证状态",
dataIndex: "authStateName",
key: "authStateName",
align: "center",
},
];
//
const modiColumns = [
{
title: "修改类型",
dataIndex: "type_name",
key: "type_name",
align: "center",
},
{
title: "修改内容",
dataIndex: "context",
key: "context",
align: "center",
},
{
title: "操作人",
dataIndex: "name",
key: "name",
align: "center",
},
{
title: "修改时间",
dataIndex: "update_time",
key: "update_time",
align: "center",
},
];
//
const createCol = (label, name, type) => {
label.length == name.length ? null : console.log('参数缺失', label.length, name.length)
@ -371,42 +317,6 @@ function CarInfo() {
defaultValue: [moment().subtract(1, "month"), moment()],
},
];
//退
const formRefundColumns = [
{
title: "序号",
dataIndex: "mobile",
key: "mobile",
width: 200,
align: "center",
render: (text, record, index) => index + 1,
width: 100,
},
{
title: "退款金额(元)",
dataIndex: "refund_amonut",
key: "refund_amonut",
align: "center",
},
{
title: "尝试时间",
dataIndex: "try_time",
key: "try_time",
align: "center",
},
{
title: "操作人",
dataIndex: "user_name",
key: "user_name",
align: "center",
},
{
title: "结果",
dataIndex: "refund_result",
key: "refund_result",
align: "center",
},
];
//
const ash = [
{//1
@ -738,6 +648,9 @@ function CarInfo() {
break
default: break
}
if (tabKey == '3' && e && !e?.type) {
e.type = 1
}
ajax({
url: url,
type: "post",
@ -763,7 +676,7 @@ function CarInfo() {
ajax({
url: "/api/ope/record/get_refund_info",
type: "get",
data: { ...e },
data: { id:e.refund_id },
}).then((res) => {
let { status, data } = res
if (status == 20000) {
@ -778,38 +691,82 @@ function CarInfo() {
function renderParkRecord(params) {
return (
<div className="ltc-box">
<div className="ltc-box-title"><div className="ltc-icon"></div>停车场信息</div>
<Descriptions title="">
<Descriptions.Item label="停车场名称">{params?.road || "--"}</Descriptions.Item>
<Descriptions.Item label="泊位号">{params.berth_id || "--"}</Descriptions.Item>
<Descriptions.Item label="区域">{params.region || "--"}</Descriptions.Item>
<Descriptions.Item label="商户">{params.operator || "--"}</Descriptions.Item>
<Descriptions.Item label="车场类型">{params.road_type || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="ltc-icon"></div>停车信息</div>
<Descriptions title="">
<Descriptions.Item label="车牌号">{params.plate || "--"}</Descriptions.Item>
<Descriptions.Item label="会员手机号">{params.phone || "--"}</Descriptions.Item>
<Descriptions.Item label="入场时间">{params.in_time || "--"}</Descriptions.Item>
<Descriptions.Item label="出场时间">{params.out_time || "--"}</Descriptions.Item>
<Descriptions.Item label="停车时长">{params.admission_time || "--"}</Descriptions.Item>
<Descriptions.Item label="订单金额">{params.order_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="停车卡折扣">{params.parking_card_discount || "--"}</Descriptions.Item>
<Descriptions.Item label="车场折扣">{params.road_discount || "--"}</Descriptions.Item>
<Descriptions.Item label="应收金额">{params.receivable_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="优惠券">{params.preferential_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="优惠总计">{params.preferential_total || "--"}</Descriptions.Item>
<Descriptions.Item label="实付金额">{params.actual_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="优惠退款">{params.refund_discount || "--"}</Descriptions.Item>
<Descriptions.Item label="实付退款">{params.actual_refund || "--"}</Descriptions.Item>
<Descriptions.Item label="退款总计">{params.refund_total || "--"}</Descriptions.Item>
<Descriptions.Item label="入场收费员">{params.in_person || "--"}</Descriptions.Item>
<Descriptions.Item label="出场收费员">{params.out_person || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="ltc-icon"></div>入场照片</div>
<div className="ltc-box-title"><div className="text">停车场信息</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">停车场名称</div><div className="new-value">{params?.road || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">泊位号</div><div className="new-value">{params.berth_id || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div><div className="new-value">{params.region || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">商户</div><div className="new-value">{params.operator || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场类型</div><div className="new-value">{params.road_type || "--"}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">停车信息</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车牌号</div><div className="new-value">{params.plate || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">会员手机号</div><div className="new-value">{params.phone || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场时间</div><div className="new-value">{params.in_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div><div className="new-value">{params.out_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车时长</div><div className="new-value">{params.admission_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">订单金额</div><div className="new-value">{params.order_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车卡折扣</div><div className="new-value">{params.parking_card_discount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场折扣</div><div className="new-value">{params.road_discount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应收金额</div><div className="new-value">{params.receivable_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠券</div><div className="new-value">{params.preferential_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠总计</div><div className="new-value">{params.preferential_total || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付金额</div><div className="new-value">{params.actual_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠退款</div><div className="new-value">{params.refund_discount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付退款</div><div className="new-value">{params.actual_refund || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款总计</div><div className="new-value">{params.refund_total || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场收费员</div><div className="new-value">{params.in_person || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场收费员</div><div className="new-value">{params.out_person || "--"}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">入场照片</div><div className="line"></div></div>
<Descriptions title="">
<Descriptions.Item label="车辆照片"><img width={300} src={params.in_veh_pic} onClick={() => { setBigPic(params.in_veh_pic); setBigpicVisible(true) }} /></Descriptions.Item>
<Descriptions.Item label="车牌照片"><img width={300} src={params.in_plate_pic} onClick={() => { setBigPic(params.in_plate_pic); setBigpicVisible(true) }} /></Descriptions.Item>
<Descriptions.Item label=""><img width={300} src={params.in_veh_pic} onClick={() => { setBigPic(params.in_veh_pic); setBigpicVisible(true) }} /></Descriptions.Item>
<Descriptions.Item label=""><img width={300} src={params.in_plate_pic} onClick={() => { setBigPic(params.in_plate_pic); setBigpicVisible(true) }} /></Descriptions.Item>
</Descriptions>
</div>
);
@ -937,27 +894,47 @@ function CarInfo() {
}
//退
const tkddModal = <div className="ltc-box">
<div className="ltc-box-title">退款订单:{ycddData?.refund_id}</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="生成时间">{ycddData?.refund_time || "--"}</Descriptions.Item>
<Descriptions.Item label="退款状态">{ycddData.refund_state || "--"}</Descriptions.Item>
<Descriptions.Item label="支付渠道">{ycddData.payment_channels || "--"}</Descriptions.Item>
<Descriptions.Item label="退款方式">{ycddData.refund_type || "--"}</Descriptions.Item>
<Descriptions.Item label="应退实付金额">{ycddData.refund_actual_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="已退实付金额">{ycddData.has_refund_actual_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="应退优惠金额">{ycddData.refund_discount_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="已退优惠金额">{ycddData.has_refund_discount_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="退款尝试次数">{ycddData.try_count || "--"}
{timesVisible ?
<a onClick={() => { setTimesVisible(false) }}>收起</a> :
<a onClick={() => { setTimesVisible(true) }}>查看</a>}
</Descriptions.Item>
<Descriptions.Item label="最近尝试时间">{ycddData.latest_try_time || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="text">退款订单:{ycddData?.refund_id}</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">生成时间</div><div className="new-value">{ycddData?.refund_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款状态</div><div className="new-value">{ycddData.refund_state || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_channels || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款方式</div><div className="new-value">{ycddData.refund_type || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应退实付金额</div><div className="new-value">{ycddData.refund_actual_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">已退实付金额</div><div className="new-value">{ycddData.has_refund_actual_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应退优惠金额</div><div className="new-value">{ycddData.refund_discount_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">已退优惠金额</div><div className="new-value">{ycddData.has_refund_discount_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款尝试次数</div><div className="new-value">{ycddData.try_count || "--"}
{timesVisible ?
<a onClick={() => { setTimesVisible(false) }}>收起</a> :
<a onClick={() => { setTimesVisible(true) }}>查看</a>}
</div>
</div>
<div className="ltc-item">
<div className="new-item">最近尝试时间</div><div className="new-value">{ycddData.latest_try_time || "--"}</div>
</div>
</div>
{timesVisible ? <>
<div className="ltc-box-title">退款尝试详情</div>
<div className="ltc-box-line"></div>
<div className="ltc-box-title"><div className="text">退款尝试详情</div><div className="line"></div></div>
<Table
columns={formRefundColumns}
dataSource={ycddData.try_list}
@ -966,41 +943,75 @@ function CarInfo() {
pagination={false}
/> </> :
<>
<div className="ltc-box-title">支付订单:{ycddData.order_id}</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="平台商户">{ycddData.payment_operator_name}</Descriptions.Item>
<Descriptions.Item label="生成时间">{ycddData.payment_create_time}</Descriptions.Item>
<Descriptions.Item label="支付时间">{ycddData.pay_time}</Descriptions.Item>
<Descriptions.Item label="支付渠道">{ycddData.payment_equipment}</Descriptions.Item>
<Descriptions.Item label="优惠金额">{ycddData.discount_amount}</Descriptions.Item>
<Descriptions.Item label="支付应用">{ycddData.payment_equipment}</Descriptions.Item>
<Descriptions.Item label="实付金额">{ycddData.paid_in_money}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title">停车订单:{ycddData.park_record_id}</div>
<div className="ltc-box-line"></div>
<div className="ltc-box-in">
<div>车厂详情</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="停车场名称">{ycddData?.road_name}</Descriptions.Item>
<Descriptions.Item label="区域">{ycddData.area_name}</Descriptions.Item>
<Descriptions.Item label="商户名称">{ycddData.park_operator_name}</Descriptions.Item>
<Descriptions.Item label="泊位号">{ycddData.berth_code}</Descriptions.Item>
<Descriptions.Item label="车场类型">{ycddData.road_type}</Descriptions.Item>
</Descriptions>
<div>车辆详情</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="车牌号">{ycddData.plate_number}</Descriptions.Item>
<Descriptions.Item label="停车时长">{ycddData.parking_duration}</Descriptions.Item>
<Descriptions.Item label="入场时间">{ycddData.in_time}</Descriptions.Item>
<Descriptions.Item label="出场时间">{ycddData.out_time}</Descriptions.Item>
<Descriptions.Item label="入场记录来源">{ycddData.inSource}</Descriptions.Item>
<Descriptions.Item label="出场记录来源">{ycddData.outSource}</Descriptions.Item>
<Descriptions.Item label="证据图像"><a onClick={() => { setEaeVisible(true) }}>查看</a>
</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="text">支付订单:{ycddData.order_id}</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">平台商户</div><div className="new-value">{ycddData.payment_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">生成时间</div><div className="new-value">{ycddData.payment_create_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付时间</div><div className="new-value">{ycddData.pay_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_equipment}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠金额</div><div className="new-value">{ycddData.discount_amount}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付应用</div><div className="new-value">{ycddData.payment_equipment}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付金额</div><div className="new-value">{ycddData.paid_in_money}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">停车订单:{ycddData.park_record_id}</div><div className="line"></div></div>
<div className="ltc-box-title"><div className="text">车厂详情</div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">平台商户</div><div className="new-value">{ycddData.payment_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车场名称</div><div className="new-value">{ycddData?.road_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div><div className="new-value">{ycddData.area_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">商户名称</div><div className="new-value">{ycddData.park_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">泊位号</div><div className="new-value">{ycddData.berth_code}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场类型</div><div className="new-value">{ycddData.road_type}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">车辆详情</div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车牌号</div><div className="new-value">{ycddData.plate_number}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车时长</div><div className="new-value">{ycddData.parking_duration}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场时间</div><div className="new-value">{ycddData.in_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div><div className="new-value">{ycddData.out_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场记录来源</div><div className="new-value">{ycddData.inSource}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场记录来源</div><div className="new-value">{ycddData.outSource}</div>
</div>
<div className="ltc-item">
<div className="new-item">证据图像</div><div className="new-value"><a onClick={() => { setEaeVisible(true) }}>查看</a></div>
</div>
</div>
</>}
@ -1154,6 +1165,7 @@ function CarInfo() {
onCancel={() => {
setDetailVisible(false);
}}
footer={null}
>
<Tabs >
<Tabs.TabPane tab="停车记录信息" key="1">

258
src/pages/OperationCenter/UserMgm/UserInfo/dataSource.js

@ -1,258 +0,0 @@
//用来存储表头的js文件
import { Button,message } from "antd";
import React from "react";
//支付记录的表头
export const payRecordColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
align: "center",
render: (text, record, index) => index + 1,
},
{
title: "订单ID",
dataIndex: "order_id",
key: "order_id",
align: "center",
},
{
title: "入场时间",
dataIndex: "charging_time",
key: "charging_time",
align: "center",
},
{
title: "计费时间",
dataIndex: "admission_time",
key: "admission_time",
align: "center",
},
{
title: "支付时间",
dataIndex: "pay_time",
key: "pay_time",
align: "center",
},
{
title: "应收金额",
dataIndex: "receivable_amount",
key: "receivable_amount",
align: "center",
},
{
title: "优惠金额",
dataIndex: "preferential_amount",
key: "preferential_amount",
align: "center",
},
{
title: "实付金额",
dataIndex: "actual_amount",
key: "actual_amount",
align: "center",
},
{
title: "支付类型",
dataIndex: "pay_road",
key: "pay_road",
align: "center",
},
{
title: "支付渠道",
dataIndex: "payment_channels",
key: "payment_channels",
align: "center",
},
{
title: "支付设备",
dataIndex: "payment_equipment",
key: "payment_equipment",
align: "center",
},
{
title: "支付人",
dataIndex: "pay_person",
key: "pay_person",
align: "center",
},
{
title: "付款路段",
dataIndex: "road",
key: "road",
align: "center",
},
{
title: "第三方流水ID",
dataIndex: "third_party_flow_id",
key: "third_party_flow_id",
align: "center",
},
];
//退款订单的表头
export const refundRecordColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
align: "center",
render: (text, record, index) => index + 1,
},
{
title: "退款方式",
dataIndex: "refund_type",
key: "refund_type",
align: "center",
},
{
title: "支付渠道",
dataIndex: "pay_road",
key: "pay_road",
align: "center",
},
{
title: "支付设备",
dataIndex: "pay_time",
key: "pay_time",
align: "center",
},
{
title: "退款原因",
dataIndex: "reason",
key: "reason",
align: "center",
},
{
title: "退款金额",
dataIndex: "refund_amonut",
key: "refund_amonut",
align: "center",
},
{
title: "申请人",
dataIndex: "application_person",
key: "application_person",
align: "center",
},
{
title: "申请时间",
dataIndex: "application_time",
key: "application_time",
align: "center",
},
{
title: "退款时间",
dataIndex: "refund_time",
key: "refund_time",
align: "center",
},
];
//操作记录
export const operatorRecordColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
align: "center",
render: (text, record, index) => index + 1,
},
{
title: "操作类型",
dataIndex: "type",
key: "type",
align: "center",
},
{
title: "操作来源",
dataIndex: "source",
key: "osource",
align: "center",
},
{
title: "操作人/设备",
dataIndex: "object",
key: "object",
align: "center",
},
{
title: "操作时间",
dataIndex: "time",
key: "time",
align: "center",
},
];
//历史处理的表头
export const historyProgressColumns = [
{
title: "序号",
dataIndex: "id",
key: "id",
align: "center",
render: (text, record, index) => index + 1,
},
{
title: "状态",
dataIndex: "status",
key: "status",
align: "center",
},
{
title: "处理记录ID",
dataIndex: "deal_record_id",
key: "deal_record_id",
align: "center",
render: (text) => (
<>
<a onClick={() => {
navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") });
}}>{text}</a>
</>
)
},
{
title: "处理时间",
dataIndex: "deal_time",
key: "deal_time",
align: "center",
},
{
title: "处理人",
dataIndex: "dealer",
key: "dealer",
align: "center",
},
{
title: "业务订单类型",
dataIndex: "business_type",
key: "business_type",
align: "center",
},
{
title: "更改项",
dataIndex: "change_content",
key: "change_content",
align: "center",
},
{
title: "更改初始值",
dataIndex: "initial_value",
key: "initial_value",
align: "center",
},
{
title: "更改更新值",
dataIndex: "update_value",
key: "update_value",
align: "center",
},
{
title: "操作",
dataIndex: "operation",
key: "operation",
align: "center",
fixed: "right",
render: () => {
<Button>操作</Button>;
},
},
];

BIN
src/pages/OperationCenter/UserMgm/UserInfo/error.png

After

Width: 299  |  Height: 298  |  Size: 7.4 KiB

71
src/pages/OperationCenter/UserMgm/UserInfo/index.scss

@ -157,16 +157,34 @@ $color-primary: var(--color-primary);
}
.base-ltc {
display: flex;
}
.ltc-img {
margin-right: 20px;
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;
@ -215,9 +233,24 @@ $color-primary: var(--color-primary);
padding: 20px;
.ltc-item {
font-size: 18px;
margin: 10px 0;
margin: 6px 0;
display: inline-block;
width: 400px;
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;
@ -229,6 +262,12 @@ $color-primary: var(--color-primary);
.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;
@ -238,30 +277,6 @@ $color-primary: var(--color-primary);
}
}
}
.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 {

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

@ -16,10 +16,6 @@ const { TextArea } = Input;
import moment from "moment";
import ajax from '@/config/ajax.js'
import { TableModule } from "@/components";
import {
refundRecordColumns,
operatorRecordColumns,
} from "./dataSource";
import { dictionary } from "@/config/common.js";
import "./index.scss";
function UserInfo() {
@ -149,16 +145,6 @@ function UserInfo() {
</>)
arr.push(obj)
break
case 5:
obj.render = (text, record) => (<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
setTkddVisible(true)
}}>
<a>详情</a>
</span>
</>)
arr.push(obj)
break
case 6:
obj.render = (text, record) => (<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
@ -182,7 +168,8 @@ function UserInfo() {
case 8:
obj.render = (text, record) => (<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
refundSearch(record)
setTkddVisible(true)
}}>
<a>详情</a>
</span>
@ -547,12 +534,6 @@ function UserInfo() {
const [bigPic, setBigPic] = useState();
const [total, setTotal] = useState(0);
const [tabKey, setTabKey] = useState("1");
//退
const [refundRecord, setRefundRecord] = useState([]);
//
const [operationRecord, setOperatorRecord] = useState([]);
//
const [historyProgressRecord, setHistoryProgressRecord] = useState([]);
function openModal(params) {
setDetailVisible(true);
}
@ -606,7 +587,7 @@ function UserInfo() {
ajax({
url: "/api/ope/user/get_base_info",
type: "get",
data: { carId: e.carId },
data: { memberId: e.memberId },
}).then((res) => {
let { status, data, total } = res
if (status == 20000) {
@ -618,7 +599,7 @@ function UserInfo() {
})
ajax({//
url: "/api/ope/user/get_bing_car",
url: "/api/ope/user/get_bind_car",
type: "get",
data: { memberId: memberId },
}).then((res) => {
@ -675,9 +656,9 @@ function UserInfo() {
break
default: break
}
// if (!e.type) {
// e.type = 1
// }
if (tabKey == '5' && e && !e?.type) {
e.type = 1
}
ajax({
url: url,
type: "post",
@ -697,42 +678,102 @@ function UserInfo() {
}
})
}
//退
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 (
<div className="ltc-box">
<div className="ltc-box-title"><div className="ltc-icon"></div>停车场信息</div>
<Descriptions title="">
<Descriptions.Item label="停车场名称">{params?.road || "--"}</Descriptions.Item>
<Descriptions.Item label="泊位号">{params.berth_id || "--"}</Descriptions.Item>
<Descriptions.Item label="区域">{params.region || "--"}</Descriptions.Item>
<Descriptions.Item label="商户">{params.operator || "--"}</Descriptions.Item>
<Descriptions.Item label="车场类型">{params.road_type || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="ltc-icon"></div>停车信息</div>
<Descriptions title="">
<Descriptions.Item label="车牌号">{params.plate || "--"}</Descriptions.Item>
<Descriptions.Item label="会员手机号">{params.phone || "--"}</Descriptions.Item>
<Descriptions.Item label="入场时间">{params.in_time || "--"}</Descriptions.Item>
<Descriptions.Item label="出场时间">{params.out_time || "--"}</Descriptions.Item>
<Descriptions.Item label="停车时长">{params.admission_time || "--"}</Descriptions.Item>
<Descriptions.Item label="订单金额">{params.order_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="停车卡折扣">{params.parking_card_discount || "--"}</Descriptions.Item>
<Descriptions.Item label="车场折扣">{params.road_discount || "--"}</Descriptions.Item>
<Descriptions.Item label="应收金额">{params.receivable_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="优惠券">{params.preferential_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="优惠总计">{params.preferential_total || "--"}</Descriptions.Item>
<Descriptions.Item label="实付金额">{params.actual_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="优惠退款">{params.refund_discount || "--"}</Descriptions.Item>
<Descriptions.Item label="实付退款">{params.actual_refund || "--"}</Descriptions.Item>
<Descriptions.Item label="退款总计">{params.refund_total || "--"}</Descriptions.Item>
<Descriptions.Item label="入场收费员">{params.in_person || "--"}</Descriptions.Item>
<Descriptions.Item label="出场收费员">{params.out_person || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="ltc-icon"></div>入场照片</div>
<div className="ltc-box-title"><div className="text">停车场信息</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">停车场名称</div><div className="new-value">{params?.road || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">泊位号</div><div className="new-value">{params.berth_id || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div><div className="new-value">{params.region || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">商户</div><div className="new-value">{params.operator || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场类型</div><div className="new-value">{params.road_type || "--"}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">停车信息</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车牌号</div><div className="new-value">{params.plate || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">会员手机号</div><div className="new-value">{params.phone || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场时间</div><div className="new-value">{params.in_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div><div className="new-value">{params.out_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车时长</div><div className="new-value">{params.admission_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">订单金额</div><div className="new-value">{params.order_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车卡折扣</div><div className="new-value">{params.parking_card_discount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场折扣</div><div className="new-value">{params.road_discount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应收金额</div><div className="new-value">{params.receivable_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠券</div><div className="new-value">{params.preferential_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠总计</div><div className="new-value">{params.preferential_total || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付金额</div><div className="new-value">{params.actual_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠退款</div><div className="new-value">{params.refund_discount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付退款</div><div className="new-value">{params.actual_refund || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款总计</div><div className="new-value">{params.refund_total || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场收费员</div><div className="new-value">{params.in_person || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场收费员</div><div className="new-value">{params.out_person || "--"}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">入场照片</div><div className="line"></div></div>
<Descriptions title="">
<Descriptions.Item label="车辆照片"><img width={300} src={params.in_veh_pic} onClick={() => { setBigPic(params.in_veh_pic); setBigpicVisible(true) }} /></Descriptions.Item>
<Descriptions.Item label="车牌照片"><img width={300} src={params.in_plate_pic} onClick={() => { setBigPic(params.in_plate_pic); setBigpicVisible(true) }} /></Descriptions.Item>
<Descriptions.Item label=""><img width={300} src={params.in_veh_pic} onClick={() => { setBigPic(params.in_veh_pic); setBigpicVisible(true) }} /></Descriptions.Item>
<Descriptions.Item label=""><img width={300} src={params.in_plate_pic} onClick={() => { setBigPic(params.in_plate_pic); setBigpicVisible(true) }} /></Descriptions.Item>
</Descriptions>
</div>
);
@ -740,79 +781,82 @@ function UserInfo() {
//
function renderRecord(params) {
return (
<div style={{ padding: '18px' }}>
<div style={{ padding: '18px', background: '#505A6F' }}>
<div className="base-ltc">
<div className="ltc-img">
<img src={baseData.img} width={600} />
<img src={baseData.img|| require("./error.png")} width={140} height={140}/>
<div className="ltc-item">
<div className="new-value">用户头像</div>
</div>
</div>
<div className="ltc-box">
<div className="ltc-box-title"><div className="ltc-icon"></div>车辆归属信息</div>
<div className="ltc-content">
<div className="ltc-item">
昵称{baseData.nickName}
<div className="new-item">昵称</div>
<div className="new-value">{baseData.nickName|| "--"}</div>
</div>
<div className="ltc-item">
性别:{baseData.sex}
<div className="new-item">性别</div><div className="new-value">{baseData.sex|| "--"}</div>
</div>
<div className="ltc-item">
手机号:{baseData.mobile}
<div className="new-item">手机号</div><div className="new-value">{baseData.mobile|| "--"}</div>
</div>
<div className="ltc-item">
年龄:{baseData.authStateName}
<div className="new-item">年龄</div><div className="new-value">{baseData.authStateName|| "--"}</div>
</div>
<div className="ltc-item">
出生日期:{baseData.home_location}
<div className="new-item">出生日期</div><div className="new-value">{baseData.home_location|| "--"}</div>
</div>
<div className="ltc-item">
区域:{baseData.area}
<div className="new-item">区域</div><div className="new-value">{baseData.area|| "--"}</div>
</div>
<div className="ltc-item">
身份证号:{baseData.id_card}
<div className="new-item">身份证号</div><div className="new-value">{baseData.id_card|| "--"}</div>
</div>
<div className="ltc-item">
姓名:{baseData.name}
<div className="new-item">姓名</div><div className="new-value">{baseData.name|| "--"}</div>
</div>
<div className="ltc-item">
职业:{baseData.job}
<div className="new-item">职业</div><div className="new-value">{baseData.job|| "--"}</div>
</div>
<div className="ltc-item">
用户ID:{baseData.memberId}
<div className="new-item">用户ID</div><div className="new-value">{baseData.memberId|| "--"}</div>
</div>
<div className="ltc-item">
微信ID:{baseData.wechatAuthid}
<div className="new-item">微信ID</div><div className="new-value">{baseData.wechatAuthid|| "--"}</div>
</div>
<div className="ltc-item">
支付宝ID:{baseData.alipayAuthid}
<div className="new-item">支付宝ID</div><div className="new-value">{baseData.alipayAuthid|| "--"}</div>
</div>
<div className="ltc-item">
苹果ID:{baseData.appleAuthid}
<div className="new-item">苹果ID</div><div className="new-value">{baseData.appleAuthid|| "--"}</div>
</div>
<div className="ltc-item">
会员标签:{baseData.create_time}
<div className="new-item">会员标签</div><div className="new-value">{baseData.create_time|| "--"}</div>
</div>
<div className="ltc-item">
会员等级:{baseData.memberLevel}
<div className="new-item">会员等级</div><div className="new-value">{baseData.memberLevel|| "--"}</div>
</div>
<div className="ltc-item">
信用等级:{baseData.creditLevel}
<div className="new-item">信用等级</div><div className="new-value">{baseData.creditLevel|| "--"}</div>
</div>
</div>
</div>
</div>
</div >
</div >
<div className="ltc-box">
<div className="ltc-box-title"><div className="ltc-icon"></div>车辆绑定记录</div>
<div className="ltc-box-title"><div className="ltc-icon"></div>用户信息</div>
<div className="ltc-content">
<div className="ltc-item">
账户余额:{baseData.balance}
<div className="new-item">账户余额</div><div className="new-value">{baseData.balance|| "--"}</div>
</div>
<div className="ltc-item">
注册时间:{baseData.create_time}
<div className="new-item">注册时间</div><div className="new-value">{baseData.create_time|| "--"}</div>
</div>
<div className="ltc-item">
APP版本:{baseData.appVersion}
<div className="new-item"> APP版本</div><div className="new-value">{baseData.appVersion|| "--"}</div>
</div>
<div className="ltc-item">
操作系统:{baseData.deviceType}
<div className="new-item">操作系统</div><div className="new-value">{baseData.deviceType|| "--"}</div>
</div>
</div>
@ -821,16 +865,16 @@ function UserInfo() {
{
baseData.bingCar ?
bindData.map((e, index) => {
return <div className="ltc-item-bind">
所属车辆-{index + 1}:<a>{e.plate_color}:{e.plate_number}</a>
{e.authStateName}
{e.authState == 0 ? <a onClick={() => { bindCar(e) }}>解绑</a> : null}
return <div className="ltc-item ltc-item-bind">
<div className="new-item">所属车辆-{index + 1}</div><div className="new-value"><a>{e.plate_color}:{e.plate_number}</a></div>
<div className="new-item-bind">{e.authStateName}
{e.authState != 0 ? <a onClick={() => { bindCar(e) }}>解绑</a> : null}</div>
</div>
})
: null
}
<div className="ltc-item">
身份认证状态:{baseData.authState}
<div className="new-item">身份认证状态</div><div className="new-value">{baseData.authState}</div>
</div>
</div>
<div className="ltc-content">
@ -842,7 +886,7 @@ function UserInfo() {
</div>
</div>
</div>
</div>
</div >
);
}
//
@ -858,29 +902,58 @@ function UserInfo() {
);
}
//
function renderModalTable(columns, dataSource) {
return (
<Table
columns={columns}
dataSource={dataSource}
scroll={{ x: 1000 }}
className="yisa-table distable"
/>
);
}
//退
const tkddModal = <div className="ltc-box">
<div className="ltc-box-title">退款订单:{ycddData?.refund_id}</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="生成时间">{ycddData?.refund_time || "--"}</Descriptions.Item>
<Descriptions.Item label="退款状态">{ycddData.refund_state || "--"}</Descriptions.Item>
<Descriptions.Item label="支付渠道">{ycddData.payment_channels || "--"}</Descriptions.Item>
<Descriptions.Item label="退款方式">{ycddData.refund_type || "--"}</Descriptions.Item>
<Descriptions.Item label="应退实付金额">{ycddData.refund_actual_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="已退实付金额">{ycddData.has_refund_actual_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="应退优惠金额">{ycddData.refund_discount_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="已退优惠金额">{ycddData.has_refund_discount_amount || "--"}</Descriptions.Item>
<Descriptions.Item label="退款尝试次数">{ycddData.try_count || "--"}
{timesVisible ?
<a onClick={() => { setTimesVisible(false) }}>收起</a> :
<a onClick={() => { setTimesVisible(true) }}>查看</a>}
</Descriptions.Item>
<Descriptions.Item label="最近尝试时间">{ycddData.latest_try_time || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="text">退款订单:{ycddData?.refund_id}</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">生成时间</div><div className="new-value">{ycddData?.refund_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款状态</div><div className="new-value">{ycddData.refund_state || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_channels || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款方式</div><div className="new-value">{ycddData.refund_type || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应退实付金额</div><div className="new-value">{ycddData.refund_actual_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">已退实付金额</div><div className="new-value">{ycddData.has_refund_actual_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应退优惠金额</div><div className="new-value">{ycddData.refund_discount_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">已退优惠金额</div><div className="new-value">{ycddData.has_refund_discount_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">退款尝试次数</div><div className="new-value">{ycddData.try_count || "--"}
{timesVisible ?
<a onClick={() => { setTimesVisible(false) }}>收起</a> :
<a onClick={() => { setTimesVisible(true) }}>查看</a>}
</div>
</div>
<div className="ltc-item">
<div className="new-item">最近尝试时间</div><div className="new-value">{ycddData.latest_try_time || "--"}</div>
</div>
</div>
{timesVisible ? <>
<div className="ltc-box-title">退款尝试详情</div>
<div className="ltc-box-line"></div>
<div className="ltc-box-title"><div className="text">退款尝试详情</div><div className="line"></div></div>
<Table
columns={formRefundColumns}
dataSource={ycddData.try_list}
@ -889,93 +962,81 @@ function UserInfo() {
pagination={false}
/> </> :
<>
<div className="ltc-box-title">支付订单:{ycddData.order_id}</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="平台商户">{ycddData.payment_operator_name}</Descriptions.Item>
<Descriptions.Item label="生成时间">{ycddData.payment_create_time}</Descriptions.Item>
<Descriptions.Item label="支付时间">{ycddData.pay_time}</Descriptions.Item>
<Descriptions.Item label="支付渠道">{ycddData.payment_equipment}</Descriptions.Item>
<Descriptions.Item label="优惠金额">{ycddData.discount_amount}</Descriptions.Item>
<Descriptions.Item label="支付应用">{ycddData.payment_equipment}</Descriptions.Item>
<Descriptions.Item label="实付金额">{ycddData.paid_in_money}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title">停车订单:{ycddData.park_record_id}</div>
<div className="ltc-box-line"></div>
<div className="ltc-box-in">
<div>车厂详情</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="停车场名称">{ycddData?.road_name}</Descriptions.Item>
<Descriptions.Item label="区域">{ycddData.area_name}</Descriptions.Item>
<Descriptions.Item label="商户名称">{ycddData.park_operator_name}</Descriptions.Item>
<Descriptions.Item label="泊位号">{ycddData.berth_code}</Descriptions.Item>
<Descriptions.Item label="车场类型">{ycddData.road_type}</Descriptions.Item>
</Descriptions>
<div>车辆详情</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="车牌号">{ycddData.plate_number}</Descriptions.Item>
<Descriptions.Item label="停车时长">{ycddData.parking_duration}</Descriptions.Item>
<Descriptions.Item label="入场时间">{ycddData.in_time}</Descriptions.Item>
<Descriptions.Item label="出场时间">{ycddData.out_time}</Descriptions.Item>
<Descriptions.Item label="入场记录来源">{ycddData.inSource}</Descriptions.Item>
<Descriptions.Item label="出场记录来源">{ycddData.outSource}</Descriptions.Item>
<Descriptions.Item label="证据图像"><a onClick={() => { setEaeVisible(true) }}>查看</a>
</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title"><div className="text">支付订单:{ycddData.order_id}</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">平台商户</div><div className="new-value">{ycddData.payment_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">生成时间</div><div className="new-value">{ycddData.payment_create_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付时间</div><div className="new-value">{ycddData.pay_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_equipment}</div>
</div>
<div className="ltc-item">
<div className="new-item">优惠金额</div><div className="new-value">{ycddData.discount_amount}</div>
</div>
<div className="ltc-item">
<div className="new-item">支付应用</div><div className="new-value">{ycddData.payment_equipment}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付金额</div><div className="new-value">{ycddData.paid_in_money}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">停车订单:{ycddData.park_record_id}</div><div className="line"></div></div>
<div className="ltc-box-title"><div className="text">车厂详情</div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">平台商户</div><div className="new-value">{ycddData.payment_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车场名称</div><div className="new-value">{ycddData?.road_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div><div className="new-value">{ycddData.area_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">商户名称</div><div className="new-value">{ycddData.park_operator_name}</div>
</div>
<div className="ltc-item">
<div className="new-item">泊位号</div><div className="new-value">{ycddData.berth_code}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场类型</div><div className="new-value">{ycddData.road_type}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">车辆详情</div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车牌号</div><div className="new-value">{ycddData.plate_number}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车时长</div><div className="new-value">{ycddData.parking_duration}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场时间</div><div className="new-value">{ycddData.in_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div><div className="new-value">{ycddData.out_time}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场记录来源</div><div className="new-value">{ycddData.inSource}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场记录来源</div><div className="new-value">{ycddData.outSource}</div>
</div>
<div className="ltc-item">
<div className="new-item">证据图像</div><div className="new-value"><a onClick={() => { setEaeVisible(true) }}>查看</a></div>
</div>
</div>
</>}
</div>
//
const tckModal = <div className="ltc-box">
<div className="ltc-box-title">订单信息:</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="订单状态">{ycddData?.t || "--"}</Descriptions.Item>
<Descriptions.Item label="支付时间">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="车牌号">{ycddData.o || "--"}</Descriptions.Item>
<Descriptions.Item label="车牌颜色">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="手机号">{ycddData.mobile || "--"}</Descriptions.Item>
<Descriptions.Item label="购买渠道">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="实付金额">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="支付渠道">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="支付设备">{ycddData.r || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title">商品信息:</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="商品名称">{ycddData.plate}</Descriptions.Item>
<Descriptions.Item label="商户名称">{ycddData.admission_time}</Descriptions.Item>
<Descriptions.Item label="适用范围">{ycddData.in_time}</Descriptions.Item>
<Descriptions.Item label="生效开始日期">{ycddData.out_time}</Descriptions.Item>
<Descriptions.Item label="有效天数">{ycddData.in_source}</Descriptions.Item>
<Descriptions.Item label="生效结束日期">{ycddData.out_source}</Descriptions.Item>
<Descriptions.Item label="实付金额"></Descriptions.Item>
</Descriptions>
</div>
//
const cfkModal = <div className="ltc-box">
<div className="ltc-box-title">订单信息:</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="停车场名称">{ycddData?.road || "--"}</Descriptions.Item>
<Descriptions.Item label="手机号">{ycddData.mobile || "--"}</Descriptions.Item>
<Descriptions.Item label="车牌号">{ycddData.plate_number || "--"}</Descriptions.Item>
<Descriptions.Item label="同步MS状态">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="订购时间">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="支付方式">{ycddData.r || "--"}</Descriptions.Item>
<Descriptions.Item label="订单金额">{ycddData.r || "--"}</Descriptions.Item>
</Descriptions>
<div className="ltc-box-title">商品信息:</div>
<div className="ltc-box-line"></div>
<Descriptions title="">
<Descriptions.Item label="销售金额">{ycddData.plate}</Descriptions.Item>
<Descriptions.Item label="有效时间">{ycddData.admission_time}</Descriptions.Item>
</Descriptions>
</div>
useEffect(() => {
searchOther()
}, [tabKey])
@ -1026,30 +1087,30 @@ function UserInfo() {
</Tabs.TabPane>
<Tabs.TabPane tab="欠费记录" key="5">
{renderTable(
createCol(['商户名称', '区域', '停车场名称', '车牌号', '入场时间', '出场时间', '欠费金额'],
['merchantName', 'area', 'sectionName', 'licensePlateNumber', 'entryTime', 'exitTime', 'arrearsAmount'], 5),
createCol(['会员手机号', '车牌号', '区域', '停车场', '泊位号', '入场时间', '出场时间', '应缴金额(元)', '停车时长(分钟)', '欠费天数(天)'],
['merchantName', 'area', 'sectionName', 'licensePlateNumber', 'entryTime', 'exitTime', 'arrearsAmount', 'entryTime', 'exitTime', 'arrearsAmount'], 5),
[ash[18], ash[0], ash[2], ash[5], ash[12]],
resultData
)}
</Tabs.TabPane>
<Tabs.TabPane tab="会员等级" key="6">
{renderTable(
createCol([], [], 6),
[],
{renderModalTable(
createCol(['变动类型', '变动时间', '变动金额', '成长值', '当前等级'],
[], 0),
resultData
)}
</Tabs.TabPane>
<Tabs.TabPane tab="信用等级" key="7">
{renderTable(
createCol([], [], 7),
[],
{renderModalTable(
createCol(['变动类型', '变动时间', '信用值', '当前等级'],
[], 0),
resultData
)}
</Tabs.TabPane>
<Tabs.TabPane tab="退款记录" key="8">
{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'], 5),
['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
)}
@ -1065,6 +1126,7 @@ function UserInfo() {
onCancel={() => {
setDetailVisible(false);
}}
footer={null}
>
<Tabs >
<Tabs.TabPane tab="停车记录信息" key="1">
@ -1106,8 +1168,8 @@ function UserInfo() {
关闭窗口
</Button>]}
>
{/* {tkddModal} */}
{tabKey == '8' ? tkddModal : tabKey == '6' ? tckModal : tabKey == '7' ? cfkModal : null}
{tkddModal}
{/* {tabKey == '8' ? tkddModal : tabKey == '6' ? tckModal : tabKey == '7' ? cfkModal : null} */}
</Modal>
<Modal

Loading…
Cancel
Save