Browse Source

fix():处理欠费车辆和僵尸车管理的bug

tags/PMS_Frontend_v1.0.6-develop
xingjx 1 year ago
parent
commit
f4154ebd40
  1. 28
      src/components/TableModule/index.jsx
  2. 143
      src/pages/FinancialMgm/OrderInquiry/ParkingOrderInquiry/index.jsx
  3. 108
      src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx
  4. 2
      src/pages/OperationCenter/ArrearsRecover/ArrearsCar/loadable.jsx
  5. 2
      src/pages/OutRoadMgm/OutSegmentMgm/ZombieCarMgm/loadable.jsx

28
src/components/TableModule/index.jsx

@ -47,7 +47,7 @@ const TableModule = forwardRef((props, ref) => {
otherData = {}, //
rowKey, //tablekey
userInfo = {},//
pageName='',//
pageName = '',//
} = props;
const [sessionTabList, setSessionTabList] = useSessionStorageState(pageName, {
value: ''
@ -119,10 +119,10 @@ const TableModule = forwardRef((props, ref) => {
let start_time = sessionTabList.start_time
let end_time = sessionTabList.end_time
searchForm.setFieldsValue({ ...sessionTabList, start_time: moment(start_time), end_time: moment(end_time) })
}else {
if(sessionTabList.in_time){
} else {
if (sessionTabList.in_time) {
searchForm.setFieldsValue({ ...sessionTabList, in_time: moment(sessionTabList.in_time) })
}else {
} else {
searchForm.setFieldsValue({ ...sessionTabList })
}
}
@ -151,12 +151,20 @@ const TableModule = forwardRef((props, ref) => {
),
};
}
if (form.in_time) {
form = {
...form,
in_time: moment(form.in_time).format(
"YYYY-MM-DD"
),
}
}
if (areaName !== null) form[areaName] = areaSelectedList;
if (form.start_time !== void 0 && form.end_time !== void 0) {
form.start_time = moment(form.start_time).format("YYYY-MM-DD HH:mm:ss");
form.end_time = moment(form.end_time).format("YYYY-MM-DD HH:mm:ss");
}
console.log(212,form)
console.log(212, form)
search(form);
}
//
@ -188,10 +196,12 @@ const TableModule = forwardRef((props, ref) => {
start_time: moment(deftime.startDateTime),
end_time: moment(deftime.endDateTime)
})
console.log(21,deftime)
setSessionTabList({ ...sessionTabList, start_time: moment(deftime.startDateTime),
end_time: moment(deftime.endDateTime) })
}else {
console.log(21, deftime)
setSessionTabList({
...sessionTabList, start_time: moment(deftime.startDateTime),
end_time: moment(deftime.endDateTime)
})
} else {
// searchForm.setFieldsValue({
// start_time: moment().subtract(1, "month"),
// end_time: moment()

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

@ -168,92 +168,7 @@ function ParkingOrderInquiry() {
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
@ -478,6 +393,12 @@ function ParkingOrderInquiry() {
label: "操作人",
placeholder: "请输入操作人",
},
{//26
name: "t",
type: "Input",
label: "停车订单ID",
placeholder: "停车订单ID",
},
];
const [tag, setTag] = useState('1');
const [edit, setEdit] = useState(true);
@ -972,58 +893,11 @@ function ParkingOrderInquiry() {
</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])
//
const orderInfo = <>
<Tabs >
<Tabs.TabPane tab="欠费订单查询" key="1">
@ -1052,6 +926,7 @@ function ParkingOrderInquiry() {
</Tabs.TabPane>
</Tabs>
</>
return (
<>
<Tabs activeKey={tabKey} onChange={changeKey}>

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

@ -57,37 +57,6 @@ function ReturnOrderInquiry() {
align: "center",
}
switch (type) {
case 2:
obj.render = (text, record) => (<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
setYcddData(record)
setDetailVisible(true)
}}>
<a>详情</a>
</span>
</>)
arr.push(obj)
break
case 6:
obj.render = (text, record) => (<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
setTkddVisible(true)
}}>
<a>详情</a>
</span>
</>)
arr.push(obj)
break
case 7:
obj.render = (text, record) => (<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
setTkddVisible(true)
}}>
<a>详情</a>
</span>
</>)
arr.push(obj)
break
case 8:
obj.render = (text, record) => (<>
<span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
@ -189,78 +158,19 @@ function ReturnOrderInquiry() {
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
}
//
function search(e) {
var url ="/api/ope/record/get_refund_list"//退
ajax({
url: url,
type: "post",
@ -298,7 +208,7 @@ function ReturnOrderInquiry() {
})
}
//
//
function renderTable(columns, arr, dataSource, exportUrl) {
return (
<TableModule
@ -306,7 +216,8 @@ function ReturnOrderInquiry() {
tableData={dataSource}
formSearch={arr}
total={total}
search={searchOther}
search={search}
pageName={'returnOrderInquiry'}
exportUrl={exportUrl}
rowKey={'id'}
/>
@ -438,12 +349,11 @@ function ReturnOrderInquiry() {
</div>
useEffect(() => {
searchOther()
}, [tabKey])
search()
}, [])
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),
@ -481,8 +391,6 @@ function ReturnOrderInquiry() {
</Button>]}
>
{tkddModal}
{/* {tabKey == '8' ? tkddModal : tabKey == '6' ? tckModal : tabKey == '7' ? cfkModal : null} */}
</Modal>
</>
);

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

@ -330,7 +330,9 @@ function ArrearsCar() {
})
}
useEffect(() => {
if(carId){
searchDetail()
}
}, [pageData]);
return (
<>

2
src/pages/OutRoadMgm/OutSegmentMgm/ZombieCarMgm/loadable.jsx

@ -114,7 +114,7 @@ function ZombieCarMgm() {
name: "in_time",
label: "入场时间",
component: () => {
return <DatePicker />;
return <DatePicker format={"YYYY-MM-DD"}/>;
},
},
{

Loading…
Cancel
Save