yangfeng
2023-07-05 5cc1ac83a9cc0aa10acffb54a1c4d62b73b595d5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<template>
  <div class="page-view">
    <el-form ref="form" :model="productTableList" :show-message="false" label-position="right">
      <el-table :data="productTableList.tableData" style="width: 100%">
        <el-table-column prop="id" label="#" width="30"></el-table-column>
        <el-table-column prop="productName" label="产品名称">
          <template slot-scope="scope">
            <el-form-item
              label=" "
              :prop="'tableData.' + scope.$index + '.productName'"
              :rules="[{ required: true, message: '输入不能为空' }]"
            >
              <el-input v-model.trim="scope.row.productName" maxlength="50" size="mini" style="width: 70px"></el-input>
            </el-form-item>
          </template>
        </el-table-column>
        <el-table-column prop="productNumber" label="产品编号"></el-table-column>
        <el-table-column prop="startDate" label="服务开始日" width="140">
          <template slot-scope="scope">
            <el-form-item
              label=" "
              :prop="'tableData.' + scope.$index + '.startDate'"
              :rules="[{ required: true, message: '输入不能为空' }]"
            >
              <el-date-picker
                v-model="scope.row.startDate"
                size="mini"
                type="date"
                placeholder="选择日期"
                style="width: 90px"
              >
              </el-date-picker>
            </el-form-item>
          </template>
        </el-table-column>
        <el-table-column prop="endDate" label="服务到期日" width="140">
          <template slot-scope="scope">
            <el-form-item
              label=" "
              :prop="'tableData.' + scope.$index + '.endDate'"
              :rules="[{ required: true, message: '输入不能为空' }]"
            >
              <el-date-picker
                v-model="scope.row.endDate"
                size="mini"
                type="date"
                placeholder="选择日期"
                style="width: 90px"
              >
              </el-date-picker>
            </el-form-item>
          </template>
        </el-table-column>
        <el-table-column prop="number" label="数量"></el-table-column>
        <el-table-column prop="" label="含税单价"> </el-table-column>
        <el-table-column prop="" label="不含税单价"> </el-table-column>
        <el-table-column prop="" label="折扣率(%)"></el-table-column>
        <el-table-column prop="" label="折扣额"> </el-table-column>
        <el-table-column prop="" label="税(销售)"> </el-table-column>
        <el-table-column prop="" label="实际含税单价"></el-table-column>
        <el-table-column prop="" label="价税合计"> </el-table-column>
        <el-table-column prop="" label="描述"> </el-table-column>
      </el-table>
    </el-form>
    <div style="margin: 10px">
      <el-button size="small" type="primary">新增</el-button>
      <el-button size="small" type="primary">导入明细</el-button>
      <el-button size="small" type="primary">清空</el-button>
      <el-button size="small" type="primary">重算</el-button>
    </div>
  </div>
</template>
 
<script>
export default {
  name: "CommmonFormTableView",
  props: {
    productTableList: {
      type: Object,
      default: () => {
        return {
          tableData: [], // 接口返回数据
          tableColumn: [
            // table表单
            { label: "", prop: "", min: 200, tooltip: true }
          ]
        }
      }
    }
  },
  data() {
    return {}
  },
  computed: {
    maxHeight() {
      if (this.productTableList.height) {
        return `calc(100vh - ${this.productTableList.height})`
      }
      return undefined
    }
  },
  methods: {
    handleReserve(row) {
      return row._id ? row._id : row.id
    },
    handleSelectionChange(val) {
      this.$emit("getSelectArray", val)
    }
  }
}
</script>
 
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
.page-view {
  .el-form-item {
    margin-bottom: 0;
  }
}
</style>