From f799ba784826ca473a788f2d167f9eda0a86aac3 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 02 Aug 2022 16:33:58 +0800 Subject: [PATCH] 20220727 编辑商铺申请 --- src/main/resources/templates/febs/views/modules/mallMember/shopApplyInfo.html | 280 ++++++++++++++++++++++++++++++++++++++++++++- src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 12 + src/main/resources/templates/febs/views/modules/mallMember/shopApply.html | 11 + src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java | 2 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 12 ++ 5 files changed, 299 insertions(+), 18 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java index 215b2cd..a2cc7c2 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java @@ -5,10 +5,7 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.mall.dto.*; -import cc.mrbird.febs.mall.entity.AppVersion; -import cc.mrbird.febs.mall.entity.MallMember; -import cc.mrbird.febs.mall.entity.MallNewsInfo; -import cc.mrbird.febs.mall.entity.MallShopApply; +import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.service.IAdminMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo; @@ -349,6 +346,13 @@ return new FebsResponse().success().message("操作成功"); } + @PostMapping("updateShopApply") + @ControllerEndpoint(operation = "商户申请编辑", exceptionMessage = "操作失败") + public FebsResponse updateShopApply(@Valid MallShopApply apply) { + mallMemberService.updateShopApply(apply); + return new FebsResponse().success(); + } + @PostMapping("/refererIdUpdate") @ControllerEndpoint(operation = "修改推荐人", exceptionMessage = "修改失败") public FebsResponse refererIdUpdate(MallMember member) { diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java index bb75da6..431d26b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java @@ -93,4 +93,6 @@ MallMember findByInviteId(String inviteId); void modifyReferer(MallMember member); + + void updateShopApply(MallShopApply apply); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index 6bd1809..53c42b4 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -576,6 +576,18 @@ } } + @Override + public void updateShopApply(MallShopApply apply) { + MallShopApply mallShopApply = mallShopApplyMapper.selectById(apply.getId()); + mallShopApply.setName(apply.getName()); + mallShopApply.setPhone(apply.getPhone()); + mallShopApply.setIdcard(apply.getIdcard()); + mallShopApply.setBusinessLicense(apply.getBusinessLicense()); + mallShopApply.setSaleArea(apply.getSaleArea()); + mallShopApply.setShopName(apply.getShopName()); + mallShopApplyMapper.updateById(mallShopApply); + } + private String refererIds(String parentId) { boolean flag = false; if (StrUtil.isBlank(parentId)) { diff --git a/src/main/resources/templates/febs/views/modules/mallMember/shopApply.html b/src/main/resources/templates/febs/views/modules/mallMember/shopApply.html index 4db2520..dd0b1f5 100644 --- a/src/main/resources/templates/febs/views/modules/mallMember/shopApply.html +++ b/src/main/resources/templates/febs/views/modules/mallMember/shopApply.html @@ -116,16 +116,21 @@ if (layEvent === 'shopApplyInfo') { febs.modal.open('查看详情', 'modules/mallMember/applyDetail/' + data.id, { - btn: ['通过申请', '驳回申请'], - area : $(window).width() <= 750 ? '95%' : '660px', + btn: ['通过申请', '驳回申请','保存'], + area:['100%','100%'], + // area : $(window).width() <= 750 ? '95%' : '660px', yes: function (index, layero) { $('#shop-apply-detail').find('#agree').trigger('click'); }, btn2: function () { $('#shop-apply-detail').find('#disagree').trigger('click'); + }, + btn3: function () { + $('#shop-apply-detail').find('#applyUpdate').trigger('click'); } }); } + }); // 查询按钮 @@ -157,7 +162,7 @@ {templet: '#apply-status', title: '状态', minWidth: 100}, {title: '操作', templet: function (d) { - return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="shopApplyInfo" shiro:hasPermission="user:update">查看详情</button>' + return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="shopApplyInfo" shiro:hasPermission="user:update">审核</button>' },align:'center'} ]] }); diff --git a/src/main/resources/templates/febs/views/modules/mallMember/shopApplyInfo.html b/src/main/resources/templates/febs/views/modules/mallMember/shopApplyInfo.html index ecfefc9..b72f1b7 100644 --- a/src/main/resources/templates/febs/views/modules/mallMember/shopApplyInfo.html +++ b/src/main/resources/templates/febs/views/modules/mallMember/shopApplyInfo.html @@ -28,48 +28,140 @@ <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" data-th-id="${apply.name}" autocomplete="off" class="layui-input" readonly> + <input type="text" name="name" data-th-id="${apply.name}" 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" data-th-id="${apply.phone}" autocomplete="off" class="layui-input" readonly> + <input type="text" name="phone" data-th-id="${apply.phone}" 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="shopName" data-th-id="${apply.shopName}" 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"> - <blockquote id="cardUrl"></blockquote> + <div class="layui-upload"> + <button type="button" + class="layui-btn layui-btn-normal layui-btn" + id="cardUrlUpload">上传 + </button> + <blockquote class="layui-elem-quote layui-quote-nm" + style="margin-top: 10px;"> + <div class="layui-upload-list" id="cardUrl"></div> + </blockquote> + <div class="layui-word-aux">双击图片删除</div> + </div> </div> </div> + + <div class="layui-form-item febs-hide"> + <label class="layui-form-label">缩略图链接:</label> + <div class="layui-input-block"> + <input type="text" id="idcard" lay-verify="required" name="idcard" + 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"> - <blockquote id="businessLicense"></blockquote> + <div class="layui-upload"> + <button type="button" + class="layui-btn layui-btn-normal layui-btn" + id="businessLicenseUpload">上传 + </button> + <blockquote class="layui-elem-quote layui-quote-nm" + style="margin-top: 10px;"> + <div class="layui-upload-list" id="businessLicenseUrl"></div> + </blockquote> + <div class="layui-word-aux">双击图片删除</div> + </div> </div> </div> + + <div class="layui-form-item febs-hide"> + <label class="layui-form-label">缩略图链接:</label> + <div class="layui-input-block"> + <input type="text" id="businessLicense" lay-verify="required" name="businessLicense" + 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"> - <blockquote id="areaUrl"></blockquote> + <div class="layui-upload"> + <button type="button" + class="layui-btn layui-btn-normal layui-btn" + id="saleAreaUpload">上传 + </button> + <blockquote class="layui-elem-quote layui-quote-nm" + style="margin-top: 10px;"> + <div class="layui-upload-list" id="saleAreaUrl"></div> + </blockquote> + <div class="layui-word-aux">双击图片删除</div> + </div> + </div> + </div> + + <div class="layui-form-item febs-hide"> + <label class="layui-form-label">缩略图链接:</label> + <div class="layui-input-block"> + <input type="text" id="saleArea" lay-verify="required" name="saleArea" + autoComplete="off" class="layui-input" readOnly> </div> </div> <div class="layui-form-item febs-hide"> <button class="layui-btn" lay-submit="" lay-filter="shop-apply-form-agree" id="agree"></button> <button class="layui-btn" lay-submit="" lay-filter="shop-apply-form-disagree" id="disagree"></button> + <button class="layui-btn" lay-submit="" lay-filter="shop-apply-form-update" id="applyUpdate"></button> </div> </form> </div> <script data-th-inline="javascript" type="text/html" id="urlTemplate"> {{# layui.each(d, function(index, item){ }} - <img src="{{item}}" style="width: 120px" /> + <img src="{{item}}" class="layui-upload-img multi-images" style="width: 120px" /> {{# }) }} </script> + +<script data-th-inline="javascript" type="text/html" id="urlTemplateBl"> + {{# layui.each(d, function(index, item){ }} + <img src="{{item}}" class="layui-upload-img multi-images-bl" style="width: 120px" /> + {{# }) }} +</script> + +<script data-th-inline="javascript" type="text/html" id="urlTemplateSa"> + {{# layui.each(d, function(index, item){ }} + <img src="{{item}}" class="layui-upload-img multi-images-sa" style="width: 120px" /> + {{# }) }} +</script> + +<style> + + .layui-upload-list { + margin: 0 !important; + } + .multi-images { + margin: 0 5px !important; + } + .multi-images-bl { + margin: 0 5px !important; + } + .multi-images-sa { + margin: 0 5px !important; + } +</style> <script data-th-inline="javascript"> - layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','laytpl'], function () { + layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','upload' ,'laytpl'], function () { var $ = layui.$, febs = layui.febs, layer = layui.layer, @@ -77,9 +169,153 @@ apply = [[${apply}]], laytpl = layui.laytpl, $view = $('#shop-apply-detail'), + upload = layui.upload, templateHtml = urlTemplate.innerHTML; + templateHtmlBl = urlTemplateBl.innerHTML; + templateHtmlSa = urlTemplateSa.innerHTML; form.render(); + + //多图片上传 + upload.render({ + elem: '#cardUrlUpload' + ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 + ,multiple: true + ,before: function(obj){ + //预读本地文件示例,不支持ie8 + obj.preview(function(index, file, result){ + $('#cardUrl').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img multi-images" style="width: 130px">') + }); + } + ,done: function(res){ + var idcard = $("#idcard").val(); + if(idcard == ''){ + $("#idcard").val(res.data.src); + }else{ + $("#idcard").val(idcard + ',' + res.data.src); + } + + imgUnBind(".multi-images"); + imgMultiBind(); + } + }); + + function imgUnBind(className) { + $(className).each(function() { + $(this).unbind('dblclick'); + }) + } + + function imgMultiBind() { + $(".multi-images").each(function(index, element) { + $(this).on("dblclick", function() { + var imgThumb = $(".multi-images")[index]; + $(imgThumb).remove(); + + var images = $("#idcard").val(); + var imagesArr; + if (images) { + imagesArr = images.split(","); + imagesArr.splice(index, 1); + images = imagesArr.join(","); + } + $("#idcard").val(images); + + imgUnBind(".multi-images"); + imgMultiBind(); + }); + }) + } + + //多图片上传 + upload.render({ + elem: '#businessLicenseUpload' + ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 + ,multiple: true + ,before: function(obj){ + //预读本地文件示例,不支持ie8 + obj.preview(function(index, file, result){ + $('#businessLicenseUrl').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img multi-images-bl" style="width: 130px">') + }); + } + ,done: function(res){ + var businessLicense = $("#businessLicense").val(); + if(businessLicense == ''){ + $("#businessLicense").val(res.data.src); + }else{ + $("#businessLicense").val(businessLicense + ',' + res.data.src); + } + + imgUnBind(".multi-images-bl"); + businessLicenseImgMultiBind(); + } + }); + + function businessLicenseImgMultiBind() { + $(".multi-images-bl").each(function(index, element) { + $(this).on("dblclick", function() { + var imgThumb = $(".multi-images-bl")[index]; + $(imgThumb).remove(); + + var images = $("#businessLicense").val(); + var imagesArr; + if (images) { + imagesArr = images.split(","); + imagesArr.splice(index, 1); + images = imagesArr.join(","); + } + $("#businessLicense").val(images); + + imgUnBind(".multi-images-bl"); + businessLicenseImgMultiBind(); + }); + }) + } + //多图片上传 + upload.render({ + elem: '#saleAreaUpload' + ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 + ,multiple: true + ,before: function(obj){ + //预读本地文件示例,不支持ie8 + obj.preview(function(index, file, result){ + $('#saleAreaUrl').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img multi-images-sa" style="width: 130px">') + }); + } + ,done: function(res){ + var saleArea = $("#saleArea").val(); + if(saleArea == ''){ + $("#saleArea").val(res.data.src); + }else{ + $("#saleArea").val(saleArea + ',' + res.data.src); + } + + imgUnBind(".multi-images-sa"); + saleAreaImgMultiBind(); + } + }); + + function saleAreaImgMultiBind() { + $(".multi-images-sa").each(function(index, element) { + $(this).on("dblclick", function() { + var imgThumb = $(".multi-images-sa")[index]; + $(imgThumb).remove(); + + var images = $("#saleArea").val(); + var imagesArr; + if (images) { + imagesArr = images.split(","); + imagesArr.splice(index, 1); + images = imagesArr.join(","); + } + $("#saleArea").val(images); + + imgUnBind(".multi-images-sa"); + saleAreaImgMultiBind(); + }); + }) + } + initUrl(); function initUrl() { var cardUrl = apply.idcard; @@ -93,25 +329,37 @@ var businessUrl = apply.businessLicense; if (businessUrl) { var businessList = businessUrl.split(",") - laytpl(templateHtml).render(businessList, function(html) { - $('#businessLicense').append(html); + laytpl(templateHtmlBl).render(businessList, function(html) { + $('#businessLicenseUrl').append(html); }) } var areaUrl = apply.saleArea; if (areaUrl) { var areaList = areaUrl.split(",") - laytpl(templateHtml).render(areaList, function(html) { - $('#areaUrl').append(html); + laytpl(templateHtmlSa).render(areaList, function(html) { + $('#saleAreaUrl').append(html); }) } } initUserValue(); function initUserValue() { form.val("shop-apply-detail-form", { + "id": apply.id, "name": apply.name, "phone": apply.phone, + "shopName": apply.shopName, + "idcard": apply.idcard, + "businessLicense": apply.businessLicense, + "saleArea": apply.saleArea, }); + + imgUnBind(".multi-images"); + imgMultiBind(); + imgUnBind(".multi-images-bl"); + businessLicenseImgMultiBind(); + imgUnBind(".multi-images-sa"); + saleAreaImgMultiBind(); } form.on('submit(shop-apply-form-agree)', function (data) { @@ -136,5 +384,15 @@ }); return false; }); + + + form.on('submit(shop-apply-form-update)', function (data) { + febs.post(ctx + 'admin/mallMember/updateShopApply', data.field, function () { + layer.closeAll(); + febs.alert.success('操作成功'); + $('#febs-shop-apply').find('#query').click(); + }); + return false; + }); }); </script> \ No newline at end of file -- Gitblit v1.9.1