diff --git a/apps/web-antd/index.html b/apps/web-antd/index.html index 21893884..a2da8d62 100644 --- a/apps/web-antd/index.html +++ b/apps/web-antd/index.html @@ -1,23 +1,24 @@ - - - - - - - - - - <%= VITE_APP_TITLE %> - - - - -
- - + + + + + + + + + + <%= VITE_APP_TITLE %> + + + + +
+ + diff --git a/apps/web-antd/src/api/sis/deviceManage/model.d.ts b/apps/web-antd/src/api/sis/deviceManage/model.d.ts index 10b2f34b..c961d7f0 100644 --- a/apps/web-antd/src/api/sis/deviceManage/model.d.ts +++ b/apps/web-antd/src/api/sis/deviceManage/model.d.ts @@ -1,182 +1,194 @@ -import type { BaseEntity, PageQuery } from '#/api/common' +import type { BaseEntity, PageQuery } from '#/api/common'; export interface DeviceManageVO { /** * 主键id */ - id: string | number + id: string | number; /** * 设备编码 */ - deviceNo: string + deviceNo: string; /** * 设备名称 */ - deviceName: string + deviceName: string; /** * 设备ip */ - deviceIp: string + deviceIp: string; /** * 设备端口 */ - devicePort: number + devicePort: number; /** * 设备账号 */ - deviceAccount: string + deviceAccount: string; /** * 设备密码 */ - devicePwd: string + devicePwd: string; /** * 设备 */ - deviceMac: string + deviceMac: string; /** * 设备在线状态 0:离线 1:在线 2:未知 */ - deviceStatus: number + deviceStatus: number; /** * 父级设备id */ - parentId: string | number + parentId: string | number; /** * 设备通道编号 */ - channelNo: string + channelNo: string; /** * 录像机ip */ - vcrIp: string + vcrIp: string; /** * 录像机端口 */ - vcrPort: number + vcrPort: number; /** * 录像机账号 */ - vcrAccount: string + vcrAccount: string; /** * 录像机密码 */ - vcrPwd: string + vcrPwd: string; /** * 门禁id */ - accessControlId: string | number + accessControlId: string | number; /** * 楼层id */ - floorId: string | number + floorId: string | number; + + lon: number; + + lat: number; } export interface DeviceManageForm extends BaseEntity { /** * 主键id */ - id?: string | number + id?: string | number; /** * 设备编码 */ - deviceNo?: string + deviceNo?: string; /** * 设备名称 */ - deviceName?: string + deviceName?: string; /** * 设备ip */ - deviceIp?: string + deviceIp?: string; /** * 设备端口 */ - devicePort?: number + devicePort?: number; /** * 设备账号 */ - deviceAccount?: string + deviceAccount?: string; /** * 设备密码 */ - devicePwd?: string + devicePwd?: string; /** * 设备 */ - deviceMac?: string + deviceMac?: string; + + lon: number; + + lat: number; /** * 设备在线状态 0:离线 1:在线 2:未知 */ - deviceStatus?: number + deviceStatus?: number; } export interface DeviceManageQuery extends PageQuery { /** * 设备编码 */ - deviceNo?: string + deviceNo?: string; /** * 设备名称 */ - deviceName?: string + deviceName?: string; /** * 设备ip */ - deviceIp?: string + deviceIp?: string; /** * 设备端口 */ - devicePort?: number + devicePort?: number; /** * 设备账号 */ - deviceAccount?: string + deviceAccount?: string; /** * 设备密码 */ - devicePwd?: string + devicePwd?: string; /** * 设备 */ - deviceMac?: string + deviceMac?: string; + + lon: number; + + lat: number; /** * 设备在线状态 0:离线 1:在线 2:未知 */ - deviceStatus?: number + deviceStatus?: number; /** * 日期范围参数 */ - params?: any + params?: any; } diff --git a/apps/web-antd/src/assets/map/alarm1.png b/apps/web-antd/src/assets/map/alarm1.png new file mode 100644 index 00000000..bc1175be Binary files /dev/null and b/apps/web-antd/src/assets/map/alarm1.png differ diff --git a/apps/web-antd/src/assets/map/alarm2.png b/apps/web-antd/src/assets/map/alarm2.png new file mode 100644 index 00000000..a9705e7e Binary files /dev/null and b/apps/web-antd/src/assets/map/alarm2.png differ diff --git a/apps/web-antd/src/assets/map/camear.png b/apps/web-antd/src/assets/map/camear.png new file mode 100644 index 00000000..f88584ca Binary files /dev/null and b/apps/web-antd/src/assets/map/camear.png differ diff --git a/apps/web-antd/src/assets/map/video-bg.png b/apps/web-antd/src/assets/map/video-bg.png new file mode 100644 index 00000000..5ebd22f2 Binary files /dev/null and b/apps/web-antd/src/assets/map/video-bg.png differ diff --git a/apps/web-antd/src/views/screen/monitor/index.vue b/apps/web-antd/src/views/screen/monitor/index.vue index 11be9952..07473f0d 100644 --- a/apps/web-antd/src/views/screen/monitor/index.vue +++ b/apps/web-antd/src/views/screen/monitor/index.vue @@ -1,362 +1,373 @@ diff --git a/apps/web-antd/src/views/screen/monitor/map/Map.vue b/apps/web-antd/src/views/screen/monitor/map/Map.vue new file mode 100644 index 00000000..a6c3478d --- /dev/null +++ b/apps/web-antd/src/views/screen/monitor/map/Map.vue @@ -0,0 +1,131 @@ + + diff --git a/apps/web-antd/src/views/screen/monitor/map/constants.js b/apps/web-antd/src/views/screen/monitor/map/constants.js new file mode 100644 index 00000000..cca3ec5a --- /dev/null +++ b/apps/web-antd/src/views/screen/monitor/map/constants.js @@ -0,0 +1,16 @@ +import camera from "#/assets/map/camear.png"; + +export const MapDefaultData = { + center: [107.089,29.1714], + zoom: 21, + icons: {camera} +}; + + +export const icons = { + camera: new BMap.Icon(MapDefaultData.icons.camera, new BMap.Size(23, 34), { + offset: new BMap.Size(12, 30), + textColor: '#fff', + zIndex: "100" + }) +} diff --git a/apps/web-antd/src/views/screen/monitor/map/map.scss b/apps/web-antd/src/views/screen/monitor/map/map.scss new file mode 100644 index 00000000..828858fa --- /dev/null +++ b/apps/web-antd/src/views/screen/monitor/map/map.scss @@ -0,0 +1,89 @@ +.vmap { + position: relative; + width: 100%; + height: 100%; + + .BMap_pop > div { + background: transparent !important; + border: 0 !important; + } + + .BMap_pop > div:nth-child(n) { + display: none + } + + .BMap_pop > div:nth-child(9) { + display: block + } + + .BMap_pop > img { + width: 0 !important; + height: 0 !important; + } + + #map { + width: 100%; + height: 100%; + + .anchorBL { + display: none !important; + } + + .close { + position: absolute; + right: 12px; + top: 5px; + font-size: 18px; + cursor: pointer; + border: 1px solid #409eff; + color: #409eff; + padding: 2px 5px; + text-align: center; + z-index: 100; + } + + .wrap-title { + margin-top: 16px; + font-size: 16px; + color: white; + position: absolute; + height: 30px; + width: 100%; + line-height: 30px; + left: 20px; + font-weight: bold; + } + + .video-wrap { + width: 530px !important; + height: 360px; + background: url("/src/assets/map/video-bg.png") no-repeat; + background-size: 100% 100%; + + .wrap-content { + padding: 15px 10px 10px 10px; + height: 75%; + display: flex; + + .content-left { + height: 100%; + width: 100%; + } + + img { + width: 100%; + height: 111%; + } + + .content-right { + margin-left: 15px; + padding-top: 10px; + } + + } + + + } + } + +} diff --git a/apps/web-antd/tsconfig.json b/apps/web-antd/tsconfig.json index 9d43c929..d45e3d7a 100644 --- a/apps/web-antd/tsconfig.json +++ b/apps/web-antd/tsconfig.json @@ -4,9 +4,20 @@ "compilerOptions": { "baseUrl": ".", "paths": { - "#/*": ["./src/*"] + "#/*": [ + "./src/*" + ] } }, - "references": [{ "path": "./tsconfig.node.json" }], - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "types/**/*.d.ts"] + "references": [ + { + "path": "./tsconfig.node.json" + } + ], + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.vue", + "types/**/*.d.ts" + ] }