|
@@ -1,7 +1,7 @@
|
1
|
1
|
<template>
|
2
|
2
|
<div class="Page flex-v">
|
3
|
3
|
|
4
|
|
- <div class="Top">
|
|
4
|
+ <!-- <div class="Top">
|
5
|
5
|
<div class="Time flex-h">
|
6
|
6
|
<div class="Icon">
|
7
|
7
|
<img src="../../../assets/img/icon2.png" class="centerLabel contain" alt="">
|
|
@@ -18,7 +18,7 @@
|
18
|
18
|
</div>
|
19
|
19
|
</div>
|
20
|
20
|
</div>
|
21
|
|
- </div>
|
|
21
|
+ </div> -->
|
22
|
22
|
|
23
|
23
|
<nav class="flex-h">
|
24
|
24
|
<a class="flex-item" :class="{'active': SelectType === 1}" @click="CutSelectType(1)">自选</a>
|
|
@@ -37,8 +37,8 @@
|
37
|
37
|
<span>万位区(至少选择一个)</span>
|
38
|
38
|
<ul>
|
39
|
39
|
<li v-for="(item, index) in NumData.WanWei" :key="index">
|
40
|
|
- <a>{{item.Num}}</a>
|
41
|
|
- <span>{{item.MissNum}}</span>
|
|
40
|
+ <a :class="{'active': item.Active}" @click="SelectItem(item, 'WanWei')">{{item.Num}}</a>
|
|
41
|
+ <!-- <span>{{item.MissNum}}</span> -->
|
42
|
42
|
</li>
|
43
|
43
|
</ul>
|
44
|
44
|
</div>
|
|
@@ -46,8 +46,8 @@
|
46
|
46
|
<span>千位区(至少选择一个)</span>
|
47
|
47
|
<ul>
|
48
|
48
|
<li v-for="(item, index) in NumData.QianWei" :key="index">
|
49
|
|
- <a>{{item.Num}}</a>
|
50
|
|
- <span>{{item.MissNum}}</span>
|
|
49
|
+ <a :class="{'active': item.Active}" @click="SelectItem(item, 'QianWei')">{{item.Num}}</a>
|
|
50
|
+ <!-- <span>{{item.MissNum}}</span> -->
|
51
|
51
|
</li>
|
52
|
52
|
</ul>
|
53
|
53
|
</div>
|
|
@@ -55,8 +55,8 @@
|
55
|
55
|
<span>百位区(至少选择一个)</span>
|
56
|
56
|
<ul>
|
57
|
57
|
<li v-for="(item, index) in NumData.BaiWei" :key="index">
|
58
|
|
- <a>{{item.Num}}</a>
|
59
|
|
- <span>{{item.MissNum}}</span>
|
|
58
|
+ <a :class="{'active': item.Active}" @click="SelectItem(item, 'BaiWei')">{{item.Num}}</a>
|
|
59
|
+ <!-- <span>{{item.MissNum}}</span> -->
|
60
|
60
|
</li>
|
61
|
61
|
</ul>
|
62
|
62
|
</div>
|
|
@@ -64,8 +64,8 @@
|
64
|
64
|
<span>十位区(至少选择一个)</span>
|
65
|
65
|
<ul>
|
66
|
66
|
<li v-for="(item, index) in NumData.ShiWei" :key="index">
|
67
|
|
- <a>{{item.Num}}</a>
|
68
|
|
- <span>{{item.MissNum}}</span>
|
|
67
|
+ <a :class="{'active': item.Active}" @click="SelectItem(item, 'ShiWei')">{{item.Num}}</a>
|
|
68
|
+ <!-- <span>{{item.MissNum}}</span> -->
|
69
|
69
|
</li>
|
70
|
70
|
</ul>
|
71
|
71
|
</div>
|
|
@@ -73,8 +73,8 @@
|
73
|
73
|
<span>个位区(至少选择一个)</span>
|
74
|
74
|
<ul>
|
75
|
75
|
<li v-for="(item, index) in NumData.GeWei" :key="index">
|
76
|
|
- <a>{{item.Num}}</a>
|
77
|
|
- <span>{{item.MissNum}}</span>
|
|
76
|
+ <a :class="{'active': item.Active}" @click="SelectItem(item, 'GeWei')">{{item.Num}}</a>
|
|
77
|
+ <!-- <span>{{item.MissNum}}</span> -->
|
78
|
78
|
</li>
|
79
|
79
|
</ul>
|
80
|
80
|
</div>
|
|
@@ -83,60 +83,20 @@
|
83
|
83
|
<!-- 机选 -->
|
84
|
84
|
<div class="JiXuanArea" v-if="SelectType === 2">
|
85
|
85
|
<nav class="flex-h">
|
86
|
|
- <a class="flex-item">注数1</a>
|
87
|
|
- <a class="flex-item">注数2</a>
|
88
|
|
- <a class="flex-item">注数3</a>
|
89
|
|
- <a class="flex-item">注数4</a>
|
90
|
|
- <a class="flex-item active">注数5</a>
|
|
86
|
+ <a class="flex-item" :class="{'active': RandomCount === 1}" @click="CutRandomCount(1)">注数1</a>
|
|
87
|
+ <a class="flex-item" :class="{'active': RandomCount === 2}" @click="CutRandomCount(2)">注数2</a>
|
|
88
|
+ <a class="flex-item" :class="{'active': RandomCount === 3}" @click="CutRandomCount(3)">注数3</a>
|
|
89
|
+ <a class="flex-item" :class="{'active': RandomCount === 4}" @click="CutRandomCount(4)">注数4</a>
|
|
90
|
+ <a class="flex-item" :class="{'active': RandomCount === 5}" @click="CutRandomCount(5)">注数5</a>
|
91
|
91
|
</nav>
|
92
|
92
|
<ul>
|
93
|
|
- <li>
|
94
|
|
- <span>1</span>
|
95
|
|
- <span>2</span>
|
96
|
|
- <span>3</span>
|
97
|
|
- <span>4</span>
|
98
|
|
- <span>5</span>
|
99
|
|
- <a class="iconfont iconjian"></a>
|
100
|
|
- </li>
|
101
|
|
- <li>
|
102
|
|
- <span>1</span>
|
103
|
|
- <span>2</span>
|
104
|
|
- <span>3</span>
|
105
|
|
- <span>4</span>
|
106
|
|
- <span>5</span>
|
107
|
|
- <a class="iconfont iconjian"></a>
|
108
|
|
- </li>
|
109
|
|
- <li>
|
110
|
|
- <span>1</span>
|
111
|
|
- <span>2</span>
|
112
|
|
- <span>3</span>
|
113
|
|
- <span>4</span>
|
114
|
|
- <span>5</span>
|
115
|
|
- <a class="iconfont iconjian"></a>
|
116
|
|
- </li>
|
117
|
|
- <li>
|
118
|
|
- <span>1</span>
|
119
|
|
- <span>2</span>
|
120
|
|
- <span>3</span>
|
121
|
|
- <span>4</span>
|
122
|
|
- <span>5</span>
|
123
|
|
- <a class="iconfont iconjian"></a>
|
124
|
|
- </li>
|
125
|
|
- <li>
|
126
|
|
- <span>1</span>
|
127
|
|
- <span>2</span>
|
128
|
|
- <span>3</span>
|
129
|
|
- <span>4</span>
|
130
|
|
- <span>5</span>
|
131
|
|
- <a class="iconfont iconjian"></a>
|
132
|
|
- </li>
|
133
|
|
- <li>
|
134
|
|
- <span>1</span>
|
135
|
|
- <span>2</span>
|
136
|
|
- <span>3</span>
|
137
|
|
- <span>4</span>
|
138
|
|
- <span>5</span>
|
139
|
|
- <a class="iconfont iconjian"></a>
|
|
93
|
+ <li v-for="(item, index) in RandomRes" :key="index">
|
|
94
|
+ <span>{{item.WanWei[0]}}</span>
|
|
95
|
+ <span>{{item.QianWei[0]}}</span>
|
|
96
|
+ <span>{{item.BaiWei[0]}}</span>
|
|
97
|
+ <span>{{item.ShiWei[0]}}</span>
|
|
98
|
+ <span>{{item.GeWei[0]}}</span>
|
|
99
|
+ <a class="iconfont iconjian" v-if="RandomRes.length > 1" @click="DeleteRandomResItem(index)"></a>
|
140
|
100
|
</li>
|
141
|
101
|
</ul>
|
142
|
102
|
</div>
|
|
@@ -148,25 +108,31 @@
|
148
|
108
|
|
149
|
109
|
<!-- 投注栏 -->
|
150
|
110
|
<div class="Bottom flex-h">
|
151
|
|
- <span class="SelectRes">共<em>0</em>注<em>0</em>元,奖金<em>0</em>元</span>
|
152
|
|
- <a class="iconfont iconjian" v-if="SelectType === 1"></a>
|
|
111
|
+ <span class="SelectRes">共<em>{{TotalResNum}}</em>注<em>{{TotalResNum * 2}}</em>元,奖金<em>0</em>元</span>
|
|
112
|
+ <a class="iconfont iconjian" v-if="SelectType === 1" @click="EmptySelectArea"></a>
|
153
|
113
|
<a class="iconfont icongouwuche"></a>
|
154
|
114
|
<div class="flex-item"></div>
|
155
|
|
- <a class="Btn">添加号码蓝</a>
|
156
|
|
- <a class="Btn">投注</a>
|
|
115
|
+ <a class="Btn" :class="{'active': CanCreateRes}" @click="AddCart">添加号码蓝</a>
|
|
116
|
+ <a class="Btn" :class="{'active': CanCreateRes}" @click="CreateOrder">投注</a>
|
157
|
117
|
</div>
|
158
|
118
|
|
159
|
119
|
</div>
|
160
|
120
|
</template>
|
161
|
121
|
|
162
|
122
|
<script>
|
163
|
|
-import { mapMutations } from 'vuex'
|
|
123
|
+import { mapMutations, createNamespacedHelpers } from 'vuex'
|
|
124
|
+const { mapMutations: mapUserMutations } = createNamespacedHelpers('user')
|
164
|
125
|
export default {
|
165
|
126
|
name: '',
|
166
|
127
|
data () {
|
167
|
128
|
return {
|
168
|
|
- SelectType: 1,
|
169
|
|
- NumData: {
|
|
129
|
+ TotalResNum: 0, // 总注数
|
|
130
|
+ CanCreateRes: false, // 能否生成选注结果
|
|
131
|
+ SelectType: 1, // 选注类型:1-自选 2-机选
|
|
132
|
+ RandomCount: 1, // 机选注数
|
|
133
|
+ RandomRes: [], // 机选结果
|
|
134
|
+ DataLock: false, // 数据锁
|
|
135
|
+ NumData: { // 选取数据
|
170
|
136
|
WanWei: [],
|
171
|
137
|
QianWei: [],
|
172
|
138
|
ShiWei: [],
|
|
@@ -181,7 +147,6 @@ export default {
|
181
|
147
|
},
|
182
|
148
|
created () {
|
183
|
149
|
this.EditMainData([ // 配置页面框架数据
|
184
|
|
- { name: 'MainTitleClick', value: () => { } },
|
185
|
150
|
{ name: 'ShowMainHeader', value: true },
|
186
|
151
|
{ name: 'MainHeaderTitle', value: '排列5' },
|
187
|
152
|
{ name: 'ShowMainHeaderBack', value: true }
|
|
@@ -196,11 +161,116 @@ export default {
|
196
|
161
|
...mapMutations([
|
197
|
162
|
'EditMainData' // 配置页面框架数据
|
198
|
163
|
]),
|
|
164
|
+ ...mapUserMutations([
|
|
165
|
+ 'AddPaiLie5Cart'
|
|
166
|
+ ]),
|
199
|
167
|
Init () { // 初始化
|
200
|
168
|
|
|
169
|
+ },
|
|
170
|
+ CreateOrder () { // 去投注
|
|
171
|
+ if (this.DataLock || !this.CanCreateRes) return
|
|
172
|
+ this.AddCart()
|
|
173
|
+ this.$router.push({ name: 'PaiLie5DingDan' })
|
|
174
|
+ },
|
|
175
|
+ DeleteRandomResItem (index) { // 删除机选注
|
|
176
|
+ this.RandomRes.splice(index, 1)
|
|
177
|
+ this.TotalResNum -= 1
|
|
178
|
+ this.RandomCount -= 1
|
|
179
|
+ },
|
|
180
|
+ CutRandomCount (num) { // 切换机选注数
|
|
181
|
+ if (this.DataLock) return
|
|
182
|
+ this.DataLock = true
|
|
183
|
+ this.RandomRes = []
|
|
184
|
+ for (let n = 0; n < num; n++) {
|
|
185
|
+ let Res = {}
|
|
186
|
+ for (let key in this.NumData) {
|
|
187
|
+ Res[key] = [this.NumData[key][Math.floor(this.NumData[key].length * Math.random())].Num]
|
|
188
|
+ }
|
|
189
|
+ this.RandomRes.push({ ...Res, Count: 1, Type: 'Random' })
|
|
190
|
+ }
|
|
191
|
+ this.RandomCount = num
|
|
192
|
+ this.TotalResNum = num
|
|
193
|
+ this.CanCreateRes = true
|
|
194
|
+ this.DataLock = false
|
|
195
|
+ },
|
|
196
|
+ AddCart () { // 添加购物车
|
|
197
|
+ if (this.DataLock || !this.CanCreateRes) return
|
|
198
|
+ this.DataLock = true
|
|
199
|
+ if (this.SelectType === 1) { // 自选
|
|
200
|
+ let Res = {}
|
|
201
|
+ for (let key in this.NumData) {
|
|
202
|
+ Res[key] = []
|
|
203
|
+ for (let n = 0; n < this.NumData[key].length; n++) {
|
|
204
|
+ if (this.NumData[key][n].Active) {
|
|
205
|
+ Res[key].push(this.NumData[key][n].Num)
|
|
206
|
+ }
|
|
207
|
+ }
|
|
208
|
+ }
|
|
209
|
+ this.AddPaiLie5Cart({ ...Res, Count: this.TotalResNum, Type: 'User' })
|
|
210
|
+ this.EmptySelectArea() // 清空自选选区
|
|
211
|
+ this.DataLock = false
|
|
212
|
+ } else { // 机选
|
|
213
|
+ this.RandomRes.map((item) => {
|
|
214
|
+ this.AddPaiLie5Cart({ ...item })
|
|
215
|
+ })
|
|
216
|
+ this.DataLock = false
|
|
217
|
+ this.CutRandomCount(this.RandomCount)
|
|
218
|
+ }
|
|
219
|
+ },
|
|
220
|
+ EmptySelectArea () { // 清空自选选区
|
|
221
|
+ this.CanCreateRes = false
|
|
222
|
+ this.TotalResNum = 0
|
|
223
|
+ for (let key in this.NumData) {
|
|
224
|
+ for (let n = 0; n < this.NumData[key].length; n++) {
|
|
225
|
+ this.NumData[key][n].Active = false
|
|
226
|
+ }
|
|
227
|
+ }
|
|
228
|
+ },
|
|
229
|
+ SelectItem (item, type) { // 选择号码
|
|
230
|
+ if (this.DataLock) return
|
|
231
|
+ this.DataLock = true
|
|
232
|
+ item.Active = !item.Active
|
|
233
|
+ this.CalcTotalRes()
|
|
234
|
+ this.DataLock = false
|
|
235
|
+ },
|
|
236
|
+ CalcTotalRes () { // 计算投注结果
|
|
237
|
+ let Num = 0
|
|
238
|
+ let KeyNum = 0
|
|
239
|
+ for (let key in this.NumData) {
|
|
240
|
+ KeyNum += 1
|
|
241
|
+ for (let n = 0; n < this.NumData[key].length; n++) {
|
|
242
|
+ if (this.NumData[key][n].Active) {
|
|
243
|
+ Num += 1
|
|
244
|
+ break
|
|
245
|
+ }
|
|
246
|
+ }
|
|
247
|
+ }
|
|
248
|
+ this.CanCreateRes = Num >= KeyNum
|
|
249
|
+ if (this.CanCreateRes) {
|
|
250
|
+ let Total = 1
|
|
251
|
+ for (let key in this.NumData) {
|
|
252
|
+ let Count = 0
|
|
253
|
+ for (let n = 0; n < this.NumData[key].length; n++) {
|
|
254
|
+ if (this.NumData[key][n].Active) {
|
|
255
|
+ Count += 1
|
|
256
|
+ }
|
|
257
|
+ }
|
|
258
|
+ Total *= Count
|
|
259
|
+ }
|
|
260
|
+ this.TotalResNum = Total
|
|
261
|
+ }
|
201
|
262
|
},
|
202
|
263
|
CutSelectType (type) { // 切换选取类型
|
203
|
|
- this.SelectType = type
|
|
264
|
+ if (type !== this.SelectType) {
|
|
265
|
+ if (type === 1) {
|
|
266
|
+ this.EmptySelectArea() // 清空自选选区
|
|
267
|
+ } else {
|
|
268
|
+ this.RandomRes = []
|
|
269
|
+ this.RandomCount = 1
|
|
270
|
+ this.CutRandomCount(this.RandomCount)
|
|
271
|
+ }
|
|
272
|
+ this.SelectType = type
|
|
273
|
+ }
|
204
|
274
|
},
|
205
|
275
|
CreateData () { // 创建数据
|
206
|
276
|
for (let key in this.NumData) {
|