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
| <template>
| <div style="height: 720px">
| <avue-tree ref="tree" v-loading="treeLoading" :data="treeData" :option="treeOption" @node-click="nodeClick">
| </avue-tree>
| </div>
| </template>
|
| <script>
| import {getEbomInfo} from "@/api/UI/uiDefine";
|
| export default {
| name: "product",
| props: {
| sourceData: {
| type: Array,
| default: {}
| },
| dataStore: {
| type: Array,
| default: []
| },
| paramVOS: {
| type: Array,
| default: {}
| }
| },
| data() {
| return {
| treeLoading: false,
| treeData: [],
| treeOption: {
| height: 'auto',
| menu: false,
| addBtn: false,
| defaultExpandAll: false,
| props: {
| label: 'text',
| value: 'oid',
| children: 'children',
| },
| lazy: true,
| treeLoad: (node, resolve) => {
| console.log(node);
| const params = {
| productNo: this.dataStore[0].productnumber,
| productOid: this.dataStore[0].oid,
| parentOid: node.level === 0 ? '' : node.data.oid
| }
| getEbomInfo(params).then(res => {
| console.log(res);
| resolve(res.data.data.map(item => {
| return {
| ...item,
| leaf: item.leaf
| }
| }))
| })
| }
| },
| }
| },
| created() {
| console.log('create');
| },
| methods: {
| nodeClick(row){
| console.log(row);
| this.$emit("setDataStore", {
| area: 'westAreaInDialog',
| type: 'tree',
| btmType:'workcontext',
| dataStore:[row]
| });
| }
| }
| }
| </script>
|
| <style scoped>
|
| </style>
|
|