maintain.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'maintain/index' + location.search,
  8. add_url: 'maintain/add',
  9. edit_url: 'maintain/edit',
  10. // del_url: 'maintain/del',
  11. multi_url: 'maintain/multi',
  12. import_url: 'maintain/import',
  13. table: 'maintain',
  14. }
  15. });
  16. var table = $("#table");
  17. // 初始化表格
  18. table.bootstrapTable({
  19. url: $.fn.bootstrapTable.defaults.extend.index_url,
  20. pk: 'id',
  21. sortName: 'id',
  22. fixedColumns: true,
  23. fixedRightNumber: 1,
  24. columns: [
  25. [
  26. {checkbox: true},
  27. {field: 'id', title: __('Id')},
  28. {field: 'orderno', title: __('Orderno'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  29. {field: 'company_id', title: __('Company_id')},
  30. {field: 'company.companyname', title: __('Company.companyname'), operate: 'LIKE'},
  31. {field: 'user_id', title: __('User_id')},
  32. {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
  33. {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
  34. // {field: 'uc_id', title: __('Uc_id')},
  35. {field: 'usercompany.projectname', title: __('Usercompany.projectname'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  36. {field: 'price', title: __('Price'), operate:false},
  37. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  38. // {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  39. {field: 'info', title: __('Info'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  40. {field: 'mobile', title: __('Mobile'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  41. {field: 'address', title: __('Address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  42. {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"2":__('Status 2'),"20":__('Status 20'),"22":__('Status 22'),"30":__('Status 30'),"40":__('Status 40'),"50":__('Status 50'),"60":__('Status 60'),"70":__('Status 70'),"80":__('Status 80'),"90":__('Status 90'),"92":__('Status 92'),"100":__('Status 100')}, formatter: Table.api.formatter.status},
  43. // {field: 'canceltime', title: __('Canceltime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  44. {field: 'finishtime', title: __('Finishtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  45. {field: 'baojia_confirmtime', title: __('Baojia_confirmtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  46. {field: 'worker_id', title: __('Worker_id')},
  47. {field: 'worker.truename', title: __('Worker.truename'), operate: 'LIKE'},
  48. {field: 'worker.mobile', title: __('Worker.mobile'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  49. // {field: 'cailiao_time', title: __('Cailiao_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  50. // {field: 'lingqu_time', title: __('Lingqu_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  51. // {field: 'lingqu_images', title: __('Lingqu_images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
  52. {field: 'shangmen_time', title: __('Shangmen_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  53. {field: 'weixiu_times', title: __('Weixiu_times')},
  54. // {field: 'weixiu_id', title: __('Weixiu_id')},
  55. {field: 'wancheng_time', title: __('Wancheng_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  56. // {field: 'eva_info', title: __('Eva_info'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  57. // {field: 'eva_time', title: __('Eva_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  58. {field: 'eva_score', title: __('Eva_score')},
  59. {field: 'operate', title: __('Operate'), table: table,
  60. buttons:[
  61. {
  62. name:'showinfo',
  63. text:'查看导出',
  64. title:'查看导出',
  65. icon:'fa fa-exclamation-circle',
  66. classname:'btn btn-xs btn-info btn-dialog btn-jindu',
  67. url:'maintain/showinfo/id/{ids}?dialog=1',
  68. target:'_self',
  69. },
  70. {
  71. name:'jindu',
  72. text:'进度',
  73. title:'进度',
  74. icon:'fa fa-exclamation-circle',
  75. classname:'btn btn-xs btn-info btn-dialog btn-jindu',
  76. url:'maintainjindu/index/order_id/{ids}?dialog=1',
  77. target:'_self',
  78. },
  79. {
  80. name:'cailiao',
  81. text:'材料',
  82. title:'材料',
  83. icon:'fa fa-exclamation-circle',
  84. classname:'btn btn-xs btn-info btn-dialog btn-cailiao',
  85. url:'maintaincailiao/index/order_id/{ids}?dialog=1',
  86. target:'_self',
  87. },
  88. {
  89. name:'baojia',
  90. text:'报价',
  91. title:'报价',
  92. icon:'fa fa-exclamation-circle',
  93. classname:'btn btn-xs btn-info btn-dialog btn-baojia',
  94. url:'maintainbaojia/index/order_id/{ids}?dialog=1',
  95. target:'_self',
  96. },
  97. /*{
  98. name:'zhipai',
  99. text:'总部指派',
  100. title:'总部指派',
  101. icon:'fa fa-exclamation-circle',
  102. classname:'btn btn-xs btn-info btn-dialog btn-baojia',
  103. url:'maintain/zhipai/id/{ids}?dialog=1',
  104. target:'_self',
  105. hidden:function(row){
  106. //0,20,22,30,40
  107. if(row.status == 0 || row.status == 20 || row.status == 22 || row.status == 30 || row.status == 40){
  108. return false;
  109. }
  110. return true;
  111. }
  112. },*/
  113. ],
  114. events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  115. ]
  116. ],
  117. onLoadSuccess:function(){
  118. // 这里就是数据渲染结束后的回调函数
  119. $(".btn-jindu").data("area", ['80%','80%']);
  120. $(".btn-cailiao").data("area", ['80%','80%']);
  121. $(".btn-baojia").data("area", ['80%','80%']);
  122. }
  123. });
  124. // 为表格绑定事件
  125. Table.api.bindevent(table);
  126. },
  127. showinfo: function () {
  128. Controller.api.bindevent();
  129. },
  130. add: function () {
  131. Controller.api.bindevent();
  132. },
  133. edit: function () {
  134. Controller.api.bindevent();
  135. },
  136. zhipai: function () {
  137. Controller.api.bindevent();
  138. },
  139. api: {
  140. bindevent: function () {
  141. Form.api.bindevent($("form[role=form]"));
  142. }
  143. }
  144. };
  145. return Controller;
  146. });
  147. //打印ctrl+P
  148. function printPage() {
  149. window.print();
  150. }