高水二期專案總結
阿新 • • 發佈:2018-12-26
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載入完之後執行的操作我們可以放在
(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;
}