|
@@ -89,6 +89,20 @@ export default {
|
89
|
89
|
data () {
|
90
|
90
|
const _self = this
|
91
|
91
|
return {
|
|
92
|
+ postData: {
|
|
93
|
+ info: {
|
|
94
|
+ CaseId: decodeURI(_self.$route.query.caseid),
|
|
95
|
+ AreaId: decodeURI(_self.$route.query.areaid),
|
|
96
|
+ AreaName: decodeURI(_self.$route.query.areaname),
|
|
97
|
+ TableId: decodeURI(_self.$route.query.tableid),
|
|
98
|
+ TableNo: decodeURI(_self.$route.query.tableno),
|
|
99
|
+ Amount: 0, // 订单金额
|
|
100
|
+ OrdersNum: 0,
|
|
101
|
+ Remark: '',
|
|
102
|
+ },
|
|
103
|
+ detail: [],
|
|
104
|
+ coupon: [],
|
|
105
|
+ },
|
92
|
106
|
tableNo: decodeURI(this.$route.query.tableno),
|
93
|
107
|
tableId: decodeURI(this.$route.query.tableid),
|
94
|
108
|
areaId: decodeURI(this.$route.query.areaid),
|
|
@@ -147,7 +161,7 @@ export default {
|
147
|
161
|
sumPrice () {
|
148
|
162
|
let price = 0
|
149
|
163
|
this.selGoods.map(x => {
|
150
|
|
- price += x.price*x.num - 0
|
|
164
|
+ price += x.price * x.num - 0
|
151
|
165
|
})
|
152
|
166
|
return price
|
153
|
167
|
}
|
|
@@ -176,11 +190,16 @@ export default {
|
176
|
190
|
...caseTableActions([
|
177
|
191
|
'getGoodsTypeList',
|
178
|
192
|
'getGoodsList',
|
|
193
|
+ 'toPay',
|
179
|
194
|
]),
|
180
|
195
|
toPlaceOrder () { // 下单
|
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)}})
|
183
|
|
- }else{
|
|
196
|
+ if (this.selGoods.length) {
|
|
197
|
+ if (this.userInfo.customer.MapUser === '') {
|
|
198
|
+ 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) } })
|
|
199
|
+ } else {
|
|
200
|
+ this.showCalcMenu = true
|
|
201
|
+ }
|
|
202
|
+ } else {
|
184
|
203
|
this.$toast('您还没有选择商品哦~')
|
185
|
204
|
}
|
186
|
205
|
},
|
|
@@ -236,7 +255,41 @@ export default {
|
236
|
255
|
})
|
237
|
256
|
},
|
238
|
257
|
placeOrder () { // 下单
|
239
|
|
- this.$router.push({ name: 'orderList', query: {} })
|
|
258
|
+ // this.$router.push({ name: 'orderList', query: {} })
|
|
259
|
+ this.postData.info.OrgId = this.orgId
|
|
260
|
+ this.postData.info.UserId = this.userInfo.CustomerId
|
|
261
|
+ this.postData.info.UserName = this.userInfo.customer.CustomerName
|
|
262
|
+ this.postData.info.PayType = 'sys user'
|
|
263
|
+ var orderInfo = this.selGoods
|
|
264
|
+ this.postData.detail = []
|
|
265
|
+ var amount = 0
|
|
266
|
+ var num = 0
|
|
267
|
+ for (var n = 0; n < orderInfo.length; n++) {
|
|
268
|
+ this.postData.detail.push({
|
|
269
|
+ GoodsId: orderInfo[n].id,
|
|
270
|
+ GoodsName: orderInfo[n].name,
|
|
271
|
+ SpecId: orderInfo[n].spec,
|
|
272
|
+ SpecName: orderInfo[n].specname,
|
|
273
|
+ Number: orderInfo[n].num - 0,
|
|
274
|
+ Price: String(orderInfo[n].price-0),
|
|
275
|
+ })
|
|
276
|
+ amount += (orderInfo[n].price-0) * orderInfo[n].num
|
|
277
|
+ num += orderInfo[n].num-0
|
|
278
|
+ }
|
|
279
|
+ this.postData.info.Amount = String(amount)
|
|
280
|
+ this.postData.info.OrdersNum = num
|
|
281
|
+ // console.log(JSON.stringify(this.postData))
|
|
282
|
+ this.toPay({
|
|
283
|
+ info: JSON.stringify(this.postData.info),
|
|
284
|
+ detail: JSON.stringify(this.postData.detail),
|
|
285
|
+ coupon: JSON.stringify(this.postData.coupon)
|
|
286
|
+ }).then((res) => {
|
|
287
|
+ this.$dialog.alert({
|
|
288
|
+ message: '下单成功!'
|
|
289
|
+ }).then(() => {
|
|
290
|
+ this.$router.push({name: 'orderList'})
|
|
291
|
+ })
|
|
292
|
+ })
|
240
|
293
|
},
|
241
|
294
|
closeCalcMenu () { // 关闭已选菜单
|
242
|
295
|
this.showCalcMenu = false
|
|
@@ -249,7 +302,6 @@ export default {
|
249
|
302
|
this.currentSpec = null
|
250
|
303
|
},
|
251
|
304
|
selectSpec (val) { // 选规格
|
252
|
|
- console.log(val)
|
253
|
305
|
this.currentSpec = val
|
254
|
306
|
this.showPopup = true
|
255
|
307
|
},
|
|
@@ -259,8 +311,8 @@ export default {
|
259
|
311
|
calcMenus (val) { // 计算清单
|
260
|
312
|
var ishas = false
|
261
|
313
|
const _that = this
|
262
|
|
- this.selGoods.map((goods,inx) => {
|
263
|
|
- if(goods.id === val.id && goods.spec === (val.spec || '')){
|
|
314
|
+ this.selGoods.map((goods, inx) => {
|
|
315
|
+ if (goods.id === val.id && goods.spec === (val.spec || '')) {
|
264
|
316
|
ishas = true
|
265
|
317
|
_that.selGoods[inx].num = val.defaultNum
|
266
|
318
|
}
|
|
@@ -275,43 +327,6 @@ export default {
|
275
|
327
|
specname: (val.specname || ''),
|
276
|
328
|
})
|
277
|
329
|
}
|
278
|
|
- console.log(this.selGoods)
|
279
|
|
- // var settlementList = this.settlementList
|
280
|
|
- // val.spec.map(spec => {
|
281
|
|
- // settlementList.filter
|
282
|
|
- // })
|
283
|
|
-
|
284
|
|
-
|
285
|
|
- // var bool = true, arr = this.settlementList.slice()
|
286
|
|
- // if (val.specId === null) {
|
287
|
|
- // for (var n = 0; n < arr.length; n++) {
|
288
|
|
- // if (arr[n].id === val.id && arr[n].specId === null) {
|
289
|
|
- // bool = false
|
290
|
|
- // arr[n] = val
|
291
|
|
- // }
|
292
|
|
- // }
|
293
|
|
- // if (bool) {
|
294
|
|
- // arr.push(val)
|
295
|
|
- // }
|
296
|
|
- // } else {
|
297
|
|
- // for (var n = 0; n < arr.length; n++) {
|
298
|
|
- // if (arr[n].specId === val.specId) {
|
299
|
|
- // bool = false
|
300
|
|
- // arr[n] = val
|
301
|
|
- // }
|
302
|
|
- // }
|
303
|
|
- // if (bool) {
|
304
|
|
- // arr.push(val)
|
305
|
|
- // }
|
306
|
|
- // }
|
307
|
|
- // for (var n = 0; n < arr.length; n++) {
|
308
|
|
- // if (arr[n].num === 0 || arr[n].defaultNum === 0) {
|
309
|
|
- // arr.splice(n, 1)
|
310
|
|
- // }
|
311
|
|
- // }
|
312
|
|
- // this.settlementList = arr
|
313
|
|
- // console.log(JSON.stringify(this.settlementList))
|
314
|
|
- // this.calcTotalNum()
|
315
|
330
|
},
|
316
|
331
|
calcTotalNum () { // 计算总数量、价格
|
317
|
332
|
var num = 0, price = 0
|