Browse Source

静态页面

xcx 4 years ago
parent
commit
6c695923ff

+ 3
- 3
src/pages/index/DaLeTouDingDan/index.vue View File

50
         <span><em>{{TotalCount}}</em>注</span>
50
         <span><em>{{TotalCount}}</em>注</span>
51
         <span>金额:<em>{{TotalPrize * Multiple}}</em>元</span>
51
         <span>金额:<em>{{TotalPrize * Multiple}}</em>元</span>
52
       </div>
52
       </div>
53
-      <a @click="ToPostBetting" :class="{'active': DaLeTouCart.length}">立即购买</a>
53
+      <a @click="ToPostBetting" :class="{'active': CurrentStoreId !== null && DaLeTouCart.length}">立即购买</a>
54
     </div>
54
     </div>
55
 
55
 
56
     <div class="Layer" v-if="ShowStore">
56
     <div class="Layer" v-if="ShowStore">
86
         </div>
86
         </div>
87
       </div>
87
       </div>
88
     </div>
88
     </div>
89
+
89
   </div>
90
   </div>
90
 </template>
91
 </template>
91
 
92
 
160
       this.DataLock = false
161
       this.DataLock = false
161
     },
162
     },
162
     ToPostBetting () { // 去下注
163
     ToPostBetting () { // 去下注
163
-      if (this.DataLock) return
164
+      if (this.DataLock || !this.DaLeTouCart.length || this.CurrentStoreId === null) return
164
       this.DataLock = true
165
       this.DataLock = true
165
       let ListData = []
166
       let ListData = []
166
       this.DaLeTouCart.map((item) => {
167
       this.DaLeTouCart.map((item) => {
181
       })
182
       })
182
       let Data = {
183
       let Data = {
183
         isAdd: this.IsAdd, // 是否追加, 只有大乐透需要
184
         isAdd: this.IsAdd, // 是否追加, 只有大乐透需要
184
-        issueNo: '123456', // 购买彩票期数,这个你先随便传
185
         itemList: [...ListData], // 这个是详细购买方案的列表
185
         itemList: [...ListData], // 这个是详细购买方案的列表
186
         lotteryId: 'lottery', // 彩种ID
186
         lotteryId: 'lottery', // 彩种ID
187
         notesNum: this.TotalCount, // 总注数
187
         notesNum: this.TotalCount, // 总注数

+ 1
- 1
src/pages/index/PaiLie5/page.scss View File

158
                     > a {
158
                     > a {
159
                       width: 100%;
159
                       width: 100%;
160
                       font-size: 0.14rem;
160
                       font-size: 0.14rem;
161
-                      line-height: 0.26rem;
161
+                      line-height: 0.28rem;
162
                       border: 0.01rem solid #666;
162
                       border: 0.01rem solid #666;
163
                       display: block;
163
                       display: block;
164
                       text-align: center;
164
                       text-align: center;

+ 92
- 14
src/pages/index/PaiLie5DingDan/index.vue View File

4
     <a class="Store flex-h" @click="ShowStore = true">
4
     <a class="Store flex-h" @click="ShowStore = true">
5
       <div class="flex-item">
5
       <div class="flex-item">
6
         <div>
6
         <div>
7
-          <span>投注门店:请选择</span>
7
+          <span>投注门店:{{CurrentStoreName || '请选择'}}</span>
8
         </div>
8
         </div>
9
       </div>
9
       </div>
10
       <span>查看更多</span>
10
       <span>查看更多</span>
87
       <div class="flex-h">
87
       <div class="flex-h">
88
         <a @click="$router.go(-1)">自选号码</a>
88
         <a @click="$router.go(-1)">自选号码</a>
89
         <a @click="CutRandomCount(1)">机选一注</a>
89
         <a @click="CutRandomCount(1)">机选一注</a>
90
-        <a class="flex-item">确认投注</a>
90
+        <a class="flex-item" @click="ToPostBetting" :class="{'active': CurrentStoreId !== null && PaiLie5Cart.length}">确认投注</a>
91
       </div>
91
       </div>
92
     </div>
92
     </div>
93
 
93
 
94
     <div class="Layer" v-if="ShowStore">
94
     <div class="Layer" v-if="ShowStore">
95
       <div class="centerLabel">
95
       <div class="centerLabel">
96
-        <span>推荐店铺:</span>
97
-        <ul>
98
-          <li v-for="(item, index) in 3" :key="index" class="flex-h">
96
+        <span v-if="RecommendStoreList.length">推荐店铺:</span>
97
+        <ul v-if="RecommendStoreList.length">
98
+          <li v-for="(item, index) in RecommendStoreList" :key="index" v-if="item.status - 0 === 1" class="flex-h" @click="SelectStore(item)">
99
             <div class="flex-item">
99
             <div class="flex-item">
100
               <div>
100
               <div>
101
-                <span>彩票供销社{{index + 1}}</span>
101
+                <span>{{item.name}}</span>
102
               </div>
102
               </div>
103
             </div>
103
             </div>
104
-            <i class="iconfont iconweigouxuan"></i>
104
+            <i class="iconfont iconweigouxuan" v-if="item.shopId !== CurrentStoreId"></i>
105
+            <i class="iconfont iconyigouxuan active" v-else></i>
105
           </li>
106
           </li>
106
         </ul>
107
         </ul>
107
         <span>选择附近店铺:</span>
108
         <span>选择附近店铺:</span>
108
         <ul class="ScrollList">
109
         <ul class="ScrollList">
109
-          <li v-for="(item, index) in 20" :key="index" class="flex-h">
110
+          <li v-for="(item, index) in StoreList" :key="index" v-if="item.status - 0 === 1" class="flex-h" @click="SelectStore(item)">
110
             <div class="flex-item">
111
             <div class="flex-item">
111
               <div>
112
               <div>
112
-                <span>彩票供销社{{index + 1}}</span>
113
+                <span>{{item.name}}</span>
113
               </div>
114
               </div>
114
             </div>
115
             </div>
115
-            <span>200m</span>
116
-            <i class="iconfont iconweigouxuan"></i>
116
+            <!-- <span>200m</span> -->
117
+            <i class="iconfont iconweigouxuan" v-if="item.shopId !== CurrentStoreId"></i>
118
+            <i class="iconfont iconyigouxuan active" v-else></i>
117
           </li>
119
           </li>
118
         </ul>
120
         </ul>
119
         <div class="Bottom flex-h">
121
         <div class="Bottom flex-h">
120
-          <a class="flex-item" @click="ShowStore = false">取消</a>
121
-          <a class="flex-item active">确定</a>
122
+          <a class="flex-item" @click="CurrentStoreId = null; CurrentStoreName = null; ShowStore = false">取消</a>
123
+          <a class="flex-item active" @click="ShowStore = false">确定</a>
122
         </div>
124
         </div>
123
       </div>
125
       </div>
124
     </div>
126
     </div>
128
 
130
 
129
 <script>
131
 <script>
130
 import { mapMutations, createNamespacedHelpers } from 'vuex'
132
 import { mapMutations, createNamespacedHelpers } from 'vuex'
131
-const { mapState: mapUserState, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
133
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
132
 export default {
134
 export default {
133
   name: '',
135
   name: '',
134
   data () {
136
   data () {
135
     return {
137
     return {
138
+      CurrentStoreName: null, // 当前选择店铺名称
139
+      CurrentStoreId: null, // 当前选择店铺id
140
+      RecommendStoreList: [], // 推荐店铺列表
141
+      StoreList: [], // 店铺列表
136
       ShowStore: false,
142
       ShowStore: false,
137
       Multiple: 1,
143
       Multiple: 1,
138
       TotalCount: 0,
144
       TotalCount: 0,
179
       'DeletePaiLie5Cart',
185
       'DeletePaiLie5Cart',
180
       'EmptyPaiLie5Cart'
186
       'EmptyPaiLie5Cart'
181
     ]),
187
     ]),
188
+    ...mapUserActions([
189
+      'PostBetting',
190
+      'GetStoreList'
191
+    ]),
182
     Init () { // 初始化
192
     Init () { // 初始化
183
       this.PageList = [...this.PaiLie5Cart]
193
       this.PageList = [...this.PaiLie5Cart]
184
       this.CalcTotalCount()
194
       this.CalcTotalCount()
185
       this.CreateData()
195
       this.CreateData()
196
+      this.GetStoreList({
197
+        queryData: {
198
+          location: '114.16936109999999,22.3193039',
199
+          lotteryId: 'p5'
200
+        }
201
+      }).then((res) => {
202
+        this.StoreList = res.data.data.nearest || []
203
+        this.RecommendStoreList = res.data.data.recommend || []
204
+      })
205
+    },
206
+    ToPostBetting () { // 去下注
207
+      if (this.DataLock || !this.PaiLie5Cart.length || this.CurrentStoreId === null) return
208
+      this.DataLock = true
209
+      let ListData = []
210
+      this.PaiLie5Cart.map((item) => {
211
+        let ItemArr = []
212
+        for (let key in item) {
213
+          if (key !== 'Count' && key !== 'Type') {
214
+            ItemArr.push(item[key])
215
+          }
216
+        }
217
+        ItemArr.sort((a, b) => { return a - b })
218
+        ListData.push({
219
+          amount: item.Count, // 购买注数
220
+          charges: item.Count * 2 * 100, // 价格
221
+          firstDan: '', // 前区胆号, 逗号连接
222
+          firstNums: ItemArr.join(','), // 前区其余数字, 逗号连接
223
+          isDan: false, // 是否胆拖
224
+          isMulti: item.Count > 1 // 是否复式
225
+          // secondDan: item.LastRes.Dan.join(','), // 后区胆号, 逗号连接
226
+          // secondNums: item.LastRes.Tuo.join(',') // 后区其余数字, 逗号连接
227
+        })
228
+      })
229
+      let Data = {
230
+        itemList: [...ListData], // 这个是详细购买方案的列表
231
+        lotteryId: 'p5', // 彩种ID
232
+        notesNum: this.TotalCount, // 总注数
233
+        shopId: this.CurrentStoreId, // 店铺ID
234
+        times: this.Multiple, // 倍数
235
+        totalPrice: this.TotalPrize * this.Multiple * 100 // 总金额
236
+      }
237
+      this.PostBetting({
238
+        urlData: { id: 'p5' },
239
+        data: { ...Data }
240
+      }).then((res) => {
241
+        this.Dialog.alert({
242
+          message: '投注成功!'
243
+        })
244
+        this.EmptyPaiLie5Cart()
245
+        this.PageList = []
246
+        this.TotalCount = 0
247
+        this.TotalPrize = 0
248
+        this.Multiple = 1
249
+        this.DataLock = false
250
+      }).catch((res) => {
251
+        this.Dialog.alert({
252
+          title: '错误',
253
+          message: res.data.message
254
+        })
255
+        this.DataLock = false
256
+      })
257
+    },
258
+    SelectStore (item) { // 选择店铺
259
+      if (this.DataLock) return
260
+      this.DataLock = true
261
+      this.CurrentStoreName = item.shopId === this.CurrentStoreId ? null : item.name
262
+      this.CurrentStoreId = item.shopId === this.CurrentStoreId ? null : item.shopId
263
+      this.DataLock = false
186
     },
264
     },
187
     EmptyCart () { // 清空购物车
265
     EmptyCart () { // 清空购物车
188
       this.Dialog.confirm({
266
       this.Dialog.confirm({

+ 6
- 1
src/pages/index/PaiLie5DingDan/page.scss View File

250
           }
250
           }
251
           &.flex-item {
251
           &.flex-item {
252
             color: #fff;
252
             color: #fff;
253
-            background: #ff5200;
253
+            background: #ccc;
254
+            border-color: #ccc;
255
+            &.active {
256
+              background: #ff5200;
257
+              border-color: #ff5200;
258
+            }
254
           }
259
           }
255
         }
260
         }
256
       }
261
       }

+ 108
- 26
src/pages/index/ShuangSeQiuDingDan/index.vue View File

8
             <a class="iconfont iconguanbi Close" @click="DeleteItem(index)"></a>
8
             <a class="iconfont iconguanbi Close" @click="DeleteItem(index)"></a>
9
             <div class="flex-h">
9
             <div class="flex-h">
10
               <span class="flex-item">{{ReturnType(item)}}<em>{{item.Count}}</em>注<em>{{item.Count * 2}}</em>元</span>
10
               <span class="flex-item">{{ReturnType(item)}}<em>{{item.Count}}</em>注<em>{{item.Count * 2}}</em>元</span>
11
-              <span>
12
-                <a class="iconfont iconjianhao" @click="MultipleLess(item)"></a>
13
-                <input type="number" v-model="item.Multiple" disabled="disabled">
14
-                <span>倍</span>
15
-                <a class="iconfont iconjiahao" @click="MultipleMore(item)"></a>
16
-              </span>
17
             </div>
11
             </div>
18
             <ul>
12
             <ul>
19
               <li v-for="(subItem, subIndex) in item.SortArr" :key="subIndex" :class="{'active': !subItem.IsFirst}">
13
               <li v-for="(subItem, subIndex) in item.SortArr" :key="subIndex" :class="{'active': !subItem.IsFirst}">
27
         </ul>
21
         </ul>
28
 
22
 
29
         <div class="OtherTab">
23
         <div class="OtherTab">
30
-          <div class="flex-h">
31
-            <span class="flex-item">是否追期?</span>
32
-            <span>追号喜中二等奖</span>
33
-            <van-switch v-model="IsAdd" active-color="#07c160" inactive-color="#ccc" size="0.13rem" @change="SwitchChange" />
24
+          <div>
25
+            <div class="flex-h">
26
+              <span class="flex-item">加倍</span>
27
+              <span>
28
+                <a class="iconfont iconjianhao" @click="Multiple = Multiple > 1 ? Multiple - 1 : 1"></a>
29
+                <input type="number" disabled="disabled" v-model="Multiple">
30
+                <span>倍</span>
31
+                <a class="iconfont iconjiahao" @click="Multiple += 1"></a>
32
+              </span>
33
+            </div>
34
+            <div class="flex-h">
35
+              <span class="flex-item">是否追期?</span>
36
+              <span>追号喜中二等奖</span>
37
+              <van-switch v-model="IsAdd" active-color="#07c160" inactive-color="#ccc" size="0.13rem" @change="SwitchChange" />
38
+            </div>
34
           </div>
39
           </div>
35
         </div>
40
         </div>
36
 
41
 
38
     </div>
43
     </div>
39
     <div class="Bottom">
44
     <div class="Bottom">
40
       <div class="Store">
45
       <div class="Store">
41
-        <a @click="ShowStore = true">店铺:请选择</a>
46
+        <a @click="ShowStore = true">店铺:{{CurrentStoreName || '请选择'}}</a>
42
       </div>
47
       </div>
43
       <div class="Count">
48
       <div class="Count">
44
         <span><em>{{TotalCount}}</em>注</span>
49
         <span><em>{{TotalCount}}</em>注</span>
45
         <span>金额:<em>{{TotalPrize}}</em>元</span>
50
         <span>金额:<em>{{TotalPrize}}</em>元</span>
46
       </div>
51
       </div>
47
-      <a>立即购买</a>
52
+      <a @click="ToPostBetting" :class="{'active': CurrentStoreId !== null && ShuangSeQiuCart.length}">立即购买</a>
48
     </div>
53
     </div>
54
+
49
     <div class="Layer" v-if="ShowStore">
55
     <div class="Layer" v-if="ShowStore">
50
       <div class="centerLabel">
56
       <div class="centerLabel">
51
-        <span>推荐店铺:</span>
52
-        <ul>
53
-          <li v-for="(item, index) in 3" :key="index" class="flex-h">
57
+        <span v-if="RecommendStoreList.length">推荐店铺:</span>
58
+        <ul v-if="RecommendStoreList.length">
59
+          <li v-for="(item, index) in RecommendStoreList" :key="index" v-if="item.status - 0 === 1" class="flex-h" @click="SelectStore(item)">
54
             <div class="flex-item">
60
             <div class="flex-item">
55
               <div>
61
               <div>
56
-                <span>彩票供销社{{index + 1}}</span>
62
+                <span>{{item.name}}</span>
57
               </div>
63
               </div>
58
             </div>
64
             </div>
59
-            <i class="iconfont iconweigouxuan"></i>
65
+            <i class="iconfont iconweigouxuan" v-if="item.shopId !== CurrentStoreId"></i>
66
+            <i class="iconfont iconyigouxuan active" v-else></i>
60
           </li>
67
           </li>
61
         </ul>
68
         </ul>
62
         <span>选择附近店铺:</span>
69
         <span>选择附近店铺:</span>
63
         <ul class="ScrollList">
70
         <ul class="ScrollList">
64
-          <li v-for="(item, index) in 20" :key="index" class="flex-h">
71
+          <li v-for="(item, index) in StoreList" :key="index" v-if="item.status - 0 === 1" class="flex-h" @click="SelectStore(item)">
65
             <div class="flex-item">
72
             <div class="flex-item">
66
               <div>
73
               <div>
67
-                <span>彩票供销社{{index + 1}}</span>
74
+                <span>{{item.name}}</span>
68
               </div>
75
               </div>
69
             </div>
76
             </div>
70
-            <span>200m</span>
71
-            <i class="iconfont iconweigouxuan"></i>
77
+            <!-- <span>200m</span> -->
78
+            <i class="iconfont iconweigouxuan" v-if="item.shopId !== CurrentStoreId"></i>
79
+            <i class="iconfont iconyigouxuan active" v-else></i>
72
           </li>
80
           </li>
73
         </ul>
81
         </ul>
74
         <div class="Bottom flex-h">
82
         <div class="Bottom flex-h">
75
-          <a class="flex-item" @click="ShowStore = false">取消</a>
76
-          <a class="flex-item active">确定</a>
83
+          <a class="flex-item" @click="CurrentStoreId = null; CurrentStoreName = null; ShowStore = false">取消</a>
84
+          <a class="flex-item active" @click="ShowStore = false">确定</a>
77
         </div>
85
         </div>
78
       </div>
86
       </div>
79
     </div>
87
     </div>
88
+
80
   </div>
89
   </div>
81
 </template>
90
 </template>
82
 
91
 
83
 <script>
92
 <script>
84
 import { Switch } from 'vant'
93
 import { Switch } from 'vant'
85
 import { mapMutations, createNamespacedHelpers } from 'vuex'
94
 import { mapMutations, createNamespacedHelpers } from 'vuex'
86
-const { mapState: mapUserState, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
95
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
87
 export default {
96
 export default {
88
   name: '',
97
   name: '',
89
   data () {
98
   data () {
90
     return {
99
     return {
100
+      CurrentStoreName: null, // 当前选择店铺名称
101
+      CurrentStoreId: null, // 当前选择店铺id
102
+      RecommendStoreList: [], // 推荐店铺列表
103
+      StoreList: [], // 店铺列表
104
+      Multiple: 1, // 倍数
91
       ShowStore: false, // 是否显示店铺选择弹窗
105
       ShowStore: false, // 是否显示店铺选择弹窗
92
       TotalCount: 0, // 总注数
106
       TotalCount: 0, // 总注数
93
       TotalPrize: 0, // 总金额
107
       TotalPrize: 0, // 总金额
112
     ])
126
     ])
113
     this.PageList = [...this.ShuangSeQiuCart]
127
     this.PageList = [...this.ShuangSeQiuCart]
114
     this.CheckOrderCount() // 计算订单倍数、金额
128
     this.CheckOrderCount() // 计算订单倍数、金额
129
+    this.GetStoreList({
130
+      queryData: {
131
+        location: '114.16936109999999,22.3193039',
132
+        lotteryId: 'double-color'
133
+      }
134
+    }).then((res) => {
135
+      this.StoreList = res.data.data.nearest || []
136
+      this.RecommendStoreList = res.data.data.recommend || []
137
+    })
115
   },
138
   },
116
   mounted () {
139
   mounted () {
117
     this.$nextTick(() => {
140
     this.$nextTick(() => {
124
     ...mapUserMutations([
147
     ...mapUserMutations([
125
       'DeleteShuangSeQiuCart'
148
       'DeleteShuangSeQiuCart'
126
     ]),
149
     ]),
150
+    ...mapUserActions([
151
+      'PostBetting',
152
+      'GetStoreList'
153
+    ]),
154
+    ToPostBetting () { // 去下注
155
+      if (this.DataLock || !this.ShuangSeQiuCart.length || this.CurrentStoreId === null) return
156
+      this.DataLock = true
157
+      let ListData = []
158
+      this.ShuangSeQiuCart.map((item) => {
159
+        item.FirstRes.Dan.sort((a, b) => { return a - b })
160
+        item.FirstRes.Tuo.sort((a, b) => { return a - b })
161
+        item.LastRes.Dan.sort((a, b) => { return a - b })
162
+        item.LastRes.Tuo.sort((a, b) => { return a - b })
163
+        ListData.push({
164
+          amount: item.Count, // 购买注数
165
+          charges: item.Count * 2 * 100, // 价格
166
+          firstDan: item.FirstRes.Dan.join(','), // 前区胆号, 逗号连接
167
+          firstNums: item.FirstRes.Tuo.join(','), // 前区其余数字, 逗号连接
168
+          isDan: !!item.FirstRes.Dan.length, // 是否胆拖
169
+          isMulti: item.Count > 1, // 是否复式
170
+          secondDan: item.LastRes.Dan.join(','), // 后区胆号, 逗号连接
171
+          secondNums: item.LastRes.Tuo.join(',') // 后区其余数字, 逗号连接
172
+        })
173
+      })
174
+      let Data = {
175
+        itemList: [...ListData], // 这个是详细购买方案的列表
176
+        lotteryId: 'double-color', // 彩种ID
177
+        notesNum: this.TotalCount, // 总注数
178
+        shopId: this.CurrentStoreId, // 店铺ID
179
+        times: this.Multiple, // 倍数
180
+        totalPrice: this.TotalPrize * this.Multiple * 100 // 总金额
181
+      }
182
+      this.PostBetting({
183
+        urlData: { id: 'double-color' },
184
+        data: { ...Data }
185
+      }).then((res) => {
186
+        this.Dialog.alert({
187
+          message: '投注成功!'
188
+        })
189
+        this.EmptyShuangSeQiuCart()
190
+        this.PageList = []
191
+        this.TotalCount = 0
192
+        this.TotalPrize = 0
193
+        this.Multiple = 1
194
+        this.DataLock = false
195
+      }).catch((res) => {
196
+        this.Dialog.alert({
197
+          title: '错误',
198
+          message: res.data.message
199
+        })
200
+        this.DataLock = false
201
+      })
202
+    },
203
+    SelectStore (item) { // 选择店铺
204
+      if (this.DataLock) return
205
+      this.DataLock = true
206
+      this.CurrentStoreName = item.shopId === this.CurrentStoreId ? null : item.name
207
+      this.CurrentStoreId = item.shopId === this.CurrentStoreId ? null : item.shopId
208
+      this.DataLock = false
209
+    },
127
     SwitchChange () { // 追加状态改变
210
     SwitchChange () { // 追加状态改变
128
       this.CheckOrderCount()
211
       this.CheckOrderCount()
129
     },
212
     },
160
     CheckOrderCount () { // 计算订单倍数、金额
243
     CheckOrderCount () { // 计算订单倍数、金额
161
       let Count = 0 // 注数
244
       let Count = 0 // 注数
162
       let Money = 0 // 金额
245
       let Money = 0 // 金额
163
-      let ItemPrize = this.IsAdd ? 3 : 2
164
       this.PageList.map((item) => {
246
       this.PageList.map((item) => {
165
         Count += item.Count
247
         Count += item.Count
166
-        Money += item.Count * item.Multiple * ItemPrize
248
+        Money += item.Count * item.Multiple * 2
167
       })
249
       })
168
       this.TotalCount = Count
250
       this.TotalCount = Count
169
       this.TotalPrize = Money
251
       this.TotalPrize = Money

+ 86
- 70
src/pages/index/ShuangSeQiuDingDan/page.scss View File

33
               display: inline-block;
33
               display: inline-block;
34
               position: absolute;
34
               position: absolute;
35
               right: 0;
35
               right: 0;
36
-              bottom: 0;
36
+              top: 0;
37
               font-size: 0.2rem;
37
               font-size: 0.2rem;
38
               color: #999;
38
               color: #999;
39
             }
39
             }
53
                     font-weight: bold;
53
                     font-weight: bold;
54
                   }
54
                   }
55
                 }
55
                 }
56
-                &:last-child {
57
-                  display: inline-block;
58
-                  margin-left: 0.1rem;
59
-                  position: relative;
60
-                  overflow: hidden;
61
-                  border: 0.01rem solid #f7f7f7;
62
-                  border-radius: 0.03rem;
63
-                  font-size: 0;
64
-                  white-space: nowrap;
65
-                  > * {
66
-                    display: inline-block;
67
-                    vertical-align: middle;
68
-                    font-size: 0.14rem;
69
-                    color: #999;
70
-                    line-height: 0.2rem;
71
-                    border-left: 0.01rem solid #f7f7f7;
72
-                    &:first-child {
73
-                      border: none;
74
-                      border-right: 0.01rem solid #f7f7f7;
75
-                    }
76
-                  }
77
-                  > a {
78
-                    width: 0.2rem;
79
-                    text-align: center;
80
-                  }
81
-                  > input {
82
-                    border: none;
83
-                    width: 0.35rem;
84
-                    text-align: center;
85
-                    color: #333;
86
-                    &:disabled {
87
-                      color: #333;
88
-                    }
89
-                  }
90
-                  > span {
91
-                    border: none;
92
-                    margin-right: 0.03rem;
93
-                  }
94
-                }
95
               }
56
               }
96
             }
57
             }
97
             > ul {
58
             > ul {
98
               font-size: 0;
59
               font-size: 0;
99
-              margin-top: 0.1rem;
100
               > li {
60
               > li {
101
                 display: inline-block;
61
                 display: inline-block;
102
                 vertical-align: middle;
62
                 vertical-align: middle;
130
           position: relative;
90
           position: relative;
131
           margin-bottom: 0.15rem;
91
           margin-bottom: 0.15rem;
132
           > div {
92
           > div {
133
-            padding: 0.15rem;
134
             background: #fff;
93
             background: #fff;
135
             border-radius: 0.06rem;
94
             border-radius: 0.06rem;
136
-            align-items: center;
137
             box-shadow: 0 0 0.02rem 0.02rem rgba(0, 0, 0, 0.05);
95
             box-shadow: 0 0 0.02rem 0.02rem rgba(0, 0, 0, 0.05);
138
-            > span {
96
+            > div {
97
+              padding: 0.15rem;
98
+              border-top: 0.01rem solid #f7f7f7;
99
+              align-items: center;
139
               &:first-child {
100
               &:first-child {
140
-                font-size: 0.15rem;
141
-                color: #666;
142
-                line-height: 0.2rem;
101
+                border-top: none;
102
+              }
103
+              &:nth-child(1) {
104
+                > span {
105
+                  &:nth-child(1) {
106
+                    font-size: 0.15rem;
107
+                    color: #666;
108
+                    line-height: 0.2rem;
109
+                  }
110
+                  &:nth-child(2) {
111
+                    display: inline-block;
112
+                    margin-left: 0.1rem;
113
+                    position: relative;
114
+                    overflow: hidden;
115
+                    border: 0.01rem solid #f7f7f7;
116
+                    border-radius: 0.03rem;
117
+                    font-size: 0;
118
+                    white-space: nowrap;
119
+                    > * {
120
+                      display: inline-block;
121
+                      vertical-align: middle;
122
+                      font-size: 0.14rem;
123
+                      color: #999;
124
+                      line-height: 0.2rem;
125
+                      border-left: 0.01rem solid #f7f7f7;
126
+                      &:first-child {
127
+                        border: none;
128
+                        border-right: 0.01rem solid #f7f7f7;
129
+                      }
130
+                    }
131
+                    > a {
132
+                      width: 0.2rem;
133
+                      text-align: center;
134
+                    }
135
+                    > input {
136
+                      border: none;
137
+                      width: 0.35rem;
138
+                      text-align: center;
139
+                      color: #333;
140
+                      &:disabled {
141
+                        color: #333;
142
+                      }
143
+                    }
144
+                    > span {
145
+                      border: none;
146
+                      margin-right: 0.03rem;
147
+                    }
148
+                  }
149
+                }
143
               }
150
               }
144
               &:nth-child(2) {
151
               &:nth-child(2) {
145
-                font-size: 0.1rem;
146
-                color: #fff;
147
-                display: inline-block;
148
-                position: relative;
149
-                overflow: visible;
150
-                background: #ff5200;
151
-                border-radius: 0.02rem;
152
-                padding: 0 0.05rem;
153
-                line-height: 0.16rem;
154
-                margin-right: 0.1rem;
155
-                &::after {
156
-                  content: "";
157
-                  width: 0;
158
-                  height: 0;
159
-                  border-width: 0.04rem;
160
-                  display: block;
161
-                  position: absolute;
162
-                  right: -0.07rem;
163
-                  top: 50%;
164
-                  transform: translateY(-50%) rotateZ(90deg);
165
-                  -webkit-transform: translateY(-50%) rotateZ(90deg);
166
-                  border-style: solid solid dashed solid;
167
-                  border-color: transparent transparent #ff5200 transparent;
152
+                > span {
153
+                  &:nth-child(1) {
154
+                    font-size: 0.15rem;
155
+                    color: #666;
156
+                    line-height: 0.2rem;
157
+                  }
158
+                  &:nth-child(2) {
159
+                    font-size: 0.1rem;
160
+                    color: #fff;
161
+                    display: inline-block;
162
+                    position: relative;
163
+                    overflow: visible;
164
+                    background: #ff5200;
165
+                    border-radius: 0.02rem;
166
+                    padding: 0 0.05rem;
167
+                    line-height: 0.16rem;
168
+                    margin-right: 0.1rem;
169
+                    &::after {
170
+                      content: "";
171
+                      width: 0;
172
+                      height: 0;
173
+                      border-width: 0.04rem;
174
+                      display: block;
175
+                      position: absolute;
176
+                      right: -0.07rem;
177
+                      top: 50%;
178
+                      transform: translateY(-50%) rotateZ(90deg);
179
+                      -webkit-transform: translateY(-50%) rotateZ(90deg);
180
+                      border-style: solid solid dashed solid;
181
+                      border-color: transparent transparent #ff5200 transparent;
182
+                    }
183
+                  }
168
                 }
184
                 }
169
               }
185
               }
170
             }
186
             }