Compare commits
2 Commits
6896708fb6
...
a7425c8913
| Author | SHA1 | Date |
|---|---|---|
|
|
a7425c8913 | |
|
|
14c454d416 |
|
|
@ -6,7 +6,7 @@
|
|||
# production
|
||||
/dist
|
||||
/demo
|
||||
|
||||
/.trae/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ module.exports = {
|
|||
javaGitBranch: "<branch-name>",
|
||||
// 本地联调 safety-eval-service(context-path: /safety-eval,默认端口 8095)
|
||||
// 可通过环境变量覆盖: SAFETY_EVAL_API_HOST=http://192.168.x.x:8095
|
||||
API_HOST: process.env.SAFETY_EVAL_API_HOST || "http://192.168.0.124:8095",
|
||||
API_HOST: "http://192.168.0.124:8095",
|
||||
},
|
||||
production: {
|
||||
// 应用后端分支名称,部署上线需要
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
"@rc-component/motion": "^1.0.0",
|
||||
"@rc-component/util": "^1.11.1",
|
||||
"ahooks": "^3.9.5",
|
||||
"antd": "^5.11.2",
|
||||
"antd": "^5.29.2",
|
||||
"dayjs": "^1.11.7",
|
||||
"lodash-es": "^4.17.21",
|
||||
"qrcode.react": "^4.2.0",
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ importers:
|
|||
specifier: ^3.9.5
|
||||
version: 3.9.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
antd:
|
||||
specifier: ^5.11.2
|
||||
specifier: ^5.29.2
|
||||
version: 5.29.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
dayjs:
|
||||
specifier: ^1.11.7
|
||||
|
|
@ -1322,30 +1322,35 @@ packages:
|
|||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@napi-rs/canvas-linux-arm64-musl@0.1.100':
|
||||
resolution: {integrity: sha512-K3mDW66N+xT2/V439u1alFANiBUjdEx2gLiNYnCmUsva5jZMxWTjafBYwTzYK+EMFMHrUoabuU+T1BIP5CgbYQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@napi-rs/canvas-linux-riscv64-gnu@0.1.100':
|
||||
resolution: {integrity: sha512-mooqUBTIsccZpnoQC4NgrC1v6C1vof39etLNMnBwCY+p0gajWJvAHLGQ6g/gGyS5YrpDW+GefSN4+Cvcr08UWw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@napi-rs/canvas-linux-x64-gnu@0.1.100':
|
||||
resolution: {integrity: sha512-1eCvkDCazm7FFhsT7DfGOdSaHgZVK3bt/dSBl5EWHOWmnz+I7j8tPseJqqD81NF+MH21jKUK4wQSDjN0mdhnTg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@napi-rs/canvas-linux-x64-musl@0.1.100':
|
||||
resolution: {integrity: sha512-20arT6lnI19S68qNlii73TSEDbECNgzMz2EpldC1V3mZFuRkeujXkcebRk0LRJe9SEUAooYiLokfMViY8IX7yA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@napi-rs/canvas-win32-arm64-msvc@0.1.100':
|
||||
resolution: {integrity: sha512-DZFFT1wIAg37LJw37yhMRFfjATd3vTQzjZ1Yki8u2vhO6Hi5VE6BVaGQ1aaDu7xb4iMErz+9EOwjpS7xcxFeBw==}
|
||||
|
|
@ -1413,48 +1418,56 @@ packages:
|
|||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxfmt/binding-linux-arm64-musl@0.35.0':
|
||||
resolution: {integrity: sha512-5Okqi+uhYFxwKz8hcnUftNNwdm8BCkf6GSCbcz9xJxYMm87k1E4p7PEmAAbhLTk7cjSdDre6TDL0pDzNX+Y22Q==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@oxfmt/binding-linux-ppc64-gnu@0.35.0':
|
||||
resolution: {integrity: sha512-9k66pbZQXM/lBJWys3Xbc5yhl4JexyfqkEf/tvtq8976VIJnLAAL3M127xHA3ifYSqxdVHfVGTg84eiBHCGcNw==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxfmt/binding-linux-riscv64-gnu@0.35.0':
|
||||
resolution: {integrity: sha512-aUcY9ofKPtjO52idT6t0SAQvEF6ctjzUQa1lLp7GDsRpSBvuTrBQGeq0rYKz3gN8dMIQ7mtMdGD9tT4LhR8jAQ==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxfmt/binding-linux-riscv64-musl@0.35.0':
|
||||
resolution: {integrity: sha512-C6yhY5Hvc2sGM+mCPek9ZLe5xRUOC/BvhAt2qIWFAeXMn4il04EYIjl3DsWiJr0xDMTJhvMOmD55xTRPlNp39w==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@oxfmt/binding-linux-s390x-gnu@0.35.0':
|
||||
resolution: {integrity: sha512-RG2hlvOMK4OMZpO3mt8MpxLQ0AAezlFqhn5mI/g5YrVbPFyoCv9a34AAvbSJS501ocOxlFIRcKEuw5hFvddf9g==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxfmt/binding-linux-x64-gnu@0.35.0':
|
||||
resolution: {integrity: sha512-wzmh90Pwvqj9xOKHJjkQYBpydRkaXG77ZvDz+iFDRRQpnqIEqGm5gmim2s6vnZIkDGsvKCuTdtxm0GFmBjM1+w==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxfmt/binding-linux-x64-musl@0.35.0':
|
||||
resolution: {integrity: sha512-+HCqYCJPCUy5I+b2cf+gUVaApfgtoQT3HdnSg/l7NIcLHOhKstlYaGyrFZLmUpQt4WkFbpGKZZayG6zjRU0KFA==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@oxfmt/binding-openharmony-arm64@0.35.0':
|
||||
resolution: {integrity: sha512-kFYmWfR9YL78XyO5ws+1dsxNvZoD973qfVMNFOS4e9bcHXGF7DvGC2tY5UDFwyMCeB33t3sDIuGONKggnVNSJA==}
|
||||
|
|
@ -1568,21 +1581,25 @@ packages:
|
|||
resolution: {integrity: sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rspack/binding-linux-arm64-musl@1.7.12':
|
||||
resolution: {integrity: sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rspack/binding-linux-x64-gnu@1.7.12':
|
||||
resolution: {integrity: sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rspack/binding-linux-x64-musl@1.7.12':
|
||||
resolution: {integrity: sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rspack/binding-wasm32-wasi@1.7.12':
|
||||
resolution: {integrity: sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg==}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Descriptions, Divider } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PreviewImg from "zy-react-library/components/PreviewImg";
|
||||
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||
import useGetFile from "zy-react-library/hooks/useGetFile";
|
||||
|
|
@ -49,7 +49,7 @@ function PersonInChargeInfo({ props, certificatePhotoType }) {
|
|||
return (
|
||||
<div>
|
||||
|
||||
<Page headerTitle="证书信息查看">
|
||||
<PageLayout title="证书信息查看">
|
||||
<div>
|
||||
<Divider orientation="left">人员信息</Divider>
|
||||
<Descriptions
|
||||
|
|
@ -133,7 +133,7 @@ function PersonInChargeInfo({ props, certificatePhotoType }) {
|
|||
/>
|
||||
|
||||
</div>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { Button, Form, message, Modal, Space } from "antd";
|
|||
import { useEffect, useRef, useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
||||
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
|
||||
|
|
@ -227,7 +227,7 @@ function List({ props, certificatePhotoType, displayType, personnelType, permiss
|
|||
}, [tableProps.dataSource]);
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageLayout>
|
||||
|
||||
<Search
|
||||
form={form}
|
||||
|
|
@ -388,7 +388,7 @@ function List({ props, certificatePhotoType, displayType, personnelType, permiss
|
|||
/>
|
||||
)}
|
||||
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
function AddModalComponent(props) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
|||
|
||||
import { Descriptions, Divider } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PreviewImg from "zy-react-library/components/PreviewImg";
|
||||
import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj";
|
||||
import useGetFile from "zy-react-library/hooks/useGetFile";
|
||||
|
|
@ -47,7 +47,7 @@ function SpecialCertificateInfo({ props, certificatePhotoType }) {
|
|||
return (
|
||||
<div>
|
||||
|
||||
<Page headerTitle="证书信息查看">
|
||||
<PageLayout title="证书信息查看">
|
||||
<div>
|
||||
<Divider orientation="left">人员信息</Divider>
|
||||
<Descriptions
|
||||
|
|
@ -142,7 +142,7 @@ function SpecialCertificateInfo({ props, certificatePhotoType }) {
|
|||
/>
|
||||
|
||||
</div>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { useEffect, useRef, useState } from "react";
|
|||
import { useLocation } from "react-router-dom";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
|
|
@ -256,7 +256,7 @@ function SpecialCertificateList({ props, certificatePhotoType, displayType, pers
|
|||
}
|
||||
};
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageLayout>
|
||||
|
||||
<Search
|
||||
onValuesChange={onValuesChange}
|
||||
|
|
@ -439,7 +439,7 @@ function SpecialCertificateList({ props, certificatePhotoType, displayType, pers
|
|||
/>
|
||||
)}
|
||||
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
function AddModalComponent(props) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ if (!window.__POWERED_BY_QIANKUN__) {
|
|||
// 本地开发时注入 Token,使 API 请求可携带认证信息
|
||||
sessionStorage.setItem(
|
||||
"token",
|
||||
"jjb-saas-auth:oauth:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJjbGllbnRJZFwiOlwiWlFBUVBKXCIsXCJhY2NvdW50SWRcIjoyMDY5Njc0MjM3ODc0MDEyMTYwLFwidXNlclR5cGVFbnVtXCI6XCJQTEFURk9STVwiLFwidXNlcklkXCI6MjA2OTY3NDIzNzE3MzQzNjQxNixcInRlbmFudElkXCI6MjA2OTU5NjM5NzkyMDg0OTkyMCxcInRlbmFudE5hbWVcIjpcIumHjeW6huWuieWFqOivhOS7t1wiLFwidGVuYW50UGFyZW50SWRzXCI6XCIwLDIwNjk1OTYzOTc5MjA4NDk5MjBcIixcIm5hbWVcIjpcInRlc3QwMVwiLFwiYWNjZXNzVGlja2V0XCI6XCJ0eGd0MjA3dktBd21OeTUwY3ppdmhUZlNaSm9ZbmxZV003ZHJQbUlsS0wxV2ZYTnNFckp2OUxCMzNBSXRcIixcInJlZnJlc2hUaWNrZXRcIjpcIkl3cHdlMWpCeXZnQTRvTlNtZXNzdHl4cXQ3WWdmb3NuMlZyd01RVUtkanNyWjFpSFBHMXZQQVRRT1A3c1wiLFwiZXhwaXJlSW5cIjo2MDQ4MDAsXCJyZWZyZXNoRXhwaXJlc0luXCI6NjA0ODAwLFwib3JnSWRcIjoyMDY5NTk2Mzk3OTIwODQ5OTIwLFwib3JnTmFtZVwiOlwi6YeN5bqG5a6J5YWo6K-E5Lu3XCIsXCJvcmdJZHNcIjpbMjA2OTU5NjM5NzkyMDg0OTkyMF0sXCJyb2xlc1R5cGVzXCI6W1wiR0xZSlNcIl0sXCJyb2xlSWRzXCI6WzIwNjk2NzEzMDc1OTg4OTMwNThdLFwic2NvcGVzXCI6W10sXCJycGNUeXBlRW51bVwiOlwiSFRUUFwiLFwiYmluZE1vYmlsZVNpZ25cIjpcIkZBTFNFXCJ9IiwiaXNzIjoicHJvLXNlcnZlciIsImV4cCI6MTc4MzMwNDY3OX0.HSQlvOrqikDKAOPfTuXGQbm5W8YrUQkYmkhKg03OjuM"
|
||||
"jjb-saas-auth:oauth:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJjbGllbnRJZFwiOlwiWlFBUVBKXCIsXCJhY2NvdW50SWRcIjoyMDY5Njc0MjM3ODc0MDEyMTYwLFwidXNlclR5cGVFbnVtXCI6XCJQTEFURk9STVwiLFwidXNlcklkXCI6MjA2OTY3NDIzNzE3MzQzNjQxNixcInRlbmFudElkXCI6MjA2OTU5NjM5NzkyMDg0OTkyMCxcInRlbmFudE5hbWVcIjpcIumHjeW6huWuieWFqOivhOS7t1wiLFwidGVuYW50UGFyZW50SWRzXCI6XCIwLDIwNjk1OTYzOTc5MjA4NDk5MjBcIixcIm5hbWVcIjpcInRlc3QwMVwiLFwiYWNjZXNzVGlja2V0XCI6XCJFS0FJVThJT2g4WlE3cjg4UXE5YlkxbENhd2lLOTNBWGhSMGVTN2Z4aFo2SU43QjVOclBncDlnb1pnS0JcIixcInJlZnJlc2hUaWNrZXRcIjpcInJQc2V0ZXR6SjB3aHBSSk8ycDlRb3RPaHJTcFdFY0xkblBkdURxb0JwU0F0VmdENU56QW1XTkVCc09jMFwiLFwiZXhwaXJlSW5cIjo2MDQ4MDAsXCJyZWZyZXNoRXhwaXJlc0luXCI6NjA0ODAwLFwib3JnSWRcIjoyMDY5NTk2Mzk3OTIwODQ5OTIwLFwib3JnTmFtZVwiOlwi6YeN5bqG5a6J5YWo6K-E5Lu3XCIsXCJvcmdJZHNcIjpbMjA2OTU5NjM5NzkyMDg0OTkyMF0sXCJyb2xlc1R5cGVzXCI6W1wiR0xZSlNcIl0sXCJyb2xlSWRzXCI6WzIwNjk2NzEzMDc1OTg4OTMwNThdLFwic2NvcGVzXCI6W10sXCJycGNUeXBlRW51bVwiOlwiSFRUUFwiLFwiYmluZE1vYmlsZVNpZ25cIjpcIkZBTFNFXCJ9IiwiaXNzIjoicHJvLXNlcnZlciIsImV4cCI6MTc4MzMxOTc4OX0.rt-lrdDQlyhDu9S7xUtJ3L3F9k_C8710Ah1dJ-0-A1c"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,14 +2,13 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
|||
import { Button, Empty, Form, Input, message, Modal, Row, Col, Select, Space, Tree } from "antd";
|
||||
import { useEffect, useMemo, useRef, useState } from "react";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import useTable from "zy-react-library/hooks/useTable";
|
||||
import { NS_ORG_DEPARTMENT, NS_ORG_POSITION, NS_STAFF_INFO } from "~/enumerate/namespace";
|
||||
import { asId, sameId } from "~/api/enterpriseInfo/idUtil";
|
||||
import { safeListRequest, safeRequest } from "~/utils";
|
||||
import PageHeader from "../components/PageHeader";
|
||||
|
||||
function findDeptNode(nodes = [], id) {
|
||||
for (const node of nodes) {
|
||||
|
|
@ -218,8 +217,7 @@ function DepartmentPositionPage(props) {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader title="部门岗位管理" />
|
||||
<PageLayout title="部门岗位管理">
|
||||
<div style={{ display: "flex", gap: 16, minHeight: 480 }}>
|
||||
<div style={{ width: 260, borderRight: "1px solid #f0f0f0", paddingRight: 16, flexShrink: 0 }}>
|
||||
<Space direction="vertical" style={{ width: "100%", marginBottom: 12 }}>
|
||||
|
|
@ -339,7 +337,7 @@ function DepartmentPositionPage(props) {
|
|||
</Form>
|
||||
</Modal>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
|||
import { Button, Descriptions, Form, Input, InputNumber, message, Modal, Row, Col, Select, Space } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||
|
|
@ -11,7 +11,6 @@ import { NS_EQUIP_INFO } from "~/enumerate/namespace";
|
|||
import { isEquipEnabled } from "~/api/enterpriseInfo/adapter";
|
||||
import { safeListRequest, safeRequest } from "~/utils";
|
||||
import { positiveNumberRule } from "~/utils/validators";
|
||||
import PageHeader from "../components/PageHeader";
|
||||
|
||||
const DUAL_CHANNEL = { 1: "是", 0: "否" };
|
||||
|
||||
|
|
@ -64,11 +63,10 @@ function EquipInfoPage(props) {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="装备信息管理"
|
||||
subTitle="实现对评价机构内装备信息的维护管理。"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
实现对评价机构内装备信息的维护管理。
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
options={[
|
||||
|
|
@ -157,7 +155,7 @@ function EquipInfoPage(props) {
|
|||
}}
|
||||
/>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,34 +1,69 @@
|
|||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Form, message, Space } from "antd";
|
||||
import {
|
||||
Button,
|
||||
Col,
|
||||
DatePicker,
|
||||
Form,
|
||||
Input,
|
||||
InputNumber,
|
||||
message,
|
||||
Row,
|
||||
Select,
|
||||
Space,
|
||||
Upload,
|
||||
} from "antd";
|
||||
import dayjs from "dayjs";
|
||||
import { useEffect, useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import { getOrgInfoDetail } from "~/api/enterpriseInfo/orgBootstrap";
|
||||
import PageHeader from "../components/PageHeader";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
|
||||
import {
|
||||
CHONGQING_DISTRICTS,
|
||||
ENTERPRISE_SCALE_OPTIONS,
|
||||
ENTERPRISE_STATUS_OPTIONS,
|
||||
FILING_RECORD_STATUS_OPTIONS,
|
||||
FILING_TYPE_OPTIONS,
|
||||
} from "~/enumerate/enterpriseOptions";
|
||||
import { NS_ORG_INFO } from "~/enumerate/namespace";
|
||||
import { mockUploadFileList } from "~/utils/mockUpload";
|
||||
import { buildOrgInfoFormOptions } from "./formOptions";
|
||||
import {
|
||||
creditCodeRule,
|
||||
latitudeRule,
|
||||
longitudeRule,
|
||||
nonNegativeIntegerRule,
|
||||
phoneRule,
|
||||
positiveNumberRule,
|
||||
urlRule,
|
||||
} from "~/utils/validators";
|
||||
|
||||
function OrgInfoPage(props) {
|
||||
const [form] = Form.useForm();
|
||||
const { orgInfoLoading } = props.orgInfo;
|
||||
const [editing, setEditing] = useState(true);
|
||||
const [submitting, setSubmitting] = useState(false);
|
||||
const [detail, setDetail] = useState({});
|
||||
/** 是否已存在机构数据(有 id 视为已入库,只能修改) */
|
||||
const [hasExistingData, setHasExistingData] = useState(false);
|
||||
|
||||
const formOptions = buildOrgInfoFormOptions();
|
||||
const selectDistrictOptions = CHONGQING_DISTRICTS.map((v) => ({
|
||||
label: v,
|
||||
value: v,
|
||||
}));
|
||||
|
||||
const loadDetail = async () => {
|
||||
try {
|
||||
const res = getOrgInfoDetail();
|
||||
const res = await props.orgInfoGet();
|
||||
if (res?.data?.id) {
|
||||
setDetail(res.data);
|
||||
form.setFieldsValue(res.data);
|
||||
form.setFieldsValue({
|
||||
...res.data,
|
||||
productionDate: res.data.productionDate
|
||||
? dayjs(res.data.productionDate)
|
||||
: undefined,
|
||||
|
||||
});
|
||||
setHasExistingData(true);
|
||||
setEditing(false);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
setDetail({});
|
||||
setHasExistingData(false);
|
||||
setEditing(true);
|
||||
|
|
@ -38,8 +73,7 @@ function OrgInfoPage(props) {
|
|||
attachments: mockUploadFileList("资质申请书.pdf"),
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
} catch (err) {
|
||||
console.warn("[OrgInfo] loadDetail failed:", err);
|
||||
setDetail({});
|
||||
setHasExistingData(false);
|
||||
|
|
@ -53,17 +87,27 @@ function OrgInfoPage(props) {
|
|||
|
||||
const handleCancelEdit = () => {
|
||||
if (hasExistingData) {
|
||||
form.setFieldsValue(detail);
|
||||
form.setFieldsValue({
|
||||
...detail,
|
||||
productionDate: detail.productionDate
|
||||
? dayjs(detail.productionDate)
|
||||
: undefined,
|
||||
});
|
||||
setEditing(false);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
form.resetFields();
|
||||
}
|
||||
};
|
||||
|
||||
const handleSave = async (submitType) => {
|
||||
try {
|
||||
const values = await form.validateFields();
|
||||
const formValues = await form.validateFields();
|
||||
const values = {
|
||||
...formValues,
|
||||
productionDate: formValues.productionDate
|
||||
? dayjs(formValues.productionDate).format("YYYY-MM-DD")
|
||||
: undefined,
|
||||
};
|
||||
setSubmitting(true);
|
||||
|
||||
let request;
|
||||
|
|
@ -71,10 +115,10 @@ function OrgInfoPage(props) {
|
|||
// 已有数据:仅走修改接口
|
||||
request = props.orgInfoSave;
|
||||
values.id = detail.id;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// 无数据:暂存、提交均走保存接口(草稿/已提交由 authStatusCode 区分)
|
||||
request = submitType === "draft" ? props.orgInfoDraft : props.orgInfoSave;
|
||||
request =
|
||||
submitType === "draft" ? props.orgInfoDraft : props.orgInfoSave;
|
||||
}
|
||||
|
||||
const res = await request(values);
|
||||
|
|
@ -82,61 +126,330 @@ function OrgInfoPage(props) {
|
|||
message.success(
|
||||
hasExistingData
|
||||
? "修改成功"
|
||||
: (submitType === "draft" ? "暂存成功" : "提交成功"),
|
||||
: submitType === "draft"
|
||||
? "暂存成功"
|
||||
: "提交成功",
|
||||
);
|
||||
setEditing(false);
|
||||
loadDetail();
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
} catch (err) {
|
||||
if (err?.errorFields) {
|
||||
return;
|
||||
}
|
||||
message.error(hasExistingData ? "修改失败,请稍后重试" : "保存失败,请稍后重试");
|
||||
}
|
||||
finally {
|
||||
message.error(
|
||||
hasExistingData ? "修改失败,请稍后重试" : "保存失败,请稍后重试",
|
||||
);
|
||||
} finally {
|
||||
setSubmitting(false);
|
||||
}
|
||||
};
|
||||
|
||||
const subTitleText =
|
||||
"新成立或首次使用系统的安全评价机构,可通过系统提供的引导页面,详细填写机构的基本信息。";
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="机构信息管理"
|
||||
subTitle="新成立或首次使用系统的安全评价机构,可通过系统提供的引导页面,详细填写机构的基本信息。"
|
||||
extra={hasExistingData && !editing && (
|
||||
<Button type="primary" onClick={() => setEditing(true)}>
|
||||
<PageLayout
|
||||
title="机构信息管理"
|
||||
extra={
|
||||
hasExistingData &&
|
||||
!editing && (
|
||||
<Button type="primary" loading={orgInfoLoading} onClick={() => setEditing(true)}>
|
||||
修改
|
||||
</Button>
|
||||
)}
|
||||
/>
|
||||
<FormBuilder
|
||||
form={form}
|
||||
span={12}
|
||||
disabled={!editing}
|
||||
useAutoGenerateRequired={false}
|
||||
options={formOptions}
|
||||
labelCol={{ span: 10 }}
|
||||
showActionButtons={false}
|
||||
/>
|
||||
)
|
||||
}
|
||||
>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
{subTitleText}
|
||||
</p>
|
||||
<Form form={form} labelCol={{ span: 10 }} disabled={!editing}>
|
||||
<Row gutter={[16, 16]}>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="orgName"
|
||||
label="生产经营单位名称"
|
||||
rules={[{ required: true, message: "请输入生产经营单位名称" }]}
|
||||
>
|
||||
<Input placeholder="请输入生产经营单位名称" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="creditCode"
|
||||
label="统一社会信用代码"
|
||||
rules={[creditCodeRule(true)]}
|
||||
>
|
||||
<Input placeholder="请输入统一社会信用代码" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="safetyIndustryCategory"
|
||||
label="安全生产监管行业类别"
|
||||
rules={[
|
||||
{ required: true, message: "请输入安全生产监管行业类别" },
|
||||
]}
|
||||
>
|
||||
<Input placeholder="请输入安全生产监管行业类别" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="regionCountyName"
|
||||
label="属地"
|
||||
rules={[{ required: true, message: "请选择属地" }]}
|
||||
>
|
||||
<Select options={selectDistrictOptions} placeholder="请选择属地" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="regionStreetName"
|
||||
label="所属镇、街道"
|
||||
rules={[{ required: true, message: "请输入所属镇街道" }]}
|
||||
>
|
||||
<Input placeholder="请输入所属镇街道" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="regionCommunityName" label="属村(社区)">
|
||||
<Input placeholder="请输入属村(社区)" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="longitude"
|
||||
label="所在地坐标经度"
|
||||
rules={[longitudeRule(false)]}
|
||||
>
|
||||
<InputNumber
|
||||
style={{ width: "100%" }}
|
||||
min={-180}
|
||||
max={180}
|
||||
precision={6}
|
||||
placeholder="请输入经度"
|
||||
/>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="latitude"
|
||||
label="所在地坐标纬度"
|
||||
rules={[latitudeRule(false)]}
|
||||
>
|
||||
<InputNumber
|
||||
style={{ width: "100%" }}
|
||||
min={-90}
|
||||
max={90}
|
||||
precision={6}
|
||||
placeholder="请输入纬度"
|
||||
/>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="registerAddress"
|
||||
label="注册地址"
|
||||
rules={[{ required: true, message: "请输入注册地址" }]}
|
||||
>
|
||||
<Input.TextArea rows={3} placeholder="请输入注册地址" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="businessAddress"
|
||||
label="经营地址"
|
||||
rules={[{ required: true, message: "请输入经营地址" }]}
|
||||
>
|
||||
<Input.TextArea rows={3} placeholder="请输入经营地址" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="ownershipType" label="归属类型">
|
||||
<Input placeholder="请输入归属类型" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="gbIndustryCode"
|
||||
label="国民经济行业分类(GB/T4754-2017)"
|
||||
>
|
||||
<Input placeholder="请输入国民经济行业分类" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="legalRepresentative"
|
||||
label="法定代表人"
|
||||
rules={[{ required: true, message: "请输入法定代表人" }]}
|
||||
>
|
||||
<Input placeholder="请输入法定代表人" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="legalRepPhone"
|
||||
label="法定代表人联系电话"
|
||||
rules={[phoneRule("法定代表人联系电话", false)]}
|
||||
>
|
||||
<Input placeholder="请输入法定代表人联系电话" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="principal"
|
||||
label="主要负责人"
|
||||
rules={[{ required: true, message: "请输入主要负责人" }]}
|
||||
>
|
||||
<Input placeholder="请输入主要负责人" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="principalPhone"
|
||||
label="主要负责人联系电话"
|
||||
rules={[phoneRule("主要负责人联系电话", true)]}
|
||||
>
|
||||
<Input placeholder="请输入主要负责人联系电话" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="safetyDeptHead" label="安全管理部门负责人">
|
||||
<Input placeholder="请输入安全管理部门负责人" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="safetyDeptPhone"
|
||||
label="安全管理部门负责人联系电话"
|
||||
rules={[phoneRule("安全管理部门负责人联系电话", false)]}
|
||||
>
|
||||
<Input placeholder="请输入安全管理部门负责人联系电话" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="safetyVp" label="主管安全副总">
|
||||
<Input placeholder="请输入主管安全副总" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="safetyVpPhone"
|
||||
label="主管安全副总联系电话"
|
||||
rules={[phoneRule("主管安全副总联系电话", false)]}
|
||||
>
|
||||
<Input placeholder="请输入主管安全副总联系电话" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="productionDate" label="投产日期">
|
||||
<DatePicker style={{ width: "100%" }} placeholder="请选择投产日期" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="businessStatus" label="企业经营状态">
|
||||
<Input placeholder="请输入企业经营状态" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="disclosureUrl"
|
||||
label="信息公开网址"
|
||||
rules={[urlRule("信息公开网址", false)]}
|
||||
>
|
||||
<Input placeholder="请输入信息公开网址" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="workplaceArea"
|
||||
label="工作场所建筑面积"
|
||||
rules={[positiveNumberRule("工作场所建筑面积", false)]}
|
||||
>
|
||||
<InputNumber style={{ width: "100%" }} min={0} precision={2} placeholder="请输入工作场所建筑面积" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="archiveRoomArea"
|
||||
label="档案室面积"
|
||||
rules={[positiveNumberRule("档案室面积", false)]}
|
||||
>
|
||||
<InputNumber style={{ width: "100%" }} min={0} precision={2} placeholder="请输入档案室面积" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="fullTimeEvaluatorCount"
|
||||
label="专职安全评价师数量"
|
||||
rules={[nonNegativeIntegerRule("专职安全评价师数量", false)]}
|
||||
>
|
||||
<InputNumber style={{ width: "100%" }} min={0} precision={0} placeholder="请输入专职安全评价师数量" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="registeredSafetyEngineerCount"
|
||||
label="注册安全工程师数量"
|
||||
rules={[nonNegativeIntegerRule("注册安全工程师数量", false)]}
|
||||
>
|
||||
<InputNumber style={{ width: "100%" }} min={0} precision={0} placeholder="请输入注册安全工程师数量" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="enterpriseStatus" label="企业状态">
|
||||
<Select options={ENTERPRISE_STATUS_OPTIONS} placeholder="请选择企业状态" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="enterpriseScale" label="企业规模">
|
||||
<Select options={ENTERPRISE_SCALE_OPTIONS} placeholder="请选择企业规模" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="filingType" label="备案类型">
|
||||
<Select options={FILING_TYPE_OPTIONS} placeholder="请选择备案类型" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item name="filingRecordStatus" label="备案状态">
|
||||
<Select options={FILING_RECORD_STATUS_OPTIONS} placeholder="请选择备案状态" allowClear />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
name="attachments"
|
||||
label="上传附件"
|
||||
valuePropName="fileList"
|
||||
>
|
||||
<Upload maxCount={5} listType="picture-card">
|
||||
<Button>上传附件</Button>
|
||||
</Upload>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
{editing && (
|
||||
<div style={{ marginTop: 24, textAlign: "center" }}>
|
||||
<Space>
|
||||
<Button onClick={handleCancelEdit}>
|
||||
取消
|
||||
</Button>
|
||||
<Button onClick={handleCancelEdit}>取消</Button>
|
||||
{!hasExistingData && (
|
||||
<Button loading={submitting} onClick={() => handleSave("draft")}>
|
||||
暂存
|
||||
</Button>
|
||||
)}
|
||||
<Button type="primary" loading={submitting} onClick={() => handleSave("submit")}>
|
||||
<Button
|
||||
type="primary"
|
||||
loading={submitting}
|
||||
onClick={() => handleSave("submit")}
|
||||
>
|
||||
提交
|
||||
</Button>
|
||||
</Space>
|
||||
</div>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Descriptions, Form, Input, message, Modal, Select, Space, Typography } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import useTable from "zy-react-library/hooks/useTable";
|
||||
import { NS_STAFF_CHANGE_LOG, NS_STAFF_INFO } from "~/enumerate/namespace";
|
||||
import { safeListRequest, safeRequest } from "~/utils";
|
||||
import { CHANGE_COUNT_STYLE, formSelectField, getChangeCount, getEmploymentStatusLabel, getResignAuditStatusLabel } from "~/utils/enterpriseForm";
|
||||
import PageHeader from "../components/PageHeader";
|
||||
|
||||
|
||||
const EMPLOYMENT_STATUS = { 1: "在职", 2: "离职" };
|
||||
const RESIGN_AUDIT_STATUS = { 0: "未审核", 1: "已审核", 2: "已退回" };
|
||||
|
|
@ -119,8 +119,7 @@ function PersonnelChangePage(props) {
|
|||
|
||||
if (viewMode === "log") {
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader title="人员变更次数" />
|
||||
<PageLayout title="人员变更次数">
|
||||
<Button style={{ marginBottom: 16 }} onClick={() => setViewMode("list")}>返回</Button>
|
||||
<div style={{ marginBottom: 8 }}>
|
||||
人员:
|
||||
|
|
@ -134,16 +133,15 @@ function PersonnelChangePage(props) {
|
|||
]}
|
||||
{...logTableProps}
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="人员变更管理"
|
||||
subTitle="机构管理员在人员信息管理页面进行相应的修改操作"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
机构管理员在人员信息管理页面进行相应的修改操作
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
options={[
|
||||
|
|
@ -265,7 +263,7 @@ function PersonnelChangePage(props) {
|
|||
<Descriptions.Item label="备注">{resignInfo.remark}</Descriptions.Item>
|
||||
</Descriptions>
|
||||
</Modal>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { Button, Descriptions, Form, message, Modal, Space } from "antd";
|
|||
import { useEffect, useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import CertPreviewImg from "~/components/CertPreviewImg";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
|
|
@ -16,7 +16,7 @@ import { NS_STAFF_CERTIFICATE } from "~/enumerate/namespace";
|
|||
import { safeGetFiles, safeListRequest, safeRequest } from "~/utils";
|
||||
import { mockUploadFileList, resolveUploadFileId } from "~/utils/mockUpload";
|
||||
import { dateRangeRule } from "~/utils/validators";
|
||||
import PageHeader from "../../components/PageHeader";
|
||||
|
||||
|
||||
function StaffCertificatePage(props) {
|
||||
const query = useGetUrlQuery();
|
||||
|
|
@ -62,8 +62,7 @@ function StaffCertificatePage(props) {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader title={`人员证书 - ${staffName || ""}`} />
|
||||
<PageLayout title={`人员证书 - ${staffName || ""}`}>
|
||||
<Button style={{ marginBottom: 16 }} onClick={goBack}>返回</Button>
|
||||
<Search
|
||||
form={form}
|
||||
|
|
@ -136,7 +135,7 @@ function StaffCertificatePage(props) {
|
|||
}}
|
||||
/>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
|||
import { Button, DatePicker, Form, Input, message, Modal, Row, Col, Select, Space } from "antd";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import Upload from "zy-react-library/components/Upload";
|
||||
|
|
@ -22,7 +22,6 @@ import { getBirthDateFromIdCard, safeListRequest, safeRequest } from "~/utils";
|
|||
import { toDayjs } from "~/utils/dateFormat";
|
||||
import { formSelectField } from "~/utils/enterpriseForm";
|
||||
import { idCardRule, mobileRule } from "~/utils/validators";
|
||||
import PageHeader from "../../components/PageHeader";
|
||||
import StaffViewModal from "../StaffViewModal";
|
||||
|
||||
function mapPositionOptions(list = []) {
|
||||
|
|
@ -111,11 +110,10 @@ function PersonnelInfoPage(props) {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="人员信息管理"
|
||||
subTitle="机构管理员在系统中为本机构的人员进行信息录入,包括姓名、性别、身份证号、出生日期等。"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
机构管理员在系统中为本机构的人员进行信息录入,包括姓名、性别、身份证号、出生日期等。
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
options={[
|
||||
|
|
@ -198,7 +196,7 @@ function PersonnelInfoPage(props) {
|
|||
}}
|
||||
/>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ import { Button, Descriptions, Form, message, Modal, Space } from "antd";
|
|||
import { useEffect, useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PreviewImg from "zy-react-library/components/PreviewImg";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import Upload from "zy-react-library/components/Upload";
|
||||
|
|
@ -19,7 +20,6 @@ import { safeGetFiles, safeListRequest, safeRequest } from "~/utils";
|
|||
import { toDayjs } from "~/utils/dateFormat";
|
||||
import { mockUploadFileList, resolveUploadFileId } from "~/utils/mockUpload";
|
||||
import { dateRangeRule } from "~/utils/validators";
|
||||
import PageHeader from "../components/PageHeader";
|
||||
|
||||
function QualificationCertPage(props) {
|
||||
const [addModalOpen, setAddModalOpen] = useState(false);
|
||||
|
|
@ -90,11 +90,10 @@ function QualificationCertPage(props) {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="资质信息管理"
|
||||
subTitle="机构需将自身拥有的安全评价资质证书信息录入系统,包括资质等级、发证机关、发证日期、有效期等。"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
机构需将自身拥有的安全评价资质证书信息录入系统,包括资质等级、发证机关、发证日期、有效期等。
|
||||
</p>
|
||||
<Search
|
||||
form={form}
|
||||
options={[
|
||||
|
|
@ -210,7 +209,7 @@ function QualificationCertPage(props) {
|
|||
}}
|
||||
/>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
|||
import { Button, DatePicker, Descriptions, Form, Input, message, Modal, Select } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import Upload from "zy-react-library/components/Upload";
|
||||
|
|
@ -12,7 +12,7 @@ import { NS_STAFF_INFO, NS_STAFF_RESIGNATION_APPLY } from "~/enumerate/namespace
|
|||
import { safeListRequest, safeRequest } from "~/utils";
|
||||
import { formSelectField, getResignAuditStatusLabel } from "~/utils/enterpriseForm";
|
||||
import { DEFAULT_UPLOAD_FILE_URL, mockUploadFileList, resolveUploadFileId } from "~/utils/mockUpload";
|
||||
import PageHeader from "../components/PageHeader";
|
||||
|
||||
|
||||
const RESIGN_AUDIT_STATUS = { 0: "未审核", 1: "已审核", 2: "已退回" };
|
||||
|
||||
|
|
@ -49,11 +49,10 @@ function ResignationApplyPage(props) {
|
|||
}, []);
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="人员离职申请"
|
||||
subTitle="机构管理员在人员信息管理页面进行相应的修改操作"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
机构管理员在人员信息管理页面进行相应的修改操作
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
options={[
|
||||
|
|
@ -129,7 +128,7 @@ function ResignationApplyPage(props) {
|
|||
}}
|
||||
/>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
export default function PageHeader({ title, subTitle, extra }) {
|
||||
return (
|
||||
<div style={{ display: "flex", justifyContent: "space-between", alignItems: "flex-start", marginBottom: 16 }}>
|
||||
<div>
|
||||
<h2 style={{ margin: 0, fontSize: 20, fontWeight: 600 }}>{title}</h2>
|
||||
{subTitle && (
|
||||
<p style={{ margin: "8px 0 0", color: "rgba(0, 0, 0, 0.45)" }}>{subTitle}</p>
|
||||
)}
|
||||
</div>
|
||||
{extra}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
@ -51,7 +51,7 @@ function EnterpriseInfo(props) {
|
|||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div style={{ height: "100%" }}>
|
||||
{props.children}
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { Button, Card, Col, Descriptions, Form, Modal, Row, Statistic, Tag } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||
|
|
@ -11,7 +11,6 @@ import {
|
|||
getEnterprisePortraitDetail,
|
||||
queryEnterprisePortraitPage,
|
||||
} from "~/mock/regulator/basicInfo";
|
||||
import PageHeader from "../../../EnterpriseInfo/components/PageHeader";
|
||||
|
||||
const INFO_LEVEL_COLOR = {
|
||||
level1: "success",
|
||||
|
|
@ -51,11 +50,10 @@ function EnterprisePortraitPage() {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="企业画像管理"
|
||||
subTitle="监管端查看企业安全能力画像与综合评级(当前为 Mock 数据)。"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
监管端查看企业安全能力画像与综合评级(当前为 Mock 数据)。
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
options={[
|
||||
|
|
@ -198,7 +196,7 @@ function EnterprisePortraitPage() {
|
|||
</>
|
||||
)}
|
||||
</Modal>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
import { Button, Descriptions, Form, Modal, Table, Tag, Tooltip } from "antd";
|
||||
import { useEffect, useState } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import TableList from "zy-react-library/components/Table";
|
||||
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||
import useTable from "zy-react-library/hooks/useTable";
|
||||
import { getEvaluatorDetail, queryEvaluatorPage } from "~/mock/regulator/basicInfo";
|
||||
import PageHeader from "../../../EnterpriseInfo/components/PageHeader";
|
||||
|
||||
const YES_NO_OPTIONS = [
|
||||
{ label: "是", value: 1 },
|
||||
|
|
@ -52,11 +51,10 @@ function EvaluatorInfoPage() {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="评价师信息管理"
|
||||
subTitle="监管端查看辖区内评价师备案及资质状态(当前为 Mock 数据)。"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
监管端查看辖区内评价师备案及资质状态(当前为 Mock 数据)。
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
options={[
|
||||
|
|
@ -201,7 +199,7 @@ function EvaluatorInfoPage() {
|
|||
</Descriptions>
|
||||
)}
|
||||
</Modal>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import {
|
|||
} from "antd";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { useEffect, useState } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||
|
|
@ -18,7 +18,6 @@ import {
|
|||
import { NS_ORG_INFO } from "~/enumerate/namespace";
|
||||
import { safeListRequest, safeRequest } from "~/utils";
|
||||
import { formSelectField } from "~/utils/enterpriseForm";
|
||||
import PageHeader from "../../../EnterpriseInfo/components/PageHeader";
|
||||
|
||||
const SEARCH_COL = { xs: 24, sm: 12, md: 8, lg: 6 };
|
||||
const SEARCH_DEFAULT_VALUES = { state: "" };
|
||||
|
|
@ -164,11 +163,10 @@ function OrgAccountPage(props) {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="评价机构账号管理"
|
||||
subTitle="监管端维护评价机构开户账号。"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
监管端维护评价机构开户账号。
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
values={SEARCH_DEFAULT_VALUES}
|
||||
|
|
@ -339,7 +337,7 @@ function OrgAccountPage(props) {
|
|||
</Row>
|
||||
</Form>
|
||||
</Modal>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Button, Card, Form, Spin, Table, Tabs, Tag, message } from "antd";
|
||||
import { useEffect, useMemo, useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import FilePreviewModal from "~/components/FilePreviewModal";
|
||||
import {
|
||||
fetchRegisteredOrgDetail,
|
||||
|
|
@ -12,7 +12,6 @@ import {
|
|||
fetchRegisteredOrgQualificationGroups,
|
||||
} from "~/api/regulatorOrgInfo";
|
||||
import { buildOrgInfoFormOptions } from "../../../../EnterpriseInfo/OrgInfo/formOptions";
|
||||
import PageHeader from "../../../../EnterpriseInfo/components/PageHeader";
|
||||
import StaffViewModal from "../../../../EnterpriseInfo/PersonnelInfo/StaffViewModal";
|
||||
|
||||
const LIST_PATH = "/container/supervision/basicInfo/registeredOrg/list";
|
||||
|
|
@ -192,9 +191,11 @@ function RegisteredOrgDetailPage(props) {
|
|||
|
||||
if (!id) {
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader title="备案信息详情" subTitle="缺少机构 ID 参数" extra={<Button onClick={goBack}>返回</Button>} />
|
||||
</Page>
|
||||
<PageLayout title="备案信息详情" extra={<Button onClick={goBack}>返回</Button>}>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
缺少机构 ID 参数
|
||||
</p>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -241,12 +242,10 @@ function RegisteredOrgDetailPage(props) {
|
|||
];
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="备案信息详情"
|
||||
subTitle={orgName || undefined}
|
||||
extra={<Button onClick={goBack}>← 返回</Button>}
|
||||
/>
|
||||
<PageLayout title="备案信息详情" extra={<Button onClick={goBack}>← 返回</Button>}>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
{orgName || undefined}
|
||||
</p>
|
||||
<Tabs items={tabItems} />
|
||||
|
||||
<FilePreviewModal
|
||||
|
|
@ -267,7 +266,7 @@ function RegisteredOrgDetailPage(props) {
|
|||
onCancel={() => setViewPersonnelId("")}
|
||||
/>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Button, Form, Tag } from "antd";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { useEffect } from "react";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import TableList from "zy-react-library/components/Table";
|
||||
import useTable from "zy-react-library/hooks/useTable";
|
||||
|
|
@ -12,7 +12,6 @@ import {
|
|||
import { NS_ORG_INFO } from "~/enumerate/namespace";
|
||||
import { safeListRequest } from "~/utils";
|
||||
import { formSelectField } from "~/utils/enterpriseForm";
|
||||
import PageHeader from "../../../../EnterpriseInfo/components/PageHeader";
|
||||
|
||||
const FILING_RECORD_STATUS_COLOR = {
|
||||
1: "success",
|
||||
|
|
@ -46,11 +45,10 @@ function RegisteredOrgListPage(props) {
|
|||
};
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageHeader
|
||||
title="已备案机构管理"
|
||||
subTitle="监管端查看已备案评价机构及备案详情。"
|
||||
/>
|
||||
<PageLayout>
|
||||
<p style={{ margin: 0, marginBottom: 24, color: "rgba(0, 0, 0, 0.45)" }}>
|
||||
监管端查看已备案评价机构及备案详情。
|
||||
</p>
|
||||
<Search
|
||||
form={searchForm}
|
||||
values={SEARCH_DEFAULT_VALUES}
|
||||
|
|
@ -94,7 +92,7 @@ function RegisteredOrgListPage(props) {
|
|||
},
|
||||
]}
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Form, Space } from "antd";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ function List(props) {
|
|||
});
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageLayout>
|
||||
|
||||
<Search
|
||||
form={form}
|
||||
|
|
@ -64,7 +64,7 @@ function List(props) {
|
|||
{...tableProps}
|
||||
/>
|
||||
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
export default Connect([NS_CORP_CERTIFICATE], true)(Permission(List));
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { Button, Descriptions, Form, message, Modal, Space } from "antd";
|
|||
import { useEffect, useRef, useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PreviewImg from "zy-react-library/components/PreviewImg";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
|
|
@ -159,7 +159,7 @@ function EnterpriseLicense(props) {
|
|||
};
|
||||
}, [tableProps.dataSource]);
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageLayout>
|
||||
|
||||
<Search
|
||||
form={form}
|
||||
|
|
@ -317,7 +317,7 @@ function EnterpriseLicense(props) {
|
|||
|
||||
/>
|
||||
)}
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
function AddModalComponent(props) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Form, Space } from "antd";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ function List(props) {
|
|||
});
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageLayout>
|
||||
|
||||
<Search
|
||||
form={form}
|
||||
|
|
@ -66,7 +66,7 @@ function List(props) {
|
|||
{...tableProps}
|
||||
/>
|
||||
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
export default Connect([NS_CORP_CERTIFICATE], true)(Permission(List));
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Form, Space } from "antd";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ function List(props) {
|
|||
});
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageLayout>
|
||||
|
||||
<Search
|
||||
form={form}
|
||||
|
|
@ -111,7 +111,7 @@ function List(props) {
|
|||
{...tableProps}
|
||||
/>
|
||||
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
export default Connect([NS_USER_CERTIFICATE], true)(Permission(List));
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PersonInChargeList from "~/components/PersonInChargeList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业主要负责人管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="主要负责人证书数" isShowFooter={false}>
|
||||
<PageLayout title="主要负责人证书数">
|
||||
<div>
|
||||
<PersonInChargeList
|
||||
props={props}
|
||||
|
|
@ -17,7 +17,7 @@ function List(props) {
|
|||
dictionaryType="zyfzrgwmc0000"
|
||||
/>
|
||||
</div>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PersonInChargeList from "~/components/PersonInChargeList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业安全生产管理人员管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="安全生产管理人员证书数" isShowFooter={false}>
|
||||
<PageLayout title="安全生产管理人员证书数">
|
||||
<PersonInChargeList
|
||||
props={props}
|
||||
certificatePhotoType={162}
|
||||
|
|
@ -15,7 +15,7 @@ function List(props) {
|
|||
permissionView="gfd-fzgsryzztj-aqgly-infoNb"
|
||||
dictionaryType="aqscglrygwmc0000"
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import SpecialCertificateList from "~/components/SpecialCertificateList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业特种设备操作人员管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="特种设备操作人员证书数" isShowFooter={false}>
|
||||
<PageLayout title="特种设备操作人员证书数">
|
||||
<SpecialCertificateList
|
||||
props={props}
|
||||
certificatePhotoType={160}
|
||||
|
|
@ -15,7 +15,7 @@ function List(props) {
|
|||
permissionView="gfd-fzgsryzztj-tzsbInfoNb"
|
||||
dictionaryType="tzsbczryczxmzylb0000"
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import SpecialCertificateList from "~/components/SpecialCertificateList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业特种作业人员管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="特种作业人员证书数" isShowFooter={false}>
|
||||
<PageLayout title="特种作业人员证书数">
|
||||
<SpecialCertificateList
|
||||
props={props}
|
||||
certificatePhotoType={159}
|
||||
|
|
@ -15,7 +15,7 @@ function List(props) {
|
|||
permissionView="gfd-fzgsryzztj-tzzyInfoNb"
|
||||
dictionaryType="tzzyryhylb0000"
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import { Button, Form, Space } from "antd";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ function List(props) {
|
|||
});
|
||||
|
||||
return (
|
||||
<Page isShowAllAction={false}>
|
||||
<PageLayout>
|
||||
|
||||
<Search
|
||||
form={form}
|
||||
|
|
@ -113,7 +113,7 @@ function List(props) {
|
|||
{...tableProps}
|
||||
/>
|
||||
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
export default Connect([NS_USER_CERTIFICATE], true)(Permission(List));
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PersonInChargeList from "~/components/PersonInChargeList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业主要负责人管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="主要负责人证书数" isShowFooter={false}>
|
||||
<PageLayout title="主要负责人证书数">
|
||||
<PersonInChargeList
|
||||
props={props}
|
||||
certificatePhotoType={161}
|
||||
|
|
@ -15,7 +15,7 @@ function List(props) {
|
|||
permissionView="gfd-xgfryzztj-zyfzrInfoNb"
|
||||
dictionaryType="zyfzrgwmc0000"
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import PersonInChargeList from "~/components/PersonInChargeList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业安全生产管理人员管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="安全生产管理人员证书数" isShowFooter={false}>
|
||||
<PageLayout title="安全生产管理人员证书数">
|
||||
<PersonInChargeList
|
||||
props={props}
|
||||
certificatePhotoType={162}
|
||||
|
|
@ -15,7 +15,7 @@ function List(props) {
|
|||
permissionView="gfd-xgfryzztj-aqscInfoNb"
|
||||
dictionaryType="aqscglrygwmc0000"
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import SpecialCertificateList from "~/components/SpecialCertificateList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业特种设备操作人员管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="特种设备操作人员证书数" isShowFooter={false}>
|
||||
<PageLayout title="特种设备操作人员证书数">
|
||||
<SpecialCertificateList
|
||||
props={props}
|
||||
certificatePhotoType={160}
|
||||
|
|
@ -15,7 +15,7 @@ function List(props) {
|
|||
permissionView="gfd-xgfryzztj-tzsbInfoNb"
|
||||
dictionaryType="tzsbczryczxmzylb0000"
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { Permission } from "@cqsjjb/jjb-common-decorator/permission";
|
||||
import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||
import Page from "zy-react-library/components/Page";
|
||||
import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout";
|
||||
import SpecialCertificateList from "~/components/SpecialCertificateList";
|
||||
import { NS_USER_CERTIFICATE } from "~/enumerate/namespace";
|
||||
// 企业特种作业人员管理
|
||||
function List(props) {
|
||||
return (
|
||||
<Page headerTitle="特种作业人员证书数" isShowFooter={false}>
|
||||
<PageLayout title="特种作业人员证书数">
|
||||
<SpecialCertificateList
|
||||
props={props}
|
||||
certificatePhotoType={159}
|
||||
|
|
@ -15,7 +15,7 @@ function List(props) {
|
|||
permissionView="gfd-xgfryzztj-tzzyInfoNb"
|
||||
dictionaryType="tzzyryhylb0000"
|
||||
/>
|
||||
</Page>
|
||||
</PageLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue