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