优化打包、订单云打印

This commit is contained in:
gyq
2025-03-18 17:19:59 +08:00
parent 64f539623f
commit 177d987769
10 changed files with 116 additions and 35 deletions

View File

@@ -48,7 +48,7 @@
</el-icon>
<el-text class="t">赠送</el-text>
</div>
<div class="item" @click="packHandle">
<div class="item" :class="{ disabled: goodsStore.allSelected }" @click="packHandle">
<el-icon class="icon">
<Box />
</el-icon>
@@ -348,14 +348,14 @@ async function returnOrderItemAjax(num = 1) {
// 显示打包
function packHandle() {
let item = goodsStore.cartList[goodsStore.cartActiveIndex]
if (item && item.id) {
if (item && item.id && !goodsStore.allSelected) {
if (!item.pack_number || item.pack_number <= 0) {
if (item.number > 1) {
if (item.number > 1 && item.goods_type != 'weight') {
// 大于1时需要编辑
showPackModal.value = true
} else {
// 小于1时直接提交
goodsStore.operateCart({ ...item, pack_number: item.number }, 'edit')
goodsStore.operateCart({ ...item, pack_number: 1 }, 'edit')
}
} else {
// 取消打包
@@ -400,12 +400,20 @@ function numberChange(t) {
if (item.number < item.suitNum) {
goodsStore.deleteCartItem()
} else {
goodsStore.operateCart(goodsStore.cartList[goodsStore.cartActiveIndex], 'edit')
if (goodsStore.allSelected) {
goodsStore.operateCart({ ...goodsStore.cartList[goodsStore.cartActiveIndex], pack_number: goodsStore.cartList[goodsStore.cartActiveIndex].number }, 'edit')
} else {
goodsStore.operateCart(goodsStore.cartList[goodsStore.cartActiveIndex], 'edit')
}
}
break;
case 'add':
goodsStore.cartList[goodsStore.cartActiveIndex].number++
goodsStore.operateCart(goodsStore.cartList[goodsStore.cartActiveIndex], 'edit')
if (goodsStore.allSelected) {
goodsStore.operateCart({ ...goodsStore.cartList[goodsStore.cartActiveIndex], pack_number: goodsStore.cartList[goodsStore.cartActiveIndex].number }, 'edit')
} else {
goodsStore.operateCart(goodsStore.cartList[goodsStore.cartActiveIndex], 'edit')
}
break;
default:
break;
@@ -415,7 +423,11 @@ function numberChange(t) {
// 输入修改数量
function updateNumber(num) {
goodsStore.cartList[goodsStore.cartActiveIndex].number = num
goodsStore.operateCart({ ...goodsStore.cartList[goodsStore.cartActiveIndex] }, 'edit')
if (goodsStore.allSelected) {
goodsStore.operateCart({ ...goodsStore.cartList[goodsStore.cartActiveIndex], pack_number: goodsStore.cartList[goodsStore.cartActiveIndex].number }, 'edit')
} else {
goodsStore.operateCart(goodsStore.cartList[goodsStore.cartActiveIndex], 'edit')
}
}
// 显示规格

View File

@@ -57,7 +57,7 @@
<template v-else>
<div class="li" @click.stop="goodEditor(item, 0)">下架</div>
<div class="li" @click.stop="goodEditor(item, 1)">售罄</div>
<div class="li" @click.stop="goodStockNumberHandle(item)">修改库存</div>
<!-- <div class="li" @click.stop="goodStockNumberHandle(item)">修改库存</div> -->
</template>
<div class="li" @click.stop="item.showMore = false">取消</div>
</div>

View File

@@ -35,7 +35,7 @@
<div class="footer">
<!-- <el-button icon="Edit"></el-button> -->
<div class="button">
<el-checkbox v-model="isPrint" border label="打印结算小票" style="width: 100%" />
<el-checkbox v-model="isPrint" :true-value="1" :false-value="0" border label="打印结算小票" style="width: 100%" />
</div>
<!-- <div class="print">
<el-button type="warning" :loading="discountLoading" @click="showStaffDiscountHandle">添加折扣</el-button>
@@ -47,7 +47,8 @@
</div>
<div class="pay_wrap">
<payCard ref="payCardRef" :orderList="orderList" :amount="cartInfo.totalAmount"
:orderId="goodsStore.orderListInfo.id" @paySuccess="paySuccess" @orderExpired="orderExpiredHnadle" />
:orderId="goodsStore.orderListInfo.id" @paySuccess="paySuccess" @orderExpired="orderExpiredHnadle"
:isPrint="0" />
</div>
</div>
<!-- <el-dialog v-model="showStaffDiscount" title="员工折扣" @close="global.updateData(true)">
@@ -137,7 +138,7 @@ const props = defineProps({
const cartList = ref([])
const orderList = ref([])
const isPrint = ref(true);
const isPrint = ref(1);
const discountLoading = ref(false)
// 支付失败,订单已过期

View File

@@ -119,7 +119,7 @@
<div class="left" v-else></div>
<div class="right">
<el-text>
{{ formatDecimal(goodsStore.cartInfo.total, 2, true) }}
{{ formatDecimal(goodsStore.cartInfo.total || 0, 2, true) }}
</el-text>{{ formatDecimal(goodsStore.cartInfo.totalAmount || 0) }}
</div>
</div>
@@ -269,6 +269,8 @@ async function createOrderHandle(t = 0) {
if (t == 1) {
settleAccountRef.value.show(t)
} else {
goodsStore.clearCart()
}
// 清除购物车,更新历史订单
@@ -317,8 +319,28 @@ function giftPackHandle(key, item) {
const allSelectedHandle = async () => {
if (goodsStore.allSelected) {
goodsStore.allSelected = 0
// 取消订单的全部外带
if (goodsStore.orderList.length) {
await goodsStore.historyOrderAjax(goodsStore.orderListInfo.tableCode)
goodsStore.calcCartInfo()
}
} else {
goodsStore.allSelected = 1
// 回复订单的外带数据
if (goodsStore.orderList.length) {
goodsStore.orderList.map(item => {
item.goods.map(val => {
if (val.goods_type == 'weight') {
val.pack_number = 1
} else {
val.pack_number = val.number
}
})
})
goodsStore.calcCartInfo()
}
}
if (goodsStore.cartList.length) {