xiaoyong931011
2021-04-08 7ae4a28d6ef3c060170b1ce35f7aece25dd2780c
20210408 核销
1 files added
8 files modified
327 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/vo/SignReceiveListVo.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java 6 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml 1 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html 291 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-receive.html 8 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html 8 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html 6 ●●●●● patch | view | raw | blame | history
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();
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;
}
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);
                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());
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,
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>
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html
New file
@@ -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>
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">
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();
            },
        }
    })
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>