张晓波
2023-09-19 164694c47c35d6654df69b533e8dbf8b5423efc5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<template>
    <view class="safe_check">
        <scroll-view
            scroll-y="true"
            class="check_index_scroll"
            :scroll-top="scrollTop" 
            refresher-enabled="true" 
            refresher-background="#EAEAEA"
            :refresher-triggered="triggered" 
            @refresherpulling="refresherrefresh"
            @scrolltolower="scrolltoLower">
            <view class="safe_check_card" v-for="(item,index) in checkLists" :key="index">
                <view class="safe_check_text">{{item.inspectName}}</view>
                <view class="safe_check_btns" @click="btnClick('1',item)">详情与反馈</view>
            </view>
            <u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" />
        </scroll-view>
        <view class="safe_check_btn">
            <u-button type="primary" color="#1976FF" text="添加" @click="btnClick('2')"></u-button>
        </view>
    </view>
</template>
 
<script>
    import { throttle } from '../../plugins/public.js';
    export default{
        data(){
            return{
                pageNum: 1,
                pageSize: 10,
                loadPage: 0,
                scrollTop: 0,
                triggered: true,
                status: 'loading',
                loadText: {
                    loading: '努力加载中',
                    nomore: '没有更多数据了'
                },
                checkLists:[//安全检查列表
                ],
            }
        },
        onLoad() {
        },
        onReady() {
            this.searchCheckList()
        },
        methods:{
            //添加安全检查或详情与反馈按钮
            btnClick(val,bol){
                if(val === '1'){//跳转到详情页面
                    uni.navigateTo({
                        url: `./detailsCheck?secureInspectId=${bol.secureInspectId}`
                    })
                }else{//跳转到添加页面
                    uni.navigateTo({
                        url: `./addCheck?secureId=${val}`
                    })
                }
            },
            //查询安全检查列表
            searchCheckList(){
                this.triggered = true;
                this.checkLists = [];
                // let params = {
                //     pageNum: this.pageNum,
                //     pageSize:this.pageSize,
                // }
                this.$api.reboSystem.searchCheckLists({}).then(res=>{
                    if(res.statusMsg === 'ok'){
                        this.checkLists = res.data
                        this.loadPage = res.data.pages;
                        this.triggered = false;
                        this.status = 'nomore';
                    }else{
                        uni.$u.toast(res.statusMsg);
                    }
                }).catch((err) => {
                    uni.$u.toast('请检查网络服务或联系管理员!')
                })
            },
            //自定义下拉刷新
            refresherrefresh: throttle(function() {
                this.status = 'loading';
                this.pageNum = 1;
                this.searchCheckList();
                uni.$u.toast('刷新成功');
            }, 500),
            //触底刷新
            scrolltoLower: throttle(function() {
                this.status = 'loading';
                this.pageNum = 1;
                this.searchCheckList()
                uni.$u.toast('刷新成功');
                // if(this.pageNum >= this.loadPage) {
                //     setTimeout(() => {
                //         this.status = 'nomore'
                //         uni.$u.toast('没有更多数据了');
                //     },1000)
                //     return
                // } else {
                //     this.pageNum+=1
                //     let params = {
                //         pageNum: this.pageNum,
                //         pageSize:this.pageSize,
                //     }
                //     this.$api.reboSystem.searchCheckLists(params).then(res=>{
                //         if(res.statusMsg === 'ok'){
                //             this.checkLists.push(...res.data.list)
                //             this.loadPage = res.data.pages;
                //             this.triggered = false;
                //             this.status = 'nomore';
                //         }else{
                //             uni.$u.toast(res.statusMsg);
                //         }
                //     }).catch((err) => {
                //         uni.$u.toast('请检查网络服务或联系管理员!')
                //     })
                // }
            }, 1500),
        }
    }
</script>
 
<style lang="scss" scoped>
    .safe_check{
        height: 100vh;
        padding: 0 15px;
        background-color: #FFFFFF;
        .check_index_scroll{
            height: 90%;
            .safe_check_card{
                height: 10vh;
                display: flex;
                justify-content: space-between;
                align-items: center;
                border-bottom: 1px solid #EAEAEA;
                .safe_check_text{
                    width:240px;
                    color: #333333;
                    font-size: 520;
                    font-size: 17px;
                    white-space: nowrap;
                    overflow: hidden; 
                    text-overflow: ellipsis;
                }
                .safe_check_btns{
                    flex: none;
                    border-radius: 4px;
                    border: 1px solid #4F97FF;
                    background-color: #EDF3FF;
                    color: #1977FF;
                    padding: 2px 5px;
                }
            }
        }
        .safe_check_btn{
        }
    }
</style>