购物车历史订单增加,代码优化
This commit is contained in:
@@ -97,7 +97,7 @@
|
||||
|
||||
<view class="bottom w-full">
|
||||
<my-car :isCreateOrderToDetail="isCreateOrderToDetail" @updateNumber="carsNumberChange"
|
||||
:table="data.table" :data="cars" @clear="cleaCart"></my-car>
|
||||
:table="data.table" :data="cars" :orderInfo="data.orderInfo" :historyOrder="data.historyOrder" @clear="cleaCart"></my-car>
|
||||
</view>
|
||||
<!-- 套餐选择规格 -->
|
||||
<taocanModel ref="taocanModelRef" @confirm="taocanConfirm" :goodsData="selGoods"></taocanModel>
|
||||
@@ -132,7 +132,7 @@
|
||||
import { getProductList } from '@/http/api/product.js'
|
||||
import { categoryPage } from '@/http/api/cateGory.js'
|
||||
import { getShopInfo } from '@/http/api/shop.js'
|
||||
|
||||
import { getHistoryOrder, cancelOrder, rmPlaceOrder } from '@/http/api/order.js'
|
||||
|
||||
const modal = reactive({
|
||||
key: '',
|
||||
@@ -178,6 +178,8 @@
|
||||
orderId: null,
|
||||
isGoodsAdd: true,
|
||||
goodsData: null,
|
||||
orderInfo: null,
|
||||
historyOrder: [],
|
||||
})
|
||||
const guigeModelData = reactive({
|
||||
title: '',
|
||||
@@ -192,12 +194,12 @@
|
||||
let option = {
|
||||
type: ''
|
||||
}
|
||||
|
||||
const taocanModelRef = ref()
|
||||
const websocketUtil = inject('websocketUtil'); // 注入 WebSocket 工具类实例
|
||||
onLoad((opt) => {
|
||||
option = opt
|
||||
Object.assign(data.table, opt)
|
||||
|
||||
console.log(opt)
|
||||
uni.setNavigationBarTitle({
|
||||
title: (opt && opt.type == 'add') ? '顾客加菜' : '代客下单'
|
||||
})
|
||||
@@ -296,6 +298,21 @@
|
||||
initCart()
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取订单详情
|
||||
*/
|
||||
async function getHistoryOrderDetail(){
|
||||
data.historyOrder = [];
|
||||
let res = await getHistoryOrder({tableCode:data.table.tableCode});
|
||||
data.orderInfo = res;
|
||||
if( res ){
|
||||
data.historyOrder = Object.entries(data.orderInfo.detailMap).map(([key, value]) => ({
|
||||
info: value,
|
||||
placeNum: key
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听socket是否连接正常
|
||||
*/
|
||||
@@ -361,6 +378,7 @@
|
||||
delCart(cartItem.id)
|
||||
}
|
||||
})
|
||||
getHistoryOrderDetail()
|
||||
uni.hideLoading()
|
||||
break;
|
||||
case 'onboc_add':
|
||||
@@ -388,6 +406,7 @@
|
||||
data.tabbar[i].foods[k].chooseNumber = 0
|
||||
}
|
||||
}
|
||||
getHistoryOrderDetail()
|
||||
break;
|
||||
case 'init':
|
||||
case 'rottable':
|
||||
@@ -402,6 +421,9 @@
|
||||
break;
|
||||
case 'product_update':
|
||||
init()
|
||||
break;
|
||||
case 'clearOrder':
|
||||
getHistoryOrderDetail()
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -458,14 +480,35 @@
|
||||
/**
|
||||
* 清除购物车
|
||||
*/
|
||||
function cleaCart () {
|
||||
let params = {
|
||||
...data.socketData,
|
||||
operate_type:'cleanup',
|
||||
table_code: data.table.tableCode,
|
||||
async function cleaCart (e) {
|
||||
if( e == 'cart' ){
|
||||
let params = {
|
||||
...data.socketData,
|
||||
operate_type:'cleanup',
|
||||
table_code: data.table.tableCode,
|
||||
}
|
||||
console.log('购物车清空菜品参数===',params)
|
||||
websocketUtil.send(JSON.stringify(params))
|
||||
} else if ( e == 'allHistoryOrder' ) {
|
||||
await cancelOrder({orderId: data.orderInfo.id, shopId: uni.getStorageSync("shopInfo").id })
|
||||
let params = {
|
||||
...data.socketData,
|
||||
operate_type:'clearOrder',
|
||||
table_code: data.table.tableCode,
|
||||
}
|
||||
websocketUtil.send(JSON.stringify(params))
|
||||
initCart()
|
||||
} else {
|
||||
await rmPlaceOrder({orderId: data.orderInfo.id, placeNum: e, shopId: uni.getStorageSync("shopInfo").id })
|
||||
let params = {
|
||||
...data.socketData,
|
||||
operate_type:'clearOrder',
|
||||
table_code: data.table.tableCode,
|
||||
}
|
||||
websocketUtil.send(JSON.stringify(params))
|
||||
initCart()
|
||||
}
|
||||
console.log('购物车清空菜品参数===',params)
|
||||
websocketUtil.send(JSON.stringify(params))
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -755,7 +798,7 @@
|
||||
selGoods.value = $goods
|
||||
if ($goods.groupType == 1) {
|
||||
data.goodsData = $goods
|
||||
instance.ctx.$refs.taocanModelRef.open()
|
||||
taocanModelRef.value.open()
|
||||
} else {
|
||||
guigeModelData.title = $goods.name
|
||||
const skuMap = returnSelGoodsSkuMap($goods.skuList)
|
||||
|
||||
Reference in New Issue
Block a user