From 846e51ef297b83be2f79ef11a1a2c56150c55012 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期五, 18 八月 2023 19:32:40 +0800 Subject: [PATCH] 管理后台:积分商品的详情模块 --- cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseCityServiceImpl.java | 20 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreVos.java | 18 + cloud-server-activity/src/main/java/com/dsh/activity/model/response/StoreVos.java | 18 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GoodsInfoOneVo.java | 78 ++++++ cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandiseCity.java | 67 +++++ cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_one.html | 207 +++++++++++++++++ cloud-server-activity/src/main/java/com/dsh/activity/model/response/GoodsInfoOneVo.java | 78 ++++++ cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 97 ++++++++ cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js | 2 cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseCityMapper.java | 16 + cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseCityService.java | 16 + cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java | 13 + cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js | 1 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java | 43 +++ cloud-server-activity/src/main/resources/mapper/PointsMerchandiseCityMapper.xml | 6 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html | 12 16 files changed, 681 insertions(+), 11 deletions(-) diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index faff332..894443e 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -13,6 +13,8 @@ import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; import com.dsh.activity.model.PointMerchandiseVo; import com.dsh.activity.model.request.*; +import com.dsh.activity.model.response.GoodsInfoOneVo; +import com.dsh.activity.model.response.StoreVos; import com.dsh.activity.service.*; import com.dsh.activity.util.GDMapGeocodingUtil; import com.dsh.activity.util.StrUtils; @@ -70,6 +72,9 @@ @Resource private CouponCityService ccityService; + + @Resource + private PointsMerchandiseCityService pmdsCityService; @ResponseBody @@ -744,4 +749,96 @@ } } + + @PostMapping("/base/pointMerchars/queryDetailsOfGoods") + public GoodsInfoOneVo queryDetailsOfGoods(@RequestBody Integer id){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + GoodsInfoOneVo infoOneVo = new GoodsInfoOneVo(); + PointsMerchandise byId = pmdsService.getById(id); + + if (ToolUtil.isNotEmpty(byId)){ + infoOneVo.setName(byId.getName()); + infoOneVo.setCover(byId.getCover()); + infoOneVo.setPics(byId.getProductImages()); + infoOneVo.setPrice(byId.getPrice()); + infoOneVo.setExchangeMethod(byId.getRedemptionMethod()); + switch (byId.getRedemptionMethod()){ + case 1: + infoOneVo.setIntegral(byId.getIntegral()); + break; + case 2: + infoOneVo.setIntegral(byId.getIntegral()); + infoOneVo.setCash(byId.getCash()); + break; + case 3: + infoOneVo.setCash(byId.getCash()); + break; + default: + break; + } + switch (byId.getUserPopulation()){ + case 1: + infoOneVo.setUserPopulation("全部用户"); + break; + case 2: + infoOneVo.setUserPopulation("年度会员"); + break; + case 3: + infoOneVo.setUserPopulation("已有学员用户"); + break; + default: + break; + } + infoOneVo.setQuantityIssued(byId.getQuantityIssued()); + List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() + .eq(UserPointsMerchandise::getPointsMerchandiseId,byId.getId())); + infoOneVo.setUseScope(byId.getUseScope()); + switch (byId.getUseScope()){ + case 1: + infoOneVo.setExchangeArea("全国通用"); + break; + case 2: + infoOneVo.setExchangeArea("指定城市"); + break; + case 3: + infoOneVo.setExchangeArea("指定门店"); + break; + default: + break; + } + infoOneVo.setHasPicked(list.size()); + infoOneVo.setPickUpQuantity(byId.getPickUpQuantity()); + infoOneVo.setValidTime(simpleDateFormat.format(byId.getStartTime())+"至"+ simpleDateFormat.format(byId.getEndTime())); + infoOneVo.setRedemptionInstructions(byId.getRedemptionInstructions()); + infoOneVo.setSort(byId.getSort()); + } + return infoOneVo; + } + + + + @ResponseBody + @PostMapping("/base/pointMerchars/getStoreList") + public List<StoreVos> getStoreList(@RequestBody Integer id){ + List<StoreVos> storeVos = new ArrayList<>(); + List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() + .eq("pointsMerchandiseId",id)); + + // TODO: 2023/8/18 查询城市 + return storeVos; + } + + + @ResponseBody + @PostMapping("/base/pointMerchars/getProvinces") + public List<StoreVos> getProvinces(@RequestBody Integer id){ + List<StoreVos> storeVos = new ArrayList<>(); + List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>() + .eq(PointsMerchandiseCity::getPointsMerchandiseId,id)); + + + // TODO: 2023/8/18 查询门店 + return storeVos; + } + } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandiseCity.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandiseCity.java new file mode 100644 index 0000000..357ef8f --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandiseCity.java @@ -0,0 +1,67 @@ +package com.dsh.activity.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * 积分商品使用门店关系数据 + * </p> + * + * @author jqs + * @since 2023-07-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_points_merchandise_city") +public class PointsMerchandiseCity extends Model<PointsMerchandiseCity> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 积分商品id + */ + @TableField("pointsMerchandiseId") + private Integer pointsMerchandiseId; + /** + * + */ + @TableField("city") + private String city; + /** + * + */ + @TableField("cityCode") + private String cityCode; + /** + * + */ + @TableField("province") + private String province; + /** + * + */ + @TableField("provinceCode") + private String provinceCode; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseCityMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseCityMapper.java new file mode 100644 index 0000000..91eb2c9 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseCityMapper.java @@ -0,0 +1,16 @@ +package com.dsh.activity.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.activity.entity.PointsMerchandiseCity; + +/** + * <p> + * 积分商品使用门店关系数据 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-07-12 + */ +public interface PointsMerchandiseCityMapper extends BaseMapper<PointsMerchandiseCity> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/GoodsInfoOneVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/GoodsInfoOneVo.java new file mode 100644 index 0000000..3bfcf80 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/GoodsInfoOneVo.java @@ -0,0 +1,78 @@ +package com.dsh.activity.model.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class GoodsInfoOneVo { + + + String name; + /** + * 封面图 + */ + String cover; + /** + * 原价 + */ + BigDecimal price; + /** + * 兑换方式(1=积分,2=现金+积分, 3=现金) + */ + Integer exchangeMethod; + /** + * 现金 + */ + BigDecimal cash; + /** + * 积分 + */ + Integer integral; + /** + * 图片 + */ + String pics; + /** + * 用户人群 + */ + String userPopulation; + /** + * 发放数量 + */ + Integer quantityIssued; + /** + * 已领数量 + */ + Integer hasPicked; + /** + * 限领数量 + */ + Integer pickUpQuantity; + /** + * 有效期 + */ + String validTime; + /** + * 兑换地点 + */ + String exchangeArea; + /** + * 兑换地点 (1=全国,2=指定城市,3=指定门店) + */ + Integer useScope; + /** + * 商品说明 + */ + String redemptionInstructions; + /** + * 排序 + */ + Integer sort; + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/StoreVos.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/StoreVos.java new file mode 100644 index 0000000..a11cec8 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/StoreVos.java @@ -0,0 +1,18 @@ +package com.dsh.activity.model.response; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class StoreVos { + + String num1; + + String num2; + + String num3; +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseCityService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseCityService.java new file mode 100644 index 0000000..9b42bbe --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseCityService.java @@ -0,0 +1,16 @@ +package com.dsh.activity.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.activity.entity.PointsMerchandiseCity; + +/** + * <p> + * 积分商品使用门店关系数据 服务类 + * </p> + * + * @author jqs + * @since 2023-07-12 + */ +public interface PointsMerchandiseCityService extends IService<PointsMerchandiseCity> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseCityServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseCityServiceImpl.java new file mode 100644 index 0000000..457096c --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseCityServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.activity.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.activity.entity.PointsMerchandiseCity; +import com.dsh.activity.mapper.PointsMerchandiseCityMapper; +import com.dsh.activity.service.PointsMerchandiseCityService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 积分商品使用门店关系数据 服务实现类 + * </p> + * + * @author jqs + * @since 2023-07-12 + */ +@Service +public class PointsMerchandiseCityServiceImpl extends ServiceImpl<PointsMerchandiseCityMapper, PointsMerchandiseCity> implements PointsMerchandiseCityService { + +} diff --git a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseCityMapper.xml b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseCityMapper.xml new file mode 100644 index 0000000..9ff98bd --- /dev/null +++ b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseCityMapper.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.activity.mapper.PointsMerchandiseCityMapper"> + + +</mapper> diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java index be81e76..981e58e 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java @@ -5,6 +5,8 @@ import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch; import com.dsh.course.feignClient.activity.model.PointMercharsPayedVo; import com.dsh.course.feignClient.activity.model.PointMercharsVo; +import com.dsh.guns.modular.system.model.GoodsInfoOneVo; +import com.dsh.guns.modular.system.model.StoreVos; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -34,4 +36,15 @@ @PostMapping("/base/pointMerchars/updateGoodsDetail") boolean updateGoodsDetail(@RequestBody Map<String, Object> stringObjectHashMap); + + @PostMapping("/base/pointMerchars/queryDetailsOfGoods") + GoodsInfoOneVo queryDetailsOfGoods(@RequestBody Integer id); + + + @PostMapping("/base/pointMerchars/getStoreList") + List<StoreVos> getStoreList(@RequestBody Integer id); + + @PostMapping("/base/pointMerchars/getProvinces") + List<StoreVos> getProvinces(@RequestBody Integer id); + } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java index 3ea55ca..7b5790d 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java @@ -19,10 +19,7 @@ import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; -import com.dsh.guns.modular.system.model.CouponDataVo; -import com.dsh.guns.modular.system.model.Region; -import com.dsh.guns.modular.system.model.TCity; -import com.dsh.guns.modular.system.model.TStore; +import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.service.ICityService; import com.dsh.guns.modular.system.service.IRegionService; import com.dsh.guns.modular.system.service.IStoreService; @@ -95,6 +92,19 @@ List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); model.addAttribute("list",list); return PREFIX + "TGoods_add.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tGoods_info") + public String tGoodsInfo(Model model) { + Integer objectType = UserExt.getUser().getObjectType(); + System.out.println(objectType); + model.addAttribute("userType",objectType); + List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",list); + return PREFIX + "TGoods_detail_one.html"; } @@ -468,4 +478,29 @@ } + /** + * 跳转到修改商品详情 + */ + @RequestMapping("/goods_info/{id}") + public String goodsInfo(@PathVariable Integer id, Model model) { + System.out.println("id:"+id); + GoodsInfoOneVo infoOneVo = pointMercharsClient.queryDetailsOfGoods(id); + System.out.println("pointMercharsVo:"+infoOneVo); + model.addAttribute("item",infoOneVo); + String[] split = infoOneVo.getPics().split(","); + List<String> list = Arrays.asList(split); + if (infoOneVo.getUseScope() == 2){ + List<StoreVos> provinces = pointMercharsClient.getProvinces(id); + model.addAttribute("city",provinces); + } + if (infoOneVo.getUseScope() == 2){ + List<StoreVos> storeVos = pointMercharsClient.getStoreList(id); + model.addAttribute("store",storeVos); + } + model.addAttribute("pictures",list); + model.addAttribute("exchangeMethod",infoOneVo.getExchangeMethod()); + return PREFIX + "TGoods_detail_one.html"; + } + + } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GoodsInfoOneVo.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GoodsInfoOneVo.java new file mode 100644 index 0000000..dfc1294 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GoodsInfoOneVo.java @@ -0,0 +1,78 @@ +package com.dsh.guns.modular.system.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class GoodsInfoOneVo { + + + String name; + /** + * 封面图 + */ + String cover; + /** + * 原价 + */ + BigDecimal price; + /** + * 兑换方式(1=积分,2=现金+积分, 3=现金) + */ + Integer exchangeMethod; + /** + * 现金 + */ + BigDecimal cash; + /** + * 积分 + */ + Integer integral; + /** + * 图片 + */ + String pics; + /** + * 用户人群 + */ + String userPopulation; + /** + * 发放数量 + */ + Integer quantityIssued; + /** + * 已领数量 + */ + Integer hasPicked; + /** + * 限领数量 + */ + Integer pickUpQuantity; + /** + * 有效期 + */ + String validTime; + /** + * 兑换点 + */ + String exchangeArea; + /** + * 兑换地点 (1=全国,2=指定城市,3=指定门店) + */ + Integer useScope; + /** + * 商品说明 + */ + String redemptionInstructions; + /** + * 排序 + */ + Integer sort; + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreVos.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreVos.java new file mode 100644 index 0000000..1ce4dc4 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreVos.java @@ -0,0 +1,18 @@ +package com.dsh.guns.modular.system.model; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class StoreVos { + + String num1; + + String num2; + + String num3; +} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_one.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_one.html new file mode 100644 index 0000000..e0e7f55 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_one.html @@ -0,0 +1,207 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + display: inline-block; + } + + .avatar-uploader .el-upload:hover { + border-color: #409eff; + } + + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 110px; + margin-top: 40px; + text-align: center; + } + + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + <div id="b1"> + <#input id="name" name="*商品名称:" type="text" value="${item.name}" readonly="true" /> + + <#input id="cover" name="*原价:" avatarImg="${item.price}" readonly="true" /> + <div class="form-group"> + <label class="col-sm-3 control-label head-scu-label">*兑换方式:</label> + <div class="col-sm-4"> + @if(exchangeMethod == 1){ + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="1" checked style="margin-top: 10px" disabled/> + <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px" disabled/> + <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px" disabled/> + <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label> + @} + + @if(exchangeMethod == 2){ + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="1" style="margin-top: 10px" disabled/> + <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="2" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px" disabled/> + <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px" disabled/> + <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label> + @} + + @if(exchangeMethod == 3){ + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="1" style="margin-top: 10px" disabled/> + <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px" disabled/> + <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="3" checked style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px" disabled/> + <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label> + @} + + </div> + </div> + + <#input id="cover" name="*所需现金:" avatarImg="${item.cash}" readonly="true" /> + <#input id="cover" name="*所需积分:" avatarImg="${item.integral}" readonly="true" /> + + <div class="form-group"> + <label class="col-sm-3 control-label head-scu-label">*商品封面:</label> + <div class="col-sm-4"> + <img height="100px" width="100px" src="${item.cover}"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label head-scu-label">*商品图片:</label> + <div class="col-sm-4"> + @if(pictures != null){ + @for(im in pictures){ + <img height="100px" width="100px" src="${im}"> + @} + @} + </div> + </div> + + <#input id="quantityIssued" name="*用户人群:" type="text" value="${item.userPopulation}" readonly="true" /> + <#input id="quantityIssued" name="*发放数量:" type="text" value="${item.quantityIssued}" readonly="true" /> + <#input id="quantityIssued" name="*限领数量:" type="text" value="${item.pickUpQuantity}" readonly="true" /> + <#input id="quantityIssued" name="*已兑换数量:" type="text" value="${item.hasPicked}" readonly="true" /> + <#input id="quantityIssued" name="*有效期:" type="text" value="${item.validTime}" readonly="true" /> + + <#input id="quantityIssued" name="*兑换地点:" type="text" value="${item.exchangeArea}" readonly="true" /> + + @if(item.useScope == 2){ + <table class="table table-bordered" style="width: 70%;margin-left: 228px;" > + <thead> + <tr> + <td>所在省市</td> + <td>所属账号</td> + <td>门店名称</td> + </tr> + </thead> + @for(s in store){ + <td>${s.num1}</td> + <td>${s.num2}</td> + <td>${s.num3}</td> + @} + </table> + @} + + @if(item.useScope == 3){ + <table class="table table-bordered" style="width: 70%;margin-left: 228px;" > + <thead> + <tr> + <td>所在省市</td> + <td>所属账号</td> + <td>门店名称</td> + </tr> + </thead> + @for(c in city){ + <td>${c.num1}</td> + <td>${c.num2}</td> + @} + </table> + @} + <div class="form-group" style="margin-left:262px"> + <label class="col-sm-3 control-label">兑换说明:</label> + <div class="col-sm-4"> + <textarea type="text/plain" id="editor" style="height: 300px;width: 800px;" readonly>${item.redemptionInstructions}</textarea> + </div> + </div> + <#input id="quantityIssued" name="*排序:" type="text" value="${item.sort}" readonly="true" /> + + </div> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5"> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TGoodsInfoDlg.close()"/> + </div> + </div> + +</div> + +</div> +</div> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> +<script src="${ctxPath}/modular/system/tGoods/tGoods_info.js"></script> +<script> + var vue2 = new Vue({ + el: '#app', + data: { + autoUpload: true,//自动上传 + imageUrl1: '',//模型数据,用于上传图片完成后图片预览 + dialogVisible: false + }, + methods: { + handleAvatarSuccess(res, file) { + TGoodsInfoDlg.goodsPicArray.push(file.response); + }, + beforeAvatarUpload(file) { + const isLt2M = file.size / 1024 / 1024 < 10; + if (!isLt2M) { + this.$message.error('上传图片大小不能超过 10MB!'); + } + return isLt2M; + }, + handleRemove(file, fileList) { + TGoodsInfoDlg.goodsPicArray = TGoodsInfoDlg.goodsPicArray.filter(item => { + return item.uid != file.uid; + }); + }, + }, + created() { + }, + }); +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html index 9e11f1c..1390455 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html @@ -54,14 +54,14 @@ <div class="form-group"> <label class="col-sm-3 control-label">商品图片(请上传不超过五张图片): </label> <div class="col-sm-2" style="width: 100%;margin-left: 24%;margin-top: 1%"> + <div class="avatar-uploader" style="display: flex;"> @for(im in pictures){ - <div class="avatar-uploader" style="display: inline-block;"> - <img height="100px" width="100px" src="${im}"> - <i class="fa fa-close" onclick="delImg(this)" style="color: red;font-size: 18px;position: absolute;"></i> - </div> + <div style="margin-right: 16px;position: relative"> + <img height="100px" width="100px" src="${im}"> + <i class="el-icon-delete" onclick="delImg(this)" style="color: red;font-size: 18px;position: absolute;left: 0;right: 0;top: 0;bottom: 0"></i> + </div> @} <el-upload - style="display: inline-block;" :limit="5" class="avatar-uploader" action="/tCouponManage/uploadPic" @@ -71,7 +71,7 @@ :on-remove="handleRemove"> <i class="el-icon-plus"></i> </el-upload> - + </div> </div> </div> diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js index f323923..88c4975 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js @@ -134,7 +134,7 @@ area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, - content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id + content: Feng.ctxPath + '/tGoods/goods_info/' + TPointProducts.seItem.id }); this.layerIndex = index; } diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js index 3b77702..9089c39 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js @@ -294,6 +294,7 @@ * @param e */ function delImg(e){ + $(e).parent().remove(); } -- Gitblit v1.7.1