shuishen
2021-06-23 9356ddd3554e1ddf8847923d0ce2eceeef8411f0
widgets/legends/Widget.js
@@ -34,76 +34,52 @@
                topic.subscribe("removeLayersLegends", lang.hitch(this, this.removeLayersLegends));
            },
            onGetLegendsData: function (item) {
                var val = item == '  ' ? '' : item;
                var that = this,
                    twoData = []
                    // url = `http://171.34.76.171:8880/pyh-wetResource/monitorRecords/queryMonitorData?name=&start&limit&type=${index}`
                    ,
                    token = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjMyMjU5OTcsImV4cCI6MTYyNTgxNzk5N30.zWpoKa5AK7xLIPNm-CXoHY9D5kpk9AiUTGkuAQOZi2Rdl2BfroT4IqxjBpyUPZlgwCjG2CoJqy_7rnnodpmqNw',
                    myGet = function (val, i) {
                        var url = `http://171.34.76.171:8880/pyh-wetResource/monitorRecords/queryMonitorData?name=${val}&start&limit&type=${i}`;
                        axios.get(url, {
                            headers: {
                                'token': token
                            }
                        }).then((res) => {
                            if (res.data.code == 200) {
                                var data = res.data.data.panoramaList || res.data.data.stationList || res.data.data.videoList || [],
                                    onceData = {};
                                for (var k in data) {
                                    if (i == 0) {
                                        onceData[data[k].protectArea] = onceData[data[k].protectArea] == undefined ? 1 : onceData[data[k].protectArea] += 1;
                                    } else if (i == 2) {
                                        onceData[data[k].protectName] = onceData[data[k].protectName] == undefined ? 1 : onceData[data[k].protectName] += 1;
                                    } else if (i == 1) {
                                        onceData[data[k].wetlandName_] = onceData[data[k].wetlandName_] == undefined ? 1 : onceData[data[k].wetlandName_] += 1;
                                    }
                                }
                                twoData.push(onceData)
                                if (i == 2) {
                                    ready(twoData, item);
                                }
                            } else {
                                console.log('请求访问失败')
                            }
                        })
                    },
                    ready = function (d, val) {
                        if (val == '') {
                            d = {};
                        }
                        var init = (data, dom, img) => {
                            var q = data,
                                num = 0,
                                strq, domq = $(dom),
                                h = '';
                            domq.empty();
                            for (var k in q) {
                                num += q[k];
                                h += `<div class="m-init m-i-child"> <i></i> ${k}<i>(${q[k]}个)</i> </div>`;
                            }
                            strq = `<div class="m-init"> <i><img src="./images/addL/${img}.png" /></i> ${img}站点 <i>(${num}个)</i> </div>` + h;
                            domq.append(strq);
                        }
                        // 全景
                        init(d[0], '#legendsInquanjing', '全景');
                        // 监控
                        init(d[2], '#legendsInjiankong', '监控');
                        // 监测
                        init(d[1], '#legendsInjiance', '监测');
                    },
                    doit = () => {
                        var i = 0;
                        myGet(val, i);
                        var i = 1;
                        myGet(val, i);
                        var i = 2;
                        myGet(val, i);
            onGetLegendsData: function (item, data, imgurl, type) {
                if (item == this.name) {
                    var domq = $("#legendsInquanjing");
                    domq.empty();
                    var liList = $(".jimu-widget-legends .layer-legends li");
                    if (data == "" && data.length == 0) {
                        if (liList.length == 0) {
                            $(".jimu-widget-legends").stop().hide();
                        }
                        return;
                    }
                doit();
                    var onceData = {};
                    for (var k in data) {
                        if (type == "全景站点") {
                            onceData[data[k].protectArea] = onceData[data[k].protectArea] == undefined ? 1 : onceData[data[k].protectArea] += 1;
                        } else if (type == "监控站点") {
                            onceData[data[k].protectName] = onceData[data[k].protectName] == undefined ? 1 : onceData[data[k].protectName] += 1;
                        } else if (type == "监测站点") {
                            onceData[data[k].wetlandName_] = onceData[data[k].wetlandName_] == undefined ? 1 : onceData[data[k].wetlandName_] += 1;
                        }
                    }
                    var itemBox = $("<div class='m-init'> <i class='m-init-h'><img src='" + imgurl + "' /></i> " + type + " <i>(" + data.length + "个)</i> </div>")
                    var h = '';
                    for (var k in onceData) {
                        h += `<div class="m-init m-i-child"> <i></i> ${k}<i>(${onceData[k]}个)</i> </div>`;
                    }
                    domq.append(itemBox , h);
                    $(".jimu-widget-legends").stop().show();
                }
            },
            addLayersLegends: function (item, obj) {
@@ -120,6 +96,10 @@
                            $(".jimu-widget-legends .layer-legends").append(list);
                        }
                    }
                    var liList = $(".jimu-widget-legends .layer-legends li");
                    if (liList.length > 0 && $(".jimu-widget-legends").is(":hidden")) {
                        $(".jimu-widget-legends").stop().show();
                    }
                }
            },
            removeLayersLegends: function (item, obj) {
@@ -130,12 +110,19 @@
                            $(liList[i]).remove();
                        }
                    }
                    var domq = $("#legendsInquanjing");
                    if (domq.text().trim() == "") {
                        $(".jimu-widget-legends").stop().hide();
                    }
                }
            },
            closeToolBox: function (item) {},
            onOpen: function () {
                //面板打开的时候触发 (when open this panel trigger)
                $(".jimu-widget-legends").stop().hide();
            },
            onClose: function () {