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

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

@@ -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>