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: "",
// fileUrl: "http://192.168.20.240:9787/mnt/",
// fileUrl: "https://jpfz.qhdsafety.com/gbsFileTest/",
fileUrl: "https://skqhdg.porthebei.com:9004/file/uploadFiles2/",
fileUrl: "",
},
// public/index.html注入全局变量
windowInject: {

View File

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

View File

@ -125,7 +125,7 @@ function List(props) {
<Button
type="link"
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 useTable from "zy-react-library/hooks/useTable";
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 = [
{ 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";
export const ACCESS_TYPE_ENUM = [
{ label: "车辆", value: "CAR_APPLY" },
{ label: "人员", value: "PERSON_APPLY" },
{ label: "车辆", value: "HGKM_MKMJ_CKM" },
{ label: "人员", value: "HGKM_MKMJ_CKM_R" },
];
export const APPLICATION_GATE_PERSON_TYPE_ENUM = [
{ label: "一级口门", value: "ONE_LEVEL_PERSON_APPLY" },
@ -65,6 +65,7 @@ function Apply(props) {
const tmpMkmjType = Form.useWatch("tmpMkmjType", form);
const { getDictionary } = useDictionary();
const { loading: uploadFileLoading, uploadFile } = useUploadFile();
const [mkmjType,setMkmjType]=useState([]);
const transformTreeList = (list, nameKey, idKey) => {
return list.map(item => ({
@ -91,12 +92,12 @@ function Apply(props) {
};
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);
};
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);
};
@ -146,7 +147,7 @@ function Apply(props) {
});
return;
}
if (values.tmpApplyType === "CAR_APPLY" && values.vehicleLicensePhoto.length !== 2) {
if (values.tmpApplyType === "HGKM_MKMJ_CKM" && values.vehicleLicensePhoto.length !== 2) {
Toast.show({
icon: "fail",
content: "请上传两张行驶证照片",
@ -233,7 +234,8 @@ function Apply(props) {
>
<Picker
columns={[ACCESS_TYPE_ENUM]}
onConfirm={() => {
onConfirm={(event) => {
setMkmjType(event[0]);
form.setFieldValue("tmpMkmjType", "");
form.setFieldValue("vehicleTypeName", "");
form.setFieldValue("licenceTypeName", "");
@ -271,8 +273,9 @@ function Apply(props) {
getValueProps={value => [value]}
>
<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) => {
if (event[0] === "ONE_LEVEL_CAR_APPLY") {
getApprovalUserList();
}
@ -303,7 +306,7 @@ function Apply(props) {
</Form.Item>
)}
{
tmpApplyType === "CAR_APPLY"
tmpApplyType === "HGKM_MKMJ_CKM"
&& (
<>
<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 }]}>
@ -765,8 +768,6 @@ const EnclosedAreaFields = ({
options={enclosedAreaList}
onConfirm={(value) => {
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("-") : "请选择封闭区域"}

View File

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

View File

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

View File

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

View File

@ -168,7 +168,6 @@ const ViewRejectReasonModal = (props) => {
const ViewModalComponent = (props) => {
const [info, setInfo] = useState({});
console.log(props);
const { loading: getFileLoading, getFile } = useGetFile();
const getData = async () => {
@ -180,6 +179,13 @@ const ViewModalComponent = (props) => {
});
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 arr = []
if(data.vehicleAuditLogList && data.vehicleAuditLogList.length > 0) {
data.vehicleAuditLogList.forEach(item => {
arr.push(item.auditUserName)
})
}
data.auditUserName = arr.join(',');
setInfo({
...data,
drivingLicenseFile,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -367,7 +367,9 @@ function InfoModalComponent(props) {
</div>
)
}
{!props.isRecords
{
// !props.isRecords
recordsList.length > 0
&& (
<>
<Divider orientation="left">审批信息</Divider>
@ -380,7 +382,8 @@ function InfoModalComponent(props) {
items={[
{ label: "审批人", children: record.auditUserName },
{ 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 }] : []),
]}
/>
@ -388,7 +391,7 @@ function InfoModalComponent(props) {
),
)}
</>
)}
)}
</Spin>
</div>
);

View File

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