瀏覽代碼

提现流程(暂时隐藏)

cr 4 年之前
父節點
當前提交
b52a5148f1

+ 19 - 0
src/pages.json

@@ -496,6 +496,25 @@
496 496
             "style": {
497 497
                 "navigationBarTitleText": "群消息"
498 498
             }
499
+        },
500
+        {
501
+            "path": "pages/wallet/withdrawal-list",
502
+            "style": {
503
+                "navigationBarTitleText": "提现列表",
504
+                "enablePullDownRefresh": true
505
+            }
506
+        },
507
+        {
508
+            "path": "pages/wallet/withdrawal-detail",
509
+            "style": {
510
+                "navigationBarTitleText": "提现详情"
511
+            }
512
+        },
513
+        {
514
+            "path": "pages/youxuan/index",
515
+            "style": {
516
+                "navigationBarTitleText": "优选管理"
517
+            }
499 518
         }
500 519
     ]
501 520
 }

+ 8 - 7
src/pages/manage/index.vue

@@ -38,6 +38,13 @@
38 38
                     <my-image class="img" :src="item.icon"></my-image>
39 39
                     <span class="text">{{ item.name }}</span>
40 40
                 </li>
41
+                <li class="item" @click="jump('/pages/youxuan/index')">
42
+                    <my-image
43
+                        class="img"
44
+                        src="/static/icon/money.png"
45
+                    ></my-image>
46
+                    <span class="text">优选管理</span>
47
+                </li>
41 48
                 <!-- <block v-if="storeStatus === 0 || storeStatus === 1">
42 49
                         <li
43 50
                             class="item"
@@ -50,19 +57,13 @@
50 57
                             <span class="text">店铺设置</span>
51 58
                         </li>
52 59
                     </block>
60
+                  
53 61
                     <li class="item" @click="jump('/pages/wallet/index')">
54 62
                         <my-image
55 63
                             class="img"
56 64
                             src="/static/icon/money.png"
57 65
                         ></my-image>
58 66
                         <span class="text">我的钱包</span>
59
-                    </li> -->
60
-                    <!-- <li class="item" @click="jump('/pages/wallet/index')">
61
-                        <my-image
62
-                            class="img"
63
-                            src="/static/icon/money.png"
64
-                        ></my-image>
65
-                        <span class="text">我的钱包</span>
66 67
                     </li>  -->
67 68
                 <li class="item" @click="jump('/pages/manage/user/index')">
68 69
                     <my-image

+ 37 - 9
src/pages/wallet/index.vue

@@ -70,7 +70,16 @@
70 70
             </button>
71 71
         </div>
72 72
         <div class="card record">
73
-            <h1 class="tit">提现记录</h1>
73
+            <h1 class="tit">
74
+                提现记录
75
+                <!-- <span class="more" @click="jump('/pages/wallet/withdrawal-list')">
76
+                    查看更多
77
+                    <my-image
78
+                        class="arrow"
79
+                        src="/static/common/arrows_left.png"
80
+                    ></my-image>
81
+                </span> -->
82
+            </h1>
74 83
             <ul class="table">
75 84
                 <li class="row">
76 85
                     <div class="item">申请时间</div>
@@ -78,7 +87,7 @@
78 87
                     <div class="item">金额</div>
79 88
                     <div class="item">状态</div>
80 89
                 </li>
81
-                <li class="row" v-for="item of withdrawalList" :key="item.id">
90
+                <li class="row" v-for="item of withdrawalList" :key="item.id" >
82 91
                     <div class="item">
83 92
                         {{ item.applyTime | dateFormat("yyyy/MM/dd") }}
84 93
                     </div>
@@ -129,8 +138,8 @@ export default {
129 138
             loading: false,
130 139
             showErr: false,
131 140
             errStr: "",
132
-            deviceName:'',
133
-            deviceInfo:''
141
+            deviceName: "",
142
+            deviceInfo: "",
134 143
         };
135 144
     },
136 145
     filters: {
@@ -154,11 +163,11 @@ export default {
154 163
         },
155 164
     },
156 165
     onLoad() {
157
-    let self = this;
166
+        let self = this;
158 167
         uni.getSystemInfo({
159 168
             success: function (res) {
160
-               self.deviceName = res.brand;
161
-               self.deviceInfo = res.model;
169
+                self.deviceName = res.brand;
170
+                self.deviceInfo = res.model;
162 171
             },
163 172
         });
164 173
     },
@@ -208,8 +217,8 @@ export default {
208 217
             let data = {
209 218
                 amount: this.formVal * 100,
210 219
                 // remark: value,
211
-                deviceInfo:this.deviceInfo,
212
-                deviceName:this.deviceName
220
+                deviceInfo: this.deviceInfo,
221
+                deviceName: this.deviceName,
213 222
             };
214 223
             this.api
215 224
                 .post("/User/Withdrawal", data, { pass: true })
@@ -278,6 +287,25 @@ export default {
278 287
         font-size: px(44);
279 288
         font-weight: bold;
280 289
         padding-bottom: px(20);
290
+        display: flex;
291
+        align-items: center;
292
+        justify-content: space-between;
293
+    }
294
+    .more {
295
+        color: #409eff;
296
+        font-size: px(40);
297
+        display: flex;
298
+        align-items: center;
299
+        font-weight: normal;
300
+        .arrow {
301
+            width: px(30);
302
+            height: px(30);
303
+            transform: rotate(180deg);
304
+            /deep/ img {
305
+                width: px(30);
306
+                height: px(30);
307
+            }
308
+        }
281 309
     }
282 310
 }
283 311
 .info {

+ 145 - 0
src/pages/wallet/withdrawal-detail.vue

@@ -0,0 +1,145 @@
1
+<template>
2
+    <div class="page">
3
+        <div class="card">
4
+            <!-- <uni-steps :options="data" direction="column" :active="2"></uni-steps> -->
5
+            <ul class="list">
6
+                <li>
7
+                    <span class="key">账单类型:</span>
8
+                    <span class="value">{{ data.type | type }}</span>
9
+                </li>
10
+                <li>
11
+                    <span class="key">账单金额:</span>
12
+                    <span class="value">{{ data.amount / 100 }}</span>
13
+                </li>
14
+                <li>
15
+                    <span class="key">创建时间:</span>
16
+                    <span class="value">{{ data.createdTime || "" }}</span>
17
+                </li>
18
+                <li>
19
+                    <span class="key">备注:</span>
20
+                    <span class="value remark">{{ data.remark || "" }}</span>
21
+                </li>
22
+                <li>
23
+                    <span class="key">状态:</span>
24
+                    <span class="value">{{ data.status || "" }}</span>
25
+                </li>
26
+                <li>
27
+                    <span class="key">结算时间:</span>
28
+                    <span class="value">{{ data.settlementTime || "" }}</span>
29
+                </li>
30
+            </ul>
31
+        </div>
32
+    </div>
33
+</template>
34
+
35
+<script>
36
+import MyImage from "../../components/image/index";
37
+import uSteps from "../../components/uni-steps/uni-steps";
38
+
39
+export default {
40
+    name: "",
41
+    components: { MyImage, uSteps },
42
+    filters: {
43
+        status(v) {
44
+            let obj = {
45
+                0: "审核中",
46
+                1: "待打款",
47
+                2: "已完成",
48
+                3: "未通过",
49
+                4: "打款失败",
50
+            };
51
+            let str = obj[v];
52
+            return str || "";
53
+        },
54
+        type(v) {
55
+            let obj = {
56
+                1: "充值",
57
+                2: "消费",
58
+                3: "退款",
59
+                4: "收益",
60
+                5: "收益返还",
61
+                6: "提现",
62
+            };
63
+            let str = obj[v];
64
+            return str || "";
65
+        },
66
+    },
67
+    // 数据
68
+    data() {
69
+        return {
70
+            data: {},
71
+            id: "",
72
+        };
73
+    },
74
+    onLoad(opts) {
75
+        this.id = opts.id;
76
+        this.getDetail();
77
+    },
78
+    async onShow() {},
79
+
80
+    // 函数
81
+    methods: {
82
+        getDetail() {
83
+            uni.showLoading({
84
+                title: "加载中...",
85
+            });
86
+            this.api
87
+                .get("/User/GetWithdrawalDetail", { id: this.id })
88
+                .then((res) => {
89
+                    uni.hideLoading();
90
+                    this.data = res.data;
91
+                });
92
+        },
93
+    },
94
+
95
+    // 数据计算
96
+    computed: {
97
+        user() {
98
+            return this.$store.state.user.user;
99
+        },
100
+    },
101
+
102
+    // 数据监听
103
+    watch: {},
104
+};
105
+</script>
106
+
107
+
108
+<style lang="scss" scoped>
109
+.page {
110
+    height: 100vh;
111
+    background-color: #fff;
112
+}
113
+.card {
114
+    // margin: px(40) px(40);
115
+    // border: 1px solid #efefef;
116
+    padding: px(40);
117
+    // background-color: #fff;
118
+    .tit {
119
+        font-size: px(44);
120
+        font-weight: bold;
121
+        padding-bottom: px(20);
122
+    }
123
+}
124
+
125
+.card /deep/ uni-steps {
126
+    .uni-steps__column-text {
127
+        padding: px(40) 0;
128
+    }
129
+}
130
+.list {
131
+    border-bottom: 1px solid #f1f1f1;
132
+    li {
133
+        height: px(120);
134
+        line-height: 1.5;
135
+        display: flex;
136
+        align-items: center;
137
+        border-top: 1px solid #f1f1f1;
138
+        .key {
139
+            width: px(220);
140
+            color: #666;
141
+            flex-shrink: 0;
142
+        }
143
+    }
144
+}
145
+</style>

+ 160 - 0
src/pages/wallet/withdrawal-list.vue

@@ -0,0 +1,160 @@
1
+<template>
2
+    <div class="page">
3
+        <ul class="list">
4
+            <li class="item" v-for="item of withdrawalList" :key="item.id" @click="goDetail(item)">
5
+                <div class="name">
6
+                    {{ item.applyTime | dateFormat("yyyy/MM/dd") }}
7
+                    <span class="status">{{ item.status | status }}</span>
8
+                </div>
9
+                <div class="right">
10
+                    ¥{{ item.amount / 100 }}
11
+                    <my-image
12
+                        class="arrow"
13
+                        src="/static/common/arrows_left.png"
14
+                    ></my-image>
15
+                </div>
16
+            </li>
17
+        </ul>
18
+    </div>
19
+</template>
20
+
21
+<script>
22
+import MyImage from "../../components/image/index";
23
+
24
+export default {
25
+    name: "",
26
+    components: { MyImage },
27
+    // 数据
28
+    data() {
29
+        return {
30
+            pageIndex: 1,
31
+            withdrawalList: [],
32
+        };
33
+    },
34
+    filters: {
35
+        status(v) {
36
+            let obj = {
37
+                0: "审核中",
38
+                1: "待打款",
39
+                2: "已完成",
40
+                3: "未通过",
41
+                4: "打款失败",
42
+            };
43
+            let str = obj[v];
44
+            return str || "";
45
+        },
46
+        method(v) {
47
+            let obj = {
48
+                1: "微信",
49
+                2: "银行卡",
50
+            };
51
+            return obj[v] || "";
52
+        },
53
+    },
54
+    onLoad() {
55
+        this.getList();
56
+    },
57
+    async onShow() {},
58
+    onPullDownRefresh() {
59
+        this.getList(true);
60
+    },
61
+    onReachBottom() {
62
+        this.getMoreList();
63
+    },
64
+    // 函数
65
+    methods: {
66
+        getList(isPull) {
67
+            this.pageIndex = 1;
68
+            uni.showLoading({
69
+                title: "加载中...",
70
+            });
71
+            this.loading = true;
72
+            this.api
73
+                .get("/User/GetWithdrawalList", {
74
+                    pageIndex: this.pageIndex++,
75
+                })
76
+                .then((res) => {
77
+                    if (isPull) {
78
+                        uni.stopPullDownRefresh();
79
+                    }
80
+                    uni.hideLoading();
81
+                    this.withdrawalList = res.data.data;
82
+                });
83
+        },
84
+        getMoreList() {
85
+            this.api
86
+                .get("/User/GetWithdrawalList", {
87
+                    pageIndex: this.pageIndex,
88
+                })
89
+                .then((res) => {
90
+                    if (res.data.data.length) {
91
+                        this.pageIndex++;
92
+                    }
93
+                    this.withdrawalList = [
94
+                        ...this.withdrawalList,
95
+                        ...res.data.data,
96
+                    ];
97
+                });
98
+        },
99
+
100
+        goDetail(val) {
101
+            this.router.push({
102
+                path: "/pages/wallet/withdrawal-detail",
103
+                query: {
104
+                    id: val.id,
105
+                },
106
+            });
107
+        },
108
+    },
109
+
110
+    // 数据计算
111
+    computed: {
112
+        user() {
113
+            return this.$store.state.user.user;
114
+        },
115
+    },
116
+
117
+    // 数据监听
118
+    watch: {},
119
+};
120
+</script>
121
+
122
+
123
+<style lang="scss" scoped>
124
+.page {
125
+    min-height: 100vh;
126
+    background-color: #fff;
127
+}
128
+.list {
129
+    border-top: 1px solid #f1f1f1;
130
+    .item {
131
+        height: px(120);
132
+        padding: 0 px(35);
133
+        font-size: px(44);
134
+        display: flex;
135
+        justify-content: space-between;
136
+        align-items: center;
137
+        border-bottom: 1px solid #f1f1f1;
138
+    }
139
+    .arrow {
140
+        width: px(40);
141
+        height: px(40);
142
+        flex-shrink: 0;
143
+        transform: rotate(180deg);
144
+        margin-left: px(30);
145
+        /deep/ img {
146
+            width: px(40);
147
+            height: px(40);
148
+        }
149
+    }
150
+    .right {
151
+        display: flex;
152
+        align-items: center;
153
+        font-size: px(44);
154
+        color: #666;
155
+    }
156
+    .status {
157
+        margin-left: px(30);
158
+    }
159
+}
160
+</style>

+ 86 - 0
src/pages/youxuan/index.vue

@@ -0,0 +1,86 @@
1
+<template>
2
+    <div class="page">
3
+        <ul class="list">
4
+            <li class="item" @click="jump('/pages/manage/shop/set-shop')">
5
+                <div class="name">分类管理</div>
6
+                <my-image
7
+                    class="arrow"
8
+                    src="/static/common/arrows_left.png"
9
+                ></my-image>
10
+            </li>
11
+            <li class="item" @click="jump('/pages/manage/shop/delivery')">
12
+                <div class="name">品牌管理</div>
13
+                <my-image
14
+                    class="arrow"
15
+                    src="/static/common/arrows_left.png"
16
+                ></my-image>
17
+            </li>
18
+            <li class="item" @click="jump('/pages/manage/shop/points')">
19
+                <div class="name">分类管理</div>
20
+                <my-image
21
+                    class="arrow"
22
+                    src="/static/common/arrows_left.png"
23
+                ></my-image>
24
+            </li>
25
+        </ul>
26
+    </div>
27
+</template>
28
+
29
+<script>
30
+import MyImage from "../../components/image/index";
31
+export default {
32
+    name: "",
33
+    components: { MyImage },
34
+
35
+    // 数据
36
+    data() {
37
+        return {
38
+            curShop: {},
39
+        };
40
+    },
41
+
42
+    onLoad() {},
43
+    async onShow() {},
44
+    // 函数
45
+    methods: {},
46
+
47
+    // 数据计算
48
+    computed: {
49
+        user() {
50
+            return this.$store.state.user.user;
51
+        },
52
+    },
53
+
54
+    // 数据监听
55
+    watch: {},
56
+};
57
+</script>
58
+
59
+<style lang="scss" scoped>
60
+.page {
61
+    min-height: 100vh;
62
+    background-color: #fff;
63
+}
64
+.list {
65
+    border-top: 1px solid #f1f1f1;
66
+    .item {
67
+        height: px(120);
68
+        padding: 0 px(35);
69
+        font-size: px(44);
70
+        display: flex;
71
+        justify-content: space-between;
72
+        align-items: center;
73
+        border-bottom: 1px solid #f1f1f1;
74
+    }
75
+    .arrow {
76
+        width: px(40);
77
+        height: px(40);
78
+        flex-shrink: 0;
79
+        transform: rotate(180deg);
80
+        /deep/ img {
81
+            width: px(40);
82
+            height: px(40);
83
+        }
84
+    }
85
+}
86
+</style>