更新订单列表详情,更新商品管理,更新代客下单

This commit is contained in:
2024-09-23 17:39:38 +08:00
parent 90e3866524
commit edcf844adb
36 changed files with 5301 additions and 949 deletions

View File

@@ -22,7 +22,7 @@
<view class="u-m-l-16">{{formatTime(data.createdAt)}}</view>
</view>
<view class="u-m-t-32">
<view class="u-font-32">1种商品共1</view>
<view class="u-font-32">{{goosZhonglei}}种商品{{goodsNumber}}</view>
<view class="border-bottom u-p-b-32">
<view class="u-flex u-row-between u-m-t-24" v-for="(item,index) in data.detailList" :key="index">
<view>
@@ -32,12 +32,12 @@
</view>
</view>
<view class="u-flex">
<view>×1</view>
<view class="u-m-l-24">15.00</view>
<view>×{{item.num}}</view>
<view class="u-m-l-24">{{item.price}}</view>
</view>
</view>
</view>
</view>
<view class="u-flex u-row-between border-bottom u-m-t-32 u-p-b-32">
<view>订单备注</view>
@@ -49,7 +49,7 @@
<text class="font-bold u-font-32">{{data.orderAmount}}</text>
</view>
<view class="u-flex u-row-right u-m-t-24">
<view class="print">重新打印</view>
<view class="print" @click.stop="print(item)">重新打印</view>
</view>
</view>
</view>
@@ -60,19 +60,51 @@
import dayjs from 'dayjs';
import orderEnum from '@/commons/orderEnum.js'
import go from '@/commons/utils/go.js'
import {
computed,
reactive,
ref,
watch
} from 'vue';
const emits=defineEmits(['printOrder'])
const props = defineProps({
data: {
type: Object,
default: () => {}
default: () => {
detailList: []
}
},
index: {
type: [String, Number],
default: 0
}
})
function formatTime(time){
let $goodsMap = {}
let goosZhonglei =ref(0)
let goodsNumber = ref(0)
function goodsMapInit(){
for (let i in props.data.detailList) {
const goods = props.data.detailList[i]
if ($goodsMap.hasOwnProperty(goods.productId)) {
$goodsMap[goods.productId] += goods.num*1
goodsNumber.value+=goods.num*1
} else {
$goodsMap[goods.productId] = goods.num*1
goosZhonglei.value+=1
goodsNumber.value+=goods.num*1
}
}
}
goodsMapInit()
watch(() => props.data.detailList, (newval) => {
goodsMapInit()
})
function formatTime(time) {
return dayjs(time).format('YYYY-MM-DD HH:mm:ss');
}
function returnStatus(status) {
const item = orderEnum.status.find(v => v.key == status)
return item ? item.label : ''
@@ -85,11 +117,15 @@
return t;
}
}
function toDetail(){
go.to('PAGES_ORDER_DETAIL',{
id:props.data.id
function toDetail() {
go.to('PAGES_ORDER_DETAIL', {
id: props.data.id
})
}
function print(item) {
emits('printOrder',props.data)
}
</script>
<style lang="scss" scoped>
@@ -110,10 +146,11 @@
.unpaid {
color: #FD7B49;
}
.print{
.print {
padding: 6rpx 14rpx 8rpx 18rpx;
border:1px solid $my-main-color;
color:$my-main-color;
border: 1px solid $my-main-color;
color: $my-main-color;
font-size: 24rpx;
border-radius: 100rpx;
}

View File

@@ -1,7 +1,7 @@
<template>
<view class="list">
<view v-for="(item,index) in list" :key="index">
<order-item :data="item" :index="index"></order-item>
<order-item @printOrder="print" :data="item" :index="index"></order-item>
</view>
<view v-if="hasAjax&&!list.length">
<my-img-empty tips="亲,你还没有订单哦~"></my-img-empty>
@@ -21,7 +21,10 @@
default:false
}
})
const emits=defineEmits(['printOrder'])
function print(item) {
emits('printOrder',item)
}
</script>
<style lang="scss" scoped>

View File

@@ -6,14 +6,18 @@
</view>
<filter-vue v-model:time="pageData.order.query.createdAt"></filter-vue>
</view>
<order-list :hasAjax="pageData.order.hasAjax" :list="pageData.order.list"></order-list>
<order-list @printOrder="onPrintOrder" :hasAjax="pageData.order.hasAjax" :list="pageData.order.list"></order-list>
<my-pagination :totalElements="pageData.order.totalElements"></my-pagination>
<view style="height: 100rpx;"></view>
</view>
</template>
<script setup>
import * as Api from '@/http/yskApi/order.js'
import {$printOrder} from '@/http/yskApi/Instead.js'
import filterVue from './compoents/filter.vue';
import orderList from './compoents/order-list.vue';
import infoBox from '@/commons/utils/infoBox.js'
import {
reactive, watch
} from 'vue';
@@ -28,10 +32,11 @@
textAlign: 'right'
}
})
const pageData = reactive({
order: {
list: [],
totalElements:0,
hasAjax:false,
query: {
createdAt: [],
@@ -50,12 +55,40 @@
init()
})
async function init() {
const {content}=await Api.tbOrderInfoData(pageData.order.query)
const {content,totalElements}=await Api.tbOrderInfoData(pageData.order.query)
pageData.order.hasAjax=true
pageData.order.totalElements=totalElements
pageData.order.list=content
console.log(content);
}
init()
async function printOrder(item){
try{
console.log(item);
const res= await $printOrder({
tableId:item.tableId
})
infoBox.showToast('已发送打印请求')
}catch(e){
console.log(e);
infoBox.showToast('发送打印请求失败')
//TODO handle the exception
}
}
function onPrintOrder(e){
console.log(e);
uni.showModal({
title: '提示',
content: '是否打印该订单',
success(res) {
if (res.confirm) {
printOrder(e)
}
}
})
}
</script>
<style>