前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-工作流设计-表单布局

ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-工作流设计-表单布局

作者头像
用户1149182
发布于 2018-01-16 06:44:22
发布于 2018-01-16 06:44:22
91300
代码可运行
举报
运行总次数:0
代码可运行

前言:这一节比较有趣。基本纯UI,但是不是很复杂

有了实现表单的打印和更加符合流程表单方式,我们必须自定义布局来适合业务场景打印!我们想要什么效果?看下图

(我们没有布局之前的表单和设置布局后的表单)

改变后的布局

本节知识点:

easyui draggable 与 resizable 的结合使用(拖动与设置大小)

在Form添加Action Action提取来自48节的Create代码。改下名称

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[SupportFilter(ActionName = "Edit")]
        public ActionResult FormLayout(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return View();
            }

            ViewBag.FormId = id;
            ViewBag.Perm = GetPermission();
            ViewBag.Html = ExceHtmlJs(id);
            
            return View();
        }

 UI代码提取:jquery-easyui-1.4.3\demo\droppable 与resizable 文件下的代码

提取后代码:我自己加了点Style

FormLayout.cshtml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style type="text/css">
    input[type="text"], input[type="number"], input[type="datetime"], input[type="datetime"], select, textarea {display: normal;}
    #setFormLayout{position:relative;overflow:hidden;width:100%;height:500px}
    #setFormLayout .easyui-draggable{border:1px #000 solid;overflow:hidden;background:#fff;width:300px;}
    .inputtable{height:100%;width:100%;}
    .inputtable .inputtitle{border-right:1px #000 solid;width:80px;padding-right:10px;text-align:right;vertical-align:middle}
    .inputtable .inputcontent { text-align:right;vertical-align:middle;padding:5px;}
    .inputtable .inputcontent .input{width:96%}
    .inputtable .inputcontent textarea{height:90%;min-height:40px;}   
</style>

<div id="setForm">
    <div id="setFormLayout" class="easyui-panel">
        <div class="easyui-draggable" data-option="onDrag:onDrag">
            <table class="inputtable">
                <tr>
                    <td class="inputtitle">名称</td>
                    <td class="inputcontent"><input class="input" type="text" /></td>
                </tr>
            </table>
        </div>
  
    </div>
</div>
<script>
 
    function onDrag(e) {
        var d = e.data;
        if (d.left < 0) { d.left = 0 }
        if (d.top < 0) { d.top = 0 }
        if (d.left + $(d.target).outerWidth() > $(d.parent).width()) {
            d.left = $(d.parent).width() - $(d.target).outerWidth();
        }
        if (d.top + $(d.target).outerHeight() > $(d.parent).height()) {
            d.top = $(d.parent).height() - $(d.target).outerHeight();
        }
    }


    $('.easyui-draggable').draggable({ edge: 5 }).resizable();
</script>

代码解析

onDrag

e

在拖动过程中触发,当不能再拖动时返回false。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   $('.easyui-draggable').draggable({ edge: 5 }).resizable(); 边框位置5px内都可以做为设置大小的边界

运行结果:任意拖动位置

填充表单:如何填充表单。我们需要提取“表单申请”的代码。跳到48节可以看到怎么读取表单的代码

//获取指定名称的HTML表单

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        private string GetHtml(string id, string no, ref StringBuilder sbJS)
        {
            StringBuilder sb = new StringBuilder();
            Flow_FormAttrModel attrModel = formAttrBLL.GetById(id);
            sb.AppendFormat("<tr><th>{0} :</th>", attrModel.Title);
            //获取指定类型的HTML表单
            sb.AppendFormat("<td>{0}</td></tr>", new FlowHelper().GetInput(attrModel.AttrType, attrModel.Name, no));
            sbJS.Append(attrModel.CheckJS);
            return sb.ToString();
        }

把下面这段代码填充到这个方法中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="easyui-draggable" data-option="onDrag:onDrag">
            <table class="inputtable">
                <tr>
                    <td class="inputtitle">名称</td>
                    <td class="inputcontent"><input class="input" type="text" /></td>
                </tr>
            </table>
        </div>

最后生成代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 private string GetHtml(string id, string no, ref StringBuilder sbJS)
        {
            StringBuilder sb = new StringBuilder();
            Flow_FormAttrModel attrModel = formAttrBLL.GetById(id);
            sb.AppendFormat("<div class='easyui-draggable' data-option='onDrag:onDrag'><table class='inputtable'><tr><td class='inputtitle'>{0}</td>", attrModel.Title);
            //获取指定类型的HTML表单
            sb.AppendFormat("<td class='inputcontent'>{0}</td></tr></table></div>", new FlowHelper().GetInput(attrModel.AttrType, attrModel.Name, no));
            sbJS.Append(attrModel.CheckJS);
            return sb.ToString();
        }

运行效果 (有点长,谢谢观看GIF)

如何保存?我们要保存到Flow_Form表中的Html字段中去。以后使用判断这个字段是否有null不为null优先取出

如何取保存值:$("#setFormLayout").html()

保存代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $("#btnSave").click(function () {
            $.ajax({
                url: "@Url.Action("SaveLayout")",
                type: "Post",
                data: { html: $("#setFormLayout").html(), formId: "@(ViewBag.FormId)" },
                dataType: "json",
                success: function (data) {
                if (data.type == 1) {
                    window.parent.frameReturnByMes(data.message);
                    window.parent.frameReturnByReload(true);
                    window.parent.frameReturnByClose()
                }
                else {
                    window.parent.frameReturnByMes(data.message);
                }
            }
        });
    });

最后融合到我的申请和审批中来。

The End!我们不得不承认EASYUI 的强大之处

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-02-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
1分钟链圈 |去年46%的ICO项目已经失败;V神:以太坊的治理模式并非有缺陷,只是沟通不畅
Hi,everybody! 这是2月24日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 观点 ICO比想象中危险:去年46%的ICO项目已经失败 V神:以太坊的治理模式并非有缺陷,
区块链大本营
2018/05/10
7070
1分钟链圈 | 又一高校开设区块链课程!这次是西南财经大学;Vitalik Buterin眼中的靠谱项目:需内置去中心化治理机制
这里是 6 月 26 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。
区块链大本营
2018/07/25
5650
1分钟链圈 | 又一高校开设区块链课程!这次是西南财经大学;Vitalik Buterin眼中的靠谱项目:需内置去中心化治理机制
1分钟链圈 |纽约大学经济学家:比特币是胡说,只是吸引傻瓜!网易:拿下数字货币钱包市场 有望成为区块链版的「支付宝」
Hi,艾瑞巴蒂!继「区块鸡」之后又惊现「比特猪」,有网友表示要再去做一个「比特鸡」,也有网友表示区块链很适合做食品生产溯源追踪系统。各位看官可以脑洞一下,想想还有什么可以上链呢?可以把你非同一般的答案在评论区告诉科科哦~ 这里是 5 月 4 日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $9710 ETH $784.83 EOS $17.35(数据来源: Bitfinex) 观点 建设银行旗下建信金融总裁雷鸣:区块链的运用将降低银行在整个产业链中的信任成本 纽约大学
区块链大本营
2018/06/19
7560
1分钟链圈 | 红杉资本传将领投比特大陆IPO预售轮!BTC凌晨下跌接近600美元,全球总市值跌破3000亿美元
Hi,艾瑞巴蒂! 这里是 6 月 11 日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $6747.9 ETH $532.1 EOS $11.03(数据来源: Bitfinex) 观点 冯仑:后开发时代,房地产将全面拥抱区块链等新兴科技 美国联邦存款保险公司前主席Sheila Bair:美联储要认真对待虚拟货币 Ripple高级副总裁Eric van Miltenburg:韩国需要制定更有利于数字货币发展的法规 公司 澳大利亚加密货币公司因
区块链大本营
2018/06/13
5670
1分钟链圈 | 以太坊创始人:加密货币随时可能跌至零;纳斯达克区块链广告语出现在纽约时代广场大屏幕上
Hi,everybody! 这是2月20日的每日1句话新闻,只需1分钟,大年初五吃个饺子不错过最热门最及时的全球区块链新闻~~ 观点 以太坊创始人:加密货币随时可能跌至零 “快的打车”创始人陈伟星:
区块链大本营
2018/05/10
9780
1分钟链圈|GitHub:以太坊在开源项目中增速仅排第五;2023年区块链将产生106亿美元收入
这里是 10 月 19 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。
区块链大本营
2018/11/08
6990
1分钟链圈 | 58集团姚劲波:区块链技术可能打破传统的找房模式!29%百万富翁对购买或持有加密货币表示高度兴趣
Hi,艾瑞巴蒂! 这里是 6 月 19 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $6699.9 ETH $516.39 EOS $10.54(数据来源: Bitfinex) 观点 58集团姚劲波:区块链技术可能打破传统的找房模式 瑞银CEO塞尔吉奥·埃尔莫提(Sergio Ermotti):区块链是绝对的机遇 康奈尔大学的教授Emin Gün Sirer预测:EOS的脆弱性将导致“大规模的交易所攻击” 公司 IBM IX和Med
区块链大本营
2018/06/19
5030
1分钟链圈 | 区块链技术岗位平均月薪达2.85万,招聘岗位超一万个!前100区块链项目中有94个建立在以太坊上
Hi,艾瑞巴蒂! 这里是 6 月 12 日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $6831.1 ETH $531.45 EOS $11.02(数据来源: Bitfinex) 观点 EOS Store 发起人陆海峰:EOS官方团队无法左右节点竞选结果 维基百科创始人 Jimmy Wales:加密货币是泡沫,但并非没有价值 纳斯达克高管 Bob Mccooey:区块链和数字货币应用前景巨大 公司 美国运通发布区块链岗位招聘信息 巴西两家
区块链大本营
2018/06/13
5740
1分钟链圈 | EOS领涨市值前20加密货币!迷恋猫热度下降,区块链游戏仍有很长的路要走
Hi,艾瑞巴蒂! 这里是 6 月 10 日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $7280.4 ETH $571.01 EOS $13.15(数据来源:
区块链大本营
2018/06/19
5220
1分钟链圈 | 微信第一个区块链小程序诞生啦!纽约共识会议临近,比特币将迎久违大涨
Hi,艾瑞巴蒂!区块链游戏“以太小丑”来了,各位看官可以去尝尝鲜哦!好不好玩?各种吐槽都可以来评论区告诉科科~ 这里是 5 月 9 日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $9080 ETH $722.62 EOS $17.42(数据来源: Bitfinex) 观点 国家信息技术安全研究中心主任俞克群:发展区块链技术或成中国科技竞争弯道超车的重要一步 中国信息安全测评中心李斌:区块链技术安全风险需全社会力量共同面对 美国共和党国会议员:区块链技术能够改变世界
区块链大本营
2018/06/20
8710
1分钟链圈|Facebook用户正转向基于区块链的社区;微软将包括HyperLedger在内的6万项专利全部开源
这里是 10 月 12 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。
区块链大本营
2018/10/19
5650
1分钟链圈|Facebook用户正转向基于区块链的社区;微软将包括HyperLedger在内的6万项专利全部开源
1分钟链圈 | 继清华之后,北大也成立区块链研究中心啦!以太坊合约风险周测出台,ELF安全排名第一
这里是 7 月 3 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。
区块链大本营
2018/07/25
6820
1分钟链圈 | 继清华之后,北大也成立区块链研究中心啦!以太坊合约风险周测出台,ELF安全排名第一
1分钟链圈 |荷兰议员就Tether与ING问题提出九大质疑;黑客在Word文档中插入脚本挖XMR
Hi,everybody! 这是2月23日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。BTW,小编今天最后一天假期值班,明天正式上班啦~~ 观点 高西庆:区块链发展壮大需监管立法,
区块链大本营
2018/05/10
7270
1分钟链圈 |薛蛮子:将发布蛮子币 区块链名称为INN; 分布式资本许超逸:投资者有权投票决定所投资金
Hi,everybody! 这是2月25日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 观点 去年46%的ICO项目已经失败 阿里巴巴集团参谋长曾鸣:不认为以太坊已经成功 “博客教
区块链大本营
2018/05/10
9140
1分钟链圈 | 全球的第一个法定数字货币诞生;美国加州提交区块链签名和智能合约法案
Hi,everybody! 这是2月21日的每日1句话新闻,只需1分钟,大年初六看看全球最热、最新的区块链新闻,明天不少同学要上班了,顺便再给大家拜个晚年~~ 观点 英国央行行长:比特币不能被视为合
区块链大本营
2018/05/10
8100
1分钟链圈 | 比特币跌近6000美元,科技巨头遭遇重挫;阿里名列2017全球区块链专利首位;日本网络银行用分布式账本管理合约
Hi,everybody! 这是2月6日的每日1句话新闻,只需1分钟,让你不错过最热门的全球区块链新闻~~ 观点 微软中国CTO黎江:不要给区块链贴标签 Sifr Data:比特币价格与股票市场“恐
区块链大本营
2018/05/10
6600
1分钟链圈 | 比特币暴跌400美元;“区块链培训”百度指数涨928%;三点钟区块链杨宁:市场已让投机冷静
Hi,everybody! 这是3月13日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 ▌实时币价:BTC $9082 | ETH $694 观点 王小川谈区块链:买比特币要有
区块链大本营
2018/05/10
7850
1分钟链圈 | EOS主网将于明日上线,1小时众筹超2万ETH!前「QQ炫舞」团队创办娱乐区块链平台,将发布迷宫游戏
H,艾瑞巴蒂! 这里是 6 月 1 日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $7365.3 ETH $565.8 EOS $12.24(数据来源: Bi
区块链大本营
2018/06/19
7880
1分钟链圈 | 以太坊智能合约再曝安全漏洞,攻击者可任意窃取数字资产!投资者注意了,ICO的强监管时代即将来临
这里是 6 月 24 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。
区块链大本营
2018/07/25
7060
1分钟链圈 | 以太坊智能合约再曝安全漏洞,攻击者可任意窃取数字资产!投资者注意了,ICO的强监管时代即将来临
1分钟链圈 | 华尔街视比特币为“竞争威胁”;数字货币交易速度降至2015年来最低;沃尔玛推出基于区块链的“包裹递送跟踪系统”
Hi,everybody! 这是3月2日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 观点 周鸿祎在“两会”发布会发言:区块链技术需要安全保护 俞敏洪:区块链出现使未来所有商业连接
区块链大本营
2018/05/10
8450
推荐阅读
1分钟链圈 |去年46%的ICO项目已经失败;V神:以太坊的治理模式并非有缺陷,只是沟通不畅
7070
1分钟链圈 | 又一高校开设区块链课程!这次是西南财经大学;Vitalik Buterin眼中的靠谱项目:需内置去中心化治理机制
5650
1分钟链圈 |纽约大学经济学家:比特币是胡说,只是吸引傻瓜!网易:拿下数字货币钱包市场 有望成为区块链版的「支付宝」
7560
1分钟链圈 | 红杉资本传将领投比特大陆IPO预售轮!BTC凌晨下跌接近600美元,全球总市值跌破3000亿美元
5670
1分钟链圈 | 以太坊创始人:加密货币随时可能跌至零;纳斯达克区块链广告语出现在纽约时代广场大屏幕上
9780
1分钟链圈|GitHub:以太坊在开源项目中增速仅排第五;2023年区块链将产生106亿美元收入
6990
1分钟链圈 | 58集团姚劲波:区块链技术可能打破传统的找房模式!29%百万富翁对购买或持有加密货币表示高度兴趣
5030
1分钟链圈 | 区块链技术岗位平均月薪达2.85万,招聘岗位超一万个!前100区块链项目中有94个建立在以太坊上
5740
1分钟链圈 | EOS领涨市值前20加密货币!迷恋猫热度下降,区块链游戏仍有很长的路要走
5220
1分钟链圈 | 微信第一个区块链小程序诞生啦!纽约共识会议临近,比特币将迎久违大涨
8710
1分钟链圈|Facebook用户正转向基于区块链的社区;微软将包括HyperLedger在内的6万项专利全部开源
5650
1分钟链圈 | 继清华之后,北大也成立区块链研究中心啦!以太坊合约风险周测出台,ELF安全排名第一
6820
1分钟链圈 |荷兰议员就Tether与ING问题提出九大质疑;黑客在Word文档中插入脚本挖XMR
7270
1分钟链圈 |薛蛮子:将发布蛮子币 区块链名称为INN; 分布式资本许超逸:投资者有权投票决定所投资金
9140
1分钟链圈 | 全球的第一个法定数字货币诞生;美国加州提交区块链签名和智能合约法案
8100
1分钟链圈 | 比特币跌近6000美元,科技巨头遭遇重挫;阿里名列2017全球区块链专利首位;日本网络银行用分布式账本管理合约
6600
1分钟链圈 | 比特币暴跌400美元;“区块链培训”百度指数涨928%;三点钟区块链杨宁:市场已让投机冷静
7850
1分钟链圈 | EOS主网将于明日上线,1小时众筹超2万ETH!前「QQ炫舞」团队创办娱乐区块链平台,将发布迷宫游戏
7880
1分钟链圈 | 以太坊智能合约再曝安全漏洞,攻击者可任意窃取数字资产!投资者注意了,ICO的强监管时代即将来临
7060
1分钟链圈 | 华尔街视比特币为“竞争威胁”;数字货币交易速度降至2015年来最低;沃尔玛推出基于区块链的“包裹递送跟踪系统”
8450
相关推荐
1分钟链圈 |去年46%的ICO项目已经失败;V神:以太坊的治理模式并非有缺陷,只是沟通不畅
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验