{v} },
- { title: "GPS定位", dataIndex: "gps", render: (v) => {v} },
- { title: "签到时间", dataIndex: "signIn" },
- { title: "签退时间", dataIndex: "signOut" },
- { title: "在场时长", dataIndex: "duration" },
- { title: "现场照片", dataIndex: "photos", render: (v) => },
- { title: "本人签字", dataIndex: "sign", render: (v) => {v} },
+ { title: "人员", dataIndex: "personnelName" },
+ { title: "项目角色", dataIndex: "role", render: (v) => Array.isArray(v) ? v.map(item => ROLE_DEFINITIONS_MAP[item]).join('、') : v,ellipsis: true },
+ { title: "人脸识别", dataIndex: "faceState", render: (v) => {v === 1 ? "通过" : "未通过"} },
+ { title: "GPS定位", dataIndex: "gpsState", render: (v) => {v === 1 ? "正常" : "异常"} },
+ { title: "签到时间", dataIndex: "singInTime" },
+ { title: "签退时间", dataIndex: "signOutTime" },
+ { title: "在场时长", render: (_, r) => calcDuration(r.singInTime, r.signOutTime) },
+ { title: "现场照片", dataIndex: "sceneUrl", render: (v) => {
+ const count = v ? v.split(',').filter(Boolean).length : 0;
+ return ;
+ }},
+ { title: "本人签字", dataIndex: "signatureUrl", render: (v) => {v ? "已签字" : "未签字"} },
]}
- rowKey="name"
+ rowKey="id"
pagination={false}
size="small"
/>
- 打卡企业地址:重庆市渝北区化工园区东路18号
- 允许打卡范围:企业地址周边500米
- 签到日期:2026-07-15
+ 打卡企业地址:{evalProjectDetailData?.customerAddress || '-'}
+ 允许打卡范围:企业地址周边{evalProjectDetailData?.checkinRadiusMeters || '-'}米
+ 签到日期:{dataSource?.[0]?.singInTime ? dayjs(dataSource?.[0]?.singInTime).format('YYYY-MM-DD') : '-'}
);
+};
const SimpleUploadPanel = ({ index, title, desc }) => (
@@ -124,34 +135,12 @@ const SimpleUploadPanel = ({ index, title, desc }) => (
);
-const STEP_PANELS = {
- notice: () => ,
- inspection: () => ,
- rectification: () => (
-
- ),
- enterprise: () => (
-
- ),
- review: () => (
-
- ),
-};
-
const SurveyContent = (props) => {
const [form] = Form.useForm();
const [activeStage, setActiveStage] = useState("notice");
const [attachMap, setAttachMap] = useState({});
- const { evalSurveyListLoading, evalSurveySaveAttachLoading } = props.safetyEvalBusiness;
+ const [surveyPersonnel, setSurveyPersonnel] = useState([]);
+ const { evalSurveyListLoading, evalSurveySaveAttachLoading, evalProjectDetailData } = props.safetyEvalBusiness;
const projectId = router.query?.id;
const currentIdx = STAGES.findIndex((s) => s.key === activeStage);
const isFirst = currentIdx === 0;
@@ -185,6 +174,16 @@ const SurveyContent = (props) => {
loadAttachments();
}, []);
+ useEffect(() => {
+ if (projectId) {
+ props.evalSurveyPage({ projectId, size: 100 }).then((res) => {
+ if (res?.success) {
+ setSurveyPersonnel(res.data || []);
+ }
+ });
+ }
+ }, [projectId]);
+
const goPrev = () => {
if (currentIdx > 0) setActiveStage(STAGES[currentIdx - 1].key);
};
@@ -226,7 +225,26 @@ const SurveyContent = (props) => {
items={STAGES.map((s) => ({ title: s.label }))}
/>
- {STEP_PANELS[activeStage]()}
+ {activeStage === "notice" && }
+ {activeStage === "inspection" && }
+ {activeStage === "rectification" && (
+
+ )}
+ {activeStage === "enterprise" && (
+
+ )}
+ {activeStage === "review" && (
+
+ )}