From 1c13ae0c6d500cf5ec3c3a5f7d4b6e7a617e36ba Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 01 Apr 2021 21:10:37 +0800
Subject: [PATCH] 20210401 签到活动1

---
 zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignReceiveRecordAction.java   |   21 
 zq-erp/src/main/java/com/matrix/system/activity/dto/DelRowDto.java                            |   17 
 zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignReceiveRecordDao.java         |   14 
 zq-erp/src/main/java/com/matrix/system/activity/dto/AddSignAwardSetDto.java                   |   28 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html                 |  104 ++
 zq-erp/src/main/resources/config/db/increment/签到活动.sql                                        |  127 +++
 zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java         |   87 ++
 zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java                |   14 
 zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignRecordService.java        |   22 
 zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignRecord.java                |   66 +
 zq-erp/src/main/java/com/matrix/system/activity/dto/BeCloseDto.java                           |   17 
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml                   |   35 
 zq-erp/src/main/java/com/matrix/system/activity/dto/BeReadyDto.java                           |   17 
 zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java              |   14 
 zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java      |  151 +++
 zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignAwardSetAction.java        |  113 ++
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html                   |  649 +++++++++++++++
 zq-erp/src/main/java/com/matrix/system/activity/dto/SignSetBasicJsonDto.java                  |   33 
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml                        |   22 
 zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java                     |   11 
 zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java              |  161 +++
 zq-erp/src/main/java/com/matrix/system/activity/dto/ActivitiesListDto.java                    |   22 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html                   |  386 +++++++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopActivities.java                       |   27 
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml            |   41 +
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml                 |   63 +
 zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignReceiveRecordService.java |   22 
 zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignRecordAction.java          |   22 
 zq-erp/src/main/java/com/matrix/system/activity/vo/ActivitiesListVo.java                      |  107 ++
 zq-erp/src/main/java/com/matrix/system/activity/constant/ActivitySignConstant.java            |    5 
 30 files changed, 2,416 insertions(+), 2 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
new file mode 100644
index 0000000..1703c16
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignAwardSetAction.java
@@ -0,0 +1,113 @@
+package com.matrix.system.activity.action;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.StringUtils;
+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.service.ActivitySignAwardSetService;
+import com.matrix.system.activity.vo.ActivitiesListVo;
+import com.matrix.system.hive.action.util.QueryUtil;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @description 奖品设置表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@RestController
+@RequestMapping(value = "admin/activitySignAwardSet")
+public class ActivitySignAwardSetAction {
+
+	@Autowired
+	private ActivitySignAwardSetService activitySignAwardSetService;
+
+	/**
+	 * 新增签到活动
+	 */
+	@PostMapping(value = "/addSignAwardSet")
+	public @ResponseBody
+	AjaxResult addSignAwardSet(@RequestBody AddSignAwardSetDto addSignAwardSetDto) {
+		return activitySignAwardSetService.activitySignAwardSetService(addSignAwardSetDto);
+	}
+
+	/**
+	 * 查询活动列表
+	 */
+	@ApiOperation(value = "查询活动列表")
+	@ApiResponses({
+			@ApiResponse(code = 200, message = "OK",  response = ActivitiesListVo.class)
+	})
+	@PostMapping(value = "/findActivitiesList")
+	public @ResponseBody
+	AjaxResult findActivitiesList(@RequestBody ActivitiesListDto activitiesListDto) {
+		//设置用户公司ID
+		QueryUtil.setQueryLimitCom(activitiesListDto);
+		//排序
+		if(StringUtils.isBlank(activitiesListDto.getSort())){
+			activitiesListDto.setSort("create_time");
+			activitiesListDto.setOrder("desc");
+		}
+		Page<ActivitiesListVo> page = new Page(activitiesListDto.getPageNum(), activitiesListDto.getPageSize());
+		IPage<ActivitiesListVo> rows = activitySignAwardSetService.findActivitiesList(page,activitiesListDto);
+		AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal());
+		return result;
+	}
+    
+    /**
+     *发布
+     */
+    @ApiOperation(value = "发布")
+    @PostMapping(value = "/beReady")
+    public @ResponseBody
+    AjaxResult beReady(@RequestBody BeReadyDto beReadyDto) {
+    	return activitySignAwardSetService.beReady(beReadyDto);
+    }
+    
+    /**
+     *删除
+     */
+    @ApiOperation(value = "删除")
+    @PostMapping(value = "/delRow")
+    public @ResponseBody
+    AjaxResult delRow(@RequestBody DelRowDto delRowDto) {
+    	return activitySignAwardSetService.delRow(delRowDto);
+    }
+	
+	/**
+     *关闭
+     */
+    @ApiOperation(value = "关闭")
+    @PostMapping(value = "/beClose")
+    public @ResponseBody
+    AjaxResult beClose(@RequestBody BeCloseDto beCloseDto) {
+    	return activitySignAwardSetService.beClose(beCloseDto);
+    }
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignReceiveRecordAction.java b/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignReceiveRecordAction.java
new file mode 100644
index 0000000..ca94f53
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignReceiveRecordAction.java
@@ -0,0 +1,21 @@
+package com.matrix.system.activity.action;
+import com.matrix.system.activity.service.ActivitySignReceiveRecordService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @description 领取记录表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@RestController
+@RequestMapping(value = "admin/activitySignReceiveRecord")
+public class ActivitySignReceiveRecordAction {
+
+	@Autowired
+	private ActivitySignReceiveRecordService activitySignReceiveRecordService;
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignRecordAction.java b/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignRecordAction.java
new file mode 100644
index 0000000..4a3b7a6
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignRecordAction.java
@@ -0,0 +1,22 @@
+package com.matrix.system.activity.action;
+
+import com.matrix.system.activity.service.ActivitySignRecordService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @description 签到记录表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@RestController
+@RequestMapping(value = "admin/activitySignRecord")
+public class ActivitySignRecordAction {
+
+	@Autowired
+	private ActivitySignRecordService activitySignRecordService;
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/constant/ActivitySignConstant.java b/zq-erp/src/main/java/com/matrix/system/activity/constant/ActivitySignConstant.java
new file mode 100644
index 0000000..9b5c750
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/constant/ActivitySignConstant.java
@@ -0,0 +1,5 @@
+package com.matrix.system.activity.constant;
+
+public class ActivitySignConstant {
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java
new file mode 100644
index 0000000..4515800
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java
@@ -0,0 +1,14 @@
+package com.matrix.system.activity.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.activity.entity.ActivitySignAwardSet;
+
+/**
+ * @description 奖品设置表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+public interface ActivitySignAwardSetDao extends BaseMapper<ActivitySignAwardSet>{
+
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..727435b
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignReceiveRecordDao.java
@@ -0,0 +1,14 @@
+package com.matrix.system.activity.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.activity.entity.ActivitySignReceiveRecord;
+
+/**
+ * @description 领
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+public interface ActivitySignReceiveRecordDao extends BaseMapper<ActivitySignReceiveRecord>{
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java
new file mode 100644
index 0000000..770622a
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java
@@ -0,0 +1,14 @@
+package com.matrix.system.activity.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.activity.entity.ActivitySignRecord;
+
+/**
+ * @description 签到记录表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+public interface ActivitySignRecordDao extends BaseMapper<ActivitySignRecord>{
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/ActivitiesListDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/ActivitiesListDto.java
new file mode 100644
index 0000000..011454f
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/ActivitiesListDto.java
@@ -0,0 +1,22 @@
+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 = "ActivitiesListDto", description = "查询参数")
+public class ActivitiesListDto extends BasePageQueryDto {
+
+	@ApiModelProperty(value ="活动名称")
+	private String hdmc;
+	
+	@ApiModelProperty(value ="活动状态")
+	private Integer hdzt;
+
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/AddSignAwardSetDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/AddSignAwardSetDto.java
new file mode 100644
index 0000000..ff857c6
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/AddSignAwardSetDto.java
@@ -0,0 +1,28 @@
+package com.matrix.system.activity.dto;
+
+import com.matrix.system.activity.entity.ActivitySignAwardSet;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel(value = "AddSignAwardSetDto", description = "查询参数")
+public class AddSignAwardSetDto {
+	
+	@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;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/BeCloseDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/BeCloseDto.java
new file mode 100644
index 0000000..ccc0919
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/BeCloseDto.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 = "BeCloseDto", description = "参数")
+public class BeCloseDto {
+	
+	@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/BeReadyDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/BeReadyDto.java
new file mode 100644
index 0000000..03b3586
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/BeReadyDto.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 = "BeReadyDto", description = "参数")
+public class BeReadyDto {
+	
+	@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/DelRowDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/DelRowDto.java
new file mode 100644
index 0000000..6c13eef
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/DelRowDto.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 = "DelRowDto", description = "参数")
+public class DelRowDto {
+	
+	@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/SignSetBasicJsonDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/SignSetBasicJsonDto.java
new file mode 100644
index 0000000..4d5d4c5
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/SignSetBasicJsonDto.java
@@ -0,0 +1,33 @@
+package com.matrix.system.activity.dto;
+
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "SignSetBasicJsonDto", description = "查询参数")
+public class SignSetBasicJsonDto {
+	
+	@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/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
new file mode 100644
index 0000000..7c153df
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
@@ -0,0 +1,161 @@
+package com.matrix.system.activity.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.matrix.core.anotations.Extend;
+import com.matrix.system.score.entity.BaseEntity;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @description 奖品设置表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@Data
+@TableName("activity_sign_award_set")
+public class ActivitySignAwardSet  extends BaseEntity{
+	@Extend
+	private static final long serialVersionUID = 1L; 
+
+	
+
+
+	
+	/**
+	 * 奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)
+	 */
+
+
+	private Integer  awardType;
+	
+	/**
+	 * 奖项规则(1:每日奖励(默认)2:累计签到天数)
+	 */
+
+
+	private Integer  awardRule;
+	
+	/**
+	 * 签到累计天数
+	 */
+
+
+	private Integer  cumulativeDay;
+	
+	/**
+	 * 奖项名称
+	 */
+
+
+	private String  awardName;
+	
+	/**
+	 * 图片介绍
+	 */
+
+
+	private String  introduceImg;
+	
+	/**
+	 * 文字介绍
+	 */
+
+
+	private String  introduceTip;
+	
+	/**
+	 * 奖项库存数量
+	 */
+
+
+	private Integer  awardInventoryCnt;
+	
+	/**
+	 * 已派发数量
+	 */
+
+
+	private Integer  awardDistributeCnt;
+	
+	/**
+	 * 兑奖方式(1:线下兑换2:物流配送3:客服兑换)
+	 */
+
+
+	private Integer  awardWay;
+	
+	/**
+	 * 操作提示
+	 */
+
+
+	private String  operationTip;
+	
+	/**
+	 * 兑奖地址
+	 */
+
+
+	private String  prizeAddress;
+	
+	/**
+	 * 兑奖期限开始日期
+	 */
+
+
+	private Date  prizeStartTime;
+	
+	/**
+	 * 兑奖期限结束日期
+	 */
+
+
+	private Date  prizeEndTime;
+	
+	/**
+	 * 客服微信
+	 */
+
+
+	private String  wechatImg;
+	
+	/**
+	 * 积分数量
+	 */
+
+
+	private Integer  scoreCnt;
+	
+	/**
+	 * 优惠券ID
+	 */
+
+
+	private String  couponId;
+	
+	/**
+	 * 商品ID
+	 */
+
+
+	private String  goodsId;
+	
+	/**
+	 * 活动主表ID
+	 */
+
+
+	private Long  activityId;
+	
+	/**
+	 * 公司ID
+	 */
+
+
+	private Long  companyId;
+
+
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java
new file mode 100644
index 0000000..e27543d
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java
@@ -0,0 +1,87 @@
+package com.matrix.system.activity.entity;
+
+import com.matrix.core.pojo.EntityDTO;
+import com.matrix.system.score.entity.BaseEntity;
+import com.matrix.core.anotations.Extend;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import lombok.Data;
+
+/**
+ * @description 领
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@Data
+@TableName("activity_sign_receive_record")
+public class ActivitySignReceiveRecord  extends BaseEntity{
+	@Extend
+	private static final long serialVersionUID = 1L; 
+
+	
+
+
+	
+	/**
+	 * openID
+	 */
+
+
+	private String  openId;
+	
+	/**
+	 * 领取时间
+	 */
+
+
+	private Date  receiveTime;
+	
+	/**
+	 * 备注
+	 */
+
+
+	private String  remark;
+	
+	/**
+	 * 奖品设置表ID
+	 */
+
+
+	private Long  awardId;
+	
+	/**
+	 * 是否已领取(1:待领取2:已领取)
+	 */
+
+
+	private Integer  state;
+	
+	/**
+	 * 核销码
+	 */
+
+
+	private String  writeOffCode;
+	
+	/**
+	 * 活动主表ID
+	 */
+
+
+	private Long  activityId;
+	
+	/**
+	 * 公司ID
+	 */
+
+
+	private Long  companyId;
+
+
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignRecord.java b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignRecord.java
new file mode 100644
index 0000000..9f00d8f
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignRecord.java
@@ -0,0 +1,66 @@
+package com.matrix.system.activity.entity;
+
+import com.matrix.core.pojo.EntityDTO;
+import com.matrix.system.score.entity.BaseEntity;
+import com.matrix.core.anotations.Extend;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import lombok.Data;
+
+/**
+ * @description 签到记录表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@Data
+@TableName("activity_sign_record")
+public class ActivitySignRecord  extends BaseEntity{
+	@Extend
+	private static final long serialVersionUID = 1L; 
+
+	
+
+
+	
+	/**
+	 * openID
+	 */
+
+
+	private String  openId;
+	
+	/**
+	 * 签到时间
+	 */
+
+
+	private Date  signTime;
+	
+	/**
+	 * 累计签到天数
+	 */
+
+
+	private Integer  cumulativeDay;
+	
+	/**
+	 * 活动主表ID
+	 */
+
+
+	private Long  activityId;
+	
+	/**
+	 * 公司ID
+	 */
+
+
+	private Long  companyId;
+
+
+
+  
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..5817eb8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
@@ -0,0 +1,151 @@
+package com.matrix.system.activity.service;
+
+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;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.matrix.core.constance.MatrixConstance;
+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.entity.ActivitySignAwardSet;
+import com.matrix.system.activity.vo.ActivitiesListVo;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.shopXcx.bean.ShopActivities;
+import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description 奖品设置表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@Service
+public class ActivitySignAwardSetService  extends ServiceImpl<ActivitySignAwardSetDao, ActivitySignAwardSet>{
+	
+	@Autowired
+    private ShopActivitiesDao shopActivitiesDao;
+	@Autowired
+	private ActivitySignAwardSetDao activitySignAwardSetDao;
+
+	@Transactional
+	public AjaxResult activitySignAwardSetService(AddSignAwardSetDto addSignAwardSetDto) {
+		//获取当前登录人员信息
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        Long companyId = user.getCompanyId();
+        
+        //新增活动主表信息
+        ShopActivities shopActivities = new ShopActivities();
+        shopActivities.setActName(addSignAwardSetDto.getActName());
+        shopActivities.setActCode(addSignAwardSetDto.getActCode());
+        shopActivities.setIsStart(ShopActivities.ACTIVITIES_STATUS_CLOSE);
+        shopActivities.setActType(ShopActivities.ACTIVITIES_TYPE_SIGN);
+        shopActivities.setActStatus(ShopActivities.ACTSTATUS_STATUS_RELEASE);
+        shopActivities.setActBeginTime(addSignAwardSetDto.getBeginTime());
+        shopActivities.setActEndTime(addSignAwardSetDto.getEndTime());
+        shopActivities.setCompanyId(companyId);
+		shopActivities.setCreateBy(user.getSuName());
+		shopActivities.setUpdateBy(user.getSuName());
+        //将基本信息转换成JSON字符串存储到活动主表的act_content字段
+        SignSetBasicJsonDto signSetBasicJsonDto = addSignAwardSetDto.getSignSetBasicJsonDto();
+		String json=JSON.toJSONString(signSetBasicJsonDto);
+		shopActivities.setActContent(json);
+		int insert = shopActivitiesDao.insert(shopActivities);
+		if(insert > 0){
+			//新增活动奖品信息
+			List<ActivitySignAwardSet> activitySignAwardSets = addSignAwardSetDto.getActivitySignAwardSets();
+			if(CollUtil.isNotEmpty(activitySignAwardSets)) {
+				for(ActivitySignAwardSet activitySignAwardSet : activitySignAwardSets) {
+					activitySignAwardSet.setCreateBy(user.getSuName());
+					activitySignAwardSet.setCreateTime(new Date());
+					activitySignAwardSet.setUpdateTime(new Date());
+					activitySignAwardSet.setUpdateBy(user.getSuName());
+					activitySignAwardSet.setCompanyId(companyId);
+					activitySignAwardSet.setActivityId(shopActivities.getId());
+					activitySignAwardSetDao.insert(activitySignAwardSet);
+				}
+			}
+		}else{
+			return new AjaxResult(AjaxResult.STATUS_FAIL, "保存失败");
+		}
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功");
+	}
+
+	public IPage<ActivitiesListVo> findActivitiesList(Page<ActivitiesListVo> page,
+			ActivitiesListDto activitiesListDto) {
+		return shopActivitiesDao.findActivitiesList(page,activitiesListDto);
+	}
+
+	@Transactional
+	public AjaxResult beReady(BeReadyDto beReadyDto) {
+		//设置用户公司ID
+        QueryUtil.setQueryLimitCom(beReadyDto);
+        Long actId = beReadyDto.getActId();
+        ShopActivities shopActivity = shopActivitiesDao.selectById(actId);
+        if(ObjectUtil.isEmpty(shopActivity)) {
+        	return AjaxResult.buildFailInstance("网络不通畅,请刷新页面");
+        }
+        /**
+         * 未发布状态即使达到活动时间也不进入进行中状态
+         */
+        //未发布状态点击发布,状态变成未开始,且是开启状态
+        shopActivity.setActStatus(ShopActivities.ACTSTATUS_STATUS_READY);
+        shopActivity.setIsStart(ShopActivities.ACTIVITIES_STATUS_OPEN);
+        shopActivitiesDao.updateByModel(shopActivity);
+		return AjaxResult.buildSuccessInstance("操作成功");
+	}
+
+	public AjaxResult delRow(DelRowDto delRowDto) {
+		//设置用户公司ID
+        QueryUtil.setQueryLimitCom(delRowDto);
+        Long actId = delRowDto.getActId();
+        ShopActivities shopActivity = shopActivitiesDao.selectById(actId);
+        if(ObjectUtil.isEmpty(shopActivity)) {
+        	return AjaxResult.buildFailInstance("网络不通畅,请刷新页面");
+        }
+        /**
+         * 删除状态更新状态为已删除,只能查看活动统计
+         */
+        shopActivity.setActStatus(ShopActivities.ACTSTATUS_STATUS_DEL);
+        shopActivity.setIsStart(ShopActivities.ACTIVITIES_STATUS_CLOSE);
+        shopActivitiesDao.updateByModel(shopActivity);
+		return AjaxResult.buildSuccessInstance("操作成功");
+	}
+
+	public AjaxResult beClose(BeCloseDto beCloseDto) {
+		//设置用户公司ID
+        QueryUtil.setQueryLimitCom(beCloseDto);
+        Long actId = beCloseDto.getActId();
+        ShopActivities shopActivity = shopActivitiesDao.selectById(actId);
+        if(ObjectUtil.isEmpty(shopActivity)) {
+        	return AjaxResult.buildFailInstance("网络不通畅,请刷新页面");
+        }
+        /**
+         * 关闭状态
+         */
+        shopActivity.setActStatus(ShopActivities.ACTSTATUS_STATUS_END);
+        shopActivity.setIsStart(ShopActivities.ACTIVITIES_STATUS_CLOSE);
+        shopActivitiesDao.updateByModel(shopActivity);
+		return AjaxResult.buildSuccessInstance("操作成功");
+	}
+
+
+
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignReceiveRecordService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignReceiveRecordService.java
new file mode 100644
index 0000000..cb5935c
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignReceiveRecordService.java
@@ -0,0 +1,22 @@
+package com.matrix.system.activity.service;
+
+
+import org.springframework.stereotype.Service;
+
+import com.matrix.system.activity.dao.ActivitySignReceiveRecordDao;
+import com.matrix.system.activity.entity.ActivitySignReceiveRecord;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @description 领
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@Service
+public class ActivitySignReceiveRecordService  extends ServiceImpl<ActivitySignReceiveRecordDao, ActivitySignReceiveRecord>{
+
+
+
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignRecordService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignRecordService.java
new file mode 100644
index 0000000..70c96b1
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignRecordService.java
@@ -0,0 +1,22 @@
+package com.matrix.system.activity.service;
+
+
+import org.springframework.stereotype.Service;
+
+import com.matrix.system.activity.dao.ActivitySignRecordDao;
+import com.matrix.system.activity.entity.ActivitySignRecord;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @description 签到记录表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+@Service
+public class ActivitySignRecordService  extends ServiceImpl<ActivitySignRecordDao, ActivitySignRecord>{
+
+
+
+
+  
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/vo/ActivitiesListVo.java b/zq-erp/src/main/java/com/matrix/system/activity/vo/ActivitiesListVo.java
new file mode 100644
index 0000000..0ff34af
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/vo/ActivitiesListVo.java
@@ -0,0 +1,107 @@
+package com.matrix.system.activity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ActivitiesListVo {
+	
+	/**
+	 * 活动类型 团购
+	 */
+	public static final int ACTIVITIES_TYPE_GROUP = 1;
+
+	/**
+	 * 活动类型 秒杀
+	 */
+	public static final int ACTIVITIES_TYPE_SECKILL = 2;
+
+	/**
+	 * 活动类型 沙龙
+	 */
+	public static final int ACTIVITIES_TYPE_SALON = 3;
+	/**
+	 * 活动类型 签到
+	 */
+	public static final int ACTIVITIES_TYPE_SIGN = 4;
+
+	/**
+	 * 活动状态 开启
+	 */
+	public static final int ACTIVITIES_STATUS_OPEN = 1;
+
+	/**
+	 * 活动状态 关闭
+	 */
+	public static final int ACTIVITIES_STATUS_CLOSE = 2;
+	/**
+	 * 主键
+	 */
+	private Long  id;
+			
+	
+	/**
+	 * 活动名称
+	 */
+	@ApiModelProperty(value = "活动名称")
+	private String  actName;
+	/**
+	 * 活动编码
+	 */
+	@ApiModelProperty(value = "活动编码")
+	private String  actCode;
+			
+	
+	/**
+	 * 活动类型
+	 */
+	@ApiModelProperty(value = "活动类型")
+	private Integer  actType;
+			
+	
+	/**
+	 * 开始时间
+	 */
+	@ApiModelProperty(value = "开始时间")
+	@JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
+	private Date actBeginTime;
+			
+	
+	/**
+	 * 结束时间
+	 */
+	@ApiModelProperty(value = "结束时间")
+	@JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
+	private Date  actEndTime;
+	/**
+	 * 活动状态
+	 */
+	@ApiModelProperty(value = "活动状态")
+	private Integer  actStatus;
+
+	//未发布
+	public static final int ACTSTATUS_STATUS_RELEASE = 1;
+	//未开始
+	public static final int ACTSTATUS_STATUS_READY = 2;
+	//进行中
+	public static final int ACTSTATUS_STATUS_ING = 3;
+	//已结束
+	public static final int ACTSTATUS_STATUS_END = 4;
+	@ApiModelProperty(value = "创建人")
+	private String  createBy;
+	/**
+	 * 活动说明
+	 */
+	@ApiModelProperty(value = "活动说明")
+	private String  actRemark;
+	
+	/**
+	 * 公司ID
+	 */
+	@ApiModelProperty(hidden = true)
+	private Long  companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopActivities.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopActivities.java
index 2028111..5cbb9a8 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopActivities.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopActivities.java
@@ -30,6 +30,10 @@
 	 * 活动类型 沙龙
 	 */
 	public static final int ACTIVITIES_TYPE_SALON = 3;
+	/**
+	 * 活动类型 签到
+	 */
+	public static final int ACTIVITIES_TYPE_SIGN = 4;
 
 	/**
 	 * 活动状态 开启
@@ -50,6 +54,10 @@
 	 * 活动名称
 	 */
 	private String  actName;
+	/**
+	 * 活动编码
+	 */
+	private String  actCode;
 			
 	
 	/**
@@ -76,6 +84,17 @@
 	 * 活动状态
 	 */
 	private Integer  actStatus;
+
+	//未发布
+	public static final int ACTSTATUS_STATUS_RELEASE = 2;
+	//未开始
+	public static final int ACTSTATUS_STATUS_READY = 2;
+	//进行中
+	public static final int ACTSTATUS_STATUS_ING = 3;
+	//已结束
+	public static final int ACTSTATUS_STATUS_END = 4;
+	//已删除
+	public static final int ACTSTATUS_STATUS_DEL = 5;
 			
 	
 	/**
@@ -285,4 +304,12 @@
 	public void setSalonRecord(ShopActivitiesSalonRecord salonRecord) {
 		this.salonRecord = salonRecord;
 	}
+
+	public String getActCode() {
+		return actCode;
+	}
+
+	public void setActCode(String actCode) {
+		this.actCode = actCode;
+	}
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java
index fc86fc5..a72463f 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java
@@ -1,11 +1,16 @@
 package com.matrix.system.shopXcx.dao;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.activity.dto.ActivitiesListDto;
+import com.matrix.system.activity.vo.ActivitiesListVo;
 import com.matrix.system.shopXcx.api.vo.SalonVO;
+import com.matrix.system.shopXcx.bean.ShopActivities;
 import org.apache.ibatis.annotations.Param;
+
 import java.util.List;
 import java.util.Map;
-import com.matrix.core.pojo.PaginationVO;
-import com.matrix.system.shopXcx.bean.ShopActivities;
 
 /**
  * @description 活动主表
@@ -49,4 +54,6 @@
 	public ShopActivities selectSalonActivityById(@Param("id") Long id);
 
 	public List<ShopActivities> selectSalonActivityByUser(@Param("record") SalonVO salonVO);
+
+	public IPage<ActivitiesListVo> findActivitiesList(Page<ActivitiesListVo> page, @Param("record")ActivitiesListDto activitiesListDto);
 }
\ No newline at end of file
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"
new file mode 100644
index 0000000..56f55ba
--- /dev/null
+++ "b/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql"
@@ -0,0 +1,127 @@
+
+/**
+ * 奖品设置表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+ CREATE TABLE activity_sign_award_set(
+  create_by varchar(100) NOT NULL COMMENT '创建人',
+  create_time datetime NOT NULL COMMENT '创建时间',
+  update_by varchar(100) NOT NULL COMMENT '更新人',
+  update_time datetime NOT NULL COMMENT '更新时间',
+ id bigint(20)   NOT NULL  AUTO_INCREMENT  COMMENT '主键',
+ 
+ award_type int(4)    COMMENT '奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)',
+ 
+ award_rule int(4)    COMMENT '奖项规则(1:每日奖励(默认)2:累计签到天数)',
+ 
+ cumulative_day int(4)    COMMENT '签到累计天数',
+ 
+ award_name varchar(100)    COMMENT '奖项名称',
+ 
+ introduce_img varchar(500)    COMMENT '图片介绍',
+ 
+ introduce_tip varchar(500)    COMMENT '文字介绍',
+ 
+ award_inventory_cnt int(4)    COMMENT '奖项库存数量',
+ 
+ award_distribute_cnt int(4)    COMMENT '已派发数量',
+ 
+ award_way int(4)    COMMENT '兑奖方式(1:线下兑换2:物流配送3:客服兑换)',
+ 
+ operation_tip varchar(500)    COMMENT '操作提示',
+ 
+ prize_address varchar(500)    COMMENT '兑奖地址',
+ 
+ prize_start_time datetime    COMMENT '兑奖期限开始日期',
+ 
+ prize_end_time datetime    COMMENT '兑奖期限结束日期',
+ 
+ wechat_img varchar(500)    COMMENT '客服微信',
+ 
+ score_cnt int(4)    COMMENT '积分数量',
+ 
+ coupon_id varchar(100)    COMMENT '优惠券ID',
+ 
+ goods_id varchar(100)    COMMENT '商品ID',
+ 
+ activity_id bigint(20)    COMMENT '活动主表ID',
+ 
+ company_id bigint(20)    COMMENT '公司ID',
+ 
+PRIMARY KEY(id)
+)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='奖品设置表';
+
+
+
+/**
+ * 领
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+ CREATE TABLE activity_sign_receive_record(
+  create_by varchar(100) NOT NULL COMMENT '创建人',
+  create_time datetime NOT NULL COMMENT '创建时间',
+  update_by varchar(100) NOT NULL COMMENT '更新人',
+  update_time datetime NOT NULL COMMENT '更新时间',
+ id bigint(20)   NOT NULL  AUTO_INCREMENT  COMMENT '主键',
+ 
+ open_id varchar(100)    COMMENT 'openID',
+ 
+ receive_time datetime    COMMENT '领取时间',
+ 
+ remark varchar(500)    COMMENT '备注',
+ 
+ award_id bigint(20)    COMMENT '奖品设置表ID',
+ 
+ state int(4)    COMMENT '是否已领取(1:待领取2:已领取)',
+ 
+ write_off_code varchar(100)    COMMENT '核销码',
+ 
+ activity_id bigint(20)    COMMENT '活动主表ID',
+ 
+ company_id bigint(20)    COMMENT '公司ID',
+ 
+PRIMARY KEY(id)
+)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='领取记录表';
+
+
+
+
+/**
+ * 签到记录表
+ * @author yourName
+ * @date 2021-03-31 16:57
+ */
+ CREATE TABLE activity_sign_record(
+  create_by varchar(100) NOT NULL COMMENT '创建人',
+  create_time datetime NOT NULL COMMENT '创建时间',
+  update_by varchar(100) NOT NULL COMMENT '更新人',
+  update_time datetime NOT NULL COMMENT '更新时间',
+ id bigint(20)   NOT NULL  AUTO_INCREMENT  COMMENT '主键',
+ 
+ open_id varchar(100)    COMMENT 'openID',
+ 
+ sign_time datetime    COMMENT '签到时间',
+ 
+ cumulative_day int(4)    COMMENT '累计签到天数',
+ 
+ activity_id bigint(20)    COMMENT '活动主表ID',
+ 
+ company_id bigint(20)    COMMENT '公司ID',
+ 
+PRIMARY KEY(id)
+)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='签到记录表';
+
+ALTER TABLE `shop_activities`
+    ADD COLUMN `act_code`  varchar(200) NULL COMMENT '活动编码' AFTER `id`;
+
+
+
+
+
+
+
+
+
+
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml
new file mode 100644
index 0000000..9f60550
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.matrix.system.activity.dao.ActivitySignAwardSetDao">
+	<!-- 定义ActivitySignAwardSet 的复杂关联map -->
+	<resultMap type="com.matrix.system.activity.entity.ActivitySignAwardSet" id="ActivitySignAwardSetMap">
+		<id property="id" column="id" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+			<result property="awardType" column="award_type" />
+			<result property="awardRule" column="award_rule" />
+			<result property="cumulativeDay" column="cumulative_day" />
+			<result property="awardName" column="award_name" />
+			<result property="introduceImg" column="introduce_img" />
+			<result property="introduceTip" column="introduce_tip" />
+			<result property="awardInventoryCnt" column="award_inventory_cnt" />
+			<result property="awardDistributeCnt" column="award_distribute_cnt" />
+			<result property="awardWay" column="award_way" />
+			<result property="operationTip" column="operation_tip" />
+			<result property="prizeAddress" column="prize_address" />
+			<result property="prizeStartTime" column="prize_start_time" />
+			<result property="prizeEndTime" column="prize_end_time" />
+			<result property="wechatImg" column="wechat_img" />
+			<result property="scoreCnt" column="score_cnt" />
+			<result property="couponId" column="coupon_id" />
+			<result property="goodsId" column="goods_id" />
+			<result property="activityId" column="activity_id" />
+			<result property="companyId" column="company_id" />
+	</resultMap>
+	
+	
+	<!-- 定义ActivitySignAwardSet 的简单map  ,本map不添加其他的关联属性 -->
+	<resultMap type="com.matrix.system.activity.entity.ActivitySignAwardSet" id="ActivitySignAwardSetSimpleMap">
+		<id property="id" column="id" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+			<result property="awardType" column="award_type" />
+			<result property="awardRule" column="award_rule" />
+			<result property="cumulativeDay" column="cumulative_day" />
+			<result property="awardName" column="award_name" />
+			<result property="introduceImg" column="introduce_img" />
+			<result property="introduceTip" column="introduce_tip" />
+			<result property="awardInventoryCnt" column="award_inventory_cnt" />
+			<result property="awardDistributeCnt" column="award_distribute_cnt" />
+			<result property="awardType" column="award_type" />
+			<result property="operationTip" column="operation_tip" />
+			<result property="prizeAddress" column="prize_address" />
+			<result property="prizeStartTime" column="prize_start_time" />
+			<result property="prizeEndTime" column="prize_end_time" />
+			<result property="wechatImg" column="wechat_img" />
+			<result property="scoreCnt" column="score_cnt" />
+			<result property="couponId" column="coupon_id" />
+			<result property="goodsId" column="goods_id" />
+			<result property="activityId" column="activity_id" />
+			<result property="companyId" column="company_id" />
+	</resultMap>
+
+</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
new file mode 100644
index 0000000..10b0853
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.matrix.system.activity.dao.ActivitySignReceiveRecordDao">
+	<!-- 定义ActivitySignReceiveRecord 的复杂关联map -->
+	<resultMap type="com.matrix.system.activity.entity.ActivitySignReceiveRecord" id="ActivitySignReceiveRecordMap">
+		<id property="id" column="id" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+			<result property="openId" column="open_id" />
+			<result property="receiveTime" column="receive_time" />
+			<result property="remark" column="remark" />
+			<result property="awardId" column="award_id" />
+			<result property="state" column="state" />
+			<result property="writeOffCode" column="write_off_code" />
+			<result property="activityId" column="activity_id" />
+			<result property="companyId" column="company_id" />
+	</resultMap>
+	
+	
+	<!-- 定义ActivitySignReceiveRecord 的简单map  ,本map不添加其他的关联属性 -->
+	<resultMap type="com.matrix.system.activity.entity.ActivitySignReceiveRecord" id="ActivitySignReceiveRecordSimpleMap">
+		<id property="id" column="id" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+			<result property="openId" column="open_id" />
+			<result property="receiveTime" column="receive_time" />
+			<result property="remark" column="remark" />
+			<result property="awardId" column="award_id" />
+			<result property="state" column="state" />
+			<result property="writeOffCode" column="write_off_code" />
+			<result property="activityId" column="activity_id" />
+			<result property="companyId" column="company_id" />
+	</resultMap>
+
+</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml
new file mode 100644
index 0000000..9d51d49
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.matrix.system.activity.dao.ActivitySignRecordDao">
+	<!-- 定义ActivitySignRecord 的复杂关联map -->
+	<resultMap type="com.matrix.system.activity.entity.ActivitySignRecord" id="ActivitySignRecordMap">
+		<id property="id" column="id" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+			<result property="openId" column="open_id" />
+			<result property="signTime" column="sign_time" />
+			<result property="cumulativeDay" column="cumulative_day" />
+			<result property="activityId" column="activity_id" />
+			<result property="companyId" column="company_id" />
+	</resultMap>
+	
+	
+	<!-- 定义ActivitySignRecord 的简单map  ,本map不添加其他的关联属性 -->
+	<resultMap type="com.matrix.system.activity.entity.ActivitySignRecord" id="ActivitySignRecordSimpleMap">
+		<id property="id" column="id" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+			<result property="openId" column="open_id" />
+			<result property="signTime" column="sign_time" />
+			<result property="cumulativeDay" column="cumulative_day" />
+			<result property="activityId" column="activity_id" />
+			<result property="companyId" column="company_id" />
+	</resultMap>
+
+</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 78a0c37..d6f7f20 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
@@ -7,6 +7,7 @@
 	<resultMap type="com.matrix.system.shopXcx.bean.ShopActivities" id="ShopActivitiesMap">
 		<id property="id" column="id" />
 			<result property="actName" column="act_name" />
+			<result property="actCode" column="act_code" />
 			<result property="actType" column="act_type" />
 			<result property="actBeginTime" column="act_begin_time" />
 			<result property="actEndTime" column="act_end_time" />
@@ -47,6 +48,7 @@
 	<resultMap type="com.matrix.system.shopXcx.bean.ShopActivities" id="ShopActivitiesSimpleMap">
 		<id property="id" column="id" />
 			<result property="actName" column="act_name" />
+			<result property="actCode" column="act_code" />
 			<result property="actType" column="act_type" />
 			<result property="actBeginTime" column="act_begin_time" />
 			<result property="actEndTime" column="act_end_time" />
@@ -386,4 +388,24 @@
 			</if>
 		</if>
 	</select>
+
+	<select id="findActivitiesList" resultType="com.matrix.system.activity.vo.ActivitiesListVo">
+		SELECT
+			*
+		FROM
+		shop_activities a
+		<where>
+			a.company_id=#{record.companyId}
+			<if test="record.hdzt != null and record.hdzt != ''">
+				and a.act_status=#{record.hdzt}
+			</if>
+			<if test="record.hdmc != null and record.hdmc != ''">
+				and a.act_name like concat('%',#{record.hdmc},'%')
+			</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/templates/views/admin/activity/activity-list.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
new file mode 100644
index 0000000..8487de0
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
@@ -0,0 +1,386 @@
+<!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;
+        }
+
+        .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>
+
+<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 prop="hdmc" >
+                                <el-input v-model="form.hdmc" placeholder="活动名称"></el-input>
+                            </el-form-item>
+                            <el-form-item label="活动状态" prop="hdzt">
+                                <el-select v-model="form.hdzt" placeholder="活动状态">
+                                    <el-option
+                                            v-for="item in hdztList"
+                                            :key="item.value"
+                                            :label="item.label"
+                                            :value="item.value"
+                                    >
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-button type="primary" @click="searchFormActivitys" >搜索</el-button>
+                            <el-button @click="resetFormActivitys('form')">重置</el-button>
+                        </el-form>
+                    </el-col>
+                </el-row>
+
+                <el-row class="table-style" >
+                    <el-table ref="multipleTable"
+                              :data="activitysList.rows"
+                              :height="height"
+                              stripe:true
+                              @sort-change="sortChange"
+                              @selection-change="handleSelectionChange">
+                        <el-table-column
+                                type="selection">
+                        </el-table-column>
+                        <el-table-column
+                                prop="actName"
+                                label="活动名称"
+                                show-overflow-tooltip>
+                        </el-table-column>
+                        <el-table-column
+                                prop="actCode"
+                                label="活动编号"
+                                show-overflow-tooltip>
+                        </el-table-column>
+                        <el-table-column
+                                label="活动类型">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.actType == 1">团购</span>
+                                <span v-if="scope.row.actType == 2">秒杀</span>
+                                <span v-if="scope.row.actType == 3">沙龙</span>
+                                <span v-if="scope.row.actType == 4">每日签到</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                                label="状态">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.actStatus == 1">未发布</span>
+                                <span v-if="scope.row.actStatus == 2">未开始</span>
+                                <span v-if="scope.row.actStatus == 3">进行中</span>
+                                <span v-if="scope.row.actStatus == 4">已结束</span>
+                                <span v-if="scope.row.actStatus == 5">已删除</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                                prop="actBeginTime"
+                                label="开始时间"
+                                show-overflow-tooltip>
+                        </el-table-column>
+                        <el-table-column
+                                prop="actEndTime"
+                                label="结束时间"
+                                show-overflow-tooltip>
+                        </el-table-column>
+                        <el-table-column
+                                prop="createBy"
+                                label="创建人"
+                                show-overflow-tooltip>
+                        </el-table-column>
+                        <el-table-column
+                                prop="actRemark"
+                                label="备注"
+                                show-overflow-tooltip>
+                        </el-table-column>
+                        <el-table-column label="操作" width="400">
+                            <template slot-scope="scope">
+                                <el-row style="display:flex;">
+                                    <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="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="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>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </el-row>
+                <el-row class="paginationStyle"  >
+                    <el-pagination background
+                                   @size-change="changePageSizeActivitys"
+                                   @current-change="changeCurrentPageActivitys"
+                                   :current-page="activitysList.currentPage"
+                                   :page-sizes="[10, 20, 30, 50]"
+                                   :page-size="activitysList.pageSize"
+                                   layout="total, sizes, prev, pager, next, jumper"
+                                   :total="activitysList.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 app = new Vue({
+        el: '#app',
+        data: {
+            height:'calc(100vh - 200px)',
+            // 条件查询
+            hdztList:[
+                {value:'',label:'全部'},
+                {value:1,label:'未发布'},
+                {value:2,label:'未开始'},
+                {value:3,label:'进行中'},
+                {value:4,label:'已结束'},
+                {value:5,label:'已删除'},
+            ],
+            form:{
+                hdmc:'',
+                hdzt:'',
+                order:'',
+                sort:''
+            },
+            //活动列表
+            activitysList:{
+                rows:[],
+                total:0,
+                pageSize:10,
+                currentPage:1,
+            },
+        },
+        created: function () {
+            this.loadInfo();
+        },
+        mounted: function () {
+        },
+        methods: {
+            //加载分类
+            loadInfo() {
+                let _this = this;
+                _this.loadActivitysList();
+            },
+            //发布
+            beReady(row){
+                let _this = this;
+                let actState = row.actStatus;
+                if(actState !== 1){
+                    this.$notify({
+                        title: '提示',
+                        message: '状态为【未发布】才能发布',
+                        type: 'warning'
+                    });
+                }
+                _this.$confirm('确认发布活动吗?', '发布', {
+                    distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
+                    confirmButtonText: '确认',
+                    cancelButtonText: '取消',
+                    type: 'info'
+                }).then(() => {
+                    //通过
+                    let id = row.id;
+                    let obj = {
+                        actId: id,
+                    }
+                    AjaxProxy.requst({
+                        app: _this,
+                        data:obj,
+                        url: basePath + '/admin/activitySignAwardSet/beReady',
+                        callback: function (data) {
+                            _this.$message.success(data.info);
+                            _this.loadActivitysList();
+                        }
+                    });
+                }).catch(action => {
+                    //不通过
+                    if(action === 'cancel'){
+                        console.log("cancel");
+                    }else{
+                        //关闭按钮
+                        console.log("close");
+                    }
+                });
+            },
+            //关闭
+            beClose(row){
+                let _this = this;
+                _this.$confirm('确认关闭活动吗?', '关闭', {
+                    distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
+                    confirmButtonText: '确认',
+                    cancelButtonText: '取消',
+                    type: 'info'
+                }).then(() => {
+                    //通过
+                    let id = row.id;
+                    let obj = {
+                        actId: id,
+                    }
+                    AjaxProxy.requst({
+                        app: _this,
+                        data:obj,
+                        url: basePath + '/admin/activitySignAwardSet/beClose',
+                        callback: function (data) {
+                            _this.$message.success(data.info);
+                            _this.loadActivitysList();
+                        }
+                    });
+                }).catch(action => {
+                    //不通过
+                    if(action === 'cancel'){
+                        console.log("cancel");
+                    }else{
+                        //关闭按钮
+                        console.log("close");
+                    }
+                });
+            },
+            //删除
+            delRow(row){
+                let _this = this;
+                _this.$confirm('确认删除活动吗?', '删除', {
+                    distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
+                    confirmButtonText: '确认',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    //通过
+                    let id = row.id;
+                    let obj = {
+                        actId: id,
+                    }
+                    AjaxProxy.requst({
+                        app: _this,
+                        data:obj,
+                        url: basePath + '/admin/activitySignAwardSet/delRow',
+                        callback: function (data) {
+                            _this.$message.success(data.info);
+                            _this.loadActivitysList();
+                        }
+                    });
+                }).catch(action => {
+                    //不通过
+                    if(action === 'cancel'){
+                        console.log("cancel");
+                    }else{
+                        //关闭按钮
+                        console.log("close");
+                    }
+                });
+            },
+
+            //--活动列表
+            loadActivitysList() {
+                let _this = this;
+                let data=_this.getRequestParamActivitys();
+                data.pageSize=_this.activitysList.pageSize;
+                data.pageNum=_this.activitysList.currentPage;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/admin/activitySignAwardSet/findActivitiesList',
+                    callback: function (data) {
+                        _this.activitysList.rows = data.rows;
+                        _this.activitysList.total = data.total;
+                    }
+                });
+            },//查询参数
+            getRequestParamActivitys(){
+                let _this = this;
+                return   {
+                    hdmc:_this.form.hdmc,
+                    hdzt:_this.form.hdzt,
+                    order:_this.form.order,
+                    sort:_this.form.sort,
+                }
+            },
+            //查询
+            searchFormActivitys:function(){
+                this.activitysList.currentPage=1;
+                this.loadActivitysList();
+            },
+            //重置
+            resetFormActivitys(formName) {
+                this.$refs[formName].resetFields();
+            },
+            changePageSizeActivitys(val) {
+                this.activitysList.pageSize = val;
+                this.loadActivitysList();
+            },
+            changeCurrentPageActivitys(val) {
+                this.activitysList.currentPage = val;
+                this.loadActivitysList();
+            },
+            //排序
+            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-market.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html
new file mode 100644
index 0000000..d8f0f9a
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html
@@ -0,0 +1,104 @@
+<!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>
+
+        .button {
+            padding: 0;
+            float: right;
+        }
+
+        .image {
+            width: 100%;
+            display: block;
+        }
+
+        .clearfix:before,
+        .clearfix:after {
+            display: table;
+            content: "";
+        }
+
+        .clearfix:after {
+            clear: both
+        }
+
+        .box-card {
+            padding: 5px 5px;
+            margin-right: 40px;
+        }
+    </style>
+</head>
+
+<body>
+<div class="panel-body" id="app" v-cloak>
+    <el-row>
+        <el-col :span="6">
+            <el-card class="box-card" :body-style="{ padding: '10px 10px'}">
+                <img src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png" class="image">
+                <div style="padding: 5px;">
+                    <span style="padding:5px;font-size: 30px;">每日签到</span>
+                    <div class="bottom clearfix">
+                        <el-button type="primary" class="button" @click="createSign()" round>马上创建</el-button>
+                    </div>
+                </div>
+            </el-card>
+        </el-col>
+    </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 app = new Vue({
+        el: '#app',
+        data: {},
+        created: function () {
+        },
+        methods: {
+            //跳转到设置签到活动
+            createSign(){
+                layer.full(layer.open({
+                    type: 2,
+                    title: "签到管理",
+                    maxmin: true,
+                    area: [MUI.SIZE_L, '500px'],
+                    content : [ basePath + '/admin/redirect/activity/activity-sign']
+                }));
+            },
+        }
+    })
+</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
new file mode 100644
index 0000000..a11dcd7
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
@@ -0,0 +1,649 @@
+<!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="奖项名称">
+                                                            {{item.content}}
+                                                            <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.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.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="dataSubmit('ruleForm')">保存</el-button>
+                        <el-button type="danger" >关闭</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>
+    const prize = {
+        //奖品基本信息
+        cumulativeDay:'',
+        awardType:'1',
+        awardName:'',
+        introduceImg:'',
+        introduceTip:'',
+        awardInventoryCnt:'',
+        awardDistributeCnt:'',
+        awardWay:'1',
+        awardWayoperationTip:'',
+        prizeAddress:'',
+        prizeTime: '',
+        wechatImg:'',
+        scoreCnt:'',
+        couponId:'',
+        goodsId:'',
+    }
+    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 () {
+        },
+        methods: {
+            dataSubmit : 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 = {
+                        cumulativeDay: prize.cumulativeDay,
+                        awardType: prize.awardType,
+                        awardName: prize.awardName,
+                        introduceImg: prize.introduceImg,
+                        introduceTip: prize.introduceTip,
+                        awardInventoryCnt: prize.awardInventoryCnt,
+                        awardDistributeCnt: prize.awardDistributeCnt,
+                        awardWay: prize.awardWay,
+                        awardWayoperationTip: prize.awardWayoperationTip,
+                        prizeAddress: prize.prizeAddress,
+                        wechatImg: prize.wechatImg,
+                        scoreCnt: prize.scoreCnt,
+                        couponId: prize.couponId,
+                        goodsId: prize.goodsId,
+                        prizeStartTime: prize.prizeTime[0],
+                        prizeEndTime: prize.prizeTime[1],
+                    }
+                    activitySignAwardSets.push(activitySignAwardSet);
+                }
+                let resultData = {
+                    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/addSignAwardSet',
+                    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;
+                // this.prize.introduceImg = URL.createObjectURL(file.raw);
+            },
+            //奖品设置的客服微信
+            wechatImgSuccess(res, file) {
+                this.editableTabs[this.tabIndex-1].content.wechatImg = res.path;
+            },
+        }
+    })
+</script>
+
+</body>
+</html>
\ No newline at end of file

--
Gitblit v1.9.1