diff --git a/.env.development b/.env.development
index f3bdb65..c3a3bd4 100644
--- a/.env.development
+++ b/.env.development
@@ -5,7 +5,7 @@ VITE_APP_TITLE = 云平台管理系统
VITE_APP_ENV = 'development'
# 开发环境
-VITE_APP_BASE_API = 'http://192.168.2.34:8000'
+VITE_APP_BASE_API = 'http://47.120.79.150/backend'
# 应用访问路径 例如使用前缀 /admin/
VITE_APP_CONTEXT_PATH = '/'
diff --git a/src/api/controlCenter/controlPanel/index.ts b/src/api/controlCenter/controlPanel/index.ts
index aaadb77..6559dd8 100644
--- a/src/api/controlCenter/controlPanel/index.ts
+++ b/src/api/controlCenter/controlPanel/index.ts
@@ -66,14 +66,23 @@ export const sendAlarmMessage = (data: any) => {
});
};
// 获取设备实时状态
-export const deviceRealTimeStatus = (data: any) => {
+export const deviceRealTimeStatus = (params: any) => {
return request({
url: `/api/device/realTimeStatus`,
+ method: 'get',
+ params: params
+ });
+};
+// 发送信息
+export const deviceSendMessage = (data: any) => {
+ return request({
+ url: `/api/bjq/device/sendMessage`,
method: 'post',
data: data
});
};
+
export default {
devicegroupList,
deviceControlCenterList,
@@ -83,5 +92,6 @@ export default {
lightModeSettings,
laserModeSettings,
sendAlarmMessage,
- deviceRealTimeStatus
+ deviceRealTimeStatus,
+ deviceSendMessage
};
\ No newline at end of file
diff --git a/src/api/controlCenter/controlPanel/types.ts b/src/api/controlCenter/controlPanel/types.ts
index 4c2c090..3aa0852 100644
--- a/src/api/controlCenter/controlPanel/types.ts
+++ b/src/api/controlCenter/controlPanel/types.ts
@@ -8,7 +8,6 @@ export interface deviceQuery {
deviceImei: string;
currentOwnerId: string;
communicationMode: string;
- queryParams: string;
pageSize: Number;
deviceType: string
diff --git a/src/views/controlCenter/6170/index.vue b/src/views/controlCenter/6170/index.vue
index 16eb7df..ff007f7 100644
--- a/src/views/controlCenter/6170/index.vue
+++ b/src/views/controlCenter/6170/index.vue
@@ -46,9 +46,13 @@
%
- 保存
+ {{
+ lightModesLoading ? '保存中' : '保存' }}
- 强制报警
+ {{
+ forceAlarmLoading ? '报警中' : '强制报警' }}
位置信息
@@ -96,7 +100,9 @@
- 登记
+ {{
+ fullscreenLoading ? '登记中' : '登记' }}
@@ -106,7 +112,9 @@
- 发送
+ {{
+ sendTextLoading ? '发送中' : '发送' }}
@@ -133,7 +141,11 @@ 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';
-import { send } from 'vite';
+const fullscreenLoading = ref(false)
+const forceAlarmLoading = ref(false) //强制报警
+const sendTextLoading =ref(false)
+const lightModesLoading =ref(false)
+
// 灯光模式数据(引用导入的图片)
const lightModes = ref([
{
@@ -350,18 +362,22 @@ const registerPostInit = () => {
deviceId: route.params.deviceId,
deviceImei: deviceDetail.value.deviceImei
}
+ fullscreenLoading.value = true
api.registerPersonInfo(data).then((res) => {
console.log(res, 'res');
if (res.code === 200) {
+ fullscreenLoading.value = false
proxy?.$modal.msgSuccess(res.msg);
getList();
} else {
+ fullscreenLoading.value = false
proxy?.$modal.msgError(res.msg);
}
})
}
// 灯光亮度
const saveBtn = () => {
+ lightModesLoading.value = true
let data = {
deviceId: route.params.deviceId,
instructValue: deviceDetail.value.lightBrightness + '.00',
@@ -369,9 +385,11 @@ const saveBtn = () => {
}
api.lightBrightnessSettings(data).then((res) => {
if (res.code === 200) {
+ lightModesLoading.value = false
proxy?.$modal.msgSuccess(res.msg);
getList();
} else {
+ lightModesLoading.value = false
proxy?.$modal.msgError(res.msg);
}
@@ -380,6 +398,7 @@ const saveBtn = () => {
// 强制报警
const forceAlarm = async () => {
try {
+ forceAlarmLoading.value = true
// 2. 准备请求数据
const batchId = generateShortId();
let data = {
@@ -390,15 +409,81 @@ const forceAlarm = async () => {
instructValue: '1', //强制报警1,解除报警0
}
const registerRes = await api.sendAlarmMessage(data);
- if (registerRes.code == 200) {
- proxy?.$modal.msgSuccess(registerRes.msg);
+ if (registerRes.code !== 200) {
+ proxy?.$modal.msgWarning(registerRes.msg)
+ return
+ }
+ // 4. 获取设备状态
+ let deviceImei = deviceDetail.value.deviceImei
+ let typeName = deviceDetail.value.typeName
+ const statusRes = await getDeviceStatus({
+ functionMode: 2,
+ batchId,
+ typeName,
+ deviceImei,
+ interval: 500
+ },
+ api.deviceRealTimeStatus
+ );
+ // 只有当状态为'OK'时才显示成功弹窗
+ if (statusRes.data.functionAccess === 'OK') {
+ proxy?.$modal.msgSuccess(statusRes.msg);
}
- } catch (error:any) {
- proxy?.$modal.msgError(error.msg);
+ } catch (error: any) {
+ proxy?.$modal.msgWarning(error.msg)
- } finally {}
+ } finally {
+ forceAlarmLoading.value = false;
+ }
}
+// 发送文本消息
+const sendTextMessage = async () => {
+ // 防重复提交
+ if (!deviceDetail.value.sendMsg) {
+ proxy?.$modal.msgWarning('发送信息不能为空');
+ return;
+ }
+ try {
+ sendTextLoading.value = true;
+ // 2. 准备请求数据
+ const batchId = generateShortId();
+ const data = {
+ sendMsg: deviceDetail.value.sendMsg,
+ deviceIds: [route.params.deviceId],
+ typeName: deviceDetail.value.typeName,
+ batchId: batchId,
+ deviceImeiList: [deviceDetail.value.deviceImei],
+ };
+ // 3.人员信息
+ const registerRes = await api.deviceSendMessage(data);
+ if (registerRes.code !== 200) {
+ proxy?.$modal.msgWarning(registerRes.msg)
+ return
+ }
+ // 4. 获取设备状态
+ let deviceImei = deviceDetail.value.deviceImei
+ let typeName = deviceDetail.value.typeName
+ const statusRes = await getDeviceStatus({
+ functionMode: 2,
+ batchId,
+ typeName,
+ deviceImei,
+ interval: 500
+ },
+ api.deviceRealTimeStatus
+ );
+ // 只有当状态为'OK'时才显示成功弹窗
+ if (statusRes.data.functionAccess === 'OK') {
+ proxy?.$modal.msgSuccess(statusRes.msg);
+ }
+ } catch (error: any) {
+ proxy?.$modal.msgWarning(error.msg)
+ } finally {
+ sendTextLoading.value = false;
+ }
+}
+
onMounted(() => {
getList();
diff --git a/src/views/controlCenter/controlPanel/index.vue b/src/views/controlCenter/controlPanel/index.vue
index 4341d81..c745037 100644
--- a/src/views/controlCenter/controlPanel/index.vue
+++ b/src/views/controlCenter/controlPanel/index.vue
@@ -156,7 +156,6 @@ const initData: PageData<'', deviceQuery> = {
deviceImei: '',
currentOwnerId: '',
communicationMode: '',
- queryParams: '',
groupId: '',
deviceType: ''
},