SysDialog.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. /**
  2. * 组织选择器
  3. * @param conf
  4. *
  5. * conf 参数
  6. * UserDialog
  7. * orgId:组织ID
  8. * orgName:组织名称
  9. * @returns
  10. */
  11. function OrgDialog(conf)
  12. {
  13. var dialogWidth=1000;
  14. var dialogHeight=600;
  15. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  16. if(!conf.isSingle)conf.isSingle=false;
  17. var scope="{type:\"system\",value:\"all\"}";
  18. if(conf.scope) scope = (conf.scope).replace(/\'/g, '"');
  19. var url=__ctx + '/platform/system/sysOrg/dialog.ht?isSingle=' + conf.isSingle;
  20. url=url.getNewUrl();
  21. //重新选择的时候,展现上次数据
  22. var arrys = new Array();
  23. if( conf.ids && conf.names){
  24. var ids=conf.ids.split(",");
  25. var names=conf.names.split(",");
  26. for ( var i = 0; i < ids.length; i++) {
  27. var selectUsers={
  28. id:ids[i],
  29. name:names[i]
  30. }
  31. arrys.push(selectUsers);
  32. }
  33. }else if(conf.arguments){
  34. arrys=conf.arguments;
  35. }
  36. var that =this;
  37. DialogUtil.open({
  38. height:conf.dialogHeight,
  39. width: conf.dialogWidth,
  40. title : '组织选择器',
  41. url: url,
  42. isResize: true,
  43. //自定义参数
  44. arrys: arrys,
  45. scope : scope,
  46. //回调函数
  47. sucCall:function(rtn){
  48. conf.callback.call(that,rtn.orgId,rtn.orgName,rtn.orgJson);
  49. }
  50. });
  51. }
  52. /**
  53. * 用户选择器 .
  54. * UserDialog({scope:"",callback:function(userIds,fullnames,emails,mobiles){},selectUsers:[{id:'',name:''}]})
  55. *
  56. * 组织级别范围,为json字符串{type:"system,script",value:""}。
  57. * 这个value还可以扩展
  58. * scope说明:
  59. * {
  60. * type:system,
  61. * value:
  62. * all 全部组织,
  63. * self: 当前登录组织
  64. * grade: 当前组织往上找找到级别1
  65. * company:当前组织往上找找到级别2
  66. * department:当前组织往上找找到级别3
  67. * group:当前组织往上找找到级别4
  68. * other:当前组织往上找找到级别5
  69. * up: 当前组织上级组织
  70. * type:script
  71. * value:为脚本,返回一个组织ID
  72. *
  73. * }
  74. */
  75. function UserDialog(conf){
  76. var dialogWidth=800;
  77. var dialogHeight=500;
  78. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  79. if(!conf.isSingle)conf.isSingle=false;
  80. var scope="{type:\"system\",value:\"all\"}";
  81. if(conf.scope) scope = (conf.scope).replace(/\'/g, '"');
  82. url=__ctx + "/platform/system/sysUser/dialog.ht?isSingle=" + conf.isSingle;
  83. url=url.getNewUrl();
  84. //重新选择的时候,展现上次数据
  85. var selectUsers="";
  86. if( conf.selectUserIds && conf.selectUserNames){
  87. selectUsers={
  88. selectUserIds:conf.selectUserIds ,
  89. selectUserNames:conf.selectUserNames
  90. }
  91. }else if(conf.selectUsers){
  92. var arr = conf.selectUsers ;
  93. var ids = '';
  94. var names = '';
  95. for ( var i = 0; i < arr.length; i++) {
  96. if(i!=0){
  97. ids+=',';
  98. names+=',';
  99. }
  100. ids+=arr[i].id;
  101. names+=arr[i].name;
  102. }
  103. selectUsers={
  104. selectUserIds:ids ,
  105. selectUserNames:names
  106. }
  107. }
  108. var that =this;
  109. DialogUtil.open({
  110. height:conf.dialogHeight,
  111. width: conf.dialogWidth,
  112. title : '用户选择器',
  113. url: url,
  114. scope : scope,
  115. isResize: true,
  116. //自定义参数
  117. selectUsers: selectUsers,
  118. sucCall:function(rtn){
  119. var userIds=rtn.userIds;
  120. var fullnames=rtn.fullnames;
  121. var emails=rtn.emails;
  122. var mobiles=rtn.mobiles;
  123. conf.callback.call(that,userIds,fullnames,emails,mobiles,rtn);
  124. }
  125. });
  126. }
  127. /**
  128. * 这个选择器只用户在流程那里选择人员或部门。
  129. * 调用方法:
  130. *
  131. *
  132. * FlowUserDialog({selectUsers:[{type:'',id:'',name:''}],callback:function(aryType,aryId,aryName){}});
  133. * selectUsers,表示之前选择的人员,使用json数组来表示。
  134. * 数据格式:{type:'',id:'',name:''}
  135. * type:选择的类型。可能的值 user,org,role,pos .
  136. * id:选择的ID
  137. * name:显示的名称。
  138. *
  139. * JSON数组:
  140. * 这个回调函数包括三个参数 ,这三个参数都为数组。
  141. * objType:返回的类型,可能的值(user,org,role,pos) 。
  142. * objIds:对象的Id。
  143. * objNames:对象的名称。
  144. */
  145. function FlowUserDialog(conf){
  146. var dialogWidth=750;
  147. var dialogHeight=500;
  148. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  149. url=__ctx + "/platform/system/sysUser/flowDialog.ht";
  150. url=url.getNewUrl();
  151. //重新选择的时候,展现上次数据,必须传入
  152. var selectUsers="";
  153. if( conf.selectUsers!=undefined && conf.selectUsers!=null && conf.selectUsers!=""){
  154. selectUsers=conf.selectUsers;
  155. }
  156. var scope="{type:\"system\",value:\"all\"}";
  157. if(conf.scope)
  158. scope = (conf.scope).replace(/\'/g, '"');
  159. var that = this;
  160. DialogUtil.open({
  161. height:conf.dialogHeight,
  162. width: conf.dialogWidth,
  163. title : '人员或部门',
  164. url: url,
  165. scope:scope,
  166. isResize: true,
  167. //自定义参数
  168. selectUsers: selectUsers,
  169. sucCall:function(rtn){
  170. conf.callback.call(that,rtn.objType,rtn.objIds,rtn.objNames);
  171. }
  172. });
  173. }
  174. /**
  175. * 角色选择器
  176. */
  177. function RoleDialog(conf)
  178. {
  179. var dialogWidth=1000;
  180. var dialogHeight=600;
  181. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  182. if(!conf.isSingle)conf.isSingle=false;
  183. var url=__ctx + '/platform/system/sysRole/dialog.ht?isSingle=' + conf.isSingle +'&isGrade='+ conf.isGrade;
  184. url=url.getNewUrl();
  185. //重新选择的时候,展现上次数据
  186. var arrys = new Array();
  187. if( conf.ids && conf.names){
  188. var ids=conf.ids.split(",");
  189. var names=conf.names.split(",");
  190. for ( var i = 0; i < ids.length; i++) {
  191. var selectUsers={
  192. id:ids[i],
  193. name:names[i]
  194. }
  195. arrys.push(selectUsers);
  196. }
  197. }else if(conf.arguments){
  198. arrys=conf.arguments;
  199. }
  200. var that =this;
  201. DialogUtil.open({
  202. height:conf.dialogHeight,
  203. width: conf.dialogWidth,
  204. title : '角色选择器 ',
  205. url: url,
  206. isResize: true,
  207. //自定义参数
  208. arrys: arrys,
  209. sucCall:function(rtn){
  210. conf.callback.call(that,rtn.roleId,rtn.roleName);
  211. }
  212. });
  213. }
  214. /**
  215. * 岗位选择器
  216. * conf.callback
  217. * posId:岗位ID
  218. * posName:岗位名称
  219. * @returns
  220. */
  221. function PosDialog(conf)
  222. {
  223. var dialogWidth=1000;
  224. var dialogHeight=600;
  225. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  226. if(!conf.isSingle)conf.isSingle=false;
  227. var scope="{type:\"system\",value:\"all\"}";
  228. if(conf.scope) scope = (conf.scope).replace(/\'/g, '"');
  229. var url=__ctx + '/platform/system/position/dialog.ht?isSingle=' + conf.isSingle;
  230. url=url.getNewUrl();
  231. //重新选择的时候,展现上次数据
  232. var arrys = new Array();
  233. if( conf.ids && conf.names){
  234. var ids=conf.ids.split(",");
  235. var names=conf.names.split(",");
  236. for ( var i = 0; i < ids.length; i++) {
  237. var selectUsers={
  238. id:ids[i],
  239. name:names[i]
  240. }
  241. arrys.push(selectUsers);
  242. }
  243. }else if(conf.arguments){
  244. arrys=conf.arguments;
  245. }
  246. var that = this;
  247. DialogUtil.open({
  248. height:conf.dialogHeight,
  249. width: conf.dialogWidth,
  250. title : '岗位选择器',
  251. url: url,
  252. scope : scope,
  253. isResize: true,
  254. //自定义参数
  255. arrys: arrys,
  256. sucCall:function(rtn){
  257. conf.callback.call(that,rtn.posId,rtn.posName);
  258. }
  259. });
  260. }
  261. /**
  262. * 用户参数选择器
  263. * @param conf
  264. * dialogWidth:对话框高度 650
  265. * dialogHeight:对话框高度 500
  266. *
  267. */
  268. function UserParamDialog(conf){
  269. var dialogWidth=650;
  270. var dialogHeight=500;
  271. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  272. var args={cmpIds:conf.cmpIds,cmpNames:conf.cmpNames};
  273. var url=__ctx + '/platform/system/sysUserParam/dialog.ht?nodeUserId='+conf.nodeUserId;
  274. var that = this;
  275. DialogUtil.open({
  276. height:conf.dialogHeight,
  277. width: conf.dialogWidth,
  278. title : '用户参数选择器',
  279. url: url,
  280. isResize: true,
  281. //自定义参数
  282. args: args,
  283. sucCall:function(rtn){
  284. conf.callback.call(that,rtn.paramValue1,rtn.paramValue2);
  285. }
  286. });
  287. }
  288. /**
  289. * 组织参数
  290. */
  291. function OrgParamDialog(conf){
  292. var dialogWidth=650;
  293. var dialogHeight=500;
  294. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  295. var args={cmpIds:conf.cmpIds,cmpNames:conf.cmpNames};
  296. var url=__ctx + '/platform/system/sysOrgParam/dialog.ht?nodeUserId='+conf.nodeUserId;
  297. url=url.getNewUrl();
  298. var that = this;
  299. DialogUtil.open({
  300. height:conf.dialogHeight,
  301. width: conf.dialogWidth,
  302. title : '组织参数',
  303. url: url,
  304. isResize: true,
  305. //自定义参数
  306. args: args,
  307. sucCall:function(rtn){
  308. conf.callback.call(that,rtn.paramValue1,rtn.paramValue2);
  309. }
  310. });
  311. }
  312. /**
  313. * 上下级选择器
  314. */
  315. function UplowDialog(conf){
  316. var dialogWidth=650;
  317. var dialogHeight=500;
  318. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  319. var url=__ctx + '/platform/bpm/bpmNodeUserUplow/dialog.ht';
  320. url=url.getNewUrl();
  321. var that = this;
  322. DialogUtil.open({
  323. height:conf.dialogHeight,
  324. width: conf.dialogWidth,
  325. title : '上下级选择器',
  326. url: url,
  327. isResize: true,
  328. //自定义参数
  329. sucCall:function(rtn){
  330. conf.callback.call(that,rtn.json,rtn.show);
  331. }
  332. });
  333. }
  334. /**
  335. *上级部门类型选择器
  336. */
  337. function typeSetDialog(conf){
  338. var dialogWidth=500;
  339. var dialogHeight=360;
  340. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  341. var args={cmpIds:conf.cmpIds,cmpNames:conf.cmpNames};
  342. var url=__ctx + '/platform/bpm/bpmDefinition/typeSetDialog.ht';
  343. url=url.getNewUrl();
  344. var that = this;
  345. DialogUtil.open({
  346. height:conf.dialogHeight,
  347. width: conf.dialogWidth,
  348. title : '上级部门类型选择器',
  349. url: url,
  350. isResize: true,
  351. //自定义参数
  352. args: args,
  353. sucCall:function(rtn){
  354. conf.callback.call(that,rtn.json,rtn.show);
  355. }
  356. });
  357. }
  358. /**
  359. * 打开选择引用流程实例的对话框
  360. * @param conf
  361. */
  362. function ActInstDialog(conf){
  363. var dialogWidth=900;
  364. var dialogHeight=700;
  365. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  366. if(!conf.isSingle)conf.isSingle=false;
  367. var url=__ctx + '/platform/bpm/bpmReferDefinition/actInstDialog.ht?defId='+conf.defId+'&isSingle=' + conf.isSingle;
  368. url=url.getNewUrl();
  369. var that = this;
  370. DialogUtil.open({
  371. height:conf.dialogHeight,
  372. width: conf.dialogWidth,
  373. title : '打开选择引用流程实例的对话框',
  374. url: url,
  375. isResize: true,
  376. //自定义参数
  377. arguments: conf.arguments,
  378. sucCall:function(rtn){
  379. conf.callback.call(that,rtn);
  380. }
  381. });
  382. };
  383. /**
  384. * 级联设置
  385. */
  386. function GangedSetCascade(data,callback){
  387. var dialogWidth=550;
  388. var dialogHeight=400;
  389. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1});
  390. var url=__ctx + "/platform/bpm/bpmGangedSetCascade.ht";
  391. url=url.getNewUrl();
  392. var that = this;
  393. DialogUtil.open({
  394. height:conf.dialogHeight,
  395. width: conf.dialogWidth,
  396. title : '级联设置',
  397. url: url,
  398. isResize: true,
  399. //自定义参数
  400. data: data,
  401. sucCall:function(rtn){
  402. callback.call(that,rtn);
  403. }
  404. });
  405. };
  406. /**
  407. * 分级用户选择器
  408. * GradeUserDialog({callback:function(userIds,fullnames,emails,mobiles){},selectUsers:[{id:'',name:''}]})
  409. */
  410. function GradeUserDialog(conf){
  411. var dialogWidth=1000;
  412. var dialogHeight=500;
  413. conf=$.extend({},{dialogWidth:dialogWidth ,dialogHeight:dialogHeight ,help:0,status:0,scroll:0,center:1},conf);
  414. if(!conf.isSingle)conf.isSingle=false;
  415. url=__ctx + "/platform/system/sysUser/gradeDialog.ht?isSingle=" + conf.isSingle;
  416. url=url.getNewUrl();
  417. //重新选择的时候,展现上次数据
  418. var selectUsers="";
  419. if( conf.selectUserIds && conf.selectUserNames){
  420. selectUsers={
  421. selectUserIds:conf.selectUserIds ,
  422. selectUserNames:conf.selectUserNames
  423. }
  424. }else if(conf.selectUsers){
  425. var arr = conf.selectUsers ;
  426. var ids = '';
  427. var names = '';
  428. for ( var i = 0; i < arr.length; i++) {
  429. if(i!=0){
  430. ids+=',';
  431. names+=',';
  432. }
  433. ids+=arr[i].id;
  434. names+=arr[i].name;
  435. }
  436. selectUsers={
  437. selectUserIds:ids ,
  438. selectUserNames:names
  439. }
  440. }
  441. var that =this;
  442. DialogUtil.open({
  443. height:conf.dialogHeight,
  444. width: conf.dialogWidth,
  445. title : '用户选择器',
  446. url: url,
  447. isResize: true,
  448. //自定义参数
  449. selectUsers: selectUsers,
  450. sucCall:function(rtn){
  451. var userIds=rtn.userIds;
  452. var fullnames=rtn.fullnames;
  453. var emails=rtn.emails;
  454. var mobiles=rtn.mobiles;
  455. conf.callback.call(that,userIds,fullnames,emails,mobiles);
  456. }
  457. });
  458. }