weekwork.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. $(".btn-add").data("area",["1050px","680px"]);
  5. // 初始化表格参数配置
  6. Table.api.init({
  7. extend: {
  8. index_url: 'weekwork/index' + location.search,
  9. add_url: 'weekwork/add',
  10. edit_url: 'weekwork/edit',
  11. del_url: 'weekwork/del',
  12. multi_url: 'weekwork/multi',
  13. import_url: 'weekwork/import',
  14. table: 'weekwork',
  15. }
  16. });
  17. var table = $("#table");
  18. // 初始化表格
  19. table.bootstrapTable({
  20. url: $.fn.bootstrapTable.defaults.extend.index_url,
  21. pk: 'id',
  22. sortName: 'id',
  23. columns: [
  24. [
  25. {checkbox: true},
  26. {field: 'order_number', title: __('Id')},
  27. {field: 'name', title: __('Name'), operate: 'LIKE'},
  28. {field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
  29. {field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
  30. {field: 'people_id_text', title: __('People_id')},
  31. {field: 'phone', title: __('Phone'), operate: 'LIKE'},
  32. {field: 'people_id1_text', title: __('People_id1')},
  33. {field: 'people_id2_text', title: __('People_id2')},
  34. {field: 'time', title: __('Time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
  35. // {field: 'remark', title: __('Remark'), operate: 'LIKE'},
  36. // {field: 'unit_id', title: __('Unit_id')},
  37. // {field: 'admin_id', title: __('Admin_id')},
  38. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,buttons: [
  39. {
  40. name: '查看',
  41. text: '查看',
  42. title: '查看',
  43. classname: 'btn btn-xs btn-info btn-view btn-dialog ',
  44. icon: 'fa fa-search',
  45. url: 'weekwork/details',
  46. extend: 'data-area=\'["1100px","80%"]\'',
  47. refresh: true
  48. }
  49. ], formatter: Table.api.formatter.operate}
  50. ]
  51. ]
  52. });
  53. // 为表格绑定事件
  54. Table.api.bindevent(table);
  55. table.on('post-body.bs.table',function(){
  56. $(".btn-editone").data("area",["1024px","680px"]);
  57. })
  58. },
  59. add: function () {
  60. Controller.api.bindevent();
  61. $("#c-people_id,#c-people_id1,#c-people_id2").data("params", function (obj) {
  62. var unit_id = $('#J_unitselect').val();
  63. return {"custom[unit_id][0]":"in","custom[unit_id][1]":unit_id};
  64. });
  65. //因为日期选择框不会触发change事件,导致无法刷新textarea,所以加上判断
  66. $(document).on("dp.change", "#add-form .datetimepicker", function () {
  67. $(this).parent().prev().find("input").trigger("change");
  68. });
  69. $(document).on("fa.event.appendfieldlist", "#add-form .btn-append", function (e, obj) {
  70. Form.events.selectpage(obj);
  71. Form.events.datetimepicker(obj);
  72. });
  73. $(document).on('click','.btn-append',function(){
  74. var form = $("#add-form");
  75. require(['bootstrap-datetimepicker'], function () {
  76. var options = {
  77. format: 'LT',
  78. icons: {
  79. time: 'fa fa-clock-o',
  80. date: 'fa fa-calendar',
  81. up: 'fa fa-chevron-up',
  82. down: 'fa fa-chevron-down',
  83. previous: 'fa fa-chevron-left',
  84. next: 'fa fa-chevron-right',
  85. today: 'fa fa-history',
  86. clear: 'fa fa-trash',
  87. close: 'fa fa-remove'
  88. },
  89. showTodayButton: true,
  90. showClose: true
  91. };
  92. $('.datetimepicker3', form).parent().css('position', 'relative');
  93. $('.datetimepicker3', form).datetimepicker(options).on('dp.change', "#add-form .datetimepicker3", function (e) {
  94. $(this, document).trigger("changed");
  95. });
  96. });
  97. });
  98. },
  99. edit: function () {
  100. Controller.api.bindevent();
  101. $("#c-people_id,#c-people_id1,#c-people_id2").data("params", function (obj) {
  102. var unit_id = $('#J_unitselect').val();
  103. return {"custom[unit_id][0]":"in","custom[unit_id][1]":unit_id};
  104. });
  105. //因为日期选择框不会触发change事件,导致无法刷新textarea,所以加上判断
  106. $(document).on("dp.change", "#edit-form .datetimepicker", function () {
  107. $(this).parent().prev().find("input").trigger("change");
  108. });
  109. $(document).on("fa.event.appendfieldlist", "#edit-form .btn-append", function (e, obj) {
  110. Form.events.selectpage(obj);
  111. Form.events.datetimepicker(obj);
  112. });
  113. $(document).on('click','.btn-append',function(){
  114. var form = $("#edit-form");
  115. require(['bootstrap-datetimepicker'], function () {
  116. var options = {
  117. format: 'LT',
  118. icons: {
  119. time: 'fa fa-clock-o',
  120. date: 'fa fa-calendar',
  121. up: 'fa fa-chevron-up',
  122. down: 'fa fa-chevron-down',
  123. previous: 'fa fa-chevron-left',
  124. next: 'fa fa-chevron-right',
  125. today: 'fa fa-history',
  126. clear: 'fa fa-trash',
  127. close: 'fa fa-remove'
  128. },
  129. showTodayButton: true,
  130. showClose: true
  131. };
  132. $('.datetimepicker3', form).parent().css('position', 'relative');
  133. $('.datetimepicker3', form).datetimepicker(options).on('dp.change', "#edit-form .datetimepicker3", function (e) {
  134. $(this, document).trigger("changed");
  135. });
  136. });
  137. });
  138. },
  139. api: {
  140. bindevent: function () {
  141. Form.api.bindevent($("form[role=form]"));
  142. }
  143. }
  144. };
  145. return Controller;
  146. });