297f0885476bd7f8c05f0c6a4a4938edf514d12e.svn-base 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  1. /**
  2. *
  3. * 角色 R002105430222 抢修中心 暂时不考虑手动填写要求
  4. */
  5. //返回用户属于专业管理部门的角色
  6. function getZyRole(roleId){
  7. var arr = [];
  8. if(roleId.indexOf(",")!=-1){
  9. var roleIdArr = roleId.split(",");
  10. for(var i=0;i<roleIdArr.length;i++){
  11. if(roleIdArr[i]=="R002105430210"||roleIdArr[i]=="R002105430211"||roleIdArr[i]=="R002105430212"||roleIdArr[i]=="R002105430213" || roleIdArr[i]=="R002105430222"){
  12. arr.push(roleIdArr[i]);
  13. }
  14. }
  15. }else{
  16. if(roleId=="R002105430210"||roleId=="R002105430211"||roleId=="R002105430212"||roleId=="R002105430213" || roleId=="R002105430222"){
  17. arr.push(roleId);
  18. }
  19. }
  20. return arr.sort(function(a,b){
  21. a = a.substring(3,a.length);
  22. b = b.substring(3,b.length);
  23. return a-b;
  24. });;
  25. }
  26. function getAllZyRole(roleId,level){
  27. var arr = [];
  28. if(roleId.indexOf(",")!=-1){
  29. var roleIdArr = roleId.split(",");
  30. for(var i=0;i<roleIdArr.length;i++){
  31. if(roleIdArr[i]=="R002105430210"||roleIdArr[i]=="R002105430211"||roleIdArr[i]=="R002105430212"||roleIdArr[i]=="R002105430213" ){
  32. arr.push(roleIdArr[i]);
  33. }
  34. if(level=="2"){
  35. if(roleIdArr[i]=="R002105430222"){
  36. arr.push(roleIdArr[i]);
  37. }
  38. }
  39. }
  40. }else{
  41. if(roleId=="R002105430210"||roleId=="R002105430211"||roleId=="R002105430212"||roleId=="R002105430213"){
  42. arr.push(roleId);
  43. }
  44. if(level=="2"){
  45. if(roleId=="R002105430222"){
  46. arr.push(roleId);
  47. }
  48. }
  49. }
  50. return arr.sort(function(a,b){
  51. a = a.substring(3,a.length);
  52. b = b.substring(3,b.length);
  53. return a-b;
  54. });;
  55. }
  56. //获取能填报要求角色数组
  57. function getYqRole(roleId){
  58. var arr = [];
  59. if(roleId.indexOf(",")!=-1){
  60. var roleIdArr = roleId.split(",");
  61. for(var i=0;i<roleIdArr.length;i++){
  62. if(roleIdArr[i]=="R002105430210"||roleIdArr[i]=="R002105430211"||roleIdArr[i]=="R002105430212"||roleIdArr[i]=="R002105430213"||roleIdArr[i]=="R002105430205" /*|| roleIdArr[i]=="R002105430222"*/ ){
  63. arr.push(roleIdArr[i]);
  64. }
  65. }
  66. }else{
  67. if(roleId=="R002105430210"||roleId=="R002105430211"||roleId=="R002105430212"||roleId=="R002105430213"||roleId=="R002105430205" /*|| roleId=="R002105430222"*/ ){
  68. arr.push(roleId);
  69. }
  70. }
  71. return arr.sort(function(a,b){
  72. a = a.substring(3,a.length);
  73. b = b.substring(3,b.length);
  74. return a-b;
  75. });
  76. }
  77. //返回填报部门的专业管理部门角色
  78. function delYjRole(roleArr){
  79. var arr = [];
  80. if(roleArr.length>0){
  81. for(var i=0;i<roleArr.length;i++){
  82. for(var k=1;k<arguments.length;k++){
  83. if(roleArr[i]!=arguments[k]&&$.inArray(roleArr[i],arr)==-1){
  84. arr.push(roleArr[i]);
  85. }
  86. }
  87. }
  88. }
  89. return arr;
  90. }
  91. //返回填写要求的专业管理部门角色like
  92. function getzyLikeRole(role){
  93. var likeRole = "";
  94. if(role.length>0){
  95. for(var i=0;i<role.length;i++){
  96. likeRole +="%"+role[i];
  97. }
  98. likeRole = likeRole+"%";
  99. }
  100. return likeRole;
  101. }
  102. //返回用户专业管理部门角色的字符串
  103. function getUserZyRole(arr){
  104. var zyRoleId = "";
  105. if(arr.length>0){
  106. for(var i=0;i<arr.length;i++){
  107. zyRoleId += "'"+arr[i]+"',";
  108. }
  109. zyRoleId = zyRoleId.substring(0, zyRoleId.lastIndexOf(","));
  110. }else{
  111. zyRoleId = "''";
  112. }
  113. return zyRoleId;
  114. }
  115. function getyQRole(roleId){
  116. var arr = [];
  117. if(roleId.indexOf(",")!=-1){
  118. var roleIdArr = roleId.split(",");
  119. for(var i=0;i<roleIdArr.length;i++){
  120. if(roleIdArr[i]=="R002105430210"||roleIdArr[i]=="R002105430211"||roleIdArr[i]=="R002105430212"||roleIdArr[i]=="R002105430213"||roleIdArr[i]=="R002105430205" ||roleIdArr[i]=="R002105430200" ){
  121. arr.push(roleIdArr[i]);
  122. }
  123. }
  124. }else{
  125. if(roleId=="R002105430210"||roleId=="R002105430211"||roleId=="R002105430212"||roleId=="R002105430213"||roleId=="R002105430205" || roleId=="R002105430200" ){
  126. arr.push(roleId);
  127. }
  128. }
  129. return arr;
  130. }
  131. //进度监控
  132. function getRSCRole(roleId){
  133. var arr = [];
  134. if(roleId.indexOf(",")!=-1){
  135. var roleIdArr = roleId.split(",");
  136. for(var i=0;i<roleIdArr.length;i++){
  137. if(roleIdArr[i]=="R002105430210"||roleIdArr[i]=="R002105430211"||roleIdArr[i]=="R002105430212"||roleIdArr[i]=="R002105430213"||roleIdArr[i]=="R002105430205" || roleIdArr[i]=="R002105430222" ){
  138. arr.push(roleIdArr[i]);
  139. }
  140. }
  141. }else{
  142. if(roleId=="R002105430210"||roleId=="R002105430211"||roleId=="R002105430212"||roleId=="R002105430213"||roleId=="R002105430205" || roleId=="R002105430222" ){
  143. arr.push(roleId);
  144. }
  145. }
  146. return arr.sort(function(a,b){
  147. a = a.substring(3,a.length);
  148. b = b.substring(3,b.length);
  149. return a-b;
  150. });
  151. }
  152. //返回用户所有角色数组
  153. function getUserRoleIdArr(roleId){
  154. var arr = [];
  155. if(roleId.indexOf(",")!=-1){
  156. var roleIdArr = roleId.split(",");
  157. for(var i=0;i<roleIdArr.length;i++){
  158. arr.push(roleIdArr[i]);
  159. }
  160. }else{
  161. arr.push(roleId);
  162. }
  163. return arr;
  164. }
  165. //判断用户是否拥有某种角色
  166. function checkUserRole(arr1,arr2){
  167. for(var i=0;i<arr1.length;i++){
  168. for(var j=0;j<arr2.length;j++){
  169. if(arr1[i]==arr2[j]){
  170. return 1;
  171. }
  172. }
  173. }
  174. return -1;
  175. }
  176. function checkHasRole(arr1,arr2){
  177. var arr = [];
  178. for(var i=0;i<arr1.length;i++){
  179. for(var k=0;k<arr2.length;k++){
  180. if(arr1[i]==arr2[k]){
  181. arr.push(arr1[i]);
  182. }
  183. }
  184. }
  185. return arr;
  186. }
  187. function saveSameRole(arr1,arr2){
  188. var arr = [];
  189. if(arr1.length==0){
  190. return arr2;
  191. }else{
  192. for(var i=0;i<arr1.length;i++){
  193. for(var k=0;k<arr2.length;k++){
  194. if(arr1[i]!=arr2[k]){
  195. arr.push(arr2[k]);
  196. }
  197. }
  198. }
  199. return arr;
  200. }
  201. }
  202. /**
  203. *
  204. * @param userId 用户的角色Id
  205. * @param roleArr 用户所对应的角色数组
  206. * @param fn 回调函数(跳转页面)
  207. * @param url 跳转页面url
  208. * @param zyRoleId 用户对应角色的字符串
  209. * @param deatil
  210. */
  211. function getSpecialRoleDeaitl (userId,roleArr,fn,url,zyRoleId,deatil){
  212. var diag = new top.Dialog();//定义一个窗口对象
  213. diag.Title = "角色选择";//窗口标题
  214. diag.URL = "/nwyj/page/business/em/report/GetRole.html";//窗口对应的页面
  215. diag.Height = 380;
  216. diag.Width= 400;
  217. diag.OKEvent = function(){
  218. var roleVal = diag.innerFrame.contentWindow.selRole();
  219. /*
  220. if(roleVal=="R002105430222"){
  221. top.Dialog.alert("此角色填写的表暂不支持导入功能");
  222. $(parent.document.body).find("#_ButtonClose_showRole").click();
  223. return;
  224. }
  225. */
  226. if(roleVal==""||roleVal==undefined){
  227. top.Dialog.alert("没有选择角色,请选择角色");
  228. }else {
  229. if(deatil&&url.indexOf(",")>-1){
  230. if(roleVal==deatil){
  231. url = url.split(",")[0]+"?role_Id="+roleVal;
  232. }else{
  233. url = url.split(",")[1]+"?role_Id="+roleVal;
  234. }
  235. }else if(deatil&&url.indexOf(",")==-1){
  236. url = url+"?fd_id="+deatil+"&role_Id="+roleVal;
  237. }
  238. else{
  239. url = url+"?role_Id="+roleVal;
  240. }
  241. fn(url);
  242. diag.close();
  243. }
  244. };
  245. diag.CancelEvent = function(){
  246. diag.close();
  247. };
  248. //窗口Id
  249. diag.ID="showRole";
  250. diag.ButtonAlign="center";//按钮居中
  251. diag.show();//显示窗口
  252. diag.OnLoad=function(){
  253. diag.innerFrame.contentWindow.showRole(userId,zyRoleId);
  254. };
  255. }
  256. /**
  257. *
  258. * @param userId 用户的角色Id
  259. * @param roleArr 用户所对应的角色数组
  260. * @param fn 回调函数(跳转页面)
  261. * @param url 跳转页面url
  262. * @param zyRoleId 用户对应角色的字符串
  263. * @param deatil
  264. */
  265. function getRoleDeaitl (userId,roleArr,fn,url,zyRoleId,deatil){
  266. var diag = new top.Dialog();//定义一个窗口对象
  267. diag.Title = "角色选择";//窗口标题
  268. diag.URL = "/nwyj/page/business/em/report/GetRole.html";//窗口对应的页面
  269. diag.Height = 380;
  270. diag.Width= 400;
  271. diag.OKEvent = function(){
  272. var roleVal = diag.innerFrame.contentWindow.selRole();
  273. /*
  274. if(roleVal=="R002105430222"){
  275. top.Dialog.alert("此角色填写的表暂不支持导入功能");
  276. $(parent.document.body).find("#_ButtonClose_showRole").click();
  277. return;
  278. }
  279. */
  280. if(roleVal==""||roleVal==undefined){
  281. top.Dialog.alert("没有选择角色,请选择角色");
  282. }else {
  283. if(deatil&&url.indexOf(",")>-1){
  284. if(roleVal==deatil){
  285. url = url.split(",")[0]+"?role_Id="+roleVal;
  286. }else{
  287. url = url.split(",")[1]+"?role_Id="+roleVal;
  288. }
  289. }else if(deatil&&url.indexOf(",")==-1){
  290. url = url+"?fd_id="+deatil+"&role_Id="+roleVal;
  291. }
  292. else{
  293. url = url+"?role_Id="+roleVal;
  294. }
  295. fn(url);
  296. diag.close();
  297. }
  298. };
  299. diag.CancelEvent = function(){
  300. diag.close();
  301. };
  302. //窗口Id
  303. diag.ID="showRole";
  304. diag.ButtonAlign="center";//按钮居中
  305. diag.show();//显示窗口
  306. diag.OnLoad=function(){
  307. diag.innerFrame.contentWindow.showRole(userId,zyRoleId);
  308. };
  309. }
  310. function getDelRole(roleArr,params){
  311. var arr = [];
  312. if(roleArr.length>0){
  313. if(params.indexOf(",")==-1){
  314. for(var i=0;i<roleArr.length;i++){
  315. if(roleArr[i]!=params){
  316. arr.push(roleArr[i]);
  317. }
  318. }
  319. }else {
  320. var paramsArr = params.split(",");
  321. for(var i=0;i<roleArr.length;i++){
  322. if($.inArray(roleArr[i],paramsArr)==-1){
  323. arr.push(roleArr[i]);
  324. }
  325. }
  326. }
  327. }
  328. return arr;
  329. }
  330. function getRoleNames(roleIds){
  331. var role_id = getUserZyRole(roleIds.split(","));
  332. var roleNames = "";
  333. $.ajax({
  334. url:$.pathname() + "/ws/xianlutingyun/XianlutingyunService/getRoleNames",
  335. type:"post",
  336. async:false,
  337. data:{role_id:role_id},
  338. dataType:'text',
  339. success:function(data){
  340. roleNames = data;
  341. },
  342. error:function(){
  343. }
  344. });
  345. return roleNames;
  346. }