diff --git a/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js b/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js
index cfdfb97..64bef71 100644
--- a/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js
+++ b/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js
@@ -8,6 +8,7 @@ import {
Spin,
Empty,
Typography,
+ Image,
} from "antd";
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
import { AntdTableFuncControl } from "@cqsjjb/jjb-common-decorator/antd";
@@ -42,6 +43,35 @@ const parseFileList = (raw) => {
}
};
+/** 判断 URL 是否为图片 */
+const isImageUrl = (url) =>
+ /\.(jpg|jpeg|png|gif|webp|bmp)(\?.*)?$/i.test(url || "");
+
+/** 渲染单个文件:图片用 Image 预览,其他用链接 */
+const renderFile = (file, idx) => {
+ if (isImageUrl(file.url)) {
+ return (
+
+ );
+ }
+ return (
+
+ {file.name || `附件${idx + 1}`}
+
+ );
+};
+
// ===== 合同面板 =====
const ContractPanel = ({ data, loading }) => {
if (!data?.id) return ;
@@ -115,16 +145,7 @@ const ContractPanel = ({ data, loading }) => {
title="合同扫描件"
className="epm-detail-section"
>
- {scanFiles.map((file, idx) => (
-
- {file.name || `附件${idx + 1}`}
-
- ))}
+ {scanFiles.map((file, idx) => renderFile(file, idx))}
)}
@@ -297,16 +318,7 @@ const SurveyPanel = ({ personnel, attachments, loading, detailData }) => {
title={ATTACH_TYPE_LABELS[typeCode]}
className="epm-detail-section"
>
- {files.map((file, idx) => (
-
- {file.name || `附件${idx + 1}`}
-
- ))}
+ {files.map((file, idx) => renderFile(file, idx))}
);
})}
diff --git a/src/pages/Container/MonitorManage/SurveyMonitor/index.js b/src/pages/Container/MonitorManage/SurveyMonitor/index.js
index 9c6c311..5998548 100644
--- a/src/pages/Container/MonitorManage/SurveyMonitor/index.js
+++ b/src/pages/Container/MonitorManage/SurveyMonitor/index.js
@@ -1,4 +1,5 @@
import React, { useState, useEffect } from "react";
+import dayjs from "dayjs";
import {
Row,
Col,
@@ -95,7 +96,7 @@ const SurveyMonitor = (props) => {
...router.query,
dateRange:
router.query.startTime && router.query.endTime
- ? [router.query.startTime, router.query.endTime]
+ ? [dayjs(router.query.startTime), dayjs(router.query.endTime)]
: undefined,
});
getStat();
@@ -116,7 +117,7 @@ const SurveyMonitor = (props) => {
const handleReset = (values) => {
searchForm.resetFields();
- router.query = { ...values, current: 1, size: 10 };
+ router.query = { ...values, current: 1, size: 10, startTime: undefined, endTime: undefined };
getData();
};
@@ -218,14 +219,14 @@ const SurveyMonitor = (props) => {
},
},
{
- title: "应到/实到",
+ title: "实到/应到",
width: 100,
- render: (_, r) => `${r.expectedCount} / ${r.actualCount}`,
+ render: (_, r) => `${r.actualCount || 0} / ${r.expectedCount || 0}`,
},
{
title: "签到/签退",
width: 100,
- render: (_, r) => `${r.signInCount} / ${r.signOutCount}`,
+ render: (_, r) => `${r.signInCount || 0} / ${r.signOutCount || 0}`,
},
{
title: "现场照片",
diff --git a/src/pages/Container/WpsEditor/index.js b/src/pages/Container/WpsEditor/index.js
index ef6ec71..33af6fc 100644
--- a/src/pages/Container/WpsEditor/index.js
+++ b/src/pages/Container/WpsEditor/index.js
@@ -13,10 +13,13 @@ import {
import { ArrowLeftOutlined } from "@ant-design/icons";
import WebOfficeSDK from "~/web-office-sdk-solution-v2.0.7/web-office-sdk-solution-v2.0.7.es.js";
import { createPortal } from "react-dom";
+import { tools } from "@cqsjjb/jjb-common-lib";
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { NS_SAFETY_EVAL_BUSINESS } from "~/enumerate/namespace";
import "./index.less";
+const { router } = tools;
+
const App = (props) => {
const { onCancel, safetyEvalBusiness } = props;
const { createDocLoading } = safetyEvalBusiness;
@@ -247,7 +250,7 @@ const App = (props) => {
size="small"
onClick={() => {
props
- .createWpsDoc({ docxUrl: url })
+ .createWpsDoc({ docxUrl: url, projectId: router.query.id})
.then((res) => {
const fileId = res?.data?.fileId;
if (!fileId) {