因爲項目進度加快,幫助同事用bui用完成了一個工作流,完成的過程中感覺到難度還是挺高的,涉及到的判斷和邏輯比較多。
因爲是移動端項目,我選擇了bui來完成。
問題一..基礎知識的問題,本地存儲中localstorage.getItem()的使用,在存取數組和對象時,要進行轉化,通過JSON.stringify()和
JSON.parse()來實現數據的正確存取。
問題二. 下拉刷新控件 bui.pullrefresh()
<input type="hidden" id="pages" name="pages" value="">
<input type="hidden" id="pageNum" name="pageNum" value="1"/>
/*
* @name: 特殊人員的獲取
* @Date: 2019-12-04 11.30
* @params: url 請求數據的url地址
* @return arr
*/
function getSpecialPerson() {
if($("pages").val()==$("#pageNum").val()){
bui.hint("已到最底端");
return false;
}
uiLoading.show();
//var pagesize =10;
//接受老師下面對應的課程數組 getCoursePageInfoData
uiLoading.show();
bui.ajax({
url: getRootPath() + '/webchatUser/queryUserHaveDepartment.action',
async: false,
data: {
page:parseInt($("#pageNum").val())+1,
limit:10
},
method: "POST"
}).then(function(res) {
uiLoading.hide();
/* normalPage = res.pageNum+1
if(res.pages == normalPage){
bui.hint("已到最底端");
}else */
//if(res.pages > normalPage){
//if(res.code==1){
if(uiPullRefresh){
if (res.code == 1) { // 爲空也要判斷是否有值
$("#pages").val(res.pages);
$("#pageNum").val(res.pageNum);
specialPersonDate_003 = res.data;
//localStorage.setItem("specialPersonDate_003",JSON.stringify(specialPersonDate_003));
if (specialPersonDate_003.length > 0) {
//specialPersonArr_003 = [];
for (var i = 0; i <specialPersonDate_003.length; i++) {
//組裝個對象,將對象push到數組中
specialPersonArr_003.push({
"name": specialPersonDate_003[i].srcName+" ("+specialPersonDate_003[i].departmentName+")",
"image": specialPersonDate_003[i].namePic == null ? '../images/special_person.png' : ctxLocal + specialPersonDate_003[i].namePic,
"value": specialPersonDate_003[i].autoId,
});
}
//return specialPersonArr_003
uiSelectCustom =bui.select({
id: "#scrollDisplay",
popup: false,
type: "checkbox",
direction: "right",
data: specialPersonArr_003,
value: specialPersonArr_003_checked.split(","),
onChange: function(e) {
//獲取選中的索引 value在這裏拿到就是部門名稱對應的id串, id1,id2,id3,id4
var index = uiSelectCustom.index();
specialPersonArr_003_checked = uiSelectCustom.value();
},
})
uiPullRefresh.reverse();
}
}else if(res.code==0){
bui.alert("服務器繁忙。稍後重試");
uiPullRefresh.fail();
}
}else{
if (res.code == 1) { // 爲空也要判斷是否有值
$("#pages").val(res.pages);
$("#pageNum").val(res.pageNum);
/* uiPullRefresh.reverse(); */
specialPersonDate_003 = res.data;
//localStorage.setItem("specialPersonDate_003", JSON.stringify(specialPersonDate_003));
if (specialPersonDate_003.length > 0) {
for (var i = 0; i <specialPersonDate_003.length; i++) {
//組裝個對象,將對象push到數組中
specialPersonArr_003.push({
"name": specialPersonDate_003[i].srcName+" ("+specialPersonDate_003[i].departmentName+")",
"image": specialPersonDate_003[i].namePic == null ? '../images/special_person.png' : ctxLocal + specialPersonDate_003[i].namePic,
"value": specialPersonDate_003[i].autoId,
});
}
return specialPersonArr_003
}
}else if(res.code==0){
bui.alert("服務器繁忙。稍後重試");
uiPullRefresh.fail();
}
}
//}
}, function(res, status) {
bui.alert("服務器繁忙,稍後重試");
})
}
* uiPullRefresh.reverse();這裏需要注意的是位置,必須是元素渲染完成後,通過uiPullRefresh.reverse()實現下拉刷新。