define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数
Table.api.init({
extend: {
index_url: 'commission/apply/index',
detail_url: 'commission/apply/detail',
approve_url: 'commission/apply/approve',
reject_url: 'commission/apply/reject',
table: 'shop_commission_apply',
}
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
sortOrder: 'desc',
columns: [
[
{checkbox: true},
{field: 'id', title: __('Id'), sortable: true},
{field: 'user.nickname', title: __('User'), operate: 'LIKE', formatter: Table.api.formatter.search},
{field: 'apply_type_text', title: __('Apply type'), searchList: {"personal": "个人申请", "company": "企业申请"}, formatter: function(value, row, index) {
if (row.apply_type === 'personal') {
return '' + value + '';
} else {
return '' + value + '';
}
}},
{field: 'agent_type_text', title: __('Agent type'), searchList: {"normal": "普通代理商", "province": "省级代理商", "city": "市级代理商", "district": "区域代理商"}, formatter: function(value, row, index) {
var colorMap = {
'province': 'danger', // 省级-红色
'city': 'warning', // 市级-橙色
'district': 'info', // 区域-蓝色
'normal': 'default' // 普通-默认
};
var color = colorMap[row.agent_type] || 'default';
return '' + value + '';
}},
{field: 'identity.name', title: __('Identity'), operate: false},
{field: 'real_name', title: __('Real name'), visible: false},
{field: 'company_name', title: __('Company name'), visible: false},
{field: 'province_name', title: __('Area'), operate: false, formatter: function(value, row, index) {
return (row.province_name || '') + '-' + (row.city_name || '') + '-' + (row.district_name || '');
}},
{field: 'status_text', title: __('Status'), searchList: {"pending": "待审核", "approved": "已通过", "rejected": "已拒绝"}, formatter: function(value, row, index) {
var colorMap = {
'pending': 'warning',
'approved': 'success',
'rejected': 'danger'
};
var color = colorMap[row.status] || 'default';
return '' + value + '';
}},
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,
formatter: function (value, row, index) {
var html = [];
// 详情按钮
html.push('');
// 审核按钮 - 只在待审核状态显示
if (row.status === 'pending') {
html.push('');
html.push('');
}
return html.join(' ');
}}
]
]
});
// 为表格绑定事件
Table.api.bindevent(table);
// 批量审核按钮
$(document).on('click', '.btn-approve', function () {
var ids = Table.api.selectedids(table);
if (ids.length === 0) {
Toastr.warning("请至少选择一条记录");
return false;
}
Layer.confirm(__('Are you sure you want to approve %s selected item?', ids.length), {
icon: 3,
title: __('Warning'),
shadeClose: true,
}, function (index) {
Table.api.multi("approve", ids, table, this);
Layer.close(index);
});
});
// 单个审核通过
$(document).on('click', '.btn-approve-one', function () {
var id = $(this).data('id');
Layer.confirm('确定要通过该申请吗?', {title: '提示'}, function(index) {
Fast.api.ajax({
url: 'commission/apply/approve',
data: {ids: id}
}, function(data, ret) {
Layer.close(index);
table.bootstrapTable('refresh');
Toastr.success(ret.msg || '操作成功');
});
});
});
// 单个审核拒绝
$(document).on('click', '.btn-reject-one', function () {
var id = $(this).data('id');
Layer.prompt({
title: '请输入拒绝原因',
formType: 2
}, function(value, index) {
if (!value || !value.trim()) {
Layer.msg('请输入拒绝原因');
return false;
}
Fast.api.ajax({
url: 'commission/apply/reject',
data: {ids: id, reason: value}
}, function(data, ret) {
Layer.close(index);
table.bootstrapTable('refresh');
Toastr.success(ret.msg || '操作成功');
});
});
});
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
}
}
};
return Controller;
});