From e07a4fea01519e23afd8952b83d457b52a31c5cd Mon Sep 17 00:00:00 2001 From: fengerli <528575642@qq.com> Date: Wed, 27 Aug 2025 15:45:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E4=BB=A4=E4=B8=8B=E5=8F=91=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/controlCenter/controlPanel/types.ts | 2 +- src/api/controlCenter/delivey/index.ts | 23 ++ src/api/controlCenter/delivey/types.ts | 21 ++ src/views/controlCenter/6170/index.vue | 25 +- .../controlCenter/controlPanel/index.vue | 239 ++++++++++++--- src/views/controlCenter/delivery/index.vue | 271 ++++++++++++++++++ 7 files changed, 542 insertions(+), 41 deletions(-) create mode 100644 src/api/controlCenter/delivey/index.ts create mode 100644 src/api/controlCenter/delivey/types.ts create mode 100644 src/views/controlCenter/delivery/index.vue diff --git a/.env.development b/.env.development index c3a3bd4..f3bdb65 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VITE_APP_TITLE = 云平台管理系统 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://47.120.79.150/backend' +VITE_APP_BASE_API = 'http://192.168.2.34:8000' # 应用访问路径 例如使用前缀 /admin/ VITE_APP_CONTEXT_PATH = '/' diff --git a/src/api/controlCenter/controlPanel/types.ts b/src/api/controlCenter/controlPanel/types.ts index 3aa0852..2ade7a5 100644 --- a/src/api/controlCenter/controlPanel/types.ts +++ b/src/api/controlCenter/controlPanel/types.ts @@ -6,7 +6,7 @@ export interface deviceQuery { deviceStatus: string; deviceMac: string; deviceImei: string; - currentOwnerId: string; + personnelBy: string; communicationMode: string; pageSize: Number; deviceType: string diff --git a/src/api/controlCenter/delivey/index.ts b/src/api/controlCenter/delivey/index.ts new file mode 100644 index 0000000..ad46b9f --- /dev/null +++ b/src/api/controlCenter/delivey/index.ts @@ -0,0 +1,23 @@ +import request from '@/utils/request'; +// 设备分组 +export const devicegroupList = (params) => { + return request({ + url: '/api/device/group/list', + method: 'get', + params: params + }); +}; +// 指令下发记录 +export const deviceInstructionRecord = (params) => { + return request({ + url: '/api/device/instructionRecord', + method: 'get', + params: params + }); +}; + + +export default { + devicegroupList, + deviceInstructionRecord, +}; \ No newline at end of file diff --git a/src/api/controlCenter/delivey/types.ts b/src/api/controlCenter/delivey/types.ts new file mode 100644 index 0000000..e57eba9 --- /dev/null +++ b/src/api/controlCenter/delivey/types.ts @@ -0,0 +1,21 @@ +export interface deviceQuery { + groupId: string; + pageNum: number; + deviceName: string; + deviceMac: string; + deviceImei: string; + pageSize: Number; + deviceType: string; + startTime: string; // 接口要求的开始时间字段 + endTime: string // 接口要求的结束时间字段 +} +export interface deviceVO { + id: number; // 设备ID + deviceName: string; // 设备名称(对应子组件的device.name) + typeName: string; // 设备类型/型号(对应子组件的device.model) + onlineStatus: 0 | 1; // 设备状态(0=失效/离线,1=正常/在线,对应子组件的device.status) + lng?: number; // 经度(地图打点用) + lat?: number; // 纬度(地图打点用) + // 其他字段... +} + diff --git a/src/views/controlCenter/6170/index.vue b/src/views/controlCenter/6170/index.vue index ff007f7..7ffd1d7 100644 --- a/src/views/controlCenter/6170/index.vue +++ b/src/views/controlCenter/6170/index.vue @@ -67,7 +67,8 @@
地址 {{ deviceDetail.address || "未获取到地址" }}
- 查看 + 查看
@@ -128,6 +129,7 @@ import api from '@/api/controlCenter/controlPanel/index' import { DeviceDetail, LightMode } from '@/api/controlCenter/controlPanel/types'; import { generateShortId, getDeviceStatus } from '@/utils/function'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; +const router = useRouter(); // 导入图片资源(确保路径正确) import strongLightDefault from '@/assets/images/strong-light.png'; import strongLightActive from '@/assets/images/strong-light_HL.png'; @@ -141,10 +143,10 @@ import laserLightDefault from '@/assets/images/laser-light.png'; import laserLightActive from '@/assets/images/laser-light_HL.png'; import closeDefault from '@/assets/images/close.png'; import closeActive from '@/assets/images/close_HL.png'; -const fullscreenLoading = ref(false) +const fullscreenLoading = ref(false) const forceAlarmLoading = ref(false) //强制报警 -const sendTextLoading =ref(false) -const lightModesLoading =ref(false) +const sendTextLoading = ref(false) +const lightModesLoading = ref(false) // 灯光模式数据(引用导入的图片) const lightModes = ref([ @@ -431,7 +433,7 @@ const forceAlarm = async () => { } } catch (error: any) { - proxy?.$modal.msgWarning(error.msg) + proxy?.$modal.msgWarning(error.msg) } finally { forceAlarmLoading.value = false; @@ -445,7 +447,7 @@ const sendTextMessage = async () => { return; } try { - sendTextLoading.value = true; + sendTextLoading.value = true; // 2. 准备请求数据 const batchId = generateShortId(); const data = { @@ -483,7 +485,16 @@ const sendTextMessage = async () => { sendTextLoading.value = false; } } - +const lookMap = (row: any) => { + console.log(row, 'row'); + router.push({ + path: '/controlCenter/controlPanel', // 目标页面的正确路由路径(需与项目路由配置一致) + query: { + view: 'map', + deviceId: row.deviceId // 可选:传递当前设备ID,用于地图定位/筛选 + } + }); +} onMounted(() => { getList(); diff --git a/src/views/controlCenter/controlPanel/index.vue b/src/views/controlCenter/controlPanel/index.vue index c745037..562d667 100644 --- a/src/views/controlCenter/controlPanel/index.vue +++ b/src/views/controlCenter/controlPanel/index.vue @@ -21,9 +21,11 @@ {{ !isListView ? '地图显示' : '地图显示' }} - 发送消息 + 发送消息 电子围栏 - 强制报警 + {{ + forceAlarmLoading ? '报警中' : '强制报警' }}
@@ -37,7 +39,7 @@ + :value="item.deviceTypeId" /> @@ -56,8 +58,8 @@ - - + @@ -94,6 +96,13 @@ + + + + @@ -111,13 +120,29 @@
-
+
+ + + + + + + +
+