Aslee пре 4 година
родитељ
комит
da1c937f0d

+ 1 - 2
src/main/java/com/caimei/modules/cmpage/service/CmPageCentreService.java

@@ -114,11 +114,10 @@ public class CmPageCentreService extends CrudService<CmPageCentreDao, CmPageCent
         NewPageFloorContent floorContent = cmPageCentreDao.findFloorContentByCentreId(centreId);
         List<NewPageFloorImage> floorImageList = cmPageCentreDao.findFloorImage(centreId);
         floorImageList.forEach(image -> {
-            image.setImage(AppUtils.getProductImageURL(image.getImage(), 0, Global.getConfig("wwwServer")));
             if (image.getProductId() != null) {
                 Product product = productDao.get(image.getProductId().toString());
                 if (product != null) {
-                    image.setImage(AppUtils.getProductImageURL(product.getMainImage(), 0, Global.getConfig("wwwServer")));
+                    image.setImage(AppUtils.getProductImageURL(product.getMainImage(), 0, "https://www.caimei365.com/"));
                     image.setName(product.getName());
                 }
             }

+ 1 - 0
src/main/java/com/caimei/modules/cmpage/web/CmPageCentreController.java

@@ -224,6 +224,7 @@ public class CmPageCentreController extends BaseController {
         NewPageFloorContent floorContent = cmPageCentreService.findFloorContent(newPageFloorContent.getCentreId());
         floorContent.setPageId(newPageFloorContent.getPageId());
         floorContent.setType(newPageFloorContent.getType());
+        floorContent.setRedirectFlag(1);
         model.addAttribute("floorContent", floorContent);
         if ("6".equals(newPageFloorContent.getType())) {
             return "modules/newhome/activityFloorContentForm";

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

@@ -127,6 +127,11 @@ public class NewPageFloorContent implements Serializable {
      */
     private String type;
 
+    /**
+     * 重定向标识
+     */
+    private Integer redirectFlag;
+
     public Integer getId() {
         return id;
     }
@@ -318,4 +323,12 @@ public class NewPageFloorContent implements Serializable {
     public void setAdsLink5(String adsLink5) {
         this.adsLink5 = adsLink5;
     }
+
+    public Integer getRedirectFlag() {
+        return redirectFlag;
+    }
+
+    public void setRedirectFlag(Integer redirectFlag) {
+        this.redirectFlag = redirectFlag;
+    }
 }

+ 10 - 5
src/main/java/com/caimei/modules/newhome/web/NewPageFloorController.java

@@ -220,7 +220,7 @@ public class NewPageFloorController extends BaseController {
      * 活动专题添加图片
      */
     @RequestMapping("/addActivityImage")
-    public String addActivityImage(Product product, String type, Integer templateType, Model model, HttpServletRequest request, HttpServletResponse response) {
+    public String addActivityImage(Product product, String type, Integer templateType, NewPageFloorImage newPageFloorImage, Model model, HttpServletRequest request, HttpServletResponse response) {
         if ("productImage".equals(type)) {
             product.setValidFlag("2");
             Page<Product> page = productService.findProductImage(new Page<Product>(request, response), product);
@@ -276,7 +276,7 @@ public class NewPageFloorController extends BaseController {
             model.addAttribute("pcImageSize", pcImageSize);
             model.addAttribute("appletsImageSize", appletsImageSize);
             model.addAttribute("type", type);
-            model.addAttribute("floorImage", new NewPageFloorImage());
+            model.addAttribute("floorImage", newPageFloorImage);
             return "modules/newhome/addActivityAdsImage";
         }
     }
@@ -300,13 +300,18 @@ public class NewPageFloorController extends BaseController {
         addMessage(redirectAttributes, "保存成功");
         if (floorContent.getFloorId() != null) {
             return "redirect:" + Global.getAdminPath() + "/newhome/newPageFloor/?repage";
-        } else if (StringUtils.isNotBlank(floorContent.getType())){
+        } else if (StringUtils.isNotBlank(floorContent.getType())) {
             //清除活动专题缓存
             redisService.removePattern("activityData*");
-            return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=6";
+            if (floorContent.getRedirectFlag() == 1) {
+                return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=6";
+            } else {
+                return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/goContentPage?centreId=" + floorContent.getCentreId() + "&pageId=" + floorContent.getPageId() + "&type=6";
+            }
         } else {
             //清除产品仪器缓存
-            redisService.removePattern("instrumentData*");redisService.removePattern("insCommodityData*");
+            redisService.removePattern("instrumentData*");
+            redisService.removePattern("insCommodityData*");
             return "redirect:" + Global.getAdminPath() + "/cmpage/cmPageCentre/?pageId=" + floorContent.getPageId() + "&type=5";
         }
     }

+ 2 - 1
src/main/webapp/WEB-INF/views/modules/cmpage/cmPageActivityCentreList.jsp

@@ -120,7 +120,8 @@
     <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="添加楼层"/>
+           value="添加楼层"/>&nbsp;&nbsp;&nbsp;&nbsp;
+    <a class="btn btn-primary" href="${fns:getConfig('wwwServer')}cmpage/info-6-${cmPageCentre.pageId}.html" target="_blank">一键预览</a>
     <div style="margin-top: 10px">
         <label><font color="#a9a9a9">注:排序值越小越靠前</font></label>
     </div>

+ 122 - 6
src/main/webapp/WEB-INF/views/modules/newhome/activityFloorContentForm.jsp

@@ -291,6 +291,7 @@
     <form:hidden path="pageId"/>
     <form:hidden path="images" id="images"/>
     <form:hidden path="type"/>
+    <form:hidden path="redirectFlag"/>
     <sys:message content="${message}"/>
     <div class="control-group">
         楼层名称:<a style="text-decoration:none;">${floorContent.floorTitle}</a>
@@ -502,7 +503,8 @@
                             <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="添加"/>
+                                   onclick="showSelect('${ctx}/newhome/newPageFloor/addActivityImage')" value="添加"/>&nbsp;&nbsp;&nbsp;&nbsp;
+                            <a class="btn btn-primary" href="${fns:getConfig('wwwServer')}cmpage/info-6-${floorContent.pageId}.html" target="_blank">一键预览</a>
                             <br><br>
                             <table id="adsImageTable" class="table table-striped table-bordered table-condensed"
                                    style="display: none">
@@ -962,8 +964,11 @@
     </div>
     <div class="form-actions">
         <shiro:hasPermission name="newhome:newPageFloor:edit"><input id="btnSubmit" class="btn btn-primary"
-                                                                     type="submit"
+                                                                     type="submit" onclick="changeRedirectFlag(1)"
                                                                      value="保 存"/>&nbsp;</shiro:hasPermission>
+        <input id="btnSubmit" class="btn btn-primary"
+               type="submit" onclick="changeRedirectFlag(0)"
+               value="保存并继续"/>&nbsp;
         <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
     </div>
 </form:form>
@@ -1408,7 +1413,10 @@
             )) +
             '</td>' +
             '<td>' +
-            '<a href="javascript:;" onclick="delect(' + index + ')">删除</a>' +
+            (type == 'adsImage' || type == 'infoImage' ? (
+                '<a href="javascript:;" onclick="update(' + index + ')">编辑</a>'
+            ) : '') +
+            '   <a href="javascript:;" onclick="delect(' + index + ')">删除</a>' +
             '</td>' +
             '</tr>';
         return html;
@@ -1506,14 +1514,14 @@
             var image = getImage(index);
             if (type == 'adsImage') {
                 adsImageList.splice(index, 1);
-                insertHtml(adsImageList, 'adsImage');
+                insertHtml(adsImageList);
                 if (adsImageList.length == 0) {
                     $("#del").attr("disabled", "disabled");
                     $('#adsImageTable').hide();
                 }
             } else if (type == 'infoImage') {
                 infoImageList.splice(index, 1);
-                insertHtml(infoImageList, 'infoImage');
+                insertHtml(infoImageList);
                 if (infoImageList.length == 0) {
                     $("#del").attr("disabled", "disabled");
                     $('#infoImageTable').hide();
@@ -1523,7 +1531,7 @@
                     productIds = productIds.replace(image.productId, "");
                 }
                 productImageList.splice(index, 1);
-                insertHtml(productImageList, 'productImage');
+                insertHtml(productImageList);
                 if (productImageList.length == 0) {
                     $("#del").attr("disabled", "disabled");
                     $('#productImageTable').hide();
@@ -1593,6 +1601,109 @@
         }
     }
 
+
+    /**
+     * 更新操作
+     */
+    function update(index) {
+        debugger
+        var type = $("#type").val();
+        let splice;
+
+        // 数据回显
+        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();
+
+        var image = null;
+        var url = '${ctx}/newhome/newPageFloor/addActivityImage';
+        if (type == 'adsImage') {
+            image = adsImageList[index];
+            url = url + "?type=adsImage&templateType=" + templateType + "&image=" + image.image + "&appletsImage=" + image.appletsImage +
+                "&link=" + image.link + "&adsImage=" + image.adsImage + "&pcStatus=" + image.pcStatus +
+                "&appletsStatus=" + image.appletsStatus + "&sort=" + image.sort + "&createDate=" + image.createDate;
+        } else if (type == 'infoImage') {
+            image = infoImageList[index];
+            url = url + "?type=infoImage&templateType=" + templateType + "&image=" + image.image + "&appletsImage=" + image.appletsImage +
+                "&name=" + image.name + "&content=" + image.content + "&link=" + image.link + "&adsImage=" + image.adsImage + "&pcStatus=" + image.pcStatus +
+                "&appletsStatus=" + image.appletsStatus + "&sort=" + image.sort + "&createDate=" + image.createDate;
+
+        }
+        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') {
+                        // 宣传图活动
+                        if (items.image == '') {
+                            alertx("请上传PC图片");
+                            return false;
+                        }
+                        if (items.appletsImage == '') {
+                            alertx("请上传小程序图片");
+                            return false;
+                        }
+                        if (items.sort == '') {
+                            alertx("请输入排序值");
+                            return false;
+                        }
+                        // 编辑成功,先删除原来的数据,再重新添加
+                        adsImageList.splice(index, 1);
+                        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.splice(index, 1);
+                        infoImageList.push(items);
+                        $('#adsImageTable').hide();
+                        $('#infoImageTable').show();
+                        $('#productImageTable').hide();
+                    }
+                    $("#del").removeAttr("disabled");
+                    batchSaveSort();
+                }
+                return true;
+            }
+        });
+    }
+
     function getImage(index) {
         var image;
         var type = $("#type").val();
@@ -1675,6 +1786,11 @@
         }
         showContent(1 == source ? 'pc' : 'applets');
     }
+
+    // 保存完是否重定向到楼层列表
+    function changeRedirectFlag(redirectFlag) {
+        $("#redirectFlag").val(redirectFlag);
+    }
 </script>
 </body>
 </html>

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

@@ -115,9 +115,9 @@
 <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">
+    <div class="control-group iconBox">
         <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>PC图片:</label>
-        <div class="controls upload-content iconBox">
+        <div class="controls upload-content" id="imageBox">
             <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"
@@ -127,9 +127,9 @@
             </div>
         </div>
     </div>
-    <div class="control-group">
+    <div class="control-group iconBox">
         <label class="control-label"><span class="help-inline"><font color="red">*</font> </span>小程序图片:</label>
-        <div class="controls upload-content iconBox">
+        <div class="controls upload-content" id="appletsImageBox">
             <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"
@@ -157,9 +157,9 @@
             <form:input path="link" id="link" htmlEscape="false" cssStyle="position: relative" class="input-xlarge required"/>
         </div>
     </div>
-    <div class="control-group">
+    <div class="control-group iconBox">
         <label class="control-label">小程序内容宣传图:</label>
-        <div class="controls upload-content iconBox">
+        <div class="controls upload-content" id="adsImageBox">
             <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"
@@ -255,21 +255,21 @@
         });
         $(window).on("load", function () {
             setTimeout(function () {
-                $("#image").find("input.input-xlarge").each(function (i, ele) {
+                $("#imageBox").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) {
+                $("#appletsImageBox").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) {
+                $("#adsImageBox").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();