From 8e552df72449691f9d0171ce9546543fe61c68bf Mon Sep 17 00:00:00 2001 From: fengerli <528575642@qq.com> Date: Thu, 9 Oct 2025 11:40:21 +0800 Subject: [PATCH] =?UTF-8?q?6170=E6=8E=A7=E5=88=B6=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=A7=A3=E9=99=A4=E6=8A=A5=E8=AD=A6=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/controlCenter/controlPanel/types.ts | 3 +- src/api/equipmentManagement/device/types.ts | 1 + src/assets/icons/svg/home.svg | 4 + src/router/index.ts | 4 +- src/views/controlCenter/6170/index.vue | 102 ++++++++++++++++-- src/views/controlCenter/670/index.vue | 2 +- .../controlCenter/controlPanel/index.vue | 6 ++ src/views/debugCenter/debugPanel/index.vue | 2 +- src/views/equipmentAlarmRecord/index.vue | 6 +- .../equipmentManagement/devices/index.vue | 40 ++++--- .../homeIndex/components/DeviceUsage.vue | 2 +- .../homeIndex/components/RealTimeAlarm.vue | 4 +- 12 files changed, 140 insertions(+), 36 deletions(-) create mode 100644 src/assets/icons/svg/home.svg diff --git a/src/api/controlCenter/controlPanel/types.ts b/src/api/controlCenter/controlPanel/types.ts index 4d7b5d7..2ad472f 100644 --- a/src/api/controlCenter/controlPanel/types.ts +++ b/src/api/controlCenter/controlPanel/types.ts @@ -42,7 +42,8 @@ export interface DeviceDetail { name: string; // 姓名 code: string; // ID(身份证/工号) }; - chargeState: string + chargeState: string; + alarmStatus:number } // 定义灯光模式的类型接口 export interface LightMode { diff --git a/src/api/equipmentManagement/device/types.ts b/src/api/equipmentManagement/device/types.ts index f6b98ae..8c1dc74 100644 --- a/src/api/equipmentManagement/device/types.ts +++ b/src/api/equipmentManagement/device/types.ts @@ -5,6 +5,7 @@ export interface deviceQuery extends PageQuery { deviceType: string; deviceStatus: string; bluetoothName?: string; // 蓝牙名称查询字段 + onlineStatus?: string; } export interface deviceForm { diff --git a/src/assets/icons/svg/home.svg b/src/assets/icons/svg/home.svg new file mode 100644 index 0000000..7b69543 --- /dev/null +++ b/src/assets/icons/svg/home.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index f4089a8..b6ad076 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -43,7 +43,7 @@ export const constantRoutes: RouteRecordRaw[] = [ path: "/homeIndex", name: "HomeIndex", component: () => import("@/views/homeIndex/index.vue"), - meta: {title: '数据大屏', icon: 'dashboard', preload: true, keepAlive: true }, + meta: {title: '数据大屏', icon: 'home', preload: true, keepAlive: true }, }, { path: '', @@ -54,7 +54,7 @@ export const constantRoutes: RouteRecordRaw[] = [ path: '/index', component: () => import('@/views/index.vue'), name: 'Index', - meta: { title: '首页', icon: 'dashboard', affix: true, keepAlive: false } + meta: { title: '首页', icon: 'home', affix: true, keepAlive: false } } ] }, diff --git a/src/views/controlCenter/6170/index.vue b/src/views/controlCenter/6170/index.vue index 1f91510..3c1a3fa 100644 --- a/src/views/controlCenter/6170/index.vue +++ b/src/views/controlCenter/6170/index.vue @@ -6,7 +6,7 @@
设备型号:{{ deviceDetail.deviceImei }}
设备状态: - {{ deviceDetail.onlineStatus === 1 ? "在线" : "离线" }} + {{ deviceDetail.onlineStatus === 1 ? '在线' : (deviceDetail.onlineStatus === 2 ? '故障' : '离线') }}
电量:{{ deviceDetail.batteryPercentage || 0 }}%
@@ -15,6 +15,14 @@
+ + +
+ 设备强制报警中! +
+
+
@@ -50,8 +58,8 @@ :loading-text="lightModesLoading ? '保存中...' : '保存'"> {{ lightModesLoading ? '保存中' : '保存' }}
- {{ + {{ forceAlarmLoading ? '报警中' : '强制报警' }}
@@ -248,7 +256,8 @@ const deviceDetail = ref({ address: '', sendMsg: '', chargeState: '0', - typeName: '' + typeName: '', + alarmStatus: 0 }); // 保留原有的操作中标志位 const isUpdatingStatus = ref(false); @@ -357,7 +366,7 @@ const handleLaserClick = async () => { laserMode.value.switchStatus = !targetStatus; } } catch (error: any) { - proxy?.$modal.msgError(error.msg) ; + proxy?.$modal.msgError(error.msg); // 恢复之前的状态 laserMode.value.switchStatus = !laserMode.value.switchStatus; } finally { } @@ -425,6 +434,51 @@ const saveBtn = () => { }) } +// 解除报警 +const showClose = async () => { + try { + await proxy?.$modal.confirm('确定要对该设备解除报警?', '提示'); + // 2. 准备请求数据 + const batchId = generateShortId(); + let data = { + deviceIds: [route.params.deviceId], + typeName: deviceDetail.value.typeName, + deviceImeiList: [deviceDetail.value.deviceImei], + batchId: batchId, + instructValue: '0', //强制报警1,解除报警0 + } + const registerRes = await api.sendAlarmMessage(data); + if (registerRes.code !== 200) { + proxy?.$modal.msgWarning(registerRes.msg) + return + } + // 4. 获取设备状态 + let deviceImei = deviceDetail.value.deviceImei + const statusRes = await getDeviceStatus({ + functionMode: 2, + batchId, + typeName: 'FunctionAccessBatchStatusRule', + deviceImei, + interval: 500 + }, + api.deviceRealTimeStatus + ); + // 只有当状态为'OK'时才显示成功弹窗 + if (statusRes.data.functionAccess === 'OK') { + proxy?.$modal.msgSuccess(statusRes.msg); + await getList(); + } + + } catch (error: any) { + } + + +} + + + + + // 强制报警 const forceAlarm = async () => { try { @@ -458,10 +512,12 @@ const forceAlarm = async () => { // 只有当状态为'OK'时才显示成功弹窗 if (statusRes.data.functionAccess === 'OK') { proxy?.$modal.msgSuccess(statusRes.msg); + await getList(); } } catch (error: any) { proxy?.$modal.msgWarning(error.msg) + forceAlarmLoading.value = false; } finally { forceAlarmLoading.value = false; @@ -586,8 +642,12 @@ const handleDeviceMessage = (msg: any) => { deviceDetail.value.batteryRemainingTime = deviceState[5]; //续航时间 // getList(); // 重新获取设备详情 if (deviceDetail.value.batteryPercentage < 20 && Number(deviceDetail.value.chargeState) == 0) { - centerDialogVisible.value=true + centerDialogVisible.value = true } + break; + case 7: + deviceDetail.value.alarmStatus = deviceState[1]; + break; default: // 其他类型消息(不处理,仅打印) @@ -638,12 +698,13 @@ onUnmounted(() => { diff --git a/src/views/controlCenter/670/index.vue b/src/views/controlCenter/670/index.vue index aafd5b8..44368a8 100644 --- a/src/views/controlCenter/670/index.vue +++ b/src/views/controlCenter/670/index.vue @@ -20,7 +20,7 @@
设备静止报警中!
- 设备强制报警中,{{ Status.timeOut }}S! + 设备强制报警中{{ Status.timeOut }}S!
diff --git a/src/views/controlCenter/controlPanel/index.vue b/src/views/controlCenter/controlPanel/index.vue index 56a98bb..ed6e08b 100644 --- a/src/views/controlCenter/controlPanel/index.vue +++ b/src/views/controlCenter/controlPanel/index.vue @@ -130,6 +130,12 @@
未绑定
+ + + - + + + - + @@ -451,7 +458,8 @@ const initData: PageData = { deviceMac: '', deviceImei: '', deviceType: '', - deviceStatus: '' + deviceStatus: '', + onlineStatus:'' }, rules: { deviceName: [{ required: true, message: '请输入设备名称', trigger: 'blur' }], @@ -711,17 +719,17 @@ const httpRequestImg = (parm): Promise => { return Promise.resolve(); }; const beforeUpload = (file) => { - const isLt2M = file.size / 1024 / 1024 < 2; + //const isLt2M = file.size / 1024 / 1024 < 2; const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'; if (!isJPG) { - ElMessage.warning('请上传jpg、png格式,大小不超过2M的照片'); + ElMessage.warning('请上传jpg、png格式'); return false; } - if (!isLt2M) { - ElMessage.warning('大小不超过2M的照片片'); - return false; - } - return isJPG && isLt2M; + // if (!isLt2M) { + // ElMessage.warning('大小不超过2M的照片片'); + // return false; + // } + return isJPG; }; // 文件上传状态改变时触发 const fileUploadChange = (files, fileList) => { @@ -922,16 +930,16 @@ const handleImportSuccess = (response: any) => { if (response.code == 200) { console.log('导入成功了么'); importResult.value.isShow = true; - + if (response.data) { - console.log(response.data,'response.data'); - + console.log(response.data, 'response.data'); + importResult.value.succeed = response.data.successCount; importResult.value.errorSun = response.data.failureCount; importResult.value.total = importResult.value.succeed + importResult.value.errorSun; importResult.value.link = response.data.errorExcelUrl; } - if (importUpload.value) { + if (importUpload.value) { importUpload.value.clearFiles(); } getList(); // 初始化列表数据 diff --git a/src/views/homeIndex/components/DeviceUsage.vue b/src/views/homeIndex/components/DeviceUsage.vue index ce59e94..cc153e1 100644 --- a/src/views/homeIndex/components/DeviceUsage.vue +++ b/src/views/homeIndex/components/DeviceUsage.vue @@ -201,6 +201,6 @@ onUnmounted(() => { .chartRef { width: 100%; - height: 24vh; + height: 25vh; } \ No newline at end of file diff --git a/src/views/homeIndex/components/RealTimeAlarm.vue b/src/views/homeIndex/components/RealTimeAlarm.vue index 1f9fd47..07853f3 100644 --- a/src/views/homeIndex/components/RealTimeAlarm.vue +++ b/src/views/homeIndex/components/RealTimeAlarm.vue @@ -16,7 +16,7 @@
{{ getEventName(item.deviceAction) }}
-
{{ item.location }}
+
{{ item.location && item.location !== '[]' ? item.location : '无' }}
{{ item.startTime }}
@@ -25,7 +25,7 @@
{{ getEventName(item.deviceAction) }}
-
{{ item.location }}
+
{{ item.location && item.location !== '[]' ? item.location : '无' }}