修复转桌问题,餐位费问题,台桌增加显示更多信息,修复添加耗材第二单位
This commit is contained in:
@@ -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>
|
||||
Reference in New Issue
Block a user