lxp
2025-03-14 38f01dc619fb9b7326abc345a216793750758c9a
src/components/Table/lims-table.vue
@@ -1,7 +1,8 @@
<template>
  <div>
    <!-- 表格 -->
    <el-table ref="multipleTable" v-loading="tableLoading" :border="border" :data="tableData"
    <el-table ref="multipleTable" v-loading="tableLoading" element-loading-text="加载中..."
      element-loading-spinner="el-icon-loading" :border="border" :data="tableData"
      :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" :height="height"
      :highlight-current-row="highlightCurrentRow" :row-class-name="rowClassName" :row-style="rowStyle"
      :row-key="rowKey" :span-method="spanMethod" :stripe="stripe" style="width: 100%" tooltip-effect="dark"
@@ -190,7 +191,7 @@
  props: {
    isSelection: {
      type: Boolean,
      default: false,
      default: undefined,
    },
    height: {
      type: String,
@@ -258,7 +259,7 @@
    },
    rowKey: {
      type: String,
      default: undefined,
      default: "id",
    },
    page: {
      type: Object,
@@ -279,14 +280,24 @@
    };
  },
  watch: {
    column(val) {
      this.doLayout();
    },
    // column(val) {
    //   this.doLayout();
    // },
  },
  updated() {
    this.$nextTick(() => {
      this.$refs.multipleTable.doLayout();
    });
  },
  mounted() {
    this.calculateSpanInfo();
  },
  methods: {
    doLayout() {
      this.$nextTick(() => {
        this.$refs.multipleTable && this.$refs.multipleTable.doLayout();
      });
    },
    getWidth(row, row0) {
      let count = 0;
      row.forEach((a) => {
@@ -358,6 +369,7 @@
      if (!linkEvent) {
        return this.$message.warning("请配置lingk事件");
      }
      console.log(linkEvent);
      linkEvent.vueComponent[linkEvent.method](row);
    },
    // 合并单元格