From 8027634ef66360e745df4f496d4bc4cf227d59c7 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 23 May 2025 13:28:34 +0800
Subject: [PATCH] feat(mall): 新增自提点功能

---
 src/main/java/cc/mrbird/febs/mall/vo/AdminLeaderVo.java                                    |   11 +
 src/main/resources/templates/index.html                                                    |    6 
 src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java   |   18 ++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java            |   32 ++++
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java         |   24 ++++
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java                 |    3 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java           |   38 ++++++
 src/main/resources/templates/febs/views/modules/leader/addLeader.html                      |   48 ++++---
 src/main/java/cc/mrbird/febs/mall/controller/teamLeader/AdminMallTeamLeaderController.java |   17 ++
 src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ViewMallTeamLeaderController.java  |   25 +++
 src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java                   |    2 
 src/main/resources/templates/febs/views/modules/leader/leaderList.html                     |   34 +++++
 src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java                                |    6 -
 src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java                             |   36 ++++++
 src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java                                    |    4 
 15 files changed, 253 insertions(+), 51 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/AdminMallTeamLeaderController.java
similarity index 94%
rename from src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java
rename to src/main/java/cc/mrbird/febs/mall/controller/teamLeader/AdminMallTeamLeaderController.java
index 28e0f4c..fbf5c87 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/AdminMallTeamLeaderController.java
@@ -1,4 +1,4 @@
-package cc.mrbird.febs.mall.controller;
+package cc.mrbird.febs.mall.controller.teamLeader;
 
 import cc.mrbird.febs.common.annotation.ControllerEndpoint;
 import cc.mrbird.febs.common.controller.BaseController;
@@ -7,13 +7,11 @@
 import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.mall.dto.AdminLeaderAddDto;
 import cc.mrbird.febs.mall.dto.AdminLeaderAddFenceDto;
-import cc.mrbird.febs.mall.dto.AdminLeaderUpdateDto;
-import cc.mrbird.febs.mall.dto.ApiApplayLeaderDto;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.service.IAdminMallTeamLeaderService;
 import cc.mrbird.febs.mall.vo.AdminLeaderBonusSettingVo;
-import cc.mrbird.febs.mall.vo.AdminRangeSettingVo;
+import cc.mrbird.febs.mall.vo.AdminLeaderVo;
 import cc.mrbird.febs.mall.vo.AdminSelectListLeaderVo;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -36,6 +34,17 @@
     private final IAdminMallTeamLeaderService iAdminMallTeamLeaderService;
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
+
+
+    /**
+     * 团长下拉列表
+     */
+    @GetMapping("leader/tree")
+    @ControllerEndpoint(exceptionMessage = "获取失败")
+    public List<AdminLeaderVo> getLeaderTree(){
+        return iAdminMallTeamLeaderService.getLeaderTree();
+    }
+
     /**
      * 团长信息--列表
      */
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java
similarity index 93%
rename from src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java
rename to src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java
index fdee968..8b91b02 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallTeamLeaderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ApiMallTeamLeaderController.java
@@ -1,4 +1,4 @@
-package cc.mrbird.febs.mall.controller;
+package cc.mrbird.febs.mall.controller.teamLeader;
 
 import cc.mrbird.febs.common.annotation.ControllerEndpoint;
 import cc.mrbird.febs.common.entity.FebsResponse;
@@ -21,11 +21,25 @@
 @RestController
 @RequiredArgsConstructor
 @RequestMapping(value = "/api/leader")
-@Api(value = "ApiMallTeamLeaderController", tags = "团长接口类")
+@Api(value = "ApiMallTeamLeaderController", tags = "365自提点")
 public class ApiMallTeamLeaderController {
 
     private final IApiMallTeamLeaderService iApiMallTeamLeaderService;
 
+
+
+    /**
+     * 自提点列表
+     */
+    @ApiOperation(value = "自提点列表", notes = "自提点列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiHappyLeaderInfoVo.class)
+    })
+    @PostMapping(value = "/happyLeaderList")
+    public FebsResponse happyLeaderList() {
+        return iApiMallTeamLeaderService.happyLeaderList();
+    }
+
     /**
      * 申请团长
      */
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ViewMallTeamLeaderController.java
similarity index 85%
rename from src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java
rename to src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ViewMallTeamLeaderController.java
index c16d635..27e8537 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/teamLeader/ViewMallTeamLeaderController.java
@@ -1,5 +1,6 @@
-package cc.mrbird.febs.mall.controller;
+package cc.mrbird.febs.mall.controller.teamLeader;
 
+import cc.mrbird.febs.common.annotation.ControllerEndpoint;
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsConstant;
 import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
@@ -10,6 +11,8 @@
 import cc.mrbird.febs.mall.mapper.MallMemberMapper;
 import cc.mrbird.febs.mall.service.IAdminMallTeamLeaderService;
 import cc.mrbird.febs.mall.vo.AdminLeaderBonusSettingVo;
+import cc.mrbird.febs.mall.vo.AdminLeaderVo;
+import cc.mrbird.febs.mall.vo.AdminMallGoodsCategoryTreeVo;
 import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
 import cn.hutool.core.util.ObjectUtil;
 import lombok.RequiredArgsConstructor;
@@ -19,6 +22,8 @@
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
+
+import java.util.List;
 
 @Controller("leaderView")
 @RequestMapping(FebsConstant.VIEW_PREFIX + "modules/leader")
@@ -60,10 +65,20 @@
         return FebsUtil.view("modules/leader/leaderGoodsUpdate");
     }
 
-    @GetMapping("addLeader/{id}")
-    public String addLeader(@PathVariable long id, Model model) {
-        MallMember mallMember = mallMemberMapper.selectById(id);
-        model.addAttribute("mallMember", mallMember);
+//    @GetMapping("addLeader/{id}")
+//    public String addLeader(@PathVariable long id, Model model) {
+//        MallMember mallMember = mallMemberMapper.selectById(id);
+//        model.addAttribute("mallMember", mallMember);
+//        return FebsUtil.view("modules/leader/addLeader");
+//    }
+
+    /**
+     * 新增
+     * @return
+     */
+    @GetMapping(value = "/addLeader")
+    @RequiresPermissions("addLeader:add")
+    public String leaderAdd() {
         return FebsUtil.view("modules/leader/addLeader");
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
index 28650b8..e9d1bc5 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
@@ -109,12 +109,6 @@
     @TableField(exist = false)
     private String addressPic;
     @TableField(exist = false)
-    private String province;
-    @TableField(exist = false)
-    private String city;
-    @TableField(exist = false)
-    private String township;
-    @TableField(exist = false)
     private String addressArea;
     @TableField(exist = false)
     private String detailAddress;
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java
index 154747b..dd8d65e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java
@@ -7,6 +7,7 @@
 import cc.mrbird.febs.mall.dto.AdminLeaderUpdateDto;
 import cc.mrbird.febs.mall.entity.MallLeaderStock;
 import cc.mrbird.febs.mall.entity.MallTeamLeader;
+import cc.mrbird.febs.mall.vo.AdminLeaderVo;
 import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
 import cc.mrbird.febs.mall.vo.AdminSelectListLeaderVo;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -39,4 +40,6 @@
     FebsResponse startOnline(Long id);
 
     FebsResponse closeOnline(Long id);
+
+    List<AdminLeaderVo> getLeaderTree();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
index 585a1d5..69ca5dc 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallTeamLeaderService.java
@@ -39,4 +39,6 @@
     FebsResponse findSomeLeaderListInPage(ApiLeaderListDto apiLeaderListDto);
 
     FebsResponse noLoginLeaderTitle(ApiLeaderTitleDto apiLeaderTitleDto);
+
+    FebsResponse happyLeaderList();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
index 6ca7a53..0741d49 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
@@ -17,6 +17,7 @@
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminMallTeamLeaderService;
 import cc.mrbird.febs.mall.service.IMallElectronicFenceService;
+import cc.mrbird.febs.mall.vo.AdminLeaderVo;
 import cc.mrbird.febs.mall.vo.AdminMallActSetVo;
 import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
 import cc.mrbird.febs.mall.vo.AdminSelectListLeaderVo;
@@ -27,6 +28,7 @@
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -42,6 +44,7 @@
 import org.apache.http.entity.ContentType;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.poi.ss.formula.functions.T;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -389,4 +392,25 @@
         return new FebsResponse().success();
     }
 
+    @Override
+    public List<AdminLeaderVo> getLeaderTree() {
+        ArrayList<AdminLeaderVo> adminLeaderVos = new ArrayList<>();
+
+        List<MallMember> mallMembers = mallMemberMapper.selectList(
+                new LambdaQueryWrapper<MallMember>()
+                        .select(MallMember::getId, MallMember::getName,  MallMember::getInviteId)
+                        .ne(MallMember::getStoreMaster, 0)
+        );
+        if(CollUtil.isNotEmpty(mallMembers)){
+            for(MallMember mallMember : mallMembers){
+                AdminLeaderVo adminLeaderVo = new AdminLeaderVo();
+                adminLeaderVo.setId(mallMember.getId());
+                adminLeaderVo.setName(mallMember.getName());
+                adminLeaderVo.setUniqueCode(mallMember.getInviteId());
+                adminLeaderVos.add(adminLeaderVo);
+            }
+        }
+        return adminLeaderVos;
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 9321b44..99c1ee7 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -281,10 +281,21 @@
 
         mallMemberCoupon.setState(2);
         mallMemberCouponMapper.updateById(mallMemberCoupon);
-        //运费
-        BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
-        orderInfo.setCarriage(delivaryAmount);
 
+        BigDecimal delivaryAmount = BigDecimal.ZERO;
+        if(StrUtil.isEmpty(addOrderDto.getTakeUniqueCode())){
+            delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
+            orderInfo.setCarriage(delivaryAmount);
+        }else{
+            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
+            if(mallTeamLeader!=null){
+                throw new FebsException("自提点信息异常");
+            }
+            orderInfo.setCarriage(delivaryAmount);
+            orderInfo.setTakeCode(ShareCodeUtil.toSerialCode(orderInfo.getId()) + MallUtils.getRandomNum(10));
+            orderInfo.setTakeUniqueCode(mallTeamLeader.getUniqueCode());
+            orderInfo.setDeliveryType(1);
+        }
         total = total.add(delivaryAmount);
         orderInfo.setAmount(total);
         orderInfo.setScoreAmount(totalScoreAmount);
@@ -300,6 +311,7 @@
         orderInfo.setLatitude(address.getLatitude());
         orderInfo.setLongitude(address.getLongitude());
         this.baseMapper.updateById(orderInfo);
+
         //过期时间修改成24小时
         agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(),  24 * 60 * 60 * 1000L);
         return orderInfo.getId();
@@ -843,7 +855,21 @@
 //            }
 //        }
 
+
         OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo);
+        if(StrUtil.isNotEmpty(orderInfo.getTakeUniqueCode())){
+            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
+
+            if(ObjectUtil.isNotEmpty(mallTeamLeader)){
+                orderDetailVo.setLeaderName(mallTeamLeader.getName());
+                orderDetailVo.setLeaderPhone(mallTeamLeader.getPhone());
+                orderDetailVo.setAddressPic(mallTeamLeader.getAddressPic());
+                orderDetailVo.setAddressArea(mallTeamLeader.getAddressArea());
+                orderDetailVo.setDetailAddress(mallTeamLeader.getDetailAddress());
+                orderDetailVo.setLeaderLongitude(mallTeamLeader.getLongitude());
+                orderDetailVo.setLeaderLatitude(mallTeamLeader.getLatitude());
+            }
+        }
 
         MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId());
         if(ObjectUtil.isNotEmpty(expressInfo)){
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index ea691f2..d90680a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -26,6 +26,7 @@
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -658,4 +659,41 @@
         return new FebsResponse().success().data(apiLeaderInfoVo);
     }
 
+    @Override
+    public FebsResponse happyLeaderList() {
+        ArrayList<ApiHappyLeaderInfoVo> apiHappyLeaderInfoVos = new ArrayList<>();
+
+        List<MallTeamLeader> mallTeamLeaders = this.baseMapper.selectList(
+                new LambdaQueryWrapper<MallTeamLeader>()
+                        .select(
+                                MallTeamLeader::getId,
+                                MallTeamLeader::getName,
+                                MallTeamLeader::getPhone,
+                                MallTeamLeader::getUniqueCode,
+                                MallTeamLeader::getAddressPic,
+                                MallTeamLeader::getAddressArea,
+                                MallTeamLeader::getDetailAddress,
+                                MallTeamLeader::getLongitude,
+                                MallTeamLeader::getLatitude)
+                        .eq(MallTeamLeader::getState, 1)
+        );
+        if(CollUtil.isNotEmpty(mallTeamLeaders)){
+            for (MallTeamLeader mallTeamLeader : mallTeamLeaders){
+                ApiHappyLeaderInfoVo apiHappyLeaderInfoVo = new ApiHappyLeaderInfoVo();
+                apiHappyLeaderInfoVo.setId(mallTeamLeader.getId());
+                apiHappyLeaderInfoVo.setName(mallTeamLeader.getName());
+                apiHappyLeaderInfoVo.setPhone(mallTeamLeader.getPhone());
+                apiHappyLeaderInfoVo.setTakeUniqueCode(mallTeamLeader.getUniqueCode());
+                apiHappyLeaderInfoVo.setAddressPic(mallTeamLeader.getAddressPic());
+                apiHappyLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
+                apiHappyLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
+                apiHappyLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude());
+                apiHappyLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude());
+                apiHappyLeaderInfoVos.add(apiHappyLeaderInfoVo);
+            }
+        }
+
+        return new FebsResponse().success().data(apiHappyLeaderInfoVos);
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminLeaderVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminLeaderVo.java
new file mode 100644
index 0000000..97f0d71
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminLeaderVo.java
@@ -0,0 +1,11 @@
+package cc.mrbird.febs.mall.vo;
+
+import lombok.Data;
+
+@Data
+public class AdminLeaderVo {
+
+    private Long id;
+    private String name;
+    private String uniqueCode;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java
new file mode 100644
index 0000000..c892708
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiHappyLeaderInfoVo.java
@@ -0,0 +1,36 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiHappyLeaderInfoVo", description = "信息返回类")
+public class ApiHappyLeaderInfoVo {
+
+    private Long id;
+    @ApiModelProperty(value = "联系人")
+    private String name;
+
+    @ApiModelProperty(value = "联系电话")
+    private String phone;
+
+    @ApiModelProperty(value = "特征码", example = "1")
+    private String takeUniqueCode;
+
+    @ApiModelProperty(value = "自提点照片")
+    private String addressPic;
+
+    @ApiModelProperty(value = "自提点名称")
+    private String addressArea;
+
+    @ApiModelProperty(value = "详细地址")
+    private String detailAddress;
+
+    @ApiModelProperty(value = "经度")
+    private Double longitude;
+
+    @ApiModelProperty(value = "纬度")
+    private Double latitude;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
index 035b007..08cf033 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
@@ -103,9 +103,9 @@
     /**
      * 自提点信息
      */
-    @ApiModelProperty(value = "团长姓名")
+    @ApiModelProperty(value = "自提点联系人姓名")
     private String leaderName;
-    @ApiModelProperty(value = "团长电话")
+    @ApiModelProperty(value = "自提点联系人电话")
     private String leaderPhone;
     @ApiModelProperty(value = "自提点图片")
     private String addressPic;
diff --git a/src/main/resources/templates/febs/views/modules/leader/addLeader.html b/src/main/resources/templates/febs/views/modules/leader/addLeader.html
index f7484f1..618d1f8 100644
--- a/src/main/resources/templates/febs/views/modules/leader/addLeader.html
+++ b/src/main/resources/templates/febs/views/modules/leader/addLeader.html
@@ -22,28 +22,30 @@
 </style>
 <div class="layui-fluid" id="user-addLeader">
     <form class="layui-form" action="" lay-filter="user-addLeader-form">
-        <div class="layui-form-item febs-hide">
-            <label class="layui-form-label">memberId:</label>
-            <div class="layui-input-block">
-                <input type="text" name="memberId">
+        <div class="layui-form-item">
+            <label class="layui-form-label">用户选择:</label>
+            <div class="layui-input-inline">
+                <select name="memberId" class="leader-add-memberId">
+                    <option value="">请选择</option>
+                </select>
             </div>
         </div>
+<!--        <div class="layui-form-item">-->
+<!--            <label class="layui-form-label febs-form-item-require">自提点标识:</label>-->
+<!--            <div class="layui-input-block">-->
+<!--                <input type="text" name="uniqueCode" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>-->
+<!--            </div>-->
+<!--        </div>-->
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">姓名:</label>
             <div class="layui-input-block">
-                <input type="text" name="name" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
+                <input type="text" name="name" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">手机号码:</label>
             <div class="layui-input-block">
-                <input type="text" name="phone" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">团长码:</label>
-            <div class="layui-input-block">
-                <input type="text" name="uniqueCode" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
+                <input type="text" name="phone" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
             </div>
         </div>
 <!--        <div class="layui-form-item">-->
@@ -120,7 +122,6 @@
             febs = layui.febs,
             layer = layui.layer,
             form = layui.form,
-            mallMember = [[${mallMember}]],
             upload = layui.upload,
             $view = $('#user-addLeader'),
             $viewMap = $('#febs-map-demo-add'),
@@ -176,22 +177,23 @@
             }
         });
 
-        initUserValue();
-
-        function initUserValue() {
-            form.val("user-addLeader-form", {
-                "memberId": mallMember.id,
-                "name": mallMember.name,
-                "phone": mallMember.phone,
-                "uniqueCode": mallMember.inviteId,
+        //(下拉框)
+        $.get(ctx + 'admin/leader/leader/tree', function (data) {
+            for (var k in data)
+            {
+                $(".leader-add-memberId").append("<option value='" + data[k].id + "'>" + data[k].name + "</option>");
+            }
+            layui.use('form', function () {
+                var form = layui.form;
+                form.render();
             });
-        }
+        });
 
         form.on('submit(user-addLeader-submit)', function (data) {
             febs.post(ctx + 'admin/leader/addLeader', data.field, function () {
                 layer.closeAll();
                 febs.alert.success('操作成功');
-                $('#febs-member-list').find('#reset').click();
+                $('#febs-leader').find('#query').click();
             });
             return false;
         });
diff --git a/src/main/resources/templates/febs/views/modules/leader/leaderList.html b/src/main/resources/templates/febs/views/modules/leader/leaderList.html
index 819e847..ae25871 100644
--- a/src/main/resources/templates/febs/views/modules/leader/leaderList.html
+++ b/src/main/resources/templates/febs/views/modules/leader/leaderList.html
@@ -1,4 +1,4 @@
-<div class="layui-fluid layui-anim febs-anim" id="febs-leader" lay-title="团长列表">
+<div class="layui-fluid layui-anim febs-anim" id="febs-leader" lay-title="自提点列表">
     <div class="layui-row febs-container">
         <div class="layui-col-md12">
             <div class="layui-card">
@@ -76,6 +76,11 @@
     <input type="checkbox" value={{d.id}} lay-text="开启|关闭" lay-skin="switch" lay-filter="profitSwitch">
     {{# } }}
 </script>
+<script type="text/html" id="leaderToolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="addLeader:add" lay-event="leaderAdd">新增自提点</button>
+    </div>
+</script>
 <!-- 表格操作栏 end -->
 <script data-th-inline="none" type="text/javascript">
     // 引入组件并初始化
@@ -94,7 +99,7 @@
         form.render();
 
         // 表格初始化
-        initTable();
+        initLeaderTable();
 
         // 初始化表格操作栏各个按钮功能
         table.on('tool(leaderTable)', function (obj) {
@@ -158,6 +163,25 @@
             }
         });
 
+        table.on('toolbar(leaderTable)', function(obj){
+            var data = obj.data,
+                layEvent = obj.event;
+
+            if (layEvent === 'leaderAdd') {
+                febs.modal.open( '新增', 'modules/leader/addLeader/', {
+                    btn: ['提交', '取消'],
+                    area:['100%','100%'],
+                    yes: function (index, layero) {
+                        $('#user-addLeader').find('#submit').trigger('click');
+                    },
+                    btn2: function () {
+                        layer.closeAll();
+                    }
+                });
+            }
+
+        });
+
         function leaderCancel(id) {
             febs.get(ctx + 'admin/leader/leaderCancel/' + id, null, function () {
                 febs.alert.success('操作成功');
@@ -179,11 +203,13 @@
         });
 
 
-        function initTable() {
+        function initLeaderTable() {
             tableIns = febs.table.init({
                 elem: $view.find('table'),
                 id: 'leaderTable',
                 url: ctx + 'admin/leader/leaderList',
+                toolbar:"#leaderToolbar",
+                defaultToolbar:[],
                 cols: [[
                     {field: 'name', title: '姓名', minWidth: 150,align:'left'},
                     {field: 'phone', title: '电话', minWidth: 150,align:'left'},
@@ -231,6 +257,8 @@
             });
         }
 
+
+
         form.on('switch(onlineStateSwitch)', function (data) {
             if (data.elem.checked) {
                 startOnline(data.value);
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index bda51a1..1b49752 100644
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -20,9 +20,9 @@
             securityJsCode:'50d73a585f300cccf7fc2bf31d0c38c8',
         }
     </script>
-<!--    <script src="https://webapi.amap.com/maps?v=1.4.15&key=e32064fc8a9dfe7af7d2d0a947b8df32&plugin=AMap.Autocomplete,AMap.PolyEditor,AMap.Geocoder,AMap.PolylineEditor"></script>-->
-<!--    <link href="https://unpkg.com/@wangeditor/editor@5.0.1/dist/css/style.css" rel="stylesheet">-->
-<!--    <script src="https://unpkg.com/@wangeditor/editor@latest/dist/index.js"></script>-->
+    <script src="https://webapi.amap.com/maps?v=1.4.15&key=e32064fc8a9dfe7af7d2d0a947b8df32&plugin=AMap.Autocomplete,AMap.PolyEditor,AMap.Geocoder,AMap.PolylineEditor"></script>
+    <link href="https://unpkg.com/@wangeditor/editor@5.0.1/dist/css/style.css" rel="stylesheet">
+    <script src="https://unpkg.com/@wangeditor/editor@latest/dist/index.js"></script>
     <script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-6.17.0.min.js"></script>
     <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/wangeditor@latest/dist/wangEditor.min.js" ></script>
     <link rel="icon" th:href="@{febs/images/favicon.ico}" type="image/x-icon"/>

--
Gitblit v1.9.1