一些假数据
list: [{
unitPrice: '客户名',
skuList: [{
skuName: 'sku名',
skuNum: 'sku数量'
},
{
skuName: 'sku名1',
skuNum: 'sku数量1'
},
{
skuName: 'sku名2',
skuNum: 'sku数量2'
}
],
collectExpenseList: [{
expenseName: '费用名称',
amount: '费用金额'
},
{
expenseName: '费用名称1',
amount: '费用金额1'
},
{
expenseName: '费用名称2',
amount: '费用金额2'
}
]
}],
<el-table border :data="list" max-height="300" ref="multipleTable" @select="handleSelectionChange"
@select-all="handleAllChange" v-loading="loading">
<el-table-column type="selection" width="40"> </el-table-column>
<el-table-column label="#" type="index" :index="indexMethod" fixed width="56"></el-table-column>
<el-table-column label="客户名称" prop="unitPrice">
</el-table-column>
<el-table-column label="系统编号" prop="lssuingBatchNo">
</el-table-column>
<el-table-column label="客户订单号" prop="customerOrderCode">
</el-table-column>
<el-table-column label="尾程渠道" prop="finalChannelName">
</el-table-column>
<el-table-column label="供应商渠道" prop="finalSupplierChannelName">
</el-table-column>
<el-table-column label="出库单号" prop="outOrderCode">
</el-table-column>
<el-table-column label="发货日期" prop="shipmentDateName">
</el-table-column>
<el-table-column label="邮编" prop="zipCode">
</el-table-column>
<el-table-column label="州/省" prop="state" width="160">
</el-table-column>
<!-- -->
<el-table-column label="SKU" prop="skuList" width="160">
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.skuList">
{{ item.skuName }}
<div class="bottomLine" v-if="scope.row.skuList.length >= 2 && index != scope.row.skuList.length - 1">
</div>
</span>
</template>
</el-table-column>
<!-- -->
<el-table-column label="数量" prop="skuList" width="160">
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.skuList">
{{ item.skuNum }}
<div class="bottomLine" v-if="scope.row.skuList.length >= 2 && index != scope.row.skuList.length - 1">
</div>
</span>
</template>
</el-table-column>
<el-table-column label="重量单位" prop="weightName" width="160">
</el-table-column>
<el-table-column label="zone/派送分区" prop="zoneName" width="160">
</el-table-column>
<el-table-column label="地址类型" prop="addressName" width="160">
</el-table-column>
<el-table-column label="成人签收" prop="isAdultSignature" width="160">
</el-table-column>
<el-table-column label="燃油附加率" prop="rate" width="160">
</el-table-column>
<el-table-column label="应收计费重" prop="collectWeightingValue" width="160">
</el-table-column>
<!-- 应收费用列表-->
<el-table-column label="应收费用列表" prop="collectExpenseList" width="160">
<template slot-scope="scope">
<el-table-column v-for="title in scope.row.collectExpenseList" :prop="title.prop" :label="title.expenseName" align="center"
:key="title.prop" :index="title.index" :width="title.width">
<span>{{ title.amount }}</span>
</el-table-column>
</template>
</el-table-column>
<!-- -->
<!-- 应付费用列表-->
<el-table-column label="应付费用列表" prop="costExpenseList" width="160">
</el-table-column>
<!-- -->
<!-- <el-table-column label="供应商名称" prop="createTimeName" width="160">
</el-table-column> -->
<el-table-column label="应付计费重" prop="costWeightingValue" width="160">
</el-table-column>
<el-table-column label="应收客户" prop="collectAmount" width="160">
</el-table-column>
<el-table-column label="应付供应商" prop="costAmount" width="160">
</el-table-column>
<el-table-column label="理论利润" prop="profit" width="160">
</el-table-column>
</el-table>
把数据当成表头不就横向展示了吗
=分割线=
解决
<el-table border :data="list" max-height="300" ref="multipleTable" @select="handleSelectionChange"
@select-all="handleAllChange" v-loading="loading">
<el-table-column type="selection" width="40"> </el-table-column>
<el-table-column label="#" type="index" :index="indexMethod" fixed width="56"></el-table-column>
<el-table-column label="客户名称" prop="unitPrice">
</el-table-column>
<el-table-column label="系统编号" prop="lssuingBatchNo">
</el-table-column>
<el-table-column label="客户订单号" prop="customerOrderCode">
</el-table-column>
<el-table-column label="尾程渠道" prop="finalChannelName">
</el-table-column>
<el-table-column label="供应商渠道" prop="finalSupplierChannelName">
</el-table-column>
<el-table-column label="出库单号" prop="outOrderCode">
</el-table-column>
<el-table-column label="发货日期" prop="shipmentDateName">
</el-table-column>
<el-table-column label="邮编" prop="zipCode">
</el-table-column>
<el-table-column label="州/省" prop="state" width="160">
</el-table-column>
<!-- -->
<el-table-column label="SKU" prop="skuList" width="160">
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.skuList">
{{ item.skuName }}
<div class="bottomLine" v-if="scope.row.skuList.length >= 2 && index != scope.row.skuList.length - 1">
</div>
</span>
</template>
</el-table-column>
<!-- -->
<el-table-column label="数量" prop="skuList" width="160">
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.skuList">
{{ item.skuNum }}
<div class="bottomLine" v-if="scope.row.skuList.length >= 2 && index != scope.row.skuList.length - 1">
</div>
</span>
</template>
</el-table-column>
<el-table-column label="重量单位" prop="weightName" width="160">
</el-table-column>
<el-table-column label="zone/派送分区" prop="zoneName" width="160">
</el-table-column>
<el-table-column label="地址类型" prop="addressName" width="160">
</el-table-column>
<el-table-column label="成人签收" prop="isAdultSignature" width="160">
</el-table-column>
<el-table-column label="燃油附加率" prop="rate" width="160">
</el-table-column>
<el-table-column label="应收计费重" prop="collectWeightingValue" width="160">
</el-table-column>
<!-- 应收费用列表-->
<!-- <el-table-column label="应收费用列表" prop="collectExpenseList" width="160">
<template slot-scope="scope">
<el-table-column v-for="(title,index) in scope.row.collectExpenseList" :prop="title.prop" :label="title.expenseName" align="center"
:key="title.prop" :index="title.index" :width="title.width">
{{ title }}
</el-table-column>
</template>
</el-table-column> -->
<el-table-column v-for="(title,index) in collectExpenseList" :prop="title.prop" :label="title.expenseName" align="center"
:key="title.prop" :index="title.index" :width="title.width">
{{ title.amount }}
</el-table-column>
<!-- -->
<!-- 应付费用列表-->
<el-table-column label="应付费用列表" prop="costExpenseList" width="160">
</el-table-column>
<!-- -->
<!-- <el-table-column label="供应商名称" prop="createTimeName" width="160">
</el-table-column> -->
<el-table-column label="应付计费重" prop="costWeightingValue" width="160">
</el-table-column>
<el-table-column label="应收客户" prop="collectAmount" width="160">
</el-table-column>
<el-table-column label="应付供应商" prop="costAmount" width="160">
</el-table-column>
<el-table-column label="理论利润" prop="profit" width="160">
</el-table-column>
</el-table>
【以下回答由 ChatGPT 生成】
你可以使用Vue.js的模板语法和循环指令来展示动态数据的表格。你可以使用v-for
指令来循环遍历SKU列表和应收应付费用列表,并将它们在表格中展示。
以下是一个可能的解决方案:
<template>
<div>
<table>
<thead>
<tr>
<th>客户名</th>
<th v-for="sku in list[0].skuList" :key="sku.skuName">{{ sku.skuName }}</th>
</tr>
</thead>
<tbody>
<tr v-for="item in list" :key="item.unitPrice">
<td>{{ item.unitPrice }}</td>
<td v-for="sku in item.skuList" :key="sku.skuName">{{ sku.skuNum }}</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th></th>
<th v-for="expense in list[0].collectExpenseList" :key="expense.expenseName">{{ expense.expenseName }}</th>
</tr>
</thead>
<tbody>
<tr v-for="item in list" :key="item.unitPrice">
<td>{{ item.unitPrice }}</td>
<td v-for="expense in item.collectExpenseList" :key="expense.expenseName">{{ expense.amount }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
data() {
return {
list: [
{
unitPrice: '客户名',
skuList: [
{
skuName: 'sku名',
skuNum: 'sku数量'
},
{
skuName: 'sku名1',
skuNum: 'sku数量1'
},
{
skuName: 'sku名2',
skuNum: 'sku数量2'
}
],
collectExpenseList: [
{
expenseName: '费用名称',
amount: '费用金额'
},
{
expenseName: '费用名称1',
amount: '费用金额1'
},
{
expenseName: '费用名称2',
amount: '费用金额2'
}
]
}
]
};
}
};
</script>
这个解决方案使用了两个表格,一个表格用于展示SKU数据,另一个表格用于展示应收应付费用数据。在模板中使用了v-for
指令来循环遍历列表,并使用:key
绑定唯一的键值。
希望这个解决方案可以帮助你展示动态数据的表格。如果你有任何其他问题,请随时提问。