define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template', 'custommain'], function ($, undefined, Backend, Table, Form, Template, Custommain) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'vipcustom/vipimagetextmediapush/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');
}
});
// 为表格绑定事件
Table.api.bindevent(table);
$(document).on('mouseover','#table td',function(){
$('.wxb-card-list-scroll .anticon').tooltip();
});
//群发消息
$(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','.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-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-view-ajax', function () {
Fast.api.open($(this).attr('data-href'), '查看详情', {});
});
},
//待发图文客服消息
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_json$[*].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');
$("#mobile_system span[data-mobile_system='" + $tagval.mobile_system + "']").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: $('#subscribe_time1 span.s_s_tag').data('fee'),
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: $('#subscribe_time1 span.s_s_tag').data('fee'),
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:{
showImage: function (value, row, index) {
return '';
},
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_json).shift();
/*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 + '