diff --git a/src/views/demo/system/mediaLibrary/index.vue b/src/views/demo/system/mediaLibrary/index.vue
index 7f8975f..2b59b5f 100644
--- a/src/views/demo/system/mediaLibrary/index.vue
+++ b/src/views/demo/system/mediaLibrary/index.vue
@@ -283,7 +283,6 @@
import { columns, searchFormSchema } from './modal.data';
import dayjs from 'dayjs';
import { cloneDeep } from 'lodash-es';
- import dataJson from './data.json';
const { createConfirm, createMessage } = useMessage();
@@ -447,13 +446,6 @@
// },
],
},
- {
- id: '4',
- name: '新建计划1 2025-06-11 16:28:23 (UTC+08)',
- createtime: '2025-06-11 16:28:23',
- type: 'folder',
- children: dataJson,
- },
// {
// id: '4',
// name: '模型',
diff --git a/src/views/demo/system/mediaLibrary/path/index.vue b/src/views/demo/system/mediaLibrary/path/index.vue
index 86becd0..30486ff 100644
--- a/src/views/demo/system/mediaLibrary/path/index.vue
+++ b/src/views/demo/system/mediaLibrary/path/index.vue
@@ -139,7 +139,7 @@
const allMarkDataList = ref(markJson);
// 设置当前展示的标注信息
function setNowShowMarkData(value) {
- if (value) {
+ if (value.id) {
markInfoShow.value = true;
} else {
markInfoShow.value = false;
@@ -173,7 +173,7 @@
// 设置当前展示的区域信息
function setNowShowAreaData(value) {
- if (value) {
+ if (value.id) {
areaInfoShow.value = true;
} else {
areaInfoShow.value = false;
@@ -202,7 +202,7 @@
// 设置当前展示的图片
function setNowShowImageData(value) {
- if (value) {
+ if (value.id) {
imageInfoShow.value = true;
} else {
imageInfoShow.value = false;
diff --git a/src/views/demo/system/mediaLibrary/path/json/area.json b/src/views/demo/system/mediaLibrary/path/json/area.json
index 7c2a68f..f9bd1f1 100644
--- a/src/views/demo/system/mediaLibrary/path/json/area.json
+++ b/src/views/demo/system/mediaLibrary/path/json/area.json
@@ -1,4 +1,31 @@
[
+ {
+ "id": "84b09cdc-8138-461a-9008-2ac2fd2dabe1",
+ "name": "fence-2025-07-09 10:58",
+ "status": "enable",
+ "type": "dfence",
+ "content": {
+ "type": "Feature",
+ "geometry": {
+ "type": "Circle",
+ "radius": 25.98278531053457,
+ "coordinates": [
+ 113.94260619946274,
+ 22.581532991805254
+ ]
+ },
+ "properties": {
+ "color": "#00FF00"
+ }
+ },
+ "area_hash": "enable_dfence_602389930bf13745ad901786a991ee0a",
+ "created_time": 1752029923657,
+ "created_by": "1921832882836627456",
+ "created_nickname": "17854119262",
+ "updated_time": 1752029923657,
+ "updated_by": "1921832882836627456",
+ "updated_nickname": "17854119262"
+ },
{
"id": "f8a1ba2f-3d75-45e3-8c37-c305b8a8a18f",
"name": "noland-2025-07-03 09:37",
@@ -43,82 +70,7 @@
"created_time": 1751506632716,
"created_by": "1921832882836627456",
"created_nickname": "17854119262",
- "updated_time": 1751506632716,
- "updated_by": "1921832882836627456",
- "updated_nickname": "17854119262"
- },
- {
- "id": "4b312405-a1f9-4326-b7ad-f684912931c7",
- "name": "fence-2025-07-03 09:36",
- "status": "enable",
- "type": "dfence",
- "content": {
- "type": "Feature",
- "geometry": {
- "type": "Circle",
- "radius": 15.568918453415524,
- "coordinates": [
- 113.94244540081064,
- 22.581260697110643
- ]
- },
- "properties": {
- "color": "#00FF00"
- }
- },
- "area_hash": "enable_dfence_cec1fe6f1bdf6ba3de183332ec941336",
- "created_time": 1751506620283,
- "created_by": "1921832882836627456",
- "created_nickname": "17854119262",
- "updated_time": 1751699622015,
- "updated_by": "1921832882836627456",
- "updated_nickname": "17854119262"
- },
- {
- "id": "5ef9074f-332e-4c2c-8caf-0d5e9c2d4bb0",
- "name": "fence-2025-07-03 09:36",
- "status": "enable",
- "type": "dfence",
- "content": {
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 113.94217071448199,
- 22.580710270949893
- ],
- [
- 113.94234419200872,
- 22.580557223329823
- ],
- [
- 113.94234708696375,
- 22.580804244635136
- ],
- [
- 113.942101324811,
- 22.580866002541086
- ],
- [
- 113.94217071448199,
- 22.580710270949893
- ]
- ]
- ]
- },
- "properties": {
- "color": "#00FF00",
- "width": 50,
- "clampToGround": true
- }
- },
- "area_hash": "enable_dfence_491bd3ba995a30b943fce12cd277f319",
- "created_time": 1751506610758,
- "created_by": "1921832882836627456",
- "created_nickname": "17854119262",
- "updated_time": 1751506610758,
+ "updated_time": 1752051379960,
"updated_by": "1921832882836627456",
"updated_nickname": "17854119262"
},
@@ -149,58 +101,10 @@
"updated_by": "1921832882836627456",
"updated_nickname": "17854119262"
},
- {
- "id": "8fb48c63-b840-448d-b331-0e0dd505cdb2",
- "name": "nfz-2025-07-03 09:36",
- "status": "enable",
- "type": "nfz",
- "content": {
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 113.94081757610996,
- 22.581070072300122
- ],
- [
- 113.94103442563689,
- 22.580927765651026
- ],
- [
- 113.94117610149931,
- 22.581056645867445
- ],
- [
- 113.94095925169468,
- 22.58111303220476
- ],
- [
- 113.94081757610996,
- 22.581070072300122
- ]
- ]
- ]
- },
- "properties": {
- "color": "#FF0000",
- "width": 50,
- "clampToGround": true
- }
- },
- "area_hash": "enable_nfz_069b0cdcae471e9849ff2af1c407cb63",
- "created_time": 1751506590102,
- "created_by": "1921832882836627456",
- "created_nickname": "17854119262",
- "updated_time": 1751506590102,
- "updated_by": "1921832882836627456",
- "updated_nickname": "17854119262"
- },
{
"id": "53d34e36-83a1-4f27-9379-59916ac22f94",
"name": "作业区",
- "status": "disable",
+ "status": "enable",
"type": "dfence",
"content": {
"type": "Feature",
@@ -240,18 +144,18 @@
"color": "#00FF00"
}
},
- "area_hash": "disable_dfence_d0dc9ea80f32a4ddf9737ed27059da89",
+ "area_hash": "enable_dfence_d0dc9ea80f32a4ddf9737ed27059da89",
"created_time": 1747035695040,
"created_by": "",
"created_nickname": "",
- "updated_time": 1751700024743,
+ "updated_time": 1751870133102,
"updated_by": "1921832882836627456",
"updated_nickname": "17854119262"
},
{
"id": "189b2247-a5be-49ef-83cb-768056a00ed6",
"name": "限飞区",
- "status": "disable",
+ "status": "enable",
"type": "nfz",
"content": {
"type": "Feature",
@@ -291,11 +195,11 @@
"clampToGround": true
}
},
- "area_hash": "disable_nfz_d362c13ac83407d94d7e8754f25b1f8d",
+ "area_hash": "enable_nfz_d362c13ac83407d94d7e8754f25b1f8d",
"created_time": 1747035694853,
"created_by": "",
"created_nickname": "",
- "updated_time": 1751700027203,
+ "updated_time": 1751870135023,
"updated_by": "1921832882836627456",
"updated_nickname": "17854119262"
}
diff --git a/src/views/demo/system/mediaLibrary/path/pathAreaInfo.vue b/src/views/demo/system/mediaLibrary/path/pathAreaInfo.vue
index 4587dc2..dc63429 100644
--- a/src/views/demo/system/mediaLibrary/path/pathAreaInfo.vue
+++ b/src/views/demo/system/mediaLibrary/path/pathAreaInfo.vue
@@ -10,9 +10,9 @@
水平距离
- m
+ {{ distance.toFixed(1) }}m
水平面积
- ㎡
+ {{ area.toFixed(2) }}㎡
水平周长
- m
+ {{ distance2 }}m
@@ -166,6 +166,8 @@
-
diff --git a/src/views/demo/workmanagement/airlinemanagement/index.vue b/src/views/demo/workmanagement/airlinemanagement/index.vue
new file mode 100644
index 0000000..c84802a
--- /dev/null
+++ b/src/views/demo/workmanagement/airlinemanagement/index.vue
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/demo/workmanagement/device/Airport/DeviceControl/index.vue b/src/views/demo/workmanagement/device/Airport/DeviceControl/index.vue
index 84738e6..6a329ed 100644
--- a/src/views/demo/workmanagement/device/Airport/DeviceControl/index.vue
+++ b/src/views/demo/workmanagement/device/Airport/DeviceControl/index.vue
@@ -1,37 +1,383 @@
-
-
-
远程调试
+
机场
+
+
+
{{ (props.deviceInfoList[props.controlSN].acc_time / 60 / 60 / 24).toFixed(1) }}天
+
累计运行时长
+
+
+
{{ props.deviceInfoList[props.controlSN].job_number }}次
+
作业架次
+
+
+
{{ (props.deviceInfoList[props.controlSN].position_state.gps_number + props.deviceInfoList[props.controlSN].position_state.rtk_number) }}个
+
机场搜星
+
+
+
{{ sourceTypeOptions[props.deviceInfoList[props.controlSN]?.rtcm_info?.source_type] || '--'}}
+
标定状态
+
+
+
{{ `${(props.deviceInfoList[props.controlSN].working_voltage / 1000).toFixed(1)}V` || '--'}}
+
供电电压
+
+
+
{{ qualityOptions[props.deviceInfoList[props.controlSN]?.network_state?.quality] || '--'}}
+
网络
+
+
+
{{ isConfiguredOptions[props.deviceInfoList[props.controlSN]?.alternate_land_point?.is_configured] || '--'}}
+
备降点
+
+
+
+
{{ airConditionerStateOptions[props.deviceInfoList[props.controlSN]?.air_conditioner?.air_conditioner_state] || '--'}}
+
空调状态
+
+
+
{{ `${(props.deviceInfoList[props.controlSN]?.drone_battery_maintenance_info?.batteries[0].voltage / 1000).toFixed(1)}V` || '--' }}
+
蓄电池电压
+
+
+
{{ `${props.deviceInfoList[props.controlSN]?.drone_battery_maintenance_info?.batteries[0].temperature}℃` || '--' }}
+
蓄电池温度
+
+
+
{{ props.deviceInfoList[props.controlSN].temperature }}℃
+
舱内温度
+
+
+
{{ props.deviceInfoList[props.controlSN].humidity }}%RH
+
舱内湿度
+
+
+
{{ props.deviceInfoList[props.controlSN].environment_temperature }}℃
+
舱外温度
+
+
+
{{ rainfallOptions[props.deviceInfoList[props.controlSN].rainfall] }}
+
雨量
+
+
+
{{ props.deviceInfoList[props.controlSN].wind_speed }}m/s
+
风速
+
+
+
+
-
机场控制
-
-
-
-
+
机场控制
+
+
+
+
+
+
-
{{getCoverState(props.deviceInfoList[props.controlSN].cover_state)}}
-
舱盖
+
+ {{
+ modeCodeOptions[props.deviceInfoList[props.controlSN].mode_code]
+ }}
+
+
机场系统
-
-
{{props.deviceInfoList[props.controlSN].cover_state == 0? '打开': '关闭'}}
+
+
+
+
+
+
+
+
+
+ {{
+ getCoverState(props.deviceInfoList[props.controlSN].cover_state)
+ }}
+
+
舱盖
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ props.deviceInfoList[props.controlSN].air_conditioner && airConditionerStateOptions[props.deviceInfoList[props.controlSN].air_conditioner.air_conditioner_state]
+ }}
+
+
空调
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ silentModeOptions[props.deviceInfoList[props.controlSN].silent_mode]
+ }}
+
+
静音模式
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ alarmStateOptions[props.deviceInfoList[props.controlSN].alarm_state]
+ }}
+
+
机场声光报警
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ props.deviceInfoList[props.controlSN].storage &&
+ `${(props.deviceInfoList[props.controlSN].storage.used / 1000 / 1024).toFixed(1)}/${(props.deviceInfoList[props.controlSN].storage.total / 1000 / 1024).toFixed(1)}GB`
+ }}
+
+
机场存储
+
+
+
+
+
+
-
飞行器控制
-
-
-
-
+
飞行器控制
+
+
+
+
+
+
-
{{props.deviceInfoList[props.controlSN].sub_device.device_online_status == 0? "关机": "开机"}}
-
飞行器电源
+
+ {{
+ deviceOnlineStatusOptions[props.deviceInfoList[props.controlSN].sub_device.device_online_status]
+ }}
+
+
飞行器电源
-
-
{{props.deviceInfoList[props.controlSN].sub_device.device_online_status == 0? '开机': '关机'}}
+
+
+
+
+
+
+
+
+
+ {{
+ droneChargeStateOptions[props.deviceInfoList[props.controlSN].drone_charge_state.state]
+ }}
+
+
飞行器充电
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ fourgLinkStateOptions[props.deviceInfoList[props.controlSN]?.wireless_link['4g_link_state']]
+ }}
+
+
增强图传
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ linkWorkmodeOptions[props.deviceInfoList[props.controlSN].wireless_link.link_workmode]
+ }}
+
+
飞行器增强图传
+
+
+
@@ -41,6 +387,10 @@
import { defineProps } from "vue"
import { clientPublish } from '@/utils/mqtt'
import { buildGUID } from '@/utils/uuid';
+import Icon from '@/components/Icon/Icon.vue';
+import { modeCodeOptions, deviceOnlineStatusOptions, coverStateOptions, airConditionerStateOptions, silentModeOptions,
+ alarmStateOptions, droneChargeStateOptions, fourgLinkStateOptions, linkWorkmodeOptions, sourceTypeOptions, qualityOptions,
+ isConfiguredOptions, rainfallOptions } from './util'
const props = defineProps(['deviceInfoList', 'controlSN'])
const openDebug = () => {
@@ -60,28 +410,95 @@ const getCoverState = (value) => {
}
return options[value]
}
-const openCoverState = () => {
+const changeState = (method,action?) => {
let publishUrl = `thing/product/${props.controlSN}/services`
let params = {
- method: props.deviceInfoList[props.controlSN].cover_state == 0? 'cover_open': 'cover_close',
+ method: method,
bid: buildGUID(),
tid: buildGUID(),
timestamp: new Date().getTime(),
- data: null,
+ data: action? { action }: null,
};
clientPublish(publishUrl,params)
}
-const openDeviceOnline = () => {
+const changeDeviceState = (method, action?, type?) => {
let publishUrl = `thing/product/${props.controlSN}/services`
let params = {
- method: props.deviceInfoList[props.controlSN].sub_device.device_online_status == 0? 'drone_open': 'drone_close',
+ method,
bid: buildGUID(),
tid: buildGUID(),
timestamp: new Date().getTime(),
- data: null,
+ data: type? { [type]: action }: action? { action }: null,
};
clientPublish(publishUrl,params)
}
-
+
diff --git a/src/views/demo/workmanagement/device/Airport/DeviceControl/util.ts b/src/views/demo/workmanagement/device/Airport/DeviceControl/util.ts
new file mode 100644
index 0000000..f66c9c1
--- /dev/null
+++ b/src/views/demo/workmanagement/device/Airport/DeviceControl/util.ts
@@ -0,0 +1,80 @@
+export const modeCodeOptions = {
+ 0: '空闲中',
+ 1: '现场调试',
+ 2: '远程调试',
+ 3: '固件升级中',
+ 4: '作业中',
+ 5: '待标定',
+}
+export const deviceOnlineStatusOptions = {
+ 0: '关机',
+ 1: '开机'
+}
+export const coverStateOptions = {
+ 0: '关闭',
+ 1: '打开',
+ 2: '半开',
+ 3: '舱盖状态异常',
+}
+export const airConditionerStateOptions = {
+ 0: '空闲模式',
+ 1: '制冷模式',
+ 2: '制热模式',
+ 3: '除湿模式',
+ 4: '制冷退出模式',
+ 5: '制热退出模式',
+ 6: '除湿退出模式',
+ 7: '制冷准备模式',
+ 8: '制热准备模式',
+ 9: '除湿准备模式',
+ 10: '风冷准备中',
+ 11: '风冷中',
+ 12: '风冷退出中',
+ 13: '除雾准备中',
+ 14: '除雾中',
+ 15: '除雾退出中',
+}
+export const silentModeOptions = {
+ 0: '非静音模式',
+ 1: '静音模式',
+}
+export const alarmStateOptions = {
+ 0: '关闭',
+ 1: '开启',
+}
+export const droneChargeStateOptions = {
+ 0: '空闲',
+ 1: '充电中',
+}
+export const fourgLinkStateOptions = {
+ 0: '断开',
+ 1: '连接',
+}
+export const linkWorkmodeOptions = {
+ 0: 'SDR 模式',
+ 1: '4G 融合模式',
+}
+export const sourceTypeOptions = {
+ 0: '未标定',
+ 1: '自收敛标定',
+ 2: '手动标定',
+ 3: '网络RTK标定',
+}
+export const qualityOptions = {
+ 0: '无信号',
+ 1: '差',
+ 2: '较差',
+ 3: '一般',
+ 4: '较好',
+ 5: '好',
+}
+export const isConfiguredOptions = {
+ 0: '未设置',
+ 1: '已设置',
+}
+export const rainfallOptions = {
+ 0: '无雨',
+ 1: '小雨',
+ 2: '中雨',
+ 3: '大雨',
+}
\ No newline at end of file
diff --git a/src/views/demo/workmanagement/workplan/components/airLineList.vue b/src/views/demo/workmanagement/workplan/components/airLineList.vue
index 208fcbb..73ad00f 100644
--- a/src/views/demo/workmanagement/workplan/components/airLineList.vue
+++ b/src/views/demo/workmanagement/workplan/components/airLineList.vue
@@ -1,7 +1,7 @@
-
-
-
- {{item.airLineName}}
+
+
+
+
+ {{item.airLineName}}
+
+
+
+
+
+
+
+
+
+ 选择
+
+
+ 预览
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
-
-
-
-
-
-
-
-
- 选择
-
-
- 预览
-
-
- 编辑
-
-
- 删除
-
-
-
-
+
+

+ {{item.uavId}}Matrice 4TD
-
-
-

- {{item.uavId}}
-
-
-
- 更新时间:{{item.createTime}}
+
+
+ 更新时间:{{item.createTime}}
+
-
-
-
+
+
+
@@ -184,12 +184,14 @@