diff --git a/src/pages/Container/Enterprise/IndustryQualification/List/index.js b/src/pages/Container/Enterprise/IndustryQualification/List/index.js index 1962a88..9e3cb69 100644 --- a/src/pages/Container/Enterprise/IndustryQualification/List/index.js +++ b/src/pages/Container/Enterprise/IndustryQualification/List/index.js @@ -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"; @@ -30,7 +31,7 @@ function List(props) { /> ( - + )} columns={[ { title: "证书名称", dataIndex: "name" }, diff --git a/src/pages/Container/Enterprise/OrganizationStructure/index.js b/src/pages/Container/Enterprise/OrganizationStructure/index.js index e03ac44..4f682e5 100644 --- a/src/pages/Container/Enterprise/OrganizationStructure/index.js +++ b/src/pages/Container/Enterprise/OrganizationStructure/index.js @@ -1,6 +1,8 @@ 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"; @@ -50,13 +52,14 @@ function OrganizationStructure() { <> - + )} columns={[ diff --git a/src/pages/Container/Enterprise/Post/index.js b/src/pages/Container/Enterprise/Post/index.js index bebc5de..974c4af 100644 --- a/src/pages/Container/Enterprise/Post/index.js +++ b/src/pages/Container/Enterprise/Post/index.js @@ -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() {
- + )} columns={[ @@ -151,4 +154,4 @@ function AddModalComponent(props) { } const AddModal = AddModalComponent; -export default Position; +export default Post; diff --git a/src/pages/Container/Enterprise/User/Add/index.js b/src/pages/Container/Enterprise/User/Add/index.js index f8742a8..7754f33 100644 --- a/src/pages/Container/Enterprise/User/Add/index.js +++ b/src/pages/Container/Enterprise/User/Add/index.js @@ -1,6 +1,7 @@ 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 } from "zy-react-library/regular"; @@ -27,7 +28,7 @@ function Add() { labelCol={{ span: 6 }} options={[ { name: "roleId", label: "用户角色", render: FORM_ITEM_RENDER_ENUM.SELECT, items: [{ name: "一级部门", id: "1" }] }, - { name: "departmentId", label: "所属部门" }, + { name: "departmentId", label: "所属部门", render: ({ value, onChange }) => }, { name: "postId", label: "所属岗位", @@ -65,6 +66,7 @@ function Add() { { name: "faceFile", label: "上传人脸照片", + required: false, span: 24, render: ({ value, onChange }) => ( {}, { form }); const onDelete = (id) => { @@ -56,27 +56,6 @@ function List(props) { - + )} columns={[ @@ -108,21 +89,12 @@ function List(props) { { title: "姓名", dataIndex: "name" }, { title: "部门", dataIndex: "name" }, { title: "岗位", dataIndex: "name" }, - { title: "排班类型", dataIndex: "name" }, { title: "操作", width: 300, render: (_, record) => ( -
); } diff --git a/src/pages/Container/Enterprise/User/components/Scheduling/index.js b/src/pages/Container/Enterprise/User/components/Scheduling/index.js deleted file mode 100644 index 47cbf55..0000000 --- a/src/pages/Container/Enterprise/User/components/Scheduling/index.js +++ /dev/null @@ -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 ( - - {item.STATE === "1" - ? 上班 - : item.STATE === "2" - ? 休班 - : null} - - ); - } - 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 ( -
-
- - -
-
- {year} - 年 - {month} - 月 -
-
- - -
-
- ); - }; - - return ( - - 关闭 - , - ]} - > - - - ); -} - -export default Scheduling; diff --git a/src/pages/Container/Supervision/Supervision/Department/index.js b/src/pages/Container/Supervision/Supervision/Department/index.js new file mode 100644 index 0000000..bec7a08 --- /dev/null +++ b/src/pages/Container/Supervision/Supervision/Department/index.js @@ -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 ( +
+
+ +
+ +
( + <> + + + + )} + columns={[ + { title: "部门名称", dataIndex: "name" }, + { + title: "操作", + width: 200, + render: (_, record) => ( + + + + + ), + }, + ]} + {...tableProps} + /> + + + { + setAddModalOpen(false); + setCurrentId(""); + }} + getData={getData} + /> + + ); +} + +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 ( + + (111) }, + { 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 }, + ]} + /> + + ); +} + +const AddModal = AddModalComponent; +export default Department; diff --git a/src/pages/Container/Supervision/Supervision/Post/index.js b/src/pages/Container/Supervision/Supervision/Post/index.js new file mode 100644 index 0000000..d93af30 --- /dev/null +++ b/src/pages/Container/Supervision/Supervision/Post/index.js @@ -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 ( +
+
+ +
+ +
( + <> + + + + )} + columns={[ + { title: "所属部门", dataIndex: "name" }, + { title: "岗位名称", dataIndex: "name" }, + { + title: "操作", + width: 200, + render: (_, record) => ( + + + + + ), + }, + ]} + {...tableProps} + /> + + + { + setAddModalOpen(false); + setCurrentId(""); + }} + getData={getData} + /> + + ); +} + +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 ( + + (111) }, + { 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 }, + ]} + /> + + ); +} + +const AddModal = AddModalComponent; +export default Post; diff --git a/src/pages/Container/Supervision/Supervision/User/Add/index.js b/src/pages/Container/Supervision/Supervision/User/Add/index.js new file mode 100644 index 0000000..6dadb29 --- /dev/null +++ b/src/pages/Container/Supervision/Supervision/User/Add/index.js @@ -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 ( + <> + +
+ }, + { + 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 }) => ( + +
* 图像格式:JPG、JPEG、PNG
+
* 图像大小:不超过4M。
+
* 照片大小: 推荐 500*500
+
* 人脸无遮挡(如戴帽子、口罩、眼镜等)、无修图
+
* 人脸需双眼睁开、表情自然、露额,头发不要遮挡
+
+ )} + /> + ), + }, + { 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 }, + ]} + /> + + + ); +} + +export default Add; diff --git a/src/pages/Container/Supervision/Supervision/User/List/index.js b/src/pages/Container/Supervision/Supervision/User/List/index.js new file mode 100644 index 0000000..07e99a6 --- /dev/null +++ b/src/pages/Container/Supervision/Supervision/User/List/index.js @@ -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 ( +
+
+ +
+ +
( + <> + + + + + )} + columns={[ + { title: "用户名", dataIndex: "name" }, + { title: "姓名", dataIndex: "name" }, + { title: "部门", dataIndex: "name" }, + { title: "岗位", dataIndex: "name" }, + { + title: "操作", + width: 300, + render: (_, record) => ( + + + + + + + ), + }, + ]} + {...tableProps} + /> + + + { setImportOpen(false); }} + /> + + ); +} + +export default List; diff --git a/src/pages/Container/Supervision/Supervision/User/index.js b/src/pages/Container/Supervision/Supervision/User/index.js new file mode 100644 index 0000000..e30c0f4 --- /dev/null +++ b/src/pages/Container/Supervision/Supervision/User/index.js @@ -0,0 +1,9 @@ +function User(props) { + return ( +
+ {props.children} +
+ ); +} + +export default User;