From a39b6c15526e9c991146908bab22d63b0896fb67 Mon Sep 17 00:00:00 2001 From: yubaolee Date: Wed, 28 Mar 2018 14:39:24 +0800 Subject: [PATCH] routine update --- OpenAuth.Mvc/Controllers/FormsController.cs | 5 + OpenAuth.Mvc/OpenAuth.Mvc.csproj | 2 + OpenAuth.Mvc/Views/FlowInstances/Edit.cshtml | 10 +- OpenAuth.Mvc/Views/FlowSchemes/Design.cshtml | 13 +- OpenAuth.Mvc/Views/Forms/Edit.cshtml | 95 ++++++ OpenAuth.Mvc/Views/Forms/index.cshtml | 88 ------ OpenAuth.Mvc/userJs/flowInstances.js | 4 +- OpenAuth.Mvc/userJs/formEdit.js | 312 +++++++++++++++++++ OpenAuth.Mvc/userJs/forms.js | 301 ++---------------- OpenAuth.Mvc/userJs/login.js | 6 + 10 files changed, 454 insertions(+), 382 deletions(-) create mode 100644 OpenAuth.Mvc/Views/Forms/Edit.cshtml create mode 100644 OpenAuth.Mvc/userJs/formEdit.js diff --git a/OpenAuth.Mvc/Controllers/FormsController.cs b/OpenAuth.Mvc/Controllers/FormsController.cs index 14f94072..dfd4b7b1 100644 --- a/OpenAuth.Mvc/Controllers/FormsController.cs +++ b/OpenAuth.Mvc/Controllers/FormsController.cs @@ -26,6 +26,11 @@ namespace OpenAuth.Mvc.Controllers return View(); } + public ActionResult Edit() + { + return View(); + } + public string Get(string id) { try diff --git a/OpenAuth.Mvc/OpenAuth.Mvc.csproj b/OpenAuth.Mvc/OpenAuth.Mvc.csproj index 5f2afbe9..9fe20e7c 100644 --- a/OpenAuth.Mvc/OpenAuth.Mvc.csproj +++ b/OpenAuth.Mvc/OpenAuth.Mvc.csproj @@ -199,6 +199,7 @@ + @@ -641,6 +642,7 @@ + diff --git a/OpenAuth.Mvc/Views/FlowInstances/Edit.cshtml b/OpenAuth.Mvc/Views/FlowInstances/Edit.cshtml index f90baf3b..48773569 100644 --- a/OpenAuth.Mvc/Views/FlowInstances/Edit.cshtml +++ b/OpenAuth.Mvc/Views/FlowInstances/Edit.cshtml @@ -41,19 +41,17 @@ -
+
-
-
    +
    +
      -
      +
      - -
      diff --git a/OpenAuth.Mvc/Views/FlowSchemes/Design.cshtml b/OpenAuth.Mvc/Views/FlowSchemes/Design.cshtml index 7b9a0c5a..172bbe20 100644 --- a/OpenAuth.Mvc/Views/FlowSchemes/Design.cshtml +++ b/OpenAuth.Mvc/Views/FlowSchemes/Design.cshtml @@ -64,10 +64,17 @@
      + -
      -
        -
        +
        +
        +
        +
          +
          +
          +
          +
          +
          diff --git a/OpenAuth.Mvc/Views/Forms/Edit.cshtml b/OpenAuth.Mvc/Views/Forms/Edit.cshtml new file mode 100644 index 00000000..ba444b24 --- /dev/null +++ b/OpenAuth.Mvc/Views/Forms/Edit.cshtml @@ -0,0 +1,95 @@ +@section header +{ + + +} + + +
          + + + +
          +
          +
            +
          • 基本信息
          • +
          • 表单设计
          • +
          +
          +
          +
          + +
          + +
          +
          + +
          + +
          + +
          +
          + +
          + +
          + +
          +
          + +
          + +
          + +
          +
          + +
          +
          +
          +
          + 提醒:单选框和复选框,如:{|-选项-|}两边边界是防止误删除控件,程序会把它们替换为空,请不要手动删除! +
          +
          +
          +
          + + + + + + + + + +
          +
          + +
          +
          +
          +
          +
          +
          + + +
          + + + + + + + + + + diff --git a/OpenAuth.Mvc/Views/Forms/index.cshtml b/OpenAuth.Mvc/Views/Forms/index.cshtml index a1b5e13c..796d7787 100644 --- a/OpenAuth.Mvc/Views/Forms/index.cshtml +++ b/OpenAuth.Mvc/Views/Forms/index.cshtml @@ -32,94 +32,6 @@ 查看 - - - - - - diff --git a/OpenAuth.Mvc/userJs/flowInstances.js b/OpenAuth.Mvc/userJs/flowInstances.js index 6a81be48..7de00f1d 100644 --- a/OpenAuth.Mvc/userJs/flowInstances.js +++ b/OpenAuth.Mvc/userJs/flowInstances.js @@ -69,7 +69,7 @@ layer.open({ type: 2, - area: ['600px', '500px'], //宽高 + area: ['750px', '550px'], //宽高 maxmin: true, //开启最大化最小化按钮 title: title, content: '/flowInstances/edit?id=' + data.Id, @@ -142,7 +142,7 @@ layer.open({ type: 2, - area: ['600px', '500px'], //宽高 + area: ['750px', '550px'], //宽高 maxmin: true, //开启最大化最小化按钮 title: '处理流程', content: '/flowInstances/Verification?id=' + data[0].Id, diff --git a/OpenAuth.Mvc/userJs/formEdit.js b/OpenAuth.Mvc/userJs/formEdit.js new file mode 100644 index 00000000..a5ab10c8 --- /dev/null +++ b/OpenAuth.Mvc/userJs/formEdit.js @@ -0,0 +1,312 @@ +layui.config({ + base: "/js/" +}).use(['form','vue', 'ztree', 'layer','utils', 'jquery', 'table','droptree','openauth','element'], function () { + var form = layui.form, + element = layui.element, + //layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer, + layer = layui.layer, + $ = layui.jquery; + var table = layui.table; + var openauth = layui.openauth; + + var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 + var id = $.getUrlParam("id"); //ID + var update = (id != null && id != ''); + //提交的URL + var url = "/Forms/Add"; + + var vm = new Vue({ + el: "#formEdit" + }); + + //表单设计器 + var ue = UE.getEditor('myFormDesign', { + //allowDivTransToP: false,//阻止转换div 为p + toolleipi: true,//是否显示,设计器的 toolbars + textarea: 'design_content', + //这里可以选择自己需要的工具按钮名称,此处仅选择如下五个 + toolbars: [[ + 'fullscreen', 'source' + , '|', 'undo', 'redo' + , '|', 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'removeformat' + , '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist' + , '|', 'fontfamily', 'fontsize' + , '|', 'indent' + , '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify' + , '|', 'link', 'unlink' + , '|', 'horizontal', 'spechars', 'wordimage' + , '|', 'inserttable', 'deletetable', 'mergecells', 'splittocells']], + //关闭字数统计 + wordCount: false, + //关闭elementPath + elementPathEnabled: false, + autoHeightEnabled:true + //默认的编辑区域高度 + , initialFrameHeight: 430 + , iframeCssUrl: "/js/ueditor/formdesign/bootstrap/css/bootstrap.min.css" //引入自身 css使编辑器兼容你网站css + //更多其他参数,请参考ueditor.config.js中的配置项 + }); + + leipiFormDesign = { + /*执行控件*/ + exec: function (method) { + ue.execCommand(method); + }, + /* + Javascript 解析表单 + template 表单设计器里的Html内容 + fields 字段总数 + */ + parse_form: function (template, fields) { + //正则 radios|checkboxs|select 匹配的边界 |--| 因为当使用 {} 时js报错 + var preg = /(\|-(.*?)<\/span>-\||<(img|input|textarea|select).*?(<\/select>|<\/textarea>|\/>))/gi, preg_attr = /(\w+)=\"(.?|.+?)\"/gi, preg_group = //gi; + if (!fields) fields = 0; + + var template_parse = template, template_data = new Array(), add_fields = new Object(), checkboxs = 0; + + var pno = 0; + template.replace(preg, function (plugin, p1, p2, p3, p4, p5, p6) { + var parse_attr = new Array(), attr_arr_all = new Object(), name = '', select_dot = '', is_new = false; + var p0 = plugin; + var tag = p6 ? p6 : p4; + //alert(tag + " \n- t1 - "+p1 +" \n-2- " +p2+" \n-3- " +p3+" \n-4- " +p4+" \n-5- " +p5+" \n-6- " +p6); + + if (tag == 'radios' || tag == 'checkboxs') { + plugin = p2; + } else if (tag == 'select') { + plugin = plugin.replace('|-', ''); + plugin = plugin.replace('-|', ''); + } + plugin.replace(preg_attr, function (str0, attr, val) { + if (attr == 'name') { + if (val == 'leipiNewField') { + is_new = true; + fields++; + val = 'data_' + fields; + } + name = val; + } + + if (tag == 'select' && attr == 'value') { + if (!attr_arr_all[attr]) attr_arr_all[attr] = ''; + attr_arr_all[attr] += select_dot + val; + select_dot = ','; + } else { + attr_arr_all[attr] = val; + } + var oField = new Object(); + oField[attr] = val; + parse_attr.push(oField); + }) + /*alert(JSON.stringify(parse_attr));return;*/ + if (tag == 'checkboxs') /*复选组 多个字段 */ { + plugin = p0; + plugin = plugin.replace('|-', ''); + plugin = plugin.replace('-|', ''); + var name = 'checkboxs_' + checkboxs; + attr_arr_all['parse_name'] = name; + attr_arr_all['name'] = ''; + attr_arr_all['value'] = ''; + + attr_arr_all['content'] = ''; + var dot_name = '', dot_value = ''; + p5.replace(preg_group, function (parse_group) { + var is_new = false, option = new Object(); + parse_group.replace(preg_attr, function (str0, k, val) { + if (k == 'name') { + if (val == 'leipiNewField') { + is_new = true; + fields++; + val = 'data_' + fields; + } + + attr_arr_all['name'] += dot_name + val; + dot_name = ','; + + } + else if (k == 'value') { + attr_arr_all['value'] += dot_value + val; + dot_value = ','; + + } + option[k] = val; + }); + + if (!attr_arr_all['options']) attr_arr_all['options'] = new Array(); + attr_arr_all['options'].push(option); + //if(!option['checked']) option['checked'] = ''; + var checked = option['checked'] != undefined ? 'checked="checked"' : ''; + attr_arr_all['content'] += '' + option['value'] + ' '; + + if (is_new) { + var arr = new Object(); + arr['name'] = option['name']; + arr['leipiplugins'] = attr_arr_all['leipiplugins']; + add_fields[option['name']] = arr; + + } + + }); + attr_arr_all['content'] += ''; + + //parse + template = template.replace(plugin, attr_arr_all['content']); + template_parse = template_parse.replace(plugin, '{' + name + '}'); + template_parse = template_parse.replace('{|-', ''); + template_parse = template_parse.replace('-|}', ''); + template_data[pno] = attr_arr_all; + checkboxs++; + + } else if (name) { + if (tag == 'radios') /*单选组 一个字段*/ { + plugin = p0; + plugin = plugin.replace('|-', ''); + plugin = plugin.replace('-|', ''); + attr_arr_all['value'] = ''; + attr_arr_all['content'] = ''; + var dot = ''; + p5.replace(preg_group, function (parse_group) { + var option = new Object(); + parse_group.replace(preg_attr, function (str0, k, val) { + if (k == 'value') { + attr_arr_all['value'] += dot + val; + dot = ','; + } + option[k] = val; + }); + option['name'] = attr_arr_all['name']; + if (!attr_arr_all['options']) attr_arr_all['options'] = new Array(); + attr_arr_all['options'].push(option); + //if(!option['checked']) option['checked'] = ''; + var checked = option['checked'] != undefined ? 'checked="checked"' : ''; + attr_arr_all['content'] += '' + option['value'] + ' '; + + }); + attr_arr_all['content'] += ''; + + } else { + attr_arr_all['content'] = is_new ? plugin.replace(/leipiNewField/, name) : plugin; + } + //attr_arr_all['itemid'] = fields; + //attr_arr_all['tag'] = tag; + template = template.replace(plugin, attr_arr_all['content']); + template_parse = template_parse.replace(plugin, '{' + name + '}'); + template_parse = template_parse.replace('{|-', ''); + template_parse = template_parse.replace('-|}', ''); + if (is_new) { + var arr = new Object(); + arr['name'] = name; + arr['leipiplugins'] = attr_arr_all['leipiplugins']; + add_fields[arr['name']] = arr; + } + template_data[pno] = attr_arr_all; + + + } + pno++; + }) + var parse_form = new Object({ + 'Fields': fields,//总字段数 + 'Content': template,//完整html + 'ContentParse': template_parse,//控件替换为{data_1}的html + 'ContentData': JSON.stringify(template_data),//控件属性 + 'add_fields': add_fields//新增控件 + }); + return parse_form; + }, + /*type = save 保存设计 versions 保存版本 close关闭 */ + fnCheckForm: function (type) { + if (ue.queryCommandState('source')) + ue.execCommand('source');//切换到编辑模式才提交,否则有bug + + if (ue.hasContents()) { + ue.sync();/*同步内容*/ + + return false; + + } else { + layer.msg('表单内容不能为空!'); + $('#submitbtn').button('reset'); + return false; + } + }, + /*预览表单*/ + fnReview: function () { + if (ue.queryCommandState('source')) + ue.execCommand('source');/*切换到编辑模式才提交,否则部分浏览器有bug*/ + if (ue.hasContents()) { + ue.sync(); /*同步内容*/ + //--------------以下仅参考------------------------------------------------------------------- + /*设计form的target 然后提交至一个新的窗口进行预览*/ + var fields = $("#Fields").val(), formeditor = ''; + + //获取表单设计器里的内容 + formeditor = ue.getContent(); + //解析表单设计器控件 + var parse_form = this.parse_form(formeditor, fields); + + var forms1 = parse_form.Content; + win_parse = window.open('', '', 'width=800,height=400,alwaysRaised=yes,top=100,left=200'); + var str = '
          ' + forms1 + '
          '; + win_parse.document.write(forms1); + win_parse.focus(); + } else { + alert('表单内容不能为空!'); + return false; + } + } + }; + + if (update) { + $.getJSON('/Forms/get?id=' + id, + function (data) { + var obj = data.Result; + url = "/Forms/Update"; + vm.$set('$data', obj); + //玄学:加个延迟ueditor才能正常 + setTimeout(function () { + ue.setContent(obj.Content); + }, 500); + }); + } else { + vm.$set('$data', + { + Id: '' + }); + } + + + //提交数据 + form.on('submit(formSubmit)', + function (data) { + + //解析表单数据 + var fields = $("#Fields").val(), formeditor = ''; + //获取表单设计器里的内容 + formeditor = ue.getContent(); + //解析表单设计器控件 + var parseForm = leipiFormDesign.parse_form(formeditor, fields); + //alert(parse_form);\ + + $.extend(data.field, parseForm); + + $.post(url, + data.field, + function (data) { + layer.msg(data.Message); + }, + "json"); + return false; + }); + + + //该函数供给父窗口确定时调用 + submit = function () { + //只能用隐藏的submit btn才行,用form.submit()时data.field里没有数据 + $("#btnSubmit").click(); + } + + //让层自适应iframe + //parent.layer.iframeAuto(index); + +}) \ No newline at end of file diff --git a/OpenAuth.Mvc/userJs/forms.js b/OpenAuth.Mvc/userJs/forms.js index 926c5eb8..4fe15b68 100644 --- a/OpenAuth.Mvc/userJs/forms.js +++ b/OpenAuth.Mvc/userJs/forms.js @@ -1,6 +1,6 @@ layui.config({ base: "/js/" -}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','element'], function () { +}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () { var form = layui.form, element = layui.element, //layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer, @@ -9,247 +9,6 @@ var table = layui.table; var openauth = layui.openauth; - //标签切换 - element.on('tab(tab)', function (data) { - console.log(data); - }); - - //表单设计器 - var ue = UE.getEditor('myFormDesign', { - //allowDivTransToP: false,//阻止转换div 为p - toolleipi: true,//是否显示,设计器的 toolbars - textarea: 'design_content', - //这里可以选择自己需要的工具按钮名称,此处仅选择如下五个 - toolbars: [[ - 'fullscreen', 'source' - , '|', 'undo', 'redo' - , '|', 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'removeformat' - , '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist' - , '|', 'fontfamily', 'fontsize' - , '|', 'indent' - , '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify' - , '|', 'link', 'unlink' - , '|', 'horizontal', 'spechars', 'wordimage' - , '|', 'inserttable', 'deletetable', 'mergecells', 'splittocells']], - //关闭字数统计 - wordCount: false, - //关闭elementPath - elementPathEnabled: false, - //默认的编辑区域高度 - initialFrameHeight: 300 - , iframeCssUrl: "/js/ueditor/formdesign/bootstrap/css/bootstrap.min.css" //引入自身 css使编辑器兼容你网站css - //更多其他参数,请参考ueditor.config.js中的配置项 - }); - - leipiFormDesign = { - /*执行控件*/ - exec: function (method) { - ue.execCommand(method); - }, - /* - Javascript 解析表单 - template 表单设计器里的Html内容 - fields 字段总数 - */ - parse_form: function (template, fields) { - //正则 radios|checkboxs|select 匹配的边界 |--| 因为当使用 {} 时js报错 - var preg = /(\|-(.*?)<\/span>-\||<(img|input|textarea|select).*?(<\/select>|<\/textarea>|\/>))/gi, preg_attr = /(\w+)=\"(.?|.+?)\"/gi, preg_group = //gi; - if (!fields) fields = 0; - - var template_parse = template, template_data = new Array(), add_fields = new Object(), checkboxs = 0; - - var pno = 0; - template.replace(preg, function (plugin, p1, p2, p3, p4, p5, p6) { - var parse_attr = new Array(), attr_arr_all = new Object(), name = '', select_dot = '', is_new = false; - var p0 = plugin; - var tag = p6 ? p6 : p4; - //alert(tag + " \n- t1 - "+p1 +" \n-2- " +p2+" \n-3- " +p3+" \n-4- " +p4+" \n-5- " +p5+" \n-6- " +p6); - - if (tag == 'radios' || tag == 'checkboxs') { - plugin = p2; - } else if (tag == 'select') { - plugin = plugin.replace('|-', ''); - plugin = plugin.replace('-|', ''); - } - plugin.replace(preg_attr, function (str0, attr, val) { - if (attr == 'name') { - if (val == 'leipiNewField') { - is_new = true; - fields++; - val = 'data_' + fields; - } - name = val; - } - - if (tag == 'select' && attr == 'value') { - if (!attr_arr_all[attr]) attr_arr_all[attr] = ''; - attr_arr_all[attr] += select_dot + val; - select_dot = ','; - } else { - attr_arr_all[attr] = val; - } - var oField = new Object(); - oField[attr] = val; - parse_attr.push(oField); - }) - /*alert(JSON.stringify(parse_attr));return;*/ - if (tag == 'checkboxs') /*复选组 多个字段 */ { - plugin = p0; - plugin = plugin.replace('|-', ''); - plugin = plugin.replace('-|', ''); - var name = 'checkboxs_' + checkboxs; - attr_arr_all['parse_name'] = name; - attr_arr_all['name'] = ''; - attr_arr_all['value'] = ''; - - attr_arr_all['content'] = ''; - var dot_name = '', dot_value = ''; - p5.replace(preg_group, function (parse_group) { - var is_new = false, option = new Object(); - parse_group.replace(preg_attr, function (str0, k, val) { - if (k == 'name') { - if (val == 'leipiNewField') { - is_new = true; - fields++; - val = 'data_' + fields; - } - - attr_arr_all['name'] += dot_name + val; - dot_name = ','; - - } - else if (k == 'value') { - attr_arr_all['value'] += dot_value + val; - dot_value = ','; - - } - option[k] = val; - }); - - if (!attr_arr_all['options']) attr_arr_all['options'] = new Array(); - attr_arr_all['options'].push(option); - //if(!option['checked']) option['checked'] = ''; - var checked = option['checked'] != undefined ? 'checked="checked"' : ''; - attr_arr_all['content'] += '' + option['value'] + ' '; - - if (is_new) { - var arr = new Object(); - arr['name'] = option['name']; - arr['leipiplugins'] = attr_arr_all['leipiplugins']; - add_fields[option['name']] = arr; - - } - - }); - attr_arr_all['content'] += ''; - - //parse - template = template.replace(plugin, attr_arr_all['content']); - template_parse = template_parse.replace(plugin, '{' + name + '}'); - template_parse = template_parse.replace('{|-', ''); - template_parse = template_parse.replace('-|}', ''); - template_data[pno] = attr_arr_all; - checkboxs++; - - } else if (name) { - if (tag == 'radios') /*单选组 一个字段*/ { - plugin = p0; - plugin = plugin.replace('|-', ''); - plugin = plugin.replace('-|', ''); - attr_arr_all['value'] = ''; - attr_arr_all['content'] = ''; - var dot = ''; - p5.replace(preg_group, function (parse_group) { - var option = new Object(); - parse_group.replace(preg_attr, function (str0, k, val) { - if (k == 'value') { - attr_arr_all['value'] += dot + val; - dot = ','; - } - option[k] = val; - }); - option['name'] = attr_arr_all['name']; - if (!attr_arr_all['options']) attr_arr_all['options'] = new Array(); - attr_arr_all['options'].push(option); - //if(!option['checked']) option['checked'] = ''; - var checked = option['checked'] != undefined ? 'checked="checked"' : ''; - attr_arr_all['content'] += '' + option['value'] + ' '; - - }); - attr_arr_all['content'] += ''; - - } else { - attr_arr_all['content'] = is_new ? plugin.replace(/leipiNewField/, name) : plugin; - } - //attr_arr_all['itemid'] = fields; - //attr_arr_all['tag'] = tag; - template = template.replace(plugin, attr_arr_all['content']); - template_parse = template_parse.replace(plugin, '{' + name + '}'); - template_parse = template_parse.replace('{|-', ''); - template_parse = template_parse.replace('-|}', ''); - if (is_new) { - var arr = new Object(); - arr['name'] = name; - arr['leipiplugins'] = attr_arr_all['leipiplugins']; - add_fields[arr['name']] = arr; - } - template_data[pno] = attr_arr_all; - - - } - pno++; - }) - var parse_form = new Object({ - 'Fields': fields,//总字段数 - 'Content': template,//完整html - 'ContentParse': template_parse,//控件替换为{data_1}的html - 'ContentData': JSON.stringify(template_data),//控件属性 - 'add_fields': add_fields//新增控件 - }); - return parse_form; - }, - /*type = save 保存设计 versions 保存版本 close关闭 */ - fnCheckForm: function (type) { - if (ue.queryCommandState('source')) - ue.execCommand('source');//切换到编辑模式才提交,否则有bug - - if (ue.hasContents()) { - ue.sync();/*同步内容*/ - - return false; - - } else { - layer.msg('表单内容不能为空!'); - $('#submitbtn').button('reset'); - return false; - } - }, - /*预览表单*/ - fnReview: function () { - if (ue.queryCommandState('source')) - ue.execCommand('source');/*切换到编辑模式才提交,否则部分浏览器有bug*/ - if (ue.hasContents()) { - ue.sync(); /*同步内容*/ - //--------------以下仅参考------------------------------------------------------------------- - /*设计form的target 然后提交至一个新的窗口进行预览*/ - var fields = $("#Fields").val(), formeditor = ''; - - //获取表单设计器里的内容 - formeditor = ue.getContent(); - //解析表单设计器控件 - var parse_form = this.parse_form(formeditor, fields); - - var forms1 = parse_form.Content; - win_parse = window.open('', '', 'width=800,height=400,alwaysRaised=yes,top=100,left=200'); - var str = '
          ' + forms1 + '
          '; - win_parse.document.write(forms1); - win_parse.focus(); - } else { - alert('表单内容不能为空!'); - return false; - } - } - }; layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds"); @@ -306,54 +65,30 @@ //添加(编辑)对话框 var editDlg = function() { - var vm = new Vue({ - el: "#formEdit" - }); var update = false; //是否为更新 var show = function (data) { var title = update ? "编辑信息" : "添加"; + layer.open({ + type: 2, + area: ['800px', '700px'], //宽高 + maxmin: true, //开启最大化最小化按钮 title: title, - zIndex: 888, - area: ["800px", "700px"], - type: 1, - content: $('#divEdit'), - success: function() { - vm.$set('$data', data); - //玄学:加个延迟ueditor才能正常 - setTimeout(function() { - ue.setContent(data.Content); - },500); - + content: '/forms/edit?id=' + data.Id, + btn: ['保存', '关闭'], + yes: function (index, layero) { + var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method(); + iframeWin.submit(); }, - end: mainList + btn2: function (index) { + layer.close(index); + mainList(); + }, + cancel: function (index) { + layer.close(index); + mainList(); + } }); - var url = "/Forms/Add"; - if (update) { - url = "/Forms/Update"; - } - //提交数据 - form.on('submit(formSubmit)', - function (data) { - - //解析表单数据 - var fields = $("#Fields").val(), formeditor = ''; - //获取表单设计器里的内容 - formeditor = ue.getContent(); - //解析表单设计器控件 - var parseForm = leipiFormDesign.parse_form(formeditor, fields); - //alert(parse_form);\ - - $.extend(data.field, parseForm); - - $.post(url, - data.field, - function(data) { - layer.msg(data.Message); - }, - "json"); - return false; - }); } return { add: function() { //弹出添加 diff --git a/OpenAuth.Mvc/userJs/login.js b/OpenAuth.Mvc/userJs/login.js index a25151ae..2ed27ad3 100644 --- a/OpenAuth.Mvc/userJs/login.js +++ b/OpenAuth.Mvc/userJs/login.js @@ -1,6 +1,12 @@ layui.config({ base: "/js/" }).use(['form', 'layer'], function () { + + if (self != top) { + //如果在iframe中,则跳转 + top.location.replace("/Login/Index"); + } + var form = layui.form, layer = parent.layer === undefined ? layui.layer : parent.layer, $ = layui.jquery;