worksUpload.zml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. ${Scripts.src(zhiqim_uploadlarge.js)}
  2. <script>
  3. //产品类型
  4. var prdTypeMap = new Z.HashMap();
  5. <#for key : prdMap.keySet()>
  6. prdTypeMap.put('${key}', '${prdMap.get(key)}');
  7. </#for>
  8. //所有子行业 map 根据 行业 分组
  9. var subIndustryMap = new Z.HashMap();
  10. <#for key : subIndustryMap.keySet()>
  11. subIndustryMap.put('${key}',${Jsons.toString(subIndustryMap.get(key))});
  12. </#for>
  13. var cdrUpload,endUpload;
  14. var prdTypeId = 2;
  15. var industryId = -1;
  16. var industryName = "";
  17. var indIdarr = Z.AR.toArray("", ",");
  18. var destDir = "/作品库/彩页/";
  19. var cdrPath = destDir + "设计文件" + "/" + '${dateDir}';
  20. var pdfPath = destDir + "印刷文件" + "/" + '${dateDir}';
  21. var thumPath = destDir + "缩略图" + "/" + '${dateDir}';
  22. var keywordName;
  23. var worksName;
  24. Z.onload(function()
  25. {//初始化上传组件
  26. initHTML5Uploader();
  27. initHTML5Uploader1();
  28. });
  29. var items;
  30. function initHTML5Uploader()
  31. {
  32. cdrUpload = new Z.UploadLarge();
  33. cdrUpload.elem = "FUpload_DESIGN";
  34. cdrUpload.fileMd5Target = 1;
  35. cdrUpload.fileCopy = true;
  36. cdrUpload.maxSizeMiB = 50;
  37. cdrUpload.contextPath = "${context.getContextPath()}";
  38. cdrUpload.onSelected = function(fileName, fileLength)
  39. {
  40. if (prdTypeId == -1)
  41. {
  42. Z.alert("请选择文件上传类型");
  43. return false;
  44. }
  45. if (industryId == -1)
  46. {
  47. Z.alert("请选择文件上传行业");
  48. return false;
  49. }
  50. if(indIdarr.length == 0)
  51. {
  52. Z.alert("请选择一个或多个子行业");
  53. return false;
  54. }
  55. var ind = fileName.lastIndexOf(".");
  56. if(ind < 0)
  57. {
  58. Z.alert("不合法的文件名格式");
  59. return false;
  60. }
  61. worksName = Z("#worksName").val();
  62. if (Z.V.isEmpty(worksName))
  63. {
  64. Z.alert("请输入作品名称");
  65. return false;
  66. }
  67. keywordName = Z("#keywordName").val();
  68. if (Z.V.isEmpty(keywordName))
  69. {
  70. Z.alert("请输入作品关键字");
  71. return false;
  72. }
  73. var ext = fileName.substring(fileName.lastIndexOf(".")+1);
  74. if (ext != "cdr" && ext != "CDR")
  75. {
  76. Z.alert("设计文件文件必须是cdr文件");
  77. return false;
  78. }
  79. //设置上传路径
  80. cdrUpload.setFileDir(cdrPath);
  81. };
  82. cdrUpload.onCompleted = function(fileId){
  83. var ajax = new Z.Ajax();
  84. ajax.setClassName("WorksPresenter");
  85. ajax.setMethodName("doWorksDesignLoad");
  86. ajax.addParam(fileId);
  87. ajax.addParam(prdTypeId);
  88. ajax.addParam(industryId);
  89. ajax.addParam(keywordName + " " + industryName);
  90. ajax.addParam(worksName);
  91. ajax.addParam(Z.AR.toString(indIdarr, ","));
  92. ajax.setFailure(function(){
  93. cdrUpload.$delete.click();
  94. Z.failure(this.responseText);
  95. });
  96. ajax.setSuccess(function(){
  97. items = this.responseText;
  98. });
  99. ajax.setLoading(document)
  100. ajax.execute();
  101. };
  102. cdrUpload.execute();
  103. }
  104. function initHTML5Uploader1()
  105. {
  106. endUpload = new Z.UploadLarge();
  107. endUpload.elem = "FUpload_END";
  108. endUpload.fileMd5Target = 1;
  109. endUpload.maxSizeMiB = 10;
  110. endUpload.contextPath = "${context.getContextPath()}";
  111. endUpload.onSelected = function(fileName, fileLength)
  112. {
  113. if(prdTypeId == -1)
  114. {
  115. Z.alert("请选择文件上传类型");
  116. return false;
  117. }
  118. if(industryId == -1)
  119. {
  120. Z.alert("请选择文件上传行业");
  121. return false;
  122. }
  123. if(indIdarr.length == 0)
  124. {
  125. Z.alert("请选择一个或多个子行业");
  126. return false;
  127. }
  128. if(items == -1 || items == null || items == "")
  129. {
  130. Z.alert("请先上传设计文件");
  131. return false;
  132. }
  133. var ind = fileName.lastIndexOf(".");
  134. if(ind < 0)
  135. {
  136. Z.alert("不合法的文件名格式");
  137. return false;
  138. }
  139. var worksName = Z("#worksName").val();
  140. if (Z.V.isEmpty(worksName))
  141. {
  142. Z.alert("请输入作品名称");
  143. return false;
  144. }
  145. var keywordName = Z("#keywordName").val();
  146. if (Z.V.isEmpty(keywordName))
  147. {
  148. Z.alert("请输入作品关键字");
  149. return false;
  150. }
  151. var ext = fileName.substring(fileName.lastIndexOf(".")+1);
  152. if(ext != "pdf" && ext != "PDF")
  153. {
  154. Z.alert("印刷文件必须是pdf文件");
  155. return false;
  156. }
  157. //设置上传路径
  158. endUpload.setFileDir(pdfPath);
  159. };
  160. endUpload.onCompleted = function(fileId){
  161. var ajax = new Z.Ajax();
  162. ajax.setClassName("WorksPresenter");
  163. ajax.setMethodName("doWorksEndLoad");
  164. ajax.addParam(fileId);
  165. ajax.addParam(items);
  166. ajax.addParam(thumPath);
  167. ajax.setFailure(function(){
  168. endUpload.$delete.click();
  169. Z.failure(this.responseText);
  170. });
  171. ajax.setSuccess(function(){
  172. Z.success("作品添加成功", function(){parent.location.reload();Z.Dialog.close();});
  173. });
  174. ajax.setLoading(document);
  175. ajax.execute();
  176. };
  177. endUpload.execute();
  178. }
  179. //显示子行业 industryId 父行业ID
  180. function doSelectorInd(value)
  181. {
  182. industryId = value;
  183. industryName = Z("#ind_"+value).text();
  184. var subArr = subIndustryMap.get(""+value);
  185. var subListHtml = "";
  186. if(subArr != null && typeof(subArr) != "undefined" && subArr.length > 0)
  187. {
  188. Z.each(subArr, function(sub, i){
  189. subListHtml += '<button name="subName" id="subid_'+sub.industrySubId+'" type="button" class="z-button z-large z-bordered z-mg-r6 z-mg-t6 z-blue-bd z-hover" onclick="doLabelIdSet(\''+sub.industrySubId+'\',this)">'+sub.industrySubName+'</button>';
  190. });
  191. }
  192. Z("#subList").html(subListHtml);
  193. }
  194. //子行业选择
  195. function doLabelIdSet(attaid, btn)
  196. {
  197. if(Z.AR.contains(indIdarr, attaid))
  198. {
  199. Z.AR.remove(indIdarr, attaid);
  200. Z(btn).removeClass("z-active");
  201. }
  202. else
  203. {
  204. indIdarr.push(attaid);
  205. Z(btn).addClass("z-active");
  206. }
  207. }
  208. </script>
  209. <table class="z-table z-bordered z-pd10 z-bg-white">
  210. <tr height="20">
  211. <td width="30%">作品类型选择:</td>
  212. <td width="70%">
  213. <button id="nav_2" name="prdType" data-options="group:prdType" class="z-button z-large z-bordered-bg z-blue-bd z-blue-bg fi-mg3 z-active" >彩页</button>
  214. </td>
  215. </tr>
  216. <tr height="80">
  217. <td width="30%">作品行业选择:</td>
  218. <td width="70%">
  219. <#for item : indList>
  220. <button id="ind_${item.getIndustryId()}" type="button" name="ind_${item.getIndustryId()}" data-options="group:industry" class="z-button z-large z-bordered-bg z-blue-bd z-blue-bg fi-mg3" onclick="doSelectorInd('${item.getIndustryId()}')">${item.getIndustryName()}</button>
  221. </#for>
  222. </td>
  223. </tr>
  224. <tr height="80">
  225. <td width="30%">子行业选择:</td>
  226. <td width="70%" id="subList">
  227. <#for item : inSubList>
  228. <button name="subName" id="sub_${item.getIndustrySubId()}" type="button" class="z-button z-large z-bordered z-mg-r6 z-mg-t6 z-blue-bd z-hover" onclick="doLabelIdSet('${item.getIndustrySubId()}',this)">${item.getIndustrySubName()}</button>
  229. </#for>
  230. </td>
  231. </tr>
  232. <tr height="20">
  233. <td width="30%">作品名称:</td>
  234. <td width="70%">
  235. <input id="worksName" name="worksName" class="z-input z-w300 ${zmr_color_class}" value="" maxlength="20">
  236. </td>
  237. </tr>
  238. <tr height="20">
  239. <td width="30%">作品关键字:</td>
  240. <td width="70%">
  241. <input id="keywordName" name="keywordName" class="z-input z-w300 ${zmr_color_class}" value="" maxlength="20">&nbsp;&nbsp;<font color="red">用于作品搜索,多组关键字用<b>空格</b>隔开</font>
  242. </td>
  243. </tr>
  244. <tr height="80">
  245. <td width="30%">设计文件上传(默认不断点续传):</td>
  246. <td width="70%"><button id="FUpload_DESIGN" type="button" class="z-button z-w200 z-blue">HTML5上传</button>&nbsp;&nbsp;<font color="red">必须是cdr文件</font></td>
  247. </tr>
  248. <tr height="80">
  249. <td width="30%">印刷文件上传(默认不断点续传):</td>
  250. <td width="70%"><button id="FUpload_END" class="z-button z-w200 z-blue">HTML5上传</button>&nbsp;&nbsp;<font color="red">必须是pdf文件</font></td>
  251. </tr>
  252. </table>