d3ce5578f87d181f619fc5b76c0cbed8cbdeace6.svn-base 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <el-tree
  3. class="el-treeWhite"
  4. :data="treeData"
  5. :props="treeProps"
  6. :expand-on-click-node="false"
  7. @node-click="nodeClick"
  8. node-key="adCode"
  9. :default-expanded-keys="tableDefaultExpandedKeys"
  10. style="max-height:100%;overflow:auto;"
  11. ></el-tree>
  12. </template>
  13. <script>
  14. import { getProvincialOrgList,getAdData} from "../api/duChaAPI.js";
  15. import {getDcqyList} from '../api/duChaPlan.js'
  16. export default {
  17. components: {},
  18. props:['rootCode','rootType','ddczId','adCodes'],
  19. data() {
  20. return {
  21. treeData: [],
  22. tableDefaultExpandedKeys: [],
  23. treeProps: {
  24. label: "adName",
  25. children: "children",
  26. disabled: false,
  27. expandOnClickNode: false ,
  28. first:true,
  29. },
  30. rootAdCode:'000000000000'
  31. };
  32. },
  33. mounted: function() {
  34. this.getQyList();
  35. },
  36. watch:{
  37. ddczId(n,o){
  38. this.getQyList();
  39. }
  40. },
  41. methods: {
  42. getQyList(){
  43. var _self = this;
  44. _self.treeData = [];
  45. getDcqyList(_self.ddczId,10000,1,'',this.adCodes).then((response)=>{
  46. var data = response.data.list;
  47. _self.treeData = data;
  48. this.$emit('treeDataEmit',data);
  49. // 默认加载第一个节点的数据
  50. if(_self.treeData.length>0){
  51. _self.nodeClick(_self.treeData[0])
  52. }
  53. });
  54. },
  55. nodeClick: function(data) {
  56. // alert(data.code+data.name+data.type);
  57. //修改逻辑 如果是行政区划 给两个code 一个完整code 一个likecode 用于like查询 省的就是两位 市县的四位 以此类推
  58. let likeCode = data.adCode;
  59. // if(data.type == 2){ //行政区
  60. likeCode = likeCode.endsWith('0000000000')?likeCode.substr(0,likeCode.length-10):likeCode;
  61. likeCode = likeCode.endsWith('00000000')?likeCode.substr(0,likeCode.length-8):likeCode;
  62. likeCode = likeCode.endsWith('000000')?likeCode.substr(0,likeCode.length-6):likeCode;
  63. likeCode = likeCode.endsWith('000')?likeCode.substr(0,likeCode.length-3):likeCode;
  64. // }
  65. this.$emit("provTreeSelectChange", { 'code':data.adCode, 'name': data.adName,'type':data.type,'likeCode':likeCode});
  66. },
  67. }
  68. };
  69. </script>
  70. <style scoped>
  71. </style>