worksShow.zml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. <script>
  2. function doWorksDownload()
  3. {//下载文件
  4. Z.Location.href("worksDownload.htm?worksId=" + '${works.getWorksId()}');
  5. }
  6. function doWorksAdd()
  7. {//申请精品
  8. var ajax = new Z.Ajax();
  9. ajax.setClassName("WorksPresenter");
  10. ajax.setMethodName("doWorksAdd");
  11. ajax.addParam('${works.getWorksId()}');
  12. ajax.setFailureAlert();
  13. ajax.setSuccess(function(){
  14. Z.alert("申请成功", function(){location.reload();})
  15. });
  16. ajax.execute();
  17. }
  18. function doWorksShare(value)
  19. {//作品库分享
  20. var ajax = new Z.Ajax();
  21. ajax.setClassName("WorksPresenter");
  22. ajax.setMethodName("doWorksShare");
  23. ajax.addParam('${works.getWorksId()}');
  24. ajax.addParam(value);
  25. ajax.setFailureAlert();
  26. ajax.setSuccess();
  27. ajax.execute();
  28. }
  29. function doLabelRelation()
  30. {//关联标签
  31. var dialog = new Z.Dialog();
  32. dialog.shadow = true;
  33. dialog.hasTitle = false;
  34. dialog.fixed = true;
  35. var worksId = '${works.getWorksId()}';
  36. dialog.url = "labelRelation.htm?worksId="+worksId;
  37. dialog.width = 1000;
  38. dialog.height = 600;
  39. dialog.execute();
  40. }
  41. function doKeywordRelation()
  42. {//关联关键词
  43. var dialog = new Z.Dialog();
  44. dialog.shadow = true;
  45. dialog.hasTitle = false;
  46. dialog.fixed = true;
  47. var worksId = '${works.getWorksId()}';
  48. dialog.url = "keywordRelation.htm?worksId="+worksId;
  49. dialog.width = 800;
  50. dialog.height = 400;
  51. dialog.execute();
  52. }
  53. /*悬浮展示分享列表*/
  54. function shareList_show(){ Z(".share-list").show();}
  55. function shareList_hide(){ Z(".share-list").hide();}
  56. /*收藏点击事件*/
  57. var eventId = '${userEventId}';
  58. function doWorksCollect(ele)
  59. {
  60. Z(ele).toggleClass("active");
  61. //执行操作
  62. if (Z(ele).hasClass("active"))
  63. {
  64. var ajax = new Z.Ajax();
  65. ajax.setClassName("WorksPresenter");
  66. ajax.setMethodName("doWorksCollect");
  67. ajax.addParam('${works.getWorksId()}')
  68. ajax.addParam(eventId);
  69. ajax.setFailureAlert();
  70. ajax.setSuccess(function(){
  71. var collect = this.responseText;
  72. var collectNum = collect.split("+");
  73. Z("#collect").text(collectNum[0]);
  74. eventId = collectNum[1];
  75. });
  76. ajax.execute();
  77. }
  78. else
  79. {
  80. var ajax = new Z.Ajax();
  81. ajax.setClassName("WorksPresenter");
  82. ajax.setMethodName("doWorksCollect");
  83. ajax.addParam('${works.getWorksId()}')
  84. ajax.addParam(eventId);
  85. ajax.setFailureAlert();
  86. ajax.setSuccess(function(){
  87. var collect = this.responseText;
  88. Z("#collect").text(collect);
  89. eventId = 0;
  90. });
  91. ajax.execute();
  92. }
  93. }
  94. /**/
  95. function selectTag(ele)
  96. {//选中标签
  97. var $active = Z(".tag-edit-list .tab .active");
  98. $active.removeClass("active");
  99. var next = $active.next("span");
  100. $active.next("span").removeClass("zi-hide").addClass("active");
  101. }
  102. function addKeywords(ele, type)
  103. {//添加关键字
  104. var $wrap = Z(".kwywordItem-list");
  105. var $input = Z(ele.previousElementSibling);
  106. var val = $input.val();
  107. if (Z.V.isEmptyBlank(val))
  108. {
  109. Z.alert("请输入添加内容!");
  110. return;
  111. }
  112. var $$button = $wrap.parent().children("button");
  113. for (var i = 0;i < $$button.length;i++)
  114. {
  115. var text = Z($$button[i]).text();
  116. if (text == val)
  117. {
  118. Z.alert("内容有重复!请重新输入!");
  119. return;
  120. }
  121. }
  122. var ajax = new Z.Ajax();
  123. ajax.setClassName("DesignerPresenter");
  124. ajax.setMethodName("doKeywordAdd");
  125. ajax.addParam("mediaId", '${works.getWorksId()}')
  126. ajax.addParam("keywordName", val);
  127. ajax.addParam("type", 'work');
  128. ajax.setFailureAlert();
  129. ajax.setSuccess(function(){
  130. var keywordName = this.responseText;
  131. var $item = Z('<span class="item-diy z-bg-blue"><i class="z-font z-error" onclick="delThisKeyword(this, \'' + keywordName + '\');"></i>' + val + '</span>');
  132. $wrap.append($item);
  133. $input.val("")
  134. });
  135. ajax.execute();
  136. }
  137. //删除关键字
  138. function delThisKeyword(ele, keywordName, type)
  139. {
  140. Z.confirm('您确定删除该关键字吗?', function(){
  141. Z(ele).parent().remove();
  142. var ajax = new Z.Ajax();
  143. ajax.setClassName("DesignerPresenter");
  144. ajax.setMethodName("doKeywordDelete");
  145. ajax.addParam("mediaId", '${works.getWorksId()}');
  146. ajax.addParam("keywordName", keywordName);
  147. ajax.addParam("type", type);
  148. ajax.setFailureAlert();
  149. ajax.setSuccess(function(){location.reload();});
  150. ajax.execute();
  151. });
  152. }
  153. function doWorksDelete()
  154. {
  155. var ajax = new Z.Ajax();
  156. ajax.setClassName("WorksPresenter");
  157. ajax.setMethodName("doWorksDelete");
  158. ajax.addParam('${works.getWorksId()}')
  159. ajax.setFailureAlert();
  160. ajax.setSuccess(function(){
  161. Z.success("删除成功", function(){parent.location.reload()});
  162. });
  163. ajax.execute();
  164. }
  165. function doWorksCancel()
  166. {
  167. var ajax = new Z.Ajax();
  168. ajax.setClassName("WorksPresenter");
  169. ajax.setMethodName("doWorksCancel");
  170. ajax.addParam('${works.getWorksId()}')
  171. ajax.setFailureAlert();
  172. ajax.setSuccess(function(){
  173. Z.success("取消成功", function(){parent.location.reload()});
  174. });
  175. ajax.execute();
  176. }
  177. </script>
  178. <style>
  179. body{height:100%}
  180. /*图片展示区*/
  181. .show-thumb{left:0;top:0;bottom:0;right:300px;padding:30px;}
  182. .show-thumb-list{display:flex;align-items:center;align-content:center;justify-content:center;flex-wrap:wrap;}
  183. .show-thumb-list>li{padding:5px;max-width:45%;}
  184. /*信息列表区*/
  185. .show-info{top:0;bottom:0;right:0;border-left:1px solid #e1e1e1;}
  186. .show-info-list>li{font-size:14px;padding:15px 0;border-bottom:1px solid #f5f5f5;color:#777;}
  187. /*顶部三要素*/
  188. .show-info-list>li>span.tag{margin-right:28px;float:left;padding:15px 0;}
  189. .show-info-list>li>span.tag:not(.view):hover,.show-info-list>li>span.tag.collect.active{color:#00a2eb;}
  190. .show-info-list>li>span.tag>i{display:inline-block;width:17px;height:15px;vertical-align:middle;margin-right:5px;background:url(http://cdn.tubangzhu.com/static/tbz-main/images/preview-tag_8774a98.png) no-repeat;}
  191. .show-info-list>li>span.tag.share>i{background-position:0 0;margin-right:3px;}
  192. .show-info-list>li>span.tag.share:hover>i{background-position:0 -15px;}
  193. .show-info-list>li>span.tag.view>i{background-position:-17px 0;}
  194. .show-info-list>li>span.tag.view>i{background-position:-17px 0;}
  195. .show-info-list>li>span.tag.collect>i{background-position:-35px 0;}
  196. .show-info-list>li>span.tag.collect:hover>i,.show-info-list>li>span.tag.collect.active>i{background-position: -35px -15px;}
  197. .show-info-list>li .z-button.z-xlarge{height:44px;}
  198. /*分享列表*/
  199. .share-list{position:absolute;top:45px;left:-5px;background:#fff;width:280px;line-height:35px;box-shadow:0 0 5px #aaa;border-radius:4px;padding:8px 15px;/*display:none;*/z-index:1;}
  200. .share-list>span{position:absolute;width:10px;height:10px;background:#fff;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);top:-5px;left:30px;box-shadow:-1px -1px 0 #d4d2d2;}
  201. /*标题图标*/
  202. .list-title>i{background:url(http://cdn.tubangzhu.com/static/tbz-main/images/preview-tag_8774a98.png) no-repeat -187px 0;display:inline-block;width:10px;height:19px;vertical-align:middle;margin-right:5px;}
  203. /*类型添加*/
  204. .type-list{}
  205. .type-list>li{padding:8px 0;border-bottom:1px dashed #f5f5f5;}
  206. /*关键字选择区*/
  207. .kwywords-list>.kwywordItem-list>span{display:inline-block;border-radius:3px;padding:5px 10px;margin:3px;position:relative;}
  208. .kwywords-list>.kwywordItem-list>span>.z-error{display:none;position:absolute;right:-5px;top:-5px;border-radius:50%;margin:0;border:1px solid #777;width:15px;height:15px;line-height:14px;text-align:center;font-size:12px;background:#fff;z-index:9;cursor:pointer;}
  209. .kwywords-list>.kwywordItem-list>span>.z-error:hover{color:#ea4a36;border-color:#ea4a36;}
  210. .kwywords-list>.kwywordItem-list>span:hover .z-error{display:block;}
  211. .kwywords-list>.item-add{position:relative;}
  212. .kwywords-list>.item-add>input{width:100%;}
  213. .kwywords-list>.item-add>button{padding:3px 10px;position:absolute;top:0;right:0;}
  214. /**/
  215. </style>
  216. <div class="z-relative z-w100p z-h100p z-overflow-hidden">
  217. <div class="show-thumb z-absolute z-bg-gray">
  218. <ul class="show-thumb-list z-w100p z-h100p">
  219. <#for path : Arrays.toStringArray(works.getThumbImagePath())>
  220. <li><img src="${path}"/></li>
  221. </#for>
  222. </ul>
  223. </div>
  224. <div class="show-info z-absolute z-w300 z-pd15">
  225. <ul class="show-info-list z-relative z-h100p">
  226. <li class="z-clearfix">ID:${works.getWorksId()}</li>
  227. <li class="z-clearfix">创建时间:${works.getCreateTime()}</li>
  228. <li class="z-clearfix"><#if works.getWorksName() != null>名称:${works.getWorksName()}&nbsp;|&nbsp;</#if>设计师:${works.getDesigner()}</li>
  229. <li class="z-clearfix z-relative z-color-999 zi-px13 zi-pd0">
  230. <span class="tag view" onclick=""><i></i>浏览(${browseNum})</span>
  231. <span class="tag collect z-pointer zi-mg-r0 <#if userEventId != 0>active</#if>" onclick="doWorksCollect(this);"><i></i>收藏(<span id="collect" >${collectNum}</span>)</span>
  232. </li>
  233. <li class="z-clearfix">
  234. <div class="z-float-left z-w50p z-pd-r5">
  235. <#if works.getWorksType() == 0><button class="z-button z-xlarge zi-w100p" onclick="doWorksAdd();"><i class="z-font z-flower"></i>申请精品</button></#if>
  236. <#if works.getWorksType() == 1><button class="z-button z-xlarge z-blue zi-w100p"><i class="z-font z-flower"></i>精品作品</button></#if>
  237. <#if works.getWorksType() == 2><button class="z-button z-xlarge zi-w100p"><i class="z-font z-flower"></i>精品待审</button></#if>
  238. </div>
  239. <div class="z-float-left z-w50p z-pd-l5"><button class="z-button z-xlarge z-red zi-w100p zi-pd-l0 zi-pd-r0" onclick="doWorksDownload();"><i class="z-font z-download"></i>下载(${downNum})</button></div>
  240. </li>
  241. <li class="tag-edit z-relative" data-value="一级 类型 二级 行业 三级 属性">
  242. <div class="z-h25 z-mg-t5 z-mg-b15">
  243. <span class="z-float-right">
  244. <#if ZmrPathRule.check(request, "/labelRelation.htm")><button class="z-button z-blue z-small" onclick="doLabelRelation()"><i class="z-font z-modify"></i>修改</button></#if>
  245. </span>
  246. <span class="list-title z-lh25"><i></i>行业属性</span>
  247. </div>
  248. <ul class="type-list">
  249. <li>
  250. ${Global.get(ProductTypeCache.class).getName(works.getPrdTypeId())}&nbsp;&nbsp;
  251. ${Global.get(DesignIndustryCache.class).getIndustryName(works.getIndustryId())}&nbsp;&nbsp;
  252. ${works.getIndustrySubName()}&nbsp;&nbsp;
  253. ${works.getAttributeName()}&nbsp;&nbsp;
  254. </li>
  255. </ul>
  256. </li>
  257. <li class="keyword-edit">
  258. <div class="list-title z-mg-t5 z-mg-b15"><i></i>关键词</div>
  259. <div class="kwywords-list">
  260. <div class="kwywordItem-list">
  261. <#for keyword : DesignerPresenter.updateKeywordArr(works.getKeywordName(), "work", works.getWorksId())>
  262. <span class="z-bg-blue"><i class="z-font z-error" onclick="delThisKeyword(this, '${keyword}', 'works');"></i>${keyword}</span>
  263. </#for>
  264. </div>
  265. <div class="item-add z-w100p z-mg-t10"><input class="z-input z-small" type="text"><button class="z-button z-blue" onclick="addKeywords(this, 'works');">添加</button></div>
  266. </div>
  267. </li>
  268. <#if ZmrPathRule.check(request, "doWorksDelete")>
  269. <li class="keyword-edit">
  270. <div class="list-title z-mg-t5 z-mg-b15"><i></i>作品操作</div>
  271. <div>
  272. <button class="z-button" onclick="doWorksCancel();"><i class="z-font z-modify"></i>取消精品</button>
  273. <button class="z-button z-red" onclick="doWorksDelete();"><i class="z-font z-delete"></i>删除作品</button>
  274. </div>
  275. </li>
  276. </#if>
  277. </ul>
  278. </div>
  279. </div>