在作者原来的模版上增强单列模版

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<!DOCTYPE html>
<#assign callbackFlag = false />
<#assign fileName = "" />
<#list pageColumns as callBackTestPo>
<#if callBackTestPo.showType=='file'>
<#assign callbackFlag = true />
</#if>
</#list>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>${ftl_description}</title>
<hp:base type="hplusCss"></hp:base>
<style type="text/css">
.wrapper {
float: none;
}
</style>
</head> <body class="gray-bg">
<div class="wrapper wrapper-content animated fadeIn">
<hp:formvalid formid="formobj" styleClass="form-horizontal" dialog="true" usePlugin="password" layout="table"
action="${entityName?uncap_first}Controller.do?doAdd"
tiptype="1" ${callbackFlag?string("callback=\"jeecgFormFileCallBack@Override\"", "")}>
<input type="hidden" id="btn_sub" class="btn_sub"/>
<input type="hidden" id="id" name="id"/>
<div class="tab-wrapper">
<!-- tab -->
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="javascript:void(0);">${ftl_description}</a></li>
</ul>
<!-- tab内容 --> <div class="form-group">
<#list pageColumns as po>
<#if (pageColumns?size>10)>
<#if po_index%2==0>
<div class="form-group">
</#if>
<#else>
<div class="form-group">
</#if>
<label class="col-sm-2 control-label">${po.content}:</label>
<div class="col-sm-10"> <#if po.showType=='text'>
<input id="${po.fieldName}" name="${po.fieldName}" type="text"
class="form-control" <#if po.fieldValidType?if_exists?html != ''>
datatype="${po.fieldValidType?if_exists?html}"<#else><#if po.type == 'int'>
datatype="n"<#elseif po.type=='double'>
datatype="/^(-?\d+)(\.\d+)?$/"<#else><#if po.isNull != 'Y'>datatype="*"</#if></#if></#if>>
<#elseif po.showType=='popup'>
<input id="${po.fieldName}" name="${po.fieldName}" type="text"
class="form-control" <#if po.fieldValidType?if_exists?html != ''>
datatype="${po.fieldValidType?if_exists?html}"<#else><#if po.type == 'int'>
datatype="n"<#elseif po.type=='double'>
datatype="/^(-?\d+)(\.\d+)?$/"<#else><#if po.isNull != 'Y'>datatype="*"</#if></#if></#if><#if po.dictTable?if_exists?html!="">
onclick="inputClick(this,'${po.dictField}','${po.dictTable}')"</#if>>
<#elseif po.showType=='textarea'>
<textarea id="${po.fieldName}" class="form-control" rows="6"
name="${po.fieldName}"></textarea>
<#elseif po.showType=='password'>
<input id="${po.fieldName}" name="${po.fieldName}" type="password"
class="form-control" <#if po.fieldValidType?if_exists?html != ''>
datatype="${po.fieldValidType?if_exists?html}"<#else><#if po.type == 'int'>
datatype="n"<#elseif po.type=='double'>
datatype="/^(-?\d+)(\.\d+)?$/"<#else><#if po.isNull != 'Y'>datatype="*"</#if></#if></#if>>
<#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'>
<t:dictSelect field="${po.fieldName}" type="${po.showType?if_exists?html}"
extendJson="{class:'form-control'}"
<#if po.dictTable?if_exists?html != ''>dictTable="${po.dictTable?if_exists?html}"
dictField="${po.dictField?if_exists?html}"
dictText="${po.dictText?if_exists?html}"
<#else>typeGroupCode="${po.dictField}"</#if> hasLabel="false"
title="${po.content}"></t:dictSelect>
<#elseif po.showType=='date'>
<input id="${po.fieldName}" name="${po.fieldName}" type="text" style="width: 150px"
class="form-control"
onClick="WdatePicker()"<#if po.fieldValidType?if_exists?html != ''>
datatype="${po.fieldValidType?if_exists?html}"<#else><#if po.isNull != 'Y'>datatype="*"</#if></#if>
type="date" pattern="yyyy-MM-dd"/>
<#elseif po.showType=='datetime'>
<input id="${po.fieldName}" name="${po.fieldName}" type="text" style="width: 150px"
class="form-control"
onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"<#if po.fieldValidType?if_exists?html != ''>
datatype="${po.fieldValidType?if_exists?html}"<#else><#if po.isNull != 'Y'>datatype="*"</#if></#if>
type="date" pattern="yyyy-MM-dd hh:mm:ss"/>
<#elseif po.showType=='file'>
<#assign fileName = "${po.fieldName}" />
<table></table>
<div class="form jeecgDetail">
<script type="text/javascript">
var serverMsg = "";
$(function () {
$('#${po.fieldName}').uploadify({
buttonText: '添加文件',
auto: false,
progressData: 'speed',
multi: true,
height: 25,
overrideEvents: ['onDialogClose'],
fileTypeDesc: '文件格式:',
queueID: 'filediv_file',
fileTypeExts: '*.rar;*.zip;*.doc;*.docx;*.txt;*.ppt;*.xls;*.xlsx;*.html;*.htm;*.pdf;*.jpg;*.gif;*.png',
fileSizeLimit: '15MB',
swf: 'plug-in/uploadify/uploadify.swf',
uploader: 'cgUploadController.do?saveFiles&jsessionid=' + $("#sessionUID").val() + '',
onUploadStart: function (file) {
var cgFormId = $("input[name='id']").val();
$('#${po.fieldName}').uploadify("settings", "formData", {
'cgFormId': cgFormId,
'cgFormName': '${tableName}',
'cgFormField': '${fieldMeta[po.fieldName]}'
});
},
onQueueComplete: function (queueData) {
var win = frameElement.api.opener;
win.reloadTable();
win.tip(serverMsg);
frameElement.api.close();
},
onUploadSuccess: function (file, data, response) {
var d = $.parseJSON(data);
if (d.success) {
var win = frameElement.api.opener;
serverMsg = d.msg;
}
},
onFallback: function () {
tip("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试")
},
onSelectError: function (file, errorCode, errorMsg) {
switch (errorCode) {
case -100 :
tip("上传的文件数量已经超出系统限制的" + $('#file').uploadify('settings', 'queueSizeLimit') + "个文件!");
break;
case -110 :
tip("文件 [" + file.name + "] 大小超出系统限制的" + $('#file').uploadify('settings', 'fileSizeLimit') + "大小!");
break;
case -120 :
tip("文件 [" + file.name + "] 大小异常!");
break;
case -130 :
tip("文件 [" + file.name + "] 类型不正确!");
break;
}
},
onUploadProgress: function (file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {
}
});
});
</script>
<span id="file_uploadspan"><input type="file" name="${po.fieldName}"
id="${po.fieldName}"/></span>
</div>
<div class="form" id="filediv_file"></div>
<#--update-start--Author: jg_huangxg Date:20160421 for:TASK #1027 【online】代码生成器模板不支持UE编辑器 -->
<#elseif po.showType='umeditor'>
<script type="text/javascript" charset="utf-8"
src="plug-in/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8"
src="plug-in/ueditor/ueditor.all.min.js"></script>
<textarea name="${po.fieldName}" id="${po.fieldName}"
style="width: 650px;height:300px"></textarea>
<script type="text/javascript">
var editor = UE.getEditor('${po.fieldName}');
</script>
<#--update-end--Author: jg_huangxg Date:20160421 for:TASK #1027 【online】代码生成器模板不支持UE编辑器 -->
<#else>
<input id="${po.fieldName}" name="${po.fieldName}" type="text" style="width: 150px"
class="form-control" <#if po.fieldValidType?if_exists?html != ''>
datatype="${po.fieldValidType?if_exists?html}"<#else><#if po.type == 'int'>
datatype="n"<#elseif po.type=='double'>
datatype="/^(-?\d+)(\.\d+)?$/"<#else><#if po.isNull != 'Y'>datatype="*"</#if></#if></#if>>
</#if>
<span class="Validform_checktip" style="float:left;height:0px;"></span>
<label class="Validform_label" style="display: none">${po.content?if_exists?html}</label>
</div>
<#if (pageColumns?size>10)>
<#if (po_index%2==0)&&(!po_has_next)>
<div class="col-xs-2 text-center"><b></b></div>
<div class="col-xs-4"></div>
</#if>
<#if (po_index%2!=0)||(!po_has_next)>
</div>
</#if>
<#else>
</div>
</#if> </#list> <div class="row" id="sub_tr" style="display: none;">
<div class="col-xs-12 layout-header">
<div class="col-xs-6"></div>
<div class="col-xs-6">
<button type="button" onclick="neibuClick();" class="btn btn-default">提交</button>
</div>
</div>
</div>
</div>
</div> <div class="con-wrapper" id="con-wrapper2" style="display: block;"></div>
</div>
</hp:formvalid>
<#if callbackFlag == true>
<script type="text/javascript">
function jeecgFormFileCallBack(data) {
if (data.success == true) {
uploadFile(data);
} else {
if (data.responseText == '' || data.responseText == undefined) {
$.messager.alert('错误', data.msg);
$.Hidemsg();
} else {
try {
var emsg = data.responseText.substring(data.responseText.indexOf('错误描述'), data.responseText.indexOf('错误信息'));
$.messager.alert('错误', emsg);
$.Hidemsg();
} catch (ex) {
$.messager.alert('错误', data.responseText + '');
}
}
return false;
}
if (!neibuClickFlag) {
var win = frameElement.api.opener;
win.reloadTable();
}
}
function upload() {
$('#${fileName}').uploadify('upload', '*');
} var neibuClickFlag = false;
function neibuClick() {
neibuClickFlag = true;
$('#btn_sub').trigger('click');
}
function cancel() {
$('#${fileName}').uploadify('cancel', '*');
}
function uploadFile(data) {
if (!$("input[name='id']").val()) {
if (data.obj != null && data.obj != 'undefined') {
$("input[name='id']").val(data.obj.id);
}
}
if ($(".uploadify-queue-item").length > 0) {
upload();
} else {
if (neibuClickFlag) {
alert(data.msg);
neibuClickFlag = false;
} else {
var win = frameElement.api.opener;
win.reloadTable();
win.tip(data.msg);
frameElement.api.close();
}
}
}
</script>
</#if> <script type="text/javascript">
$(function () {
//查看模式情况下,删除和上传附件功能禁止使用
if (location.href.indexOf("load=detail") != -1) {
$(".jeecgDetail").hide();
} if (location.href.indexOf("mode=read") != -1) {
//查看模式控件禁用
$("#formobj").find(":input").attr("disabled", "disabled");
}
if (location.href.indexOf("mode=onbutton") != -1) {
//其他模式显示提交按钮
$("#sub_tr").show();
}
}); var neibuClickFlag = false;
function neibuClick() {
neibuClickFlag = true;
$('#btn_sub').trigger('click');
} </script>
</body>
<script src="webpage/${bussiPackage?replace('.','/')}/${entityPackage}/${entityName?uncap_first}.js"></script>
</html>

jeecg bootstrap修改单列模版的更多相关文章

  1. 修改netbeans模版头部的说明

    以新建一个php类文件为例: 有两个地方需要修改, 1,工具->模版->默认许可证->在编辑器中打开 2,工具->模版->选择php类->在编辑器中打开 即可进行修 ...

  2. bootstrap的html模版

    <!DOCTYPE html> <html> <head> <title>Bootstrap 模板</title> <meta nam ...

  3. MyEclipse10修改servlet模版

    Myeclipse10中servlet模版存放的位置与早些的版本不同,它存放在: MyEclipse\Common\plugins中的下面那个jar包中 com.genuitec.eclipse.wi ...

  4. MyEclipse修改servlet模版

    找到myeclipse安装目录中的 然后把这个jar包复制到桌面 以压缩包的方式打开 之后保存, 然后把修改的这个jar包放到刚开的路径,替换已经存在的! 完成!

  5. JEECG中修改时间相关自定义定时器

    JEECG中使用,如下: @InitBinder public void initBinder(ServletRequestDataBinder binder) { binder.registerCu ...

  6. bootstrap修改数据刷新页面跳转到当前页的问题

    修改按钮的页面的方法里添加如下代码 1      var pn = $("#datatable").bootstrapTable('getOptions').pageNumber; ...

  7. Bootstrap修改input file默认样式

    html部分 <div class="form-group"> <label class="col-sm-3 control-label"&g ...

  8. bootstrap修改勾选样式

    小对勾需要引入awesome插件. css部分: .bella-checkbox{ position: relative;}/** 将初始的checkbox的样式改变 */.bella-checkbo ...

  9. 读取pandas修改单列数据类型

    import pandas as pd import numpy as np df = pd.read_csv('000917.csv',encoding='gbk') df = df[df['涨跌幅 ...

随机推荐

  1. 如何在ASP.NET Core中使用Redis

    注:本文提到的代码示例下载地址> https://code.msdn.microsoft.com/How-to-use-Redis-in-ASPNET-0d826418 Redis是一个开源的内 ...

  2. Winscp开源的SSH|SFTP

    WinSCP 主要功能 图形用户界面 多语言与 Windows 完美集成(拖拽, URL, 快捷方式) 支持所有常用文件操作,支持基于 SSH-1.SSH-2 的 SFTP 和 SCP 协议 支持批处 ...

  3. STL sort 函数实现详解

    作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现.以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不 ...

  4. 在html中添加script脚本的方法和注意事项

    在html中添加script脚本有两种方法,直接将javascript代码添加到html中与添加外部js文件,这两种方法都比较常用,大家可以根据自己需要自由选择 在html中添加<script& ...

  5. c# Entity DbArithmeticExpression arguments must have a numeric common type

    在Entity Lambda表达式中计算DateTime类型的时候 不能直接用DateTime类型进行相减计算差值 需要使用DbFunctions提供的一些方法. 例如: DbFunctions.Di ...

  6. Android——WebView

    WebView用途 通过Intent调用系统浏览器: 引言: Uri uri = Uri.parse(url);//url为你要链接的地址 Intent intent = new Intent(Int ...

  7. 初次认识 C# win32 api

    第一次接触win32api,刚开始的时候有点迷迷糊糊的. Windows API 就是windows应用程序接口. win api向上就是windows应用程序,向下就是windows操作系统核心. ...

  8. Unity Animator动画状态机 深入理解(二)IK控制

    IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下 ...

  9. 以最简单方式学习Linux

    有很多关于Linux的书籍,博客.大多数都会比较"粗暴"的将一大堆的命令塞给读者,从而使很多.NET程序员望而却步.未入其门就路过了. 所以我设想用一种更为平滑的学习方式, 就是在 ...

  10. C#之索引器

    实际中不使用这个东西,只做了解 using System; using System.Collections.Generic; using System.Linq; using System.Text ...