99 lines
2.6 KiB
JavaScript
99 lines
2.6 KiB
JavaScript
import React,{useEffect,useState,useMemo,useRef} from 'react';
|
|
import { Form, Button, Input, Row,Upload, Col, Table, DatePicker, InputNumber,message,Image,Modal,Typography ,Popconfirm } from 'antd';
|
|
import { formItemLayout, btnItemLayout } from '../../../components/crud/FormLayoutProps';
|
|
import apiurl from '../../../service/apiurl';
|
|
import NormalSelect from '../../../components/Form/NormalSelect';
|
|
import moment from 'moment';
|
|
import { httppost2,httpget2 } from '../../../utils/request';
|
|
const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
|
const [form] = Form.useForm();
|
|
const onfinish = (values) => {
|
|
if (mode === 'edit') {
|
|
onEdit(apiurl.aqjc.gl.edit,{...record,...values})
|
|
}
|
|
if (mode === 'save') {
|
|
onSave(apiurl.aqjc.gl.save,values)
|
|
}
|
|
}
|
|
|
|
const [dmList, setDmList] = useState([])
|
|
const getDmList = async () => {
|
|
try {
|
|
const res = await httppost2(apiurl.aqjc.dmgl.list)
|
|
if (res.code == 200) {
|
|
setDmList(res.data.map(item => ({label: item.profileName,value: item.id})))
|
|
}
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const [cdList, setCdList] = useState([])
|
|
// 测点类型
|
|
const getCdList = async (type) => {
|
|
try {
|
|
const res = await httpget2(apiurl.aqjc.dmgl.info + type)
|
|
if (res.code == 200) {
|
|
setCdList(res.data.map(item => ({label: item.stationCode,value: item.id})))
|
|
}
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
}
|
|
|
|
|
|
useEffect(() => {
|
|
getDmList()
|
|
getCdList(2)
|
|
}, [])
|
|
|
|
return (
|
|
<>
|
|
<Form
|
|
form={form}
|
|
{...formItemLayout}
|
|
onFinish={onfinish}
|
|
initialValues={record}
|
|
|
|
>
|
|
<Row>
|
|
<Col span={24}>
|
|
<Form.Item
|
|
label="断面名称"
|
|
name="profileId"
|
|
rules={[{ required: true }]}
|
|
>
|
|
<NormalSelect disabled={mode === 'view'} style={{ width: '100%' }} allowClear options={dmList} />
|
|
</Form.Item>
|
|
</Col>
|
|
<Col span={24}>
|
|
<Form.Item
|
|
label="测点名称"
|
|
name="stationId"
|
|
>
|
|
<NormalSelect disabled={mode === 'view'} style={{ width: '100%' }} allowClear options={cdList} />
|
|
</Form.Item>
|
|
</Col>
|
|
|
|
</Row>
|
|
{
|
|
mode==='view'?null:(
|
|
<>
|
|
<Form.Item {...btnItemLayout}>
|
|
<Button type="primary" htmlType="submit">
|
|
{mode === 'save' ? '提交' : '修改'}
|
|
</Button>
|
|
</Form.Item>
|
|
</>
|
|
)
|
|
}
|
|
</Form>
|
|
|
|
</>
|
|
);
|
|
}
|
|
|
|
export default ModalForm;
|