import { useEffect, useState, useContext } from 'react'; import { Form, Input, Radio, Button, Select, message, Breadcrumb, Modal } from 'antd'; import './index.less'; import apiObj from '@api/index'; import backIcon from "@images/back.png"; import FiledContext from './filed-context'; import add from '@images/add-icon.png'; import del from '@images/del-icon.png'; const { post, api, xPost } = apiObj; const { Option } = Select; const { TextArea } = Input; function AddRules(props) { const [form] = Form.useForm(); const { back } = props; const [visible, setVisible] = useState(false); const { type } = useContext(FiledContext); function handleOk() { back() } function handleCancel() { setVisible(false) } const goback = () => { if (form.isFieldsTouched()) { setVisible(true) } else { back() } }; return ( <> 返回上一页 字段校验规则维护 {type == 1 ? "新增字段校验" : "修改字段校验"}

您还有内容未保存,确定要退出?

) } function ContentForm(props) { const [columnList, setColumnList] = useState([]); const [standardValueList, setStandardValueList] = useState([]); const [regularList, setRegularList] = useState([]);//正则式数据 const [tableList, setTableList] = useState([]);//表名称 const [colList, setColList] = useState([]);//字段名称 const [list, setList] = useState([]); const [isChange, seIsChange] = useState(true); const { type, detail } = useContext(FiledContext); const { back, form, cancel } = props; const initialValues = detail const vilidateRules = { required: '${label}不能为空!', }; //获取正则式名称 function getRegular(name) { const param = { name: name || '' } post(api.getRegular, param).then((res) => { if (res.data.code === 200) { const data = res.data.data; setRegularList(data); } }) } function getAddUpColumnName() { post(api.getAddUpColumnName).then((res) => { if (res.data.code === 200) { const data = res.data.data; let columnList = [] data.forEach((item, i) => { item.getTableNameDTO.index = i columnList.push(item.getTableNameDTO) }); setTableList(columnList); setList(data) if (type == 2) { data.forEach((item, i) => { detail.columnList.forEach(it => { if (item.getTableNameDTO.tableCname == it.tableCname) { let colList = data[i].getColumnNameDTOList setColList([...colList]) } }); }); } } }) } //表选择 function tablechange(value, options) { let colList = list[options.key].getColumnNameDTOList seIsChange(false) setColList([...colList]) } function colchange(value, options){ const formData = form.getFieldsValue(); let columnList = formData.columnList; columnList[options.index].id = options.key form.setFieldsValue({ columnList: columnList }); } //表字段添加 function modifyData(i) { const formData = form.getFieldsValue(); let columnList = formData.columnList; if (i == 0) { columnList.push({ columnCname: undefined, columnEname: undefined, ableCname: undefined, tableEname: undefined }) } else { columnList.splice(i, 1) } setColumnList([...columnList]) form.setFieldsValue({ columnList: columnList }); } //标准值维护 function modifyStand(i) { const formData = form.getFieldsValue(); let standardValueList = formData.standardValueList; if (i == 0) { standardValueList.push({ tit: '' }) } else { standardValueList.splice(i, 1) } setStandardValueList([...standardValueList]) form.setFieldsValue({ standardValueList: standardValueList }); } //正则式名称搜索 function onSearch(val) { getRegular(val) } //正则式选择获取id function onChange(value, options) { form.setFieldsValue({ regularId: options ? options.key : '' }); } function handleSave() { form.validateFields().then((values) => { addColumnVerify() }).catch((error) => { console.log('验证失败', error) }) } function addColumnVerify() { const formData = form.getFieldsValue(); console.log(formData); let arr = [] let url formData.standardValueList.forEach(it => { arr.push(it.tit) }); formData.standardValueList = arr if (type == 1) { url = api.addColumnVerify } else { url = api.updateColumnVerify // formData.id = detail.columnId } post(url, formData).then((res) => { if (res.data.code === 200) { message.success(res.data.message); cancel() } else { message.error(res.data.message); } }) } useEffect(() => { getRegular() getAddUpColumnName() if (detail) { const columnList = detail.columnList const standardValueList = detail.standardValueList setColumnList(columnList) setStandardValueList(standardValueList) seIsChange(false) list.forEach((item, i) => { detail.columnList.forEach(it => { console.log(456); if (item.getTableNameDTO.tableCname == it.tableCname) { let colList = list[i].getColumnNameDTOList console.log(colList); setColList([...colList]) } }); }); } }, []); return ( <>
{ columnList.map((it, i) => { return (
modifyData(i)} src={i == 0 ? add : del} />
) }) }
{ standardValueList.map((it, i) => { return (
modifyStand(i)} src={i == 0 ? add : del} />
) }) }