|
|
#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();
|
|
|
}();
|