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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<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 type = Object.prototype.toString.call(curr[keyCurr]);
 
          if (type === "[object Object]") {
            let { value, valueDesc } = curr[keyCurr];
            if (findItem && findItem.isDesc) {
              value = valueDesc;
            }
            if (keyCurr === "buttons") {
              value = curr[keyCurr];
            }
            subPre[keyCurr] = value;
            return subPre;
          } 
          
          else {
            subPre[keyCurr] = curr[keyCurr];
            return subPre;
          }
        }, {});
        pre.push(obj);
        return pre;
      }, []);
    },
  },
};
</script>