Bladeren bron

Merge remote-tracking branch 'origin/developerB' into developerB

plf 4 jaren geleden
bovenliggende
commit
39e0ffc664
96 gewijzigde bestanden met toevoegingen van 3149 en 262 verwijderingen
  1. 2 0
      src/main/java/com/caimei/modules/cmpage/dao/CmPageCentreDao.java
  2. 5 0
      src/main/java/com/caimei/modules/cmpage/service/CmPageCentreService.java
  3. 29 2
      src/main/java/com/caimei/modules/cmpage/web/CmPageCentreController.java
  4. 9 2
      src/main/java/com/caimei/modules/cmpage/web/CmPageController.java
  5. 91 0
      src/main/java/com/caimei/modules/newhome/entity/NewPageFloorContent.java
  6. 40 1
      src/main/java/com/caimei/modules/newhome/entity/NewPageFloorImage.java
  7. 16 0
      src/main/java/com/caimei/modules/newhome/service/NewPageFloorService.java
  8. 69 0
      src/main/java/com/caimei/modules/newhome/web/NewPageFloorController.java
  9. 1 0
      src/main/java/com/caimei/modules/order/web/CmDiscernReceiptController.java
  10. 1 1
      src/main/java/com/caimei/modules/product/service/ProductService.java
  11. 2 1
      src/main/java/com/caimei/modules/product/web/CmSecondHandDetailController.java
  12. 7 0
      src/main/java/com/caimei/modules/user/web/CmUserBalanceRecordController.java
  13. 1 0
      src/main/java/com/caimei/modules/weisha/service/CmOrganizeProductService.java
  14. 10 0
      src/main/java/com/caimei/modules/zplm/entity/CmBrandAuthProduct.java
  15. 11 1
      src/main/java/com/caimei/modules/zplm/service/CmBrandAuthProductService.java
  16. 11 4
      src/main/java/com/caimei/modules/zplm/web/CmBrandAuthProductController.java
  17. 6 0
      src/main/resources/mappings/modules/cmpage/CmPageCentreMapper.xml
  18. 18 9
      src/main/resources/mappings/modules/newhome/NewPageFloorMapper.xml
  19. 3 0
      src/main/resources/mappings/modules/order/CmDiscernReceiptMapper.xml
  20. 1 1
      src/main/resources/mappings/modules/zplm/CmBrandAuthProductMapper.xml
  21. 86 0
      src/main/webapp/WEB-INF/views/modules/cmpage/cmPageActivityCentreForm.jsp
  22. 195 0
      src/main/webapp/WEB-INF/views/modules/cmpage/cmPageActivityCentreList.jsp
  23. 144 0
      src/main/webapp/WEB-INF/views/modules/cmpage/cmPageActivityForm.jsp
  24. 7 2
      src/main/webapp/WEB-INF/views/modules/cmpage/cmPageList.jsp
  25. 1680 0
      src/main/webapp/WEB-INF/views/modules/newhome/activityFloorContentForm.jsp
  26. 311 0
      src/main/webapp/WEB-INF/views/modules/newhome/addActivityAdsImage.jsp
  27. 12 7
      src/main/webapp/WEB-INF/views/modules/newhome/addOtherImage.jsp
  28. 9 9
      src/main/webapp/WEB-INF/views/modules/newhome/newPageFloorContentForm.jsp
  29. 1 1
      src/main/webapp/WEB-INF/views/modules/newhome/showTemplate.jsp
  30. 22 18
      src/main/webapp/WEB-INF/views/modules/order/checkPaymentOrder.jsp
  31. 20 14
      src/main/webapp/WEB-INF/views/modules/order/cmDiscernReceiptList.jsp
  32. 5 4
      src/main/webapp/WEB-INF/views/modules/order/cmPayShopCheck.jsp
  33. 5 4
      src/main/webapp/WEB-INF/views/modules/order/cmPayShopDetail.jsp
  34. 5 4
      src/main/webapp/WEB-INF/views/modules/order/cmPayShopEdit.jsp
  35. 5 4
      src/main/webapp/WEB-INF/views/modules/order/cmPayShopForm.jsp
  36. 5 3
      src/main/webapp/WEB-INF/views/modules/order/cmPayShopList.jsp
  37. 5 4
      src/main/webapp/WEB-INF/views/modules/order/cmRefundRecordList.jsp
  38. 5 4
      src/main/webapp/WEB-INF/views/modules/order/cmRefundShopDetail.jsp
  39. 5 4
      src/main/webapp/WEB-INF/views/modules/order/cmRefundShopForm.jsp
  40. 5 4
      src/main/webapp/WEB-INF/views/modules/order/payedAndRefundRecordList.jsp
  41. 22 18
      src/main/webapp/WEB-INF/views/modules/order/refundRecord.jsp
  42. 3 3
      src/main/webapp/WEB-INF/views/modules/user/cmUserBalanceRecordList.jsp
  43. 259 133
      src/main/webapp/WEB-INF/views/modules/zplm/cmBrandAuthProductList.jsp
  44. BIN
      src/main/webapp/static/images/downQrCodeBackground.png
  45. BIN
      src/main/webapp/static/images/qrCodeBackground.png
  46. BIN
      src/main/webapp/static/template/activity/applets/1.png
  47. BIN
      src/main/webapp/static/template/activity/applets/10.png
  48. BIN
      src/main/webapp/static/template/activity/applets/11.png
  49. BIN
      src/main/webapp/static/template/activity/applets/12.png
  50. BIN
      src/main/webapp/static/template/activity/applets/13.png
  51. BIN
      src/main/webapp/static/template/activity/applets/14.png
  52. BIN
      src/main/webapp/static/template/activity/applets/15.png
  53. BIN
      src/main/webapp/static/template/activity/applets/16.png
  54. BIN
      src/main/webapp/static/template/activity/applets/17.png
  55. BIN
      src/main/webapp/static/template/activity/applets/18.png
  56. BIN
      src/main/webapp/static/template/activity/applets/19.png
  57. BIN
      src/main/webapp/static/template/activity/applets/2.png
  58. BIN
      src/main/webapp/static/template/activity/applets/20.png
  59. BIN
      src/main/webapp/static/template/activity/applets/21.png
  60. BIN
      src/main/webapp/static/template/activity/applets/3.png
  61. BIN
      src/main/webapp/static/template/activity/applets/4.png
  62. BIN
      src/main/webapp/static/template/activity/applets/5.png
  63. BIN
      src/main/webapp/static/template/activity/applets/6.png
  64. BIN
      src/main/webapp/static/template/activity/applets/7.png
  65. BIN
      src/main/webapp/static/template/activity/applets/8.png
  66. BIN
      src/main/webapp/static/template/activity/applets/9.png
  67. BIN
      src/main/webapp/static/template/activity/pc/1.png
  68. BIN
      src/main/webapp/static/template/activity/pc/10.png
  69. BIN
      src/main/webapp/static/template/activity/pc/11.png
  70. BIN
      src/main/webapp/static/template/activity/pc/12.png
  71. BIN
      src/main/webapp/static/template/activity/pc/13.png
  72. BIN
      src/main/webapp/static/template/activity/pc/14.png
  73. BIN
      src/main/webapp/static/template/activity/pc/15.png
  74. BIN
      src/main/webapp/static/template/activity/pc/16.png
  75. BIN
      src/main/webapp/static/template/activity/pc/17.png
  76. BIN
      src/main/webapp/static/template/activity/pc/18.png
  77. BIN
      src/main/webapp/static/template/activity/pc/19.png
  78. BIN
      src/main/webapp/static/template/activity/pc/2.png
  79. BIN
      src/main/webapp/static/template/activity/pc/20.png
  80. BIN
      src/main/webapp/static/template/activity/pc/21.png
  81. BIN
      src/main/webapp/static/template/activity/pc/3.png
  82. BIN
      src/main/webapp/static/template/activity/pc/4.png
  83. BIN
      src/main/webapp/static/template/activity/pc/5.png
  84. BIN
      src/main/webapp/static/template/activity/pc/6.png
  85. BIN
      src/main/webapp/static/template/activity/pc/7.png
  86. BIN
      src/main/webapp/static/template/activity/pc/8.png
  87. BIN
      src/main/webapp/static/template/activity/pc/9.png
  88. BIN
      src/main/webapp/static/template/product/A.png
  89. BIN
      src/main/webapp/static/template/product/B.png
  90. BIN
      src/main/webapp/static/template/product/C.png
  91. BIN
      src/main/webapp/static/template/product/D.png
  92. BIN
      src/main/webapp/static/template/product/E.png
  93. BIN
      src/main/webapp/static/template/product/F.png
  94. BIN
      src/main/webapp/static/template/product/G.png
  95. BIN
      src/main/webapp/static/template/product/H.png
  96. BIN
      src/main/webapp/static/template/product/tem.png

+ 2 - 0
src/main/java/com/caimei/modules/cmpage/dao/CmPageCentreDao.java

@@ -33,4 +33,6 @@ public interface CmPageCentreDao extends CrudDao<CmPageCentre> {
     List<NewPageFloorImage> findFloorImage(Integer centreId);
 
     void deletePageImage(String centreId);
+
+    String findPageTitle(String pageId);
 }

+ 5 - 0
src/main/java/com/caimei/modules/cmpage/service/CmPageCentreService.java

@@ -127,4 +127,9 @@ public class CmPageCentreService extends CrudService<CmPageCentreDao, CmPageCent
         floorContent.setFloorImageList(floorImageList);
         return floorContent;
     }
+
+    public String findPageTitle(String pageId) {
+        return cmPageCentreDao.findPageTitle(pageId);
+    }
+
 }

+ 29 - 2
src/main/java/com/caimei/modules/cmpage/web/CmPageCentreController.java

@@ -69,10 +69,18 @@ public class CmPageCentreController extends BaseController {
     public String list(CmPageCentre cmPageCentre, HttpServletRequest request, HttpServletResponse response, Model model) {
         Page<CmPageCentre> page = cmPageCentreService.findPage(new Page<CmPageCentre>(request, response), cmPageCentre);
         model.addAttribute("page", page);
+        if (StringUtils.isNotBlank(cmPageCentre.getPageId())) {
+            String pageTitle = cmPageCentreService.findPageTitle(cmPageCentre.getPageId());
+            model.addAttribute("pageTitle", pageTitle);
+        }
         //分页详情商品楼层
         if ("5".equals(cmPageCentre.getType())) {
             return "modules/cmpage/cmPageDetailsCentreList";
         }
+        //活动专题商品楼层
+        if ("6".equals(cmPageCentre.getType())) {
+            return "modules/cmpage/cmPageActivityCentreList";
+        }
         return "modules/cmpage/cmPageCentreList";
     }
 
@@ -84,6 +92,10 @@ public class CmPageCentreController extends BaseController {
         if ("5".equals(cmPageCentre.getType())) {
             return "modules/cmpage/cmPageDetailsCentreForm";
         }
+        //活动专题商品楼层
+        if ("6".equals(cmPageCentre.getType())) {
+            return "modules/cmpage/cmPageActivityCentreForm";
+        }
         return "modules/cmpage/cmPageCentreForm";
     }
 
@@ -95,8 +107,13 @@ public class CmPageCentreController extends BaseController {
         }
         cmPageCentreService.save(cmPageCentre);
         addMessage(redirectAttributes, "保存成功");
-        //清除产品仪器缓存
-        redisService.removePattern("instrumentData*");
+        if ("5".equals(cmPageCentre.getType())) {
+            //清除产品仪器缓存
+            redisService.removePattern("instrumentData*");
+        } else if ("6".equals(cmPageCentre.getType())) {
+            //清除活动专题缓存
+            redisService.removePattern("activityData*");
+        }
         return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + cmPageCentre.getPageId() + "&type=" + cmPageCentre.getType();
     }
 
@@ -104,6 +121,10 @@ public class CmPageCentreController extends BaseController {
     @RequestMapping(value = "delete")
     public String delete(CmPageCentre cmPageCentre, RedirectAttributes redirectAttributes) {
         cmPageCentreService.delete(cmPageCentre);
+        if ("6".equals(cmPageCentre.getType())) {
+            //清除活动专题缓存
+            redisService.removePattern("activityData*");
+        }
         addMessage(redirectAttributes, "删除成功");
         return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + cmPageCentre.getPageId() + "&type=" + cmPageCentre.getType();
     }
@@ -186,6 +207,8 @@ public class CmPageCentreController extends BaseController {
             }
             //清除产品仪器缓存
             redisService.removePattern("instrumentData*");
+            //清除活动专题缓存
+            redisService.removePattern("activityData*");
             map.put("success", true);
             map.put("msg", "更新排序成功");
             return map;
@@ -200,7 +223,11 @@ public class CmPageCentreController extends BaseController {
     public String goContentPage(NewPageFloorContent newPageFloorContent, Model model) {
         NewPageFloorContent floorContent = cmPageCentreService.findFloorContent(newPageFloorContent.getCentreId());
         floorContent.setPageId(newPageFloorContent.getPageId());
+        floorContent.setType(newPageFloorContent.getType());
         model.addAttribute("floorContent", floorContent);
+        if ("6".equals(newPageFloorContent.getType())) {
+            return "modules/newhome/activityFloorContentForm";
+        }
         return "modules/newhome/newPageFloorContentForm";
     }
 }

+ 9 - 2
src/main/java/com/caimei/modules/cmpage/web/CmPageController.java

@@ -67,8 +67,8 @@ public class CmPageController extends BaseController {
     @RequiresPermissions("cmpage:cmPage:view")
     @RequestMapping(value = {"list", ""})
     public String list(CmPage cmPage, HttpServletRequest request, HttpServletResponse response, Model model) {
-        if (StringUtils.equals("2", cmPage.getFlag())) {// 2网页列表(1项目详情/2二级列表/4自由页面)
-            cmPage.getSqlMap().put("pageType", " AND (a.type=1 OR a.type=2 OR a.type=4 OR a.type=5)");
+        if (StringUtils.equals("2", cmPage.getFlag())) {// 2网页列表(1项目详情/2二级列表/4自由页面/5分类详情/6活动专题
+            cmPage.getSqlMap().put("pageType", " AND (a.type=1 OR a.type=2 OR a.type=4 OR a.type=5 OR a.type=6)");
         }
         Page<CmPage> page = cmPageService.findPage(new Page<CmPage>(request, response), cmPage);
         model.addAttribute("page", page);
@@ -99,6 +99,10 @@ public class CmPageController extends BaseController {
             }
             return "modules/cmpage/cmPageDetailsForm";
         }
+        // 网页列表中的活动专题
+        if (StringUtils.equals("26", cmPage.getFlag()) || StringUtils.equals("6", cmPage.getType())) {
+            return "modules/cmpage/cmPageActivityForm";
+        }
         return "modules/cmpage/cmLecturerPageForm";
     }
 
@@ -153,6 +157,9 @@ public class CmPageController extends BaseController {
         if ("2".equals(cmPage.getType())) {
             // 更新索引
             searchUitls.updateEquipmentIndex(Integer.parseInt(cmPage.getId()));
+        } else if ("6".equals(cmPage.getType())) {
+            //清除活动专题缓存
+            redisService.removePattern("activityData*");
         }
         if (StringUtils.equals("1", cmPage.getFlag())) { // 1讲师设置页面
             return "redirect:" + Global.getAdminPath() + "/cmpage/cmPage/form?id=1";

+ 91 - 0
src/main/java/com/caimei/modules/newhome/entity/NewPageFloorContent.java

@@ -42,6 +42,16 @@ public class NewPageFloorContent implements Serializable {
      */
     private String pcAdsImage3;
 
+    /**
+     * 网站广告图4
+     */
+    private String pcAdsImage4;
+
+    /**
+     * 网站广告图5
+     */
+    private String pcAdsImage5;
+
     /**
      * 移动端广告图1
      */
@@ -57,6 +67,16 @@ public class NewPageFloorContent implements Serializable {
      */
     private String appletsAdsImage3;
 
+    /**
+     * 移动端广告图4
+     */
+    private String appletsAdsImage4;
+
+    /**
+     * 移动端广告图5
+     */
+    private String appletsAdsImage5;
+
     /**
      * 广告跳转链接1
      */
@@ -72,6 +92,16 @@ public class NewPageFloorContent implements Serializable {
      */
     private String adsLink3;
 
+    /**
+     * 广告跳转链接4
+     */
+    private String adsLink4;
+
+    /**
+     * 广告跳转链接5
+     */
+    private String adsLink5;
+
     /**
      * 楼层标题
      */
@@ -92,6 +122,11 @@ public class NewPageFloorContent implements Serializable {
      */
     private List<NewPageFloorImage> floorImageList;
 
+    /**
+     * 5分类详情,6活动专题
+     */
+    private String type;
+
     public Integer getId() {
         return id;
     }
@@ -227,4 +262,60 @@ public class NewPageFloorContent implements Serializable {
     public void setPageId(String pageId) {
         this.pageId = pageId;
     }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getPcAdsImage4() {
+        return pcAdsImage4;
+    }
+
+    public void setPcAdsImage4(String pcAdsImage4) {
+        this.pcAdsImage4 = pcAdsImage4;
+    }
+
+    public String getPcAdsImage5() {
+        return pcAdsImage5;
+    }
+
+    public void setPcAdsImage5(String pcAdsImage5) {
+        this.pcAdsImage5 = pcAdsImage5;
+    }
+
+    public String getAppletsAdsImage4() {
+        return appletsAdsImage4;
+    }
+
+    public void setAppletsAdsImage4(String appletsAdsImage4) {
+        this.appletsAdsImage4 = appletsAdsImage4;
+    }
+
+    public String getAppletsAdsImage5() {
+        return appletsAdsImage5;
+    }
+
+    public void setAppletsAdsImage5(String appletsAdsImage5) {
+        this.appletsAdsImage5 = appletsAdsImage5;
+    }
+
+    public String getAdsLink4() {
+        return adsLink4;
+    }
+
+    public void setAdsLink4(String adsLink4) {
+        this.adsLink4 = adsLink4;
+    }
+
+    public String getAdsLink5() {
+        return adsLink5;
+    }
+
+    public void setAdsLink5(String adsLink5) {
+        this.adsLink5 = adsLink5;
+    }
 }

+ 40 - 1
src/main/java/com/caimei/modules/newhome/entity/NewPageFloorImage.java

@@ -31,16 +31,31 @@ public class NewPageFloorImage implements Serializable {
      */
     private String name;
 
+    /**
+     * 宣传内容
+     */
+    private String content;
+
     /**
      * 跳转链接
      */
     private String link;
 
     /**
-     * 图片
+     * PC图片
      */
     private String image;
 
+    /**
+     * 小程序图片
+     */
+    private String appletsImage;
+
+    /**
+     * 小程序内容宣传图
+     */
+    private String adsImage;
+
     /**
      * 标签
      */
@@ -161,4 +176,28 @@ public class NewPageFloorImage implements Serializable {
     public void setCreateDate(String createDate) {
         this.createDate = createDate;
     }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getAdsImage() {
+        return adsImage;
+    }
+
+    public void setAdsImage(String adsImage) {
+        this.adsImage = adsImage;
+    }
+
+    public String getAppletsImage() {
+        return appletsImage;
+    }
+
+    public void setAppletsImage(String appletsImage) {
+        this.appletsImage = appletsImage;
+    }
 }

+ 16 - 0
src/main/java/com/caimei/modules/newhome/service/NewPageFloorService.java

@@ -75,9 +75,16 @@ public class NewPageFloorService extends CrudService<NewPageFloorDao, NewPageFlo
         floorContent.setPcAdsImage1(UploadPicUtils.saveImageToServer(floorContent.getPcAdsImage1(), null));
         floorContent.setPcAdsImage2(UploadPicUtils.saveImageToServer(floorContent.getPcAdsImage2(), null));
         floorContent.setPcAdsImage3(UploadPicUtils.saveImageToServer(floorContent.getPcAdsImage3(), null));
+        floorContent.setPcAdsImage4(UploadPicUtils.saveImageToServer(floorContent.getPcAdsImage4(), null));
+        floorContent.setPcAdsImage5(UploadPicUtils.saveImageToServer(floorContent.getPcAdsImage5(), null));
         floorContent.setAppletsAdsImage1(UploadPicUtils.saveImageToServer(floorContent.getAppletsAdsImage1(), null));
         floorContent.setAppletsAdsImage2(UploadPicUtils.saveImageToServer(floorContent.getAppletsAdsImage2(), null));
         floorContent.setAppletsAdsImage3(UploadPicUtils.saveImageToServer(floorContent.getAppletsAdsImage3(), null));
+        floorContent.setAppletsAdsImage4(UploadPicUtils.saveImageToServer(floorContent.getAppletsAdsImage4(), null));
+        floorContent.setAppletsAdsImage5(UploadPicUtils.saveImageToServer(floorContent.getAppletsAdsImage5(), null));
+        if (StringUtils.isNotBlank(floorContent.getTemplateType()) && Integer.parseInt(floorContent.getTemplateType()) > 50) {
+            floorContent.setTemplateType((Integer.parseInt(floorContent.getTemplateType())-50)+"");
+        }
         if (floorContent.getId() == null) {
             newPageFloorDao.insertFloorContent(floorContent);
         } else {
@@ -92,7 +99,16 @@ public class NewPageFloorService extends CrudService<NewPageFloorDao, NewPageFlo
         if (StringUtils.isNotBlank(floorContent.getImages())) {
             List<NewPageFloorImage> floorImageList = JSON.parseArray(floorContent.getImages(), NewPageFloorImage.class);
             for (NewPageFloorImage floorImage : floorImageList) {
+                //图片处理
                 floorImage.setImage(UploadPicUtils.saveImageToServer(floorImage.getImage(), null));
+                floorImage.setAppletsImage(UploadPicUtils.saveImageToServer(floorImage.getAppletsImage(), null));
+                //换行符处理
+                if (StringUtils.isNotBlank(floorImage.getContent())) {
+                    floorImage.setContent(floorImage.getContent().replace("\n", ""));
+                }
+                if (StringUtils.isNotBlank(floorImage.getAdsImage())) {
+                    floorImage.setAdsImage(UploadPicUtils.saveImageToServer(floorImage.getAdsImage(), null));
+                }
                 if (floorContent.getFloorId() != null) {
                     floorImage.setFloorId(floorContent.getFloorId());
                 }

+ 69 - 0
src/main/java/com/caimei/modules/newhome/web/NewPageFloorController.java

@@ -211,6 +211,71 @@ public class NewPageFloorController extends BaseController {
         return "modules/newhome/addProductImage";
     }
 
+    /**
+     * 活动专题添加图片
+     */
+    @RequestMapping("/addActivityImage")
+    public String addActivityImage(Product product, String type, Integer templateType, Model model, HttpServletRequest request, HttpServletResponse response) {
+        if ("productImage".equals(type)) {
+            product.setValidFlag("2");
+            Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
+            model.addAttribute("page", page);
+            model.addAttribute("productCategory", product.getProductCategory());
+            model.addAttribute("productIds", product.getProductIds());
+            return "modules/newhome/addProductImage";
+        } else {
+            //图片建议尺寸
+            String pcImageSize = "";
+            String appletsImageSize = "";
+            if (templateType != null) {
+                if (templateType > 50) {
+                    //移动端模板序号处理
+                    templateType = templateType - 50;
+                }
+                if (templateType == 1) {
+                    pcImageSize = "184px*184px";
+                    appletsImageSize = "164px*164px";
+                } else if (templateType == 2) {
+                    pcImageSize = "384px*268px";
+                    appletsImageSize = "224px*156px";
+                } else if (templateType == 3) {
+                    pcImageSize = "168px*168px";
+                    appletsImageSize = "202px*202px";
+                } else if (templateType == 4) {
+                    pcImageSize = "584px*300px";
+                    appletsImageSize = "702px*360px";
+                } else if (templateType == 5 || templateType == 6) {
+                    pcImageSize = "384px*220px";
+                    if (templateType == 5) {
+                        appletsImageSize = "310px*220px";
+                    } else if (templateType == 6) {
+                        appletsImageSize = "339px*240px";
+                    }
+                } else if (templateType == 7) {
+                    pcImageSize = "284px*220px";
+                    appletsImageSize = "310px*240px";
+                } else if (templateType == 8 || templateType == 9) {
+                    pcImageSize = "584px*360px";
+                    if (templateType == 8) {
+                        appletsImageSize = "702px*360px";
+                    } else {
+                        appletsImageSize = "339px*210px";
+                    }
+                } else if (templateType == 10) {
+                    pcImageSize = "1184px*360px";
+                    appletsImageSize = "750px*342px";
+                }
+                pcImageSize = "建议图片尺寸" + pcImageSize;
+                appletsImageSize = "建议图片尺寸" + appletsImageSize;
+            }
+            model.addAttribute("pcImageSize", pcImageSize);
+            model.addAttribute("appletsImageSize", appletsImageSize);
+            model.addAttribute("type", type);
+            model.addAttribute("floorImage", new NewPageFloorImage());
+            return "modules/newhome/addActivityAdsImage";
+        }
+    }
+
     /**
      * 添加其他图片
      */
@@ -230,6 +295,10 @@ public class NewPageFloorController extends BaseController {
         addMessage(redirectAttributes, "保存成功");
         if (floorContent.getFloorId() != null) {
             return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
+        } else if (StringUtils.isNotBlank(floorContent.getType())){
+            //清除活动专题缓存
+            redisService.removePattern("activityData*");
+            return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=6";
         } else {
             //清除产品仪器缓存
             redisService.removePattern("instrumentData*");

+ 1 - 0
src/main/java/com/caimei/modules/order/web/CmDiscernReceiptController.java

@@ -93,6 +93,7 @@ public class CmDiscernReceiptController extends BaseController {
         //获取组织列表
         List<CmUserOrganize> cmUserOrganizeList = cmUserOrganizeService.findOrganize();
         model.addAttribute("cmUserOrganizeList", cmUserOrganizeList);
+        //
         model.addAttribute("page", page);
         return "modules/order/cmDiscernReceiptList";
     }

+ 1 - 1
src/main/java/com/caimei/modules/product/service/ProductService.java

@@ -451,7 +451,7 @@ public class ProductService extends CrudService<ProductDao, Product> {
         List<Product> productList = productDao.findProductImage(product);
         if (productList != null && productList.size() > 0) {
             productList.forEach(item -> {
-                item.setMainImage(AppUtils.getImageURL("product", item.getMainImage(), 0, Global.getConfig("wwwServer")));
+                item.setMainImage(AppUtils.getImageURL("product", item.getMainImage(), 0, "https://www.caimei365.com/"));
                 item.setProductIds(product.getProductIds());
             });
         }

+ 2 - 1
src/main/java/com/caimei/modules/product/web/CmSecondHandDetailController.java

@@ -146,7 +146,8 @@ public class CmSecondHandDetailController extends BaseController {
             // 计算是否还在180天内有效
             Calendar ca = Calendar.getInstance();
             ca.setTime(onLineDate);
-            ca.add(Calendar.DATE, 180);
+            //设置为day月前
+            ca.add(Calendar.MONTH, 3);
             onLineDate = ca.getTime();
             cmSecondHandDetail.setOnLineDate(onLineDate);
         }

+ 7 - 0
src/main/java/com/caimei/modules/user/web/CmUserBalanceRecordController.java

@@ -1,5 +1,6 @@
 package com.caimei.modules.user.web;
 
+import com.caimei.modules.order.dao.CmDiscernReceiptDao;
 import com.caimei.modules.order.dao.NewOrderDao;
 import com.caimei.modules.order.entity.NewOrder;
 import com.caimei.modules.user.dao.CmUserDao;
@@ -55,6 +56,8 @@ public class CmUserBalanceRecordController extends BaseController {
     private CmUserDao cmUserDao;
     @Resource
     private NewOrderDao newOrderDao;
+    @Resource
+    private CmDiscernReceiptDao cmDiscernReceiptDao;
 
     @ModelAttribute
     public CmUserBalanceRecord get(@RequestParam(required = false) String id) {
@@ -79,6 +82,10 @@ public class CmUserBalanceRecordController extends BaseController {
                     balanceRecord.setCloseReason(order.getCloseReason());
                 }
             }
+            if ("6".equals(balanceRecord.getBalanceType()) || "7".equals(balanceRecord.getBalanceType())) {
+                Integer lastReceiptDetailId = cmDiscernReceiptDao.findOrderLastReceiptDetailId(balanceRecord.getOrderId().toString());
+                balanceRecord.setReceiptId(lastReceiptDetailId);
+            }
         }
         CmUser cmUser = cmNormalUserService.get(String.valueOf(cmUserBalanceRecord.getUserId()));
         model.addAttribute("page", page);

+ 1 - 0
src/main/java/com/caimei/modules/weisha/service/CmOrganizeProductService.java

@@ -46,6 +46,7 @@ public class CmOrganizeProductService extends CrudService<CmOrganizeProductDao,
 		List<CmOrganizeProduct> productList = cmOrganizeProductDao.findList(cmOrganizeProduct);
 		DecimalFormat decimalFormat = new DecimalFormat("0000");
 		productList.forEach(product->{
+			product.setProductImage(AppUtils.getImageURL("product", product.getProductImage(), 0, ""));
 			//格式化组织商品Id
 			product.setId(decimalFormat.format(Integer.parseInt(product.getId())));
 			//比例成本价加上机构税费处理

+ 10 - 0
src/main/java/com/caimei/modules/zplm/entity/CmBrandAuthProduct.java

@@ -24,6 +24,8 @@ public class CmBrandAuthProduct extends DataEntity<CmBrandAuthProduct> {
 	private Date createTime;		// 创建时间
 	private String createUserName;	//创建人名称
 
+	private String displaySnCode; 	//二维码展示SN码
+
 
     private List<CmBrandProductParam> paramList;      //商品参数列表
 	
@@ -103,4 +105,12 @@ public class CmBrandAuthProduct extends DataEntity<CmBrandAuthProduct> {
     public void setParamList(List<CmBrandProductParam> paramList) {
         this.paramList = paramList;
     }
+
+	public String getDisplaySnCode() {
+		return displaySnCode;
+	}
+
+	public void setDisplaySnCode(String displaySnCode) {
+		this.displaySnCode = displaySnCode;
+	}
 }

+ 11 - 1
src/main/java/com/caimei/modules/zplm/service/CmBrandAuthProductService.java

@@ -41,7 +41,17 @@ public class CmBrandAuthProductService extends CrudService<CmBrandAuthProductDao
 	}
 	
 	public Page<CmBrandAuthProduct> findPage(Page<CmBrandAuthProduct> page, CmBrandAuthProduct cmBrandAuthProduct) {
-		return super.findPage(page, cmBrandAuthProduct);
+		Page<CmBrandAuthProduct> productPage = super.findPage(page, cmBrandAuthProduct);
+		productPage.getList().forEach(product->{
+			String displaySnCode = product.getSnCode();
+			if (displaySnCode.length() > 6) {
+				String prefixStr = displaySnCode.substring(0, 2);
+				String suffixStr = displaySnCode.substring(displaySnCode.length() - 4);
+				displaySnCode = prefixStr + "******" + suffixStr;
+			}
+			product.setDisplaySnCode(displaySnCode);
+		});
+		return productPage;
 	}
 	
 	@Transactional(readOnly = false)

+ 11 - 4
src/main/java/com/caimei/modules/zplm/web/CmBrandAuthProductController.java

@@ -6,7 +6,9 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.caimei.modules.live.entity.NewPageLive;
 import com.caimei.modules.zplm.dao.CmBrandAuthProductDao;
+import com.caimei.modules.zplm.entity.CmBrandAuth;
 import com.caimei.modules.zplm.entity.CmBrandProductParam;
+import com.caimei.modules.zplm.service.CmBrandAuthService;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -37,6 +39,8 @@ public class CmBrandAuthProductController extends BaseController {
 
 	@Autowired
 	private CmBrandAuthProductService cmBrandAuthProductService;
+	@Autowired
+	private CmBrandAuthService cmBrandAuthService;
 	@Resource
 	private CmBrandAuthProductDao cmBrandAuthProductDao;
 	
@@ -54,7 +58,12 @@ public class CmBrandAuthProductController extends BaseController {
 	
 	@RequestMapping(value = {"list", ""})
 	public String list(CmBrandAuthProduct cmBrandAuthProduct, HttpServletRequest request, HttpServletResponse response, Model model) {
-		Page<CmBrandAuthProduct> page = cmBrandAuthProductService.findPage(new Page<CmBrandAuthProduct>(request, response), cmBrandAuthProduct); 
+		Page<CmBrandAuthProduct> page = cmBrandAuthProductService.findPage(new Page<CmBrandAuthProduct>(request, response), cmBrandAuthProduct);
+		CmBrandAuth cmBrandAuth = new CmBrandAuth();
+		if (cmBrandAuthProduct.getAuthId() != null) {
+			cmBrandAuth = cmBrandAuthService.get(cmBrandAuthProduct.getAuthId().toString());
+		}
+		model.addAttribute("cmBrandAuth", cmBrandAuth);
 		model.addAttribute("page", page);
 		return "modules/zplm/cmBrandAuthProductList";
 	}
@@ -104,9 +113,7 @@ public class CmBrandAuthProductController extends BaseController {
 		}
 		CmBrandAuthProduct sameProduct = cmBrandAuthProductDao.findSameProduct(cmBrandAuthProduct);
 		if (null != sameProduct) {
-			if (cmBrandAuthProduct.getName().equals(sameProduct.getName())) {
-				model.addAttribute("errorMsg", "该品牌授权下的"+sameProduct.getName()+"商品名称已存在,请勿重复添加");
-			}else if (cmBrandAuthProduct.getSnCode().equals(sameProduct.getSnCode())) {
+			if (cmBrandAuthProduct.getSnCode().equals(sameProduct.getSnCode())) {
 				model.addAttribute("errorMsg", "该品牌授权下的"+sameProduct.getSnCode()+"商品SN码已存在,请勿重复添加");
 			}
 			return true;

+ 6 - 0
src/main/resources/mappings/modules/cmpage/CmPageCentreMapper.xml

@@ -181,8 +181,11 @@
 		  centreId,
 		  productId,
 		  `name`,
+		  content,
 		  link,
 		  image,
+		  appletsImage,
+		  adsImage,
 		  `label`,
 		  pcStatus,
 		  appletsStatus,
@@ -193,6 +196,9 @@
 		WHERE
 		  centreId = #{centreId}
 	</select>
+	<select id="findPageTitle" resultType="java.lang.String">
+		select title from cm_page where id = #{pageId}
+	</select>
 
 	<delete id="deletePageImage">
 		DELETE cpi,cpci FROM

+ 18 - 9
src/main/resources/mappings/modules/newhome/NewPageFloorMapper.xml

@@ -153,8 +153,11 @@
 		  floorId,
 		  productId,
 		  `name`,
+		  content,
 		  link,
 		  image,
+		  appletsImage,
+		  adsImage,
 		  `label`,
 		  pcStatus,
 		  appletsStatus,
@@ -169,16 +172,16 @@
 	<insert id="insertFloorContent">
 		INSERT INTO `new_page_floor_content` (
 		  `floorId`, `templateType`, `pcAdsImage1`,
-		  `pcAdsImage2`, `pcAdsImage3`, `appletsAdsImage1`,
-		  `appletsAdsImage2`, `appletsAdsImage3`,adsLink1,
-		  adsLink2, adsLink3, centreId
+		  `pcAdsImage2`, `pcAdsImage3`, `pcAdsImage4`, `pcAdsImage5`, `appletsAdsImage1`,
+		  `appletsAdsImage2`, `appletsAdsImage3`,`appletsAdsImage4`, `appletsAdsImage5`,adsLink1,
+		  adsLink2, adsLink3,adsLink4, adsLink5, centreId
 		)
 		VALUES
 		  (
 			#{floorId}, #{templateType}, #{pcAdsImage1},
-			#{pcAdsImage2}, #{pcAdsImage3}, #{appletsAdsImage1},
-			#{appletsAdsImage2}, #{appletsAdsImage3}, #{adsLink1},
-			#{adsLink2}, #{adsLink3}, #{centreId}
+			#{pcAdsImage2}, #{pcAdsImage3},#{pcAdsImage4}, #{pcAdsImage5}, #{appletsAdsImage1},
+			#{appletsAdsImage2}, #{appletsAdsImage3}, #{appletsAdsImage4}, #{appletsAdsImage5}, #{adsLink1},
+			#{adsLink2}, #{adsLink3}, #{adsLink4}, #{adsLink5}, #{centreId}
 		  )
 	</insert>
 
@@ -192,12 +195,18 @@
 		  `pcAdsImage1` = #{pcAdsImage1},
 		  `pcAdsImage2` = #{pcAdsImage2},
 		  `pcAdsImage3` = #{pcAdsImage3},
+		  `pcAdsImage4` = #{pcAdsImage4},
+		  `pcAdsImage5` = #{pcAdsImage5},
 		  `appletsAdsImage1` = #{appletsAdsImage1},
 		  `appletsAdsImage2` = #{appletsAdsImage2},
 		  `appletsAdsImage3` = #{appletsAdsImage3},
+		  `appletsAdsImage4` = #{appletsAdsImage4},
+		  `appletsAdsImage5` = #{appletsAdsImage5},
 		  `adsLink1` = #{adsLink1},
 		  `adsLink2` = #{adsLink2},
-		  `adsLink3` = #{adsLink3}
+		  `adsLink3` = #{adsLink3},
+		  `adsLink4` = #{adsLink4},
+		  `adsLink5` = #{adsLink5}
 		WHERE `id` = #{id}
 	</update>
 
@@ -216,13 +225,13 @@
 	<insert id="insertFloorImage">
 		INSERT INTO `new_page_floor_image` (
 		  `floorId`, `productId`, `name`, `link`,
-		  `image`, `label`, `pcStatus`, `appletsStatus`,
+		  `image`,`appletsImage`, `adsImage`, `label`, `content`, `pcStatus`, `appletsStatus`,
 		  `sort`, `createDate`, centreId
 		)
 		VALUES
 		  (
 			#{floorId}, #{productId}, #{name}, #{link},
-			#{image}, #{label}, #{pcStatus}, #{appletsStatus},
+			#{image},#{appletsImage}, #{adsImage}, #{label}, #{content}, #{pcStatus}, #{appletsStatus},
 			#{sort}, #{createDate}, #{centreId}
 		  )
 	</insert>

+ 3 - 0
src/main/resources/mappings/modules/order/CmDiscernReceiptMapper.xml

@@ -90,6 +90,9 @@
             <if test="payWay != null and payWay != ''">
                 AND a.payWay = #{payWay}
             </if>
+            <if test="payType != null and payType != ''">
+                AND a.payType = #{payType}
+            </if>
             <if test="receiptType != null and receiptType != ''">
                 AND a.receiptType = #{receiptType}
             </if>

+ 1 - 1
src/main/resources/mappings/modules/zplm/CmBrandAuthProductMapper.xml

@@ -73,7 +73,7 @@
 	</select>
 	<select id="findSameProduct" resultType="com.caimei.modules.zplm.entity.CmBrandAuthProduct">
 		select name,snCode from cm_brand_auth_product
-		where (name = #{name} or snCode = #{snCode}) and authId = #{authId}
+		where snCode = #{snCode} and authId = #{authId}
 		<if test="id != null and id != ''">
 			and id != #{id}
 		</if>

+ 86 - 0
src/main/webapp/WEB-INF/views/modules/cmpage/cmPageActivityCentreForm.jsp

@@ -0,0 +1,86 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+    <title>分类详情商品楼层添加</title>
+    <meta name="decorator" content="default"/>
+    <script type="text/javascript">
+        $(document).ready(function() {
+            //$("#name").focus();
+            $("#inputForm").validate({
+                submitHandler: function(form){
+                    loading('正在提交,请稍等...');
+                    form.submit();
+                },
+                errorContainer: "#messageBox",
+                errorPlacement: function(error, element) {
+                    $("#messageBox").text("输入有误,请先更正。");
+                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+                        error.appendTo(element.parent().parent());
+                    } else {
+                        error.insertAfter(element);
+                    }
+                }
+            });
+        });
+
+        /**
+         * @param obj
+         * jquery控制input只能输入数字
+         */
+        function onlynum(obj) {
+            obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+        }
+    </script>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/cmpage/cmPageCentre/?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}">活动专题商品楼层</a></li>
+    <li class="active"><a href="${ctx}/cmpage/cmPageCentre/form?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}">${not empty cmPageCentre.id?'编辑':'添加'}</a></li>
+</ul><br/>
+<form:form id="inputForm" modelAttribute="cmPageCentre" action="${ctx}/cmpage/cmPageCentre/save" method="post" class="form-horizontal">
+    <form:hidden path="id"/>
+    <form:hidden path="pageId"/>
+    <form:hidden path="type"/>
+    <sys:message content="${message}"/>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>楼层标题:</label>
+        <div class="controls">
+            <form:input path="title" htmlEscape="false" maxlength="20" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>描述:</label>
+        <div class="controls">
+            <form:input path="description" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>排序:</label>
+        <div class="controls">
+            <form:input path="sort" onkeyup="onlynum(this)" htmlEscape="false" maxlength="11" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group crmstatus" style="" >
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>PC端状态:</label>
+        <div class="controls">
+            <form:select path="enabledStatus" class="input-xlarge required">
+                <form:options items="${fns:getDictList('enabled_status')}" itemLabel="label" itemValue="value" htmlEscape="false" label="${fns:getDictList('enabled_status')[0]}"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="control-group crmstatus" style="" >
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>小程序状态:</label>
+        <div class="controls">
+            <form:select path="crmEnabledStatus" class="input-xlarge required">
+                <form:options items="${fns:getDictList('enabled_status')}" itemLabel="label" itemValue="value" htmlEscape="false" label="${fns:getDictList('enabled_status')[0]}"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="form-actions">
+        <shiro:hasPermission name="newhome:newPageFloor:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;</shiro:hasPermission>
+        <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+    </div>
+</form:form>
+</body>
+</html>

+ 195 - 0
src/main/webapp/WEB-INF/views/modules/cmpage/cmPageActivityCentreList.jsp

@@ -0,0 +1,195 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+    <title>分类详情商品楼层</title>
+    <meta name="decorator" content="default"/>
+    <style type="text/css">
+        .table th {
+            text-align: center;
+        }
+
+        .table td {
+            text-align: center;
+        }
+    </style>
+    <script type="text/javascript">
+        $(document).ready(function () {
+
+        });
+
+        function page(n, s) {
+            $("#pageNo").val(n);
+            $("#pageSize").val(s);
+            $("#searchForm").submit();
+            return false;
+        }
+
+        //PC端状态修改
+        function updateEnabledStatus(status, ids) {
+            var msg = '确定启用该楼层吗?';
+            if ('0' == status) {
+                msg = '确定停用该楼层吗?';
+            }
+            top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+                if (v == 'ok') {
+                    $.post("${ctx}/cmpage/cmPageCentre/updateEnabledStatus", {
+                        'enabledStatus': status,
+                        'ids': ids
+                    }, function (data) {
+                        if (true == data.success) {
+                            $.jBox.tip(data.msg, 'info');
+                        } else {
+                            $.jBox.tip(data.msg, 'error');
+                        }
+                        window.location = "${ctx}/cmpage/cmPageCentre/?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}";
+                    }, "JSON");//这里返回的类型有:json,html,xml,text
+                }
+                return;
+            }, {buttonsFocus: 1, persistent: true});
+        }
+
+
+        //CRM端状态修改
+        function updateCrmEnabledStatusByIds(status, ids) {
+            var msg = '确定启用该楼层吗?';
+            if ('0' == status) {
+                msg = '确定停用该楼层吗?';
+            }
+            top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+                if (v == 'ok') {
+                    $.post("${ctx}/cmpage/cmPageCentre/updateCrmEnabledStatusByIds", {
+                        'crmEnabledStatus': status,
+                        'ids': ids
+                    }, function (data) {
+                        if (true == data.success) {
+                            $.jBox.tip(data.msg, 'info');
+                        } else {
+                            $.jBox.tip(data.msg, 'error');
+                        }
+                        window.location = "${ctx}/cmpage/cmPageCentre/?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}";
+                    }, "JSON");//这里返回的类型有:json,html,xml,text
+                }
+                return;
+            }, {buttonsFocus: 1, persistent: true});
+        }
+
+        /**
+         * @param obj
+         * jquery控制input只能输入数字
+         */
+        function onlynum(obj) {
+            obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+        }
+
+        //批量保存排序
+        function batchSaveSort() {
+            var items = new Array();
+            var $items = $('.check-item');
+            $items.each(function () {
+                items.push($(this).val());
+            });
+            //保存批量排序
+            $.post("${ctx}/cmpage/cmPageCentre/batchSaveSort?sortList=" + items, function (data) {
+                if (true == data.success) {
+                    $.jBox.tip(data.msg, 'info');
+                    window.location.href = "${ctx}/cmpage/cmPageCentre/?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}";
+                } else {
+                    $.jBox.tip(data.msg, 'error');
+                }
+            }, "JSON");//这里返回的类型有:json,html,xml,text
+        }
+
+        //修改排序值
+        function changeSort(id, sortThis) {
+            var value = sortThis.value;
+            $("#preferredProductSort" + id).val(id + "-" + value);
+        }
+    </script>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/cmpage/cmPage/?flag=2">网页列表</a></li>
+    <li class="active"><a href="${ctx}/cmpage/cmPageCentre/?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}">活动专题商品楼层</a>
+    </li>
+</ul>
+<div>
+    <label style="font-weight: bold;margin:10px 15px">网页标题:${pageTitle}</label>
+</div>
+<form:form action="" class="breadcrumb form-search">
+    <input class="btn btn-primary" style="width: 70px" onclick="batchSaveSort()" value="一键排序"/>&nbsp;&nbsp;&nbsp;&nbsp;
+    <input class="btn btn-primary" style="width: 70px"
+           onclick="window.location='${ctx}/cmpage/cmPageCentre/form?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}'"
+           value="添加楼层"/>
+    <div style="margin-top: 10px">
+        <label><font color="#a9a9a9">注:排序值越小越靠前</font></label>
+    </div>
+</form:form>
+<sys:message content="${message}"/>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+    <thead>
+    <tr>
+        <th>ID</th>
+        <th>楼层名称</th>
+        <th>描述</th>
+        <th>网站状态</th>
+        <th>小程序状态</th>
+        <th>排序</th>
+        <th>创建时间</th>
+        <shiro:hasPermission name="newhome:newPageFloor:edit">
+            <th>操作</th>
+        </shiro:hasPermission>
+    </tr>
+    </thead>
+    <tbody>
+    <c:forEach items="${page.list}" var="newPageFloor">
+        <tr>
+            <input class="check-item" type="hidden" id="preferredProductSort${newPageFloor.id}"
+                   value='${newPageFloor.id}-${newPageFloor.sort}'/>
+            <td>${newPageFloor.id}</td>
+            <td>${newPageFloor.title}</td>
+            <td>${newPageFloor.description}</td>
+            <td>
+                <c:if test="${newPageFloor.enabledStatus eq 1 }">
+                    <font color="green">已启用</font>
+                    <a href="javascript:void(0);" onclick="updateEnabledStatus('0','${newPageFloor.id}');">
+                        停用
+                    </a>
+                </c:if>
+                <c:if test="${newPageFloor.enabledStatus ne 1 }">
+                    <font color="red">已停用</font>
+                    <a href="javascript:void(0)" onclick="updateEnabledStatus('1','${newPageFloor.id}');">
+                        启用
+                    </a>
+                </c:if>
+            </td>
+            <td>
+                <c:if test="${newPageFloor.crmEnabledStatus eq 1 }">
+                    <font color="green">已启用</font>
+                    <a href="javascript:void(0);" onclick="updateCrmEnabledStatusByIds('0','${newPageFloor.id}');">
+                        停用
+                    </a>
+                </c:if>
+                <c:if test="${newPageFloor.crmEnabledStatus ne 1 }">
+                    <font color="red">已停用</font>
+                    <a href="javascript:void(0)" onclick="updateCrmEnabledStatusByIds('1','${newPageFloor.id}');">
+                        启用
+                    </a>
+                </c:if>
+            </td>
+            <td><input id="sort" name="sort" style="width:50px;" value="${newPageFloor.sort}" onkeyup="onlynum(this)"
+                       onchange="changeSort(${newPageFloor.id},this)"></td>
+            <td><fmt:formatDate value="${newPageFloor.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
+            <td>
+                <a href="${ctx}/cmpage/cmPageCentre/form?pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}&id=${newPageFloor.id}">编辑</a>
+                <a href="${ctx}/cmpage/cmPageCentre/goContentPage?centreId=${newPageFloor.id}&pageId=${cmPageCentre.pageId}&type=${cmPageCentre.type}">内容</a>
+                <a href="${ctx}/cmpage/cmPageCentre/delete?id=${newPageFloor.id}&type=${cmPageCentre.type}"
+                   onclick="return confirmx('是否删除该数据,删除后,对应的楼层数据也将被全部删除,确认是否删除', this.href)">删除</a>
+            </td>
+        </tr>
+    </c:forEach>
+    </tbody>
+</table>
+<div class="pagination">${page}</div>
+</body>
+</html>

+ 144 - 0
src/main/webapp/WEB-INF/views/modules/cmpage/cmPageActivityForm.jsp

@@ -0,0 +1,144 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+    <title>新增活动专题页面</title>
+    <meta name="decorator" content="default"/>
+    <script type="text/javascript">
+        $(document).ready(function() {
+            //$("#name").focus();
+            $("#inputForm").validate({
+                ignore:"",
+                submitHandler: function(form){
+                    loading('正在提交,请稍等...');
+                    form.submit();
+                },
+                errorContainer: "#messageBox",
+                errorPlacement: function(error, element) {
+                    $("#messageBox").text("输入有误,请先更正。");
+                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+                        error.appendTo(element.parent().parent());
+                    } else {
+                        error.insertAfter(element);
+                    }
+                }
+            });
+            //获取选中项的value
+            var showBackgroundColor =  $('#showBackgroundColor');
+            var showBackgroundImg =  $('#showBackgroundImg');
+            var selectBgType = $('#selectBgType  option:selected').val();
+            //回旋赋值显示背景填充
+            showSelectText(selectBgType,showBackgroundColor,showBackgroundImg);
+            //选择背景填充类型
+            $("#selectBgType").on('change',function(){
+                showSelectText($(this).val(),showBackgroundColor,showBackgroundImg);
+            })
+            //颜色选择器
+            var color = $("#onchangeColor");
+            var colorInfo = $("#getColorValue");
+            $(color).on('change',function(){
+                colorInfo.val(color.val());
+            })
+        });
+        //判断显示背景颜色或背景图设置窗口fn
+        function showSelectText(val,colorDiv,imgDiv){
+            switch (val) {
+                case '' :
+                    colorDiv.hide(100);
+                    imgDiv.hide(100);
+                    break;
+                case '1' :
+                    colorDiv.show(100);
+                    imgDiv.hide(100);
+                    break;
+                case '2' :
+                    colorDiv.hide(100);
+                    imgDiv.show(100);
+                    break;
+            }
+        }
+    </script>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li class="active"><a href="${ctx}/cmpage/cmPage/form?flag=26&id=${cmPage.id}">${empty cmPage.id?'新增':'编辑'}活动专题<shiro:lacksPermission name="cmpage:cmPage:edit">查看</shiro:lacksPermission></a></li>
+</ul><br/>
+<form:form id="inputForm" modelAttribute="cmPage" action="${ctx}/cmpage/cmPage/save?flag=2&type=6" method="post" class="form-horizontal">
+    <form:hidden path="id"/>
+    <sys:message content="${message}"/>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>网页标题:</label>
+        <div class="controls">
+            <form:input path="title" htmlEscape="false" maxlength="40" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>PC端banner:</label>
+        <div class="controls">
+            <form:hidden id="headImage" path="headImage" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
+            <sys:ckfinder input="headImage" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100" maxHeight="100"/>
+        </div>
+        <div class="controls" style="padding-top: 20px;">
+        <label style="color:#D0D0D0 ;">建议图片尺寸1920*510px</label>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"></span>移动端banner:</label>
+        <div class="controls">
+            <form:hidden id="crmHeadImage" path="crmHeadImage" htmlEscape="false" maxlength="255" class="input-xlarge"/>
+            <sys:ckfinder input="crmHeadImage" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100" maxHeight="100"/>
+        </div>
+        <div class="controls" style="padding-top: 20px;">
+            <label style="color:#D0D0D0 ;">建议图片尺寸750px*366px</label>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label"></span>banner跳转链接:</label>
+        <div class="controls">
+            <form:input path="headLink" htmlEscape="false" maxlength="255" placeholder="输入URL地址" class="input-xlarge url"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label">填充背景:</label>
+        <div class="controls">
+            <form:select path="backgroundType" class="input-xlarge " id="selectBgType">
+                <form:option value="" label="请选择"/>
+                <form:options items="${fns:getDictList('backgroundType')}" itemLabel="label" itemValue="value" htmlEscape="false" label="${fns:getDictList('backgroundType')[0]}"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="control-group" id="showBackgroundColor" style="display: none;">
+        <label class="control-label"><span class="help-inline"></span>背景色设置:</label>
+        <div class="controls">
+            <form:input path="backgroundColour" htmlEscape="false"  maxlength="7" id="getColorValue" class="input-xlarge" placeholder="请选择或输入颜色/示例:#333333" cssStyle="width: 205px;"/>
+            <input type="color" name="color" value="#e15616" id="onchangeColor" style="width: 35px;">
+        </div>
+    </div>
+    <div class="control-group" id="showBackgroundImg" style="display: none;">
+        <label class="control-label">背景图片:</label>
+        <div class="controls" style="margin-bottom: 20px;">
+            <form:hidden id="backgroundImage" path="backgroundImage" htmlEscape="false" maxlength="255" class="input-xlarge"/>
+            <sys:ckfinder input="backgroundImage" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100" maxHeight="100"/>
+        </div>
+        <label class="control-label">背景图显示:</label>
+        <div class="controls">
+            <form:select path="backgroundImageWay" class="input-xlarge ">
+                <form:options items="${fns:getDictList('backgroundImageWay')}" itemLabel="label" itemValue="value" htmlEscape="false" label="${fns:getDictList('backgroundImageWay')[0]}"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label">状态:</label>
+        <div class="controls">
+            <form:select path="enabledStatus" class="input-xlarge ">
+                <form:options items="${fns:getDictList('enabled_status')}" itemLabel="label" itemValue="value" htmlEscape="false" label="${fns:getDictList('enabled_status')[0]}"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="form-actions">
+        <shiro:hasPermission name="cmpage:cmPage:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;</shiro:hasPermission>
+        <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+    </div>
+</form:form>
+</body>
+</html>

+ 7 - 2
src/main/webapp/WEB-INF/views/modules/cmpage/cmPageList.jsp

@@ -52,11 +52,14 @@
                     location.href="${ctx}/cmpage/cmPage/form?&flag=24";
                 }else if('5' == v){
                     location.href="${ctx}/cmpage/cmPage/form?&flag=25";
+                }else if('6' == v){
+                    //活动专题
+                    location.href="${ctx}/cmpage/cmPage/form?&flag=26";
                 }
                 return true;// close
             };
             // 自定义按钮
-            $.jBox.confirm("请选择需要新增的页面!!!", "新增网页", submit, { buttons: { '项目详情页面': 1, '二级列表页面': 2,'自由页面':4,'分类详情':5} });
+            $.jBox.confirm("请选择需要新增的页面!!!", "新增网页", submit, { buttons: { '项目详情页面': 1, '二级列表页面': 2,'自由页面':4,'分类详情':5,'活动专题':6} });
         }
         //更新单个索引
         function updateIndex(id){
@@ -112,7 +115,8 @@
                     <label>【项目详情】适用于:仪器分期/项目合作等 详情页</label></br>
                     <label>【二级列表】适用于:大项目/正品联盟/仪器分期等 二级列表页面</label></br>
                     <label>【自由页面】适用于:自由页面</label></br>
-                    <label>【分类详情】适用于:产品和仪器两个大分类的详情页</label>
+                    <label>【分类详情】适用于:产品和仪器两个大分类的详情页</label></br>
+                    <label>【活动专题】适用于:展会/商城详情页</label>
                     &nbsp&nbsp&nbsp&nbsp&nbsp<input type="button" class="btn btn-primary" value="新增页面" onclick="openwin()" />
                 </table>
                 <br>
@@ -135,6 +139,7 @@
             <form:option value="2" label="项目详情"/>
             <form:option value="4" label="自由页面"/>
             <form:option value="5" label="分类详情"/>
+            <form:option value="6" label="活动专题"/>
         </form:select>
         <label>标题:</label>
         <form:input path="title" htmlEscape="false" maxlength="50" class="input-medium"/>

+ 1680 - 0
src/main/webapp/WEB-INF/views/modules/newhome/activityFloorContentForm.jsp

@@ -0,0 +1,1680 @@
+<%@ page import="java.util.Date" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+    <title>楼层管理内容</title>
+    <meta name="decorator" content="default"/>
+    <style>
+        .iconBox {
+            font-size: 0;
+            margin-left: 130px !important;
+        }
+
+        .controls .conList {
+            display: inline-block;
+            margin-right: 15px;
+        }
+
+        .conList .btn:nth-of-type(1) {
+            margin-left: 25px;
+        }
+
+        .upload-content {
+            margin-top: -100px;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) {
+            width: 90px;
+            height: 100px;
+            border: 2px solid #eee;
+            background: #fff;
+            position: relative;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) > div {
+            position: absolute;
+            top: 50%;
+            left: 50%;
+            transform: translate(-50%, -50%);
+            color: #666;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) span {
+            font-size: 35px;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) h5 {
+            color: #666;
+        }
+
+        .cancel-upload {
+            background: transparent;
+            border: none;
+            box-shadow: none;
+            position: relative;
+            top: -38px;
+            left: -25px;
+            cursor: pointer;
+            z-index: 100;
+        }
+
+        .upload-content .conList ol li {
+            width: 114px;
+            min-height: 80px;
+            text-align: center;
+            background: #fff;
+            position: relative;
+            top: 120px;
+            margin-left: 2px;
+        }
+
+        .hide-pic {
+            display: none !important;
+        }
+
+        td {
+            border: solid black;
+            border-width: 0px 1px 1px 0px;
+        }
+
+        table {
+            border-collapse: inherit;
+            border: solid black;
+            border-width: 1px 0px 0px 1px;
+        }
+
+        .table-striped{
+            margin-right: 10px;
+        }
+        .table-striped td {
+            border-collapse: inherit;
+            border: 1px solid #ddd;
+            border-width: 1px 0px 0px 1px;
+        }
+
+        .table-striped th,.table-striped td {
+            text-align: center !important;
+        }
+
+        select {
+            width: 85px;
+            line-height: 25px;
+            height: 25px
+        }
+
+        .tbMargin {
+            margin: 15px 17px;
+        }
+
+        em {
+            background: #d7d7d7;
+            color: black;
+            padding: 2px 8px;
+            font-style: normal;
+            font-size: 14px;
+            display: inline-block;
+            border-radius: 2px
+        }
+
+        .middleEm {
+            position: absolute;
+            left: 40%;
+            margin-top: 7px;
+        }
+
+        .rightEm {
+            float: right;
+            margin-top: 7px;
+            margin-right: 10px;
+        }
+
+        .templateButton {
+            margin: 15px 0 15px 15px !important;
+        }
+
+        .displayTemplate, .mallTemplate {
+            position: relative;
+        }
+
+        .templateImageTable {
+            margin-left: 20px;
+        }
+
+        .templateImageDiv {
+            padding: 5px 10px;
+            text-align: center;
+        }
+
+        #templateTd label{
+            font-weight: bolder;
+            font-size: 18px;
+        }
+    </style>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            //表单提交
+            $("#inputForm").validate({
+                submitHandler: function (form) {
+                    var templateType = $("input[type='radio']:checked").val();
+                    if (templateType == '' || templateType == undefined) {
+                        alertx("请配置模板图片区域");
+                        return;
+                    }
+                    var type = $("#type").val();
+                    if ((type == 'adsImage' && adsImageList.length > 0)) {
+                        var stringify = JSON.stringify(adsImageList);
+                        $('#images').val(stringify);
+                    } else if ((type == 'infoImage' && infoImageList.length > 0)) {
+                        var stringify = JSON.stringify(infoImageList);
+                        $('#images').val(stringify);
+                    } else if ((type == 'productImage' && productImageList.length > 0)) {
+                        var stringify = JSON.stringify(productImageList);
+                        $('#images').val(stringify);
+                    } else {
+                        alertx("至少上传一张图片");
+                        return;
+                    }
+                    var wwwIcon1 = $("#wwwIcon1").val();
+                    var crmIcon1 = $("#crmIcon1").val();
+                    var wwwIcon2 = $("#wwwIcon2").val();
+                    var crmIcon2 = $("#crmIcon2").val();
+                    var wwwIcon3 = $("#wwwIcon3").val();
+                    var crmIcon3 = $("#crmIcon3").val();
+                    var wwwIcon4 = $("#wwwIcon4").val();
+                    var crmIcon4 = $("#crmIcon4").val();
+                    var wwwIcon5 = $("#wwwIcon5").val();
+                    var crmIcon5 = $("#crmIcon5").val();
+                    if (templateType >= 11 && templateType <= 20 && templateType != 14) {
+                        if (wwwIcon1 === '') {
+                            alertx("请上传网站端广告图1");
+                            return;
+                        }
+                        if (crmIcon1 === '') {
+                            alertx("请上传移动端广告图1");
+                            return;
+                        }
+                        if (templateType >= 11 && templateType <= 17) {
+                            if (wwwIcon2 === '') {
+                                alertx("请上传网站端广告图2");
+                                return;
+                            }
+                            if (crmIcon2 === '') {
+                                alertx("请上传移动端广告图2");
+                                return;
+                            }
+                            if (templateType >= 11 && templateType <= 15) {
+                                if (wwwIcon3 === '') {
+                                    alertx("请上传网站端广告图3");
+                                    return;
+                                }
+                                if (crmIcon3 === '') {
+                                    alertx("请上传移动端广告图3");
+                                    return;
+                                }
+                                if (templateType == 13) {
+                                    if (wwwIcon4 === '') {
+                                        alertx("请上传网站端广告图4");
+                                        return;
+                                    }
+                                    if (crmIcon4 === '') {
+                                        alertx("请上传移动端广告图4");
+                                        return;
+                                    }
+                                    if (wwwIcon5 === '') {
+                                        alertx("请上传网站端广告图5");
+                                        return;
+                                    }
+                                    if (crmIcon5 === '') {
+                                        alertx("请上传移动端广告图5");
+                                        return;
+                                    }
+                                } else {
+                                    $(".Image4 .cancel-upload").click();
+                                    $(".Image5 .cancel-upload").click();
+                                }
+                            } else {
+                                $(".Image3 .cancel-upload").click();
+                                $(".Image4 .cancel-upload").click();
+                                $(".Image5 .cancel-upload").click();
+                            }
+                        } else {
+                            $(".Image2 .cancel-upload").click();
+                            $(".Image3 .cancel-upload").click();
+                            $(".Image4 .cancel-upload").click();
+                            $(".Image5 .cancel-upload").click();
+                        }
+                    } else {
+                        $(".Image1 .cancel-upload").click();
+                        $(".Image2 .cancel-upload").click();
+                        $(".Image3 .cancel-upload").click();
+                        $(".Image4 .cancel-upload").click();
+                        $(".Image5 .cancel-upload").click();
+                    }
+                    loading('正在提交,请稍等...');
+                    form.submit();
+                },
+                errorContainer: "#messageBox",
+                errorPlacement: function (error, element) {
+                    $("#messageBox").text("输入有误,请先更正。");
+                    if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
+                        error.appendTo(element.parent().parent());
+                    } else {
+                        error.insertAfter(element);
+                    }
+                }
+            });
+        });
+    </script>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <c:if test="${not empty floorContent.floorId}">
+        <li><a href="${ctx}/newhome/newPageFloor/">楼层管理列表</a></li>
+        <li class="active"><a href="${ctx}/newhome/newPageFloor/goContentPage?floorId=${floorContent.floorId}">内容</a>
+        </li>
+    </c:if>
+    <c:if test="${empty floorContent.floorId}">
+        <li><a href="${ctx}/cmpage/cmPage/?flag=2">网页列表</a></li>
+        <li><a href="${ctx}/cmpage/cmPageCentre/?pageId=${floorContent.pageId}&type=6">活动专题商品楼层</a></li>
+        <li class="active"><a
+                href="${ctx}/cmpage/cmPageCentre/goContentPage?pageId=${floorContent.pageId}&centreId=${floorContent.centreId}&type=${floorContent.type}">内容</a>
+        </li>
+    </c:if>
+</ul>
+<br/>
+<form:form id="inputForm" modelAttribute="floorContent" action="${ctx}/newhome/newPageFloor/saveFloorContent"
+           method="post" class="form-horizontal">
+    <form:hidden path="id"/>
+    <form:hidden path="floorId"/>
+    <form:hidden path="centreId"/>
+    <form:hidden path="pageId"/>
+    <form:hidden path="images" id="images"/>
+    <form:hidden path="type"/>
+    <sys:message content="${message}"/>
+    <div class="control-group">
+        楼层名称:<a style="text-decoration:none;">${floorContent.floorTitle}</a>
+    </div>
+    <div class="control-group">
+        <table style="overflow:scroll;height: 400px !important;" class="templateTable">
+            <tr>
+                <td style="width: 380px !important;height: 50px">
+                    <label style="font-weight: bold;font-size: 16px" class="tbMargin">模板库</label>
+                    <form:select path="" id="templateSelect" onchange="changeTemplateSelect()" class="tbMargin"
+                                 cssStyle="width: 130px">
+                        <form:option value="1" label="模板标签"/>
+                        <form:option value="2" label="偏展会标签"/>
+                        <form:option value="3" label="偏商城活动"/>
+                    </form:select>
+                    <form:select path="" id="sourceSelect" onchange="changeSourceSelect()" class="tbMargin"
+                                 cssStyle="width: 90px">
+                        <form:option value="1" label="PC端"/>
+                        <form:option value="2" label="移动端"/>
+                    </form:select>
+                </td>
+                <td rowspan="2" style=" width: 2800px;">
+                    <div style="height: 100%;overflow-y:scroll;">
+                        <label id="infoLabel"
+                               style="display: none; position: relative;left: 200px;top: 200px; font-weight: bolder;font-size: 30px">请先选择左边模板后,再编辑模板相关内容</label>
+                        <div class="control-group clear Image1" style="display: none">
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>网站端广告图1:
+                                <div class="controls upload-content iconBox" id="pcAdsImage1">
+                                    <div class="conList">
+                                        <form:hidden id="wwwIcon1" path="pcAdsImage1" htmlEscape="false" maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="wwwIcon1" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/> <br>
+                                        <label id="pcImageSize1">建议图片分辨率1184px*160px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>移动端广告图1:
+                                <div class="controls upload-content iconBox" id="appletsAdsImage1">
+                                    <div class="conList">
+                                        <form:hidden id="crmIcon1" path="appletsAdsImage1" htmlEscape="false"
+                                                     maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="crmIcon1" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="appletsImageSize1">建议图片分辨率702px*240px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"></span>广告图1跳转链接:
+                                <div class="controls">
+                                    <form:input path="adsLink1" htmlEscape="false" maxlength="255"
+                                                class="input-xlarge"/>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="control-group clear Image2"  style="display: none">
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>网站端广告图2:
+                                <div class="controls upload-content iconBox" id="pcAdsImage2">
+                                    <div class="conList">
+                                        <form:hidden id="wwwIcon2" path="pcAdsImage2" htmlEscape="false" maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="wwwIcon2" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="pcImageSize2">建议图片分辨率344px*268px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>移动端广告图2:
+                                <div class="controls upload-content iconBox" id="appletsAdsImage2">
+                                    <div class="conList">
+                                        <form:hidden id="crmIcon2" path="appletsAdsImage2" htmlEscape="false"
+                                                     maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="crmIcon2" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="appletsImageSize2">建议图片分辨率339px*516px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"></span>广告图2跳转链接:
+                                <div class="controls">
+                                    <form:input path="adsLink2" htmlEscape="false" maxlength="255"
+                                                class="input-xlarge"/>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="control-group clear Image3"  style="display: none">
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>网站端广告图3:
+                                <div class="controls upload-content iconBox" id="pcAdsImage3">
+                                    <div class="conList">
+                                        <form:hidden id="wwwIcon3" path="pcAdsImage3" htmlEscape="false" maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="wwwIcon3" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="pcImageSize3">建议图片分辨率344px*268px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>移动端广告图3:
+                                <div class="controls upload-content iconBox" id="appletsAdsImage3">
+                                    <div class="conList">
+                                        <form:hidden id="crmIcon3" path="appletsAdsImage3" htmlEscape="false"
+                                                     maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="crmIcon3" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="appletsImageSize3">建议图片分辨率339px*516px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"></span>广告图3跳转链接:
+                                <div class="controls">
+                                    <form:input path="adsLink3" htmlEscape="false" maxlength="255"
+                                                class="input-xlarge"/>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="control-group clear Image4"  style="display: none">
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>网站端广告图4:
+                                <div class="controls upload-content iconBox" id="pcAdsImage4">
+                                    <div class="conList">
+                                        <form:hidden id="wwwIcon4" path="pcAdsImage4" htmlEscape="false" maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="wwwIcon4" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="pcImageSize4">建议图片分辨率344px*268px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>移动端广告图4:
+                                <div class="controls upload-content iconBox" id="appletsAdsImage4">
+                                    <div class="conList">
+                                        <form:hidden id="crmIcon4" path="appletsAdsImage4" htmlEscape="false"
+                                                     maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="crmIcon4" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="appletsImageSize4">建议图片分辨率339px*516px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"></span>广告图4跳转链接:
+                                <div class="controls">
+                                    <form:input path="adsLink4" htmlEscape="false" maxlength="255"
+                                                class="input-xlarge"/>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="control-group clear Image5"  style="display: none">
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>网站端广告图5:
+                                <div class="controls upload-content iconBox" id="pcAdsImage5">
+                                    <div class="conList">
+                                        <form:hidden id="wwwIcon5" path="pcAdsImage5" htmlEscape="false" maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="wwwIcon5" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="pcImageSize5">建议图片分辨率344px*268px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"><font color="red">*</font> </span>移动端广告图5:
+                                <div class="controls upload-content iconBox" id="appletsAdsImage5">
+                                    <div class="conList">
+                                        <form:hidden id="crmIcon5" path="appletsAdsImage5" htmlEscape="false"
+                                                     maxlength="255"
+                                                     class="input-xlarge required"/>
+                                        <sys:ckfinder input="crmIcon5" type="images" uploadPath="/photo"
+                                                      selectMultiple="false"
+                                                      maxWidth="100" maxHeight="100"/><br>
+                                        <label id="appletsImageSize5">建议图片分辨率339px*516px</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div style="float: left">
+                                <span class="help-inline"></span>广告图5跳转链接:
+                                <div class="controls">
+                                    <form:input path="adsLink5" htmlEscape="false" maxlength="255"
+                                                class="input-xlarge"/>
+                                </div>
+                            </div>
+                        </div>
+                        <br>
+                        <div class="control-group templateImageTable">
+                            <input class="btn" id="del" style="width: 50px" onclick="batchDeletion()" value="删除"/>&nbsp;&nbsp;&nbsp;&nbsp;
+                            <input class="btn btn-primary" id="sortBtn" style="width: 70px" onclick="batchSaveSort()"
+                                   value="一键排序"/>&nbsp;&nbsp;&nbsp;&nbsp;
+                            <input class="btn btn-primary" id="showSelectBtn" style="width: 50px"
+                                   onclick="showSelect('${ctx}/newhome/newPageFloor/addActivityImage')" value="添加"/>
+                            <br><br>
+                            <table id="adsImageTable" class="table table-striped table-bordered table-condensed"
+                                   style="display: none">
+                                <thead>
+                                <tr>
+                                    <th style="width:20px;"><input class="check-all" type="checkbox"
+                                                                   onclick="clickAllSelect(this)"/> 全选
+                                    </th>
+                                    <th>PC图片</th>
+                                    <th>小程序图片</th>
+                                    <th>跳转链接</th>
+                                    <th>小程序内容宣传图</th>
+                                    <th>网站状态</th>
+                                    <th>小程序状态</th>
+                                    <th>排序</th>
+                                    <th>创建时间</th>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                                <tbody id="adsImageTbody"></tbody>
+                            </table>
+                            <table id="infoImageTable" class="table table-striped table-bordered table-condensed"
+                                   style="display: none">
+                                <thead>
+                                <tr>
+                                    <th style="width:20px;"><input class="check-all" type="checkbox"
+                                                                   onclick="clickAllSelect(this)"/> 全选
+                                    </th>
+                                    <th>PC图片</th>
+                                    <th>小程序图片</th>
+                                    <th>标题</th>
+                                    <th>内容</th>
+                                    <th>跳转链接</th>
+                                    <th>小程序内容宣传图</th>
+                                    <th>网站状态</th>
+                                    <th>小程序状态</th>
+                                    <th>排序</th>
+                                    <th>创建时间</th>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                                <tbody id="infoImageTbody"></tbody>
+                            </table>
+                            <table id="productImageTable" class="table table-striped table-bordered table-condensed"
+                                   style="display: none">
+                                <thead>
+                                <tr>
+                                    <th style="width:20px;"><input class="check-all" type="checkbox"
+                                                                   onclick="clickAllSelect(this)"/> 全选
+                                    </th>
+                                    <th>图片</th>
+                                    <th>名称</th>
+                                    <th>跳转链接</th>
+                                    <th>标签</th>
+                                    <th>网站状态</th>
+                                    <th>小程序状态</th>
+                                    <th>排序</th>
+                                    <th>创建时间</th>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                                <tbody id="productImageTbody"></tbody>
+                            </table>
+                        </div>
+                    </div>
+                </td>
+            </tr>
+            <tr>
+                <td id="templateTd" style="display: block;height: 580px;overflow-y:scroll;width: 380px !important;">
+                    <div>
+                        <div id="pcTemplate" style="position: relative">
+                            <div id="pcTemplate1" class="displayTemplate" style="position: relative;">
+                                <form:radiobutton path="templateType" value="1" label="模板1" cssClass="templateButton"
+                                onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/1.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate2" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="2" label="模板2" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/2.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate3" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="3" label="模板3" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/3.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate4" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="4" label="模板4" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/4.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate5" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="5" label="模板5" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/5.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate6" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="6" label="模板6" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/6.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate7" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="7" label="模板7" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/7.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate8" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="8" label="模板8" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/8.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate9" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="9" label="模板9" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/9.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate10" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="10" label="模板10" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/10.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate11" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="11" label="模板11" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/11.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate12" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="12" label="模板12" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/12.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate13" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="13" label="模板13" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/13.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate14" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="14" label="模板14" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/14.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate15" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="15" label="模板15" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/15.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate16" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="16" label="模板16" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/16.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate17" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="17" label="模板17" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/17.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate18" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="18" label="模板18" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/18.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate19" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="19" label="模板19" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/19.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate20" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="20" label="模板20" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/20.png">
+                                </div>
+                            </div>
+                            <div id="pcTemplate21" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="21" label="模板21" cssClass="templateButton"
+                                                  onclick="showContent('pc')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">PC端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/pc/21.png">
+                                </div>
+                            </div>
+                        </div>
+                        <div id="appletsTemplate" class="hide">
+                            <div id="appletsTemplate1" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="51" label="模板1" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/1.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate2" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="52" label="模板2" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/2.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate3" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="53" label="模板3" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/3.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate4" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="54" label="模板4" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/4.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate5" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="55" label="模板5" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/5.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate6" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="56" label="模板6" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/6.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate7" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="57" label="模板7" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/7.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate8" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="58" label="模板8" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/8.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate9" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="59" label="模板9" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/9.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate10" class="displayTemplate">
+                                <form:radiobutton path="templateType" value="60" label="模板10" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏展会活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/10.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate11" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="61" label="模板11" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/11.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate12" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="62" label="模板12" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/12.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate13" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="63" label="模板13" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/13.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate14" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="64" label="模板14" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/14.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate15" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="65" label="模板15" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/15.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate16" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="66" label="模板16" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/16.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate17" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="67" label="模板17" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/17.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate18" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="68" label="模板18" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/18.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate19" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="69" label="模板19" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/19.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate20" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="70" label="模板20" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/20.png">
+                                </div>
+                            </div>
+                            <div id="appletsTemplate21" class="mallTemplate">
+                                <form:radiobutton path="templateType" value="71" label="模板21" cssClass="templateButton"
+                                                  onclick="showContent('applets')"/>
+                                <em class="middleEm">偏商城活动</em>
+                                <em class="rightEm">移动端</em>
+                                <div class="templateImageDiv">
+                                    <img src="/static/template/activity/applets/21.png">
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <div class="form-actions">
+        <shiro:hasPermission name="newhome:newPageFloor:edit"><input id="btnSubmit" class="btn btn-primary"
+                                                                     type="submit"
+                                                                     value="保 存"/>&nbsp;</shiro:hasPermission>
+        <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+    </div>
+</form:form>
+
+<script>
+    var adsImageList = [];
+    var infoImageList = [];
+    var productImageList = [];
+    var productIds = '';
+    $(function () {
+        $('.upload-content .conList .btn:nth-of-type(1)').html('<div><span>+</span><h5>选择图片</h5></div>');
+        $('.upload-content .conList .btn:nth-of-type(2)').after('<img class="cancel-upload" src="/static/images/close-btn1.png">').remove();
+        $('.upload-content .conList').find('.cancel-upload').hide();
+        var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
+        var MutationObserverConfig = {
+            childList: true,
+            subtree: true,
+            characterData: true
+        };
+        var observer = new MutationObserver(function (mutations) {
+            $.each(mutations, function (index, item) {
+                if (item.type === 'childList') {
+                    // 在创建新的 element 时调用
+                    var target = $(item.target),
+                        thisWrapper = target.closest('.conList'),
+                        nextEle = thisWrapper.next();
+                    thisWrapper.find('li').css('z-index', 99);
+                    thisWrapper.find('.cancel-upload').show();
+                    if (nextEle.hasClass('hide-pic')) {
+                        nextEle.removeClass('hide-pic');
+                    }
+                }
+            })
+        });
+        for (var i = 0; i < 10; i++) {
+            var observeEle = document.getElementsByClassName('upload-content')[i];
+            observer.observe(observeEle, MutationObserverConfig)
+        }
+        $('body').on('click', '.cancel-upload', function () {
+            var wrapper = $(this).closest('.conList');
+            wrapper.find('li').css('z-index', '-1');
+            wrapper.find('input').val('');
+            $(this).hide();
+            wrapper.removeClass("hide-pic");
+            wrapper.parent().append(wrapper.clone());
+            wrapper.remove();
+            $(".conList").each(function (i, ele) {
+                if ($(ele).find("input.input-xlarge").val()) {
+                    $(ele).next().removeClass("hide-pic")
+                }
+            })
+        });
+        $(window).on("load", function () {
+            setTimeout(showImage(), 100);
+        });
+
+        var templateType = $("input[type='radio']:checked").val();
+        if (templateType != undefined) {
+            //数据填充
+            if (templateType == 1 || templateType == 2 || templateType == 7 || templateType == 8 || templateType == 9 || templateType == 10) {
+                <c:forEach items="${floorContent.floorImageList}" var="floorImage" varStatus="index">
+                adsImageList.push({
+                    id: "${floorImage.id}",
+                    image: "${floorImage.image}",
+                    appletsImage: "${floorImage.appletsImage}",
+                    adsImage: "${floorImage.adsImage}",
+                    link: "${floorImage.link}",
+                    sort: "${floorImage.sort}",
+                    pcStatus: "${floorImage.pcStatus}",
+                    appletsStatus: "${floorImage.appletsStatus}",
+                    createDate: "${floorImage.createDate}"
+                });
+                </c:forEach>
+            } else if (templateType == 3 || templateType == 4 || templateType == 5 || templateType == 6) {
+                <c:forEach items="${floorContent.floorImageList}" var="floorImage" varStatus="index">
+                infoImageList.push({
+                    id: "${floorImage.id}",
+                    name: "${floorImage.name}",
+                    image: "${floorImage.image}",
+                    appletsImage: "${floorImage.appletsImage}",
+                    adsImage: "${floorImage.adsImage}",
+                    content: "${floorImage.content}",
+                    link: "${floorImage.link}",
+                    sort: "${floorImage.sort}",
+                    pcStatus: "${floorImage.pcStatus}",
+                    appletsStatus: "${floorImage.appletsStatus}",
+                    createDate: "${floorImage.createDate}"
+                });
+                </c:forEach>
+            } else {
+                <c:forEach items="${floorContent.floorImageList}" var="floorImage" varStatus="index">
+                productImageList.push({
+                    id: "${floorImage.id}",
+                    productId: "${empty floorImage.productId ? "":floorImage.productId}",
+                    image: "${floorImage.image}",
+                    name: "${floorImage.name}",
+                    link: "${floorImage.link}",
+                    sort: "${floorImage.sort}",
+                    pcStatus: "${floorImage.pcStatus}",
+                    appletsStatus: "${floorImage.appletsStatus}",
+                    label: "${floorImage.label}",
+                    createDate: "${floorImage.createDate}"
+                });
+                </c:forEach>
+            }
+        }
+        showContent('pc');
+    });
+
+
+    //展示选中模板对应的表单
+    function showContent(templateClassify) {
+        var list = [];
+        var type;
+        for (var i = 1; i < 22; i++) {
+            if ('pc' == templateClassify) {
+                list.push('#pcTemplate' + i);
+            } else {
+                list.push('#appletsTemplate' + i);
+            }
+        }
+        var templateType = parseInt($("input[type='radio']:checked").val());
+        if (templateType > 50) {
+            templateType = templateType - 50;
+        }
+        $('.Image1').hide();
+        $('.Image2').hide();
+        $('.Image3').hide();
+        $('.Image4').hide();
+        $('.Image5').hide();
+        if (!isNaN(templateType)) {
+            if ('pc' == templateClassify) {
+                toTop(list, '#pcTemplate', $("#pcTemplate" + templateType))
+            } else {
+                toTop(list, '#appletsTemplate', $("#appletsTemplate" + templateType))
+            }
+            //滚动条滚动到最上方
+            document.getElementById("templateTd").scrollTop = 0;
+            //展示模板内容表单
+            $("#infoLabel").hide();
+            $(".templateImageTable").show();
+            $("#adsImageTable").hide();
+            $("#infoImageTable").hide();
+            $("#productImageTable").hide();
+            //广告图
+            if (templateType == 11 || templateType == 12 || templateType == 15) {
+                $('.Image1').show();
+                $('.Image2').show();
+                $('.Image3').show();
+            } else if (templateType == 13) {
+                $('.Image1').show();
+                $('.Image2').show();
+                $('.Image3').show();
+                $('.Image4').show();
+                $('.Image5').show();
+            } else if (templateType == 16 || templateType == 17) {
+                $('.Image1').show();
+                $('.Image2').show();
+            } else if (templateType == 18 || templateType == 19 || templateType == 20) {
+                $('.Image1').show();
+            }
+            //删除按钮和表格展示
+            if (templateType == 1 || templateType == 2 || templateType == 7 || templateType == 8 || templateType == 9 || templateType == 10) {
+                if (adsImageList.length == 0) {
+                    $("#del").attr("disabled", "disabled");
+                } else {
+                    $("#adsImageTable").show();
+                    $("#del").removeAttr("disabled");
+                }
+                type = 'adsImage';
+            } else if (templateType == 3 || templateType == 4 || templateType == 5 || templateType == 6) {
+                if (infoImageList.length == 0) {
+                    $("#del").attr("disabled", "disabled");
+                } else {
+                    $("#infoImageTable").show();
+                    $("#del").removeAttr("disabled");
+                }
+                type = 'infoImage';
+            } else {
+                //图片表格
+                if (productImageList.length == 0) {
+                    $("#del").attr("disabled", "disabled");
+                } else {
+                    $("#productImageTable").show();
+                    $("#del").removeAttr("disabled");
+                }
+                type = 'productImage';
+            }
+            $("#type").val(type);
+            //广告图建议尺寸
+            if (templateType == 11) {
+                $("#pcImageSize1").text("建议图片分辨率1184px*160px");
+                $("#appletsImageSize1").text("建议图片分辨率702px*240px");
+                $("#pcImageSize2").text("建议图片分辨率584px*240px");
+                $("#appletsImageSize2").text("建议图片分辨率339px*260px");
+                $("#pcImageSize3").text("建议图片分辨率584px*240px");
+                $("#appletsImageSize3").text("建议图片分辨率339px*260px");
+            }else if (templateType == 12) {
+                $("#pcImageSize1").text("建议图片分辨率704px*360px");
+                $("#appletsImageSize1").text("建议图片分辨率339px*516px");
+                $("#pcImageSize2").text("建议图片分辨率464px*172px");
+                $("#appletsImageSize2").text("建议图片分辨率339px*246px");
+                $("#pcImageSize3").text("建议图片分辨率464px*172px");
+                $("#appletsImageSize3").text("建议图片分辨率339px*246px");
+            }else if (templateType == 13) {
+                $("#pcImageSize1").text("建议图片分辨率704px*360px");
+                $("#appletsImageSize1").text("建议图片分辨率339px*516px");
+                $("#pcImageSize2").text("建议图片分辨率224px*172px");
+                $("#appletsImageSize2").text("建议图片分辨率339px*246px");
+                $("#pcImageSize3").text("建议图片分辨率224px*172px");
+                $("#appletsImageSize3").text("建议图片分辨率339px*246px");
+                $("#pcImageSize4").text("建议图片分辨率224px*172px");
+                $("#appletsImageSize4").text("建议图片分辨率339px*246px");
+                $("#pcImageSize5").text("建议图片分辨率224px*172px");
+                $("#appletsImageSize5").text("建议图片分辨率339px*246px");
+            }else if (templateType == 15 || templateType == 16 || templateType ==19 ||templateType == 20) {
+                $("#pcImageSize1").text("建议图片分辨率884px*120px");
+                $("#appletsImageSize1").text("建议图片分辨率702px*240px");
+                $("#pcImageSize2").text("建议图片分辨率524px*268px");
+                $("#appletsImageSize2").text("建议图片分辨率339px*516px");
+                $("#pcImageSize3").text("建议图片分辨率344px*268px");
+                $("#appletsImageSize3").text("建议图片分辨率339px*516px");
+            }else if (templateType == 17 || templateType == 18) {
+                $("#pcImageSize1").text("建议图片分辨率524px*268px");
+                $("#appletsImageSize1").text("建议图片分辨率339px*516px");
+                $("#pcImageSize2").text("建议图片分辨率344px*268px");
+                $("#appletsImageSize2").text("建议图片分辨率339px*516px");
+            }
+            showImage();
+            batchSaveSort();
+        } else {
+            $("#infoLabel").show();
+            $(".templateImageTable").hide();
+        }
+    }
+
+    //被选中的模板置顶
+    function toTop(list = [], parent, children) {
+        list.forEach(function (item, index) {
+            $(parent).append($(item))
+        })
+        $(parent).prepend($(children))
+    }
+
+    //展示图片
+    function showImage() {
+        for (var i = 0; i <= 5; i++) {
+            $("#pcAdsImage" + i).find("input.input-xlarge").each(function (j, ele) {
+                if ($(ele).val() && $(ele).val() != '') {
+                    $(ele).next().find("li").css("z-index", "99");
+                    $(ele).parents(".conList").find(".cancel-upload").show();
+                    $(ele).parents(".conList").next().removeClass("hide-pic");
+                } else {
+                    $("#pcAdsImage" + i + " .cancel-upload").click();
+                }
+            });
+            $("#appletsAdsImage" + i).find("input.input-xlarge").each(function (j, ele) {
+                if ($(ele).val() && $(ele).val() != '') {
+                    $(ele).next().find("li").css("z-index", "99");
+                    $(ele).parents(".conList").find(".cancel-upload").show();
+                    $(ele).parents(".conList").next().removeClass("hide-pic")
+                } else {
+                    $("#appletsAdsImage" + i + " .cancel-upload").click();
+                }
+            });
+        }
+    }
+
+    //点击添加
+    function showSelect(url) {
+        var title = '添加';
+        var width = $(top.document).width() - 800;
+        var height = $(top.document).height() - 160;
+        var type = $("#type").val();
+        var templateType = $("input[type=radio]:checked").val();
+        if (type == 'adsImage') {
+            url = url + "?type=adsImage&templateType=" + templateType;
+        } else if (type == 'infoImage') {
+            url = url + "?type=infoImage&templateType=" + templateType;
+        } else {
+            url = url + "?type=productImage&productCategory=1&productIds=" + productIds + "&templateType=" + templateType;
+            title = '商品图片';
+            width = $(top.document).width() - 400;
+            height = $(top.document).height() - 160;
+        }
+        top.$.jBox("iframe:" + url, {
+            iframeScrolling: 'yes',
+            width: width,
+            height: height,
+            persistent: true,
+            title: title,
+            buttons: {"确定": '1', "取消": '-1'},
+            submit: function (v, h, f) {
+                //确定
+                var $jboxFrame = top.$('#jbox-iframe');
+                var $mainFrame = top.$('#mainFrame');
+                if ('1' == v && 1 == $jboxFrame.size() && 1 == $mainFrame.size()) {
+                    var items = $jboxFrame[0].contentWindow.getCheckedItems();
+                    items.createDate = '<fmt:formatDate value="<%=new Date()%>" pattern="yyyy-MM-dd HH:mm:ss"/>';
+                    console.log(items);
+                    if (type == 'adsImage') {
+                        debugger
+                        // 宣传图活动
+                        if (items.image == '') {
+                            alertx("请上传PC图片");
+                            return false;
+                        }
+                        if (items.appletsImage == '') {
+                            alertx("请上传小程序图片");
+                            return false;
+                        }
+                        if (items.sort == '') {
+                            alertx("请输入排序值");
+                            return false;
+                        }
+                        adsImageList.push(items);
+                        $('#adsImageTable').show();
+                        $('#infoImageTable').hide();
+                        $('#productImageTable').hide();
+
+                    } else if (type == 'infoImage') {
+                        //信息宣传图活动
+                        if (items.image == '') {
+                            alertx("请上传PC图片");
+                            return false;
+                        }
+                        if (items.appletsImage == '') {
+                            alertx("请上传小程序图片");
+                            return false;
+                        }
+                        if (items.name == '') {
+                            alertx("请输入名称");
+                            return false;
+                        }
+                        if (items.content == '') {
+                            alertx("请输入名称");
+                            return false;
+                        }
+                        if (items.sort == '') {
+                            alertx("请输入排序值");
+                            return false;
+                        }
+                        infoImageList.push(items);
+                        $('#adsImageTable').hide();
+                        $('#infoImageTable').show();
+                        $('#productImageTable').hide();
+                    } else {
+                        //商品图片活动
+                        if (items.productId == "") {
+                            if (items.image == '') {
+                                alertx("请上传图片");
+                                return false;
+                            }
+                            if (items.name == '') {
+                                alertx("请输入名称");
+                                return false;
+                            }
+                            if (items.link == '') {
+                                alertx("请输入跳转链接");
+                                return false;
+                            }
+                            if (items.sort == '') {
+                                alertx("请输入排序值");
+                                return false;
+                            }
+                            if (items.label == '') {
+                                alertx("请输入标签");
+                                return false;
+                            }
+                        }
+                        productImageList.push(items);
+                        $('#adsImageTable').hide();
+                        $('#infoImageTable').hide();
+                        $('#productImageTable').show();
+                    }
+                    $("#del").removeAttr("disabled");
+                    batchSaveSort();
+                }
+                return true;
+            }
+        });
+    }
+
+    //相关图片列表数据
+    function appendShopOrderHead(data, index) {
+        var type = $("#type").val();
+        var html = '<tr id ="ads' + index + '">' +
+            '<td>' +
+            '<input class="check-item" type="checkbox" name="info" value="' + index + '"/>' + (index + 1) +
+            '</td>' +
+            '<td>' +
+            '<img src="' + data.image + '" width="60px" border="none" title="启用">' +
+            '</td>' +
+            (type == 'adsImage' || type == 'infoImage' ? (
+                '<td>' + '<img src="' + data.appletsImage + '" width="60px" border="none">' + '</td>'
+            ) : '') +
+            (type == 'infoImage' ? (
+                ('<td>' + '<input value="' + data.name + '"  onchange="changeName(' + index + ',this)">' + '</td>') +
+                ('<td>' + '<input value="' + data.content + '"  onchange="changeContent(' + index + ',this)">' + '</td>')
+            ) : '') +
+            (type == 'productImage' ?
+                ('<td>' + (data.productId == '' ? ('<input name="name" value="' + data.name + '"  onchange="changeName(' + index + ',this)">') : (data.name)) + '</td>') : '') +
+            (type == 'adsImage' || type == 'infoImage' ? (
+                        ('<td>' + '<input value="' + data.link + '"  onchange="changeLink(' + index + ',this)">' + '</td>') +
+                        ('<td>' + '<img src="' + data.adsImage + '" width="60px" border="none">' + '</td>')
+                    ) :
+                    (
+                        ('<td>' + (data.productId == '' ? ('<input value="' + data.link + '"  onchange="changeLink(' + index + ',this)">') : ('------')) + '</td>') +
+                        ('<td>' + (data.productId == '' ? ('<input value="' + data.label + '"  onchange="changeLabel(' + index + ',this)" maxlength = "10">') : ('------')) + '</td>')
+                    )
+            ) +
+            '<td>' +
+            (data.pcStatus == 1 ? (
+                '<font color="green">已启用</font>&nbsp;&nbsp;&nbsp;' +
+                '<a href="javascript:void(0);" onclick="updatePcStatus(0,' + index + ');" >' +
+                '停用</a>'
+            ) : (
+                '<font color="red">已停用</font>&nbsp;&nbsp;&nbsp;' +
+                '<a href="javascript:void(0)" onclick="updatePcStatus(1,' + index + ');">' +
+                '启用</a>'
+            )) +
+            '</td>' +
+            '<td>' +
+            (data.appletsStatus == 1 ? (
+                '<font color="green">已启用</font>&nbsp;&nbsp;&nbsp;' +
+                '<a href="javascript:void(0);" onclick="updateAppletsStatus(0,' + index + ');" >' +
+                '停用</a>'
+            ) : (
+                '<font color="red">已停用</font>&nbsp;&nbsp;&nbsp;' +
+                '<a href="javascript:void(0)" onclick="updateAppletsStatus(1,' + index + ');">' +
+                '启用</a>'
+            )) +
+            '</td>' +
+            '<td>' +
+            '<input name="sort" style="width:50px;" value="' + data.sort + '"  onkeyup="onlynum(this)"  onchange="changeSort(' + index + ',this)"></td>' +
+            '</td>' +
+            '<td>' +
+            (data.createDate == '' ? (
+                '<fmt:formatDate value="<%=new Date()%>" pattern="yyyy-MM-dd HH:mm:ss"/>'
+            ) : (
+                data.createDate
+            )) +
+            '</td>' +
+            '<td>' +
+            '<a href="javascript:;" onclick="delect(' + index + ')">删除</a>' +
+            '</td>' +
+            '</tr>';
+        return html;
+    }
+
+    function insertHtml(list) {
+        var html = '';
+        var type = $("#type").val();
+        if (type == 'adsImage') {
+            list.forEach(function (item, index) {
+                html += appendShopOrderHead(item, index);
+            })
+            $("#adsImageTbody").html(html);
+        } else if (type == 'infoImage') {
+            list.forEach(function (item, index) {
+                html += appendShopOrderHead(item, index);
+            })
+            $("#infoImageTbody").html(html);
+        } else {
+            productIds = '';
+            list.forEach(function (item, index) {
+                html += appendShopOrderHead(item, index);
+                productIds += "," + item.productId;
+            });
+            $("#productImageTbody").html(html);
+        }
+    }
+
+    /**
+     * 一键排序
+     */
+    function batchSaveSort() {
+        var type = $("#type").val();
+        if (type == 'adsImage') {
+            adsImageList.sort(sort);
+            insertHtml(adsImageList);
+        } else if (type == 'infoImage') {
+            infoImageList.sort(sort);
+            insertHtml(infoImageList);
+        } else {
+            productImageList.sort(sort);
+            insertHtml(productImageList);
+        }
+    }
+
+    //根据sort值 从小到大排序
+    function sort(a, b) {
+        return ((a.sort - b.sort) == 0 ? (a.createDate > b.createDate ? -1 : 1) : (a.sort - b.sort));
+    }
+
+    /**
+     * @param obj
+     * jquery控制input只能输入数字
+     */
+    function onlynum(obj) {
+        obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+    }
+
+    function changeSort(index, sortThis) {
+        var sort = sortThis.value;
+        var image = getImage(index);
+        image.sort = sort;
+    }
+
+    function changeName(index, nameThis) {
+        var name = nameThis.value;
+        var image = getImage(index);
+        image.name = name;
+    }
+
+    function changeContent(index, nameThis) {
+        var content = nameThis.value;
+        var image = infoImageList[index];
+        image.content = content;
+    }
+
+    function changeLink(index, linkThis) {
+        var link = linkThis.value;
+        var image = getImage(index);
+        image.link = link;
+    }
+
+    function changeLabel(index, labelThis) {
+        var label = labelThis.value;
+        var image = productImageList[index];
+        image.label = label;
+    }
+
+    /**
+     * 删除操作
+     */
+    function delect(index) {
+        var type = $("#type").val();
+        return confirmx("确定删除该数据吗?", function () {
+            var image = getImage(index);
+            if (type == 'adsImage') {
+                adsImageList.splice(index, 1);
+                insertHtml(adsImageList, 'adsImage');
+                if (adsImageList.length == 0) {
+                    $("#del").attr("disabled", "disabled");
+                    $('#adsImageTable').hide();
+                }
+            } else if (type == 'infoImage') {
+                infoImageList.splice(index, 1);
+                insertHtml(infoImageList, 'infoImage');
+                if (infoImageList.length == 0) {
+                    $("#del").attr("disabled", "disabled");
+                    $('#infoImageTable').hide();
+                }
+            } else {
+                if (image.productId != '') {
+                    productIds = productIds.replace(image.productId, "");
+                }
+                productImageList.splice(index, 1);
+                insertHtml(productImageList, 'productImage');
+                if (productImageList.length == 0) {
+                    $("#del").attr("disabled", "disabled");
+                    $('#productImageTable').hide();
+                }
+            }
+        });
+    }
+
+    /**
+     * 批量删除
+     */
+    function batchDeletion() {
+        var index = -1;
+        var i = 1;
+        var type = $("#type").val();
+        var length = $('input[name="info"]:checked').length;
+        if (length > 0) {
+            return confirmx("确定删除吗?", function () {
+                $('input[name="info"]:checked').each(function () {
+                    var thisIndex = $(this).val();
+                    if (index >= 0 && index < thisIndex) {
+                        thisIndex = thisIndex - i;
+                        i++;
+                    } else {
+                        index = thisIndex;
+                    }
+                    var image = getImage(thisIndex);
+                    if (type == 'adsImage') {
+                        adsImageList.splice(thisIndex, 1);
+                    } else if (type == 'infoImage') {
+                        infoImageList.splice(thisIndex, 1);
+                    } else {
+                        if (image.productId != '') {
+                            productIds = productIds.replace(image.productId, "");
+                        }
+                        productImageList.splice(thisIndex, 1);
+                    }
+                });
+                if (type == 'adsImage') {
+                    insertHtml(adsImageList);
+                    if (adsImageList.length == 0) {
+                        $("#del").attr("disabled", "disabled");
+                        $('#adsImageTable').hide();
+                    } else {
+                        $("#del").removeAttr("disabled");
+                    }
+                } else if (type == 'infoImage') {
+                    insertHtml(infoImageList);
+                    if (infoImageList.length == 0) {
+                        $("#del").attr("disabled", "disabled");
+                        $('#infoImageTable').hide();
+                    } else {
+                        $("#del").removeAttr("disabled");
+                    }
+                } else {
+                    insertHtml(productImageList);
+                    if (productImageList.length == 0) {
+                        $('#productImageTable').hide();
+                        $("#del").attr("disabled", "disabled");
+                    } else {
+                        $("#del").removeAttr("disabled");
+                    }
+                }
+            });
+        } else {
+            alertx("请先选中要删除的数据")
+        }
+    }
+
+    function getImage(index) {
+        var image;
+        var type = $("#type").val();
+        if (type == 'adsImage') {
+            image = adsImageList[index];
+        } else if (type == 'infoImage') {
+            image = infoImageList[index];
+        } else {
+            image = productImageList[index];
+        }
+        return image;
+    }
+
+    function updatePcStatus(status, index) {
+        var image = getImage(index);
+        confirmx(status == 0 ? '确定停用吗?' : '确定启用吗?', function () {
+            image.pcStatus = status;
+            batchSaveSort();
+        })
+    }
+
+    function updateAppletsStatus(status, index) {
+        var image = getImage(index);
+        confirmx(status == 0 ? '确定停用吗?' : '确定启用吗?', function () {
+            image.appletsStatus = status;
+            batchSaveSort();
+        })
+    }
+
+    function showTemplate() {
+        var title = '';
+        var url = "${ctx}/newhome/newPageFloor/showTemplate";
+        title = "模板";
+        top.$.jBox("iframe:" + url, {
+            iframeScrolling: 'yes',
+            width: $(top.document).width() - 600,
+            height: $(top.document).height() - 160,
+            persistent: true,
+            title: title,
+            buttons: {"关闭": '-1'}
+        })
+    }
+
+    function clickAllSelect(ckb) {
+        var isChecked = ckb.checked;
+        $(".check-item").attr('checked', isChecked);
+    }
+
+    //修改偏展会/商城筛选项
+    function changeTemplateSelect() {
+        let templateSelect = $("#templateSelect").val();
+        if (1 == templateSelect) {
+            $(".displayTemplate").removeClass("hide");
+            $(".mallTemplate").removeClass("hide");
+        } else if (2 == templateSelect) {
+            $(".displayTemplate").removeClass("hide");
+            $(".mallTemplate").addClass("hide");
+        } else if (3 == templateSelect) {
+            $(".mallTemplate").removeClass("hide");
+            $(".displayTemplate").addClass("hide");
+        }
+    }
+
+    //修改偏pc/移动端筛选项
+    function changeSourceSelect() {
+        let source = $("#sourceSelect").val();
+        var templateType = parseInt($("input[type='radio']:checked").val());
+        if (1 == source) {
+            $("#pcTemplate").removeClass("hide");
+            $("#appletsTemplate").addClass("hide");
+            $('input:radio[value=' + templateType + ']').attr('checked', false);
+            templateType = templateType - 50;
+            $('input:radio[value=' + templateType + ']').attr('checked', true);
+        } else if (2 == source) {
+            $("#appletsTemplate").removeClass("hide");
+            $("#pcTemplate").addClass("hide");
+            $('input:radio[value=' + templateType + ']').attr('checked', false);
+            templateType = templateType + 50;
+            $('input:radio[value=' + templateType + ']').attr('checked', true);
+        }
+        showContent(1 == source ? 'pc' : 'applets');
+    }
+</script>
+</body>
+</html>

+ 311 - 0
src/main/webapp/WEB-INF/views/modules/newhome/addActivityAdsImage.jsp

@@ -0,0 +1,311 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: Administrator
+  Date: 2020/4/9
+  Time: 19:54
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+    <title>选择其他图片</title>
+    <meta name="decorator" content="default"/>
+    <style type="text/css">
+        .table td i {
+            margin: 0 2px;
+        }
+
+        .iconBox {
+            font-size: 0;
+        }
+
+        .controls .conList {
+            display: inline-block;
+            margin-right: 15px;
+        }
+
+        .conList .btn:nth-of-type(1) {
+            margin-left: 25px;
+        }
+
+        .upload-content {
+            margin-top: -70px;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) {
+            width: 90px;
+            height: 100px;
+            border: 2px solid #eee;
+            background: #fff;
+            position: relative;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) > div {
+            position: absolute;
+            top: 50%;
+            left: 50%;
+            transform: translate(-50%, -50%);
+            color: #666;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) span {
+            font-size: 35px;
+        }
+
+        .upload-content .conList .btn:nth-of-type(1) h5 {
+            color: #666;
+        }
+
+        .cancel-upload {
+            background: transparent;
+            border: none;
+            box-shadow: none;
+            position: relative;
+            top: -38px;
+            left: -25px;
+            cursor: pointer;
+            z-index: 100;
+        }
+
+        .upload-content .conList ol li {
+            width: 114px;
+            min-height: 80px;
+            text-align: center;
+            background: #fff;
+            position: relative;
+            top: 120px;
+            margin-left: 2px;
+        }
+
+        .hide-pic {
+            display: none !important;
+        }
+    </style>
+
+    <script type="text/javascript">
+        $(document).ready(function () {
+            $("#inputForm").validate({
+                submitHandler: function (form) {
+                    var beginTime = $("#beginTime").val();
+                    var endTime = $("#endTime").val();
+                    if (beginTime > endTime) {
+                        alertx("开始时间不能晚于结束时间!");
+                        return;
+                    } else {
+                        loading('正在提交,请稍等...');
+                        form.submit();
+                    }
+                },
+                errorContainer: "#messageBox",
+                errorPlacement: function (error, element) {
+                    $("#messageBox").text("输入有误,请先更正。");
+                    if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
+                        error.appendTo(element.parent().parent());
+                    } else {
+                        error.insertAfter(element);
+                    }
+                }
+            });
+        });
+    </script>
+</head>
+<body>
+<br/>
+<form:form id="inputForm" modelAttribute="floorImage" action="" method="post" class="form-horizontal">
+    <form:hidden path="id" id="id"/>
+    <sys:message content="${message}"/>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>PC图片:</label>
+        <div class="controls upload-content iconBox">
+            <div class="conList">
+                <form:hidden id="image" path="image" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
+                <sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+                              maxHeight="100"/>
+                <br>
+                <label>${pcImageSize}</label>
+            </div>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>小程序图片:</label>
+        <div class="controls upload-content iconBox">
+            <div class="conList">
+                <form:hidden id="appletsImage" path="appletsImage" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
+                <sys:ckfinder input="appletsImage" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+                              maxHeight="100"/>
+                <br>
+                <label>${appletsImageSize}</label>
+            </div>
+        </div>
+    </div>
+    <div class="control-group" style="display: ${type eq 'adsImage'?'none':''}">
+        <label class="control-label"><font color="red">*</font>标题:</label>
+        <div class="controls">
+            <form:input path="name" id="name" htmlEscape="false" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group" style="display: ${type eq 'adsImage'?'none':''}">
+        <label class="control-label"><font color="red">*</font>内容:</label>
+        <div class="controls">
+            <form:textarea path="content" id="content" htmlEscape="false" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label">跳转链接:</label>
+        <div class="controls">
+            <form:input path="link" id="link" htmlEscape="false" cssStyle="position: relative" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label">小程序内容宣传图:</label>
+        <div class="controls upload-content iconBox">
+            <div class="conList">
+                <form:hidden id="adsImage" path="adsImage" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
+                <sys:ckfinder input="adsImage" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+                              maxHeight="100"/>
+                <br>
+                <label>建议图片尺寸宽度750px</label>
+            </div>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label"><font color="red">*</font> 排序:</label>
+        <div class="controls">
+            <form:input path="sort" id="sort" htmlEscape="false" maxlength="11" onkeyup="onlynum(this)" class="input-xlarge required"/>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label">网站状态:</label>
+        <div class="controls">
+            <form:select path="pcStatus" id="pcStatus" class="input-medium required">
+                <form:option value="1" label="启动"/>
+                <form:option value="0" label="停用"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="control-group">
+        <label class="control-label">小程序状态:</label>
+        <div class="controls">
+            <form:select path="appletsStatus" id="appletsStatus" class="input-medium required">
+                <form:option value="1" label="启动"/>
+                <form:option value="0" label="停用"/>
+            </form:select>
+        </div>
+    </div>
+</form:form>
+
+<script type="text/javascript">
+    $(document).ready(function () {
+        //弹出框去滚动条
+        top.$('#jbox-content').css("overflow-y", "hidden");
+        show_title(30);
+    });
+
+    $(function () {
+        $('.upload-content .conList .btn:nth-of-type(1)').html('<div><span>+</span><h5>选择图片</h5></div>');
+        $('.upload-content .conList .btn:nth-of-type(2)').after('<img class="cancel-upload" src="/static/images/close-btn1.png">').remove();
+        $('.upload-content .conList').find('.cancel-upload').hide();
+        var observeEle = document.getElementsByClassName('upload-content')[0];
+        var observeEle1 = document.getElementsByClassName('upload-content')[1];
+        var observeEle2 = document.getElementsByClassName('upload-content')[2];
+        var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
+        var MutationObserverConfig = {
+            childList: true,
+            subtree: true,
+            characterData: true
+        };
+        var observer = new MutationObserver(function (mutations) {
+            $.each(mutations, function (index, item) {
+                if (item.type === 'childList') {
+                    // 在创建新的 element 时调用
+                    var target = $(item.target),
+                        thisWrapper = target.closest('.conList'),
+                        nextEle = thisWrapper.next();
+                    thisWrapper.find('li').css('z-index', 99);
+                    thisWrapper.find('.cancel-upload').show();
+                    if (nextEle.hasClass('hide-pic')) {
+                        nextEle.removeClass('hide-pic');
+                    }
+                }
+            })
+        });
+        observer.observe(observeEle, MutationObserverConfig);
+        observer.observe(observeEle1, MutationObserverConfig);
+        observer.observe(observeEle2, MutationObserverConfig);
+
+        $('body').on('click', '.upload-content li', function () {
+            var index = $(this).closest('.conList').index() + 1,
+                str = 'remarkImage' + index + 'FinderOpen';
+            eval(str + '()');
+        });
+        $('body').on('click', '.cancel-upload', function () {
+            var wrapper = $(this).closest('.conList');
+            wrapper.find('li').css('z-index', '-1');
+            wrapper.find('input').val('');
+            $(this).hide();
+            wrapper.removeClass("hide-pic");
+            wrapper.parent().append(wrapper.clone());
+            wrapper.remove();
+            $(".conList").each(function (i, ele) {
+                if ($(ele).find("input.input-xlarge").val()) {
+                    $(ele).next().removeClass("hide-pic")
+                }
+            })
+        });
+        $(window).on("load", function () {
+            setTimeout(function () {
+                $("#image").find("input.input-xlarge").each(function (i, ele) {
+                    if ($(ele).val()) {
+                        $(ele).next().find("li").css("z-index", "99");
+                        $(ele).parents(".conList").find(".cancel-upload").show();
+                        $(ele).parents(".conList").next().removeClass("hide-pic")
+                    }
+                })
+                $("#appletsImage").find("input.input-xlarge").each(function (i, ele) {
+                    if ($(ele).val()) {
+                        $(ele).next().find("li").css("z-index", "99");
+                        $(ele).parents(".conList").find(".cancel-upload").show();
+                        $(ele).parents(".conList").next().removeClass("hide-pic")
+                    }
+                })
+                $("#adsImage").find("input.input-xlarge").each(function (i, ele) {
+                    if ($(ele).val()) {
+                        $(ele).next().find("li").css("z-index", "99");
+                        $(ele).parents(".conList").find(".cancel-upload").show();
+                        $(ele).parents(".conList").next().removeClass("hide-pic")
+                    }
+                })
+            }, 500);
+        });
+    });
+
+    function getCheckedItems() {
+        var items = {
+            "id": $('#id').val(),
+            "productId": "",
+            "image": $('#image').val(),
+            "appletsImage": $('#appletsImage').val(),
+            "adsImage": $('#adsImage').val(),
+            "name": $('#name').val(),
+            "content": $('#content').val(),
+            "link": $('#link').val(),
+            "sort": $('#sort').val(),
+            "pcStatus": $('#pcStatus').val(),
+            "appletsStatus": $('#appletsStatus').val(),
+            "label": $('#label').val(),
+            "createDate": ""
+        };
+        return items;
+    }
+
+    /**
+     * @param obj
+     * jquery控制input只能输入数字
+     */
+    function onlynum(obj) {
+        obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+    }
+</script>
+</body>
+</html>

+ 12 - 7
src/main/webapp/WEB-INF/views/modules/newhome/addOtherImage.jsp

@@ -18,6 +18,7 @@
 
         .iconBox {
             font-size: 0;
+            margin-left: 190px !important;
         }
 
         .controls .conList {
@@ -121,12 +122,16 @@
     <form:hidden path="id" id="id"/>
     <sys:message content="${message}"/>
     <div class="control-group">
-        <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>图片:</label>
-        <div class="controls upload-content iconBox">
-            <div class="conList">
-                <form:hidden id="image" path="image" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
-                <sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
-                              maxHeight="100"/>
+        <div style="float: left">
+            <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>图片:</label>
+            <div class="controls upload-content iconBox">
+                <div class="conList">
+                    <form:hidden id="image" path="image" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
+                    <sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+                                  maxHeight="100"/>
+                    <br>
+                    <label>建议图片尺寸224px*224px</label>
+                </div>
             </div>
         </div>
     </div>
@@ -145,7 +150,7 @@
     <div class="control-group">
         <label class="control-label"><font color="red">*</font>排序:</label>
         <div class="controls">
-            <form:input path="sort" id="sort" htmlEscape="false" maxlength="11" class="input-xlarge required"/>
+            <form:input path="sort" id="sort" htmlEscape="false" maxlength="11" onkeyup="onlynum(this)" class="input-xlarge required"/>
         </div>
     </div>
     <div class="control-group">

+ 9 - 9
src/main/webapp/WEB-INF/views/modules/newhome/newPageFloorContentForm.jsp

@@ -149,7 +149,7 @@
     </c:if>
     <c:if test="${empty floorContent.floorId}">
         <li><a href="${ctx}/cmpage/cmPageCentre/?pageId=${floorContent.pageId}&type=5">分类详情商品楼层</a></li>
-        <li class="active"><a href="${ctx}/cmpage/cmPageCentre/goContentPage?centreId=${floorContent.centreId}">内容</a>
+        <li class="active"><a href="${ctx}/cmpage/cmPageCentre/goContentPage?pageId=${floorContent.pageId}&centreId=${floorContent.centreId}">内容</a>
         </li>
     </c:if>
 </ul>
@@ -169,35 +169,35 @@
         <label>选择网站端模板(<font color="red">关注模板结构即可,图片数量可增加</font>):</label>
         <div>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px; ">
-                <img src="/static/template/A.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/A.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="1" label="模板A" onclick="imageShow()"/>
             </span>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px;">
-                <img src="/static/template/B.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/B.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="2" label="模板B" onclick="imageShow()"/>
             </span>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px;">
-                <img src="/static/template/C.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/C.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="3" label="模板C" onclick="imageShow()"/>
             </span>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px;">
-                <img src="/static/template/D.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/D.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="4" label="模板D" onclick="imageShow()"/>
             </span>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px;">
-                <img src="/static/template/E.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/E.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="5" label="模板E" onclick="imageShow()"/>
             </span>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px;">
-                <img src="/static/template/F.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/F.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="6" label="模板F" onclick="imageShow()"/>
             </span>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px;">
-                <img src="/static/template/G.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/G.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="7" label="模板G" onclick="imageShow()"/>
             </span>
             <span style="display: inline-block;text-align: center;margin-right:12px;margin-bottom: 12px;">
-                <img src="/static/template/H.jpg" style="width: 350px"><br>
+                <img src="/static/template/product/H.png" style="width: 350px"><br>
                 <form:radiobutton path="templateType" value="8" label="模板H(图片可轮播)" onclick="imageShow()"/>
             </span>
         </div>

+ 1 - 1
src/main/webapp/WEB-INF/views/modules/newhome/showTemplate.jsp

@@ -12,6 +12,6 @@
 </head>
 <body>
 <span style="color: red">注:网站端和移动端的图片数量是一致的,此处只展示模板结构</span>
-<img src="/static/template/tem.jpg">
+<img src="/static/template/product/tem.png">
 </body>
 </html>

+ 22 - 18
src/main/webapp/WEB-INF/views/modules/order/checkPaymentOrder.jsp

@@ -187,30 +187,34 @@
                         <c:if test="${s.status eq 0 || s.status eq 4 || s.status eq 5 || s.status eq 6 || s.status eq 7}">${fns:getDictLabel(s.status,"order_detail_status","" )}</c:if>
                     </td>
                     <td>
-                        <c:if test="${s.receiptStatus == 1}">
-                            <font color="red">待收款</font>
-                        </c:if>
-                        <c:if test="${s.receiptStatus == 2}">
-                            <font color="#ff8c00">部分收款</font>
-                        </c:if>
-                        <c:if test="${s.receiptStatus == 3}">
-                            <font color="green">已收款</font>
-                        </c:if>
-                        <c:if test="${s.receiptStatus == 4}">
-                            ----
-                        </c:if>
+                        <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1"  style="text-decoration: underline">
+                            <c:if test="${s.receiptStatus == 1}">
+                                <font color="red">待收款</font>
+                            </c:if>
+                            <c:if test="${s.receiptStatus == 2}">
+                                <font color="#ff8c00">部分收款</font>
+                            </c:if>
+                            <c:if test="${s.receiptStatus == 3}">
+                                <font color="green">已收款</font>
+                            </c:if>
+                            <c:if test="${s.receiptStatus == 4}">
+                                ----
+                            </c:if>
+                        </a>
                     </td>
                     <td>
                         <fmt:formatNumber value="${s.payableAmount}" type="number" pattern="#,##0.00"/>
                         (余额抵扣:<fmt:formatNumber value="${s.balancePayFee}" type="number" pattern="#,##0.00"/>)
                     </td>
                     <td>
-                        <c:if test="${s.alreadyReceipt eq '----'}">
-                            ${s.alreadyReceipt}
-                        </c:if>
-                        <c:if test="${s.alreadyReceipt ne '----'}">
-                            <fmt:formatNumber value="${s.alreadyReceipt}" type="number" pattern="#,##0.00"/>
-                        </c:if>
+                        <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1"  style="text-decoration: underline">
+                            <c:if test="${s.alreadyReceipt eq '----'}">
+                                ${s.alreadyReceipt}
+                            </c:if>
+                            <c:if test="${s.alreadyReceipt ne '----'}">
+                                <fmt:formatNumber value="${s.alreadyReceipt}" type="number" pattern="#,##0.00"/>
+                            </c:if>
+                        </a>
                     </td>
                     <td>
                         <c:if test="${s.payStatus == 1 || empty s.payStatus || s.payStatus == 0}"><font

+ 20 - 14
src/main/webapp/WEB-INF/views/modules/order/cmDiscernReceiptList.jsp

@@ -32,7 +32,7 @@
 
         #btnSubmit {
             width: 128px;
-            margin-left: 489px;
+            margin-left: 200px;
         }
 
         .select-ele {
@@ -90,16 +90,12 @@
             <form:input path="id" htmlEscape="false" maxlength="20" class="input-medium" onchange="onlynum(this)"/>
             <label>订单ID:</label>
             <form:input path="orderID" htmlEscape="false" maxlength="20" class="input-medium" onchange="onlynum(this)"/>
-            <label>收款时间:</label>
-            <form:input path="startTime" type="text" maxlength="20" class="input-medium Wdate" value="${startTime}"
-                        onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
-            <span class="time-space-symbols">至</span>
-            <form:input path="endTime" type="text" maxlength="20" class="input-medium Wdate" value="${endTime}"
-                        onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
-        </div>
-        <div>
             <label>订单编号:</label>
             <form:input path="orderNo" htmlEscape="false" maxlength="50" class="input-medium"/>
+            <label>机构名称:</label>
+            <form:input path="userName" htmlEscape="false" maxlength="25" class="input-medium"/>
+        </div>
+        <div>
             <label>收款方式:</label>
             <form:select path="payWay" class="select-ele input-medium">
                 <form:option value="" label="全部"/>
@@ -118,6 +114,12 @@
                 <form:options items="${fns:getDictList('discernReceiptStatus')}" itemLabel="label" itemValue="value"
                               htmlEscape="false"/>
             </form:select>
+            <label>收款账号:</label>
+            <form:select path="payType" class="select-ele input-medium">
+                <form:option value="" label="全部"/>
+                <form:options items="${fns:getDictList('payType')}" itemLabel="label" itemValue="value"
+                              htmlEscape="false"/>
+            </form:select>
         </div>
         <div>
             <label>收款进度:</label>
@@ -138,12 +140,7 @@
                 <form:options items="${fns:getDictList('associationNum')}" itemLabel="label" itemValue="value"
                               htmlEscape="false"/>
             </form:select>
-            <label>机构名称:</label>
-            <form:input path="userName" htmlEscape="false" maxlength="25" class="input-medium"/>
-            <div class="clearfix"></div>
 
-        </div>
-        <div class="check-btn-wrapper">
             <label>组织:</label>
             <form:select path="organizeID" class="input-medium">
                 <form:option value="" label="请选择"/>
@@ -151,6 +148,15 @@
                 <form:options items="${cmUserOrganizeList}" itemLabel="organizeName" itemValue="id"
                               htmlEscape="false"/>
             </form:select>
+            <div class="clearfix"></div>
+        </div>
+        <div class="check-btn-wrapper">
+            <label>收款时间:</label>
+            <form:input path="startTime" type="text" maxlength="20" class="input-medium Wdate" value="${startTime}"
+                        onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
+            <span class="time-space-symbols">至</span>
+            <form:input path="endTime" type="text" maxlength="20" class="input-medium Wdate" value="${endTime}"
+                        onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
             <input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
             <input id="export" class="btn btn-primary" value="导出筛选结果"/>
         </div>

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/cmPayShopCheck.jsp

@@ -101,10 +101,11 @@
 						<td colspan="2">${s.payTotalFee}</td>
 						<td colspan="3">${s.orderTime}</td>
 						<%--此处对应订单列表收款状态--%>
-						<td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-							<c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-							<c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-						<td>${s.receiptTotalFee}</td>
+						<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+						<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
 						<td colspan="2">
 							<c:if test="${s.discountTotalFee gt 0}">
 								<c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/cmPayShopDetail.jsp

@@ -108,10 +108,11 @@
 					<td colspan="2">${s.payTotalFee}</td>
 					<td colspan="3">${s.orderTime}</td>
 					<%--此处对应订单列表收款状态--%>
-					<td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-						<c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-						<c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-					<td>${s.receiptTotalFee}</td>
+					<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+					<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
 					<td colspan="2">
 						<c:if test="${s.discountTotalFee gt 0}">
 							<c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/cmPayShopEdit.jsp

@@ -106,10 +106,11 @@
                         <td colspan="2">${s.payTotalFee}</td>
                         <td colspan="3">${s.orderTime}</td>
                         <%--此处对应订单列表收款状态--%>
-                        <td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-                            <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-                            <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-                        <td>${s.receiptTotalFee}</td>
+                        <td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+                        <td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
                         <td colspan="2">
                             <c:if test="${s.discountTotalFee gt 0}">
                                 <c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/cmPayShopForm.jsp

@@ -123,10 +123,11 @@
 					<td colspan="2">${s.payTotalFee}</td>
 					<td colspan="3">${s.orderTime}</td>
 					<%--此处对应订单列表收款状态--%>
-					<td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-						<c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-						<c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-					<td>${s.receiptTotalFee}</td>
+					<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+					<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
 					<td colspan="2">
 						<c:if test="${s.discountTotalFee gt 0}">
 							<c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 3
src/main/webapp/WEB-INF/views/modules/order/cmPayShopList.jsp

@@ -408,10 +408,12 @@
                     <td colspan="2"><fmt:formatNumber value="${s.payTotalFee}" type="number" pattern="#,##0.00"/></td>
                     <td colspan="3">${s.orderTime}</td>
                         <%--此处对应订单列表收款状态--%>
-                    <td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                    <td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
                         <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-                    <td>${s.receiptTotalFee}</td>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a>
+                    </td>
+                    <td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
                     <td colspan="3">
                         <c:if test="${s.discountTotalFee gt 0}">
                             <c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/cmRefundRecordList.jsp

@@ -186,10 +186,11 @@
 					<td colspan="2"><fmt:formatNumber value="${s.payTotalFee}" type="number" pattern="#,##0.00"/></td>
 					<td colspan="3">${s.orderTime}</td>
 					<%--此处对应订单列表收款状态--%>
-					<td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-						<c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-						<c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-					<td>${s.receiptTotalFee}</td>
+					<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+					<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
 					<td colspan="3">
 						<c:if test="${s.discountTotalFee gt 0}">
 							<c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/cmRefundShopDetail.jsp

@@ -100,10 +100,11 @@
 							<td colspan="3"><a href="${ctx}/order/detail?id=${s.orderID}">${s.orderNo}(${s.orderID})</a></td>
 							<td colspan="2">${s.payTotalFee}</td>
 							<td colspan="3">${s.orderTime}</td>
-							<td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-								<c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-								<c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-							<td>${s.receiptTotalFee}</td>
+							<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+							<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
 							<td colspan="3">
 								<c:if test="${s.discountTotalFee gt 0}">
 									<c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/cmRefundShopForm.jsp

@@ -105,10 +105,11 @@
 						<td colspan="3"><a href="${ctx}/order/detail?id=${s.orderID}">${s.orderNo}(${s.orderID})</a></td>
 						<td colspan="2">${s.payTotalFee}</td>
 						<td colspan="3">${s.orderTime}</td>
-						<td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-							<c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-							<c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-						<td>${s.receiptTotalFee}</td>
+						<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+						<td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
 						<td colspan="3">
 							<c:if test="${s.discountTotalFee gt 0}">
 								<c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 5 - 4
src/main/webapp/WEB-INF/views/modules/order/payedAndRefundRecordList.jsp

@@ -68,10 +68,11 @@
             <td colspan="3"><a href="${ctx}/order/detail?id=${s.orderID}">${s.orderNo}(${s.orderID})</a></td>
             <td colspan="2">${s.payTotalFee}</td>
             <td colspan="3">${s.orderTime}</td>
-            <td><c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
-                <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
-                <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></td>
-            <td>${s.receiptTotalFee}</td>
+            <td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">
+                        <c:if test="${s.receiptStatus == 1}"><font color="red">待收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 2}"><font color="#ff8c00">部分收款</font></c:if>
+                        <c:if test="${s.receiptStatus == 3}"><font color="green">已收款</font></c:if></a></td>
+            <td><a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1" style="text-decoration: underline">${s.receiptTotalFee}</a></td>
             <td colspan="3">
                 <c:if test="${s.discountTotalFee gt 0}">
                     <c:if test="${s.discountTotalFee gt s.returnedPurchaseTotalFee}">

+ 22 - 18
src/main/webapp/WEB-INF/views/modules/order/refundRecord.jsp

@@ -122,30 +122,34 @@
                     <c:if test="${order.status eq 0 || order.status eq 4 || order.status eq 5 || order.status eq 6 || order.status eq 7}">${fns:getDictLabel(order.status,"order_detail_status","" )}</c:if>
                 </td>
                 <td>
-                    <c:if test="${order.receiptStatus == 1}">
-                        <font color="red">待收款</font>
-                    </c:if>
-                    <c:if test="${order.receiptStatus == 2}">
-                        <font color="#ff8c00">部分收款</font>
-                    </c:if>
-                    <c:if test="${order.receiptStatus == 3}">
-                        <font color="green">已收款</font>
-                    </c:if>
-                    <c:if test="${order.receiptStatus == 4}">
-                        ----
-                    </c:if>
+                    <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${order.orderID}&from=1"  style="text-decoration: underline">
+                        <c:if test="${order.receiptStatus == 1}">
+                            <font color="red">待收款</font>
+                        </c:if>
+                        <c:if test="${order.receiptStatus == 2}">
+                            <font color="#ff8c00">部分收款</font>
+                        </c:if>
+                        <c:if test="${order.receiptStatus == 3}">
+                            <font color="green">已收款</font>
+                        </c:if>
+                        <c:if test="${order.receiptStatus == 4}">
+                            ----
+                        </c:if>
+                    </a>
                 </td>
                 <td>
                     <fmt:formatNumber value="${order.payableAmount}" type="number" pattern="#,##0.00"/>
                     (余额抵扣:<fmt:formatNumber value="${order.balancePayFee}" type="number" pattern="#,##0.00"/>)
                 </td>
                 <td>
-                    <c:if test="${order.alreadyReceipt eq '----'}">
-                        ${order.alreadyReceipt}
-                    </c:if>
-                    <c:if test="${order.alreadyReceipt ne '----'}">
-                        <fmt:formatNumber value="${order.alreadyReceipt}" type="number" pattern="#,##0.00"/>
-                    </c:if>
+                    <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${order.orderID}&from=1"  style="text-decoration: underline">
+                        <c:if test="${order.alreadyReceipt eq '----'}">
+                            ${order.alreadyReceipt}
+                        </c:if>
+                        <c:if test="${order.alreadyReceipt ne '----'}">
+                            <fmt:formatNumber value="${order.alreadyReceipt}" type="number" pattern="#,##0.00"/>
+                        </c:if>
+                    </a>
                 </td>
                 <td>
                     <c:if test="${order.payStatus == 1 || empty order.payStatus || order.payStatus == 0}"><font

+ 3 - 3
src/main/webapp/WEB-INF/views/modules/user/cmUserBalanceRecordList.jsp

@@ -140,7 +140,7 @@
 								<a href="${ctx}/order/detail?id=${cmUserBalanceRecord.orderId}">余额抵扣</a>
 							</c:if>
 							<c:if test="${cmUserBalanceRecord.balanceType eq 2 }">
-								<font  title="暂无详情,不可查看" >多收款退到余额</font>
+								<a href="${ctx}/order/cmDiscernReceipt/detail?id=${cmUserBalanceRecord.receiptId}">多收款退到余额</a>
 							</c:if>
 							<c:if test="${cmUserBalanceRecord.balanceType eq 3 }">
 								<a href="${ctx}/bulkpurchase/cmRefundsProduct/toRecturnRecord.rpc?id=${cmUserBalanceRecord.returnedId}&orderID=${cmUserBalanceRecord.orderId}">申请退款</a>
@@ -154,10 +154,10 @@
 								<a href="${ctx}/user/cmUserBalanceRecord/cancelWithdrawals?id=${cmUserBalanceRecord.id}" onclick="return confirmx('确定撤销本次提现吗?', this.href)"><font color="red">撤销提现</font></a>
 							</c:if>
 							<c:if test="${cmUserBalanceRecord.balanceType eq 6 }">
-								<a href="${ctx}/order/detail?id=${cmUserBalanceRecord.orderId}">订金订单充值</a>
+								<a href="${ctx}/order/cmDiscernReceipt/detail?id=${cmUserBalanceRecord.receiptId}">订金订单充值</a>
 							</c:if>
 							<c:if test="${cmUserBalanceRecord.balanceType eq 7 }">
-								<a href="${ctx}/order/detail?id=${cmUserBalanceRecord.orderId}">余额订单充值</a>
+								<a href="${ctx}/order/cmDiscernReceipt/detail?id=${cmUserBalanceRecord.receiptId}">余额订单充值</a>
 							</c:if>
 							<c:if test="${cmUserBalanceRecord.balanceType eq 8 }">
 								<a href="${ctx}/bulkpurchase/cmRefundsProduct/toRecturnRecord.rpc?id=${cmUserBalanceRecord.returnedId}&orderID=${cmUserBalanceRecord.orderId}">订金订单退款</a>

+ 259 - 133
src/main/webapp/WEB-INF/views/modules/zplm/cmBrandAuthProductList.jsp

@@ -1,12 +1,17 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
-<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
 <html>
 <head>
-	<title>品牌授权商品管理</title>
-	<meta name="decorator" content="default"/>
-	<style type="text/css">
-		.table th{text-align: center;}
-		.table td{text-align: center;}
+    <title>品牌授权商品管理</title>
+    <meta name="decorator" content="default"/>
+    <style type="text/css">
+        .table th {
+            text-align: center;
+        }
+
+        .table td {
+            text-align: center;
+        }
 
         .qrcodeBox-content {
             width: 100%;
@@ -21,8 +26,8 @@
 
         .content-box {
             border-radius: 5px;
-            width: 260px;
-            height: 300px;
+            width: 300px;
+            height: 400px;
             background-color: #FFF;
             border: 1px solid #ebebeb;
             position: absolute;
@@ -33,12 +38,11 @@
             margin: auto;
             z-index: 999;
             box-sizing: border-box;
-            padding: 20px;
         }
 
         .qrcodeBox {
-            width: 220px;
-            height: 220px;
+            width: 300px;
+            height: 400px;
         }
 
         .qrcodeBox-colse {
@@ -47,6 +51,7 @@
             display: inline;
             float: right;
         }
+
         .qrcodeBox-download {
             width: 50%;
             height: 50px;
@@ -81,139 +86,260 @@
             margin-top: 10px;
             cursor: pointer;
         }
-	</style>
-	<script type="text/javascript">
-		$(document).ready(function() {
-			
-		});
-		function page(n,s){
-			$("#pageNo").val(n);
-			$("#pageSize").val(s);
-			$("#searchForm").submit();
-        	return false;
+    </style>
+    <script type="text/javascript">
+        $(document).ready(function () {
+
+        });
+
+        function page(n, s) {
+            $("#pageNo").val(n);
+            $("#pageSize").val(s);
+            $("#searchForm").submit();
+            return false;
         }
-	</script>
+    </script>
 
 </head>
 <body>
-	<ul class="nav nav-tabs">
-		<li><a href="${ctx}/zplm/cmBrandAuth/">品牌授权列表</a></li>
-		<li class="active"><a href="${ctx}/zplm/cmBrandAuthProduct/?authId=${cmBrandAuthProduct.authId}">商品列表</a></li>
-	</ul>
-	<form:form id="searchForm" modelAttribute="cmBrandAuthProduct" action="${ctx}/zplm/cmBrandAuthProduct/?authId=${cmBrandAuthProduct.authId}" method="post" class="breadcrumb form-search">
-		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
-		<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
-		<div class="ul-form">
-			 <label>商品名称:</label>
-				<form:input path="name" htmlEscape="false" maxlength="50" class="input-medium"/>
-			 <label>商品sn码:</label>
-				<form:input path="snCode" htmlEscape="false" maxlength="255" class="input-medium"/>
-			&nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
-			  <a class="btn btn-primary" href="${ctx}/zplm/cmBrandAuthProduct/form?authId=${cmBrandAuthProduct.authId}">新增</a>
-			<div class="clearfix"></div>
-		</div>
-	</form:form>
-	<sys:message content="${message}"/>
-	<table id="contentTable" class="table table-striped table-bordered table-condensed">
-		<thead>
-			<tr>
-				<th>序号</th>
-				<th>商品名称</th>
-				<th>商品SN码</th>
-				<th>创建时间</th>
-				<th>创建人</th>
-				<th>操作</th>
-			</tr>
-		</thead>
-		<tbody>
-		<c:forEach items="${page.list}" var="product" varStatus="index">
-			<tr>
-				<td>
-					${index.index+1}
-				</td>
-				<td>
-					${product.name}
-				</td>
-				<td>
-					${product.snCode}
-				</td>
-				<td>
-					<fmt:formatDate value="${product.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
-				</td>
-				<td>
-					${product.createUserName}
-				</td>
-				<td>
-    				<a href="${ctx}/zplm/cmBrandAuthProduct/form?id=${product.id}&authId=${cmBrandAuthProduct.authId}">编辑</a>
-					<a href="${ctx}/zplm/cmBrandAuthProduct/delete?id=${product.id}&authId=${cmBrandAuthProduct.authId}" onclick="return confirmx('确认要删除该品牌授权商品吗?', this.href)">删除</a>
-					<a href="javascript:;" onclick="show('${product.id}','${fns:getConfig('wwwServer')}')">二维码</a>
-				</td>
-			</tr>
-		</c:forEach>
-		</tbody>
-	</table>
-    <div class="qrcodeBox-content">
-        <div class="content-box">
-            <div class="qrcodeBox" id="qrcode">
-
-            </div>
-            <div class="qrcodeBox-colse">
-                <div class="close-btn">关闭</div>
-            </div>
-            <div class="qrcodeBox-download">
-                <div class="download-btn" onclick="downloadClick()">下载二维码</div>
-            </div>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/zplm/cmBrandAuth/">品牌授权列表</a></li>
+    <li class="active"><a href="${ctx}/zplm/cmBrandAuthProduct/?authId=${cmBrandAuthProduct.authId}">商品列表</a></li>
+</ul>
+<form:form id="searchForm" modelAttribute="cmBrandAuthProduct"
+           action="${ctx}/zplm/cmBrandAuthProduct/?authId=${cmBrandAuthProduct.authId}" method="post"
+           class="breadcrumb form-search">
+    <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+    <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+    <div class="ul-form">
+        <label>商品名称:</label>
+        <form:input path="name" htmlEscape="false" maxlength="50" class="input-medium"/>
+        <label>商品sn码:</label>
+        <form:input path="snCode" htmlEscape="false" maxlength="255" class="input-medium"/>
+        &nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
+        <a class="btn btn-primary" href="${ctx}/zplm/cmBrandAuthProduct/form?authId=${cmBrandAuthProduct.authId}">新增</a>
+        <div class="clearfix"></div>
+    </div>
+</form:form>
+<sys:message content="${message}"/>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+    <thead>
+    <tr>
+        <th>序号</th>
+        <th>商品名称</th>
+        <th>商品SN码</th>
+        <th>创建时间</th>
+        <th>创建人</th>
+        <th>操作</th>
+    </tr>
+    </thead>
+    <tbody>
+    <c:forEach items="${page.list}" var="product" varStatus="index">
+        <tr>
+            <td>
+                    ${index.index+1}
+            </td>
+            <td>
+                    ${product.name}
+            </td>
+            <td>
+                    ${product.snCode}
+            </td>
+            <td>
+                <fmt:formatDate value="${product.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+            </td>
+            <td>
+                    ${product.createUserName}
+            </td>
+            <td>
+                <a href="${ctx}/zplm/cmBrandAuthProduct/form?id=${product.id}&authId=${cmBrandAuthProduct.authId}">编辑</a>
+                <a href="${ctx}/zplm/cmBrandAuthProduct/delete?id=${product.id}&authId=${cmBrandAuthProduct.authId}"
+                   onclick="return confirmx('确认要删除该品牌授权商品吗?', this.href)">删除</a>
+                <a href="javascript:;"
+                   onclick="show('${product.id}','${fns:getConfig('wwwServer')}','${cmBrandAuth.agentFlag eq 1?cmBrandAuth.agentName:cmBrandAuth.brandName}','${product.displaySnCode}')">二维码</a>
+            </td>
+        </tr>
+    </c:forEach>
+    </tbody>
+</table>
+<div class="qrcodeBox-content">
+    <div class="content-box">
+        <div class="qrcodeBox" id="qrcode">
+
         </div>
+        <div class="qrcodeBox-colse">
+            <div class="close-btn">关闭</div>
+        </div>
+        <div class="qrcodeBox-download">
+            <div class="download-btn" onclick="downQRCode()">下载二维码</div>
+        </div>
+        <div id="downQrCode"></div>
     </div>
-    <a id="downloadLink"></a>
+</div>
+<a id="downloadLink"></a>
 
-	<div class="pagination">${page}</div>
-    <script type="text/javascript" src="${ctxStatic}/QRCode/qrcode.js"></script>
-    <script type="text/javascript">
-        $(document).ready(function () {
-            //弹出框去滚动条
-            top.$('#jbox-content').css("overflow-y", "hidden");
-            show_title(30);
-            $('.close-btn').click(function () {
-                closeAlert();
-            })
-        });
+<div class="pagination">${page}</div>
+<%--    <script type="text/javascript" src="${ctxStatic}/QRCode/qrcode.js"></script>--%>
+<script type="text/javascript">
+    $(document).ready(function () {
+        //弹出框去滚动条
+        top.$('#jbox-content').css("overflow-y", "hidden");
+        show_title(30);
+        $('.close-btn').click(function () {
+            closeAlert();
+        })
+    });
 
-        function show(id, wwwServer) {
-            $('.qrcodeBox-content').show(100);
-            new QRCode(document.getElementById("qrcode"), {
-                width: 220, //生成的二维码的宽度
-                height: 220, //生成的二维码的高度
-				text: wwwServer + "product/auth/product-" + id + ".html", //任意内容
-                colorDark : "#000000", // 生成的二维码的深色部分
-                colorLight : "#ffffff", //生成二维码的浅色部分
-                correctLevel : QRCode.CorrectLevel.H
-            });
+    function show(id, wwwServer, agentName, snCode) {
+        var qrText = wwwServer + "product/auth/product-" + id + ".html",//要生成二维码的信息,文本或URL
+            strHeader = agentName + '品牌授权',//顶部文字描述
+            strFooter1 = "仪器SN码:";//底部文字描述
+        strFooter2 = snCode;//底部文字描述
+        $('.qrcodeBox-content').show(100);
+        //生成展示二维码
+        var qrcode = $('#qrcode').qrcode({
+            render: 'canvas',
+            text: qrText,
+            width: 182,
+            height: 182,
+            background: '#ffffff',
+            foreground: '#000000',
+        }).show();
+        var canvas = qrcode.find('canvas').get(0);
+        //设置展示二维码
+        var img = new Image();
+        var bgImg = new Image();
+        img.src = canvas.toDataURL('image/png');
+        bgImg.src = "/static/images/qrCodeBackground.png";
+        bgImg.onload = function () {
+            //重新绘制画布
+            var w = bgImg.width, h = bgImg.height;
+            canvas.width = w;
+            canvas.height = h;
+            var ctx = canvas.getContext('2d');
+            //设置画布背景
+            ctx.fillStyle = '#fffefe';
+            ctx.fillRect(0, 0, canvas.width, canvas.height);
+            //设置文字样式
+            ctx.fillStyle = 'white';
+            ctx.font = 'bold 18px MicrosoftYaHei';
+            ctx.textAlign = 'center';
+            // ctx.fillText(strHeader, w / 2, picHeight[i] / 3);
+            ctx.drawImage(bgImg, 0, 0);
+            //绘制二维码
+            ctx.drawImage(img, 60, 167);
+            //绘制顶部文字描述
+            var chr = strHeader.split("");
+            var temp = "";
+            var row = [];
+            for (var a = 0; a < chr.length; a++) {
+                if (ctx.measureText(temp).width < (w - 50)) {
+                } else {
+                    row.push(temp);
+                    temp = "";
+                }
+                temp += chr[a];
+            }
+            row.push(temp);
+            if (row.length == 1) {
+                ctx.fillText(row[0], w / 2, 48);
+            } else {
+                for (var b = 0; b < row.length; b++) {
+                    ctx.fillText(row[b], w / 2, 58 - (row.length - b - 1) * 25);
+                }
+            }
+            //绘制底部文字
+            ctx.fillStyle = '#0e9ef0';
+            ctx.font = 'bold 14px MicrosoftYaHei';
+            ctx.textAlign = 'left';
+            ctx.fillText(strFooter1, 68, 91);
+            ctx.font = '14px MicrosoftYaHei';
+            ctx.fillText(strFooter2, w / 2 - 5, 91);
         }
 
-        function closeAlert() {
-            $('.qrcodeBox-content').hide(100);
-            $('#qrcode').empty();
+        //生成下载二维码
+        var downQrCode = $('#downQrCode').qrcode({
+            render: 'canvas',
+            text: qrText,
+            width: 660,
+            height: 660,
+            background: '#ffffff',
+            foreground: '#000000',
+        }).hide();
+        //设置下载二维码
+        var downCanvas = downQrCode.find('canvas').get(0);
+        var downImg = new Image();
+        var downBgImg = new Image();
+        downImg.src = downCanvas.toDataURL('image/png');
+        downBgImg.src = "/static/images/downQrCodeBackground.png";
+        downBgImg.onload = function () {
+            //重新绘制画布
+            var w = downBgImg.width, h = downBgImg.height;
+            downCanvas.width = w;
+            downCanvas.height = h;
+            var ctx = downCanvas.getContext('2d');
+            //设置画布背景
+            ctx.fillStyle = '#ffffff';
+            ctx.fillRect(0, 0, downCanvas.width, downCanvas.height);
+            //设置文字样式
+            ctx.fillStyle = '#ffffff';
+            ctx.font = 'bold 52px MicrosoftYaHei';
+            ctx.textAlign = 'center';
+            ctx.drawImage(downBgImg, 0, 0);
+            //绘制二维码
+            ctx.drawImage(downImg, 215, 402);
+            //绘制顶部文字描述
+            var chr = strHeader.split("");
+            var temp = "";
+            var row = [];
+            for (var a = 0; a < chr.length; a++) {
+                if (ctx.measureText(temp).width < (w - 290)) {
+                } else {
+                    row.push(temp);
+                    temp = "";
+                }
+                temp += chr[a];
+            }
+            row.push(temp);
+            if (row.length == 1) {
+                ctx.fillText(row[0], w / 2, 122);
+            } else {
+                for (var b = 0; b < row.length; b++) {
+                    ctx.fillText(row[b], w / 2, 160 - (row.length - b - 1) * 65);
+                }
+            }
+            //绘制底部文字
+            ctx.fillStyle = '#42aaff';
+            ctx.font = 'bold 33px MicrosoftYaHei';
+            ctx.textAlign = 'center';
+            ctx.fillText(strFooter1 + strFooter2, w / 2, 238);
         }
+    }
 
-        //jquery
-        function downloadClick () {
-            // 获取base64的图片节点
-            debugger
-            var img = document.getElementById('qrcode').getElementsByTagName('img')[0];
-            // 构建画布
-            var canvas = document.createElement('canvas');
-            canvas.width = img.width;
-            canvas.height = img.height;
-            canvas.getContext('2d').drawImage(img, 0, 0);
-            // 构造url
-            url = canvas.toDataURL('image/png');
-            // 构造a标签并模拟点击
-            var downloadLink = document.getElementById('downloadLink');
-            downloadLink.setAttribute('href', url);
-            downloadLink.setAttribute('download', '二维码.png');
-            downloadLink.click();
-        }
-    </script>
+    function closeAlert() {
+        $('.qrcodeBox-content').hide(100);
+        $('#qrcode').empty();
+        $('#downQrCode').empty();
+    }
+
+    //jquery
+    function downQRCode() {
+        // 获取base64的图片节点
+        var img = document.getElementById('downQrCode').getElementsByTagName('canvas')[0];
+        // 构建画布
+        var canvas = document.createElement('canvas');
+        canvas.width = img.width;
+        canvas.height = img.height;
+        canvas.getContext('2d').drawImage(img, 0, 0);
+        // 构造url
+        var url = canvas.toDataURL('image/png');
+        // 构造a标签并模拟点击
+        var downloadLink = document.getElementById('downloadLink');
+        downloadLink.setAttribute('href', url);
+        downloadLink.setAttribute('download', '二维码.png');
+        downloadLink.click();
+    }
+</script>
+<script type="text/javascript" src="${ctxStatic}/QRCode/jquery.qrcode.min.js"></script>
 </body>
 </html>

BIN
src/main/webapp/static/images/downQrCodeBackground.png


BIN
src/main/webapp/static/images/qrCodeBackground.png


BIN
src/main/webapp/static/template/activity/applets/1.png


BIN
src/main/webapp/static/template/activity/applets/10.png


BIN
src/main/webapp/static/template/activity/applets/11.png


BIN
src/main/webapp/static/template/activity/applets/12.png


BIN
src/main/webapp/static/template/activity/applets/13.png


BIN
src/main/webapp/static/template/activity/applets/14.png


BIN
src/main/webapp/static/template/activity/applets/15.png


BIN
src/main/webapp/static/template/activity/applets/16.png


BIN
src/main/webapp/static/template/activity/applets/17.png


BIN
src/main/webapp/static/template/activity/applets/18.png


BIN
src/main/webapp/static/template/activity/applets/19.png


BIN
src/main/webapp/static/template/activity/applets/2.png


BIN
src/main/webapp/static/template/activity/applets/20.png


BIN
src/main/webapp/static/template/activity/applets/21.png


BIN
src/main/webapp/static/template/activity/applets/3.png


BIN
src/main/webapp/static/template/activity/applets/4.png


BIN
src/main/webapp/static/template/activity/applets/5.png


BIN
src/main/webapp/static/template/activity/applets/6.png


BIN
src/main/webapp/static/template/activity/applets/7.png


BIN
src/main/webapp/static/template/activity/applets/8.png


BIN
src/main/webapp/static/template/activity/applets/9.png


BIN
src/main/webapp/static/template/activity/pc/1.png


BIN
src/main/webapp/static/template/activity/pc/10.png


BIN
src/main/webapp/static/template/activity/pc/11.png


BIN
src/main/webapp/static/template/activity/pc/12.png


BIN
src/main/webapp/static/template/activity/pc/13.png


BIN
src/main/webapp/static/template/activity/pc/14.png


BIN
src/main/webapp/static/template/activity/pc/15.png


BIN
src/main/webapp/static/template/activity/pc/16.png


BIN
src/main/webapp/static/template/activity/pc/17.png


BIN
src/main/webapp/static/template/activity/pc/18.png


BIN
src/main/webapp/static/template/activity/pc/19.png


BIN
src/main/webapp/static/template/activity/pc/2.png


BIN
src/main/webapp/static/template/activity/pc/20.png


BIN
src/main/webapp/static/template/activity/pc/21.png


BIN
src/main/webapp/static/template/activity/pc/3.png


BIN
src/main/webapp/static/template/activity/pc/4.png


BIN
src/main/webapp/static/template/activity/pc/5.png


BIN
src/main/webapp/static/template/activity/pc/6.png


BIN
src/main/webapp/static/template/activity/pc/7.png


BIN
src/main/webapp/static/template/activity/pc/8.png


BIN
src/main/webapp/static/template/activity/pc/9.png


BIN
src/main/webapp/static/template/product/A.png


BIN
src/main/webapp/static/template/product/B.png


BIN
src/main/webapp/static/template/product/C.png


BIN
src/main/webapp/static/template/product/D.png


BIN
src/main/webapp/static/template/product/E.png


BIN
src/main/webapp/static/template/product/F.png


BIN
src/main/webapp/static/template/product/G.png


BIN
src/main/webapp/static/template/product/H.png


BIN
src/main/webapp/static/template/product/tem.png