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.
307 lines
11 KiB
307 lines
11 KiB
<style lang="less" scoped>
|
|
.container{
|
|
height:100%;
|
|
background:#f6f6f6;
|
|
&>.d-search{
|
|
.u-tabs{
|
|
margin-top:-20rpx;
|
|
}
|
|
.tabs{
|
|
display:flex;
|
|
flex-wrap: wrap;
|
|
margin:20rpx -20rpx -15rpx 0;
|
|
text{
|
|
height:48rpx;
|
|
line-height: 48rpx;
|
|
background:rgba(238, 238, 238, 0.4);
|
|
color:#999;
|
|
font-size:24rpx;
|
|
border-radius: 48rpx;
|
|
min-width:110rpx;
|
|
padding:0 10rpx;
|
|
box-sizing: border-box;
|
|
text-align: center;
|
|
transition: all 0.3s;
|
|
margin:0 20rpx 15rpx 0;
|
|
&.active{
|
|
color:#fff;
|
|
background:#10C176;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scroll-view{
|
|
flex-grow: 1;
|
|
height:1rpx;
|
|
.card{
|
|
margin-top:0;
|
|
&>.info{
|
|
display:flex;
|
|
align-items: center;
|
|
&>.plant-xitongxiaoxi{
|
|
background:#10C176;
|
|
color:#fff;
|
|
width:90rpx;
|
|
height:90rpx;
|
|
line-height: 90rpx;
|
|
text-align: center;
|
|
border-radius: 50%;
|
|
position:relative;
|
|
margin-right:16rpx;
|
|
&.noRead{
|
|
&:after{
|
|
content:"";
|
|
position:absolute;
|
|
background:red;
|
|
width:12rpx;
|
|
height:12rpx;
|
|
border-radius: 50%;
|
|
top:9rpx;
|
|
right:9rpx;
|
|
}
|
|
}
|
|
}
|
|
&>view{
|
|
flex-grow: 1;
|
|
width:1rpx;
|
|
.title{
|
|
display:flex;
|
|
align-items: center;
|
|
text{
|
|
&:first-child{
|
|
font-weight: bold;
|
|
}
|
|
&:nth-child(2){
|
|
margin:0 20rpx 0 18rpx;
|
|
color:#fff;
|
|
background:#10C176;
|
|
border-radius: 4rpx 40rpx 4rpx 40rpx;
|
|
height:34rpx;
|
|
line-height: 34rpx;
|
|
padding:0 10rpx;
|
|
min-width:80rpx;
|
|
text-align: center;
|
|
font-size:20rpx;
|
|
}
|
|
&:nth-child(3){
|
|
margin-left:auto;
|
|
}
|
|
}
|
|
}
|
|
.tabs{
|
|
display:flex;
|
|
flex-wrap: wrap;
|
|
margin:12rpx -18rpx -16rpx 0;
|
|
text{
|
|
border-radius: 44rpx;
|
|
margin:0 18rpx 16rpx 0;
|
|
font-size:24rpx;
|
|
height:44rpx;
|
|
line-height: 44rpx;
|
|
background-position: 20rpx 12rpx;
|
|
background-repeat: no-repeat;
|
|
color:rgba(var(--c),1);
|
|
background-color:rgba(var(--c),0.1);
|
|
padding-right:20rpx;
|
|
&.read{
|
|
color:#999;
|
|
font-size:24rpx;
|
|
margin-left:auto;
|
|
}
|
|
}
|
|
.germinate{
|
|
--c:15, 194, 119;
|
|
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAAXNSR0IArs4c6QAAAYZJREFUKFOdkU1IVHEUxc957yE45YwKSRnUpp24dKELZ4YCMdFNJNWyRdDOr3lBkMzK0PmIEsFVqzDMlRsXBcObaBuCgRjMphREUOq9USqc9z/igGKKMHi3554f955D1DCXC8/aLNu8pNgFoonSqsA5v8m8YQ1+NBZTgcB6AN8oXRF5lYAjaakKuFQcbnfgDEHoAlkHaPlfxYz+vZ37AYGxz+4aoe8S7oIwMhxRuPe+fGdmhzEv9RTA9KEAYAPALwA3INh+ItOMD/ftaMvNOYvWIIC9CszAbjxbOLqcMc+doKV9iR0EegUJ4FcJpSAx9TDqua8rDiYdKa6K+VRO5rZPvv1fBg3eWL9Nzgq4BnEeMCuw2O53Zx6dl9XZENNpq74zuP6nJ78e+ei22nXmQTmRzdcOOLXZWEw9/h3PvL0wIOaNTfiJ7POaAZEvbqsT4okl3QMZGKlEoB+EF8K82936uYjBhfC4hVNkRgujL2jbfYBuEWyu6oIvahPkssL98SD5qnTkOwB+A5pVJ9wdJQAAAABJRU5ErkJggg==);
|
|
background-size:30rpx 22rpx;
|
|
padding-left:30rpx+25rpx;
|
|
}
|
|
.organ{
|
|
--c:248, 203, 54;
|
|
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANCAYAAACdKY9CAAAAAXNSR0IArs4c6QAAAQ9JREFUKFOlUrtKA1EQPedeHxERFAQRCYK9GCW7Ivb+hEUqsbONhZVFCm0kYCPoD9gFS4tgYeFVsLBLmyaNWO5qmCOYjYJuksJphnmcmTMPIpPkIXoGuda3f7QEoSVgbyoOd+wH0sfoCKL/DZA0A+IAQLMQhR0moVwHXPFv5cxjuJTTIYHpQhTWmYRYA5O/AjoDUAIw+w+A0AV0QcemmTZIVAFm8+V2sBOjzq2bpnJ+fowTVwTjHtWBlGQATgHcSjgmuTUCkD+6YDVPNWjOj8fhfviWhNZrp12aW1jadbK3yc2n6xEA1QW8kFoF3IqXauy9BJbzCAlqOOpG8hVAi864//0aw473EcrbEt8NqnwCf8mG+U/vRGMAAAAASUVORK5CYII=);
|
|
background-size:26rpx 24rpx;
|
|
padding-left:26rpx+25rpx;
|
|
}
|
|
.type{
|
|
--c:235, 67, 118;
|
|
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAASBJREFUKFN9kD0vQ2EYhq/7bUUklUhEYxAMNfsDJk0TGxN/wWJ0EpvExmjpajMYTAaDxSIWg1ERFh/toCGpr55bzkk1qmmf8cl9PR+XqvPRHfY+QRH9KvY2YkXVYmTgEFjCNIBmi8sghv7MSDNtwHapfv8+OlPZ/UhCV4W1wZHJoSpiuAV1AgltxxVJL0nA9ogUCj03YC8iPWBixDiQ/fdS10lz+ZOdsSRULUanwFxfIH0IPhMD2ANIj2rGURzClsT0r5hOS62Rtq8F5aZ9miHMWo4kXXZYSrW2AZ7q942p7MSrklYu5M8Qtz0B7POBz8zCV/Z7+Y3aXi6MHSHV+2xwjZhNiUnsG4I2kC5S4Lm4fqBYxwRWwekJ3aVEdtmi9AMqTJE6K1mcKgAAAABJRU5ErkJggg==);
|
|
background-size:24rpx 22rpx;
|
|
padding-left:24rpx+25rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&>.content{
|
|
display:flex;
|
|
align-items: center;
|
|
margin-top:10rpx;
|
|
.fruit,.food{
|
|
border-radius: 8rpx;
|
|
flex-shrink: 0;
|
|
height:44rpx;
|
|
line-height: 44rpx;
|
|
color:rgba(var(--c),1);
|
|
background:rgba(var(--c),0.1);
|
|
display:flex;
|
|
align-items: center;
|
|
padding:0 5rpx;
|
|
&:before{
|
|
content:"";
|
|
flex-shrink: 0;
|
|
margin-right:4rpx;
|
|
}
|
|
&:after{
|
|
flex-shrink: 0;
|
|
}
|
|
}
|
|
.fruit{
|
|
--c:248, 203, 54;
|
|
&:before{
|
|
width:29rpx;
|
|
height:21rpx;
|
|
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAALCAYAAACgR9dcAAAAAXNSR0IArs4c6QAAAitJREFUKFNVkV1Ik3EUxp//ecdm84ttMFHDGMYSbKaIbTPISTYzeJmDdiNUUhdZVHRRBEUXel1UBN6EF2LRRdEXIyiyG5sGGqkFUYph4i6knBs13Lv3/Z/YcsLOzTk8D7/DwzkCW6WqqtXutodGb40+Kmi5fjAUau/1Jf3js6WvUtoO98SzJy8KvsgN4fBRt6ZJf01D/Tm54bg2MjI0ntM7VLXt5OHkh/6uDXo7VyqjC/VxW+0P7+DpWDzn5+HW1tZql6tlyOl0RyrLa4zllY/Di4uxO2dPlKz2dSQtZhMjnSFMyAak06nUg5n3XU8vpabzcCAQMHn2hpbMZmtFWbnDvLAwuRmPf/r97t7a7u+zOu5SFezLVgQDNthShPJUevpXZu14HgZAp/oH32SySZ+mbaIzMGCdmbwiRnpfA/w/X1bfB8lN0AwdFos0Plds7C/A+Q2NjY325uaeaGXFTn9d7a7E1T1hW05nHUha6mSitIn0kqpMwmTr9B64ObUNHztz/vKh7iMDzCwAJiHIUISuFC7LTBJExBKSAf4yP5fdhtuDYSeb+YYQKGOIhACbpOSXRNTHzA8ZbIWAiyBaWPJ9kOIpiu1Tw9cJsELwOiTapNRuk2JRNWGMKUAdoDgUhoeZ/0iDxopgb09vUFHQzUATwN8YPAWQuvXTOcGoZgEHgPWp6PMLRXAkElFW/moXhUI+SKwKYXxlQd78O0BLzNIuWeiKMA3Hoo9//gNbO95NYH+HjwAAAABJRU5ErkJggg==);
|
|
}
|
|
&:after{
|
|
content:"水果";
|
|
}
|
|
}
|
|
.food{
|
|
--c:16, 193, 118;
|
|
&:before{
|
|
width:24rpx;
|
|
height:24rpx;
|
|
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAkRJREFUKFM1kF9IU2EYxr/v/Nk52s7cGp45qSTMMbNAmDRFCwSXHOtiSQhGkWVddFEXYRde1FUQNaOrLhIMQS8kb3YROOjCZJFRRoWKiLV0Ttf+tu0c5znnO9+3OELP5fs8P3ifBwIAgL9faldaitf2mwsDwtfaqep1x8zi2/Bn0zshSRzTnYtiQbMxBX4b+np6anK3d34rbRmHGTBln3f/4qa9ravvZxWfz8dqEv9RPaq4IYEl6H3etpC7sHWG0mhClRmCq4wK4AgrTnsWLm97UR5pSlTY9SCXirFVr8Cml63fdHdZZBQLZ9gQYrIWHdWVuZM/GnITxS4vIgS/SMRnP2ysDhVFkYKnRs49Tt5ZHa1ZrMtiq0EohQZyR9r+cCy401slOqPFvzip618eTU1I5rvQL/UfKQTi41qD3FGhgQowUDuXmvaulzz1K0xMrxeL1HqWXYmsVd/8FAlvQpPyDQdu5friIeGnM39X67NpShnJ2i7laSxCwFYBou/DpQT3/Vlo5jwcvHf/qYW3dCqOQqOI7HS78ziLCEZbpU22qZ79PxxIZA24vI1eQenqjdeS1NutaxqgaRZACAEh+CBIUTSoVCoAYwQsHA/m5iLz0H/xUtfQlcF3G7EY73K5AMswwDCMA4BhGIAMA6RSKdDibVbHJycDZgdq+MHosiiKx3jOgmmaIaqqUSbA8xzB2KBUTafT6XR8IvTk9EHps8GBYG3t4THBKgg2wUYnU3/2zLvbVXeoJJewrMhyJpMfiYbfhP8BZDwCZS4yOV4AAAAASUVORK5CYII=);
|
|
}
|
|
&:after{
|
|
content:"蔬菜";
|
|
}
|
|
}
|
|
.cause,.date{
|
|
color:#999;
|
|
font-size:24rpx;
|
|
margin-left:16rpx;
|
|
}
|
|
.cause{
|
|
flex-grow: 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
<template>
|
|
<view class="container flex">
|
|
<d-search :btn="false" v-model="searchVal.search" popup ref="dSearch" @search="clean();">
|
|
<u-tabs :current="tabIndex" @change="tabIndex=$event.index" :list="[{name:'消息类型'},{name:'作物类型'}]" lineColor="#10C176" :activeStyle="{color:'#10C176'}" :inactiveStyle="{color:'#999'}" :itemStyle="{height:'60rpx'}" lineHeight="6rpx" lineWidth="96rpx"/>
|
|
<view class="tabs" v-if="tabIndex==0">
|
|
<text :class="{active:searchVal.mesType=='病害'}" @click="clean({cropType:'',mesType:'病害'})">病害</text>
|
|
<text :class="{active:searchVal.mesType=='虫害'}" @click="clean({cropType:'',mesType:'虫害'})">虫害</text>
|
|
</view>
|
|
<view class="tabs" v-else>
|
|
<text :class="{active:searchVal.cropType=='1610539208847142914'}" @click="clean({cropType:'1610539208847142914',mesType:''});$refs.dSearch.show=false">水果</text>
|
|
<text :class="{active:searchVal.cropType=='1610539232360411138'}" @click="clean({cropType:'1610539232360411138',mesType:''});$refs.dSearch.show=false">蔬菜</text>
|
|
</view>
|
|
</d-search>
|
|
<scroll-view scroll-y @scrolltolower="search">
|
|
<view class="card" v-for="(v,k) in list" :key="k" @click="toDetail(k)">
|
|
<view class="info">
|
|
<text class="plant-xitongxiaoxi" :class="{noRead:v.readStatus=='2'}"/>
|
|
<view>
|
|
<view class="title">
|
|
<text class="over">{{v.cropName}}</text>
|
|
<text>{{v.messageType}}</text>
|
|
<text class="plant-youbian"/>
|
|
</view>
|
|
<view class="tabs">
|
|
<text class="germinate">{{v.growthProcess_dictText}}</text>
|
|
<text class="organ">{{v.pestSite_dictText}}</text>
|
|
<text class="type">{{v.symptom_dictText}}</text>
|
|
<text class="read">阅读:{{v.readNum}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="content">
|
|
<text v-if="v.cropType=='水果'" class="fruit"/>
|
|
<text v-if="v.cropType=='蔬菜'" class="food"/>
|
|
<text class="cause over">{{v.content}}</text>
|
|
<text class="date">{{new Date(v.sendTime).format('yyyy/MM/dd')}}</text>
|
|
</view>
|
|
</view>
|
|
<u-empty :show="list.length<=0" text="为查询到相关信息" width="50%" icon="/static/noData.png"/>
|
|
</scroll-view>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import request from '@/common/request'
|
|
export default {
|
|
data(){
|
|
return{
|
|
tabIndex:0,
|
|
searchVal:{
|
|
pageNo:1,
|
|
pageSize:7,
|
|
search:"",
|
|
cropType:"",
|
|
mesType:"",
|
|
},
|
|
list:[],
|
|
total:0,
|
|
}
|
|
},
|
|
onLoad(){
|
|
this.search()
|
|
},
|
|
methods:{
|
|
clean(e){
|
|
this.total=0
|
|
this.list=[]
|
|
this.searchVal.pageNo=1
|
|
if(e){
|
|
this.searchVal.cropType=this.searchVal.cropType==e.cropType?'':e.cropType
|
|
this.searchVal.mesType=this.searchVal.mesType==e.mesType?'':e.mesType
|
|
}
|
|
this.search()
|
|
},
|
|
async search(){
|
|
if(this.total==0||this.list.length<this.total){
|
|
var res=await request('/api/message/list',{
|
|
params: this.searchVal
|
|
})
|
|
if(res.statu){
|
|
this.list=this.list.concat(res.data.records)
|
|
this.total=res.data.total
|
|
this.searchVal.pageNo++
|
|
if(this.list.length==this.total)uni.showToast({title:"加载完成!",icon:"none"})
|
|
}else{
|
|
uni.showModal({
|
|
title:"提示",
|
|
content:res.msg||"获取信息失败!",
|
|
showCancel:false,
|
|
})
|
|
}
|
|
}
|
|
},
|
|
async toDetail(index){
|
|
var res=await request("/api/message/getById",{params:{id:this.list[index].id}})
|
|
if(res.statu){
|
|
if(this.list[index].readStatus=='2'){
|
|
this.list[index].readStatus='1'
|
|
this.$store.state.sysMsgNum-=1
|
|
}
|
|
uni.navigateTo({
|
|
url:`/pages/home/newsDetail?intoPage=news`,
|
|
success(e){
|
|
e.eventChannel.emit("detail",res.data)
|
|
}
|
|
})
|
|
}else{
|
|
uni.showModal({
|
|
title:"提示",
|
|
content:res.msg||"获取信息详情失败!",
|
|
showCancel:false,
|
|
})
|
|
}
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
|