<template>
|
<div class="task-details-right-container">
|
<div class="titleImg">
|
<img :src="droneImg" alt="" />
|
</div>
|
|
<div class="taskInfo">
|
<div v-for="item in list" class="itemBox">
|
<div class="itemName">{{ item.name }}:</div>
|
<div class="itemValue">{{ item.value }}</div>
|
</div>
|
</div>
|
|
<BaseControl v-if="workspace_id" />
|
</div>
|
</template>
|
<script setup>
|
import droneImg from '@/assets/images/taskManagement/taskIntermediateContent/droneImg.png'
|
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' },
|
{ name: '任务名称', value: '', field: 'name' },
|
{ name: '任务类型', value: '', field: 'industry_type_str' },
|
{ name: '飞行事件', value: '', field: '' },
|
{ name: '所属单位', value: '', field: 'dept_name' },
|
{ name: '任务时间', value: '', field: 'create_time' },
|
{ name: '任务频次', value: '', field: 'rep_rule_type rep_rule_val' },
|
{ name: '关联算法', value: '', field: 'ai_type_str' },
|
{ name: '任务描述', value: '', field: 'remark' },
|
])
|
// takePhoto,hover
|
watch(
|
taskDetails,
|
() => {
|
list.value.forEach(item => {
|
item.value = taskDetails?.value?.[item.field] || ''
|
if (item.name === '任务频次') {
|
const { rep_rule_type = '', rep_rule_val = '' } = taskDetails?.value || {}
|
item.value = rep_rule_type + ' -- ' + rep_rule_val
|
}
|
if (item.name === '飞行事件') {
|
const { action_modes = [] } = taskDetails?.value || {}
|
// todo item.value = action_modes.
|
}
|
})
|
},
|
{
|
immediate: true,
|
deep: true,
|
}
|
)
|
</script>
|
|
<style scoped lang="scss">
|
.task-details-right-container {
|
padding-top: 35px;
|
position: absolute;
|
right: 0;
|
top: 0;
|
width: 297px;
|
height: 1002px;
|
background: rgba(31, 31, 31, 0.5);
|
backdrop-filter: blur(0.5rem);
|
border-radius: 0px 40px 40px 0px;
|
display: flex;
|
flex-direction: column;
|
gap: 25px 0;
|
align-items: center;
|
|
.manualControl {
|
background: transparent !important;
|
}
|
|
.titleImg {
|
width: 224px;
|
height: 131px;
|
background: rgba(74, 72, 72, 0.54);
|
box-shadow: 0px 4px 72px 0px rgba(0, 0, 0, 0.25);
|
border-radius: 12px 12px 12px 12px;
|
border: 1px solid rgba(255, 255, 255, 0.99);
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
|
img {
|
width: 100px;
|
height: 68px;
|
}
|
}
|
|
.taskInfo {
|
width: 220px;
|
height: 520px;
|
display: flex;
|
overflow: auto;
|
flex-direction: column;
|
gap: 25px 0;
|
|
.itemBox {
|
display: flex;
|
font-family: Segoe UI, Segoe UI;
|
font-size: 14px;
|
|
.itemName {
|
flex-shrink: 0;
|
font-weight: 400;
|
|
color: #d3d3d3;
|
}
|
|
.itemValue {
|
font-weight: bold;
|
color: #ffffff;
|
word-break: break-all; /* 强制在任意字符断行 */
|
white-space: normal; /* 允许正常换行 */
|
}
|
}
|
}
|
}
|
</style>
|