#parse("vms/$version/common/variable/head.vm") #parse("vms/$version/common/comment/ClassDesc.vm") ;!function(){ var $ = layui.jquery ,layer = parent.layer === undefined ? layui.layer : top.layer ,form = layui.form; var mc_layui_component=us_all.mc_layui_component ,mc_util = us_all.mc_util ,mc_children = us_all.mc_children ,mc_verify = us_all.mc_verify ,mc_constant = us_all.mc_constant ,mc_rmp = us_all.mc_rmp ; var common_config = { tableNameRest:"${tableRealName}_rest", tableName:"${tableRealName}", moduleName:"${tableRealName}",//sys_module的moduleName form:{ #set($sortedNodeList=$CreateVmUtil.sortFormItem($nodeList)) #set($dou = 0) #foreach($node in $sortedNodeList) #if($StringUtil.isNotBlank($node.formItem.selectValue)) #set($inputType = $node.formItem.inputType) #if($inputType == $MagicConstant.INPYT_TYPE_IMG_FILE() || $inputType == $MagicConstant.INPYT_TYPE_KINDEDITOR()||$inputType == $MagicConstant.INPYT_TYPE_DATE() || $inputType == $MagicConstant.INPYT_TYPE_SLIDER()||$inputType == $MagicConstant.INPYT_TYPE_RATE() || $inputType == $MagicConstant.INPYT_TYPE_COLOR_PICKER()||$inputType == $MagicConstant.INPYT_TYPE_CODE()) #if($dou >0) ,#else #end${node.dbField.javaField}:{ renderConfig:{}//您可以自定义个性配置 遇到相同的则以dom配置为准 大部分属性已推荐设置在元素标签上 这里您可以自定义事件 $TableFieldUtil.jsonToOneLine($node.formItem.selectValue) } #set($dou = $dou + 1) #end #end #end }, event:{ select2Change:function (elem,name,value) {//外键下拉更新事件 } } } var tableNameRest = common_config.tableNameRest; var moduleName = common_config.moduleName; var obj = { render:function () {//入口 this.ajaxGetEntityDataAndAutoSetFormUiValue(); this.submit(); }, //初始化表单 ajaxGetEntityDataAndAutoSetFormUiValue : function () { var _t = this; var identify = mc_util.getParameter('identify')//从url中检测主键 if(identify!=null && identify!=''){//断定是编辑操作 $.getJSON('admin/'+tableNameRest+"/get/"+identify,{date:new Date().getTime()},function (data) {//获取此实体详情数据 if(data.flag){ var entity = data.data if(entity && entity!=null){ //把请求到的实体内容自动设置到表单中去 mc_util.mappingEntityToFormUiValue($("body"),entity); //禁用外键编辑区域:只有当从更多信息点击进来 才会禁用 单表操作不会执行 mc_children.disabledFormParentArea(); //权限 注意xxx-edit.html页面刚进来 是被隐藏的(body标签的layui-hide样式) 这样当权限执行完 才进行一一显示 mc_rmp.paintBody(moduleName,function () { var verifyData = mc_layui_component.bindMagicalCoderLayUiComponentFromDetail(common_config);//返回富文本的校验 为了能同步隐藏域 _t.layuiFormVerify(verifyData); }) }else { layer.msg("此条记录已被删除,请重新查询!"); } }else { layer.msg("查询失败:"+data.desc); } }) }else {//新增操作 //禁用外键编辑区域:只有当从更多信息点击进来 才会禁用 单表操作不会执行 mc_children.disabledFormParentArea(); //权限 mc_rmp.paintBody(moduleName,function () { var verifyData =mc_layui_component.bindMagicalCoderLayUiComponentFromDetail(common_config);//返回富文本的校验 为了能同步隐藏域 _t.layuiFormVerify(verifyData); $("button[type='reset']").removeClass('layui-hide');//把重置按钮显示处理 }) } }, //layui的表单校验规则 layuiFormVerify:function (verifyData) {//verifyData 里如果由内容则是富文本的校验同步 var verifyData = $.extend(verifyData,{//这里可以自定义layui的校验规则 自行扩展 参考官网文档 https://www.layui.com/doc/modules/form.html }) form.verify(verifyData); } , //表单提交 submit : function () { //重置按钮把外键的默认值清空 $("button[type='reset']").click(function(){ $("."+mc_constant.MC_LAY_CLASS_NAME.FORM.foreign_select2).val(null).trigger('change');//固定写法 把搜索下拉重置空值 $("."+mc_constant.MC_LAY_CLASS_NAME.FORM.foreign_select2).each(function (id, item) { $(this).attr("data-value","") }); return true; }); //表单校验 在_bindFormDom方法 form.on("submit(save)",function(data){ // 实际使用时的提交信息 var postData = data.field; //开关单独处理 $('body').find("input[lay-skin='switch']").each(function (index,item) { var name = $(item).attr("name") var field = data.field postData[name] = field[name] ? ((field[name]+''=='on' || field[name]+'' == 'true') ? 1 : 0):0;//开关请用0或1来设置值 }) //清理上次不通过样式提醒 for(var name in postData){ var dom = $("[name='"+name+"']") mc_verify.clearDangerClass(dom) } //MagicalCoder扩展的表单校验 for(var name in postData){ var dom = $("[name='"+name+"']") var value = postData[name] if(!mc_verify.verify(value,dom)){ return false; } } //弹出loading var index = top.layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); $.post('admin/'+tableNameRest+'/save',postData,function(res){ top.layer.close(index); if(res.flag){ parent.layui.$(".search_btn").click()//parent代表父窗口,因为详情页是iframe弹出来的;让列表页重新执行一次搜索 //关闭当前层 var pidx = parent.layui.layer.index parent.layui.layer.close(pidx-1); }else { top.layer.msg("保存失败:"+res.desc); } }) return false; }) } } obj.render(); }();