添加 监管端 相关方信息管理

master
853931625@qq.com 2025-11-04 09:24:25 +08:00
parent c94ab906c0
commit dd438a6c74
13 changed files with 2205 additions and 21 deletions

View File

@ -5,7 +5,7 @@ import Map from "zy-react-library/components/Map";
import Upload from "zy-react-library/components/Upload";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import { PHONE, UNIFIED_SOCIAL_CREDIT_CODE } from "zy-react-library/regular";
import Qualification from "./components/Qualification";
// import Qualification from "./components/Qualification";
const xgfStateMap = {
0: "未填报",
@ -25,24 +25,19 @@ function CorpInfo() {
<FormBuilder
onFinish={onSubmit}
options={[
{ label: "相关方单位基础信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
{ label: "基础信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
{ name: "corpName", label: "单位名称" },
{ name: "xgfState", label: "企业状态", required: false, render: ({ formValues }) => xgfStateMap[formValues?.xgfState] || "未填报" },
{ name: "managerDepIds", label: "股份监管部门", required: false },
{ name: "mainDepIds", label: "股份主管部门", required: false },
{ name: "competentDepIds", label: "基层单位监管部门", required: false },
{ name: "superviseDepIds", label: "基层单位主管部门", required: false },
{ name: "corpTypIds", label: "集团单位", required: false, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "holderName", label: "开户人", required: false },
{ name: "code", label: "统一社会信用代码", rules: [{ pattern: UNIFIED_SOCIAL_CREDIT_CODE, message: "请输入正确的统一社会信用代码" }] },
{ name: "companyAreas", label: "属地" },
{ name: "industryNames", label: "所属行业" },
{ name: "ecoType", label: "经济类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "industryNames", label: "所属行业", required: false },
{ name: "map", customizeRender: true, render: () => <Map required={false} />, span: 24 },
{ name: "ecoType", label: "经济类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "address", label: "单位经营地址" },
{ name: "scale", label: "企业规模", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "lrName", label: "法人姓名" },
{ name: "lrPhone", label: "联系电话", rules: [{ pattern: PHONE, message: "请输入正确的手机号码" }] },
{ name: "lrName", label: "法定代表人姓名" },
{ name: "lrPhone", label: "法定代表人手机号", rules: [{ pattern: PHONE, message: "请输入正确的手机号码" }], required: false },
{ name: "contacts", label: "主要负责人" },
{ name: "contactsPhone", label: "主要负责人联系电话", rules: [{ pattern: PHONE, message: "请输入正确的手机号码" }] },
{ name: "createDate", label: "成立日期", render: FORM_ITEM_RENDER_ENUM.DATE },
@ -50,8 +45,8 @@ function CorpInfo() {
{ name: "totalassets", label: "资产总额(万元)", render: FORM_ITEM_RENDER_ENUM.NUMBER },
{ name: "regcapital", label: "注册资金(万元)", render: FORM_ITEM_RENDER_ENUM.NUMBER },
{ name: "employmentForm", label: "用工形式", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "selectForms", label: "选取形式", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "businessLicense", label: "营业执照", required: false, render: ({ value, onChange }) => <Upload maxCount={5} size={5} value={value} onChange={onChange} /> },
// { name: "selectForms", label: "选取形式", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "businessLicense", label: "营业执照", render: ({ value, onChange }) => <Upload maxCount={5} size={5} value={value} onChange={onChange} /> },
{ name: "businessLicenseDate", label: "营业执照有效期", render: FORM_ITEM_RENDER_ENUM.DATE },
{ name: "qrCode", label: "企业二维码", required: false, hidden: formValues => !(formValues.xgfState !== 2), render: () => (
<Button
@ -63,8 +58,8 @@ function CorpInfo() {
查看
</Button>
) },
{ label: "单位资质信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
{ name: "qualification", customizeRender: true, span: 24, render: Qualification },
// { label: "单位资质信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
// { name: "qualification", customizeRender: true, span: 24, render: Qualification },
]}
/>
</div>

View File

@ -35,7 +35,7 @@ function Department() {
<div style={{ flex: 1 }}>
<Search
options={[
{ name: "name", label: "名称" },
{ name: "name", label: "部门名称" },
{
name: "name",
label: "部门级别",
@ -135,6 +135,7 @@ function AddModalComponent(props) {
{ name: "name", label: "部门负责人", required: false },
{ name: "name", label: "部门负责人手机号", required: false, rules: [{ pattern: PHONE, message: "请输入正确的手机号" }] },
{ name: "name", label: "排序", render: FORM_ITEM_RENDER_ENUM.NUMBER },
{ name: "name", label: "备注", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, required: false },
]}
/>
</Modal>

View File

@ -30,11 +30,11 @@ function Add() {
<div style={{ paddingBottom: 10 }}>
<FormBuilder
form={form}
values={{ sex: "0" }}
values={{ sex: "0", isSocial: "0", isBf: "0", ispay: "0", isInjuriesPay: "0", isflow: "0", IS_SPECIAL_JOB: "0", isSignLabor: "0", isLevelThree: "0", IS_DEPARTMENT_HEAD: "0" }}
onFinish={onSubmit}
options={[
{
label: "照片",
label: "用户照片",
name: "userImg",
span: 24,
required: false,
@ -57,8 +57,7 @@ function Add() {
},
{ name: "name", label: "姓名" },
{ name: "username", label: "用户名", componentProps: { disabled: query.id } },
{ name: "departmentId", label: "部门" },
{ name: "email", label: "电子邮箱", required: false, rules: [{ type: "email", message: "请输入正确的邮箱" }] },
{ name: "departmentId", label: "所属部门" },
{ name: "cardId", label: "身份证号", rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }] },
{
name: "userCardFile",
@ -76,6 +75,7 @@ function Add() {
/>
),
},
{ name: "email", label: "电子邮箱", required: false, rules: [{ type: "email", message: "请输入正确的邮箱" }] },
{
name: "nationality",
label: "民族",
@ -254,7 +254,15 @@ function Add() {
required: false,
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
componentProps: { disabled: true },
// componentProps: { disabled: true },
},
{
name: "IS_DEPARTMENT_HEAD",
label: "是否为部门负责人",
required: false,
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
// componentProps: { disabled: true },
},
{
name: "alert",

View File

@ -0,0 +1,66 @@
import { tools } from "@cqsjjb/jjb-common-lib";
import FormBuilder from "zy-react-library/components/FormBuilder";
import HeaderBack from "zy-react-library/components/HeaderBack";
import Map from "zy-react-library/components/Map";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import { PHONE, UNIFIED_SOCIAL_CREDIT_CODE } from "zy-react-library/regular";
const xgfStateMap = {
0: "未填报",
1: "待审核",
2: "已审核",
3: <span style={{ color: "red" }}>已打回</span>,
4: "已填报",
};
const { query } = tools.router;
function Add() {
const onSubmit = (values) => {
console.log(values);
};
return (
<>
<HeaderBack title={query.id ? "修改" : "新增"} />
<div style={{ paddingBottom: 10 }}>
<FormBuilder
onFinish={onSubmit}
span={8}
labelCol={{ span: 8 }}
options={[
{ label: "相关方单位基础信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER},
{ name: "corpName", label: "单位名称" },
{ name: "xgfState", label: "企业状态", required: false, render: ({ formValues }) => xgfStateMap[formValues?.xgfState] || "未填报" },
{ name: "managerDepIds", label: "股份监管部门", required: false },
{ name: "mainDepIds", label: "股份主管部门", required: false },
{ name: "competentDepIds", label: "基层单位监管部门", required: false },
{ name: "superviseDepIds", label: "基层单位主管部门" },
{ name: "corpTypIds", label: "集团单位", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }] },
{ name: "holderName", label: "开户人", required: false, disabled: true },
{ name: "code", label: "统一社会信用代码", rules: [{ pattern: UNIFIED_SOCIAL_CREDIT_CODE, message: "请输入正确的统一社会信用代码" }], required: false },
{ name: "companyAreas", label: "属地", required: false },
{ name: "industryNames", label: "所属行业", required: false },
{ name: "ecoType", label: "经济类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }], required: false },
{ name: "map", customizeRender: true, render: () => <Map required={false} />, span: 16 },
{ name: "address", label: "单位经营地址", required: false },
{ name: "scale", label: "企业规模", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }], required: false },
{ name: "lrName", label: "法人姓名", required: false },
{ name: "lrPhone", label: "联系电话", rules: [{ pattern: PHONE, message: "请输入正确的手机号码" }], required: false },
{ name: "contacts", label: "主要负责人", required: false },
{ name: "contactsPhone", label: "主要负责人联系电话", rules: [{ pattern: PHONE, message: "请输入正确的手机号码" }], required: false },
{ name: "createDate", label: "成立日期", render: FORM_ITEM_RENDER_ENUM.DATE, required: false },
{ name: "employees", label: "职工人数(人)", render: FORM_ITEM_RENDER_ENUM.NUMBER, required: false },
{ name: "totalassets", label: "资产总额(万元)", render: FORM_ITEM_RENDER_ENUM.NUMBER, required: false },
{ name: "regcapital", label: "注册资金(万元)", render: FORM_ITEM_RENDER_ENUM.NUMBER, required: false },
{ name: "employmentForm", label: "用工形式", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }], required: false },
{ name: "selectForms", label: "选取形式", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }], required: false },
{ name: "selectForms", label: "企业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "集团单位1", id: "1" }], required: false },
]}
/>
</div>
</>
);
}
export default Add;

View File

@ -0,0 +1,74 @@
import { Button, Form, message, Modal, Space } from "antd";
import AddIcon from "zy-react-library/components/Icon/AddIcon";
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";
import useTable from "zy-react-library/hooks/useTable";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(() => {}, { form });
const onDelete = (id) => {
Modal.confirm({
title: "提示",
content: "确定删除吗?",
onOk: () => {
message.success("删除成功");
getData();
},
});
};
const onResetPassword = () => {
Modal.confirm({
title: "提示",
content: "确定要重置密码为Aa@123456789吗",
onOk: () => {
message.success("重置密码成功");
},
});
};
return (
<div style={{ padding: 20 }}>
<Search
options={[
// { name: "name", label: "关键字", tip: "证书名称/证书编号" },
{ name: "name", label: "分公司名称", placeholder: "请输入分公司名称,支持模糊搜索" },
{ name: "name", label: "属地", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "time", label: "证书有效期", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
{ name: "name", label: "集团单位", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "股份主管部门", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "主管部门(指定)", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "主管部门(级联)", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
]}
form={form}
/>
<Table
toolBarRender={() => (
<Button type="primary" onClick={() => props.history.push("./add")} icon={<AddIcon />}>新增</Button>
)}
columns={[
{ title: "集团单位", dataIndex: "name" },
{ title: "相关单位名称", dataIndex: "name" },
{ title: "属地", dataIndex: "name" },
{ title: "股份主管部门", dataIndex: "name" },
{ title: "股份监管部门", dataIndex: "name" },
{ title: "基层单位主管部门", dataIndex: "name" },
{ title: "基层单位监督部门", dataIndex: "name" },
{ title: "开户人", dataIndex: "name" },
{ title: "状态", dataIndex: "name" },
{ title: "操作", width: 200, render: (_, record) => (
<Space>
<Button type="link" onClick={() => props.history.push(`./add?id=${record.id}`)}>查看</Button>
<Button type="link" onClick={() => props.history.push(`./add?id=${record.id}`)}>编辑</Button>
<Button type="link" onClick={() => onResetPassword(record.id)}>重置密码</Button>
<Button type="link" danger onClick={() => onDelete(record.id)}>删除</Button>
</Space>
) },
]}
{...tableProps}
/>
</div>
);
}
export default List;

View File

@ -0,0 +1,9 @@
function Supervision(props) {
return (
<div>
{props.children}
</div>
);
}
export default Supervision;

View File

@ -0,0 +1,55 @@
import { Form } from "antd";
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 { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable";
function List() {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(() => {}, { form });
const fnSearch = (values) => {
console.log(values);
getData();
};
return (
<div style={{ padding: 20 }}>
<Search
options={[
// { name: "name", label: "关键字", tip: "证书名称/证书编号" },
{ name: "name", label: "用户名" },
{ name: "name", label: "人员类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
]}
form={form}
onFinish={fnSearch}
/>
<Table
columns={[
{ title: "用户名", dataIndex: "name" },
{ title: "姓名", dataIndex: "name" },
{ title: "部门", dataIndex: "name" },
{ title: "人员类型", dataIndex: "name" },
{ title: "证书名称", dataIndex: "name" },
{ title: "证书作业类别", dataIndex: "name" },
{ title: "操作项目", dataIndex: "name" },
{ title: "证书编号", dataIndex: "name" },
{ title: "就职状态", dataIndex: "name" },
{
title: "操作",
width: 300,
render: (_, record) => (
<>
<PreviewImg files={record.userImg} />
</>
),
},
]}
{...tableProps}
/>
</div>
);
}
export default List;

View File

@ -0,0 +1,272 @@
import { tools } from "@cqsjjb/jjb-common-lib";
import { Alert, Form } from "antd";
import FormBuilder from "zy-react-library/components/FormBuilder";
import HeaderBack from "zy-react-library/components/HeaderBack";
import Upload from "zy-react-library/components/Upload";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import { ID_NUMBER } from "zy-react-library/regular";
const { query } = tools.router;
export const WHETHER_ENUM = [
{ name: "是", id: "1" },
{ name: "否", id: "0" },
];
export const SEX_ENUM = [
{ name: "男", id: "0" },
{ name: "女", id: "1" },
];
export const MARITAL_STATUS_ENUM = [
{ name: "已婚", id: "1" },
{ name: "未婚", id: "0" },
];
function Add() {
const [form] = Form.useForm();
const onSubmit = (values) => {
console.log(values);
};
return (
<>
<HeaderBack title={query.id ? "修改" : "新增"} />
<div style={{ paddingBottom: 10 }}>
<FormBuilder
form={form}
values={{ sex: "0" }}
onFinish={onSubmit}
options={[
{
label: "照片",
name: "userImg",
span: 24,
required: false,
render: ({ value, onChange }) => (
<Upload
size={4}
value={value}
onChange={onChange}
tipContent={(
<div style={{ lineHeight: 1.6, color: "red", fontSize: 12 }}>
<div>* 图像格式JPGJPEGPNG</div>
<div>* 图像大小不超过4M</div>
<div>* 照片大小: 推荐 500*500</div>
<div>* 人脸无遮挡如戴帽子口罩眼镜等无修图</div>
<div>* 人脸需双眼睁开表情自然露额头发不要遮挡</div>
</div>
)}
/>
),
},
{ name: "name", label: "姓名" },
{ name: "username", label: "用户名", componentProps: { disabled: query.id } },
{ name: "departmentId", label: "部门" },
{ name: "email", label: "电子邮箱", required: false, rules: [{ type: "email", message: "请输入正确的邮箱" }] },
{ name: "cardId", label: "身份证号", rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }] },
{
name: "userCardFile",
label: "身份证照片",
render: ({ value, onChange }) => (
<Upload
maxCount={2}
value={value}
onChange={onChange}
tipContent={(
<div style={{ lineHeight: 1.6, color: "red", fontSize: 12 }}>
<div>温馨提示用户要上传身份证正反面身份证照片数量是2张, 才能进行人员培训</div>
</div>
)}
/>
),
},
{
name: "nationality",
label: "民族",
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: [{ name: "一级部门", id: "1" }],
},
{
name: "sex",
label: "性别",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: SEX_ENUM,
componentProps: { disabled: true },
},
{ name: "dateOfBirth", label: "出生年月", render: FORM_ITEM_RENDER_ENUM.DATE },
{ name: "age", label: "年龄", render: FORM_ITEM_RENDER_ENUM.NUMBER },
{ name: "hklocal", label: "户口所在地" },
{ name: "address", label: "现住址" },
{
name: "degreeOfEducation",
label: "文化程度",
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: [{ name: "一级部门", id: "1" }],
},
{
name: "maritalstatus",
label: "婚姻状况",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: MARITAL_STATUS_ENUM,
},
{
name: "politicalStatus",
label: "政治面貌",
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: [{ name: "一级部门", id: "1" }],
componentProps: {
onChange: () => {
form.setFieldValue("politicalTime", undefined);
},
},
},
{
name: "politicalTime",
label: "入党时间",
render: FORM_ITEM_RENDER_ENUM.DATE,
dependencies: ["politicalStatus"],
hidden: formValues => !(formValues.politicalStatus === "zhonggongdangyuan"),
},
{ name: "postId", label: "岗位名称(工种)" },
{
name: "isSocial",
label: "是否缴纳社保",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
componentProps: {
onChange: () => {
form.setFieldValue("socialNumber", undefined);
form.setFieldValue("socSecurity", undefined);
},
},
},
{
name: "socialNumber",
label: "社会保障号码",
dependencies: ["isSocial"],
hidden: formValues => !(formValues.isSocial === "1"),
},
{
name: "socSecurity",
label: "社保卡照片",
render: ({ value, onChange }) => <Upload value={value} onChange={onChange} maxCount={2} />,
dependencies: ["isSocial"],
hidden: formValues => !(formValues.isSocial === "1"),
},
{
name: "isBf",
label: "是否缴纳保险",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
},
{
name: "isSignLabor",
label: "是否签订劳动合同",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
componentProps: {
onChange: () => {
form.setFieldValue("contract", undefined);
},
},
},
{
name: "contract",
label: "合同图片",
render: ({ value, onChange }) => <Upload value={value} onChange={onChange} maxCount={4} />,
dependencies: ["isSignLabor"],
hidden: formValues => !(formValues.isSignLabor === "1"),
},
{
name: "ispay",
label: "是否缴纳商业保险",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
componentProps: {
onChange: () => {
form.setFieldValue("ispayNumber", undefined);
form.setFieldValue("insurance", undefined);
},
},
},
{
name: "ispayNumber",
label: "商业保险单号",
dependencies: ["ispay"],
hidden: formValues => !(formValues.ispay === "1"),
},
{
name: "insurance",
label: "保险图片",
render: ({ value, onChange }) => <Upload value={value} onChange={onChange} maxCount={4} />,
dependencies: ["ispay"],
hidden: formValues => !(formValues.ispay === "1"),
},
{
name: "isInjuriesPay",
label: "是否按期缴纳工伤保险",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
componentProps: {
onChange: () => {
form.setFieldValue("isInjuriesPayTime", undefined);
form.setFieldValue("empInsurance", undefined);
},
},
},
{
name: "isInjuriesPayTime",
label: "工伤保险有效期",
dependencies: ["isInjuriesPay"],
render: FORM_ITEM_RENDER_ENUM.DATE,
hidden: formValues => !(formValues.isInjuriesPay === "1"),
},
{
name: "empInsurance",
label: "工伤保险凭证",
render: ({ value, onChange }) => <Upload value={value} onChange={onChange} maxCount={4} />,
dependencies: ["isInjuriesPay"],
hidden: formValues => !(formValues.isInjuriesPay === "1"),
},
{
name: "isLevelThree",
label: "是否参加三级安全培训",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
componentProps: {
onChange: () => {
form.setFieldValue("threeLevel", undefined);
},
},
},
{
name: "threeLevel",
label: "三级安全培训照片",
render: ({ value, onChange }) => <Upload value={value} onChange={onChange} maxCount={4} />,
dependencies: ["isLevelThree"],
hidden: formValues => !(formValues.isLevelThree === "1"),
},
{
name: "isflow",
label: "是否流动人员",
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
},
{
name: "IS_SPECIAL_JOB",
label: "是否特殊工种",
required: false,
render: FORM_ITEM_RENDER_ENUM.RADIO,
items: WHETHER_ENUM,
componentProps: { disabled: true },
},
{
name: "alert",
span: 24,
customizeRender: true,
render: () => (<Alert message="新增完成后请提示该用户去相关方app端完善特种证书信息,特种证书完善后用户的'是否特殊工种'将变为'是'" type="error" />),
},
]}
/>
</div>
</>
);
}
export default Add;

View File

@ -0,0 +1,56 @@
import { Button, Form, message, Modal, Space } from "antd";
import AddIcon from "zy-react-library/components/Icon/AddIcon";
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";
import useTable from "zy-react-library/hooks/useTable";
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(() => {}, { form });
return (
<div style={{ padding: 20 }}>
<Search
options={[
// { name: "name", label: "关键字", tip: "证书名称/证书编号" },
{ name: "name", label: "相关单位名称", placeholder: "请输入分公司名称,支持模糊搜索" },
{ name: "name", label: "属地", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "审核状态", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "用工形式", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "选取形式", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "集团单位", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "企业类型", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "111", id: "1" }] },
{ name: "name", label: "人员姓名" },
]}
form={form}
/>
<Table
toolBarRender={() => (
<Button type="primary" onClick={() => props.history.push("./add")} icon={<AddIcon />}>新增</Button>
)}
columns={[
{ title: "集团单位", dataIndex: "name" },
{ title: "相关单位名称", dataIndex: "name" },
{ title: "属地", dataIndex: "name" },
{ title: "股份主管部门", dataIndex: "name" },
{ title: "股份监管部门", dataIndex: "name" },
{ title: "基层单位主管部门", dataIndex: "name" },
{ title: "基层单位监督部门", dataIndex: "name" },
{ title: "开户人", dataIndex: "name" },
{ title: "状态", dataIndex: "name" },
{ title: "操作", width: 200, render: (_, record) => (
<Space>
{/*<Button type="link" onClick={() => props.history.push(`./add?id=${record.id}`)}>查看</Button>*/}
{/*<Button type="link" onClick={() => props.history.push(`./add?id=${record.id}`)}>编辑</Button>*/}
</Space>
) },
]}
{...tableProps}
/>
</div>
);
}
export default List;

View File

@ -0,0 +1,81 @@
import { Button, Form, message, Modal } from "antd";
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";
import useTable from "zy-react-library/hooks/useTable";
import LeftTree from "~/components/LeftTree";
export const PERSONNEL_TYPE_ENUM = [
{ id: "0", name: "非流动人员" },
{ id: "1", name: "流动人员" },
];
function List(props) {
const [form] = Form.useForm();
const { tableProps, getData } = useTable(() => {}, { form });
const onResetPassword = (id) => {
Modal.confirm({
title: "提示",
content: "是否重置密码为Bb@123456789",
onOk: () => {
message.success("重置密码成功");
getData();
},
});
};
return (
<div style={{ padding: 20 }}>
<div style={{ display: "flex", gap: 20 }}>
<LeftTree />
<div style={{ flex: 1 }}>
<Search
labelCol={{ span: 8 }}
options={[
{ name: "name", label: "姓名" },
{ name: "name", label: "身份证" },
{
name: "name",
label: "人员类型",
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: PERSONNEL_TYPE_ENUM,
},
{
name: "name",
label: "基础信息填报状态",
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: [{ id: "0", name: "未填报" }, { id: "1", name: "已填报" }],
},
]}
form={form}
/>
<Table
columns={[
{ title: "用户名", dataIndex: "name" },
{ title: "姓名", dataIndex: "name" },
{ title: "部门", dataIndex: "name" },
{ title: "人员类型", dataIndex: "name" },
{ title: "培训状态", dataIndex: "name" },
{ title: "基础信息填报状态", dataIndex: "name" },
{
title: "操作",
width: 300,
render: (_, record) => (
<>
<Button type="link" onClick={() => props.history.push(`./UserView?id=${record.id}`)}>查看</Button>
<Button type="link" onClick={() => onResetPassword(record.id)}>重置密码</Button>
</>
),
},
]}
{...tableProps}
dataSource={[{}]}
/>
</div>
</div>
</div>
);
}
export default List;

View File

@ -0,0 +1,941 @@
import { Descriptions, Divider } from "antd";
import { useState } from "react";
import HeaderBack from "zy-react-library/components/HeaderBack";
import PreviewImg from "zy-react-library/components/PreviewImg";
import Table from "zy-react-library/components/Table";
import TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg";
import useDownloadFile from "zy-react-library/hooks/useDownloadFile";
import { getLabelName } from "zy-react-library/utils";
import { MARITAL_STATUS_ENUM, SEX_ENUM, WHETHER_ENUM } from "../Add";
function UserView() {
const { downloadFile } = useDownloadFile();
const [info] = useState({
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
selectUserId: null,
username: "13058604112",
password: "16758a08251b174145edfb6188bcb5dd51a827f1",
name: "0513-1",
roleId: "fhadminzhuche",
rolesName: null,
lastLogin: null,
ip: null,
status: 0,
bz: "注册用户",
sex: null,
skin: "pcoded-navbar navbar-image-3,navbar pcoded-header navbar-expand-lg navbar-light header-dark,",
email: null,
number: null,
phone: "13058604112",
roleIds: null,
departmentId: "dd5ab430a9f442a0be64c61a9645b904",
departmentName: null,
departmentNameAll: null,
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
funIds: null,
appid: null,
postId: "jhsdGsdghbs",
postName: "jhsdGsdghbs",
ismain: "0",
errorCount: 0,
sort: null,
learnercategory: null,
useravatarprefix: null,
useravatarurl: null,
shiftdutyone: null,
shiftdutytwo: null,
duration: null,
workstatus: null,
workperiod: null,
isRecorder: null,
personnelType: null,
personnelTypeName: null,
isHazardconfirmer: null,
isAccessauditor: null,
isOnlinelearning: null,
personType: null,
jcr: null,
pushCid: null,
empno: null,
cfdStatus: null,
cardno: null,
userIdCard: null,
isPolice: null,
userIdentity: null,
baseimgpath: null,
backendaddr: null,
mkmjcard: null,
ispush: "1",
userType: "3",
inHrUser: "0",
isDelete: 0,
creator: null,
createTime: "2025-04-20 14:41:54",
operat: "87ef258559e6430aa837e0f38062e250",
operatTime: "2025-08-29 11:05:09",
mkmjVehicleReviewer: null,
userIds: null,
departSort: null,
corpinfoName: null,
classCount: null,
completeCount: null,
studystate: null,
corpInfoStatus: null,
busImgList: null,
faceFile: null,
facePermissions: null,
job: null,
jobLevel: null,
jobLevelName: null,
nation: null,
nationName: null,
basicinfoId: null,
precinctId: null,
roleName: null,
isassess: null,
mkmjPermissions: "1",
inMkmjBlacklist: null,
disableMkmj: null,
employCorpName: null,
validityPeriodStart: null,
validityPeriodEnd: null,
classNo: null,
employCorpId: null,
xgfUserId: "5d8dcfbcd27741c79efaa6ca31941b9e",
loginUser: null,
isFlow: "0",
isFlowName: null,
trainStatus: null,
trainStatusName: null,
basicState: null,
basicStateName: null,
userPhoto: null,
userPhotoInfo: [
{
imgfilesId: "4a7197ac1f844466a592f5ac54bb7071",
filepath: "/uploadFiles/file/xgf/920fa607d47c431b9142912801d10047.jpg",
},
],
userCard: null,
userCardInfo: [
{
imgfilesId: "4a3a9d1cca0b463290afbe2da7f86fcd",
filepath: "/uploadFiles/file/xgf/887b696c5593413f9c108111ef111c1f.jpg",
},
{
imgfilesId: "70972a9e21e3448d9dbfffae02f442ba",
filepath: "/uploadFiles/file/xgf/51588b4531a449b58ace522928c75166.png",
},
],
socSecurity: null,
socSecurityInfo: [
{
imgfilesId: "c733ce9c56e746c99814503dbd09992e",
filepath: "/uploadFiles/file/xgf/082c6408413648879f53bd02f5c6059b.png",
},
{
imgfilesId: "efaa255ef2e64da7920e2b4415a0e250",
filepath: "/uploadFiles/file/xgf/dde0abbe4c494111bc1e7533bda76178.png",
},
],
contract: null,
contractInfo: [],
insurance: null,
insuranceInfo: [],
empInsurance: null,
empInsuranceInfo: [],
threeLevel: null,
threeLevelInfo: [],
deleteFileIds: null,
emp: {
employmentApplyManagementId: "50b9c363d6584072a7a14b1ef6fc3468",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
relevantUnitName: "测试相关方",
startDate: "2025-04-20 14:43:50",
endDate: null,
leaveReason: null,
applyTime: null,
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
creator: "5d8dcfbcd27741c79efaa6ca31941b9e",
createtime: "2025-04-20 14:43:51",
operator: "87ef258559e6430aa837e0f38062e250",
operatetime: "2025-08-11 18:20:32",
isdelete: "0",
auditState: "2",
departState: "0",
reviewState: "",
departmentId: "dd5ab430a9f442a0be64c61a9645b904",
remarks: null,
auditRemarks: null,
auditTime: null,
auditPerson: null,
corpStartDate: "2025-04-20",
postId: "jhsdGsdghbs",
entryDate: null,
isSignLabor: "0",
isInjuriesPay: "0",
socialNumber: "462218514G0CB1PQ55",
ispay: "0",
isLevelThree: "0",
isSafetyTell: "0",
isBodyAdapt: "0",
isSpecialJob: "0",
isflow: "0",
isSocial: "1",
socialType: null,
isBf: "0",
},
userDetails: {
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
name: "0513-1",
phone: "13058604112",
creattime: "2025-08-11 18:20:31",
departState: "0",
isdelete: "0",
personWorkType: null,
personWorkTypeName: null,
age: "21",
hklocal: "11112",
address: "1111",
degreeOfEducation: "dxbk",
degreeOfEducationName: "大学本科",
corpStartDate: null,
postId: "jhsdGsdghbs",
postName: "jhsdGsdghbs",
workSign: null,
joinedDate: null,
workDate: null,
photo: "/uploadFiles/file/xgf/920fa607d47c431b9142912801d10047.jpg",
dateOfBirth: "2004-06-07",
ispay: "0",
ispayNumber: "",
isSafetyTell: "0",
isSafetyTime: null,
isInjuriesPay: "0",
isSignLabor: "0",
sex: "0",
entryDate: null,
nationality: "mz",
nationalityName: "满族",
maritalstatus: "0",
politicalTime: null,
politicalStatus: "zgybdy01",
politicalStatusName: "中共预备党员",
isInjuriesPayTime: "",
isLevelThree: "0",
isBodyAdapt: "0",
isSpecialJob: null,
belongToCorp: "dd5ab430a9f442a0be64c61a9645b904",
belongToCorpName: "测试相关方",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
managerDepartmentId: null,
managerDepartmentName: null,
competentDepartmentId: null,
competentDepartmentName: null,
mainDepartmentId: null,
mainDepartmentName: null,
cardId: "130726200406079838",
departmentId: "dd5ab430a9f442a0be64c61a9645b904",
departmentName: "测试相关方",
isSocial: "1",
isBf: "0",
socialNumber: "462218514G0CB1PQ55",
zzname: null,
annex: "/uploadFiles/file/xgf/94212aec9b66433ca3b665a68251d8b5.zip",
attorney: null,
commitmentLetter: null,
},
trainingRec: [
{
classInfoId: "7a3ab8fabd8a4b51a8e2ed1d081b19b3",
createTime: "2025-05-19 00:00:00",
creator: "1",
operateTime: "2025-05-19 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "65a5b863a20a4f85b43dc63dc0bd9308",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-15 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "0515-1222",
openingTime: "2025-05-15 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "a14252d3baed49f3b694d51f8a01a543",
createTime: "2025-06-01 00:00:00",
creator: "1",
operateTime: "2025-06-01 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "3bbc4df4bcef4de698fea4c6fdc963ea",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-15 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "666666",
openingTime: "2025-05-15 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "be1a01e7bbde4c6cacbc0a7bd437687e",
createTime: "2025-05-18 00:00:00",
creator: "1",
operateTime: "2025-05-18 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "1",
classMessageId: "0e46e74fce7d4b038a5409633750722c",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-15 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "0515-111",
openingTime: "2025-05-15 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "0ba29ef2449d4c35a74fa20f15840f63",
createTime: "2025-05-17 19:00:00",
creator: "1",
operateTime: "2025-05-17 19:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "8b03ba6329ff4807abdf758e3ed8e53b",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-14 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "0514-111",
openingTime: "2025-05-14 00:00:00",
place: "d7d30999957a46d6a647fe8e168fb960",
placeName: "铁运开站小教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "28800a073d8e4afb945aeb61b364d093",
createTime: "2025-06-01 00:00:00",
creator: "1",
operateTime: "2025-06-01 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "0dd69622dc5e4e27a142f9a07f7b4a9a",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-14 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "123",
openingTime: "2025-05-14 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "75bafd4545484f739d03c5b1228e187a",
createTime: "2025-06-01 00:00:01",
creator: "1",
operateTime: "2025-06-01 00:00:01",
operator: "1",
isdelete: "0",
corpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "de07771f21344c7e9e8b40ed26a221b8",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-14 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "0514-1",
openingTime: "2025-05-14 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "8a85c80f40774b1a8a11b97b06328f40",
createTime: "2025-05-16 00:00:00",
creator: "1",
operateTime: "2025-05-16 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "53c1f413ad564dadb3139346be548a7d",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-14 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "12121",
openingTime: "2025-05-14 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "9a6cf3a55ae2497e9ac7fddca29395af",
createTime: "2025-06-01 00:00:01",
creator: "1",
operateTime: "2025-06-01 00:00:01",
operator: "1",
isdelete: "0",
corpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "f18561c4f3304de2abb3abf3447c1f42",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-14 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "888888",
openingTime: "2025-05-14 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "c0b73248951647fdacbc0135435c35b6",
createTime: "2025-05-16 00:00:00",
creator: "1",
operateTime: "2025-05-16 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "1f60ce32b7824c7c8f528dfec2f486f6",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-14 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "新建班级",
openingTime: "2025-05-14 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "8c0bd01a749a4ab9a9debbb502e2fc8b",
createTime: "2025-05-17 00:00:00",
creator: "1",
operateTime: "2025-05-17 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "2902e676235441f9b0a9b0b04e2323c4",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-13 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "测试测试",
openingTime: "2025-05-13 00:00:00",
place: "",
placeName: null,
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "c5b2fb9938584f9eb31a8695c6b17b1f",
createTime: "2025-06-01 00:00:00",
creator: "1",
operateTime: "2025-06-01 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "23dbed8a477c45f790739ff6c739a010",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-13 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "0513-1",
openingTime: "2025-05-13 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "ce21960b2c304134af6e96a26cff1f70",
createTime: "2025-05-14 18:50:00",
creator: "1",
operateTime: "2025-05-14 18:50:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "61ab001c98d54c5e8db53de675445523",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250514/c3e85138dea843578204357528f1611b.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-12 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "测试一个教育培训",
openingTime: "2025-05-12 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
],
special: [],
flows: [
{
flowId: "fd58bf5ad97847419f8de769639947f5",
type: "1",
creator: null,
creatorName: null,
creatorTime: "2025-05-13 14:30:18",
validFlag: "1",
foreignKey: "5d8dcfbcd27741c79efaa6ca31941b9e",
isdelete: "0",
endFlag: "1",
details: [
{
flowDetailId: "33ec9909844b482fbcdb8c6cc1e8a9db",
flowId: "fd58bf5ad97847419f8de769639947f5",
stepFlag: "0",
stepName: "相关方提交人员信息到发包单位",
sort: 0,
parentId: "0",
approverId: "87ef258559e6430aa837e0f38062e250",
approverName: "测试相关方",
approverOpinion: null,
approverCorpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
approverCorpinfoName: "测试相关方",
approverTime: "2025-05-13 14:30:18",
passFlag: "1",
endFlag: "0",
isdelete: "0",
foreignKey: null,
appointAnnex: "/uploadFiles/file/xgf/94212aec9b66433ca3b665a68251d8b5.zip",
appointAnnexName: null,
},
{
flowDetailId: "b6e4612892b14a73b8aa4324c69c85d3",
flowId: "fd58bf5ad97847419f8de769639947f5",
stepFlag: "0",
stepName: null,
sort: 1,
parentId: "33ec9909844b482fbcdb8c6cc1e8a9db",
approverId: "94407a4e15ec46b5974b128e124fa661",
approverName: "齐津铖",
approverOpinion: "",
approverCorpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
approverCorpinfoName: "卓云企业",
approverTime: "2025-05-13 14:38:39",
passFlag: "1",
endFlag: "0",
isdelete: "0",
foreignKey: null,
appointAnnex: null,
appointAnnexName: null,
},
{
flowDetailId: "1ef915958e5e4eba872c55588524b168",
flowId: "fd58bf5ad97847419f8de769639947f5",
stepFlag: "1",
stepName: null,
sort: 2,
parentId: "b6e4612892b14a73b8aa4324c69c85d3",
approverId: "94407a4e15ec46b5974b128e124fa661",
approverName: "齐津铖",
approverOpinion: "",
approverCorpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
approverCorpinfoName: "卓云企业",
approverTime: "2025-05-13 14:39:43",
passFlag: "1",
endFlag: "1",
isdelete: "0",
foreignKey: null,
appointAnnex: null,
appointAnnexName: null,
},
],
},
],
lastFlow: {
flowsId: "5d8dcfbcd27741c79efaa6ca31941b9e",
foreignKeyId: "5d8dcfbcd27741c79efaa6ca31941b9e",
foreignKeyName: "sys_user=>user_id",
flowsStep: 1,
flowsType: "0",
isDelete: "0",
appointZeroCorpId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
appointZeroCorpType: null,
appointZeroCorpName: "卓云企业",
appointZeroDepartmentId: "16579f1de79743198884a56350c113cc",
appointZeroDepartmentName: "分公司级测试部门",
appointZeroUserId: "94407a4e15ec46b5974b128e124fa661",
appointZeroUserName: "齐津铖",
appointZeroStatus: "1",
appointZeroOpinion: "",
appointZeroTime: "2025-05-13 14:38:39",
appointOneCorpId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
appointOneCorpName: "卓云企业",
appointOneCorpType: "0",
appointOneDepartmentId: "16579f1de79743198884a56350c113cc",
appointOneDepartmentName: "",
appointOneUserId: "94407a4e15ec46b5974b128e124fa661",
appointOneUserName: "齐津铖",
appointOneStatus: "1",
appointOneOpinion: "",
appointOneTime: "2025-05-13 14:39:42",
appointTwoCorpId: null,
appointTwoCorpName: null,
appointTwoCorpType: null,
appointTwoDepartmentId: null,
appointTwoDepartmentName: null,
appointTwoUserId: null,
appointTwoUserName: null,
appointTwoStatus: null,
appointTwoOpinion: null,
appointTwoTime: null,
appointThreeCorpId: null,
appointThreeCorpName: null,
appointThreeCorpType: null,
appointThreeDepartmentId: null,
appointThreeDepartmentName: null,
appointThreeUserId: null,
appointThreeUserName: null,
appointThreeStatus: null,
appointThreeOpinion: null,
appointThreeTime: null,
appointFourCorpId: null,
appointFourCorpName: null,
appointFourCorpType: null,
appointFourDepartmentId: null,
appointFourDepartmentName: null,
appointFourUserId: null,
appointFourUserName: null,
appointFourStatus: null,
appointFourOpinion: null,
appointFiveCorpId: null,
appointFiveCorpName: null,
appointFiveCorpType: null,
appointFiveDepartmentId: null,
appointFiveDepartmentName: null,
appointFiveUserId: null,
appointFiveUserName: null,
appointFiveStatus: null,
appointFiveOpinion: null,
appointSixCorpId: null,
appointSixCorpName: null,
appointSixCorpType: null,
appointSixDepartmentId: null,
appointSixDepartmentName: null,
appointSixUserId: null,
appointSixUserName: null,
appointSixStatus: null,
appointSixOpinion: null,
appointSevenCorpId: null,
appointSevenCorpName: null,
appointSevenCorpType: null,
appointSevenDepartmentId: null,
appointSevenDepartmentName: null,
appointSevenUserId: null,
appointSevenUserName: null,
appointSevenStatus: null,
appointSevenOpinion: null,
sendType: "1",
checkStatus: "2",
checkStatusName: "审核结束",
},
powerFlag: null,
entrustFlag: null,
lastStepFlag: null,
checkStep: null,
flowsStep: null,
flowsType: null,
attorney: null,
appointZeroUserId: null,
appointZeroCorpName: "卓云企业",
appointZeroTime: null,
appointOneUserId: null,
appointOneCorpName: "卓云企业",
appointOneTime: null,
appointTwoUserId: null,
appointTwoCorpName: null,
appointTwoTime: null,
appointThreeUserId: null,
appointThreeCorpName: null,
appointThreeTime: null,
appointFourUserId: null,
appointFourCorpName: null,
appointFiveUserId: null,
appointFiveCorpName: null,
appointSixUserId: null,
appointSixCorpName: null,
appointSevenUserId: null,
appointSevenCorpName: null,
appointTime: "2025-05-13 14:39:42",
cardId: null,
belongToCorp: "dd5ab430a9f442a0be64c61a9645b904",
belongToCorpName: "测试相关方",
degreeOfEducation: null,
isSocial: null,
isInjuriesPay: null,
ispay: null,
isBf: null,
age: null,
unValidFlag: "1",
unValidInfo: "合格证有效期",
checkStatus: null,
classStatus: null,
});
return (
<>
<HeaderBack title="查看" />
<div style={{ padding: 20 }}>
<Divider orientation="left">人员信息</Divider>
<Descriptions
column={6}
labelStyle={{ width: 200 }}
items={[
{ label: "照片", children: info.userImg?.length > 0 ? <PreviewImg files={info.userImg} /> : "暂无信息" },
{ label: "身份证照片", children: info.userImg?.length > 0 ? <PreviewImg files={info.userImg} /> : "暂无信息" },
{ label: "社保卡照片", children: info.userImg?.length > 0 ? <PreviewImg files={info.userImg} /> : "暂无信息" },
{ label: "工伤保险凭证", span: 3, children: info.userImg?.length > 0 ? <PreviewImg files={info.userImg} /> : "暂无信息" },
{ label: "姓名", children: info.name },
{ label: "性别", children: getLabelName({ status: info.sex, list: SEX_ENUM }) },
{ label: "出生年月", children: info.dateOfBirth },
{ label: "年龄", children: info.age },
{ label: "手机号", children: info.phone },
{ label: "身份证", children: info.cardId },
{ label: "民族", children: info.nationalityName || "暂无信息" },
{ label: "婚姻状况", children: getLabelName({ status: info.maritalstatus, list: MARITAL_STATUS_ENUM }) },
{ label: "政治面貌", children: info.politicalStatusName },
...(info.politicalStatusName === "中共党员" ? [{ label: "入党时间", children: info.politicalTime }] : []),
{ label: "户口所在地", children: info.hklocal || "暂无信息" },
{ label: "现住址", children: info.address || "暂无信息" },
{ label: "文化程度", children: info.degreeOfEducationName },
{ label: "岗位名称(工种)", children: info.postId },
{ label: "是否缴纳社保", children: getLabelName({ status: info.isSocial, list: WHETHER_ENUM }) },
...(info.isSocial === "1"
? [
{ label: "社会保障号码", children: info.socialNumber },
{ label: "社保卡照片", children: info.socSecurity?.length > 0 ? <PreviewImg files={info.socSecurity} /> : "暂无信息" },
]
: []),
{ label: "是否按期缴纳工伤保险", children: getLabelName({ status: info.isInjuriesPay, list: WHETHER_ENUM }) },
...(info.isInjuriesPay === "1"
? [
{ label: "工伤保险有效期", children: info.isInjuriesPayTime },
{ label: "工伤保险凭证", children: info.empInsurance?.length > 0 ? <PreviewImg files={info.empInsurance} /> : "暂无信息" },
]
: []),
{ label: "是否缴纳商业保险", children: getLabelName({ status: info.ispay, list: WHETHER_ENUM }) },
...(info.ispay === "1"
? [
{ label: "商业保险单号", children: info.ispayNumber },
{ label: "商业保险附件", children: info.insurance?.length > 0 ? <PreviewImg files={info.insurance} /> : "暂无信息" },
]
: []),
{ label: "是否签订劳动合同", children: getLabelName({ status: info.isSignLabor, list: WHETHER_ENUM }) },
...(info.isSignLabor === "1"
? [
{ label: "劳动合同附件", children: info.contract?.length > 0 ? <PreviewImg files={info.contract} /> : "暂无信息" },
]
: []),
{ label: "是否参加三级安全培训", children: getLabelName({ status: info.isLevelThree, list: WHETHER_ENUM }) },
...(info.isLevelThree === "1"
? [
{ label: "三级安全培训照片", children: info.threeLevel?.length > 0 ? <PreviewImg files={info.threeLevel} /> : "暂无信息" },
]
: []),
{ label: "是否缴纳保险", children: getLabelName({ status: info.isBf, list: WHETHER_ENUM }) },
{ label: "是否特殊工种", children: getLabelName({ status: info.isSpecialJob, list: WHETHER_ENUM }) },
{ label: "是否流动人员", children: getLabelName({ status: info.isflow, list: WHETHER_ENUM }) },
]}
/>
<Divider orientation="left">培训记录</Divider>
<Table
columns={[
{ title: "班级名称", dataIndex: "className" },
{ title: "培训状态", dataIndex: "status" },
{ title: "开班时间", dataIndex: "openingTime" },
{ title: "培训地点", dataIndex: "placeName" },
{ title: "所在单位名称", dataIndex: "belongToCorpName" },
{ title: "所在部门名称", dataIndex: "belongToCorpName" },
{ title: "培训有效期", dataIndex: "validityPeriod" },
]}
pagination={false}
dataSource={info.trainingRec}
disabledResizer={true}
/>
<Divider orientation="left">特证信息</Divider>
<Table
columns={[
{ title: "特证照片", dataIndex: "filepath", render: (_, record) => (<TooltipPreviewImg files={[]} />) },
{ title: "作业类别", dataIndex: "specialTypeName" },
{ title: "操作项目", dataIndex: "operationTypeName" },
{ title: "证书名称", dataIndex: "certificate" },
{ title: "发证机关", dataIndex: "issuingAuthority" },
{ title: "证书类型", dataIndex: "cerTypeName" },
{ title: "有效期", dataIndex: "time" },
]}
pagination={false}
dataSource={info.special}
disabledResizer={true}
/>
</div>
</>
);
}
export default UserView;

View File

@ -0,0 +1,617 @@
import { Button, Descriptions, Divider, Form } from "antd";
import { useState } from "react";
import HeaderBack from "zy-react-library/components/HeaderBack";
import Search from "zy-react-library/components/Search";
import Table from "zy-react-library/components/Table";
import TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg";
function View(props) {
const [form] = Form.useForm();
const fnSearch = (values) => {
console.log(values);
};
const [info] = useState({
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
selectUserId: null,
username: "13058604112",
password: "16758a08251b174145edfb6188bcb5dd51a827f1",
name: "0513-1",
roleId: "fhadminzhuche",
rolesName: null,
lastLogin: null,
ip: null,
status: 0,
bz: "注册用户",
sex: null,
skin: "pcoded-navbar navbar-image-3,navbar pcoded-header navbar-expand-lg navbar-light header-dark,",
email: null,
number: null,
phone: "13058604112",
roleIds: null,
departmentId: "dd5ab430a9f442a0be64c61a9645b904",
departmentName: null,
departmentNameAll: null,
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
funIds: null,
appid: null,
postId: "jhsdGsdghbs",
postName: "jhsdGsdghbs",
ismain: "0",
errorCount: 0,
sort: null,
learnercategory: null,
useravatarprefix: null,
useravatarurl: null,
shiftdutyone: null,
shiftdutytwo: null,
duration: null,
workstatus: null,
workperiod: null,
isRecorder: null,
personnelType: null,
personnelTypeName: null,
isHazardconfirmer: null,
isAccessauditor: null,
isOnlinelearning: null,
personType: null,
jcr: null,
pushCid: null,
empno: null,
cfdStatus: null,
cardno: null,
userIdCard: null,
isPolice: null,
userIdentity: null,
baseimgpath: null,
backendaddr: null,
mkmjcard: null,
ispush: "1",
userType: "3",
inHrUser: "0",
isDelete: 0,
creator: null,
createTime: "2025-04-20 14:41:54",
operat: "87ef258559e6430aa837e0f38062e250",
operatTime: "2025-08-29 11:05:09",
mkmjVehicleReviewer: null,
userIds: null,
departSort: null,
corpinfoName: null,
classCount: null,
completeCount: null,
studystate: null,
corpInfoStatus: null,
busImgList: null,
faceFile: null,
facePermissions: null,
job: null,
jobLevel: null,
jobLevelName: null,
nation: null,
nationName: null,
basicinfoId: null,
precinctId: null,
roleName: null,
isassess: null,
mkmjPermissions: "1",
inMkmjBlacklist: null,
disableMkmj: null,
employCorpName: null,
validityPeriodStart: null,
validityPeriodEnd: null,
classNo: null,
employCorpId: null,
xgfUserId: "5d8dcfbcd27741c79efaa6ca31941b9e",
loginUser: null,
isFlow: "0",
isFlowName: null,
trainStatus: null,
trainStatusName: null,
basicState: null,
basicStateName: null,
userPhoto: null,
userPhotoInfo: [
{
imgfilesId: "4a7197ac1f844466a592f5ac54bb7071",
filepath: "/uploadFiles/file/xgf/920fa607d47c431b9142912801d10047.jpg",
},
],
userCard: null,
userCardInfo: [
{
imgfilesId: "4a3a9d1cca0b463290afbe2da7f86fcd",
filepath: "/uploadFiles/file/xgf/887b696c5593413f9c108111ef111c1f.jpg",
},
{
imgfilesId: "70972a9e21e3448d9dbfffae02f442ba",
filepath: "/uploadFiles/file/xgf/51588b4531a449b58ace522928c75166.png",
},
],
socSecurity: null,
socSecurityInfo: [
{
imgfilesId: "c733ce9c56e746c99814503dbd09992e",
filepath: "/uploadFiles/file/xgf/082c6408413648879f53bd02f5c6059b.png",
},
{
imgfilesId: "efaa255ef2e64da7920e2b4415a0e250",
filepath: "/uploadFiles/file/xgf/dde0abbe4c494111bc1e7533bda76178.png",
},
],
contract: null,
contractInfo: [],
insurance: null,
insuranceInfo: [],
empInsurance: null,
empInsuranceInfo: [],
threeLevel: null,
threeLevelInfo: [],
deleteFileIds: null,
emp: {
employmentApplyManagementId: "50b9c363d6584072a7a14b1ef6fc3468",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
relevantUnitName: "测试相关方",
startDate: "2025-04-20 14:43:50",
endDate: null,
leaveReason: null,
applyTime: null,
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
creator: "5d8dcfbcd27741c79efaa6ca31941b9e",
createtime: "2025-04-20 14:43:51",
operator: "87ef258559e6430aa837e0f38062e250",
operatetime: "2025-08-11 18:20:32",
isdelete: "0",
auditState: "2",
departState: "0",
reviewState: "",
departmentId: "dd5ab430a9f442a0be64c61a9645b904",
remarks: null,
auditRemarks: null,
auditTime: null,
auditPerson: null,
corpStartDate: "2025-04-20",
postId: "jhsdGsdghbs",
entryDate: null,
isSignLabor: "0",
isInjuriesPay: "0",
socialNumber: "462218514G0CB1PQ55",
ispay: "0",
isLevelThree: "0",
isSafetyTell: "0",
isBodyAdapt: "0",
isSpecialJob: "0",
isflow: "0",
isSocial: "1",
socialType: null,
isBf: "0",
},
userDetails: {
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
name: "0513-1",
phone: "13058604112",
creattime: "2025-08-11 18:20:31",
departState: "0",
isdelete: "0",
personWorkType: null,
personWorkTypeName: null,
age: "21",
hklocal: "11112",
address: "1111",
degreeOfEducation: "dxbk",
degreeOfEducationName: "大学本科",
corpStartDate: null,
postId: "jhsdGsdghbs",
postName: "jhsdGsdghbs",
workSign: null,
joinedDate: null,
workDate: null,
photo: "/uploadFiles/file/xgf/920fa607d47c431b9142912801d10047.jpg",
dateOfBirth: "2004-06-07",
ispay: "0",
ispayNumber: "",
isSafetyTell: "0",
isSafetyTime: null,
isInjuriesPay: "0",
isSignLabor: "0",
sex: "0",
entryDate: null,
nationality: "mz",
nationalityName: "满族",
maritalstatus: "0",
politicalTime: null,
politicalStatus: "zgybdy01",
politicalStatusName: "中共预备党员",
isInjuriesPayTime: "",
isLevelThree: "0",
isBodyAdapt: "0",
isSpecialJob: null,
belongToCorp: "dd5ab430a9f442a0be64c61a9645b904",
belongToCorpName: "测试相关方",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
managerDepartmentId: null,
managerDepartmentName: null,
competentDepartmentId: null,
competentDepartmentName: null,
mainDepartmentId: null,
mainDepartmentName: null,
cardId: "130726200406079838",
departmentId: "dd5ab430a9f442a0be64c61a9645b904",
departmentName: "测试相关方",
isSocial: "1",
isBf: "0",
socialNumber: "462218514G0CB1PQ55",
zzname: null,
annex: "/uploadFiles/file/xgf/94212aec9b66433ca3b665a68251d8b5.zip",
attorney: null,
commitmentLetter: null,
},
trainingRec: [
{
classInfoId: "7a3ab8fabd8a4b51a8e2ed1d081b19b3",
createTime: "2025-05-19 00:00:00",
creator: "1",
operateTime: "2025-05-19 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "65a5b863a20a4f85b43dc63dc0bd9308",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-15 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "0515-1222",
openingTime: "2025-05-15 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
{
classInfoId: "a14252d3baed49f3b694d51f8a01a543",
createTime: "2025-06-01 00:00:00",
creator: "1",
operateTime: "2025-06-01 00:00:00",
operator: "1",
isdelete: "0",
corpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
userId: "5d8dcfbcd27741c79efaa6ca31941b9e",
status: "0",
classMessageId: "3bbc4df4bcef4de698fea4c6fdc963ea",
username: "13058604112",
name: "0513-1",
sex: "0",
cardId: "130726200406079838",
belongToCorpName: "测试相关方",
departmentName: "测试相关方",
photo: "/uploadFiles/file/education/face/20250515/a394731af5cf4fab8183fa7663a1e491.jpeg",
phone: "13058604112",
personWorkType: null,
certificate: null,
classNo: null,
trainUsersId: null,
validityPeriodStart: "2025-05-15 00:00:00",
validityPeriodEnd: "2025-05-14",
className: "666666",
openingTime: "2025-05-15 00:00:00",
place: "3725a5aa60da407e87b7931e311da192",
placeName: "教育培训中心(东山校区)阶梯教室",
postName: null,
deptName: "测试相关方",
},
],
special: [],
flows: [
{
flowId: "fd58bf5ad97847419f8de769639947f5",
type: "1",
creator: null,
creatorName: null,
creatorTime: "2025-05-13 14:30:18",
validFlag: "1",
foreignKey: "5d8dcfbcd27741c79efaa6ca31941b9e",
isdelete: "0",
endFlag: "1",
details: [
{
flowDetailId: "33ec9909844b482fbcdb8c6cc1e8a9db",
flowId: "fd58bf5ad97847419f8de769639947f5",
stepFlag: "0",
stepName: "相关方提交人员信息到发包单位",
sort: 0,
parentId: "0",
approverId: "87ef258559e6430aa837e0f38062e250",
approverName: "测试相关方",
approverOpinion: null,
approverCorpinfoId: "dd5ab430a9f442a0be64c61a9645b904",
approverCorpinfoName: "测试相关方",
approverTime: "2025-05-13 14:30:18",
passFlag: "1",
endFlag: "0",
isdelete: "0",
foreignKey: null,
appointAnnex: "/uploadFiles/file/xgf/94212aec9b66433ca3b665a68251d8b5.zip",
appointAnnexName: null,
},
{
flowDetailId: "b6e4612892b14a73b8aa4324c69c85d3",
flowId: "fd58bf5ad97847419f8de769639947f5",
stepFlag: "0",
stepName: null,
sort: 1,
parentId: "33ec9909844b482fbcdb8c6cc1e8a9db",
approverId: "94407a4e15ec46b5974b128e124fa661",
approverName: "齐津铖",
approverOpinion: "",
approverCorpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
approverCorpinfoName: "卓云企业",
approverTime: "2025-05-13 14:38:39",
passFlag: "1",
endFlag: "0",
isdelete: "0",
foreignKey: null,
appointAnnex: null,
appointAnnexName: null,
},
{
flowDetailId: "1ef915958e5e4eba872c55588524b168",
flowId: "fd58bf5ad97847419f8de769639947f5",
stepFlag: "1",
stepName: null,
sort: 2,
parentId: "b6e4612892b14a73b8aa4324c69c85d3",
approverId: "94407a4e15ec46b5974b128e124fa661",
approverName: "齐津铖",
approverOpinion: "",
approverCorpinfoId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
approverCorpinfoName: "卓云企业",
approverTime: "2025-05-13 14:39:43",
passFlag: "1",
endFlag: "1",
isdelete: "0",
foreignKey: null,
appointAnnex: null,
appointAnnexName: null,
},
],
},
],
lastFlow: {
flowsId: "5d8dcfbcd27741c79efaa6ca31941b9e",
foreignKeyId: "5d8dcfbcd27741c79efaa6ca31941b9e",
foreignKeyName: "sys_user=>user_id",
flowsStep: 1,
flowsType: "0",
isDelete: "0",
appointZeroCorpId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
appointZeroCorpType: null,
appointZeroCorpName: "卓云企业",
appointZeroDepartmentId: "16579f1de79743198884a56350c113cc",
appointZeroDepartmentName: "分公司级测试部门",
appointZeroUserId: "94407a4e15ec46b5974b128e124fa661",
appointZeroUserName: "齐津铖",
appointZeroStatus: "1",
appointZeroOpinion: "",
appointZeroTime: "2025-05-13 14:38:39",
appointOneCorpId: "13cf0f4ec77e4d98ae8cdd9c3386ae0c",
appointOneCorpName: "卓云企业",
appointOneCorpType: "0",
appointOneDepartmentId: "16579f1de79743198884a56350c113cc",
appointOneDepartmentName: "",
appointOneUserId: "94407a4e15ec46b5974b128e124fa661",
appointOneUserName: "齐津铖",
appointOneStatus: "1",
appointOneOpinion: "",
appointOneTime: "2025-05-13 14:39:42",
appointTwoCorpId: null,
appointTwoCorpName: null,
appointTwoCorpType: null,
appointTwoDepartmentId: null,
appointTwoDepartmentName: null,
appointTwoUserId: null,
appointTwoUserName: null,
appointTwoStatus: null,
appointTwoOpinion: null,
appointTwoTime: null,
appointThreeCorpId: null,
appointThreeCorpName: null,
appointThreeCorpType: null,
appointThreeDepartmentId: null,
appointThreeDepartmentName: null,
appointThreeUserId: null,
appointThreeUserName: null,
appointThreeStatus: null,
appointThreeOpinion: null,
appointThreeTime: null,
appointFourCorpId: null,
appointFourCorpName: null,
appointFourCorpType: null,
appointFourDepartmentId: null,
appointFourDepartmentName: null,
appointFourUserId: null,
appointFourUserName: null,
appointFourStatus: null,
appointFourOpinion: null,
appointFiveCorpId: null,
appointFiveCorpName: null,
appointFiveCorpType: null,
appointFiveDepartmentId: null,
appointFiveDepartmentName: null,
appointFiveUserId: null,
appointFiveUserName: null,
appointFiveStatus: null,
appointFiveOpinion: null,
appointSixCorpId: null,
appointSixCorpName: null,
appointSixCorpType: null,
appointSixDepartmentId: null,
appointSixDepartmentName: null,
appointSixUserId: null,
appointSixUserName: null,
appointSixStatus: null,
appointSixOpinion: null,
appointSevenCorpId: null,
appointSevenCorpName: null,
appointSevenCorpType: null,
appointSevenDepartmentId: null,
appointSevenDepartmentName: null,
appointSevenUserId: null,
appointSevenUserName: null,
appointSevenStatus: null,
appointSevenOpinion: null,
sendType: "1",
checkStatus: "2",
checkStatusName: "审核结束",
},
powerFlag: null,
entrustFlag: null,
lastStepFlag: null,
checkStep: null,
flowsStep: null,
flowsType: null,
attorney: null,
appointZeroUserId: null,
appointZeroCorpName: "卓云企业",
appointZeroTime: null,
appointOneUserId: null,
appointOneCorpName: "卓云企业",
appointOneTime: null,
appointTwoUserId: null,
appointTwoCorpName: null,
appointTwoTime: null,
appointThreeUserId: null,
appointThreeCorpName: null,
appointThreeTime: null,
appointFourUserId: null,
appointFourCorpName: null,
appointFiveUserId: null,
appointFiveCorpName: null,
appointSixUserId: null,
appointSixCorpName: null,
appointSevenUserId: null,
appointSevenCorpName: null,
appointTime: "2025-05-13 14:39:42",
cardId: null,
belongToCorp: "dd5ab430a9f442a0be64c61a9645b904",
belongToCorpName: "测试相关方",
degreeOfEducation: null,
isSocial: null,
isInjuriesPay: null,
ispay: null,
isBf: null,
age: null,
unValidFlag: "1",
unValidInfo: "合格证有效期",
checkStatus: null,
classStatus: null,
});
return (
<>
<HeaderBack title="查看" />
<div style={{ padding: 20 }}>
<Divider orientation="left">企业基础信息</Divider>
<Descriptions
column={6}
labelStyle={{ width: 200 }}
items={[
// { label: "照片", children: info.userImg?.length > 0 ? <PreviewImg files={info.userImg} /> : "暂无信息"},
{ label: "企业名称", children: info.corpName },
{ label: "企业状态", children: info.xgfState, span: 5 },
{ label: "股份被监督部门", children: info.managerDepIds },
{ label: "股份主管部门", children: info.dateOfBirthmainDepIds },
{ label: "基层单位监管部门", children: info.agecompetentDepIds },
{ label: "基层单位主管部门", children: info.superviseDepIds },
{ label: "集团单位", children: info.phonecorpTypIds },
{ label: "开户人", children: info.cardIdholderName },
{ label: "统一社会信用代码", children: info.code, span: 3 },
{ label: "属地", children: info.companyAreas },
{ label: "所属行业", children: info.industryNames },
{ label: "经济类型", children: info.ecoType },
{ label: "经度", children: info.longitude },
{ label: "维度", children: info.latitude },
{ label: "单位经营地址", children: info.address },
{ label: "企业规模", children: info.scale },
{ label: "法人姓名", children: info.lrName },
{ label: "联系电话", children: info.lrPhone },
{ label: "主要负责人", children: info.contacts },
{ label: "主要负责人联系电话", children: info.contactsPhone },
{ label: "成立日期", children: info.createDate },
{ label: "职工人数(人)", children: info.employees },
{ label: "资产总额(万元)", children: info.totalassets },
{ label: "注册资金(万元)", children: info.regcapital },
{ label: "用工形式", children: info.employmentForm },
{ label: "选取形式", children: info.selectForms },
]}
/>
<Divider orientation="left">营业执照</Divider>
<Descriptions
column={2}
labelStyle={{ width: 200 }}
items={[{ label: "营业执照有效期", children: info.managerDepIds }, { label: "营业执照", children: (
<TooltipPreviewImg files={[]} />
) }]}
/>
<Divider orientation="left">单位资质信息</Divider>
<Table
columns={[
{ title: "资质正式名称", dataIndex: "className" },
{ title: "证书有效期", dataIndex: "status" },
{ title: "证件编号", dataIndex: "openingTime" },
{ title: "培训地点", dataIndex: "placeName" },
{ title: "有效期", dataIndex: "time", render: (_, record) => (<TooltipPreviewImg files={[record.url]} />) },
]}
pagination={false}
dataSource={info.trainingRec}
disabledResizer={true}
/>
<Divider orientation="left">相关方人员信息</Divider>
<Search
options={[
// { name: "name", label: "关键字", tip: "证书名称/证书编号" },
{ name: "name", label: "姓名", placeholder: "请输入姓名,支持模糊搜索" },
]}
labelCol={{ span: 2 }}
form={form}
onFinish={fnSearch}
/>
<Table
columns={[
{ title: "特证照片", dataIndex: "filepath", render: (_, record) => (<TooltipPreviewImg files={[record.url]} />) },
{ title: "作业类别", dataIndex: "specialTypeName" },
{ title: "操作项目", dataIndex: "operationTypeName" },
{ title: "证书名称", dataIndex: "certificate" },
{ title: "发证机关", dataIndex: "issuingAuthority" },
{ title: "证书类型", dataIndex: "cerTypeName" },
{ title: "有效期", dataIndex: "time", render: (_, record) => (
<>
<Button type="link" onClick={() => props.history.push(`./UserView?id=${record.id}`)}>查看</Button>
</>
) },
]}
dataSource={info.special}
/>
</div>
</>
);
}
export default View;

View File

@ -0,0 +1,9 @@
function Supervision(props) {
return (
<div>
{props.children}
</div>
);
}
export default Supervision;