xiaoyong931011
2021-04-12 067302e7ddd0bc605ee5664d11eb90f7ec06895f
20210412  签到活动后台
2 files added
14 files modified
369 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignWriteoffAction.java 15 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/dto/LogisticsSubmitDto.java 28 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/dto/SignWriteoffListDto.java 6 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java 13 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignWriteoff.java 4 ●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java 94 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/vo/LogisticsVo.java 18 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/vo/SignWriteoffVo.java 25 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java 26 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopDeliveryInfo.java 9 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/config/db/increment/签到活动.sql 16 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml 11 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopDeliveryInfoDao.xml 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html 93 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html 7 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/action/ActivitySignWriteoffAction.java
@@ -4,6 +4,7 @@
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.LogisticsSubmitDto;
import com.matrix.system.activity.dto.SignWriteoffDto;
import com.matrix.system.activity.dto.SignWriteoffListDto;
import com.matrix.system.activity.dto.WriteoffCodeSubmitDto;
@@ -51,9 +52,9 @@
    }
    
    /**
     *进入核销
     *中奖信息
     */
    @ApiOperation(value = "进入核销")
    @ApiOperation(value = "中奖信息")
    @PostMapping(value = "/findSignWriteoff")
    public @ResponseBody
    AjaxResult findSignWriteoff(@RequestBody SignWriteoffDto signWriteoffDto) {
@@ -70,5 +71,15 @@
        return activitySignWriteoffService.writeoffCodeSubmit(writeoffCodeSubmitDto);
    }
    /**
     *物流发货
     */
    @ApiOperation(value = "物流发货")
    @PostMapping(value = "/logisticsSubmit")
    public @ResponseBody
    AjaxResult logisticsSubmit(@RequestBody LogisticsSubmitDto logisticsSubmitDto) {
        return activitySignWriteoffService.logisticsSubmit(logisticsSubmitDto);
    }
  
}
zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java
@@ -1,6 +1,7 @@
package com.matrix.system.activity.dao;
import com.matrix.system.shopXcx.bean.ShopDeliveryInfo;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -23,4 +24,5 @@
    ZjrVo selectUsernameByUserId(@Param("userId")Long userId, @Param("receiveId")Long receiveId);
    ShopDeliveryInfo selectShopDeliveryInfoByLogisticsId(@Param("logisticsId")Integer logisticsId);
}
zq-erp/src/main/java/com/matrix/system/activity/dto/LogisticsSubmitDto.java
New file
@@ -0,0 +1,28 @@
package com.matrix.system.activity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "LogisticsSubmitDto", description = "查询参数")
public class LogisticsSubmitDto {
    @ApiModelProperty(value ="核销ID")
    private long writeoffId;
    @ApiModelProperty(value ="收货人")
    private String shr;
    @ApiModelProperty(value ="联系电话")
    private String lxdh;
    @ApiModelProperty(value ="收货地址")
    private String shdz;
    @ApiModelProperty(value ="快递公司Code")
    private String kdgs;
    @ApiModelProperty(value ="快递单号")
    private String kddh;
    @ApiModelProperty(hidden = true)
    private Long companyId;
}
zq-erp/src/main/java/com/matrix/system/activity/dto/SignWriteoffListDto.java
@@ -1,9 +1,6 @@
package com.matrix.system.activity.dto;
import java.util.Date;
import com.matrix.core.pojo.BasePageQueryDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -15,6 +12,9 @@
    @ApiModelProperty(value ="中奖者姓名")
    private String zjzxm;
    
    @ApiModelProperty(value ="活动名称/编码")
    private String hdmcbm;
    @ApiModelProperty(hidden = true)
    private Long companyId;
    
zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java
@@ -81,6 +81,19 @@
    private Long  companyId;
    /**
     * 收货人
     */
    private String  consignee;
    /**
     * 联系电话
     */
    private String  consigneePhone;
    /**
     * 收货地址
     */
    private String  consigneeAddress;
  
zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignWriteoff.java
@@ -85,7 +85,7 @@
     */
    private Long  logisticsId;
    private Integer  logisticsId;
    
    /**
     * 中奖记录ID
@@ -114,8 +114,6 @@
    private Long  writeoffUserid;
  
}
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java
@@ -1,5 +1,6 @@
package com.matrix.system.activity.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,25 +11,36 @@
import com.matrix.system.activity.dao.ActivitySignAwardSetDao;
import com.matrix.system.activity.dao.ActivitySignReceiveRecordDao;
import com.matrix.system.activity.dao.ActivitySignWriteoffDao;
import com.matrix.system.activity.dto.LogisticsSubmitDto;
import com.matrix.system.activity.dto.SignWriteoffDto;
import com.matrix.system.activity.dto.SignWriteoffListDto;
import com.matrix.system.activity.dto.WriteoffCodeSubmitDto;
import com.matrix.system.activity.entity.ActivitySignAwardSet;
import com.matrix.system.activity.entity.ActivitySignReceiveRecord;
import com.matrix.system.activity.entity.ActivitySignWriteoff;
import com.matrix.system.activity.vo.LogisticsVo;
import com.matrix.system.activity.vo.SignWriteoffListVo;
import com.matrix.system.activity.vo.SignWriteoffVo;
import com.matrix.system.activity.vo.ZjrVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.bean.SystemDictionary;
import com.matrix.system.common.dao.SystemDictionaryDao;
import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.dao.SysVipInfoDao;
import com.matrix.system.shopXcx.bean.ShopActivities;
import com.matrix.system.shopXcx.bean.ShopDeliveryInfo;
import com.matrix.system.shopXcx.bean.ShopLogisticsInfo;
import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
import com.matrix.system.shopXcx.dao.ShopDeliveryInfoDao;
import com.matrix.system.shopXcx.dao.ShopLogisticsInfoDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * @description 核销记录
@@ -48,6 +60,12 @@
    ActivitySignReceiveRecordDao activitySignReceiveRecordDao;
    @Autowired
    SysVipInfoDao sysVipInfoDao;
    @Autowired
    SystemDictionaryDao systemDictionaryDao;
    @Autowired
    ShopDeliveryInfoDao shopDeliveryInfoDao;
    @Autowired
    ShopLogisticsInfoDao shopLogisticsInfoDao;
    public IPage<SignWriteoffListVo> findSignWriteoffList(Page<SignWriteoffListVo> page,
            SignWriteoffListDto signWriteoffListDto) {
@@ -79,6 +97,33 @@
            ShopActivities shopActivities = shopActivitiesDao.selectById(activitySignWriteoff.getActId());
            signWriteoffVo.setHdmc(shopActivities.getActName());
            signWriteoffVo.setHdbh(shopActivities.getActCode());
            //获取收货地址信息
            int awardWay = activitySignAwardSet.getAwardWay();
            if(ActivitySignAwardSet.AWARDWAY_TWO == awardWay) {
                ActivitySignWriteoff activitySignWriteoffLogistics = activitySignWriteoffDao.selectById(writeoffId);
                Long receiveId = activitySignWriteoffLogistics.getReceiveId();
                ActivitySignReceiveRecord activitySignReceiveRecordLogistic = activitySignReceiveRecordDao.selectById(receiveId);
                signWriteoffVo.setConsignee(activitySignReceiveRecordLogistic.getConsignee());
                signWriteoffVo.setConsigneePhone(activitySignReceiveRecordLogistic.getConsigneePhone());
                signWriteoffVo.setConsigneeAddress(activitySignReceiveRecordLogistic.getConsigneeAddress());
                //物流跟踪
                Integer logisticsId = activitySignWriteoffLogistics.getLogisticsId();
                if(ObjectUtil.isNotEmpty(logisticsId)) {
                    List<ShopLogisticsInfo> shopLogisticsInfos = shopLogisticsInfoDao.selectByDelieryId(logisticsId);
                    if(CollUtil.isNotEmpty(shopLogisticsInfos)) {
                        ArrayList<LogisticsVo> logisticsVos = new ArrayList<>();
                        for(ShopLogisticsInfo shopLogistics : shopLogisticsInfos) {
                            LogisticsVo logisticsVo = new LogisticsVo();
                            logisticsVo.setContent(shopLogistics.getDescribe());
                            logisticsVo.setTimestamp(shopLogistics.getLogisticsTime());
                            logisticsVos.add(logisticsVo);
                        }
                        signWriteoffVo.setActivities(logisticsVos);
                    }
                }
            }
        }
        result.putInMap("signWriteoffVo", signWriteoffVo);
        return result;
@@ -118,6 +163,55 @@
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "核销成功");
    }
    @Transactional
    public AjaxResult logisticsSubmit(LogisticsSubmitDto logisticsSubmitDto) {
        //设置用户公司ID
        QueryUtil.setQueryLimitCom(logisticsSubmitDto);
        SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        Long writeoffId = logisticsSubmitDto.getWriteoffId();
        /**
         * 更新领取记录表的收货信息和状态
         * 更新核销记录表的状态和物流ID
         */
        ActivitySignWriteoff activitySignWriteoff = activitySignWriteoffDao.selectById(writeoffId);
        //新增一条物流信息
        ShopDeliveryInfo shopDeliveryInfo = new ShopDeliveryInfo();
        Long receiveId = activitySignWriteoff.getReceiveId();
        SystemDictionary systemDictionary = systemDictionaryDao.selectByCode(logisticsSubmitDto.getKdgs());
        if (ObjectUtil.isEmpty(systemDictionary)) {
            return new AjaxResult(AjaxResult.STATUS_FAIL, "没有找到物流公司信息!");
        }
        shopDeliveryInfo.setUserId(activitySignWriteoff.getUserId());
        shopDeliveryInfo.setReceiveId(receiveId);
        shopDeliveryInfo.setReceiveAddress(logisticsSubmitDto.getShdz());
        shopDeliveryInfo.setLogisticsCompany(systemDictionary.getName());
        shopDeliveryInfo.setLogisticsCompanyCode(systemDictionary.getCode());
        shopDeliveryInfo.setDeliveryWay("物流配送");
        shopDeliveryInfo.setWaybillNo(logisticsSubmitDto.getKddh());
        shopDeliveryInfo.setUpdateBy(sysUsers.getSuName());
        shopDeliveryInfo.setCreateBy(sysUsers.getSuName());
        shopDeliveryInfo.setDeliveryTime(new Date());
        shopDeliveryInfoDao.insert(shopDeliveryInfo);
        //更新核销记录
        activitySignWriteoff.setState(ActivitySignWriteoff.STATE_THREE);
        activitySignWriteoff.setWriteoffTime(new Date());
        activitySignWriteoff.setWriteoffUser(sysUsers.getSuName());
        activitySignWriteoff.setWriteoffUserid(sysUsers.getSuId());
        activitySignWriteoff.setLogisticsId(shopDeliveryInfo.getId());
        activitySignWriteoffDao.updateById(activitySignWriteoff);
        //更新领取记录
        ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(receiveId);
        activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_DONE);
        activitySignReceiveRecord.setConsignee(logisticsSubmitDto.getShr());
        activitySignReceiveRecord.setConsigneeAddress(logisticsSubmitDto.getShdz());
        activitySignReceiveRecord.setConsigneePhone(logisticsSubmitDto.getLxdh());
        activitySignReceiveRecordDao.updateById(activitySignReceiveRecord);
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "发货成功");
    }
zq-erp/src/main/java/com/matrix/system/activity/vo/LogisticsVo.java
New file
@@ -0,0 +1,18 @@
package com.matrix.system.activity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class LogisticsVo {
    @ApiModelProperty(value ="内容")
    private String  content;
    @ApiModelProperty(value ="时间戳")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone="GMT+8")
    private String  timestamp;
}
zq-erp/src/main/java/com/matrix/system/activity/vo/SignWriteoffVo.java
@@ -1,11 +1,11 @@
package com.matrix.system.activity.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class SignWriteoffVo {
@@ -39,7 +39,24 @@
    private int  state;
    
    @ApiModelProperty(value ="兑奖时间")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone="GMT+8")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm", timezone="GMT+8")
    private Date  djsj;
    @ApiModelProperty(value ="收货人")
    private String  consignee;
    @ApiModelProperty(value ="联系电话")
    private String  consigneePhone;
    @ApiModelProperty(value ="收货地址")
    private String  consigneeAddress;
    @ApiModelProperty(value ="物流单号")
    private String  logisticsNum;
    @ApiModelProperty(value ="物流公司")
    private String  logisticsCompany;
    private List<LogisticsVo>  activities;
}
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
@@ -18,10 +18,7 @@
import com.matrix.system.activity.entity.ActivitySignWriteoff;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.shopXcx.api.dto.ClickSignDTO;
import com.matrix.system.shopXcx.api.vo.ActivitySignAwardSetVo;
import com.matrix.system.shopXcx.api.vo.SignBasicInfoJsonVo;
import com.matrix.system.shopXcx.api.vo.SignBasicInfoVo;
import com.matrix.system.shopXcx.api.vo.SignSuccessVo;
import com.matrix.system.shopXcx.api.vo.*;
import com.matrix.system.shopXcx.bean.ShopActivities;
import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
import io.swagger.annotations.Api;
@@ -32,7 +29,6 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -316,6 +312,26 @@
        return getCumulativeDay(actId,userId,offsetDay,i);
    }
    
//    /**
//     * 获取累计的签到奖品数量
//     *
//     * @return
//     */
//    @ApiOperation(value = "获取累计的签到奖品列表", notes = "")
//    @ApiResponses({
//            @ApiResponse(code = 200, message = "ok", response = SignAwardListVO.class)
//    })
//    @GetMapping(value = "/getSignAwardList")
//    @PostMapping(value = "/getSignAwardList")
//    public AjaxResult getSignAwardList(@RequestBody SignAwardListVO signAwardListVO) {
//        SysVipInfo user = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
//        Long userId = user.getId();
//        Long companyId = user.getCompanyId();
//        int size = activitySignReceiveRecordDao.getSignAwardReceiveCount(userId, companyId);
//        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance(size);
//        return ajaxResult;
//    }
    
    
    
zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopDeliveryInfo.java
@@ -129,6 +129,7 @@
    private Long shopId;
    private Long companyId;
    private Long receiveId;
    public Long getCompanyId() {
        return companyId;
    }
@@ -302,4 +303,12 @@
    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }
    public Long getReceiveId() {
        return receiveId;
    }
    public void setReceiveId(Long receiveId) {
        this.receiveId = receiveId;
    }
}
zq-erp/src/main/resources/config/db/increment/签到活动.sql
@@ -172,6 +172,22 @@
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='核销记录';
ALTER TABLE `activity_sign_receive_record`
ADD COLUMN `consignee`  varchar(200) NULL COMMENT '收货人' AFTER `user_id`;
ALTER TABLE `activity_sign_receive_record`
ADD COLUMN `consignee_phone`  varchar(50) NULL COMMENT '联系电话' AFTER `user_id`;
ALTER TABLE `activity_sign_receive_record`
ADD COLUMN `consignee_address`  varchar(300) NULL COMMENT '收货地址' AFTER `consignee_phone`;
ALTER TABLE `shop_delivery_info`
ADD COLUMN `receive_id`  bigint(20) NULL COMMENT '奖品领取ID' AFTER `company_id`;
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
@@ -73,6 +73,9 @@
            <if test="record.zjzxm != null and record.zjzxm != ''">
                and b.nick_name like concat('%',#{record.zjzxm},'%')
            </if>
            <if test="record.hdmcbm != null and record.hdmcbm != ''">
                and (c.act_name like concat('%',#{record.hdmcbm},'%') or c.act_code like concat('%',#{record.hdmcbm},'%'))
            </if>
        </where>
        <if test="record.sort !=null">
            order by
@@ -90,4 +93,12 @@
        where a.user_id = #{userId} and a.award_id = #{receiveId}
    </select>
    <select id="selectShopDeliveryInfoByLogisticsId" resultType="com.matrix.system.shopXcx.bean.ShopDeliveryInfo">
        SELECT
            *
        FROM
            shop_delivery_info a
        where a.id = #{logisticsId}
    </select>
</mapper>
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopDeliveryInfoDao.xml
@@ -65,6 +65,7 @@
            logistics_status,
            delivery_time,
            pick_up_status,
            receive_id,
            shop_id
    </sql>
@@ -87,6 +88,7 @@
            #{item.logisticsStatus},
            #{item.deliveryTime},
            #{item.pickUpStatus},
            #{item.receiveId},
            #{item.shopId}
    </sql>
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html
@@ -17,11 +17,11 @@
    <style>
        .el-aside {
            background-color: #D3DCE6;
            background-color: #fff;
            color: #333;
        }
        .el-main {
            background-color: #E9EEF3;
            background-color: #fff;
            color: #333;
        }
        body > .el-container {
@@ -33,7 +33,6 @@
<body>
<div class="ibox-content" id="app" v-cloak>
    <el-container>
        <el-aside width="50%">
            <el-row style="padding: 20px">
@@ -100,7 +99,6 @@
                    </el-form>
                </el-col>
            </el-row>
            <el-row style="padding: 20px">
                <p class="el-big-title">收货地址</p>
            </el-row>
@@ -108,21 +106,21 @@
                <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-input v-model="ruleForm.shr" :disabled="(formSelect.state == 3 ? true:false)"></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-input v-model="ruleForm.lxdh" :disabled="(formSelect.state == 3 ? true:false)"></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-input v-model="ruleForm.shdz" :disabled="(formSelect.state == 3 ? true:false)"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -139,21 +137,29 @@
                </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 label="快递公司编码:">
                            <el-input v-model="ruleForm.kdgs" :disabled="(formSelect.state == 3 ? true:false)"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col class="col-sm-10" >
                        <el-form-item label="快递公司" prop="kdgs">
                            <el-select v-model="ruleForm.kdgs" :disabled="(formSelect.state == 3 ? true:false)"  placeholder="请选择" filterable>
                                <el-option v-for="item in logisticsList " :key="item.code" :label="item.name" :value="item.code">
                                </el-option>
                            </el-select>
                        </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-input :disabled="(formSelect.state == 3 ? true:false)" 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="primary" v-if="formSelect.djfs == 2 && formSelect.state != 3"  @click="dataSubmit('ruleForm')">发货</el-button>
                        <el-button type="danger" @click="cancelSubmit">关闭</el-button>
                    </el-col>
                </el-row>
@@ -166,9 +172,18 @@
            </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>
                <div class="block">
                    <el-timeline :reverse="reverse">
                        <el-timeline-item
                                v-for="(activity, index) in activities"
                                :key="index"
                                :timestamp="activity.timestamp" placement="top">
                            <el-card>
                                <p>{{activity.content}}</p>
                            </el-card>
                        </el-timeline-item>
                    </el-timeline>
                </div>
            </el-row>
        </el-main>
@@ -201,9 +216,13 @@
                hdbh: '',
                djfs: '',
                state: '',
                djsj: ''
                djsj: '',
                consignee: '',
                consigneePhone: '',
                consigneeAddress: '',
            },
            //物流信息
            logisticsList:[],
            ruleForm : {
                shr:'',
                lxdh:'',
@@ -211,10 +230,10 @@
                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'}],
            //物流跟踪
            reverse: true,
            activities: [],
            rules : {
                shr : [
                    { required: true, message: '请输入收货人', trigger: 'blur' }
@@ -226,7 +245,7 @@
                    { required: true, message: '请输入收货地址', trigger: 'blur' }
                ],
                kdgs : [
                    { required: true, message: '请选择快递公司', trigger: 'blur' }
                    { required: true, message: '请选择快递公司', trigger: 'change' }
                ],
                kddh : [
                    { required: true, message: '请输入快递单号', trigger: 'blur' }
@@ -235,6 +254,7 @@
        },
        created: function () {
            this.loadInfo();
            this.getlogisticsList();
        },
        mounted: function () {
        },
@@ -249,25 +269,50 @@
                    url: basePath + '/admin/activitySignWriteoff/findSignWriteoff',
                    callback: function (data) {
                        _this.formSelect = data.mapInfo.signWriteoffVo;
                        _this.activities = data.mapInfo.signWriteoffVo.activities;
                    }
                });
            },
            //核销
            // 下拉框数据源---快递公司
            getlogisticsList() {
                let _this = this;
                AjaxProxy.requst({
                    app: _this,
                    contentType: 'application/x-www-form-urlencoded',
                    data:{
                        type: '快递公司'
                    },
                    url: basePath + '/admin/dataDictionary/showDataDictionary',
                    callback: function (data) {
                        _this.logisticsList = data.rows;
                    }
                });
            },
            //发货
            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,
                    shr : _this.ruleForm.shr,
                    lxdh : _this.ruleForm.lxdh,
                    shdz : _this.ruleForm.shdz,
                    kdgs : _this.ruleForm.kdgs,
                    kddh : _this.ruleForm.kddh,
                }
                AjaxProxy.requst({
                    app: _this,
                    data: resultData,
                    url: basePath + '/admin/activitySignWriteoff/writeoffCodeSubmit',
                    url: basePath + '/admin/activitySignWriteoff/logisticsSubmit',
                    callback: function (data) {
                        _this.$message({
                            message: data.info,
@@ -276,7 +321,7 @@
                    }
                });
            },
            //关闭
            cancelSubmit() {
                this.closeFrame();
            },
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff.html
@@ -44,6 +44,9 @@
                    <el-form-item label="中奖人名称" prop="yhmc" >
                        <el-input v-model="form.yhmc" placeholder="中奖人名称"></el-input>
                    </el-form-item>
                    <el-form-item label="输入活动名称/编码" prop="hdmcbm" >
                        <el-input v-model="form.hdmcbm" placeholder="输入活动名称/编码"></el-input>
                    </el-form-item>
                    <el-button type="primary" @click="searchFormSignReceive" >搜索</el-button>
                    <el-button @click="resetFormSignReceive('form')">重置</el-button>
                </el-form>
@@ -189,6 +192,7 @@
            // 条件查询
            form:{
                yhmc:'',
                hdmcbm:'',
                order:'',
                sort:''
            },
@@ -225,7 +229,7 @@
            jumpTologistics(row){
                layer.full(layer.open({
                    type: 2,
                    title: "核销",
                    title: "发货",
                    maxmin: true,
                    area: [MUI.SIZE_L, '500px'],
                    content : [ basePath + '/admin/redirect/activity/activity-sign-logistics-info?writeoffId=' + row.id]
@@ -252,6 +256,7 @@
                let _this = this;
                return   {
                    zjzxm:_this.form.yhmc,
                    hdmcbm:_this.form.hdmcbm,
                    order:_this.form.order,
                    sort:_this.form.sort,
                }