yangfeng
2023-08-24 4a63f03516cc177ad60ebbe28a65e80587846b3e
src/components/makepager/CommonFormTableView.vue
@@ -8,6 +8,7 @@
        :span-method="arraySpanMethod"
        style="width: 100%"
      >
        <el-table-column v-if="tableList.isReturn" type="index" label="#" width="50" align="center"></el-table-column>
        <el-table-column
          v-for="(item, i) in tableList.tableColumn"
          :key="i"
@@ -46,7 +47,6 @@
                v-else-if="item.productName"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '产品名称不能为空' }]"
              >
                <div class="custom-name">
                  <el-autocomplete
@@ -130,7 +130,9 @@
      <el-button size="small" type="primary" @click="add">新增</el-button>
      <!-- <el-button size="small" type="primary" disabled>导入明细</el-button> -->
      <el-button size="small" type="primary" @click="empty">清空</el-button>
      <el-button size="small" type="primary" @click="recalculate">重算</el-button>
      <el-button size="small" type="primary" @click="recalculate" :disabled="isRecalculate ? false : true"
        >重算</el-button
      >
    </div>
    <div v-if="showSummary.total || showSummary.refundable" style="height: 42px; line-height: 42px">
      <el-row :gutter="10">
@@ -169,6 +171,7 @@
      default: () => {
        return {
          tableData: [], // 接口返回数据
          isReturn: false,
          tableColumn: [
            // table表单
            { label: "", prop: "", min: 200, tooltip: true }
@@ -199,12 +202,18 @@
        title: "",
        infomation: {}
      },
      productIndex: 0
      productIndex: 0,
      isRecalculate: true
    }
  },
  created() {
    this.getProductList()
    this.tableList = this.productTableList
    if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") {
      this.isRecalculate = false
    } else {
      this.isRecalculate = true
    }
  },
  computed: {},
  methods: {
@@ -256,7 +265,7 @@
          sums[index] = "小计:"
          return
        }
        const title = ["#"]
        const title = ["#", "产品名称"]
        // 去除某些不需要计算的数据
        if (title.includes(column.label)) {
          sums[index] = ""
@@ -323,6 +332,7 @@
    },
    // 清空
    empty() {
      this.isRecalculate = false
      this.$emit("emptyProductClick")
    },
    // 重算
@@ -334,6 +344,9 @@
      })
        .then(() => {
          this.$emit("recalculateProductClick")
          this.tableList.tableData.map((ite) => {
            ite.total = ite.amount ? ite.amount * ite.price : 1 * ite.price
          })
        })
        .catch(() => {})
    },
@@ -350,6 +363,7 @@
    },
    handleSelectClient(item, prop, row) {
      // this.clientId = item.id
      this.isRecalculate = true
      console.log(item, prop, row)
      this.tableList.tableData.map((ite) => {
        if (ite.name === item.name) {
@@ -369,6 +383,7 @@
    selClient(item) {
      console.log(item)
      console.log(this.tableList.tableData)
      this.isRecalculate = true
      // this.editConfig.infomation.client_name = row.name
      this.tableList.tableData.map((ite, index) => {
        if (index === this.productIndex) {