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