企业端修改企业中台

dev
853931625@qq.com 2026-06-25 09:50:48 +08:00
parent 04beb13b51
commit 88e804b3c7
6 changed files with 83 additions and 346 deletions

View File

@ -94,6 +94,10 @@ export const pageByNopermission = declareRequest(
"enterpriseLoading", "enterpriseLoading",
"Post > @/basicInfo/user/pageByNopermission", "Post > @/basicInfo/user/pageByNopermission",
); );
export const pageByNopermissionAll = declareRequest(
"enterpriseLoading",
"Post > @/basicInfo/user/pageByNopermissionAll",
);
export const userChangeRecordList = declareRequest( export const userChangeRecordList = declareRequest(
"enterpriseLoading", "enterpriseLoading",
"Post > @/basicInfo/userChangeRecord/list", "Post > @/basicInfo/userChangeRecord/list",

View File

@ -1,116 +1,7 @@
import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; import ListPage from "~/pages/Container/Supervision/EnterpriseMiddleground/ChangeList";
import { Connect } from "@cqsjjb/jjb-dva-runtime";
import { Button, Form, Space } from "antd";
import Page from "zy-react-library/components/Page";
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 useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import useTable from "zy-react-library/hooks/useTable";
import { NS_USER } from "~/enumerate/namespace";
const ENTERPRISE_TYPE = [
{
bianma: 0,
name: "普通企业",
},
{
bianma: 1,
name: "集团单位",
},
{
bianma: 6,
name: "物资中心",
},
];
function ChangeList(props) { function ChangeList(props) {
const [form] = Form.useForm(); return (<ListPage {...props} />);
const queryParams = useGetUrlQuery();
const { tableProps, getData } = useTable(props["userEmploymentLogAll"], {
form,
usePermission: false,
transform: (formData) => {
return {
...formData,
eqUserId: queryParams["id"],
};
},
});
return (
<div>
<Page headerTitle="变更记录列表">
<Search
form={form}
options={[
{
name: "name",
label: "公司名称",
},
{
name: "eqtype",
label: "企业类型",
render: FORM_ITEM_RENDER_ENUM.SELECT,
items: ENTERPRISE_TYPE,
},
]}
onFinish={getData}
/>
<Table
columns={[
{
title: "变更时间",
dataIndex: "updateTime",
},
{
title: "企业名称",
dataIndex: "corpinfoName",
},
{
title: "部门名称",
dataIndex: "departmentName",
},
{
title: "岗位名称",
dataIndex: "postName",
},
{
title: "员工",
dataIndex: "name",
render: (_, record) => (
<div>
{record.employmentFlag === 1
? "在职"
: record.employmentFlag === 1
? "离职"
: ""}
</div>
),
},
{
title: "操作",
width: 200,
hidden: !(props.permission("qyyhzt-bgjl-info")),
render: (_, record) => (
<Space>
<Button
type="link"
onClick={() =>
props.history.push(`./ChangeView?id=${record.id}&type=record`)}
>
查看
</Button>
</Space>
),
},
]}
{...tableProps}
/>
</Page>
</div>
);
} }
export default Connect([NS_USER], true)(Permission(ChangeList));
export default ChangeList;

View File

@ -1,184 +1,7 @@
import { Connect } from "@cqsjjb/jjb-dva-runtime"; import ViewPage from "~/pages/Container/Supervision/EnterpriseMiddleground/ChangeView";
import { Button, Descriptions, Divider, message, Modal } from "antd";
import { useEffect, useState } from "react";
import Page from "zy-react-library/components/Page";
import Table from "zy-react-library/components/Table";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import { NS_ENTERPRISE, NS_USER } from "~/enumerate/namespace";
function ChangeView(props) { function ChangeView(props) {
const queryParams = useGetUrlQuery(); return (<ViewPage {...props} />);
const [info, setInfo] = useState({});
useEffect(() => {
props["getChangerRecordInfoById"]({ corpinfoId: queryParams["corpinfoId"], userId: queryParams["id"] }).then((res) => {
if (res.data) {
setInfo(res.data);
} }
});
}, []);
const onSubmit = async () => { export default ChangeView;
Modal.confirm({
title: "提示",
content: "确认后,该名员工的信息将处于离职状态,涉及的待完成相关工作,可能会受到异常。",
onOk: () => {
props["reviewStatus"]({
corpinfoId: queryParams["corpinfoId"],
employmentFlag: queryParams["employmentFlag"],
reviewStatus: 2,
userId: queryParams["id"],
}).then((res) => {
if (res.success) {
message.success("审核成功");
window.history.back();
}
});
},
});
};
const handleReject = () => {
Modal.confirm({
title: "提示",
content: "确定驳回吗?",
onOk: () => {
props["reviewStatus"]({
corpinfoId: queryParams["corpinfoId"],
employmentFlag: queryParams["employmentFlag"],
reviewStatus: 3,
userId: queryParams["id"],
}).then((res) => {
if (res.success) {
message.success("驳回成功");
window.history.back();
}
});
},
});
};
const onGoBack = () => {
window.history.back();
};
return (
<div>
<Page
headerTitle="变更记录"
extraActionButtons={
queryParams["type"] === "disposal"
&& (
<div>
<Button key="reject" onClick={handleReject} style={{ marginRight: 20 }}>
驳回
</Button>
<Button
type="primary"
onClick={onSubmit}
>
通过
</Button>
</div>
)
}
>
<Divider orientation="left">变更前信息</Divider>
<Descriptions
bordered
items={[
{
label: "姓名",
children: info.username,
},
{
label: "企业名称",
children: info.corpinfoNameBefore,
},
{
label: "部门名称",
children: info.departmentNameBefore,
},
{
label: "岗位名称",
children: info.postNameBefore,
},
{
label: "员工状态",
children: info.userStatusBefore,
},
]}
column={2}
labelStyle={{
width: 200,
}}
/>
<Divider orientation="left">变更后信息</Divider>
<Descriptions
bordered
items={[
{
label: "姓名",
children: info.username,
},
{
label: "企业名称",
children: info.corpinfoNameAfter,
},
{
label: "部门名称",
children: info.departmentNameAfter,
},
{
label: "岗位名称",
children: info.postNameAfter,
},
{
label: "员工状态",
children: info.userStatusAfter,
},
{
label: "变更时间",
children: info.changeTime,
contentStyle: { display: queryParams["type"] === "disposal" ? "none" : "" },
labelStyle: { display: queryParams["type"] === "disposal" ? "none" : "" },
},
]}
column={2}
labelStyle={{
width: 200,
}}
/>
<Divider orientation="left">{queryParams["type"] === "disposal" ? "未完成工作" : "工作交接"}</Divider>
<Table
pagination={false}
columns={[
{
title: "工作项目",
dataIndex: "corpName",
},
{
title: "工作内容",
dataIndex: "type",
},
{
title: "处理人",
dataIndex: "departMentCount",
hidden: queryParams["type"] === "disposal",
},
]}
dataSource={info.userJobHandoverCOList}
/>
</Page>
</div>
);
}
export default Connect([NS_ENTERPRISE, NS_USER], true)(ChangeView);

View File

@ -16,20 +16,24 @@ import { UseDecodeIdCard } from "~/utils";
const USER_TYPE = [ const USER_TYPE = [
{ {
bianma: 1, bianma: "1",
name: "在职", name: "在职",
}, },
{ {
bianma: 2, bianma: "0",
name: "离职", name: "离职",
}, },
{
bianma: "2",
name: "信息变更中",
},
]; ];
function List(props) { function List(props) {
const [selectedNodeId, setSelectedNodeId] = useState(); const [selectedNodeId, setSelectedNodeId] = useState();
const [addModalOpen, setAddModalOpen] = useState(false); const [addModalOpen, setAddModalOpen] = useState(false);
const [currentId, setCurrentId] = useState(""); const [currentId, setCurrentId] = useState("");
const [form] = Form.useForm(); const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["userList"], { const { tableProps, getData } = useTable(props["pageByNopermissionAll"], {
form, form,
transform: (formData) => { transform: (formData) => {
return { return {
@ -73,7 +77,7 @@ function List(props) {
label: "姓名", label: "姓名",
}, },
{ {
name: "eqtype", name: "eqEmploymentFlag",
label: "人员状态", label: "人员状态",
render: FORM_ITEM_RENDER_ENUM.SELECT, render: FORM_ITEM_RENDER_ENUM.SELECT,
items: USER_TYPE, items: USER_TYPE,
@ -106,23 +110,30 @@ function List(props) {
title: "手机号", title: "手机号",
dataIndex: "phone", dataIndex: "phone",
}, },
// {
// title: "中台是否存在",
// dataIndex: "name",
// },
{ {
title: "状态", title: "人资系统是否存在",
dataIndex: "name", dataIndex: "rzFlag",
render: (_, record) => ( render: (_, record) => (
<div> <div>
{record.employmentFlag === 1 {record.rzFlag === 1
? "在职" ? ""
: record.employmentFlag === 1 : record.rzFlag === 0
? "离职" ? ""
: ""} : ""}
</div> </div>
), ),
}, },
{
title: "人员状态",
dataIndex: "employmentFlag",
render: (_, record) => (
<div>
{
getLabelName({ list: USER_TYPE, status: record.employmentFlag })
}
</div>
),
},
{ {
title: "操作", title: "操作",
width: 220, width: 220,
@ -152,13 +163,13 @@ function List(props) {
) )
} }
{ {
props.permission("qyd-qyyhzt-disposal") props.permission("qyd-quyhzt-disposal") && record.employmentFlag === 2
&& ( && (
<Button <Button
type="link" type="link"
danger danger
onClick={() => onClick={() =>
props.history.push(`./ChangeView?id=${record.id}&type=disposal`)} props.history.push(`./ChangeView?userId=${record.id}&type=disposal&corpinfoId=${record.corpinfoId}`)}
> >
变更处置 变更处置
</Button> </Button>

View File

@ -5,10 +5,37 @@ import Page from "zy-react-library/components/Page";
import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj"; import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj";
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj"; import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
import Table from "zy-react-library/components/Table"; import Table from "zy-react-library/components/Table";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import { getLabelName } from "zy-react-library/utils";
import { NS_ENTERPRISE, NS_USER } from "~/enumerate/namespace"; import { NS_ENTERPRISE, NS_USER } from "~/enumerate/namespace";
const USER_TYPE = [
{
bianma: "1",
name: "在职",
},
{
bianma: "0",
name: "离职",
},
{
bianma: "2",
name: "信息变更中",
},
{
bianma: "3",
name: "已退休",
},
{
bianma: "11",
name: "入职待审核",
},
{
bianma: "10",
name: "离职待审核",
},
];
function ChangeView(props) { function ChangeView(props) {
const queryParams = useGetUrlQuery(); const queryParams = useGetUrlQuery();
const [form] = Form.useForm(); const [form] = Form.useForm();
@ -80,7 +107,7 @@ function ChangeView(props) {
items={[ items={[
{ {
label: "姓名", label: "姓名",
children: info.username, children: info.userNameBefore,
}, },
{ {
label: "企业名称", label: "企业名称",
@ -96,15 +123,11 @@ function ChangeView(props) {
}, },
{ {
label: "员工状态", label: "员工状态",
children: ( children:
<div> getLabelName({
{info.userStatusBefore === 1 status: info.userStatusBefore,
? "待审批" list: USER_TYPE,
: info.userStatusBefore === 2 }),
? "通过"
: ""}
</div>
),
}, },
]} ]}
@ -120,7 +143,7 @@ function ChangeView(props) {
items={[ items={[
{ {
label: "姓名", label: "姓名",
children: info.username, children: info.userNameAfter,
}, },
{ {
label: "企业名称", label: "企业名称",
@ -136,16 +159,11 @@ function ChangeView(props) {
}, },
{ {
label: "员工状态", label: "员工状态",
children: ( children:
<div> getLabelName({
{info.userStatusAfter === 1 status: info.userStatusAfter,
? "待审批" list: USER_TYPE,
: info.userStatusAfter === 2 }),
? "通过"
: ""}
</div>
),
}, },
{ {
label: "变更时间", label: "变更时间",
@ -218,7 +236,8 @@ function ChangeView(props) {
rules={[{ required: true, message: "请选择部门" }]} rules={[{ required: true, message: "请选择部门" }]}
> >
<DepartmentSelectTree <DepartmentSelectTree
placeholder="当前登录账号公司组织机构" isNeedCorpInfoId={true}
params={{ eqCorpinfoId: queryParams.corpinfoId }}
onChange={(value) => { onChange={(value) => {
setDepartmentId(value); setDepartmentId(value);
setHandoverUserInfo({}); setHandoverUserInfo({});
@ -234,17 +253,6 @@ function ChangeView(props) {
<PersonnelSelect <PersonnelSelect
onGetOption={(value) => { onGetOption={(value) => {
// 在这里 公司 部门 岗位 人员 取value里的这些字段
// {
// "id":"2008787570160480256"
// "name": "股份_王雯仲",
// "corpinfoId": "1976974388809424896",
// "corpinfoName": "秦皇岛港股份有限公司",
// "departmentId": "2008786394509651968",
// "departmentName": "总经办",
// "postId": "2008786566382211074",
// "postName": "董事长助理",
// }
setHandoverUserInfo(value || {}); setHandoverUserInfo(value || {});
}} }}
params={{ departmentId }} params={{ departmentId }}

View File

@ -36,7 +36,7 @@ function List(props) {
const [currentId, setCurrentId] = useState(""); const [currentId, setCurrentId] = useState("");
const queryParams = useGetUrlQuery(); const queryParams = useGetUrlQuery();
const [form] = Form.useForm(); const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["pageByNopermission"], { const { tableProps, getData } = useTable(props["pageByNopermissionAll"], {
form, form,
usePermission: false, usePermission: false,
transform: (formData) => { transform: (formData) => {
@ -185,7 +185,7 @@ function List(props) {
type="link" type="link"
danger danger
onClick={() => onClick={() =>
props.history.push(`./ChangeView?userId=${record.id}&type=disposal`)} props.history.push(`./ChangeView?userId=${record.id}&type=disposal&corpinfoId=${record.corpinfoId}`)}
> >
变更处置 变更处置
</Button> </Button>