jformunion.ftl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <#setting number_format="0.#####################">
  2. <!DOCTYPE html>
  3. <html lang="zh-CN">
  4. <#-- update--begin--author:zhangjiaqiang date:20170607 for:增加对于图片文件的支持 -->
  5. <#assign hasFileField = false />
  6. <#list columns as po>
  7. <#if po.show_type=='file' || po.show_type == 'image'>
  8. <#assign hasFileField = true />
  9. <#break>
  10. </#if>
  11. </#list>
  12. <#-- update--begin--author:zhangjiaqiang date:20170607 for:增加对于图片文件的支持 -->
  13. <head>
  14. <base href="${basePath}/"/>
  15. <meta charset="utf-8">
  16. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  17. <title>jeecg</title>
  18. <base href="${basePath}/"/>
  19. <meta name="description" content="">
  20. <meta name="viewport" content="width=device-width, initial-scale=1">
  21. <link rel="stylesheet" href="online/template/ledefault/css/vendor.css">
  22. <link rel="stylesheet" href="online/template/ledefault/css/bootstrap-theme.css">
  23. <link rel="stylesheet" href="online/template/ledefault/css/bootstrap.css">
  24. <link rel="stylesheet" href="online/template/ledefault/css/app.css">
  25. <link rel="stylesheet" href="plug-in/Validform/css/metrole/style.css" type="text/css"/>
  26. <link rel="stylesheet" href="plug-in/Validform/css/metrole/tablefrom.css" type="text/css"/>
  27. <script type="text/javascript" src="plug-in/jquery/jquery-1.9.0.js"></script>
  28. <script type="text/javascript" src="plug-in/tools/dataformat.js"></script>
  29. <script type="text/javascript" src="plug-in/easyui/jquery.easyui.min.1.3.2.js"></script>
  30. <script type="text/javascript" src="plug-in/easyui/locale/zh-cn.js"></script>
  31. <script type="text/javascript" src="plug-in/tools/syUtil.js"></script>
  32. <script type="text/javascript" src="plug-in/My97DatePicker/WdatePicker.js"></script>
  33. <script type="text/javascript" src="plug-in/lhgDialog/lhgdialog.min.js"></script>
  34. <script type="text/javascript" src="plug-in/tools/curdtools_zh-cn.js"></script>
  35. <script type="text/javascript" src="plug-in/tools/easyuiextend.js"></script>
  36. <script type="text/javascript" src="plug-in/Validform/js/Validform_v5.3.1_min_zh-cn.js"></script>
  37. <script type="text/javascript" src="plug-in/Validform/js/Validform_Datatype_zh-cn.js"></script>
  38. <script type="text/javascript" src="plug-in/Validform/js/datatype_zh-cn.js"></script>
  39. <script type="text/javascript" src="plug-in/Validform/plugin/passwordStrength/passwordStrength-min.js"></script>
  40. <link rel="stylesheet" href="plug-in/uploadify/css/uploadify.css" type="text/css"></link>
  41. <script type="text/javascript" src="plug-in/uploadify/jquery.uploadify-3.1.js"></script>
  42. <script type="text/javascript" charset="utf-8" src="${basePath}/plug-in/ueditor/ueditor.config.js"></script>
  43. <script type="text/javascript" charset="utf-8" src="${basePath}/plug-in/ueditor/ueditor.all.min.js"></script>
  44. <#-- update--begin--author:zhangjiaqiang date:20170607 for:增加对于图片文件的支持 -->
  45. <#if hasFileField == true>
  46. <link rel="stylesheet" href="plug-in/uploadify/css/uploadify.css" type="text/css" />
  47. <script type="text/javascript" src="plug-in/uploadify/jquery.uploadify-3.1.js"></script>
  48. </#if>
  49. <#-- update--begin--author:zhangjiaqiang date:20170607 for:增加对于图片文件的支持 -->
  50. </head>
  51. <script type="text/javascript">
  52. $(document).ready(function(){
  53. //$('#tt').tabs({
  54. // onSelect:function(title){
  55. // $('#tt .panel-body').css('width','auto');
  56. // }
  57. //});
  58. //$(".tabs-wrap").css('width','100%');
  59. $("#jform_tab .con-wrapper").hide(); //Hide all tab content
  60. $("#jform_tab li:first").addClass("active").show(); //Activate first tab
  61. $("#jform_tab .con-wrapper:first").show(); //Show first tab content
  62. //On Click Event
  63. $("#jform_tab li").click(function() {
  64. $("#jform_tab li").removeClass("active"); //Remove any "active" class
  65. $(this).addClass("active"); //Add "active" class to selected tab
  66. $("#jform_tab .con-wrapper").hide(); //Hide all tab content
  67. var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
  68. $(activeTab).fadeIn(); //Fade in the active content
  69. //$(""+activeTab).show();
  70. return false;
  71. });
  72. });
  73. //初始化下标
  74. function resetTrNum(tableId) {
  75. $tbody = $("#"+tableId+"");
  76. $tbody.find('>tr').each(function(i){
  77. <#-- update--begin--author:zhangjiaqiang date:20170607 for:增加多个初始化下标项 -->
  78. $(':input, select,a,button', this).each(function(){
  79. var $this = $(this), name = $this.attr('name'),id=$this.attr('id'),onclick_str=$this.attr('onclick'), val = $this.val();
  80. if(name!=null){
  81. if (name.indexOf("#index#") >= 0){
  82. $this.attr("name",name.replace('#index#',i));
  83. }else{
  84. var s = name.indexOf("[");
  85. var e = name.indexOf("]");
  86. var new_name = name.substring(s+1,e);
  87. $this.attr("name",name.replace(new_name,i));
  88. }
  89. }
  90. if(id!=null){
  91. if (id.indexOf("#index#") >= 0){
  92. $this.attr("id",id.replace('#index#',i));
  93. }else{
  94. var s = id.indexOf("[");
  95. var e = id.indexOf("]");
  96. var new_id = id.substring(s+1,e);
  97. $this.attr("id",id.replace(new_id,i));
  98. }
  99. }
  100. if(onclick_str!=null){
  101. if (onclick_str.indexOf("#index#") >= 0){
  102. $this.attr("onclick",onclick_str.replace(/#index#/g,i));
  103. }else{
  104. }
  105. }
  106. <#-- update--begin--author:zhangjiaqiang date:20170607 for:增加多个初始化下标项 -->
  107. });
  108. $(this).find('div[name=\'xh\']').html(i+1);
  109. });
  110. }
  111. </script>
  112. <body>
  113. <form id="formobj" action="cgFormBuildController.do?saveOrUpdateMore" name="formobj" method="post"><input type="hidden" id="btn_sub" class="btn_sub"/>
  114. <#include "online/template/ledefault/html/jformhead.ftl">
  115. <script type="text/javascript">
  116. $(function(){
  117. //查看模式情况下,删除和上传附件功能禁止使用
  118. if(location.href.indexOf("goDetail.do")!=-1){
  119. $(".jeecgDetail").hide();
  120. }
  121. if(location.href.indexOf("goDetail.do")!=-1){
  122. //查看模式控件禁用
  123. $("#formobj").find(":input").attr("disabled","disabled");
  124. }
  125. if(location.href.indexOf("goAddButton.do")!=-1||location.href.indexOf("goUpdateButton.do")!=-1){
  126. //其他模式显示提交按钮
  127. $("#sub_tr").show();
  128. }
  129. });
  130. function upload() {
  131. <#list columns as po>
  132. <#if po.show_type=='file' || po.show_type=='image'>
  133. $('#${po.field_name}').uploadify('upload', '*');
  134. </#if>
  135. </#list>
  136. }
  137. var neibuClickFlag = false;
  138. function neibuClick() {
  139. neibuClickFlag = true;
  140. $('#btn_sub').trigger('click');
  141. }
  142. function cancel() {
  143. <#list columns as po>
  144. <#if po.show_type=='file' || po.show_type == 'image'>
  145. $('#${po.field_name}').uploadify('cancel', '*');
  146. </#if>
  147. </#list>
  148. }
  149. function uploadFile(data){
  150. if(!$("input[name='id']").val()){
  151. <#--update-start--Author:luobaoli Date:20150614 for:需要判断data.obj存在,才能取id值-->
  152. if(data.obj!=null && data.obj!='undefined'){
  153. $("input[name='id']").val(data.obj.id);
  154. }
  155. <#--update-end--Author:luobaoli Date:20150614 for:需要判断data.obj存在,才能取id值-->
  156. }
  157. if($(".uploadify-queue-item").length>0){
  158. upload();
  159. }else{
  160. if (neibuClickFlag){
  161. alert(data.msg);
  162. neibuClickFlag = false;
  163. }else {
  164. var win = frameElement.api.opener;
  165. win.reloadTable();
  166. win.tip(data.msg);
  167. frameElement.api.close();
  168. }
  169. }
  170. }
  171. $.dialog.setting.zIndex =1990;
  172. function del(url,obj){
  173. $.dialog.confirm("确认删除该条记录?", function(){
  174. $.ajax({
  175. async : false,
  176. cache : false,
  177. type : 'POST',
  178. url : url,// 请求的action路径
  179. error : function() {// 请求失败处理函数
  180. },
  181. success : function(data) {
  182. var d = $.parseJSON(data);
  183. if (d.success) {
  184. var msg = d.msg;
  185. tip(msg);
  186. $(obj).closest("tr").hide("slow");
  187. }
  188. }
  189. });
  190. }, function(){
  191. });
  192. }
  193. </script>
  194. <div id="jform_tab" class="tab-wrapper">
  195. <!-- tab -->
  196. <ul class="nav nav-tabs">
  197. <#assign subTableStr>${head.subTableStr?if_exists?html}</#assign>
  198. <#assign subtablelist=subTableStr?split(",")>
  199. <#list subtablelist as sub >
  200. <#if field['${sub}']?exists >
  201. <li role="presentation"><a href="#con-wrapper${sub_index}">${field['${sub}'].head.content?if_exists?html}</a></li>
  202. </#if>
  203. </#list>
  204. </ul>
  205. <#assign subTableStr>${head.subTableStr?if_exists?html}</#assign>
  206. <#assign subtablelist=subTableStr?split(",")>
  207. <#list subtablelist as sub >
  208. <#if field['${sub}']?exists >
  209. <#if field['${sub}'].head.relationType==1 >
  210. <#include "online/template/ledefault/html/jformonetoone.ftl">
  211. <#else>
  212. <#include "online/template/ledefault/html/jformonetomany.ftl">
  213. </#if>
  214. </#if>
  215. </#list>
  216. </div>
  217. <div style="width: auto;height: 200px;">
  218. <div style="width:690px;height:1px;"></div>
  219. <div id="tt" tabPosition="top" border=flase style="margin:0px;padding:0px;overflow:hidden;width:auto;" class="easyui-tabs" fit="false">
  220. </div>
  221. </div>
  222. <div align="center" id = "sub_tr" style="display: none;" > <input type="button" value="提交" onclick="$('#btn_sub').trigger('click');" class="ui_state_highlight"></div>
  223. <script type="text/javascript">$(function(){$("#formobj").Validform({tiptype:1,btnSubmit:"#btn_sub",btnReset:"#btn_reset",ajaxPost:true,usePlugin:{passwordstrength:{minLen:6,maxLen:18,trigger:function(obj,error){if(error){obj.parent().next().find(".Validform_checktip").show();obj.find(".passwordStrength").hide();}else{$(".passwordStrength").show();obj.parent().next().find(".Validform_checktip").hide();}}}},callback:function(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();}}});});</script></form>
  224. <!-- 添加 产品明细 模版 -->
  225. <table style="display:none">
  226. <#assign subTableStr>${head.subTableStr?if_exists?html}</#assign>
  227. <#assign subtablelist=subTableStr?split(",")>
  228. <#list subtablelist as sub >
  229. <#if field['${sub}']?exists >
  230. <#if field['${sub}'].head.relationType!=1 >
  231. <#include "online/template/ledefault/html/jformonetomanytpl.ftl">
  232. </#if>
  233. </#if>
  234. </#list>
  235. </table>
  236. <script type="text/javascript">${js_plug_in?if_exists}</script>
  237. <#-- update--begin--author:zhangjiaqiang date:20170608 for:通用上传脚本 -->
  238. <script>
  239. //通用弹出式文件上传
  240. function commonUpload(callback,inputId){
  241. $.dialog({
  242. content: "url:systemController.do?commonUpload",
  243. lock : true,
  244. title:"文件上传",
  245. <#-- update--begin--author:zhangjiaqiang date:20170601 for:修订弹出框对应的index -->
  246. zIndex:getzIndex(),
  247. <#-- update--end--author:zhangjiaqiang date:20170601 for:修订弹出框对应的index -->
  248. width:700,
  249. height: 200,
  250. parent:windowapi,
  251. cache:false,
  252. ok: function(){
  253. var iframe = this.iframe.contentWindow;
  254. iframe.uploadCallback(callback,inputId);
  255. return true;
  256. },
  257. cancelVal: '关闭',
  258. cancel: function(){
  259. }
  260. });
  261. }
  262. //通用弹出式文件上传-回调
  263. function commonUploadDefaultCallBack(url,name,inputId){
  264. var linkElement = document.getElementById(inputId+"_href");
  265. var inputElement = document.getElementById(inputId);
  266. linkElement.setAttribute("href",url);
  267. linkElement.innerHTML="下载";
  268. inputElement.setAttribute("value",url);
  269. //$("#"+inputId+"_href").attr('href',url).html('下载');
  270. //$("#"+inputId).val(url);
  271. }
  272. </script>
  273. <#-- update--end--author:zhangjiaqiang date:20170608 for:通用上传脚本 -->
  274. </body>
  275. </html>