|
@@ -59,10 +59,10 @@
|
59
|
59
|
<div class="flex-item">
|
60
|
60
|
<div>
|
61
|
61
|
<span>总计</span>
|
62
|
|
- <span>{{totalNum}}</span>
|
|
62
|
+ <span>{{sumNum}}</span>
|
63
|
63
|
<span>杯</span>
|
64
|
64
|
<span>共</span>
|
65
|
|
- <span>{{totalPrice}}</span>
|
|
65
|
+ <span>{{sumPrice}}</span>
|
66
|
66
|
<span>元</span>
|
67
|
67
|
<i class="iconfont" :class="{'icon-jiantou-up': !showCalcMenu,'icon-jiantou-down': showCalcMenu}" @click="showCalcMenu = true"></i>
|
68
|
68
|
</div>
|
|
@@ -71,7 +71,7 @@
|
71
|
71
|
<a @click="toPlaceOrder">下单</a>
|
72
|
72
|
</div>
|
73
|
73
|
<orderPopup :show="showPopup" :data="currentSpec" @closePopup="closePopup" @returnData="calcMenus"></orderPopup>
|
74
|
|
- <calcMenu :show="showCalcMenu" :totalNum="totalCupNum" :data="settlementList" @returnData="calcMenus" @emptyMenus="emptyMenus" @closeCalcMenu="closeCalcMenu" @placeOrder="placeOrder"></calcMenu>
|
|
74
|
+ <calcMenu :show="showCalcMenu" :totalNum="sumNum" :data="selGoods" @returnData="calcMenus" @emptyMenus="emptyMenus" @closeCalcMenu="closeCalcMenu" @placeOrder="placeOrder"></calcMenu>
|
75
|
75
|
</div>
|
76
|
76
|
</template>
|
77
|
77
|
|
|
@@ -122,6 +122,7 @@ export default {
|
122
|
122
|
freeMode: true,
|
123
|
123
|
freeModeMomentumVelocityRatio: 2,
|
124
|
124
|
},
|
|
125
|
+ selGoods: [],
|
125
|
126
|
}
|
126
|
127
|
},
|
127
|
128
|
computed: {
|
|
@@ -136,6 +137,20 @@ export default {
|
136
|
137
|
MySubSwiper () {
|
137
|
138
|
return this.$refs.mySubSwiper.swiper
|
138
|
139
|
},
|
|
140
|
+ sumNum () {
|
|
141
|
+ let num = 0
|
|
142
|
+ this.selGoods.map(x => {
|
|
143
|
+ num += x.num
|
|
144
|
+ })
|
|
145
|
+ return num
|
|
146
|
+ },
|
|
147
|
+ sumPrice () {
|
|
148
|
+ let price = 0
|
|
149
|
+ this.selGoods.map(x => {
|
|
150
|
+ price += x.price*x.num - 0
|
|
151
|
+ })
|
|
152
|
+ return price
|
|
153
|
+ }
|
139
|
154
|
},
|
140
|
155
|
components: {
|
141
|
156
|
swiper,
|
|
@@ -163,8 +178,8 @@ export default {
|
163
|
178
|
'getGoodsList',
|
164
|
179
|
]),
|
165
|
180
|
toPlaceOrder () { // 下单
|
166
|
|
- if(this.settlementList.length){
|
167
|
|
- this.$router.push({name: 'placeOrderDetail', query: {info: JSON.stringify(this.settlementList), caseid: encodeURI(this.caseId), areaid: encodeURI(this.areaId), areaname: encodeURI(this.areaName), areaid: encodeURI(this.areaId), tableid: encodeURI(this.tableId), tableno: encodeURI(this.tableNo)}})
|
|
181
|
+ if(this.selGoods.length){
|
|
182
|
+ this.$router.push({name: 'placeOrderDetail', query: {info: JSON.stringify(this.selGoods), caseid: encodeURI(this.caseId), areaid: encodeURI(this.areaId), areaname: encodeURI(this.areaName), areaid: encodeURI(this.areaId), tableid: encodeURI(this.tableId), tableno: encodeURI(this.tableNo)}})
|
168
|
183
|
}else{
|
169
|
184
|
this.$toast('您还没有选择商品哦~')
|
170
|
185
|
}
|
|
@@ -210,7 +225,6 @@ export default {
|
210
|
225
|
}
|
211
|
226
|
}
|
212
|
227
|
}
|
213
|
|
- // console.log(JSON.stringify(this.menuList))
|
214
|
228
|
},
|
215
|
229
|
reback () { // 返回桌位选择
|
216
|
230
|
this.$dialog.confirm({
|
|
@@ -234,6 +248,7 @@ export default {
|
234
|
248
|
this.currentSpec = null
|
235
|
249
|
},
|
236
|
250
|
selectSpec (val) { // 选规格
|
|
251
|
+ console.log(val)
|
237
|
252
|
this.currentSpec = val
|
238
|
253
|
this.showPopup = true
|
239
|
254
|
},
|
|
@@ -241,36 +256,61 @@ export default {
|
241
|
256
|
this.MySwiper.slideTo(index, 300)
|
242
|
257
|
},
|
243
|
258
|
calcMenus (val) { // 计算清单
|
244
|
|
- var bool = true, arr = this.settlementList.slice()
|
245
|
|
- if (val.specId === null) {
|
246
|
|
- for (var n = 0; n < arr.length; n++) {
|
247
|
|
- if (arr[n].id === val.id && arr[n].specId === null) {
|
248
|
|
- bool = false
|
249
|
|
- arr[n] = val
|
250
|
|
- }
|
251
|
|
- }
|
252
|
|
- if (bool) {
|
253
|
|
- arr.push(val)
|
254
|
|
- }
|
255
|
|
- } else {
|
256
|
|
- for (var n = 0; n < arr.length; n++) {
|
257
|
|
- if (arr[n].specId === val.specId) {
|
258
|
|
- bool = false
|
259
|
|
- arr[n] = val
|
260
|
|
- }
|
261
|
|
- }
|
262
|
|
- if (bool) {
|
263
|
|
- arr.push(val)
|
264
|
|
- }
|
265
|
|
- }
|
266
|
|
- for (var n = 0; n < arr.length; n++) {
|
267
|
|
- if (arr[n].num === 0 || arr[n].defaultNum === 0) {
|
268
|
|
- arr.splice(n, 1)
|
|
259
|
+ var ishas = false
|
|
260
|
+ const _that = this
|
|
261
|
+ this.selGoods.map((goods,inx) => {
|
|
262
|
+ if(goods.id === val.id && goods.spec === (val.spec || '')){
|
|
263
|
+ ishas = true
|
|
264
|
+ _that.selGoods[inx].num = val.defaultNum
|
269
|
265
|
}
|
|
266
|
+ })
|
|
267
|
+ if (!ishas) {
|
|
268
|
+ this.selGoods.push({
|
|
269
|
+ id: val.id,
|
|
270
|
+ price: val.defaultPrice,
|
|
271
|
+ num: val.defaultNum,
|
|
272
|
+ name: val.name,
|
|
273
|
+ spec: (val.spec || ''),
|
|
274
|
+ specname: (val.specname || ''),
|
|
275
|
+ })
|
270
|
276
|
}
|
271
|
|
- this.settlementList = arr
|
|
277
|
+ console.log(this.selGoods)
|
|
278
|
+ // var settlementList = this.settlementList
|
|
279
|
+ // val.spec.map(spec => {
|
|
280
|
+ // settlementList.filter
|
|
281
|
+ // })
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+ // var bool = true, arr = this.settlementList.slice()
|
|
285
|
+ // if (val.specId === null) {
|
|
286
|
+ // for (var n = 0; n < arr.length; n++) {
|
|
287
|
+ // if (arr[n].id === val.id && arr[n].specId === null) {
|
|
288
|
+ // bool = false
|
|
289
|
+ // arr[n] = val
|
|
290
|
+ // }
|
|
291
|
+ // }
|
|
292
|
+ // if (bool) {
|
|
293
|
+ // arr.push(val)
|
|
294
|
+ // }
|
|
295
|
+ // } else {
|
|
296
|
+ // for (var n = 0; n < arr.length; n++) {
|
|
297
|
+ // if (arr[n].specId === val.specId) {
|
|
298
|
+ // bool = false
|
|
299
|
+ // arr[n] = val
|
|
300
|
+ // }
|
|
301
|
+ // }
|
|
302
|
+ // if (bool) {
|
|
303
|
+ // arr.push(val)
|
|
304
|
+ // }
|
|
305
|
+ // }
|
|
306
|
+ // for (var n = 0; n < arr.length; n++) {
|
|
307
|
+ // if (arr[n].num === 0 || arr[n].defaultNum === 0) {
|
|
308
|
+ // arr.splice(n, 1)
|
|
309
|
+ // }
|
|
310
|
+ // }
|
|
311
|
+ // this.settlementList = arr
|
272
|
312
|
// console.log(JSON.stringify(this.settlementList))
|
273
|
|
- this.calcTotalNum()
|
|
313
|
+ // this.calcTotalNum()
|
274
|
314
|
},
|
275
|
315
|
calcTotalNum () { // 计算总数量、价格
|
276
|
316
|
var num = 0, price = 0
|