pageview.js
2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
define(['permission', "mobilebone", "mUtil" ,"i18n"], function (Permission, Mobilebone, mUtil,i18n) {
var aopSettings = {
advice: "onpagefirstinto",
namespace: Mobilebone
};
var showLoading = function ($el) {
var $loading = $el.children(".page-loading");
if (!$loading.length) {
$el.append("<div class='page-loading wev-loading'>"+i18n.LOADING_DATA +"</div>");
}
};
var hideLoading = function($el){
$el.children(".page-loading").remove();
};
var judge = function (page, pageOut, options) {
var $page = $(page), p = $page.data("pageoptions");
if ($page.hasClass("page-scroller")) return true;
showLoading($page);
if(p){
var pArr = (options.formdata || "").split("&"), params = {};
pArr.forEach(function (pStr) {
var pIndex = pStr.indexOf("=");
if (pIndex != -1) {
var pName = pStr.substring(0, pIndex);
var pValue = pStr.substring(pIndex + 1);
params[pName] = pValue;
}
});
var $pageTip = $page.children(".page-tip")
if(!$pageTip.length){
$pageTip = $("<div class='page-tip'></div>");
$page.prepend($pageTip);
}
p = p.split(":");
var url = mUtil.getActionUrl("service.FormComponent", { action: "checkPagePermission" });
var requestParam = {modeid: p[0], uitype: p[1], sourceid: p[2], layoutid: p[3], billid: params.billid};
if(params.formmode_authorize === "formmode_authorize"){
["formmode_authorize", "moduleid", "authorizemodeId", "authorizeformmodebillId", "authorizefieldid"].forEach(function (name) {
requestParam[name] = params[name] || "";
});
}
return mUtil.getJSON(url, requestParam, function(result){
var data = result.data;
if(!data.validity){
$pageTip.addClass("page-tip-show page-warn").attr('data-title', data.msg);
}else{
$pageTip.removeClass("page-tip-show page-warn");
$pageTip[ data.right > 0? "removeClass" : "addClass"]("page-tip-show page-forbidden").attr('data-title',i18n.NO_PERMISSION_ACCESS);
}
!data.right && hideLoading($page);
}).then(function(result){
result = $.parseJSON(result);
return result.data.right && result.data.right > 0;
});
}
return true;
};
return new Permission(aopSettings, judge);
});