You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1359 lines
47 KiB
1359 lines
47 KiB
import React, { useEffect, useState, useRef } from 'react';
|
|
import { connect } from 'react-redux';
|
|
import { Spin, Button, Popconfirm, Badge } from 'antd';
|
|
import ProTable from '@ant-design/pro-table';
|
|
import './protable.less'
|
|
import moment from 'moment';
|
|
import { getCircuit, getVehicle, delCircuit, delVehicle } from "../actions/infor"
|
|
import UserModal from './infor/details';
|
|
|
|
const PublicTable = (props) => {
|
|
const { dispatch, user, depData, depMessage, depLoading } = props
|
|
const [rowSelected, setRowSelected] = useState([])
|
|
// const [regionId, setRegionId] = useState()//区域id
|
|
// const [placeType, setPlaceType] = useState()//场所
|
|
// const [day, setDay] = useState([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])//日期
|
|
const [sitename, setSitename] = useState()//场所名称
|
|
const [counts, setCounts] = useState()//shuju
|
|
const [activeKey, setActiveKey] = useState('tab1');
|
|
const [modalVisible, setModalVisible] = useState(false);
|
|
const [modalRecord, setModalRecord] = useState();
|
|
const [typecard, setTypecard] = useState();
|
|
const [recortd, setRecortd] = useState()
|
|
const [rewkeys, setRewkeys] = useState('xianlu')
|
|
const [delet, setDelet] = useState()
|
|
|
|
const ref = useRef()
|
|
useEffect(() => { ref.current.reload() }, [delet, rewkeys])
|
|
//xianlu请求
|
|
const requestxianlu = (name) => {
|
|
const query = name
|
|
setRowSelected([]);
|
|
dispatch(getCircuit(query)).then((res) => {
|
|
setCounts(res.payload.data)
|
|
})
|
|
}
|
|
//cheliang请求
|
|
const requestcheliang = (name) => {
|
|
const query = ''
|
|
setRowSelected([]);
|
|
dispatch(getVehicle(query)).then((res) => {
|
|
setCounts(res.payload.data)
|
|
})
|
|
}
|
|
//打开弹窗
|
|
const openModal = (type, record) => {
|
|
setModalVisible(true);
|
|
// setModalType(type);
|
|
if (type == 'edit') {
|
|
setModalRecord(record);
|
|
} else {
|
|
setModalRecord(null);
|
|
}
|
|
}
|
|
const deldata = (id) => { // 线路
|
|
const query = {
|
|
lineId: id
|
|
}
|
|
dispatch(delCircuit(query)).then((res) => {
|
|
setDelet(res)
|
|
})
|
|
}
|
|
const deldatas = (id) => { // 车辆
|
|
const query = {
|
|
carId: id
|
|
}
|
|
dispatch(delVehicle(query)).then((res) => {
|
|
setDelet(res)
|
|
})
|
|
}
|
|
const columns = {
|
|
tab1: [
|
|
{
|
|
title: '公司',
|
|
search: false,
|
|
dataIndex: 'containers',
|
|
|
|
fixed: 'left',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.company
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
},
|
|
{
|
|
title: '车队',
|
|
dataIndex: 'placeName',
|
|
fixed: 'left',
|
|
width: 120,
|
|
options: 1,
|
|
backgroundColor: "#ffffff",
|
|
fieldProps: {
|
|
onChange: (value, cs) => {
|
|
setSitename(value.currentTarget.value)
|
|
},
|
|
placeholder: '请输入所属车队',
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
},
|
|
render: (dom, record) => {
|
|
return record.fleet
|
|
},
|
|
},
|
|
{
|
|
title: '车队长',
|
|
search: false,
|
|
dataIndex: 'time2',
|
|
valueType: 'dateRange',
|
|
// align: 'right',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.carCaptain
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
},
|
|
{
|
|
title: '副车队长',
|
|
search: false,
|
|
dataIndex: 'time3',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.assistantCarCaptain
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '办公地点',
|
|
search: false,
|
|
dataIndex: 'time4',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.officeLocation
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '线路名称',
|
|
search: false,
|
|
dataIndex: 'time5',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.lineName
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '线路类型',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.lineType
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '线路划分',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.lineDivision
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: 'GPS编号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.gPSNumber
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '起点终点',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.startingPointEndPoint
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车辆数',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.numberOfVehicles
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '全程公里数',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.totalKilometers
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '票价',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.ticketPrice
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '开通时间',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.openingTime
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '运行时间',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.runningTime
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '开班时间夏令',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.openingTimeSummer
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '收班时间夏令',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.shiftClosingTimeSummer
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '开班时间冬令',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.openingTimeWinter
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '收班时间冬令',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.shiftClosingTimeWinter
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '沿途站点上行',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 420,
|
|
render: (dom, record) => {
|
|
return record.uplinkOfStationsAlongTheWay
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '沿途站点下行',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 420,
|
|
render: (dom, record) => {
|
|
return record.downlinkOfStationsAlongTheWay
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '所属区域',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.area
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '备注',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.remarks
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
},
|
|
{
|
|
title: '操作',
|
|
dataIndex: 'creatTime',
|
|
valueType: 'dateTimeRange',
|
|
hideInSearch: true,
|
|
width: 120,
|
|
fixed: 'right',
|
|
render: (dom, record) => {
|
|
return <div><Button type="link"
|
|
onClick={() => {
|
|
openModal('edit', record)
|
|
setTypecard('compile')
|
|
setRecortd(record)
|
|
}}
|
|
>编辑</Button><Popconfirm title='是否确认删除' onConfirm={() => { deldata(record.id) }}>
|
|
<Button type="link">删除</Button>
|
|
</Popconfirm></div>
|
|
|
|
}
|
|
},
|
|
{
|
|
key: "direction",
|
|
hideInTable: true,
|
|
dataIndex: "direction",
|
|
order: 6,
|
|
renderFormItem: (item, { type, defaultRender, ...rest }, form, record) => {
|
|
return (
|
|
<div> <Button
|
|
type="primary"
|
|
style={{ width: "100px" }}
|
|
onClick={() => {
|
|
openModal('edit', record)
|
|
setTypecard('')
|
|
}}
|
|
>
|
|
新增
|
|
</Button>
|
|
<Button
|
|
type="primary"
|
|
style={{ width: "100px", marginLeft: 20 }}
|
|
onClick={() => {
|
|
// dispatch(push(`article/update/post`));
|
|
}}
|
|
>
|
|
导入
|
|
</Button>
|
|
</div>
|
|
|
|
|
|
);
|
|
},
|
|
},
|
|
], tab2: [
|
|
{
|
|
title: '所属公司',
|
|
search: false,
|
|
dataIndex: 'containers',
|
|
|
|
fixed: 'left',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.company
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
},
|
|
{
|
|
title: '所属车队',
|
|
dataIndex: 'placeName',
|
|
fixed: 'left',
|
|
width: 120,
|
|
options: 1,
|
|
backgroundColor: "#ffffff",
|
|
render: (dom, record) => {
|
|
return record.fleet
|
|
},
|
|
fieldProps: {
|
|
onChange: (value, cs) => {
|
|
setSitename(value.currentTarget.value)
|
|
},
|
|
placeholder: '请输入所属车队',
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
},
|
|
},
|
|
{
|
|
title: '所属线路',
|
|
search: false,
|
|
dataIndex: 'time2',
|
|
valueType: 'dateRange',
|
|
// align: 'right',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.line
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
},
|
|
{
|
|
title: '车辆编号',
|
|
search: false,
|
|
dataIndex: 'time3',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleNumber
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车辆牌照号',
|
|
search: false,
|
|
dataIndex: 'time4',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleLicensePlateNumber
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '运营类别',
|
|
search: false,
|
|
dataIndex: 'time5',
|
|
valueType: 'dateRange',
|
|
|
|
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.operationCategory
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '已使用年限',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.serviceLife
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '发动机型号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.engineModel
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车辆型号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleModel
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车辆类别',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleCategory
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车辆状态',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleStatus
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '入户日期',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.dateOfEntry
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '购进日期',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.purchaseDate
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '能耗类型',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.energyConsumptionType
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '标台数',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.numberOfStandardUnits
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '维保单位',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.maintenanceUnit
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车辆类型',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleType
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '厂牌型号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.brandAndModel
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '生产厂家',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.manufacturer
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '行驶证编号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.drivingLicenseNo
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '发动机编号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.engineNumber
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '主能耗',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.mainEnergyConsumption
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '副能耗',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.secondaryEnergyConsumption
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '排放标准',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.emissionStandard
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '启用日期',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.startDate
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '最近一次调动日期',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.lastTransferDate
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车长',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.conductor
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车宽',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleWidth
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车高',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.carHeight
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '核定载客数',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.approvedPassengerCapacity
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '车辆识别号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.vehicleIdentificationNumber
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '变速箱品牌',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.gearboxBrand
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '人工洗车费',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.manualCarWashingFee
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '劳务费',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.laborCost
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '整备质量',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.curbWeight
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '总质量',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.totalMass
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '空调温度',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.airConditioningTemperature
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '是否空调车',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.airConditionedCarOrNot
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '开空调温度',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.turnOnTheAirConditioningTemperature
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '功率',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.power
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '变速器',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.transmission
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '座位数',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.seatingCapacity
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '空调品牌',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.airConditioningBrand
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '座椅类型',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.seatType
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '轮胎规格',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.tireSpecifications
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '道路运输证号',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.roadTransportCertificateNo
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '停放点',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.parkingPoint
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '洗车类型',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.carWashingType
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '免维护轮端',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.maintenanceFreeWheelEnd
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '首保日期',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.firstGuaranteeDate
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '整修日期',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.dateOfRenovation
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
}, {
|
|
title: '机动车所有人',
|
|
search: false,
|
|
dataIndex: 'time6',
|
|
valueType: 'dateRange',
|
|
width: 120,
|
|
render: (dom, record) => {
|
|
return record.motorVehicleOwner
|
|
},
|
|
fieldProps: {
|
|
getPopupContainer: (triggerNode) => triggerNode.parentNode,
|
|
}
|
|
},
|
|
{
|
|
title: '操作',
|
|
dataIndex: 'creatTime',
|
|
valueType: 'dateTimeRange',
|
|
hideInSearch: true,
|
|
width: 120,
|
|
fixed: 'right',
|
|
render: (dom, record) => {
|
|
return <div><Button type="link"
|
|
onClick={() => {
|
|
openModal('edit', record)
|
|
setTypecard('compile')
|
|
setRecortd(record)
|
|
}}
|
|
>编辑</Button><Popconfirm title='是否确认删除' onConfirm={() => { deldatas(record.id) }}>
|
|
<Button type="link">删除</Button>
|
|
</Popconfirm></div>
|
|
|
|
}
|
|
},
|
|
{
|
|
key: "direction",
|
|
hideInTable: true,
|
|
dataIndex: "direction",
|
|
order: 6,
|
|
renderFormItem: (item, { type, defaultRender, ...rest }, form, record) => {
|
|
return (
|
|
<div> <Button
|
|
type="primary"
|
|
style={{ width: "100px" }}
|
|
onClick={() => {
|
|
openModal('edit', record)
|
|
setTypecard('')
|
|
}}
|
|
>
|
|
新增
|
|
</Button>
|
|
<Button
|
|
type="primary"
|
|
style={{ width: "100px", marginLeft: 20 }}
|
|
onClick={() => {
|
|
// dispatch(push(`article/update/post`));
|
|
}}
|
|
>
|
|
导入
|
|
</Button>
|
|
</div>
|
|
|
|
|
|
);
|
|
},
|
|
},
|
|
]
|
|
}
|
|
return (
|
|
<Spin spinning={false}>
|
|
<div className='protable-transpor'>
|
|
<ProTable
|
|
actionRef={ref}
|
|
toolbar={{
|
|
multipleLine: true,
|
|
menu: {
|
|
activeKey,
|
|
onChange: (key) => setActiveKey(key),
|
|
items: [
|
|
{
|
|
key: 'tab1',
|
|
label: <span onClick={() => {
|
|
{
|
|
setRewkeys('xianlu')
|
|
}
|
|
}}>运营线路{activeKey === 'tab1'}</span>,
|
|
|
|
},
|
|
{
|
|
key: 'tab2',
|
|
label: <span onClick={() => {
|
|
{
|
|
setRewkeys('cheliang')
|
|
}
|
|
}}>车辆信息{activeKey === 'tab2'}</span>,
|
|
|
|
}
|
|
],
|
|
},
|
|
}}
|
|
scroll={{ x: 800 }}
|
|
options={false}
|
|
ref={c => { finishedProductTable = c; }}
|
|
style={{ width: "100% ", overflow: "auto", height: '760px' }}
|
|
rowKey='id'
|
|
onReset={(v) => {
|
|
// const { id } = depMessage[0]
|
|
// console.log(id)
|
|
// setRegionId(id)
|
|
// setPlaceType(-1)
|
|
// setDay([moment('2022-03-01').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')])
|
|
setSitename('')
|
|
}}
|
|
rowSelection={{
|
|
selectedRowKeys: rowSelected,
|
|
onChange: (selectedRowKeys) => {
|
|
setRowSelected(selectedRowKeys);
|
|
},
|
|
}}
|
|
columns={columns[activeKey]}
|
|
|
|
dataSource={counts || []}
|
|
request={async (params) => {
|
|
if (rewkeys == 'xianlu') {
|
|
const query = {
|
|
fleet: sitename
|
|
}
|
|
setRowSelected([]);
|
|
const res = await dispatch(getCircuit(query));
|
|
setCounts(res.payload.data)
|
|
return {
|
|
...res,
|
|
total: res.payload.data ? res.payload.data.count : 0
|
|
}
|
|
}
|
|
if (rewkeys == 'cheliang') {
|
|
const query = {
|
|
fleet: sitename
|
|
}
|
|
setRowSelected([]);
|
|
const res = await dispatch(getVehicle(query));
|
|
setCounts(res.payload.data)
|
|
return {
|
|
...res,
|
|
total: res.payload.data ? res.payload.data.count : 0
|
|
}
|
|
}
|
|
|
|
}}
|
|
search={{
|
|
defaultCollapsed: false,
|
|
optionRender: (searchConfig, formProps, dom) => [
|
|
...dom.reverse(),
|
|
<Popconfirm title="确认导出?" onConfirm={() => { props.exports(rowSelected, counts) }}>
|
|
<Button
|
|
>
|
|
导出
|
|
</Button>
|
|
</Popconfirm>
|
|
],
|
|
}}
|
|
|
|
>
|
|
</ProTable></div>
|
|
{modalVisible ? <UserModal
|
|
visible={modalVisible}
|
|
onVisibleChange={setModalVisible}
|
|
modalRecord={modalRecord}
|
|
typecard={typecard}
|
|
rewkeys={rewkeys}
|
|
data={rewkeys === 'xianlu' ? data : date}
|
|
recortd={recortd}
|
|
// sitename={sitename}
|
|
setDelet={setDelet}
|
|
setRecortd={setRecortd}
|
|
/> : ''}
|
|
</Spin >
|
|
)
|
|
}
|
|
const data = {
|
|
"company": "公司",
|
|
"fleet": "车队",
|
|
"carCaptain": "车队长",
|
|
"assistantCarCaptain": "副车队长",
|
|
"officeLocation": "办公地点",
|
|
"lineName": "线路名称",
|
|
"lineType": "线路类型",
|
|
"lineDivision": "线路划分",
|
|
"gPSNumber": "GPS编号",
|
|
"startingPointEndPoint": "起点终点",
|
|
"numberOfVehicles": "车辆数",
|
|
"totalKilometers": "全程公里数",
|
|
"ticketPrice": "票价",
|
|
"openingTime": "开通时间",
|
|
"runningTime": "运行时间",
|
|
"openingTimeSummer": "开班时间夏令",
|
|
"shiftClosingTimeSummer": "收班时间夏令",
|
|
"openingTimeWinter": "开班时间冬令",
|
|
"shiftClosingTimeWinter": "收班时间冬令",
|
|
"uplinkOfStationsAlongTheWay": "沿途站点上行",
|
|
"downlinkOfStationsAlongTheWay": "沿途站点下行",
|
|
"area": "所属区域",
|
|
"remarks": "备注"
|
|
}
|
|
const date = {
|
|
"company": "所属公司",
|
|
"fleet": "所属车队",
|
|
"line": "所属线路",
|
|
"vehicleNumber": "车辆编号",
|
|
"vehicleLicensePlateNumber": "车辆牌照号",
|
|
"operationCategory": "运营类别",
|
|
"serviceLife": "已使用年限",
|
|
"engineModel": "发动机型号",
|
|
"vehicleModel": "车辆型号",
|
|
"vehicleCategory": "车辆类别",
|
|
"vehicleStatus": "车辆状态",
|
|
"dateOfEntry": "入户日期",
|
|
"purchaseDate": "购进日期",
|
|
"energyConsumptionType": "能耗类型",
|
|
"numberOfStandardUnits": "标台数",
|
|
"maintenanceUnit": "维保单位",
|
|
"vehicleType": "车辆类型",
|
|
"brandAndModel": "厂牌型号",
|
|
"manufacturer": "生产厂家",
|
|
"drivingLicenseNo": "行驶证编号",
|
|
"engineNumber": "发动机编号",
|
|
"mainEnergyConsumption": "主能耗",
|
|
"secondaryEnergyConsumption": "副能耗",
|
|
"emissionStandard": "排放标准",
|
|
"startDate": "启用日期",
|
|
"lastTransferDate": "最近一次调动日期",
|
|
"conductor": "车长",
|
|
"vehicleWidth": "车宽",
|
|
"carHeight": "车高",
|
|
"approvedPassengerCapacity": "核定载客数",
|
|
"vehicleIdentificationNumber": "车辆识别号",
|
|
"gearboxBrand": "变速箱品牌",
|
|
"manualCarWashingFee": "人工洗车费",
|
|
"laborCost": "劳务费",
|
|
"curbWeight": "整备质量",
|
|
"totalMass": "总质量",
|
|
"airConditioningTemperature": "空调温度",
|
|
"airConditionedCarOrNot": "是否空调车",
|
|
"turnOnTheAirConditioningTemperature": "开空调温度",
|
|
"power": "功率",
|
|
"transmission": "变速器",
|
|
"seatingCapacity": "座位数",
|
|
"airConditioningBrand": "空调品牌",
|
|
"seatType": "座椅类型",
|
|
"tireSpecifications": "轮胎规格",
|
|
"roadTransportCertificateNo": "道路运输证号",
|
|
"parkingPoint": "停放点",
|
|
"carWashingType": "洗车类型",
|
|
"maintenanceFreeWheelEnd": "免维护轮端",
|
|
"firstGuaranteeDate": "首保日期",
|
|
"dateOfRenovation": "整修日期",
|
|
"motorVehicleOwner": "机动车所有人"
|
|
}
|
|
function mapStateToProps(state) {
|
|
const { auth, depMessage } = state;
|
|
const pakData = (dep) => {
|
|
return dep.map((d) => {
|
|
return {
|
|
title: d.name,
|
|
value: d.id,
|
|
// children: d.type >= 2 ? [] : pakData(d.subordinate)
|
|
children: pakData(d.subordinate)
|
|
}
|
|
})
|
|
}
|
|
let depData = pakData(depMessage.data || [])
|
|
return {
|
|
user: auth.user,
|
|
depMessage: depMessage.data || [],
|
|
depLoading: depMessage.isRequesting,
|
|
depData,
|
|
};
|
|
}
|
|
export default connect(mapStateToProps)(PublicTable);
|