define([
'jquery',
'bootstrap',
'backend',
'table',
'form'
], function ($, undefined, Backend, Table, Form) {
let second_extend = {
index_url: 'money/money/index' + location.search,
};
let first_extend = {
index_url: 'institution/department/institutionIndex/' + location.search,
}
let Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init();
this.table.first();
this.table.second();
},
table: {
first : function () {
// 初始化表格参数配置
Table.api.init({
extend: first_extend
});
let table1 = $("#table1");
// 初始化表格
table1.bootstrapTable({
url : $.fn.bootstrapTable.defaults.extend.index_url,
pk : 'id',
pageSize : 10,
toolbar : '#toolbar1',
showToggle : false,
showExport : false,
showColumns : false,
commonSearch : false,
singleSelect : true, //是否启用单选
clickToSelect: true,
onCheck : function (rows) { // 选中事件
// 刷新子级列表
$('#selected_institution').data('id', rows.id);
$('#selected-institution_name').text(rows.name);
$('#toolbar2 .btn-refresh').trigger('click');
},
columns : [
[
{ checkbox: true, },
{
field: 'name',
title: __('Hospital'),
operate: 'LIKE %...%',
formatter: function (value) {
return ''+ value +''
},
align: "left"
}
]
]
});
// 默认选中第一条
table1.on('post-body.bs.table', function () {
$('#table1 tr[data-index="0"] td input[data-index="0"]').trigger('click');
return false;
});
// 为表格绑定事件
Table.api.bindevent(table1);
},
second: function () {
// 初始化表格参数配置
Table.api.init({
extend: second_extend
});
let table2 = $("#table2");
// 初始化表格
table2.bootstrapTable({
url : $.fn.bootstrapTable.defaults.extend.index_url,
pk : 'id',
sortName : 'id',
toolbar : '#toolbar2',
showToggle : false,
showExport : false,
showColumns : false,
clickToSelect: true,
search: false, //是否启用快速搜索
pageSize : 20,
queryParams : function queryParams(params) {
//这里可以追加搜索条件
let filter = JSON.parse(params.filter);
let op = JSON.parse(params.op);
filter.institution_id = $('#selected_institution').data('id');
op.institution_id = '=';
params.filter = JSON.stringify(filter);
params.op = JSON.stringify(op);
return params;
},
columns : [
[
{ checkbox: true },
{
field: 'type',
title: __('Type'),
formatter: Table.api.formatter.normal,
searchList: {
1: '远程诊断', 2: '电子胶片'
},
custom: {1: 'primary', 2: 'default'},
},
{
field: 'money',
title: __('Money'),
searchable: false,
formatter: function (value) {
return ''+ (value/100) +'';
},
},
{
field: 'order_type',
title: __('Order_type'),
formatter: Table.api.formatter.label,
searchList: {
1: '患者支付', 2: '医院托管', 3: '医院代收'
},
custom: {1: 'success', 2: 'default', 3: 'info'},
},
{
field: 'status',
title: __('Status'),
formatter: Table.api.formatter.normal,
searchList: {
0: '未到账', 1: '未知', 2: '已到账'
},
custom: {0: 'warning', 1: 'default', 2: 'success'},
},
{
field: 'pay_type',
title: __('Pay_type'),
formatter: Table.api.formatter.label,
searchList: {
1: '付', 2: '退'
},
custom: {1: 'success', 2: 'danger'},
},
{
field : 'createdAt',
title : __('Createdat'),
operate : 'RANGE',
addclass: 'datetimerange',
},
]
]
});
/**
* 生成缴费单
* @returns {boolean}
*/
makePaymentOrder = function (){
let ids = Table.api.selectedids(table2)
if(ids.length === 0){
Toastr.warning('请选择记录');
return false;
}
Fast.api.ajax({
url: 'money/money/makePaymentOrder',
data: {
ids : ids,
_method: 'GET'
}
}, function (data) {
Layer.open({
content: data,
area : [
$(window).width() > 800 ? '800px' : '95%',
$(window).height() > 600 ? '600px' : '95%'
],
title: '缴费单',
btn: ['确认生成'],
yes: function () {
submitMakeOrder(ids);
},
});
return false;
}, function (data, ret) {
Toastr.error(ret);
});
}
submitMakeOrder = function(ids){
let remark = $('#make-order-remark').val();
Fast.api.ajax({
url: 'money/money/makePaymentOrder',
data: {
ids : ids,
remark : remark,
_method: 'Post'
}
}, function (data, ret) {
$('#toolbar1 .btn-refresh').trigger('click');
Layer.closeAll();
Layer.alert(ret.msg);
}, function (data, ret) {
$('#toolbar1 .btn-refresh').trigger('click');
Layer.closeAll();
Toastr.error(ret.msg)
})
}
// 为表格绑定事件
Table.api.bindevent(table2);
},
},
api : {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
}
}
};
return Controller;
});