代码更新
This commit is contained in:
@@ -19,36 +19,7 @@
|
||||
</image>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <template v-if="type&&userShow">
|
||||
<view class="u-p-l-28 u-flex u-p-r-28 u-p-t-10 bg-gray" v-if="userShow">
|
||||
<view class="time-area u-font-24 color-main u-flex">
|
||||
<up-avatar :size="22" :src="user.headImg"></up-avatar>
|
||||
<view class="u-m-l-10 u-m-r-10">
|
||||
<text v-if="user.id">{{user.telephone||user.nickName}}</text>
|
||||
<text v-else>服务员下单</text>
|
||||
</view>
|
||||
<up-icon name="close-circle-fill" :color="color.ColorMain" @click="userShowClose"></up-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="u-p-l-28 u-flex u-p-r-28 u-p-t-10 bg-gray" v-else>
|
||||
<view class="time-area u-font-24 color-main u-flex">
|
||||
<up-avatar :size="22" ></up-avatar>
|
||||
<view class="u-m-l-10 u-m-r-10">
|
||||
服务员下单
|
||||
</view>
|
||||
<up-icon name="close-circle-fill" :color="color.ColorMain" @click="userShowClose"></up-icon>
|
||||
</view>
|
||||
</view>
|
||||
</template> -->
|
||||
|
||||
|
||||
<!-- <view class="u-p-l-28 u-flex u-p-r-28 u-p-t-10 bg-gray" v-if="time.length">
|
||||
<view class="time-area u-font-24 color-main u-flex">
|
||||
<uni-dateformat format="yyyy-MM-dd hh:mm:ss" :date="time[0]"></uni-dateformat>
|
||||
<text class="u-p-l-10 u-p-r-10">至</text>
|
||||
<uni-dateformat format="yyyy-MM-dd hh:mm:ss" :date="time[1]"></uni-dateformat>
|
||||
</view>
|
||||
</view> -->
|
||||
<my-date-pickerview @confirm="datePickerConfirm" ref="datePicker" mode="all"></my-date-pickerview>
|
||||
<!-- 更多状态选择筛选 -->
|
||||
<up-popup :round="10" :show="statusData.moreShow" :closeable="true" @close="moreShowHide">
|
||||
@@ -80,12 +51,7 @@
|
||||
watch
|
||||
} from 'vue';
|
||||
|
||||
const emits = defineEmits(['update:time', 'update:status','clearUser','updateStatus'])
|
||||
|
||||
function userShowClose() {
|
||||
userShow.value = false
|
||||
emits('clearUser')
|
||||
}
|
||||
const emits = defineEmits(['update:time', 'update:status','updateStatus'])
|
||||
|
||||
const props = defineProps({
|
||||
time: {
|
||||
@@ -95,27 +61,6 @@
|
||||
status: {
|
||||
type: [String, Number],
|
||||
default: ''
|
||||
},
|
||||
user: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
userId: ''
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
type:{
|
||||
type:String,
|
||||
default:''//user 查看具体用户订单
|
||||
}
|
||||
})
|
||||
let userShow = ref(props.type? true : false)
|
||||
console.log(props.type);
|
||||
watch(() => props.type, (newval) => {
|
||||
console.log(newval);
|
||||
if (newval) {
|
||||
userShow.value = true
|
||||
}
|
||||
})
|
||||
|
||||
@@ -163,7 +108,7 @@
|
||||
// },
|
||||
{
|
||||
label: '已完成',
|
||||
value: 'closed'
|
||||
value: 'done'
|
||||
},
|
||||
// {
|
||||
// label: '未支付',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view v-for="(item,index) in list" :key="index">
|
||||
<order-item @printOrder="print" :key="index" :data="item" :index="index"></order-item>
|
||||
</view>
|
||||
<view v-if="hasAjax&&!list.length">
|
||||
<view v-if="!list.length">
|
||||
<my-img-empty tips="亲,你还没有订单哦~"></my-img-empty>
|
||||
</view>
|
||||
</view>
|
||||
@@ -15,10 +15,6 @@
|
||||
list:{
|
||||
type:Array,
|
||||
default:()=>[]
|
||||
},
|
||||
hasAjax:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
}
|
||||
})
|
||||
const emits=defineEmits(['printOrder'])
|
||||
|
||||
@@ -3,37 +3,32 @@
|
||||
<up-sticky offset-top="0">
|
||||
<view class="top">
|
||||
<view class="search bg-fff u-p-t-32 u-p-l-28 u-p-r-28 u-p-b-32">
|
||||
<up-search v-bind="search" v-model="search.val" @search="searchConfirm" @clear="searchConfirm" @custom="searchConfirm"></up-search>
|
||||
<up-search v-bind="search" v-model="pageData.query.orderNo" @search="searchConfirm" @clear="searchConfirm" @custom="searchConfirm"></up-search>
|
||||
</view>
|
||||
<filter-vue @clearUser="clearQueryUser" @updateStatus="updateQuery('status',$event)" v-model:time="order.data.query.createdAt" :user="user" :type="option.type"></filter-vue>
|
||||
<filter-vue @updateStatus="updateQuery('status',$event)" v-model:time="pageData.createdAt" ></filter-vue>
|
||||
</view>
|
||||
</up-sticky>
|
||||
|
||||
<order-list @printOrder="onPrintOrder" :hasAjax="order.data.hasAjax" :list="order.data.list"></order-list>
|
||||
<template v-if="order.data.list.length>0">
|
||||
<my-pagination @change="pageChange" :totalElements="order.data.total"></my-pagination>
|
||||
<order-list @printOrder="onPrintOrder" :list="pageData.list"></order-list>
|
||||
<template v-if="pageData.list.length>0">
|
||||
<my-pagination @change="pageChange" :totalElements="pageData.total"></my-pagination>
|
||||
</template>
|
||||
<view style="height: 100rpx;"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, ref, watch } from 'vue';
|
||||
import {onLoad,onShow,onPullDownRefresh} from '@dcloudio/uni-app'
|
||||
import * as Api from '@/http/yskApi/order.js'
|
||||
import {queryAllShopUser} from '@/http/yskApi/shop-user.js'
|
||||
|
||||
|
||||
import LIST from '@/commons/class/list.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, ref, watch
|
||||
} from 'vue';
|
||||
import {getTodayTimestamps} from '@/commons/utils/dayjs-time.js';
|
||||
import { getOrderList } from '@/api/order.js'
|
||||
|
||||
const search = reactive({
|
||||
val: '',
|
||||
placeholder: '搜索单号/商品名称',
|
||||
shape: 'square',
|
||||
inputStyle: {
|
||||
@@ -43,96 +38,53 @@
|
||||
textAlign: 'right'
|
||||
}
|
||||
})
|
||||
|
||||
const today = getTodayTimestamps();
|
||||
const order=new LIST({
|
||||
const pageData = reactive({
|
||||
createdAt: [today.start,today.end],
|
||||
list: [],
|
||||
total: 0,
|
||||
query: {
|
||||
createdAt: [today.start,today.end],
|
||||
id: "",
|
||||
platformType: "admin-app",
|
||||
orderNo: "",
|
||||
orderType: "0",
|
||||
page: 0,
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
payType: "",
|
||||
productName: "",
|
||||
status: "",
|
||||
userId:''
|
||||
startTime: today.start,
|
||||
endTime: today.end,
|
||||
status: ""
|
||||
}
|
||||
})
|
||||
console.log(order.data);
|
||||
function clearQueryUser(){
|
||||
order.setQuery('userId','')
|
||||
}
|
||||
function pageChange(e){
|
||||
const newPage=e-1
|
||||
order.setVal('page',newPage)
|
||||
order.setQuery('page',newPage)
|
||||
init()
|
||||
}
|
||||
function updateQuery(key,e){
|
||||
order.setQuery(key,e)
|
||||
}
|
||||
watch(()=>order.data.query.createdAt,(newval)=>{
|
||||
init()
|
||||
})
|
||||
watch(()=>order.data.query.status,(newval)=>{
|
||||
init()
|
||||
})
|
||||
watch(()=>order.data.query.userId,(newval)=>{
|
||||
init()
|
||||
})
|
||||
function searchConfirm(){
|
||||
order.setQuery('page',0)
|
||||
init()
|
||||
}
|
||||
async function init() {
|
||||
console.log(order.data.query);
|
||||
const {content,totalElements}=await Api.tbOrderInfoData({...order.data.query,page:order.data.query.page,keyword:search.val})
|
||||
uni.stopPullDownRefresh()
|
||||
order.setVal('list',content)
|
||||
console.log(order.data.list);
|
||||
order.setVal('total',totalElements)
|
||||
order.setVal('hasAjax',true)
|
||||
}
|
||||
onPullDownRefresh(()=>{
|
||||
order.setQuery('page',0)
|
||||
init()
|
||||
})
|
||||
|
||||
let user=ref({
|
||||
userId:''
|
||||
})
|
||||
const option=reactive({type:''})
|
||||
onLoad((opt)=>{
|
||||
Object.assign(option,opt)
|
||||
if(opt&&JSON.stringify(opt)!='{}'){
|
||||
order.setQuery('userId',opt.userId?opt.userId:'')
|
||||
if(opt.userId){
|
||||
queryAllShopUser({id:opt.userId}).then(res=>{
|
||||
user.value=res.content[0]||opt
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
onShow(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
|
||||
}
|
||||
|
||||
})
|
||||
onShow(init)
|
||||
onPullDownRefresh(()=>{
|
||||
pageData.page = 1
|
||||
init()
|
||||
})
|
||||
watch(()=>pageData.createdAt,(newval)=>{
|
||||
pageData.query.startTime = newval[0]
|
||||
pageData.query.endTime = newval[1]
|
||||
init()
|
||||
})
|
||||
|
||||
/**
|
||||
* 获取订单列表
|
||||
*/
|
||||
async function init() {
|
||||
const res = await getOrderList({
|
||||
...pageData.query,
|
||||
})
|
||||
uni.stopPullDownRefresh()
|
||||
pageData.list = res.records
|
||||
pageData.total = res.totalRow
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否打印该订单
|
||||
* @param {Object} e
|
||||
*/
|
||||
function onPrintOrder(e){
|
||||
console.log(e);
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '是否打印该订单',
|
||||
@@ -143,6 +95,54 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 打印该订单
|
||||
* @param {Object} item
|
||||
*/
|
||||
async function printOrder(item){
|
||||
try{
|
||||
const res= await $printOrder({
|
||||
tableId:item.tableId
|
||||
})
|
||||
infoBox.showToast('已发送打印请求')
|
||||
}catch(e){
|
||||
infoBox.showToast('发送打印请求失败')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页加载
|
||||
* @param {Object} e
|
||||
*/
|
||||
function pageChange(e){
|
||||
pageData.page = e
|
||||
init()
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态改变监听
|
||||
* @param {Object} key
|
||||
* @param {Object} e
|
||||
*/
|
||||
function updateQuery(key,e){
|
||||
pageData.query[key] = e
|
||||
pageData.page = 1
|
||||
init()
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索监听
|
||||
*/
|
||||
function searchConfirm(){
|
||||
pageData.page = 1
|
||||
init()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
Reference in New Issue
Block a user