修复转桌问题,餐位费问题,台桌增加显示更多信息,修复添加耗材第二单位

This commit is contained in:
2026-04-01 10:13:01 +08:00
parent c4283f0d1b
commit 4aea9740a1
8 changed files with 222 additions and 155 deletions

View File

@@ -1,6 +1,6 @@
<template>
<view>
<up-popup :show="show" mode="center">
<up-popup :show="show" mode="center" @close="close">
<view class="bg-fff u-p-30 box">
<scroll-view direction="vertical" scroll-y style="max-height: 80vh;">
@@ -20,18 +20,20 @@
<template v-if="form.type==1">
<view class=" u-m-t-32 ">
<view class="u-m-b-24">购物车商品</view>
<!-- <goodsTable :data="nowCartData" :columns="columnsCheck1" row-key="id"
@selection-change="handleSelectionChange($event,'now')"></goodsTable> -->
<u-table2 :data="nowCartData" :columns="columnsCheck1" row-key="id"
@selection-change="handleSelectionChange($event,'now')" />
<goodsTable :data="nowCartData" :columns="columnsCheck1" row-key="id"
@selection-change="handleSelectionChange($event,'now')"></goodsTable>
<!-- <u-table2 :data="nowCartData" :columns="columnsCheck1" row-key="id"
@selection-change="handleSelectionChange($event,'now')" /> -->
</view>
<view class=" u-m-t-50 ">
<view class="u-m-b-24">历史订单商品</view>
<view v-for="(order,orderIndex) in goodsList" class="u-m-t-32" :key="index">
<view>{{ orderIndex }}次下单</view>
<u-table2 :data="order" :columns="columnsCheck" row-key="id"
<goodsTable :data="order" :columns="columnsCheck" row-key="id"
@selection-change="handleSelectionChange($event,'old')" />
<!-- <u-table2 :data="order" :columns="columnsCheck" row-key="id"
@selection-change="handleSelectionChange($event,'old')" /> -->
</view>
@@ -84,6 +86,8 @@
})
function close() {
console.log('close');
form.mewTable = {id: ''}
show.value = false
}
const form = reactive({
@@ -131,6 +135,7 @@
const handleSelectionChange = (selection, key) => {
console.log('handleSelectionChange', selection);
if (key === 'old') {
form.old = selection
}
@@ -171,12 +176,11 @@
title: '转桌成功',
icon: 'none'
})
close()
emits('update', 1)
close()
})
} else {
close()
emits('confirm', {
targetTableCode: form.mewTable.tableCode,
old: {
@@ -193,6 +197,7 @@
cart_id: props.nowCartData.map(v => v.id)
}
})
close()
}
return
@@ -215,12 +220,10 @@
title: '转桌成功',
icon: 'none'
})
close()
emits('update', allMerge)
close()
})
} else {
close()
emits('confirm', {
targetTableCode: form.mewTable.tableCode,
old: {
@@ -234,6 +237,7 @@
cart_id: form.now.map(v => v.id)
}
})
close()
}
}

View File

@@ -78,6 +78,8 @@
})
}
modelValue.value = list.value[selIndex.value]
console.log('selIndex.value', selIndex.value );
console.log('modelValue.value ', modelValue.value );
close()
}
const query = reactive({

View File

@@ -4,7 +4,8 @@
<view class="u-flex u-row-between no-wrap title">
<!-- 全选框 -->
<view class="table-th">
<up-checkbox @change="handleSelectAll" usedAlone v-model:checked="internalAllChecked" shape="square" :size="20" />
<up-checkbox @change="handleSelectAll" usedAlone v-model:checked="internalAllChecked" shape="square"
:size="20" />
</view>
<!-- 动态列标题 -->
@@ -13,24 +14,24 @@
</view>
</view>
<!-- 格行 -->
<view @click="handleRowCheck(item)" class="u-m-t-12 u-flex u-p-24 u-row-between row"
v-for="(item, index) in internalData" :key="item.id || index" row-key="id">
<!-- 单选框 -->
<view class="table-td">
<up-checkbox
usedAlone
v-model:checked="item._checked" shape="square" :size="20" @change="handleRowCheck(item)"></up-checkbox>
</view>
<!-- 有数据 渲染列 -->
<template v-if="internalData.length > 0">
<view @click="handleRowCheck(item)" class="u-m-t-12 u-flex u-p-24 u-row-between row"
v-for="(item, index) in internalData" :key="item.id || index" row-key="id">
<view class="table-td">
<up-checkbox @change="handleRowCheck(item)" usedAlone v-model:checked="item._checked" shape="square" :size="20"></up-checkbox>
</view>
<!-- 动态列内容 -->
<view class="table-td" v-for="col in columns" :key="col.key" :style="col.style || {}">
<!-- 支持自定义渲染 / 直接取值 -->
<slot v-if="col.slot" :name="col.slot" :row="item" />
<template v-else>
{{ item[col.key] }}
</template>
<view class="table-td" v-for="col in columns" :key="col.key" :style="col.style || {}">
<slot v-if="col.slot" :name="col.slot" :row="item" />
<template v-else>{{ item[col.key] }}</template>
</view>
</view>
</template>
<!-- 无数据 显示暂无数据 -->
<view v-else class="empty-text u-p-t-40 u-p-b-40 u-text-center">
暂无数据
</view>
</view>
</template>
@@ -83,12 +84,13 @@
// 全选切换
function handleSelectAll() {
internalAllChecked.value = !internalAllChecked.value
const checked = internalAllChecked.value;
internalData.value=internalData.value.map(item=>{
internalData.value = internalData.value.map(item => {
item._checked = checked;
return item;
})
console.log('internalData.value',internalData.value);
console.log('internalData.value', internalData.value);
emitChange();
}
@@ -103,6 +105,7 @@
const selectedRows = internalData.value.filter(item => item._checked);
emits('selection-change', selectedRows);
}
// 监听所有行选中状态,自动更新全选框
watch(
@@ -143,5 +146,11 @@
.row:nth-of-type(2n + 1) {
background: #f0f0f0;
}
// 空数据样式
.empty-text {
font-size: 28rpx;
color: #999;
}
}
</style>