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.
131 lines
3.2 KiB
131 lines
3.2 KiB
<template> |
|
<view class="flex search"> |
|
<view class="search-item flex justify-center" :search="searchFlag"> |
|
<view class="flex gap-8 search-item-conent"> |
|
<uni-easyinput :style="{width: `60px`}" prefixIcon="search" type="text" v-model="query.taskName" |
|
placeholder="搜索" :inputBorder="false" @focus="searchFlag = true" /> |
|
|
|
</view> |
|
</view> |
|
<view class="search-item flex justify-center" v-if="!searchFlag"> |
|
<view class="flex gap-8 search-item-conent"> |
|
<uni-icons customPrefix="customicons" type="filter" size="20" color="#666" /> |
|
<view>筛选</view> |
|
</view> |
|
</view> |
|
<view v-else> |
|
<view class="cancel-btn" @tap="searchFlag = false">取消</view> |
|
</view> |
|
</view> |
|
<view class="problem-container"> |
|
<view class="problem-item" v-for="item in problems" @tap="open(item.id)"> |
|
<view class="problem-item-img"> |
|
<net-image :filepath="item.files[0].filePath" /> |
|
</view> |
|
<view class="problem-item-c"> |
|
<view class="row" style="--label-width: 160rpx"> |
|
<view class="col col-24" v-if="item.probmeType"> |
|
<view class="label">问题类型:</view> |
|
<view class="content">{{ item.probmeType }}</view> |
|
</view> |
|
<view class="col col-24"> |
|
<view class="label">被督察单位:</view> |
|
<view class="content">{{ item.departName }}</view> |
|
</view> |
|
<view class="col col-24" v-if="item.peoples.length > 0"> |
|
<view class="label">被督察人员:</view> |
|
<view class="content">{{ item.peoples?.map(p => p.name).join(' ') }}</view> |
|
</view> |
|
<view class="col col-24"> |
|
<view class="label">情况描述:</view> |
|
<view class="content">{{ item.thingDesc }}</view> |
|
</view> |
|
</view> |
|
<view class="flex justify-between"> |
|
<view></view> |
|
<view class="problem-item-time">{{ item.createTime }}</view> |
|
</view> |
|
</view> |
|
</view> |
|
<empty v-if="problems.length === 0" /> |
|
</view> |
|
<view class="footer col-24"> |
|
<button type="primary" @click="handleAdd">添加记录</button> |
|
</view> |
|
</template> |
|
<script setup> |
|
import store from '@/store' |
|
</script> |
|
<script> |
|
import { |
|
listInspectionProblem |
|
} from '@/api/inspection' |
|
|
|
export default { |
|
props: ['taskId'], |
|
data() { |
|
return { |
|
searchFlag: false, |
|
query: {}, |
|
taskContent: this.$page.options.taskContent, |
|
problems: [] |
|
} |
|
}, |
|
onLoad() { |
|
|
|
}, |
|
onShow() { |
|
listInspectionProblem(this.$page.options.taskId, this.query).then(data => { |
|
this.problems = data.records |
|
}) |
|
}, |
|
onBackPress(options) { |
|
console.log(options) |
|
return false |
|
}, |
|
methods: { |
|
handleAdd() { |
|
uni.navigateTo({ |
|
url: '/pages/task/problem/add?taskId=' + this.$page.options.taskId |
|
}); |
|
}, |
|
open(id) { |
|
uni.navigateTo({ |
|
url: '/pages/task/problem/index?id=' + id |
|
}); |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
.problem-container { |
|
padding: 0 24rpx; |
|
} |
|
|
|
.problem-item { |
|
display: flex; |
|
gap: 0 20rpx; |
|
padding: 24rpx 0; |
|
box-shadow: inset 0 -1px 0 0 #DDDDDD; |
|
|
|
.problem-item-img { |
|
width: 128rpx; |
|
height: 128rpx; |
|
|
|
image { |
|
width: 100%; |
|
height: 100%; |
|
} |
|
} |
|
|
|
.problem-item-c { |
|
width: calc(100% - 148rpx); |
|
} |
|
|
|
.problem-item-time { |
|
font-size: 12px; |
|
color: #666; |
|
} |
|
} |
|
</style> |