Merge branch 'master' of http://47.92.113.182:3000/zcloud_gbs/zcloud_gbs_basic_info_gwj-react
commit
0c481644fb
|
|
@ -29,11 +29,11 @@ function Info(props) {
|
|||
{ label: "主要负责人手机号", children: "Zhou" },
|
||||
{ label: "安全负责人", children: "Zhou" },
|
||||
{ label: "安全负责人手机号", children: "Zhou" },
|
||||
{ label: "隶属关系", children: "Zhou" },
|
||||
{ label: "是否规模以上", children: "Zhou" },
|
||||
{ label: "企事业单位经营地址", children: "Zhou" },
|
||||
{ label: "企业状态", children: "Zhou" },
|
||||
{ label: "营业执照", children: "Zhou" },
|
||||
{ label: "营业执照有效期", children: "Zhou" },
|
||||
]}
|
||||
/>
|
||||
<Divider orientation="left">企业相关属性</Divider>
|
||||
|
|
|
|||
|
|
@ -25,18 +25,35 @@ function Update() {
|
|||
<HeaderBack title="修改" />
|
||||
<div style={{ paddingBottom: 10 }}>
|
||||
<FormBuilder
|
||||
values={{
|
||||
SCALE_TYPE: "0",
|
||||
WHETHER_HYGIENE: "0",
|
||||
WHETHER_HAZARDS: "0",
|
||||
WHETHER_SCARCE: "0",
|
||||
WHETHER_CHEMICALS: "0",
|
||||
WHETHER_SPECIALEQUIPMENT: "0",
|
||||
WHETHER_SPECIALPEOPLE: "0",
|
||||
WHETHER_COALGAS: "0",
|
||||
WHETHER_FIRE: "0",
|
||||
WHETHER_CONFINED: "0",
|
||||
WHETHER_POWDER: "0",
|
||||
WHETHER_LIGHTNING: "0",
|
||||
WHETHER_ACTINOGEN: "0",
|
||||
WHETHER_LIQUIDAMMONIA: "0",
|
||||
WHETHER_PIPELINE: "0",
|
||||
}}
|
||||
form={form}
|
||||
values={{ FOURTYPE: "1" }}
|
||||
labelCol={{ span: 6 }}
|
||||
onFinish={onSubmit}
|
||||
options={[
|
||||
{ label: "基本信息", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
|
||||
{ label: "企业名称", name: "CORP_NAME", span: 24 },
|
||||
{ label: "企业名称", name: "CORP_NAME", span: 24, componentProps: { disabled: true } },
|
||||
{
|
||||
label: "社会统一信用代码",
|
||||
name: "CODE",
|
||||
rules: [{ pattern: UNIFIED_SOCIAL_CREDIT_CODE, message: "请输入正确的社会统一信用代码" }],
|
||||
},
|
||||
{ label: "所属区域", name: "POSSESSION" },
|
||||
{ label: "所属区域", name: "POSSESSION", componentProps: { disabled: true } },
|
||||
{
|
||||
label: "邮政编码",
|
||||
name: "POSTAL_CODE",
|
||||
|
|
@ -90,13 +107,6 @@ function Update() {
|
|||
required: false,
|
||||
rules: [{ pattern: PHONE, message: "请输入正确的手机号" }],
|
||||
},
|
||||
{
|
||||
label: "隶属关系",
|
||||
name: "SUBORDINATION",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ id: "1-10人", name: "1-10人" }],
|
||||
},
|
||||
{
|
||||
label: "是否规模以上",
|
||||
name: "SCALE_TYPE",
|
||||
|
|
@ -104,34 +114,13 @@ function Update() {
|
|||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: WHETHER_ENUM,
|
||||
},
|
||||
{ label: "企事业单位经营地址", name: "ADDRESS_BUSINESS", span: 24 },
|
||||
{
|
||||
label: "四色图类型",
|
||||
name: "FOURTYPE",
|
||||
required: false,
|
||||
span: 24,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: [{ id: "1", name: "平面四色图" }],
|
||||
componentProps: {
|
||||
onChange: () => {
|
||||
form.setFieldValue("FOUR_IMAGES", undefined);
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "四色图",
|
||||
name: "FOUR_IMAGES",
|
||||
required: false,
|
||||
span: 24,
|
||||
dependencies: ["FOURTYPE"],
|
||||
hidden: formValues => !(formValues.FOURTYPE === "1"),
|
||||
render: ({ value, onChange }) => <Upload ratio="1480*640" value={value} onChange={onChange} />,
|
||||
},
|
||||
{ label: "企事业单位经营地址", name: "ADDRESS_BUSINESS" },
|
||||
{ label: "成立时间", name: "CREATE_DATE", render: FORM_ITEM_RENDER_ENUM.DATE },
|
||||
{
|
||||
label: "营业执照",
|
||||
name: "BUS_IMAGES",
|
||||
span: 24,
|
||||
render: ({ value, onChange }) => <Upload maxCount={9} value={value} onChange={onChange} />,
|
||||
render: ({ value, onChange }) => <Upload value={value} onChange={onChange} />,
|
||||
},
|
||||
{ label: "企业相关属性", render: FORM_ITEM_RENDER_ENUM.DIVIDER },
|
||||
{
|
||||
|
|
@ -154,6 +143,7 @@ function Update() {
|
|||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: WHETHER_ENUM,
|
||||
formItemProps: {},
|
||||
},
|
||||
{
|
||||
label: "是否涉及危化品",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
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 TooltipPreviewImg from "zy-react-library/components/TooltipPreviewImg";
|
||||
|
|
@ -26,10 +27,11 @@ function List(props) {
|
|||
{ name: "name", label: "证书有效期", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
toolBarRender={() => (
|
||||
<Button type="primary" onClick={() => props.history.push("./add")}>新增</Button>
|
||||
<Button type="primary" icon={<AddIcon />} onClick={() => props.history.push("./add")}>新增</Button>
|
||||
)}
|
||||
columns={[
|
||||
{ title: "证书名称", dataIndex: "name" },
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
import { Button, Form, message, Modal, Space, Tag } 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 BackIcon from "zy-react-library/components/Icon/BackIcon";
|
||||
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
|
||||
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 { PHONE } from "zy-react-library/regular";
|
||||
|
||||
const DEPARTMENT_LEVEL_ENUM = [
|
||||
{ id: "departmentLevel0001", name: "分公司" },
|
||||
|
|
@ -44,23 +45,25 @@ function OrganizationStructure() {
|
|||
},
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
toolBarRender={() => (
|
||||
<>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<AddIcon />}
|
||||
onClick={() => {
|
||||
setAddModalOpen(true);
|
||||
}}
|
||||
>
|
||||
新增
|
||||
</Button>
|
||||
<Button>返回</Button>
|
||||
<Button icon={<BackIcon />}>返回</Button>
|
||||
</>
|
||||
)}
|
||||
columns={[
|
||||
{ title: "名称", dataIndex: "name" },
|
||||
{ title: "部门名称", dataIndex: "name" },
|
||||
{ title: "部门级别", dataIndex: "name" },
|
||||
{ title: "主管领导", dataIndex: "name" },
|
||||
{
|
||||
|
|
@ -124,19 +127,21 @@ function AddModalComponent(props) {
|
|||
width={800}
|
||||
>
|
||||
<FormBuilder
|
||||
values={{
|
||||
isRegulatory: "2",
|
||||
}}
|
||||
form={form}
|
||||
span={24}
|
||||
labelCol={{ span: 10 }}
|
||||
onFinish={onSubmit}
|
||||
showActionButtons={false}
|
||||
options={[
|
||||
{ name: "name", label: "上级部门", render: () => (<Tag color="processing">111</Tag>) },
|
||||
{ name: "name", label: "名称" },
|
||||
{ name: "name", label: "部门级别", render: FORM_ITEM_RENDER_ENUM.SELECT, items: DEPARTMENT_LEVEL_ENUM },
|
||||
{ name: "name", label: "安全监管部门", required: false, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ id: "0", name: "是" }, { id: "2", name: "否" }], tip: "安全监管部门负责人在“安委会办公室副主任核实”菜单处理重大较大隐患" },
|
||||
{ name: "name", label: "部门负责人", required: false, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ id: "1-10人", name: "1-10人" }] },
|
||||
{ name: "name", label: "部门负责人手机号", required: false, rules: [{ pattern: PHONE, message: "请输入正确的手机号" }] },
|
||||
{ name: "name", label: "排序", render: FORM_ITEM_RENDER_ENUM.NUMBER },
|
||||
{ name: "parentName", label: "上级部门", render: () => (<Tag color="processing">111</Tag>) },
|
||||
{ name: "name", label: "部门名称" },
|
||||
{ name: "level", label: "部门级别", render: FORM_ITEM_RENDER_ENUM.SELECT, items: DEPARTMENT_LEVEL_ENUM },
|
||||
{ name: "isRegulatory", label: "是否安全监管部门", required: false, render: FORM_ITEM_RENDER_ENUM.RADIO, items: [{ id: "0", name: "是" }, { id: "2", name: "否" }], tip: "安全监管部门负责人在“安委会办公室副主任核实”菜单处理重大较大隐患" },
|
||||
{ name: "bz", label: "备注", required: false, render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
|
||||
{ name: "sort", label: "排序", render: FORM_ITEM_RENDER_ENUM.NUMBER },
|
||||
]}
|
||||
/>
|
||||
</Modal>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
import { Button, Form, message, Modal, Space, Tag } 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 BackIcon from "zy-react-library/components/Icon/BackIcon";
|
||||
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
|
||||
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 Position() {
|
||||
function Post() {
|
||||
const [addModalOpen, setAddModalOpen] = useState(false);
|
||||
const [currentId, setCurrentId] = useState("");
|
||||
const [form] = Form.useForm();
|
||||
|
|
@ -30,7 +32,7 @@ function Position() {
|
|||
<div style={{ flex: 1 }}>
|
||||
<Search
|
||||
options={[
|
||||
{ name: "name", label: "名称" },
|
||||
{ name: "name", label: "岗位名称" },
|
||||
{
|
||||
name: "name",
|
||||
label: "部门级别",
|
||||
|
|
@ -39,19 +41,21 @@ function Position() {
|
|||
},
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
toolBarRender={() => (
|
||||
<>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<AddIcon />}
|
||||
onClick={() => {
|
||||
setAddModalOpen(true);
|
||||
}}
|
||||
>
|
||||
新增
|
||||
</Button>
|
||||
<Button>返回</Button>
|
||||
<Button icon={<BackIcon />}>返回</Button>
|
||||
</>
|
||||
)}
|
||||
columns={[
|
||||
|
|
@ -119,17 +123,19 @@ function AddModalComponent(props) {
|
|||
width={800}
|
||||
>
|
||||
<FormBuilder
|
||||
values={{
|
||||
regPost: "2",
|
||||
}}
|
||||
form={form}
|
||||
span={24}
|
||||
labelCol={{ span: 10 }}
|
||||
onFinish={onSubmit}
|
||||
showActionButtons={false}
|
||||
options={[
|
||||
{ name: "name", label: "上级部门", render: () => (<Tag color="processing">111</Tag>) },
|
||||
{ name: "name", label: "岗位名称" },
|
||||
{ name: "name", label: "岗位职责" },
|
||||
{ name: "parentName", label: "部门名称", render: () => (<Tag color="processing">111</Tag>) },
|
||||
{ name: "post", label: "岗位名称" },
|
||||
{
|
||||
name: "name",
|
||||
name: "status",
|
||||
label: "状态",
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ id: "0", name: "启用" }, { id: "1", name: "禁用" }],
|
||||
|
|
@ -137,20 +143,10 @@ function AddModalComponent(props) {
|
|||
{
|
||||
name: "regPost",
|
||||
label: "是否监管岗位",
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: [{ id: "1", name: "是" }, { id: "2", name: "否" }],
|
||||
componentProps: {
|
||||
onChange: () => {
|
||||
form.setFieldValue("name", undefined);
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "name",
|
||||
label: "数据权限",
|
||||
dependencies: ["regPost"],
|
||||
hidden: formValues => !(formValues.regPost === "1"),
|
||||
},
|
||||
{ name: "bz", label: "备注", required: false, render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
|
||||
]}
|
||||
/>
|
||||
</Modal>
|
||||
|
|
@ -158,4 +154,4 @@ function AddModalComponent(props) {
|
|||
}
|
||||
|
||||
const AddModal = AddModalComponent;
|
||||
export default Position;
|
||||
export default Post;
|
||||
|
|
@ -1,13 +1,10 @@
|
|||
import { tools } from "@cqsjjb/jjb-common-lib";
|
||||
import { Button, Col, Form, Row, Select, Switch } from "antd";
|
||||
import { useState } from "react";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||
import SelectCreate from "zy-react-library/components/SelectCreate";
|
||||
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||
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";
|
||||
import Scheduling from "~/pages/Container/Enterprise/User/components/Scheduling";
|
||||
|
||||
const { query } = tools.router;
|
||||
const WHETHER_ENUM = [
|
||||
|
|
@ -16,8 +13,6 @@ const WHETHER_ENUM = [
|
|||
];
|
||||
|
||||
function Add() {
|
||||
const [form] = Form.useForm();
|
||||
const [schedulingOpen, setSchedulingOpen] = useState(false);
|
||||
const onSubmit = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
|
|
@ -26,21 +21,17 @@ function Add() {
|
|||
<HeaderBack title={query.id ? "修改" : "新增"} />
|
||||
<div style={{ paddingBottom: 10 }}>
|
||||
<FormBuilder
|
||||
form={form}
|
||||
values={{
|
||||
isHazardconfirmer: "0",
|
||||
facePermissions: "0",
|
||||
mkmjVehicleReviewer: "0",
|
||||
isAccessauditor: "0",
|
||||
isHeadOfDepartment: "0",
|
||||
}}
|
||||
onFinish={onSubmit}
|
||||
labelCol={{ span: 6 }}
|
||||
options={[
|
||||
{ name: "roleId", label: "角色", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "一级部门", id: "1" }] },
|
||||
{ name: "departmentId", label: "部门" },
|
||||
{ name: "roleId", label: "用户角色", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "一级部门", id: "1" }] },
|
||||
{ name: "departmentId", label: "所属部门", render: ({ value, onChange }) => <DepartmentSelectTree value={value} onChange={onChange} /> },
|
||||
{
|
||||
name: "postId",
|
||||
label: "岗位",
|
||||
label: "所属岗位",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
|
|
@ -56,8 +47,6 @@ function Add() {
|
|||
{
|
||||
name: "userIdCard",
|
||||
label: "身份证号",
|
||||
dependencies: ["facePermissions"],
|
||||
required: formValues => formValues.facePermissions === "1",
|
||||
rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }],
|
||||
},
|
||||
{
|
||||
|
|
@ -74,44 +63,11 @@ function Add() {
|
|||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "inHrUser",
|
||||
label: "是否对接人资系统",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: WHETHER_ENUM,
|
||||
componentProps: { disabled: true },
|
||||
},
|
||||
{
|
||||
name: "isHazardconfirmer",
|
||||
label: "是否为隐患确认人",
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: WHETHER_ENUM,
|
||||
},
|
||||
{
|
||||
name: "facePermissions",
|
||||
label: "是否具备人脸权限",
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: WHETHER_ENUM,
|
||||
},
|
||||
{
|
||||
name: "mkmjVehicleReviewer",
|
||||
label: "是否为口门门禁车辆审核人",
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: WHETHER_ENUM,
|
||||
},
|
||||
{
|
||||
name: "isAccessauditor",
|
||||
label: "是否为临时访客审核人",
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: WHETHER_ENUM,
|
||||
},
|
||||
{
|
||||
name: "faceFile",
|
||||
label: "上传人脸照片",
|
||||
required: false,
|
||||
span: 24,
|
||||
dependencies: ["facePermissions"],
|
||||
required: formValues => formValues.facePermissions === "1",
|
||||
render: ({ value, onChange }) => (
|
||||
<Upload
|
||||
size={4}
|
||||
|
|
@ -131,166 +87,11 @@ function Add() {
|
|||
},
|
||||
{ name: "sort", label: "部门排序", required: false, render: FORM_ITEM_RENDER_ENUM.NUMBER },
|
||||
{ name: "email", label: "邮箱", required: false, rules: [{ type: "email", message: "请输入正确的邮箱" }] },
|
||||
{
|
||||
name: "scheduling",
|
||||
label: "排班",
|
||||
span: 24,
|
||||
customizeRender: true,
|
||||
render: () => (
|
||||
<>
|
||||
<Row>
|
||||
<Col span={12}>
|
||||
<Form.Item label="排班" name="shiftdutyone">
|
||||
<Select>
|
||||
{
|
||||
[{ name: "一级部门", id: "1" }].map(item => (
|
||||
<Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>
|
||||
))
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item label=" " labelCol={{ span: 1 }} name="shiftdutytwo" colon={false}>
|
||||
<div style={{ display: "flex", gap: 10 }}>
|
||||
<Select>
|
||||
{
|
||||
[{ name: "一级部门", id: "1" }].map(item => (
|
||||
<Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>
|
||||
))
|
||||
}
|
||||
</Select>
|
||||
<Button
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
setSchedulingOpen(true);
|
||||
}}
|
||||
>
|
||||
当前班状
|
||||
</Button>
|
||||
</div>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
</>
|
||||
),
|
||||
},
|
||||
{ name: "isHeadOfDepartment", label: "是否为部门负责人", required: false, render: FORM_ITEM_RENDER_ENUM.RADIO, items: WHETHER_ENUM },
|
||||
{ name: "bz", label: "备注", span: 24, required: false, render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
|
||||
{
|
||||
name: "isStudent",
|
||||
label: "是否在线学习人员",
|
||||
span: 24,
|
||||
required: false,
|
||||
render: Switch,
|
||||
componentProps: {
|
||||
onChange: () => {
|
||||
form.setFieldValue("politicalOutlook", undefined);
|
||||
form.setFieldValue("dateOfBirth", undefined);
|
||||
form.setFieldValue("incumbency", undefined);
|
||||
form.setFieldValue("duties", undefined);
|
||||
form.setFieldValue("title", undefined);
|
||||
form.setFieldValue("typeOfWork", undefined);
|
||||
form.setFieldValue("entryDate", undefined);
|
||||
form.setFieldValue("workingDate", undefined);
|
||||
form.setFieldValue("userCerFile", undefined);
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "politicalOutlook",
|
||||
label: "政治面貌",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "dateOfBirth",
|
||||
label: "出生年月",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: FORM_ITEM_RENDER_ENUM.DATE,
|
||||
},
|
||||
{
|
||||
name: "incumbency",
|
||||
label: "在职情况",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "duties",
|
||||
label: "职务",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: () => (
|
||||
<SelectCreate
|
||||
items={[{ name: "一级部门", id: "1" }]}
|
||||
label="职务"
|
||||
onDelete={(option) => {
|
||||
console.log(option);
|
||||
}}
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "title",
|
||||
label: "职称",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: () => (
|
||||
<SelectCreate
|
||||
items={[{ name: "一级部门", id: "1" }]}
|
||||
label="职务"
|
||||
onDelete={(option) => {
|
||||
console.log(option);
|
||||
}}
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "typeOfWork",
|
||||
label: "工种",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: () => (
|
||||
<SelectCreate
|
||||
items={[{ name: "一级部门", id: "1" }]}
|
||||
label="职务"
|
||||
onDelete={(option) => {
|
||||
console.log(option);
|
||||
}}
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "entryDate",
|
||||
label: "入职日期",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: FORM_ITEM_RENDER_ENUM.DATE,
|
||||
},
|
||||
{
|
||||
name: "workingDate",
|
||||
label: "参加工作日期",
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: FORM_ITEM_RENDER_ENUM.DATE,
|
||||
},
|
||||
{
|
||||
name: "userCerFile",
|
||||
label: "证书信息",
|
||||
span: 24,
|
||||
required: false,
|
||||
dependencies: ["isStudent"],
|
||||
hidden: formValues => !formValues.isStudent,
|
||||
render: ({ value, onChange }) => <Upload maxCount={9} value={value} onChange={onChange} />,
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<Scheduling open={schedulingOpen} onCancel={() => setSchedulingOpen(false)} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import { Button, Form, message, Modal, Space } from "antd";
|
||||
import { useState } from "react";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import ExportIcon from "zy-react-library/components/Icon/ExportIcon";
|
||||
import ImportIcon from "zy-react-library/components/Icon/ImportIcon";
|
||||
import ImportFile from "zy-react-library/components/ImportFile";
|
||||
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
|
||||
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 Scheduling from "~/pages/Container/Enterprise/User/components/Scheduling";
|
||||
|
||||
function List(props) {
|
||||
const [importOpen, setImportOpen] = useState(false);
|
||||
const [schedulingOpen, setSchedulingOpen] = useState(false);
|
||||
const [form] = Form.useForm();
|
||||
const { tableProps, getData } = useTable(() => {}, { form });
|
||||
const onDelete = (id) => {
|
||||
|
|
@ -56,35 +56,16 @@ function List(props) {
|
|||
<Search
|
||||
options={[
|
||||
{ name: "name", label: "关键字", tip: "用户名/姓名" },
|
||||
{
|
||||
name: "name",
|
||||
label: "排班",
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "name",
|
||||
label: " ",
|
||||
labelCol: { span: 1 },
|
||||
formItemProps: { colon: false },
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "name",
|
||||
label: "是否为隐患确认人",
|
||||
labelCol: { span: 8 },
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "是", id: "1" }, { name: "否", id: "0" }],
|
||||
},
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
toolBarRender={() => (
|
||||
<>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<AddIcon />}
|
||||
onClick={() => {
|
||||
props.history.push("./add");
|
||||
}}
|
||||
|
|
@ -93,13 +74,14 @@ function List(props) {
|
|||
</Button>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<ImportIcon />}
|
||||
onClick={() => {
|
||||
setImportOpen(true);
|
||||
}}
|
||||
>
|
||||
导入
|
||||
</Button>
|
||||
<Button type="primary" onClick={() => onExportExcel()}>导出Excel</Button>
|
||||
<Button type="primary" icon={<ExportIcon />} onClick={() => onExportExcel()}>导出Excel</Button>
|
||||
</>
|
||||
)}
|
||||
columns={[
|
||||
|
|
@ -107,21 +89,12 @@ function List(props) {
|
|||
{ title: "姓名", dataIndex: "name" },
|
||||
{ title: "部门", dataIndex: "name" },
|
||||
{ title: "岗位", dataIndex: "name" },
|
||||
{ title: "排班类型", dataIndex: "name" },
|
||||
{
|
||||
title: "操作",
|
||||
width: 300,
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
<Button type="link" onClick={() => onResetPassword(record.id)}>重置密码</Button>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
setSchedulingOpen(true);
|
||||
}}
|
||||
>
|
||||
排班表
|
||||
</Button>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
|
|
@ -146,7 +119,6 @@ function List(props) {
|
|||
onConfirm={onImportFileConfirm}
|
||||
onCancel={() => { setImportOpen(false); }}
|
||||
/>
|
||||
<Scheduling open={schedulingOpen} onCancel={() => setSchedulingOpen(false)} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,122 +0,0 @@
|
|||
import { DoubleLeftOutlined, DoubleRightOutlined, LeftOutlined, RightOutlined } from "@ant-design/icons";
|
||||
import { Button, Calendar, Modal } from "antd";
|
||||
import dayjs from "dayjs";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
function Scheduling(props) {
|
||||
const [workDateList, setWorkDateList] = useState([]);
|
||||
useEffect(() => {
|
||||
setWorkDateList([
|
||||
{ DATE: "2025-10-01", STATE: "2" },
|
||||
{ DATE: "2025-10-02", STATE: "1" },
|
||||
{ DATE: "2025-10-03", STATE: "1" },
|
||||
{ DATE: "2025-10-04", STATE: "2" },
|
||||
{ DATE: "2025-10-05", STATE: "1" },
|
||||
{ DATE: "2025-10-06", STATE: "1" },
|
||||
{ DATE: "2025-10-07", STATE: "2" },
|
||||
{ DATE: "2025-10-08", STATE: "1" },
|
||||
{ DATE: "2025-10-09", STATE: "1" },
|
||||
{ DATE: "2025-10-10", STATE: "2" },
|
||||
{ DATE: "2025-10-11", STATE: "1" },
|
||||
{ DATE: "2025-10-12", STATE: "1" },
|
||||
{ DATE: "2025-10-13", STATE: "2" },
|
||||
{ DATE: "2025-10-14", STATE: "1" },
|
||||
{ DATE: "2025-10-15", STATE: "1" },
|
||||
{ DATE: "2025-10-16", STATE: "2" },
|
||||
{ DATE: "2025-10-17", STATE: "1" },
|
||||
{ DATE: "2025-10-18", STATE: "1" },
|
||||
{ DATE: "2025-10-19", STATE: "2" },
|
||||
{ DATE: "2025-10-20", STATE: "1" },
|
||||
{ DATE: "2025-10-21", STATE: "1" },
|
||||
{ DATE: "2025-10-22", STATE: "2" },
|
||||
{ DATE: "2025-10-23", STATE: "1" },
|
||||
{ DATE: "2025-10-24", STATE: "1" },
|
||||
{ DATE: "2025-10-25", STATE: "2" },
|
||||
{ DATE: "2025-10-26", STATE: "1" },
|
||||
{ DATE: "2025-10-27", STATE: "1" },
|
||||
{ DATE: "2025-10-28", STATE: "2" },
|
||||
{ DATE: "2025-10-29", STATE: "1" },
|
||||
{ DATE: "2025-10-30", STATE: "1" },
|
||||
{ DATE: "2025-10-31", STATE: "2" },
|
||||
]);
|
||||
}, []);
|
||||
const cellRender = (current) => {
|
||||
return (
|
||||
workDateList.map((item) => {
|
||||
if (item.DATE === dayjs(current).format("YYYY-MM-DD")) {
|
||||
return (
|
||||
<span key={item.DATE}>
|
||||
{item.STATE === "1"
|
||||
? <span style={{ color: "#0bb20c" }}>上班</span>
|
||||
: item.STATE === "2"
|
||||
? <span style={{ color: "red" }}>休班</span>
|
||||
: null}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
return null;
|
||||
})
|
||||
);
|
||||
};
|
||||
const headerRender = ({ value, onChange }) => {
|
||||
const year = value.year();
|
||||
const month = value.month() + 1;
|
||||
|
||||
const onNextYear = () => {
|
||||
const nextValue = value.add(1, "year");
|
||||
onChange(nextValue);
|
||||
};
|
||||
|
||||
const onPrevYear = () => {
|
||||
const prevValue = value.subtract(1, "year");
|
||||
onChange(prevValue);
|
||||
};
|
||||
|
||||
const onNextMonth = () => {
|
||||
const nextValue = value.add(1, "month");
|
||||
onChange(nextValue);
|
||||
};
|
||||
|
||||
const onPrevMonth = () => {
|
||||
const prevValue = value.subtract(1, "month");
|
||||
onChange(prevValue);
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={{ display: "flex", justifyContent: "space-between", alignItems: "center", padding: "10px 0" }}>
|
||||
<div>
|
||||
<Button onClick={onPrevYear} icon={<DoubleLeftOutlined style={{ fontSize: 12 }} />} iconPosition="start">前一年</Button>
|
||||
<Button onClick={onPrevMonth} style={{ marginLeft: 8 }} icon={<LeftOutlined style={{ fontSize: 12 }} />} iconPosition="start">前一月</Button>
|
||||
</div>
|
||||
<div style={{ fontSize: "16px", fontWeight: "bold" }}>
|
||||
{year}
|
||||
年
|
||||
{month}
|
||||
月
|
||||
</div>
|
||||
<div>
|
||||
<Button onClick={onNextMonth} icon={<RightOutlined style={{ fontSize: 12 }} />} iconPosition="end">后一月</Button>
|
||||
<Button onClick={onNextYear} style={{ marginLeft: 8 }} icon={<DoubleRightOutlined style={{ fontSize: 12 }} />} iconPosition="end">后一年</Button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<Modal
|
||||
open={props.open}
|
||||
onCancel={props.onCancel}
|
||||
title="排班表"
|
||||
width={800}
|
||||
footer={[
|
||||
<Button key="cancel" onClick={props.onCancel}>
|
||||
关闭
|
||||
</Button>,
|
||||
]}
|
||||
>
|
||||
<Calendar cellRender={cellRender} headerRender={headerRender} />
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
|
||||
export default Scheduling;
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
import { Button, Form, message, Modal, Space, Tag } 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 BackIcon from "zy-react-library/components/Icon/BackIcon";
|
||||
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
|
||||
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 Department() {
|
||||
const [addModalOpen, setAddModalOpen] = useState(false);
|
||||
const [currentId, setCurrentId] = useState("");
|
||||
const [form] = Form.useForm();
|
||||
const { tableProps, getData } = useTable(() => {
|
||||
}, { form });
|
||||
const onDelete = (id) => {
|
||||
Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定删除吗?",
|
||||
onOk: () => {
|
||||
message.success("删除成功");
|
||||
getData();
|
||||
},
|
||||
});
|
||||
};
|
||||
return (
|
||||
<div style={{ padding: 20 }}>
|
||||
<div style={{ display: "flex", gap: 20 }}>
|
||||
<LeftTree />
|
||||
<div style={{ flex: 1 }}>
|
||||
<Search
|
||||
options={[
|
||||
{ name: "name", label: "部门名称" },
|
||||
{
|
||||
name: "name",
|
||||
label: "部门级别",
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
toolBarRender={() => (
|
||||
<>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<AddIcon />}
|
||||
onClick={() => {
|
||||
setAddModalOpen(true);
|
||||
}}
|
||||
>
|
||||
新增
|
||||
</Button>
|
||||
<Button icon={<BackIcon />}>返回</Button>
|
||||
</>
|
||||
)}
|
||||
columns={[
|
||||
{ title: "部门名称", dataIndex: "name" },
|
||||
{
|
||||
title: "操作",
|
||||
width: 200,
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
setAddModalOpen(true);
|
||||
setCurrentId(record.id);
|
||||
}}
|
||||
>
|
||||
修改
|
||||
</Button>
|
||||
<Button type="link" danger onClick={() => onDelete(record.id)}>删除</Button>
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
]}
|
||||
{...tableProps}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<AddModal
|
||||
currentId={currentId}
|
||||
open={addModalOpen}
|
||||
onCancel={() => {
|
||||
setAddModalOpen(false);
|
||||
setCurrentId("");
|
||||
}}
|
||||
getData={getData}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function AddModalComponent(props) {
|
||||
const [form] = Form.useForm();
|
||||
useEffect(() => {
|
||||
if (props.currentId) {
|
||||
console.log(props.currentId);
|
||||
}
|
||||
}, [props.currentId]);
|
||||
const onCancel = () => {
|
||||
form.resetFields();
|
||||
props.onCancel();
|
||||
};
|
||||
const onSubmit = async (values) => {
|
||||
console.log(values);
|
||||
onCancel();
|
||||
props.getData();
|
||||
};
|
||||
return (
|
||||
<Modal
|
||||
open={props.open}
|
||||
onCancel={onCancel}
|
||||
onOk={form.submit}
|
||||
title={props.currentId ? "修改" : "新增"}
|
||||
width={800}
|
||||
>
|
||||
<FormBuilder
|
||||
values={{
|
||||
regDepartment: "2",
|
||||
}}
|
||||
form={form}
|
||||
span={24}
|
||||
labelCol={{ span: 10 }}
|
||||
onFinish={onSubmit}
|
||||
showActionButtons={false}
|
||||
options={[
|
||||
{ name: "parentName", label: "上级部门", render: () => (<Tag color="processing">111</Tag>) },
|
||||
{ name: "department", label: "部门名称" },
|
||||
{ name: "level", label: "部门级别", required: false, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ id: "1", name: "一级部门" }] },
|
||||
{ name: "sort", label: "部门排序", render: FORM_ITEM_RENDER_ENUM.NUMBER },
|
||||
{
|
||||
name: "regDepartment",
|
||||
label: "是否安全管理部门",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: [{ id: "1", name: "是" }, { id: "2", name: "否" }],
|
||||
},
|
||||
{ name: "bz", label: "备注", required: false, render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
|
||||
]}
|
||||
/>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
|
||||
const AddModal = AddModalComponent;
|
||||
export default Department;
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
import { Button, Form, message, Modal, Space, Tag } 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 BackIcon from "zy-react-library/components/Icon/BackIcon";
|
||||
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
|
||||
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 Post() {
|
||||
const [addModalOpen, setAddModalOpen] = useState(false);
|
||||
const [currentId, setCurrentId] = useState("");
|
||||
const [form] = Form.useForm();
|
||||
const { tableProps, getData } = useTable(() => {
|
||||
}, { form });
|
||||
const onDelete = (id) => {
|
||||
Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定删除吗?",
|
||||
onOk: () => {
|
||||
message.success("删除成功");
|
||||
getData();
|
||||
},
|
||||
});
|
||||
};
|
||||
return (
|
||||
<div style={{ padding: 20 }}>
|
||||
<div style={{ display: "flex", gap: 20 }}>
|
||||
<LeftTree />
|
||||
<div style={{ flex: 1 }}>
|
||||
<Search
|
||||
options={[
|
||||
{ name: "name", label: "岗位名称" },
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
toolBarRender={() => (
|
||||
<>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<AddIcon />}
|
||||
onClick={() => {
|
||||
setAddModalOpen(true);
|
||||
}}
|
||||
>
|
||||
新增
|
||||
</Button>
|
||||
<Button icon={<BackIcon />}>返回</Button>
|
||||
</>
|
||||
)}
|
||||
columns={[
|
||||
{ title: "所属部门", dataIndex: "name" },
|
||||
{ title: "岗位名称", dataIndex: "name" },
|
||||
{
|
||||
title: "操作",
|
||||
width: 200,
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
setAddModalOpen(true);
|
||||
setCurrentId(record.id);
|
||||
}}
|
||||
>
|
||||
修改
|
||||
</Button>
|
||||
<Button type="link" danger onClick={() => onDelete(record.id)}>删除</Button>
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
]}
|
||||
{...tableProps}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<AddModal
|
||||
currentId={currentId}
|
||||
open={addModalOpen}
|
||||
onCancel={() => {
|
||||
setAddModalOpen(false);
|
||||
setCurrentId("");
|
||||
}}
|
||||
getData={getData}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function AddModalComponent(props) {
|
||||
const [form] = Form.useForm();
|
||||
useEffect(() => {
|
||||
if (props.currentId) {
|
||||
console.log(props.currentId);
|
||||
}
|
||||
}, [props.currentId]);
|
||||
const onCancel = () => {
|
||||
form.resetFields();
|
||||
props.onCancel();
|
||||
};
|
||||
const onSubmit = async (values) => {
|
||||
console.log(values);
|
||||
onCancel();
|
||||
props.getData();
|
||||
};
|
||||
return (
|
||||
<Modal
|
||||
open={props.open}
|
||||
onCancel={onCancel}
|
||||
onOk={form.submit}
|
||||
title={props.currentId ? "修改" : "新增"}
|
||||
width={800}
|
||||
>
|
||||
<FormBuilder
|
||||
values={{
|
||||
regPost: "2",
|
||||
}}
|
||||
form={form}
|
||||
span={24}
|
||||
labelCol={{ span: 10 }}
|
||||
onFinish={onSubmit}
|
||||
showActionButtons={false}
|
||||
options={[
|
||||
{ name: "parentName", label: "所属部门", render: () => (<Tag color="processing">111</Tag>) },
|
||||
{ name: "department", label: "岗位名称" },
|
||||
{
|
||||
name: "regPost",
|
||||
label: "是否监管岗位",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.RADIO,
|
||||
items: [{ id: "1", name: "是" }, { id: "2", name: "否" }],
|
||||
},
|
||||
{ name: "permission", label: "数据权限", required: false, dependencies: ["regPost"], hidden: formValues => !(formValues.regPost === "1") },
|
||||
{ name: "bz", label: "岗位职责", required: false, render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
|
||||
]}
|
||||
/>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
|
||||
const AddModal = AddModalComponent;
|
||||
export default Post;
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
import { tools } from "@cqsjjb/jjb-common-lib";
|
||||
import FormBuilder from "zy-react-library/components/FormBuilder";
|
||||
import HeaderBack from "zy-react-library/components/HeaderBack";
|
||||
import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
|
||||
import Upload from "zy-react-library/components/Upload";
|
||||
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
|
||||
import { ID_NUMBER, PHONE } from "zy-react-library/regular";
|
||||
|
||||
const { query } = tools.router;
|
||||
const WHETHER_ENUM = [
|
||||
{ id: "1", name: "是" },
|
||||
{ id: "0", name: "否" },
|
||||
];
|
||||
|
||||
function Add() {
|
||||
const onSubmit = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
return (
|
||||
<>
|
||||
<HeaderBack title={query.id ? "修改" : "新增"} />
|
||||
<div style={{ paddingBottom: 10 }}>
|
||||
<FormBuilder
|
||||
values={{
|
||||
isHeadOfDepartment: "0",
|
||||
isDeputyInCharge: "0",
|
||||
}}
|
||||
onFinish={onSubmit}
|
||||
labelCol={{ span: 6 }}
|
||||
options={[
|
||||
{ name: "roleId", label: "用户角色", required: false, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "一级部门", id: "1" }] },
|
||||
{ name: "departmentId", label: "所属部门", render: DepartmentSelectTree },
|
||||
{
|
||||
name: "postId",
|
||||
label: "所属岗位",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{ name: "username", label: "用户名", tip: "* 如果修改手机号,登录密码则会变成初始密码“Aa@123456789”" },
|
||||
{ name: "name", label: "姓名" },
|
||||
{ name: "phone", label: "手机号", rules: [{ pattern: PHONE, message: "请输入正确的手机号" }] },
|
||||
{
|
||||
name: "personType",
|
||||
label: "人员类型",
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "userIdCard",
|
||||
label: "身份证号",
|
||||
required: false,
|
||||
rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }],
|
||||
},
|
||||
{
|
||||
name: "nation",
|
||||
label: "民族",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "sex",
|
||||
label: "性别",
|
||||
required: false,
|
||||
render: FORM_ITEM_RENDER_ENUM.SELECT,
|
||||
items: [{ name: "一级部门", id: "1" }],
|
||||
},
|
||||
{
|
||||
name: "faceFile",
|
||||
label: "上传人脸照片",
|
||||
required: false,
|
||||
span: 24,
|
||||
render: ({ value, onChange }) => (
|
||||
<Upload
|
||||
size={4}
|
||||
value={value}
|
||||
onChange={onChange}
|
||||
tipContent={(
|
||||
<div style={{ lineHeight: 1.6, color: "red", fontSize: 12 }}>
|
||||
<div>* 图像格式:JPG、JPEG、PNG</div>
|
||||
<div>* 图像大小:不超过4M。</div>
|
||||
<div>* 照片大小: 推荐 500*500</div>
|
||||
<div>* 人脸无遮挡(如戴帽子、口罩、眼镜等)、无修图</div>
|
||||
<div>* 人脸需双眼睁开、表情自然、露额,头发不要遮挡</div>
|
||||
</div>
|
||||
)}
|
||||
/>
|
||||
),
|
||||
},
|
||||
{ name: "sort", label: "部门排序", render: FORM_ITEM_RENDER_ENUM.NUMBER },
|
||||
{ name: "level", label: "部门级别", required: false, render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "一级部门", id: "1" }] },
|
||||
{ name: "email", label: "邮箱", required: false, rules: [{ type: "email", message: "请输入正确的邮箱" }] },
|
||||
{ name: "isHeadOfDepartment", label: "是否为部门负责人", required: false, render: FORM_ITEM_RENDER_ENUM.RADIO, items: WHETHER_ENUM },
|
||||
{ name: "isDeputyInCharge", label: "是否为分管领导", required: false, render: FORM_ITEM_RENDER_ENUM.RADIO, items: WHETHER_ENUM },
|
||||
{ name: "bz", label: "备注", span: 24, required: false, render: FORM_ITEM_RENDER_ENUM.TEXTAREA },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default Add;
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
import { Button, Form, message, Modal, Space } from "antd";
|
||||
import { useState } from "react";
|
||||
import AddIcon from "zy-react-library/components/Icon/AddIcon";
|
||||
import ExportIcon from "zy-react-library/components/Icon/ExportIcon";
|
||||
import ImportIcon from "zy-react-library/components/Icon/ImportIcon";
|
||||
import ImportFile from "zy-react-library/components/ImportFile";
|
||||
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
|
||||
import Search from "zy-react-library/components/Search";
|
||||
import Table from "zy-react-library/components/Table";
|
||||
import useTable from "zy-react-library/hooks/useTable";
|
||||
|
||||
function List(props) {
|
||||
const [importOpen, setImportOpen] = useState(false);
|
||||
const [form] = Form.useForm();
|
||||
const { tableProps, getData } = useTable(() => {}, { form });
|
||||
const onDelete = (id) => {
|
||||
Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定删除吗?",
|
||||
onOk: () => {
|
||||
message.success("删除成功");
|
||||
getData();
|
||||
},
|
||||
});
|
||||
};
|
||||
const onExportExcel = () => {
|
||||
Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定要导出到excel吗?",
|
||||
onOk: () => {
|
||||
|
||||
},
|
||||
});
|
||||
};
|
||||
const onResetPassword = () => {
|
||||
Modal.confirm({
|
||||
title: "提示",
|
||||
content: "确定要重置密码为Aa@123456789吗?",
|
||||
onOk: () => {
|
||||
message.success("重置密码成功");
|
||||
},
|
||||
});
|
||||
};
|
||||
const onUnlock = (id) => {
|
||||
message.success("解锁成功");
|
||||
};
|
||||
const onImportFileConfirm = (values) => {
|
||||
console.log(values);
|
||||
message.success("导入成功");
|
||||
};
|
||||
return (
|
||||
<div style={{ padding: 20 }}>
|
||||
<div style={{ display: "flex", gap: 20 }}>
|
||||
<LeftTree />
|
||||
<div style={{ flex: 1 }}>
|
||||
<Search
|
||||
options={[
|
||||
{ name: "name", label: "关键字", tip: "用户名/姓名" },
|
||||
]}
|
||||
form={form}
|
||||
onFinish={getData}
|
||||
/>
|
||||
<Table
|
||||
toolBarRender={() => (
|
||||
<>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<AddIcon />}
|
||||
onClick={() => {
|
||||
props.history.push("./add");
|
||||
}}
|
||||
>
|
||||
新增
|
||||
</Button>
|
||||
<Button
|
||||
type="primary"
|
||||
icon={<ImportIcon />}
|
||||
onClick={() => {
|
||||
setImportOpen(true);
|
||||
}}
|
||||
>
|
||||
导入
|
||||
</Button>
|
||||
<Button type="primary" icon={<ExportIcon />} onClick={() => onExportExcel()}>导出Excel</Button>
|
||||
</>
|
||||
)}
|
||||
columns={[
|
||||
{ title: "用户名", dataIndex: "name" },
|
||||
{ title: "姓名", dataIndex: "name" },
|
||||
{ title: "部门", dataIndex: "name" },
|
||||
{ title: "岗位", dataIndex: "name" },
|
||||
{
|
||||
title: "操作",
|
||||
width: 300,
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
<Button type="link" onClick={() => onResetPassword(record.id)}>重置密码</Button>
|
||||
<Button
|
||||
type="link"
|
||||
onClick={() => {
|
||||
props.history.push(`./add?id=${record.id}`);
|
||||
}}
|
||||
>
|
||||
编辑
|
||||
</Button>
|
||||
<Button type="link" onClick={() => onUnlock(record.id)}>解锁</Button>
|
||||
<Button type="link" danger onClick={() => onDelete(record.id)}>删除</Button>
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
]}
|
||||
{...tableProps}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<ImportFile
|
||||
visible={importOpen}
|
||||
templateUrl=""
|
||||
onConfirm={onImportFileConfirm}
|
||||
onCancel={() => { setImportOpen(false); }}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default List;
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
function User(props) {
|
||||
return (
|
||||
<div>
|
||||
{props.children}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default User;
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
function Supervision(props) {
|
||||
return (
|
||||
<div>
|
||||
{props.children}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Supervision;
|
||||
Loading…
Reference in New Issue