2018-08-22 17:25:10 +08:00

1 line
22 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{extend name="public/container"}
{block name="head_top"}
<link href="{__ADMIN_PATH}plug/umeditor/themes/default/css/umeditor.css" type="text/css" rel="stylesheet">
<link href="{__ADMIN_PATH}module/wechat/news/css/style.css" type="text/css" rel="stylesheet">
<link href="{__FRAME_PATH}css/plugins/chosen/chosen.css" rel="stylesheet">
<script type="text/javascript" src="{__ADMIN_PATH}plug/umeditor/third-party/jquery.min.js"></script>
<script type="text/javascript" src="{__ADMIN_PATH}plug/umeditor/third-party/template.min.js"></script>
<script type="text/javascript" charset="utf-8" src="{__ADMIN_PATH}plug/umeditor/umeditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="{__ADMIN_PATH}plug/umeditor/umeditor.min.js"></script>
<script src="{__ADMIN_PATH}frame/js/ajaxfileupload.js"></script>
<script src="{__ADMIN_PATH}plug/validate/jquery.validate.js"></script>
<script src="{__FRAME_PATH}js/plugins/chosen/chosen.jquery.js"></script>
{/block}
{block name="content"}
<div class="row" style="width: 100%">
<div class="col-sm-12">
<div class="col-sm-2 panel panel-default news-left">
<div class="panel-heading">文章列表</div>
<div class="panel-body news-box type-all" >
{if condition="$news['image_input']"}
<div class="news-item transition active news-image" style="margin-bottom: 20px;background-image:url({$news['image_input']})">
{else/}
<div class="news-item transition active news-image" style="margin-bottom: 20px;background-image:url('/public/system/module/wechat/news/images/image.png')">
{/if}
<input type="hidden" name="new_id" value="{$news.id}" class="new-id">
</div>
</div>
</div><!-- col-sm-10 panel panel-default news-right -->
<div class="col-sm-12 panel panel-default" >
<div class="panel-heading">文章内容编辑</div>
<div class="panel-body">
<form class="form-horizontal" id="signupForm">
<div class="form-group">
<div class="col-md-12">
<div class="input-group">
<span class="input-group-addon">标题</span>
<input maxlength="64" placeholder="请在这里输入标题" name="title" class="layui-input" id="title" value="{$news.title}">
<input type="hidden" name="id" value="{$news.id}">
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="input-group">
<span class="input-group-addon">作者</span>
<input maxlength="8" placeholder="请输入作者" name="author" class="layui-input" id="author" value="{$news.author}">
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="input-group">
<span class="input-group-addon">文章分类</span>
<?php if(empty($all)){?>
<select data-placeholder="请先添加文章分类" class="chosen-select" multiple style="width:100%;" tabindex="4" name="type_id">
<?php }else{ ?>
<select data-placeholder="选择文章分类" class="chosen-select" multiple style="width:100%;" tabindex="4" name="type_id" {eq name="$select" value="1"}disabled="disabled"{/eq}>
<?php }?>
{volist name="all" id="vo" key="k"}
{if condition="$key eq $cid"}
<option value="{$key}" selected hassubinfo="true" >{$vo}</option>
{elseif condition="in_array($key,$news['cid'])"}
<option value="{$key}" selected hassubinfo="true" >{$vo}</option>
{else/}
<option value="{$key}" hassubinfo="true" >{$vo}</option>
{/if}
{/volist}
</select></div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="form-control" style="height:auto">
<label style="color:#ccc">图文封面大图片设置</label>
<div class="row nowrap">
<div class="col-xs-3" style="width:160px">
{if condition="$news['image_input']"}
<div class="upload-image-box transition image_img" style="height: 80px;background-repeat:no-repeat;background-size:contain;background-image:url({$news['image_input']})">
<input value="" type="hidden" name="local_url">
</div>
{else/}
<div class="upload-image-box transition image_img" style="height: 80px;background-repeat:no-repeat;background-size:contain;background-image:url('/public/system/module/wechat/news/images/image.png')">
<input value="" type="hidden" name="local_url">
</div>
{/if}
</div>
<div class="col-xs-6">
<input type="file" class="upload" name="image" style="display: none;" id="image" />
<br>
<a class="btn btn-sm add_image upload_span">上传图片</a>
<br>
<br>
</div>
</div>
<input type="hidden" name="image" id="image_input" value="{$news['image_input']}"/>
<p class="help-block" style="margin-top:10px;color:#ccc">封面大图片建议尺寸900像素 * 500像素</p>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<label style="color:#aaa">文章内容</label>
<textarea type="text/plain" id="myEditor" style="width:100%;">{$news['content']}</textarea>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="col-md-6">
<label style="color:#aaa">是否显示banner</label>
<br/>
<input type="radio" name="is_banner" class="layui-radio" value="0" {eq name="news['is_banner']" value="0"}checked{/eq}>否
<input type="radio" name="is_banner" class="layui-radio" value="1" {eq name="news['is_banner']" value="1"}checked{/eq}>是
</div>
<div class="col-md-6">
<label style="color:#aaa">是否显示热门</label>
<br/>
<input type="radio" name="is_hot" class="layui-radio" value="0" {eq name="news['is_hot']" value="0"}checked{/eq}>否
<input type="radio" name="is_hot" class="layui-radio" value="1" {eq name="news['is_hot']" value="1"}checked{/eq}>是
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<label style="color:#aaa">文章简介</label>
<textarea id="synopsis" name="synopsis" class="layui-input" style="height:80px;resize:none;line-height:20px">{$news.synopsis}</textarea>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<label style="display:block"><span style="color:#aaa;">原文链接<b>选填</b>,填写之后在图文左下方会出现此链接</span>
<input maxlength="200" name="url" class="layui-input" id="url" value="{$news.url}">
</label>
</div>
</div>
<div class="form-actions">
<div class="row">
<div class="col-md-offset-4 col-md-9">
<button type="button" class="btn btn-w-m btn-info save_news">保存</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
{/block}
{block name="script"}
<script>
var editor = document.getElementById('myEditor');
editor.style.height = '300px';
//实例化编辑器
var um = UM.getEditor('myEditor',{
// fullscreen:true
});
/**
* 获取编辑器内的内容
* */
function getContent() {
return (UM.getEditor('myEditor').getContent());
}
function hasContent() {
return (UM.getEditor('myEditor').hasContents());
}
function createFrame(title,src,opt){
opt === undefined && (opt = {});
return layer.open({
type: 2,
title:title,
area: [(opt.w || 700)+'px', (opt.h || 650)+'px'],
fixed: false, //不固定
maxmin: true,
moveOut:false,//true 可以拖出窗外 false 只能在窗内拖
anim:5,//出场动画 isOutAnim bool 关闭动画
offset:'auto',//['100px','100px'],//'auto',//初始位置 ['100px','100px'] t[ 上 左]
shade:0,//遮罩
resize:true,//是否允许拉伸
content: src,//内容
move:'.layui-layer-title'
});
}
function changeIMG(index,pic){
$(".image_img").css('background-image',"url("+pic+")");
$(".active").css('background-image',"url("+pic+")");
$('#image_input').val(pic);
};
/**
* 上传图片
* */
$('.upload_span').on('click',function (e) {
// $('.upload').trigger('click');
createFrame('选择图片','{:Url('widget.images/index')}?fodder=image');
})
/**
* 触发图片上传按钮
* */
$('.upload').on('change',function (e) {
var image = $('#image_input').val();
if(image != ''){
url = "{:Url('Common/rmPublicResource')}";
$.ajax({
url:url,
data:'url='+image,
type:'get',
success:function (re) {
if(re.code == 200){
$eb.message('success',re.msg);
}else{
$eb.message('error',re.msg);
}
}
})
}
ajaxFileUpload(this);
})
/**
* 图片上传
* */
function ajaxFileUpload(is) {
$.ajaxFileUpload({
url: "{:url('upload_image')}",
data:{file: 'image'},
type: 'post',
secureuri: false, //一般设置为false
fileElementId: 'image', // 上传文件的id、name属性名
dataType: 'json', //返回值类型一般设置为json、application/json
success: function(data, status, e){
if(typeof (data.responseText) == 'string'){
data.responseText = JSON.parse(data.responseText);
if(data.responseText.code == 200){
$(".image_img").css('background-image',"url("+data.responseText.data.url+")");
$(".active").css('background-image',"url("+data.responseText.data.url+")");
$('#image_input').val(data.responseText.data.url);
$eb.message('success',data.responseText.msg);
}else{
$eb.message('error',data.responseText.msg);
}
}else{
if(data.code == 200){
$(".image_img").css('background-image',"url("+data.data.url+")");
$(".active").css('background-image',"url("+data.data.url+")");
$('#image_input').val(data.data.url);
$eb.message('success',data.msg);
}else{
$eb.message('error',data.msg);
}
}
$('.upload').on('change',function(){
var image = $('#image_input').val();
if(image != ''){
url = "{:Url('Common/rmPublicResource')}";
$.ajax({
url:url,
data:'url='+image,
type:'get',
success:function (re) {
if(re.code == 200){
$eb.message('success',re.msg);
}else{
$eb.message('error',re.msg);
}
}
})
}
ajaxFileUpload(this);
})
},
error: function(data, status, e){
if(typeof (data.responseText) == 'string'){
data.responseText = JSON.parse(data.responseText);
if(data.responseText.code == 200){
$(".image_img").css('background-image',"url("+data.responseText.data.url+")");
$(".active").css('background-image',"url("+data.responseText.data.url+")");
$('#image_input').val(data.responseText.data.url);
$eb.message('success',data.responseText.msg);
}else{
$eb.message('error',data.responseText.msg);
}
}else{
if(data.code == 200){
$(".image_img").css('background-image',"url("+data.data.url+")");
$(".active").css('background-image',"url("+data.data.url+")");
$('#image_input').val(data.data.url);
$eb.message('success',data.msg);
}else{
$eb.message('error',data.msg);
}
}
$('.upload').on('change',function(){
var image = $('#image_input').val();
if(image != ''){
url = "{:Url('Common/rmPublicResource')}";
$.ajax({
url:url,
data:'url='+image,
type:'get',
success:function (re) {
if(re.code == 200){
$eb.message('success',re.msg);
}else{
$eb.message('error',re.msg);
}
}
})
}
ajaxFileUpload(this);
})
}
});
}
/**
* 提交图文
* */
$('.save_news').on('click',function(){
var list = {};
list.title = $('#title').val();/* 标题 */
list.author = $('#author').val();/* 作者 */
list.image_input = $('#image_input').val();/* 图片 */
list.content = getContent();/* 内容 */
list.synopsis = $('#synopsis').val();/* 简介 */
list.url = $('#url').val();/* 原文链接 */
list.cid = $('.chosen-select').val();
list.is_hot = $("input[name='is_hot']:checked").val();
list.is_banner = $("input[name='is_banner']:checked").val();
var Expression = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
var objExp=new RegExp(Expression);
if(list.title == ''){
$eb.message('error','请输入标题');
return false;
}
if(list.author == ''){
$eb.message('error','请输入作者');
return false;
}
if(list.image_input == ''){
$eb.message('error','请添加图片');
return false;
}
if(list.content == ''){
$eb.message('error','请输入内容');
return false;
}
if(list.synopsis == ''){
$eb.message('error','请输入简介');
return false;
}if(list.url != ''){
if(objExp.test(list.url) != true){
$eb.message('error','网址格式不正确!请重新输入');
return false;
}
}
var id = $('.type-all>.active>.new-id').val();
if(id != ''){
list.id = id;
}
var data = {};
$.ajax({
url:"{:Url('add_new')}",
data:list,
type:'post',
dataType:'json',
success:function(re){
if(re.code == 200){
data[re.data] = list;
$('.type-all>.active>.new-id').val(re.data);
$eb.message('success',re.msg);
setTimeout(function (e) {
window.history.go(-1);
},600)
}else{
$eb.message('error',re.msg);
}
}
})
});
$('.article-add ').on('click',function (e) {
var num_div = $('.type-all').children('div').length;
if(num_div > 7){
$eb.message('error','一组图文消息最多可以添加8个');
return false;
}
var url = "/public/system/module/wechat/news/images/image.png";
html = '';
html += '<div class="news-item transition active news-image" style=" margin-bottom: 20px;background-image:url('+url+')">'
html += '<input type="hidden" name="new_id" value="" class="new-id">';
html += '<span class="news-title del-news">x</span>';
html += '</div>';
$(this).siblings().removeClass("active");
$(this).before(html);
})
$(document).on("click",".del-news",function(){
$(this).parent().remove();
})
$(document).ready(function() {
var config = {
".chosen-select": {},
".chosen-select-deselect": {allow_single_deselect: true},
".chosen-select-no-single": {disable_search_threshold: 10},
".chosen-select-no-results": {no_results_text: "沒有找到你要搜索的分类"},
".chosen-select-width": {width: "95%"}
};
for (var selector in config) {
$(selector).chosen(config[selector])
}
})
</script>
{/block}