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.
 
 
 
 
 

172 lines
3.5 KiB

<style lang="scss" scoped>
.recovery{
&>.dateRange{
display: flex;
align-items: center;
margin:30rpx;
text{
&.plant-youbian{
display: flex;
align-items: center;
flex-direction: row-reverse;
justify-content: space-between;
background:#fff;
height:48rpx;
font-size:24rpx;
color:#333;
border-radius: 8rpx;
padding:0 10rpx;
min-width:226rpx;
box-sizing: border-box;
&:before{
transform: rotate(90deg);
}
&.noDate{
color:#999;
}
}
&:nth-child(2){
color:#999;
padding:0 28rpx;
}
}
}
.card{
display:flex;
.u-transition{
flex-shrink: 0;
margin-right:20rpx;
}
.detail{
flex-grow: 1;
.name{
display: flex;
justify-content: space-between;
margin-bottom:15rpx;
text{
&:first-child{
font-weight: bold;
}
&:nth-child(2){
font-weight: bold;
font-size:32rpx;
&:after{
content:attr(data-unit);
font-weight: normal;
}
}
}
}
.info{
font-size: 24rpx;
color:#999;
text:nth-child(2){
margin-left:20rpx;
}
}
}
}
}
</style>
<template>
<view class="recovery">
<view class="dateRange">
<text class="plant-youbian" :class="{noDate:!searchVal.startTime}" @click="dateType='startTime';show=true">{{searchVal.startTime||"请选择开始时间"}}</text>
<text>~</text>
<text class="plant-youbian" :class="{noDate:!searchVal.endTime}" @click="dateType='endTime';show=true">{{searchVal.endTime||"请选择结束时间"}}</text>
</view>
<view class="card" v-for="(v,k) in list" :key="k">
<u-image width="90rpx" height="90rpx" radius="6rpx" mode="aspectFill" :src="`${host}/${v.images}`"/>
<view class="detail">
<view class="name">
<text>{{v.plantName}}</text>
<text data-unit="kg">{{v.harvestNum}}</text></view>
<view class="info">
<text>负责人{{v.principal}}</text>
<text>采收时间{{v.harvestTime}}</text>
</view>
</view>
</view>
<u-empty v-if="list.length==0" icon="http://cdn.uviewui.com/uview/empty/data.png"/>
<u-datetime-picker
:show="show"
mode="date"
closeOnClickOverlay
@close="show=false"
@cancel="show=false"
:value="date"
@confirm="searchVal[dateType]=new Date($event.value).format('yyyy-MM-dd');show=false"/>
</view>
</template>
<script>
import request,{host} from '@/common/request'
export default {
name:"recovery",
props:{
plotId:{
type:String,
defaylt:""
},
plantId:{
type:String,
default:'',
},
},
data(){
return{
show:false,
dateType:"startTime",
host:host(undefined,"/plant_manage/sys/common/static"),
searchVal:{
pageNo:1,
pageSize:5,
startTime:"",
endTime:"",
},
list:[],
total:0,
}
},
computed:{
date(){
return this.searchVal[this.dateType] || new Date().format('yyyy-MM-dd')
}
},
watch:{
plantId(){
this.list=[]
this.total=0
this.searchVal.pageNo=1
this.search()
},
},
created(){
this.search()
},
methods:{
async search(){
if(this.total==0||this.list.length<this.total){
var res=await request("/api/plantHarvest/list",{
params:{
...this.searchVal,
plotId:this.plotId,
plantScheduleId:this.plantId,
}
})
if(res.statu){
this.list=this.list.concat(res.data.records)
this.total=res.data.total
}else{
uni.showModal({
title:"提示",
content:res.msg||"获取采收记录列表失败",
showCancel:false,
})
}
}
},
}
}
</script>