2 files added
8 files modified
| | |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | private ShopSalesmanApplyService shopSalesmanApplyService; |
| | | @Autowired |
| | | private ShopSalesmanApplyDao shopSalesmanApplyDao; |
| | | @Autowired |
| | | private BizUserDao bizUserDao; |
| | | |
| | | /** |
| | | * 查询分销员审核记录 |
| | |
| | | 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()); |
| | |
| | | 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("当前记录不是待审核状态"); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | | |
New file |
| | |
| | | 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; |
| | | |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value ="审核状态") |
| | | private Integer shenheState; |
| | | @ApiModelProperty(value ="分销员等级") |
| | | private Long salemanGrade; |
| | | @ApiModelProperty(value ="会员姓名") |
| | | private String userName; |
| | | |
| | | |
| | | @ApiModelProperty(hidden = true) |
| | | private Long companyId; |
| | |
| | | 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; |
| | |
| | | BusParameterSettingsDao busParameterSettingsDao; |
| | | |
| | | @Autowired |
| | | ShopSalesmanApplyDao salesmanApplyDao; |
| | | ShopSalesmanApplyDao shopSalesmanApplyDao; |
| | | |
| | | @Autowired |
| | | ShopSalesmanGradeDao shopSalesmanGradeDao; |
| | |
| | | * @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){ |
| | | |
| | |
| | | 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")){ |
| | |
| | | }else{ |
| | | shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); |
| | | } |
| | | salesmanApplyDao.insert(shopSalesmanApply); |
| | | shopSalesmanApplyDao.insert(shopSalesmanApply); |
| | | return shopSalesmanApply; |
| | | }else{ |
| | | throw new GlobleException("不能重复申请"); |
| | |
| | | } |
| | | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | |
| | | |
| | | @ApiModelProperty(value = "分销员") |
| | | private String nickname; |
| | | @ApiModelProperty(value = "头像") |
| | | private String avatarUrl; |
| | | @ApiModelProperty(value = "邀请人") |
| | | private String parentUser; |
| | | @ApiModelProperty(value = "下级客户数") |
| | |
| | | private BigDecimal balance; |
| | | @ApiModelProperty(value = "等级") |
| | | private String grade; |
| | | |
| | | @ApiModelProperty(value = "加入时间") |
| | | private Date createTime; |
| | | @ApiModelProperty(value = "状态") |
| | |
| | | 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); |
| | |
| | | <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"> |
| | |
| | | </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 |
New file |
| | |
| | | <!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> |
| | |
| | | </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 |
| | |
| | | jfdxj:[], |
| | | mdjf:[], |
| | | scjf:[], |
| | | shenheAgreeType : 2, |
| | | shenheDisagreeType : 3, |
| | | form:{ |
| | | shenheState:'', |
| | | salemanGrade:'', |
| | | userName:'', |
| | | order:'', |
| | | sort:'' |
| | | }, |
| | |
| | | {value:2,label:'通过'}, |
| | | {value:3,label:'未通过'} |
| | | ], |
| | | //条件查询分销员等级 |
| | | salemanGradeList:[], |
| | | fxyList:{ |
| | | rows:[], |
| | | total:0, |
| | |
| | | loadInfo() { |
| | | let _this = this; |
| | | _this.loadParamSetting(); |
| | | _this.getSalemanGradeList(); |
| | | }, |
| | | submittp(paramValue) { |
| | | alert(paramValue); |
| | |
| | | } |
| | | }); |
| | | }, |
| | | // 下拉框数据源---分销员等级 |
| | | 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, |
| | | } |
| | |
| | | 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({ |
| | |
| | | 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() { |
| | | } |