browserHelper.js
4.12 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
define(['mUtil'], function (mUtil) {
var openLinkUrl = function(linkUrl, value, typeid, typename, modeid, authorizeStr, browserType, empowStr){
var diyBrowser = ["161", "162", "256", "257"];
if(diyBrowser.indexOf(typeid + "") != -1){
if(typeid == "256" || typeid == "257"){
modeid = getTreeBrowserModelId(value.substring(0, value.indexOf("_")), modeid);
}
if(value.indexOf("_") > -1) value = value.substring(value.indexOf("_") + 1);
var params = {
modelid: modeid,
uitype: 1,
billid: value,
authorize: authorizeStr,
browserType: browserType
};
Mobile_NS.getLayoutUrl(params);
}else{
if ((typeid == 9 || typeid == 37) && window.__meta__.sessionKey){
//匿名访问
var actionUrl = mUtil.getActionUrl("FFile", { action: "parseFiles", values: value });
mUtil.getJSON(actionUrl,function (result) {
var imagefileid = result.data[0].imagefileid;
var name = result.data[0].name;
//打开文档
mUtil.previewFile(imagefileid, name, empowStr);
});
} else {
linkUrl = linkUrl + value;
if(authorizeStr){
linkUrl = ~linkUrl.indexOf("?") ? linkUrl + authorizeStr : linkUrl + "?" + authorizeStr.substring(1);
}
Mobile_NS.openWebView(linkUrl);
}
}
};
var getTreeBrowserModelId = function (nodeid, modeidStr) {
var modeidArray = modeidStr.split(",");
for(var i = 0; i < modeidArray.length; i++){
if(nodeid == modeidArray[i].substring(0, modeidArray[i].indexOf("_"))){
return modeidArray[i].substring(modeidArray[i].indexOf("_") + 1);
}
}
}
return {
openBrowserLink: function(value, text, typeid){
var typename, browserType, modeid, authorizeStr, empowStr;
if(typeof(value) == 'object'){
var $target = value;
value = $target.attr("data-value");
text = decodeURIComponent($target.attr("data-text"));
typeid = $target.attr("data-typeid");
typename = $target.attr("data-typename");
browserType = $target.attr("data-typename");
modeid = $target.attr("data-modeid");
authorizeStr = $target.attr("data-authorize");
empowStr = $target.attr("data-empowStr");
}
value = value + "";
if(!value) return;
var crmUrl = "/spa/crm/static4mobile/index.html#/customerCard/";
var prjUrl = "/spa/prj/static4mobile/index.html#/ProjectDetails/0/";
var wflowUrl = "/spa/workflow/static4mobileform/index.html#/req?requestid=";
var docUrl = "/spa/document/static4mobile/index.html#/doc/";
var isMulti = ~["18", "37", "135", "152", "162", "171", "257"].indexOf(typeid) && ~value.indexOf(","), linkUrl;
switch (typeid) {
case "7"://客户
case "18"://多客户
linkUrl = crmUrl;
break;
case "8"://项目
case "135"://多项目
linkUrl = prjUrl;
break;
case "9": //文档
case "37"://多文档
linkUrl = docUrl;
break;
case "16"://流程
case "171"://归档流程
case "152"://多流程
linkUrl = wflowUrl;
break;
case "161":
case "162":
case "256":
case "257":
linkUrl = "";
break;
default:
return;
}
if(isMulti){
value = value.split(",").filter(function (item) {
return item != "";
});
text = text.split(",");
var menuArr = [];
for(var i=0;i<value.length;i++){
var menu = {};
var menuVal = value[i];
if(!menuVal) continue;
menu.menuValue = menuVal;
menu.text = "<div class='wev-ellipsis'>"+text[i]+"</div>";
menu.callback = function(){
openLinkUrl(linkUrl, $(this).attr("data-value"), typeid, typename, modeid, authorizeStr, browserType, empowStr);
};
menuArr.push(menu);
}
Mobile_NS.footerMenu(menuArr);
}else{
openLinkUrl(linkUrl, value, typeid, typename, modeid, authorizeStr, browserType, empowStr);
}
}
};
});