From 293eb5045df36215f224f705a4adbb3e09570f51 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 06 Apr 2021 09:44:02 +0800
Subject: [PATCH] 20210406 签到活动1

---
 zq-erp/src/main/java/com/matrix/system/activity/dto/SignReceiveListDto.java              |   29 
 zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignReceiveRecordDao.java    |   18 
 zq-erp/src/main/java/com/matrix/system/activity/vo/SignSetBasicJsonVo.java               |   29 
 zq-erp/src/main/java/com/matrix/system/activity/dto/GoodsDto.java                        |   19 
 zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java |  131 +++
 zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignAwardSetAction.java   |   94 ++
 zq-erp/src/main/resources/config/db/increment/签到活动.sql                                   |   11 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html              |  385 +++++++++-
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml                   |    2 
 zq-erp/src/main/java/com/matrix/system/activity/dto/CouponDto.java                       |   19 
 zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java         |   24 
 zq-erp/src/main/java/com/matrix/system/activity/vo/AddSignAwardSetVo.java                |   33 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html      |  263 +++++++
 zq-erp/src/main/java/com/matrix/system/activity/vo/GoodsVo.java                          |   29 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html              |   40 
 zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java                |   30 
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml       |   71 ++
 zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java           |   33 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html       |  748 +++++++++++++++++++++
 zq-erp/src/main/java/com/matrix/system/activity/vo/CouponVo.java                         |   29 
 zq-erp/src/main/java/com/matrix/system/activity/dto/SignForUpdateDto.java                |   17 
 21 files changed, 1,980 insertions(+), 74 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignAwardSetAction.java b/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignAwardSetAction.java
index 1703c16..997821c 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignAwardSetAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignAwardSetAction.java
@@ -8,9 +8,17 @@
 import com.matrix.system.activity.dto.AddSignAwardSetDto;
 import com.matrix.system.activity.dto.BeCloseDto;
 import com.matrix.system.activity.dto.BeReadyDto;
+import com.matrix.system.activity.dto.CouponDto;
 import com.matrix.system.activity.dto.DelRowDto;
+import com.matrix.system.activity.dto.GoodsDto;
+import com.matrix.system.activity.dto.SignForUpdateDto;
+import com.matrix.system.activity.dto.SignReceiveListDto;
+import com.matrix.system.activity.dto.UpdateSignAwardSetDto;
 import com.matrix.system.activity.service.ActivitySignAwardSetService;
 import com.matrix.system.activity.vo.ActivitiesListVo;
+import com.matrix.system.activity.vo.CouponVo;
+import com.matrix.system.activity.vo.GoodsVo;
+import com.matrix.system.activity.vo.SignReceiveListVo;
 import com.matrix.system.hive.action.util.QueryUtil;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -37,6 +45,52 @@
 	public @ResponseBody
 	AjaxResult addSignAwardSet(@RequestBody AddSignAwardSetDto addSignAwardSetDto) {
 		return activitySignAwardSetService.activitySignAwardSetService(addSignAwardSetDto);
+	}
+	
+	/**
+	 * 查询优惠券
+	 */
+	@ApiOperation(value = "查询优惠券")
+	@ApiResponses({
+			@ApiResponse(code = 200, message = "OK",  response = CouponVo.class)
+	})
+	@PostMapping(value = "/selectCouponList")
+	public @ResponseBody
+	AjaxResult selectCouponList(@RequestBody CouponDto couponDto) {
+		//设置用户公司ID
+		QueryUtil.setQueryLimitCom(couponDto);
+		//排序
+		if(StringUtils.isBlank(couponDto.getSort())){
+			couponDto.setSort("create_time");
+			couponDto.setOrder("desc");
+		}
+		Page<CouponVo> page = new Page(couponDto.getPageNum(), couponDto.getPageSize());
+		IPage<CouponVo> rows = activitySignAwardSetService.selectCouponList(page,couponDto);
+		AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
+		return result;
+	}
+	
+	/**
+	 * 查询商品
+	 */
+	@ApiOperation(value = "查询商品")
+	@ApiResponses({
+			@ApiResponse(code = 200, message = "OK",  response = GoodsVo.class)
+	})
+	@PostMapping(value = "/selectGoodsList")
+	public @ResponseBody
+	AjaxResult selectGoodsList(@RequestBody GoodsDto goodsDto) {
+		//设置用户公司ID
+		QueryUtil.setQueryLimitCom(goodsDto);
+		//排序
+		if(StringUtils.isBlank(goodsDto.getSort())){
+			goodsDto.setSort("create_time");
+			goodsDto.setOrder("desc");
+		}
+		Page<GoodsVo> page = new Page(goodsDto.getPageNum(), goodsDto.getPageSize());
+		IPage<GoodsVo> rows = activitySignAwardSetService.selectGoodsList(page,goodsDto);
+		AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
+		return result;
 	}
 
 	/**
@@ -91,8 +145,48 @@
     AjaxResult beClose(@RequestBody BeCloseDto beCloseDto) {
     	return activitySignAwardSetService.beClose(beCloseDto);
     }
+    
+    /**
+	 * 活动统计
+	 */
+	@ApiOperation(value = "活动统计")
+	@ApiResponses({
+			@ApiResponse(code = 200, message = "OK",  response = SignReceiveListVo.class)
+	})
+	@PostMapping(value = "/findSignReceiveList")
+	public @ResponseBody
+	AjaxResult findSignReceiveList(@RequestBody SignReceiveListDto signReceiveListDto) {
+		//设置用户公司ID
+		QueryUtil.setQueryLimitCom(signReceiveListDto);
+		//排序
+		if(StringUtils.isBlank(signReceiveListDto.getSort())){
+			signReceiveListDto.setSort("create_time");
+			signReceiveListDto.setOrder("desc");
+		}
+		Page<SignReceiveListVo> page = new Page(signReceiveListDto.getPageNum(), signReceiveListDto.getPageSize());
+		IPage<SignReceiveListVo> rows = activitySignAwardSetService.findSignReceiveList(page,signReceiveListDto);
+		AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
+		return result;
+	}
 	
+	/**
+     *进入修改
+     */
+    @ApiOperation(value = "进入修改")
+    @PostMapping(value = "/findSignForUpdate")
+    public @ResponseBody
+    AjaxResult findSignForUpdate(@RequestBody SignForUpdateDto signForUpdateDto) {
+    	return activitySignAwardSetService.findSignForUpdate(signForUpdateDto);
+    }
 	
+    /**
+	 * 保存
+	 */
+	@PostMapping(value = "/updateSignAwardSet")
+	public @ResponseBody
+	AjaxResult updateSignAwardSet(@RequestBody UpdateSignAwardSetDto updateSignAwardSetDto) {
+		return activitySignAwardSetService.updateSignAwardSet(updateSignAwardSetDto);
+	}
 	
 	
 	
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignReceiveRecordDao.java b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignReceiveRecordDao.java
index 727435b..4256ea8 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignReceiveRecordDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignReceiveRecordDao.java
@@ -1,14 +1,30 @@
 package com.matrix.system.activity.dao;
 
 
+import org.apache.ibatis.annotations.Param;
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.system.activity.dto.CouponDto;
+import com.matrix.system.activity.dto.GoodsDto;
+import com.matrix.system.activity.dto.SignReceiveListDto;
 import com.matrix.system.activity.entity.ActivitySignReceiveRecord;
+import com.matrix.system.activity.vo.CouponVo;
+import com.matrix.system.activity.vo.GoodsVo;
+import com.matrix.system.activity.vo.SignReceiveListVo;
 
 /**
- * @description 领
  * @author yourName
  * @date 2021-03-31 16:57
  */
 public interface ActivitySignReceiveRecordDao extends BaseMapper<ActivitySignReceiveRecord>{
 
+	IPage<SignReceiveListVo> findSignReceiveList(Page<SignReceiveListVo> page, 
+			@Param("record")SignReceiveListDto signReceiveListDto);
+
+	IPage<CouponVo> selectCouponList(Page<CouponVo> page, @Param("record")CouponDto couponDto);
+
+	IPage<GoodsVo> selectGoodsList(Page<GoodsVo> page, @Param("record")GoodsDto goodsDto);
+
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/CouponDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/CouponDto.java
new file mode 100644
index 0000000..b6a9a40
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/CouponDto.java
@@ -0,0 +1,19 @@
+package com.matrix.system.activity.dto;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "CouponDto", description = "查询参数")
+public class CouponDto extends BasePageQueryDto {
+
+	@ApiModelProperty(value ="活动名称")
+	private String yhjmc;
+
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/GoodsDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/GoodsDto.java
new file mode 100644
index 0000000..dc72283
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/GoodsDto.java
@@ -0,0 +1,19 @@
+package com.matrix.system.activity.dto;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "GoodsDto", description = "查询参数")
+public class GoodsDto extends BasePageQueryDto {
+
+	@ApiModelProperty(value ="商品名称")
+	private String cpmc;
+
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/SignForUpdateDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/SignForUpdateDto.java
new file mode 100644
index 0000000..ac9680d
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/SignForUpdateDto.java
@@ -0,0 +1,17 @@
+package com.matrix.system.activity.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "SignForUpdateDto", description = "参数")
+public class SignForUpdateDto {
+	
+	@ApiModelProperty(value ="活动主表ID")
+	private Long actId;
+	
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/SignReceiveListDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/SignReceiveListDto.java
new file mode 100644
index 0000000..af58abd
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/SignReceiveListDto.java
@@ -0,0 +1,29 @@
+package com.matrix.system.activity.dto;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "SignReceiveListDto", description = "参数")
+public class SignReceiveListDto extends BasePageQueryDto {
+	
+	@ApiModelProperty(value ="活动编码")
+	private String yhmc;
+	
+	@ApiModelProperty(value ="签到开始时间")
+	private Date startTime;
+	
+	@ApiModelProperty(value ="签到结束时间")
+	private Date endTime;
+	
+	@ApiModelProperty(value ="活动主表ID")
+	private Long actId;
+	
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java
new file mode 100644
index 0000000..186ffd8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java
@@ -0,0 +1,33 @@
+package com.matrix.system.activity.dto;
+
+import java.util.Date;
+import java.util.List;
+import com.matrix.system.activity.entity.ActivitySignAwardSet;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "UpdateSignAwardSetDto", description = "查询参数")
+public class UpdateSignAwardSetDto {
+	
+	@ApiModelProperty(value ="活动名称")
+    private String actName;
+	@ApiModelProperty(value ="活动编码")
+	private String actCode;
+	@ApiModelProperty(value ="活动开始时间")
+	private Date beginTime;
+	@ApiModelProperty(value ="活动结束时间")
+	private Date endTime;
+	
+	private SignSetBasicJsonDto signSetBasicJsonDto;
+	
+	private List<ActivitySignAwardSet> activitySignAwardSets;
+	
+	@ApiModelProperty(value ="活动主表ID")
+	private Long actId;
+	
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
index 7c153df..a1c7bf9 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
@@ -27,21 +27,21 @@
 	 */
 
 
-	private Integer  awardType;
+	private int  awardType;
 	
 	/**
 	 * 奖项规则(1:每日奖励(默认)2:累计签到天数)
 	 */
 
 
-	private Integer  awardRule;
+	private int  awardRule;
 	
 	/**
 	 * 签到累计天数
 	 */
 
 
-	private Integer  cumulativeDay;
+	private int  cumulativeDay;
 	
 	/**
 	 * 奖项名称
@@ -69,21 +69,28 @@
 	 */
 
 
-	private Integer  awardInventoryCnt;
+	private int  awardInventoryCnt;
 	
 	/**
 	 * 已派发数量
 	 */
 
 
-	private Integer  awardDistributeCnt;
+	private int  awardDistributeCnt;
 	
 	/**
 	 * 兑奖方式(1:线下兑换2:物流配送3:客服兑换)
 	 */
 
 
-	private Integer  awardWay;
+	private int  awardWay;
+	
+	/**
+	 * 奖品是否有效(1:有效 2:无效)
+	 */
+	private int  awardState;
+	public static final int AWARDSTATE_WORK = 1;
+	public static final int AWARDSTATE_UNWORK = 2;
 	
 	/**
 	 * 操作提示
@@ -125,12 +132,14 @@
 	 */
 
 
-	private Integer  scoreCnt;
+	private int  scoreCnt;
 	
 	/**
 	 * 优惠券ID
 	 */
 
+	
+	private String  couponName;
 
 	private String  couponId;
 	
@@ -138,6 +147,7 @@
 	 * 商品ID
 	 */
 
+	private String  goodsName;
 
 	private String  goodsId;
 	
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
index 5817eb8..8839bcd 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
@@ -2,7 +2,6 @@
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
-
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,14 +10,15 @@
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.activity.dao.ActivitySignAwardSetDao;
-import com.matrix.system.activity.dto.ActivitiesListDto;
-import com.matrix.system.activity.dto.AddSignAwardSetDto;
-import com.matrix.system.activity.dto.BeCloseDto;
-import com.matrix.system.activity.dto.BeReadyDto;
-import com.matrix.system.activity.dto.DelRowDto;
-import com.matrix.system.activity.dto.SignSetBasicJsonDto;
+import com.matrix.system.activity.dao.ActivitySignReceiveRecordDao;
+import com.matrix.system.activity.dto.*;
 import com.matrix.system.activity.entity.ActivitySignAwardSet;
 import com.matrix.system.activity.vo.ActivitiesListVo;
+import com.matrix.system.activity.vo.AddSignAwardSetVo;
+import com.matrix.system.activity.vo.CouponVo;
+import com.matrix.system.activity.vo.GoodsVo;
+import com.matrix.system.activity.vo.SignReceiveListVo;
+import com.matrix.system.activity.vo.SignSetBasicJsonVo;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.hive.action.util.QueryUtil;
 import com.matrix.system.shopXcx.bean.ShopActivities;
@@ -27,8 +27,11 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @description 奖品设置表
@@ -42,6 +45,8 @@
     private ShopActivitiesDao shopActivitiesDao;
 	@Autowired
 	private ActivitySignAwardSetDao activitySignAwardSetDao;
+	@Autowired
+	private ActivitySignReceiveRecordDao activitySignReceiveRecordDao;
 
 	@Transactional
 	public AjaxResult activitySignAwardSetService(AddSignAwardSetDto addSignAwardSetDto) {
@@ -77,6 +82,7 @@
 					activitySignAwardSet.setUpdateBy(user.getSuName());
 					activitySignAwardSet.setCompanyId(companyId);
 					activitySignAwardSet.setActivityId(shopActivities.getId());
+					activitySignAwardSet.setAwardState(ActivitySignAwardSet.AWARDSTATE_WORK);
 					activitySignAwardSetDao.insert(activitySignAwardSet);
 				}
 			}
@@ -144,6 +150,117 @@
 		return AjaxResult.buildSuccessInstance("操作成功");
 	}
 
+	public IPage<SignReceiveListVo> findSignReceiveList(Page<SignReceiveListVo> page,
+			SignReceiveListDto signReceiveListDto) {
+		return activitySignReceiveRecordDao.findSignReceiveList(page,signReceiveListDto);
+	}
+
+	public AjaxResult findSignForUpdate(SignForUpdateDto signForUpdateDto) {
+		//设置用户公司ID
+        QueryUtil.setQueryLimitCom(signForUpdateDto);
+        Long actId = signForUpdateDto.getActId();
+        AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+        //获取对应的活动主表信息和对应的奖品设置信息
+        AddSignAwardSetVo addSignAwardSetVo = new AddSignAwardSetVo();
+        ShopActivities shopActivity = shopActivitiesDao.selectById(actId);
+        if(ObjectUtil.isNotEmpty(shopActivity)) {
+        	addSignAwardSetVo.setId(actId);
+        	addSignAwardSetVo.setActName(shopActivity.getActName());
+        	addSignAwardSetVo.setActCode(shopActivity.getActCode());
+        	addSignAwardSetVo.setBeginTime(shopActivity.getActBeginTime());
+        	addSignAwardSetVo.setEndTime(shopActivity.getActEndTime());
+        	
+        	String actContent = shopActivity.getActContent();
+        	SignSetBasicJsonVo signSetBasicJsonVo = JSON.parseObject(actContent, SignSetBasicJsonVo.class);
+        	addSignAwardSetVo.setSignSetBasicJsonDto(signSetBasicJsonVo);
+        	
+        	Map<String, Object> columnMap = new HashMap<String, Object>();
+        	columnMap.put("activity_id", actId);
+        	columnMap.put("company_id", signForUpdateDto.getCompanyId());
+			List<ActivitySignAwardSet> activitySignAwardSets = activitySignAwardSetDao.selectByMap(columnMap);
+			addSignAwardSetVo.setActivitySignAwardSets(activitySignAwardSets);
+        }
+        result.putInMap("addSignAwardSetVo", addSignAwardSetVo);
+        return result;
+	}
+
+	@Transactional
+	public AjaxResult updateSignAwardSet(UpdateSignAwardSetDto updateSignAwardSetDto) {
+		//获取当前登录人员信息
+        QueryUtil.setQueryLimitCom(updateSignAwardSetDto);
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        Long actId = updateSignAwardSetDto.getActId();
+        Long companyId = user.getCompanyId();
+        ShopActivities shopActivity = shopActivitiesDao.selectById(actId);
+        //更新活动主表信息
+        shopActivity.setActName(updateSignAwardSetDto.getActName());
+        shopActivity.setActCode(updateSignAwardSetDto.getActCode());
+        shopActivity.setActBeginTime(updateSignAwardSetDto.getBeginTime());
+        shopActivity.setActEndTime(updateSignAwardSetDto.getEndTime());
+        shopActivity.setCompanyId(companyId);
+        shopActivity.setCreateBy(user.getSuName());
+        shopActivity.setUpdateBy(user.getSuName());
+        //将基本信息转换成JSON字符串存储到活动主表的act_content字段
+        SignSetBasicJsonDto signSetBasicJsonDto = updateSignAwardSetDto.getSignSetBasicJsonDto();
+		String json=JSON.toJSONString(signSetBasicJsonDto);
+		shopActivity.setActContent(json);
+		shopActivitiesDao.updateByModel(shopActivity);
+		/**
+		 * 比较两个奖品名单,多的新增,减少的更新为已失效,不变的更新
+		 */
+		//原有的奖品
+		ArrayList<Long> arrayListOld = new ArrayList<>();
+		Map<String, Object> columnMap = new HashMap<String, Object>();
+    	columnMap.put("activity_id", actId);
+    	columnMap.put("company_id", updateSignAwardSetDto.getCompanyId());
+		List<ActivitySignAwardSet> activitySignAwardSetOld = activitySignAwardSetDao.selectByMap(columnMap);
+		if(CollUtil.isNotEmpty(activitySignAwardSetOld)) {
+			for(ActivitySignAwardSet activitySignAwardSetUpdate : activitySignAwardSetOld) {
+				Long actSubid = activitySignAwardSetUpdate.getId();
+				arrayListOld.add(actSubid);
+			}
+		}
+		//修改后的奖品
+		List<ActivitySignAwardSet> activitySignAwardSetsUpdate = updateSignAwardSetDto.getActivitySignAwardSets();
+		ArrayList<Long> arrayListUpdate = new ArrayList<>();
+		if(CollUtil.isNotEmpty(activitySignAwardSetsUpdate)) {
+			for(ActivitySignAwardSet activitySignAwardSetUpdate : activitySignAwardSetsUpdate) {
+				Long actSubid = activitySignAwardSetUpdate.getId();
+				//如果ID为空则新增,不为空则修改
+				if(ObjectUtil.isEmpty(actSubid)) {
+					activitySignAwardSetUpdate.setCreateBy(user.getSuName());
+					activitySignAwardSetUpdate.setCreateTime(new Date());
+					activitySignAwardSetUpdate.setUpdateTime(new Date());
+					activitySignAwardSetUpdate.setUpdateBy(user.getSuName());
+					activitySignAwardSetUpdate.setCompanyId(companyId);
+					activitySignAwardSetUpdate.setActivityId(actId);
+					activitySignAwardSetDao.insert(activitySignAwardSetUpdate);
+				}else {
+					activitySignAwardSetDao.updateById(activitySignAwardSetUpdate);
+					arrayListUpdate.add(actSubid);
+				}
+			}
+		}
+		//比较获取原来的比现在多出来的奖品,修改状态为失效
+		boolean removeAll = arrayListOld.removeAll(arrayListUpdate);
+		if(removeAll && CollUtil.isNotEmpty(arrayListOld)) {
+			for(long id : arrayListOld) {
+				ActivitySignAwardSet activitySignAwardSetDel = activitySignAwardSetDao.selectById(id);
+				activitySignAwardSetDel.setAwardState(ActivitySignAwardSet.AWARDSTATE_UNWORK);
+				activitySignAwardSetDao.updateById(activitySignAwardSetDel);
+			}
+		}
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功");
+	}
+
+	public IPage<CouponVo> selectCouponList(Page<CouponVo> page, CouponDto couponDto) {
+		return activitySignReceiveRecordDao.selectCouponList(page,couponDto);
+	}
+
+	public IPage<GoodsVo> selectGoodsList(Page<GoodsVo> page, GoodsDto goodsDto) {
+		return activitySignReceiveRecordDao.selectGoodsList(page,goodsDto);
+	}
+
 
 
 
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/vo/AddSignAwardSetVo.java b/zq-erp/src/main/java/com/matrix/system/activity/vo/AddSignAwardSetVo.java
new file mode 100644
index 0000000..6dc0d02
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/vo/AddSignAwardSetVo.java
@@ -0,0 +1,33 @@
+package com.matrix.system.activity.vo;
+
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.system.activity.entity.ActivitySignAwardSet;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AddSignAwardSetVo {
+	/**
+	 * 主键
+	 */
+	private Long  id;
+	
+	@ApiModelProperty(value ="活动名称")
+    private String actName;
+	@ApiModelProperty(value ="活动编码")
+	private String actCode;
+	@ApiModelProperty(value ="活动开始时间")
+	private Date beginTime;
+	@ApiModelProperty(value ="活动结束时间")
+	private Date endTime;
+	
+	private SignSetBasicJsonVo signSetBasicJsonDto;
+	
+	private List<ActivitySignAwardSet> activitySignAwardSets;
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/vo/CouponVo.java b/zq-erp/src/main/java/com/matrix/system/activity/vo/CouponVo.java
new file mode 100644
index 0000000..47ee4c1
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/vo/CouponVo.java
@@ -0,0 +1,29 @@
+package com.matrix.system.activity.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CouponVo {
+	/**
+	 * 主键
+	 */
+	private Integer  id;
+			
+	
+	/**
+	 * 优惠券名称
+	 */
+	@ApiModelProperty(value = "优惠券名称")
+	private String  cName;
+	
+	/**
+	 * 结束时间
+	 */
+	@ApiModelProperty(value = "结束时间")
+	@JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
+	private Date  endTime;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/vo/GoodsVo.java b/zq-erp/src/main/java/com/matrix/system/activity/vo/GoodsVo.java
new file mode 100644
index 0000000..41793ea
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/vo/GoodsVo.java
@@ -0,0 +1,29 @@
+package com.matrix.system.activity.vo;
+
+import lombok.Data;
+
+@Data
+public class GoodsVo {
+	
+	private Long id;
+    /**
+     * 产品名称
+     */
+    private String name;
+
+    /**
+     * 商品分类 组合商品/家居产品/项目/充值卡/综合卡
+     */
+    private String goodType;
+
+    /**
+     * 产品编码
+     */
+    private String code;
+    
+    /**
+     * 售价/本金
+     */
+    private Double sealPice;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java b/zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java
new file mode 100644
index 0000000..dfc5c00
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java
@@ -0,0 +1,30 @@
+package com.matrix.system.activity.vo;
+
+import java.util.Date;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SignReceiveListVo {
+	/**
+	 * 主键
+	 */
+	private Long  id;
+			
+	@ApiModelProperty(value = "用户")
+	private String nickName;
+	
+	@ApiModelProperty(value = "签到时间")
+	private Date reciveTime;
+	
+	@ApiModelProperty(value = "连续签到天数")
+	private Integer cumulativeDay;
+	
+	@ApiModelProperty(value = "奖励类型")
+	private String awardType;
+	
+	@ApiModelProperty(value = "获得奖励")
+	private String awardName;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/vo/SignSetBasicJsonVo.java b/zq-erp/src/main/java/com/matrix/system/activity/vo/SignSetBasicJsonVo.java
new file mode 100644
index 0000000..c2d0983
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/vo/SignSetBasicJsonVo.java
@@ -0,0 +1,29 @@
+package com.matrix.system.activity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SignSetBasicJsonVo {
+	
+	@ApiModelProperty(value ="标题图片")
+	private String imageUrlTitle;
+	@ApiModelProperty(value ="头部图片")
+	private String imageUrlHead;
+	@ApiModelProperty(value ="按钮图片")
+	private String imageUrlButton;
+	@ApiModelProperty(value ="状态图片")
+	private String imageUrlState;
+	
+	@ApiModelProperty(value ="规则内容")
+	private String ruleExplain;
+	@ApiModelProperty(value ="字体颜色")
+	private String typographyColor;
+	@ApiModelProperty(value ="背景颜色")
+	private String backgroundColor;
+	@ApiModelProperty(value ="字体大小")
+	private Integer typographyNum;
+	@ApiModelProperty(value ="字体透明度")
+	private Integer typographyLight;
+
+}
diff --git "a/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql" "b/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql"
index 56f55ba..33e3533 100644
--- "a/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql"
+++ "b/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql"
@@ -116,6 +116,17 @@
 ALTER TABLE `shop_activities`
     ADD COLUMN `act_code`  varchar(200) NULL COMMENT '活动编码' AFTER `id`;
 
+ALTER TABLE `activity_sign_award_set`
+    ADD COLUMN `award_state`  int(4) NULL COMMENT '奖品是否有效(1:有效 2:无效)' AFTER `company_id`;
+
+ALTER TABLE `activity_sign_award_set`
+    ADD COLUMN `goods_name`  varchar(200) NULL COMMENT '产品名称' AFTER `coupon_id`;
+
+ALTER TABLE `activity_sign_award_set`
+    ADD COLUMN `coupon_name`  varchar(200) NULL COMMENT '优惠券名' AFTER `score_cnt`;
+
+
+
 
 
 
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
index 10b0853..53ca3c5 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
@@ -38,4 +38,75 @@
 			<result property="companyId" column="company_id" />
 	</resultMap>
 
+	<select id="findSignReceiveList" resultType="com.matrix.system.activity.vo.SignReceiveListVo">
+		SELECT
+		a.id id,
+		b.nick_name nickName,
+		a.receive_time reciveTime,
+		c.cumulative_day cumulativeDay,
+		c.award_type awardType,
+		c.award_name awardName
+		FROM
+		activity_sign_receive_record a
+		LEFT JOIN biz_user b ON a.open_id = b.open_id
+		LEFT JOIN activity_sign_award_set c ON a.award_id = c.id
+		<where>
+			a.company_id = #{record.companyId}
+			and a.activity_id = #{record.actId}
+			<if test="record.yhmc != null and record.yhmc != ''">
+				and b.nick_name like concat('%',#{record.yhmc},'%')
+			</if>
+			<if test="record.startTime != null ">
+				and a.receive_time >= #{record.startTime}
+			</if>
+			<if test="record.endTime != null">
+				and  #{record.endTime} >= a.receive_time
+			</if>
+		</where>
+		<if test="record.sort !=null">
+			order by
+			a.${record.sort} ${record.order}
+		</if>
+	</select>
+
+	<select id="selectCouponList" resultType="com.matrix.system.activity.vo.CouponVo">
+		SELECT
+		a.id id,
+		a.c_name cName,
+		a.end_time endTime
+		FROM
+		shop_coupon a
+		<where>
+			a.company_id = #{record.companyId}
+			<if test="record.yhjmc != null and record.yhjmc != ''">
+				and a.c_name like concat('%',#{record.yhjmc},'%')
+			</if>
+		</where>
+		<if test="record.sort !=null">
+			order by
+			a.${record.sort} ${record.order}
+		</if>
+	</select>
+
+	<select id="selectGoodsList" resultType="com.matrix.system.activity.vo.GoodsVo">
+		SELECT
+		a.id id,
+		a.name name,
+		a.good_type goodType,
+		a.code code,
+		a.seal_pice sealPice
+		FROM
+		shopping_goods a
+		<where>
+			a.company_id = #{record.companyId}
+			<if test="record.cpmc != null and record.cpmc != ''">
+				and a.name like concat('%',#{record.cpmc},'%')
+			</if>
+		</where>
+		<if test="record.sort !=null">
+			order by
+			a.${record.sort} ${record.order}
+		</if>
+	</select>
+
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
index d6f7f20..716911e 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
@@ -67,6 +67,7 @@
 		update_time,
 			id,
 			act_name,
+			act_code,
 			act_type,
 			act_begin_time,
 			act_end_time,
@@ -87,6 +88,7 @@
 		now(),
 			#{item.id},
 			#{item.actName},
+			#{item.actCode},
 			#{item.actType},
 			#{item.actBeginTime},
 			#{item.actEndTime},
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
index 8487de0..697105b 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
@@ -32,20 +32,6 @@
             margin: 0px 0px 10px 0px;
             text-align: right;
         }
-
-        .box-card {
-            width: 240px;
-            border-radius: 5px;
-            color: #ffffff;
-            padding: 2px 0px;
-            margin-right: 20px;
-            cursor: pointer;
-            float: left;
-            text-align: center;
-        }
-        .el-card__body {
-            padding: 0px;
-        }
     </style>
 </head>
 
@@ -136,11 +122,11 @@
                         </el-table-column>
                         <el-table-column label="操作" width="400">
                             <template slot-scope="scope">
-                                <el-row style="display:flex;">
+                                <el-row style="display:flex;" v-if="scope.row.actType == 4">
                                     <el-button type="primary" v-if="scope.row.actStatus == 1" size="mini" @click="beReady(scope.row)">发布</el-button>
-                                    <el-button type="primary" v-if="[1,2,3].includes(scope.row.actStatus)" size="mini">修改</el-button>
+                                    <el-button type="primary" v-if="[1,2,3].includes(scope.row.actStatus)" @click="beUpdate(scope.row)" size="mini">修改</el-button>
                                     <el-button type="primary" v-if="scope.row.actStatus == 3" size="mini">推广</el-button>
-                                    <el-button type="primary" v-if="[3,4,5].includes(scope.row.actStatus)" size="mini">活动统计</el-button>
+                                    <el-button type="primary" v-if="[3,4,5].includes(scope.row.actStatus)" @click="openSignReceive(scope.row)" size="mini">活动统计</el-button>
                                     <el-button type="primary" v-if="scope.row.actStatus == 3" @click="beClose(scope.row)" size="mini">关闭</el-button>
                                     <el-button type="danger" v-if="scope.row.actStatus != 5" size="mini" @click="delRow(scope.row)">删除</el-button>
                                 </el-row>
@@ -211,6 +197,26 @@
                 let _this = this;
                 _this.loadActivitysList();
             },
+            //修改
+            beUpdate(row){
+                layer.full(layer.open({
+                    type: 2,
+                    title: "修改",
+                    maxmin: true,
+                    area: [MUI.SIZE_L, '500px'],
+                    content : [ basePath + '/admin/redirect/activity/activity-sign-update?actId=' + row.id]
+                }));
+            },
+            //活动统计
+            openSignReceive(row){
+                layer.full(layer.open({
+                    type: 2,
+                    title: "活动统计",
+                    maxmin: true,
+                    area: [MUI.SIZE_L, '500px'],
+                    content : [ basePath + '/admin/redirect/activity/activity-sign-receive?actId=' + row.id]
+                }));
+            },
             //发布
             beReady(row){
                 let _this = this;
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html
new file mode 100644
index 0000000..31062c8
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+    <meta charset="utf-8">
+    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+    <!-- 本框架基本脚本和样式 -->
+    <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
+    <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
+    <link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
+    <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
+
+    <!-- 富文本编辑器 -->
+    <script type="text/javascript" charset="utf-8"
+            th:src="@{/plugin/beditor/ueditor.config.js}"></script>
+    <script type="text/javascript" charset="utf-8"
+            th:src="@{/plugin/beditor/ueditor.all.js}">
+    </script>
+    <script type="text/javascript" charset="utf-8"
+            th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
+    <style>
+        .panel-body{
+            overflow: hidden;
+        }
+        .paginationStyle{
+            background: #ffffff;
+            padding: 10px 10px;
+            margin: 0px 0px 10px 0px;
+            text-align: right;
+        }
+    </style>
+</head>
+
+<body>
+<div class="panel-body" id="app" v-cloak>
+    <el-row>
+        <el-row justify="space-between" type="flex">
+            <el-col>
+                <el-form ref="form" :model="form" inline >
+                    <el-form-item label="用户名称" prop="yhmc" >
+                        <el-input v-model="form.yhmc" placeholder="用户名称"></el-input>
+                    </el-form-item>
+                    <el-form-item prop="qdsj" label="签到时间">
+                        <el-date-picker
+                                v-model="form.qdsj"
+                                type="datetimerange"
+                                :picker-options="pickerOptions"
+                                range-separator="至"
+                                start-placeholder="开始日期"
+                                end-placeholder="结束日期"
+                                align="right">
+                        </el-date-picker>
+                    </el-form-item>
+                    <el-button type="primary" @click="searchFormSignReceive" >搜索</el-button>
+                    <el-button @click="resetFormSignReceive('form')">重置</el-button>
+                </el-form>
+            </el-col>
+        </el-row>
+
+        <el-row class="table-style" >
+            <el-table ref="multipleTable"
+                      :data="signReceiveList.rows"
+                      :height="height"
+                      stripe:true
+                      @sort-change="sortChange"
+                      @selection-change="handleSelectionChange">
+                <el-table-column
+                        type="selection">
+                </el-table-column>
+                <el-table-column
+                        prop="nickName"
+                        label="用户"
+                        show-overflow-tooltip>
+                </el-table-column>
+                <el-table-column
+                        prop="reciveTime"
+                        label="签到时间"
+                        show-overflow-tooltip>
+                </el-table-column>
+                <el-table-column
+                        prop="cumulativeDay"
+                        label="连续签到天数"
+                        show-overflow-tooltip>
+                </el-table-column>
+                <el-table-column
+                        label="奖励类型">
+                    <template slot-scope="scope">
+                        <span v-if="scope.row.awardType == 1">自定义礼品</span>
+                        <span v-if="scope.row.awardType == 2">积分</span>
+                        <span v-if="scope.row.awardType == 3">优惠券</span>
+                        <span v-if="scope.row.awardType == 4">店铺商品</span>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                        prop="awardName"
+                        label="获得奖励"
+                        show-overflow-tooltip>
+                </el-table-column>
+            </el-table>
+        </el-row>
+        <el-row class="paginationStyle"  >
+            <el-pagination background
+                           @size-change="changePageSignReceive"
+                           @current-change="changeCurrentPageSignReceive"
+                           :current-page="signReceiveList.currentPage"
+                           :page-sizes="[10, 20, 30, 50]"
+                           :page-size="signReceiveList.pageSize"
+                           layout="total, sizes, prev, pager, next, jumper"
+                           :total="signReceiveList.total">
+            </el-pagination>
+        </el-row>
+    </el-row>
+</div>
+</body>
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+
+<script>
+    //获取传输的活动对象
+    var actId = $.query.get("actId");
+
+    var app = new Vue({
+        el: '#app',
+        data: {
+            height:'calc(100vh - 200px)',
+            //--时间选择
+            pickerOptions: {
+                shortcuts: [{
+                    text: '最近一周',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
+            // 条件查询
+            form:{
+                yhmc:'',
+                qdsj:'',
+                order:'',
+                sort:''
+            },
+            //活动列表
+            signReceiveList:{
+                rows:[],
+                total:0,
+                pageSize:10,
+                currentPage:1,
+            },
+        },
+        created: function () {
+            this.loadInfo();
+        },
+        mounted: function () {
+        },
+        methods: {
+            //加载分类
+            loadInfo() {
+                let _this = this;
+                _this.loadSignReceiveList();
+            },
+            //--列表
+            loadSignReceiveList() {
+                let _this = this;
+                let data=_this.getRequestParamSignReceive();
+                data.pageSize=_this.signReceiveList.pageSize;
+                data.pageNum=_this.signReceiveList.currentPage;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/admin/activitySignAwardSet/findSignReceiveList',
+                    callback: function (data) {
+                        _this.signReceiveList.rows = data.rows;
+                        _this.signReceiveList.total = data.total;
+                    }
+                });
+            },//查询参数
+            getRequestParamSignReceive(){
+                let _this = this;
+                let startTime = '';
+                let endTime = '';
+                if(_this.form.qdsj.length > 0){
+                    startTime = _this.form.qdsj[0];
+                    endTime = _this.form.qdsj[1];
+                }
+                return   {
+                    yhmc:_this.form.yhmc,
+                    startTime:startTime,
+                    endTime:endTime,
+                    actId:actId,
+                    order:_this.form.order,
+                    sort:_this.form.sort,
+                }
+            },
+            //查询
+            searchFormSignReceive:function(){
+                this.signReceiveList.currentPage=1;
+                this.loadSignReceiveList();
+            },
+            //重置
+            resetFormSignReceive(formName) {
+                this.$refs[formName].resetFields();
+            },
+            changePageSignReceive(val) {
+                this.signReceiveList.pageSize = val;
+                this.loadSignReceiveList();
+            },
+            changeCurrentPageSignReceive(val) {
+                this.signReceiveList.currentPage = val;
+                this.loadSignReceiveList();
+            },
+            //排序
+            sortChange:function (column){
+                if(column.order){
+                    if(column.order.indexOf("desc")){
+                        this.form.order="desc";
+                    }else{
+                        this.form.order="asc";
+                    }
+                    this.form.sort=column.prop;
+                    this.loadInfo();
+                }
+            },
+            //选择
+            handleSelectionChange(val) {
+                let _this = this;
+                _this.multipleSelection = val;
+            },
+        }
+    })
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
new file mode 100644
index 0000000..627bf29
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
@@ -0,0 +1,748 @@
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+    <meta charset="utf-8">
+    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+    <!-- 本框架基本脚本和样式 -->
+    <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
+    <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
+    <link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
+    <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
+
+    <!-- 富文本编辑器 -->
+    <script type="text/javascript" charset="utf-8"
+            th:src="@{/plugin/beditor/ueditor.config.js}"></script>
+    <script type="text/javascript" charset="utf-8"
+            th:src="@{/plugin/beditor/ueditor.all.js}">
+    </script>
+    <script type="text/javascript" charset="utf-8"
+            th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
+    <style>
+
+        .el-aside {
+            background-color: #D3DCE6;
+            color: #333;
+            text-align: center;
+        }
+        .el-main {
+            background-color: #E9EEF3;
+            color: #333;
+        }
+        body > .el-container {
+            margin-bottom: 1000px;
+        }
+        .button {
+            padding: 5px;
+            text-align: center;
+        }
+
+        .imageOne {
+            display: block;
+            height: 50px;
+            padding: 5px 5px;
+            text-align: center;
+        }
+        .imageTwo {
+            display: block;
+            height: 50px;
+            padding: 5px 5px;
+            text-align: center;
+        }
+        .imageThree {
+            display: block;
+            height: 50px;
+            padding: 5px 5px;
+            text-align: center;
+        }
+
+        .box-card {
+            padding: 5px 5px;
+        }
+
+    </style>
+</head>
+
+<body>
+<div class="panel-body" id="app" v-cloak>
+    <el-form :model="ruleForm" :rules="rules"  class="form-horizontal" id="dataform" ref="ruleForm" label-width="120px">
+
+        <el-container>
+            <el-aside width="30%">
+                <el-card class="box-card" :body-style="{ padding: '10px 10px'}">
+                    <div @click="uploadImg()" class="imageOne">
+                        <img v-if="imageUrlTitle" :src="imageUrlTitle" style="width: 100%;">
+                        <el-button type="primary" v-show="imageUrlTitle == ''" round><span style="font-size: 20px;">标题</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>
+                    </div>
+                    <div @click="uploadImg()" class="imageTwo" >
+                        <img v-if="imageUrlHead" :src="imageUrlHead" style="width: 100%;">
+                        <el-button type="primary" v-show="imageUrlHead == ''" round><span style="font-size: 20px;">头部</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>
+                    </div>
+                    <el-row style="display:flex;">
+                        <el-col>
+                            <div style="padding:5px;font-size: 15px;text-align: left;"><span>您已累计签到<span style="color: red;">3</span>天</span></div>
+                        </el-col>
+                        <el-col>
+                            <div style="padding:5px;font-size: 15px;text-align: right;"><span>签到提醒</span></div>
+                        </el-col>
+                    </el-row>
+                    <div @click="uploadImg()">
+                        <el-calendar :range="['2019-03-04', '2019-03-24']"></el-calendar>
+                        <img v-if="imageUrlState" :src="imageUrlState" style="width: 100%;">
+                        <el-button type="primary" v-show="imageUrlState == ''" round><span style="font-size: 20px;">日历签到背景</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>
+                    </div>
+                    <div @click="uploadImg()" class="imageThree" >
+                        <el-button type="primary" v-show="imageUrlButton == ''" round><span style="font-size: 20px;">签到按钮</span><span style="padding:5px;font-size: 15px;color: red;">(上传图片)</span></span></el-button>
+                        <img v-if="imageUrlButton" :src="imageUrlButton" style="width: 100%;">
+                    </div>
+
+                    <div style="text-align: center;padding: 5px;" @click="gzsmSet()">
+                        <div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
+                            <span style="padding:5px;font-size: 30px;">-- 规则说明--</span>
+                        </div>
+                        <div class="el-col-sm-24" style="text-align: center;">
+                            <span style="padding:5px;font-size: 15px;color: red;">(点击,编辑规则内容,背景颜色,字体颜色、大小、透明度)</span>
+                        </div>
+                        <div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
+                            <span style="padding:5px;font-size: 15px;">1、每天参与签到可获得积分</span>
+                        </div>
+                        <div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
+                            <span style="padding:5px;font-size: 15px;">2、连续签到7天将获得赠送大礼包</span>
+                        </div>
+                        <div class="col-sm-8 col-sm-offset-2" style="text-align: left;">
+                            <span style="padding:5px;font-size: 15px;">3、每7天重新开始计算</span>
+                        </div>
+                    </div>
+                </el-card>
+            </el-aside>
+
+            <el-main width="70%">
+                <div>
+                    <el-tabs v-model="activeName" >
+                        <el-tab-pane label="活动设置" name="first">
+                            <div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
+                                <el-form-item label="活动名称" prop="actName">
+                                    <el-input v-model="ruleForm.actName" placeholder="请输入活动名称"></el-input>
+                                </el-form-item>
+                            </div>
+                            <div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
+                                <el-form-item label="活动编码" prop="actCode">
+                                    <el-input v-model.number="ruleForm.actCode" placeholder="请输入最大开团数量"></el-input>
+                                </el-form-item>
+                            </div>
+                            <div class="col-sm-4 col-sm-offset-1" style="padding: 10px">
+                                <el-form-item label="活动时间" prop="actTime">
+                                    <div class="block">
+                                        <el-date-picker
+                                                v-model="ruleForm.actTime"
+                                                type="daterange"
+                                                range-separator="至"
+                                                start-placeholder="开始日期"
+                                                end-placeholder="结束日期">
+                                        </el-date-picker>
+                                    </div>
+                                </el-form-item>
+                            </div>
+                        </el-tab-pane>
+
+                        <el-tab-pane label="奖品设置" name="second">
+                            <el-row style="display:flex;">
+                                <el-col :span="20">
+                                    <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab">
+                                        <el-tab-pane v-for="(item, index) in editableTabs" :key="item.name" :label="item.title" :name="item.name">
+                                            <el-row v-show="editableTabsValue !== '1'">
+                                                <el-form-item label="签到累计天数">
+                                                    <el-input v-model.number="item.content.cumulativeDay" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
+                                                </el-form-item>
+                                            </el-row>
+                                            <el-row>
+                                                <el-form-item label="奖项类型">
+                                                    <el-col>
+                                                        <el-radio-group v-model="item.content.awardType" @change="jxlxChange">
+                                                            <el-radio :label="1">自定义奖品</el-radio>
+                                                            <el-radio :label="2">积分</el-radio>
+                                                            <el-radio :label="3">优惠券</el-radio>
+                                                            <el-radio :label="4">商品</el-radio>
+                                                        </el-radio-group>
+                                                    </el-col>
+                                                </el-form-item >
+                                            </el-row>
+                                            <el-row >
+                                                <el-col>
+                                                    <el-form-item label="奖项名称">
+                                                        <el-input v-model="item.content.awardName" placeholder="奖项名称"></el-input>
+                                                    </el-form-item>
+                                                </el-col>
+                                            </el-row>
+                                            <el-row >
+                                                <el-col>
+                                                    <el-form-item label="图片介绍">
+                                                        <el-upload
+                                                                action="/admin/multipleUploadFile/doUpload"
+                                                                :show-file-list="false"
+                                                                :on-success="introduceImgSuccess">
+                                                            <img v-if="item.content.introduceImg" :src="item.content.introduceImg" style="max-width: 200px;">
+                                                        </el-upload>
+                                                    </el-form-item>
+                                                </el-col>
+                                            </el-row>
+
+                                            <div v-show="item.content.awardType !== 2">
+                                                <el-row style="display:flex;">
+                                                    <el-col>
+                                                        <el-form-item label="奖项库存">
+                                                            <el-input v-model="item.content.awardInventoryCnt" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                    <el-col>
+                                                        <el-form-item label="已派发">
+                                                            <el-input v-model="item.content.awardDistributeCnt"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                </el-row>
+                                            </div>
+                                            <div v-show="item.content.awardType === 1">
+                                                <el-row >
+                                                    <el-col>
+                                                        <el-form-item label="文字介绍">
+                                                            <el-input type="textarea" v-model="item.content.introduceTip"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                </el-row>
+                                                <el-row >
+                                                    <el-col>
+                                                        <el-form-item label="兑奖方式">
+                                                            <el-col>
+                                                                <el-radio-group v-model="item.content.awardWay" @change="awardWayChange">
+                                                                    <el-radio :label="1">线下兑换</el-radio>
+                                                                    <el-radio :label="2">物流配送</el-radio>
+                                                                    <el-radio :label="3">客服兑换</el-radio>
+                                                                </el-radio-group>
+                                                            </el-col>
+                                                        </el-form-item >
+                                                    </el-col>
+                                                </el-row>
+                                                <el-row >
+                                                    <el-col>
+                                                        <el-form-item label="操作提示">
+                                                            <el-input v-model="item.content.operationTip"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                </el-row>
+                                                <div v-show="item.content.awardWay === 1">
+                                                    <el-row >
+                                                        <el-col>
+                                                            <el-form-item label="兑奖地址">
+                                                                <el-input v-model="item.content.prizeAddress"></el-input>
+                                                            </el-form-item>
+                                                        </el-col>
+                                                    </el-row>
+
+                                                </div>
+                                                <div v-show="item.content.awardWay === 3">
+                                                    <el-row >
+                                                        <el-col>
+                                                            <el-form-item label="客服微信">
+                                                                <el-upload
+                                                                        action="/admin/multipleUploadFile/doUpload"
+                                                                        :show-file-list="false"
+                                                                        :on-success="wechatImgSuccess">
+                                                                    <img v-if="item.content.wechatImg" :src="item.content.wechatImg" style="max-width: 200px;">
+                                                                </el-upload>
+                                                            </el-form-item>
+                                                        </el-col>
+                                                    </el-row>
+                                                </div>
+                                                <div v-show="item.content.awardWay !== 2">
+                                                    <el-row >
+                                                        <el-col>
+                                                            <el-form-item label="兑奖期限">
+                                                                <div class="block">
+                                                                    <el-date-picker
+                                                                            v-model="item.content.prizeTime"
+                                                                            type="daterange"
+                                                                            range-separator="至"
+                                                                            start-placeholder="开始日期"
+                                                                            end-placeholder="结束日期">
+                                                                    </el-date-picker>
+                                                                </div>
+                                                            </el-form-item>
+                                                        </el-col>
+                                                    </el-row>
+                                                </div>
+                                            </div>
+                                            <div v-show="item.content.awardType === 2">
+                                                <el-row >
+                                                    <el-col>
+                                                        <el-form-item label="积分数量">
+                                                            <el-input v-model="item.content.scoreCnt" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                </el-row>
+                                            </div>
+                                            <div v-show="item.content.awardType === 3">
+                                                <el-row style="display:flex;">
+                                                    <el-col>
+                                                        <el-form-item label="优惠券名称">
+                                                            <el-input v-model="item.content.couponName"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                    <el-col>
+                                                        <el-form-item label="优惠券">
+                                                            <el-input v-model="item.content.couponId"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                    <el-col>
+                                                        <el-button type="primary">
+                                                            选择优惠券
+                                                        </el-button>
+                                                    </el-col>
+                                                </el-row>
+                                            </div>
+                                            <div v-show="item.content.awardType === 4">
+                                                <el-row style="display:flex;">
+                                                    <el-col>
+                                                        <el-form-item label="品项名称">
+                                                            <el-input v-model="item.content.goodsName"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                    <el-col>
+                                                        <el-form-item label="品项">
+                                                            <el-input v-model="item.content.goodsId"></el-input>
+                                                        </el-form-item>
+                                                    </el-col>
+                                                    <el-col>
+                                                        <el-button type="primary">
+                                                            选择品项
+                                                        </el-button>
+                                                    </el-col>
+                                                </el-row>
+                                            </div>
+                                        </el-tab-pane>
+                                    </el-tabs>
+                                </el-col>
+                                <el-col :span="4">
+                                    <el-button type="primary" @click="addTab(editableTabsValue)">
+                                        新增奖品
+                                    </el-button>
+                                </el-col>
+                            </el-row>
+                        </el-tab-pane>
+
+                        <el-tab-pane label="背景图片上传" name="third">
+                            <div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
+                                <el-form-item label="标题">
+                                    <el-upload
+                                            action="/admin/multipleUploadFile/doUpload"
+                                            :show-file-list="false"
+                                            :on-success="imageUrlTitleSuccess">
+                                        <img v-if="imageUrlTitle" :src="imageUrlTitle" style="max-width: 300px;">
+                                    </el-upload>
+                                </el-form-item>
+                            </div>
+                            <div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
+                                <el-form-item label="头部">
+                                    <el-upload
+                                            action="/admin/multipleUploadFile/doUpload"
+                                            :show-file-list="false"
+                                            :on-success="imageUrlHeadSuccess">
+                                        <img v-if="imageUrlHead" :src="imageUrlHead" style="max-width: 300px;">
+                                    </el-upload>
+                                </el-form-item>
+                            </div>
+                            <div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
+                                <el-form-item label="日历签到背景">
+                                    <el-upload
+                                            action="/admin/multipleUploadFile/doUpload"
+                                            :show-file-list="false"
+                                            :on-success="imageUrlStateSuccess">
+                                        <img v-if="imageUrlState" :src="imageUrlState" style="max-width: 300px;">
+                                    </el-upload>
+                                </el-form-item>
+                            </div>
+                            <div class="col-sm-8 col-sm-offset-1" style="padding: 10px">
+                                <el-form-item label="签到按钮">
+                                    <el-upload
+                                            action="/admin/multipleUploadFile/doUpload"
+                                            :show-file-list="false"
+                                            :on-success="imageUrlButtonSuccess">
+                                        <img v-if="imageUrlButton" :src="imageUrlButton" style="max-width: 300px;">
+                                        <i v-else></i>
+                                    </el-upload>
+                                </el-form-item>
+                            </div>
+                        </el-tab-pane>
+
+                        <el-tab-pane label="规则说明" name="fourth">
+                            <div class="col-sm-8 col-sm-offset-1">
+                                <el-form-item label="规则内容" prop="ruleExplain" style="padding: 10px">
+                                    <el-input type="textarea" v-model="ruleForm.ruleExplain"></el-input>
+                                </el-form-item>
+                                <el-form-item label="背景颜色" style="padding: 10px">
+                                    <el-color-picker v-model="backgroundColor"></el-color-picker>
+                                </el-form-item>
+                                <el-form-item label="字体颜色" style="padding: 10px">
+                                    <el-color-picker v-model="typographyColor"></el-color-picker>
+                                </el-form-item>
+                                <el-form-item label="字体大小" style="padding: 10px">
+                                    <el-input-number v-model="typographyNum" :min="10" :max="20" label="描述文字"></el-input-number>
+                                </el-form-item>
+                                <el-form-item label="字体透明度" style="padding: 10px">
+                                    <el-input-number v-model="typographyLight" :min="1" :max="100" label="描述文字">%</el-input-number>
+                                </el-form-item>
+                            </div>
+                        </el-tab-pane>
+                    </el-tabs>
+                </div>
+
+                <div class="form-group ">
+                    <div class="col-sm-12 text-center">
+                        <el-button type="primary" @click="updateSignAwardSet('ruleForm')">保存</el-button>
+                        <el-button type="danger" @click="cancelSubmit">关闭</el-button>
+                    </div>
+                </div>
+            </el-main>
+
+        </el-container>
+
+    </el-form>
+</div>
+</body>
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+
+<script>
+    //获取传输的活动对象
+    var actId = $.query.get("actId");
+    const prize = {
+        //奖品基本信息
+        id:'',
+        cumulativeDay:'',
+        awardType:1,
+        awardName:'',
+        introduceImg:'',
+        introduceTip:'',
+        awardInventoryCnt:'',
+        awardDistributeCnt:'',
+        awardWay:1,
+        operationTip:'',
+        prizeAddress:'',
+        prizeTime: '',
+        wechatImg:'',
+        scoreCnt:'',
+        couponId:'',
+        goodsId:'',
+        couponName:'',
+        goodsName:'',
+    }
+    var app = new Vue({
+        el: '#app',
+        data: {
+            activeName: 'first',
+            formLabelWidth: '120px',
+            //标题图片
+            imageUrlTitle: '',
+            imageUrlHead: '',
+            imageUrlButton: '',
+            imageUrlState: '',
+
+            //字体颜色
+            typographyColor: '#409EFF',
+            //背景颜色
+            backgroundColor: '#409EFF',
+            //字体大小
+            typographyNum: '5',
+            //字体透明度
+            typographyLight: '50',
+            //奖品设置
+            prize:JSON.parse(JSON.stringify(prize)),
+            editableTabsValue: '1',
+            editableTabs: [{
+                title: '签到日常奖励',
+                name: '1',
+                content: JSON.parse(JSON.stringify(prize))
+            }],
+            tabIndex: 1,
+
+            ruleForm : {
+                //商品基本信息
+                actName : '',
+                actCode : '',
+                actTime : '',
+                //规则说明
+                ruleExplain : '',
+            },
+            rules : {
+                //商品基本信息
+                actName : [
+                    { required: true, message: '请输入活动名称', trigger: 'blur' }
+                ],
+                actCode : [
+                    { required: true, message: '请输入活动编码', trigger: 'blur' }
+                ],
+                actTime : [
+                    { required: true, message: '请选择日期', trigger: 'change' }
+                ],
+                ruleExplain : [
+                    { required: true, message: '请输入规则内容', trigger: 'blur' }
+                ]
+            },
+        },
+        created: function () {
+            this.loadInfo();
+        },
+        methods: {
+            //加载活动详情
+            loadInfo() {
+                let _this = this;
+                _this.loadSign();
+            },
+            loadSign() {
+                let _this = this;
+                let data={
+                    actId:actId,
+                };
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/admin/activitySignAwardSet/findSignForUpdate',
+                    callback: function (data) {
+                        _this.ruleForm.actName = data.mapInfo.addSignAwardSetVo.actName;
+                        _this.ruleForm.actCode = data.mapInfo.addSignAwardSetVo.actCode;
+                        let arrayObj = new Array();
+                        arrayObj.push(new Date(data.mapInfo.addSignAwardSetVo.beginTime));
+                        arrayObj.push(new Date(data.mapInfo.addSignAwardSetVo.endTime));
+                        _this.ruleForm.actTime = arrayObj;
+                        //字体颜色
+                        _this.ruleForm.ruleExplain = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.ruleExplain;
+                        _this.typographyColor = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.typographyColor;
+                        _this.backgroundColor = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.backgroundColor;
+                        _this.typographyNum = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.typographyNum;
+                        _this.typographyLight = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.typographyLight;
+                        _this.imageUrlTitle = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlTitle;
+                        _this.imageUrlHead = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlHead;
+                        _this.imageUrlButton = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlButton;
+                        _this.imageUrlState = data.mapInfo.addSignAwardSetVo.signSetBasicJsonDto.imageUrlState;
+
+                        for (let i = 0; i < data.mapInfo.addSignAwardSetVo.activitySignAwardSets.length; i++) {
+                            _this.tabIndex = data.mapInfo.addSignAwardSetVo.activitySignAwardSets.length;
+                            let prizeVo = data.mapInfo.addSignAwardSetVo.activitySignAwardSets[i];
+                            let arrayObjs = new Array();
+                            arrayObjs.push(new Date(prizeVo.prizeStartTime));
+                            arrayObjs.push(new Date(prizeVo.prizeEndTime));
+                            let content = JSON.parse(JSON.stringify(prize));
+                            content = {
+                                id: prizeVo.id,
+                                cumulativeDay: prizeVo.cumulativeDay,
+                                awardType: parseInt(prizeVo.awardType),
+                                awardName: prizeVo.awardName,
+                                introduceImg: prizeVo.introduceImg,
+                                introduceTip: prizeVo.introduceTip,
+                                awardInventoryCnt: prizeVo.awardInventoryCnt,
+                                awardDistributeCnt: prizeVo.awardDistributeCnt,
+                                awardWay: parseInt(prizeVo.awardWay),
+                                operationTip: prizeVo.operationTip,
+                                prizeAddress: prizeVo.prizeAddress,
+                                wechatImg: prizeVo.wechatImg,
+                                scoreCnt: prizeVo.scoreCnt,
+                                couponId: prizeVo.couponId,
+                                goodsId: prizeVo.goodsId,
+                                couponName: prizeVo.couponName,
+                                goodsName: prizeVo.goodsName,
+                                prizeTime: arrayObjs,
+                            }
+                            if(i === 0){
+                                _this.editableTabs[0].content = content;
+                            }else{
+                                let newTabName =  i+1 +'';
+                                _this.editableTabs.push({
+                                    title: "商品奖励"+"("+newTabName+")",
+                                    name: newTabName,
+                                    content: content,
+                                });
+                                this.editableTabsValue = newTabName;
+                            }
+                        }
+                    }
+                });
+            },
+            //保存
+            updateSignAwardSet : function(formName) {
+                const _this = this;
+                let flag = false;
+                _this.$refs[formName].validate((valid) => {
+                    if (!valid) {
+                        _this.$notify({
+                            title: '提示',
+                            message: '请完善签到活动信息',
+                            type: 'warning'
+                        });
+                        flag = true;
+                        return;
+                    }
+                });
+                if (flag) {
+                    return;
+                }
+                //活动基本信息
+                let signSetBasicJsonDto = {
+                    ruleExplain: _this.ruleForm.ruleExplain,
+                    //字体颜色
+                    typographyColor: _this.typographyColor,
+                    //背景颜色
+                    backgroundColor: _this.backgroundColor,
+                    //字体大小
+                    typographyNum: _this.typographyNum,
+                    //字体透明度
+                    typographyLight: _this.typographyNum,
+                    //标题图片
+                    imageUrlTitle: _this.imageUrlTitle,
+                    imageUrlHead: _this.imageUrlHead,
+                    imageUrlButton: _this.imageUrlButton,
+                    imageUrlState: _this.imageUrlState,
+                }
+                //奖品信息
+                let activitySignAwardSets = [];
+                for (let i = 0; i < _this.editableTabs.length; i++) {
+                    let prize = _this.editableTabs[i].content;
+                    let activitySignAwardSet = {
+                        id: prize.id,
+                        cumulativeDay: prize.cumulativeDay,
+                        awardType: prize.awardType,
+                        awardName: prize.awardName,
+                        introduceImg: prize.introduceImg,
+                        introduceTip: prize.introduceTip,
+                        awardInventoryCnt: prize.awardInventoryCnt,
+                        awardDistributeCnt: prize.awardDistributeCnt,
+                        awardWay: prize.awardWay,
+                        operationTip: prize.operationTip,
+                        prizeAddress: prize.prizeAddress,
+                        wechatImg: prize.wechatImg,
+                        scoreCnt: prize.scoreCnt,
+                        couponId: prize.couponId,
+                        goodsId: prize.goodsId,
+                        couponName: prize.couponName,
+                        goodsName: prize.goodsName,
+                        prizeStartTime: prize.prizeTime[0],
+                        prizeEndTime: prize.prizeTime[1],
+                    }
+                    activitySignAwardSets.push(activitySignAwardSet);
+                }
+                let resultData = {
+                    actMainId: actId,
+                    actName: _this.ruleForm.actName,
+                    actCode: _this.ruleForm.actCode,
+                    beginTime : _this.ruleForm.actTime[0],
+                    endTime : _this.ruleForm.actTime[1],
+                    signSetBasicJsonDto,
+                    activitySignAwardSets,
+                }
+                AjaxProxy.requst({
+                    app: _this,
+                    data: resultData,
+                    url: basePath + '/admin/activitySignAwardSet/updateSignAwardSet',
+                    callback: function (data) {
+                        _this.$message({
+                            message: data.info,
+                            type: 'success',
+                        });
+                    }
+                });
+            },
+            //奖品设置
+            addTab(targetName) {
+                let newTabName = ++this.tabIndex + '';
+                this.editableTabs.push({
+                    title: "商品奖励"+"("+newTabName+")",
+                    name: newTabName,
+                    content: JSON.parse(JSON.stringify(prize)),
+                });
+                this.editableTabsValue = newTabName;
+            },
+            removeTab(targetName) {
+                let tabs = this.editableTabs;
+                let activeName = this.editableTabsValue;
+                if(activeName === '1' || targetName === '1'){
+                    this.$notify({
+                        title: '提示',
+                        message: '【签到日常奖励】不能删除',
+                        type: 'warning'
+                    });
+                }else{
+                    if (activeName === targetName) {
+                        tabs.forEach((tab, index) => {
+                            if (tab.name === targetName && tab.title !== "签到日常奖励") {
+                                let nextTab = tabs[index + 1] || tabs[index - 1];
+                                if (nextTab) {
+                                    activeName = nextTab.name;
+                                }
+                            }
+                        });
+                    }
+                    this.editableTabsValue = activeName;
+                    this.editableTabs = tabs.filter(tab => tab.name !== targetName);
+                    this.tabIndex = this.editableTabs.length;
+                }
+            },
+            //切换奖项类型,显示不同内容
+            jxlxChange(val){
+                let _this = this;
+                _this.isShow=val;
+            },
+            //切换兑奖方式,显示不同内容
+            awardWayChange(val){
+                let _this = this;
+                _this.isShow=val;
+            },
+            //跳转到图片上传
+            uploadImg(){
+                this.activeName = 'third';
+            },
+            //跳转到规则说明
+            gzsmSet(){
+                this.activeName = 'fourth';
+            },
+            //标题图片
+            imageUrlTitleSuccess(res, file) {
+                this.imageUrlTitle = res.path;
+            },
+            imageUrlHeadSuccess(res, file) {
+                this.imageUrlHead = res.path;
+            },
+            imageUrlButtonSuccess(res, file) {
+                this.imageUrlButton = res.path;
+            },
+            imageUrlStateSuccess(res, file) {
+                this.imageUrlState = res.path;
+            },
+            //奖品设置的图片介绍
+            introduceImgSuccess(res, file) {
+                this.editableTabs[this.tabIndex-1].content.introduceImg = res.path;
+            },
+            //奖品设置的客服微信
+            wechatImgSuccess(res, file) {
+                this.editableTabs[this.tabIndex-1].content.wechatImg = res.path;
+            },
+            cancelSubmit() {
+                this.closeFrame();
+            },
+            closeFrame() {
+                parent.layer.close(parent.layer.getFrameIndex(window.name));
+            },
+        }
+    })
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
index cdf3c95..cb5a821 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
@@ -24,45 +24,52 @@
             th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
     <style>
 
-    .el-aside {
-        background-color: #D3DCE6;
-        color: #333;
-        text-align: center;
-    }
-    .el-main {
-        background-color: #E9EEF3;
-        color: #333;
-    }
-    body > .el-container {
-        margin-bottom: 1000px;
-    }
-    .button {
-        padding: 5px;
-        text-align: center;
-    }
+        .paginationStyle{
+            background: #ffffff;
+            padding: 10px 10px;
+            margin: 0px 0px 10px 0px;
+            text-align: right;
+        }
 
-    .imageOne {
-        display: block;
-        height: 50px;
-        padding: 5px 5px;
-        text-align: center;
-    }
-    .imageTwo {
-        display: block;
-        height: 50px;
-        padding: 5px 5px;
-        text-align: center;
-    }
-    .imageThree {
-        display: block;
-        height: 50px;
-        padding: 5px 5px;
-        text-align: center;
-    }
+        .el-aside {
+            background-color: #D3DCE6;
+            color: #333;
+            text-align: center;
+        }
+        .el-main {
+            background-color: #E9EEF3;
+            color: #333;
+        }
+        body > .el-container {
+            margin-bottom: 1000px;
+        }
+        .button {
+            padding: 5px;
+            text-align: center;
+        }
 
-    .box-card {
-        padding: 5px 5px;
-    }
+        .imageOne {
+            display: block;
+            height: 50px;
+            padding: 5px 5px;
+            text-align: center;
+        }
+        .imageTwo {
+            display: block;
+            height: 50px;
+            padding: 5px 5px;
+            text-align: center;
+        }
+        .imageThree {
+            display: block;
+            height: 50px;
+            padding: 5px 5px;
+            text-align: center;
+        }
+
+        .box-card {
+            padding: 5px 5px;
+        }
 
     </style>
 </head>
@@ -287,30 +294,161 @@
                                                 <div v-show="item.content.awardType === '3'">
                                                     <el-row style="display:flex;">
                                                         <el-col>
+                                                            <el-form-item label="优惠券名称">
+                                                                <el-input v-model="item.content.couponName"></el-input>
+                                                            </el-form-item>
+                                                        </el-col>
+                                                        <el-col>
                                                             <el-form-item label="优惠券">
                                                                 <el-input v-model="item.content.couponId"></el-input>
                                                             </el-form-item>
                                                         </el-col>
                                                         <el-col>
-                                                            <el-button type="primary">
+                                                            <el-button type="primary" @click="chooseCoupon(item.content.couponName)">
                                                                 选择优惠券
                                                             </el-button>
                                                         </el-col>
                                                     </el-row>
+
+                                                    <el-drawer
+                                                            title="选择商城优惠券"
+                                                            :visible.sync="drawerCoupon"
+                                                            :direction="directionCoupon"
+                                                            size="90%">
+                                                        <el-row style="margin-left: 50px;">
+                                                            <el-col :span="24">
+                                                                <el-row>
+                                                                    <el-form ref="formCoupon" :model="formCoupon" inline >
+                                                                        <el-form-item prop="yhjmc">
+                                                                            <el-input v-model="formCoupon.yhjmc" placeholder="请输入优惠券名称"></el-input>
+                                                                        </el-form-item>
+                                                                        <el-button type="primary" @click="searchFormCoupon" >搜索</el-button>
+                                                                        <el-button @click="resetFormCoupon('formCoupon')">重置</el-button>
+                                                                    </el-form>
+                                                                </el-row>
+
+                                                                <el-row class="table-style" >
+                                                                    <el-table ref="multipleTable"
+                                                                              :data="couponList.rows"
+                                                                              :height="tableHeightCoupon"
+                                                                              stripe:true
+                                                                              style="width: 100%">
+                                                                        <el-table-column
+                                                                                prop="cname"
+                                                                                label="优惠券名称"
+                                                                                show-overflow-tooltip>
+                                                                        </el-table-column>
+                                                                        <el-table-column
+                                                                                prop="endTime"
+                                                                                label="截止日期"
+                                                                                show-overflow-tooltip>
+                                                                        </el-table-column>
+                                                                        <el-table-column
+                                                                                prop="address"
+                                                                                label="操作">
+                                                                            <template slot-scope="scope">
+                                                                                <el-button type="primary"
+                                                                                           size="mini"
+                                                                                           @click="chooseOneCoupon(scope.row)">选择
+                                                                                </el-button>
+                                                                            </template>
+                                                                        </el-table-column>
+                                                                    </el-table>
+                                                                </el-row>
+                                                                <el-row class="paginationStyle"  >
+                                                                    <el-pagination background
+                                                                                   @size-change="changePageSizeCoupon"
+                                                                                   @current-change="changeCurrentPageCoupon"
+                                                                                   :current-page="couponList.currentPage"
+                                                                                   :page-sizes="[10, 20, 30, 50]"
+                                                                                   :page-size="couponList.pageSize"
+                                                                                   layout="total, sizes, prev, pager, next, jumper"
+                                                                                   :total="couponList.total">
+                                                                    </el-pagination>
+                                                                </el-row>
+                                                            </el-col>
+                                                        </el-row>
+                                                    </el-drawer>
                                                 </div>
                                                 <div v-show="item.content.awardType === '4'">
                                                     <el-row style="display:flex;">
+                                                        <el-col>
+                                                            <el-form-item label="品项名称">
+                                                                <el-input v-model="item.content.goodsName"></el-input>
+                                                            </el-form-item>
+                                                        </el-col>
                                                         <el-col>
                                                             <el-form-item label="品项">
                                                                 <el-input v-model="item.content.goodsId"></el-input>
                                                             </el-form-item>
                                                         </el-col>
                                                         <el-col>
-                                                            <el-button type="primary">
+                                                            <el-button type="primary" @click="chooseGoods(item.content.goodsName)">
                                                                 选择品项
                                                             </el-button>
                                                         </el-col>
                                                     </el-row>
+
+                                                    <el-drawer
+                                                            title="选择ERP产品"
+                                                            :visible.sync="drawerGoods"
+                                                            :direction="directionGoods"
+                                                            size="90%">
+                                                        <el-row style="margin-left: 50px;">
+                                                            <el-col :span="24">
+                                                                <el-row>
+                                                                    <el-form ref="formGoods" :model="formGoods" inline >
+                                                                        <el-form-item prop="cpmc">
+                                                                            <el-input v-model="formGoods.cpmc" placeholder="请输入产品名称"></el-input>
+                                                                        </el-form-item>
+                                                                        <el-button type="primary" @click="searchFormGoods" >搜索</el-button>
+                                                                        <el-button @click="resetFormGoods('formGoods')">重置</el-button>
+                                                                    </el-form>
+                                                                </el-row>
+
+                                                                <el-row class="table-style" >
+                                                                    <el-table ref="multipleTable"
+                                                                              :data="goodsList.rows"
+                                                                              :height="tableHeightGoods"
+                                                                              stripe:true
+                                                                              style="width: 100%">
+                                                                        <el-table-column
+                                                                                prop="cname"
+                                                                                label="优惠券名称"
+                                                                                show-overflow-tooltip>
+                                                                        </el-table-column>
+                                                                        <el-table-column
+                                                                                prop="endTime"
+                                                                                label="截止日期"
+                                                                                show-overflow-tooltip>
+                                                                        </el-table-column>
+                                                                        <el-table-column
+                                                                                prop="address"
+                                                                                label="操作">
+                                                                            <template slot-scope="scope">
+                                                                                <el-button type="primary"
+                                                                                           size="mini"
+                                                                                           @click="chooseOneGoods(scope.row)">选择
+                                                                                </el-button>
+                                                                            </template>
+                                                                        </el-table-column>
+                                                                    </el-table>
+                                                                </el-row>
+                                                                <el-row class="paginationStyle"  >
+                                                                    <el-pagination background
+                                                                                   @size-change="changePageSizeGoods"
+                                                                                   @current-change="changeCurrentPageGoods"
+                                                                                   :current-page="goodsList.currentPage"
+                                                                                   :page-sizes="[10, 20, 30, 50]"
+                                                                                   :page-size="goodsList.pageSize"
+                                                                                   layout="total, sizes, prev, pager, next, jumper"
+                                                                                   :total="goodsList.total">
+                                                                    </el-pagination>
+                                                                </el-row>
+                                                            </el-col>
+                                                        </el-row>
+                                                    </el-drawer>
+
                                                 </div>
                                             </el-tab-pane>
                                         </el-tabs>
@@ -392,7 +530,7 @@
                 <div class="form-group ">
                     <div class="col-sm-12 text-center">
                         <el-button type="primary" @click="dataSubmit('ruleForm')">保存</el-button>
-                        <el-button type="danger" >关闭</el-button>
+                        <el-button type="danger" @click="cancelSubmit">关闭</el-button>
                     </div>
                 </div>
         </el-main>
@@ -413,6 +551,8 @@
 <script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
 
 <script>
+    //获取传输的活动对象
+    var actId = $.query.get("actId");
     const prize = {
         //奖品基本信息
         cumulativeDay:'',
@@ -423,19 +563,55 @@
         awardInventoryCnt:'',
         awardDistributeCnt:'',
         awardWay:'1',
-        awardWayoperationTip:'',
+        operationTip:'',
         prizeAddress:'',
         prizeTime: '',
         wechatImg:'',
         scoreCnt:'',
         couponId:'',
         goodsId:'',
+        couponName:'',
+        goodsName:'',
     }
     var app = new Vue({
         el: '#app',
         data: {
             activeName: 'first',
             formLabelWidth: '120px',
+            //优惠券搜索弹出
+            drawerCoupon: false,
+            directionCoupon: 'rtl',
+            tableHeightCoupon: 500,
+            //--优惠券
+            formCoupon:{
+                yhjmc:'',
+                order:'',
+                sort:''
+            },
+            couponList:{
+                rows:[],
+                total:0,
+                pageSize:10,
+                currentPage:1,
+            },
+
+            //品项搜索弹出
+            drawerGoods: false,
+            directionGoods: 'rtl',
+            tableHeightGoods: 500,
+            //--品项
+            formGoods:{
+                cpmc:'',
+                order:'',
+                sort:''
+            },
+            goodsList:{
+                rows:[],
+                total:0,
+                pageSize:10,
+                currentPage:1,
+            },
+
             //标题图片
             imageUrlTitle: '',
             imageUrlHead: '',
@@ -487,6 +663,123 @@
         created: function () {
         },
         methods: {
+            //选择优惠券
+            chooseCoupon(val){
+                let _this = this;
+                _this.drawerCoupon = true;
+                _this.formCoupon.yhjmc = val;
+                _this.loadCouponList();
+            },
+            //--优惠券
+            loadCouponList() {
+                let _this = this;
+                let data=_this.getRequestParamCoupon();
+                data.pageSize=_this.couponList.pageSize;
+                data.pageNum=_this.couponList.currentPage;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/admin/activitySignAwardSet/selectCouponList',
+                    callback: function (data) {
+                        _this.couponList.rows = data.rows;
+                        _this.couponList.total = data.total;
+                    }
+                });
+            },
+            //查询参数
+            getRequestParamCoupon(){
+                let _this = this;
+                return   {
+                    yhjmc:_this.formCoupon.yhjmc,
+                    order:_this.formCoupon.order,
+                    sort:_this.formCoupon.sort,
+                }
+            },
+            //查询
+            searchFormCoupon:function(){
+                this.couponList.currentPage=1;
+                this.loadCouponList();
+            },
+            //重置
+            resetFormCoupon(formName) {
+                // this.formCoupon.yhjmc = ''
+                // console.log(this.$refs[formName].resetFields)
+                (this.$refs[formName])[0].resetFields();
+            },
+            changePageSizeCoupon(val) {
+                this.couponList.pageSize = val;
+                this.loadCouponList();
+            },
+            changeCurrentPageCoupon(val) {
+                this.couponList.currentPage = val;
+                this.loadCouponList();
+            },
+            //选择
+            chooseOneCoupon(row) {
+                let _this = this;
+                _this.editableTabs[_this.tabIndex-1].content.couponId = row.id;
+                _this.editableTabs[_this.tabIndex-1].content.couponName = row.cname;
+                _this.drawerCoupon = false;
+            },
+
+            //选择品项
+            chooseGoods(val){
+                let _this = this;
+                _this.drawerGoods = true;
+                _this.formGoods.cpmc = val;
+                _this.loadGoodsList();
+            },
+            //--品项
+            loadGoodsList() {
+                let _this = this;
+                let data=_this.getRequestParamGoods();
+                data.pageSize=_this.goodsList.pageSize;
+                data.pageNum=_this.goodsList.currentPage;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/admin/activitySignAwardSet/selectGoodsList',
+                    callback: function (data) {
+                        _this.goodsList.rows = data.rows;
+                        _this.goodsList.total = data.total;
+                    }
+                });
+            },
+            //查询参数
+            getRequestParamGoods(){
+                let _this = this;
+                return   {
+                    cpmc:_this.formCoupon.cpmc,
+                    order:_this.formCoupon.order,
+                    sort:_this.formCoupon.sort,
+                }
+            },
+            //查询
+            searchFormGoods:function(){
+                this.goodsList.currentPage=1;
+                this.loadGoodsList();
+            },
+            //重置
+            resetFormGoods(formName) {
+                (this.$refs[formName])[0].resetFields();
+            },
+            changePageSizeGoods(val) {
+                this.goodsList.pageSize = val;
+                this.loadGoodsList();
+            },
+            changeCurrentPageGoods(val) {
+                this.goodsList.currentPage = val;
+                this.loadGoodsList();
+            },
+            //选择
+            chooseOneGoods(row) {
+                let _this = this;
+                _this.editableTabs[_this.tabIndex-1].content.goodsId = row.id;
+                _this.editableTabs[_this.tabIndex-1].content.goodsName = row.name;
+                _this.drawerCoupon = false;
+            },
+
+            //保存
             dataSubmit : function(formName) {
                 const _this = this;
                 let flag = false;
@@ -534,12 +827,14 @@
                         awardInventoryCnt: prize.awardInventoryCnt,
                         awardDistributeCnt: prize.awardDistributeCnt,
                         awardWay: prize.awardWay,
-                        awardWayoperationTip: prize.awardWayoperationTip,
+                        operationTip: prize.operationTip,
                         prizeAddress: prize.prizeAddress,
                         wechatImg: prize.wechatImg,
                         scoreCnt: prize.scoreCnt,
                         couponId: prize.couponId,
                         goodsId: prize.goodsId,
+                        couponName: prize.couponName,
+                        goodsName: prize.goodsName,
                         prizeStartTime: prize.prizeTime[0],
                         prizeEndTime: prize.prizeTime[1],
                     }
@@ -640,6 +935,12 @@
             wechatImgSuccess(res, file) {
                 this.editableTabs[this.tabIndex-1].content.wechatImg = res.path;
             },
+            cancelSubmit() {
+                this.closeFrame();
+            },
+            closeFrame() {
+                parent.layer.close(parent.layer.getFrameIndex(window.name));
+            },
         }
     })
 </script>

--
Gitblit v1.9.1