Merge branch 'master' of http://139.196.74.78:10010/r/drone/command-center-dashboard
| | |
| | | }) |
| | | } |
| | | |
| | | // 设备-任务列表 |
| | | export const getDeviceJobList = (data,params) => { |
| | | return request({ |
| | | url: `/drone-device-core/wayline/waylineJobInfo/jobList`, |
| | | method: 'post', |
| | | data, |
| | | params |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 设备-事件列表 |
| | | export const getDeviceEventList = (data,params) => { |
| | |
| | | params |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | data: data.searchParams, |
| | | }) |
| | | } |
| | | // 任务详情 |
| | | export const getJobDetails = params => { |
| | | return request({ |
| | | url: '/drone-device-core/wayline/waylineJobInfo/jobDetails', |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | | |
| | | // 设备-任务列表 |
| | | export const getDeviceJobList = (data,params) => { |
| | | return request({ |
| | | url: `/drone-device-core/wayline/waylineJobInfo/jobList`, |
| | | method: 'post', |
| | | data, |
| | | params |
| | | }) |
| | | } |
| | | |
| | | // 根据任务id查成果 |
| | | export const getJobInfoFiles = (params) => { |
| | | return request({ |
| | | url: `/blade-resource/media/api/v1/workspaces/files/getJobInfoFiles`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | </template> |
| | | <script setup> |
| | | import { useStore } from 'vuex' |
| | | import { getDeviceJobList } from '@/api/home/machineNest' |
| | | import DeviceJobDetails from './DeviceJobDetails/DeviceJobDetails.vue'; |
| | | import { getDeviceJobList } from '@/api/home/task' |
| | | |
| | | const list = ref([]) |
| | | const params = ref({ |
| | |
| | | <!-- 任务详情 --> |
| | | <template> |
| | | <el-dialog |
| | | append-to-body |
| | | append-to-body |
| | | modal-class="detailsOfHistoricalTasks" |
| | | v-model="isShow" |
| | | title="历史任务详情" |
| | |
| | | <JobRelatedEvents v-if="isShow" /> |
| | | <el-divider content-position="left">任务成果 xxx个</el-divider> |
| | | <div class="imgListBox"> |
| | | <div v-for="item in imgList" class="imgItem">xxx图片</div> |
| | | <el-image |
| | | class="imgItem" |
| | | v-for="(item, index) in achievementList" |
| | | :src="item.url" |
| | | :preview-src-list="achievementList.map(i => i.url)" |
| | | show-progress |
| | | preview-teleported |
| | | :initial-index="index" |
| | | fit="cover" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="contentRight">map</div> |
| | |
| | | <script setup> |
| | | import { pxToRem } from '@/utils/rem' |
| | | import JobRelatedEvents from './JobRelatedEvents.vue' |
| | | import { getJobDetails, getJobInfoFiles } from '@/api/home/task' |
| | | |
| | | const isShow = defineModel('show') |
| | | |
| | | |
| | | const imgList = ref([ |
| | | { name: '图片1', url: 'xxx' }, |
| | | { name: '图片1', url: 'xxx' }, |
| | | { name: '图片1', url: 'xxx' }, |
| | | { name: '图片1', url: 'xxx' }, |
| | | ]) |
| | | |
| | | const infoList = ref([ |
| | | { name: '任务编号', value: 'xxx' }, |
| | | { name: '任务所属机巢', value: 'xxx' }, |
| | | { name: '关联算法', value: 'xxx' }, |
| | | { name: '任务名称', value: 'xxx' }, |
| | | { name: '所属单位', value: 'xxx' }, |
| | | { name: '任务类型', value: 'xxx' }, |
| | | { name: '任务周期', value: 'xxx' }, |
| | | { name: '飞行事件', value: 'xxx' }, |
| | | { name: '任务频次', value: 'xxx' }, |
| | | { name: '任务描述', value: 'xxx' }, |
| | | { name: '任务编号', value: '', field: 'id' }, |
| | | { name: '任务所属机巢', value: '', field: 'device_names' }, |
| | | { name: '关联算法', value: '', field: 'ai_type_str' }, |
| | | { name: '任务名称', value: '', field: 'name' }, |
| | | { name: '所属单位', value: '', field: 'dept_name' }, |
| | | { name: '任务类型', value: '', field: 'industry_type_str' }, |
| | | { name: '飞行事件', value: '', field: 'event_number' }, |
| | | { name: '任务周期', value: '', field: 'rep_rule_val' }, |
| | | { name: '任务频次', value: '', field: 'rep_fre_val' }, |
| | | { name: '任务描述', value: '', field: 'remark' }, |
| | | ]) |
| | | |
| | | const detailsData = ref({ |
| | | id: 19, |
| | | remark: '测试测试', |
| | | is_monitoring: 0, |
| | | industry_type_str: '综合类、公安类', |
| | | area_code: '360103', |
| | | ai_type_str: '识别火情、车牌识别', |
| | | begin_time: '2025/04/02 16:00', |
| | | end_time: '2025/04/01 15:59', |
| | | device_names: '赣县-夏潭机场', |
| | | create_time: '2025-04-01T07:35:19.000+00:00', |
| | | name: '夏弹机场测试', |
| | | event_number: 2, |
| | | creator_name: '管理员', |
| | | way_lines: [], |
| | | }) |
| | | |
| | | const achievementList = ref([]) |
| | | |
| | | const wayLineJodInfoId = inject('wayLineJodInfoId') |
| | | const getAchievement = () => { |
| | | getJobInfoFiles({ jobInfoId: wayLineJodInfoId.value }).then(res => { |
| | | achievementList.value = res.data.data |
| | | }) |
| | | } |
| | | const getDetails = () => { |
| | | getJobDetails({ wayLineJobInfoId: wayLineJodInfoId.value }).then(res => { |
| | | console.log(res.data.data, 666) |
| | | detailsData.value = res.data.data |
| | | infoList.value.forEach(item => { |
| | | item.value = detailsData.value?.[item.field] || '' |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | watch(isShow, (newValue, oldValue) => { |
| | | if (newValue) { |
| | | getAchievement() |
| | | getDetails() |
| | | } |
| | | }) |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | |
| | | |
| | | .imgListBox { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | gap: 0 10px; |
| | | |
| | | .imgItem { |
| | | width: 200px; |
| | |
| | | <template> |
| | | <el-divider content-position="left">关联事件 {{total}}个</el-divider> |
| | | <el-table :data="list" style="width: 100%" > |
| | | <el-table-column prop="event_num" label="编号" /> |
| | | <el-table-column prop="id" label="ID" /> |
| | | <el-table-column prop="event_name" label="名称" /> |
| | | <el-table-column prop="media_type" label="类型" /> |
| | | <el-table-column prop="photo_url" label="图片url" /> |
| | | <el-table-column prop="video_url" label="视频url" /> |
| | | <el-table-column prop="photo_url" label="图片"> |
| | | <template #default="scope"> |
| | | <el-image |
| | | :style="{width: pxToRem(50), height: pxToRem(50)}" |
| | | :src="scope.row.photo_url" |
| | | :preview-src-list="[scope.row.photo_url]" |
| | | show-progress |
| | | preview-teleported |
| | | :initial-index="4" |
| | | fit="cover" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="video_url" label="视频" /> |
| | | <el-table-column prop="remark" label="备注" /> |
| | | <el-table-column prop="status" label="状态"> |
| | | <template #default="scope"> |
| | |
| | | <el-tag v-if="scope.row.status === 5" type="success">已完结</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="wayline_job_id" label=" 任务id" /> |
| | | <el-table-column label="操作" > |
| | | <template #default="scope"> |
| | | <el-button type="primary" link @click="examine(scope.row)">审核</el-button> |
| | |
| | | import { useStore } from 'vuex' |
| | | import { getDeviceEventList } from '@/api/home/machineNest' |
| | | import { ElMessage } from 'element-plus'; |
| | | import { pxToRem } from '@/utils/rem' |
| | | |
| | | |
| | | const list = ref() |
| | |
| | | }) |
| | | const sizeParams = ref({ |
| | | current: 1, |
| | | size: 1, |
| | | size: 10, |
| | | }) |
| | | const store = useStore() |
| | | const child_sn = computed(() => store.state.home.singleUavHome.child_sn) |
| | |
| | | total.value = resData.total |
| | | }) |
| | | } |
| | | |
| | | |
| | | const pageChange = val => { |
| | | sizeParams.value.current = val |
| | | getList() |
| | | } |
| | | |
| | | onMounted(() => { |
| | | console.log(66); |
| | | getList() |
| | | }) |
| | | </script> |