add.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. var selectedData = { cols: [], array: [] };
  2. var checkusersselect = null;
  3. var checkuserlist = null;
  4. var tabledatagride = null;
  5. $(document).ready(function() {
  6. $.jeDate("#month_date", {
  7. isinitVal: true,
  8. format: 'YYYY/MM' // 分隔符可以任意定义,该例子表示只显示年月
  9. });
  10. var checked_dept = null;
  11. if (roleContains("SERVICEAREA")) {
  12. checked_dept = getCurrentUser().organid;
  13. }
  14. setSASelecttemp("#fwq", checked_dept);
  15. inittAreaable($("#month_date").val(), 89);
  16. initselecttable();
  17. laydate.render({
  18. elem: '#starttime',
  19. type: 'time'
  20. });
  21. laydate.render({
  22. elem: '#endtime',
  23. type: 'time'
  24. });
  25. });
  26. var arealist = null;
  27. var stimemonth = null;
  28. function initselecttable() {
  29. selectedData = { cols: [], array: [], cache: false };
  30. selectedData.cols.push({ width: 0.3, name: "time", label: '时间', style: { 'text-align': 'center', 'line-height': '34px' } });
  31. selectedData.cols.push({ width: 0.2, name: "dept_name", label: '部门', style: { 'text-align': 'center', 'line-height': '34px' } });
  32. selectedData.cols.push({ width: 0.2, name: "area_name", label: '区域', style: { 'text-align': 'center', 'line-height': '34px' } });
  33. selectedData.cols.push({ width: 0.3, name: "option", label: '操作', html: true, style: { 'text-align': 'center', 'line-height': '34px' } });
  34. reloadtable();
  35. }
  36. function reloadtable() {
  37. $('#selected_table').datagrid({
  38. dataSource: selectedData,
  39. states: { fixedTopUntil: 0 },
  40. rowDefaultHeight: 50,
  41. height: 200,
  42. });
  43. }
  44. var layindex = null;
  45. function inittAreaable(time, dept) {
  46. layindex = layer.load(0, { shade: false });
  47. var t = time.replace("/", "-") + "";
  48. var endtime = moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss");
  49. var starttime = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
  50. var param = { "dept_id": dept };
  51. post_common_service('/f/area/getall', param, function(redata) {
  52. console.log(redata)
  53. layer.close(layer.index);
  54. var data = redata.areas;
  55. checkuserlist = redata.checkusers;
  56. var datac = { cols: [], array: [] };
  57. var days = endtime.diff(starttime, 'days');
  58. datac.cols.push({ width: 120, name: 'type', label: "", });
  59. for (var i = 1; i <= days; i++) {
  60. var temp = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
  61. var currentday = temp.add(i, "day");
  62. var day = currentday.date();
  63. datac.cols.push({ width: 80, name: "day_" + i, label: currentday.format("MM-DD"), html: true });
  64. }
  65. arealist = data;
  66. stimemonth = time;
  67. for (var index in data) {
  68. var area = data[index];
  69. var data_table = {};
  70. data_table.type = area.name;
  71. for (var i = 1; i <= days; i++) {
  72. //内容
  73. var temphtml = '<div class="btn-group" data-toggle="buttons">' +
  74. '<label class="btn btn-info2">' +
  75. '<input type="checkbox" name="options" onchange="selectedTask(this)" id="' + area.id + '_' + i + '"> 待稽查' +
  76. '</label>';
  77. if (i % 3 == 0) {
  78. temphtml = '<div class="btn-group" data-toggle="buttons">' +
  79. '<label class="btn btn-danger disabled">' +
  80. '<input type="checkbox" name="options" id="' + area.id + '_' + i + '"> 已稽查' +
  81. '</label>';
  82. }
  83. if (i % 4 == 0) {
  84. temphtml = '<div class="btn-group" data-toggle="buttons">' +
  85. '<label class="btn btn-warning disabled">' +
  86. '<input type="checkbox" name="options" id="' + area.id + '_' + i + '"> 无效' +
  87. '</label>';
  88. }
  89. data_table["day_" + i] = temphtml;
  90. }
  91. datac.array.push(data_table);
  92. }
  93. if (tabledatagride != null) {
  94. tabledatagride.dataSource.data = null;
  95. tabledatagride.setDataSource(datac);
  96. tabledatagride.setPager(1, datac.array.length, datac.array.length);
  97. tabledatagride.render();
  98. } else {
  99. $('#table_s').datagrid({
  100. dataSource: datac,
  101. states: { fixedLeftUntil: 1, fixedTopUntil: 0 },
  102. showRowIndex: false,
  103. rowDefaultHeight: 50,
  104. configs: {
  105. C1: { className: "datagrid-cell-index", style: { 'text-align': 'center', 'line-height': '34px' } },
  106. R0: { style: { 'text-align': 'center' } }
  107. }
  108. });
  109. tabledatagride = $('#table_s').data('zui.datagrid');
  110. }
  111. for (var index in checkuserlist) {
  112. var p = checkuserlist[index];
  113. p.title = p.truename;
  114. }
  115. if (checkusersselect != null) {
  116. reset();
  117. } else {
  118. checkusersselect = $('#check_users').comboTree({
  119. source: checkuserlist,
  120. isMultiple: true
  121. });
  122. }
  123. });
  124. }
  125. function reset() {
  126. initselecttable();
  127. var myDataGrid = $('#selected_table').data('zui.datagrid');
  128. myDataGrid.dataSource.data = null;
  129. myDataGrid.setDataSource(selectedData);
  130. myDataGrid.setPager(1, selectedData.array.length, selectedData.array.length);
  131. myDataGrid.render();
  132. if (checkusersselect != null) {
  133. $("#check_users").val("");
  134. checkusersselect.unbind();
  135. checkusersselect.closeDropDownMenu();
  136. checkusersselect.bindings();
  137. $(".ComboTreeItemChlid").find("input").prop('checked', false);
  138. }
  139. $("#starttime").val("");
  140. $("#endtime").val("");
  141. }
  142. function selectedTask(obj) {
  143. changeListItem(obj.id);
  144. }
  145. function removeListItem(obj) {
  146. var ids = obj.id.split("delete_");
  147. $("#" + ids[1]).parent().removeClass("active");
  148. $("#" + ids[1]).prop("checked", false);
  149. changeListItem(ids[1]);
  150. }
  151. function changeListItem(id) {
  152. var tempids = id.split("_");
  153. var t = stimemonth.replace("/", "-") + "";
  154. var starttime = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
  155. var ctime = starttime.add(tempids[1], "day");
  156. var carea = null;
  157. for (var i in arealist) {
  158. var a = arealist[i];
  159. if (a.id == tempids[0]) {
  160. carea = a;
  161. }
  162. }
  163. if ($("#" + id).prop('checked')) {
  164. addlisttable(carea, ctime, id);
  165. } else {
  166. removelisttable(carea, ctime);
  167. }
  168. }
  169. function addlisttable(area, time, id) {
  170. var feeList = $.zui.store.get("cache_sa_station_list");
  171. var dept_info = null;
  172. for (var index in feeList) {
  173. var dept = feeList[index];
  174. if (area.dept_id == dept.deptid) {
  175. dept_info = dept;
  176. }
  177. }
  178. id = trim(id);
  179. var btn = '<button class="btn btn-primary" type="button" onclick="removeListItem(this)" id="delete_' + id + '">删除</button>';
  180. selectedData.array.push({ "time": time.format("YYYY-MM-DD"), "dept_name": dept_info.name, "area_name": area.name, "option": btn, area_info: area, dept: dept_info });
  181. var myDataGrid = $('#selected_table').data('zui.datagrid');
  182. myDataGrid.dataSource.data = null;
  183. myDataGrid.setDataSource(selectedData);
  184. myDataGrid.setPager(1, selectedData.array.length, selectedData.array.length);
  185. myDataGrid.render();
  186. // $('#selected_table').data('zui.datagrid').setDataSource(selectedData);
  187. // $('#selected_table').data('zui.datagrid').renderData();
  188. }
  189. function removelisttable(area, time) {
  190. for (var index in selectedData.array) {
  191. var o = selectedData.array[index];
  192. if (o != null && o.area_info.id == area.id && time.format("YYYY-MM-DD") == o.time) {
  193. selectedData.array.splice(index, 1);
  194. }
  195. }
  196. var myDataGrid = $('#selected_table').data('zui.datagrid');
  197. myDataGrid.dataSource.data = null;
  198. myDataGrid.setDataSource(selectedData);
  199. myDataGrid.setPager(1, selectedData.array.length, selectedData.array.length);
  200. myDataGrid.render();
  201. //reloadtable();
  202. }
  203. function search() {
  204. inittAreaable($("#month_date").val(), $("#fwq").val());
  205. }