Commit e35f0478e38d041fac09b3dd9afecbf6ed12a99b

Authored by ww
1 parent b94d3b58

fix: DEFECT-793 device location page not found data

... ... @@ -149,45 +149,47 @@
149 149 showSizeChanger: true,
150 150 },
151 151 afterFetch: async (data: DeviceInfo[]) => {
152   - const BMap = (window as any).BMap;
153   - unref(BMapInstance).clearOverlays();
154   - const markerList: MarkerList[] = [];
155   - data.forEach((item) => {
156   - const {
157   - name,
158   - deviceState,
159   - deviceInfo: { longitude, latitude },
160   - } = item;
161   - const point = new BMap.Point(longitude, latitude);
162   - const rivet = deviceState === 'INACTIVE' ? djx : deviceState === 'ONLINE' ? zx : lx;
163   - const myIcon = new BMap.Icon(rivet, new BMap.Size(20, 30));
164   - const marker = new BMap.Marker(point, { icon: myIcon });
165   - const label = new BMap.Label(name, {
166   - position: point,
167   - offset: new BMap.Size(-15, -45),
  152 + Promise.resolve().then(() => {
  153 + const BMap = (window as any).BMap;
  154 + unref(BMapInstance).clearOverlays();
  155 + const markerList: MarkerList[] = [];
  156 + data.forEach((item) => {
  157 + const {
  158 + name,
  159 + deviceState,
  160 + deviceInfo: { longitude, latitude },
  161 + } = item;
  162 + const point = new BMap.Point(longitude, latitude);
  163 + const rivet = deviceState === 'INACTIVE' ? djx : deviceState === 'ONLINE' ? zx : lx;
  164 + const myIcon = new BMap.Icon(rivet, new BMap.Size(20, 30));
  165 + const marker = new BMap.Marker(point, { icon: myIcon });
  166 + const label = new BMap.Label(name, {
  167 + position: point,
  168 + offset: new BMap.Size(-15, -45),
  169 + });
  170 + label.setStyle({
  171 + color: '#000',
  172 + borderRadius: '5px',
  173 + borderColor: '#ccc',
  174 + padding: '5px',
  175 + });
  176 + markerList.push({ ...item, marker, label });
168 177 });
169   - label.setStyle({
170   - color: '#000',
171   - borderRadius: '5px',
172   - borderColor: '#ccc',
173   - padding: '5px',
174   - });
175   - markerList.push({ ...item, marker, label });
176   - });
177   -
178   - markerList.forEach((record) => {
179   - unref(BMapInstance).addOverlay(record.marker);
180   - unref(BMapInstance).addOverlay(record.label);
181   - const isAlarmStatus = !!record.alarmStatus;
182   - if (isAlarmStatus) {
183   - const alarmStatusClassName = 'device-status__alarm';
184   - const className = record.marker.Ec.getAttribute('class');
185   - record.marker.Ec.setAttribute('class', `${className} ${alarmStatusClassName}`);
186   - }
187 178
188   - //标注监听事件
189   - record.marker.addEventListener('click', function () {
190   - createDeviceInfoWindow(record);
  179 + markerList.forEach((record) => {
  180 + unref(BMapInstance).addOverlay(record.marker);
  181 + unref(BMapInstance).addOverlay(record.label);
  182 + const isAlarmStatus = !!record.alarmStatus;
  183 + if (isAlarmStatus) {
  184 + const alarmStatusClassName = 'device-status__alarm';
  185 + const className = record.marker.Ec.getAttribute('class');
  186 + record.marker.Ec.setAttribute('class', `${className} ${alarmStatusClassName}`);
  187 + }
  188 +
  189 + //标注监听事件
  190 + record.marker.addEventListener('click', function () {
  191 + createDeviceInfoWindow(record);
  192 + });
191 193 });
192 194 });
193 195
... ...