import React, { useState } from 'react'; import { Button, Form, Input, Modal, Select, DatePicker } from 'antd'; import { EnvironmentTwoTone } from '@ant-design/icons'; const { TextArea } = Input; import { connect } from 'react-redux'; import Uploads from '$components/Uploads'; import { useEffect } from 'react'; import moment from 'moment'; const ProjectAddModel = ({ dispatch, actions, user, modelData, close, success, qrCodeId }) => { const { projectRegime } = actions const [showBaiduMap, setShowBaiduMap] = useState(false) const [form] = Form.useForm(); useEffect(() => { if (modelData?.longitude && modelData?.latitude) { form.setFieldValue('longitude', modelData?.longitude) form.setFieldValue('latitude', modelData?.latitude) } var map = new AMap.Map('container', { resizeEnable: true, //是否监控地图容器尺寸变化 zoom: 11, //初始化地图层级 center: [116.397428, 39.90923] //初始化地图中心点 }); var autoOptions = { input: "tipinput" }; AMap.plugin(['AMap.PlaceSearch', 'AMap.AutoComplete', 'AMap.Geocoder'], () => { var auto = new AMap.AutoComplete(autoOptions); var placeSearch = new AMap.PlaceSearch({ map: map }); //构造地点查询类 function select(e) { if (e) { placeSearch.setCity(e.poi.adcode); placeSearch.search(e.poi.name, function (status, result) { form.setFieldValue('longitude', result.poiList.pois[0].location.lat) form.setFieldValue('latitude', result.poiList.pois[0].location.lng) }) //关键字查询查询 } } auto.on("select", select);//注册监听,当选中某条记录时会触发 map.on('click', function (e) { //点击地图获取经纬度 form.setFieldValue('longitude', e.lnglat.lat) form.setFieldValue('latitude', e.lnglat.lng) }); }); }, []) return ( { form.validateFields().then(r => { dispatch(projectRegime.addPosition({ ...r, id: modelData?.id, projectId: qrCodeId, latitude: r?.latitude ? r?.latitude : null, longitude: r?.longitude ? r?.longitude : null, img: r.img ? r.img.map(u => u.storageUrl) : [], })).then(res => { if (res.success) { success() } }) }) }} onCancel={() => { close() }} >
{ }} initialValues={{ img: (modelData.img || []).map(s => { return { storageUrl: s } }), }} >
{/* /^\d+$|^\d*\.\d+$/g */} { const sjh = /^\d+$|^\d*\.\d+$/g; if (value) { let valid = sjh.test(value); if (!valid) { return callback([new Error("横坐标填写错误")]); } callback(); } // return callback([new Error("请输入横坐标")]); return Promise.resolve(); } }]} > ~ { const sjh = /^\d+$|^\d*\.\d+$/g; if (value) { let valid = sjh.test(value); if (!valid) { return callback([new Error("纵坐标填写错误")]); } callback(); } // return callback([new Error("请输入纵坐标")]); return Promise.resolve(); } }]} > { setShowBaiduMap(!showBaiduMap) }} />