代码合并

This commit is contained in:
2026-04-09 16:25:23 +08:00

View File

@@ -5,25 +5,19 @@
<view class="input-wrapper">
<view class="input-main">
<view class="u-flex u-p-r-30 u-font-28" @click="pageData.statusShow = !pageData.statusShow">
<text class="u-m-r-10 u-line-1" :class="{ 'color-main': pageData.query.status != '' }" style="max-width: 100rpx">{{ pageData.statusName }}</text>
<text class="u-m-r-10 u-line-1" :class="{ 'color-main': pageData.query.status != '' }"
style="max-width: 100rpx">{{ pageData.statusName }}</text>
<up-icon name="arrow-down" size="16"></up-icon>
</view>
<uni-easyinput
clearable
class="jeepay-search"
:inputBorder="false"
trim="all"
placeholder="搜索"
v-model="pageData.query.name"
@clear="searchConfirm"
@confirm="searchConfirm"
>
<uni-easyinput clearable class="jeepay-search" :inputBorder="false" trim="all" placeholder="搜索"
v-model="pageData.query.name" @clear="searchConfirm" @confirm="searchConfirm">
<template #prefixIcon>
<image src="@/static/iconImg/icon-search.svg" class="input-icon" />
</template>
</uni-easyinput>
<view class="u-m-l-4">
<button class="" type="text" @click="searchConfirm"><text class="color-333">搜索</text></button>
<button class="" type="text" @click="searchConfirm"><text
class="color-333">搜索</text></button>
<!-- <button class="" type="text" ><text class="color-main font-bold">清台设置</text></button> -->
</view>
</view>
@@ -39,7 +33,8 @@
<!-- <view class="u-m-t-10">0/12</view> -->
</view>
</view>
<view class="item u-p-20" :class="{ sel: pageData.area.sel === item.id }" @tap="changeAreaSel(item)" v-for="(item, index) in pageData.area.list" :key="index">
<view class="item u-p-20" :class="{ sel: pageData.area.sel === item.id }" @tap="changeAreaSel(item)"
v-for="(item, index) in pageData.area.list" :key="index">
<view class="box">
<view class="up-line-1">{{ item.name }}</view>
<!-- <view class="u-m-t-10">0/12</view> -->
@@ -51,38 +46,63 @@
<template v-if="pageData.tabList.length">
<view class="u-flex u-flex-wrap u-row-between">
<view class="u-m-b-30" v-for="(item, index) in pageData.tabList" :key="index">
<table-item @bind="scanCode" @update="getTable" :areaMap="pageData.areaMap" @more="moreShow(item)" :data="item"></table-item>
<table-item @bind="scanCode" @update="getTable" :areaMap="pageData.areaMap"
@more="moreShow(item)" :data="item"></table-item>
</view>
</view>
<my-pagination :page="pageData.query.page" :totalElements="pageData.totalElements" :size="pageData.query.size" @change="pageChange"></my-pagination>
<my-pagination :page="pageData.query.page" :totalElements="pageData.totalElements"
:size="pageData.query.size" @change="pageChange"></my-pagination>
</template>
<my-img-empty v-if="pageData.hasAjax && !pageData.tabList.length" tips="未找到相关桌台"></my-img-empty>
</view>
</view>
</view>
<my-action-sheet :active="4" @itemClick="actionSheetClick" ref="refMoreSheet" :list="actionSheet.list" :title="actionSheet.title">
<my-action-sheet :active="4" @itemClick="actionSheetClick" ref="refMoreSheet" :list="actionSheet.list"
:title="actionSheet.title">
<template #title>
<view class="color-999 u-p-30 u-text-center border-bottom">桌号{{ actionSheet.title }}</view>
</template>
</my-action-sheet>
<up-picker :show="pageData.statusShow" :columns="pageData.statusList" keyName="label" @cancel="pageData.statusShow = false" @confirm="confirmStatus"></up-picker>
<up-picker :show="pageData.statusShow" :columns="pageData.statusList" keyName="label"
@cancel="pageData.statusShow = false" @confirm="confirmStatus"></up-picker>
</template>
<script setup>
import { onLoad, onReady, onShow } from '@dcloudio/uni-app';
import { ref, reactive, computed, watch } from 'vue';
import {
onLoad,
onReady,
onShow
} from '@dcloudio/uni-app';
import {
ref,
reactive,
computed,
watch
} from 'vue';
import tableItem from './components/table-item';
import go from '@/commons/utils/go.js';
import myActionSheet from '@/components/my-components/my-action-sheet';
import { hasPermission } from '@/commons/utils/hasPermission.js';
import {
hasPermission
} from '@/commons/utils/hasPermission.js';
import { getShopTable, shopTableBind, shopTableClear } from '@/http/api/table.js';
import { getShopArea } from '@/http/api/area.js';
import { printOrder } from '@/http/api/order.js';
import { getHistoryOrder } from '@/http/api/order.js';
import {
getShopTable,
shopTableBind,
shopTableClear
} from '@/http/api/table.js';
import {
getShopArea
} from '@/http/api/area.js';
import {
printOrder
} from '@/http/api/order.js';
import {
getHistoryOrder
} from '@/http/api/order.js';
import tableStatus from './tableStatus'
const pageData = reactive({
statusShow: false,
@@ -97,8 +117,7 @@ const pageData = reactive({
},
totalElements: 0,
statusList: [
[
{
[{
key: '',
label: '全部'
},
@@ -133,6 +152,7 @@ watch(
onShow((opt) => {
getData();
});
function getData() {
getTable();
getArea();
@@ -152,7 +172,11 @@ async function getTable() {
* 获取区域
*/
async function getArea() {
const res = await getShopArea({ name: '', page: 1, size: 300 });
const res = await getShopArea({
name: '',
page: 1,
size: 300
});
pageData.area.list = res.records;
pageData.areaMap = res.records.reduce((prve, cur) => {
prve[cur.id] = cur.name;
@@ -190,7 +214,9 @@ function moreShow(table) {
actionSheet.selTable = table;
refMoreSheet.value.open();
if (actionSheet.selTable.orderId) {
getHistoryOrder({ orderId: actionSheet.selTable.orderId }).then((res) => {
getHistoryOrder({
orderId: actionSheet.selTable.orderId
}).then((res) => {
pageData.orderInfo = res;
});
}
@@ -232,7 +258,12 @@ async function actionSheetClick(index) {
});
}
if (index == 2) {
return uni.$utils.showToast('待开放,请敬请期待!');
if (item.status == 'idle' || item.status == 'unsettled') {
return go.to('PAGES_CREATE_ORDER', item);
}else{
return uni.$utils.showToast('当前台桌不可增减菜!');
}
// return uni.$utils.showToast('待开放,请敬请期待!');
}
if (index == 3) {
return uni.$utils.showToast('待开放,请敬请期待!');
@@ -243,7 +274,10 @@ async function actionSheetClick(index) {
return uni.$utils.showToast('该桌台暂无要打印的订单!');
}
let res = await printOrder({ id: actionSheet.selTable.orderId, type: pageData.orderInfo.status == 'unpaid' ? 1 : 0 });
let res = await printOrder({
id: actionSheet.selTable.orderId,
type: pageData.orderInfo.status == 'unpaid' ? 1 : 0
});
return;
}
if (index == 6) {
@@ -328,6 +362,7 @@ function pageChange(page) {
.fixed-top {
z-index: 10;
}
.input-wrapper {
display: flex;
justify-content: space-between;
@@ -428,6 +463,7 @@ function pageChange(page) {
background-color: #fff;
padding: 16rpx 0;
display: flex;
.search-btn {
padding: 0 30rpx;
box-sizing: border-box;