official_website/app/admin/view/video/add.html

547 lines
17 KiB
HTML
Raw Normal View History

2024-12-02 13:57:08 +08:00
{extend name="foxcms_content" /}
{block name="css"}
{/block}
{block name="body"}
<input name="bcid" value="{$bcid}" type="hidden" />
<div class="foxcms-content-inner">
<!-- page content -->
<div class="company-news-add-content">
<div class="foxui-tabs foxui-type-line" id="contentTabs">
<div class="foxui-tabs-header">
<div class="foxui-tabs-item is-active">基本</div>
<div class="foxui-tabs-item">详情</div>
</div>
<div class="foxui-tabs-content">
<div class="foxui-tabs-pane">
<div class="section">
<div class="section-title">基本信息</div>
<div class="section-main">
<div class="display-flex">
<div class="section-main-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label class="foxui-required">标题:</label>
</div>
<div class="input-box">
<div class="foxui-textarea">
<textarea autocomplete="off" rows="2" maxlength="120" placeholder="" name="title"></textarea>
<span class="foxui-textarea-count">0/120</span>
</div>
</div>
</div>
</div>
<div class="section-main-item second-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label>简略标题:</label>
</div>
<div class="input-box">
<div class="foxui-textarea">
<textarea autocomplete="off" rows="2" maxlength="60" placeholder="" name="brief_title"></textarea>
<span class="foxui-textarea-count">0/60</span>
</div>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label>文章属性:</label>
</div>
<div class="article-field">
<div class="foxui-checkbox">
<span class="foxui-checkbox-input">
<i class="foxui-checkbox-icon"></i>
<input type="checkbox" value="t"/>
</span>
<span class="foxui-checkbox-label">头条(t)</span>
</div>
<div class="foxui-checkbox">
<span class="foxui-checkbox-input">
<i class="foxui-checkbox-icon"></i>
<input type="checkbox" value="c" />
</span>
<span class="foxui-checkbox-label">推荐(c)</span>
</div>
<div class="foxui-checkbox">
<span class="foxui-checkbox-input">
<i class="foxui-checkbox-icon"></i>
<input type="checkbox" value="h" />
</span>
<span class="foxui-checkbox-label">热门(h)</span>
</div>
<div class="foxui-checkbox">
<span class="foxui-checkbox-input">
<i class="foxui-checkbox-icon"></i>
<input type="checkbox" value="b" />
</span>
<span class="foxui-checkbox-label">加粗(b)</span>
</div>
<div class="foxui-checkbox">
<span class="foxui-checkbox-input">
<i class="foxui-checkbox-icon"></i>
<input type="checkbox" value="s" />
</span>
<span class="foxui-checkbox-label">幻灯(s)</span>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group">
<div class="input-label">
<label class="foxui-required">所属栏目:</label>
</div>
<div class="input-box">
<div class="foxui-select">
<div class="foxui-select-handle foxui-select-icon">
<input class="foxui-select-input foxui-size-small" readonly="readonly" placeholder="请选择所属栏目" data-id="{$column.id}" value="{$column.name}" name="column" />
<i class="foxui-icon-close-circle" style="display: none"></i>
</div>
<div class="foxui-select-menu">
<ul class="foxui-select-slide">
{foreach $columns as $key=>$vo }
<li class="foxui-select-item" data-id="{$vo.id}">{$vo.title}</li>
{/foreach}
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group">
<div class="input-label">
<label>文档标签:</label>
</div>
<div class="input-box">
<div class="foxui-select foxui-select-settable">
<div class="foxui-select-handle">
<input class="foxui-select-input foxui-size-small" placeholder="多个标签之间以逗号隔开" value="" name="tags"/>
</div>
<div class="foxui-select-menu">
<ul class="foxui-select-slide member-list">
{foreach tagList as $key=>$vo }
<li class="foxui-select-item multiple" data-id="{$vo.name}">{$vo.name}</li>
{/foreach}
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label>文章缩略图:</label>
</div>
<div class="input-box">
<div class="foxui-images foxui-images-fluid">
<div class="foxui-images-card breviary_pic">
<ul class="foxui-images-list">
<div class="foxui-images-handle">
<div class="foxui-images-handle-inner">
<i class="foxui-icon-jiahao-o"></i>
<span class="text">添加图片</span>
</div>
</div>
</ul>
</div>
</div>
</div>
</div>
<p class="input-box-info">图片尺寸建议根据前端网站模板的尺寸制作</p>
</div>
<div class="section-main-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label>视频文件:</label>
</div>
<div class="input-box">
<div class="foxui-videos foxui-drag">
<div class="foxui-videos-card videos">
<ul class="foxui-videos-list foxui-drag-container">
<div class="foxui-videos-handle">
<div class="foxui-videos-handle-inner">
<i class="foxui-icon-jiahao-o"></i>
<span class="text">添加视频</span>
</div>
</div>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group">
<div class="input-label">
<label>SEO关键词</label>
</div>
<div class="input-box">
<input class="foxui-size-small" placeholder="" value="" name="keywords"/>
</div>
</div>
<p class="input-box-info">一般不超过100个字符多个关键词请用英文逗号隔开建议3到5个关键词</p>
</div>
<div class="section-main-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label>SEO描述</label>
</div>
<div class="input-box">
<div class="foxui-textarea">
<textarea autocomplete="off" rows="2" maxlength="200" placeholder="" name="description"></textarea>
<span class="foxui-textarea-count">0/200</span>
</div>
</div>
</div>
<p class="input-box-info">描述一般不超过200个字符不填写时系统自动提取正文的前200个字符</p>
</div>
<div class="display-flex">
<div class="section-main-item">
<div class="foxui-input-group">
<div class="input-label">
<label>文章来源:</label>
</div>
<div class="input-box">
<div class="foxui-select foxui-select-settable" data-title="文章来源" id="article_source">
<div class="foxui-select-handle">
<input class="foxui-select-input foxui-size-small" placeholder="" value="" />
<button class="foxui-select-set foxui-size-small foxui-plain">设置</button>
</div>
<div class="foxui-select-menu">
<ul class="foxui-select-slide">
{foreach $articleSources as $key=>$vo }
<li class="foxui-select-item" data-id="{$articleSourceDictCode}">{$vo}</li>
{/foreach}
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="section-main-item second-item">
<div class="foxui-input-group">
<div class="input-label">
<label>作者:</label>
</div>
<div class="input-box">
<div class="foxui-select foxui-select-settable" data-title="作者" id="author">
<div class="foxui-select-handle">
<input class="foxui-select-input foxui-size-small" placeholder="" value="" />
<button class="foxui-select-set foxui-size-small foxui-plain">设置</button>
</div>
<div class="foxui-select-menu">
<ul class="foxui-select-slide">
{foreach $authors as $key=>$vo }
<li class="foxui-select-item" data-id="{$authorDictCode}">{$vo}</li>
{/foreach}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group">
<div class="input-label">
<label>发布时间:</label>
</div>
<div class="input-box">
<div class="foxui-picker foxui-datetime-picker">
<div class="foxui-picker-handle foxui-input-prefix">
<i class="foxui-icon-gongzuo-o foxui-prefix-icon"></i>
<input class="foxui-size-small" readonly="readonly" placeholder="请选择时间" value="" name="release_time"/>
</div>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group">
<div class="input-label">
<label>浏览量:</label>
</div>
<div class="input-box">
<input class="foxui-size-small" placeholder="" required="" value="" name="click"/>
</div>
</div>
</div>
<!--动态标签start-->
<div class="field">
<?php echo modelFieldTag('video'); ?>
</div>
<!--动态标签end-->
</div>
</div>
</div>
<div class="foxui-tabs-pane">
<div class="section">
<div class="section-title">内容详情</div>
<div class="section-main-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label>状态:</label>
</div>
<div>
<div class="foxui-checkbox">
<span class="foxui-checkbox-input">
<i class="foxui-checkbox-icon"></i>
<input type="checkbox" value="" checked="checked" name="statusDown"/>
</span>
<span class="foxui-checkbox-label">下载远程图片</span>
</div>
<div class="foxui-checkbox">
<span class="foxui-checkbox-input">
<i class="foxui-checkbox-icon"></i>
<input type="checkbox" value="" name="statusDel"/>
</span>
<span class="foxui-checkbox-label">删除非站内链接</span>
</div>
</div>
</div>
</div>
<div class="section-main-item">
<div class="foxui-input-group foxui-align-items-start">
<div class="input-label">
<label>内容详情:</label>
</div>
<div class="block-box rich-text">
<!-- 富文本 -->
<textarea class="richText" id="initRT"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="foxcms-content-footer">
<button class="is-long foxui-size-small foxui-solid-primary next-btn">下一步</button>
<button class="is-long foxui-size-small foxui-plain-primary save-btn">保存</button>
</div>
{include file="footed-copy"/}
{/block}
{block name="js"}
<script>
let $nextBtn = $('.foxcms-content-footer .next-btn'),
$tabsItem = $('#contentTabs .foxui-tabs-item'),
tabsLen = $tabsItem.length;
foxui.tabs.$on(getIndex);
function getIndex(data) {
const { index, id } = data;
if(id === 'contentTabs'){
if (index === tabsLen - 1) {
$nextBtn.hide();
} else {
$nextBtn.show();
}
}
}
$nextBtn.click(function () {
let index = $('#contentTabs .foxui-tabs-item.is-active').index();
$tabsItem.eq(index + 1).click();
});
//设置回调
foxui.select.$off();
foxui.select.$on(getSetData);
function getSetData(data) {
foxui.loading();
$.ajax({
type: "POST",
url: "{:url('saveDict')}",
dataType: "json",
async:false,
data:data,
success: (res)=> {
if (res.code == 1 && res.data) {
let id = data.id;
let liHtml = [];
let dataList = res.data.dataList;
if(dataList.length > 0){
dataList.forEach(item => {
liHtml.push(`<li class="foxui-select-item" data-id="${res.data.id}">${item}</li>`);
});
}
$('#' + id).find(".foxui-select-slide").empty().append(liHtml.join(""));
}else{
foxui.message({
type:"danger",
text:res.msg
})
}
foxui.closeLoading();
},
error: function(res) {
foxui.message({
type:"danger",
text:res.msg
})
foxui.closeLoading();
}
});
}
</script>
<script>
//保存
$('.save-btn').click(function() {
let bcid = $("input[name='bcid']").val();
//标题
let title = $('textarea[name="title"]').val();
//简略标题
let brief_title = $('textarea[name="brief_title"]').val();
//文章属性
let articleField = "";
$('.article-field .foxui-checkbox').each(function (){
let isCheck = $(this).is('.is-checked');
if(isCheck){
let af = $(this).find('input[type="checkbox"]').val();
articleField += af + ",";
}
});
if(articleField.length> 0){
articleField = articleField.substr(0, articleField.length -1);
}
//所属栏目
let columnId = $('input[name="column"]').attr('data-id');
//栏目名称
let column = $('input[name="column"]').val();
//文章缩率图
let breviary_pic_id = $('.breviary_pic img').attr('data-id');
//SEO关键词
let keywords = $('input[name="keywords"]').val();
//SEO描述
let description = $('textarea[name="description"]').val();
//文章来源
let article_source = $('#article_source input').val();
//作者
let author = $('#author input').val();
//发布时间
let release_time = $('input[name="release_time"]').val();
//预览量
let click = $('input[name="click"]').val();
//下载远程图片
let statusDown = $('input[name="statusDown"]').closest('.foxui-checkbox').is('.is-checked') ? 'down' : '';
//删除非站内链接
let statusDel = $('input[name="statusDel"]').closest('.foxui-checkbox').is('.is-checked') ? 'del' : '';
//内容
let content = getRTtContent("initRT");
//文档标签
let tags = $('input[name="tags"]').val();
//视频
let itemC = $('.foxui-videos-card.videos').find("ul.foxui-videos-list");
let lis = $(itemC).find('li');
let videos = [];
$.each(lis, function (key, li) {
let videoId = $(li).find("img").attr('data-id');
let url = $(li).find("img").attr('data-url');
let pic = $(li).find("img").attr('src');
let videoTitle = $(li).find("input").val();
videos.push({"id":videoId, "title": videoTitle, "url":url, pic});
});
let videosStr = JSON.stringify(videos);
let datas = {
'title': title,
"brief_title": brief_title,
"article_field": articleField,
"column_id": columnId,
"column": column,
"breviary_pic_id": breviary_pic_id||"",
"keywords": keywords,
"description": description,
"article_source": article_source,
"author": author,
"team_status": statusDown + "," + statusDel,
"content": content,
"release_time":release_time,
"click":click,
tags,
'videos':videosStr
};
//拉取模型属性
// let feildUrl = ADMIN_PATH + '/video/getField?model=video';
let feildUrl = "{:url('Video/getField')}?model=video";
let saveData = getField($(".field"), feildUrl);
let curData = Object.assign(datas, saveData);
foxui.dialog({
title: '保存',
content: '您确定要保存吗',
cancelText: '取消',
confirmText: '保存',
confirm: function(callback) {
foxui.loading({text:"发布中"});
ajaxR("{:url('add')}","post",curData,{},function(res) {
if (res.code == 1) {
foxui.message({
type: 'success',
text: res.msg
})
if(res.data != ""){
let params = res.data;
if(params.oneId && params.oneId == "key3"){
addDataBuildDetail(params);
singleAllSite(params);
}
foxui.closeLoading();
}
window.location.href=document.referrer;//返回并且刷新
} else {
foxui.message({
type: 'warning',
text: res.msg
})
}
foxui.closeLoading();
},
function(res) {
foxui.message({
type: 'warning',
text: res.responseJSON.msg
})
foxui.closeLoading();
})
callback();
},
cancel: function() {
foxui.message({
type: 'warning',
text: res.msg
})
},
});
})
</script>
{/block}