高碑店乡房屋管理-笔记

1.获取select的值:$("#village option:selected").val();

2.keypess、kewdown、keyup的区别:在KeyDown中返回的是键盘的代码, 而KeyPress返回的是ASCII字符;如果只想读取字符, 用KeyPress, 如果想读各键的状态, 用KeyDown。

keydown:用户在键盘上按下某按键时发生。一直按着某按键则会不断触发(opera浏览器除外)。
keypress:用户按下一个按键,并产生一个字符时发生(也就是不管类似shift、alt、ctrl之类的键,就是说用户按了一个能在屏幕上输出字符的按键keypress事件才会触发)。一直按着某按键则会不断触发。
keyup:用户释放某一个按键是触发。

下面代码:产生字符时发生,测试按下enter键盘keypress会触发;如果换作keydown,按下任意键都会触发,最好用keypress。

node.find(".searchData").keypress(function (event) {
            if (event.charCode == "13") {console.log(event.charCode)
                node.find(".searchButton").click();
            }
        });

3.动态添加下拉表单,layui渲染失效的解决方法:form 模块 的自动化渲染是会对其失效,使用form.render()更新全部。form.render(type, filter);type为表单的type类型,filter为 class="layui-form" 所在元素的 lay-filter="" 的值。

4.获取键值:for(let x in obj) { console.log(x,obj[x]) }

eg:layui.use('table', function (header) {//房屋用途筛选统计表
            var table = layui.table;
            var colsListsTb=new Array(),colsListsTh=new Array();
            let colslistX=fwdata1[0];
            let fwdataArr=fwdata.split(',');
            colsListsTh=[{ field:"用途",rowspan: 2, title: "用途", minWidth: 100, align: "center"}]
            for( let x in fwdataArr){
                colsListsTh.push({title:fwdataArr[x], align:'center', minWidth: 100,colspan: 2});
            }
            colsListsTh.push({ field:"总计",rowspan: 1, title: "总计", minWidth: 100, align: "center",colspan: 2})
            for( let x in colslistX){
                if(x!=="用途" && x!=="总计"){colsListsTb.push({field:x, title:x, align:'center', minWidth: 100});}
            }                
            table.render({
                elem: '#fwyt1',
                data: fwdata1,
//              page: true, //开启分页
                size: 'sm', //小尺寸的表格
                limit:40,//限制每页显示的最大数量
                cols: [
                        colsListsTh,
                        colsListsTb                        
                    ]
            });
        });

var regGy = new RegExp("国有");
 for( let x in colslistX){//地类类型中用旧接口改动前端渲染数据(将含有‘集体’字段的值过滤掉,将‘国有’字段两字删掉)
      if(x.indexOf("集体")>-1){continue;}
       var regGystr=x.replace(regGy,"");
        if(x!=="占地面积总计"){//旧的接口中有“国有占地面积总计”和'占地面积统计',上面已经删除‘国有’字段,故此处去掉一个
                colsListsTb.push({field:x, title:regGystr, align:'center', minWidth: 100});
         }
  }

5.echarts表中如表位置调整:

x 为直角坐标系内绘图网格左上角横坐标,数值单位px,支持百分比(字符串),如'50%'(显示区域横向中心);

y 为左上纵坐标,x2为右下横坐标,y2为右下纵坐标。

6.concat() 方法用于连接两个或多个数组。

function CallbackForLegend() {//图例显示列表中的成员村界,社区界,国有土地,集体土地,房屋数据,地类数据
    return dklegendsetting.concat(fwlegendsetting,fwlegendsetting2,fwlegendsettingJttd,fwlegendsettingFwsj,fwlegendsettingDlfb);
}

7.清除区域查询事件(bug是选择区域查询后,用测量工具还会调用区域查询方法)

function queryByExtent() {
    __drawToolbar.activate(esri.toolbars.Draw.POLYGON);
    if (__drawEvent) dojo.disconnect(__drawEvent);
    __drawEvent = dojo.connect(__drawToolbar, 'onDrawEnd', function (geometry_search) {     
        map.graphics.clear();
        map.infoWindow.hide();var shuxingJson=[];var onlyId='';
        require(["esri/graphic", "esri/geometry/Polygon", "esri/geometry/Extent", "esri/SpatialReference"], function (Graphic, Polygon, Extent, SpatialReference) {
            websocket.send("JsonSearchGBDFWByExtentFilterRequest", $.extend(userData, { extent: geometry_search.getExtent() }), function (response) {
                for (var i = 0; i < response.data.fwlist.length; i++) {
                    var item = response.data.fwlist[i];
//                  if (item.polygon == null) {
//                      continue;
//                  }
                    if (item.polygon.rings.length===0) {
                        continue;
                    }
                    var geometry = new Polygon(item.polygon);
                    //排除不在查询范围的数据
                    var flag = false;
//                  if (geometry.rings.length===0) break;
                    for (var k = 0; k < geometry.rings[0].length; k++) {
                        var ring = geometry.rings[0][k];
                        var point = new esri.geometry.Point(ring[0], ring[1], new esri.SpatialReference({ wkid: 2436 }));
                        if (geometry_search.contains(point)) {
                            flag = true;
                            break;
                        }
                    }
                    if (!flag) continue;
                    
                    var graphic = new Graphic(geometry, symbol_dk_high);
                    graphic.setAttributes(item.fw);
                    shuxingJson.push(item.fw);onlyId+=item.fw.FWID+",";
                    map.graphics.add(graphic);                     
                };
                websocket.send("JsonStaticGBDFWRequest", $.extend(userData, { ONLYID:onlyId }), function (_json) {
                    var dataId=_json.data;
                       fwSearchInfo(shuxingJson,dataId);                     
                    $(".chartBoxFrame2").removeClass("hide");
                    $(".esriPopup").removeClass('hide');//信息弹框去掉区域查询时添加的hide   
                    $("#clickTj").removeClass('layui-this');//控制区域查询表单显示,默认显示属性表
                    $("#clickSx").addClass('layui-this');
                })           
            });                
        });       
        __drawToolbar.deactivate();//查询结束后清除事件
         dojo.disconnect(__drawEvent);//清除区域查询绑定事件
    });
}

8.多选下拉框插件在本项目中存在的bug(选择一次后,下拉框就会关闭)

$(document).on('click', function (e) {
    //if语句解决插件下拉框选择一次后,下拉框就关闭(插件单独运行无bug,在本项目中存在此bug)
      if($(e.target).parent().hasClass("layui-unselect")||$(e.target).parent().hasClass("layui-anim-upbit")){$(e.target).parents('.' + SELECT).addClass(SELECTED);}
      ($(e.target).parents('.' + SELECT).length <= 0) && (options.reElem.hasClass(SELECTED)) ? options.reElem.removeClass(SELECTED): "";

    });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值