123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- layui.use(['laypage', 'layer', 'table', 'form'], function () {
- var laypage = layui.laypage //分页
- , $ = layui.jquery
- , layer = layui.layer //弹层
- , table = layui.table //表格
- , form = layui.form;
- var tableIds = 'toutiaolist'; //表格ID
- //第一个实例
- table.render({
- elem: '#' + tableIds
- , url: '/daytoutiao/daytoutiaoform' //数据接口
- , where: {token: csrfToken}
- , method: 'post'
- , page: true //开启分页
- , text: '数据加载中'
- , id: 'tablerReload'
- , cols: [[ //表头
- {type: "checkbox", width:50},
- {type: 'numbers', title: '序号', width: 50},
- {field: 'name', title: '用户名称', align: 'center'},
- {field: 'phone', width: 200, title: '用户电话', align: 'center'},
- {field: 'day_title', width: 200, title: '栏目', align: 'center'},
- {field: 'send_email', width: 200, title: '邮箱', align: 'center'},
- {field: 'efficacious', width: 150, title: '是否有效', align: 'center', templet: function (d) {
- switch (d.efficacious) {
- case '1':
- return '------'
- break;
- case '2':
- return '<span style="color: #5FB878">有效</span>'
- break;
- }
- }},
- {
- field: 'send_state', title: '发送状态', width: 150, align: 'center', templet: function (d) {
- switch (d.send_state) {
- case '1':
- return '<input type="checkbox" value="' + d.id + '" lay-skin="switch" lay-filter="switchTest" lay-text="|重新发送">'
- break;
- case '2':
- return '已发送'
- break;
- }
- }
- },
- {field: 'create_time', title: '添加时间', align: 'center'},
- {fixed: 'right', title: '操作', width: 180, align: 'center', toolbar: '#toutiaofunc'}
- ]]
- });
- table.reload('tablerReload'); //重新加载
- var testData = [
- {id:1,username:'',phone:''},
- {id:2,username:'',phone:''},
- {id:3,username:'',phone:''},
- {id:4,username:'',phone:''},
- {id:5,username:'',phone:''},
- {id:6,username:'',phone:''},
- {id:7,username:'',phone:''},
- {id:8,username:'',phone:''},
- {id:9,username:'',phone:''},
- {id:10,username:'',phone:''}
- ]
- table.render({
- elem: '#test3'
- , data: testData//数据接口
- , id: 'tablerReload3'
- , cols: [[ //表头
- {field:'id',title: '序号', width:70,align: 'center'},
- {field:'username',title: '姓名', width:250, sort: true, edit: 'text'},
- {field:'phone',title: '电话', edit: 'text', minWidth: 350}
- ]]
- });
- //列表操作
- table.on('tool(' + tableIds + ')', function (obj) {
- var layEvent = obj.event,
- data = obj.data;
- if (layEvent === 'del') {
- layer.confirm('您确定要删除吗?', {btn: ['确定', '取消']}, function () {
- $.post('/daytoutiao/daytoutiaodel', {id: data.id}, function (data) {
- layer.msg(data.msg);
- if(data.code == 200){
- table.reload('tablerReload');
- }
- })
- })
- }else if(layEvent === 'edit'){
- var index = layui.layer.open({
- type: 2,
- title: '添加栏目信息',
- closeBtn: 1, //不显示关闭按钮
- area: ['60%', '80%'],
- content: '/daytoutiao/daytoutiaoedit?id='+data.id //iframe的url,no代表不显示滚动条
- , success: function (layero, index) {
- },
- end: function () {
- table.reload('tablerReload');
- }
- });
- }
- });
- //监听指定开关
- form.on('switch(switchTest)', function (data) {
- let id = $(data.elem).val();
- layer.confirm('您确定要修改当前状态吗?', {btn: ['确认', '取消']}, function (index) {
- $.post('/daytoutiao/daytoutiaoanewsend',{id:id},function(res){
- layer.msg(res.msg)
- table.reload('tablerReload');
- },'json')
- }, function (index) {
- table.reload('tablerReload');
- layer.close(index)
- })
- return false;
- });
- // 新增
- var $ = layui.$, active = {
- addData: function () { //获取选中数据
- var index = layui.layer.open({
- type: 2,
- title: '添加栏目信息',
- closeBtn: 1, //不显示关闭按钮
- area: ['60%', '95%'],
- content: '/daytoutiao/daytoutiaoadd' //iframe的url,no代表不显示滚动条
- , success: function (layero, index) {
- },
- end: function () {
- table.reload('tablerReload');
- }
- });
- },
- setWx:function(){
- var checkStatus = table.checkStatus('tablerReload');//获取列表选中项
- var formData = new FormData();
- $.each(checkStatus.data,function (key,val) {
- formData.append('did[]',val.id);
- })
- $.ajax({
- type: "post",
- url: "/daytoutiao/daytoutiaosetwx",
- data: formData,
- contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
- processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
- error: function (request) {
- layer.msg("请联系管理员");
- },
- success: function (data) {
- layer.msg(data.msg);
- if(data.code == 200){
- table.reload('tablerReload');
- }
- }
- });
- return false;
- },
- reload: function () {//搜索
- var form = pfgs_serialize($('form'));
- table.reload('tablerReload', {
- where: {
- name: form.input_name,
- list_id: form.input_list_id,
- efficacious:form.input_efficacious,
- send_state:form.input_send_state,
- },
- page: {
- curr: 1
- }
- })
- },
- };
- $('.demoTable .layui-btn').on('click', function () {
- var type = $(this).data('type');
- active[type] ? active[type].call(this) : '';
- });
- $('#addrow').on('click',function(){
- let Info = table.cache.tablerReload3;
- let sun = (Info.length+1);
- Info.push({id: sun , username: '' ,phone: ''});
- table.reload('tablerReload3', {
- data:Info,
- limit:sun
- })
- })
- //添加页面提交数据
- form.on('submit(adds)', function (data) {
- let Info = table.cache.tablerReload3;
- let allPhone = true;
- let datalist = [];
- for(let k in Info){
- if(Info[k].phone.length > 0){
- if(!isPoneAvailable(Info[k].phone)){
- allPhone = false;
- Info[k].phone = '<span style="color: red">'+Info[k].phone+'</span>';
- }
- let d = {'name':Info[k].username,'phone':Info[k].phone}
- datalist.push(d);
- }
- }
- if(!allPhone){
- table.reload('tablerReload3', {
- data:Info,
- limit:Info.length
- })
- layer.msg('请填写正确的电话号码!')
- return false;
- }
- if(datalist.length > 0){
- let dataInfo = JSON.stringify(datalist);
- let list_id = $('select[name=list_id]').val();
- if(!list_id){
- layer.msg('请选择栏目')
- return false;
- }
- var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示
- $.post('/daytoutiao/daytoutiaoaddform',{data:dataInfo,list_id:list_id},function(res){
- layer.msg(res.msg)
- layer.close(index);
- },'json')
- }else{
- layer.msg('没有数据')
- }
- return false;
- });
- $('input[name=phone]').on('input',function(){
- if(!isPoneAvailable($(this).val())){
- $(this).parent().css({'border':'1px solid #ff0000'})
- }else{
- $(this).parent().css({'border':'none'})
- }
- })
- form.on('submit(edits)', function (data) {
- // var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示
- var formData = new FormData($('form')[0]);
- $.ajax({
- type: "post",
- url: "/daytoutiao/daytoutiaoeditform",
- data: formData,
- contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
- processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
- error: function (request) {
- layer.close(index);
- layer.msg("请联系管理员");
- },
- success: function (data) {
- layer.msg(data.msg);
- if(data.code == 200){
- parent.layer.close(index); //再执行关闭
- }
- }
- });
- return false;
- });
- function isPoneAvailable(phone) {
- var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
- if (!myreg.test(phone)) {
- return false;
- } else {
- return true;
- }
- }
- })
|