specialPersonnel.js 15 KB

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