define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'qrcode'], function ($, undefined, Backend, Table, Form, Qrcode) {
$(document).on('click', '.short_link_but', function () {
var $this = $(this);
$this.hide().siblings('.short_link').show();
});
$(document).on("click", '.qrcode', function () {
var qrUrl = $(this).data("qrcode");
Fast.api.open('referral/referral/show_tpl?url='+qrUrl, '图片二维码', {});
});
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'referral/vipreferral/index?state='+Config.state,
add_url: 'referral/vipreferral/add',
edit_url: 'referral/referral/edit?from=vipreferral',
del_url: 'referral/vipreferral/del',
multi_url: 'referral/vipreferral/multi',
table: 'referral_library',
do_choose: 'referral/vipreferral/doChoose',
select_url: 'referral/vipreferral/selectchannel',
disable_url: 'referral/referral/disable?isVip=1'
}
});
var table = $("#table");
var selectRowIndex = 0;
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'referral_id',
sortName: 'referral_library.id',
sortOrder: 'desc',
commonSearch: true,
searchFormVisible: true,
search: false,
columns: [
[
{checkbox: true},
{field: 'referral_library.id', title: __('Id')},
{field: 'referral.book_id', title: __('书籍ID'), visible:false},
{field: 'book.name', title: __('书籍名称'),visible:false, operate: 'LIKE %...%'},
{field: 'source_url', title: '推广链接', formatter: Controller.api.source_url, operate: false},
{field: 'entry_page', title: '入口页面', formatter: Controller.api.entry_page, operate: false},
{field: 'referral.name', title: __('派单渠道'), operate: 'LIKE %...%'},
{field: 'uv', title: '总阅读人数(今日)', operate:false,formatter:function(value,row,index){
return '' + value+' ('+row.dayuv+')';
}},
{field: 'follow', title: '总关注人数(今日)', operate:false,formatter:function(value,row,index){
return '' + value+' ('+row.dayut+')';
}},
{
field: 'net_follow_num',
title: '总净关注人数(今日)',
operate: false,
formatter: function (value, row, index) {
return '' + value+' ('+row.dayjt+')';
//return value + "(" + row.dayjt + ")";
}
},
{field: 'money', title: '总充值金额(今日)', operate:false,formatter:function(value,row,index){
return '' + value+' ('+row.daymt+')';
}},
{field: 'cost',title:'推广成本', operate:false},
{
field: 'referral_library.createtime',
title: '创建时间',
operate: 'RANGE',
addclass: 'datetimerange',
formatter: Table.api.formatter.datetime
},
{
field: 'state',
title: '状态',
searchList: {'0': '禁用', '1': '正常'},
operate: false,
formatter: function (value, row, index) {
return value == 1 ? "正常" : "禁用";
}
},
{field: 'operate', title: __('Operate'), table: table, events: Controller.api.events.operate, buttons: [
{
name: 'operate',
text: __('添加分流账号'),
title: __('添加分流账号'),
classname: 'btn btn-xs btn-primary btn-add-channels',
icon: 'fa fa-list',
},
{
name: 'operate',
text: __('编辑'),
title: __('编辑'),
classname: 'btn btn-xs btn-success btn-editone',
icon: 'fa fa-pencil',
},
{
name: 'disable',
text: '',
title: '禁用',
icon: 'fa fa-ban',
classname: 'btn btn-xs btn-danger btn-ajax btn-disable',
confirm: "一旦禁用,用户将无法访问链接,确定禁用?",
url: $.fn.bootstrapTable.defaults.extend.disable_url,
success: function (data) {
table.bootstrapTable('refresh');
}
},
{
name: 'disable',
text: '',
title: '解禁',
icon: 'fa fa-share',
classname: 'btn btn-xs btn-success btn-ajax btn-goable',
confirm: "一旦解除禁用,用户将正常访问链接,确定恢复?",
url: $.fn.bootstrapTable.defaults.extend.disable_url,
success: function (data) {
table.bootstrapTable('refresh');
}
},
],
formatter: Table.api.formatter.buttons
},
{field: 'tongji', title: __("查看"), operate: false,
formatter: function (value, row, index) {
return '查看分流链接';
},
},
]
],
onPostBody: function () {
//隐藏禁用操作按钮
$.each(table.bootstrapTable("getData"), function (index, row) {
if (row.state == "0") {
//隐藏禁用按钮 显示解禁按钮
$("a.btn-disable").eq(index).hide();
$("a.btn-add-channels").eq(index).hide();
$("a.btn-editone").eq(index).hide();
} else {
//隐藏解禁按钮 显示禁用按钮
$("a.btn-goable").eq(index).hide();
}
});
}
});
// 为表格绑定事件
Table.api.bindevent(table);
},
viewdata: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'referral/vipreferral/viewdata?ids='+ Config.id,
add_url: 'referral/vipreferral/selectchannel',
del_url: 'referral/vipreferral/del',
export_url: '/admin/referral/vipreferral/viewdataexport?ids='+ Config.id,
},
showToggle: false,
showColumns: false,
visible: false,
commonSearch: false,
showExport: false,
searchFormVisible: false,
search: false
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
sortOrder: 'desc',
columns: [
[
{field: 'id', title: 'ID'},
{field: 'gzhname', title: '公众号名称'},
{field: 'username', title: '用户名'},
{field: 'nickname', title: '用户昵称'},
{field: 'source_url', title: '推广链接', formatter: Controller.api.source_url_1, operate: false},
{field: 'entry_page', title: '入口页面', formatter: Controller.api.entry_page_1, operate: false},
{field: 'book_id', title: '书籍ID'},
{field: 'book.name', title: '书籍名称', visible: false, operate: 'LIKE %...%'},
{field: 'chapter_idx', title: '章节序号', visible: false, operate: false},
{field: 'admin_id', title: __('Admin_id'), visible: false, operate: false},
{field: 'name', title: __('Name'), operate: 'LIKE %...%'},
{
field: 'wx_type',
title: __('Wx_type'),
visible: false,
searchList: {"wx_type 1": __('Wx_type 1'), "wx_type 2": __('Wx_type 2')},
operate: false
},
{field: 'wx_type_text', title: __('Wx_type'), visible: false, operate: false},
{
field: 'type',
title: __('Type'),
visible: false,
searchList: {"type 1": '阅读页推广', "type 2": '首页推广', 'type 3': '落地页推广'},
operate: false
},
{field: 'type_text', title: __('Type'), visible: false, operate: false},
{
field: 'uv',
title: '总阅读人数(今日)',
operate: false,
formatter: function (value, row, index) {
return value + "(" + row.dayuv + ")";
}
},
{
field: 'follow',
title: '总关注人数(今日)',
operate: false,
formatter: function (value, row, index) {
var percent = daypercent= '0.0%';
if (row.uv > 0) {
percent = (value/row.uv) * 100;
percent = percent.toFixed(1)+'%';
}
if (row.dayuv > 0) {
daypercent = (row.dayut/row.dayuv) * 100;
daypercent = daypercent.toFixed(1)+'%';
}
if (percent == '0.0%') {
return value + "(" + row.dayut + ")";
}
return str = value + "(" + row.dayut + ")" + "
关注率 "+percent+"("+daypercent+")";
}
},
{
field: 'net_follow_num',
title: '总净关注人数(今日净关注人数)',
operate: false,
formatter: function (value, row, index) {
return value + "(" + row.dayjt + ")";
}
},
{
field: 'guide_follow_num',
title: '承接功能关注人数(今日)',
operate: false,
formatter: function (value, row, index) {
return value + "(" + row.daydt + ")";
}
},
{
field: 'money',
title: '总充值金额(今日)',
operate: false,
formatter: function (value, row, index) {
return value + "(" + row.daymt + ")";
}
},
{
field: 'order_nums',
title: '充值笔数/充值比例(今日)',
operate: false,
formatter: function (value, row, index) {
var percent = daypercent= '0.0%';
if (row.follow > 0) {
percent = (value/row.follow) * 100;
percent = percent.toFixed(1)+'%';
}
if (row.dayut > 0) {
daypercent = (row.day_order_nums/row.dayut) * 100;
daypercent = daypercent.toFixed(1)+'%';
}
return ''+ value + ' 笔/'+ percent +'
('+ row.day_order_nums+ ' 笔/'+daypercent+')';
}
},
{field: 'cost', title: '推广成本', operate: false},
{
field: 'money',
title: '利润',
operate: false,
formatter: function (value, row, index) {
if (row.cost >0) {
var lirun = value-row.cost;
var percent = '0.00%';
if (value > 0) {
var percent = (value/row.cost) * 100;
percent = percent.toFixed(2)+'%';
}
return lirun.toFixed(2) + "
回本率 " + percent;
}
return '-';
}
},
{
field: 'createtime',
title: '创建时间',
operate: 'RANGE',
addclass: 'datetimerange',
formatter: Table.api.formatter.datetime
},
{
field: 'updatetime',
title: '更新时间',
visible: false,
operate: false,
addclass: 'datetimerange',
formatter: Table.api.formatter.datetime
},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate},
]
]
});
//获取选中数据
$(document).on('click', ".btn-open-choose", function () {
var url = 'referral/vipreferral/selectchannel';
Fast.api.open(url, __('Add'), {
callback: function (data) {
if (data.length > 0) {
var qdsIds = '';
var doUrl = 'referral/vipreferral/doChoose/ids/'+Config.referral_id;
for (var i in data) {
qdsIds += data[i].qds_id + ',';
}
$.ajax({
url: doUrl + '/qdsIds/' + qdsIds,
type: 'get',
success: function (res) {
Toastr.success('操作成功');
//刷新页面
table.bootstrapTable('refresh');
}
});
}
}
});
});
// $(document).on("click", '.qrcode', function () {
// var qrUrl = $(this).data("qrcode");
// $('#tong').html("");
// $('#tong').qrcode(qrUrl);
// layer.open({
// type: 1,
// title: false,
// area: '258px',
// skin: 'layui-layer-nobg', //没有背景色
// shadeClose: true,
// content: $('#tong')
// });
//
// });
// 为表格绑定事件
Table.api.bindevent(table);
},
selectchannel: function() {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'referral/vipreferral/selectchannel?not_in_qds='+Config.not_in_qds
},
searchFormVisible: true,
search: false,
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'vip_admin_bind.id',
sortOrder: 'desc',
columns: [
[
{checkbox: true},
{field: 'bind_id', title: __('Id'), visible: false, operate: false},
{field: 'wx_nickname', title: __('公众号名称')},
{field: 'qds_id', title: __('账号ID'), operate: false},
{field: 'qds_username', title: __('用户名')},
{field: 'qds_nickname', title: __('用户昵称')},
{field: 'operate', title: __('Operate'),
events: {
'click .btn-chooseone': function (e, value, row, index) {
Fast.api.close([row]);
},
}, formatter: function () {
return ' ' + __('Choose') + '';
}
}
]
]
});
// 为表格绑定事件
Table.api.bindevent(table);
//获取选中数据
$(document).on('click', "#btn-chooseone", function () {
var data = table.bootstrapTable('getSelections');
if (data.length < 1) {
Toastr.error('请选择公众号');
} else {
Fast.api.close(data);
}
});
},
add: function () {
Controller.api.bindevent();
},
edit: function () {
Controller.api.bindevent();
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
},
source_url_1: function (value, row, index) {
var html = [];
html.push((row.wx_type == 1 ? '认证公众号' : '未认证公众号'));
if (row.short_id > 0) {
value = row.short_url;
} else {
if (Config.url_referral) {
value = Config.url_referral + '/t/' + row.id;
} else {
value = row.url_referral;
}
}
if (row.limited == 1) {
html.push('