diff --git a/src/views/AppKgTable.vue b/src/views/AppKgTable.vue
index 5c94d8f..be2b324 100644
--- a/src/views/AppKgTable.vue
+++ b/src/views/AppKgTable.vue
@@ -2,15 +2,44 @@
export default {
name: "AppKgTable",
label: "表格",
- data(){
- return{
- tableData:[],
- columns:[
+ components: {
+ tableColumn: {
+ functional: true,
+ props: {
+ column: {default: () => ({})}
+ },
+ render(h, vm) {
+ const config = vm.props.column
+ return h('el-table-column', {props: config}, h('template', {
+ slotScope: {
+ default: ({row}) => {
+ config.custom ? h('div', {style: {color: row.preSaleNum > row.stockNum ? 'red' : '#fff'}}, '周边库存情况') :
+ config.children?.map(col => h('table-column', {props: {column: col}})) || h('span', row[config.prop] || '')
+ }
+ }
+ }))
+ },
+ }
+ },
+ data() {
+ return {
+ tableData: [
+ {name: "商品1", targetNum: 100, saleNum: 50, stockNum: 20, preSaleNum: 30, remind: 1},
+ {name: "商品2", targetNum: 100, saleNum: 50, stockNum: 20, preSaleNum: 30, remind: 0},
+ {name: "商品3", targetNum: 100, saleNum: 50, stockNum: 20, preSaleNum: 30, remind: 1},
+ ],
+ columns: [
{label: "重点单品", prop: "name"},
{label: "当日目标", prop: "targetNum", width: "70px"},
{label: "销售数量", prop: "saleNum", width: "70px"},
{label: "库存数量", prop: "stockNum", width: "70px"},
{label: "预计销售数量", prop: "preSaleNum"},
+ {
+ label: "合并表头示例", children: [
+ {"label": "当日目标", "prop": "targetNum", "width": "70px"},
+ {"label": "销售数量", "prop": "saleNum", "width": "70px"},
+ ]
+ },
{label: "提醒", custom: 1, width: 70, align: 'center', prop: "remind"},
]
}
@@ -21,18 +50,13 @@ export default {
-