Browse Source

fix():bug修改

tags/PMS_V1.0.0_Alpha5
xingjx 1 year ago
parent
commit
7fa8c52616
  1. 177
      src/pages/OutRoadMgm/OutExceptionMgm/PlateChangeMgm/index.jsx
  2. 165
      src/pages/OutRoadMgm/OutExceptionMgm/PlateChangeMgm/index.scss
  3. 189
      src/pages/OutRoadMgm/OutExceptionMgm/SpecialReleaseMgm/index.jsx
  4. 4
      src/pages/OutRoadMgm/OutExceptionMgm/ZombieCarCleanRecord/loadable.jsx
  5. 2
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/AddParking.jsx
  6. 4
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/CarMgm/CarManagement.jsx
  7. 6
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/Detail.jsx
  8. 2
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx
  9. 33
      src/services/OutRoadMgm/OutExceptionMgm/index.js
  10. 2
      src/services/OutRoadMgm/index.js

177
src/pages/OutRoadMgm/OutExceptionMgm/PlateChangeMgm/index.jsx

@ -13,111 +13,137 @@ import {
Timeline
} from "antd";
import moment from "moment";
import ajax from '@/services'
import ajax from "@/services";
import { TableModule } from "@/components";
import { dictionary } from "@/config/common.js";
import "./index.scss";
//plateChangeMgm
function PlateChangeMgm() {
const [resultData, setResultData] = useState([])
const [detailData, setDetailData] = useState({})
const [visible, setVisible] = useState(false)
const [total, setTotal] = useState(0);
const [searchSelectList, setSearchSelectList] = useState([]); //
const columns = [
{
title: "停车场名称",
title: "序号",
dataIndex: "index",
key: "index",
align: "center",
fixed: "right",
render: (text, record, index) => index + 1,
},
{
title: "车场名称",
dataIndex: "road_name",
key: "road_name",
align: "center",
fixed: "right",
},
{
title: "泊位总数",
dataIndex: "total_berths",
key: "total_berths",
title: "修正前车牌",
dataIndex: "plate_old",
key: "plate_old",
align: "center",
fixed: "right",
},
{
title: "停车记录数(次)",
dataIndex: "record_count",
key: "record_count",
title: "修正后车牌",
dataIndex: "plate_new",
key: "plate_new",
align: "center",
fixed: "right",
},
{
title: "订单应收金额(元)",
dataIndex: "receivable_amount",
key: "receivable_amount",
title: "修正时间",
dataIndex: "create_time",
key: "create_time",
align: "center",
fixed: "right",
},
{
title: "日均泊位周转次数(次)",
dataIndex: "average_turn_times",
key: "average_turn_times",
title: "修正类型",
dataIndex: "correct_type_name",
key: "correct_type_name",
align: "center",
fixed: "right",
},
{
title: "平均泊位利用率",
dataIndex: "average_use_rate",
key: "average_use_rate",
title: "操作人",
dataIndex: "operatename",
key: "operatename",
align: "center",
fixed: "right",
},
{
title: "平均停车时长",
dataIndex: "average_park_time",
key: "average_park_time",
title: "操作",
dataIndex: "operation",
key: "operation",
align: "center",
fixed: "right",
render: (_, record) => {
return (
<Button
type="primary"
onClick={() => {
getDetailData(record.id)
}}
>
详情
</Button>
);
},
},
];
//
const formSearch = [
{
name: "operator_id",
type: "Select",
label: "修正类型",
options: [],
name: "road_name",
type: "Input",
label: "车场名称",
placeholder: "请输入车场名称",
},
{
name: "plate",
type: "Input",
label: "车牌号",
placeholder: "请输入车牌号",
},
{
name: "car_parking_type",
name: "correct_type",
type: "Select",
label: "车场类型",
label: "修正类型",
defaultValue: "0",
options: [
{
label: '全部',
value: '3',
value: '0',
},
{
label: '路内车场',
label: '入场修正',
value: '1',
},
{
label: '路外车场',
label: '场中修正',
value: '2',
},
],
},
{
name: "road_name",
type: "Input",
label: "停车场",
placeholder: "请输入停车场名称",
label: '出场修改',
value: '3',
},
],
},
{
name: "timePeriod",
type: "RangePicker",
label: "时间段",
defaultTitle: ["修正时间", "至"],
defaultValue: [moment().startOf("day"), moment()],
},
];
//
function search(e) {
ajax.getParkingAlyReportList(e).then((res) => {
ajax.getPlateChangeList(e).then((res) => {
let { status, data, total } = res
if (status == 20000) {
if (data.list) {
@ -134,22 +160,51 @@ function PlateChangeMgm() {
})
}
//
const getSelectList = () => {
ajax.getOperator().then((e) => {
setSearchSelectList([
...searchSelectList,
...e.data
])
//
function getDetailData(e) {
ajax.getPlateChangeDetail(e).then((res) => {
let { status, data, total } = res
if (status == 20000) {
if (data.list) {
setVisible(true)
setDetailData(data.list[0])
} else {
setDetailData(data)
}
} else {
setResultData([])
message.error(res.message)
}
})
};
}
useEffect(() => {
getSelectList();
}, []);
//
const tkddModal = <div className="ltc-box">
<div className="ltc-box-title"><div className="text"></div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车场名称</div><div className="new-value">{detailData?.road_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">修正前车牌</div><div className="new-value">{detailData.plate_old || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">修正后车牌</div><div className="new-value">{detailData.plate_new || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">操作人</div><div className="new-value">{detailData.operatename || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">操作类型</div><div className="new-value">{detailData.correct_type_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">修正时间</div><div className="new-value">{detailData.create_time || "--"}</div>
</div>
</div>
</div>
return (
<>
<div className="plate-change-mgm">
<TableModule
columns={columns}
tableData={resultData}
@ -157,11 +212,27 @@ function PlateChangeMgm() {
search={search}
total={total}
rowKey={"road_name"}
exportUrl={'/api/ana/dataanalysis/parking_total_analysis_export'}
exportUrl={'/api/bpm/correct/export_lift'}
initFormData={{}}
pageName={'parkingAlyReport'}
pagename={'plateChangeMgm'}
/>
</>
<Modal
open={visible}
width={1500}
title={'订单详情'}
onCancel={() => {
setVisible(false);
}}
footer={[<>
<Button key="back" onClick={() => {
setVisible(false);
}}>
关闭窗口
</Button></>]}
>
{tkddModal}
</Modal>
</div>
);
}

165
src/pages/OutRoadMgm/OutExceptionMgm/PlateChangeMgm/index.scss

@ -233,8 +233,10 @@ $color-primary : var(--color-primary);
background: #3e4557;
}
}
.result-title {
display: inline-block;
p {
display: inline;
margin: 0 5px;
@ -242,6 +244,7 @@ $color-primary : var(--color-primary);
font-size: 18px;
}
}
.export-btn {
display: inline-block;
text-align: center;
@ -255,9 +258,11 @@ $color-primary : var(--color-primary);
margin-bottom: 10px;
cursor: pointer;
}
.root_gfkk {
float: right;
}
.row-head {
height: 32px;
display: flex;
@ -320,6 +325,151 @@ $color-primary : var(--color-primary);
}
.ltc-box {
width: 100%;
.ltc-box-title {
font-size: 18px;
font-weight: bolder;
width: 100%;
white-space: nowrap;
overflow: hidden;
.text {
display: inline-block;
}
.line {
display: inline-block;
border: 1px dotted #607092;
width: inherit;
margin-bottom: 6px;
}
.ltc-icon {
width: 5px;
background: #0080db;
height: 19px;
display: inline-block;
margin-right: 10px;
}
.ltc-btn {
display: inline-block;
border: 1px solid;
border-radius: 5px;
margin: 0 10px;
width: 60px;
height: 35px;
line-height: 35px;
text-align: center;
background: #409eff;
color: #fff;
font-weight: 100;
cursor: pointer;
}
.ltc-cancel {
background: #fff;
color: #000;
}
}
.ltc-box-line {
border: 1px solid #e7e7e7;
margin: 8px 0;
}
.ltc-box-in {
margin-left: 20px;
.ant-descriptions {
margin-left: 20px;
}
}
.ltc-title {
margin: auto;
width: 50%;
text-align: center;
font-size: 18px;
font-weight: 600;
}
.ltc-content {
margin: auto;
padding: 20px;
.ltc-item {
font-size: 14px;
margin: 6px 12px 6px 0;
display: inline-flex;
//width: 470px;
.new-item {
display: inline-block;
width: 120px;
height: 32px;
line-height: 32px;
background: rgba(150, 161, 192, 0.24);
text-align: center;
}
.new-value {
display: inline-block;
width: 320px;
height: 32px;
line-height: 32px;
text-align: center;
background: #3E4557;
box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.12);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.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;
}
}
}
}
.modal-pay-configuration {
.submitBtn {
@ -363,27 +513,28 @@ $color-primary : var(--color-primary);
}
.edit-order-inquiry {
/*定义滚动条高宽及背景
高宽分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar {
width: 6px;
height: 16px;
background-color: #5c5c5c;
}
}
/*定义滚动条轨道
/*定义滚动条轨道
内阴影+圆角*/
::-webkit-scrollbar-track {
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #9da2ab;
}
}
/*定义滑块
/*定义滑块
内阴影+圆角*/
::-webkit-scrollbar-thumb {
::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
background-color: #3b97ff;
}
}
}

189
src/pages/OutRoadMgm/OutExceptionMgm/SpecialReleaseMgm/index.jsx

@ -20,104 +20,128 @@ import "./index.scss";
//specialReleaseMgm
function SpecialReleaseMgm() {
const [resultData, setResultData] = useState([])
const [detailData, setDetailData] = useState({})
const [visible, setVisible] = useState(false)
const [total, setTotal] = useState(0);
const [searchSelectList, setSearchSelectList] = useState([]); //
const columns = [
{
title: "停车场名称",
dataIndex: "road_name",
key: "road_name",
title: "序号",
dataIndex: "index",
key: "index",
align: "center",
fixed: "right",
render: (text, record, index) => index + 1,
},
{
title: "泊位总数",
dataIndex: "total_berths",
key: "total_berths",
title: "车场名称",
dataIndex: "road_name",
key: "road_name",
align: "center",
fixed: "right",
},
{
title: "停车记录数(次)",
dataIndex: "record_count",
key: "record_count",
title: "车牌号",
dataIndex: "plate",
key: "plate_old",
align: "center",
fixed: "right",
},
{
title: "订单应收金额(元)",
dataIndex: "receivable_amount",
key: "receivable_amount",
title: "入场时间",
dataIndex: "plate",
key: "plate_new",
align: "center",
fixed: "right",
},
{
title: "日均泊位周转次数(次)",
dataIndex: "average_turn_times",
key: "average_turn_times",
title: "出场时间",
dataIndex: "cr",
key: "cr",
align: "center",
fixed: "right",
},
{
title: "平均泊位利用率",
dataIndex: "average_use_rate",
key: "average_use_rate",
title: "应收金额",
dataIndex: "co",
key: "co",
align: "center",
fixed: "right",
},
{
title: "平均停车时长",
dataIndex: "average_park_time",
key: "average_park_time",
title: "通道名称",
dataIndex: "op",
key: "oe",
align: "center",
fixed: "right",
},
];
//
const formSearch = [
{
name: "operator_id",
type: "Select",
label: "修正类型",
options: [],
title: "开闸时间",
dataIndex: "o",
key: "o",
align: "center",
fixed: "right",
},
{
name: "car_parking_type",
type: "Select",
label: "车场类型",
options: [
{
label: '全部',
value: '3',
title: "开闸原因",
dataIndex: "",
key: "o",
align: "center",
fixed: "right",
},
{
label: '路内车场',
value: '1',
title: "操作人",
dataIndex: "o",
key: "o",
align: "center",
fixed: "right",
},
{
label: '路外车场',
value: '2',
title: "操作",
dataIndex: "operation",
key: "operation",
align: "center",
fixed: "right",
render: (_, record) => {
return (
<Button
type="primary"
onClick={() => {
getDetailData(record.id)
}}
>
详情
</Button>
);
},
],
},
];
//
const formSearch = [
{
name: "road_name",
type: "Input",
label: "停车场",
placeholder: "请输入停车场名称",
label: "车场名称",
placeholder: "请输入车场名称",
},
{
name: "c",
type: "Input",
label: "操作人",
placeholder: "请输入操作人",
},
{
name: "timePeriod",
type: "RangePicker",
label: "时间段",
defaultTitle: ["开闸时间", "至"],
defaultValue: [moment().startOf("day"), moment()],
},
];
//
function search(e) {
ajax.getParkingAlyReportList(e).then((res) => {
ajax.getPlateChangeList(e).then((res) => {
let { status, data, total } = res
if (status == 20000) {
if (data.list) {
@ -134,22 +158,51 @@ function SpecialReleaseMgm() {
})
}
//
const getSelectList = () => {
ajax.getOperator().then((e) => {
setSearchSelectList([
...searchSelectList,
...e.data
])
//
function getDetailData(e) {
ajax.getPlateChangeDetail(e).then((res) => {
let { status, data, total } = res
if (status == 20000) {
if (data.list) {
setVisible(true)
setDetailData(data.list[0])
} else {
setDetailData(data)
}
} else {
setResultData([])
message.error(res.message)
}
})
};
}
useEffect(() => {
getSelectList();
}, []);
//
const tkddModal = <div className="ltc-box">
<div className="ltc-box-title"><div className="text"></div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车场名称</div><div className="new-value">{detailData?.road_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">修正前车牌</div><div className="new-value">{detailData.plate_old || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">修正后车牌</div><div className="new-value">{detailData.plate_new || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">操作人</div><div className="new-value">{detailData.operatename || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">操作类型</div><div className="new-value">{detailData.correct_type_name || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">修正时间</div><div className="new-value">{detailData.create_time || "--"}</div>
</div>
</div>
</div>
return (
<>
<div className="plate-change-mgm">
<TableModule
columns={columns}
tableData={resultData}
@ -157,11 +210,27 @@ function SpecialReleaseMgm() {
search={search}
total={total}
rowKey={"road_name"}
exportUrl={'/api/ana/dataanalysis/parking_total_analysis_export'}
exportUrl={'/api/bpm/correct/export_lift'}
initFormData={{}}
pageName={'parkingAlyReport'}
pagename={'plateChangeMgm'}
/>
</>
<Modal
open={visible}
width={1500}
title={'订单详情'}
onCancel={() => {
setVisible(false);
}}
footer={[<>
<Button key="back" onClick={() => {
setVisible(false);
}}>
关闭窗口
</Button></>]}
>
{tkddModal}
</Modal>
</div>
);
}

4
src/pages/OutRoadMgm/OutExceptionMgm/ZombieCarCleanRecord/loadable.jsx

@ -143,8 +143,8 @@ function ZombieCarCleanRecord(props) {
//
const deployListColumns = [
{
title: '序号id',
dataIndex: 'id',
title: '序号',
dataIndex: 'info_id',
render: (text, record, index) => <div>{text}</div>
},
{

2
src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/AddParking.jsx

@ -588,7 +588,7 @@ function AddParking(props) {
<Select
getPopupContainer={(e) => e.parentNode}
options={getOperationName.slice(1)}
//disabled={status === "edit" || disabled}
disabled={form.getFieldsValue().pid || disabled}
/>
</Form.Item>
</Col>

4
src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/CarMgm/CarManagement.jsx

@ -137,11 +137,9 @@ function CarManagement({ id }) {
onClick={() => {
if (record.status == "1") {
disableVehicle(record.id);
submit(form.getFieldValue());
return;
}
enableVehicle(record.id);
submit(form.getFieldValue());
}}
>
{record.status == '1' ? "禁用" : "启用"}
@ -281,6 +279,7 @@ function CarManagement({ id }) {
ajax.enableVehicle({ id }).then((res) => {
if (res.status === 20000) {
message.success(res.message);
submit(form.getFieldValue());
}
});
};
@ -289,6 +288,7 @@ function CarManagement({ id }) {
ajax.disableVehicle({ id }).then((res) => {
if (res.status === 20000) {
message.success(res.message);
submit(form.getFieldValue());
}
});
};

6
src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/Detail.jsx

@ -137,10 +137,10 @@ function ParkingContent(props) {
<Descriptions.Item label="高德POI">{roadInfo.poi}</Descriptions.Item>
<Descriptions.Item label="地址">{roadInfo.address}</Descriptions.Item>
<Descriptions.Item label="是否商业车场">
{roadInfo.is_business}
{roadInfo.is_business_name}
</Descriptions.Item>
<Descriptions.Item label="合作模式">
{roadInfo.cooperate_type}
{roadInfo.cooperate_type_name}
</Descriptions.Item>
<Descriptions.Item label="停车场开放时间">
{roadInfo.open_time_range}
@ -155,7 +155,7 @@ function ParkingContent(props) {
{roadInfo.recharge}
</Descriptions.Item>
<Descriptions.Item label="接入方式">
{roadInfo.access_type}
{roadInfo.access_type_name}
</Descriptions.Item>
<Descriptions.Item label="备案时间">
{roadInfo.filings_time}

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

@ -475,6 +475,8 @@ function OutSegment() {
if (res.status === 20000) {
message.success("配置成功");
setAppraiseModal({ ...appraiseModal, visible: false });
} else {
message.error(res.message)
}
});
} else {

33
src/services/OutRoadMgm/OutExceptionMgm/index.js

@ -0,0 +1,33 @@
import ajax from "@/config/ajax"
//异常管理-车牌修正记录-列表
const getPlateChangeList = (params) => {
return ajax({
url: "/api/bpm/correct/get_correct_res",
type: "post",
data: params,
});
};
//异常管理-车牌修正记录-详情
const getPlateChangeDetail = (params) => {
return ajax({
url: "/api/bpm/correct/show_correct_detail",
type: "post",
data: params,
});
};
//异常管理-车牌修正记录-导出
const getPlateChangeExport = (params) => {
return ajax({
url: "/api/bpm/clearzom/export_zomcar",
type: "post",
data: params,
});
};
export default {
getPlateChangeList,
getPlateChangeDetail,
getPlateChangeExport,
}

2
src/services/OutRoadMgm/index.js

@ -9,6 +9,7 @@ import ChargeRulesMgm from "./ChargeRulesMgm";
import OutRoadOverview from "./OutRoadOverview";
import OutParkingArrearsOrders from "./OutParkingArrearsOrders";
import OutPersonMgm from "./OutPersonMgm";
import OutExceptionMgm from "./OutExceptionMgm";
export default {
...OutSegment,
...ZombieCarMgm,
@ -21,4 +22,5 @@ export default {
...OutRoadOverview,
...OutParkingArrearsOrders,
...OutPersonMgm,
...OutExceptionMgm,
};
|||||||
100:0
Loading…
Cancel
Save