| New file |
| | |
| | | <!-- 任务详情 --> |
| | | <template> |
| | | <el-dialog |
| | | append-to-body |
| | | modal-class="detailsOfHistoricalTasks" |
| | | v-model="isShow" |
| | | title="历史任务详情" |
| | | :width="pxToRem(1500)" |
| | | :close-on-click-modal="false" |
| | | :destroy-on-close="true" |
| | | > |
| | | <div class="content"> |
| | | <div class="contentLeft"> |
| | | <el-divider content-position="left">详情</el-divider> |
| | | <div class="infoBox"> |
| | | <div class="itemBox" v-for="item in infoList"> |
| | | <div class="itemTitle">{{ item.name }}:</div> |
| | | <div class="itemValue">{{ item.value }}</div> |
| | | </div> |
| | | </div> |
| | | <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> |
| | | </div> |
| | | </div> |
| | | <div class="contentRight">map</div> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { pxToRem } from '@/utils/rem' |
| | | import JobRelatedEvents from './JobRelatedEvents.vue' |
| | | |
| | | 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' }, |
| | | ]) |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .detailsOfHistoricalTasks { |
| | | .el-dialog { |
| | | --el-dialog-margin-top: 5vh; |
| | | } |
| | | |
| | | .el-pagination { |
| | | justify-content: center; |
| | | padding: 20px; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | height: 80vh; |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | <style lang="scss" scoped> |
| | | .content { |
| | | display: flex; |
| | | height: 100%; |
| | | |
| | | .contentLeft { |
| | | width: 900px; |
| | | overflow: auto; |
| | | |
| | | .infoBox { |
| | | display: grid; |
| | | grid-template-columns: repeat(3, 1fr); |
| | | gap: 10px; // 列之间的间距 |
| | | padding: 10px; |
| | | |
| | | .itemBox { |
| | | background-color: #fff; |
| | | border: 1px solid #ddd; |
| | | border-radius: 4px; |
| | | padding: 15px; |
| | | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .itemTitle { |
| | | font-weight: bold; |
| | | color: #333; |
| | | } |
| | | |
| | | .itemValue { |
| | | color: #666; |
| | | } |
| | | } |
| | | |
| | | .imgListBox { |
| | | display: flex; |
| | | |
| | | .imgItem { |
| | | width: 200px; |
| | | height: 200px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .contentRight { |
| | | width: 0; |
| | | flex-grow: 1; |
| | | background: #19ad8d; |
| | | } |
| | | } |
| | | </style> |