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>
|
|