From 3e659495932a318e626eafe456b197aee758a739 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 19 Apr 2025 16:03:13 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/drone/command-center-dashboard
---
src/views/Home/HomeRight/EventOverview.vue | 2
src/components/CurrentTaskDetails/ControlPanel/ControlPanel.vue | 2
src/api/payload.js | 32 ++++++++++------
src/components/CurrentTaskDetails/TaskDetailsLeft.vue | 6 +-
src/components/CurrentTaskDetails/TaskDetailsRight.vue | 5 +-
src/components/CurrentTaskDetails/CurrentTaskDetails.vue | 45 +++++++++++++++++++---
src/views/SignMachineNest/MachineLeft/InspectionRaskDetails.vue | 11 +++--
7 files changed, 73 insertions(+), 30 deletions(-)
diff --git a/src/api/payload.js b/src/api/payload.js
index 8bc5a14..1d9d374 100644
--- a/src/api/payload.js
+++ b/src/api/payload.js
@@ -24,17 +24,17 @@
}
// 获得有效载荷控制
-export async function getPayloadControlApi(params) {
- return await request({
- url:`${API_PREFIX}/devices/payload-control/requests`,
- method:'get',
+export function getPayloadControlApi(params) {
+ return request({
+ url: `${API_PREFIX}/devices/payload-control/requests`,
+ method: 'get',
params
})
}
// 云台控制api
-export async function ptzControlApi(key,params) {
- return await request({
+export function ptzControlApi(key,params) {
+ return request({
url:`${API_PREFIX}/devices/payload-control/payload/${key}`,
method:'get',
params
@@ -42,8 +42,8 @@
}
// 拍照和录像
-export async function callPhotoAndVideoCmd(sn, type) {
- return await request({
+export function callPhotoAndVideoCmd(sn, type) {
+ return request({
url:`${API_PREFIX}/devices/${sn}/payload/photoAndVideoCmd/${type}`,
method:'get',
})
@@ -51,17 +51,25 @@
// 相机参数调整
-export async function cameraParamsChangeApi(data) {
- return await request({
+export function cameraParamsChangeApi(data) {
+ return request({
url:`${API_PREFIX}/devices/payload-control/payload/zoom/level`,
method:'post',
data
})
}
+export function getLiveCapacityApi(workspace_id,params) {
+ return request({
+ url:`/drone-device-core/manage/api/v1/live/capacity${workspace_id}`,
+ method:'get',
+ params
+ })
+}
+
// 云台重置
-export async function ptzResetModeApi(params) {
- return await request({
+export function ptzResetModeApi(params) {
+ return request({
url:`${API_PREFIX}/devices/payload-control/payload/reset`,
method:'get',
params
diff --git a/src/components/CurrentTaskDetails/ControlPanel/ControlPanel.vue b/src/components/CurrentTaskDetails/ControlPanel/ControlPanel.vue
index 7b9219a..f5e59eb 100644
--- a/src/components/CurrentTaskDetails/ControlPanel/ControlPanel.vue
+++ b/src/components/CurrentTaskDetails/ControlPanel/ControlPanel.vue
@@ -181,7 +181,7 @@
let timer = null
let totalSeconds = 0
-const workspace_id = computed(() => taskDetails?.value?.workspace_id)
+const workspace_id = inject('workspace_id')
const list1 = [
{ key: KeyCode.KEY_Q, text: 'Q', icon: RefreshLeft },
{ key: KeyCode.KEY_W, text: 'W', icon: ArrowUp },
diff --git a/src/components/CurrentTaskDetails/CurrentTaskDetails.vue b/src/components/CurrentTaskDetails/CurrentTaskDetails.vue
index a9d4cdb..66c13cd 100644
--- a/src/components/CurrentTaskDetails/CurrentTaskDetails.vue
+++ b/src/components/CurrentTaskDetails/CurrentTaskDetails.vue
@@ -4,9 +4,9 @@
* @LastEditors: shuishen 1109946754@qq.com
* @LastEditTime: 2025-04-19 15:07:04
* @FilePath: \command-center-dashboard\src\components\CurrentTaskDetails\CurrentTaskDetails.vue
- * @Description:
- *
- * Copyright (c) 2025 by shuishen, All Rights Reserved.
+ * @Description:
+ *
+ * Copyright (c) 2025 by shuishen, All Rights Reserved.
-->
<!--当前任务详情-->
<template>
@@ -20,7 +20,7 @@
>
<div class="content-container" v-if="isShow">
<!-- 视频直播 -->
- <div :class="`${isMaxMap ? 'minBox' : 'maxBox'}`">
+ <div :class="`${isMaxMap ? 'minBox' : 'maxBox'} centerPoint`">
<LiveVideo :videoUrl="currentLiveUrl" :controls="false" />
</div>
<!-- 展示地图 -->
@@ -52,7 +52,7 @@
import { ElMessage } from 'element-plus'
import EventBus from '@/event-bus'
import { updateDroneQualityApi } from '@/api/drc'
-import { getLiveAiLinkApi } from '@/api/payload'
+import { getLiveAiLinkApi, getLiveCapacityApi } from '@/api/payload'
import { CURRENT_CONFIG } from '@/utils/http/config'
import { useDroneWS } from '@/hooks/useDroneWS'
import { useTaskDetails } from '@/hooks/useTaskDetails/useTaskDetails'
@@ -79,10 +79,20 @@
currentLiveUrl.value = res.data.data.rtcs_url
}
-let { taskDetails, workspace_id, getTaskDetails } = useTaskDetails(getDeviceLiveUrl)
+//获取相机能力
+async function getLiveCapacity() {
+ const res = await getLiveCapacityApi(workspace_id.value,{ sn: dockSn.value})
+}
+const useTaskDetailsCallBack = () => {
+ console.log(workspace_id.value,66666666)
+ getDeviceLiveUrl()
+}
+
+let { taskDetails, workspace_id, getTaskDetails } = useTaskDetails(useTaskDetailsCallBack)
let { wsInfo, removeWS } = useDroneWS(workspace_id) //ws信息,是一个ref对象
provide('wsInfo', wsInfo)
+provide('workspace_id', workspace_id)
provide('deviceOsdInfo', deviceOsdInfo)
provide('dockOsdInfo', wsInfo?.value?.dock_osd)
provide('dockSn', dockSn)
@@ -95,6 +105,14 @@
provide('isAiLive', isAiLive)
provide('video_id', video_id)
provide('client_id', client_id)
+
+let once = true
+watch(deviceOsdInfo,()=>{
+ if (once){
+ // getLiveCapacity()
+ once =false
+ }
+})
watch(
wsInfo,
@@ -201,6 +219,21 @@
border-radius: 4rem;
overflow: hidden;
+ .centerPoint {
+ &:before {
+ content: '+';
+ font-size: 30px;
+ color: white;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ pointer-events: none;
+ font-weight: bold;
+ text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black; /* 四方向描边 */
+ }
+ }
+
.maxBox {
width: 100%;
height: 100%;
diff --git a/src/components/CurrentTaskDetails/TaskDetailsLeft.vue b/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
index ec3b707..f0745fb 100644
--- a/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
+++ b/src/components/CurrentTaskDetails/TaskDetailsLeft.vue
@@ -21,7 +21,7 @@
<div @click="takePictures">拍照</div>
<div @click="recordFun">{{ isRecording ? '录像中...' : '录像' }}</div>
</div>
- <div class="multiCol">
+ <div class="multiCol" v-if="wsInfo?.psdk_widget_values">
<div @click="shoutFun">{{ isRecordShouting ? '喊话' : '停止喊话' }}</div>
<div @click="broadcastFun">广播</div>
</div>
@@ -102,9 +102,9 @@
import Recorder from 'js-audio-recorder';
import dayjs from 'dayjs'
+const wsInfo = inject('wsInfo')
// 初始化喊话
let globalShout = null
-
const isRecording = ref(false)
const list1 = ref([
@@ -346,7 +346,7 @@
top: 50%;
transform: translateY(-60%);
width: 178px;
- height: 416px;
+ padding: 20px 0;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(5px);
border-radius: 20px 20px 20px 20px;
diff --git a/src/components/CurrentTaskDetails/TaskDetailsRight.vue b/src/components/CurrentTaskDetails/TaskDetailsRight.vue
index 2a3ad92..34a7ce1 100644
--- a/src/components/CurrentTaskDetails/TaskDetailsRight.vue
+++ b/src/components/CurrentTaskDetails/TaskDetailsRight.vue
@@ -11,7 +11,7 @@
</div>
</div>
- <BaseControl v-if="taskDetails.workspace_id" />
+ <BaseControl v-if="workspace_id" />
</div>
</template>
<script setup>
@@ -19,6 +19,7 @@
import BaseControl from '@/components/CurrentTaskDetails/ControlPanel/BaseControl.vue'
const taskDetails = inject('taskDetails')
+const workspace_id = inject('workspace_id')
const list = ref([
{ name: '任务编号', value: '', field: 'job_info_num' },
@@ -58,7 +59,7 @@
top: 0;
width: 297px;
height: 1002px;
- background: rgba(31, 31, 31, 0.15);
+ background: rgba(31, 31, 31, 0.5);
backdrop-filter: blur(0.5rem);
border-radius: 0px 40px 40px 0px;
display: flex;
diff --git a/src/views/Home/HomeRight/EventOverview.vue b/src/views/Home/HomeRight/EventOverview.vue
index d608a20..d87301b 100644
--- a/src/views/Home/HomeRight/EventOverview.vue
+++ b/src/views/Home/HomeRight/EventOverview.vue
@@ -144,7 +144,7 @@
const today = dayjs().format('YYYY-MM-DD')
const timeArr = ref([today, today])
const completionRateSeries = {
- name: '完成率',
+ name: '完结率',
type: 'line',
itemStyle: {
color: '#0CEBF7', // 设置颜色
diff --git a/src/views/SignMachineNest/MachineLeft/InspectionRaskDetails.vue b/src/views/SignMachineNest/MachineLeft/InspectionRaskDetails.vue
index 2c24401..b96be9b 100644
--- a/src/views/SignMachineNest/MachineLeft/InspectionRaskDetails.vue
+++ b/src/views/SignMachineNest/MachineLeft/InspectionRaskDetails.vue
@@ -160,12 +160,13 @@
color: '#fff',
},
data: [
- { value: 0, name: '待审核', itemStyle: { color: '#1860EC' } },
- { value: 0, name: '待处理', itemStyle: { color: '#47D107' } },
- { value: 0, name: '已完成', itemStyle: { color: '#F29509' } },
+ { value: 0, name: '待审核', itemStyle: { color: '#8CFEA7' } },
+ { value: 0, name: '待处理', itemStyle: { color: '#FF7411' } },
+ { value: 0, name: '处理中', itemStyle: { color: '#FFC398' } },
+ { value: 0, name: '已完成', itemStyle: { color: '#AFD9FB' } },
// { value: 0, name: '待分拨', itemStyle: { color: '#E9C81A' } },
- { value: 0, name: '处理中', itemStyle: { color: '#0FC1E8' } },
- { value: 0, name: '已完结', itemStyle: { color: '#FE577F' } },
+
+ { value: 0, name: '已完结', itemStyle: { color: '#11C4FF' } },
],
},
],
--
Gitblit v1.9.3