define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
//编辑按钮
$(document).on('click','.btn-editone',function(){
var url = $(this).data('tourl');
var sendtime = Number($(this).data('sendtime'));
if((sendtime - Date.parse(new Date())/1000)<300){
$(this).hide();
return false;
}else{
Fast.api.open(url, __('Edit'), $(this).data() || {});
}
});
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'custom/index',
add_url: 'custom/add',
edit_url: 'custom/edit',
del_url: 'custom/del',
multi_url: 'custom/multi',
table: 'custom',
},
search:false,
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
columns: [
[
{checkbox: true},
// {field: 'id', title: __('Id')},
{field: 'title', title: __('标题'),operate: 'LIKE %...%'},
{field: 'sendtime', title: __('Sendtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
{field: 'statue', title: __('Statue'),visible:false,operate:false},
{field: 'statue_text', title: __('Statue'), operate:false},
{field: 'send_num', title: '发送人数', operate:false},
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
// {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
// {field: 'edit', title: __('编辑'), table: table, events: Table.api.events.operate,formatter: Controller.api.editCustom},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
]
]
});
// 为表格绑定事件
Table.api.bindevent(table);
},
add: function () {
Controller.api.bindevent();
$('.s_time_box span:eq(1)').click();
},
edit: function () {
Controller.api.bindevent();
},
api: {
getStatue: function (value, row, index) {
if(value == 'normal'){
if (row.sendtime < Date.parse(new Date())/1000){
return '发送失败';
}else{
return '未发送';
}
}else{
return '已发送';
}
},
editCustom: function (value, row, index) {
if(row.statue == 'normal' && (Number(row.sendtime) - Date.parse(new Date())/1000)>300){
//5分钟外的
return '';
}
},
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
//资源管理
var ore={
arrma:[
{
'title':'',
'image':'',
'url':'http://'
}
],
imglis:[],
titlist:[],
sli:'
'
};
/**
* form表单验证
*/
$("form[role=form]").data("validator-options", {
ignore: ':hidden',
beforeSubmit: function (form) {
var $imgTxtMain = $('.img_txt_main');
var reg = /^(http[s]?|ftp):\/\/[^\/\.]+?\..+\w/;
var sList = '';
ore.arrma = [];
//标题
if($.trim($('#title').val()).length == 0){
Toastr.error("标题不能为空");
return false;
}
for(var i=0; i<$imgTxtMain.length; i++){
ore.arrma.push({});
//标题
if($('.img_txt_main:eq('+ i +') input:eq(0)').val().length > 0){
ore.arrma[i].title = $('.img_txt_main:eq('+ i +') input:eq(0)').val();
}else{
Toastr.error("图文标题不能为空");
return false;
}
//链接
if(reg.test($('.img_txt_main:eq('+ i +') input:eq(1)').val())){
ore.arrma[i].url = $('.img_txt_main:eq('+ i +') input:eq(1)').val();
}else{
Toastr.error("请填写图文正确的跳转链接");
return false;
}
//图片
if($('.img_txt_main:eq('+ i +') img').attr('src').length > 0){
ore.arrma[i].image = $('.img_txt_main:eq('+ i +') img').attr('src');
}else{
Toastr.error("请填写图文正确的跳转链接");
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;
}
sList = JSON.stringify(ore.arrma);
$('.img_txt_hidde_input').val(sList);
// console.log('验证');
// return false;
}
});
Form.api.bindevent($("form[role=form]"),
function (data) {
Fast.api.close(data);
},
function (data) {
console.log('error', data);
}
);
/**
* 资源类型管理
*/
$(document).on('click', "input[name='row[type]']", function () {
var type = $(this).val();
if (type=='all'){
var tagObj = {
all:"1"
}
}else{
var tagObj ={
sex:-1,
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');
});
/**
* 插入链接
*/
$(document).on('click', ".btn-insertlink", function () {
var textarea = $("textarea[name='row[content]']");
var cursorPos = textarea.prop('selectionStart');
var v = textarea.val();
var textBefore = v.substring(0, cursorPos);
var textAfter = v.substring(cursorPos, v.length);
Layer.prompt({title: '请输入显示的文字', formType: 3}, function (text, index) {
Layer.close(index);
Layer.prompt({title: '请输入跳转的链接URL(包含http/https)', formType: 3}, function (link, index) {
text = text == '' ? link : text;
textarea.val(textBefore + '' + text + '' + textAfter);
Layer.close(index);
});
});
});
if ($('#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[i].name+'';
}
$('#ctag').append(htmlstr);
$('#mustbe').html('约'+res.ids+'人');
if ($('#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');
console.log($tagval);
}else{
var tagObj1 ={
sex:-1,
tag:-1,
consume:-1,
kandian: -1,
subscribe_time:-1,
all:"0"
};
var ucon1 = JSON.stringify(tagObj1);
$('#usercondition').val(ucon1);
}
},
error:function(err){
}
});
$.ajax({
type:'get',
url:'/admin/manage/cover/ajax?sort=id&order=desc&offset=0&limit=10&filter={"status":"normal"}',
cache:false,
async:false,
success:function(data){
// console.log(data)
ore.imglis = data.rows;
},
error:function(err){
}
});
$.ajax({
type:'get',
url:'/admin/manage/title/ajax?sort=id&order=desc&offset=0&limit=10&filter={"status":"normal"}',
cache:false,
async:false,
success:function(data){
// console.log(data)
ore.titlist = data.rows;
ore.arrma[0]['image'] = ore.imglis[parseInt(Math.random()*ore.imglis.length)]['image'];
ore.arrma[0]['title'] = ore.titlist[parseInt(Math.random()*ore.titlist.length)]['title'];
console.log($('.img_txt_hidde_input').val());
if($('.img_txt_hidde_input').val().length > 0){
ore.arrma = JSON.parse($('.img_txt_hidde_input').val());
for(var i=0; i\
\
\
');
}else{
var sLiImg=ore.sli.replace(/sli_img/g,ore.arrma[i]['image']);
sLiImg=sLiImg.replace(/sli_value/g,ore.arrma[i]['title']);
sLiImg=sLiImg.replace(/click_url/g,ore.arrma[i]['url']);
$('.img_txt_list').append(sLiImg);
}
}
}else{
$('.img_txt_list').html('');
}
},
error:function(err){
}
});
var flag = 0;
//测试发送
$('.test_fans_but').click(function(){
if(flag == 1){
return false;
}
flag = 1;
var $imgTxtMain = $('.img_txt_main');
var reg = /^(http[s]?|ftp):\/\/[^\/\.]+?\..+\w/;
var sList = '';
ore.arrma = [];
//标题
if($.trim($('#title').val()).length == 0){
Toastr.error("标题不能为空");
flag = 0;
return false;
}
for(var i=0; i<$imgTxtMain.length; i++){
ore.arrma.push({});
//标题
if($('.img_txt_main:eq('+ i +') input:eq(0)').val().length > 0){
ore.arrma[i].title = $('.img_txt_main:eq('+ i +') input:eq(0)').val();
}else{
Toastr.error("图文标题不能为空");
return false;
}
//链接
if(reg.test($('.img_txt_main:eq('+ i +') input:eq(1)').val())){
ore.arrma[i].url = $('.img_txt_main:eq('+ i +') input:eq(1)').val();
}else{
Toastr.error("请填写图文正确的跳转链接");
return false;
}
//图片
if($('.img_txt_main:eq('+ i +') img').attr('src').length > 0){
ore.arrma[i].image = $('.img_txt_main:eq('+ i +') img').attr('src');
}else{
Toastr.error("请填写图文正确的跳转链接");
return false;
}
}
sList = JSON.stringify(ore.arrma);
if($.trim($('#userId').val()) == ''){
Toastr.error("请填写测试粉丝ID");
flag = 0;
return false;
}
var sentData = {
admin_id:$('#admin_id').val(),
user_id:$('#userId').val(),
cdata:sList
};
$.ajax({
type:'post',
url:'/admin/custom/sent',
data:sentData,
dataType:'json',
cache:false,
async:false,
success:function(data){
flag = 0;
if (data.error == 1){
Toastr.error(data.msg);
};
if(data.error == 0){
Toastr.success(data.msg);
}
},
error:function(err){
flag = 0;
}
})
});
//发送消息时间
$(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));
});
$(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'),
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);
});
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'),
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');
}
});
});
$(document).on('click','.img_txt_add_but',function(){
var $List=$('.img_txt_main');
var oNowData = {
image:ore.imglis[parseInt(Math.random()*ore.imglis.length)]['image'],
title:ore.titlist[parseInt(Math.random()*ore.titlist.length)]['title'],
url:'http://'
};
var sLiImg=ore.sli.replace(/sli_img/g,oNowData['image']);
sLiImg=sLiImg.replace(/sli_value/g,oNowData['title']);
sLiImg=sLiImg.replace(/click_url/g,'http://');
if($List.length<8){
$('.img_txt_list').append(sLiImg);
ore.arrma.push(oNowData);
}else{
Toastr.error("不能超过8篇");
}
});
$(document).on('click','.img_txt_remvoe',function(){
var $this=$(this);
$this.parent().remove();
});
//修改title
$(document).on('click','.img_txt_edit_tit',function(){
var $this=$(this);
Fast.api.open('manage/title/select', '选择', {
callback: function (data) {
// console.log('展示title回调', data);
$this.parent().find('input').eq(0).val(data.title);
}
});
});
//修改url
$(document).on('click','.img_txt_edit_url',function(){
var $this=$(this);
Fast.api.open('referral/referral/select?one=1', '选择', {
callback: function (data) {
var data = data[0];
// console.log('展示title回调', data);
$this.parent().find('input').eq(1).val(data.source_url);
}
});
});
//修改book
$(document).on('click','.img_txt_edit_book',function(){
var $this=$(this);
Fast.api.open('book.book/select?one=1', '选择', {
callback: function (data) {
var data = data[0];
$this.parent().find('input').eq(1).val(data.current_book_url);
}
});
});
//修改图片
$(document).on('click','.img_txt_edit_img',function(){
var $this=$(this);
Fast.api.open('manage/cover/select', '选择', {
callback: function (data) {
// console.log('展示image回调', data);
$this.find('img').attr('src',data.image);
}
});
});
//修改跳转链接
$(document).on('click','.img_txt_main a',function(){
var $this=$(this);
var nIndex = $this.parents('.img_txt_main').index();
layer.prompt({
formType: 2,
value: ore.arrma[nIndex].url,
title: '请输入跳转链接地址(http://)',
area: ['300px', '100px'] //自定义文本域宽高
}, function(value, index, elem){
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
if(reg.test(value)){
layer.close(index);
ore.arrma[nIndex].url = value;
$this.html(value);
}else{
Toastr.error("请输入正确的跳转地址。");
}
});
});
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;
}
}
}
};
return Controller;
});