张涛
2024-08-30 082b572b91abd0d5ae8e409714553130448aa6d1
src/views/systemSetting/silkStandardSetting/components/silkTableList.vue
@@ -3,8 +3,10 @@
    <div class="top-box">
      <div class="table-box" :style="{ width: detailEnter ? '95%' : '100%' }">
        <el-form ref="form" :model="tableList" :show-message="false" label-position="right">
          <el-table
            ref="fromTable"
            v-if="tableShow"
            :data="tableList.tableData"
            style="width: 100%"
            @selection-change="handleSelectionChange"
@@ -45,11 +47,11 @@
                      }
                    "
                  ></el-input>
                  <div class="common-select-btn" @click="clearupColumn(item.prop)">
                  <div class="common-select-btn" @click="clearupColumn(item.prop,i)">
                    <i class="el-icon-remove" title="删除"></i>
                  </div>
                </div>
                <span v-else>{{ item.label }}</span>
                <span v-else @click="editColumnInput(item,i, item.prop)">{{ item.label||'--' }}</span>
              </template>
              <!-- column样式 -->
              <template slot-scope="scope">
@@ -192,8 +194,8 @@
      </div>
    </div>
    <div v-if="detailEnter" style="margin: 10px">
      <div class="add-btn-box" @click="addRowClick">
        <i class="el-icon-circle-plus"></i>
      <div class="add-btn-box">
        <i class="el-icon-circle-plus" @click="addRowClick"></i>
      </div>
      <!-- <el-button size="small" type="primary" :disabled="!isOperate" @click="add">新增</el-button> -->
      <!-- <el-button size="small" type="primary" disabled>导入明细</el-button> -->
@@ -236,6 +238,11 @@
      type: Boolean,
      default: true
    },
    // 是否可以编辑表头
    isEdit: {
      type: Boolean,
      default: false
    },
    silkTableList: {
      type: Object,
      default: () => {
@@ -256,7 +263,8 @@
      productList: [],
      tableList: [],
      projectIndex: 0,
      projectOptions: getDataByType("projectOptions")
      projectOptions: getDataByType("projectOptions"),
      tableShow:true,
    }
  },
  created() {
@@ -271,7 +279,18 @@
        this.getTableInfo()
      },
      immediate: true
    }
    },
    'silkTableList.tableColumn': {
      handler() {
        this.tableShow=false;
        this.$nextTick(()=>{
          this.tableShow=true;
          this.$forceUpdate()
        })
      },
      immediate: true
    },
  },
  computed: {},
  methods: {
@@ -319,16 +338,26 @@
      console.log(val, prop, "添加列头部标题输入")
      this.$emit("addColumnInputChange", val, prop)
    },
    editColumnInput(item,i,prop){
      if(prop.indexOf('prop')!=-1&&this.isEdit){
        item.addColumn=true;
        this.$set(this.tableList.tableColumn[i],'addColumn',true)
        this.$forceUpdate()
        this.$emit("editColumnInput", item, i,prop)
      }
    },
    // 删除列
    clearupColumn(prop) {
    clearupColumn(prop,index) {
      console.log(prop)
      this.$emit("clearupColumn", prop)
      this.$emit("clearupColumn", prop,index)
    }
  },
  //解决表格抖动问题
  beforeUpdate() {
    this.$nextTick(() => {
      this.$refs["fromTable"].doLayout()
        if(this.$refs["fromTable"]){
            this.$refs["fromTable"].doLayout()
        }
    })
  }
}
@@ -367,7 +396,10 @@
    font-size: 26px;
    color: #5582f3;
    margin-left: 50px;
    cursor: pointer;
    .el-icon{
      cursor: pointer;
      padding:5px;
    }
  }
  .add-column-box {
    display: flex;
@@ -395,9 +427,22 @@
  .el-table th.el-table__cell > .cell {
    padding: 0 5px;
  }
  .el-table th.el-table__cell > .cell {
    span{
      width:100%;
      display:inline-block;
    }
  }
  .el-table__cell{
    padding: 5px 0 !important;
    height: 35px;
  }
 .el-input__suffix{
  text-align:right;
 }
  .el-input__inner {
    // text-align: left;
    text-align: center !important;
    // text-align: center !important;
  }
}
</style>