diff --git a/.env b/.env index 0f9c97e2..5a7a24a2 100644 --- a/.env +++ b/.env @@ -34,4 +34,4 @@ VITE_APP_API_ENCRYPT_RESPONSE_KEY = 96103715984234343991809655248883 # VITE_APP_API_ENCRYPT_RESPONSE_KEY = MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOH8IfIFxL/MR9XIg1UDv5z1fGXQI93E8wrU4iPFovL/sEt9uSgSkjyidC2O7N+m7EKtoN6b1u7cEwXSkwf3kfK0jdWLSQaNpX5YshqXCBzbDfugDaxuyYrNA4/tIMs7mzZAk0APuRXB35Dmupou7Yw7TFW/7QhQmGfzeEKULQvnAgMBAAECgYAw8LqlQGyQoPv5p3gRxEMOCfgL0JzD3XBJKztiRd35RDh40Nx1ejgjW4dPioFwGiVWd2W8cAGHLzALdcQT2KDJh+T/tsd4SPmI6uSBBK6Ff2DkO+kFFcuYvfclQQKqxma5CaZOSqhgenacmgTMFeg2eKlY3symV6JlFNu/IKU42QJBAOhxAK/Eq3e61aYQV2JSguhMR3b8NXJJRroRs/QHEanksJtl+M+2qhkC9nQVXBmBkndnkU/l2tYcHfSBlAyFySMCQQD445tgm/J2b6qMQmuUGQAYDN8FIkHjeKmha+l/fv0igWm8NDlBAem91lNDIPBUzHL1X1+pcts5bjmq99YdOnhtAkAg2J8dN3B3idpZDiQbC8fd5bGPmdI/pSUudAP27uzLEjr2qrE/QPPGdwm2m7IZFJtK7kK1hKio6u48t/bg0iL7AkEAuUUs94h+v702Fnym+jJ2CHEkXvz2US8UDs52nWrZYiM1o1y4tfSHm8H8bv8JCAa9GHyriEawfBraILOmllFdLQJAQSRZy4wmlaG48MhVXodB85X+VZ9krGXZ2TLhz7kz9iuToy53l9jTkESt6L5BfBDCVdIwcXLYgK+8KFdHN5W7HQ== # 百度地图 -VITE_BAIDU_MAP_KEY = 'efHIw2qmH8RzHPxK0z0rbCgzDVLup9LD' \ No newline at end of file +VITE_BAIDU_MAP_KEY = 'Y2aJXiswwPxy6mwFs1z9c7U5gwX9WfUN' \ No newline at end of file diff --git a/src/components/Map/index.ts b/src/components/Map/index.ts new file mode 100644 index 00000000..27b9675b --- /dev/null +++ b/src/components/Map/index.ts @@ -0,0 +1,3 @@ +import MapDialog from './src/MapDialog.vue' + +export { MapDialog } diff --git a/src/components/Map/index.vue b/src/components/Map/index.vue deleted file mode 100644 index 3f965661..00000000 --- a/src/components/Map/index.vue +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - - - - - - - - - - - - {{ state.address }} - - - - - - - - diff --git a/src/components/Map/src/MapDialog.vue b/src/components/Map/src/MapDialog.vue new file mode 100644 index 00000000..0f93c4d5 --- /dev/null +++ b/src/components/Map/src/MapDialog.vue @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + 经度: {{ state.longitude || '-' }} + 纬度: {{ state.latitude || '-' }} + + + + + + + 地图加载中... + + + + 确 定 + 取 消 + + + + + diff --git a/src/views/iot/device/device/DeviceForm.vue b/src/views/iot/device/device/DeviceForm.vue index 29284744..0ddbf2af 100644 --- a/src/views/iot/device/device/DeviceForm.vue +++ b/src/views/iot/device/device/DeviceForm.vue @@ -66,31 +66,17 @@ - - + + + + 经度 + + + 纬度 + + 坐标拾取 + - - - - - - - @@ -99,13 +85,15 @@ 取 消 + + diff --git a/src/views/iot/device/device/detail/DeviceDetailsInfo.vue b/src/views/iot/device/device/detail/DeviceDetailsInfo.vue index a441093c..b03c0d3e 100644 --- a/src/views/iot/device/device/detail/DeviceDetailsInfo.vue +++ b/src/views/iot/device/device/detail/DeviceDetailsInfo.vue @@ -2,81 +2,45 @@ - - - - - - - - 设备信息 - + + {{ product.name }} + {{ product.productKey }} + + + + {{ device.deviceName }} + {{ device.nickname }} + + + + + {{ formatDate(device.createTime) }} + + + {{ formatDate(device.activeTime) }} + + + {{ formatDate(device.onlineTime) }} + + + {{ formatDate(device.offlineTime) }} + + + + {{ device.longitude }}, {{ device.latitude }} + + + 查看地图 + - - {{ product.name }} - - {{ product.productKey }} - - - - - - {{ device.deviceName }} - - {{ device.nickname }} - - {{ formatDate(device.createTime) }} - - - - - - {{ formatDate(device.activeTime) }} - - - {{ formatDate(device.onlineTime) }} - - - {{ formatDate(device.offlineTime) }} - - - 查看 - - - - - - - - - - - - - 设备位置 - - - 最后上线时间: - {{ device.onlineTime ? formatDate(device.onlineTime) : '--' }} - - - - - - - - - 暂无位置信息 - - - - - + 暂无位置信息 + + + + 查看 + + + @@ -126,6 +90,9 @@ 关闭 + + + @@ -136,7 +103,7 @@ import { ProductVO } from '@/api/iot/product/product' import { formatDate } from '@/utils/formatTime' import { DeviceVO } from '@/api/iot/device/device' import { DeviceApi, IotDeviceAuthInfoVO } from '@/api/iot/device/device' -import Map from '@/components/Map/index.vue' +import { MapDialog } from '@/components/Map' import { ref, computed } from 'vue' import { useClipboard } from '@vueuse/core' @@ -149,18 +116,16 @@ const emit = defineEmits(['refresh']) // 定义 Emits const authDialogVisible = ref(false) // 定义设备认证信息弹框的可见性 const authPasswordVisible = ref(false) // 定义密码可见性状态 const authInfo = ref({} as IotDeviceAuthInfoVO) // 定义设备认证信息对象 +const mapDialogRef = ref() // 地图弹窗 Ref -/** 控制地图显示的标志 */ -const showMap = computed(() => { +/** 是否有位置信息 */ +const hasLocation = computed(() => { return !!(device.longitude && device.latitude) }) -/** 获取位置字符串,用于地图组件 */ -const getLocationString = () => { - if (device.longitude && device.latitude) { - return `${device.longitude},${device.latitude}` - } - return '' +/** 打开地图弹窗 */ +const openMapDialog = () => { + mapDialogRef.value?.open(device.longitude, device.latitude) } /** 复制到剪贴板方法 */