From c2a2a7f123eb1ac950d51da5033ddc3d23567765 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 09 Sep 2022 11:52:26 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java | 22 ++ src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html | 119 +++++++++++++--- src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java | 5 src/main/resources/templates/index.html | 2 src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java | 8 + src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java | 6 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java | 58 +++++++- src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java | 6 src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java | 6 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 3 src/main/resources/templates/febs/views/modules/leader/addLeader.html | 65 ++++++-- src/main/resources/templates/febs/views/modules/leader/leaderList.html | 34 ++++ src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java | 35 ++++ 13 files changed, 304 insertions(+), 65 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java index dce5a70..9a49369 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java @@ -49,8 +49,26 @@ */ @PostMapping("leaderUpdate") @ControllerEndpoint(operation = "团长信息--审核", exceptionMessage = "审核失败") - public FebsResponse leaderUpdate(@Valid AdminLeaderUpdateDto adminLeaderUpdateDto) { - return iAdminMallTeamLeaderService.leaderUpdate(adminLeaderUpdateDto); + public FebsResponse leaderUpdate(@Valid MallTeamLeader mallTeamLeader) { + return iAdminMallTeamLeaderService.leaderUpdate(mallTeamLeader); + } + + /** + * 团长-开启返利 + */ + @GetMapping("startProfit/{id}") + @ControllerEndpoint(operation = "团长-开启返利", exceptionMessage = "操作失败") + public FebsResponse startProfit(@NotNull(message = "{required}") @PathVariable Long id) { + return iAdminMallTeamLeaderService.startProfit(id); + } + + /** + * 团长-关闭返利 + */ + @GetMapping("closeProfit/{id}") + @ControllerEndpoint(operation = "团长-关闭返利", exceptionMessage = "操作失败") + public FebsResponse closeProfit(@NotNull(message = "{required}") @PathVariable Long id) { + return iAdminMallTeamLeaderService.closeProfit(id); } diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java index 110e996..84bb219 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java @@ -5,7 +5,9 @@ import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; import cc.mrbird.febs.common.utils.FebsUtil; import cc.mrbird.febs.mall.entity.DataDictionaryCustom; +import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; +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.AdminMallTeamLeaderVo; @@ -25,6 +27,7 @@ private final IAdminMallTeamLeaderService iAdminMallTeamLeaderService; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + private final MallMemberMapper mallMemberMapper; /** * 团长信息--列表 @@ -59,7 +62,8 @@ @GetMapping("addLeader/{id}") public String addLeader(@PathVariable long id, Model model) { - model.addAttribute("memberId", id); + MallMember mallMember = mallMemberMapper.selectById(id); + model.addAttribute("mallMember", mallMember); return FebsUtil.view("modules/leader/addLeader"); } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java index 10d8054..1552609 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java @@ -18,9 +18,9 @@ //团长姓名 private String name; //手机号码 -// private String phone; + private String phone; //团长特征码 -// private String uniqueCode; + private String uniqueCode; //自提点照片 private String addressPic; //省 @@ -37,4 +37,6 @@ private Double longitude; //纬度 private Double latitude; + //团长返利百分比如0.15表示15% + private String bonusPercent; } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java index 1daf80b..14a0d10 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java @@ -1,5 +1,6 @@ package cc.mrbird.febs.mall.dto; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import lombok.Data; @@ -7,9 +8,41 @@ @Data @ApiModel(value = "AdminLeaderUpdateDto", description = "接收参数类") public class AdminLeaderUpdateDto { - @NotNull(message = "ID不能为空") private Long id; + //用户ID + private Long memberId; + //申请状态 1:审核通过 2:审核不通过 3:申请中 4:已取消 + private Integer state; + public static final Integer STATE_YES = 1; + public static final Integer STATE_NO = 2; + public static final Integer STATE_ING = 3; + public static final Integer STATE_CANCEL = 4; + //团长姓名 + private String name; + //手机号码 + private String phone; + //团长特征码 + private String uniqueCode; + //自提点照片 + private String addressPic; + //小区名称 + private String addressArea; + //详细地址 + private String detailAddress; + //经度 + private Double longitude; + //纬度 + private Double latitude; + + @TableField(exist = false) + private Double distance; + + private String wxCodeImg; + //团长返利开关 1:开启 2:关闭 + private Integer profitSwitch; + //团长返利百分比如0.15表示15% + private String bonusPercent; @NotNull(message = "审核结果不能为空") private int isOk; diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java b/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java index 9044d70..12d4d6f 100644 --- a/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java +++ b/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import javax.validation.constraints.NotNull; import java.util.Date; //团长信息表 @@ -48,5 +49,12 @@ private Double distance; private String wxCodeImg; + //团长返利开关 1:开启 2:关闭 + private Integer profitSwitch; + //团长返利百分比如0.15表示15% + private String bonusPercent; + + @TableField(exist = false) + private int isOk; } 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 d36172e..4c1f46c 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java @@ -19,7 +19,7 @@ AdminMallTeamLeaderVo getMallTeamLederInfoById(long id); - FebsResponse leaderUpdate(AdminLeaderUpdateDto adminLeaderUpdateDto); + FebsResponse leaderUpdate(MallTeamLeader mallTeamLeader); List<AdminSelectListLeaderVo> selectList(MallTeamLeader mallTeamLeader); @@ -28,4 +28,8 @@ IPage<MallLeaderStock> leaderGoodsUpdate(QueryRequest request, MallLeaderStock mallLeaderStock); FebsResponse addLeader(AdminLeaderAddDto adminLeaderAddDto); + + FebsResponse startProfit(Long id); + + FebsResponse closeProfit(Long id); } 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 fea73d4..954aabd 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 @@ -71,20 +71,30 @@ } @Override - public FebsResponse leaderUpdate(AdminLeaderUpdateDto adminLeaderUpdateDto) { - Long id = adminLeaderUpdateDto.getId(); - MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id); - Integer state = mallTeamLeader.getState(); - if(MallTeamLeader.STATE_ING != state){ - return new FebsResponse().fail().message("只有【待审核】状态才能提交!"); + public FebsResponse leaderUpdate(MallTeamLeader mallTeamLeader) { + Long id = mallTeamLeader.getId(); + MallTeamLeader mallTeamLeaders = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(mallTeamLeaders)){ + return new FebsResponse().fail().message("团长信息不存在,刷新重试"); } - int isOk = adminLeaderUpdateDto.getIsOk(); +// Integer state = mallTeamLeader.getState(); +// if(MallTeamLeader.STATE_ING != state){ +// return new FebsResponse().fail().message("只有【待审核】状态才能提交!"); +// } + + Double bonusPercent = Double.parseDouble(mallTeamLeader.getBonusPercent()); + if(1 <= bonusPercent || 0 > bonusPercent){ + return new FebsResponse().fail().message("请输入合适的百分比小数"); + } + int isOk = mallTeamLeader.getIsOk(); if(MallTeamLeader.STATE_YES == isOk){ mallTeamLeader.setState(MallTeamLeader.STATE_YES); + mallTeamLeader.setProfitSwitch(2); this.baseMapper.updateById(mallTeamLeader); } if(MallTeamLeader.STATE_NO == isOk){ mallTeamLeader.setState(MallTeamLeader.STATE_NO); + mallTeamLeader.setProfitSwitch(2); this.baseMapper.updateById(mallTeamLeader); } return new FebsResponse().success().message("审核成功"); @@ -145,6 +155,10 @@ if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){ return new FebsResponse().fail().message("当前用户无法申请"); } + Double bonusPercent = Double.parseDouble(adminLeaderAddDto.getBonusPercent()); + if(1 <= bonusPercent || 0 > bonusPercent){ + return new FebsResponse().fail().message("请输入合适的百分比小数"); + } MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.adminDtoToEntity(adminLeaderAddDto); mallTeamLeader.setUniqueCode(mallMember.getInviteId()); mallTeamLeader.setMemberId(memberId); @@ -154,4 +168,34 @@ this.baseMapper.insert(mallTeamLeader); return new FebsResponse().success(); } + + @Override + public FebsResponse startProfit(Long id) { + MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(mallTeamLeader)){ + return new FebsResponse().fail().message("团长信息不存在,刷新重试"); + } + Integer state = mallTeamLeader.getState(); + if(1!=state){ + return new FebsResponse().fail().message("目前还不是团长,无法操作"); + } + mallTeamLeader.setProfitSwitch(1); + this.baseMapper.updateById(mallTeamLeader); + return new FebsResponse().success(); + } + + @Override + public FebsResponse closeProfit(Long id) { + MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(mallTeamLeader)){ + return new FebsResponse().fail().message("团长信息不存在,刷新重试"); + } + Integer state = mallTeamLeader.getState(); + if(1!=state){ + return new FebsResponse().fail().message("目前还不是团长,无法操作"); + } + mallTeamLeader.setProfitSwitch(2); + this.baseMapper.updateById(mallTeamLeader); + return new FebsResponse().success(); + } } 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 6af0f87..de7e0a0 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 @@ -80,6 +80,9 @@ mallTeamLeader.setMemberId(memberId); mallTeamLeader.setState(MallTeamLeader.STATE_ING); mallTeamLeader.setUniqueCode(member.getInviteId()); + //申请团长默认关闭返利,返利比例为0 + mallTeamLeader.setProfitSwitch(2); + mallTeamLeader.setBonusPercent("0"); this.baseMapper.insert(mallTeamLeader); return new FebsResponse().success().message("申请成功"); } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java index d2d632e..20e909c 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java @@ -40,4 +40,9 @@ private Date createdTime; //团战提成收益 private BigDecimal totalProfit; + + //团长返利开关 1:开启 2:关闭 + private Integer profitSwitch; + //团长返利百分比如0.15表示15% + private String bonusPercent; } 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 20e6213..d220728 100644 --- a/src/main/resources/templates/febs/views/modules/leader/addLeader.html +++ b/src/main/resources/templates/febs/views/modules/leader/addLeader.html @@ -29,33 +29,29 @@ </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> + </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" > + <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> + <label class="layui-form-label febs-form-item-require">团长码:</label> <div class="layui-input-block"> - <input type="text" id="province" name="province" placeholder="" lay-verify="required" autocomplete="off" class="layui-input" > + <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> + <label class="layui-form-label febs-form-item-require">收益率:</label> <div class="layui-input-block"> - <input type="text" name="city" 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="township" 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="detailAddress" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" > + <input type="text" name="bonusPercent" + lay-verify="text" autocomplete="off" class="layui-input" > + <div class="layui-form-mid layui-word-aux">请输入0到1之间的小数,团长收益百分比如0.15表示15%</div> </div> </div> <div class="layui-form-item"> @@ -68,7 +64,6 @@ <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">自提点照片:</label> <div class="layui-input-block"> -<!-- <img alt="头像" data-th-src="${leaderInfo.addressPic}" readonly>--> <button type="button" class="layui-btn" id="imageUpload" style="background-color: #009688; margin-bottom: 2px">图片上传</button> <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> <div class=" layui-upload-list view-images" id="addressPicImage"> @@ -77,6 +72,13 @@ <div> <input type="text" id="addressPic" name="addressPic" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly> </div> + </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" id="detailAddress" name="detailAddress" class="layui-input"> + <div class="layui-form-mid layui-word-aux">地图选择后,可以继续填写楼栋单元号</div> </div> </div> <div class="layui-form-item"> @@ -118,7 +120,7 @@ febs = layui.febs, layer = layui.layer, form = layui.form, - memberId = [[${memberId}]], + mallMember = [[${mallMember}]], upload = layui.upload, $view = $('#user-addLeader'), $viewMap = $('#febs-map-demo'), @@ -136,7 +138,27 @@ febs.alert.success('经度:' + e.lnglat.getLng() + ',纬度:' + e.lnglat.getLat()+e.province); $("#longitude").val(e.lnglat.getLng()); $("#latitude").val(e.lnglat.getLat()); + + //这边是数组 + var lnglatXY=[e.lnglat.getLng(),e.lnglat.getLat()]; + regeocoder(lnglatXY); }); + //坐标-地址 + function regeocoder(lnglatXY) { //逆地理编码 + var geocoder = new AMap.Geocoder({ + radius: 1000, + extensions: "all" + }); + geocoder.getAddress(lnglatXY, function(status, result) { + if (status === 'complete' && result.info === 'OK') { + geocoder_CallBack(result); + } + }); + } + function geocoder_CallBack(data) { + var address = data.regeocode.formattedAddress; //返回地址描述 + document.getElementById("detailAddress").value=address; + } form.render(); upload.render({ @@ -158,7 +180,10 @@ function initUserValue() { form.val("user-addLeader-form", { - "memberId": memberId, + "memberId": mallMember.id, + "name": mallMember.name, + "phone": mallMember.phone, + "uniqueCode": mallMember.inviteId, }); } 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 30a504a..2bdac6c 100644 --- a/src/main/resources/templates/febs/views/modules/leader/leaderList.html +++ b/src/main/resources/templates/febs/views/modules/leader/leaderList.html @@ -62,6 +62,13 @@ <a lay-event="edit" shiro:hasPermission="user:update"><i class="layui-icon febs-edit-area febs-blue"></i></a> </script> +<script type="text/html" id="upOrDownSwitch"> + {{# if(d.profitSwitch === 1) { }} + <input type="checkbox" value={{d.id}} lay-text="开启|关闭" checked lay-skin="switch" lay-filter="upOrDownSwitch"> + {{# } else { }} + <input type="checkbox" value={{d.id}} lay-text="开启|关闭" lay-skin="switch" lay-filter="upOrDownSwitch"> + {{# } }} +</script> <!-- 表格操作栏 end --> <script data-th-inline="none" type="text/javascript"> // 引入组件并初始化 @@ -111,7 +118,7 @@ }); } if (layEvent === 'leaderCancel') { - febs.modal.confirm('取消', '用户被取消团长资格将无法再次申请', function () { + febs.modal.confirm('拉黑', '团长被拉黑,将无法再次申请团长', function () { leaderCancel(data.id); }); } @@ -168,6 +175,8 @@ {field: 'addressArea', title: '自提点名称', minWidth: 150,align:'left'}, {field: 'detailAddress', title: '自提点地址', minWidth: 150,align:'left'}, {field: 'totalProfit', title: '收益', minWidth: 150,align:'left'}, + {field: 'profitSwitch', title: '是否返利', templet: '#upOrDownSwitch', minWidth: 100,align:'center'}, + {field: 'bonusPercent', title: '返利比例', minWidth: 150,align:'left'}, // {field: 'phone', title: '电话', minWidth: 150,align:'left'}, {field: 'state', title: '状态', templet: function (d) { @@ -190,7 +199,8 @@ + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderUpdate" shiro:hasPermission="user:update">审核</button>' }else if(d.state === 1) { return '' - + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderCancel" shiro:hasPermission="user:update">取消</button>' + + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderUpdate" shiro:hasPermission="user:update">修改</button>' + + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderCancel" shiro:hasPermission="user:update">拉黑</button>' // + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderGoodsUpdate" shiro:hasPermission="user:update">团长商品设置</button>' }else{ return ''; @@ -200,14 +210,28 @@ }); } - form.on('switch(startOrCloseSwitch)', function (data) { + form.on('switch(upOrDownSwitch)', function (data) { if (data.elem.checked) { - startAct(data.value); + startProfit(data.value); } else { - closeAct(data.value); + closeProfit(data.value); } }) + function startProfit(id) { + febs.get(ctx + 'admin/leader/startProfit/' + id, null, function () { + febs.alert.success('开启成功'); + $query.click(); + }); + } + + function closeProfit(id) { + febs.get(ctx + 'admin/leader/closeProfit/' + id, null, function () { + febs.alert.success('关闭成功'); + $query.click(); + }); + } + // 获取查询参数 function getQueryParams() { return { diff --git a/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html b/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html index 3286716..7cc1977 100644 --- a/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html +++ b/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html @@ -31,62 +31,75 @@ <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" class="layui-input" readonly> + <input type="text" name="name" 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" class="layui-input" readonly> + <input type="text" name="phone" class="layui-input"> </div> </div> <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">省:</label> + <label class="layui-form-label febs-form-item-require">收益率:</label> <div class="layui-input-block"> - <input type="text" name="province" 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="city" 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="township" class="layui-input" readonly> + <input type="text" name="bonusPercent" + lay-verify="text" autocomplete="off" class="layui-input" > + <div class="layui-form-mid layui-word-aux">请输入0到1之间的小数,团长收益百分比如0.15表示15%</div> </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="detailAddress" class="layui-input" readonly> + <input type="text" id="detailAddress" name="detailAddress" class="layui-input"> + <div class="layui-form-mid layui-word-aux">地图选择后,可以继续填写楼栋单元号</div> </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="addressArea" class="layui-input" readonly> + <input type="text" name="addressArea" class="layui-input"> <div class="layui-form-mid layui-word-aux">小区名称(自提点名称)</div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">自提点照片:</label> <div class="layui-input-block"> - <img alt="头像" data-th-src="${leaderInfo.addressPic}" readonly> + <button type="button" class="layui-btn" id="imageUpload" style="background-color: #009688; margin-bottom: 2px">图片上传</button> + <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> + <div class=" layui-upload-list view-images" id="addressPicImage"> + </div> + </blockquote> + <div> + <input type="text" id="addressPic" name="addressPic" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">地图选择:</label> + <div class="layui-input-block"> + <div class="layui-fluid layui-anim febs-anim" id="febs-map-demo" lay-title="高德地图"> + <div class="layui-row febs-container"> + <div class="layui-card"> + <div style="padding: .1rem;"> + <div id="container" class="map"></div> + </div> + </div> + </div> + </div> + <div class="layui-form-mid layui-word-aux">自提点位置</div> </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="longitude" class="layui-input" readonly> + <input type="text" id="longitude" name="longitude" 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="latitude" class="layui-input" readonly> + <input type="text" id="latitude" name="latitude" class="layui-input" readonly> </div> </div> <div class="layui-form-item"> @@ -103,30 +116,86 @@ </div> <script data-th-inline="javascript"> - layui.use(['febs', 'form', 'formSelects', 'treeSelect', 'eleTree'], function () { + layui.use(['febs', 'form', 'formSelects', 'treeSelect', 'eleTree', 'upload'], function () { var $ = layui.$, febs = layui.febs, layer = layui.layer, form = layui.form, leaderInfo = [[${leaderInfo}]], $view = $('#febs-leader-update'), + $viewMap = $('#febs-map-demo'), + upload = layui.upload, _deptTree; + + $viewMap.find('#container').css({"height": document.documentElement.clientHeight - 97 + 'px'}); + var map = new AMap.Map("container", { + center: [leaderInfo.longitude, leaderInfo.latitude], + resizeEnable: true, + zoom: 14 //初始地图级别 + }); + //为地图注册click事件获取鼠标点击出的经纬度坐标 + map.on('click', function (e) { + console.log(e); + febs.alert.success('经度:' + e.lnglat.getLng() + ',纬度:' + e.lnglat.getLat()); + $("#longitude").val(e.lnglat.getLng()); + $("#latitude").val(e.lnglat.getLat()); + + //这边是数组 + var lnglatXY=[e.lnglat.getLng(),e.lnglat.getLat()]; + regeocoder(lnglatXY); + }); + //坐标-地址 + function regeocoder(lnglatXY) { //逆地理编码 + var geocoder = new AMap.Geocoder({ + radius: 1000, + extensions: "all" + }); + geocoder.getAddress(lnglatXY, function(status, result) { + if (status === 'complete' && result.info === 'OK') { + geocoder_CallBack(result); + } + }); + } + function geocoder_CallBack(data) { + var address = data.regeocode.formattedAddress; //返回地址描述 + document.getElementById("detailAddress").value=address; + } + + upload.render({ + elem: '#imageUpload' + ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 + ,multiple: false + ,before: function(obj){ + //预读本地文件示例,不支持ie8 + obj.preview(function(index, file, result){ + $('#addressPicImage').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img" style="width: 100px">') + }); + } + ,done: function(res){ + $("#addressPic").val(res.data.src); + } + }); form.render(); initUserValue(); function initUserValue() { + //图片回显 + if(leaderInfo.addressPic != null || leaderInfo.addressPic != ''){ + $('#addressPicImage').append('<img src="'+ leaderInfo.addressPic +'" class="layui-upload-img" style="width: 100px">') + } form.val("febs-leader-update-form", { "id": leaderInfo.id, "name": leaderInfo.name, "phone": leaderInfo.phone, "addressPic": leaderInfo.addressPic, - "province": leaderInfo.province, - "city": leaderInfo.city, - "township": leaderInfo.township, + // "province": leaderInfo.province, + // "city": leaderInfo.city, + // "township": leaderInfo.township, "addressArea": leaderInfo.addressArea, "detailAddress": leaderInfo.detailAddress, "longitude": leaderInfo.longitude, + "bonusPercent": leaderInfo.bonusPercent, "latitude": leaderInfo.latitude }); } diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 42206c8..df87d76 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -20,7 +20,7 @@ securityJsCode:'8fd9b92f6e07b1f18d3ae39b42ff71bc', } </script> - <script src="https://webapi.amap.com/maps?v=1.4.15&key=04934a2cf5cfa8a29ffcf0fdcfaabb5f&plugin=AMap.Autocomplete,AMap.PolyEditor"></script> + <script src="https://webapi.amap.com/maps?v=1.4.15&key=04934a2cf5cfa8a29ffcf0fdcfaabb5f&plugin=AMap.Autocomplete,AMap.PolyEditor,AMap.Geocoder"></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> <link rel="icon" th:href="@{febs/images/favicon.ico}" type="image/x-icon"/> -- Gitblit v1.9.1