12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <!-- 表格 -->
- <template>
- <view class="container">
- <view class="table" :style="{ padding: padding }">
- <view class="table-title" v-if="title">{{ title }}</view>
- <view class="table-box">
- <uni-table emptyText="暂无更多数据" :loading="loading">
- <!-- 表头行 -->
- <uni-tr>
- <uni-th class="table-box-th" align="center" v-for="(item, index) in tableTh" :key="index"
- :width="item.width || ''">{{ item.field }}
- </uni-th>
- </uni-tr>
- <!-- 表格数据行 -->
- <uni-tr v-for="(item, index) in tableData.list" :key="index">
- <uni-td class="table-box-td" align="center" v-for="(field, index) in tableTh" :key="index">
- {{ item[field.key] }}</uni-td>
- </uni-tr>
- </uni-table>
- </view>
- <view class="table-pagination" v-if="tableData.total > 0">
- <uni-pagination show-icon="true" :total="tableData.total" :current="tableData.current" @change="pageChange"></uni-pagination>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- props: {
- title: {
- type: String,
- default: ''
- },
- loading: {
- type: Boolean,
- default: () => {
- return false
- }
- },
- padding: {
- type: String,
- default: '15px'
- },
- tableTh: {
- type: Array,
- default: () => {
- return []
- }
- },
- tableData: {
- type: Object,
- default: () => {
- return {
- current: 1,
- total: 0,
- list: []
- }
- }
- }
- },
- methods: {
- pageChange(e) {
- this.$emit('pageChange', e.current)
- }
- }
- }
- </script>
- /**
- * tableTh
- * [{ width: '', field: '', key: '' }] width表示单列的宽度 field表示单列的表头名称 key表示单列字段名
- */
- <style lang="scss" scoped>
- @import '@/pages/dataOverview/statisticalReport/components/report.scss';
- </style>
|