|
|
@ -2,7 +2,7 @@
|
|
|
|
* @Author: donghao donghao@supervision.ltd
|
|
|
|
* @Author: donghao donghao@supervision.ltd
|
|
|
|
* @Date: 2025-06-12 10:26:59
|
|
|
|
* @Date: 2025-06-12 10:26:59
|
|
|
|
* @LastEditors: donghao donghao@supervision.ltd
|
|
|
|
* @LastEditors: donghao donghao@supervision.ltd
|
|
|
|
* @LastEditTime: 2025-06-13 13:38:24
|
|
|
|
* @LastEditTime: 2025-06-13 14:17:19
|
|
|
|
* @FilePath: \Web-Traffic-Police\src\views\dataView\components\Type1ObjectDetect.vue
|
|
|
|
* @FilePath: \Web-Traffic-Police\src\views\dataView\components\Type1ObjectDetect.vue
|
|
|
|
* @Description: 目标检测
|
|
|
|
* @Description: 目标检测
|
|
|
|
-->
|
|
|
|
-->
|
|
|
@ -14,9 +14,9 @@
|
|
|
|
<div
|
|
|
|
<div
|
|
|
|
class="type-first-mid-box"
|
|
|
|
class="type-first-mid-box"
|
|
|
|
v-for="(item, index) in info.slice(
|
|
|
|
v-for="(item, index) in info.slice(
|
|
|
|
(pagination.page - 1) * pagination.pageSize,
|
|
|
|
(pagination.page - 1) * pagination.pageSize,
|
|
|
|
pagination.page * pagination.pageSize
|
|
|
|
pagination.page * pagination.pageSize
|
|
|
|
)"
|
|
|
|
)"
|
|
|
|
:key="index"
|
|
|
|
:key="index"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<div class="type-first-mid-box-video">
|
|
|
|
<div class="type-first-mid-box-video">
|
|
|
@ -26,24 +26,31 @@
|
|
|
|
controls
|
|
|
|
controls
|
|
|
|
></video>
|
|
|
|
></video>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="type-first-mid-box-text" v-if="title === '酒精度数'">
|
|
|
|
<div
|
|
|
|
|
|
|
|
class="type-first-mid-box-text max-h-[140px] overflow-auto"
|
|
|
|
|
|
|
|
v-if="title === '酒精度数'"
|
|
|
|
|
|
|
|
>
|
|
|
|
<span>酒精度数:</span>
|
|
|
|
<span>酒精度数:</span>
|
|
|
|
<span style="font-weight: normal">{{ item["酒精度数"] }}mg/100ml</span>
|
|
|
|
<span style="font-weight: normal"
|
|
|
|
|
|
|
|
>{{ item["酒精度数"] }}mg/100ml</span
|
|
|
|
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="type-first-mid-box-text" v-else-if="title === '语音角色'">
|
|
|
|
<div class="type-first-mid-box-text" v-else-if="title === '语音角色'">
|
|
|
|
<span>语音角色:</span>
|
|
|
|
<span>语音角色:</span>
|
|
|
|
<p v-for="(v, k) in item['语音角色']" :key="k">
|
|
|
|
<div class="max-h-[120px] overflow-auto">
|
|
|
|
<span>角色{{Number( k ) + 1}}:</span>
|
|
|
|
<p v-for="(v, k) in item['语音角色']" :key="k">
|
|
|
|
<span style="font-weight: normal">{{ transformKeyframes(v) }}</span>
|
|
|
|
<span>角色{{ Number(k) + 1 }}:</span>
|
|
|
|
</p>
|
|
|
|
<span style="font-weight: normal">{{
|
|
|
|
<!-- <span style="font-weight: normal">{{ item["语音角色"] }}</span> -->
|
|
|
|
transformKeyframes(v)
|
|
|
|
|
|
|
|
}}</span>
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="type-first-mid-box-text" v-else>
|
|
|
|
<div class="type-first-mid-box-text max-h-[140px] overflow-auto" v-else>
|
|
|
|
<span>关键帧:</span>
|
|
|
|
<span>关键帧:</span>
|
|
|
|
<span
|
|
|
|
<span style="font-weight: normal">{{
|
|
|
|
style="font-weight: normal"
|
|
|
|
transformKeyframes(item[`${title}时间`])
|
|
|
|
>{{ transformKeyframes(item[`${title}时间`]) }}</span
|
|
|
|
}}</span>
|
|
|
|
>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -86,14 +93,14 @@ function changePage({ page, pageSize }) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function transformKeyframes(data) {
|
|
|
|
function transformKeyframes(data) {
|
|
|
|
// 直接遍历数组
|
|
|
|
// 直接遍历数组
|
|
|
|
const result = data.map(item => {
|
|
|
|
const result = data.map((item) => {
|
|
|
|
// 假设每个 item 是 [开始时间, 结束时间] 的数组
|
|
|
|
// 假设每个 item 是 [开始时间, 结束时间] 的数组
|
|
|
|
if (Array.isArray(item) && item.length === 2) {
|
|
|
|
if (Array.isArray(item) && item.length === 2) {
|
|
|
|
return `${item[0]}-${item[1]}`;
|
|
|
|
return `${item[0]}-${item[1]}`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return ''; // 处理异常情况
|
|
|
|
return ""; // 处理异常情况
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// 过滤空值并拼接成字符串
|
|
|
|
// 过滤空值并拼接成字符串
|
|
|
|
return `["${result.filter(Boolean).join('", "')}"]`;
|
|
|
|
return `["${result.filter(Boolean).join('", "')}"]`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|