wex5
UI2
采用UI2進行界面的設計,有圖形拖拽功能,能輕松的設計出一套webap應用框架,只是缺少數據。
其中最值得一提的是Data 與 BaasData組件
data組件(能直接映射數據到指定的行)的使用:
var orderData = this.comp("orderData");
//清楚數據
cartData.clear();
//刪除指定行數據
orderData.deleteData(orderRows);
//向data中添加一行數據
var orderRows = orderData.newData({
index : 0,
defaultValues : [ {
"fID" : orderID,
"fCreateTime" : justep.Date.toString(new Date(), justep.Date.STANDART_FORMAT),
"fContent" : content,
"fUserID" : userData.val("fID"),
"fUserName" : userData.val("fName"),
"fPhoneNumber" : userData.val("fPhoneNumber"),
"fAddress" : userData.val("fAddress"),
"fSum" : cartData.sum("calcMoney") + ""
//"fPayState" : 0
} ]
});
baasData組件(與data組件不同不是本地的綁定數據庫Action)
//保存數據到服務器
orderData.saveData({
"onSuccess" : success,
"onError" : error});
TableName 同時可以設置綁定數據庫Action 即save與 query
設置了autoLoad = false時,需要找到組件去 orderData.refreshData(); 手動加載
Baas:
1. 通過baas服務器進行請求的轉發
2. 綁定數據源,設置數據庫動作。
3。 通過js向baas發送請求:
justep.Baas.sendRequest({
"url" : "/czworks/loginService",
"action" : "doWxLogin",
"async" : true,
"params" : {
code : weixinCode,
language : language,
sysname : "crm"
},
"success" : function(data) {
if (data.IsSucess) {
localStorage.setItem(LOCALSTORAGE_KEY_USERNO, data.userno.toLowerCase());
localStorage.setItem(LOCALSTORAGE_KEY_ORGNO, data.orgno);
localStorage.setItem(LOCALSTORAGE_KEY_SESSIONID, data.sessionId)
var userInfoBean = data.ParamModel;
localStorage.setItem(LOCALSTORAGE_KEY_USERNAME, userInfoBean.DB_USER_NAME);
var params = {userInfo : data.ParamModel,functionList : data.Datas.functionLis};
justep.Shell.showPage("main", params);
} else {
justep.Util.hint(loginfailed + data.ErrorMessage);
}
}
Native:
進行移動端app的編輯與編譯。
PS:
1 .頁面的整體架構(pages)
this.shellImpl = new ShellImpl(this, {
"contentsXid" : "pages",
"pageMappings" : {
"main" : {url : require.toUrl('./main.w')},
"login" : {url : require.toUrl('./login.w')}}
});
// 頁面的替換
justep.Shell.setIsSinglePage(true);
justep.Shell.showPage("login");
//也可以作用於沒有寫過映射的URl
var completeListUrl = require.toUrl('$UI/czworks/crm/base/customerList.w');
justep.Shell.showPage(completeListUrl);
//將相對路徑轉化為絕對路徑
require.toUrl('./main.w');
//本地的存儲與讀取
localStorage.setItem(LOCALSTORAGE_KEY_USERNO, data.userno.toLowerCase());
localStorage.getItem("LOCALSTORAGE_KEY_USERNO");
//獲取這個model中的對象
model.getElementByXid("functionCol" + index);
this.comp("functionCol1")
//獲取和設置model中對象的屬性
checkbox.get("checked")
this.comp('mainBtn').set({icon : "img:$UI/czworks/mes/img/icon_main_1.png|$UI/czworks/mes/img/icon_main_0.png"});
//圖表對象的處理(百度echarts)
1,只需要在相應的位置設置一個div來占據位置,設置寬和高
2,myChart = echarts.init(this.getElementByXid('chartReportDiv2'));ss
myChart.setOption(option); //option是用於配置的json數據,參考 http://echarts.baidu.com/index.html
//整個瀏覽器URL重定向
window.location.href = "./index.w";
//從row上面取數據 和 設置數據
row.val("num"); row.val("num",row.val("num")+1);