移动端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

147 lines
3.3 KiB

<template>
<scroll-view scroll-y flex-enable class="view-container">
<view class="box" v-for="log in list" :key="log.id">
<view class="wd-flex" style="gap: 10px; align-items: center">
<view
:style="{
color: $dict.echoDictOption(
dictMap.inspections_mark,
log.status
).remark
}"
>
{{
$dict.echoDictOption(dictMap.inspections_mark, log.status)
.label
}}
</view>
<view class="">
{{ $util.formatDate(log.createTime, 'YYYY/M/D') }}
</view>
</view>
<scroll-view
scroll-x
style="flex-flow: row nowrap; white-space: nowrap"
:enable-flex="true"
>
<view
v-for="people in log.userList"
:key="people.userId"
style="
display: inline-flex;
gap: 24rpx;
border: 1px solid #f9f9f9;
border-radius: 16rpx;
padding: 24rpx;
margin-right: 24rpx;
"
>
<u-avatar
:src="people.avtar"
size="80rpx"
shape="circle"
></u-avatar>
<view class="wd-flex wd-flex-col" style="gap: 2px">
<text>{{ people.realName }}</text>
<text>{{ people.deptName }}</text>
</view>
</view>
</scroll-view>
<cs-text-more :value="log.feedBack"></cs-text-more>
<view class="imageList">
<image
:src="photo.url"
v-for="photo in log.fileList"
:key="photo.id"
mode="aspectFill"
class="image"
@tap="previewImage(log.fileList)"
></image>
</view>
</view>
</scroll-view>
</template>
<script>
import { getDictBatchByType } from '@/api/system/dict.js'
import { getTaskLog } from '@/api/enterprise/index.js'
export default {
data() {
return {
queryParams: {
taskId: ''
},
list: [],
dictMap: {}
}
},
onLoad(res) {
uni.setNavigationBarTitle({
title: res.taskName
})
this.queryParams.taskId = res.taskId
this.getDict()
this.getList()
},
onReachBottom() {
this.loadMore()
},
onPullDownRefresh() {
this.reset()
},
methods: {
/**
* 获取字典
*/
async getDict() {
const dict = await getDictBatchByType({
type: ['inspections_mark'].join(',')
})
this.dictMap = {
...dict.data
}
},
async getList() {
uni.showToast({
title: '加载中',
mask: true,
icon: 'loading'
})
const res = await getTaskLog(this.queryParams.taskId)
this.list = res.data
uni.hideToast()
},
previewImage(url) {
this.$util.perviewImage(url.map(i => i.url))
}
}
}
</script>
<style lang="scss" scoped>
.view-container {
padding: 24rpx;
flex-direction: column;
gap: 24rpx;
.box {
border-radius: 24rpx;
padding: 24rpx;
display: flex;
flex-direction: column;
gap: 24rpx;
background-color: #fff;
position: relative;
margin-bottom: 24rpx;
.imageList {
display: flex;
gap: 24rpx;
.image {
width: 192rpx;
height: 192rpx;
border-radius: 16rpx;
flex-shrink: 0;
}
}
}
}
</style>