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: 'vipcustom/viplinktextmediapush/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:'vipcustom/viplinktextmedia/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:'vipcustom/viplinktextmedia/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('编辑失败'); } } }) }); }, //待发图文客服消息 editwaitingimgmsg:function(){ //发送 订阅号/服务号 验证 $("#add-form").data("validator-options", { ignore: ':hidden', beforeSubmit: function (form) { var user_json = $.parseJSON($('.img_txt_hidde_input_no').val()) if (user_json.all==0 && !user_json.subscribe_time) { var sub_from = (new Moment($('input[name="row[sub_from]"]').val())).valueOf() / 1000 var sub_to = (new Moment($('input[name="row[sub_to]"]').val())).valueOf() / 1000 if(!sub_from && !sub_to){ Toastr.error("起止时间不能为空"); return false; }else{ user_json.subscribe_range = sub_from +'-'+ sub_to; } } $('.img_txt_hidde_input_no').val(JSON.stringify(user_json)); var senddyhradioval = $('#dyhradio input').val(); if ($(":checkbox[name^='row[sub_id]']", $("#add-form")).length) { if (!$('#c-name').val()) { Toastr.error("请选择需要发送的服务号"); return false; } var other_tips = $(":checked[name^='row[sub_id]']", $("#add-form")); if (other_tips.length <= 0) { Toastr.error("请选择需要发送的订阅号"); return false; } if (senddyhradioval < other_tips.length) { Toastr.error("最多可选择发送" + senddyhradioval + '个订阅号'); return false; } } if (!$('.js_selected_group_id').val()) { if ($(":checkbox[name^='row[service_id]']", $("#add-form")).length) { var other_tips = $(":checked[name^='row[service_id]']", $("#add-form")); if (other_tips.length <= 0) { Toastr.error("请选择需要发送的服务号"); return false; } if (senddyhradioval < other_tips.length) { Toastr.error("最多可选择发送" + senddyhradioval + '个服务号'); return false; } } } //发送时间必须大于当前时间 var sdatatime=$('#c-sendtime').val()+''; sdatatime = sdatatime.replace(/-/g,'/'); sdatatime =new Date(sdatatime).getTime(); if(sdatatime <= new Date().getTime()){ Toastr.error("发送时间必须大于当前时间"); return false; } } }); Controller.api.bindevent(); }, //查看详情 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]")); //修改发送消息时间 $(document).on('click','.s_time_box span',function(){ var $this = $(this); var nval = parseInt($this.attr('stime')); var ntime = Date.parse(new Date()); var nt = ntime + nval; $('#c-sendtime').val(GetRTime(nt)); }); function GetRTime(time){ var stime; time = new Date(time); var year = time.getYear() + 1900; var month = time.getMonth()+1; var day = time.getDate(); var hours = time.getHours(); var minutes = time.getMinutes(); var seconds = time.getSeconds(); stime = year + '-' + (month < 10 ? '0'+month : month) + '-' + (day < 10 ? '0'+day : day) + ' ' + (hours < 10 ? '0'+hours : hours) + ':' + (minutes < 10 ? '0'+minutes : minutes) + ':' + (seconds < 10 ? '0'+seconds : seconds); return stime; } /** * 资源类型管理 */ $(document).on('click', "input[name='row[type]']", function () { var type = $(this).val(); if (type == 'all') { var tagObj = { all: "1" } } else { var tagObj = { sex: -1, mobile_system: 0, tag: -1, consume: -1, kandian: -1, subscribe_time: -1, all: "0" } } var ucon = JSON.stringify(tagObj); $('#usercondition').val(ucon); $('.group-tag-type').addClass('hide'); $('.group-tag-type input').attr('disabled'); $('#group-tag-type-' + type).removeClass('hide'); $('#group-tag-type-' + type + ' input').removeAttr('disabled'); }); if ($('#usercondition').val() && $('#usercondition').val().length > 0) { $tagval = JSON.parse($('#usercondition').val()); if ($tagval.all == 1) { //选择所有用户 $('#type-all').attr('checked', true); var type = 'all'; $('.group-tag-type').addClass('hide'); $('.group-tag-type input').attr('disabled'); $('#group-tag-type-' + type).removeClass('hide'); $('#group-tag-type-' + type + ' input').removeAttr('disabled'); } } $.ajax({ type: 'get', url: '/admin/custom/ajaxcategory', cache: false, async: false, success: function (res) { data = res.data; var htmlstr = ''; for (var i = 0; i < data.length; i++) { htmlstr += '' + data[i].name + ''; } $('#ctag').append(htmlstr); $('#mustbe').html('约' + res.ids + '人'); if ($('#usercondition').val() && $('#usercondition').val().length > 0) { $tagval = JSON.parse($('#usercondition').val()); $("#sex span[data-sex='" + $tagval.sex + "']").addClass('s_s_tag').siblings().removeClass('s_s_tag'); $("#ctag span[data-cid='" + $tagval.tag + "']").addClass('s_s_tag').siblings().removeClass('s_s_tag'); $("#consume span[data-fee='" + $tagval.consume + "']").addClass('s_s_tag').siblings().removeClass('s_s_tag'); $("#kandian span[data-kandian='" + $tagval.kandian + "']").addClass('s_s_tag').siblings().removeClass('s_s_tag'); // $("#subTime span[data-week='" + $tagval.subscribe_time + "']").addClass('s_s_tag').siblings().removeClass('s_s_tag'); // if ($tagval.subscribe_range) { // var t_l = $tagval.subscribe_range.split('-'); // $('input[name="row[sub_from]"]').val(Moment(parseInt(t_l[0]) * 1000).format("YYYY-MM-DD HH:mm:ss")); // $('input[name="row[sub_to]"]').val(Moment(parseInt(t_l[1]) * 1000).format("YYYY-MM-DD HH:mm:ss")); // } if ($tagval.subscribe_time) { $("#subscribe_time1 span[data-fee='" + $tagval.subscribe_time + "']").addClass('s_s_tag').siblings().removeClass('s_s_tag'); $('#subscribe_time2').hide(); } else { $("#subscribe_time1 span").last().addClass('s_s_tag').siblings().removeClass('s_s_tag'); } } else { var tagObj1 = { sex: -1, mobile_system: 0, tag: -1, consume: -1, kandian: -1, subscribe_time: -1, all: "0" }; var ucon1 = JSON.stringify(tagObj1); $('#usercondition').val(ucon1); } }, error: function (err) { } }); $(document).on('click', '.s_tag_li_list span', function () { var $this = $(this); $this.addClass('s_s_tag').siblings('span').removeClass('s_s_tag'); var tagObj = { sex: $('#sex span.s_s_tag').data('sex'), mobile_system: $('#mobile_system span.s_s_tag').data('mobile_system'), tag: $('#ctag span.s_s_tag').data('cid'), consume: $('#consume span.s_s_tag').data('fee'), kandian: $('#kandian span.s_s_tag').data('kandian'), subscribe_time: $('#subTime span.s_s_tag').data('week'), all: "0" } if ($(this).parent().attr('id') == 'subscribe_time1') { if ($(this).data('fee')) { $('#cdstarttime').val(''); $('#cdendtime').val(''); $('#subscribe_time2').hide(); } else { $('#subscribe_time2').show(); } } var uconditon = JSON.stringify(tagObj); $('#usercondition').val(uconditon); }); var ofansopen = true; //tag切换 $(document).on('click', '.s_tag_fans_num', function () { var $this = $(this); //防止重复点击 if (!ofansopen) { return false; } ofansopen = false; $('.s_tag_footer').addClass('s_tag_fans_show'); var tagObj = { sex: $('#sex span.s_s_tag').data('sex'), mobile_system: $('#mobile_system span.s_s_tag').data('mobile_system'), tag: $('#ctag span.s_s_tag').data('cid'), consume: $('#consume span.s_s_tag').data('fee'), kandian: $('#kandian span.s_s_tag').data('kandian'), subscribe_time: $('#subTime span.s_s_tag').data('week'), all: "0" } var uconditon = JSON.stringify(tagObj); $('#usercondition').val(uconditon); //console.log(tagObj); $.ajax({ type: 'post', data: tagObj, //dataType:'json', url: '/admin/custom/ajaxcustom', success: function (data) { //console.log(data); $('#mustbe').html('约' + data.ids + '人'); ofansopen = true; $('.s_tag_footer').removeClass('s_tag_fans_show'); }, error: function (err) { ofansopen = true; $('.s_tag_footer').removeClass('s_tag_fans_show'); } }); }); }, formatter:{ showType: function (value, row, index) { var type_arr = ['书籍', '活动', '继续阅读', '菜单']; return type_arr[value]; }, showStyle:function(value, row, index){ var message_data = JSON.parse(row.message_text); /*jshint multistr: true */ var html = '素材id:' + row.id + '
创建时间:' + Table.api.formatter.datetime(row.createtime, row, index) + '
修改时间:' + Table.api.formatter.datetime(row.updatetime, row, index) + '
发送时间:' + Table.api.formatter.datetime(row.sendtime, row, index) + ' ' + send_text + '
群发类型:' + offical_type + '
' + message_data[i]['title'] + '
\ ' } html += txtlis +'