forked from drone/command-center-dashboard

chenyao
2025-04-15 5e12f0f97ef4a646ab3374b1ec16866c64ab5ac0
Merge branch 'master' of http://139.196.74.78:10010/r/drone/command-center-dashboard
1 files modified
57 ■■■■■ changed files
src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue 57 ●●●●● patch | view | raw | blame | history
src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
@@ -18,7 +18,7 @@
                        <div v-for="(item, index) in infoList" :key="index">
                            <div class="itemBox">
                                <div class="itemTitle">{{ item.name }}:</div>
                                <div class="itemValue">{{ item.value ? item.value :''}}</div>
                                <div class="itemValue">{{ item.value ? item.value : '' }}</div>
                            </div>
                        </div>
                    </div>
@@ -37,17 +37,24 @@
                    <p class="more">更多</p>
                </div>
                <div class="imgListBox">
                    <el-image
                        class="imgItem"
                        v-for="(item, index) in achievementList"
                        :key="index"
                        :src="item.url"
                        :preview-src-list="achievementList.map(i => i.url)"
                        show-progress
                        preview-teleported
                        :initial-index="index"
                        fit="cover"
                    />
                    <!-- 图片显示 -->
                    <template v-if="mediaType === 'image'">
                        <el-image
                            class="imgItem"
                            v-for="(item, index) in achievementList"
                            :key="index"
                            :src="item.url"
                            :preview-src-list="achievementList.map(i => i.url)"
                            show-progress
                            preview-teleported
                            :initial-index="index"
                            fit="cover"
                        />
                    </template>
                    <!-- 视频显示 -->
                    <template v-else-if="mediaType === 'video'">
                        <video v-for="(item, index) in achievementList" :key="index" :src="item.url" controls></video>
                    </template>
                </div>
            </div>
            <DeviceJobDetailsMap v-if="isShow" class="contentRight" :detailsData="detailsData" />
@@ -90,34 +97,38 @@
    creator_name: null,
    way_lines: [],
})
// 任务成果
const mediaType = ref('')
const total = ref(0)
const achievementList = ref([])
const wayLineJodInfoId = inject('wayLineJodInfoId')
const getAchievement = () => {
    getJobInfoFiles({ jobInfoId: wayLineJodInfoId.value }).then(res => {
        for (let i = 0; i < res.data.data.length; i++) {
            const url = res.data.data[i].url || ''
            const ext = String(url)?.split('.')?.pop().toLowerCase() || ''
            const images = ['jpg', 'jpeg', 'png', 'gif', 'webp']
            const videos = ['mp4', 'webm', 'ogg', 'mov']
            mediaType.value = images.includes(ext) ? 'image' : videos.includes(ext) ? 'video' : ''
        }
        achievementList.value = res.data.data
        total.value = res.data.data.length
    })
}
const getDetails = () => {
    getJobDetails({ wayLineJobInfoId: wayLineJodInfoId.value }).then(res => {
    console.log('res',res);
        detailsData.value = res.data.data
        infoList.value.forEach(item => {
            if (item.name === '任务时间') {
                item.value = detailsData.value.begin_time.slice(0,10) + '-' + detailsData.value.end_time.slice(0,10)
            }
        else if (item.name === '任务频次') {
                item.value === undefined ?'': detailsData.value.rep_rule_type + '-' + detailsData.value.rep_rule_val
            }
            else {
                item.value = detailsData.value.begin_time.slice(0, 10) + '-' + detailsData.value.end_time.slice(0, 10)
            } else if (item.name === '任务频次') {
                item.value = detailsData.value.rep_rule_type + ' -- ' + detailsData.value.rep_rule_val
            } else {
                item.value = detailsData.value?.[item.field] || ''
            }
        })
        flystatus.value = res.data.data.ai_type_str
        // console.log('历史任务详情', res.data.data)
    })
}
@@ -231,7 +242,7 @@
        .imgListBox {
            display: flex;
            flex-wrap: wrap;
            gap: 0 10px;
            gap: 10px;
            .imgItem {
                width: 200px;