From 7ae4a28d6ef3c060170b1ce35f7aece25dd2780c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 08 Apr 2021 22:22:22 +0800
Subject: [PATCH] 20210408 核销

---
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html        |    8 +
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html  |    8 +
 zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java                  |    2 
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml         |    1 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html       |    6 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java  |    8 +
 zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java   |    3 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html |  291 ++++++++++++++++++++++++++++++++++++++++++++++++
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml              |    2 
 9 files changed, 324 insertions(+), 5 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
index 7d34fb6..aed8a95 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
@@ -53,6 +53,9 @@
 		//获取当前登录人员信息
         SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
         Long companyId = user.getCompanyId();
+        /**
+         * todo签到活动的唯一性
+         */
         
         //新增活动主表信息
         ShopActivities shopActivities = new ShopActivities();
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java b/zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java
index e3ae3d1..d43dbf6 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java
@@ -31,5 +31,7 @@
 	
 	@ApiModelProperty(value ="奖项规则(1:每日奖励(默认)2:累计签到天数)")
 	private int  awardRule;
+	@ApiModelProperty(value ="是否已领取(1:待领取2:已领取)")
+	private int  state;
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
index 8ebd7e9..8b2e985 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
@@ -188,7 +188,7 @@
         	signSuccessVo.setNormalAwardImg(activitySignAwardSetNormal.getIntroduceImg());
         }
         //获取当前累计天数
-        int cumulativeDay = getCumulativeDay(actId, userId, date, 1);
+        int cumulativeDay = getCumulativeDay(actId, userId, date, 0);
         //自定义奖励
         QueryWrapper<ActivitySignAwardSet> queryWrapperCumulativeDay = new QueryWrapper<>();
         queryWrapperCumulativeDay.eq("award_rule",ActivitySignAwardSet.AWARDRULE_CUMULATIVEDAY);
@@ -279,7 +279,11 @@
 	        	activitySignWriteoff.setActId(actId);
 	        	activitySignWriteoff.setAwardId(activitySignAwardSetCumulativeDay.getId());
 	        	activitySignWriteoff.setWinTime(date);
-	        	activitySignWriteoff.setState(ActivitySignWriteoff.STATE_ONE);
+	        	if(ActivitySignAwardSet.AWARDWAY_TWO == activitySignAwardSetCumulativeDay.getAwardWay()) {
+	        		activitySignWriteoff.setState(ActivitySignWriteoff.STATE_TWO);
+	        	}else {
+	        		activitySignWriteoff.setState(ActivitySignWriteoff.STATE_ONE);
+	        	}
 	        	activitySignWriteoff.setUserId(userId);
 	        	activitySignWriteoff.setCompanyId(companyId);
 	        	activitySignWriteoff.setReceiveId(activitySignReceiveRecord.getId());
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
index 71c76ac..d64c91f 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
@@ -10,6 +10,7 @@
 		a.id id,
 		b.nick_name nickName,
 		a.receive_time reciveTime,
+		a.state,
 		c.cumulative_day cumulativeDay,
 		c.award_type awardType,
 		c.award_name awardName,
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
index 0eeaf0f..30f587b 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
@@ -87,7 +87,7 @@
 		FROM
 		activity_sign_receive_record a
 		left join biz_user b on a.user_id= b.user_id
-		where a.user_id = #{userId} and a.id = #{receiveId}
+		where a.user_id = #{userId} and a.award_id = #{receiveId}
 	</select>
 
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html
new file mode 100644
index 0000000..f8dd4d3
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html
@@ -0,0 +1,291 @@
+<!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"/>
+
+    <style>
+
+        .el-aside {
+            background-color: #D3DCE6;
+            color: #333;
+        }
+        .el-main {
+            background-color: #E9EEF3;
+            color: #333;
+        }
+        body > .el-container {
+            margin-bottom: 1000px;
+        }
+
+    </style>
+</head>
+
+<body>
+<div class="ibox-content" id="app" v-cloak>
+
+    <el-container>
+        <el-aside width="50%">
+            <el-row style="padding: 20px">
+                <p class="el-big-title">中奖信息</p>
+            </el-row>
+            <el-row style="margin-top: 10px;">
+                <el-col>
+                    <el-form :model="formSelect">
+                        <el-row>
+                            <el-form-item label="奖品名称:" :label-width="formLabelWidth">
+                                {{formSelect.jpmc}}
+                            </el-form-item>
+                        </el-row>
+                        <el-row style="display:flex;">
+                            <el-col>
+                                <el-form-item label="奖品图片:" :label-width="formLabelWidth">
+                                    {{formSelect.jptp}}
+                                </el-form-item>
+                            </el-col>
+                            <el-col>
+                                <el-form-item label="数量:" :label-width="formLabelWidth">
+                                    {{formSelect.sl}}
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                        <el-row style="display:flex;">
+                            <el-col>
+                                <el-form-item label="中奖人:" :label-width="formLabelWidth">
+                                    {{formSelect.zjr}}
+                                </el-form-item>
+                            </el-col>
+                            <el-col>
+                                <el-form-item label="中奖时间:" :label-width="formLabelWidth">
+                                    {{formSelect.zjsj}}
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                        <el-row style="display:flex;">
+                            <el-col>
+                                <el-form-item label="活动名称:" :label-width="formLabelWidth">
+                                    {{formSelect.hdmc}}
+                                </el-form-item>
+                            </el-col>
+                            <el-col>
+                                <el-form-item label="活动编号:" :label-width="formLabelWidth">
+                                    {{formSelect.hdbh}}
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                        <el-row style="display:flex;">
+                            <el-col>
+                                <el-form-item label="兑奖方式:" :label-width="formLabelWidth">
+                                    <span v-if="formSelect.djfs == 1">线下兑换</span>
+                                    <span v-if="formSelect.djfs == 2">物流配送</span>
+                                    <span v-if="formSelect.djfs == 3">客服兑换</span>
+                                </el-form-item>
+                            </el-col>
+                            <el-col>
+                                <el-form-item label="兑奖时间:" :label-width="formLabelWidth">
+                                    {{formSelect.djsj}}
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                    </el-form>
+                </el-col>
+            </el-row>
+
+            <el-row style="padding: 20px">
+                <p class="el-big-title">收货地址</p>
+            </el-row>
+            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
+                <el-row style="padding: 10px">
+                    <el-col class="col-sm-10" >
+                        <el-form-item label="收货人:" prop="shr">
+                            <el-input v-model="ruleForm.shr"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row style="padding: 10px">
+                    <el-col class="col-sm-10" >
+                        <el-form-item label="联系电话:" prop="lxdh">
+                            <el-input v-model="ruleForm.lxdh"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row style="padding: 10px">
+                    <el-col class="col-sm-10" >
+                        <el-form-item label="收货地址:" prop="shdz">
+                            <el-input v-model="ruleForm.shdz"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
+                <el-row style="padding: 20px">
+                    <p class="el-big-title">发货信息</p>
+                </el-row>
+                <el-row style="padding: 10px">
+                    <el-col class="col-sm-10" >
+                        <el-form-item label="配送方式:" >
+                            <span>物流配送</span>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row style="padding: 10px">
+                    <el-col class="col-sm-10" >
+                        <el-form-item label="快递公司:" prop="kdgs">
+                            <el-input v-model="ruleForm.kdgs"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row style="padding: 10px">
+                    <el-col class="col-sm-10" >
+                        <el-form-item label="快递单号:" prop="kddh">
+                            <el-input v-model="ruleForm.kddh"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row style="padding: 10px">
+                    <el-col class="col-sm-12 text-center">
+                        <el-button type="primary" v-if="formSelect.state == 1"  @click="dataSubmit('ruleForm')">发货</el-button>
+                        <el-button type="danger" @click="cancelSubmit">关闭</el-button>
+                    </el-col>
+                </el-row>
+            </el-form>
+        </el-aside>
+
+        <el-main width="50%">
+            <el-row>
+                <p class="el-big-title">物流跟踪</p>
+            </el-row>
+
+            <el-row style="padding: 10px">
+                <el-steps :active="active" simple>
+                    <el-step :title="item.title" :icon="item.icon" v-for="item in stepData" :key ="item.index"></el-step>
+                </el-steps>
+            </el-row>
+
+        </el-main>
+
+    </el-container>
+</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>
+    var writeoffId = $.query.get("writeoffId");
+    var app = new Vue({
+        el: '#app',
+        data: {
+            formLabelWidth: '120px',
+            //基本信息
+            formSelect: {
+                jpmc: '',
+                jptp: '',
+                sl: '',
+                zjr: '',
+                zjsj: '',
+                hdmc: '',
+                hdbh: '',
+                djfs: '',
+                state: '',
+                djsj: ''
+            },
+            //物流信息
+            ruleForm : {
+                shr:'',
+                lxdh:'',
+                shdz:'',
+                kdgs:'',
+                kddh:'',
+            },
+            active: 0, // 控制步骤条及填写条目的显示
+            stepData: [{index: 0, title: '步骤1', icon: 'el-icon-edit'},
+                {index: 1, title: '步骤2', icon: 'el-icon-edit'},
+                {index: 2, title: '步骤3', icon: 'el-icon-edit'}],
+            rules : {
+                shr : [
+                    { required: true, message: '请输入收货人', trigger: 'blur' }
+                ],
+                lxdh : [
+                    { required: true, message: '请输入联系电话', trigger: 'blur' }
+                ],
+                shdz : [
+                    { required: true, message: '请输入收货地址', trigger: 'blur' }
+                ],
+                kdgs : [
+                    { required: true, message: '请选择快递公司', trigger: 'blur' }
+                ],
+                kddh : [
+                    { required: true, message: '请输入快递单号', trigger: 'blur' }
+                ],
+            },
+        },
+        created: function () {
+            this.loadInfo();
+        },
+        mounted: function () {
+        },
+        methods: {
+            //加载分类
+            loadInfo() {
+                let _this = this;
+                //加载配置
+                AjaxProxy.requst({
+                    app: _this,
+                    data: {writeoffId},
+                    url: basePath + '/admin/activitySignWriteoff/findSignWriteoff',
+                    callback: function (data) {
+                        _this.formSelect = data.mapInfo.signWriteoffVo;
+                    }
+                });
+            },
+            //核销
+            dataSubmit : function(formName) {
+                const _this = this;
+                _this.$refs[formName].validate((valid) => {
+                    if (!valid) {
+                        return;
+                    }
+                });
+                let resultData = {
+                    writeoffId : writeoffId,
+                    writeOffCode : _this.ruleForm.writeOffCode,
+                }
+                AjaxProxy.requst({
+                    app: _this,
+                    data: resultData,
+                    url: basePath + '/admin/activitySignWriteoff/writeoffCodeSubmit',
+                    callback: function (data) {
+                        _this.$message({
+                            message: data.info,
+                            type: 'success',
+                        });
+                    }
+                });
+            },
+
+            cancelSubmit() {
+                this.closeFrame();
+            },
+            closeFrame() {
+                parent.layer.close(parent.layer.getFrameIndex(window.name));
+            },
+        }
+    })
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html
index 0540edb..8c2f2e4 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html
@@ -82,6 +82,14 @@
                         show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
+                        label="状态"
+                        show-overflow-tooltip>
+                    <template slot-scope="scope">
+                        <span v-if="scope.row.state == 1">待领取</span>
+                        <span v-if="scope.row.state == 2">已领取</span>
+                    </template>
+                </el-table-column>
+                <el-table-column
                         label="签到类型"
                         show-overflow-tooltip>
                     <template slot-scope="scope">
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html
index 0adcfad..26b52d1 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html
@@ -154,11 +154,16 @@
             //核销
             dataSubmit : function(formName) {
                 const _this = this;
+                let flag = false;
                 _this.$refs[formName].validate((valid) => {
                     if (!valid) {
+                        flag = true;
                         return;
                     }
                 });
+                if (flag) {
+                    return;
+                }
                 let resultData = {
                     writeoffId : writeoffId,
                     writeOffCode : _this.ruleForm.writeOffCode,
@@ -172,6 +177,8 @@
                             message: data.info,
                             type: 'success',
                         });
+                        parent.layer.close(parent.layer.getFrameIndex(window.name));
+                        parent.location.reload();
                     }
                 });
             },
@@ -181,6 +188,7 @@
             },
             closeFrame() {
                 parent.layer.close(parent.layer.getFrameIndex(window.name));
+                parent.location.reload();
             },
         }
     })
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html
index 6331095..806f771 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html
@@ -116,9 +116,11 @@
                 </el-table-column>
                 <el-table-column label="操作" width="200">
                     <template slot-scope="scope">
-                        <el-button type="primary" v-if="scope.row.awardWay == 2 && scope.row.state == 1"  @click="jumpTologistics(scope.row)" size="mini">发货</el-button>
+                        <el-button type="primary" v-if="scope.row.awardWay == 2 && scope.row.state == 2"  @click="jumpTologistics(scope.row)" size="mini">发货</el-button>
                         <el-button type="primary" v-if="scope.row.awardWay != 2 && scope.row.state == 1"  @click="jumpToWriteOff(scope.row)" size="mini">核销</el-button>
-                        <el-button type="primary" @click="jumpToWriteOff(scope.row)" size="mini">查看</el-button>
+
+                        <el-button type="primary" v-if="scope.row.awardWay == 2"  @click="jumpTologistics(scope.row)" size="mini">查看</el-button>
+                        <el-button type="primary" v-if="scope.row.awardWay != 2"  @click="jumpToWriteOff(scope.row)" size="mini">查看</el-button>
                     </template>
                 </el-table-column>
 

--
Gitblit v1.9.1