高水二期项目总结

1.在dataGrid中,如果我们需要对后台传过来的数据进行修饰,我们可以采用formatter,这里需要注意的是,我们最好不要直接把值放在formatter中,而是设置专门的对象去存储所有的值,就像下面这样:

{
                field : 'type',
                title : '审核类型',
                width : '25%',
                align : 'center',
                formatter: function (value, row, index) {
                    var _v = value + '';
                    if (_v) {
                        return getValueByKey(AUDIT_TYPE, _v);
                    }
                }
 }

function getValueByKey(arr, key) {
    var i = 0;
    for (i = 0; i < arr.length; i++) {
        if (arr[i].value == key) {
            return arr[i].text;
        }
    }
    return "未能找到";
}

var AUDIT_TYPE = [{
    text : '订单审核',
    value : '0'
}, {
    text : '成本审核',
    value : '1',
}];

2.在往后端传送数据的时候,我们需要将传过去的对象转化成JSON字符串,使用JSON.stringify(),就像这样:

_sendData = JSON.stringify(_sendData);

3.当一个页面中既有修改功能又有新增功能的时候,我们可以使用id来区分他们,为了以后方便管理我们可以专门在common.js中定义一个Addflag=-1来区分。这样在进入页面时,如果是新增就让url带参数id=-1,在进入页面之后判断id是否为-1,如果为-1为新增,若为修改,则应该发送请求获取当前id的所有信息,就像下面这样:

var gAddOpenUrl = "UI/BasicData/SysUserDetail.html?id=-1";
 var gEditOpenUrl = "UI/BasicData/SysUserDetail.html?id=";
 var gCurrid = getID();
 
 //获取url当中的id
function getID() {
    urlinfo = window.location.href; //获取当前页面的url
    len = urlinfo.length; //获取url的长度
    offset = urlinfo.indexOf("?"); //设置参数字符串开始的位置
    if (offset == -1) {
        return undefined;
    }
    newsidinfo = urlinfo.substr(offset, len); //取出参数字符串 这里会获得类似“id=1”这样的字符串
    newsids = newsidinfo.split("="); //对获得的参数字符串按照“=”进行分割
    newsid = newsids[1]; //得到参数值
    newsname = newsids[0]; //得到参数名字
    return newsid;
}

 $(document).ready(function () {
        var _sendData = {id: gCurrid};
        var _res;
        if (gCurrid !=AddFlag) {
            _res = gRequest.putRemoteData(gApiKey, "get", _sendData);
            _res.done(function (data) {
                getData = data.data;
                getFormData(data.data);
            });
        }
    });

4.在dom加载完之后执行的操作我们可以放在 ( d o c u m e n t ) . r e a d y ( f u n c t i o n ( ) ) 使 (document).ready(function(){ })当中,当然也可以直接使用 (function(){
})

5.当我们从localStorege中拿数据时:

 goodData: JSON.parse(localStorage.getItem("GoodsData")),

拿到数据之后我门如果想要进行模糊查询,可以使用onChange函数,在这里需要注意的是easyui的combobox本来是自带模糊查询的,但是它的模糊查询只能够查询英文,如果要查中文的话,需要自己写模糊查询。就像这这样:

 onChange: function (newValue, oldValue) {
                            if (!isEnglishAndNumber(newValue) || newValue === undefined) {
                                if (newValue !== "") {
                                    return;
                                }
                            }
                            var _searchData = searchByCodeOrCodePy(newValue.trim());
                            $(this).combobox("loadData", _searchData ? _searchData : gBasicDetailPage.goodData);
                        },
                       
 function searchByCodeOrCodePy(value) {
    var _goodsData = JSON.parse(localStorage.getItem("GoodsData"));
    var _value = value.toLowerCase();
    var _searchGoodData = _goodsData.filter(function (current) {
        return (current.code.indexOf(value) >= 0 || current.pinyin.toLowerCase().indexOf(_value) >= 0);
    });
    return _searchGoodData;
}

猜你喜欢

转载自blog.csdn.net/weixin_42424269/article/details/84827520