yangfeng
2023-08-17 79b0a1a4f81ec7750e6deeb02bc9865785b6fee9
src/components/makepager/CommonFormTableView.vue
@@ -15,7 +15,7 @@
          :label="item.label"
          :width="item.width"
          :min-width="item.min"
          align="right"
          align="center"
        >
          <!-- 表头样式 -->
          <template slot="header">
@@ -31,7 +31,16 @@
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini" disabled></el-input>
                <el-input
                  v-model.trim="scope.row[item.prop]"
                  maxlength="50"
                  size="mini"
                  @change="
                    (val) => {
                      commonInputChange(val, item.prop, scope.row)
                    }
                  "
                ></el-input>
              </el-form-item>
              <el-form-item
                v-else-if="item.date"
@@ -40,7 +49,7 @@
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
                <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px" disabled>
                <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
                </el-date-picker>
              </el-form-item>
              <span v-else>{{ scope.row[item.prop] }}</span>
@@ -51,16 +60,16 @@
      </el-table>
    </el-form>
    <div v-if="!detailEnter" style="margin: 10px">
      <el-button size="small" type="primary" disabled>新增</el-button>
      <el-button size="small" type="primary" disabled>导入明细</el-button>
      <el-button size="small" type="primary" disabled>清空</el-button>
      <el-button size="small" type="primary" disabled>重算</el-button>
      <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>
    </div>
    <div v-if="showSummary.total || showSummary.refundable" style="height: 42px; line-height: 42px">
      <el-row :gutter="10">
        <el-col v-if="showSummary.total" :span="2" :offset="22">
          <span style="font-weight: bold">合计</span>
          <span style="margin-left: 10px">0.00</span>
          <span style="margin-left: 10px">{{ total }}</span>
        </el-col>
        <el-col v-if="showSummary.refundable" :span="2" :offset="22">
          <span style="font-weight: bold">应退款</span>
@@ -105,16 +114,11 @@
    }
  },
  data() {
    return {}
  },
  computed: {
    maxHeight() {
      if (this.productTableList.height) {
        return `calc(100vh - ${this.productTableList.height})`
      }
      return undefined
    return {
      total: 0
    }
  },
  computed: {},
  methods: {
    handleReserve(row) {
      return row._id ? row._id : row.id
@@ -158,6 +162,9 @@
                return this.number_format(prev, 2, ".", ",")
              }
            }, 0)
            if (column.property === "total") {
              this.total = sums[index]
            }
            sums[index]
          }
        })
@@ -191,6 +198,31 @@
        s[1] = s[1].substring(0, prec) //小数点位数超出长度时截取前面的位数
      }
      return s.join(dec)
    },
    // 新增
    add() {
      this.$emit("addProductClick")
    },
    commonInputChange(val, prop, row) {
      console.log(val, prop)
      console.log(row)
      this.$emit("inputContent", val, prop, row)
    },
    // 清空
    empty() {
      this.$emit("emptyProductClick")
    },
    // 重算
    recalculate() {
      this.$confirm("确定要重算明细所有行?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          this.$emit("recalculateProductClick")
        })
        .catch(() => {})
    }
  }
}