dev_1.2
tangjie 2026-07-28 15:10:56 +08:00
parent 5da924adac
commit 6156138a55
5 changed files with 38 additions and 23 deletions

View File

@ -12,8 +12,8 @@ module.exports = {
// 可通过环境变量覆盖: SAFETY_EVAL_API_HOST=http://192.168.x.x:8095 // 可通过环境变量覆盖: SAFETY_EVAL_API_HOST=http://192.168.x.x:8095
//API_HOST: "https://gbs-gateway.qhdsafety.com", //API_HOST: "https://gbs-gateway.qhdsafety.com",
API_HOST: "http://192.168.0.152", //API_HOST: "http://192.168.0.152",
//API_HOST: "http://192.168.0.150", //太浅 API_HOST: "http://192.168.0.150", //太浅
// API_HOST: "http://192.168.0.152", // API_HOST: "http://192.168.0.152",
//API_HOST: "http://192.168.0.103", //huwei //API_HOST: "http://192.168.0.103", //huwei
}, },

View File

@ -22,6 +22,7 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { tools } from "@cqsjjb/jjb-common-lib"; import { tools } from "@cqsjjb/jjb-common-lib";
import AttachmentUpload from "~/components/AttachmentUpload"; import AttachmentUpload from "~/components/AttachmentUpload";
import PreviewUrlButton from "~/components/PreviewUrlButton";
const { router } = tools; const { router } = tools;
@ -265,13 +266,7 @@ const ProjectDocLibrary = (props) => {
title: "操作", title: "操作",
width: 100, width: 100,
render: (_, record) => ( render: (_, record) => (
<Button <PreviewUrlButton url={record.project_doc_url} />
type="link"
size="small"
onClick={() => window.open(record.project_doc_url)}
>
预览
</Button>
), ),
}, },
]} ]}

View File

@ -22,7 +22,7 @@ const ControlContent = (props) => {
// 过程控制审核 // 过程控制审核
const [rows, setRows] = useState([]); const [rows, setRows] = useState([]);
const [opinionContent, setOpinionContent] = useState("");
// 项目归档 // 项目归档
const [files, setFiles] = useState([]); const [files, setFiles] = useState([]);
@ -34,7 +34,7 @@ const ControlContent = (props) => {
const fetchDetail = () => { const fetchDetail = () => {
props.evalProcessControlDetail({ projectId }).then((res) => { props.evalProcessControlDetail({ projectId }).then((res) => {
if (res?.success) { if (res?.success) {
setOpinionContent(res?.data?.opinionContent);
if (res?.data?.signTaskPersonCo) { if (res?.data?.signTaskPersonCo) {
setSelectPeople({ setSelectPeople({
value: res?.data?.signTaskPersonCo?.signerPersonnelId, value: res?.data?.signTaskPersonCo?.signerPersonnelId,
@ -65,8 +65,10 @@ const ControlContent = (props) => {
})), })),
); );
} }
if (processControl?.opinionContent) { if (processControl?.opinionContent) {
setOpinionContent(processControl.opinionContent); setApprovalOpinion(processControl.opinionContent);
} }
}, [processControlDetail]); }, [processControlDetail]);
@ -93,11 +95,15 @@ const ControlContent = (props) => {
// 过程控制签字提交confirm // 过程控制签字提交confirm
const handleConfirm = async (resultCode) => { const handleConfirm = async (resultCode) => {
if (!projectId) return; if (!projectId) return;
if(!rows.every((r) => r.reviewConclusion)){
message.error("请填写所有核查项的结果");
return;
}
const payload = { const payload = {
id: processControl?.id, id: processControl?.id,
projectId, projectId,
resultCode, resultCode,
opinionContent, opinionContent: approvalOpinion,
reviewItems: rows.map((r) => ({ reviewItems: rows.map((r) => ({
bizType: "eval_process_control", bizType: "eval_process_control",
bizId: processControl?.id, bizId: processControl?.id,
@ -151,12 +157,14 @@ const ControlContent = (props) => {
{ {
title: "结果", title: "结果",
dataIndex: "reviewConclusion", dataIndex: "reviewConclusion",
width: 120, width: 150,
render: (val, _, idx) => ( render: (val, _, idx) => (
<Select <Select
value={val} value={val}
size="small" size="small"
style={{ width: 100 }} style={{ width: 130 }}
allowClear
placeholder="请选择结果"
onChange={(v) => updateRow(idx, "reviewConclusion", v)} onChange={(v) => updateRow(idx, "reviewConclusion", v)}
> >
<Select.Option value="conform_to">符合</Select.Option> <Select.Option value="conform_to">符合</Select.Option>

View File

@ -79,7 +79,8 @@ const InternalReviewContent = (props) => {
const handleAssign = async () => { const handleAssign = async () => {
if (!projectId) return; if (!projectId) return;
await handleConfirm("not_passed"); const result= await handleConfirm("not_passed");
if(!result) return;
const res = await props.evalInternalReviewAssign({ const res = await props.evalInternalReviewAssign({
projectId, projectId,
signTaskPersonCmd: { signTaskPersonCmd: {
@ -91,10 +92,15 @@ const InternalReviewContent = (props) => {
}); });
if (res?.success !== false) { if (res?.success !== false) {
message.success("已下发签字任务"); message.success("已下发签字任务");
fetchDetail()
} }
}; };
const handleConfirm = async (resultCode) => { const handleConfirm = async (resultCode) => {
if(!rows.every((r) => r.reviewConclusion)){
message.error("请填写审核结论");
return;
}
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
if (!projectId) return; if (!projectId) return;
const payload = { const payload = {
@ -121,7 +127,7 @@ const InternalReviewContent = (props) => {
} }
} }
else{ else{
reject(res); reject();
} }
}); });
}; };

View File

@ -76,7 +76,8 @@ const TechnicalReviewContent = (props) => {
const handleAssign = async () => { const handleAssign = async () => {
if (!projectId) return; if (!projectId) return;
await handleConfirm("2"); const result= await handleConfirm("not_passed");
if(!result) return;
const res = await props.evalTechReviewAssign({ const res = await props.evalTechReviewAssign({
projectId, projectId,
signTaskPersonCmd: { signTaskPersonCmd: {
@ -88,10 +89,15 @@ const TechnicalReviewContent = (props) => {
}); });
if (res?.success !== false) { if (res?.success !== false) {
message.success("已下发签字任务"); message.success("已下发签字任务");
fetchDetail()
} }
}; };
const handleConfirm = async (resultCode) => { const handleConfirm = async (resultCode) => {
if (!rows.every((r) => r.reviewConclusion)) {
message.error("请填写审核结论");
return;
}
if (!projectId) return; if (!projectId) return;
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
const payload = { const payload = {
@ -113,13 +119,13 @@ const TechnicalReviewContent = (props) => {
if (res?.success !== false) { if (res?.success !== false) {
resolve(res); resolve(res);
message.success( message.success(
resultCode === "1" ? "已确认技审并提交过程控制" : "已保存", resultCode === "passed" ? "已确认技审并提交过程控制" : "已保存",
); );
if (resultCode === "1") { if (resultCode === "passed") {
props.getDetail?.(); props.getDetail?.();
} }
} else { } else {
reject(res); reject();
} }
}); });
}; };
@ -272,13 +278,13 @@ const TechnicalReviewContent = (props) => {
<Flex justify="flex-end" gap={8} style={{ marginTop: 16 }}> <Flex justify="flex-end" gap={8} style={{ marginTop: 16 }}>
<Button <Button
loading={props.safetyEvalBusiness?.techReviewConfirmLoading} loading={props.safetyEvalBusiness?.techReviewConfirmLoading}
onClick={() => handleConfirm("2")} onClick={() => handleConfirm("not_passed")}
> >
保存意见 保存意见
</Button> </Button>
<Button <Button
type="primary" type="primary"
onClick={() => handleConfirm("1")} onClick={() => handleConfirm("passed")}
loading={props.safetyEvalBusiness?.techReviewConfirmLoading} loading={props.safetyEvalBusiness?.techReviewConfirmLoading}
> >
确认技审并提交过程控制 确认技审并提交过程控制