|
@@ -1,31 +1,24 @@
|
|
import React, { useState, useEffect } from 'react';
|
|
import React, { useState, useEffect } from 'react';
|
|
import mapstyles from '@/assets/css/map.less';
|
|
import mapstyles from '@/assets/css/map.less';
|
|
-import { useMapList } from '@/hooks/useMapList';
|
|
|
|
import { useModel } from 'umi';
|
|
import { useModel } from 'umi';
|
|
|
|
|
|
import cx from 'classnames';
|
|
import cx from 'classnames';
|
|
import Icon from '@/tenants-ui/Icon';
|
|
import Icon from '@/tenants-ui/Icon';
|
|
-import { map } from 'lodash';
|
|
|
|
|
|
|
|
type MapProps = {
|
|
type MapProps = {
|
|
type: string;
|
|
type: string;
|
|
- searchText: string;
|
|
|
|
|
|
+ searchText: any;
|
|
selFloorId: string;
|
|
selFloorId: string;
|
|
render: (item: API.MapInfo, index: number) => React.ReactNode;
|
|
render: (item: API.MapInfo, index: number) => React.ReactNode;
|
|
|
|
+ mapList: API.MapInfo[];
|
|
};
|
|
};
|
|
|
|
|
|
-const Map: React.FC<MapProps> = ({ type, searchText, selFloorId, render }) => {
|
|
|
|
- //const { mapList } = useMapList(selFloorId);
|
|
|
|
-
|
|
|
|
- // const [mapList] = useState<API.MapInfo[]>(mapListData);
|
|
|
|
-
|
|
|
|
- // const { mapList, getMapListData } = useModel('map', (model) => ({
|
|
|
|
- // mapList: model.mapList,
|
|
|
|
- // getMapListData: model.getMapListData,
|
|
|
|
- // }));
|
|
|
|
-
|
|
|
|
- const { mapList, getMapListData } = useModel('map');
|
|
|
|
-
|
|
|
|
|
|
+const Map: React.FC<MapProps> = ({ type, searchText, selFloorId, render, mapList }) => {
|
|
|
|
+ //useModel 注释掉 不用啦 晚会删
|
|
|
|
+ // const { mapList, getMapListData } = useModel('map');
|
|
|
|
+ // useEffect(() => {
|
|
|
|
+ // getMapListData(selFloorId);
|
|
|
|
+ // }, [selFloorId]);
|
|
const [startPageX, setStartPageX] = useState<number>(0);
|
|
const [startPageX, setStartPageX] = useState<number>(0);
|
|
const [startPageY, setStartPageY] = useState<number>(0);
|
|
const [startPageY, setStartPageY] = useState<number>(0);
|
|
|
|
|
|
@@ -34,9 +27,6 @@ const Map: React.FC<MapProps> = ({ type, searchText, selFloorId, render }) => {
|
|
const [mscale, setMscale] = useState<number>(1);
|
|
const [mscale, setMscale] = useState<number>(1);
|
|
const [canMove, setCanMove] = useState<boolean>(false);
|
|
const [canMove, setCanMove] = useState<boolean>(false);
|
|
|
|
|
|
- useEffect(() => {
|
|
|
|
- getMapListData(selFloorId);
|
|
|
|
- }, [selFloorId]);
|
|
|
|
// let mapWidth: number = 3000,
|
|
// let mapWidth: number = 3000,
|
|
// mapHeight: number = 1200;
|
|
// mapHeight: number = 1200;
|
|
|
|
|
|
@@ -80,22 +70,20 @@ const Map: React.FC<MapProps> = ({ type, searchText, selFloorId, render }) => {
|
|
};
|
|
};
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
- //debugger;
|
|
|
|
console.log('searchText', searchText);
|
|
console.log('searchText', searchText);
|
|
- if (searchText) {
|
|
|
|
|
|
+ if (searchText && searchText.text) {
|
|
let left: any = 0,
|
|
let left: any = 0,
|
|
top: any = 0;
|
|
top: any = 0;
|
|
- // mapList.map((item, index) => {
|
|
|
|
- // if (item.localName == searchText) {
|
|
|
|
- // left = -(item.left || 0);
|
|
|
|
- // top = -(item.top || 0);
|
|
|
|
- // }
|
|
|
|
- // });
|
|
|
|
- // debugger;
|
|
|
|
|
|
+ mapList.map((item, index) => {
|
|
|
|
+ if (item.localName == (searchText && searchText.text)) {
|
|
|
|
+ left = -(item.left || 0);
|
|
|
|
+ top = -(item.top || 0);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ debugger;
|
|
setTranslateX(left);
|
|
setTranslateX(left);
|
|
setTranslateY(top);
|
|
setTranslateY(top);
|
|
}
|
|
}
|
|
- searchText = '';
|
|
|
|
}, [searchText]);
|
|
}, [searchText]);
|
|
|
|
|
|
// useEffect(() => {// todo 要不要用呢
|
|
// useEffect(() => {// todo 要不要用呢
|