diff --git a/package.json b/package.json
index 55764c6..7f594ed 100644
--- a/package.json
+++ b/package.json
@@ -60,7 +60,6 @@
"webpack-merge": "^5.8.0"
},
"dependencies": {
- "@amap/amap-jsapi-loader": "^1.0.1",
"@loadable/component": "^5.15.2",
"ahooks": "^3.7.2",
"axios": "^0.26.0",
diff --git a/src/components/Map/Apimap/index.jsx b/src/components/Map/Apimap/index.jsx
index 323027a..f3abb67 100644
--- a/src/components/Map/Apimap/index.jsx
+++ b/src/components/Map/Apimap/index.jsx
@@ -1,95 +1,95 @@
-import React, { useState, useEffect, useRef, useLayoutEffect } from "react";import L from "leaflet";
-import "leaflet/dist/leaflet.css";
-import "leaflet.chinatmsproviders";
-import ajax from "@/services";
+// import React, { useState, useEffect, useRef, useLayoutEffect } from "react";import L from "leaflet";
+// import "leaflet/dist/leaflet.css";
+// import "leaflet.chinatmsproviders";
+// import ajax from "@/services";
-function ModalMap(props) {
- const {
- setLnglat = () => {},
- getLntLat = () => {},
- searchLnglatValue = [],
- } = props;
- const mapConfig = {
- center: sysConfig.map.center,
- zoom: sysConfig.map.zoom,
- zooms: sysConfig.map.zooms,
- maxZoom: sysConfig.map.zooms[1],
- minZoom: sysConfig.map.zooms[0],
- mapTileHost: sysConfig.map.mapTileHost,
- zoomOffset: sysConfig.map.zoomOffset,
- mapTileType: sysConfig.map.mapTileType,
- };
- const [map, setMap] = useState(null);
- const mapRef = useRef(null);
- const initMap = () => {
- // console.log(mapConfig);
- // const _map = L.map("mapid", {
- // scrollWheelZoom: true,
- // zoomSnap: 1,
- // crs: L.CRS.EPSG3857,
- // }).setView([mapConfig.center[0], mapConfig.center[1]], mapConfig.zoom);
- // L.tileLayer("{mapTileHost}/v3/tile?z={z}&x={x}&y={y}", {
- // maxZoom: mapConfig.zooms[1],
- // minZoom: mapConfig.zooms[0],
- // zoomOffset: 0,
- // mapTileHost: mapConfig.mapTileHost,
- // }).addTo(_map);
- // _map.on("click", function (e) {
- // clearMarkers(_map);
- // L.marker(e.latlng).addTo(_map);
- // setLnglat([e.latlng.lng.toFixed(4), e.latlng.lat.toFixed(4)]);
- // getLntLat([e.latlng.lng.toFixed(4), e.latlng.lat.toFixed(4)]);
- // });
- // _map.invalidateSize();
- // setMap(_map);
- // mapRef.current = _map;
- let _map = new AMap.Map("mapid", {
- resizeEnable: true,
- layers: [
- new AMap.TileLayer.Satellite(),
- new AMap.TileLayer.RoadNet()
- ]
- });
- _map.setCenter([mapConfig.center[1], mapConfig.center[0]], mapConfig.zoom);
+// function ModalMap(props) {
+// const {
+// setLnglat = () => {},
+// getLntLat = () => {},
+// searchLnglatValue = [],
+// } = props;
+// const mapConfig = {
+// center: sysConfig.map.center,
+// zoom: sysConfig.map.zoom,
+// zooms: sysConfig.map.zooms,
+// maxZoom: sysConfig.map.zooms[1],
+// minZoom: sysConfig.map.zooms[0],
+// mapTileHost: sysConfig.map.mapTileHost,
+// zoomOffset: sysConfig.map.zoomOffset,
+// mapTileType: sysConfig.map.mapTileType,
+// };
+// const [map, setMap] = useState(null);
+// const mapRef = useRef(null);
+// const initMap = () => {
+// // console.log(mapConfig);
+// // const _map = L.map("mapid", {
+// // scrollWheelZoom: true,
+// // zoomSnap: 1,
+// // crs: L.CRS.EPSG3857,
+// // }).setView([mapConfig.center[0], mapConfig.center[1]], mapConfig.zoom);
+// // L.tileLayer("{mapTileHost}/v3/tile?z={z}&x={x}&y={y}", {
+// // maxZoom: mapConfig.zooms[1],
+// // minZoom: mapConfig.zooms[0],
+// // zoomOffset: 0,
+// // mapTileHost: mapConfig.mapTileHost,
+// // }).addTo(_map);
+// // _map.on("click", function (e) {
+// // clearMarkers(_map);
+// // L.marker(e.latlng).addTo(_map);
+// // setLnglat([e.latlng.lng.toFixed(4), e.latlng.lat.toFixed(4)]);
+// // getLntLat([e.latlng.lng.toFixed(4), e.latlng.lat.toFixed(4)]);
+// // });
+// // _map.invalidateSize();
+// // setMap(_map);
+// // mapRef.current = _map;
+// let _map = new AMap.Map("mapid", {
+// resizeEnable: true,
+// layers: [
+// new AMap.TileLayer.Satellite(),
+// new AMap.TileLayer.RoadNet()
+// ]
+// });
+// _map.setCenter([mapConfig.center[1], mapConfig.center[0]], mapConfig.zoom);
- setMap(_map)
- _map.on('click', function(e) {
- console.log(e)
- // onClick(info)
- setLnglat([e.lnglat.lng.toFixed(4), e.lnglat.lat.toFixed(4)]);
- getLntLat([e.lnglat.lng.toFixed(4), e.lnglat.lat.toFixed(4)]);
- })
- mapRef.current = map
- };
- function clearMarkers(map) {
- map.eachLayer(function (layer) {
- if (layer instanceof L.Marker) {
- map.removeLayer(layer);
- }
- });
- }
- useEffect(() => {
- initMap();
- return () => {
- if (mapRef.current) {
- mapRef.current.remove();
- }
- };
- }, []);
- useEffect(() => {
- if (searchLnglatValue.length === 0) return;
- mapRef.current.setView(searchLnglatValue, 13);
- }, [searchLnglatValue]);
+// setMap(_map)
+// _map.on('click', function(e) {
+// console.log(e)
+// // onClick(info)
+// setLnglat([e.lnglat.lng.toFixed(4), e.lnglat.lat.toFixed(4)]);
+// getLntLat([e.lnglat.lng.toFixed(4), e.lnglat.lat.toFixed(4)]);
+// })
+// mapRef.current = map
+// };
+// function clearMarkers(map) {
+// map.eachLayer(function (layer) {
+// if (layer instanceof L.Marker) {
+// map.removeLayer(layer);
+// }
+// });
+// }
+// useEffect(() => {
+// initMap();
+// return () => {
+// if (mapRef.current) {
+// mapRef.current.remove();
+// }
+// };
+// }, []);
+// useEffect(() => {
+// if (searchLnglatValue.length === 0) return;
+// mapRef.current.setView(searchLnglatValue, 13);
+// }, [searchLnglatValue]);
- return (
-
- );
- }
- export default ModalMap;
\ No newline at end of file
+// return (
+//
+// );
+// }
+// export default ModalMap;
\ No newline at end of file
diff --git a/src/components/MapComponets/Marker/index.jsx b/src/components/MapComponets/Marker/index.jsx
index a7a6513..6657f1b 100644
--- a/src/components/MapComponets/Marker/index.jsx
+++ b/src/components/MapComponets/Marker/index.jsx
@@ -185,6 +185,7 @@ function Marker(props, refs) {
useEffect(()=>{
if(getMapValue){
+ console.log(getMarker);
let lng = getMarker.lng
let lat = getMarker.lat
circlesRef.current && map.removeLayer(circlesRef.current)
diff --git a/src/components/SelectLngLat/index.jsx b/src/components/SelectLngLat/index.jsx
index 63c5209..c4e07fd 100644
--- a/src/components/SelectLngLat/index.jsx
+++ b/src/components/SelectLngLat/index.jsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect, useRef, useLayoutEffect } from "react";
import { Button, Input, Modal, message } from "antd";
import { BaseMap } from "../MapComponets";
-// import { Apimap } from "../Map";
+import { Apimap } from "../Map";
import L from "leaflet";
import "leaflet/dist/leaflet.css";
import "leaflet.chinatmsproviders";
@@ -62,7 +62,7 @@ function SelectLngLat(props) {
height: "500px",
}}
>
- {
setFormData({ ...formData, parkName: v.target.value })
@@ -74,12 +74,32 @@ function Fence(props) {
setFormData({ ...formData, enable: value })
}
//停车场数据
+ const [targetKeys, setTargetKeys] = useState([]);
+ const [selectedKeys, setSelectedKeys] = useState([]);
+ // const filterOption = (inputValue, option) => option.description.indexOf(inputValue) > -1;
+ const handleChange = (newTargetKeys) => {
+ console.log(newTargetKeys);
+ if (getScope == '1') {
+ setValuePark(newTargetKeys);
+ }
+ setTargetKeys(newTargetKeys);
+ };
+ const onSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
+ setSelectedKeys([...sourceSelectedKeys, ...targetSelectedKeys]);
+ };
const [treeData, setTreeData] = useState([])
const getParkList = () => {
ajax.getParkData().then(res => {
if (res.status === 20000) {
- console.log(res);
- setTreeData(res.data)
+ // const data=res.data.map((item)=>item.value)
+ const allData = [...res.data].map(
+ (item) => {
+ item.key = item.value;
+ return item;
+ }
+ );
+ // setTargetKeys(data)
+ setTreeData(allData)
}
})
@@ -122,7 +142,7 @@ function Fence(props) {
key: 'attendDistance',
render: (text, record) => {
return <>
- {record.attendDistance=='1'?'无电子围栏':'指定范围'}
+ {record.attendDistance == '1' ? '无电子围栏' : '指定范围'}
>
}
},
@@ -146,7 +166,7 @@ function Fence(props) {
setGetEditModal(Object.assign({}, getEditModal, {
attendName: record.attendName,
attendDistance: record.attendDistance,
- attendmin:record.attendmin
+ attendmin: record.attendmin
}))
setAttendanceVisible(true)
setMarkers([{
@@ -184,11 +204,11 @@ function Fence(props) {
console.log(err)
})
}
- //切换分页
- const changePn = (pn, length) => {
+ //切换分页
+ const changePn = (pn, length) => {
if (formData.page_size === length) {
- setFormData(Object.assign({}, formData, { pn: pn, page_size: length}))
- setLastFormData(Object.assign({}, lastFormData, { pn: pn , page_size: length}))
+ setFormData(Object.assign({}, formData, { pn: pn, page_size: length }))
+ setLastFormData(Object.assign({}, lastFormData, { pn: pn, page_size: length }))
getData(Object.assign({}, formData, { pn: pn, page_size: length }))
}
}
@@ -211,8 +231,8 @@ function Fence(props) {
const creatModal = () => {
setCreatVisible(false)
setGetModalData({
- attendDistance: '',
- effective: ''
+ attendDistance: '1',
+ effective: '1'
})
}
const getCascaderList = () => {
@@ -225,96 +245,96 @@ function Fence(props) {
}
})
}
-
+ //有效范围选择项
+ const [getStatus, setGetStatus] = useState('1')
const handleAttendDistance = (v) => {
- setGetModalData({ attendDistance: v })
+ setGetModalData({ ...getModalData, attendDistance: v })
setGetStatus(v)
}
const handleDistance = (v) => {
- setGetEditModal({ attendDistance: v })
+ setGetEditModal({ ...getEditModal, attendDistance: v })
setGetMap(v)
}
+ //有效范围输入区间
const handleType = (v) => {
- setGetModalData({ attendmin: v.target.value })
+ setGetModalData({ ...getModalData, attendmin: v.target.value })
}
const handleMapType = (v) => {
- setGetEditModal({ attend: v.target.value })
+ setGetEditModal({ ...getEditModal, attend: v.target.value })
}
+ const [getScopeValue, setGetScopeValue] = useState('1')
const handleScope = (value) => {
setGetModalData({
...getModalData,
effective: value
})
- if (value == 1) {
- setGetScope(2)
- }
- if (value == 2) {
- setGetScope(1)
- }
+ setGetScopeValue(value)
}
- const [value, setValue] = useState([]);
- const onChange = (newValue) => {
- if (getScope === 1) {
- setValue(newValue);
+ useEffect(() => {
+ if (getScopeValue == '1') {
+ setGetScope('2')
}
- };
- const tProps = {
- treeData,
- value,
- onChange,
- treeCheckable: true,
- showCheckedStrategy: SHOW_PARENT,
- placeholder: 'Please select',
- style: {
- width: '170px',
- marginLeft: '10px',
- marginTop: '10px'
- },
- };
+ if (getScopeValue == '2') {
+ setGetScope('1')
+ }
+ }, [getScopeValue])
+
+ const [valuePark, setValuePark] = useState([]);
//批量设置保存
const saveBtn = () => {
- let getValue = value
- let result = getValue.join(",")
- if (getScope === 2) {
- let data = {
- ...getModalData
- }
- ajax.saveDtaList(data).then(res => {
- if (res.status === 20000) {
- setCreatVisible(false)
- getData(formData)
- setGetModalData({
- attendDistance: '',
- effective: ''
- })
+ if (getScopeValue === '2' && targetKeys.length === 0) {
+ message.error('请选择停车场')
+ }else{
+ let getValue = valuePark
+ let result = getValue.join(",")
+ if (getScope === 2) {
+ let data = {
+ ...getModalData
}
- })
- } else {
- let data = {
- ...getModalData,
- scope: result
- }
- ajax.saveDtaList(data).then(res => {
- if (res.status === 20000) {
- setCreatVisible(false)
- getData(formData)
- setGetModalData({
- attendDistance: '',
- effective: ''
- })
+ ajax.saveDtaList(data).then(res => {
+ if (res.status === 20000) {
+ setCreatVisible(false)
+ getData(formData)
+ setGetModalData({
+ attendDistance: '1',
+ effective: '1',
+ })
+ setGetScopeValue(1)
+ setTargetKeys([])
+ }
+ })
+ } else {
+ let data = {
+ ...getModalData,
+ scope: result
}
- })
+ ajax.saveDtaList(data).then(res => {
+ if (res.status === 20000) {
+ setCreatVisible(false)
+ getData(formData)
+ setGetModalData({
+ attendDistance: '1',
+ effective: '1'
+ })
+ setGetScopeValue(1)
+ setTargetKeys([])
+ }
+ })
+ }
+
}
-
+
}
//批量设置取消
const cancelBtn = () => {
setCreatVisible(false)
setGetModalData({
- attendDistance: '',
- effective: ''
+ attendDistance: '1',
+ effective: '1'
})
+ setGetScopeValue(1)
+ setTargetKeys([])
}
//考勤点设置弹窗
const attendanceModal = () => {
@@ -461,12 +481,13 @@ function Fence(props) {
title='批量设置'
>
-
+
+
*