From 8c32fe69d8a0cd12617e1487f5aff689814faaaa Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 12 Mar 2021 18:28:35 +0800 Subject: [PATCH] 分销员后台0312 --- zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java | 3 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html | 163 +++++++++++++- zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanApplyDto.java | 5 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 48 +++- zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java | 23 ++ zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java | 2 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html | 284 +++++++++++++++++++++++++ zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java | 45 ++++ zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java | 5 zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 28 ++ 10 files changed, 568 insertions(+), 38 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java index 62a352d..c679ff4 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java @@ -1,15 +1,22 @@ package com.matrix.system.fenxiao.action; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.matrix.biz.bean.BizUser; +import com.matrix.biz.dao.BizUserDao; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao; import com.matrix.system.fenxiao.dto.AddSaleManApplyDto; +import com.matrix.system.fenxiao.dto.ExamineSaleManApplyDto; import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto; import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto; +import com.matrix.system.fenxiao.entity.ShopSalesmanApply; import com.matrix.system.fenxiao.service.ShopSalesmanApplyService; import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo; import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo; @@ -29,6 +36,10 @@ @Autowired private ShopSalesmanApplyService shopSalesmanApplyService; + @Autowired + private ShopSalesmanApplyDao shopSalesmanApplyDao; + @Autowired + private BizUserDao bizUserDao; /** * 查询分销员审核记录 @@ -47,7 +58,6 @@ shopSalesmanApplyDto.setSort("create_time"); shopSalesmanApplyDto.setOrder("desc"); } - Page<ShopSalesmanApplyVo> page = new Page(shopSalesmanApplyDto.getPageNum(), shopSalesmanApplyDto.getPageSize()); IPage<ShopSalesmanApplyVo> rows = shopSalesmanApplyService.findShopSalesmanApplyList(page,shopSalesmanApplyDto); AjaxResult result = AjaxResult.buildSuccessInstance(rows.getRecords(),rows.getTotal()); @@ -108,5 +118,38 @@ shopSalesmanApplyService.addSaleManApply(addSaleManApplyDto.getUserId(),addSaleManApplyDto.getGradeId()); return result; } + /** + *审核分销员 + */ + @ApiOperation(value = "审核分销员") + @PostMapping(value = "/examineSaleManApply") + public @ResponseBody + AjaxResult examineSaleManApply(@RequestBody ExamineSaleManApplyDto examineSaleManApplyDto) { + //设置用户公司ID + QueryUtil.setQueryLimitCom(examineSaleManApplyDto); + String userId = examineSaleManApplyDto.getUserId(); + //待审核状态才允许提交 + QueryWrapper<ShopSalesmanApply> queryWrapperOrepool = new QueryWrapper<>(); + queryWrapperOrepool.eq("user_id", userId); + queryWrapperOrepool.eq("company_id", examineSaleManApplyDto.getCompanyId()); + ShopSalesmanApply shopSalesmanApply = shopSalesmanApplyDao.selectOne(queryWrapperOrepool); + if(ObjectUtil.isEmpty(shopSalesmanApply)) { + return AjaxResult.buildFailInstance("当前记录有误"); + } + + BizUser bizUser = bizUserDao.findByOpenId(userId); + if(ObjectUtil.isEmpty(bizUser)) { + return AjaxResult.buildFailInstance("当前记录有误"); + } + + Integer applyStatus = shopSalesmanApply.getApplyStatus(); + if(ObjectUtil.isNotEmpty(applyStatus) && ShopSalesmanApply.APPLY_STATUS_DSH == applyStatus) { + Integer applyState = examineSaleManApplyDto.getApplyState(); + shopSalesmanApplyService.examineSaleManApply(shopSalesmanApply,applyState); + return AjaxResult.buildSuccessInstance("审核成功"); + }else{ + return AjaxResult.buildFailInstance("当前记录不是待审核状态"); + } + } } diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java index 0fcd776..99356a1 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/AddSaleManApplyDto.java @@ -4,10 +4,13 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotNull; + @Data @ApiModel(value = "AddSaleManApplyDto", description = "查询参数") public class AddSaleManApplyDto { - + + @NotNull @ApiModelProperty(value ="会员ID") private String userId; diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java new file mode 100644 index 0000000..83e868e --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ExamineSaleManApplyDto.java @@ -0,0 +1,23 @@ +package com.matrix.system.fenxiao.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ExamineSaleManApplyDto", description = "查询参数") +public class ExamineSaleManApplyDto { + + @NotNull + @ApiModelProperty(value ="会员ID") + private String userId; + + @ApiModelProperty(value ="审核状态 2:同意 3:不同意") + private Integer applyState; + + @ApiModelProperty(hidden = true) + private Long companyId; + +} diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanApplyDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanApplyDto.java index f113f4f..39387a6 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanApplyDto.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/ShopSalesmanApplyDto.java @@ -12,6 +12,11 @@ @ApiModelProperty(value ="审核状态") private Integer shenheState; + @ApiModelProperty(value ="分销员等级") + private Long salemanGrade; + @ApiModelProperty(value ="会员姓名") + private String userName; + @ApiModelProperty(hidden = true) private Long companyId; diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java index 9707da8..557435b 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java @@ -24,6 +24,7 @@ import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo; 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; @@ -41,7 +42,7 @@ BusParameterSettingsDao busParameterSettingsDao; @Autowired - ShopSalesmanApplyDao salesmanApplyDao; + ShopSalesmanApplyDao shopSalesmanApplyDao; @Autowired ShopSalesmanGradeDao shopSalesmanGradeDao; @@ -58,13 +59,13 @@ * @param invitationId * @return */ - public ShopSalesmanApply applyToBeAnSalesman(String openId,String gradeId,String invitationId) { + public ShopSalesmanApply applyToBeAnSalesman(String openId,String gradeId,String invitationId,int applyWay) { BizUser loginUser=bizUserDao.findByOpenId(openId); //校验审核状态,和是否重复发起 QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_id",loginUser.getOpenId()); - ShopSalesmanApply checkApply = salesmanApplyDao.selectOne(queryWrapper); + ShopSalesmanApply checkApply = shopSalesmanApplyDao.selectOne(queryWrapper); if(checkApply==null|| checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){ @@ -96,7 +97,8 @@ ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool); shopSalesmanApply.setGradeId(shopSalesmanGrade.getId()); } - + shopSalesmanApply.setApplyWay(applyWay); + BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, loginUser.getCompanyId()); if(busParameterSettings!=null &&busParameterSettings.getParamValue().equals("1")){ @@ -107,7 +109,7 @@ }else{ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); } - salesmanApplyDao.insert(shopSalesmanApply); + shopSalesmanApplyDao.insert(shopSalesmanApply); return shopSalesmanApply; }else{ throw new GlobleException("不能重复申请"); @@ -116,29 +118,49 @@ } public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) { - return salesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto); + return shopSalesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto); } public IPage<ShopSalesmanAppliingVo> findShopSalesmanAppliingList(Page<ShopSalesmanAppliingVo> page, ShopSalesmanAppliingDto shopSalesmanAppliingDto) { - return salesmanApplyDao.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto); + return shopSalesmanApplyDao.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto); } public IPage<ShopSalesmanAppliingVo> selectBizUserApplyList(Page<ShopSalesmanAppliingVo> page, ShopSalesmanAppliingDto shopSalesmanAppliingDto) { - return salesmanApplyDao.selectBizUserApplyList(page,shopSalesmanAppliingDto); + return shopSalesmanApplyDao.selectBizUserApplyList(page,shopSalesmanAppliingDto); } public List<ShopSalesmanGradeVo> getShopSalesmanGradeVo(Long companyId) { return shopSalesmanGradeDao.getShopSalesmanGradeVo(companyId); } - + + @Transactional(rollbackFor = Exception.class) public void addSaleManApply(String userId,String gradeId) { BizUser user = bizUserDao.selectById(userId); - - applyToBeAnSalesman(user.getOpenId(),gradeId, ""); + applyToBeAnSalesman(user.getOpenId(),gradeId, "",ShopSalesmanApply.APPLY_WAY_HAND_ADD); } - - + + @Transactional(rollbackFor = Exception.class) + public void examineSaleManApply(ShopSalesmanApply shopSalesmanApply, Integer applyState) { + String userId = shopSalesmanApply.getUserId(); + String parentUserId = shopSalesmanApply.getParentUserId(); + BizUser bizUser = bizUserDao.selectById(userId); + + //修改审核记录 + if(ShopSalesmanApply.APPLY_STATUS_TG == applyState) { + shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG); + bizUser.setIsSales(BizUser.IS_SALES); + }else { + shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_WTG); + bizUser.setIsSales(BizUser.NOT_SALES); + } + shopSalesmanApplyDao.updateById(shopSalesmanApply); + //修改USER的状态 + bizUser.setParentOpenId(parentUserId); + bizUser.setBindingParentTime(new Date()); + bizUserDao.updateByModel(bizUser); + } + diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java index 736c881..6ea6b37 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java @@ -67,6 +67,8 @@ @ApiModelProperty(value = "分销员") private String nickname; + @ApiModelProperty(value = "头像") + private String avatarUrl; @ApiModelProperty(value = "邀请人") private String parentUser; @ApiModelProperty(value = "下级客户数") @@ -78,6 +80,7 @@ private BigDecimal balance; @ApiModelProperty(value = "等级") private String grade; + @ApiModelProperty(value = "加入时间") private Date createTime; @ApiModelProperty(value = "状态") diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java index ea148ec..eaaf173 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java @@ -85,7 +85,7 @@ public AjaxResult applyToBeAnSalesman(@RequestBody Map<String,String> param) { BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); String invitationId = param.get("invitationId"); - ShopSalesmanApply shopSalesmanApply= shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getOpenId(),"",invitationId); + ShopSalesmanApply shopSalesmanApply= shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getOpenId(),"",invitationId,ShopSalesmanApply.APPLY_WAY_SELF); loginUser=bizUserDao.selectById(loginUser.getUserId()); redisUserLoginUtils.updateUserInfo(loginUser); return AjaxResult.buildSuccessInstance(shopSalesmanApply); diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml index a4703dd..7c8028c 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml @@ -61,16 +61,34 @@ <select id="findShopSalesmanApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo"> SELECT a.user_id userId, + b.avatar_url avatarUrl, b.nick_name nickname, - (SELECT s.nick_name from biz_user s where s.user_id = a.parent_user_id) parentUser, + (SELECT s.nick_name FROM biz_user s + WHERE s.open_id = a.parent_user_id ) parentUser, + ( SELECT COUNT(*) FROM biz_user + WHERE parent_open_id = a.user_id AND is_sales != 1 ) lowerLevelNum, + ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order + WHERE user_id = a.user_id AND order_status = 2 AND sales_user_id = a.user_id ) totalRevenue, + ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order + WHERE user_id = a.user_id AND order_status = 1 AND sales_user_id = a.user_id ) balance, + g.NAME grade, + a.create_time createTime, + a.apply_status applyStatus, + a.apply_way applyWay FROM shop_salesman_apply a - LEFT JOIN biz_user b ON a.user_id = b.user_id - LEFT JOIN shop_salesman_grade g ON b.salesman_grade = g.id + LEFT JOIN biz_user b ON a.user_id = b.open_id + LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id <where> a.company_id=#{record.companyId} <if test="record.shenheState != null and record.shenheState != ''"> and a.apply_status=#{record.shenheState} + </if> + <if test="record.salemanGrade != null and record.salemanGrade != ''"> + and a.grade_id=#{record.salemanGrade} + </if> + <if test="record.userName != null and record.userName != ''"> + and b.nick_name like concat('%',#{record.userName},'%') </if> </where> <if test="record.sort !=null"> @@ -99,11 +117,11 @@ </select> <select id="selectBizUserApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo"> SELECT - a.user_id userId, + a.open_id userId, a.nick_name nickName FROM biz_user a - LEFT JOIN shop_salesman_apply b ON a.user_id = b.user_id + LEFT JOIN shop_salesman_apply b ON a.open_id = b.user_id <where> a.company_id = #{record.companyId} and a.is_sales != 1 diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html new file mode 100644 index 0000000..659a7e4 --- /dev/null +++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html @@ -0,0 +1,284 @@ +<!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> + .paginationStyle{ + background: #ffffff; + padding: 10px 10px; + margin: 0px 0px 10px 0px; + text-align: right; + } + </style> +</head> + +<body> +<div class="ibox-content" id="app" v-cloak> + + <el-row> + <p class="el-big-title">个人详情</p> + </el-row> + <el-row> + <el-col> + <template> + <img :src="detailVo.avatarUrl" width="50" height="50" class="head_pic"/> + </template> + </el-col> + <el-col> + <div>张三</div> + <div> + <el-form-item label="分销员等级" prop="salemanGrade"> + <el-select v-model="form.salemanGrade" placeholder="请选择" filterable allow-create> + <el-option v-for="item in salemanGradeList " :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </el-form-item> + </div> + </el-col> + </el-row> + <el-row> + <el-col> + <div>手机号码:</div> + <div>加入时间:</div> + <div>邀请人:</div> + <div>来源:</div> + </el-col> + </el-row> + <el-row> + <el-row> + <el-col :span="24"> + <el-form-item> + <el-col class="line" :span="6" style="text-align: center">绑定客户</el-col> + <el-col class="line" :span="6" style="text-align: center">邀请下级</el-col> + <el-col class="line" :span="6" style="text-align: center">累计收益</el-col> + <el-col class="line" :span="6" style="text-align: center">待结算</el-col> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item> + <el-col class="line" :span="6" style="text-align: center">0</el-col> + <el-col class="line" :span="6" style="text-align: center">0</el-col> + <el-col class="line" :span="6" style="text-align: center">0</el-col> + <el-col class="line" :span="6" style="text-align: center">0</el-col> + </el-form-item> + </el-col> + </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: { + activeName: 'first', + shenheAgreeType : 2, + shenheDisagreeType : 3, + form:{ + shenheState:'', + salemanGrade:'', + userName:'', + order:'', + sort:'' + }, + //条件查询审核状态 + shenheStateList:[ + {value:'',label:'全部'}, + {value:1,label:'未审核'}, + {value:2,label:'通过'}, + {value:3,label:'未通过'} + ], + //条件查询分销员等级 + salemanGradeList:[], + fxyList:{ + rows:[], + total:0, + pageSize:10, + currentPage:1, + }, + height:'calc(100vh - 240px)', + }, + + created: function () { + this.loadInfo(); + }, + mounted: function () { + }, + methods: { + //加载分类 + loadInfo() { + let _this = this; + //_this.loadParamSetting(); + //_this.getSalemanGradeList(); + }, + loadParamSetting() { + let _this = this; + let data=_this.getRequestParam(); + data.pageSize=_this.fxyList.pageSize; + data.pageNum=_this.fxyList.currentPage; + AjaxProxy.requst({ + app: _this, + data:data, + url: basePath + '/fenXiao/fenXiaoUser/findShopSalesmanApplyList', + callback: function (data) { + _this.fxyList.rows = data.rows; + _this.fxyList.total=data.total; + } + }); + }, + // 下拉框数据源---分销员等级 + getSalemanGradeList() { + let _this = this; + AjaxProxy.requst({ + app: _this, + data:[], + url: basePath + '/fenXiao/fenXiaoUser/getShopSalesmanGrade', + callback: function (data) { + _this.salemanGradeList = data.mapInfo.salesGrade; + } + }); + }, + getRequestParam(){ + let _this = this; + return { + shenheState:_this.form.shenheState, + salemanGrade:_this.form.salemanGrade, + userName:_this.form.userName, + order:_this.form.order, + sort:_this.form.sort, + } + }, + search:function(){ + this.fxyList.currentPage=1; + this.loadInfo(); + }, + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + 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(); + } + }, + changePageSize(val) { + this.table.pageSize = val; + this.loadData(); + }, + changeCurrentPage(val) { + this.table.currentPage = val; + this.loadData(); + }, + //时间格式化 + formatDate(row,column){ + let data = row[column.property] + if (data ===null) { + return '' + } + let dt = new Date(data) + return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + }, + //新增分销员页面 + addSaleMan(){ + layer.full(layer.open({ + type: 2, + title: "选择会员", + maxmin: true, + area: [MUI.SIZE_L, '500px'], + content : [ basePath + '/admin/redirect/fenxiao/fenxiao-apply'] + })); + }, + //修改等级 + openUpdateSaleManGrade(){ + layer.full(layer.open({ + type: 2, + title: "修改等级", + maxmin: true, + area: [MUI.SIZE_L, '500px'], + content : [ basePath + '/admin/redirect/fenxiao/fenxiao-update'] + })); + }, + //审核 + openExamineSaleManApply(row) { + this.$confirm('是否通过?', '审核', { + distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别 + confirmButtonText: '通过', + cancelButtonText: '不通过', + type: 'info' + }).then(() => { + //通过 + this.examineSaleManApply(row,this.shenheAgreeType); + }).catch(action => { + //不通过 + if(action === 'cancel'){ + this.examineSaleManApply(row,this.shenheDisagreeType); + }else{ + //关闭按钮 + console.log("close"); + //this.$message({type: 'info',message: ''}) + } + }); + }, + examineSaleManApply(row,type){ + let _this = this; + let userId = row.userId; + let obj = { + userId: userId, + applyState: type, + } + AjaxProxy.requst({ + app: _this, + data:obj, + url: basePath + '/fenXiao/fenXiaoUser/examineSaleManApply', + callback: function (data) { + _this.$message.success(data.info); + this.loadData(); + } + }); + }, + + submit() { + } + } + }) +</script> + +</body> +</html> \ No newline at end of file diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html index 63603ff..fcbb104 100644 --- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html +++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html @@ -54,35 +54,86 @@ </el-option> </el-select> </el-form-item> + <el-form-item label="分销员等级" prop="salemanGrade"> + <el-select v-model="form.salemanGrade" placeholder="请选择" filterable allow-create> + <el-option v-for="item in salemanGradeList " :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <el-form-item prop="userName"> + <el-input v-model="form.userName" placeholder="请输入会员姓名"></el-input> + </el-form-item> <el-button type="primary" @click="search" >搜索</el-button> <el-button @click="resetForm('form')">重置</el-button> </el-form> </el-col> </el-row> - <el-row> - <template> - <el-table id="proj" :data="fxyList.rows" :height="height" stripe @sort-change="sortChange"> + <el-row class="table-style" > + <el-table id="proj" :data="fxyList.rows" :height="height" stripe:true @sort-change="sortChange"> <el-table-column - type="selection" - width="55"> + type="selection"> </el-table-column> <el-table-column - prop="userId" - label="id" - width="180"> - </el-table-column> - <el-table-column - fixed="right" - label="操作" - width="auto"> + label="头像" width="100"> <template slot-scope="scope"> - <el-button type="text" size="small" @click="addSaleManApply(scope.row)">审核</el-button> - <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button> - <el-button type="text" size="small">编辑</el-button> + <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/> + </template> + </el-table-column> + <el-table-column + prop="nickname" + label="分销员" width="100"> + </el-table-column> + <el-table-column + prop="parentUser" + label="邀请人" width="100"> + </el-table-column> + <el-table-column + prop="lowerLevelNum" + label="下级客户数" width="100"> + </el-table-column> + <el-table-column + prop="totalRevenue" + label="累计收益"> + </el-table-column> + <el-table-column + prop="balance" + label="待结算"> + </el-table-column> + <el-table-column + prop="grade" + label="等级"> + </el-table-column> + <el-table-column + prop="createTime" + label="加入时间" + :formatter="formatDate"> + </el-table-column> + <el-table-column + label="状态"> + <template slot-scope="scope"> + <span v-if="scope.row.applyStatus == 1">待审核</span> + <span v-if="scope.row.applyStatus == 2">通过</span> + <span v-if="scope.row.applyStatus == 3">未通过</span> + </template> + </el-table-column> + <el-table-column + label="来源"> + <template slot-scope="scope"> + <span v-if="scope.row.applyWay == 1">自主申请</span> + <span v-if="scope.row.applyWay == 2">自动添加</span> + <span v-if="scope.row.applyWay == 3">上级邀请</span> + <span v-if="scope.row.applyWay == 4">手动添加</span> + </template> + </el-table-column> + <el-table-column label="操作" width="240"> + <template slot-scope="scope"> + <el-row style="display:flex;"> + <el-button type="primary" size="mini" @click="openExamineSaleManApply(scope.row)">审核</el-button> + <el-button type="primary" size="mini" @click="openUpdateSaleManGrade(scope.row)">修改等级</el-button> + </el-row> </template> </el-table-column> </el-table> - </template> </el-row> <el-row class="paginationStyle" > <el-pagination background @@ -196,8 +247,12 @@ jfdxj:[], mdjf:[], scjf:[], + shenheAgreeType : 2, + shenheDisagreeType : 3, form:{ shenheState:'', + salemanGrade:'', + userName:'', order:'', sort:'' }, @@ -208,6 +263,8 @@ {value:2,label:'通过'}, {value:3,label:'未通过'} ], + //条件查询分销员等级 + salemanGradeList:[], fxyList:{ rows:[], total:0, @@ -232,6 +289,7 @@ loadInfo() { let _this = this; _this.loadParamSetting(); + _this.getSalemanGradeList(); }, submittp(paramValue) { alert(paramValue); @@ -266,10 +324,24 @@ } }); }, + // 下拉框数据源---分销员等级 + getSalemanGradeList() { + let _this = this; + AjaxProxy.requst({ + app: _this, + data:[], + url: basePath + '/fenXiao/fenXiaoUser/getShopSalesmanGrade', + callback: function (data) { + _this.salemanGradeList = data.mapInfo.salesGrade; + } + }); + }, getRequestParam(){ let _this = this; return { shenheState:_this.form.shenheState, + salemanGrade:_this.form.salemanGrade, + userName:_this.form.userName, order:_this.form.order, sort:_this.form.sort, } @@ -305,6 +377,15 @@ this.table.currentPage = val; this.loadData(); }, + //时间格式化 + formatDate(row,column){ + let data = row[column.property] + if (data ===null) { + return '' + } + let dt = new Date(data) + return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + }, //新增分销员页面 addSaleMan(){ layer.full(layer.open({ @@ -315,6 +396,54 @@ content : [ basePath + '/admin/redirect/fenxiao/fenxiao-apply'] })); }, + //修改等级 + openUpdateSaleManGrade(){ + layer.full(layer.open({ + type: 2, + title: "修改等级", + maxmin: true, + area: [MUI.SIZE_L, '500px'], + content : [ basePath + '/admin/redirect/fenxiao/fenxiao-udpate'] + })); + }, + //审核 + openExamineSaleManApply(row) { + this.$confirm('是否通过?', '审核', { + distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别 + confirmButtonText: '通过', + cancelButtonText: '不通过', + type: 'info' + }).then(() => { + //通过 + this.examineSaleManApply(row,this.shenheAgreeType); + }).catch(action => { + //不通过 + if(action === 'cancel'){ + this.examineSaleManApply(row,this.shenheDisagreeType); + }else{ + //关闭按钮 + console.log("close"); + //this.$message({type: 'info',message: ''}) + } + }); + }, + examineSaleManApply(row,type){ + let _this = this; + let userId = row.userId; + let obj = { + userId: userId, + applyState: type, + } + AjaxProxy.requst({ + app: _this, + data:obj, + url: basePath + '/fenXiao/fenXiaoUser/examineSaleManApply', + callback: function (data) { + _this.$message.success(data.info); + this.loadData(); + } + }); + }, submit() { } -- Gitblit v1.9.1