specialPersonnelLYSix.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. define(function (require) {
  2. return function (context) {
  3. var $grid1, $form;
  4. // 弹框的方式
  5. var widgets = {
  6. // 搜索分类检索
  7. selectTableUnit: {
  8. url: 'app/whepi/home/selectLYbumen.js',
  9. bind: {
  10. unitId: 'unitId',
  11. unit: 'unit',
  12. },
  13. },
  14. };
  15. // 输入搜索文本后点击回车按钮查询列表
  16. function enterQueryGrid1(e) {
  17. if (e.keyCode === 13) {
  18. var tmp = $(this).val();
  19. $form.formSet({queryProperties: tmp});
  20. queryGrid1();
  21. }
  22. }
  23. function enterQueryGrid2(e) {
  24. if (e.keyCode === 13) {
  25. var tmp = $(this).val();
  26. $form.formSet({phone: tmp});
  27. queryGrid1();
  28. }
  29. }
  30. // 检索条件查询
  31. function queryGrid1() {
  32. var queryForm = $form.formGet();
  33. queryForm.tuType = 4;
  34. $grid1.reload({
  35. mtype: 'POST',
  36. url: api('/OutUser/selectAllOutUserLY'),
  37. queryParams: queryForm
  38. }, true);
  39. }
  40. var queryToolbar = {
  41. xtype: 'toolbar',
  42. title: '六类人员详情',
  43. items: [
  44. {
  45. text: '查询', iconCls: 'fa fa-search', onClick: function () {
  46. queryGrid1();
  47. }
  48. }, {
  49. text: '重置', iconCls: 'fa fa-refresh', onClick: function () {
  50. $form.formClear();
  51. queryGrid1();
  52. }
  53. }, {
  54. text: '关闭', iconCls: 'fa fa-times-circle', onClick: function () {
  55. App.closeMe(this);
  56. }
  57. }
  58. ]
  59. };
  60. var queryForm = {
  61. onRender: function () {
  62. $form = $(this);
  63. },
  64. xtype: 'form',
  65. items: [[
  66. {
  67. xtype: 'textbox',
  68. label: '检索条件',
  69. name: 'queryProperties',
  70. prompt: "联系人姓名/工号",
  71. labelWidth: 'auto',
  72. events: {keydown: enterQueryGrid1}, width: 350
  73. },
  74. {xtype: 'hidden', name: 'unitId'},
  75. {
  76. xtype: 'searchbox',
  77. label: '部门',
  78. labelWidth: 'auto',
  79. name: 'unit',
  80. prompt: "部门",
  81. width: 250,
  82. widget: widgets.selectTableUnit,// 弹出框方法
  83. onChange: function (value) {
  84. if (!isNotNullOrEmpty(value)) {
  85. $form.formSet({
  86. unitId : ''
  87. })
  88. }
  89. queryGrid1();
  90. },
  91. },
  92. {
  93. xtype: 'textbox',
  94. label: '电话',
  95. name: 'phone',
  96. prompt: "请输入完整的电话号码",
  97. labelWidth: 'auto',
  98. events: {keydown: enterQueryGrid2}, width: 350
  99. },
  100. ]]
  101. };
  102. return {
  103. north: {
  104. height: 88,
  105. /* split: true,
  106. border: false,*///底框是否可变动
  107. items: [
  108. queryToolbar,
  109. queryForm
  110. ]
  111. },
  112. center: {
  113. height: '60%',
  114. split: true,
  115. items:
  116. {
  117. onRender: function () {
  118. $grid1 = $(this);
  119. queryGrid1()
  120. },
  121. xtype: 'grid',
  122. toolbar: {
  123. xtype: 'toolbar',
  124. title: '六类人员详情',
  125. items: [
  126. {
  127. text: '添加', iconCls: 'fa fa-plus-circle fa-lg', onClick: function () {
  128. $.yvan.showDialog(this,
  129. require('/app/whepi/scan/addOutUserLYSix.js')({
  130. isEdit: false,
  131. confirm: function () {
  132. queryGrid1();
  133. }
  134. })
  135. );
  136. }
  137. },
  138. {
  139. text: '删除', iconCls: 'fa fa fa-pencil-square-o fa-lg', onClick: function () {
  140. var row = $grid1.checkedData();
  141. if (row.length == 0) {
  142. $.yvan.msg('请至少选择一行数据');
  143. return;
  144. }
  145. var ids = "";
  146. for (var i=0; i<row.length; i++) {
  147. ids += row[i].tuId + ","
  148. }
  149. $.yvan.confirm('确定删除勾选的这' + row.length + '条六类人员吗?', {
  150. yes: function (index) {
  151. $.yvan.ajax({
  152. method: 'post',
  153. url: api('/OutUser/deleteOutUser'),
  154. data: {ids: ids},
  155. success: function (data) {
  156. $.yvan.msg("删除成功");
  157. $grid1.reload();
  158. queryGrid1();
  159. }
  160. });
  161. }
  162. });
  163. }
  164. },
  165. {
  166. text: '导出系统六类人员', iconCls: 'fa fa-cloud-upload', onClick: function () {
  167. var queryForm = $form.formGet();
  168. $.yvan.download({
  169. method: 'post',
  170. url: api('/sweepCode/getByReportSuspected'),
  171. fileName: '系统六类人员-' + $.yvan.getMoment().format('YYYY-MM-DD HH:mm:ss') + '.xlsx'
  172. });
  173. }
  174. },
  175. ]
  176. },
  177. multiselect: true, /// 表格
  178. // 多选
  179. idField: 'tuId',
  180. editable: true,
  181. editOnSelected: true,
  182. autoSizeColumns: true,
  183. columns:
  184. [
  185. [
  186. {field: 'tuId', title: '用户ID', hidden: true},
  187. {field: 'userId', title: '用户ID', hidden: true},
  188. {field: 'unit', title: '部门', maxWidth: 200, align: 'left',},
  189. {field: 'name', title: '名字', maxWidth: 200, align: 'left',},
  190. {field: 'phone', title: '电话', maxWidth: 200, align: 'left',},
  191. {field: 'doorplate', title: '工号', maxWidth: 200, align: 'left',},
  192. {
  193. field: 'startDateStr', title: '开始时间', minWidth: 120, maxWidth: 300, align: 'left', editor: {
  194. xtype: 'datebox',
  195. required: true,
  196. onChange: function (value) {
  197. console.log(value)
  198. var row = $grid1.rowData();
  199. var startDateStr = row.startDateStr;
  200. var endDateStr = row.endDateStr;
  201. if (startDateStr > endDateStr) {
  202. $.yvan.msg('开始时间必须小于等于结束时间');
  203. return;
  204. } else {
  205. $.yvan.ajax({
  206. url: api('/OutUser/updateOutUser'),
  207. data: {
  208. tuId: row.tuId,
  209. startDate: row.startDateStr,
  210. endDate: row.endDateStr
  211. },
  212. method: 'post',
  213. async: false,
  214. success: function (data) {
  215. $.yvan.msg("操作成功");
  216. return;
  217. }
  218. });
  219. }
  220. },
  221. maxlength: 50
  222. }
  223. },
  224. {
  225. field: 'endDateStr', title: '结束时间', minWidth: 120, maxWidth: 200, align: 'left', editor: {
  226. xtype: 'datebox',
  227. required: true,
  228. onChange: function (value) {
  229. console.log(value)
  230. var row = $grid1.rowData();
  231. var startDateStr = row.startDateStr;
  232. var endDateStr = row.endDateStr;
  233. if (startDateStr > endDateStr) {
  234. $.yvan.msg('开始时间必须小于等于结束时间');
  235. return;
  236. } else {
  237. $.yvan.ajax({
  238. url: api('/OutUser/updateOutUser'),
  239. data: {
  240. tuId: row.tuId,
  241. startDate: row.startDateStr,
  242. endDate: row.endDateStr
  243. },
  244. method: 'post',
  245. async: false,
  246. success: function (data) {
  247. $.yvan.msg("操作成功");
  248. return;
  249. }
  250. });
  251. }
  252. },
  253. maxlength: 50
  254. }
  255. },
  256. ]
  257. ]
  258. }
  259. }
  260. };
  261. };
  262. }
  263. );