money.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. define([
  2. 'jquery',
  3. 'bootstrap',
  4. 'backend',
  5. 'table',
  6. 'form'
  7. ], function ($, undefined, Backend, Table, Form) {
  8. let second_extend = {
  9. index_url: 'money/money/index' + location.search,
  10. };
  11. let first_extend = {
  12. index_url: 'institution/department/institutionIndex/' + location.search,
  13. }
  14. let Controller = {
  15. index: function () {
  16. // 初始化表格参数配置
  17. Table.api.init();
  18. this.table.first();
  19. this.table.second();
  20. },
  21. table: {
  22. first : function () {
  23. // 初始化表格参数配置
  24. Table.api.init({
  25. extend: first_extend
  26. });
  27. let table1 = $("#table1");
  28. // 初始化表格
  29. table1.bootstrapTable({
  30. url : $.fn.bootstrapTable.defaults.extend.index_url,
  31. pk : 'id',
  32. pageSize : 10,
  33. toolbar : '#toolbar1',
  34. showToggle : false,
  35. showExport : false,
  36. showColumns : false,
  37. commonSearch : false,
  38. singleSelect : true, //是否启用单选
  39. clickToSelect: true,
  40. onCheck : function (rows) { // 选中事件
  41. // 刷新子级列表
  42. $('#selected_institution').data('id', rows.id);
  43. $('#selected-institution_name').text(rows.name);
  44. $('#toolbar2 .btn-refresh').trigger('click');
  45. },
  46. columns : [
  47. [
  48. { checkbox: true, },
  49. {
  50. field: 'name',
  51. title: __('Hospital'),
  52. operate: 'LIKE %...%',
  53. formatter: function (value) {
  54. return '<strong>'+ value +'</strong>'
  55. },
  56. align: "left"
  57. }
  58. ]
  59. ]
  60. });
  61. // 默认选中第一条
  62. table1.on('post-body.bs.table', function () {
  63. $('#table1 tr[data-index="0"] td input[data-index="0"]').trigger('click');
  64. return false;
  65. });
  66. // 为表格绑定事件
  67. Table.api.bindevent(table1);
  68. },
  69. second: function () {
  70. // 初始化表格参数配置
  71. Table.api.init({
  72. extend: second_extend
  73. });
  74. let table2 = $("#table2");
  75. // 初始化表格
  76. table2.bootstrapTable({
  77. url : $.fn.bootstrapTable.defaults.extend.index_url,
  78. pk : 'id',
  79. sortName : 'id',
  80. toolbar : '#toolbar2',
  81. showToggle : false,
  82. showExport : false,
  83. showColumns : false,
  84. clickToSelect: true,
  85. search: false, //是否启用快速搜索
  86. pageSize : 20,
  87. queryParams : function queryParams(params) {
  88. //这里可以追加搜索条件
  89. let filter = JSON.parse(params.filter);
  90. let op = JSON.parse(params.op);
  91. filter.institution_id = $('#selected_institution').data('id');
  92. op.institution_id = '=';
  93. params.filter = JSON.stringify(filter);
  94. params.op = JSON.stringify(op);
  95. return params;
  96. },
  97. columns : [
  98. [
  99. { checkbox: true },
  100. {
  101. field: 'type',
  102. title: __('Type'),
  103. formatter: Table.api.formatter.normal,
  104. searchList: {
  105. 1: '远程诊断', 2: '电子胶片'
  106. },
  107. custom: {1: 'primary', 2: 'default'},
  108. },
  109. {
  110. field: 'money',
  111. title: __('Money'),
  112. searchable: false,
  113. formatter: function (value) {
  114. return '<strong>'+ (value/100) +'</strong>';
  115. },
  116. },
  117. {
  118. field: 'order_type',
  119. title: __('Order_type'),
  120. formatter: Table.api.formatter.label,
  121. searchList: {
  122. 1: '患者支付', 2: '医院托管', 3: '医院代收'
  123. },
  124. custom: {1: 'success', 2: 'default', 3: 'info'},
  125. },
  126. {
  127. field: 'status',
  128. title: __('Status'),
  129. formatter: Table.api.formatter.normal,
  130. searchList: {
  131. 0: '未到账', 1: '未知', 2: '已到账'
  132. },
  133. custom: {0: 'warning', 1: 'default', 2: 'success'},
  134. },
  135. {
  136. field: 'pay_type',
  137. title: __('Pay_type'),
  138. formatter: Table.api.formatter.label,
  139. searchList: {
  140. 1: '付', 2: '退'
  141. },
  142. custom: {1: 'success', 2: 'danger'},
  143. },
  144. {
  145. field : 'createdAt',
  146. title : __('Createdat'),
  147. operate : 'RANGE',
  148. addclass: 'datetimerange',
  149. },
  150. ]
  151. ]
  152. });
  153. /**
  154. * 生成缴费单
  155. * @returns {boolean}
  156. */
  157. makePaymentOrder = function (){
  158. let ids = Table.api.selectedids(table2)
  159. if(ids.length === 0){
  160. Toastr.warning('请选择记录');
  161. return false;
  162. }
  163. Fast.api.ajax({
  164. url: 'money/money/makePaymentOrder',
  165. data: {
  166. ids : ids,
  167. _method: 'GET'
  168. }
  169. }, function (data) {
  170. Layer.open({
  171. content: data,
  172. area : [
  173. $(window).width() > 800 ? '800px' : '95%',
  174. $(window).height() > 600 ? '600px' : '95%'
  175. ],
  176. title: '缴费单',
  177. btn: ['确认生成'],
  178. yes: function () {
  179. submitMakeOrder(ids);
  180. },
  181. });
  182. return false;
  183. }, function (data, ret) {
  184. Toastr.error(ret);
  185. });
  186. }
  187. submitMakeOrder = function(ids){
  188. let remark = $('#make-order-remark').val();
  189. Fast.api.ajax({
  190. url: 'money/money/makePaymentOrder',
  191. data: {
  192. ids : ids,
  193. remark : remark,
  194. _method: 'Post'
  195. }
  196. }, function (data, ret) {
  197. $('#toolbar1 .btn-refresh').trigger('click');
  198. Layer.closeAll();
  199. Layer.alert(ret.msg);
  200. }, function (data, ret) {
  201. $('#toolbar1 .btn-refresh').trigger('click');
  202. Layer.closeAll();
  203. Toastr.error(ret.msg)
  204. })
  205. }
  206. // 为表格绑定事件
  207. Table.api.bindevent(table2);
  208. },
  209. },
  210. api : {
  211. bindevent: function () {
  212. Form.api.bindevent($("form[role=form]"));
  213. }
  214. }
  215. };
  216. return Controller;
  217. });