dialogHrUserRole.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. define(function (require) {
  2. return function (context) {
  3. var $grid1, $grid2, $dlg, $form;
  4. var tabIndex = 0, tabSelect = 1;
  5. var search = [{
  6. queryProperties: ''
  7. }, {
  8. queryProperties: ''
  9. }];
  10. // 输入搜索文本后点击回车按钮查询列表
  11. function enterQueryGrid1(e) {
  12. if (e.keyCode === 13) {
  13. var tmp = $(this).val();
  14. $form.formSet({queryProperties: tmp});
  15. queryGrid1();
  16. queryGrid2();
  17. }
  18. }
  19. //左侧列表
  20. function queryGrid1() {
  21. $grid1.jqGrid("clearGridData");
  22. var obj = $form.formGet();
  23. obj.roleId = context.roleId;
  24. $grid1.reload({
  25. url: api('/hr/userRole/querySys'),
  26. mtype: 'POST',
  27. queryParams: obj
  28. });
  29. if ($grid2 != undefined) {
  30. $grid2.jqGrid("clearGridData");
  31. }
  32. }
  33. //右侧列表
  34. function queryGrid2() {
  35. $grid2.jqGrid("clearGridData");
  36. var obj = $form.formGet();
  37. obj.roleId = context.roleId;
  38. $grid2.reload({
  39. url: api('/sys/sysRole/querySysRoleNot'),
  40. mtype: 'POST',
  41. queryParams: obj
  42. });
  43. }
  44. return {
  45. xtype: 'dialog',
  46. dialogId: 'dialogHrUserRole',
  47. title: '分配角色人员',
  48. width: '100%',
  49. height: '100%',
  50. onOpen: function () {
  51. $dlg = $(this);
  52. if (context.isEdit) {
  53. }
  54. },
  55. north: {
  56. height: 90,
  57. split: true,
  58. border: false,
  59. items: [
  60. {
  61. xtype: 'toolbar', title: '', items: [
  62. {
  63. text: '查询', iconCls: 'fa fa-search', onClick: function () {
  64. if (tabIndex == 0) {
  65. queryGrid1();
  66. } else if (tabIndex == 1) {
  67. queryGrid2();
  68. }
  69. }
  70. }, {
  71. text: '重置', iconCls: 'fa fa-refresh', onClick: function () {
  72. $form.formClear();
  73. if (tabIndex == 0) {
  74. queryGrid1();
  75. } else if (tabIndex == 1) {
  76. queryGrid2();
  77. }
  78. }
  79. }, {
  80. text: '关闭', iconCls: 'fa fa-times-circle', onClick: function () {
  81. $dlg.window('close');
  82. }
  83. }
  84. ]
  85. }, {
  86. xtype: 'form',
  87. onRender: function () {
  88. $form = $(this);
  89. },
  90. items: [[
  91. {name: 'roleId', label: '当前角色 》', labelWidth: 'auto', value: context.roleName, readonly: true},
  92. {
  93. xtype: 'textbox',
  94. label: '检索条件',
  95. name: 'queryProperties',
  96. prompt: '姓名/用户名/手机号/部门',
  97. labelWidth: 'auto', events: {keydown: enterQueryGrid1}
  98. },
  99. {
  100. xtype: 'yvselect', label: '是否分配角色', name: 'hasRole', labelWidth: 'auto', width: 220,
  101. data: [{"id": '', "text": '全部'}, {"id": '0', "text": '未分配'}, {"id": '1', "text": '已分配'}], value: '',
  102. onChange: function () {
  103. if (tabIndex == 0) {
  104. queryGrid1();
  105. } else if (tabIndex == 1) {
  106. queryGrid2();
  107. }
  108. }
  109. },
  110. ]]
  111. }
  112. ]
  113. },
  114. center: {
  115. items: {
  116. xtype: 'tabs',
  117. onRender: function () {
  118. var $tabs = $(this);
  119. $tabs.tabs('select', tabSelect);
  120. },
  121. //切换tabs事件
  122. onSelect: function (title, index) { //得到第几个grid被选中
  123. var obj = $form.formGet();
  124. search[0].queryProperties = obj.queryProperties;
  125. search[1].queryProperties = obj.queryProperties;
  126. var _data = search[index];
  127. $form.formSet({
  128. queryProperties: _data.queryProperties
  129. });
  130. tabIndex = index;
  131. },
  132. items:
  133. [
  134. {
  135. title: '已选择',
  136. lazy: true,
  137. items: {
  138. onRender: function () {
  139. $grid1 = $(this);
  140. queryGrid1(); //初始化数据
  141. },
  142. xtype: 'grid',
  143. pagination: true,
  144. toolbar: {
  145. xtype: 'toolbar',
  146. title: '已选择的人员',
  147. items: [
  148. {
  149. text: '移除人员', iconCls: 'fa fa-times', onClick: function () {
  150. var row = $grid1.rowData();
  151. if (!row) {
  152. $.yvan.msg('请先选择一行数据');
  153. return;
  154. }
  155. if (row.hurId == undefined || row.hurId == null) {
  156. $.yvan.msg('请先选择一行数据');
  157. return;
  158. }
  159. $.yvan.confirm('确定移除 [' + row.name + ']吗?', {
  160. yes: function () {
  161. $.yvan.ajax({
  162. url: api('/hr/userRole/delete'),
  163. method: 'post',
  164. data: {
  165. hurId: row.hurId,
  166. roleName: context.roleName,
  167. userId:row.userId,
  168. roleId:row.roleId,
  169. },
  170. success: function () {
  171. $.yvan.msg('操作成功');
  172. $grid1.reload();
  173. if ($grid2 != undefined && $grid2 != null) {
  174. $grid2.reload();
  175. }
  176. context.confirm();
  177. }
  178. });
  179. }
  180. });
  181. }
  182. }
  183. ]
  184. },
  185. columns: [[
  186. {field: 'hurId', title: '选择', hidden: true},
  187. {field: 'sysId', title: '用户ID', hidden: true},
  188. {field: 'userId', title: '用户ID', hidden: true},
  189. {field: 'roleId', title: '用户ID', hidden: true},
  190. {field: 'name', title: '姓名'},
  191. {field: 'gender', title: '性别', align: 'center', formatter: $.fn.fmatter.genderSrc},
  192. {field: 'account', title: '用户名'},
  193. {field: 'mobile', title: '手机号'},
  194. {field: 'deptName', title: '所属部门'},
  195. {field: 'roleName', title: '拥有角色'},
  196. {field: 'timeCreate', title: '加入时间', align: 'center', formatter: 'ts'},
  197. ]],
  198. }
  199. },
  200. {
  201. title: '待选择',
  202. lazy: true,
  203. items: {
  204. onRender: function () {
  205. $grid2 = $(this);
  206. queryGrid2(); //初始化数据
  207. },
  208. xtype: 'grid',
  209. toolbar: {
  210. xtype: 'toolbar',
  211. title: '待选择的人员', items: [
  212. {
  213. text: '新增人员', iconCls: 'fa fa-plus-circle', onClick: function () {
  214. var row = $grid2.rowData();
  215. if (!row) {
  216. $.yvan.msg('请先选择一行数据');
  217. return;
  218. }
  219. if (row.userId == undefined || row.userId == null) {
  220. $.yvan.msg('请先选择一行数据');
  221. return;
  222. }
  223. var obj = $form.formGet();
  224. if (obj.farmId == "" || obj.farmId == 0) {
  225. $.yvan.msg('请先选择加入的库区');
  226. return;
  227. }
  228. $.yvan.ajax({
  229. url: api('/hr/userRole/insert'),
  230. method: 'post',
  231. data: {
  232. userId: row.userId,
  233. roleId: context.roleId,
  234. sysId: obj.sysId,
  235. name:row.name,
  236. roleName:row.roleNames,
  237. mobile:row.mobile,
  238. deptNames:row.deptNames,
  239. jobcard:row.jobcard,
  240. gender:row.gender,
  241. xtRoleName:context.roleName,
  242. },
  243. success: function () {
  244. $.yvan.msg('操作成功');
  245. $grid1.reload();
  246. $grid2.reload();
  247. context.confirm();
  248. }
  249. });
  250. }
  251. }
  252. ]
  253. },
  254. columns: [[
  255. {field: 'userId', title: '用户ID', hidden: true},
  256. {field: 'name', title: '姓名'},
  257. {field: 'gender', title: '性别', align: 'center', formatter: $.fn.fmatter.genderSrc},
  258. {field: 'gender', title: '性别', hidden: true},
  259. {field: 'account', title: '用户名'},
  260. {field: 'mobile', title: '手机号'},
  261. {field: 'deptNames', title: '所属部门'},
  262. {field: 'roleNames', title: '拥有角色'},
  263. {field: 'jobcard', title: '职工号', hidden: true},
  264. {field: 'userCreate', title: '新增人', hidden: true},
  265. {field: 'timeCreate', title: '新增时间', hidden: true},
  266. ]]
  267. }
  268. }
  269. ]
  270. }
  271. }
  272. };
  273. };
  274. }
  275. );