样式修改
parent
bcd0d4a2ee
commit
f4c8a67d88
|
|
@ -0,0 +1,60 @@
|
||||||
|
import { Image } from "antd";
|
||||||
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
|
||||||
|
function DisclaimerSign({
|
||||||
|
colSpan,
|
||||||
|
firstColSpan,
|
||||||
|
lastColSpan,
|
||||||
|
safetyRemarks,
|
||||||
|
safetySignPath,
|
||||||
|
safetySignTime,
|
||||||
|
AcceptRemarks,
|
||||||
|
AcceptSignPath,
|
||||||
|
AcceptSignTime,
|
||||||
|
}) {
|
||||||
|
const showFirst = safetyRemarks || safetySignPath || safetySignTime;
|
||||||
|
const showLast = AcceptRemarks || AcceptSignPath || AcceptSignTime;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<tr>
|
||||||
|
{
|
||||||
|
showFirst && (
|
||||||
|
<td colSpan={(firstColSpan || colSpan) + (!showLast ? (lastColSpan || colSpan) : 0)}>
|
||||||
|
<div className="flex">
|
||||||
|
<div>
|
||||||
|
<span>安全交底人:</span>
|
||||||
|
<span>{safetyRemarks}</span>
|
||||||
|
</div>
|
||||||
|
<div className="right">
|
||||||
|
<div>
|
||||||
|
{safetySignPath && <Image src={getFileUrl() + safetySignPath} width={50} height={50} />}
|
||||||
|
</div>
|
||||||
|
<div>{safetySignTime}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
{
|
||||||
|
showLast && (
|
||||||
|
<td colSpan={(lastColSpan || colSpan) + (!showFirst ? (firstColSpan || colSpan) : 0)}>
|
||||||
|
<div className="flex">
|
||||||
|
<div>
|
||||||
|
<span>接受交底人:</span>
|
||||||
|
<span>{AcceptRemarks}</span>
|
||||||
|
</div>
|
||||||
|
<div className="right">
|
||||||
|
<div>
|
||||||
|
{AcceptSignPath && <Image src={getFileUrl() + AcceptSignPath} width={50} height={50} />}
|
||||||
|
</div>
|
||||||
|
<div>{AcceptSignTime}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</tr>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default DisclaimerSign;
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
import { Image } from "antd";
|
||||||
|
import { Fragment } from "react";
|
||||||
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
|
||||||
|
function OpinionSign({
|
||||||
|
title,
|
||||||
|
colSpan,
|
||||||
|
remarks,
|
||||||
|
signPath,
|
||||||
|
signTime,
|
||||||
|
}) {
|
||||||
|
const show = signPath || remarks || signTime;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Fragment>
|
||||||
|
{
|
||||||
|
show && (
|
||||||
|
<tr>
|
||||||
|
<td colSpan={colSpan}>
|
||||||
|
<div className="flex">
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
{title}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
<span>{remarks}</span>
|
||||||
|
</div>
|
||||||
|
<div className="right">
|
||||||
|
<div>
|
||||||
|
<span>签字:</span>
|
||||||
|
<span>
|
||||||
|
{signPath && <Image src={getFileUrl() + signPath} width={50} height={50} />}
|
||||||
|
</span>
|
||||||
|
<span>{signTime}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</Fragment>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default OpinionSign;
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
|
import { Image } from "antd";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
|
|
||||||
|
function SafetyMeasures(props) {
|
||||||
|
const query = useGetUrlQuery();
|
||||||
|
|
||||||
|
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
||||||
|
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
const { data } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
||||||
|
setSafetyMeasures(data.filter(item => item.type === 1));
|
||||||
|
setOtherSafetyMeasures(data.filter(item => item.type === 2));
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<tr>
|
||||||
|
<td colSpan={props.colSpan} style={{ border: "none", padding: 0 }}>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td className="center title" style={{ width: 80 }}>序号</td>
|
||||||
|
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
||||||
|
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
||||||
|
<td className="center title" style={{ width: 100 }}>确认人</td>
|
||||||
|
</tr>
|
||||||
|
{safetyMeasures.map((item, index) => (
|
||||||
|
<tr key={index}>
|
||||||
|
<td className="center">{index + 1}</td>
|
||||||
|
<td>{item.content}</td>
|
||||||
|
<td className="center">符合</td>
|
||||||
|
<td className="center">
|
||||||
|
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
))}
|
||||||
|
{
|
||||||
|
otherSafetyMeasures.length > 0 && (
|
||||||
|
<tr>
|
||||||
|
<td className="center">{safetyMeasures.length + 1}</td>
|
||||||
|
<td colSpan={3}>
|
||||||
|
{
|
||||||
|
otherSafetyMeasures.map((item, index) => (
|
||||||
|
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
||||||
|
<div>
|
||||||
|
<span>其它安全措施:</span>
|
||||||
|
<span>{item.content}</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>编制人:</span>
|
||||||
|
<span>{item.createName}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Connect([NS_EIGHTWORK], true)(SafetyMeasures);
|
||||||
|
|
@ -7,21 +7,28 @@
|
||||||
th, td {
|
th, td {
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
&.title{
|
.title{
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #333;
|
color: #333;
|
||||||
background-color: #f2f2f2;
|
background-color: #f2f2f2;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.center {
|
.center {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.right {
|
.right {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flex {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@ import { useReactToPrint } from "react-to-print";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
import { getFileUrl } from "zy-react-library/utils";
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import DisclaimerSign from "~/components/DisclaimerSign";
|
||||||
|
import OpinionSign from "~/components/OpinionSign";
|
||||||
|
import SafetyMeasures from "~/components/SafetyMeasures";
|
||||||
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
import "~/css/index.less";
|
import "~/css/index.less";
|
||||||
|
|
||||||
|
|
@ -29,15 +32,10 @@ function View(props) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
||||||
setInfo(basicInfo);
|
setInfo(basicInfo);
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
|
||||||
setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -157,124 +155,52 @@ function View(props) {
|
||||||
<td className="title">实际作业开始时间</td>
|
<td className="title">实际作业开始时间</td>
|
||||||
<td colSpan={6}>{info?.info?.workStartTime}</td>
|
<td colSpan={6}>{info?.info?.workStartTime}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<SafetyMeasures colSpan={7} />
|
||||||
<td colSpan={7} style={{ border: "none", padding: 0 }}>
|
<DisclaimerSign
|
||||||
<table>
|
firstColSpan={4}
|
||||||
<tbody>
|
lastColSpan={3}
|
||||||
<tr>
|
safetyRemarks={info?.info?.step_18?.remarks}
|
||||||
<td className="center title" style={{ width: 80 }}>序号</td>
|
safetySignPath={info?.info?.step_18?.signPath}
|
||||||
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
safetySignTime={info?.info?.step_18?.signTime}
|
||||||
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
AcceptRemarks={info?.info?.step_19?.remarks}
|
||||||
<td className="center title" style={{ width: 100 }}>确认人</td>
|
AcceptSignPath={info?.info?.step_19?.signPath}
|
||||||
</tr>
|
AcceptSignTime={info?.info?.step_19?.signTime}
|
||||||
{safetyMeasures.map((item, index) => (
|
/>
|
||||||
<tr key={index}>
|
<OpinionSign
|
||||||
<td className="center">{index + 1}</td>
|
title="作业负责人意见"
|
||||||
<td>{item.content}</td>
|
colSpan={7}
|
||||||
<td className="center">符合</td>
|
remarks={info?.info?.step_21?.remarks}
|
||||||
<td className="center">
|
signPath={info?.info?.step_21?.signPath}
|
||||||
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
signTime={info?.info?.step_21?.signTime}
|
||||||
</td>
|
/>
|
||||||
</tr>
|
<OpinionSign
|
||||||
))}
|
title="所在单位意见"
|
||||||
<tr>
|
colSpan={7}
|
||||||
<td className="center">{safetyMeasures.length + 1}</td>
|
remarks={info?.info?.step_22?.remarks}
|
||||||
<td colSpan={3}>
|
signPath={info?.info?.step_22?.signPath}
|
||||||
{
|
signTime={info?.info?.step_22?.signTime}
|
||||||
otherSafetyMeasures.map((item, index) => (
|
/>
|
||||||
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
<OpinionSign
|
||||||
<div>
|
title="审核部门意见"
|
||||||
<span>其它安全措施:</span>
|
colSpan={7}
|
||||||
<span>{item.content}</span>
|
remarks={info?.info?.step_23?.remarks}
|
||||||
</div>
|
signPath={info?.info?.step_23?.signPath}
|
||||||
<div>
|
signTime={info?.info?.step_23?.signTime}
|
||||||
<span>编制人:</span>
|
/>
|
||||||
<span>{item.createName}</span>
|
<OpinionSign
|
||||||
</div>
|
title="审批部门意见"
|
||||||
</div>
|
colSpan={7}
|
||||||
))
|
remarks={info?.info?.step_24?.remarks}
|
||||||
}
|
signPath={info?.info?.step_24?.signPath}
|
||||||
</td>
|
signTime={info?.info?.step_24?.signTime}
|
||||||
</tr>
|
/>
|
||||||
</tbody>
|
<OpinionSign
|
||||||
</table>
|
title="完工验收"
|
||||||
</td>
|
colSpan={7}
|
||||||
</tr>
|
remarks={info?.info?.step_25?.remarks}
|
||||||
<tr>
|
signPath={info?.info?.step_25?.signPath}
|
||||||
<td className="title">安全交底人</td>
|
signTime={info?.info?.step_25?.signTime}
|
||||||
<td className="right" colSpan={3}>
|
/>
|
||||||
<div>
|
|
||||||
{info?.info?.step_18?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_18?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_18?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_18?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
<td className="title">接受交底人</td>
|
|
||||||
<td className="right" colSpan={2}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_19?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_19?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_19?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_19?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">作业负责人意见</td>
|
|
||||||
<td className="right" colSpan={6}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_21?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_21?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_21?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_21?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">所在单位意见</td>
|
|
||||||
<td className="right" colSpan={6}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_22?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_22?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_22?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_22?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审核部门意见</td>
|
|
||||||
<td className="right" colSpan={6}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_23?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_23?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_23?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_23?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审批部门意见</td>
|
|
||||||
<td className="right" colSpan={6}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_24?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_24?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_24?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_24?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">完工验收</td>
|
|
||||||
<td className="right" colSpan={6}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_25?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_25?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_25?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_25?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ function View(props) {
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
||||||
// const [delayedMonitoringRecord, setDelayedMonitoringRecord] = useState([]);
|
|
||||||
const [gasMonitoringRecord, setGasMonitoringRecord] = useState([]);
|
const [gasMonitoringRecord, setGasMonitoringRecord] = useState([]);
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
|
|
@ -41,7 +40,6 @@ function View(props) {
|
||||||
pageSize: 999,
|
pageSize: 999,
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
});
|
});
|
||||||
// setDelayedMonitoringRecord(supplementaryInfo.filter(item => item.type === "delay"));
|
|
||||||
setGasMonitoringRecord(supplementaryInfo.filter(item => item.type === "gas"));
|
setGasMonitoringRecord(supplementaryInfo.filter(item => item.type === "gas"));
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@ import { useReactToPrint } from "react-to-print";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
import { getFileUrl } from "zy-react-library/utils";
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import DisclaimerSign from "~/components/DisclaimerSign";
|
||||||
|
import OpinionSign from "~/components/OpinionSign";
|
||||||
|
import SafetyMeasures from "~/components/SafetyMeasures";
|
||||||
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
import "~/css/index.less";
|
import "~/css/index.less";
|
||||||
|
|
||||||
|
|
@ -29,15 +32,10 @@ function View(props) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
||||||
setInfo(basicInfo);
|
setInfo(basicInfo);
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
|
||||||
setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -141,124 +139,51 @@ function View(props) {
|
||||||
<td className="title">实际作业开始时间</td>
|
<td className="title">实际作业开始时间</td>
|
||||||
<td colSpan={3}>{info?.info?.workStartTime}</td>
|
<td colSpan={3}>{info?.info?.workStartTime}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<SafetyMeasures colSpan={4} />
|
||||||
<td colSpan={4} style={{ border: "none", padding: 0 }}>
|
<DisclaimerSign
|
||||||
<table>
|
colSpan={2}
|
||||||
<tbody>
|
safetyRemarks={info?.info?.step_18?.remarks}
|
||||||
<tr>
|
safetySignPath={info?.info?.step_18?.signPath}
|
||||||
<td className="center title" style={{ width: 80 }}>序号</td>
|
safetySignTime={info?.info?.step_18?.signTime}
|
||||||
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
AcceptRemarks={info?.info?.step_19?.remarks}
|
||||||
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
AcceptSignPath={info?.info?.step_19?.signPath}
|
||||||
<td className="center title" style={{ width: 100 }}>确认人</td>
|
AcceptSignTime={info?.info?.step_19?.signTime}
|
||||||
</tr>
|
/>
|
||||||
{safetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<tr key={index}>
|
title="作业负责人意见"
|
||||||
<td className="center">{index + 1}</td>
|
colSpan={4}
|
||||||
<td>{item.content}</td>
|
remarks={info?.info?.step_21?.remarks}
|
||||||
<td className="center">符合</td>
|
signPath={info?.info?.step_21?.signPath}
|
||||||
<td className="center">
|
signTime={info?.info?.step_21?.signTime}
|
||||||
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
/>
|
||||||
</td>
|
<OpinionSign
|
||||||
</tr>
|
title="所在单位意见"
|
||||||
))}
|
colSpan={4}
|
||||||
<tr>
|
remarks={info?.info?.step_22?.remarks}
|
||||||
<td className="center">{safetyMeasures.length + 1}</td>
|
signPath={info?.info?.step_22?.signPath}
|
||||||
<td colSpan={3}>
|
signTime={info?.info?.step_22?.signTime}
|
||||||
{
|
/>
|
||||||
otherSafetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
title="审核部门意见"
|
||||||
<div>
|
colSpan={4}
|
||||||
<span>其它安全措施:</span>
|
remarks={info?.info?.step_23?.remarks}
|
||||||
<span>{item.content}</span>
|
signPath={info?.info?.step_23?.signPath}
|
||||||
</div>
|
signTime={info?.info?.step_23?.signTime}
|
||||||
<div>
|
/>
|
||||||
<span>编制人:</span>
|
<OpinionSign
|
||||||
<span>{item.createName}</span>
|
title="审批部门意见"
|
||||||
</div>
|
colSpan={4}
|
||||||
</div>
|
remarks={info?.info?.step_24?.remarks}
|
||||||
))
|
signPath={info?.info?.step_24?.signPath}
|
||||||
}
|
signTime={info?.info?.step_24?.signTime}
|
||||||
</td>
|
/>
|
||||||
</tr>
|
<OpinionSign
|
||||||
</tbody>
|
title="完工验收"
|
||||||
</table>
|
colSpan={4}
|
||||||
</td>
|
remarks={info?.info?.step_25?.remarks}
|
||||||
</tr>
|
signPath={info?.info?.step_25?.signPath}
|
||||||
<tr>
|
signTime={info?.info?.step_25?.signTime}
|
||||||
<td className="title">安全交底人</td>
|
/>
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_18?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_18?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_18?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_18?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
<td className="title">接受交底人</td>
|
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_19?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_19?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_19?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_19?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">作业负责人意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_21?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_21?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_21?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_21?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">所在单位意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_22?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_22?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_22?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_22?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审核部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_23?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_23?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_23?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_23?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审批部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_24?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_24?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_24?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_24?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">完工验收</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_25?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_25?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_25?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_25?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@ import { useReactToPrint } from "react-to-print";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
import { getFileUrl } from "zy-react-library/utils";
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import DisclaimerSign from "~/components/DisclaimerSign";
|
||||||
|
import OpinionSign from "~/components/OpinionSign";
|
||||||
|
import SafetyMeasures from "~/components/SafetyMeasures";
|
||||||
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
import "~/css/index.less";
|
import "~/css/index.less";
|
||||||
|
|
||||||
|
|
@ -29,15 +32,10 @@ function View(props) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
||||||
setInfo(basicInfo);
|
setInfo(basicInfo);
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
|
||||||
setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -141,124 +139,51 @@ function View(props) {
|
||||||
<td className="title">实际作业开始时间</td>
|
<td className="title">实际作业开始时间</td>
|
||||||
<td colSpan={3}>{info?.info?.workStartTime}</td>
|
<td colSpan={3}>{info?.info?.workStartTime}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<SafetyMeasures colSpan={4} />
|
||||||
<td colSpan={4} style={{ border: "none", padding: 0 }}>
|
<DisclaimerSign
|
||||||
<table>
|
colSpan={2}
|
||||||
<tbody>
|
safetyRemarks={info?.info?.step_18?.remarks}
|
||||||
<tr>
|
safetySignPath={info?.info?.step_18?.signPath}
|
||||||
<td className="center title" style={{ width: 80 }}>序号</td>
|
safetySignTime={info?.info?.step_18?.signTime}
|
||||||
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
AcceptRemarks={info?.info?.step_19?.remarks}
|
||||||
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
AcceptSignPath={info?.info?.step_19?.signPath}
|
||||||
<td className="center title" style={{ width: 100 }}>确认人</td>
|
AcceptSignTime={info?.info?.step_19?.signTime}
|
||||||
</tr>
|
/>
|
||||||
{safetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<tr key={index}>
|
title="作业负责人意见"
|
||||||
<td className="center">{index + 1}</td>
|
colSpan={4}
|
||||||
<td>{item.content}</td>
|
remarks={info?.info?.step_21?.remarks}
|
||||||
<td className="center">符合</td>
|
signPath={info?.info?.step_21?.signPath}
|
||||||
<td className="center">
|
signTime={info?.info?.step_21?.signTime}
|
||||||
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
/>
|
||||||
</td>
|
<OpinionSign
|
||||||
</tr>
|
title="所在单位意见"
|
||||||
))}
|
colSpan={4}
|
||||||
<tr>
|
remarks={info?.info?.step_22?.remarks}
|
||||||
<td className="center">{safetyMeasures.length + 1}</td>
|
signPath={info?.info?.step_22?.signPath}
|
||||||
<td colSpan={3}>
|
signTime={info?.info?.step_22?.signTime}
|
||||||
{
|
/>
|
||||||
otherSafetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
title="审核部门意见"
|
||||||
<div>
|
colSpan={4}
|
||||||
<span>其它安全措施:</span>
|
remarks={info?.info?.step_23?.remarks}
|
||||||
<span>{item.content}</span>
|
signPath={info?.info?.step_23?.signPath}
|
||||||
</div>
|
signTime={info?.info?.step_23?.signTime}
|
||||||
<div>
|
/>
|
||||||
<span>编制人:</span>
|
<OpinionSign
|
||||||
<span>{item.createName}</span>
|
title="审批部门意见"
|
||||||
</div>
|
colSpan={4}
|
||||||
</div>
|
remarks={info?.info?.step_24?.remarks}
|
||||||
))
|
signPath={info?.info?.step_24?.signPath}
|
||||||
}
|
signTime={info?.info?.step_24?.signTime}
|
||||||
</td>
|
/>
|
||||||
</tr>
|
<OpinionSign
|
||||||
</tbody>
|
title="完工验收"
|
||||||
</table>
|
colSpan={4}
|
||||||
</td>
|
remarks={info?.info?.step_25?.remarks}
|
||||||
</tr>
|
signPath={info?.info?.step_25?.signPath}
|
||||||
<tr>
|
signTime={info?.info?.step_25?.signTime}
|
||||||
<td className="title">安全交底人</td>
|
/>
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_18?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_18?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_18?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_18?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
<td className="title">接受交底人</td>
|
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_19?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_19?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_19?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_19?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">作业负责人意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_21?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_21?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_21?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_21?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">所在单位意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_22?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_22?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_22?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_22?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审核部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_23?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_23?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_23?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_23?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审批部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_24?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_24?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_24?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_24?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">完工验收</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_25?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_25?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_25?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_25?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@ import { useReactToPrint } from "react-to-print";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
import { getFileUrl } from "zy-react-library/utils";
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import DisclaimerSign from "~/components/DisclaimerSign";
|
||||||
|
import OpinionSign from "~/components/OpinionSign";
|
||||||
|
import SafetyMeasures from "~/components/SafetyMeasures";
|
||||||
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
import "~/css/index.less";
|
import "~/css/index.less";
|
||||||
|
|
||||||
|
|
@ -29,15 +32,10 @@ function View(props) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
||||||
setInfo(basicInfo);
|
setInfo(basicInfo);
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
|
||||||
setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -146,124 +144,51 @@ function View(props) {
|
||||||
<td className="title">实际作业开始时间</td>
|
<td className="title">实际作业开始时间</td>
|
||||||
<td colSpan={3}>{info?.info?.workStartTime}</td>
|
<td colSpan={3}>{info?.info?.workStartTime}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<SafetyMeasures colSpan={4} />
|
||||||
<td colSpan={4} style={{ border: "none", padding: 0 }}>
|
<DisclaimerSign
|
||||||
<table>
|
colSpan={2}
|
||||||
<tbody>
|
safetyRemarks={info?.info?.step_18?.remarks}
|
||||||
<tr>
|
safetySignPath={info?.info?.step_18?.signPath}
|
||||||
<td className="center title" style={{ width: 80 }}>序号</td>
|
safetySignTime={info?.info?.step_18?.signTime}
|
||||||
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
AcceptRemarks={info?.info?.step_19?.remarks}
|
||||||
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
AcceptSignPath={info?.info?.step_19?.signPath}
|
||||||
<td className="center title" style={{ width: 100 }}>确认人</td>
|
AcceptSignTime={info?.info?.step_19?.signTime}
|
||||||
</tr>
|
/>
|
||||||
{safetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<tr key={index}>
|
title="作业负责人意见"
|
||||||
<td className="center">{index + 1}</td>
|
colSpan={4}
|
||||||
<td>{item.content}</td>
|
remarks={info?.info?.step_21?.remarks}
|
||||||
<td className="center">符合</td>
|
signPath={info?.info?.step_21?.signPath}
|
||||||
<td className="center">
|
signTime={info?.info?.step_21?.signTime}
|
||||||
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
/>
|
||||||
</td>
|
<OpinionSign
|
||||||
</tr>
|
title="所在单位意见"
|
||||||
))}
|
colSpan={4}
|
||||||
<tr>
|
remarks={info?.info?.step_22?.remarks}
|
||||||
<td className="center">{safetyMeasures.length + 1}</td>
|
signPath={info?.info?.step_22?.signPath}
|
||||||
<td colSpan={3}>
|
signTime={info?.info?.step_22?.signTime}
|
||||||
{
|
/>
|
||||||
otherSafetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
title="审核部门意见"
|
||||||
<div>
|
colSpan={4}
|
||||||
<span>其它安全措施:</span>
|
remarks={info?.info?.step_23?.remarks}
|
||||||
<span>{item.content}</span>
|
signPath={info?.info?.step_23?.signPath}
|
||||||
</div>
|
signTime={info?.info?.step_23?.signTime}
|
||||||
<div>
|
/>
|
||||||
<span>编制人:</span>
|
<OpinionSign
|
||||||
<span>{item.createName}</span>
|
title="审批部门意见"
|
||||||
</div>
|
colSpan={4}
|
||||||
</div>
|
remarks={info?.info?.step_24?.remarks}
|
||||||
))
|
signPath={info?.info?.step_24?.signPath}
|
||||||
}
|
signTime={info?.info?.step_24?.signTime}
|
||||||
</td>
|
/>
|
||||||
</tr>
|
<OpinionSign
|
||||||
</tbody>
|
title="完工验收"
|
||||||
</table>
|
colSpan={4}
|
||||||
</td>
|
remarks={info?.info?.step_25?.remarks}
|
||||||
</tr>
|
signPath={info?.info?.step_25?.signPath}
|
||||||
<tr>
|
signTime={info?.info?.step_25?.signTime}
|
||||||
<td className="title">安全交底人</td>
|
/>
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_18?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_18?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_18?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_18?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
<td className="title">接受交底人</td>
|
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_19?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_19?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_19?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_19?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">作业负责人意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_21?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_21?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_21?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_21?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">所在单位意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_22?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_22?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_22?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_22?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审核部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_23?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_23?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_23?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_23?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审批部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_24?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_24?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_24?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_24?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">完工验收</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_25?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_25?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_25?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_25?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@ import { useReactToPrint } from "react-to-print";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
import { getFileUrl } from "zy-react-library/utils";
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import DisclaimerSign from "~/components/DisclaimerSign";
|
||||||
|
import OpinionSign from "~/components/OpinionSign";
|
||||||
|
import SafetyMeasures from "~/components/SafetyMeasures";
|
||||||
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
import "~/css/index.less";
|
import "~/css/index.less";
|
||||||
|
|
||||||
|
|
@ -29,15 +32,10 @@ function View(props) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
||||||
setInfo(basicInfo);
|
setInfo(basicInfo);
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
|
||||||
setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -138,124 +136,51 @@ function View(props) {
|
||||||
<td className="title">作业实施时间</td>
|
<td className="title">作业实施时间</td>
|
||||||
<td colSpan={3}>{`${info?.info?.workStartTime} 至 ${info?.info?.workEndTime} 止`}</td>
|
<td colSpan={3}>{`${info?.info?.workStartTime} 至 ${info?.info?.workEndTime} 止`}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<SafetyMeasures colSpan={4} />
|
||||||
<td colSpan={4} style={{ border: "none", padding: 0 }}>
|
<DisclaimerSign
|
||||||
<table>
|
colSpan={2}
|
||||||
<tbody>
|
safetyRemarks={info?.info?.step_18?.remarks}
|
||||||
<tr>
|
safetySignPath={info?.info?.step_18?.signPath}
|
||||||
<td className="center title" style={{ width: 80 }}>序号</td>
|
safetySignTime={info?.info?.step_18?.signTime}
|
||||||
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
AcceptRemarks={info?.info?.step_19?.remarks}
|
||||||
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
AcceptSignPath={info?.info?.step_19?.signPath}
|
||||||
<td className="center title" style={{ width: 100 }}>确认人</td>
|
AcceptSignTime={info?.info?.step_19?.signTime}
|
||||||
</tr>
|
/>
|
||||||
{safetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<tr key={index}>
|
title="作业负责人意见"
|
||||||
<td className="center">{index + 1}</td>
|
colSpan={4}
|
||||||
<td>{item.content}</td>
|
remarks={info?.info?.step_21?.remarks}
|
||||||
<td className="center">符合</td>
|
signPath={info?.info?.step_21?.signPath}
|
||||||
<td className="center">
|
signTime={info?.info?.step_21?.signTime}
|
||||||
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
/>
|
||||||
</td>
|
<OpinionSign
|
||||||
</tr>
|
title="所在单位意见"
|
||||||
))}
|
colSpan={4}
|
||||||
<tr>
|
remarks={info?.info?.step_22?.remarks}
|
||||||
<td className="center">{safetyMeasures.length + 1}</td>
|
signPath={info?.info?.step_22?.signPath}
|
||||||
<td colSpan={3}>
|
signTime={info?.info?.step_22?.signTime}
|
||||||
{
|
/>
|
||||||
otherSafetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
title="审核部门意见"
|
||||||
<div>
|
colSpan={4}
|
||||||
<span>其它安全措施:</span>
|
remarks={info?.info?.step_23?.remarks}
|
||||||
<span>{item.content}</span>
|
signPath={info?.info?.step_23?.signPath}
|
||||||
</div>
|
signTime={info?.info?.step_23?.signTime}
|
||||||
<div>
|
/>
|
||||||
<span>编制人:</span>
|
<OpinionSign
|
||||||
<span>{item.createName}</span>
|
title="审批部门意见"
|
||||||
</div>
|
colSpan={4}
|
||||||
</div>
|
remarks={info?.info?.step_24?.remarks}
|
||||||
))
|
signPath={info?.info?.step_24?.signPath}
|
||||||
}
|
signTime={info?.info?.step_24?.signTime}
|
||||||
</td>
|
/>
|
||||||
</tr>
|
<OpinionSign
|
||||||
</tbody>
|
title="完工验收"
|
||||||
</table>
|
colSpan={4}
|
||||||
</td>
|
remarks={info?.info?.step_25?.remarks}
|
||||||
</tr>
|
signPath={info?.info?.step_25?.signPath}
|
||||||
<tr>
|
signTime={info?.info?.step_25?.signTime}
|
||||||
<td className="title">安全交底人</td>
|
/>
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_18?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_18?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_18?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_18?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
<td className="title">接受交底人</td>
|
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_19?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_19?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_19?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_19?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">作业负责人意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_21?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_21?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_21?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_21?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">所在单位意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_22?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_22?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_22?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_22?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审核部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_23?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_23?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_23?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_23?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审批部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_24?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_24?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_24?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_24?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">完工验收</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_25?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_25?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_25?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_25?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import { useReactToPrint } from "react-to-print";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
import { getFileUrl } from "zy-react-library/utils";
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import SafetyMeasures from "~/components/SafetyMeasures";
|
||||||
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
import "~/css/index.less";
|
import "~/css/index.less";
|
||||||
|
|
||||||
|
|
@ -29,8 +30,6 @@ function View(props) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
|
||||||
const [delayedMonitoringRecord, setDelayedMonitoringRecord] = useState([]);
|
const [delayedMonitoringRecord, setDelayedMonitoringRecord] = useState([]);
|
||||||
const [gasMonitoringRecord, setGasMonitoringRecord] = useState([]);
|
const [gasMonitoringRecord, setGasMonitoringRecord] = useState([]);
|
||||||
|
|
||||||
|
|
@ -44,9 +43,6 @@ function View(props) {
|
||||||
});
|
});
|
||||||
setDelayedMonitoringRecord(supplementaryInfo.filter(item => item.type === "delay"));
|
setDelayedMonitoringRecord(supplementaryInfo.filter(item => item.type === "delay"));
|
||||||
setGasMonitoringRecord(supplementaryInfo.filter(item => item.type === "gas"));
|
setGasMonitoringRecord(supplementaryInfo.filter(item => item.type === "gas"));
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
|
||||||
setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -115,13 +111,12 @@ function View(props) {
|
||||||
<td className="title">动火监火人</td>
|
<td className="title">动火监火人</td>
|
||||||
<td colSpan={3}>{info?.info?.workMonitor}</td>
|
<td colSpan={3}>{info?.info?.workMonitor}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{gasMonitoringRecord.length > 0 && (
|
|
||||||
<tr>
|
<tr>
|
||||||
<td className="title center" colSpan={4}>可燃气体分析(运行的生产装置、罐区和具有火灾爆炸危险场所)</td>
|
<td className="title center" colSpan={4}>可燃气体分析(运行的生产装置、罐区和具有火灾爆炸危险场所)</td>
|
||||||
</tr>
|
</tr>
|
||||||
)}
|
|
||||||
{
|
{
|
||||||
gasMonitoringRecord.map(item => (
|
gasMonitoringRecord.length > 0
|
||||||
|
? gasMonitoringRecord.map(item => (
|
||||||
<Fragment key={item.id}>
|
<Fragment key={item.id}>
|
||||||
<tr>
|
<tr>
|
||||||
<td className="title">分析时间</td>
|
<td className="title">分析时间</td>
|
||||||
|
|
@ -137,53 +132,12 @@ function View(props) {
|
||||||
</tr>
|
</tr>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
))
|
))
|
||||||
|
: <tr><td colSpan={4} className="center">暂无数据</td></tr>
|
||||||
}
|
}
|
||||||
<tr>
|
<tr>
|
||||||
<td className="title center" colSpan={4}>动火要求安全措施安全提示</td>
|
<td className="title center" colSpan={4}>动火要求安全措施安全提示</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<SafetyMeasures colSpan={4} />
|
||||||
<td colSpan={4} style={{ border: "none", padding: 0 }}>
|
|
||||||
<table>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td className="center title" style={{ width: 80 }}>序号</td>
|
|
||||||
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
|
||||||
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
|
||||||
<td className="center title" style={{ width: 100 }}>确认人</td>
|
|
||||||
</tr>
|
|
||||||
{safetyMeasures.map((item, index) => (
|
|
||||||
<tr key={index}>
|
|
||||||
<td className="center">{index + 1}</td>
|
|
||||||
<td>{item.content}</td>
|
|
||||||
<td className="center">符合</td>
|
|
||||||
<td className="center">
|
|
||||||
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
))}
|
|
||||||
<tr>
|
|
||||||
<td className="center">{safetyMeasures.length + 1}</td>
|
|
||||||
<td colSpan={3}>
|
|
||||||
{
|
|
||||||
otherSafetyMeasures.map((item, index) => (
|
|
||||||
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
|
||||||
<div>
|
|
||||||
<span>其它安全措施:</span>
|
|
||||||
<span>{item.content}</span>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<span>编制人:</span>
|
|
||||||
<span>{item.createName}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td className="title">动火单位(部门)负责人意见</td>
|
<td className="title">动火单位(部门)负责人意见</td>
|
||||||
<td className="right">
|
<td className="right">
|
||||||
|
|
@ -256,7 +210,9 @@ function View(props) {
|
||||||
<td className="title center">时间</td>
|
<td className="title center">时间</td>
|
||||||
<td className="title center">签字照片</td>
|
<td className="title center">签字照片</td>
|
||||||
</tr>
|
</tr>
|
||||||
{delayedMonitoringRecord.map((item, index) => (
|
{
|
||||||
|
delayedMonitoringRecord.length > 0
|
||||||
|
? delayedMonitoringRecord.map((item, index) => (
|
||||||
<tr key={index}>
|
<tr key={index}>
|
||||||
<td className="center">{item?.details?.actUserName}</td>
|
<td className="center">{item?.details?.actUserName}</td>
|
||||||
<td className="center">{item?.details?.delayHotTime}</td>
|
<td className="center">{item?.details?.delayHotTime}</td>
|
||||||
|
|
@ -265,7 +221,9 @@ function View(props) {
|
||||||
&& <Image src={getFileUrl() + item?.details?.delayHotPhoto} width={50} height={50} />}
|
&& <Image src={getFileUrl() + item?.details?.delayHotPhoto} width={50} height={50} />}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
))}
|
))
|
||||||
|
: <tr><td colSpan={3} className="center">暂无数据</td></tr>
|
||||||
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@ import { useReactToPrint } from "react-to-print";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
import { getFileUrl } from "zy-react-library/utils";
|
import { getFileUrl } from "zy-react-library/utils";
|
||||||
|
import DisclaimerSign from "~/components/DisclaimerSign";
|
||||||
|
import OpinionSign from "~/components/OpinionSign";
|
||||||
|
import SafetyMeasures from "~/components/SafetyMeasures";
|
||||||
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
import { NS_EIGHTWORK } from "~/enumerate/namespace";
|
||||||
import "~/css/index.less";
|
import "~/css/index.less";
|
||||||
|
|
||||||
|
|
@ -29,15 +32,10 @@ function View(props) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const [info, setInfo] = useState({});
|
const [info, setInfo] = useState({});
|
||||||
const [safetyMeasures, setSafetyMeasures] = useState([]);
|
|
||||||
const [otherSafetyMeasures, setOtherSafetyMeasures] = useState([]);
|
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
const { data: basicInfo } = await props["eightworkInfo"]({ id: query.id });
|
||||||
setInfo(basicInfo);
|
setInfo(basicInfo);
|
||||||
const { data: measuresLogs } = await props["eightworkMeasuresLogs"]({ workId: query.workId });
|
|
||||||
setSafetyMeasures(measuresLogs.filter(item => item.type === 1));
|
|
||||||
setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -150,124 +148,51 @@ function View(props) {
|
||||||
<td className="title">作业实施时间</td>
|
<td className="title">作业实施时间</td>
|
||||||
<td colSpan={3}>{`${info?.info?.workStartTime} 至 ${info?.info?.workEndTime} 止`}</td>
|
<td colSpan={3}>{`${info?.info?.workStartTime} 至 ${info?.info?.workEndTime} 止`}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<SafetyMeasures colSpan={4} />
|
||||||
<td colSpan={4} style={{ border: "none", padding: 0 }}>
|
<DisclaimerSign
|
||||||
<table>
|
colSpan={2}
|
||||||
<tbody>
|
safetyRemarks={info?.info?.step_18?.remarks}
|
||||||
<tr>
|
safetySignPath={info?.info?.step_18?.signPath}
|
||||||
<td className="center title" style={{ width: 80 }}>序号</td>
|
safetySignTime={info?.info?.step_18?.signTime}
|
||||||
<td className="center title" style={{ width: "auto" }}>安全措施</td>
|
AcceptRemarks={info?.info?.step_19?.remarks}
|
||||||
<td className="center title" style={{ width: 100 }}>是否涉及</td>
|
AcceptSignPath={info?.info?.step_19?.signPath}
|
||||||
<td className="center title" style={{ width: 100 }}>确认人</td>
|
AcceptSignTime={info?.info?.step_19?.signTime}
|
||||||
</tr>
|
/>
|
||||||
{safetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<tr key={index}>
|
title="作业指挥负责人意见"
|
||||||
<td className="center">{index + 1}</td>
|
colSpan={4}
|
||||||
<td>{item.content}</td>
|
remarks={info?.info?.step_21?.remarks}
|
||||||
<td className="center">符合</td>
|
signPath={info?.info?.step_21?.signPath}
|
||||||
<td className="center">
|
signTime={info?.info?.step_21?.signTime}
|
||||||
{item.signPath && <Image src={getFileUrl() + item.signPath} width={50} height={50} />}
|
/>
|
||||||
</td>
|
<OpinionSign
|
||||||
</tr>
|
title="所在单位意见"
|
||||||
))}
|
colSpan={4}
|
||||||
<tr>
|
remarks={info?.info?.step_22?.remarks}
|
||||||
<td className="center">{safetyMeasures.length + 1}</td>
|
signPath={info?.info?.step_22?.signPath}
|
||||||
<td colSpan={3}>
|
signTime={info?.info?.step_22?.signTime}
|
||||||
{
|
/>
|
||||||
otherSafetyMeasures.map((item, index) => (
|
<OpinionSign
|
||||||
<div key={index} style={{ display: "flex", justifyContent: "space-between" }}>
|
title="审核部门意见"
|
||||||
<div>
|
colSpan={4}
|
||||||
<span>其它安全措施:</span>
|
remarks={info?.info?.step_23?.remarks}
|
||||||
<span>{item.content}</span>
|
signPath={info?.info?.step_23?.signPath}
|
||||||
</div>
|
signTime={info?.info?.step_23?.signTime}
|
||||||
<div>
|
/>
|
||||||
<span>编制人:</span>
|
<OpinionSign
|
||||||
<span>{item.createName}</span>
|
title="审批部门意见"
|
||||||
</div>
|
colSpan={4}
|
||||||
</div>
|
remarks={info?.info?.step_24?.remarks}
|
||||||
))
|
signPath={info?.info?.step_24?.signPath}
|
||||||
}
|
signTime={info?.info?.step_24?.signTime}
|
||||||
</td>
|
/>
|
||||||
</tr>
|
<OpinionSign
|
||||||
</tbody>
|
title="完工验收"
|
||||||
</table>
|
colSpan={4}
|
||||||
</td>
|
remarks={info?.info?.step_25?.remarks}
|
||||||
</tr>
|
signPath={info?.info?.step_25?.signPath}
|
||||||
<tr>
|
signTime={info?.info?.step_25?.signTime}
|
||||||
<td className="title">安全交底人</td>
|
/>
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_18?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_18?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_18?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_18?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
<td className="title">接受交底人</td>
|
|
||||||
<td className="right">
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_19?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_19?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_19?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_19?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">作业指挥负责人意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_21?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_21?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_21?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_21?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">所在单位意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_22?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_22?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_22?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_22?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审核部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_23?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_23?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_23?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_23?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">审批部门意见</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_24?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_24?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_24?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_24?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td className="title">完工验收</td>
|
|
||||||
<td className="right" colSpan={3}>
|
|
||||||
<div>
|
|
||||||
{info?.info?.step_25?.signPath
|
|
||||||
&& <Image src={getFileUrl() + info?.info?.step_25?.signPath} width={50} height={50} />}
|
|
||||||
</div>
|
|
||||||
<div>{info?.info?.step_25?.signTime}</div>
|
|
||||||
<div>{info?.info?.step_25?.remarks}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue