Browse Source

Merge branch 'yx' of http://61.161.152.110:10101/r/electronic-map into sl

shilin 3 years ago
parent
commit
1e7fe3d8eb

+ 0 - 276
src/views/NewPages/components/group-table.vue

@@ -1,276 +0,0 @@
-<template>
-  <el-table class="custom-table" :class="customClass" stripe :data="data.data" :height="height" style="width: 100%;cursor: pointer;" @cell-click="onClick" @header-click="onHeaderClick">
-    <template v-for="col in data.column" :key="col">
-      <el-table-column v-if="col.child && col.child.length > 0" :label="col.name" :key="col">
-        <el-table-column
-          v-for="sub in col.child"
-          :key="sub"
-          :label="sub.name"
-          :prop="sub.field"
-          :width="sub.width"
-          :sortable="sub.sortable"
-          :show-overflow-tooltip="!sub.slot"
-          :fixed="sub.fixed"
-          :align="sub.align ? sub.align : 'center'"
-          :resizable="sub.resizable"
-          :header-align="'center'"
-        >
-          <template v-if="sub.slot == true" #default="item">
-            <slot :name="sub.field" :column="sub" :row="item.row" :all="item" :data="item.row[item.field]"></slot>
-          </template>
-        </el-table-column>
-      </el-table-column>
-      <el-table-column
-        v-if="!col.child"
-        :label="col.name"
-        :prop="col.field"
-        :width="col.width"
-        :sortable="col.sortable"
-        :show-overflow-tooltip="!col.slot"
-        :fixed="col.fixed"
-        :align="col.align ? col.align : 'center'"
-        :resizable="col.resizable"
-        :header-align="'center'"
-      >
-        <template v-if="col.slot == true" #default="item">
-          <slot :name="col.field" :column="col" :row="item.row" :all="item" :data="item.row[col.field]"></slot>
-        </template>
-      </el-table-column>
-    </template>
-  </el-table>
-  <el-pagination class="mg-t-8" v-if="pageable" @current-change="handleCurrentChange" :current-page="currentPage" :page-size="pageSize" :total="data.total" v-bind="elPaggingProps"> </el-pagination>
-</template>
-
-<script>
-export default {
-  // 名称
-  name: "ComTable",
-  // 使用组件
-  components: {},
-  // 传入参数
-  props: {
-    /**
-             * {
-                    column: [{
-                        name: "风机名称",
-                        child:[{
-                            field: "name",
-                            width:'', // 宽度
-                            click:function(){} // 点击事件
-                            sortable:fasle,
-                            slot:false,
-                            fixed:false,
-                            align:'center',
-                            resizable :false,
-                        }]
-                    }],
-                    total:200
-                }
-             */
-    data: Object,
-    height: {
-      type: String,
-      default: "",
-    },
-    pageSize: {
-      type: Number,
-      default: 0,
-    },
-    customClass: {
-      type: String,
-      default: "",
-    },
-    elPaggingProps: {
-      type: Object,
-      default: () => {
-        return {
-          layout: "total, sizes, prev, pager, next, jumper",
-          // "page-sizes": [100, 200, 300, 400],
-        };
-      },
-    },
-  },
-  emits: {
-    onPagging: null,
-    headerClick: null,
-  },
-  // 数据
-  data() {
-    return {
-      currentPage: 1,
-    };
-  },
-  computed: {
-    tableData() {
-      let that = this;
-      if (this.sortCol == "") {
-        return this.data.data;
-      } else {
-        let data = this.data.data;
-
-        data.sort((a, b) => {
-          let rev = 1;
-          if (that.sortType == "ASC") rev = 1;
-          else if (that.sortType == "DESC") rev = -1;
-
-          if (a[that.sortCol] > b[that.sortCol]) return rev * 1;
-          if (a[that.sortCol] < b[that.sortCol]) return rev * -1;
-          return 0;
-        });
-        return data;
-      }
-    },
-    pageable() {
-      return this.pageSize != 0;
-    },
-    pages() {
-      if (this.pageable) return parseInt(this.data.total / this.pageSize) + 1;
-      else return 0;
-    },
-    startRow() {
-      if (this.pageable) return (this.currentPage - 1) * this.pageSize;
-      else return 0;
-    },
-    endRow() {
-      if (this.pageable) return this.currentPage * this.pageSize;
-      else return this.data.data.length;
-    },
-  },
-  // 函数
-  methods: {
-    onClick(row, column, cell, event) {
-      if (column.rawColumnKey.click) column.rawColumnKey.click(event, row);
-    },
-    onHeaderClick(column, event) {
-      this.$emit("headerClick", { event: event, col: column.rawColumnKey, data: this.data.data });
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val;
-      this.$emit("onPagging", {
-        pageIndex: this.currentPage,
-        pageSize: this.pageSize,
-        start: this.startRow,
-        end: this.endRow,
-      });
-    },
-  },
-  // 生命周期钩子
-  beforeCreate() {
-    // 创建前
-  },
-  created() {
-    // 创建后
-  },
-  beforeMount() {
-    // 渲染前
-  },
-  mounted() {
-    // 渲染后
-  },
-  beforeUpdate() {},
-  updated() {},
-};
-</script>
-
-<style lang="less">
-@titleGray: #9ca5a8;
-@rowGray: #606769;
-@darkBack: #536268;
-.com-table {
-  width: 100%;
-  border-collapse: collapse;
-
-  thead {
-    tr { 
-      display: table;
-      table-layout: fixed;
-      width: 100%;
-
-      th {
-        background-color: fade(@darkBack, 20%);
-        height: 30px;
-        line-height: 30px;
-        color: @titleGray;
-        font-weight: 400;
-        font-size: @fontsize-s;
-        position: sticky;
-        top: 0;
-        cursor: pointer;
-
-        &.light,
-        &.always-light {
-          color: @green;
-        }
-      }
-    }
-  }
-
-  tbody {
-    display: block;
-
-    tr {
-      display: table;
-      table-layout: fixed;
-      width: 100%;
-
-      &:nth-child(2n) {
-        background-color: fade(@rowGray, 20%);
-      }
-
-      td {
-        padding: 0.556vh 0;
-        color: @rowGray;
-        text-align: center;
-        font-size: @fontsize-s;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-
-        &.light,
-        &.always-light {
-          color: @green !important;
-        }
-
-        &.num {
-          font-family: "Bicubik";
-          font-weight: 400;
-        }
-      }
-    }
-  }
-
-  .el-pagination {
-    color: @gray;
-    .el-pagination__total {
-      color: @gray;
-    }
-
-    button {
-      &.btn-next,
-      &.btn-prev {
-        background: center center no-repeat fade(@gray, 20);
-        color: @gray-l;
-      }
-      &:disabled {
-        color: @gray-l;
-        background-color: fade(@gray, 20);
-        cursor: not-allowed;
-      }
-    }
-
-    .el-pager li {
-      color: @gray-l;
-      background: fade(@gray, 20);
-      &.active {
-        color: @green;
-      }
-    }
-
-    .el-input__inner {
-      color: @gray-l;
-      background: fade(@gray, 20);
-      border: 1px solid fade(@gray, 20);
-    }
-  }
-}
-</style>

+ 1 - 1
src/views/NewPages/power-benchmarking.vue

@@ -208,7 +208,7 @@
 import MultipleBarChart from "../../components/chart/bar/multiple-bar-chart.vue";
 import SvgIcon from "../../components/coms/icon/svg-icon.vue";
 import Panel from "../../components/coms/panel/panel.vue";
-import groupTable from "./components/group-table.vue";
+import groupTable from "../../components/coms/table/group-table.vue";
 export default {
   components: { groupTable, Panel, MultipleBarChart, SvgIcon },
   data() {