添加项目文件。
This commit is contained in:
@ -0,0 +1,109 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'optimizeSelectOption', 'common'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
//此处需修改
|
||||
//类型为时间时
|
||||
//laydate.render({
|
||||
//elem: '#F_Birthday'
|
||||
//, btns: ['clear', 'now']
|
||||
//, trigger: 'click',
|
||||
//format: 'yyyy-MM-dd',
|
||||
//});
|
||||
|
||||
$(function () {
|
||||
initControl();
|
||||
common.setReadOnly('adminform');
|
||||
common.val('adminform',common.parentWindow().dataJson);
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
//绑定数据源
|
||||
//类型为下拉框时
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">类别名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-filter="F_ParentId" lay-verify="required" lay-search>
|
||||
<option value="0">父级</option>
|
||||
</select>
|
||||
</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_SortCode" name="F_SortCode" lay-verify="required" value="99" autocomplete="off" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Description" name="F_Description" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">链接地址</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_LinkUrl" name="F_LinkUrl" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">图片地址</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_ImgUrl" name="F_ImgUrl" autocomplete="off" class="layui-input">
|
||||
</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_SeoTitle" name="F_SeoTitle" autocomplete="off" class="layui-input">
|
||||
</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">
|
||||
</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">
|
||||
</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_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>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -0,0 +1,135 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'optimizeSelectOption', 'common'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
//此处需修改
|
||||
//类型为时间时
|
||||
//laydate.render({
|
||||
//elem: '#F_Birthday'
|
||||
//, btns: ['clear', 'now']
|
||||
//, trigger: 'click',
|
||||
//format: 'yyyy-MM-dd',
|
||||
//});
|
||||
|
||||
$(function () {
|
||||
initControl();
|
||||
$('#F_ParentId').val("0");
|
||||
common.val('adminform',common.parentWindow().dataJson);
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
//绑定数据源
|
||||
//类型为下拉框时
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/ContentManage/ArticleCategory/GetListJson",
|
||||
id: "F_Id",
|
||||
text: "F_FullName",
|
||||
search: true,
|
||||
});
|
||||
}
|
||||
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_IsTop"]) postData["F_IsTop"] = false;
|
||||
if (!postData["F_IsHot"]) postData["F_IsHot"] = false;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
common.submitForm({
|
||||
url: '/ContentManage/ArticleCategory/SubmitForm?keyValue=' + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload('data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-filter="F_ParentId" lay-verify="required" lay-search>
|
||||
<option value="0">父级</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_FullName" name="F_FullName" autocomplete="off" maxlength="50" 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="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" value="99" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Description" name="F_Description" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">链接地址</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_LinkUrl" name="F_LinkUrl" autocomplete="off" lay-verify="url" maxlength="255" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">图片地址</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_ImgUrl" name="F_ImgUrl" autocomplete="off" lay-verify="url" maxlength="255" class="layui-input">
|
||||
</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_SeoTitle" name="F_SeoTitle" autocomplete="off" maxlength="255" class="layui-input">
|
||||
</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" maxlength="255" class="layui-input">
|
||||
</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" maxlength="255" 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_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">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -0,0 +1,203 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'common', 'table', 'commonTable', 'layer'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
layer = layui.layer,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
//行操作权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
wcLoading.close();
|
||||
var options = {
|
||||
elem: '#currentTableId',
|
||||
url: '/ContentManage/ArticleCategory/GetTreeGridJson',
|
||||
treeIdName: 'F_Id', // id字段名称
|
||||
treePidName: 'F_ParentId', // pid字段名称
|
||||
cols: [[
|
||||
{ type: "radio", width: 50, fixed: 'left' },
|
||||
{ field: 'F_FullName', title: '类别名称', width: 200, filter: true },
|
||||
{ field: 'F_SortCode', title: '排序', width: 80, filter: true},
|
||||
{ field: 'F_Description', title: '描述', minWidth: 220, filter: true },
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{ field: 'F_CreatorUserId', title: '创建人', width: 120, hide: true },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }//插件没有fixed参数
|
||||
]],
|
||||
};
|
||||
commonTable.rendertreetable(options);
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
queryJson = data.field.txt_keyword;
|
||||
options.where = { keyword: queryJson };
|
||||
commonTable.rendertreetable(options);
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details", "NF-delete"];//选择1条显示
|
||||
//var morerList = ["NF-delete"];//选中1条以上
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
//common.treeTableRowClick("radio", rendertree, "currentTableId", oneList, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ? data[0].F_Id : null;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.modalOpen({
|
||||
title: "添加界面",
|
||||
url: "/ContentManage/ArticleCategory/Form",
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/ContentManage/ArticleCategory/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
if (data.length > 1) {
|
||||
common.modalMsg("只能选择一条编辑", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/ContentManage/ArticleCategory/Form?keyValue=" + id,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
dataJson: data[0],
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
if (data.length > 1) {
|
||||
common.modalMsg("只能选择一条查看", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/ContentManage/ArticleCategory/Details?keyValue=" + id,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
dataJson: data[0],
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolbar监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/ContentManage/ArticleCategory/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/ContentManage/ArticleCategory/Form?keyValue=" + id,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
dataJson: obj.data,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/ContentManage/ArticleCategory/Details?keyValue=" + id,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
dataJson: obj.data,
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
@ -0,0 +1,285 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<style>
|
||||
.layui-form-label {
|
||||
float: left;
|
||||
display: block;
|
||||
padding: 9px 15px;
|
||||
width: 60px;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.lay-step {
|
||||
font-size: 0;
|
||||
width: 400px;
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.layui-table-view {
|
||||
margin-left: 30px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.layui-input-block {
|
||||
margin-left: 90px;
|
||||
min-height: 36px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.layui-card > .layui-card-body {
|
||||
position: relative;
|
||||
padding: 10px 15px;
|
||||
line-height: 24px;
|
||||
overflow: auto;
|
||||
height: 300px;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'optimizeSelectOption', 'common', 'step','wangEditor'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
wangEditor = layui.wangEditor,
|
||||
step = layui.step;
|
||||
var editor = new wangEditor("#editor");
|
||||
|
||||
editor.create();
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('stepForm');
|
||||
wcLoading.close();
|
||||
step.render({
|
||||
elem: '#stepForm',
|
||||
filter: 'stepForm',
|
||||
width: '100%', //设置容器宽度
|
||||
stepWidth: '750px',
|
||||
height: '600px',
|
||||
stepItems: [{
|
||||
title: '基本信息'
|
||||
}, {
|
||||
title: '详细描述'
|
||||
}, {
|
||||
title: 'SEO选项'
|
||||
}]
|
||||
});
|
||||
form.on('submit(formStep)', function (data) {
|
||||
step.next('#stepForm');
|
||||
return false;
|
||||
});
|
||||
form.on('submit(formStep2)', function (data) {
|
||||
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());
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
});
|
||||
}
|
||||
common.setReadOnly('stepForm');
|
||||
form.render();
|
||||
});
|
||||
function initControl() {
|
||||
//绑定数据源
|
||||
//类型为下拉框时
|
||||
$("#F_CategoryId").bindSelect({
|
||||
url: "/ContentManage/ArticleCategory/GetListJson",
|
||||
id: "F_Id",
|
||||
text: "F_FullName",
|
||||
search: true,
|
||||
});
|
||||
}
|
||||
});
|
||||
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>
|
||||
<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">新闻类别</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_CategoryId" name="F_CategoryId" lay-filter="F_CategoryId" lay-search>
|
||||
<option value="">请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">内容标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Title" name="F_Title" autocomplete="off" 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" class="layui-input">
|
||||
</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" readonly="readonly">
|
||||
</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)" />
|
||||
</div>
|
||||
</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_SortCode" name="F_SortCode" lay-verify="required" 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">内容描述</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class=" layui-hide" id="F_Description" name="F_Description" 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">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">来源</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Source" name="F_Source" autocomplete="off" value="本站" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">作者</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Author" name="F_Author" autocomplete="off" 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">
|
||||
</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">
|
||||
</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">
|
||||
</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">
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
338
HT.Cloud.Web/Areas/ContentManage/Views/ArticleNews/Form.cshtml
Normal file
338
HT.Cloud.Web/Areas/ContentManage/Views/ArticleNews/Form.cshtml
Normal file
@ -0,0 +1,338 @@
|
||||
@{
|
||||
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>
|
||||
|
259
HT.Cloud.Web/Areas/ContentManage/Views/ArticleNews/Index.cshtml
Normal file
259
HT.Cloud.Web/Areas/ContentManage/Views/ArticleNews/Index.cshtml
Normal file
@ -0,0 +1,259 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label required">新闻类别:</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="CategoryId" name="CategoryId" lay-filter="CategoryId" lay-search>
|
||||
<option value="">请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'commonTable'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
wcLoading.close();
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/ContentManage/ArticleNews/GetGridJson',
|
||||
filter: {
|
||||
clearFilter: false,
|
||||
},
|
||||
cols: [[
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{ field: 'F_CategoryName', title: '新闻类别', width: 120, filter: true },
|
||||
{ field: 'F_Title', title: '标题', width: 160, filter: true },
|
||||
{
|
||||
field: ' F_ImgUrl ', title: '封面', width: 60,
|
||||
templet: function (d) {
|
||||
if (!!d.F_ImgUrl) {
|
||||
return '<img src="' + d.F_ImgUrl + '" style="height: 25px; width: 25px; line- height: 25 px!important;" onclick="previewImg(this)">'
|
||||
|
||||
}
|
||||
else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'F_Zhaiyao', title: '摘要', minWidth: 220, filter: true },
|
||||
{ field: 'F_SortCode', title: '排序', width: 80, filter: true },
|
||||
{
|
||||
field: 'F_IsTop', title: '置顶', width: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_IsTop == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_IsHot', title: '热门', width: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_IsHot == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'F_Click', title: '点击次数', width: 120, filter: true },
|
||||
{ field: 'F_Source', title: '来源', width: 120, filter: true },
|
||||
{ field: 'F_Author', title: '作者', width: 120, filter: true },
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', width: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{ field: 'F_CreatorUserId', title: '创建人', width: 120, filter: true, hide: true },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
$(function () {
|
||||
initControl();
|
||||
form.render();
|
||||
});
|
||||
function initControl() {
|
||||
//绑定数据源
|
||||
//类型为下拉框时
|
||||
$("#CategoryId").bindSelect({
|
||||
url: "/ContentManage/ArticleCategory/GetListJson",
|
||||
id: "F_Id",
|
||||
text: "F_FullName",
|
||||
search: true,
|
||||
});
|
||||
}
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { CategoryId: data.field.CategoryId, keyword: data.field.txt_keyword }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details"];//选择1条显示
|
||||
var morerList = ["NF-delete"];//选中1条以上显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ?data[0].F_Id:null;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.openNewTabByIframe({
|
||||
title: "添加文章",
|
||||
href: "/ContentManage/ArticleNews/Form",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/ContentManage/ArticleNews/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
if (data.length > 1) {
|
||||
common.modalMsg("只能选择一条编辑", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "编辑文章",
|
||||
href: "/ContentManage/ArticleNews/Form?keyValue=" + id,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
if (data.length > 1) {
|
||||
common.modalMsg("只能选择一条查看", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "查看文章",
|
||||
href: "/ContentManage/ArticleNews/Details?keyValue=" + id,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/ContentManage/ArticleNews/DeleteForm",
|
||||
param: { keyValue: id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.openNewTabByIframe({
|
||||
title: "编辑文章",
|
||||
href: "/ContentManage/ArticleNews/Form?keyValue=" + id,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.openNewTabByIframe({
|
||||
title: "查看文章",
|
||||
href: "/ContentManage/ArticleNews/Details?keyValue=" + id,
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
function previewImg(obj) {
|
||||
var img = new Image();
|
||||
img.src = obj.src;
|
||||
var height = (!!img.height ? img.height:100) + 50; //获取图片高度
|
||||
var width = (!!img.width ? img.width : 100); //获取图片宽度
|
||||
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>
|
Reference in New Issue
Block a user