mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	新增读取文档帮助
This commit is contained in:
		@@ -60,7 +60,8 @@ namespace FreeSql.Site.UI.Areas.Admin.Controllers
 | 
			
		||||
                if (!string.IsNullOrEmpty(model.DocTitle))
 | 
			
		||||
                    searchPredicate = searchPredicate.And(u => u.DocTitle.IndexOf(model.DocTitle) != -1);
 | 
			
		||||
            }
 | 
			
		||||
            var contents = DocumentContentDAL.Query(searchPredicate);
 | 
			
		||||
            PageInfo pageinfo = new PageInfo() { IsPaging = true, PageIndex = page, PageSize = limit };
 | 
			
		||||
            var contents = DocumentContentDAL.Query(searchPredicate, null, pageinfo);
 | 
			
		||||
 | 
			
		||||
            return Json(new DataPage<DocumentContent>
 | 
			
		||||
            {
 | 
			
		||||
@@ -74,8 +75,8 @@ namespace FreeSql.Site.UI.Areas.Admin.Controllers
 | 
			
		||||
        public ActionResult DocContentEditModule(string id)
 | 
			
		||||
        {
 | 
			
		||||
            ViewBag.DocumentTypeList = DocumentTypeDAL.Query(w => w.Status == 1).list.Select(s => new SelectListItem { Text = s.TypeName, Value = s.ID.ToString() }).ToList();
 | 
			
		||||
            DocumentContent model = new DocumentContent();
 | 
			
		||||
            if (!string.IsNullOrEmpty(id))
 | 
			
		||||
            DocumentContent model = new DocumentContent() { OriginType = 0};
 | 
			
		||||
            if (!string.IsNullOrEmpty(id) && id != "0")
 | 
			
		||||
            {
 | 
			
		||||
                int _id = Convert.ToInt32(id);
 | 
			
		||||
                model = DocumentContentDAL.GetByOne(w => w.ID == _id);
 | 
			
		||||
@@ -234,7 +235,7 @@ namespace FreeSql.Site.UI.Areas.Admin.Controllers
 | 
			
		||||
            return Json(resdata);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [HttpPost]        
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        //[ValidateAntiForgeryToken]
 | 
			
		||||
        public ActionResult DocTypeDelete(int id, IFormCollection collection)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,30 +3,19 @@
 | 
			
		||||
<head>
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
			
		||||
    <title>@ViewData["Title"] - FreeSql.Site.UI</title>
 | 
			
		||||
    <title>@ViewData["Title"]</title>
 | 
			
		||||
 | 
			
		||||
    <environment include="Development">
 | 
			
		||||
        <link href="~/layui/css/layui.css" rel="stylesheet" />
 | 
			
		||||
        <link href="~/lib/editormd/css/editormd.min.css" rel="stylesheet" />
 | 
			
		||||
        <link href="~/lib/editormd/css/editormd.preview.min.css" rel="stylesheet" />
 | 
			
		||||
 | 
			
		||||
        <link href="~/layui/lay/modules/preview.css" rel="stylesheet" />
 | 
			
		||||
        <link href="~/css/admin.css" rel="stylesheet" />
 | 
			
		||||
        <script src="~/lib/jquery/dist/jquery.js"></script>
 | 
			
		||||
        <script src="~/js/common.js"></script>
 | 
			
		||||
        @*<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>*@
 | 
			
		||||
        <script src="~/lib/editormd/src/editormd.js"></script>
 | 
			
		||||
 | 
			
		||||
        <!-- 页面markdown解析成HTML需要的js -->
 | 
			
		||||
        <script src="~/lib/editormd/lib/marked.min.js"></script>
 | 
			
		||||
        <script src="~/lib/editormd/lib/prettify.min.js"></script>
 | 
			
		||||
        <script src="~/lib/editormd/lib/raphael.min.js"></script>
 | 
			
		||||
        <script src="~/lib/editormd/lib/underscore.min.js"></script>
 | 
			
		||||
        <script src="~/lib/editormd/lib/sequence-diagram.min.js"></script>
 | 
			
		||||
        <script src="~/lib/editormd/lib/flowchart.min.js"></script>
 | 
			
		||||
        <script src="~/lib/editormd/lib/jquery.flowchart.min.js"></script>
 | 
			
		||||
 | 
			
		||||
        <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
 | 
			
		||||
        <script src="https://cdn.bootcss.com/highlight.js/9.13.1/highlight.min.js"></script>
 | 
			
		||||
        <script src="~/layui/lay/modules/layer.js"></script>
 | 
			
		||||
        <script src="~/layui/layui.js"></script>
 | 
			
		||||
    </environment>
 | 
			
		||||
    <environment exclude="Development">
 | 
			
		||||
 
 | 
			
		||||
@@ -35,10 +35,22 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
    var contentEdit;
 | 
			
		||||
    layui.use(['form', 'table'], function () {
 | 
			
		||||
    layui.use(['layer', 'laymd', 'form', 'table'], function () {
 | 
			
		||||
        var table = layui.table;
 | 
			
		||||
        var form = layui.form
 | 
			
		||||
            , layer = layui.layer;
 | 
			
		||||
            , layer = layui.layer, laymd = layui.laymd;
 | 
			
		||||
 | 
			
		||||
        var loadMarkDown = function () {
 | 
			
		||||
            //实例化编辑器,可以多个实例
 | 
			
		||||
            var md = laymd.init('DocContent', {});
 | 
			
		||||
            //内容改变事件
 | 
			
		||||
            md.on('change', function () {
 | 
			
		||||
                //这里借用marked.js解析效率比HyperDown快,用户可自行找解析器
 | 
			
		||||
                this.setPreview(marked(this.getText()));
 | 
			
		||||
            });
 | 
			
		||||
            //初始化数据预览
 | 
			
		||||
            md.do('change');
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        table.render({
 | 
			
		||||
@@ -97,14 +109,39 @@
 | 
			
		||||
            switch (obj.event) {
 | 
			
		||||
                case 'add':
 | 
			
		||||
                    var options = {
 | 
			
		||||
                        url: "/Admin/Document/DocContentEditModule", paramters: { id: "" },
 | 
			
		||||
                        url: "/Admin/Document/DocContentEditModule", paramters: { id: "0" },
 | 
			
		||||
                        title: "新增文档",
 | 
			
		||||
                        area: ['1100px', '660px'],
 | 
			
		||||
                        submit: {
 | 
			
		||||
                            url: "/Admin/Document/DocContentCreate",
 | 
			
		||||
                        },
 | 
			
		||||
                        elmid: "docContentEdit",
 | 
			
		||||
                        callback: reloadTable
 | 
			
		||||
                        callback: reloadTable,
 | 
			
		||||
                        loadBefore: function () {
 | 
			
		||||
                            //监听指定开关
 | 
			
		||||
                            form.on('switch(switchTest)', function (data) {
 | 
			
		||||
                                if (this.checked) {
 | 
			
		||||
                                    $("#OriginUrlArea").hide();
 | 
			
		||||
                                    $("#DocContentArea").show();
 | 
			
		||||
                                }
 | 
			
		||||
                                else {
 | 
			
		||||
                                    $("#OriginUrlArea").show();
 | 
			
		||||
                                    $("#DocContentArea").hide();
 | 
			
		||||
 | 
			
		||||
                                }
 | 
			
		||||
                            });
 | 
			
		||||
                            //contentEdit = editormd("md_DocContent", {
 | 
			
		||||
                            //    width: "96%",
 | 
			
		||||
                            //    height: 640,
 | 
			
		||||
                            //    syncScrolling: "single",
 | 
			
		||||
                            //    path: "../../lib/editormd/lib/"
 | 
			
		||||
                            //});
 | 
			
		||||
                            loadMarkDown();
 | 
			
		||||
                        },
 | 
			
		||||
                        submitBefore: function (data) {
 | 
			
		||||
                            data.field.OriginType = data.field.OriginType == "on" ? 1 : 0;
 | 
			
		||||
                            return data;
 | 
			
		||||
                        }
 | 
			
		||||
                    };
 | 
			
		||||
                    freejs.dialogWindow.create(options, form);
 | 
			
		||||
                    break;
 | 
			
		||||
@@ -149,7 +186,33 @@
 | 
			
		||||
                        url: "/Admin/Document/DocContentUpdate",
 | 
			
		||||
                    },
 | 
			
		||||
                    elmid: "docContentEdit",
 | 
			
		||||
                    callback: reloadTable
 | 
			
		||||
                    callback: reloadTable,
 | 
			
		||||
                    loadBefore: function () {
 | 
			
		||||
                        //监听指定开关
 | 
			
		||||
                        form.on('switch(switchTest)', function (data) {
 | 
			
		||||
                            if (this.checked) {
 | 
			
		||||
                                $("#OriginUrlArea").hide();
 | 
			
		||||
                                $("#DocContentArea").show();
 | 
			
		||||
                            }
 | 
			
		||||
                            else {
 | 
			
		||||
                                $("#OriginUrlArea").show();
 | 
			
		||||
                                $("#DocContentArea").hide();
 | 
			
		||||
 | 
			
		||||
                            }
 | 
			
		||||
                        });
 | 
			
		||||
                        //contentEdit = editormd("md_DocContent", {
 | 
			
		||||
                        //    width: "96%",
 | 
			
		||||
                        //    height: 640,
 | 
			
		||||
                        //    syncScrolling: "single",
 | 
			
		||||
                        //    path: "../../lib/editormd/lib/"
 | 
			
		||||
                        //});
 | 
			
		||||
                        loadMarkDown();
 | 
			
		||||
                    },
 | 
			
		||||
                    submitBefore: function (data) {
 | 
			
		||||
                        var _origintype = $(".layui-tab-title").find('.layui-this').attr("origintype");
 | 
			
		||||
                        data.field.OriginType = _origintype;
 | 
			
		||||
                        return data;
 | 
			
		||||
                    }
 | 
			
		||||
                };
 | 
			
		||||
                freejs.dialogWindow.create(options, form);
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -2,23 +2,17 @@
 | 
			
		||||
@model FreeSql.Site.Entity.DocumentContent
 | 
			
		||||
 | 
			
		||||
<form class="layui-form" action="" id="frm_DocContentEdit">
 | 
			
		||||
    @Html.HiddenFor(m => m.ID)
 | 
			
		||||
    @Html.HiddenFor(m => m.CreateBy)
 | 
			
		||||
    @Html.HiddenFor(m => m.CreateDt)
 | 
			
		||||
    @Html.HiddenFor(m => m.WatchCount)
 | 
			
		||||
    @Html.HiddenFor(m => m.StarCount)
 | 
			
		||||
    <div class="form-module-content">
 | 
			
		||||
        <div class="layui-form-item">
 | 
			
		||||
            <label class="layui-form-label">文章分类</label>
 | 
			
		||||
            <label class="layui-form-label">文章分类 </label>
 | 
			
		||||
            <div class="layui-input-block">
 | 
			
		||||
                @Html.HiddenFor(m => m.ID)
 | 
			
		||||
                @Html.HiddenFor(m => m.OriginType)
 | 
			
		||||
                @Html.HiddenFor(m => m.WatchCount)
 | 
			
		||||
                @Html.HiddenFor(m => m.StarCount)
 | 
			
		||||
                @Html.HiddenFor(m => m.CreateBy)
 | 
			
		||||
                @Html.HiddenFor(m => m.CreateDt)
 | 
			
		||||
                @Html.DropDownList("TypeID", ViewBag.DocumentTypeList as List<SelectListItem>, "", new Dictionary<string, object> { { "class", "plate_text" } })
 | 
			
		||||
                @*<select name="TypeID" lay-filter="aihao">
 | 
			
		||||
                    <option value="0" selected="selected">--请选择--</option>
 | 
			
		||||
                    @foreach (var item in (List<SelectListItem>)ViewBag.DocumentTypeList)
 | 
			
		||||
                    {
 | 
			
		||||
                        <option value="@item.Value">@item.Text</option>
 | 
			
		||||
                    }
 | 
			
		||||
                </select>*@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
@@ -51,16 +45,38 @@
 | 
			
		||||
                <input type="radio" name="status" value="0" title="关闭">
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="layui-form-item layui-form-text">
 | 
			
		||||
            <label class="layui-form-label">文本域</label>
 | 
			
		||||
            <div class="layui-input-block" id="md_DocContent">
 | 
			
		||||
                @Html.TextAreaFor(m => m.DocContent, new Dictionary<string, object> { { "autocomplete", "off" }, { "placeholder", "请输入内容" } })
 | 
			
		||||
                @*<textarea style="display:none;" placeholder="请输入内容" name="DocContent"></textarea>*@
 | 
			
		||||
        @*<div class="layui-form-item">
 | 
			
		||||
                <label class="layui-form-label">来源类型</label>
 | 
			
		||||
                <div class="layui-input-block">
 | 
			
		||||
                    <input type="checkbox" id="OriginType" @(Model.OriginType == 1 ? "checked=''" : "") name="OriginType" lay-skin="switch" lay-filter="switchTest" lay-text="当前内容|URL地址">
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>*@
 | 
			
		||||
 | 
			
		||||
        <div class="layui-tab">
 | 
			
		||||
            <ul class="layui-tab-title">
 | 
			
		||||
                <li class=' @(Model.OriginType == 1 ? "" : "layui-this")' origintype="0">自有内容</li>
 | 
			
		||||
                <li class=' @(Model.OriginType == 1 ? "layui-this" : "")' origintype="1">外部来源</li>
 | 
			
		||||
            </ul>
 | 
			
		||||
            <div class="layui-tab-content">
 | 
			
		||||
                <div class='layui-tab-item  @(Model.OriginType == 1 ? "" : "layui-show")'>
 | 
			
		||||
                    <div class="layui-form-item layui-form-text" id="DocContentArea">
 | 
			
		||||
                        <div id="DocContent">@Model.DocContent</div>
 | 
			
		||||
                        @*@Html.TextAreaFor(m => m.DocContent, new Dictionary<string, object> { { "autocomplete", "off" }, { "placeholder", "请输入内容" } })*@
 | 
			
		||||
                        @*<textarea style="display:none;" placeholder="请输入内容" name="DocContent"></textarea>*@
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class='layui-tab-item  @(Model.OriginType == 1 ? "layui-show" : "")'>
 | 
			
		||||
                    <div class="layui-form-item" id="OriginUrlArea">
 | 
			
		||||
                        <label class="layui-form-label">外部来源</label>
 | 
			
		||||
                        <div class="layui-input-block">
 | 
			
		||||
                            @Html.TextBoxFor(m => m.OriginUrl, "", new Dictionary<string, object> { { "autocomplete", "off" }, { "class", "layui-input  " }, { "lay-verify", "title" }, { "placeholder", "请输入标题" } })
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-module-footer">
 | 
			
		||||
    @*<div class="form-module-footer">
 | 
			
		||||
        <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
 | 
			
		||||
    </div>
 | 
			
		||||
    </div>*@
 | 
			
		||||
</form>
 | 
			
		||||
@@ -11,8 +11,8 @@
 | 
			
		||||
<script>
 | 
			
		||||
    var dialog_Paramters = { height: 460, width: 600 };
 | 
			
		||||
</script>
 | 
			
		||||
<button class="layui-btn layui-btn-primary layui-btn-xs down-up-all">全部收起/展开</button>
 | 
			
		||||
<button class="layui-btn layui-btn-primary layui-btn-xs get-checked">获取选中</button>
 | 
			
		||||
<button class="layui-btn layui-btn-sm down-up-all" expandStatus="down">全部收起/展开</button>
 | 
			
		||||
<button class="layui-btn layui-btn-sm get-checked">获取选中</button>
 | 
			
		||||
 | 
			
		||||
<table class="layui-table layui-form" id="doctype-tree-table"></table>
 | 
			
		||||
 | 
			
		||||
@@ -42,7 +42,7 @@
 | 
			
		||||
                    {
 | 
			
		||||
                        field: 'title',
 | 
			
		||||
                        title: '标题',
 | 
			
		||||
                        width: '40%',
 | 
			
		||||
                        width: '45%',
 | 
			
		||||
                        template: function (item) {
 | 
			
		||||
                            if (item.level == 1) {
 | 
			
		||||
                                return '<span style="color:red;">' + item.title + '</span>';
 | 
			
		||||
@@ -53,11 +53,6 @@
 | 
			
		||||
                            return item.title;
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        field: 'id',
 | 
			
		||||
                        title: '编号',
 | 
			
		||||
                        width: '10%'
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        title: '标签',
 | 
			
		||||
                        width: '10%',
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-module-footer">
 | 
			
		||||
    @*<div class="form-module-footer">
 | 
			
		||||
        <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
 | 
			
		||||
    </div>
 | 
			
		||||
    </div>*@
 | 
			
		||||
</form>
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
@{
 | 
			
		||||
    ViewBag.Title = "";
 | 
			
		||||
    ViewData["Title"] = ".NETCore最方便的ORM";
 | 
			
		||||
    Layout = "~/Areas/Admin/Shared/_Layout.cshtml";
 | 
			
		||||
}
 | 
			
		||||
<div class="layui-side layui-bg-black">
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
<div class="layui-body">
 | 
			
		||||
    <!-- 内容主体区域 -->
 | 
			
		||||
    <div style="padding: 15px;" id="page_content">
 | 
			
		||||
 | 
			
		||||
        文档主页引导
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
@@ -32,7 +32,7 @@
 | 
			
		||||
 | 
			
		||||
        var index = freejs.showLoading({ msg: "数据加载中......" });
 | 
			
		||||
        var options = {
 | 
			
		||||
            url: path_item, paramters: $.parseJSON(path_json), loadIndex: index
 | 
			
		||||
            url: path_item, paramters: $.parseJSON(path_json), loadIndex: index, elm: "page_content"
 | 
			
		||||
        };
 | 
			
		||||
        freejs.loadHtml(options);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
@{
 | 
			
		||||
    Layout = null;
 | 
			
		||||
    ViewData["Title"] = ".NETCore最方便的ORM";
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user