Procházet zdrojové kódy

优选订单页面

cr před 4 roky
rodič
revize
eb0a4d01ad

+ 19 - 0
src/pages.json

@@ -533,6 +533,25 @@
533 533
             "style": {
534 534
                 "navigationBarTitleText": "商品详情"
535 535
             }
536
+        },
537
+        {
538
+            "path": "pages/youxuan/nav",
539
+            "style": {
540
+                "navigationBarTitleText": "优选管理"
541
+            }
542
+        },
543
+        {
544
+            "path": "pages/youxuan/order/index",
545
+            "style": {
546
+                "navigationBarTitleText": "优选订单",
547
+                "enablePullDownRefresh": true
548
+            }
549
+        },
550
+        {
551
+            "path": "pages/youxuan/order/detail",
552
+            "style": {
553
+                "navigationBarTitleText": "订单详情"
554
+            }
536 555
         }
537 556
     ]
538 557
 }

+ 1 - 1
src/pages/manage/index.vue

@@ -38,7 +38,7 @@
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')">
41
+                <li class="item" @click="jump('/pages/youxuan/nav')">
42 42
                     <my-image
43 43
                         class="img"
44 44
                         src="/static/icon/youxuan.png"

+ 93 - 0
src/pages/youxuan/nav.vue

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

+ 266 - 0
src/pages/youxuan/order/detail.vue

@@ -0,0 +1,266 @@
1
+<template>
2
+    <div class="page">
3
+        <div class="order-info">
4
+            <div class="info">
5
+                <div class="num">订单号:154546464666</div>
6
+                <div class="status">拣货中</div>
7
+            </div>
8
+            <div class="con">
9
+                <my-image src="" class="img"></my-image>
10
+                <div class="main">
11
+                    <div class="line">
12
+                        <div class="name">
13
+                            商品名称xxxxxxx商品名称xxxxxxx商品名称xxxxxxx商品名称xxxxxxx
14
+                        </div>
15
+                        <div class="money">
16
+                            合计:<span class="red-text">¥500.0</span>
17
+                        </div>
18
+                    </div>
19
+                    <div class="line">
20
+                        <div class="time">19:00</div>
21
+                        <div class="money">预估佣金:¥16.8</div>
22
+                    </div>
23
+                </div>
24
+            </div>
25
+        </div>
26
+        <ul class="good-list">
27
+            <li>
28
+                <my-image class="good-img" src=""></my-image>
29
+                <div class="good-con">
30
+                    <div class="good-name">商品名称商品名称商品名称</div>
31
+                    <div class="info">
32
+                        <div class="sku">规格:43</div>
33
+                        <div class="count">数量:x1</div>
34
+                    </div>
35
+                    <div class="money">
36
+                        <div class="price">金额:¥13.4</div>
37
+                        <div class="commission">佣金:¥13.4</div>
38
+                    </div>
39
+                </div>
40
+            </li>
41
+            <li>
42
+                <my-image class="good-img" src=""></my-image>
43
+                <div class="good-con">
44
+                    <div class="good-name">商品名称</div>
45
+                    <div class="info">
46
+                        <div class="sku">规格:43</div>
47
+                        <div class="count">数量:x1</div>
48
+                    </div>
49
+                    <div class="money">
50
+                        <div class="price">金额:¥13.4</div>
51
+                        <div class="commission">佣金:¥13.4</div>
52
+                    </div>
53
+                </div>
54
+            </li>
55
+        </ul>
56
+        <section class="info-box">
57
+            <ul>
58
+                <li>
59
+                    <div class="key">总件数:</div>
60
+                    <div class="value">x2</div>
61
+
62
+                    <div class="key key-r">总金额:</div>
63
+                    <div class="value">¥50.0</div>
64
+                </li>
65
+                <li>
66
+                    <div class="key">积分抵扣(2100分):</div>
67
+                    <div class="value">-¥5.0</div>
68
+                </li>
69
+                <li>
70
+                    <div class="key">优惠券(满50减5):</div>
71
+                    <div class="value">-¥5.5</div>
72
+                </li>
73
+                <li>
74
+                    <div class="key">配送费:</div>
75
+                    <div class="value">¥5.5</div>
76
+                </li>
77
+                <li>
78
+                    <div class="key">合计:</div>
79
+                    <div class="value red">¥50.5</div>
80
+                </li>
81
+                <li>
82
+                    <div class="key">佣金:</div>
83
+                    <div class="value">
84
+                        ¥50.5(佣金)-¥50.5(积分抵扣)=¥5
85
+                    </div>
86
+                </li>
87
+            </ul>
88
+        </section>
89
+        <section class="info-box">
90
+            <ul>
91
+                <li>
92
+                    <div class="key">支付时间:</div>
93
+                    <div class="value">2021/01/01 11:00</div>
94
+                </li>
95
+                <li>
96
+                    <div class="key">发货时间:</div>
97
+                    <div class="value">2021/01/01 11:00</div>
98
+                </li>
99
+                <li>
100
+                    <div class="key">订单完成:</div>
101
+                    <div class="value">2021/01/01 11:00</div>
102
+                </li>
103
+                <li>
104
+                    <div class="key">退款时间:</div>
105
+                    <div class="value">2021/01/01 11:00</div>
106
+                </li>
107
+            </ul>
108
+        </section>
109
+    </div>
110
+</template>
111
+
112
+<script>
113
+import MyImage from "../../../components/image/index";
114
+export default {
115
+    name: "",
116
+    components: { MyImage },
117
+
118
+    // 数据
119
+    data() {
120
+        return {};
121
+    },
122
+
123
+    onShow() {},
124
+
125
+    // 函数
126
+    methods: {},
127
+
128
+    // 数据计算
129
+    computed: {},
130
+
131
+    // 数据监听
132
+    watch: {},
133
+};
134
+</script>
135
+
136
+<style lang="scss" scoped>
137
+.page {
138
+    background-color: #fff;
139
+}
140
+.order-info {
141
+    padding: px(30) px(30) px(50);
142
+    border-bottom: 1px solid #e9e9e9;
143
+    .info {
144
+        display: flex;
145
+        justify-content: space-between;
146
+        align-items: center;
147
+        .num {
148
+            color: #666;
149
+        }
150
+        .status {
151
+            color: #409eff;
152
+        }
153
+    }
154
+
155
+    .con {
156
+        display: flex;
157
+        align-items: stretch;
158
+        justify-content: space-between;
159
+        margin-top: px(30);
160
+        .img {
161
+            width: px(200);
162
+            height: px(200);
163
+            flex-shrink: 0;
164
+            margin-right: px(20);
165
+            background-color: #f9f9f9;
166
+            /deep/ img {
167
+                width: px(200);
168
+                height: px(200);
169
+            }
170
+        }
171
+    }
172
+    .main {
173
+        width: 100%;
174
+        display: flex;
175
+        justify-content: space-between;
176
+        flex-direction: column;
177
+        padding: px(25) 0;
178
+        .money {
179
+            flex-shrink: 0;
180
+        }
181
+        .name {
182
+            @include omits(2);
183
+        }
184
+        .line {
185
+            display: flex;
186
+            justify-content: space-between;
187
+            & ~ .line {
188
+                margin-top: px(10);
189
+            }
190
+        }
191
+        .red-text {
192
+            color: #ff4b26;
193
+        }
194
+        .time,
195
+        .money {
196
+            font-size: px(40);
197
+            color: #666;
198
+        }
199
+    }
200
+}
201
+
202
+.good-list {
203
+    li {
204
+        display: flex;
205
+        justify-content: space-between;
206
+        align-items: stretch;
207
+        padding: px(20) px(40);
208
+        border-bottom: 1px solid #e9e9e9;
209
+        background-color: #f9f9f9;
210
+        .good-img {
211
+            width: px(220);
212
+            height: px(220);
213
+            flex-shrink: 0;
214
+            margin-right: px(20);
215
+            background-color: #f1f1f1;
216
+            /deep/ img {
217
+                width: px(220);
218
+                height: px(220);
219
+            }
220
+        }
221
+        .good-con {
222
+            width: 100%;
223
+            display: flex;
224
+            justify-content: space-between;
225
+            flex-direction: column;
226
+            font-size: px(40);
227
+            .good-name {
228
+                @include omits(2);
229
+            }
230
+            .info,
231
+            .money {
232
+                margin-top: px(10);
233
+                display: flex;
234
+                justify-content: space-between;
235
+                align-items: center;
236
+            }
237
+            .count,
238
+            .sku {
239
+                color: #666;
240
+            }
241
+        }
242
+    }
243
+}
244
+.info-box {
245
+    padding: px(60) px(30);
246
+    & ~ .info-box {
247
+        border-top: 1px solid #e9e9e9;
248
+    }
249
+    li {
250
+        display: flex;
251
+        justify-content: flex-start;
252
+        align-items: center;
253
+        font-size: px(40);
254
+        padding: px(10) 0;
255
+    }
256
+    .key {
257
+        color: #666;
258
+    }
259
+    .red {
260
+        color: #ff4b26;
261
+    }
262
+    .key-r {
263
+        margin-left: px(50);
264
+    }
265
+}
266
+</style>

+ 277 - 0
src/pages/youxuan/order/index.vue

@@ -0,0 +1,277 @@
1
+<template>
2
+    <div class="page">
3
+        <div class="filter">
4
+            <span class="key">时间:</span>
5
+            <picker mode="date" @change="dateChange($event, 'startDate')"
6
+                ><input
7
+                    class="value"
8
+                    placeholder="开始日期"
9
+                    :disabled="true"
10
+                    v-model="filter.startDate"
11
+            /></picker>
12
+            <span class="row">至</span>
13
+            <picker mode="date" @change="dateChange($event, 'endDate')"
14
+                ><input
15
+                    class="value"
16
+                    placeholder="结束日期"
17
+                    :disabled="true"
18
+                    v-model="filter.endDate"
19
+            /></picker>
20
+        </div>
21
+        <div class="card">
22
+            <h1 class="tit">今天</h1>
23
+            <ul class="order-list">
24
+                <li
25
+                    @click="
26
+                        jump({
27
+                            path: '/pages/youxuan/order/detail',
28
+                            query: { id: 1 },
29
+                        })
30
+                    "
31
+                >
32
+                    <div class="info">
33
+                        <div class="num">订单号:154546464666</div>
34
+                        <div class="status">拣货中</div>
35
+                    </div>
36
+                    <div class="con">
37
+                        <my-image class="img" src=""></my-image>
38
+                        <div class="main">
39
+                            <div class="line">
40
+                                <div class="name">商品名称xxxxxxx</div>
41
+                                <div class="money">
42
+                                    合计:<span class="red-text">¥500.0</span>
43
+                                </div>
44
+                            </div>
45
+                            <div class="line">
46
+                                <div class="time">19:00</div>
47
+                                <div class="money">预估佣金:¥16.8</div>
48
+                            </div>
49
+                        </div>
50
+                    </div>
51
+                </li>
52
+                <li>
53
+                    <div class="info">
54
+                        <div class="num">订单号:154546464666</div>
55
+                        <div class="status">拣货中</div>
56
+                    </div>
57
+                    <div class="con">
58
+                        <my-image src="" class="img"></my-image>
59
+                        <div class="main">
60
+                            <div class="line">
61
+                                <div class="name">商品名称xxxxxxx</div>
62
+                                <div class="money">
63
+                                    合计:<span class="red-text">¥500.0</span>
64
+                                </div>
65
+                            </div>
66
+                            <div class="line">
67
+                                <div class="time">19:00</div>
68
+                                <div class="money">预估佣金:¥16.8</div>
69
+                            </div>
70
+                        </div>
71
+                    </div>
72
+                </li>
73
+            </ul>
74
+        </div>
75
+        <div class="card">
76
+            <h1 class="tit">2021/09/05</h1>
77
+            <ul class="order-list">
78
+                <li>
79
+                    <div class="info">
80
+                        <div class="num">订单号:154546464666</div>
81
+                        <div class="status">拣货中</div>
82
+                    </div>
83
+                    <div class="con">
84
+                        <my-image class="img" src=""></my-image>
85
+                        <div class="main">
86
+                            <div class="line">
87
+                                <div class="name">商品名称xxxxxxx</div>
88
+                                <div class="money">
89
+                                    合计:<span class="red-text">¥500.0</span>
90
+                                </div>
91
+                            </div>
92
+                            <div class="line">
93
+                                <div class="time">19:00</div>
94
+                                <div class="money">预估佣金:¥16.8</div>
95
+                            </div>
96
+                        </div>
97
+                    </div>
98
+                </li>
99
+                <li>
100
+                    <div class="info">
101
+                        <div class="num">订单号:154546464666</div>
102
+                        <div class="status">拣货中</div>
103
+                    </div>
104
+                    <div class="con">
105
+                        <my-image src="" class="img"></my-image>
106
+                        <div class="main">
107
+                            <div class="line">
108
+                                <div class="name">
109
+                                    商品名称xxxxxxx商品名称xxxxxxx商品名称xxxxxxx商品名称xxxxxxx
110
+                                </div>
111
+                                <div class="money">
112
+                                    合计:<span class="red-text">¥500.0</span>
113
+                                </div>
114
+                            </div>
115
+                            <div class="line">
116
+                                <div class="time">19:00</div>
117
+                                <div class="money">预估佣金:¥16.8</div>
118
+                            </div>
119
+                        </div>
120
+                    </div>
121
+                </li>
122
+            </ul>
123
+        </div>
124
+    </div>
125
+</template>
126
+
127
+<script>
128
+import MyImage from "../../../components/image/index";
129
+export default {
130
+    name: "",
131
+    components: { MyImage },
132
+    // 数据
133
+    data() {
134
+        return {
135
+            filter: {
136
+                startDate: "",
137
+                endDate: "",
138
+            },
139
+        };
140
+    },
141
+
142
+    onShow() {},
143
+
144
+    // 函数
145
+    methods: {
146
+        dateChange(e, name) {
147
+            this.filter[name] = e.detail.value;
148
+        },
149
+    },
150
+
151
+    // 数据计算
152
+    computed: {},
153
+
154
+    // 数据监听
155
+    watch: {},
156
+};
157
+</script>
158
+
159
+<style lang="scss" scoped>
160
+.card {
161
+    margin: px(40) px(40);
162
+    border: 1px solid #e9e9e9;
163
+    background-color: #fff;
164
+    .tit {
165
+        font-size: px(44);
166
+        font-weight: bold;
167
+        padding: px(30);
168
+        display: flex;
169
+        align-items: center;
170
+        justify-content: space-between;
171
+        background-color: #f1f1f1;
172
+    }
173
+    .more {
174
+        color: #409eff;
175
+        font-size: px(40);
176
+        display: flex;
177
+        align-items: center;
178
+        font-weight: normal;
179
+        .arrow {
180
+            width: px(30);
181
+            height: px(30);
182
+            transform: rotate(180deg);
183
+            /deep/ img {
184
+                width: px(30);
185
+                height: px(30);
186
+            }
187
+        }
188
+    }
189
+}
190
+.filter {
191
+    display: flex;
192
+    align-items: center;
193
+    padding: px(40);
194
+    font-size: px(44);
195
+    background-color: #fff;
196
+    .row {
197
+        padding: 0 px(20);
198
+        flex-shrink: 0;
199
+    }
200
+    .key {
201
+        flex-shrink: 0;
202
+    }
203
+    .value {
204
+        border: 1px solid #f1f1f1;
205
+        height: px(80);
206
+        width: px(200);
207
+        padding: 0 px(10);
208
+        width: 90%;
209
+    }
210
+}
211
+.order-list {
212
+    padding: px(30);
213
+    li {
214
+        padding: px(30) 0;
215
+        & ~ li {
216
+            border-top: 1px solid #e9e9e9;
217
+        }
218
+    }
219
+    .info {
220
+        display: flex;
221
+        justify-content: space-between;
222
+        align-items: center;
223
+        .num {
224
+            color: #666;
225
+        }
226
+        .status {
227
+            color: #409eff;
228
+        }
229
+    }
230
+
231
+    .con {
232
+        display: flex;
233
+        align-items: stretch;
234
+        justify-content: space-between;
235
+        margin-top: px(30);
236
+        .img {
237
+            width: px(200);
238
+            height: px(200);
239
+            flex-shrink: 0;
240
+            margin-right: px(20);
241
+            background-color: #f9f9f9;
242
+            /deep/ img {
243
+                width: px(200);
244
+                height: px(200);
245
+            }
246
+        }
247
+    }
248
+    .main {
249
+        width: 100%;
250
+        display: flex;
251
+        justify-content: space-between;
252
+        flex-direction: column;
253
+        padding: px(25) 0;
254
+        .money {
255
+            flex-shrink: 0;
256
+        }
257
+        .name {
258
+            @include omits(2);
259
+        }
260
+        .line {
261
+            display: flex;
262
+            justify-content: space-between;
263
+            & ~ .line {
264
+                margin-top: px(10);
265
+            }
266
+        }
267
+        .red-text {
268
+            color: #ff4b26;
269
+        }
270
+        .time,
271
+        .money {
272
+            font-size: px(40);
273
+            color: #666;
274
+        }
275
+    }
276
+}
277
+</style>