zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
New file @@ -0,0 +1,94 @@ package com.matrix.system.fenxiao.action; import com.matrix.core.pojo.AjaxResult; import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto; import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderBasicDto; import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto; import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto; import com.matrix.system.fenxiao.dto.UpdateSetOrderDoneDto; import com.matrix.system.fenxiao.service.ShopSalesmanOrderService; import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo; import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo; import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping(value = "/fenXiao/fenXiaoOrder") public class FenXiaoOrderAction { @Autowired private ShopSalesmanOrderService shopSalesmanOrderService; /** * 分销订单基本信息 */ @ApiOperation(value = "分销订单基本信息") @ApiResponses({ @ApiResponse(code = 200, message = "OK", response = LoadFenxiaoOrderBasicVo.class) }) @PostMapping(value = "/loadFenxiaoOrderBasic") public @ResponseBody AjaxResult loadFenxiaoOrderBasic(@RequestBody LoadFenxiaoOrderBasicDto loadFenxiaoOrderBasicDto) { return shopSalesmanOrderService.loadFenxiaoOrderBasic(loadFenxiaoOrderBasicDto); } /** * 分销订单 */ @ApiOperation(value = "分销订单") @ApiResponses({ @ApiResponse(code = 200, message = "OK", response = LoadFenxiaoOrderListVo.class) }) @PostMapping(value = "/loadFenxiaoOrderList") public @ResponseBody AjaxResult loadFenxiaoOrderList(@RequestBody LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) { return shopSalesmanOrderService.loadFenxiaoOrderList(loadFenxiaoOrderListDto); } /** *批量结算分销订单 */ @ApiOperation(value = "批量结算分销订单") @PostMapping(value = "/updateSetOrderDone") public @ResponseBody AjaxResult updateSetOrderDone(@RequestBody UpdateSetOrderDoneDto updateSetOrderDoneDto) { return shopSalesmanOrderService.updateSetOrderDone(updateSetOrderDoneDto); } /** * 结算记录 */ @ApiOperation(value = "分销订单") @ApiResponses({ @ApiResponse(code = 200, message = "OK", response = LoadSetOrderListDtoVo.class) }) @PostMapping(value = "/loadSetOrderList") public @ResponseBody AjaxResult loadSetOrderList(@RequestBody LoadSetOrderListDtoDto loadSetOrderListDto) { return shopSalesmanOrderService.loadSetOrderList(loadSetOrderListDto); } } zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
@@ -83,6 +83,7 @@ result.putInMap("sqtj", sqtjRuleSettingsVo); if(CollUtil.isNotEmpty(sqtjRuleSettingsVo)){ for(FenXiaoSettingVo fenXiaoSettingVo : sqtjRuleSettingsVo) { //选择申请条件条件3时,获得选中产品集合 if("3".equals(fenXiaoSettingVo.getParamValue())) { String paramValue1 = fenXiaoSettingVo.getParamValue1(); if(StrUtil.isNotEmpty(paramValue1)) { zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
@@ -3,7 +3,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto; import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto; import com.matrix.system.fenxiao.entity.ShopSalesmanOrder; import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo; import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo; import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo; import com.matrix.system.shopXcx.api.dto.SaleOrderDto; import com.matrix.system.shopXcx.vo.SalesOrderVo; import org.apache.ibatis.annotations.Param; @@ -23,4 +28,12 @@ */ IPage<SalesOrderVo> selectSalesManOrder(Page<SalesOrderVo> page, @Param("record")SaleOrderDto saleOrderDto); LoadFenxiaoOrderBasicVo selectFenxiaoOrderBasicByCompanyId(@Param("companyId")Long companyId); IPage<LoadFenxiaoOrderListVo> findFenxiaoOrderList(Page<LoadFenxiaoOrderListVo> page, @Param("record")LoadFenxiaoOrderListDto loadFenxiaoOrderListDto); IPage<LoadSetOrderListDtoVo> findSetOrderList(Page<LoadSetOrderListDtoVo> page, @Param("record")LoadSetOrderListDtoDto loadSetOrderListDto); } zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java
@@ -12,5 +12,11 @@ @ApiModelProperty(hidden = true) private Long companyId; @ApiModelProperty(value ="会员OPENID") private String userId; @ApiModelProperty(value ="申请记录ID") private Long applyId; } zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderBasicDto.java
New file @@ -0,0 +1,14 @@ package com.matrix.system.fenxiao.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "LoadFenxiaoOrderBasicDto", description = "查询参数") public class LoadFenxiaoOrderBasicDto { @ApiModelProperty(hidden = true) private Long companyId; } zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java
New file @@ -0,0 +1,19 @@ package com.matrix.system.fenxiao.dto; import com.matrix.core.pojo.BasePageQueryDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "LoadFenxiaoOrderListDto", description = "查询参数") public class LoadFenxiaoOrderListDto extends BasePageQueryDto { @ApiModelProperty(hidden = true) private Long companyId; @ApiModelProperty(value ="会员姓名") private String userName; } zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java
New file @@ -0,0 +1,19 @@ package com.matrix.system.fenxiao.dto; import com.matrix.core.pojo.BasePageQueryDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "LoadSetOrderListDtoDto", description = "查询参数") public class LoadSetOrderListDtoDto extends BasePageQueryDto { @ApiModelProperty(hidden = true) private Long companyId; @ApiModelProperty(value ="会员姓名") private String userName; } zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java
New file @@ -0,0 +1,17 @@ package com.matrix.system.fenxiao.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "UpdateSetOrderDoneDto", description = "查询参数") public class UpdateSetOrderDoneDto { @ApiModelProperty(hidden = true) private Long companyId; @ApiModelProperty(value ="需要处理的IDs(字符串逗号隔开)") private String orderIds; } zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -329,19 +329,19 @@ return AjaxResult.buildFailInstance("请输入方案名称"); } Double sealesCommission = updateFyfaDto.getSealesCommission(); if(StrUtil.isEmpty(sealesCommission.toString())) { if(ObjectUtil.isEmpty(sealesCommission)) { return AjaxResult.buildFailInstance("请输入正确的推广提成"); } Double invitationCommission = updateFyfaDto.getInvitationCommission(); if(StrUtil.isEmpty(invitationCommission.toString())) { if(ObjectUtil.isEmpty(invitationCommission)) { return AjaxResult.buildFailInstance("请输入正确的邀请提成"); } //设置用户公司ID QueryUtil.setQueryLimitCom(updateFyfaDto); selectById.setCompanyId(updateFyfaDto.getCompanyId()); selectById.setName(updateFyfaDto.getName()); selectById.setSealesCommission(updateFyfaDto.getSealesCommission()); selectById.setInvitationCommission(updateFyfaDto.getInvitationCommission()); selectById.setSealesCommission(sealesCommission); selectById.setInvitationCommission(invitationCommission); selectById.setGradeCondition(updateFyfaDto.getGradeCondition()); shopSalesmanGradeDao.updateById(selectById); return AjaxResult.buildFailInstance("操作成功"); zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java
@@ -1,9 +1,33 @@ package com.matrix.system.fenxiao.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.StringUtils; import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao; import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderBasicDto; import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto; import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto; import com.matrix.system.fenxiao.dto.UpdateSetOrderDoneDto; import com.matrix.system.fenxiao.entity.ShopSalesmanOrder; import com.matrix.system.fenxiao.vo.FenXiaoSettingVo; import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo; import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo; import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.ShoppingGoods; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * @description 分销订单 @@ -12,6 +36,86 @@ */ @Service public class ShopSalesmanOrderService extends ServiceImpl<ShopSalesmanOrderDao, ShopSalesmanOrder>{ @Autowired ShopSalesmanOrderDao shopSalesmanOrderDao; public AjaxResult loadFenxiaoOrderBasic(LoadFenxiaoOrderBasicDto loadFenxiaoOrderBasicDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(loadFenxiaoOrderBasicDto); AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); //根据OPENID查询基础信息 Long companyId = loadFenxiaoOrderBasicDto.getCompanyId(); LoadFenxiaoOrderBasicVo loadFenxiaoOrderBasicVo = shopSalesmanOrderDao.selectFenxiaoOrderBasicByCompanyId(companyId); result.putInMap("basicdetail", loadFenxiaoOrderBasicVo); return result; } public AjaxResult loadFenxiaoOrderList(LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(loadFenxiaoOrderListDto); //排序 if(StringUtils.isBlank(loadFenxiaoOrderListDto.getSort())){ loadFenxiaoOrderListDto.setSort("create_time"); loadFenxiaoOrderListDto.setOrder("desc"); } Page<LoadFenxiaoOrderListVo> page = new Page(loadFenxiaoOrderListDto.getPageNum(), loadFenxiaoOrderListDto.getPageSize()); IPage<LoadFenxiaoOrderListVo> loadFenxiaoOrderListVos = shopSalesmanOrderDao.findFenxiaoOrderList(page,loadFenxiaoOrderListDto); return AjaxResult.buildSuccessInstance(loadFenxiaoOrderListVos.getRecords(),loadFenxiaoOrderListVos.getTotal()); } public AjaxResult loadSetOrderList(LoadSetOrderListDtoDto loadSetOrderListDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(loadSetOrderListDto); //排序 if(StringUtils.isBlank(loadSetOrderListDto.getSort())){ loadSetOrderListDto.setSort("create_time"); loadSetOrderListDto.setOrder("desc"); } Page<LoadSetOrderListDtoVo> page = new Page(loadSetOrderListDto.getPageNum(), loadSetOrderListDto.getPageSize()); IPage<LoadSetOrderListDtoVo> loadFenxiaoOrderListVos = shopSalesmanOrderDao.findSetOrderList(page,loadSetOrderListDto); return AjaxResult.buildSuccessInstance(loadFenxiaoOrderListVos.getRecords(),loadFenxiaoOrderListVos.getTotal()); } @Transactional(rollbackFor = Exception.class) public AjaxResult updateSetOrderDone(UpdateSetOrderDoneDto updateSetOrderDoneDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(updateSetOrderDoneDto); // String orderIds = updateSetOrderDoneDto.getOrderIds(); // if(StrUtil.isNotEmpty(orderIds)){ // List<Integer> idsList = new ArrayList<>(); // List<String> idsStringList = Arrays.asList(orderIds.split(",")); //产生订单结算记录 //记录收益流水 // ShopRevenueFlow salesRevenueFlow=new ShopRevenueFlow(); // salesRevenueFlow.setCompanyId(order.getCompanyId()); // salesRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER); // salesRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER); // salesRevenueFlow.setCreateTime(new Date()); // salesRevenueFlow.setUpdateTime(new Date()); // salesRevenueFlow.setAmount(salesAmount); // salesRevenueFlow.setUserId(salesmanOrder.getSalesUserId()); // salesRevenueFlow.setRevenueContent("推广收益"); // salesRevenueFlow.setBusinessId(salesmanOrder.getOrderId()); // shopRevenueFlowDao.insert(salesRevenueFlow); //收益流水 // ShopRevenueFlow invitationRevenueFlow=new ShopRevenueFlow(); // invitationRevenueFlow.setCompanyId(order.getCompanyId()); // invitationRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER); // invitationRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER); // invitationRevenueFlow.setCreateTime(new Date()); // invitationRevenueFlow.setUpdateTime(new Date()); // invitationRevenueFlow.setAmount(salesAmount); // invitationRevenueFlow.setUserId(invitationOrder.getSalesUserId()); // invitationRevenueFlow.setRevenueContent("邀请收益"); // invitationRevenueFlow.setBusinessId(invitationOrder.getOrderId()); // shopRevenueFlowDao.insert(invitationRevenueFlow); // } return AjaxResult.buildFailInstance("操作成功"); } zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java
New file @@ -0,0 +1,20 @@ package com.matrix.system.fenxiao.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data @ApiModel(value = "LoadFenxiaoOrderBasicVo", description = "返回类") public class LoadFenxiaoOrderBasicVo { @ApiModelProperty(value = "待计算金额") private BigDecimal balance; @ApiModelProperty(value = "待结算人数") private Integer waitNum; @ApiModelProperty(value = "待结算订单") private Integer waitOrderNum; } zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java
New file @@ -0,0 +1,41 @@ package com.matrix.system.fenxiao.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; @Data @ApiModel(value = "LoadFenxiaoOrderListVo", description = "返回类") public class LoadFenxiaoOrderListVo { @ApiModelProperty(value = "订单ID") private Long id; @ApiModelProperty(value = "订单编号") private String orderNo; @ApiModelProperty(value = "实付金额(元)") private BigDecimal actualBalance; @ApiModelProperty(value = "下单门店") private String address; @ApiModelProperty(value = "客户") private String custom; @ApiModelProperty(value = "推广员") private String parentSale; @ApiModelProperty(value = "收益类型") private Integer profitType; @ApiModelProperty(value = "收益金额") private BigDecimal profitBalance; @ApiModelProperty(value = "结算状态") private Integer settleType; @ApiModelProperty(value = "结算编号") private String settleNo; @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") @ApiModelProperty(value = "结算时间") private Date settleTime; @ApiModelProperty(value = "结算人") private String settler; } zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java
New file @@ -0,0 +1,36 @@ package com.matrix.system.fenxiao.vo; import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "LoadSetOrderListDtoVo", description = "返回类") public class LoadSetOrderListDtoVo { @ApiModelProperty(value = "ID") private Long id; @ApiModelProperty(value = "结算编号") private String orderNo; @ApiModelProperty(value = "结算金额") private BigDecimal actualBalance; @ApiModelProperty(value = "结算订单数") private String setNum; @ApiModelProperty(value = "结算人数") private String setManNum; @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") @ApiModelProperty(value = "结算时间") private Date setTime; @ApiModelProperty(value = "结算人") private Integer setMan; @ApiModelProperty(value = "结算方式") private BigDecimal settlementWay; @ApiModelProperty(value = "备注") private Integer remark; } zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
@@ -64,4 +64,78 @@ </select> <select id="selectFenxiaoOrderBasicByCompanyId" resultType="com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo"> SELECT COUNT(*) num, (SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order WHERE order_status = 1 and company_id=#{companyId}) balance, (SELECT COUNT(*) FROM (SELECT DISTINCT user_id FROM shop_salesman_order WHERE order_status = 1 and company_id=#{companyId} ) a) waitNum, (SELECT COUNT(*) FROM shop_salesman_order WHERE order_status = 1 and company_id=#{companyId}) waitOrderNum FROM shop_salesman_order where company_id=#{companyId} </select> <select id="findFenxiaoOrderList" resultType="com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo"> SELECT a.id id, (select order_no from shop_order where id = a.order_id) orderNo, (select order_money from shop_order where id = a.order_id) actualBalance, (select store_name from shop_store where store_id = (select store_id from shop_order where id = a.order_id)) address, b.nick_name custom, (select nick_name from biz_user where open_id = b.parent_open_id) parentSale, a.revenue_type profitType, a.amount profitBalance, a.order_status settleType, c.order_no settleNo, c.create_time settleTime, (select nick_name from biz_user where c.user_id = open_id) settler FROM shop_salesman_order a LEFT JOIN biz_user b on a.user_id = b.open_id LEFT JOIN shop_saleman_settlement c on a.settlement_id = c.id <where> a.company_id = #{record.companyId} <if test="record.userName != null and record.userName != ''"> and b.nick_name like concat('%',#{record.userName},'%') </if> </where> <if test="record.sort !=null"> order by a.${record.sort} ${record.order} </if> </select> <select id="findSetOrderList" resultType="com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo"> select a.id id, a.order_no orderNo, a.amount actualBalance, a.order_count setNum, a.man_count setManNum, a.create_time setTime, b.nick_name setMan, a.settlement_way settlementWay, a.remark remark from shop_saleman_settlement a left join biz_user b on a.user_id = b.open_id <where> a.company_id = #{record.companyId} <if test="record.userName != null and record.userName != ''"> and b.nick_name like concat('%',#{record.userName},'%') </if> </where> <if test="record.sort !=null"> order by a.${record.sort} ${record.order} </if> </select> </mapper> zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
New file @@ -0,0 +1,495 @@ <!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 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>待计算金额</div> <div style="padding: 5px;font-size: 18px;">¥{{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;"> <div>待结算人数</div> <div style="padding: 5px;font-size: 18px;">{{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;"> <div>待结算订单</div> <div style="padding: 5px;font-size: 18px;">{{basicdetail.waitOrderNum}}笔</div> </el-card > </el-col> </el-row> </el-row> <el-row> <el-tabs v-model="activeName" > <el-tab-pane label="分销订单" name="first"> <el-row justify="space-between" type="flex"> <el-col :span="6"> <el-button type="primary" @click="setOrderDone()">批量结算</el-button> </el-col> <el-col> <el-form ref="form" :model="form" inline > <el-form-item label="结算状态" prop="orderType"> <el-select v-model="form.orderType" placeholder="结算状态"> <el-option v-for="item in orderTypeList" :key="item.value" :label="item.label" :value="item.value" > </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-form-item prop="userName" > <el-input v-model="form.userName" placeholder="选择订单时间范围"></el-input> </el-form-item> <el-form-item prop="userName" > <el-input v-model="form.userName" placeholder="请输入会员姓名"></el-input> </el-form-item> <el-form-item prop="userName" > <el-input v-model="form.userName" placeholder="请输入结算编号"></el-input> </el-form-item> <el-form-item prop="userName" > <el-input v-model="form.userName" placeholder="请输入订单号"></el-input> </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 class="table-style" > <el-table ref="multipleTable" :data="fxyList.rows" :height="height" stripe:true @sort-change="sortChange" @selection-change="handleSelectionChange"> <el-table-column type="selection"> </el-table-column> <el-table-column prop="orderNo" label="订单编号"> </el-table-column> <el-table-column prop="actualBalance" label="实付金额(元)"> </el-table-column> <el-table-column prop="address" label="下单门店"> </el-table-column> <el-table-column prop="custom" label="客户"> </el-table-column> <el-table-column prop="parentSale" label="推广员"> </el-table-column> <el-table-column label="收益类型"> <template slot-scope="scope"> <span v-if="scope.row.profitType == 1">推广收益</span> <span v-if="scope.row.profitType == 2">邀请收益</span> </template> </el-table-column> <el-table-column prop="profitBalance" label="收益金额"> </el-table-column> <el-table-column label="结算状态"> <template slot-scope="scope"> <span v-if="scope.row.settleType == 1">待结算</span> <span v-if="scope.row.settleType == 2">已结算</span> <span v-if="scope.row.settleType == 3">已退款</span> </template> </el-table-column> <el-table-column prop="settleNo" label="结算编号"> </el-table-column> <el-table-column prop="settleTime" label="结算时间"> </el-table-column> <el-table-column prop="settler" label="结算人"> </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="openExaminesaleMan(scope.row)">查看订单</el-button> </el-row> </template> </el-table-column> </el-table> </el-row> <el-row class="paginationStyle" > <el-pagination background @size-change="changePageSize" @current-change="changeCurrentPage" :current-page="fxyList.currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="fxyList.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="fxyList.total"> </el-pagination> </el-row> </el-tab-pane> <el-tab-pane label="结算记录" name="second"> <el-row style="display:flex;align-items: center;text-align: right;"> <el-col> <el-form ref="formOrder" :model="formOrder" inline > <el-form-item prop="userName"> <el-input v-model="formOrder.userName" placeholder="请输入结算人姓名"></el-input> </el-form-item> <el-button type="primary" @click="searchFormOrder" >搜索</el-button> <el-button @click="resetFormOrder('formOrder')">重置</el-button> </el-form> </el-col> </el-row> <el-row class="table-style" > <el-table :data="orderLevelList.rows" :height="height" stripe:true @sort-change="sortChange"> <el-table-column prop="orderNo" label="结算编号"> </el-table-column> <el-table-column prop="actualBalance" label="结算金额"> </el-table-column> <el-table-column prop="setNum" label="结算订单数"> </el-table-column> <el-table-column prop="setManNum" label="结算人数"> </el-table-column> <el-table-column prop="setTime" label="结算时间"> </el-table-column> <el-table-column prop="setMan" label="结算人"> </el-table-column> <el-table-column label="结算方式"> <template slot-scope="scope"> <span v-if="scope.row.settlementWay == 1">线下结算</span> <span v-if="scope.row.settlementWay == 2">微信余额结算</span> </template> </el-table-column> <el-table-column prop="remark" label="备注"> </el-table-column> </el-table> </el-row> <el-row class="paginationStyle" > <el-pagination background @size-change="changePageSizeOrder" @current-change="changeCurrentPageOrder" :current-page="orderLevelList.currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="orderLevelList.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="orderLevelList.total"> </el-pagination> </el-row> </el-tab-pane> </el-tabs> </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> //获取传输的USERID对象 var userId = $.query.get("userId"); var applyId = $.query.get("applyId"); var app = new Vue({ el: '#app', data: { activeName: 'first', height:'calc(100vh - 240px)', //基本数据 basicdetail:{}, //--分销订单 //选中操作 multipleSelection: [], orderIds:"", orderNums:0, // 条件查询结算状态 orderTypeList:[ {value:'',label:'全部'}, {value:1,label:'待结算'}, {value:2,label:'已结算'}, {value:3,label:'已退款'} ], form:{ userName:'', orderType:'', order:'', sort:'' }, fxyList:{ rows:[], total:0, pageSize:10, currentPage:1, }, //--结算记录 formOrder:{ userName:'', order:'', sort:'' }, orderLevelList:{ rows:[], total:0, pageSize:10, currentPage:1, }, }, created: function () { this.loadInfo(); }, mounted: function () { }, methods: { //加载分类 loadInfo() { let _this = this; _this.loadFenxiaoOrderBasic(); _this.loadFenxiaoOrderList(); }, //--基础数据 loadFenxiaoOrderBasic() { let _this = this; let obj = {}; AjaxProxy.requst({ app: _this, data:obj, url: basePath + '/fenXiao/fenXiaoOrder/loadFenxiaoOrderBasic', callback: function (data) { _this.basicdetail = data.mapInfo.basicdetail; } }); }, //--结算记录 loadSetOrderList() { let _this = this; let data=_this.getRequestParamOrder(); data.pageSize=_this.orderLevelList.pageSize; data.pageNum=_this.orderLevelList.currentPage; AjaxProxy.requst({ app: _this, data:data, url: basePath + '/fenXiao/fenXiaoOrder/loadSetOrderList', callback: function (data) { _this.orderLevelList.rows = data.rows; _this.orderLevelList.total = data.total; } }); }, //查询参数 getRequestParamOrder(){ let _this = this; return { userName:_this.formOrder.userName, order:_this.formOrder.order, sort:_this.formOrder.sort, } }, //查询 searchFormOrder:function(){ this.orderLevelList.currentPage=1; this.loadSetOrderList(); }, //重置 resetFormOrder(formName) { this.$refs[formName].resetFields(); }, changePageSizeOrder(val) { this.orderLevelList.pageSize = val; this.loadSetOrderList(); }, changeCurrentPageOrder(val) { this.orderLevelList.currentPage = val; this.loadSetOrderList(); }, //--分销订单 loadFenxiaoOrderList() { 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/fenXiaoOrder/loadFenxiaoOrderList', callback: function (data) { _this.fxyList.rows = data.rows; _this.fxyList.total = data.total; } }); }, //查询参数 getRequestParam(){ let _this = this; return { userName:_this.form.userName, order:_this.form.order, sort:_this.form.sort, } }, //查询 search:function(){ this.fxyList.currentPage=1; this.loadFenxiaoOrderList(); }, //重置 resetForm(formName) { this.$refs[formName].resetFields(); }, changePageSize(val) { this.fxyList.pageSize = val; this.loadFenxiaoOrderList(); }, changeCurrentPage(val) { this.fxyList.currentPage = val; this.loadFenxiaoOrderList(); }, //排序 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(); } }, //选择 handleSelectionChange(val) { let _this = this; _this.multipleSelection = val; //拼接出一个逗号隔开的字符串 let submitDate = ""; let orderNum = 0; for (let i = 0; i < _this.multipleSelection.length; i++) { let order = _this.multipleSelection[i]; let orderId = order.id; orderNum = orderNum + 1; submitDate = submitDate +orderId+","; } _this.orderIds = submitDate; _this.orderNums = orderNum; }, //批量结算 setOrderDone() { if(this.orderNums > 0){ this.$confirm('是否结算选中的'+this.orderNums+'条数据?', '批量结算', { distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别 confirmButtonText: '确认', cancelButtonText: '取消', type: 'info' }).then(() => { //通过 this.updateSetOrderDone(); }).catch(action => { //不通过 if(action === 'cancel'){ console.log("cancel"); }else{ //关闭按钮 console.log("close"); } }); }else{ this.$message({ message: '至少需要选中一条数据', type: 'warning' }); } }, updateSetOrderDone(){ let _this = this; let obj = { orderIds: _this.orderIds, } AjaxProxy.requst({ app: _this, data:obj, url: basePath + '/fenXiao/fenXiaoOrder/updateSetOrderDone', callback: function (data) { _this.$message.success(data.info); _this.loadFenxiaoOrderList(); } }); }, } }) </script> </body> </html> zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
@@ -385,6 +385,7 @@ tgtpSubmit(){ let _this = this; let imageUrl = _this.imageUrl; alert(imageUrl); let data= { imageUrl:imageUrl, }; @@ -399,7 +400,9 @@ }); }, handleAvatarSuccess(res, file) { this.imageUrl = URL.createObjectURL(file.raw); //this.imageUrl = URL.createObjectURL(file.raw); //alert(res.path); this.imageUrl = res.path; }, beforeAvatarUpload(file) { const isJPG = file.type === 'image/jpeg';