master
853931625@qq.com 2026-06-30 17:38:06 +08:00
parent fe9f1ccee9
commit c42677d172
18 changed files with 68 additions and 39 deletions

View File

@ -27,7 +27,7 @@ module.exports = {
appKey: "", appKey: "",
// fileUrl: "http://192.168.20.240:9787/mnt/", // fileUrl: "http://192.168.20.240:9787/mnt/",
// fileUrl: "https://jpfz.qhdsafety.com/gbsFileTest/", // fileUrl: "https://jpfz.qhdsafety.com/gbsFileTest/",
fileUrl: "https://skqhdg.porthebei.com:9004/file/uploadFiles2/", fileUrl: "",
}, },
// public/index.html注入全局变量 // public/index.html注入全局变量
windowInject: { windowInject: {

View File

@ -2,7 +2,7 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime";
export const enclosedPersonnelAndVehicleStatisticsList = declareRequest( export const enclosedPersonnelAndVehicleStatisticsList = declareRequest(
"enclosedPersonnelAndVehicleStatisticsLoading", "enclosedPersonnelAndVehicleStatisticsLoading",
`Post > @/primeport/`, `Post > @/primeport/vehicleApply/fgsCount`,
); );
export const enclosedPersonnelAndVehicleStatisticsVehicleEntryAndExitRecordsList export const enclosedPersonnelAndVehicleStatisticsVehicleEntryAndExitRecordsList
= declareRequest( = declareRequest(

View File

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

View File

@ -6,7 +6,7 @@ import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; 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_ENCLOSED_ENTERPRISE_PERSONNEL_PERMISSIONS } from "~/enumerate/namespace"; import {NS_ENCLOSED_ENTERPRISE_PERSONNEL_PERMISSIONS, NS_STOCK_PERSONNEL_AND_VEHICLES} from "~/enumerate/namespace";
const ENTRY_AND_EXIT_STATUS_ENUM = [ const ENTRY_AND_EXIT_STATUS_ENUM = [
{ bianma: "1", name: "进" }, { bianma: "1", name: "进" },
@ -51,4 +51,4 @@ function PersonnelRecords(props) {
); );
} }
export default Connect([NS_ENCLOSED_ENTERPRISE_PERSONNEL_PERMISSIONS], true)(PersonnelRecords); export default Connect([NS_ENCLOSED_ENTERPRISE_PERSONNEL_PERMISSIONS,NS_STOCK_PERSONNEL_AND_VEHICLES], true)(PersonnelRecords);

View File

@ -33,8 +33,8 @@ import {
import "../../../index.less"; import "../../../index.less";
export const ACCESS_TYPE_ENUM = [ export const ACCESS_TYPE_ENUM = [
{ label: "车辆", value: "CAR_APPLY" }, { label: "车辆", value: "HGKM_MKMJ_CKM" },
{ label: "人员", value: "PERSON_APPLY" }, { label: "人员", value: "HGKM_MKMJ_CKM_R" },
]; ];
export const APPLICATION_GATE_PERSON_TYPE_ENUM = [ export const APPLICATION_GATE_PERSON_TYPE_ENUM = [
{ label: "一级口门", value: "ONE_LEVEL_PERSON_APPLY" }, { label: "一级口门", value: "ONE_LEVEL_PERSON_APPLY" },
@ -65,6 +65,7 @@ function Apply(props) {
const tmpMkmjType = Form.useWatch("tmpMkmjType", form); const tmpMkmjType = Form.useWatch("tmpMkmjType", form);
const { getDictionary } = useDictionary(); const { getDictionary } = useDictionary();
const { loading: uploadFileLoading, uploadFile } = useUploadFile(); const { loading: uploadFileLoading, uploadFile } = useUploadFile();
const [mkmjType,setMkmjType]=useState([]);
const transformTreeList = (list, nameKey, idKey) => { const transformTreeList = (list, nameKey, idKey) => {
return list.map(item => ({ return list.map(item => ({
@ -91,12 +92,12 @@ function Apply(props) {
}; };
const getFirstLevelDoorInfoListAll = async (gateLevelAuthArea) => { const getFirstLevelDoorInfoListAll = async (gateLevelAuthArea) => {
const { data } = await props["firstLevelDoorInfoListAll"]({ mkmjLevel: 1, hgAuthArea: gateLevelAuthArea }); const { data } = await props["firstLevelDoorInfoListAll"]({ mkmjLevel: 1, hgAuthArea: gateLevelAuthArea,mkmjType:mkmjType });
setFirstLevelDoorInfoListAll(data); setFirstLevelDoorInfoListAll(data);
}; };
const getTwoLevelDoorInfoListAll = async (gateLevelAuthArea) => { const getTwoLevelDoorInfoListAll = async (gateLevelAuthArea) => {
const { data } = await props["firstLevelDoorInfoListAll"]({ mkmjLevel: 2, hgAuthArea: gateLevelAuthArea }); const { data } = await props["firstLevelDoorInfoListAll"]({ mkmjLevel: 2, hgAuthArea: gateLevelAuthArea,mkmjType:mkmjType });
setTwoLevelDoorInfoListAll(data); setTwoLevelDoorInfoListAll(data);
}; };
@ -146,7 +147,7 @@ function Apply(props) {
}); });
return; return;
} }
if (values.tmpApplyType === "CAR_APPLY" && values.vehicleLicensePhoto.length !== 2) { if (values.tmpApplyType === "HGKM_MKMJ_CKM" && values.vehicleLicensePhoto.length !== 2) {
Toast.show({ Toast.show({
icon: "fail", icon: "fail",
content: "请上传两张行驶证照片", content: "请上传两张行驶证照片",
@ -233,7 +234,8 @@ function Apply(props) {
> >
<Picker <Picker
columns={[ACCESS_TYPE_ENUM]} columns={[ACCESS_TYPE_ENUM]}
onConfirm={() => { onConfirm={(event) => {
setMkmjType(event[0]);
form.setFieldValue("tmpMkmjType", ""); form.setFieldValue("tmpMkmjType", "");
form.setFieldValue("vehicleTypeName", ""); form.setFieldValue("vehicleTypeName", "");
form.setFieldValue("licenceTypeName", ""); form.setFieldValue("licenceTypeName", "");
@ -271,8 +273,9 @@ function Apply(props) {
getValueProps={value => [value]} getValueProps={value => [value]}
> >
<Picker <Picker
columns={[tmpApplyType === "PERSON_APPLY" ? APPLICATION_GATE_PERSON_TYPE_ENUM : APPLICATION_GATE_CAR_TYPE_ENUM]} columns={[tmpApplyType === "HGKM_MKMJ_CKM_R" ? APPLICATION_GATE_PERSON_TYPE_ENUM : APPLICATION_GATE_CAR_TYPE_ENUM]}
onConfirm={(event) => { onConfirm={(event) => {
if (event[0] === "ONE_LEVEL_CAR_APPLY") { if (event[0] === "ONE_LEVEL_CAR_APPLY") {
getApprovalUserList(); getApprovalUserList();
} }
@ -303,7 +306,7 @@ function Apply(props) {
</Form.Item> </Form.Item>
)} )}
{ {
tmpApplyType === "CAR_APPLY" tmpApplyType === "HGKM_MKMJ_CKM"
&& ( && (
<> <>
<Form.Item name="drivingUserName" label="驾驶人姓名" rules={[{ required: true }]}> <Form.Item name="drivingUserName" label="驾驶人姓名" rules={[{ required: true }]}>
@ -435,7 +438,7 @@ function Apply(props) {
) )
} }
{ {
tmpApplyType === "PERSON_APPLY" tmpApplyType === "HGKM_MKMJ_CKM_R"
&& ( && (
<> <>
<Form.Item name="applyPersonUserName" label="访问人姓名" rules={[{ required: true }]}> <Form.Item name="applyPersonUserName" label="访问人姓名" rules={[{ required: true }]}>
@ -765,8 +768,6 @@ const EnclosedAreaFields = ({
options={enclosedAreaList} options={enclosedAreaList}
onConfirm={(value) => { onConfirm={(value) => {
form.setFieldValue("closedAreaName", getTreeLabelName(enclosedAreaList, value.at(-1))); form.setFieldValue("closedAreaName", getTreeLabelName(enclosedAreaList, value.at(-1)));
form.setFieldValue("levelTwoMkmjId", "");
form.setFieldValue("levelTwoMkmjName", "");
}} }}
> >
{value => value.length > 0 ? value.map(item => item?.label).filter(Boolean).join("-") : "请选择封闭区域"} {value => value.length > 0 ? value.map(item => item?.label).filter(Boolean).join("-") : "请选择封闭区域"}

View File

@ -70,13 +70,15 @@ function Add(props) {
message.warning("请勾选《安全进港须知》并签字"); message.warning("请勾选《安全进港须知》并签字");
return; return;
} }
const submitValues = { ...values };
delete submitValues.auditUserRecordId;
const { id: informSignId } = await uploadFile({ const { id: informSignId } = await uploadFile({
files: [{ originFileObj: values.informSignFile }], files: [{ originFileObj: values.informSignFile }],
single: false, single: false,
params: { foreignKey: "", type: UPLOAD_FILE_TYPE_ENUM[611] }, params: { foreignKey: "", type: UPLOAD_FILE_TYPE_ENUM[611] },
}); });
const { success } = await props["personnelApplicationAdd"]({ const { success } = await props["personnelApplicationAdd"]({
...values, ...submitValues,
gateLevelAuthArea: JSON.stringify({ area: values.area }), gateLevelAuthArea: JSON.stringify({ area: values.area }),
visitStartTime: values.visitTime[0], visitStartTime: values.visitTime[0],
visitEndTime: values.visitTime[1], visitEndTime: values.visitTime[1],
@ -131,14 +133,15 @@ function Add(props) {
}, },
{ name: "projectName", label: "项目名称", onlyForLabel: true }, { name: "projectName", label: "项目名称", onlyForLabel: true },
{ {
name: "auditUserId", name: "auditUserRecordId",
label: "审核人员", label: "审核人员",
render: FORM_ITEM_RENDER_ENUM.SELECT, render: FORM_ITEM_RENDER_ENUM.SELECT,
items: approvalUserListAll, items: approvalUserListAll,
itemsField: { labelKey: item => `${item.userName}${item.corpName}${item.deptName}`, valueKey: "userId" }, itemsField: { labelKey: item => `${item.userName}${item.corpName}${item.deptName}`, valueKey: "id" },
componentProps: { componentProps: {
onChange: (value) => { onChange: (value) => {
const item = approvalUserListAll.find(item => item.userId === value); const item = approvalUserListAll.find(item => item.id === value) || {};
form.setFieldValue("auditUserId", item.userId);
form.setFieldValue("auditUserName", item.userName); form.setFieldValue("auditUserName", item.userName);
form.setFieldValue("auditCorpId", item.corpId); form.setFieldValue("auditCorpId", item.corpId);
form.setFieldValue("auditCorpName", item.corpName); form.setFieldValue("auditCorpName", item.corpName);
@ -147,6 +150,7 @@ function Add(props) {
}, },
}, },
}, },
{ name: "auditUserId", label: "审核人员ID", onlyForLabel: true },
{ name: "auditUserName", label: "审核人员名称", onlyForLabel: true }, { name: "auditUserName", label: "审核人员名称", onlyForLabel: true },
{ name: "auditCorpId", label: "审核企业ID", onlyForLabel: true }, { name: "auditCorpId", label: "审核企业ID", onlyForLabel: true },
{ name: "auditCorpName", label: "审核企业名称", onlyForLabel: true }, { name: "auditCorpName", label: "审核企业名称", onlyForLabel: true },

View File

@ -49,7 +49,7 @@ function List(props) {
type="link" type="link"
onClick={() => { onClick={() => {
setInfoModalVisible(true); setInfoModalVisible(true);
setCurrentId(record.xgfApplyPersonId); setCurrentId(record.id);
}} }}
> >
查看 查看
@ -81,7 +81,16 @@ const InfoModalComponent = (props) => {
const getData = async () => { const getData = async () => {
const { data } = await props["personnelPermissionRecordsInfo"]({ id: props.id }); const { data } = await props["personnelPermissionRecordsInfo"]({ id: props.id });
setInfo(data); const arr = []
if(data.gateLevelAuthArea){
JSON.parse(data.gateLevelAuthArea).area && JSON.parse(data.gateLevelAuthArea).area.forEach(item => {
arr.push(item.value)
})
}
data.eLevelAuthArea = arr.length>0 ? arr.join(",") : null;
setInfo(data || []);
}; };
useEffect(() => { useEffect(() => {
@ -106,17 +115,19 @@ const InfoModalComponent = (props) => {
column={1} column={1}
styles={{ label: { width: 200 } }} styles={{ label: { width: 200 } }}
items={[ items={[
{ label: "姓名", children: info.applyPersonUserName }, { label: "姓名", children: info.employeePersonUserName },
{ label: "手机号", children: info.userPhone }, { label: "手机号", children: info.userPhone },
{ label: "身份证号", children: info.userCard ? atob(info.userCard) : "" }, { label: "身份证号", children: info.userCard ? atob(info.userCard) : "" },
{ label: "访问起始时间", children: info.visitStartTime }, { label: "访问起始时间", children: info.visitStartTime },
{ label: "访问结束时间", children: info.visitEndTime }, { label: "访问结束时间", children: info.visitEndTime },
{ label: "口门权限范围", children: info.todo6 }, { label: "口门权限范围", children: info.eLevelAuthArea},
{ label: "涉及项目", children: info.projectName }, { label: "涉及项目", children: info.projectName },
{ label: "人脸照片", children: (<PreviewImg files={[info.userFaceUrl]} />) }, { label: "人脸照片", children: (<PreviewImg files={[{
{ label: "申请时间", children: info.todo9 }, filePath: info.userFaceUrl,
{ label: "审核人", children: info.todo10 }, }]} />) },
{ label: "审核时间", children: info.todo11 }, { label: "申请时间", children: info.createTime },
{ label: "审核人", children: info.auditUserName },
{ label: "审核时间", children: info.auditTime },
]} ]}
/> />
</Modal> </Modal>

View File

@ -39,6 +39,7 @@ function Add(props) {
const getApprovalUserListAll = async () => { const getApprovalUserListAll = async () => {
const { data } = await props["approvalUserListAll"]({ vehiclePermissionFlag: 1 }); const { data } = await props["approvalUserListAll"]({ vehiclePermissionFlag: 1 });
console
setApprovalUserListAll(data); setApprovalUserListAll(data);
}; };

View File

@ -168,7 +168,6 @@ const ViewRejectReasonModal = (props) => {
const ViewModalComponent = (props) => { const ViewModalComponent = (props) => {
const [info, setInfo] = useState({}); const [info, setInfo] = useState({});
console.log(props);
const { loading: getFileLoading, getFile } = useGetFile(); const { loading: getFileLoading, getFile } = useGetFile();
const getData = async () => { const getData = async () => {
@ -180,6 +179,13 @@ const ViewModalComponent = (props) => {
}); });
const attachmentFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[602], eqForeignKey: data.attachmentId }); const attachmentFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[602], eqForeignKey: data.attachmentId });
const informSignFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[606], eqForeignKey: data.informSignId }); const informSignFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[606], eqForeignKey: data.informSignId });
const arr = []
if(data.vehicleAuditLogList && data.vehicleAuditLogList.length > 0) {
data.vehicleAuditLogList.forEach(item => {
arr.push(item.auditUserName)
})
}
data.auditUserName = arr.join(',');
setInfo({ setInfo({
...data, ...data,
drivingLicenseFile, drivingLicenseFile,

View File

@ -30,6 +30,7 @@ function Add(props) {
const getApprovalUserListAll = async (corpId) => { const getApprovalUserListAll = async (corpId) => {
const { data } = await props["approvalUserListAll"]({ personnelPermissionFlag: 1, corpId }); const { data } = await props["approvalUserListAll"]({ personnelPermissionFlag: 1, corpId });
console.log(data);
setApprovalUserListAll(data); setApprovalUserListAll(data);
}; };
@ -124,7 +125,7 @@ function Add(props) {
setEnclosedAreaList([]); setEnclosedAreaList([]);
setApprovalUserListAll([]); setApprovalUserListAll([]);
} }
form.setFieldValue("closedAreaName", ""); form.setFieldValue("closedAreaId", "");
}} }}
onGetLabel={label => form.setFieldValue("jurisdictionalCorpName", label)} onGetLabel={label => form.setFieldValue("jurisdictionalCorpName", label)}
/> />
@ -153,6 +154,7 @@ function Add(props) {
componentProps: { componentProps: {
onChange: (value) => { onChange: (value) => {
const item = approvalUserListAll.find(item => item.userId === value); const item = approvalUserListAll.find(item => item.userId === value);
console.log(item);
form.setFieldValue("auditPersonUserName", item.userName); form.setFieldValue("auditPersonUserName", item.userName);
form.setFieldValue("auditPersonCorpId", item.corpId); form.setFieldValue("auditPersonCorpId", item.corpId);
form.setFieldValue("auditPersonCorpName", item.corpName); form.setFieldValue("auditPersonCorpName", item.corpName);
@ -361,6 +363,7 @@ const SelectEntourageModalComponent = (props) => {
{ title: "是否录入人脸", dataIndex: "userFaceUrl", render: (_, record) => record.userFaceUrl ? "是" : "否" }, { title: "是否录入人脸", dataIndex: "userFaceUrl", render: (_, record) => record.userFaceUrl ? "是" : "否" },
]} ]}
{...tableProps} {...tableProps}
dataSource={(tableProps.dataSource || []).filter(item => item.userFaceUrl)}
/> />
</Modal> </Modal>
); );

View File

@ -203,7 +203,7 @@ function Add(props) {
setEnclosedAreaList([]); setEnclosedAreaList([]);
setApprovalUserListAll([]); setApprovalUserListAll([]);
} }
form.setFieldValue("closedAreaName", ""); form.setFieldValue("closedAreaId", "");
}} }}
onGetLabel={label => form.setFieldValue("jurisdictionalCorpName", label)} onGetLabel={label => form.setFieldValue("jurisdictionalCorpName", label)}
/> />

View File

@ -118,7 +118,7 @@ function DetailList(props) {
jurisdictionalCorpName: urlState.backParentIds.at(-1) === "0" ? undefined : urlState.jurisdictionalCorpName, jurisdictionalCorpName: urlState.backParentIds.at(-1) === "0" ? undefined : urlState.jurisdictionalCorpName,
}); });
}} }}
ghost // ghost
> >
返回 返回
</Button> </Button>
@ -171,6 +171,7 @@ function DetailList(props) {
)} )}
<Button <Button
type="link" type="link"
hidden={true}
onClick={() => { onClick={() => {
onUpdateElectronicFence(record.id); onUpdateElectronicFence(record.id);
}} }}

View File

@ -269,6 +269,7 @@ const AddModalComponent = (props) => {
onGetLabel={label => { onGetLabel={label => {
form.setFieldValue("hgAuthAreaName", label) form.setFieldValue("hgAuthAreaName", label)
form.setFieldValue("inDirectionArea", undefined); form.setFieldValue("inDirectionArea", undefined);
form.setFieldValue("outDirectionArea", undefined);
}} }}
/> />

View File

@ -229,7 +229,7 @@ function AddModalComponent(props) {
], ],
render: ( render: (
<PersonnelSelect <PersonnelSelect
params={{ departmentId: personUnderDepartmentId }} params={{ departmentId: personUnderDepartmentId,employmentFlag: 1 }}
onGetLabel={(label) => { onGetLabel={(label) => {
form.setFieldValue("userName", label); form.setFieldValue("userName", label);
}} }}

View File

@ -23,7 +23,6 @@ function List(props) {
onFinish={getData} onFinish={getData}
options={[ options={[
{ name: "name", label: "姓名" }, { name: "name", label: "姓名" },
{ name: "todo2", label: "进出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
]} ]}
/> />
<Table <Table

View File

@ -67,7 +67,6 @@ function List(props) {
<Search <Search
options={[ options={[
{ name: "name", label: "姓名" }, { name: "name", label: "姓名" },
{ name: "todo2", label: "进出港时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
]} ]}
onFinish={getData} onFinish={getData}
form={form} form={form}

View File

@ -367,7 +367,9 @@ function InfoModalComponent(props) {
</div> </div>
) )
} }
{!props.isRecords {
// !props.isRecords
recordsList.length > 0
&& ( && (
<> <>
<Divider orientation="left">审批信息</Divider> <Divider orientation="left">审批信息</Divider>
@ -380,7 +382,8 @@ function InfoModalComponent(props) {
items={[ items={[
{ label: "审批人", children: record.auditUserName }, { label: "审批人", children: record.auditUserName },
{ label: "审批时间", children: record.auditTime }, { label: "审批时间", children: record.auditTime },
{ label: "审批状态", children: getLabelName({ list: VEHICLE_AUDIT_STATUS_ENUM, status: record.auditStatus }) }, { label: "审批状态", children: record.batchState ===1 ? "申请" : record.batchState ===2 ? "更新" :"" },
{ label: "是否通过", children: getLabelName({ list: VEHICLE_AUDIT_STATUS_ENUM, status: record.auditStatus }) },
...(record.auditStatus === 3 ? [{ label: "打回意见", children: record.remarks }] : []), ...(record.auditStatus === 3 ? [{ label: "打回意见", children: record.remarks }] : []),
]} ]}
/> />
@ -388,7 +391,7 @@ function InfoModalComponent(props) {
), ),
)} )}
</> </>
)} )}
</Spin> </Spin>
</div> </div>
); );

View File

@ -26,7 +26,7 @@ function View(props) {
if(data.informSignId){ if(data.informSignId){
informSignFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[606], eqForeignKey: data.informSignId }) informSignFile = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[606], eqForeignKey: data.informSignId })
} }
console.log(informSignFile);
setInfo({ setInfo({
...data, ...data,
drivingLicenseFile, drivingLicenseFile,