zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -14,6 +14,7 @@ import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.VerificationResult; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.BusParameterSettings; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.dao.BusParameterSettingsDao; @@ -357,11 +358,9 @@ @Transactional(rollbackFor = Exception.class) public AjaxResult updateFyfa(UpdateFyfaDto updateFyfaDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(updateFyfaDto); ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(updateFyfaDto.getId()); if(ObjectUtil.isEmpty(selectById)) { return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面"); } String name = updateFyfaDto.getName(); if(StrUtil.isEmpty(name)) { return AjaxResult.buildFailInstance("请输入方案名称"); @@ -374,8 +373,23 @@ if(ObjectUtil.isEmpty(invitationCommission)) { return AjaxResult.buildFailInstance("请输入正确的邀请提成"); } //设置用户公司ID QueryUtil.setQueryLimitCom(updateFyfaDto); if(ObjectUtil.isEmpty(selectById)) { SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); ShopSalesmanGrade shopSalesmanGrade = new ShopSalesmanGrade(); shopSalesmanGrade.setCompanyId(updateFyfaDto.getCompanyId()); shopSalesmanGrade.setName(updateFyfaDto.getName()); shopSalesmanGrade.setSealesCommission(sealesCommission); shopSalesmanGrade.setInvitationCommission(invitationCommission); shopSalesmanGrade.setGradeCondition(updateFyfaDto.getGradeCondition()); shopSalesmanGrade.setIsDefault(2); shopSalesmanGrade.setCreateBy(user.getSuName()); shopSalesmanGrade.setUpdateBy(user.getSuName()); shopSalesmanGrade.setCreateTime(new Date()); shopSalesmanGrade.setUpdateTime(new Date()); shopSalesmanGrade.setCompanyId(user.getCompanyId()); shopSalesmanGradeDao.insert(shopSalesmanGrade); return AjaxResult.buildSuccessInstance("操作成功"); } selectById.setCompanyId(updateFyfaDto.getCompanyId()); selectById.setName(updateFyfaDto.getName()); selectById.setSealesCommission(sealesCommission); zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java
@@ -74,8 +74,10 @@ private String nickname; @ApiModelProperty(value = "头像") private String avatarUrl; @ApiModelProperty(value = "邀请人") @ApiModelProperty(value = "注册邀请人") private String parentUser; @ApiModelProperty(value = "当前上级") private String parentUserNow; @ApiModelProperty(value = "推广客户") private Integer lowerLevelNum; @ApiModelProperty(value = "邀请下级") zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -66,6 +66,7 @@ b.nick_name nickname, (SELECT s.nick_name FROM biz_user s WHERE s.open_id = a.parent_user_id ) parentUser, c.nick_name parentUserNow, ( SELECT COUNT(*) FROM biz_user WHERE parent_open_id = a.user_id AND is_sales != 1 ) lowerLevelNum, ( SELECT COUNT(*) FROM biz_user @@ -82,6 +83,7 @@ shop_salesman_apply a LEFT JOIN biz_user b ON a.user_id = b.open_id LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id LEFT JOIN biz_user c ON c.open_id = b.parent_open_id <where> a.company_id=#{record.companyId} <if test="record.shenheState != null and record.shenheState != ''"> zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
@@ -23,39 +23,48 @@ <script type="text/javascript" charset="utf-8" th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script> <style> .panel-body{ overflow: hidden; } .paginationStyle{ background: #ffffff; padding: 10px 10px; margin: 0px 0px 10px 0px; text-align: right; } .box-card { width: 240px; border-radius: 5px; color: #ffffff; padding: 2px 0px; margin-right: 20px; cursor: pointer; float: left; text-align: center; } .el-card__body { padding: 0px; } </style> </head> <body> <div class="ibox-content" id="app" v-cloak> <el-row style="padding: 10px;"> <el-row :gutter="100"> <el-col class="line" :span="8" style="text-align: center"> <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> <div class="panel-body" id="app" v-cloak> <el-row> <el-card class="box-card" style="background-color: #0f9aef;"> <div style="padding:10px;font-size: 20px;">¥{{basicdetail.balance}}</div> <div>待计算金额</div> <div style="padding: 5px;font-size: 30px;">¥{{basicdetail.balance}}</div> </el-card > </el-col> <el-col class="line" :span="8" style="text-align: center"> <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> <el-card class="box-card" style="background: #67C23A;"> <div style="padding:10px;font-size: 20px;">{{basicdetail.waitNum}}人</div> <div>待结算人数</div> <div style="padding: 5px;font-size: 30px;">{{basicdetail.waitNum}}人</div> </el-card > </el-col> <el-col class="line" :span="8" style="text-align: center"> <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> <el-card class="box-card" style="background: rgb(121, 187, 255);"> <div style="padding:10px;font-size: 20px;">{{basicdetail.waitOrderNum}}笔</div> <div>待结算订单</div> <div style="padding: 5px;font-size: 30px;">{{basicdetail.waitOrderNum}}笔</div> </el-card > </el-col> </el-row> </el-row> <el-row> <el-tabs v-model="activeName" > <el-tab-pane label="分销订单" name="first"> @@ -155,7 +164,8 @@ </el-table-column> <el-table-column prop="orderNo" label="订单编号"> label="订单编号" show-overflow-tooltip> </el-table-column> <el-table-column prop="actualBalance" @@ -177,15 +187,18 @@ </el-table-column> <el-table-column prop="address" label="下单门店"> label="下单门店" show-overflow-tooltip> </el-table-column> <el-table-column prop="custom" label="客户"> label="客户" show-overflow-tooltip> </el-table-column> <el-table-column prop="parentSale" label="推广员"> label="推广员" show-overflow-tooltip> </el-table-column> <el-table-column label="收益类型"> @@ -208,15 +221,19 @@ </el-table-column> <el-table-column prop="settleNo" label="结算编号" width="150"> label="结算编号" show-overflow-tooltip width="150"> </el-table-column> <el-table-column prop="settleTime" label="结算时间"> label="结算时间" show-overflow-tooltip> </el-table-column> <el-table-column prop="settler" label="结算人"> label="结算人" show-overflow-tooltip> </el-table-column> <el-table-column label="操作"> </el-table-column> @@ -262,7 +279,8 @@ <el-table :data="orderLevelList.rows" :height="height" stripe:true @sort-change="sortChange"> <el-table-column prop="orderNo" label="结算编号"> label="结算编号" show-overflow-tooltip> </el-table-column> <el-table-column prop="actualBalance" @@ -278,11 +296,13 @@ </el-table-column> <el-table-column prop="setTime" label="结算时间"> label="结算时间" show-overflow-tooltip> </el-table-column> <el-table-column prop="setMan" label="结算人"> label="结算人" show-overflow-tooltip> </el-table-column> <el-table-column label="结算方式"> @@ -293,7 +313,8 @@ </el-table-column> <el-table-column prop="remark" label="备注"> label="备注" show-overflow-tooltip> </el-table-column> </el-table> </el-row> @@ -332,7 +353,7 @@ el: '#app', data: { activeName: 'first', height:'calc(100vh - 240px)', height:'calc(100vh - 340px)', //--基本数据 basicdetail:{}, //--时间选择 @@ -588,7 +609,8 @@ let order = _this.multipleSelection[i]; //待审核的计算到弹出框 let orderState = order.orderState; if(orderState == 4 || orderState == 5){ let settleType = order.settleType; if((orderState == 4 || orderState == 5) && settleType == 1){ let orderId = order.id; name.push(order.customUserId); orderNum = orderNum + 1; @@ -626,7 +648,7 @@ setOrderDone() { if(this.orderNumsDones > 0){ this.$message({ message: '订单状态【待评价】和【已评价】才允许结算', message: '【待评价】和【已评价】状态下的【待结算】订单,才允许结算', type: 'warning' }); }else if(this.orderNums > 0){ zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html
@@ -31,43 +31,57 @@ } .el-aside { color: #333; line-height: 50px; line-height: 15px; } .el-main { color: #333; line-height: 50px; line-height: 15px; } .box-card { width: 160px; border-radius: 5px; color: #ffffff; padding: 5px 5px; margin-right: 20px; cursor: pointer; float: right; } .el-card__body { padding: 0px; } </style> </head> <body> <div class="ibox-content" id="app" v-cloak> <el-row> <p class="el-big-title">个人详情</p> </el-row> <el-container> <el-aside width="200px" style="display:flex;align-items: center;"> <el-avatar :size="100" :src="basicdetail.avatarUrl" style="display:flex;align-items: center;margin-left: 50px"></el-avatar> <el-aside width="60px" style="display:flex;align-items: center;"> <el-avatar :size="50" :src="basicdetail.avatarUrl" style="display:flex;align-items: center;margin-left: 10px"></el-avatar> </el-aside> <el-main> <el-row style="display:flex;align-items: center;"> <el-col :span="3" style="display:flex;align-items: center;"> <el-row style="display:flex;align-items: center;padding: 10px;"> <el-col :span="8" style="display:flex;align-items: center;"> <span style="font-size: 20px;">{{basicdetail.nickname}} </span> </el-col> <el-col :span="3"> <el-col :span="6"> <el-select v-model="basicdetail.grade" @focus="getDatalist()" @change="changeSaleManGrade(basicdetail.grade)" 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-col> <el-col :span="18"> <el-col :span="10"> </el-col> </el-row> <el-row style="display:flex;"> <el-row style="display:flex;padding: 5px;"> <el-col> <span> 手机号码:{{basicdetail.phone}} | 加入时间:{{basicdetail.createTime}} | 加入时间:{{basicdetail.createTime}} </span> </el-col> </el-row> <el-row style="display:flex;padding: 5px;"> <el-col> <span> 邀请人:{{basicdetail.parentUser}} | 来源: <span v-if="basicdetail.applyWay == 1">自主申请</span> @@ -82,35 +96,30 @@ </el-col> </el-row> </el-main> <el-main> <el-row> <el-row style="display:flex;align-items: center;text-align: center;"> <el-card class="box-card" style="background-color: #0f9aef;"> <div style="padding:10px;font-size: 20px;">{{basicdetail.lowerLevelNum}}人</div> <div>绑定客户</div> </el-card > <el-card class="box-card" style="background: #67C23A;"> <div style="padding:10px;font-size: 20px;">{{basicdetail.invitedNum}}人</div> <div>邀请下级</div> </el-card > <el-card class="box-card" style="background: rgb(121, 187, 255);"> <div style="padding:10px;font-size: 20px;">{{basicdetail.totalRevenue}}元</div> <div>累计收益</div> </el-card > <el-card class="box-card" style="background: rgb(93 191 45);"> <div style="padding:10px;font-size: 20px;">{{basicdetail.balance}}元</div> <div>待结算</div> </el-card > </el-row> </el-row> </el-main> </el-container> <el-row style="padding: 30px;"> <el-row :gutter="100"> <el-col class="line" :span="6" style="text-align: center"> <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> <div>绑定客户</div> <div style="padding: 5px;font-size: 18px;">{{basicdetail.lowerLevelNum}}人</div> </el-card > </el-col> <el-col class="line" :span="6" style="text-align: center"> <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> <div>邀请下级</div> <div style="padding: 5px;font-size: 18px;">{{basicdetail.invitedNum}}人</div> </el-card > </el-col> <el-col class="line" :span="6" style="text-align: center"> <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> <div>累计收益</div> <div style="padding: 5px;font-size: 18px;">{{basicdetail.totalRevenue}}元</div> </el-card > </el-col> <el-col class="line" :span="6" style="text-align: center"> <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> <div>待结算</div> <div style="padding: 5px;font-size: 18px;">{{basicdetail.balance}}元</div> </el-card > </el-col> </el-row> </el-row> <el-row> <el-tabs v-model="activeName" > <el-tab-pane label="绑定客户" name="first"> @@ -132,7 +141,8 @@ type="selection"> </el-table-column> <el-table-column label="客户"> label="客户" show-overflow-tooltip> <template slot-scope="scope"> <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/> {{scope.row.nickname}} @@ -140,7 +150,8 @@ </el-table-column> <el-table-column prop="createTime" label="绑定时间"> label="绑定时间" show-overflow-tooltip> </el-table-column> <el-table-column label="绑定方式"> @@ -267,7 +278,8 @@ <el-table id="proj" :data="orderLevelList.rows" :height="height" stripe:true @sort-change="sortChange"> <el-table-column prop="orderNo" label="订单编号"> label="订单编号" show-overflow-tooltip> </el-table-column> <el-table-column prop="orderMoney" @@ -289,10 +301,12 @@ </el-table-column> <el-table-column prop="storeName" label="下单门店"> label="下单门店" show-overflow-tooltip> </el-table-column> <el-table-column label="客户"> label="客户" show-overflow-tooltip> <template slot-scope="scope"> <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/> {{scope.row.nickName}} @@ -300,7 +314,8 @@ </el-table-column> <el-table-column prop="createTime" label="时间"> label="时间" show-overflow-tooltip> </el-table-column> <el-table-column label="收益类型"> @@ -404,7 +419,7 @@ pageSize:10, currentPage:1, }, height:'calc(100vh - 240px)', height:'calc(100vh - 400px)', }, created: function () { zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
@@ -23,6 +23,9 @@ <script type="text/javascript" charset="utf-8" th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script> <style> .panel-body{ overflow: hidden; } .paginationStyle{ background: #ffffff; padding: 10px 10px; @@ -56,7 +59,7 @@ </head> <body> <div class="ibox-content" id="app" v-cloak> <div class="panel-body" id="app" v-cloak> <el-row> <el-tabs v-model="activeName" > <el-tab-pane label="分销员管理" name="first"> @@ -99,15 +102,17 @@ type="selection"> </el-table-column> <el-table-column label="分销员" width="150"> label="分销员" show-overflow-tooltip width="150"> <template slot-scope="scope"> <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/> {{scope.row.nickname}} </template> </el-table-column> <el-table-column prop="parentUser" label="邀请人"> prop="parentUserNow" label="当前上级"> </el-table-column> <el-table-column prop="lowerLevelNum" @@ -132,6 +137,7 @@ <el-table-column prop="createTime" label="加入时间" show-overflow-tooltip :formatter="formatDate"> </el-table-column> <el-table-column @@ -142,6 +148,10 @@ <span v-if="scope.row.applyStatus == 3">未通过</span> <span v-if="scope.row.applyStatus == 4">系统删除</span> </template> </el-table-column> <el-table-column prop="parentUser" label="注册邀请人"> </el-table-column> <el-table-column label="来源"> @@ -211,7 +221,7 @@ <el-table-column label="操作" width="240"> <template slot-scope="scope"> <el-row style="display:flex;"> <el-button type="primary" v-if="scope.row.isDefault == 1" size="mini" @click="addFyfa()">新增</el-button> <el-button type="primary" v-if="scope.row.isDefault == 1" size="mini" @click="addFyfaReady()">新增</el-button> <el-button type="primary" size="mini" @click="updateFyfa(scope.row)">保存</el-button> <el-button type="danger" v-if="scope.row.isDefault == 2" size="mini" @click="delFyfa(scope.row)">删除</el-button> </el-row> @@ -442,18 +452,23 @@ this.loadFyfaSetting(); }, //新增 addFyfa(){ addFyfaReady(){ let _this = this; AjaxProxy.requst({ app: _this, data:[], url: basePath + '/fenXiao/fenXiaoUser/addFyfa', callback: function (data) { _this.$message.success(data.info); _this.loadFyfaSetting(); } }); let fyfaReady = {}; _this.fyfaList.rows.push(fyfaReady); }, // addFyfa(){ // let _this = this; // AjaxProxy.requst({ // app: _this, // data:[], // url: basePath + '/fenXiao/fenXiaoUser/addFyfa', // callback: function (data) { // _this.$message.success(data.info); // _this.loadFyfaSetting(); // } // }); // }, updateFyfa(row){ let _this = this; let id = row.id; @@ -489,7 +504,7 @@ }).then(() => { //通过 _this.delFyfaApply(row); _this.loadFyfaSetting(); }).catch(action => { //不通过 if(action === 'cancel'){ @@ -513,6 +528,7 @@ url: basePath + '/fenXiao/fenXiaoUser/delFyfaApply', callback: function (data) { _this.$message.success(data.info); _this.loadFyfaSetting(); } }); },