<template>  
 | 
    <view class="index">  
 | 
        <!-- <web-view v-if="show" @onPostMessage="onMessage" :src="'https://dmtest.ahapp.net/doumeeplant_h5/#/appletLogin?code=' + code"></web-view> -->  
 | 
        <!-- {{$store.state.statusbarHeight}} --> 
 | 
          
 | 
        <u-sticky>  
 | 
            <view class="plr50 pb30 nav-style">  
 | 
                <view  
 | 
                    :style="{paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">  
 | 
                    待办</view>  
 | 
                <view class="cY">  
 | 
                    <u-search placeholder="搜索关键字" bgColor="#f7f7f7" :showAction="false" @search="scrolltoupper"  
 | 
                        shape="square" v-model="searchForm.name"></u-search>  
 | 
                    <image src="../../static/filter@2x.png" class="img48 ml20" @click="filterAction" mode=""></image>  
 | 
                </view>  
 | 
                <view class="cY mt30">  
 | 
                    <view class="sbtn rd8" :class="searchForm.type==0?'sbtn_green':'sbtn_black_rim'"  
 | 
                        @click="selectType(0)">待办</view>  
 | 
                    <view class="sbtn rd8 ml20" :class="searchForm.type==1?'sbtn_green':'sbtn_black_rim'"  
 | 
                        @click="selectType(1)">已办</view>  
 | 
                </view>  
 | 
            </view>  
 | 
        </u-sticky>  
 | 
          
 | 
        <u-list :showScrollbar="false" @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper"  
 | 
            :height="windowHeight - (statusbarHeight + navHeight + 120) + 'px'">  
 | 
            <u-list-item v-for="(item, index) in projectList" :key="index">  
 | 
                <view class="box_list">  
 | 
                    <view class="box_list_item" @click="jump(item)">  
 | 
                        <view class="box_list_item_icon">  
 | 
                            <image src="../../static/daiban_ic_daiban@2x.png" mode=""></image>  
 | 
                        </view>  
 | 
                        <view class="box_list_item_nr">  
 | 
                            <view class="box_list_item_nr_top">  
 | 
                                <span>{{item.title}}</span>  
 | 
                                <span>{{item.createTime}}</span>  
 | 
                            </view>  
 | 
                            <view class="box_list_item_nr_bottom">  
 | 
                                {{item.content}}  
 | 
                            </view>  
 | 
                        </view>  
 | 
                    </view>  
 | 
                </view>  
 | 
            </u-list-item>  
 | 
        </u-list>  
 | 
        <myTabbar :index="0" />  
 | 
    </view>  
 | 
</template>  
 | 
  
 | 
<script>  
 | 
    import myTabbar from "@/components/myTabber.vue"  
 | 
    import {  
 | 
        mapState  
 | 
    } from 'vuex'  
 | 
    export default {  
 | 
        components: {  
 | 
            myTabbar  
 | 
        },  
 | 
        data() {  
 | 
            return {  
 | 
                code: '',  
 | 
                windowHeight: '',  
 | 
                show: false,  
 | 
                searchForm: {  
 | 
                    name: '',  
 | 
                    type: 0  
 | 
                },  
 | 
                projectList: [  
 | 
                    {title: '212132', createTime: '2023-08-28', content: 'asdsadsax手打大萨达的啊实打as'}, 
 | 
                    {title: '212132', createTime: '2023-08-28', content: 'asdsadsax手打大萨达的啊实打as'}, 
 | 
                    {title: '212132', createTime: '2023-08-28', content: 'asdsadsax手打大萨达的啊实打as'}, 
 | 
                    {title: '212132', createTime: '2023-08-28', content: 'asdsadsax手打大萨达的啊实打as'},  
 | 
                ]  
 | 
            }  
 | 
        },  
 | 
        computed: {  
 | 
            ...mapState(['statusbarHeight', 'navHeight']),  
 | 
        },  
 | 
        onLoad() {  
 | 
            uni.getSystemInfo({  
 | 
                success: res => {  
 | 
                    this.windowHeight = res.windowHeight  
 | 
                }  
 | 
            })  
 | 
  
 | 
            var that = this  
 | 
            uni.login({  
 | 
                provider: 'weixin',  
 | 
                success: function(loginRes) {  
 | 
                    // console.log(loginRes);  
 | 
                    that.code = loginRes.code  
 | 
                    that.show = true  
 | 
                }  
 | 
            });  
 | 
        },  
 | 
        methods: {  
 | 
            onMessage(e) {  
 | 
                console.log('12345654321')  
 | 
            },  
 | 
            scrolltolower() {},  
 | 
            scrolltoupper() {},  
 | 
            selectType(type) {  
 | 
                if (this.searchForm.type == type) return  
 | 
                this.searchForm.type = type  
 | 
                this.scrolltoupper()  
 | 
            },  
 | 
            selectProject(item) {}, 
 | 
            filterAction() { 
 | 
                 
 | 
            }  
 | 
        }  
 | 
    }  
 | 
</script>  
 | 
  
 | 
<style lang="scss" scoped>  
 | 
    .index {  
 | 
        width: 100vw;  
 | 
        height: 100vh;  
 | 
    }  
 | 
  
 | 
    .nav-style {  
 | 
        border-bottom: 20rpx #f7f7f7 solid;  
 | 
    }  
 | 
  
 | 
    .box_list {  
 | 
        width: 100%;  
 | 
        padding: 0 30rpx;  
 | 
        display: flex;  
 | 
        flex-direction: column;  
 | 
        box-sizing: border-box;  
 | 
  
 | 
        .box_list_item {  
 | 
            padding: 30rpx 0;  
 | 
            display: flex;  
 | 
            border-bottom: 1rpx solid #E5E5E5;  
 | 
  
 | 
            &:last-child {  
 | 
                border: none;  
 | 
            }  
 | 
  
 | 
            .box_list_item_icon {  
 | 
                flex-shrink: 0;  
 | 
                width: 64rpx;  
 | 
                height: 64rpx;  
 | 
                margin-right: 24rpx;  
 | 
                position: relative;  
 | 
  
 | 
                .box_list_item_icon_active {  
 | 
                    position: absolute;  
 | 
                    right: 0;  
 | 
                    top: 0;  
 | 
                    width: 18rpx;  
 | 
                    height: 18rpx;  
 | 
                    border-radius: 50%;  
 | 
                    background: #DE5243;  
 | 
                    border: 2rpx solid #FFFFFF;  
 | 
                }  
 | 
  
 | 
                image {  
 | 
                    width: 100%;  
 | 
                    height: 100%;  
 | 
                }  
 | 
            }  
 | 
  
 | 
            .box_list_item_nr {  
 | 
                flex: 1;  
 | 
                display: flex;  
 | 
                flex-direction: column;  
 | 
  
 | 
                .box_list_item_nr_top {  
 | 
                    display: flex;  
 | 
                    align-items: center;  
 | 
                    justify-content: space-between;  
 | 
  
 | 
                    span { 
 | 
                        &:first-child {  
 | 
                            font-size: 30rpx;  
 | 
                            font-weight: 500; 
 | 
                            max-width: 450rpx;  
 | 
                            color: #222222;  
 | 
                            overflow: hidden;  
 | 
                            white-space: nowrap;  
 | 
                            text-overflow: ellipsis;  
 | 
                            -o-text-overflow: ellipsis;  
 | 
                        }  
 | 
  
 | 
                        &:last-child { 
 | 
                            flex-shrink: 0;  
 | 
                            font-size: 24rpx;  
 | 
                            font-weight: 400;  
 | 
                            color: #999999;  
 | 
                            margin-left: 10rpx;  
 | 
                            overflow: hidden;  
 | 
                            white-space: nowrap;  
 | 
                            text-overflow: ellipsis;  
 | 
                            -o-text-overflow: ellipsis;  
 | 
                        }  
 | 
                    }  
 | 
                }  
 | 
  
 | 
                .box_list_item_nr_bottom {  
 | 
                    font-size: 28rpx;  
 | 
                    font-weight: 400;  
 | 
                    color: #666666;  
 | 
                    margin-top: 16rpx;  
 | 
                    word-break: break-all;  
 | 
                }  
 | 
            }  
 | 
        }  
 | 
    }  
 | 
</style> 
 |