fillLabelInfo.zml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <script>
  2. Z.onload(function(){
  3. var consumerType=${Jsons.toString(order.getConsumerType())};
  4. var labelIds=${Jsons.toString(order.getLabelIds())};
  5. var industryId=${Jsons.toString(order.getIndustryId())};
  6. var defaultLabel=${Jsons.toString(order.isDefaultLabel())};
  7. var htmlstr="";
  8. if(Z.V.isNotEmpty(consumerType)&&consumerType>0){
  9. Z("#consumerType_"+consumerType).addClass("z-blue").siblings("button").removeClass("z-blue");
  10. }
  11. if(Z.V.isNotEmpty(industryId)&&defaultLabel==false){
  12. htmlstr+='<button id="industry_'+industryId+'" type="button" class="z-button z-mg3" value="'+industryId+'" onclick="doQueryIndustryLabel('+industryId+')">'+${Jsons.toString(Global.get(DesignIndustryCache.class).getIndustryName(order.getIndustryId()))}+'</button>';
  13. Z("#mainIndustry").html(htmlstr);
  14. doQueryIndustryLabel(industryId);
  15. }
  16. if(Z.V.isNotEmpty(labelIds)){
  17. setTimeout(function(){
  18. var array = labelIds.split(",");
  19. for (var i in array) {
  20. Z("#label_"+array[i]).addClass("z-blue").siblings("button").removeClass("z-blue");
  21. }
  22. },500);
  23. }
  24. });
  25. //标签选择客户类型
  26. function doSelectConsumerType(flag){
  27. Z("#consumerType_"+flag).addClass("z-blue").siblings("button").removeClass("z-blue");
  28. }
  29. //通过关键词查主行业
  30. function doQueryIndustryByKey(){
  31. var industryKey=Z("#industryKey").val();
  32. var labelOid = Z("#labelOid").val();
  33. var unmatchkey=Z("#unmatchkey").val();
  34. var ajax = new Z.Ajax();
  35. ajax.setClassName("TemplateOrderPresenter");
  36. ajax.setMethodName("doQueryIndustryByKey");
  37. ajax.addParam("industryKey",industryKey);
  38. ajax.addParam("labelOid",labelOid);
  39. ajax.addParam("unmatchkey",unmatchkey);
  40. ajax.setFailureAlert();
  41. ajax.setSuccess(function(){
  42. var map=Z.J.toObject(this.responseText);
  43. var industrys=map.industrys;
  44. var newUnmatchkey=map.unmatchkey;
  45. var htmlstr="";
  46. Z.each(industrys, function(industry, i){
  47. htmlstr+='<button id="industry_'+industry.industryId+'" type="button" class="z-button z-mg3 main-industry" value="'+industry.industryId+'" onclick="doQueryIndustryLabel('+industry.industryId+')">'+industry.industryName+'</button>';
  48. });
  49. Z("#mainIndustry").html(htmlstr);
  50. Z("#subIndustry").html("");
  51. Z("#applicationScenario").html("");
  52. Z("#designStyle").html("");
  53. Z("#unmatchkey").val(newUnmatchkey);
  54. // 推荐行业页面元素遍历拼接
  55. var recommendIndHtml = "";
  56. var recommendIndustrys = map.recommendIndustryList;
  57. Z.each(recommendIndustrys, function(industry, i){
  58. recommendIndHtml += '<button id="recommend_industry_'+industry.industryId+'" type="button" class="z-button z-mg3 recommend-industry" value="'+industry.industryId+'" onclick="doQueryIndustryLabel('+industry.industryId+', 1)">'+industry.industryName+'</button>';
  59. });
  60. Z("#recommendIndustry").html(recommendIndHtml);
  61. });
  62. ajax.setLoading("queryIndustryByKey", '<i class="z-font z-return"></i>正在处理',{disabled:true});
  63. ajax.execute();
  64. }
  65. function doQueryOrderLabel(mediaId){
  66. var ajax = new Z.Ajax();
  67. ajax.setClassName("TemplateOrderPresenter");
  68. ajax.setMethodName("doTemplateOrderLabelQuery");
  69. ajax.addParam("mediaId", mediaId);
  70. ajax.setCallback("side_label");
  71. ajax.setLoading("side_label");
  72. ajax.execute();
  73. }
  74. //查询标签
  75. function doQueryIndustryLabel(industryId, isRecommend){
  76. if(isRecommend)
  77. {
  78. Z("#recommend_industry_"+industryId).addClass("z-blue").siblings("button").removeClass("z-blue");
  79. Z(".main-industry").removeClass("z-blue");
  80. }
  81. else
  82. {
  83. Z("#industry_"+industryId).addClass("z-blue").siblings("button").removeClass("z-blue");
  84. Z(".recommend-industry").removeClass("z-blue");
  85. }
  86. var ajax = new Z.Ajax();
  87. ajax.setClassName("TemplateOrderPresenter");
  88. ajax.setMethodName("doQueryIndustryLabel");
  89. ajax.addParam("industryId",industryId);
  90. ajax.setFailureAlert();
  91. ajax.setSuccess(function(){
  92. var map=Z.J.toObject(this.responseText);
  93. var htmlSI="";
  94. var htmlAS="";
  95. var htmlDS="";
  96. var labelList=map.labelList;
  97. var dimensionList=map.dimensionList;
  98. var dimensionMap=new Map();
  99. for (var i in dimensionList) {
  100. dimensionMap.set(dimensionList[i].dimensionId,dimensionList[i].dimensionName);
  101. }
  102. Z.each(labelList, function(label, i){
  103. if("子行业"==dimensionMap.get(label.dimensionId)){
  104. htmlSI+='<button id="label_'+label.id+'" type="button" class="z-button z-mg3" value="'+label.id+'" onclick="doLabelSelected('+label.id+')">'+label.labelName+'</button>';
  105. }
  106. if("应用场景"==dimensionMap.get(label.dimensionId)){
  107. htmlAS+='<button id="label_'+label.id+'" type="button" class="z-button z-mg3" value="'+label.id+'" onclick="doLabelSelected('+label.id+')">'+label.labelName+'</button>';
  108. }
  109. if("设计风格"==dimensionMap.get(label.dimensionId)){
  110. htmlDS+='<button id="label_'+label.id+'" type="button" class="z-button z-mg3" value="'+label.id+'" onclick="doLabelSelected('+label.id+')">'+label.labelName+'</button>';
  111. }
  112. });
  113. Z("#subIndustry").html(htmlSI);
  114. Z("#applicationScenario").html(htmlAS);
  115. Z("#designStyle").html(htmlDS);
  116. });
  117. ajax.execute();
  118. }
  119. //选择标签
  120. function doLabelSelected(id){
  121. Z("#label_"+id).addClass("z-blue").siblings("button").removeClass("z-blue");
  122. }
  123. //提交
  124. function doSaveLabel(){
  125. var unmatchkey=Z("#unmatchkey").val();
  126. var mark=Z("#mark").val();
  127. var labelOid = Z("#labelOid").val();
  128. var mediaId=Z("#mediaId").val();
  129. var consumerType=Z("button[id^='consumerType'][class*='z-blue']").val();//客户类型
  130. var industryId=Z("div[id='mainIndustry'] button[class*='z-blue']").val();//主行业
  131. // 如果选择了推荐行业则保存时替换为主行业id
  132. var recommendIndustryId = Z("div[id='recommendIndustry'] button[class*='z-blue']").val();// 推荐行业
  133. if (!industryId)
  134. {
  135. if (Z.V.isEmpty(recommendIndustryId))
  136. {
  137. Z.alert("请选择主行业或者推荐行业");
  138. return;
  139. }
  140. industryId = recommendIndustryId;
  141. }
  142. var subIndustryId=Z("div[id='subIndustry'] button[class*='z-blue']").val();//子行业
  143. var applicationScenarioId=Z("div[id='applicationScenario'] button[class*='z-blue']").val();//应用场景
  144. var designStyleId=Z("div[id='designStyle'] button[class*='z-blue']").val();//设计风格
  145. var ajax = new Z.Ajax();
  146. ajax.setClassName("TemplateOrderPresenter");
  147. ajax.setMethodName("doSaveIndustryLabel");
  148. ajax.addParam("labelOid",labelOid);
  149. ajax.addParam("consumerType",consumerType);
  150. ajax.addParam("industryId",industryId);
  151. ajax.addParam("subIndustryId",subIndustryId);
  152. ajax.addParam("applicationScenarioId",applicationScenarioId);
  153. ajax.addParam("designStyleId",designStyleId);
  154. ajax.addParam("unmatchkey",unmatchkey);
  155. ajax.addParam("flag",1);
  156. ajax.setFailureAlert();
  157. ajax.setSuccess(function(){
  158. Z("#unmatchkey").val("");
  159. if(mark==1){
  160. window.parent.doDraftOrderToComplete(labelOid);
  161. parent.Z.Dialog.close();
  162. }else if(mark!=1&&mediaId>0){
  163. window.parent.doPreviewFinalOrderTempalte(mediaId);
  164. parent.Z.Dialog.close();
  165. }else{
  166. Z.alert("模板不存在!")
  167. }
  168. });
  169. ajax.setLoading("saveLabel", '<i class="z-font z-return"></i>正在处理',{disabled:true});
  170. ajax.execute();
  171. }
  172. </script>
  173. <input id="mark" type="hidden" value="${mark}">
  174. <input id="labelOid" type="hidden" value="${order.getDesignId()}">
  175. <input id="mediaId" type="hidden" value="${mediaId}">
  176. <input id="unmatchkey" type="hidden" value="">
  177. <table class="z-table z-bordered z-bg-white">
  178. <tr class="z-h40">
  179. <td align="center" colspan="2">行业关键词:</td>
  180. <td colspan="4">
  181. <input id="industryKey" name="industryKey" class="z-input z-w400" placeholder="请输入行业关键词" >
  182. <button id="queryIndustryByKey" type="button" class="z-button z-blue" onclick="doQueryIndustryByKey()">匹配</button>
  183. </td>
  184. </tr>
  185. <tr class="z-h40">
  186. <td align="center" colspan="2">主行业:</td>
  187. <td colspan="4">
  188. <div id="mainIndustry" class="z-show-ib z-w100p"></div>
  189. </td>
  190. </tr>
  191. <tr class="z-h40">
  192. <td align="center" colspan="2">推荐行业:</td>
  193. <td colspan="4">
  194. <div id="recommendIndustry" class="z-show-ib z-w100p"></div>
  195. </td>
  196. </tr>
  197. <tr class="z-h40">
  198. <td align="center" colspan="2">子行业:</td>
  199. <td colspan="4">
  200. <div id="subIndustry" class="z-show-ib z-w100p"></div>
  201. </td>
  202. </tr>
  203. <tr class="z-h40">
  204. <td align="center" colspan="2">应用场景:</td>
  205. <td colspan="4">
  206. <div id="applicationScenario" class="z-show-ib z-w100p"></div>
  207. </td>
  208. </tr>
  209. <tr class="z-h40">
  210. <td align="center" colspan="2">设计风格:</td>
  211. <td colspan="4">
  212. <div id="designStyle" class="z-show-ib z-w100p"></div>
  213. </td>
  214. </tr>
  215. <tr class="z-h40">
  216. <td align="center" colspan="2">客户类型:</td>
  217. <td colspan="4">
  218. <div class="z-show-ib z-w100p">
  219. <#for item : Global.get(CustomerTypeCache.class).getCustomerTypeCacheAll()>
  220. <button id="consumerType_${item.getCustomerTypeId()}" name="consumerType" type="button" class="z-button <#if order.getConsumerType()==item.getCustomerTypeId()>z-blue</#if>" value="${item.getCustomerTypeId()}" onclick="doSelectConsumerType(${item.getCustomerTypeId()})">${item.getCustomerTypeName()}</button>
  221. </#for>
  222. </div>
  223. </td>
  224. </tr>
  225. </table>
  226. <#-- 操作 -->
  227. <div class="z-relative z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">
  228. <button type="button" id="saveLabel" class="z-button ${zmr_color_class} z-large z-w150" onclick="doSaveLabel();" >确认</button>&nbsp;&nbsp;
  229. <button type="button" class="z-button z-large z-mg-l10 z-w100" onclick="parent.Z.Dialog.close();">关闭</button>
  230. </div>