spring
4 天以前 f26f29d84e0a68831a6af14dab3eec5500496d2e
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
<template>
    <view class="wrap">
        <view class="search">
            <u-search v-model="keywords" @custom="search" @search="search"></u-search>
        </view>
        <scroll-view class="scroll-list" scroll-y="true" @scrolltolower="loadMore">
            <u-cell-group class="list" :border="false">
                <u-swipe-action :options="options" v-for="(item, index) in list" :key="item.taskId" :index="index"
                    @click="optionsClick">
                    <u-cell-item :arrow="true" @click="navTo('/pages/oa/task?taskId='+item.taskId)">
                        <text slot="title">{{item.taskId}} {{ item.taskName }}</text>
                        <text slot="label">创建时间:{{ item.time }}</text>
                    </u-cell-item>
                </u-swipe-action>
            </u-cell-group>
            <view class="loadmore" @click="loadMore">
                <u-loadmore :status="loadStatus"></u-loadmore>
            </view>
        </scroll-view>
        <view class="btn-plus" @click="navTo('form')">
            <u-icon name="plus-circle-fill" size="90" color="#3d87ff"></u-icon>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                keywords: '',
                query: {
                    current: 1,
                    size: 20
                },
                list: [],
                count: 0,
                loadStatus: 'loadmore',
                options: [{
                    text: '删除',
                    style: {
                        background: '#dd524d'
                    }
                }]
            };
        },
        onLoad() {
            this.loadList();
        },
        onShow() {
            if (uni.getStorageSync('refreshList') === true) {
                uni.removeStorageSync('refreshList');
                this.search('');
            }
        },
        methods: {
            loadMore() {
                this.loadStatus = "loading";
                setTimeout(() => {
                    this.query.current += 1;
                    this.loadList();
                }, 100);
            },
            loadList() {
                this.$u.api.pigxOA.queryTodos(this.query).then(res => {
                    if (!res.data.records || res.data.records.length == 0) {
                        this.loadStatus = "nomore";
                        return;
                    }
                    this.list = this.list.concat(res.data.records);
                    this.total = res.data.total;
                    this.query.current = res.data.current;
                    this.query.size = res.data.size;
                    this.loadStatus = "loadmore";
                });
            },
            optionsClick(rowIndex, btnIndex) {
                if (btnIndex == 0) {
                    let self = this;
                    uni.showModal({
                        title: '提示',
                        content: '确认要删除该数据吗?',
                        showCancel: true,
                        success: function(res2) {
                            if (res2.confirm) {
                                let row = self.list[rowIndex];
                                self.$u.api.pigxUser.delete({
                                    id: row.userId
                                }).then(res => {
                                    self.$u.toast('删除成功');
                                    self.query.current = 1
                                    self.list = []
                                    self.loadList()
                                });
                            }
                        }
                    });
                }
            },
            search(value) {
                this.list = [];
                this.query.current = 1;
                this.query.username = value;
                this.loadList();
            },
            navTo(url) {
                uni.navigateTo({
                    url: url
                });
            }
        }
    };
</script>
<style lang="scss">
    page {
        background-color: #f8f8f8;
    }
 
    .btn-plus {
        position: absolute;
        bottom: 50rpx;
        right: 50rpx;
        z-index: 1;
        opacity: 0.6;
    }
 
    .btn-plus:hover {
        opacity: 1;
    }
</style>