quality.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. let table1_extend = {
  3. index_url: 'institution/department/institutionIndex/' + location.search,
  4. table: 'templates',
  5. };
  6. let table2_extend = {
  7. index_url: 'quality/quality/doctorList/type/pic/' + location.search,
  8. table: 'templates',
  9. };
  10. let table3_extend = {
  11. index_url: 'quality/quality/doctorList/type/rep/' + location.search,
  12. table: 'templates',
  13. };
  14. let Controller = {
  15. index: function () {
  16. // 初始化表格参数配置
  17. Table.api.init();
  18. this.table.first();
  19. this.table.second();
  20. this.table.third();
  21. },
  22. table: {
  23. first: function () {
  24. // 初始化表格参数配置
  25. Table.api.init({
  26. extend: table1_extend
  27. });
  28. let table1 = $("#table1");
  29. // 初始化表格
  30. table1.bootstrapTable({
  31. url: $.fn.bootstrapTable.defaults.extend.index_url,
  32. pk: 'id',
  33. pageSize: 10,
  34. toolbar: '#toolbar1',
  35. showToggle: false,
  36. showExport: false,
  37. showColumns: false,
  38. commonSearch: false,
  39. singleSelect: true, //是否启用单选
  40. clickToSelect: true,
  41. onCheck: function (rows) { // 选中事件
  42. // 刷新子级列表
  43. $('#selected_institution').data('id',rows.id);
  44. $('#toolbar2 .btn-refresh').trigger('click');
  45. $('#toolbar3 .btn-refresh').trigger('click');
  46. },
  47. columns: [
  48. [
  49. {checkbox: true,},
  50. {field: 'name', title: __('Institution'), formatter: Table.api.formatter.bold, align:'left'},
  51. ]
  52. ]
  53. });
  54. // 默认选中第一条
  55. table1.on('post-body.bs.table', function () {
  56. $('#table1 tr[data-index="0"] td input[data-index="0"]').trigger('click');
  57. });
  58. // 为表格绑定事件
  59. Table.api.bindevent(table1);
  60. },
  61. second: function () {
  62. // 初始化表格参数配置
  63. Table.api.init({
  64. extend: table2_extend
  65. });
  66. let table2 = $("#table2");
  67. // 初始化表格
  68. table2.bootstrapTable({
  69. url: $.fn.bootstrapTable.defaults.extend.index_url,
  70. pk: 'id',
  71. toolbar: '#toolbar2',
  72. showToggle: false,
  73. showColumns: false,
  74. // showExport: false,
  75. commonSearch: false,
  76. queryParams: function queryParams(params) {
  77. params.ins_id = $('#selected_institution').data('id');
  78. return params;
  79. },
  80. exportOptions: {
  81. ignoreColumn: ['buttons']
  82. },
  83. columns: [
  84. [
  85. { field : 'realname',
  86. title: __('Realname')
  87. },
  88. { field : 'JPL',
  89. title : __('JPL'),
  90. formatter: Table.api.formatter.italic,
  91. },
  92. { field : 'excellent',
  93. title : __('Excellent'),
  94. formatter: Controller.api.formatter.num
  95. },
  96. { field : 'good',
  97. title : __('Good'),
  98. formatter: Controller.api.formatter.num
  99. },
  100. { field : 'qualified',
  101. title : __('Qualified'),
  102. formatter: Controller.api.formatter.num
  103. },
  104. { field : 'poor',
  105. title : __('Poor'),
  106. formatter: Controller.api.formatter.num
  107. },
  108. {
  109. field : 'buttons',
  110. width : "120px",
  111. title : __('operate'),
  112. table: table2,
  113. events: Table.api.events.operate,
  114. formatter: Table.api.formatter.operate,
  115. buttons: [
  116. {
  117. name : 'detail',
  118. text : __('detail'),
  119. title : __('detail'),
  120. classname: 'btn btn-xs btn-primary btn-dialog',
  121. icon : 'fa fa-list',
  122. url : 'quality/quality/detail',
  123. }
  124. ]
  125. }
  126. ],
  127. ],
  128. });
  129. // 为表格绑定事件
  130. Table.api.bindevent(table2);
  131. return table2;
  132. },
  133. third: function () {
  134. // 初始化表格参数配置
  135. Table.api.init({
  136. extend: table3_extend
  137. });
  138. let table3 = $("#table3");
  139. // 初始化表格
  140. table3.bootstrapTable({
  141. url: $.fn.bootstrapTable.defaults.extend.index_url,
  142. pk: 'd.id',
  143. toolbar: '#toolbar3',
  144. showToggle: false,
  145. showColumns: false,
  146. showExport: false,
  147. commonSearch: false,
  148. queryParams: function queryParams(params) {
  149. params.ins_id = $('#selected_institution').data('id');
  150. return params;
  151. },
  152. columns: [
  153. [
  154. {field: 'realname', title: __('Realname')},
  155. {field: 'excellent', title: __('Excellent'), formatter: Table.api.formatter.TJNum},
  156. {field: 'good', title: __('Good'), formatter: Table.api.formatter.TJNum},
  157. {field: 'qualified', title: __('Qualified'), formatter: Table.api.formatter.TJNum},
  158. {field: 'poor', title: __('Poor'), formatter: Table.api.formatter.TJNum},
  159. ]
  160. ],
  161. });
  162. // 为表格绑定事件
  163. Table.api.bindevent(table3);
  164. return table3;
  165. },
  166. },
  167. add: function () {
  168. Controller.api.bindevent();
  169. },
  170. edit: function () {
  171. Controller.api.bindevent();
  172. },
  173. api: {
  174. bindevent: function () {
  175. Form.api.bindevent($("form[role=form]"));
  176. },
  177. formatter: {
  178. is_report: function (value) {
  179. return value == '1' ? '是' : '否';
  180. },
  181. num: function (value) {
  182. if(value === 0){
  183. return value;
  184. }
  185. return '<strong style="font-style:italic; font-size: 15px; color: #408eba;">'+ value +'</strong>';
  186. }
  187. },
  188. },
  189. };
  190. return Controller;
  191. });