| | |
| | | 任务成果({{ taskResultList.length || 0 }}条) |
| | | </div> |
| | | <div class="imgBox"> |
| | | <div v-for="item in taskResultList"> |
| | | <div v-for="item in taskResultList.filter(item => item.resultUrl && [1,2,3].includes( item.attachmentType))"> |
| | | <el-image |
| | | v-if="item.attachmentType === 0 && item.resultUrl" |
| | | v-if="item.attachmentType === 1" |
| | | :src="item.resultUrl" |
| | | :preview-src-list="[item.resultUrl]" |
| | | fit="cover" |
| | | preview-teleported |
| | | /> |
| | | <div class="video-btn" v-if="item.attachmentType === 1 && item.resultUrl" @click="videoClick(item)"> |
| | | <el-image |
| | | v-if="item.attachmentType === 2" |
| | | :src="item.resultUrl" |
| | | :preview-src-list="[item.resultUrl]" |
| | | fit="cover" |
| | | preview-teleported |
| | | /> |
| | | <div class="video-btn" v-if="item.attachmentType === 3" @click="videoClick(item)"> |
| | | <el-icon :size="30" color="#fff"> |
| | | <VideoPlay /> |
| | | </el-icon> |
| | |
| | | width: calc((100% - 40px) / 5); /* 5列布局,减去4个10px间隙 */ |
| | | height: 110px; |
| | | flex-shrink: 0; |
| | | position: relative; |
| | | overflow: hidden; |
| | | border-radius: 4px; |
| | | cursor: pointer; |
| | | box-shadow: inset 0 0 0 1px rgba(17, 31, 68, 0.08); |
| | | transition: box-shadow 0.16s ease; |
| | | |
| | | &:hover { |
| | | box-shadow: |
| | | inset 0 0 0 2px rgba(76, 52, 255, 0.48), |
| | | 0 8px 20px rgba(76, 52, 255, 0.24); |
| | | } |
| | | } |
| | | .el-image { |
| | | width: 100%; |
| | |
| | | .video-btn { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: #9E9E9E; |
| | | position: relative; |
| | | overflow: hidden; |
| | | //border: 1px solid #D8D6FF; |
| | | border-radius: 4px; |
| | | background: |
| | | linear-gradient(135deg, rgba(76, 52, 255, 0.14), rgba(76, 52, 255, 0) 48%), |
| | | linear-gradient(180deg, #F4F5FF 0%, #E9ECFF 100%); |
| | | box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | cursor: pointer; |
| | | |
| | | &::before { |
| | | content: ""; |
| | | position: absolute; |
| | | inset: 0; |
| | | background-image: linear-gradient( |
| | | 90deg, |
| | | rgba(76, 52, 255, 0.05) 0, |
| | | rgba(76, 52, 255, 0.05) 1px, |
| | | transparent 1px, |
| | | transparent 12px |
| | | ); |
| | | opacity: 0.42; |
| | | } |
| | | |
| | | .el-icon { |
| | | position: relative; |
| | | z-index: 1; |
| | | width: 42px; |
| | | height: 42px; |
| | | border-radius: 50%; |
| | | background: rgba(76, 52, 255, 0.72); |
| | | box-shadow: 0 4px 12px rgba(76, 52, 255, 0.2); |
| | | } |
| | | } |
| | | } |
| | | :deep(.el-timeline-item__timestamp) { |