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('
' + value); html.push('
'); } else { if (row.state == "1") { html.push('
' + value + '   '); html.push('点击显示短链
'); } else { html.push('
' + value + '
'); } } return html.join('
'); }, entry_page_1: function (value, row, index) { var html = []; if (row.type == 1) { html.push('' + row.book_name + ''); html.push(row.chapter_name); if (row.guide_chapter_idx) { html.push('关注章节:' + row.guide_chapter_idx); } else { html.push('关注章节:默认'); } } else if (row.type == 3) { html.push('落地页推广'); html.push('' + row.book_name + ''); html.push(row.chapter_name); if (row.guide_chapter_idx) { html.push('关注章节:' + row.guide_chapter_idx); } else { html.push('关注章节:默认'); } } else { html.push('书城首页推广'); } return html.join('
'); }, events: { operate: { 'click .btn-editone': function (e, value, row, index) { e.stopPropagation(); e.preventDefault(); var table = $(this).closest('table'); var options = table.bootstrapTable('getOptions'); var ids = row[options.pk]; row = $.extend({}, row ? row : {}, {ids: ids}); var url = options.extend.edit_url; Fast.api.open(Table.api.replaceurl(url, row, table), __('Edit'), $(this).data() || {}); }, 'click .btn-add-channels': function (e, value, row, index) { e.stopPropagation(); e.preventDefault(); var table = $(this).closest('table'); var options = table.bootstrapTable('getOptions'); var ids = row[options.pk]; row = $.extend({}, row ? row : {}, {ids: ids}); var url = options.extend.select_url; Fast.api.open(Table.api.replaceurl(url, row, table), __('Add'), { callback: function (data) { if (data.length > 0) { var qdsIds = ''; var doUrl = options.extend.do_choose; doUrl = Table.api.replaceurl(doUrl, row, table); 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'); } }); } } }); }, } }, source_url: function (value, row, index) { var html = []; value = row.short_url; if (row.state == 0) { html.push('
'); } else { if(value.length < 10) { html.push('
'); } else { if (row.limited == 1) { html.push('
' + value); html.push('
'); } else { if (row.state == "1") { html.push('
' + value + '   '); } else { html.push('
' + value + '
'); } } } } return html.join('
'); }, entry_page: function (value, row, index) { var html = []; if (row.type == 1) { html.push('' + row.book_name + ''); html.push(row.chapter_name); if (row.guide_chapter_idx) { html.push('关注章节:' + row.guide_chapter_idx); } else { html.push('关注章节:默认'); } } else if (row.type == 3) { html.push('落地页推广'); html.push('' + row.book_name + ''); html.push(row.chapter_name); if (row.guide_chapter_idx) { html.push('关注章节:' + row.guide_chapter_idx); } else { html.push('关注章节:默认'); } } else { html.push('书城首页推广'); } return html.join('
'); }, index_operate: function (value, row, index) { var row_id = row.id return } } }; return Controller; });