From 04489cc3864aa38fde8b539aee6c4c9eed6ab1d4 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期四, 28 九月 2023 14:35:35 +0800
Subject: [PATCH] 解决产品列表报错
---
src/components/makepager/TableCommonView.vue | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index b32674a..70254b3 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -1,6 +1,6 @@
<!-- eslint-disable vue/no-use-v-if-with-v-for -->
<template>
- <div class="table-view" v-loading="loading">
+ <div :class="{ 'table-view': true, table_height: !showSummary }" v-loading="loading">
<el-table
ref="table"
border
@@ -19,6 +19,8 @@
:default-expand-all="tableList.isDefaultExpandAll"
:tree-props="{ children: 'child', hasChildren: 'hasChildren' }"
:span-method="objectSpanMethod"
+ :summary-method="getSummaries"
+ :show-summary="showSummary"
>
<el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column>
<el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column>
@@ -57,9 +59,14 @@
<!-- 灏忎簬褰撳墠鏃堕棿鏄剧ず涓嶅悓棰滆壊 -->
<span
v-else-if="item.date"
- :style="{ color: new Date().getTime() > new Date(scope.row[item.prop]).getTime() ? '#D23F3A' : '#606266' }"
+ :style="{
+ color: new Date().getTime() > new Date(scope.row[item.prop]).getTime() ? '#D23F3A' : '#606266'
+ }"
>{{ timeAgo(scope.row[item.prop]) }}</span
>
+ <div v-else-if="item.conversion">
+ <span>{{ item.getStatus(scope.row[item.prop]) }}</span>
+ </div>
<span
v-else-if="item.isClick && scope.row[item.prop]"
:class="item.className ? item.className : 'sel-name'"
@@ -103,6 +110,7 @@
showStyle: true,
tableInfomation: [], // 鎺ュ彛杩斿洖鏁版嵁
showcol: [],
+ countcol: [],
allcol: [],
highlight: false,
tableColumn: [
@@ -138,6 +146,10 @@
showCheckcol: {
type: Boolean,
default: true
+ },
+ showSummary: {
+ type: Boolean,
+ default: false
}
},
data() {
@@ -206,6 +218,40 @@
},
timeAgo(val) {
return timeago(val)
+ },
+ //姹傚拰
+ getSummaries(param) {
+ if (this.tableList.countcol && this.tableList.countcol.length > 0) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = " "
+ return
+ }
+ this.tableList.countcol.forEach((countcols) => {
+ if (column.label === countcols) {
+ const values = data.map((item) => Number(item[column.property]))
+ if (!values.every((value) => isNaN(value))) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr)
+ if (!isNaN(value)) {
+ return prev + curr
+ } else {
+ return prev
+ }
+ }, 0)
+ sums[index] = this.tableList.tableColumn[index - 1].unit + "" + sums[index]
+ } else {
+ sums[index] = ""
+ }
+ } else {
+ return
+ }
+ })
+ })
+ return sums
+ }
}
}
}
@@ -213,6 +259,12 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
+.table_height {
+ height: 100%;
+}
+.el-table__body-wrapper {
+ height: 100%;
+}
.table-view {
position: relative;
height: 100%;
--
Gitblit v1.8.0