define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template', 'gridify', 'custommain'], function ($, undefined, Backend, Table, Form, Template, Gridify, Custommain) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'messagecustom/linktextmediapush/index?status=' + Config.status, }, searchFormVisible: true, search:false }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', clickToSelect:false, pageSize: 12, //每页的记录行数(*) pageList: [12, 36, 72, 120], //可供选择的每页的行数(*) columns: [Controller.api.showFilterColumns(table)], onLoadSuccess: function () { //加载成功时执行 }, onPostBody:function(){ $('#table td').attr('rowspan', '1000'); var ooptions = { srcNode: 'tr', // grid items (class, node) margin: '0', // margin in pixel, default: 0px width: '296px', // grid item width in pixel, default: 220px max_width: '', // dynamic gird item width if specified, (pixel) resizable: true, // re-layout if window resize transition: 'all 0.5s ease' // support transition for CSS3, default: all 0.5s ease } $('#table').gridify(ooptions); } }); // 为表格绑定事件 Table.api.bindevent(table); //tooltip $(document).on('mouseover', '#table td', function () { $('.wxb-card-list-scroll .anticon').tooltip(); $('[rel="popover"]').popover({ trigger: 'manual', placement: 'top', html: true, content: function () { var ids = $(this).data('rowid'); /*jshint multistr: true*/ return '
\ 群发服务号\ 群发订阅号\
'; } }).on("mouseenter", function () { var _this = this; $(this).popover("show"); $(this).siblings(".popover").on("mouseleave", function () { $(_this).popover('hide'); }); }).on("mouseleave", function () { var _this = this; setTimeout(function () { if (!$(".popover:hover").length) { $(_this).popover("hide") } }, 100); }) }); //删除文字链消息列表单列 $(document).on('click', '.anticon-delete', function () { var $this = $(this); var oLi = $this.parents('li'); var nIndex = $this.parents('li').index(); var sid = $this.data('id'); layer.confirm("确定删除此项?", { icon: 3, title: "温馨提示", shadeClose: true }, function (index) { $.get($.fn.bootstrapTable.defaults.extend.del_url, {"ids":sid, "idx":nIndex}, function (data) { if (data.code) { var msg = data.msg != '' ? data.msg : '操作成功'; Toastr.success(msg); table.bootstrapTable('refresh'); } else { var msg = data.msg != '' ? data.msg : '操作失败'; Toastr.error(msg); } layer.close(index); }); }, function () { layer.close(); }); }); //删除文字链消息列表整列 $(document).on('click', '.btn-del-ajax', function () { if(!Custommain.check_waiting_send_editable($(this).attr('data_send_time'))){ Toastr.error("发送前10分钟不可操作"); return; } var del_url = $(this).attr('data-href'); layer.confirm("确定删除此项?", { icon: 3, title: "温馨提示", shadeClose: true }, function (index) { layer.close(index); $.get(del_url, {}, function (data) { if (data.code) { var msg = data.msg != '' ? data.msg : '操作成功'; Toastr.success(msg); table.bootstrapTable('refresh'); } else { var msg = data.msg != '' ? data.msg : '操作失败'; Toastr.error(msg); } }); }, function () { layer.close(); }); }); // 打开详情页面 $(document).on('click', '.btn-view-ajax', function () { Fast.api.open($(this).attr('data-href'), '查看详情', {}); }); // 打开详情页面 $(document).on('click', '.btn-editwaitmsg-ajax', function () { if(!Custommain.check_waiting_send_editable($(this).attr('data_send_time'))){ Toastr.error("发送前10分钟不可操作"); return; } Fast.api.open($(this).attr('data-href'), '编辑', {}); }); //群发消息 $(document).on('click', '.btn-multi-ajax', function () { var multi_url = $(this).attr('data-href'); $.get(multi_url, {}, function (data) { if (data.code) { var msg = data.msg != '' ? data.msg : '操作成功'; Toastr.success(msg); } else { var msg = data.msg != '' ? data.msg : '操作失败'; Toastr.error(msg); } }); }); //修改图文内容 $(document).on('click','.anticon-novel-edit',function(){ var $this=$(this); var nIndex = $this.parents('li').index(); var sid = $this.data('id'); $.ajax({ type:'get', url:'messagecustom/linktextmedia/getMediaMessage?ids='+ sid + '&idx='+ nIndex, success:function(data){ if(!data.code){ Fast.api.open('custom/editlinktext?json=' + encodeURIComponent(data.data), '修改内容', { callback: function (data) { var data = data; $.ajax({ type:'get', url:'messagecustom/linktextmedia/editLink?idx='+ nIndex +'&ids='+ sid + '&message_json=' + encodeURIComponent(JSON.stringify(data)), success:function(data){ if(data.code == 0){ Toastr.success('编辑成功'); }else{ Toastr.error('编辑失败'); } } }) } }); }else{ Toastr.error('编辑失败'); } } }) }); }, //查看详情 viewdetail: function () { // 初始化表格参数配置 Table.api.init({ extend: { getimage_url: window.location.href, }, search: false, showToggle: false, showColumns: false, showExport: false, commonSearch: false }); var table = $("#table"); //当表格数据加载完成时 table.on('load-success.bs.table', function (e, data) { //这里可以获取从服务端获取的JSON数据 //console.log(data); //这里我们手动设置底部的值 //$("#money").text(data.extend.money); //$("#price").text(data.extend.price); }); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.getimage_url, pk: 'id', sortName: 'id', columns: [Controller.api.getimagelist(table)] }); // 为表格绑定事件 Table.api.bindevent(table); $(document).on('click', '.btn-close', function () { Fast.api.close(); }); }, api: { showFilterColumns:function(table){ var cols = new Array(); cols.push({field: 'sendtime', title:"发送时间",operate:'RANGE', addclass:'datetimerange', visible:false}); cols.push({field: 'official_account_type', title:"群发类型",searchList: {"0":__('服务号'),"1":__('订阅号')}, visible:false}); cols.push({field: 'wechat_name', title:"公众号名称", visible:false}); cols.push({field: 'id', title: "推广ID", formatter: Controller.api.formatter.showStyle}); cols.push({field: "message_text$[*].book_name", title:"书籍名称", visible:false,operate:'LIKE %...%'}); return cols; }, bindevent: function () { Custommain.checkbox_relation('#dyhradio', '#dyhcheck'); //群发测试 $('.test_fans_but').click(function(){ Custommain.fans_send_message(); }) Form.api.bindevent($("form[role=form]")); }, formatter:{ showType: function (value, row, index) { var type_arr = ['书籍', '活动', '继续阅读', '菜单']; return type_arr[value]; }, showPosition: function (value, row, index) { return index + 1; }, showPushType: function (value, row, index) { var push_arr = ['外推', '内推']; return push_arr[value]; }, showStyle:function(value, row, index){ var message_data = JSON.parse(row.message_text); /*jshint multistr: true */ var html = '
'; html += '

素材id:' + row.id + '

'; html += '

创建时间:' + Table.api.formatter.datetime(row.createtime, row, index) + '

'; html += '

修改时间:' + Table.api.formatter.datetime(row.updatetime, row, index) + '

'; var offical_type = parseInt(row.official_account_type) == 1 ? '订阅号' : '服务号'; var send_color = ''; var send_text = ''; switch (parseInt(row.status)) { case 0: send_color = 'red'; send_text = '待发送'; break; case 1: send_color = '#FF9900'; send_text = '群发中'; break; case 2: send_color = '#88d743'; send_text = '已群发'; break; } html += '

发送时间:' + Table.api.formatter.datetime(row.sendtime, row, index) + ' ' + send_text + '

'; html += '

群发类型:' + offical_type + '

'; html += '
    '; var txtlis = ''; for(var i=0; i' + message_data[i]['title'] + '

    \ ' } html += txtlis +'
'; return html; } }, getimagelist: function (table) { var cols = new Array(); cols.push({ field: 'title', title: "标题", operate: false }); cols.push({ field: 'type', title: "链接类型", operate: false, formatter: Controller.api.formatter.showType }); cols.push({ field: 'book_id', title: "书籍ID", operate: false, }); cols.push({ field: 'book_name', title: "书籍名称/活动名称/菜单名称", operate: false, }); cols.push({ field: 'push', title: "推广类型", operate: false, formatter: Controller.api.formatter.showPushType }); return cols; } } }; return Controller; });