| | |
| | | <template> |
| | | <avue-input-tree default-expand-all v-model="defaultValue" :placeholder="placeholder" :dic="dicData"></avue-input-tree> |
| | | <avue-input-tree :props="props" :lazy="lazy" :tree-load="treeLoad" :leaf-only="!options.onlyLeaf" :multiple="isMuti" v-model="value" :placeholder="placeholder" :dic="treeData"></avue-input-tree> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getTree,getLazyTree} from "@/api/refer/tree"; |
| | | |
| | | export default { |
| | | name: "vciWebReferTree", |
| | | props:["options","defaultValue"], |
| | | props:["options","value"], |
| | | data() { |
| | | return { |
| | | lazy:this.options.loadType == 'node', |
| | | isMuti:this.options.muti, |
| | | placeholder:'请选择内容', |
| | | dicData:[{ |
| | | label:'选项1', |
| | | value:0, |
| | | children:[{ |
| | | label:'选项3', |
| | | value:2 |
| | | },{ |
| | | label:'选项4', |
| | | value:3 |
| | | }] |
| | | },{ |
| | | label:'选项2', |
| | | value:1 |
| | | }] |
| | | props: { |
| | | value:this.options.valueField || 'oid', |
| | | label:this.options.textField || "name" |
| | | //value:"value", |
| | | //label:"title" |
| | | }, |
| | | treeData:[], |
| | | params:{} |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getParams(); |
| | | }, |
| | | mounted() { |
| | | if(!this.lazy){ |
| | | this.getTree() |
| | | } |
| | | }, |
| | | methods: { |
| | | getParams:function (){ |
| | | |
| | | }, |
| | | getTree(){ |
| | | getTree(this.params,this.options.url).then(res => { |
| | | this.treeData=res.data |
| | | }) |
| | | }, |
| | | treeLoad: function (treeNode, resolve) { |
| | | const parentId = (treeNode.level === 0) ? 0 : treeNode.data.id; |
| | | getLazyTree({...this.params,parentId:parentId}).then(res => { |
| | | resolve(res.data.data.map(item => { |
| | | return { |
| | | ...item, |
| | | leaf: !item.hasChildren |
| | | } |
| | | })) |
| | | }); |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |