339 lines
18 KiB
Plaintext
339 lines
18 KiB
Plaintext
![]() |
@{
|
|||
|
ViewBag.Title = "Form";
|
|||
|
Layout = "~/Views/Shared/_Form.cshtml";
|
|||
|
}
|
|||
|
<link href="~/css/stepcss.css" rel="stylesheet" />
|
|||
|
|
|||
|
<body>
|
|||
|
<div class="layuimini-container">
|
|||
|
<div class="layuimini-main">
|
|||
|
<div class="layui-carousel" id="stepForm" lay-filter="stepForm">
|
|||
|
<div carousel-item>
|
|||
|
<div>
|
|||
|
<form class="layui-form layuimini-form">
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label required">新闻类别</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<select id="F_CategoryId" name="F_CategoryId" lay-filter="F_CategoryId" lay-verify="required" lay-search>
|
|||
|
<option value="">请选择</option>
|
|||
|
</select>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label required">内容标题</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_Title" name="F_Title" autocomplete="off" maxlength="200" lay-verify="required" class="layui-input">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">URL链接</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_LinkUrl" name="F_LinkUrl" autocomplete="off" maxlength="255" class="layui-input" placeholder="填写后直接跳转到该网址">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">封面图片</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" class="layui-input" name="F_ImgUrl" id="F_ImgUrl" maxlength="255" readonly="readonly">
|
|||
|
<button type="button" class="layui-btn" id="upload" style=" margin-top: 10px">上传图片</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item">
|
|||
|
<label class="layui-form-label"></label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<div class="layui-upload-list">
|
|||
|
<img id="F_ImgUrlPic" width="200" height="200" onclick="previewImg(this)" />
|
|||
|
<p id="demoText"></p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label required">排序数字</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" class="layui-input ">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">选项</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input id="F_IsTop" name="F_IsTop" type="checkbox" value="true" title="是否置顶">
|
|||
|
<input id="F_IsRed" name="F_IsRed" type="checkbox" value="true" title="是否热门">
|
|||
|
<input id="F_IsHot" name="F_IsHot" type="checkbox" value="true" title="是否推荐">
|
|||
|
<input id="F_EnabledMark" name="F_EnabledMark" type="checkbox" value="true" checked="checked" title="是否发布">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">点击次数</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="number" pattern="[0-9]*" id="F_Click" name="F_Click" lay-verify="required" class="layui-input" value="0">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="form-group-bottom text-right">
|
|||
|
<div class="layui-input-block">
|
|||
|
<button class="layui-btn" lay-submit lay-filter="formStep">
|
|||
|
 下一步 
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
<div>
|
|||
|
<form class="layui-form layuimini-form">
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label required">内容描述</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<textarea class=" layui-hide" id="F_Description" name="F_Description" lay-verify="required" type="text/plain" style="width:100%;height:400px;"></textarea>
|
|||
|
<div id="editor"></div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item">
|
|||
|
<label class="layui-form-label">摘要</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_Zhaiyao" name="F_Zhaiyao" autocomplete="off" class="layui-input" placeholder="不填写则自动截取内容前255字符">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label required">来源</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_Source" name="F_Source" autocomplete="off" value="本站" lay-verify="required" class="layui-input">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label required">作者</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_Author" name="F_Author" autocomplete="off" value="@ViewBag.UserName" lay-verify="required" class="layui-input">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="form-group-bottom text-right">
|
|||
|
<div class="layui-input-block">
|
|||
|
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
|||
|
<button class="layui-btn" lay-submit lay-filter="formStep2">
|
|||
|
 下一步 
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
<div>
|
|||
|
<form class="layui-form layuimini-form">
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">Seo标题</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_SeoTitle" name="F_SeoTitle" autocomplete="off" class="layui-input" placeholder="不填写则默认为网站标题">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">Seo关键字</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_SeoKeywords" name="F_SeoKeywords" autocomplete="off" class="layui-input" placeholder="不填写则默认为网站摘要">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">Seo描述</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_SeoDescription" name="F_SeoDescription" autocomplete="off" class="layui-input" placeholder="不填写则自动截取内容前255字符">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="layui-form-item layui-hide">
|
|||
|
<label class="layui-form-label">Tags标签</label>
|
|||
|
<div class="layui-input-block">
|
|||
|
<input type="text" id="F_Tags" name="F_Tags" autocomplete="off" class="layui-input" placeholder="多个可用英文逗号分隔开,如:a,b">
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="form-group-bottom text-right">
|
|||
|
<div class="layui-input-block">
|
|||
|
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
|||
|
<button class="layui-btn site-demo-active" lay-submit lay-filter="saveBtn">
|
|||
|
 保存 
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
layui.use(['jquery', 'form', 'laydate', 'optimizeSelectOption', 'common', 'step', 'wangEditor', 'upload'], function () {
|
|||
|
var form = layui.form,
|
|||
|
$ = layui.$,
|
|||
|
common = layui.common,
|
|||
|
upload = layui.upload,
|
|||
|
step = layui.step,
|
|||
|
wangEditor = layui.wangEditor;
|
|||
|
var editor = new wangEditor("#editor");
|
|||
|
// 配置服务器端地址
|
|||
|
editor.config.uploadImgServer = '/FileManage/Uploadfile/Upload';
|
|||
|
editor.config.uploadImgMaxSize = 3 * 1024 * 1024;
|
|||
|
editor.config.uploadImgMaxLength = 5;
|
|||
|
editor.config.uploadImgParams = { filetype: 1, fileby: '新闻管理/编辑器'};
|
|||
|
editor.config.showLinkImg = false;
|
|||
|
editor.config.uploadImgHooks =
|
|||
|
{
|
|||
|
customInsert: function (insertImg, result, editor2) {
|
|||
|
uploadResult(result);
|
|||
|
if (!!result.data) {
|
|||
|
for (var i = 0; i < result.data.length; i++) {
|
|||
|
insertImg(result.data[i].src);
|
|||
|
};
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
editor.config.onchange = function (newHtml) {
|
|||
|
$("#F_Description").val(newHtml);
|
|||
|
}
|
|||
|
function uploadResult(res) {
|
|||
|
if (res.code == 0) {
|
|||
|
layer.msg("上传图片成功", { icon: 1, time: 1000 });//使用layui的弹窗提示
|
|||
|
} else {
|
|||
|
layer.msg("上传图片失败", { icon: 1, time: 1000 });
|
|||
|
}
|
|||
|
};
|
|||
|
editor.create();
|
|||
|
//普通图片上传
|
|||
|
var uploadInst = upload.render({
|
|||
|
elem: '#upload'
|
|||
|
, url: '/FileManage/Uploadfile/Upload' //改成您自己的上传接口
|
|||
|
, size: 1024
|
|||
|
, accept: 'file'
|
|||
|
, data: { filetype: 1, fileby: '新闻管理' }
|
|||
|
, choose: function (obj) {
|
|||
|
//预读本地文件示例,不支持ie8
|
|||
|
obj.preview(function (index, file, result) {
|
|||
|
$('#F_ImgUrlPic').attr('src', result); //图片链接(base64)
|
|||
|
});
|
|||
|
}
|
|||
|
, done: function (res) {
|
|||
|
//如果上传失败
|
|||
|
if (res.code > 0) {
|
|||
|
//失败状态,并实现重传
|
|||
|
var demoText = $('#demoText');
|
|||
|
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
|||
|
demoText.find('.demo-reload').on('click', function () {
|
|||
|
uploadInst.upload();
|
|||
|
});
|
|||
|
common.modalMsg(res.msg, "warning");
|
|||
|
return false;
|
|||
|
}
|
|||
|
$('#F_ImgUrl').val(res.data[0].src);
|
|||
|
}
|
|||
|
, error: function () {
|
|||
|
//演示失败状态,并实现重传
|
|||
|
var demoText = $('#demoText');
|
|||
|
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
|||
|
demoText.find('.demo-reload').on('click', function () {
|
|||
|
uploadInst.upload();
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
var keyValue = $.request("keyValue");
|
|||
|
//权限字段
|
|||
|
common.authorizeFields('stepForm');
|
|||
|
wcLoading.close();
|
|||
|
var postData = {};//分步骤表单,最终提交只能获取最后一个表单的数据,所以定义全局数组保存表单数据
|
|||
|
step.render({
|
|||
|
elem: '#stepForm',
|
|||
|
filter: 'stepForm',
|
|||
|
width: '100%', //设置容器宽度
|
|||
|
stepWidth: '750px',
|
|||
|
height: '600px',
|
|||
|
stepItems: [{
|
|||
|
title: '基本信息'
|
|||
|
}, {
|
|||
|
title: '详细描述'
|
|||
|
}, {
|
|||
|
title: 'SEO选项'
|
|||
|
}]
|
|||
|
});
|
|||
|
form.on('submit(formStep)', function (data) {
|
|||
|
postData = $.extend(postData, data.field);
|
|||
|
step.next('#stepForm');
|
|||
|
return false;
|
|||
|
});
|
|||
|
form.on('submit(formStep2)', function (data) {
|
|||
|
postData = $.extend(postData, data.field);
|
|||
|
step.next('#stepForm');
|
|||
|
return false;
|
|||
|
});
|
|||
|
$('.pre').click(function () {
|
|||
|
step.pre('#stepForm');
|
|||
|
});
|
|||
|
$('.next').click(function () {
|
|||
|
step.next('#stepForm');
|
|||
|
});
|
|||
|
$(function () {
|
|||
|
initControl();
|
|||
|
if (!!keyValue) {
|
|||
|
common.ajax({
|
|||
|
url: '/ContentManage/ArticleNews/GetFormJson',
|
|||
|
dataType: 'json',
|
|||
|
data: { keyValue: keyValue },
|
|||
|
async: false,
|
|||
|
success: function (data) {
|
|||
|
common.val('stepForm', data);
|
|||
|
$('#F_ImgUrlPic').attr('src', data.F_ImgUrl); //图片链接
|
|||
|
editor.txt.text($("#F_Description").val());
|
|||
|
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
form.render();
|
|||
|
});
|
|||
|
function initControl() {
|
|||
|
//绑定数据源
|
|||
|
//类型为下拉框时
|
|||
|
$("#F_CategoryId").bindSelect({
|
|||
|
url: "/ContentManage/ArticleCategory/GetListJson",
|
|||
|
id: "F_Id",
|
|||
|
text: "F_FullName",
|
|||
|
search: true,
|
|||
|
});
|
|||
|
}
|
|||
|
//监听提交
|
|||
|
form.on('submit(saveBtn)', function (data) {
|
|||
|
postData = $.extend(postData, data.field);
|
|||
|
if (!postData["F_IsTop"]) postData["F_IsTop"] = false;
|
|||
|
if (!postData["F_IsHot"]) postData["F_IsHot"] = false;
|
|||
|
if (!postData["F_IsRed"]) postData["F_IsRed"] = false;
|
|||
|
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
|||
|
postData["F_Description"] = postData["F_Description"];
|
|||
|
common.submitForm({
|
|||
|
url: '/ContentManage/ArticleNews/SubmitForm?keyValue=' + keyValue,
|
|||
|
param: postData,
|
|||
|
success: function () {
|
|||
|
common.reloadIframe("/ContentManage/ArticleNews/Index", 'data-search-btn');
|
|||
|
}
|
|||
|
})
|
|||
|
return false;
|
|||
|
});
|
|||
|
});
|
|||
|
function previewImg(obj) {
|
|||
|
var img = new Image();
|
|||
|
img.src = obj.src;
|
|||
|
var height = img.height + 50; //获取图片高度
|
|||
|
var width = img.width; //获取图片宽度
|
|||
|
if (height > 500) { height = 500; };
|
|||
|
if (width > 500) { width = 500; };
|
|||
|
var imgHtml = "<img src='" + obj.src + "' style=\"height: " + (height - 43) + "px; width: " + width + "px; line-height: 25px!important;\"/>";
|
|||
|
//弹出层
|
|||
|
layer.open({
|
|||
|
type: 1,
|
|||
|
shade: 0.8,
|
|||
|
offset: 'auto',
|
|||
|
area: [width + 'px', height + 'px'],
|
|||
|
shadeClose: true,//点击外围关闭弹窗
|
|||
|
scrollbar: false,//不现实滚动条
|
|||
|
title: "图片预览", //不显示标题
|
|||
|
content: imgHtml, //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
|
|||
|
cancel: function () {
|
|||
|
//layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', { time: 5000, icon: 6 });
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
</script>
|
|||
|
</body>
|
|||
|
|