shuishen
2021-06-05 4a16ab34be4003099f524dbe514a5af24e7a7801
widgets/LeftNavigationBar/Widget.js
@@ -29,7 +29,9 @@
         layers: {},
         startup: function () {
            // 暴露在外的接口
            this.begin(this.data);
            // this.begin(this.data);
            var that = this;
            this.getData();
            $('.left-navigation-bar-but').click(() => {
               this.changeImg = !this.changeImg;
@@ -46,59 +48,45 @@
            $('.jimu-widget-instructions').css({ 'left': '260px' });
            var dictionaries = []//转数据
               , inits = (d, useData) => {
                  var b = useData || [];
                  for (var k in d) {
                     let val = {
                        title: d[k].title,
                        id: d[k].id
                     }
                     b.push(val);
                     if (d[k].children) {
                        b[k].child = [];
                        inits(d[k].children, b[k].child)
                     }
                  }
               };
            inits(this.data, dictionaries);
            $('#left-navigation-bar-main-search').click(() => {//搜索事件
               var val = $('#left-navigation-bar-main-input').val();
               if (val) {
                  var ids = ''
                     , clearOur = () => {
                        let dom = $(`[data-id]`);
                        // console.log(dom);
                        dom.removeClass('layui-tree-spread');
                        let domDiv = dom.find('.layui-tree-pack');
                        domDiv.css({ 'display': 'none' })
                     }
                     , useit = (d) => {
                        var d = d;
                  var clearOur = () => {
                     let dom = $(`[data-id]`);
                     // console.log(dom);
                     dom.removeClass('layui-tree-spread');
                     let domDiv = dom.find('.layui-tree-pack');
                     domDiv.css({ 'display': 'none' })
                  }
                     , a
                     , useit = (d,i) => {
                        var i = i || [];
                        for (var k in d) {
                           if (d[k].title.indexOf(val) != -1) {//选中id
                              let a = '' + d[k].id,
                                 b = a.split('');
                              for (var i in b) {
                                 let id = a.slice(0, i);//选中项的所有父级id
                                 // console.log(id)
                                 let dom = $(`[data-id='${id}']`);
                                 dom.addClass('layui-tree-spread');
                                 let domDiv = dom.find('.layui-tree-pack').eq(0);
                                 domDiv.css({ 'display': 'block' })
                              }
                           if (d[k].who == 'father') {
                              that.father = d[k].id
                              // console.log(that.father, i)
                           }
                           if (d[k].child) {
                              useit(d[k].child);
                           if (d[k].title.indexOf(val) != -1) {//选中id
                              a = '' + d[k].id;
                              // var b = a.split('');
                              // for (var i in b) {
                              let id = that.father;//选中项的所有父级id
                              //    // console.log(id)
                              let dom = $(`[data-id='${id}']`);
                              dom.addClass('layui-tree-spread');
                              let domDiv = dom.find('.layui-tree-pack').eq(0);
                              domDiv.css({ 'display': 'block' })
                              // }
                              // console.log(a, that.father)
                           }
                           if (d[k].children) {
                              i.push(that.father)
                              useit(d[k].children,i);
                           }
                        }
                     };
                  clearOur();
                  useit(dictionaries);
                  useit(that.data);
               } else {
               }
@@ -126,6 +114,61 @@
         resize: function () {
         },
         getData: function () {
            var url = 'http://171.34.76.171:8880/zhsd-wetResource/GeoData/queryGeoDataTree'
               , that = this;
            axios.get(url, {
               headers: {
                  "token": 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjI4Nzc0MTIsImV4cCI6MTYyNTQ2OTQxMn0.f2GhYYINfYgSbyKTqqGluyU3rdy_TT8mf15iLILS1l2EUSye_h9O6CSUVWpLYMrdrjzqDWwrbROxfhy-8ly0uA'
               }
            }).then((res) => {
               if (res.data.code == '200') {
                  that.changeData(res.data.data);//重写数据
               }
            })
         },
         changeData: function (val) {//重写数据
            var data = [],
               i = 1,
               inits = (d, childData) => {
                  var b = childData || [];
                  for (var k in d) {
                     let a = {
                        title: d[k].name,
                        // id: d[k].id,
                        // field: String(d[k].id),
                        id: i,
                        field: String(i)
                     }
                     b.push(a);
                     i++;
                     if (d[k].children.length != 0) {
                        b[k].children = [];
                        b[k].who = 'father';
                        inits(d[k].children, b[k].children)
                     }
                  }
               };
            inits(val, data);
            console.log(data)
            var ccinit = (a) => {
               for (let k in a) {
                  if (a[k].children) {
                     a[k].who = 'father';
                     // console.log(a[k].id)
                     ccinit(a[k].children)
                  }
               }
            };
            // ccinit(this.data);
            // console.log(this.data)
            this.data = data;
            this.begin(this.data);
         },
         begin: function (data) {
            var that = this;
@@ -185,6 +228,7 @@
            })
         },
         changeImg: true,
         father: [],
         data: [{
            title: '采集站点'
            , id: 1