diff --git a/src/components/layout/layout.tsx b/src/components/layout/layout.tsx index d08d142..54bdb2b 100644 --- a/src/components/layout/layout.tsx +++ b/src/components/layout/layout.tsx @@ -11,7 +11,7 @@ const LayOut = (props: Store) => { const { usrStore } = props; const nav = useNavigate(); const location = useLocation(); - + useEffect(() => { console.log("layout ",usrStore.isNeedLogin); if (usrStore.isNeedLogin) { diff --git a/src/components/map/MapComponent.tsx b/src/components/map/MapComponent.tsx index 0d0bcee..1b767e6 100644 --- a/src/components/map/MapComponent.tsx +++ b/src/components/map/MapComponent.tsx @@ -9,7 +9,7 @@ export default function MapContainer() { return () => { amap?.destroy(); }; - // eslint-disable-next-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const loadMaps = async () => { @@ -18,24 +18,40 @@ export default function MapContainer() { version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 plugins: ["AMap.Scale"], }); + amap = new Amap.Map("container", { viewMode: "2D", // 是否为3D地图模式 zoom: 11, // 初始化地图级别 center: [103.55, 30.34], // 初始化地图中心点位置 mapStyle: "amap://styles/darkblue", + resizeEnable: true, }); - setmaps(amap); - addMaket(Amap); + addMaket(Amap,amap); + amap.setFitView(); }; - const addMaket = (m) => { + const addMaket = (m,mp) => { const marker = new m.Marker({ position: new m.LngLat(103.55, 30.34), title: "黄水", }); - //将创建的点标记添加到已有的地图实例: + + var content = [ + "
高德软件有限公司", + "电话 : 010-84107000 邮编 : 100102", + "地址 : 北京市望京阜通东大街方恒国际中心A座16层
", + ]; + var infoWindow = new m.InfoWindow({ + offset: new m.Pixel(0, -30), + autoMove: true, + content: content.join("
"), + }); + marker.on("click", (e) => { + infoWindow.open(mp, e.target.getPosition()); + }); amap.add(marker); - MapUtl.makerList.push(marker) + + MapUtl.makerList.push(marker); MapUtl.amap = m; }; diff --git a/src/maptest.html b/src/maptest.html new file mode 100644 index 0000000..9c7a41b --- /dev/null +++ b/src/maptest.html @@ -0,0 +1,41 @@ + + + + + + + + 给多个点添加信息窗体 + + + + + +
+ + + + \ No newline at end of file diff --git a/src/pages/emergency/em_column.tsx b/src/pages/emergency/em_column.tsx new file mode 100644 index 0000000..9e34ceb --- /dev/null +++ b/src/pages/emergency/em_column.tsx @@ -0,0 +1,40 @@ +import { FormType } from "@/components/form/interface"; + +export const EmConfig = (userList) => [ + { + type: FormType.input, + label: "处突名称", + name: "emergency_name", + value: "", + rules: [{ required: true, message: "请输入处突名称!" }], + }, + { + type: FormType.input, + label: "任务描述", + name: "desc", + value: "", + rules: [{ required: true, message: "请输入任务描述!" }], + }, + { + type: FormType.input, + label: "目标位置", + name: "target_location", + value: "", + rules: [{ required: true, message: "请输入任务描述!" }], + }, + { + type: FormType.map, + label: "坐标信息", + name: "marker", + value: "", + rules: [{ required: true, message: "请输入任务描述!" }], + }, + { + type: FormType.cehckboxGroup, + label: "参与人员选择", + name: "user_id", + value: [], + checkboxData: userList, + rules: [{ required: true, message: "请选择参与人员!" }], + }, +]; diff --git a/src/pages/emergency/index.tsx b/src/pages/emergency/index.tsx index beaffe0..44a0f79 100644 --- a/src/pages/emergency/index.tsx +++ b/src/pages/emergency/index.tsx @@ -16,9 +16,9 @@ import { UserDataType } from "@/model/userModel"; import { Store } from "antd/lib/form/interface"; import SimpleForm from "@/components/form/simple_form"; import React from "react"; -import { FormType } from "@/components/form/interface"; import baseHttp from "@/service/base"; import MinusCircleOutlined from "@ant-design/icons/lib/icons/MinusCircleOutlined"; +import { EmConfig } from "./em_column"; const Emergency = (props: Store) => { const { emergencyStore } = props; @@ -87,7 +87,7 @@ const Emergency = (props: Store) => { emergencyStore.deleteItem(record.identity); }; const edit = (record) => { - setProjectConfig(defaultConfig); + setProjectConfig(EmConfig(userList)); setIsModalOpen(true); formRef.current?.setFieldsValue(record); @@ -118,44 +118,7 @@ const Emergency = (props: Store) => { setUserList(data ?? []); }); }, [emergencyStore]); - const defaultConfig = [ - { - type: FormType.input, - label: "处突名称", - name: "emergency_name", - value: "", - rules: [{ required: true, message: "请输入处突名称!" }], - }, - { - type: FormType.input, - label: "任务描述", - name: "desc", - value: "", - rules: [{ required: true, message: "请输入任务描述!" }], - }, - { - type: FormType.input, - label: "目标位置", - name: "target_location", - value: "", - rules: [{ required: true, message: "请输入任务描述!" }], - }, - { - type: FormType.map, - label: "坐标信息", - name: "marker", - value: "", - rules: [{ required: true, message: "请输入任务描述!" }], - }, - { - type: FormType.cehckboxGroup, - label: "参与人员选择", - name: "user_id", - value: [], - checkboxData: userList, - rules: [{ required: true, message: "请选择参与人员!" }], - }, - ]; + const onFinishFailed = () => {}; const handleSearch = (newValue: string) => { if (newValue === "") return; @@ -180,7 +143,7 @@ const Emergency = (props: Store) => {