| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <template>
- <el-tree
- class="el-treeWhite"
- :data="treeData"
- :props="treeProps"
- :expand-on-click-node="false"
- @node-click="nodeClick"
- node-key="adCode"
- :default-expanded-keys="tableDefaultExpandedKeys"
- lazy
- :load="loadAddvData"
- style="max-height:100%;overflow:auto;"
- ></el-tree>
- </template>
- <script>
- import { getProvincialOrgList,getAdData} from "../api/duChaAPI.js";
- export default {
- components: {},
- props:['rootCode','rootType'],
- data() {
- return {
- treeData: [],
- tableDefaultExpandedKeys: [],
- treeProps: {
- label: "adName",
- children: "children",
- disabled: false,
- expandOnClickNode: false ,
- first:true,
- },
- rootAdCode:'000000000000'
- };
- },
- mounted: function() {
- // this.loadTreeListData();
- this.getAdDataList();
- },
- methods: {
- getAdDataList(){
- var _self = this;
- _self.treeData = [];
- getAdData(_self.rootAdCode).then((res)=>{
- if(res.data){
- _self.treeData = res.data;
- // 默认加载第一个节点的数据
- if(_self.treeData.length){
- _self.nodeClick(_self.treeData[0])
- }
- }
- })
- },
- loadTreeListData:function(){
- if(this.rootCode&&this.rootType&&this.rootType!=''&&this.rootCode!=''){
- getProvincialOrgList(this.rootCode,this.rootTyp).then((res) =>{
- console.log(res);
- var children = [];
- res.data.forEach((element,index)=>{
- if(element.type==2){
- children.push(element);
- }
- })
- console.log(children);
- this.treeData = children;
- },(err) =>{});
- }else{
- getProvincialOrgList().then((res) =>{
- console.log(res);
- var children = [];
- res.data.forEach((element,index)=>{
- if(element.type==2){
- children.push(element);
- }
- })
- console.log(children);
- this.treeData = children;
- },(err) =>{});
- }
- },
- nodeClick: function(data) {
- // alert(data.code+data.name+data.type);
- //修改逻辑 如果是行政区划 给两个code 一个完整code 一个likecode 用于like查询 省的就是两位 市县的四位 以此类推
- let likeCode = data.adCode;
- // if(data.type == 2){ //行政区
- likeCode = likeCode.endsWith('0000000000')?likeCode.substr(0,likeCode.length-10):likeCode;
- likeCode = likeCode.endsWith('00000000')?likeCode.substr(0,likeCode.length-8):likeCode;
- likeCode = likeCode.endsWith('000000')?likeCode.substr(0,likeCode.length-6):likeCode;
- likeCode = likeCode.endsWith('000')?likeCode.substr(0,likeCode.length-3):likeCode;
- // }
- this.$emit("provTreeSelectChange", { 'code':data.adCode, 'name': data.adName,'type':data.type,'likeCode':likeCode,'adFullName':data.adFullName});
- },
- loadAddvData: function(node, resolve) {
- var _self = this;
- try {
- if(node.data.adCode!=undefined){
- getAdData(node.data.adCode).then((res)=>{
- if(res.data){
- var data = res.data;
- resolve(data);
- }
- })
- }
- // if(this.first){
- // this.first = false;
- // }else{
- // getProvincialOrgList(node.data.code,node.data.type).then(
- // response => {
- // var data = response.data;
- // var children = [];
- // data.forEach((element,index)=>{
- // if(element.type==2){
- // children.push(element);
- // }
- // })
- // resolve(children);
- // },
- // response => {}
- // );
- // }
- } catch (e) {
- }
- },
- }
- };
- </script>
- <style scoped>
- </style>
|