specialPersonnelLY.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  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 = 1;
  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/addOutUserLY.js')({
  130. isEdit: false,
  131. confirm: function () {
  132. queryGrid1();
  133. }
  134. })
  135. );
  136. }
  137. },
  138. // {
  139. // text: '保存', iconCls: 'fa fa-pencil-square-o', onClick: function () {
  140. // var row = $grid1.rowData();
  141. // if (!row) {
  142. // $.yvan.msg('请选择一条要保存的数据');
  143. // return;
  144. // }
  145. // var startDateStr = row.startDateStr;
  146. // var endDateStr = row.endDateStr;
  147. // if (startDateStr > endDateStr) {
  148. // $.yvan.msg('开始时间必须小于等于结束时间');
  149. // return;
  150. // }
  151. // $.yvan.ajax({
  152. // url: api('/OutUser/updateOutUser'),
  153. // data: {
  154. // tuId: row.tuId,
  155. // startDate: row.startDateStr,
  156. // endDate: row.endDateStr
  157. // },
  158. // method: 'post',
  159. // async: false,
  160. // success: function (data) {
  161. // $.yvan.msg("操作成功");
  162. // $grid1.reload();
  163. // queryGrid1();
  164. // }
  165. // });
  166. // }
  167. // },
  168. {
  169. text: '删除', iconCls: 'fa fa fa-pencil-square-o fa-lg', onClick: function () {
  170. var row = $grid1.checkedData();
  171. if (row.length == 0) {
  172. $.yvan.msg('请至少选择一行数据');
  173. return;
  174. }
  175. var ids = "";
  176. for (var i=0; i<row.length; i++) {
  177. ids += row[i].tuId + ","
  178. }
  179. $.yvan.confirm('确定删除勾选的这' + row.length + '条特殊人员吗?', {
  180. yes: function (index) {
  181. $.yvan.ajax({
  182. method: 'post',
  183. url: api('/OutUser/deleteOutUser'),
  184. data: {ids: ids},
  185. success: function (data) {
  186. $.yvan.msg("删除成功");
  187. $grid1.reload();
  188. queryGrid1();
  189. }
  190. });
  191. }
  192. });
  193. }
  194. }
  195. ]
  196. },
  197. multiselect: true, /// 表格多选
  198. idField: 'tuId',
  199. editable: true,
  200. editOnSelected: true,
  201. autoSizeColumns: true,
  202. columns:
  203. [
  204. [
  205. {field: 'tuId', title: '用户ID', hidden: true},
  206. {field: 'userId', title: '用户ID', hidden: true},
  207. {field: 'unit', title: '部门', maxWidth: 200, align: 'left',},
  208. {field: 'name', title: '名字', maxWidth: 200, align: 'left',},
  209. {field: 'phone', title: '电话', maxWidth: 200, align: 'left',},
  210. {field: 'doorplate', title: '工号', maxWidth: 200, align: 'left',},
  211. {
  212. field: 'startDateStr', title: '开始时间', minWidth: 120, maxWidth: 300, align: 'left', editor: {
  213. xtype: 'datebox',
  214. required: true,
  215. onChange: function (value) {
  216. console.log(value)
  217. var row = $grid1.rowData();
  218. var startDateStr = row.startDateStr;
  219. var endDateStr = row.endDateStr;
  220. if (startDateStr > endDateStr) {
  221. $.yvan.msg('开始时间必须小于等于结束时间');
  222. return;
  223. } else {
  224. $.yvan.ajax({
  225. url: api('/OutUser/updateOutUser'),
  226. data: {
  227. tuId: row.tuId,
  228. startDate: row.startDateStr,
  229. endDate: row.endDateStr
  230. },
  231. method: 'post',
  232. async: false,
  233. success: function (data) {
  234. $.yvan.msg("操作成功");
  235. return;
  236. }
  237. });
  238. }
  239. },
  240. maxlength: 50
  241. }
  242. },
  243. {
  244. field: 'endDateStr', title: '结束时间', minWidth: 120, maxWidth: 200, align: 'left', editor: {
  245. xtype: 'datebox',
  246. required: true,
  247. onChange: function (value) {
  248. console.log(value)
  249. var row = $grid1.rowData();
  250. var startDateStr = row.startDateStr;
  251. var endDateStr = row.endDateStr;
  252. if (startDateStr > endDateStr) {
  253. $.yvan.msg('开始时间必须小于等于结束时间');
  254. return;
  255. } else {
  256. $.yvan.ajax({
  257. url: api('/OutUser/updateOutUser'),
  258. data: {
  259. tuId: row.tuId,
  260. startDate: row.startDateStr,
  261. endDate: row.endDateStr
  262. },
  263. method: 'post',
  264. async: false,
  265. success: function (data) {
  266. $.yvan.msg("操作成功");
  267. return;
  268. }
  269. });
  270. }
  271. },
  272. maxlength: 50
  273. }
  274. },
  275. ]
  276. ]
  277. }
  278. }
  279. };
  280. };
  281. }
  282. );