123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428 |
- {extend name="public/layout" /} {block name="title"}文章添加{/block} {block name="head"} {include file="public/head"}
- <style>
- html {
- background: #fff;
- }
- @media screen and (max-width: 450px){
- .layui-form-item{
- position: relative;
- }
- .layui-form-item .layui-input-inline {
- padding-right: 40px !important;
- }
- .adding {
- position: absolute;
- right: 10px;
- top: 0;
- }
- }
- .xm-label-block{
- background-color: #249efb !important;
- }
- .layui-btn-primary {
- color: #249EFB;
- border: 1px solid #249EFB;
- }
- .layui-btn-primary:hover {
- background-color: #E3F7FF;
- color: #249EFB;
- }
- </style>
- {/block} {block name="body"}
- <body>
- <form class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list" style="padding: 20px 30px 0 0;">
- <div class="layui-form-item">
- <label class="layui-form-label"><i style="color:red;">*</i>标题</label>
- <div class="layui-input-inline">
- <input type="text" name="title" lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"><i style="color:red;">*</i>分类</label>
- <div class="layui-input-inline">
- <select name="type" lay-filter="type" id="type" lay-verify="required" lay-search>
- <option value="">请选择分类</option>
- {volist name="type" id="t"}
- <option value="{$t.id}">{$t.name}</option>
- {/volist}
- </select>
- </div>
- <i class="layui-icon layui-icon-add-circle adding" style="font-size: 32px" id="addType"></i>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">标签</label>
- <div class="layui-input-inline" id="label" style="width: 40%;">
- <!-- <select name="label" id="label" lay-verify="required">
- <option value="">请选择标签</option>
- </select> -->
- </div>
- <i class="layui-icon layui-icon-add-circle adding" style="font-size: 32px" id="addLabel"></i>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"><i style="color:red;">*</i>封面图</label>
- <div class="layui-input-inline" id="upload-drag">
- <div class="layui-upload-drag">
- <i class="layui-icon"></i>
- <p>上传封面图片</p>
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"></label>
- <div><i style="color:red;margin-right: 5px;">*</i>建议上传封面图片宽高比例5:3,图片大小不超过5M</div>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">分享封面</label>
- <div class="layui-input-inline" id="upload-share-drag">
- <div class="layui-upload-drag">
- <i class="layui-icon"></i>
- <p>上传分享封面</p>
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"></label>
- <div><i style="color:red;margin-right: 5px;">*</i>建议上传封面图片宽高比例5:4,图片大小不超过5M</div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">详情</label>
- <div class="layui-input-block">
- <script id="content" name="anli_desc" type="text/plain" style="height: 180px;"></script>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">继续添加</label>
- <div class="layui-input-block">
- <input type="checkbox" name="adding" title="" lay-skin="primary" {if condition="$adding eq 1"}checked{/if}>
- </div>
- </div>
- <div class="layui-form-item ">
- <label class="layui-form-label"></label>
- <input type="button" class="layui-btn btn layui-btn-primary" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit" value="确认添加">
- </div>
- <!-- <div class="layui-form-item layui-hide">
- <input type="button" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit" value="确认添加">
- <input type="button" lay-submit lay-filter="layuiadmin-app-form-edit" id="layuiadmin-app-form-edit" value="确认编辑">
- </div> -->
- <input type="hidden" id="category_name">
- </form>
- </body>
- {/block}
- {block name="js"}
- <script src="__STATIC__/layui/layui/lay/modules/xm-select.js" type="text/javascript" charset="utf-8"></script>
- <!-- 配置文件 -->
- <script type="text/javascript" src="__STATIC__/ueditor/dist/utf8-php/ueditor.config.js"></script>
- <!-- 编辑器源码文件 -->
- <script type="text/javascript" src="__STATIC__/ueditor/dist/utf8-php/ueditor.all.js"></script>
- <!-- 实例化编辑器 -->
- <script type="text/javascript">
- var ue = UE.getEditor('content', {
- zIndex: 99
- });
- </script>
- <script type="text/javascript" src="__STATIC__/js/plupload/js/plupload.full.min.js"></script>
- <script type="text/javascript" src="__STATIC__/js/plupload/ossupload.js"></script>
- <script src="__STATIC__/layui/layui/layui.js"></script>
- <script src="__STATIC__/layui/ace/ace.js"></script>
- <script>
- layui.config({
- base: '__LAYUI__/',
- urlbase: '/sys'
- }).extend({
- index: 'lib/index' //主入口模块
- }).use(['index', 'form', 'element', 'upload', 'layedit'], function () {
- var form = layui.form,
- layedit = layui.layedit,
- element = layui.element,
- upload = layui.upload,
- admin = layui.admin,
- $ = layui.jquery;
- var objdata={};
- //下拉框关联
- // var typeData = JSON.parse('{$label|raw}');
- form.on('select(type)', function (data) {
- selectdata(0);
- cache();
- });
-
-
- //下拉多选
- var options = {
- el: '#label',
- name: 'label',//表单的name属性
- tips: '所属标签',
- autoRow: true,
- toolbar: {
- //工具条,全选,清空,反选,自定义
- show: true,
- list: [
- 'ALL',
- 'CLEAR',
- 'REVERSE'
- ]
- },
- data: [],
- on: function(data){
- objdata['labels'] = data.arr;
- cache();
- }
- };
- var label = xmSelect.render(options)
- if(localStorage.getItem('articledata')){
- var bodyjson = JSON.parse(localStorage.getItem('articledata'));
- if(bodyjson){
- $('input[name="title"]').val(bodyjson.title);
- if(bodyjson.type){
- set_select('type',bodyjson.type);
- }
-
- label.update({data: bodyjson.labels});
- objdata['labels'] = bodyjson.labels;
- objdata['cover_img']=bodyjson.cover_img;
- objdata['cover_share_img']=bodyjson.cover_share_img;
- if(bodyjson.cover_img){
- $('#upload-drag').html('<img src="' + bodyjson.cover_img + '" style="height: 100%;width:100%;">');
- }
- if(bodyjson.cover_share_img){
- $('#upload-share-drag').html('<img src="' + bodyjson.cover_share_img + '" style="height: 100%;width:100%;">');
- }
- ue.setContent(bodyjson.anli_desc);
- form.render();
- }
- }
-
- function set_select(id,value){
- let obj=$("#"+id);
- let names='';
- for(var i=0;i<obj.find('option').length;i++){
- if(obj.find('option').eq(i).val()==value){
- obj.find("option").eq(i).attr("selected",true);
- names=obj.find('option').eq(i).html();
- }
- }
- setTimeout(function(){
- obj.parent().find(".layui-select-title").find("input").val(names);
- },500)
- }
-
- $('input,textarea').off('input').on('input',function(obj){
- cache();
- })
- $('#ueditor_0').contents().find('body').bind("keyup paste copy cut", function(e) {
- cache();
- });
- function cache(){
- setTimeout(function(){
- var formarray=$("form").serializeArray();
- for(var i in formarray){
- objdata[formarray[i]['name']]=formarray[i]['value']
- }
- objdata['anli_desc']=ue.getContent();
- var datas=JSON.stringify(objdata);
- localStorage.setItem('articledata',datas);
- },500)
- }
-
-
- upload.render({
- elem: '#upload-drag',
- url:'{:url("fileupload")}',
- accept: 'images',
- exts: 'jpg|png|bmp|jpeg|JPG|PNG|BMP|JPEG',
- auto: true,
- field: 'file',
- size: 5 * 1024,
- choose: function(obj) {
- obj.preview(function(index, file, result) {
- $('#upload-drag').html('<img src="' + result + '" style="height: 100%;width:100%;">');
- });
- },
- done:function(res){
- objdata['cover_img']=res.data.src;
- cache();
- }
- });
-
- upload.render({
- elem: '#upload-share-drag',
- url:'{:url("fileupload")}',
- accept: 'images',
- exts: 'jpg|png|bmp|jpeg|JPG|PNG|BMP|JPEG',
- auto: true,
- field: 'file',
- size: 5 * 1024,
- choose: function(obj) {
- obj.preview(function(index, file, result) {
- $('#upload-share-drag').html('<img src="' + result + '" style="height: 100%;width:100%;">');
- });
- },
- done:function(res){
- objdata['cover_share_img']=res.data.src;
- cache();
- }
- });
-
- form.on('submit(layuiadmin-app-form-submit)', function(data) {
- data.field.cover_img = objdata['cover_img'];
- data.field.cover_share_img = objdata['cover_share_img'];
- if (data.field.cover_img=="" || data.field.cover_img==null || data.field.cover_img==undefined) {
- layer.msg('请选择封面图', {anim: 0,time: 1000,icon: 5});
- return false;
- }
-
- var index = parent.layer.getFrameIndex(window.name);
- var formData = new FormData(data.form);
- ue.ready(function() {
- formData.append('content', ue.getContent());
- });
- var sd = layer.load(1, {
- shade: [0.8, '#000']
- });
- formData.append('cover_img', objdata['cover_img']);
- formData.append('cover_share_img', objdata['cover_share_img']);
- // 单击之后提交按钮不可选,防止重复提交
- var DISABLED = 'layui-btn-disabled';
- var target = '#layuiadmin-app-form-submit';
- $(target).addClass(DISABLED);
- $(target).attr('disabled', 'disabled');
- admin.req({
- url: '{:url("article/save")}',
- data: formData,
- type: 'post',
- processData: false,
- contentType: false,
- done: function(res) {
- if(res.code == 0) {
- objdata={};
- localStorage.setItem('articledata','');
- layer.msg('添加成功', {
- icon: 1,
- time: 1000
- },function(){
-
- var adding = $("input[name='adding']").is(":checked");
- if (adding) {
- location.href = "{:url('article/add')}?adding=1";
- } else {
- var index = parent.layer.getFrameIndex(window.name);
- parent.layer.close(index);
- parent.layui.table.reload('layui-table-article');
-
- }
- });
- }else{
- $(target).removeClass(DISABLED);
- $(target).removeAttr('disabled');
- layer.msg(res.msg, {anim: 0,time: 1000,icon: 5});
- }
- layer.close(sd);
- }
- });
- });
-
- //添加分类
- $('#addType').click(function(){
- layer.prompt({
- title: ['添加分类', 'color:#333333;background-color:#D8E6F1;'],
- }, function(value, index, elem) {
- var value = $.trim(value);
- if(value == '') {
- layer.msg('请输入分类名称', {anim: 0,time: 1000,icon: 5});
- return false;
- }
- if(value.length > 6) {
- layer.msg('分类名称超长', {anim: 0,time: 1000,icon: 5});
- return false;
- }
- $.post('{:url("article/addtype")}', {
- value: value
- }, function(res) {
- if(res.code == 0) {
- $('#type').append("<option selected value='"+res.data.id+"'>"+res.data.value+"</option>")
- form.render();
- layer.msg(res.msg, {
- anim: 0,time: 1000,icon: 6,
- }, function() {
- layer.close(index); //再执行关闭
- });
- } else {
- layer.msg(res.msg, {
- anim: 6
- , time:2000
- });
- }
- });
- });
- });
- //添加分类下的标签
- $('#addLabel').click(function(){
- var checktTypeId = $('#type').val();
- if(checktTypeId == ''){
- layer.msg('请先选择归属分类', {anim: 0,time: 1000,icon: 5});
- return false;
- }
- layer.prompt({
- title: ['添加标签', 'color:#333333;background-color:#D8E6F1;'],
- }, function(value, index, elem) {
- var value = $.trim(value);
- if(value == '') {
- layer.msg('请输入标签名称', {anim: 0,time: 1000,icon: 5});
- return false;
- }
- if(value.length > 6) {
- layer.msg('标签名称超长', {anim: 0,time: 1000,icon: 5});
- return false;
- }
- $.post('{:url("article/addtype")}', {
- value: value , id: checktTypeId
- }, function(res) {
- if(res.code == 0) {
- selectdata(res.data.id);
- form.render();
- layer.msg(res.msg, {
- anim: 0,time: 1000,icon: 6,
- }, function() {
- layer.close(index); //再执行关闭
- });
- } else {
- layer.msg(res.msg, {anim: 0,time: 1000,icon: 5});
- }
- });
- });
- });
-
- function selectdata(lid){
- var type = $('#type').val();
- setTimeout(function(){
- //data是ajax异步获取的
- $.ajax({
- type:"get",
- url:"{:url('article/label_list')}",
- data:{id:type,lid:lid},
- dataType: 'json',
- success:function(data) {
- var data = data;
- //通过ajax 获取json数据,异步更新多选下拉框的值
- label.update({data: data})
- objdata['labels']= data;
- cache();
- }
- });
- },100);
- }
- });
- </script>
- {/block}
|