修改bug 一级口门 人员进港记录 车辆进港记录接口对接

master
853931625@qq.com 2026-05-28 17:44:38 +08:00
parent 0abc3c3881
commit 5bb399c330
21 changed files with 167 additions and 87 deletions

View File

@ -14,3 +14,8 @@ export const enclosedPersonnelAndVehicleStatisticsPersonnelEntryAndExitRecordsLi
"enclosedPersonnelAndVehicleStatisticsLoading", "enclosedPersonnelAndVehicleStatisticsLoading",
`Post > @/primeport/`, `Post > @/primeport/`,
); );
export const eVehicleArrivalDepartureInfoList
= declareRequest(
"enclosedPersonnelAndVehicleStatisticsLoading",
`Post > @/primeport/eVehicleArrivalDepartureInfo/list`,
);

View File

@ -22,3 +22,8 @@ export const stockPersonnelAndVehiclesAuthorization = declareRequest(
); );
export const stockPersonnelAndVehiclesVehicleManagementVehicleRecordsList export const stockPersonnelAndVehiclesVehicleManagementVehicleRecordsList
= declareRequest("stockPersonnelAndVehiclesLoading", `Post > @/primeport/`); = declareRequest("stockPersonnelAndVehiclesLoading", `Post > @/primeport/`);
export const mkmjSwipeCardRecordList = declareRequest(
"stockPersonnelAndVehiclesLoading",
`Post > @/primeport/mkmjSwipeCardRecord/list`,
)

View File

@ -40,3 +40,8 @@ export const inspectDepartmentVehiclesUpdate = declareRequest(
"vehicleApplyLoading", "vehicleApplyLoading",
`Put > @/primeport/vehicleApply/inspectCarEdit`, `Put > @/primeport/vehicleApply/inspectCarEdit`,
); );
export const eVehicleArrivalDepartureInfoList
= declareRequest(
"vehicleApplyLoading",
`Post > @/primeport/eVehicleArrivalDepartureInfo/list`,
);

View File

@ -125,7 +125,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./personnelRecords?id=${record.id}`); props.history.push(`./personnelRecords?userCard=${record.userCard}`);
}} }}
> >
人员进出记录 人员进出记录

View File

@ -16,34 +16,34 @@ const ENTRY_AND_EXIT_STATUS_ENUM = [
function PersonnelRecords(props) { function PersonnelRecords(props) {
const [form] = Search.useForm(); const [form] = Search.useForm();
const query = useGetUrlQuery(); const query = useGetUrlQuery();
const { tableProps, getData } = useTable(props["enclosedEnterprisePersonnelPermissionsPersonnelRecordsList"], { const { tableProps, getData } = useTable(props["mkmjSwipeCardRecordList"], {
form, form,
params: { id: query.id }, usePermission:false,
transform: values => ({
swingTimeStart: values.time?.[0] ? `${values.time?.[0]} 00:00:00` : undefined,
swingTimeEnd: values.time?.[1] ? `${values.time?.[1]} 23:59:59` : undefined,
cardNo: query.userCard
// cardNo: window.btoa("130302197401180816")
}),
}); });
return ( return (
<Page headerTitle="人员进出记录"> <Page headerTitle="人员进出记录">
<Search <Search
options={[ options={[
{ name: "todo1", label: "进出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE }, { name: "time", label: "进出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
{ name: "todo2", label: "进出状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: ENTRY_AND_EXIT_STATUS_ENUM }, { name: "likeDeviceName", label: "口门名称" },
{ name: "todo3", label: "口门名称" },
]} ]}
onFinish={getData} onFinish={getData}
form={form} form={form}
/> />
<Table <Table
columns={[ columns={[
{ title: "姓名", dataIndex: "todo1" }, { title: "姓名", dataIndex: "personName" },
{ title: "区域名称", dataIndex: "todo2" }, { title: "进出港时间", dataIndex: "swingTime" },
{ { title: "口门名称", dataIndex: "deviceName" },
title: "进出状态", { title: "开门类型", dataIndex: "openTypeStr" },
dataIndex: "todo3",
render: (_, record) => getLabelName({ list: ENTRY_AND_EXIT_STATUS_ENUM, status: record.todo3 }),
},
{ title: "进出港时间", dataIndex: "todo4", render: (_, record) => `${record.todo4} - ${record.todo5}` },
{ title: "口门名称", dataIndex: "todo6" },
{ title: "开门类型", dataIndex: "todo7" },
]} ]}
{...tableProps} {...tableProps}
/> />

View File

@ -70,7 +70,7 @@ function Apply(props) {
return list.map(item => ({ return list.map(item => ({
label: item[nameKey], label: item[nameKey],
value: item[idKey], value: item[idKey],
children: item.childrenList ? transformTreeList(item.childrenList) : undefined, children: item.children ? transformTreeList(item.children ,"closedAreaName", "id") : undefined,
})); }));
}; };
@ -104,6 +104,7 @@ function Apply(props) {
const { data } = await props["enclosedAreaDetailListTree"]({ jurisdictionalCorpId }); const { data } = await props["enclosedAreaDetailListTree"]({ jurisdictionalCorpId });
const transformedEnclosedAreaList = transformTreeList(data, "closedAreaName", "id"); const transformedEnclosedAreaList = transformTreeList(data, "closedAreaName", "id");
setEnclosedAreaList(transformedEnclosedAreaList); setEnclosedAreaList(transformedEnclosedAreaList);
}; };
useEffect(() => { useEffect(() => {

View File

@ -17,12 +17,14 @@ import useTable from "zy-react-library/hooks/useTable";
import { getLabelName } from "zy-react-library/utils"; import { getLabelName } from "zy-react-library/utils";
import { AREA_STATUS_ENUM } from "~/enumerate/constant"; import { AREA_STATUS_ENUM } from "~/enumerate/constant";
import { NS_ENCLOSED_AREA, NS_FIRST_LEVEL_DOOR_INFO } from "~/enumerate/namespace"; import { NS_ENCLOSED_AREA, NS_FIRST_LEVEL_DOOR_INFO } from "~/enumerate/namespace";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
const mkmjLevel = 2; const mkmjLevel = 2;
function List(props) { function List(props) {
const [addModalVisible, setAddModalVisible] = useState(false); const [addModalVisible, setAddModalVisible] = useState(false);
const [viewModalVisible, setViewModalVisible] = useState(false); const [viewModalVisible, setViewModalVisible] = useState(false);
const [currentId, setCurrentId] = useState(""); const [currentId, setCurrentId] = useState("");
const [form] = Search.useForm(); const [form] = Search.useForm();
@ -187,14 +189,21 @@ function List(props) {
} }
const AddModalComponent = (props) => { const AddModalComponent = (props) => {
const [enclosedAreaListTree, setEnclosedAreaListTree] = useState([]); const [closedAreaListTree, setClosedAreaListTree] = useState([]);
const [directionAreaListTree, setDirectionAreaListTree] = useState([]);
const [form] = FormBuilder.useForm(); const [form] = FormBuilder.useForm();
const hgAuthArea = FormBuilder.useWatch("hgAuthArea", form); const hgAuthArea = FormBuilder.useWatch("hgAuthArea", form);
const mkmjAreaJurisdictionalCorpId = FormBuilder.useWatch("mkmjAreaJurisdictionalCorpId", form);
const getEnclosedAreaList = async () => { const getDirectionAreaList = async () => {
const { data } = await props["enclosedAreaDetailListTree"]({ hgAuthArea }); const { data } = await props["enclosedAreaDetailListTree"]({ hgAuthArea });
setEnclosedAreaListTree(data); setDirectionAreaListTree(data);
};
const getClosedAreaList = async () => {
const { data } = await props["enclosedAreaDetailListTree"]({ jurisdictionalCorpId:mkmjAreaJurisdictionalCorpId });
setClosedAreaListTree(data);
}; };
const getData = async () => { const getData = async () => {
@ -211,10 +220,16 @@ const AddModalComponent = (props) => {
useEffect(() => { useEffect(() => {
if (hgAuthArea) if (hgAuthArea)
getEnclosedAreaList(); getDirectionAreaList();
else setEnclosedAreaListTree([]); else setDirectionAreaListTree([]);
}, [hgAuthArea]); }, [hgAuthArea]);
useEffect(() => {
if (mkmjAreaJurisdictionalCorpId)
getClosedAreaList();
else setClosedAreaListTree([]);
}, [mkmjAreaJurisdictionalCorpId]);
const onSubmit = async (values) => { const onSubmit = async (values) => {
const { success } = await props[!props.id ? "firstLevelDoorInfoAdd" : "firstLevelDoorInfoEdit"]({ const { success } = await props[!props.id ? "firstLevelDoorInfoAdd" : "firstLevelDoorInfoEdit"]({
...values, ...values,
@ -251,11 +266,46 @@ const AddModalComponent = (props) => {
render: ( render: (
<DictionarySelect <DictionarySelect
dictValue="HG_AUTH_AREA" dictValue="HG_AUTH_AREA"
onGetLabel={label => form.setFieldValue("hgAuthAreaName", label)} onGetLabel={label => {
form.setFieldValue("hgAuthAreaName", label)
form.setFieldValue("inDirectionArea", undefined);
}}
/> />
), ),
}, },
{ name: "hgAuthAreaName", label: "所属区域名称", onlyForLabel: true }, { name: "hgAuthAreaName", label: "所属区域名称", onlyForLabel: true },
{
name: "mkmjAreaJurisdictionalCorpId",
label: "管辖公司",
render: (
<DepartmentSelectTree
searchType="inType"
level={1}
params={{ enterpriseType: [2] }}
onChange={() => {
form.setFieldValue("closedAreaId", undefined);
form.setFieldValue("closedAreaName", "");
}}
onGetLabel={label => form.setFieldValue("mkmjAreaJurisdictionalCorpName", label)}
/>
),
formItemProps: { preserve: true },
},
{ name: "mkmjAreaJurisdictionalCorpName", label: "区域管辖单位名称", onlyForLabel: true },
{
name: "closedAreaId",
label: "封闭区域",
render: (
<BasicSelectTree
treeData={closedAreaListTree}
placeholder="封闭区域"
onGetLabel={label => form.setFieldValue("closedAreaName", label)}
nameKey="closedAreaName"
/>
),
},
{ name: "closedAreaName", label: "封闭区域名称", onlyForLabel: true },
{ {
name: "mkmjName", name: "mkmjName",
label: "口门名称", label: "口门名称",
@ -292,7 +342,7 @@ const AddModalComponent = (props) => {
label: "口门进入区域", label: "口门进入区域",
render: ( render: (
<BasicSelectTree <BasicSelectTree
treeData={enclosedAreaListTree} treeData={directionAreaListTree}
placeholder="口门进入区域" placeholder="口门进入区域"
onGetLabel={label => form.setFieldValue("inDirectionAreaName", label)} onGetLabel={label => form.setFieldValue("inDirectionAreaName", label)}
nameKey="closedAreaName" nameKey="closedAreaName"
@ -321,7 +371,7 @@ const AddModalComponent = (props) => {
hidden: formValues => !(formValues.outDirectionType === 2), hidden: formValues => !(formValues.outDirectionType === 2),
render: ( render: (
<BasicSelectTree <BasicSelectTree
treeData={enclosedAreaListTree} treeData={directionAreaListTree}
placeholder="口门离开区域" placeholder="口门离开区域"
onGetLabel={label => form.setFieldValue("outDirectionAreaName", label)} onGetLabel={label => form.setFieldValue("outDirectionAreaName", label)}
nameKey="closedAreaName" nameKey="closedAreaName"

View File

@ -92,7 +92,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./vehicleEntryAndExitRecords?id=${record.id}`); props.history.push(`./vehicleEntryAndExitRecords?licenceNo=${record.licenceNo}`);
}} }}
> >
车辆进出记录 车辆进出记录
@ -102,7 +102,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./personnelEntryAndExitRecords?id=${record.id}`); props.history.push(`./personnelEntryAndExitRecords??userCard=${record.userCard}`);
}} }}
> >
人员进出记录 人员进出记录

View File

@ -12,7 +12,6 @@ import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable"; import useTable from "zy-react-library/hooks/useTable";
import { NS_APPROVER_USER } from "~/enumerate/namespace"; import { NS_APPROVER_USER } from "~/enumerate/namespace";
import {checkExistByUserId} from "~/api/approverUser";
function ApproverUser(props) { function ApproverUser(props) {
const [addModalVisible, setAddModalVisible] = useState(false); const [addModalVisible, setAddModalVisible] = useState(false);
@ -116,7 +115,7 @@ function ApproverUser(props) {
setAddModalVisible(false); setAddModalVisible(false);
setCurrentId(""); setCurrentId("");
}} }}
checkExistByUserId={props[checkExistByUserId]} checkExistByUserId={props["checkExistByUserId"]}
id={currentId} id={currentId}
getData={getData} getData={getData}
/> />
@ -210,29 +209,40 @@ function AddModalComponent(props) {
{ {
name: "userId", name: "userId",
label: "审批人", label: "审批人",
rules: [
{
validateTrigger: "onChange",
validator: async (_, value) => {
if (!value || props.id) {
return Promise.resolve();
}
const { data } = await props.checkExistByUserId({ userId: value });
if (data?.available) {
return Promise.resolve();
}
throw new Error(data?.availableMessage || "该审批人已录入,不可重复添加");
},
},
],
render: ( render: (
<PersonnelSelect <PersonnelSelect
params={{ departmentId: personUnderDepartmentId }} params={{ departmentId: personUnderDepartmentId }}
onGetLabel={(label) => { onGetLabel={(label) => {
form.setFieldValue("userName", label); form.setFieldValue("userName", label);
}} }}
onGetOption={(option) => { onGetOption={(option) => {
props.checkExistByUserId({userId:option.id}).then((res) => {
if(res.data){
if(!res.data.available){
form.setFieldValue("userId", undefined);
message.warning(res.data.availableMessage)
}
}
})
form.setFieldValue("corpId", option.corpinfoId); form.setFieldValue("corpId", option.corpinfoId);
form.setFieldValue("corpName", option.corpinfoName); form.setFieldValue("corpName", option.corpinfoName);
form.setFieldValue("postId", option.postId); form.setFieldValue("postId", option.postId);
form.setFieldValue("postName", option.postName); form.setFieldValue("postName", option.postName);
}} }}
disabled={!!props.id} disabled={!!props.id}
/> />
), ),
}, },
{ name: "userName", label: "审批人名称", onlyForLabel: true }, { name: "userName", label: "审批人名称", onlyForLabel: true },
{ name: "corpId", label: "企业ID", onlyForLabel: true }, { name: "corpId", label: "企业ID", onlyForLabel: true },

View File

@ -44,7 +44,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./personnelRecords?id=${record.id}`); props.history.push(`./personnelRecords?userCard=${record.userCard}`);
}} }}
> >
人员进出记录 人员进出记录

View File

@ -58,7 +58,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./vehicleRecords?id=${record.id}`); props.history.push(`./vehicleRecords?licenceNo=${record.licenceNo}`);
}} }}
> >
车辆进出记录 车辆进出记录

View File

@ -87,7 +87,7 @@ function List(props) {
type="link" type="link"
onClick={() => { onClick={() => {
// TODO // TODO
props.history.push(`./vehicleRecords?id=${record.id}`); props.history.push(`./vehicleRecords?licenceNo=${record.licenceNo}`);
}} }}
> >
车辆进出记录 车辆进出记录

View File

@ -108,7 +108,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./personnelRecords?id=${record.userId}`); props.history.push(`./personnelRecords?userCard=${record.userCard}`);
}} }}
> >
人员进出记录 人员进出记录

View File

@ -102,7 +102,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./inAndOutRecords?id=${record.id}`); props.history.push(`./inAndOutRecords??userCard=${record.userCard}`);
}} }}
> >
人员进出记录 人员进出记录

View File

@ -52,7 +52,7 @@ function List(props) {
<Button <Button
type="link" type="link"
onClick={() => { onClick={() => {
props.history.push(`./inAndOutRecords?id=${record.id}`); props.history.push(`./inAndOutRecords?licenceNo=${record.licenceNo}`);
}} }}
> >
车辆进出记录 车辆进出记录

View File

@ -119,7 +119,7 @@ function List(props) {
type="link" type="link"
onClick={() => { onClick={() => {
// TODO // TODO
props.history.push(`./personnelRecords?id=${record.userId}`); props.history.push(`./personnelRecords?userCard=${record.userCard}`);
}} }}
> >
人员进出记录 人员进出记录

View File

@ -7,6 +7,7 @@ import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import useTable from "zy-react-library/hooks/useTable"; import useTable from "zy-react-library/hooks/useTable";
import { getLabelName } from "zy-react-library/utils"; import { getLabelName } from "zy-react-library/utils";
import { NS_STOCK_PERSONNEL_AND_VEHICLES } from "~/enumerate/namespace"; import { NS_STOCK_PERSONNEL_AND_VEHICLES } from "~/enumerate/namespace";
import {mkmjSwipeCardRecordList} from "~/api/stockPersonnelAndVehicles";
const ENTRY_AND_EXIT_STATUS_ENUM = [ const ENTRY_AND_EXIT_STATUS_ENUM = [
{ bianma: "1", name: "进" }, { bianma: "1", name: "进" },
@ -16,33 +17,34 @@ const ENTRY_AND_EXIT_STATUS_ENUM = [
function PersonnelRecords(props) { function PersonnelRecords(props) {
const [form] = Search.useForm(); const [form] = Search.useForm();
const query = useGetUrlQuery(); const query = useGetUrlQuery();
const { tableProps, getData } = useTable(props["stockPersonnelAndVehiclesPersonnelRecordsList"], { const { tableProps, getData } = useTable(props["mkmjSwipeCardRecordList"], {
form, form,
params: { id: query.id }, usePermission:false,
transform: values => ({
swingTimeStart: values.time?.[0] ? `${values.time?.[0]} 00:00:00` : undefined,
swingTimeEnd: values.time?.[1] ? `${values.time?.[1]} 23:59:59` : undefined,
cardNo: query.userCard,
// cardNo: window.btoa("130302197401180816")
}),
}); });
return ( return (
<Page headerTitle="人员进出记录"> <Page headerTitle="人员进出记录">
<Search <Search
options={[ options={[
{ name: "todo1", label: "进出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE }, { name: "time", label: "进出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
{ name: "todo2", label: "进出状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: ENTRY_AND_EXIT_STATUS_ENUM }, { name: "likeDeviceName", label: "口门名称" },
{ name: "todo3", label: "口门名称" },
]} ]}
onFinish={getData} onFinish={getData}
form={form} form={form}
/> />
<Table <Table
columns={[ columns={[
{ title: "姓名", dataIndex: "todo1" }, { title: "姓名", dataIndex: "personName" },
{ { title: "进出港时间", dataIndex: "swingTime" },
title: "进出状态", { title: "口门名称", dataIndex: "deviceName" },
dataIndex: "todo2", { title: "开门类型", dataIndex: "openTypeStr" },
render: (_, record) => getLabelName({ list: ENTRY_AND_EXIT_STATUS_ENUM, status: record.todo2 }),
},
{ title: "进出港时间", dataIndex: "todo3", render: (_, record) => `${record.todo3} - ${record.todo4}` },
{ title: "口门名称", dataIndex: "todo5" },
{ title: "开门类型", dataIndex: "todo6" },
]} ]}
{...tableProps} {...tableProps}
/> />

View File

@ -101,7 +101,7 @@ function List(props) {
type="link" type="link"
onClick={() => { onClick={() => {
// TODO // TODO
props.history.push(`./vehicleRecords?id=${record.id}`); props.history.push(`./vehicleRecords?licenceNo=${record.licenceNo}`);
}} }}
> >
车辆进出记录 车辆进出记录

View File

@ -26,25 +26,24 @@ function VehicleRecords(props) {
<Page headerTitle="车辆进出记录"> <Page headerTitle="车辆进出记录">
<Search <Search
options={[ options={[
{ name: "todo1", label: "口门名称" }, { name: "time", label: "进港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
{ name: "todo2", label: "所属港区", render: (<DictionarySelect dictValue="HG_AUTH_AREA" />) }, { name: "vehicleDepartureTime", label: "出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
{ name: "todo3", label: "进港时间", render: FORM_ITEM_RENDER_ENUM.DATE },
]} ]}
onFinish={getData} onFinish={getData}
form={form} form={form}
/> />
<Table <Table
columns={[ columns={[
{ title: "车辆所属人", dataIndex: "todo1" }, { title: "车辆所属人", dataIndex: "vehicleContactName" },
{ title: "车牌号", dataIndex: "todo2" }, { title: "车牌号", dataIndex: "vehiclePlateNumber" },
{ title: "所属港区", dataIndex: "todo3" },
{ title: "口门名称", dataIndex: "todo4" },
{ title: "记录时间", dataIndex: "todo5" },
{ {
title: "进出状态", title: "车辆在港状态",
dataIndex: "todo6", dataIndex: "vehicleArrivalStatus",
render: (_, record) => getLabelName({ list: ENTRY_AND_EXIT_STATUS_ENUM, status: record.todo6 }),
}, },
{ title: "入港闸口", dataIndex: "vehicleArrivalBarrier" },
{ title: "进港时间", dataIndex: "vehicleArrivalTime" },
{ title: "离港闸口", dataIndex: "vehicleDepartureBarrier" },
{ title: "离港时间", dataIndex: "vehicleDepartureTime" },
]} ]}
{...tableProps} {...tableProps}
/> />

View File

@ -162,7 +162,7 @@ function List(props) {
type="link" type="link"
onClick={() => { onClick={() => {
// TODO // TODO
props.history.push(`./vehicleRecords?id=${record.id}`); props.history.push(`./vehicleRecords?licenceNo=${record.licenceNo}`);
}} }}
> >
车辆进出记录 车辆进出记录

View File

@ -13,38 +13,41 @@ import { NS_VEHICLE_APPLY } from "~/enumerate/namespace";
function VehicleRecords(props) { function VehicleRecords(props) {
const [form] = Search.useForm(); const [form] = Search.useForm();
const query = useGetUrlQuery(); const query = useGetUrlQuery();
const { tableProps, getData } = useTable(props["vehicleApplyRecordsList"], { const { tableProps, getData } = useTable(props["eVehicleArrivalDepartureInfoList"], {
form, form,
params: { id: query.id }, usePermission:false,
transform: values => ({
startVehicleArrivalTime: values.time?.[0] ? `${values.time?.[0]} 00:00:00` : undefined,
endVehicleArrivalTime: values.time?.[1] ? `${values.time?.[1]} 23:59:59` : undefined,
startVehicleDepartureTime: values.vehicleDepartureTime?.[0] ? `${values.vehicleDepartureTime?.[0]} 00:00:00` : undefined,
endVehicleDepartureTime: values.vehicleDepartureTime?.[1] ? `${values.vehicleDepartureTime?.[1]} 23:59:59` : undefined,
}),
params: { vehiclePlateNumber: "冀CDF5665" }// query.licenceNo
}); });
return ( return (
<Page headerTitle="车辆进出记录"> <Page headerTitle="车辆进出记录">
<Search <Search
options={[ options={[
{ name: "todo1", label: "口门名称" }, { name: "time", label: "进港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
{ name: "todo2", label: "所属区域", render: (<DictionarySelect dictValue="HG_AUTH_AREA" />) }, { name: "vehicleDepartureTime", label: "出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
{ name: "todo3", label: "进港时间", render: FORM_ITEM_RENDER_ENUM.DATE },
]} ]}
onFinish={getData} onFinish={getData}
form={form} form={form}
/> />
<Table <Table
columns={[ columns={[
{ title: "车辆所属人", dataIndex: "todo" }, { title: "车辆所属人", dataIndex: "vehicleContactName" },
{ title: "车牌号", dataIndex: "todo1" }, { title: "车牌号", dataIndex: "vehiclePlateNumber" },
{ title: "所属区域", dataIndex: "todo2" },
{ title: "口门名称", dataIndex: "todo3" },
{ title: "口门级别", dataIndex: "todo4" },
{ {
title: "车辆在港状态", title: "车辆在港状态",
dataIndex: "todo5", dataIndex: "vehicleArrivalStatus",
render: (_, record) => getLabelName({ list: CURRENT_IN_PORT_STATUS_ENUM, status: record.todo5 }),
}, },
{ title: "入港闸口", dataIndex: "todo6" }, { title: "入港闸口", dataIndex: "vehicleArrivalBarrier" },
{ title: "进港时间", dataIndex: "todo7" }, { title: "进港时间", dataIndex: "vehicleArrivalTime" },
{ title: "离港闸口", dataIndex: "todo8" }, { title: "离港闸口", dataIndex: "vehicleDepartureBarrier" },
{ title: "离港时间", dataIndex: "todo9" }, { title: "离港时间", dataIndex: "vehicleDepartureTime" },
]} ]}
{...tableProps} {...tableProps}
/> />