diff --git a/src/pages/Container/Enterprise/Management/Add/index1.js b/src/pages/Container/Enterprise/Management/Add/index1.js deleted file mode 100644 index e103834..0000000 --- a/src/pages/Container/Enterprise/Management/Add/index1.js +++ /dev/null @@ -1,587 +0,0 @@ -import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Col, Divider, Form, Input, message, Modal, Row, Select, Space } from "antd"; -import dayjs from "dayjs"; -import { cloneDeep } from "lodash-es"; -import { useEffect, useState } from "react"; -import FormBuilder from "zy-react-library/components/FormBuilder"; -import HeaderBack from "zy-react-library/components/HeaderBack"; -import Search from "zy-react-library/components/Search"; -import DictionarySelect from "zy-react-library/components/Select/Dictionary"; -import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj"; -import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj"; -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 { getLabelName } from "zy-react-library/utils"; -import { NS_COMMITMENT } from "~/enumerate/namespace"; - -const typeList = [{ name: "承诺书", bianma: 0 }, { name: "责任书", bianma: 1 }]; -const getTypeName = (value) => { - return typeList.find(item => item.bianma === value)?.name || ""; -}; - -function Add(props) { - const query = useGetUrlQuery(); - const [form] = Form.useForm(); - const promisePeoples = Form.useWatch("promisePeoples", form); - const promisePersons = Form.useWatch("promisePersons", form); - const promiseType = Form.useWatch("promiseType", form); - const [basicInfo, setBasicInfo] = useState([]); - const [choiceTemplateModalOpen, setchoiceTemplateModalOpen] = useState(false); - - const getPostList = async (departmentId, corpId, index) => { - // 请求后台岗位接口 - const { data } = await props["jobInfo"]({ departmentId, corpinfoId: corpId, corpFlag: 1 }); - // 将岗位列表写入 map - setBasicInfo((prevBasicInfo) => { - const newBasicInfo = cloneDeep(prevBasicInfo); - newBasicInfo[index] = data; - return newBasicInfo; - }); - }; - const getData = async () => { - if (query.id) { - const { data } = await props["busPromiseView"]({ id: query.id }); - const promisePeopleBack = data.promisePeopleBack.map(item => ({ - ...item, - userName: item.userName.split(","), - userId: item.userId.split(","), - })); - const values = { - ...data, - promisePeoples: [data.promisePeople], - promiseTypeName: getTypeName(data.promiseType), - promisePersons: promisePeopleBack, - }; - form.setFieldsValue({ - ...values, - }); - for (let i = 0; i < values.promisePersons.length; i++) { - await getPostList(values.promisePersons[i].departmentId, values.promisePersons[i].corpId, i); - } - } - }; - useEffect(() => { - getData(); - }, []); - - const onSubmit = async (values) => { - const peoples = promisePeoples.map(item => ({ - ...item, - isPromisePeople: 1, - })); - const persons = promisePersons.map(item => ({ - ...item, - userName: item.userName.join(","), - userId: item.userId.join(","), - isPromisePeople: 0, - })); - const promiseAll = [...peoples, ...persons]; - - const { success } = await props[!query.id ? "busPromiseAdd" : "busPromiseEdit"]({ - ...values, - id: query.id, - promiseId: query.promiseId, - promisePeoples: promiseAll, - }); - if (success) { - message.success("操作成功"); - props.history.goBack(); - } - }; - - return ( -
- -
- form.setFieldValue("levelName", label)} - /> - ), - }, - { name: "levelName", label: "承诺书级别名称", onlyForLabel: true }, - { name: "promiseTermStart", label: "适用期限开始", render: FORM_ITEM_RENDER_ENUM.DATE }, - { - name: "promiseTermEnd", - label: "适用期限结束", - render: FORM_ITEM_RENDER_ENUM.DATE, - rules: [{ - validator: (_, value) => { - const timeStart = form.getFieldValue("promiseTermStart"); - if (value && timeStart && value < timeStart) { - return Promise.reject("结束时间不能早于开始时间"); - } - else { - return Promise.resolve(); - } - }, - }, { - validator: (_, value) => { - const timeStart = form.getFieldValue("promiseTermStart"); - if (value && timeStart) { - const startYear = dayjs(timeStart).year(); - const endYear = dayjs(value).year(); - - if (startYear !== endYear) { - return Promise.reject("开始时间和结束时间不能跨年"); - } - } - return Promise.resolve(); - }, - }], - }, - { - key: "promiseDetails", - span: 24, - customizeRender: true, - render: ( - <> - 承诺书内容 -
- -
- -
- - - - - - - - - - - - - - - - - {(fields, { add, remove }) => ( - <> - {fields.map((field, index) => ( - - - -
- - - - { - index >= 1 - ? - : ( - - ) - } -
-
- - -
- - ))} - - )} -
-
- - {choiceTemplateModalOpen && ( - setchoiceTemplateModalOpen(false)} - data={{ id: query.id, hiddenId: query.hiddenId }} - /> - )} - - ), - }, - { - key: "promisePersons", - span: 24, - customizeRender: true, - render: ( - <> - - {promiseType === 1 || promiseType === "责任书" - ? "受状人" - : "承诺人"} - - - - {(fields, { add, remove }) => ( - <> - {fields.map((field, index) => ( - - - - { - form.setFieldValue(["promisePersons", field.name, "postId"], ""); - form.setFieldValue(["promisePersons", field.name, "postName"], ""); - form.setFieldValue(["promisePersons", field.name, "userName"], ""); - form.setFieldValue(["promisePersons", field.name, "userId"], []); - - if (!departmentId) - return; - getPostList(departmentId, promisePersons?.[field.name]?.corpId, index); - }} - onGetLabel={(label) => { - form.setFieldValue(["promisePersons", field.name, "departmentName"], label); - }} - /> - - - - - - - - - - - - - - - - - { - form.setFieldValue(["promisePersons", field.name, "userName"], label); - }} - mode={(promiseType === 1 || promiseType === "责任书") ? "tags" : "multiple"} - /> - - - - - - { - promiseType === 1 || promiseType === "责任书" - ? "" - : (index >= 1 - ? - : ) - } - - - ))} - - )} - - - ), - }, - { - key: "promisePeoples", - span: 24, - customizeRender: true, - render: ( - <> - - - {promiseType === 1 || promiseType === "责任书" - ? "发状人" - : "被承诺人"} - - - {fields => ( - <> - {fields.map((field, index) => ( - - - - { - // 清空人员 - form.setFieldValue(["promisePeoples", field.name, "userName"], ""); - form.setFieldValue(["promisePeoples", field.name, "userId"], []); - }} - onGetLabel={(label) => { - form.setFieldValue(["promisePeoples", field.name, "departmentName"], label); - }} - /> - - - - - - - - - - - - - - - - { - form.setFieldValue(["promisePeoples", field.name, "userName"], label); - }} - onChange={(value) => { - form.setFieldValue(["promisePeoples", field.name, "userId"], value); - }} - // mode="multiple" - /> - - - - - - - - ))} - - )} - - - - ), - }, - ]} - /> -
-
- ); -} - -const ChoiceTemplateModalComponent = (props) => { - const parentForm = props.parentForm; // 使用外层表单 - const [form] = Form.useForm(); // ← 只给搜索用,不影响主页面 - const { tableProps, getData } = useTable(props["busPromiseTemplateList"], { - form, - }); - - return ( - props.onCancel()}>关闭, - ]} - onCancel={props.onCancel} - > -
- - getLabelName({ list: typeList, status: record.promiseType }), - }, - { - title: "操作", - width: 200, - fixed: "right", - render: (_, record) => ( - - - - ), - }, - ]} - {...tableProps} - /> - - - ); -}; -const ChoiceTemplateModal = Connect([NS_COMMITMENT], true)(ChoiceTemplateModalComponent); -export default Connect([NS_COMMITMENT], true)(Add);