2021-06-11汇总表格数据(是个弹窗的格式)

页面结构部分:

<template v-if="visiable">

  <div class="mainPop">

    <!-- 订舱号弹窗组件 -->

    <el-dialog

    :visible="true" :beforeClose="handleCancel" width="70%" center>

    <div class="mainSumary">码头数据汇总</div>

      <div class="WithPool clearstyle">

        <el-table

          ref="table1"

          row-key="ID"

          style="width: 100%"

          height="600"

          :data="GetTerSumList"

           show-summary

           :summary-method="getSummaries"

        >

          <el-table-column type="index" align="center"></el-table-column>

          <el-table-column label="干线码头" prop="name" align="center" width="120"></el-table-column>

          <el-table-column align="center" prop="HEAVY" label="重箱" width="200" show-overflow-tooltip></el-table-column>

          <el-table-column align="center" prop="EMPTY" label="空箱" width="200" show-overflow-tooltip></el-table-column>

          <el-table-column align="center" prop="TEU" label="TEU" show-overflow-tooltip></el-table-column>

          <el-table-column align="center" prop="weight" label="重量(kg)" show-overflow-tooltip></el-table-column>

          <el-table-column align="center" prop="danger" label="危险品" width="200" show-overflow-tooltip></el-table-column>

          <el-table-column align="center" prop="cold" label="冷箱" width="200" show-overflow-tooltip></el-table-column>

          <el-table-column align="center" prop="remark" label="备注" show-overflow-tooltip></el-table-column>

        </el-table>

      </div>

    </el-dialog>

  </div>

</template>

逻辑部分:

<script>

import Api from "@/api/impotApi/index.js";

// import Api from "@/api/outportApi/index.js";

export default {

  name: "summary",

 props: {

    visiable: {

      require: true,

      type: Boolean,

      default: false

    },

 },

  data() {

    return {

      GetTerSumList:[],

      GetSumData:[]

    }

  },

  computed: {

  },

  created () {

    this.GetTerSum()

  },

  methods: {

    handleCancel() {

      this.$emit('update:visiable', false)

      this.$emit('close')

    },

    GetTerSum(){

      Api.GetTerSum().then((res)=>{

        this.GetTerSumList=res.data.data.TerModel

        this.GetSumData=res.data.data.TerBoxSum

      })

    },

    getSummaries(param) {

      const { columns, data } = param;

      const sums = [];

      columns.forEach((column, index) => {

        if (index === 0) {

          sums[index] = '汇总';

          return;

        }

         if (index === 2){

          sums[index]= this.GetSumData.HEAVYSUM;

          return;

        }

         if (index === 3){

          sums[index]= this.GetSumData.EMPTYSUM;

          return;

        }

        if (index === 6){

          sums[index]= this.GetSumData.DANGERSUM;

          return;

        }

        if (index === 7){

          sums[index]= this.GetSumData.COLDSUM;

          return;

        }

        const values = data.map(item => Number(item[column.property]));

        const valuesNoNum = data.map(item => item[column.property]);

        if (!values.some(value => isNaN(value))) {

          if (valuesNoNum.every(value => value === null || value === '')) {

            sums[index] = '';

          } else {

            sums[index] = values.reduce((prev, curr) => {

            const value = Number(curr);

            if (!isNaN(value)) {

              return prev + curr;

            } else {

              return prev;

            }

          }, 0);

          }

        } else {

          sums[index] = '';

        }

      });

      return sums;

    }

  }

};

</script>

样式部分:

<style lang="scss" scoped>

.mainPop /deep/ .el-dialog,

.el-pager li {

  background: #00132e !important;

  border: 2px solid #20bffb !important;

}

.mainPop {

  /deep/ .el-dialog__header {

    padding: 10px;

  }

  /deep/ .el-dialog__body {

    padding: 25px;

  }

}

.mainPop /deep/ .el-dialog__headerbtn .el-dialog__close {

  width: 36px;

  height: 36px;

  color: #20bffb;

  transform: scale(1.6);

  font-weight: bolder;

}

.mainPop {

  /deep/ .el-select-dropdown {

    background: #002e3c;

    border: 1px solid #20bffb;

    .popper__arrow {

      display: none;

    }

    .el-select-dropdown__wrap {

      max-height: 500px;

      .el-select-dropdown__item {

        background: #002e3c;

        height: 50px;

        line-height: 50px;

        padding: 13px;

        box-sizing: content-box;

        color: #EEEEEE;

        &.hover {

          background: rgb(1, 60, 87);

        }

      }

    }

  }

  .select /deep/ .el-input {

    width: 400px;

    margin-right: 30px;

  }

  .select /deep/ .el-input__inner {

    background: #002e3c;

    border: 2px solid #20bffb;

    border-radius: 5px;

    height: 70px;

    font-size: 32px;

    font-weight: 400;

    line-height: 70pxpx;

    color: #ffffff;

    display: inline;

  }

  .select /deep/ .el-input__icon {

    line-height: 70px;

    margin-right: 10px;

  }

  .btn {

    width: 72px;

    height: 50px;

    font-size: 36px;

    font-weight: bold;

    line-height: 54px;

    color: #ffffff;

    width: 199px;

    height: 68px;

    background: #1489b4;

    border: 1px solid #20bffb;

    margin-left: 50px;

  }

  .cancel {

    margin: 30px 0;

    .can_btn {

      background: #fedb6f;

      border-radius: 100px;

      width: 199px;

      height: 68px;

      font-size: 36px;

      font-weight: bold;

      line-height: 54px;

      color: #000000;

      cursor: pointer;

    }

  }

  .mainSumary{

    padding-left: 20px;

    font-size: 1.7407vw;

    color: #ffffff;

  }

  .WithPool {

    padding: 0 12px;

    margin: 0 auto;

    margin-top: 40px;

    height: 80%;

    overflow-y: hidden;

    background-color: #013c57;

  }

    // 上下与左右的滚动条的距离

  .clearstyle /deep/ .el-table__body-wrapper::-webkit-scrollbar-corner {

    height: 0;

    width: 0;

  }

  .clearstyle /deep/ .el-table__body-wrapper::-webkit-scrollbar {

    width: 40px;

    height: 40px;

    position: absolute;

  }

  /*滚动条滑块*/

  .clearstyle /deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {

    background: rgba(71, 145, 242, 0.5);

    border-radius: 5px;

  }

  .clearstyle /deep/ .el-checkbox__inner {

    height: 40px;

    width: 40px;

    line-height: 40px;

    background: #FFFFFF;

    border-color: #FFFFFF;

  }

  .clearstyle /deep/ .el-table__row td {

    text-overflow: ellipsis;

    overflow: hidden;

    white-space: nowrap;

  }

  .clearstyle /deep/ .el-checkbox__inner::after {

    height: 27px;

    width: 12px;

    left: 9px;

    top: 0px;

    border-color: black;

  }

  .clearstyle

    /deep/

    .el-checkbox__input.is-indeterminate

    .el-checkbox__inner::before {

    border: none;

    height: 0;

    width: 0;

  }

  .clearstyle /deep/ .el-table {

    height: 100%;

  }

  .clearstyle /deep/ .el-table__body-wrapper {

    height: calc(100% - 12%) !important;

    overflow: auto;

    &::-webkit-scrollbar {

      // 滚动条整体

      background: none;

    }

    &::-webkit-scrollbar-thumb {

      //滑块

      background: rgba(71, 145, 242, 0.5);

      border-radius: 5px;

    }

    &::-moz-scrollbar-thumb {

      /* Mozilla Firefox 4 to 18 */

      color: rgba(71, 145, 242, 0.5);

    }

    &::-ms-scrollbar-thumb {

      /* Internet Explorer 10+ */

      color: rgba(71, 145, 242, 0.5);

    }

  }

  .clearstyle /deep/ .el-table__footer-wrapper {

    margin-top: -138px;

  }

 .clearstyle /deep/ .el-table__footer-wrapper tbody td{

    background-color: #20bffb;

    color:#fff;

    border:#20bffb;

}

  .clearstyle /deep/ .el-table__row > td {

    /* 去除表格线 */

    border: none;


  }

  .clearstyle /deep/ .el-table th.is-leaf {

    /* 去除上边框 */

    border: none;

  }

  .clearstyle /deep/ .el-table .cell {

    overflow: visible;

  }

  .clearstyle /deep/ .el-table th,

  .el-table tr {

    background-color: #20bffb;

    width: 90px;

    height: 70px;

    font-size: 30px;

    font-weight: 400;

    line-height: 28px;

    color: #ffffff;

  }

  .clearstyle /deep/ .el-table__row {

    height: 100px;

    font-size: 30px;

    line-height: 28px;

    color: #ffffff;

    font-weight: 400;

  }

  .clearstyle /deep/ .el-table,

  .el-table__expanded-cell {

    background-color: transparent;

  }

  .clearstyle /deep/ .el-table tr {

    background-color: transparent !important;

  }

  .clearstyle /deep/ .el-table--enable-row-transition .el-table__body td,

  .el-table .cell {

    background-color: transparent;

  }

  .clearstyle /deep/ .el-table::before {

    /* 去除下边框 */

    height: 0;

  }

  .clearstyle /deep/ .el-loading-mask {

    .el-loading-spinner {

      .circular {

        width: 70px;

        height: 70px;

      }

    }

    background: rgba(0, 46, 60, .5)

  }

}

</style>

<style lang="scss">

.swal2-container {

  z-index: 9999999  !important;

}

</style>

效果展示部分:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容