快速开发框架打印模板配置及其开发架构

快速开发框架打印模板配置及其开发架构,本文是个比较重要的章节,主要介绍给大家快速开发框架打印模板配置及其开发架构是个什么样儿的。

大体的设计思路:模板配置---->系统设置---->前端页面--->后台绑定----->打印预览。

模板配置

如下图模板设置方法,注意模板中字段名称务必带$$$$,不带的后果请看快速开发框架打印预览时没有赋值是怎么回事?

快速开发框架

模板界面都是些HTML格式的局部页面,快速开发框架中我们可以用富文本编辑器来设计我们的打印模板,如下图:

快速开发框架

系统设置

我们需要为系统配置好,哪个业务功能使用哪个打印模板,这样就做好了与业务模块打印功能的关联。

快速开发框架

后台关联代码如下:

 /// <summary>
    /// 系统的全局设置项
    /// </summary>
    public class SystemSettings : ISettings
    {
        /// <summary>
        /// 默认语言的ID
        /// </summary>
        public int DefaultAdminLanguageId { get; set; }

        /// <summary>
        /// true为自动获取用户的语言。
        /// </summary>
        public bool AutomaticallyDetectLanguage { get; set; }

        /// <summary>
        /// true指示在系统启动时加载所有本地化文本资源。
        /// </summary>
        public bool LoadAllLocaleRecordsOnStartup { get; set; }

        /// <summary>
        /// 采购订单打印ID
        /// </summary>
        public int PuOrderPrintID { get; set; }
        /// <summary>
        /// 销售订单打印ID
        /// </summary>
        public int SaleOrderPrintID { get; set; }
        /// <summary>
        /// 装箱单订单打印ID
        /// </summary>
        public int PackingListPrintID { get; set; }
        /// <summary>
        /// 发票打印ID
        /// </summary>
        public int InvoicePrintID { get; set; }
    }

前端页面

如下图前端页面,页面名称:CategoryPrintTemp.cshtml,该页面中我们需要加载打印模板:_Layout.Print.cshtml

快速开发框架

CategoryPrintTemp.cshtml源码如下:

@model HtmlString
@{
    Layout = "~/Views/Shared/_Layout.Print.cshtml"; ;
}
@Model
@section scripts{
    <script type="text/javascript">
        $(document).ready(function () {
            window.print();
        })
    </script>
}

后台绑定

我们需要为页面在控制器中增加一个Action,Action名称与页面名称同,本实例Action部分代码如下:

        /// <summary>
        /// 打印产品系列及其产品信息
        /// </summary>
        /// <param name="categoryID"></param>
        /// <returns></returns>
        public ActionResult CategoryPrintTemp(string categoryID)
        {
            
            StringBuilder resulttemplateContent = new StringBuilder();
            Category category = _categoryService.GetCategoryByCategoryID(categoryID);
            IList<Product> productList = _productService.GetProductsByCategoryID(categoryID);
            if (category == null)
            {
                return ContentNotFound();
            }

            ITemplateService _templateService = ObjectContainerFactory.CurrentContainer.Resolve<ITemplateService>();
            ISettingService _settingService = ObjectContainerFactory.CurrentContainer.Resolve<ISettingService>();
            var systemSetting = _settingService.LoadSetting<SystemSettings>();

            //获取所需要加载的模板
            Template template = _templateService.GetTemplate(systemSetting.SaleOrderPrintID);

            //加载模板内容,模板管理里面设置
            string templateContent = template.TemplateContent;

           //获取模板起始和结束位置
            int datalineStart = templateContent.IndexOf("<tr id=\"dataline\">");
            int datalineEnd = templateContent.IndexOf("</tr>", datalineStart) + 5;
			
			........
			........
            ////绑定值 
        datalinebefore = datalinebefore.Replace("$$CName$$", category.Name);
        datalinebefore = datalinebefore.Replace("$$Date$$", String.Format(category.CreateAt.ToString(), "yyyy-mm-dd"));
        datalinebefore = datalinebefore.Replace("$$CCreateBy$$", category.CreateBy);
                 ............
                 ...........
			
           }

快速开发框架打印模板配置及其开发架构,本文是个比较重要的章节,主要介绍给大家快速开发框架打印模板配置及其开发架构是个什么样儿的。大体的设计思路:模板配置---->系统设置---->前端页面--->后台绑定----->打印预览。

标签: 快速开发框架打印技术系列 | Web开发框架开发指南红宝书

网站&系统开发技术学习交流群:463167176

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:软件开发框架 » 快速开发框架打印模板配置及其开发架构
本文标题:快速开发框架打印模板配置及其开发架构
本文地址:http://www.hocode.com/OrgTec/UI/0029.html

相关文章: 快速开发平台给打印模板的字段绑定值

电话
电话 18718672256

扫一扫
二维码