zhaoxiaoqiang1
2026-01-04 f1d30d03186c79ca2cbcfe60d6d2ce7d73fba97b
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
<template>
  <TableList v-bind="$attrs" v-on="$listeners" :list="changedList" :header="header"></TableList>
</template>
 
<script>
import TableList from './TableList'
export default {
  components: {
    TableList
  },
  props: {
    /**
     * 列表信息
     * @example
     * [{ "certificateUse": { "value": "40", "codeNo": "CertificateUse", "valueDesc": "其他", "name": null, "type": null, "orders": null, "filedDescription": null, "visible": true, "required": true, "writeAble": true }]
     */
    list: {
      type: Array,
      default: () => []
    },
 
    /**
     * 表头说明
     * @example
     * [ { "prop": "documentType", "label": "凭证类型", "isDesc": true, "width": "150px" }]
     */
    header: {
      type: Array,
      default: () => []
    }
  },
  computed: {
    changedList() {
      let { list, header } = this
      return list.reduce((pre, curr) => {
        const obj = Object.keys(curr).reduce((subPre, keyCurr) => {
          let findItem = header.find(({ prop }) => prop === keyCurr)
          let { value, valueDesc } = curr[keyCurr]
          if (findItem && findItem.isDesc) {
            value = valueDesc
          }
          if (keyCurr === 'buttons') {
            value = curr[keyCurr]
          }
          subPre[keyCurr] = value
          return subPre
        }, {})
        pre.push(obj)
        return pre
      }, [])
    }
  }
}
</script>