master
853931625@qq.com 2026-04-30 15:40:12 +08:00
parent 872650cc66
commit 6a35cebbda
22 changed files with 237 additions and 161 deletions

View File

@ -32,7 +32,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-to-print": "^3.3.0",
"zy-react-library": "^1.2.13"
"zy-react-library": "^1.3.6"
},
"devDependencies": {
"@antfu/eslint-config": "^5.4.1",

View File

@ -44,3 +44,7 @@ export const corpInfoList = declareRequest(
"eightworkLoading",
"Post > @/basicInfo/corpInfo/list",
);
export const corpInfoListAll = declareRequest(
"basicInfoLoading",
"Get > /basicInfo/corpInfo/listAll",
);

View File

@ -31,7 +31,7 @@ function OpinionSign({
<span>
{signPath && <Image src={getFileUrl() + signPath} width={50} height={50} />}
</span>
<span>{signTime}</span>
<div>{signTime}</div>
</div>
</div>
</div>

View File

@ -4,8 +4,6 @@ import dayjs from "dayjs";
import { useEffect, useState } from "react";
import Page from "zy-react-library/components/Page";
import Search from "zy-react-library/components/Search";
import BasicSelectTree from "zy-react-library/components/SelectTree/Basic";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
@ -21,7 +19,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props, query);
const [eightworkType, setEightworkType] = useState([]);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
@ -78,14 +76,18 @@ function List(props) {
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -94,7 +96,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",

View File

@ -1,6 +1,5 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Button, Divider, Image } from "antd";
import dayjs from "dayjs";
import { Button, Divider, Image,Radio } from "antd";
import { useEffect, useRef, useState } from "react";
import { useReactToPrint } from "react-to-print";
import Page from "zy-react-library/components/Page";
@ -42,6 +41,11 @@ function View(props) {
getData();
}, []);
const blindboardWorkParams = Array.isArray(info?.info?.blindboardWorkParams)
&& info.info.blindboardWorkParams.length > 0
? info.info.blindboardWorkParams
: [{}];
return (
<Page
headerTitle="审批表详情"
@ -75,8 +79,8 @@ function View(props) {
<tr>
<td className="title">申请单位</td>
<td colSpan={3}>{info?.info?.applyUnit}</td>
<td className="title">申请时间</td>
<td colSpan={2}>{dayjs(info?.info?.applyTime || info?.createTime).format("YYYY-MM-DD HH:mm:ss")}</td>
<td className="title">作业单位</td>
<td colSpan={2}>{info?.info?.step_21?.actUserDepartmentName}</td>
</tr>
<tr>
<td className="title">作业人</td>
@ -97,18 +101,35 @@ function View(props) {
<td className="title center">规格</td>
<td className="title center">编号</td>
</tr>
<tr>
<td className="center">{info?.info?.devicePipelineName}</td>
<td className="center">{info?.info?.mediumName}</td>
<td className="center">{info?.info?.temperature}</td>
<td className="center">{info?.info?.pressure}</td>
<td className="center">{info?.info?.matertal}</td>
<td className="center">{info?.info?.specification}</td>
<td className="center">{info?.info?.number}</td>
{blindboardWorkParams.map((item, index) => (
<tr key={item.id || index}>
{index === 0 && (
<>
<td className="center" rowSpan={blindboardWorkParams.length}>{info?.info?.devicePipelineName}</td>
<td className="center" rowSpan={blindboardWorkParams.length}>{info?.info?.mediumName}</td>
<td className="center" rowSpan={blindboardWorkParams.length}>{info?.info?.temperature}</td>
<td className="center" rowSpan={blindboardWorkParams.length}>{info?.info?.pressure}</td>
</>
)}
<td className="center">{item?.matertal}</td>
<td className="center">{item?.specification}</td>
<td className="center">{item?.number}</td>
</tr>
))}
<tr>
<td className="title">作业类别</td>
<td colSpan={6}>{info?.info?.blindboardWorkTypeName}</td>
<td colSpan={6}>
<Radio.Group
name="blindboardWorkType"
value={info?.info?.blindboardWorkType}
disabled
options={[
{ value: "blindboardWorkType001", label: "抽盲板" },
{ value: "blindboardWorkType002", label: "堵盲板" },
]}
/>
</td>
</tr>
<tr>
<td className="title">盲板抽堵位置图</td>
@ -149,45 +170,45 @@ function View(props) {
lastColSpan={3}
safetyRemarks={info?.info?.step_18?.remarks}
safetySignPath={info?.info?.step_18?.signPath}
safetySignTime={info?.info?.step_18?.signTime}
safetySignTime={info?.info?.step_18?.status !== 0 && info?.info?.step_18?.signTime}
AcceptRemarks={info?.info?.step_19?.remarks}
AcceptSignPath={info?.info?.step_19?.signPath}
AcceptSignTime={info?.info?.step_19?.signTime}
AcceptSignTime={info?.info?.step_19?.status !== 0 && info?.info?.step_19?.signTime}
/>
<OpinionSign
title="作业负责人意见"
colSpan={7}
remarks={info?.info?.step_21?.remarks}
signPath={info?.info?.step_21?.signPath}
signTime={info?.info?.step_21?.signTime}
signTime={info?.info?.step_21?.status !== 0 && info?.info?.step_21?.signTime}
/>
<OpinionSign
title="所在单位意见"
colSpan={7}
remarks={info?.info?.step_22?.remarks}
signPath={info?.info?.step_22?.signPath}
signTime={info?.info?.step_22?.signTime}
signTime={info?.info?.step_22?.status !== 0 && info?.info?.step_22?.signTime}
/>
<OpinionSign
title="审核部门意见"
colSpan={7}
remarks={info?.info?.step_23?.remarks}
signPath={info?.info?.step_23?.signPath}
signTime={info?.info?.step_23?.signTime}
signTime={info?.info?.step_23?.status !== 0 && info?.info?.step_23?.signTime}
/>
<OpinionSign
title="审批部门意见"
colSpan={7}
remarks={info?.info?.step_24?.remarks}
signPath={info?.info?.step_24?.signPath}
signTime={info?.info?.step_24?.signTime}
signTime={info?.info?.step_24?.status !== 0 && info?.info?.step_24?.signTime}
/>
<OpinionSign
title="完工验收"
colSpan={7}
remarks={info?.info?.step_25?.remarks}
signPath={info?.info?.step_25?.signPath}
signTime={info?.info?.step_25?.signTime}
signTime={info?.info?.step_25?.status !== 0 && info?.info?.step_25?.signTime}
/>
</tbody>
</table>

View File

@ -3,7 +3,6 @@ import { Button, Space } from "antd";
import { useState } from "react";
import Page from "zy-react-library/components/Page";
import Search from "zy-react-library/components/Search";
import BasicSelectTree from "zy-react-library/components/SelectTree/Basic";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
@ -20,7 +19,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props, query);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
const [flowModalOpen, setFlowModalOpen] = useState(false);
@ -31,11 +30,12 @@ function List(props) {
const { tableProps, getData } = useTable(props["eightworkList"], {
form,
params: { eqWorkType: "confinedspace_work", corpinfoId: query.corpinfoId },
params: { eqWorkType: "confinedspace_work" },
transform: formData => ({
geCreateTime: formData.createTime?.[0],
leCreateTime: formData.createTime?.[1],
eqStatus: props.status || formData.eqStatus,
corpinfoId: formData.corpinfoId ? formData.corpinfoId : query.corpinfoId,
}),
});
@ -59,16 +59,20 @@ function List(props) {
},
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{ name: "todo", label: "有限空间名称" },
{ name: "likeLimitedSpaceNameAndCode", label: "有限空间名称" },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -77,7 +81,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",
@ -89,11 +93,11 @@ function List(props) {
{ title: "申请时间", dataIndex: ["info", "applyTime"] },
{ title: "作业人", dataIndex: ["info", "workUserName"] },
{ title: "作业单位", dataIndex: ["info", "workDepartmentName"] },
{
title: "作业时间",
dataIndex: ["info", "workStartTime"],
render: (_, record) => `${record.info.workStartTime || ""}-${record.info.workEndTime || ""}`,
},
// {
// title: "作业时间",
// dataIndex: ["info", "workStartTime"],
// render: (_, record) => `${record.info.workStartTime || ""}-${record.info.workEndTime || ""}`,
// },
{ title: "作业内容", dataIndex: ["info", "workContent"] },
{ title: "有限空间名称", dataIndex: ["info", "limitedSpaceNameAndCode"] },
{

View File

@ -216,8 +216,8 @@ function View(props) {
{info?.info?.step_14?.signPath
&& <Image src={getFileUrl() + info?.info?.step_14?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_14?.signTime}</div>
<div className="remarks">{info?.info?.step_14?.remarks}</div>
<div>{ info?.info?.step_14?.status !== 0 && info?.info?.step_14?.signTime}</div>
{/* <div className="remarks">{info?.info?.step_14?.remarks}</div> */}
</td>
<td className="title">管理单位发包部门意见</td>
<td className="right" style={{ width: 200 }}>
@ -225,8 +225,8 @@ function View(props) {
{info?.info?.step_15?.signPath
&& <Image src={getFileUrl() + info?.info?.step_15?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_15?.signTime}</div>
<div className="remarks">{info?.info?.step_15?.remarks}</div>
<div>{info?.info?.step_15?.status !== 0 && info?.info?.step_15?.signTime}</div>
{/* <div className="remarks">{info?.info?.step_15?.remarks}</div> */}
</td>
<td className="title">管理单位安监部门意见</td>
<td className="right" style={{ width: 200 }}>
@ -234,8 +234,8 @@ function View(props) {
{info?.info?.step_16?.signPath
&& <Image src={getFileUrl() + info?.info?.step_16?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_16?.signTime}</div>
<div className="remarks">{info?.info?.step_16?.remarks}</div>
<div>{info?.info?.step_16?.status !== 0 && info?.info?.step_16?.signTime}</div>
{/* <div className="remarks">{info?.info?.step_16?.remarks}</div> */}
</td>
</tr>
</tbody>

View File

@ -21,7 +21,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props, query);
const [eightworkType, setEightworkType] = useState([]);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
@ -78,14 +78,18 @@ function List(props) {
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -94,7 +98,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",

View File

@ -132,45 +132,45 @@ function View(props) {
colSpan={2}
safetyRemarks={info?.info?.step_18?.remarks}
safetySignPath={info?.info?.step_18?.signPath}
safetySignTime={info?.info?.step_18?.signTime}
safetySignTime={info?.info?.step_18?.status !== 0 && info?.info?.step_18?.signTime}
AcceptRemarks={info?.info?.step_19?.remarks}
AcceptSignPath={info?.info?.step_19?.signPath}
AcceptSignTime={info?.info?.step_19?.signTime}
AcceptSignTime={info?.info?.step_19?.status !== 0 && info?.info?.step_19?.signTime}
/>
<OpinionSign
title="作业负责人意见"
colSpan={4}
remarks={info?.info?.step_21?.remarks}
signPath={info?.info?.step_21?.signPath}
signTime={info?.info?.step_21?.signTime}
signTime={info?.info?.step_21?.status !== 0 && info?.info?.step_21?.signTime}
/>
<OpinionSign
title="所在单位意见"
colSpan={4}
remarks={info?.info?.step_22?.remarks}
signPath={info?.info?.step_22?.signPath}
signTime={info?.info?.step_22?.signTime}
signTime={info?.info?.step_22?.status !== 0 && info?.info?.step_22?.signTime}
/>
<OpinionSign
title="消防、安全管理部门意见"
colSpan={4}
remarks={info?.info?.step_27?.remarks}
signPath={info?.info?.step_27?.signPath}
signTime={info?.info?.step_27?.signTime}
signTime={info?.info?.step_27?.status !== 0 && info?.info?.step_27?.signTime}
/>
<OpinionSign
title="审批部门意见"
colSpan={4}
remarks={info?.info?.step_24?.remarks}
signPath={info?.info?.step_24?.signPath}
signTime={info?.info?.step_24?.signTime}
signTime={info?.info?.step_24?.status !== 0 && info?.info?.step_24?.signTime}
/>
<OpinionSign
title="完工验收"
colSpan={4}
remarks={info?.info?.step_25?.remarks}
signPath={info?.info?.step_25?.signPath}
signTime={info?.info?.step_25?.signTime}
signTime={info?.info?.step_24?.status !== 0 && info?.info?.step_25?.signTime}
/>
</tbody>
</table>

View File

@ -21,7 +21,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props, query);
const [eightworkType, setEightworkType] = useState([]);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
@ -78,14 +78,18 @@ function List(props) {
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -94,7 +98,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",

View File

@ -132,45 +132,45 @@ function View(props) {
colSpan={2}
safetyRemarks={info?.info?.step_18?.remarks}
safetySignPath={info?.info?.step_18?.signPath}
safetySignTime={info?.info?.step_18?.signTime}
safetySignTime={info?.info?.step_18?.status !== 0 && info?.info?.step_18?.signTime}
AcceptRemarks={info?.info?.step_19?.remarks}
AcceptSignPath={info?.info?.step_19?.signPath}
AcceptSignTime={info?.info?.step_19?.signTime}
AcceptSignTime={info?.info?.step_19?.status !== 0 && info?.info?.step_19?.signTime}
/>
<OpinionSign
title="作业负责人意见"
colSpan={4}
remarks={info?.info?.step_21?.remarks}
signPath={info?.info?.step_21?.signPath}
signTime={info?.info?.step_21?.signTime}
signTime={info?.info?.step_21?.status !== 0 && info?.info?.step_21?.signTime}
/>
<OpinionSign
title="所在单位意见"
colSpan={4}
remarks={info?.info?.step_22?.remarks}
signPath={info?.info?.step_22?.signPath}
signTime={info?.info?.step_22?.signTime}
signTime={info?.info?.step_22?.status !== 0 && info?.info?.step_22?.signTime}
/>
<OpinionSign
title="有关部门意见"
colSpan={4}
remarks={info?.info?.step_26?.remarks}
signPath={info?.info?.step_26?.signPath}
signTime={info?.info?.step_26?.signTime}
signTime={info?.info?.step_26?.status !== 0 && info?.info?.step_26?.signTime}
/>
<OpinionSign
title="审批部门意见"
colSpan={4}
remarks={info?.info?.step_24?.remarks}
signPath={info?.info?.step_24?.signPath}
signTime={info?.info?.step_24?.signTime}
signTime={info?.info?.step_24?.status !== 0 && info?.info?.step_24?.signTime}
/>
<OpinionSign
title="完工验收"
colSpan={4}
remarks={info?.info?.step_25?.remarks}
signPath={info?.info?.step_25?.signPath}
signTime={info?.info?.step_25?.signTime}
signTime={info?.info?.step_25?.status !== 0 && info?.info?.step_25?.signTime}
/>
</tbody>
</table>

View File

@ -21,7 +21,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props, query);
const [eightworkType, setEightworkType] = useState([]);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
@ -78,14 +78,18 @@ function List(props) {
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -94,7 +98,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",

View File

@ -170,38 +170,38 @@ function View(props) {
colSpan={2}
safetyRemarks={info?.info?.step_18?.remarks}
safetySignPath={info?.info?.step_18?.signPath}
safetySignTime={info?.info?.step_18?.signTime}
safetySignTime={info?.info?.step_18?.status !== 0 && info?.info?.step_18?.signTime}
AcceptRemarks={info?.info?.step_19?.remarks}
AcceptSignPath={info?.info?.step_19?.signPath}
AcceptSignTime={info?.info?.step_19?.signTime}
AcceptSignTime={info?.info?.step_19?.status !== 0 && info?.info?.step_19?.signTime}
/>
<OpinionSign
title="作业负责人意见"
colSpan={4}
remarks={info?.info?.step_21?.remarks}
signPath={info?.info?.step_21?.signPath}
signTime={info?.info?.step_21?.signTime}
signTime={info?.info?.step_21?.status !== 0 && info?.info?.step_21?.signTime}
/>
<OpinionSign
title="用电单位意见"
colSpan={4}
remarks={info?.info?.step_28?.remarks}
signPath={info?.info?.step_28?.signPath}
signTime={info?.info?.step_28?.signTime}
signTime={info?.info?.step_28?.status !== 0 && info?.info?.step_28?.signTime}
/>
<OpinionSign
title="配送电单位意见"
colSpan={4}
remarks={info?.info?.step_29?.remarks}
signPath={info?.info?.step_29?.signPath}
signTime={info?.info?.step_29?.signTime}
signTime={info?.info?.step_29?.status !== 0 && info?.info?.step_29?.signTime}
/>
<OpinionSign
title="完工验收"
colSpan={4}
remarks={info?.info?.step_25?.remarks}
signPath={info?.info?.step_25?.signPath}
signTime={info?.info?.step_25?.signTime}
signTime={info?.info?.step_25?.status !== 0 && info?.info?.step_25?.signTime}
/>
</tbody>
</table>

View File

@ -4,8 +4,6 @@ import dayjs from "dayjs";
import { useEffect, useState } from "react";
import Page from "zy-react-library/components/Page";
import Search from "zy-react-library/components/Search";
import BasicSelectTree from "zy-react-library/components/SelectTree/Basic";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
@ -21,7 +19,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props, query);
const [eightworkType, setEightworkType] = useState([]);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
@ -78,14 +76,18 @@ function List(props) {
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -94,7 +96,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",

View File

@ -129,45 +129,45 @@ function View(props) {
colSpan={2}
safetyRemarks={info?.info?.step_18?.remarks}
safetySignPath={info?.info?.step_18?.signPath}
safetySignTime={info?.info?.step_18?.signTime}
safetySignTime={info?.info?.step_18?.status !== 0 && info?.info?.step_18?.signTime}
AcceptRemarks={info?.info?.step_19?.remarks}
AcceptSignPath={info?.info?.step_19?.signPath}
AcceptSignTime={info?.info?.step_19?.signTime}
AcceptSignTime={info?.info?.step_19?.status !== 0 && info?.info?.step_19?.signTime}
/>
<OpinionSign
title="作业负责人意见"
colSpan={4}
remarks={info?.info?.step_21?.remarks}
signPath={info?.info?.step_21?.signPath}
signTime={info?.info?.step_21?.signTime}
signTime={info?.info?.step_21?.status !== 0 && info?.info?.step_21?.signTime}
/>
<OpinionSign
title="所在单位意见"
colSpan={4}
remarks={info?.info?.step_22?.remarks}
signPath={info?.info?.step_22?.signPath}
signTime={info?.info?.step_22?.signTime}
signTime={info?.info?.step_22?.status !== 0 && info?.info?.step_22?.signTime}
/>
<OpinionSign
title="审核部门意见"
colSpan={4}
remarks={info?.info?.step_23?.remarks}
signPath={info?.info?.step_23?.signPath}
signTime={info?.info?.step_23?.signTime}
signTime={info?.info?.step_23?.status !== 0 && info?.info?.step_23?.signTime}
/>
<OpinionSign
title="审批部门意见"
colSpan={4}
remarks={info?.info?.step_24?.remarks}
signPath={info?.info?.step_24?.signPath}
signTime={info?.info?.step_24?.signTime}
signTime={info?.info?.step_24?.status !== 0 && info?.info?.step_24?.signTime}
/>
<OpinionSign
title="完工验收"
colSpan={4}
remarks={info?.info?.step_25?.remarks}
signPath={info?.info?.step_25?.signPath}
signTime={info?.info?.step_25?.signTime}
signTime={info?.info?.step_25?.status !== 0 && info?.info?.step_25?.signTime}
/>
</tbody>
</table>

View File

@ -3,8 +3,6 @@ import { Button, Space } from "antd";
import { useEffect, useState } from "react";
import Page from "zy-react-library/components/Page";
import Search from "zy-react-library/components/Search";
import BasicSelectTree from "zy-react-library/components/SelectTree/Basic";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
@ -20,7 +18,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props);
const [eightworkType, setEightworkType] = useState([]);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
@ -32,11 +30,12 @@ function List(props) {
const { tableProps, getData } = useTable(props["eightworkList"], {
form,
params: { eqWorkType: "hot_work", corpinfoId: query.corpinfoId },
params: { eqWorkType: "hot_work" },
transform: formData => ({
geCreateTime: formData.createTime?.[0],
leCreateTime: formData.createTime?.[1],
eqStatus: props.status || formData.eqStatus,
corpinfoId: formData.corpinfoId ? formData.corpinfoId : query.corpinfoId,
}),
});
@ -77,14 +76,18 @@ function List(props) {
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -93,7 +96,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",

View File

@ -145,7 +145,7 @@ function View(props) {
{info?.info?.step_4?.signPath
&& <Image src={getFileUrl() + info?.info?.step_4?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_4?.signTime}</div>
<div>{info?.info?.step_4?.status !== 0 && info?.info?.step_4?.signTime}</div>
<div className="remarks">{info?.info?.step_4?.remarks}</div>
</td>
<td className="title">项目发包单位(部门)人员意见</td>
@ -154,7 +154,7 @@ function View(props) {
{info?.info?.step_5?.signPath
&& <Image src={getFileUrl() + info?.info?.step_5?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_5?.signTime}</div>
<div>{info?.info?.step_5?.status !== 0 && info?.info?.step_5?.signTime}</div>
<div className="remarks">{info?.info?.step_5?.remarks}</div>
</td>
</tr>
@ -165,7 +165,7 @@ function View(props) {
{info?.info?.step_6?.signPath
&& <Image src={getFileUrl() + info?.info?.step_6?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_6?.signTime}</div>
<div>{info?.info?.step_6?.status !== 0 && info?.info?.step_6?.signTime}</div>
<div className="remarks">{info?.info?.step_6?.remarks}</div>
</td>
<td className="title">动火许可证签发单位意见</td>
@ -174,7 +174,7 @@ function View(props) {
{info?.info?.step_7?.signPath
&& <Image src={getFileUrl() + info?.info?.step_7?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_7?.signTime}</div>
<div>{info?.info?.step_7?.status !== 0 && info?.info?.step_7?.signTime}</div>
<div className="remarks">{info?.info?.step_7?.remarks}</div>
</td>
</tr>
@ -185,7 +185,7 @@ function View(props) {
{info?.info?.step_9?.signPath
&& <Image src={getFileUrl() + info?.info?.step_9?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_9?.signTime}</div>
<div>{info?.info?.step_9?.status !== 0 && info?.info?.step_9?.signTime}</div>
<div className="remarks">{info?.info?.step_9?.remarks}</div>
</td>
<td className="title">动火后管辖单位现场人员验收</td>
@ -194,7 +194,7 @@ function View(props) {
{info?.info?.step_11?.signPath
&& <Image src={getFileUrl() + info?.info?.step_11?.signPath} width={50} height={50} />}
</div>
<div>{info?.info?.step_11?.signTime}</div>
<div>{info?.info?.step_11?.status !== 0 && info?.info?.step_11?.signTime}</div>
<div className="remarks">{info?.info?.step_11?.remarks}</div>
</td>
</tr>

View File

@ -21,7 +21,7 @@ import useApplyDepartment from "~/utils/useApplyDepartment";
function List(props) {
const [form] = Search.useForm();
const query = useGetUrlQuery();
const { departmentTree } = useApplyDepartment(props, query);
const { departmentTree, serviceDepartmentData } = useApplyDepartment(props, query);
const [eightworkType, setEightworkType] = useState([]);
const [forceTerminationModalOpen, setForceTerminationModalOpen] = useState(false);
@ -78,14 +78,18 @@ function List(props) {
},
{ name: "eqXgfFlag", label: "作业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: WORK_TYPE_ENUM },
{
name: "inDepartmentId",
name: "eqTenantId",
label: "申请单位",
render: <BasicSelectTree treeData={departmentTree} multiple />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: departmentTree,
itemsField: { labelKey: "corpName", valueKey: "id" },
},
{
name: "todo",
name: "corpinfoId",
label: "服务单位",
render: <DepartmentSelectTree searchType="inType" params={{ enterpriseType: [1, 2] }} />,
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: serviceDepartmentData,
itemsField: { labelKey: "corpName", valueKey: "id" },
hidden: !(props.entrance === "stakeholder"),
},
]}
@ -94,7 +98,7 @@ function List(props) {
/>
<Table
columns={[
{ title: "服务单位", dataIndex: "todo", hidden: !(props.entrance === "stakeholder") },
{ title: "服务单位", dataIndex: "corpinfoName", hidden: !(props.entrance === "stakeholder") },
{ title: "编号", dataIndex: "checkNo" },
{
title: "作业类型",

View File

@ -141,45 +141,45 @@ function View(props) {
colSpan={2}
safetyRemarks={info?.info?.step_18?.remarks}
safetySignPath={info?.info?.step_18?.signPath}
safetySignTime={info?.info?.step_18?.signTime}
safetySignTime={info?.info?.step_18?.status !== 0 && info?.info?.step_18?.signTime}
AcceptRemarks={info?.info?.step_19?.remarks}
AcceptSignPath={info?.info?.step_19?.signPath}
AcceptSignTime={info?.info?.step_19?.signTime}
AcceptSignTime={info?.info?.step_19?.status !== 0 && info?.info?.step_19?.signTime}
/>
<OpinionSign
title="作业指挥负责人意见"
colSpan={4}
remarks={info?.info?.step_21?.remarks}
signPath={info?.info?.step_21?.signPath}
signTime={info?.info?.step_21?.signTime}
signTime={info?.info?.step_21?.status !== 0 && info?.info?.step_21?.signTime}
/>
<OpinionSign
title="所在单位意见"
colSpan={4}
remarks={info?.info?.step_22?.remarks}
signPath={info?.info?.step_22?.signPath}
signTime={info?.info?.step_22?.signTime}
signTime={info?.info?.step_22?.status !== 0 && info?.info?.step_22?.signTime}
/>
<OpinionSign
title="审核部门意见"
colSpan={4}
remarks={info?.info?.step_23?.remarks}
signPath={info?.info?.step_23?.signPath}
signTime={info?.info?.step_23?.signTime}
signTime={info?.info?.step_23?.status !== 0 && info?.info?.step_23?.signTime}
/>
<OpinionSign
title="审批部门意见"
colSpan={4}
remarks={info?.info?.step_24?.remarks}
signPath={info?.info?.step_24?.signPath}
signTime={info?.info?.step_24?.signTime}
signTime={info?.info?.step_24?.status !== 0 && info?.info?.step_24?.signTime}
/>
<OpinionSign
title="完工验收"
colSpan={4}
remarks={info?.info?.step_25?.remarks}
signPath={info?.info?.step_25?.signPath}
signTime={info?.info?.step_25?.signTime}
signTime={info?.info?.step_25?.status !== 0 && info?.info?.step_25?.signTime}
/>
</tbody>
</table>

View File

@ -54,7 +54,7 @@ function List(props) {
<Button
type="link"
onClick={() => {
props.history.push(`./recordsList?corpinfoId=${record.id}&headerTitle=申请总数`);
props.history.push(`./recordsList?corpinfoId=${record.id}&headerTitle=申请总数&corpName=${record.corpName}`);
}}
>
{(record.doneCount + record.rejectedCount + record.doingCount + record.forceTerminateCount) || 0}
@ -68,7 +68,7 @@ function List(props) {
<Button
type="link"
onClick={() => {
props.history.push(`./recordsList?corpinfoId=${record.id}&status=999&headerTitle=完成数`);
props.history.push(`./recordsList?corpinfoId=${record.id}&status=999&headerTitle=完成数&corpName=${record.corpName}`);
}}
>
{record.doneCount || 0}
@ -82,7 +82,7 @@ function List(props) {
<Button
type="link"
onClick={() => {
props.history.push(`./recordsList?corpinfoId=${record.id}&status=1&headerTitle=进行数`);
props.history.push(`./recordsList?corpinfoId=${record.id}&status=1&headerTitle=进行数&corpName=${record.corpName}`);
}}
>
{(record.doingCount) || 0}
@ -96,7 +96,7 @@ function List(props) {
<Button
type="link"
onClick={() => {
props.history.push(`./recordsList?corpinfoId=${record.id}&status=2&headerTitle=打回数`);
props.history.push(`./recordsList?corpinfoId=${record.id}&status=2&headerTitle=打回数&corpName=${record.corpName}`);
}}
>
{(record.rejectedCount) || 0}
@ -110,7 +110,7 @@ function List(props) {
<Button
type="link"
onClick={() => {
props.history.push(`./recordsList?corpinfoId=${record.id}&status=998&headerTitle=废除数`);
props.history.push(`./recordsList?corpinfoId=${record.id}&status=998&headerTitle=废除数&corpName=${record.corpName}`);
}}
>
{record.forceTerminateCount || 0}

View File

@ -150,10 +150,10 @@ export const getFlowData = (list) => {
target: branchNodeId,
type: "smoothstep",
animated: true,
style: { stroke: "#c41a1a", strokeWidth: 3 },
style: { stroke: "#1890ff", strokeWidth: 3 },
markerEnd: {
type: "arrowclosed",
color: "#c41a1a",
color: "#1890ff",
},
});
}
@ -167,10 +167,10 @@ export const getFlowData = (list) => {
target: branchNodeId,
type: "straight",
animated: true,
style: { stroke: "#c41a1a", strokeWidth: 3 },
style: { stroke: "#1890ff", strokeWidth: 3 },
markerEnd: {
type: "arrowclosed",
color: "#c41a1a",
color: "#1890ff",
},
});
}
@ -183,10 +183,10 @@ export const getFlowData = (list) => {
target: `node-${mergeIndex}`,
type: "straight",
animated: true,
style: { stroke: "#c41a1a", strokeWidth: 3 },
style: { stroke: "#1890ff", strokeWidth: 3 },
markerEnd: {
type: "arrowclosed",
color: "#c41a1a",
color: "#1890ff",
},
});
}

View File

@ -1,27 +1,51 @@
import { useEffect, useState } from "react";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo";
export default function useApplyDepartment(props, query) {
export default function useApplyDepartment(props) {
const [departmentTree, setDepartmentTree] = useState([]);
const [serviceDepartmentData, setServiceDepartmentData] = useState([]);
const { entrance } = props;
const getDepartmentTree = async () => {
if (!props.entrance) {
const { data: currentDepartmentTree } = await props["departmentListTree"]();
const { data: stakeholderDepartmentTree } = await props["departmentListAllTreeByCorpType"]({ enterpriseType: [3] });
setDepartmentTree([...currentDepartmentTree, ...stakeholderDepartmentTree]);
const corpInfoListAll = props["corpInfoListAll"];
const query = useGetUrlQuery();
const { getUserInfo } = useGetUserInfo();
useEffect(() => {
const getInfoData = async () => {
const corpData = await getUserInfo();
const currentDepartment = { corpName: corpData.corpinfoName, id: corpData.corpinfoId };
if (entrance === "stakeholder") {
const { data = [] } = await corpInfoListAll({ inType: [0, 1] });
setServiceDepartmentData(data);
setDepartmentTree([currentDepartment, ...data]);
}
else if (props.entrance === "stakeholder") {
const { data: currentDepartmentTree } = await props["departmentListTree"]();
setDepartmentTree(currentDepartmentTree);
else if (
!entrance
) {
const [{ data: departmentTreeData = [] }, { data: departmentData = [] }] = await Promise.all([
corpInfoListAll({ inType: [3, 4, 5] }),
corpInfoListAll({ inType: [0, 1] }),
]);
setServiceDepartmentData(departmentData);
setDepartmentTree([currentDepartment, ...departmentTreeData]);
}
else if (props.entrance === "supervision") {
const { data: currentDepartmentTree } = await props["departmentListTree"]({ eqCorpinfoId: query.corpinfoId });
setDepartmentTree(currentDepartmentTree);
else if (entrance === "supervision") {
const [{ data: departmentTreeData = [] }, { data: departmentData = [] }] = await Promise.all([
corpInfoListAll({ inType: [3, 4, 5] }),
corpInfoListAll({ inType: [0, 1] }),
]);
setServiceDepartmentData(departmentData);
setDepartmentTree([{ corpName: query.corpName, id: query.corpinfoId }, ...departmentTreeData]);
}
};
useEffect(() => {
getDepartmentTree();
getInfoData();
}, []);
return { departmentTree };
return { departmentTree, serviceDepartmentData };
}