1、设备综合效率分析页面表格列属性ellipsis开启后内容若超出盒子宽度则出现与表头错位现象,而无法实现ellipsis开启后内容超出单元格则省略功能,现采取增加列宽度方式且关闭ellipsis属性功能方法解决问题
2、设备综合效率分析页面调整计算表格垂直滚动条方法以试图解决项目服务器上无法正常显示水平滚动条问题
已修改2个文件
43 ■■■■■ 文件已修改
src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue
@@ -101,7 +101,7 @@
      </div>
    </div>
    <div id="EfficiencyShift" style="flex:1;overflow: hidden">
    <div id="EfficiencyShift" style="flex:1;overflow: hidden;height: inherit">
      <a-table :columns="columns" rowKey="id" :dataSource="dataSource.records" :loading="tableLoading"
               :pagination="false" :scroll="{x:'max-content',y:scrollY}" bordered></a-table>
    </div>
@@ -190,7 +190,7 @@
            title: '班次',
            align: 'center',
            width: 300,
            dataIndex: 'shift',
            dataIndex: 'shift'
          },
          {
            title: '每班小时',
@@ -362,7 +362,7 @@
    },
    mounted() {
      window.addEventListener('resize', this.handleWindowResize)
      this.handleWindowResize()
      // this.handleWindowResize()
    },
    beforeDestroy() {
      window.removeEventListener('resize', this.handleWindowResize)
@@ -514,6 +514,7 @@
          })
          .finally(() => {
            this.tableLoading = false
            this.handleWindowResize()
          })
      },
@@ -542,16 +543,31 @@
       */
      handleWindowResize() {
        const devicePixelRatio = window.devicePixelRatio // 浏览器缩放比
        console.log('devicePixelRatio', devicePixelRatio)
        if (devicePixelRatio < 1) return // 缩放比小于1时不进行高度重新设置,因为scrollY变大后表格超出部分会被隐藏导致滚动条不可见
        const clientHeight = document.body.clientHeight // 浏览器可视区域高度
        const clientHeight = document.body.clientHeight || document.documentElement.clientHeight// 浏览器可视区域高度
        console.log('clientHeight', clientHeight)
        const containerTopToClientTopHeight = document.getElementById('EfficiencyShift').getBoundingClientRect().top // 表格容器顶部到浏览器可视区域顶部的间距
        const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0, -2) // 表格表头高度
        this.scrollY = clientHeight - containerTopToClientTopHeight - tableHeadHeight  // 表格垂直滚动条高度
        console.log('containerTopToClientTopHeight', containerTopToClientTopHeight)
        // const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0, -2) // 表格表头高度
        const tableHeadHeight = document.querySelector('.ant-table-thead th').offsetHeight // 表格表头高度
        console.log('tableHeadHeight', tableHeadHeight)
        // this.scrollY = clientHeight - containerTopToClientTopHeight - tableHeadHeight
        const tableSuitableScrollY = clientHeight - containerTopToClientTopHeight - tableHeadHeight // 表格垂直滚动条合适高度(表格水平滚动条刚好在可视区域最下方)
        // const tableSuitableScrollY = 600
        console.log('tableSuitableScrollY', tableSuitableScrollY)
        const tableContainerHeight = document.getElementById('EfficiencyShift').offsetHeight
        console.log('tableContainerHeight', tableContainerHeight)
        const tableMaxScrollY = tableContainerHeight - tableHeadHeight // 表格垂直滚动条最大高度(若超出则水平滚动条被遮挡)
        console.log('tableMaxScrollY', tableMaxScrollY)
        if (tableSuitableScrollY && tableSuitableScrollY < tableMaxScrollY) this.scrollY = tableSuitableScrollY
        else this.scrollY = tableMaxScrollY
        console.log('scrollY', this.scrollY)
      }
    }
  }
</script>
<style scoped>
<style scoped lang="less">
  .pagination {
    display: flex;
    justify-content: end;
@@ -594,11 +610,10 @@
    }
  }
  /deep/ .ant-table-row-cell-break-word{
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    white-space: initial;
  /deep/ .ant-table-body {
    &::-webkit-scrollbar {
      height: 12px;
    }
  }
</style>
vue.config.js
@@ -27,7 +27,7 @@
  configureWebpack: config => {
    // 生产环境取消 console.log
    if (process.env.NODE_ENV === 'production') {
      config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
      config.optimization.minimizer[0].options.terserOptions.compress.drop_console = false
    }
  },
  chainWebpack: (config) => {