; layui.define(['form','table','upload'], function (e) { var s = layui.$, l = (layui.layer, layui.laytpl, layui.setter, layui.view, layui.admin), table = layui.table, upload = layui.upload, form = layui.form; window.UEDITOR_HOME_URL = "/static/plugins/ueditor/"; upload.render({ elem: '.file' //绑定元素 ,url: '/admin/file/upload' //上传接口 ,done: function(res){ //上传完毕回调 if (!res.code) { var name = s(this.item).data('name'); s('input[name="'+name+'"]').val(res.data.src); s(this.item).attr('src',res.data.src); } } }) table.render({ elem:'#article-table' ,url:'load.html' ,toolbar:'#topToolbar' ,where:{type_id:s('select[name=type_id]').val()} ,cols: [[ {field:'id', title: 'ID'} ,{field:'type_cname', title: '分类'} ,{field:'title', title: '标题'} ,{field:'update_time', title: '最后修改时间',sort:true} ,{field:'state', title: '状态',templet:"#switchState"} ,{field:'recommend', title: '推荐',templet:"#switchRecommend"} ,{title:'操作', fixed: 'right', width:250, align:'center', toolbar: '#rowToolbar'} ]] ,id: 'article-table' ,page: true }); table.on('toolbar(article)',function(obj){ switch(obj.event){ case "add": layer.open({ type: 2, title: '添加文章', shadeClose: true, shade: true, area: ['70%', '80%'], content: 'add.html' }); break; case "search": table.reload('article-table',{ where:{class_id:s('select[name=class_id]').val(),cname:s('input[name=cname]').val()} }) break; } }) table.on('tool(article)', function(obj){ var data = obj.data; var layEvent = obj.event; var tr = obj.tr; switch(layEvent){ case 'edit': layer.open({ type: 2, title: "编辑文章", shadeClose: true, shade: true, area: ['80%', '80%'], content: 'edit.html?id='+data['id'] }); break; case 'delete': layer.confirm('您确定要删除该行数据吗?', { btn: ['确定','取消'] //按钮 }, function(index){ s.post('delete.html',{id:data.id},function(r){ if(r.code){ layer.msg(r.msg); }else{ obj.del(); layer.close(index); } }); }); break; } }); form.on('submit(LAY-article-edit)',function(data){ s.post('edit.html',data.field,function(r){ layer.msg(r.msg,{end:function(){ if(!r.code){ var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); parent.layui.table.reload('position-table'); } }}) }) return false; }) form.on('submit(LAY-article-add)',function(data){ s.post('add.html',data.field,function(r){ layer.msg(r.msg,{end:function(){ if(!r.code){ var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); //再执行关闭 parent.layui.table.reload('position-table'); } }}) }) return false; }) form.on('switch(state)', function(obj){ var id = s(this).data('id'); s.post(layui.setter.host + 'admin/article/state.html',{id:id,state:obj.elem.checked},function(r){ r.code && layer.msg(r.msg); }) }); form.on('switch(recommend)', function(obj){ var id = s(this).data('id'); s.post(layui.setter.host + 'admin/article/recommend.html',{id:id,recommend:obj.elem.checked},function(r){ r.code && layer.msg(r.msg); }) }); form.on('select(type)',function(data){ var id = s(data.elem).find('option:selected').val(); var typename = data.elem.name == 'type_1'?'2':'3'; article.prototype.loadtype(typename,id); table.reload('article-table',{ where:{ type_id:id }, page:{ curr:1 } }) }) var article = function(){ if (s('select[name=type_1]').length > 0) { article.prototype.loadtype(1,0); } if (s('#content').length > 0) { article.prototype.loadUEditor("/static/plugins/ueditor/ueditor.config.js",function(){ article.prototype.loadUEditor('/static/plugins/ueditor/ueditor.all.min.js',function(){ var um = UE.getEditor('content',{enterTag:''}); }) }) } } article.prototype.loadUEditor = function(url,callback){ var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; script.onload = script.onreadystatechange = function () { if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete"){ callback(); script.onload = script.onreadystatechange = null; } }; head.appendChild(script); } article.prototype.loadtype = function(level,pid){ s.post('/admin/article.type/loadforselect.html',{pid:pid},function(r){ if (!r.code) { var selected = s('select[name=type_'+level+']').data('selected'); var options = []; for (var index in r.data) { options.push(''); } s('select[name=type_'+level+'] option:not(:first)').remove(); s('select[name=type_'+level+']').append(options.join('')); form.render('select'); if (level != 3) { var pid = s('select[name=type_'+level+']').val(); if (pid > 0) { level = level == 1?2:3; article.prototype.loadtype(level,pid); } } } }) } e('article',new article()); })