recuperate.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. $(".btn-add").data("area", ["730px", "500px"]);
  5. // 初始化表格参数配置
  6. Table.api.init({
  7. extend: {
  8. index_url: 'recuperate/index' + location.search,
  9. add_url: 'recuperate/add',
  10. //edit_url: 'recuperate/edit',
  11. del_url: 'recuperate/del',
  12. multi_url: 'recuperate/multi',
  13. import_url: 'recuperate/import',
  14. table: 'recuperate',
  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: __('序号')},
  27. {field: 'unit_id_text', title: __('Unit_id')},
  28. {field: 'people_id_text', title: __('People_id')},
  29. {field: 'job', title: __('岗位')},
  30. {field: 'type_text', title: __('Type')},
  31. {field: 'number', title: __('Number'), operate: 'LIKE'},
  32. {field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
  33. {field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
  34. {field: 'people_id1_text', title: __('People_id1')},
  35. {field: 'status1', title: __('一级审批状态'), formatter: Table.api.formatter.normal,formatter:function(index,row){
  36. if(row.status1 == 1){
  37. if(!row.people1_remark)return '<span class="text-success">已审批</span>'
  38. }else if(row.status1 == 0){
  39. return '<span class="text-danger">已驳回</span> <i class="fa fa-commenting-o" data-toggle="tooltip" data-original-title="'+row.people1_remark+'"></i>'
  40. }else{
  41. return '未处理'
  42. }
  43. }},
  44. //{field: 'unit_id2_text', title: __('Unit_id2')},
  45. {field: 'people_id2_text', title: __('People_id2')},
  46. {field: 'status2', title: __('二级审批状态'), formatter: Table.api.formatter.normal,formatter:function(index,row){
  47. if(row.status2 == 1){
  48. if(!row.people1_remark)return '<span class="text-success">已审批</span>'
  49. }else if(row.status2 == 0){
  50. return '<span class="text-danger">已驳回</span> <i class="fa fa-commenting-o" data-toggle="tooltip" data-original-title="'+row.people2_remark+'"></i>'
  51. }else{
  52. return '未处理'
  53. }
  54. }},
  55. //{field: 'unit_id3_text', title: __('Unit_id3')},
  56. {field: 'people_id3_text', title: __('People_id3')},
  57. {field: 'status3', title: __('三级审批状态'), formatter: Table.api.formatter.normal,formatter:function(index,row){
  58. if(row.status3 == 1){
  59. if(!row.people1_remark)return '<span class="text-success">已审批</span>'
  60. }else if(row.status3 == 0){
  61. return '<span class="text-danger">已驳回</span> <i class="fa fa-commenting-o" data-toggle="tooltip" data-original-title="'+row.people3_remark+'"></i>'
  62. }else{
  63. return '未处理'
  64. }
  65. }},
  66. //{field: 'remark', title: __('Remark'), operate: 'LIKE'},
  67. {field: 'createtime', title: __('申请时间'), operate: 'LIKE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  68. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,buttons: [
  69. {
  70. name: '审核',
  71. text: '审核',
  72. title: '审核',
  73. classname: 'btn btn-xs btn-info btn-view btn-dialog ',
  74. icon: 'fa fa-search',
  75. url: function(row){
  76. var url = 'recuperate/auth?ids='+row.id;
  77. if(row.status1==2){
  78. url+='&step=1';
  79. }else if(row.status2==2){
  80. url+='&step=2';
  81. }else if(row.status3==2){
  82. url+='&step=3';
  83. }
  84. return url;
  85. },
  86. extend: 'data-area=\'["450px","80%"]\'',
  87. refresh: true,
  88. visible:function(row){
  89. if(row.status1==2 && Config.admin.id == row.people_id1){
  90. return true;
  91. }else if(row.status2==2 && Config.admin.id == row.people_id2 && row.status1==1){
  92. return true;
  93. }else if(row.status3==2 && Config.admin.id == row.people_id3 && row.status1==1 && row.status2==1){
  94. return true;
  95. }
  96. return false;
  97. }
  98. }
  99. ], formatter: Table.api.formatter.operate}
  100. ]
  101. ]
  102. });
  103. // 为表格绑定事件
  104. Table.api.bindevent(table);
  105. },
  106. add: function () {
  107. Controller.api.bindevent();
  108. $("#c-people_id").data("params", function (obj) {
  109. var unit_id = $('#J_unitselect').val();
  110. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  111. // return {custom: {unit_id: $("#J_unitselect").val()}};
  112. });
  113. $(document).on("fa.event.appendfieldlist", "#add-form .btn-append", function (e, obj) {
  114. Form.events.selectpage(obj);
  115. Form.events.datetimepicker(obj);
  116. });
  117. $("#c-people_id1").data("params", function (obj) {
  118. var unit_id = $('#J_unitselect1').val();
  119. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  120. // return {custom: {unit_id: $("#J_unitselect").val()}};
  121. });
  122. $("#c-people_id2").data("params", function (obj) {
  123. var unit_id = $('#J_unitselect2').val();
  124. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  125. // return {custom: {unit_id: $("#J_unitselect").val()}};
  126. });
  127. $("#c-people_id3").data("params", function (obj) {
  128. var unit_id = $('#J_unitselect3').val();
  129. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  130. // return {custom: {unit_id: $("#J_unitselect").val()}};
  131. });
  132. $("#c-people_id").data("eSelect", function(){
  133. $.get('recuperate/huoq',{id:$("#c-people_id").val()},function(res){
  134. $('#c-job').val(res.data.job);
  135. //console.log(res);
  136. });
  137. //后续操作
  138. });
  139. },
  140. edit: function () {
  141. Controller.api.bindevent();
  142. $("#c-people_id").data("params", function (obj) {
  143. var unit_id = $('#J_unitselect').val();
  144. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  145. // return {custom: {unit_id: $("#J_unitselect").val()}};
  146. });
  147. $(document).on("fa.event.appendfieldlist", "#edit-form .btn-append", function (e, obj) {
  148. Form.events.selectpage(obj);
  149. Form.events.datetimepicker(obj);
  150. });
  151. $("#c-people_id1").data("params", function (obj) {
  152. var unit_id = $('#J_unitselect1').val();
  153. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  154. // return {custom: {unit_id: $("#J_unitselect").val()}};
  155. });
  156. $("#c-people_id2").data("params", function (obj) {
  157. var unit_id = $('#J_unitselect2').val();
  158. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  159. // return {custom: {unit_id: $("#J_unitselect").val()}};
  160. });
  161. $("#c-people_id3").data("params", function (obj) {
  162. var unit_id = $('#J_unitselect3').val();
  163. return {"custom[unit_id][0]":"find_in_set","custom[unit_id][1]":unit_id};
  164. // return {custom: {unit_id: $("#J_unitselect").val()}};
  165. });
  166. },
  167. auth: function () {
  168. Controller.api.bindevent();
  169. $('#J_ok').click(function(){
  170. var id = $(this).data('id');
  171. Layer.confirm('确定要通过吗?',{shade:false},function(index){
  172. $.get('recuperate/auth_status',{ids:id,status:1},function(res){
  173. parent.Layer.closeAll();
  174. parent.$("a.btn-refresh").trigger("click");
  175. parent.Layer.msg(res.msg);
  176. });
  177. });
  178. });
  179. $('#J_no').click(function(){
  180. var id = $(this).data('id');
  181. Layer.prompt({
  182. title:'驳回原因'
  183. },function(val,index){
  184. if(val){
  185. $.get('recuperate/auth_status',{ids:id,status:0,remark:val},function(res){
  186. parent.Layer.closeAll();
  187. parent.$("a.btn-refresh").trigger("click");
  188. parent.Layer.msg(res.msg);
  189. });
  190. }else{
  191. Layer.msg('请输入原因');
  192. }
  193. })
  194. });
  195. },
  196. api: {
  197. bindevent: function () {
  198. Form.api.bindevent($("form[role=form]"));
  199. }
  200. }
  201. };
  202. return Controller;
  203. });