form编辑

This commit is contained in:
yubaolee 2018-03-06 17:21:05 +08:00
parent 54fb980b07
commit 3c9a526df3
3 changed files with 50 additions and 37 deletions

View File

@ -8,10 +8,13 @@
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="/js/ueditor/formdesign/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<title>Preview</title>
</head>
<body>
<div id="content"></div>
<div class="container" style="width: 750px">
<div id="content"></div>
</div>
</body>
</html>

View File

@ -33,7 +33,7 @@
</script>
<!--用户添加/编辑窗口-->
<div id="divEdit" style="display: none">
<div id="divEdit" style="display: none">
<form class="layui-form" action="" id="formEdit">
<input type="hidden" name="Id" v-model="Id" />
<input type="hidden" name="Fields" id="Fields" value="0">
@ -53,7 +53,7 @@
placeholder="表单名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">关联数据表名称【英文】</label>
<div class="layui-input-block">
@ -68,7 +68,7 @@
<input type="text" name="SortCode" value="1" v-model="SortCode" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
@ -79,35 +79,42 @@
</div>
<div class="layui-tab-item">
<div class="layui-col-xs3">
<ul class="layui-nav" style="margin-right: 5px;">
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('text');">文本框</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('textarea');">多行文本</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('select');">下拉菜单</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('radios');">单选框</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('checkboxs');" class="btn btn-link">复选框</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('macros');" class="btn btn-link">宏控件</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('progressbar');" class="btn btn-link">进度条</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('qrcode');" class="btn btn-link">二维码</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('listctrl');" class="btn btn-link">列表控件</a></li>
</ul>
<div class="layui-row">
<blockquote class="layui-elem-quote">
提醒:单选框和复选框,如:{|-选项-|}两边边界是防止误删除控件,程序会把它们替换为空,请不要手动删除!
</blockquote>
</div>
<div class="layui-col-xs9">
<script id="myFormDesign" type="text/plain" style="width:100%;">
</script>
<div class="layui-row">
<div class="layui-col-xs3">
<ul class="layui-nav" style="margin-right: 5px;">
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('text');">文本框</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('textarea');">多行文本</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('select');">下拉菜单</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('radios');">单选框</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('checkboxs');" class="btn btn-link">复选框</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('macros');" class="btn btn-link">宏控件</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('progressbar');" class="btn btn-link">进度条</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('qrcode');" class="btn btn-link">二维码</a></li>
<li class="layui-nav-item" style="line-height: 40px"><a href="javascript:void(0);" onclick="leipiFormDesign.exec('listctrl');" class="btn btn-link">列表控件</a></li>
</ul>
</div>
<div class="layui-col-xs9">
<script id="myFormDesign" type="text/plain" style="width: 100%;">
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formSubmit">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</form>
</div>
<script type="text/javascript" charset="utf-8" src="/js/ueditor/ueditor.config.js?2023"></script>
<script type="text/javascript" charset="utf-8" src="/js/ueditor/ueditor.all.js?2023"> </script>
@ -115,6 +122,6 @@
<script type="text/javascript" charset="utf-8" src="/js/ueditor/formdesign/leipi.formdesign.v4.js?2023"></script>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/userJs/forms.js"></script>
<script type="text/javascript" src="/userJs/forms.js?v4"></script>

View File

@ -15,7 +15,7 @@
});
//表单设计器
var leipiEditor = UE.getEditor('myFormDesign', {
var ue = UE.getEditor('myFormDesign', {
//allowDivTransToP: false,//阻止转换div 为p
toolleipi: true,//是否显示,设计器的 toolbars
textarea: 'design_content',
@ -31,22 +31,20 @@
, '|', 'link', 'unlink'
, '|', 'horizontal', 'spechars', 'wordimage'
, '|', 'inserttable', 'deletetable', 'mergecells', 'splittocells']],
//focus时自动清空初始化时的内容
//autoClearinitialContent:true,
//关闭字数统计
wordCount: false,
//关闭elementPath
elementPathEnabled: false,
//默认的编辑区域高度
initialFrameHeight: 300
///,iframeCssUrl:"css/bootstrap/css/bootstrap.css" //引入自身 css使编辑器兼容你网站css
, iframeCssUrl: "/js/ueditor/formdesign/bootstrap/css/bootstrap.min.css" //引入自身 css使编辑器兼容你网站css
//更多其他参数请参考ueditor.config.js中的配置项
});
leipiFormDesign = {
/*执行控件*/
exec: function (method) {
leipiEditor.execCommand(method);
ue.execCommand(method);
},
/*
Javascript 解析表单
@ -212,11 +210,11 @@
},
/*type = save 保存设计 versions 保存版本 close关闭 */
fnCheckForm: function (type) {
if (leipiEditor.queryCommandState('source'))
leipiEditor.execCommand('source');//切换到编辑模式才提交否则有bug
if (ue.queryCommandState('source'))
ue.execCommand('source');//切换到编辑模式才提交否则有bug
if (leipiEditor.hasContents()) {
leipiEditor.sync();/*同步内容*/
if (ue.hasContents()) {
ue.sync();/*同步内容*/
return false;
@ -228,16 +226,16 @@
},
/*预览表单*/
fnReview: function () {
if (leipiEditor.queryCommandState('source'))
leipiEditor.execCommand('source');/*切换到编辑模式才提交否则部分浏览器有bug*/
if (leipiEditor.hasContents()) {
leipiEditor.sync(); /*同步内容*/
if (ue.queryCommandState('source'))
ue.execCommand('source');/*切换到编辑模式才提交否则部分浏览器有bug*/
if (ue.hasContents()) {
ue.sync(); /*同步内容*/
//--------------以下仅参考-------------------------------------------------------------------
/*设计form的target 然后提交至一个新的窗口进行预览*/
var fields = $("#Fields").val(), formeditor = '';
//获取表单设计器里的内容
formeditor = leipiEditor.getContent();
formeditor = ue.getContent();
//解析表单设计器控件
var parse_form = this.parse_form(formeditor, fields);
@ -322,6 +320,11 @@
content: $('#divEdit'),
success: function() {
vm.$set('$data', data);
//玄学加个延迟ueditor才能正常
setTimeout(function() {
ue.setContent(data.Content);
},500);
},
end: mainList
});
@ -336,7 +339,7 @@
//解析表单数据
var fields = $("#Fields").val(), formeditor = '';
//获取表单设计器里的内容
formeditor = leipiEditor.getContent();
formeditor = ue.getContent();
//解析表单设计器控件
var parseForm = leipiFormDesign.parse_form(formeditor, fields);
//alert(parse_form);\