11 Commits d3c3ef5cb0 ... 3f1cc2dfe7

Auteur SHA1 Bericht Datum
  云殇忆 3f1cc2dfe7 工作台-商机线索列表-添加地址字段 1 jaar geleden
  JensionDzero 9cbe628179 Merge branch 'master' of http://47.107.53.207:3000/traineeCoder001/Bailian-Al 1 jaar geleden
  JensionDzero 4f82b74f86 修复城市等级初始化问题 1 jaar geleden
  dzk 56be6d1847 更改数据库名 1 jaar geleden
  JensionDzero c21af58220 修复门店网点列表的bug 1 jaar geleden
  JensionDzero 5e57061d35 优化 1 jaar geleden
  JensionDzero e2a566425b 优化 1 jaar geleden
  JensionDzero 69bc6de29b 优化 1 jaar geleden
  JensionDzero 4453d7e8e0 更新数据回收站后端代码 1 jaar geleden
  JensionDzero a35fc3bf9b 重新上传前端 1 jaar geleden
  JensionDzero a5c43d21c3 重新上传前端 1 jaar geleden
43 gewijzigde bestanden met toevoegingen van 3011 en 130 verwijderingen
  1. 2 2
      ruoyi-admin/src/main/resources/application-prod.yml
  2. 56 3
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/BrandRecycleController.java
  3. 61 43
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/WdRecycleController.java
  4. 2 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/BusinessOpportunitiesClueBo.java
  5. 4 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/BrandVo.java
  6. 30 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/BuildwdVo.java
  7. 30 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/EnterpriseWdVo.java
  8. 32 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/HouseWdVo.java
  9. 35 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/StoreWdVo.java
  10. 31 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/TrafficWdVo.java
  11. 11 3
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/WdInfoVo.java
  12. 2 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/BrandMapper.java
  13. 1 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/WdInfoMapper.java
  14. 2 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/BrandRecycleService.java
  15. 10 4
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/BrandService.java
  16. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/BuildWdService.java
  17. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/EnterpriseWdService.java
  18. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/HouseWdService.java
  19. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/StoreWdService.java
  20. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/TrafficWdService.java
  21. 3 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/WdInfoService.java
  22. 1 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/WdRecycleService.java
  23. 5 6
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/BrandRecycleServiceImpl.java
  24. 45 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/BrandServiceImpl.java
  25. 37 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/BuildWdServiceeImpl.java
  26. 35 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/EnterpriseWdServiceImpl.java
  27. 37 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/HouseWdServiceImpl.java
  28. 50 3
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/StoreWdServiceImpl.java
  29. 6 5
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TopologicalStoreWdServiceImpl.java
  30. 35 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TrafficWdServiceImpl.java
  31. 24 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/WdInfoServiceImpl.java
  32. 30 26
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/WdRecycleServiceImpl.java
  33. 1 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/utils/InitMapUtil.java
  34. 6 6
      ruoyi-demo/src/main/resources/mapper/demo/BrandMapper.xml
  35. 8 9
      ruoyi-demo/src/main/resources/mapper/demo/WdInfoMapper.xml
  36. 2 2
      ruoyi-job/src/main/java/com/ruoyi/job/service/BenyunService.java
  37. 61 0
      ruoyi-ui/src/api/brand/brand.js
  38. 122 0
      ruoyi-ui/src/api/wdInfo/wdInfo.js
  39. BIN
      ruoyi-ui/src/assets/img.png
  40. 453 0
      ruoyi-ui/src/views/data/brandData/index.vue
  41. 637 0
      ruoyi-ui/src/views/data/wdData/index.vue
  42. 452 0
      ruoyi-ui/src/views/recycle/brand/index.vue
  43. 637 0
      ruoyi-ui/src/views/recycle/wdInfo/index.vue

+ 2 - 2
ruoyi-admin/src/main/resources/application-prod.yml

@@ -57,7 +57,7 @@ spring:
           driverClassName: com.mysql.cj.jdbc.Driver
           # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
           # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
-          url: jdbc:mysql://192.168.0.31:3306/benyun-bailian?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
+          url: jdbc:mysql://192.168.0.31:3306/bailian-ai-plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
           username: root
           password: LongX@321
 
@@ -66,7 +66,7 @@ spring:
           lazy: true
           type: ${spring.datasource.type}
           driverClassName: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://192.168.0.31:3306/benyun-bailian?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
+          url: jdbc:mysql://192.168.0.31:3306/bailian-ai-plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
           username: root
           password: LongX@321
 #        oracle:

+ 56 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/BrandRecycleController.java

@@ -1,14 +1,21 @@
 package com.ruoyi.demo.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.demo.entity.Brand;
+import com.ruoyi.demo.entity.Enterprise;
 import com.ruoyi.demo.entity.vo.BrandVo;
+import com.ruoyi.demo.mapper.BrandMapper;
 import com.ruoyi.demo.service.BrandRecycleService;
+import com.ruoyi.demo.service.BrandService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.constraints.NotNull;
 import java.util.HashMap;
 
 @RestController
@@ -17,20 +24,31 @@ public class BrandRecycleController {
     @Autowired
     BrandRecycleService brandRecycleService;
 
+    @Autowired
+    BrandService brandService;
+
     @GetMapping("/list")
     public R list(BrandVo brandVo){
-        PageInfo<Brand> list = brandRecycleService.list(brandVo);
+        Page<Brand> list = brandRecycleService.list(brandVo);
         return R.ok(list);
     }
 
-    //移除
+    /**
+     * 移除品牌
+     * @param brandId
+     * @return
+     */
     @DeleteMapping("/deleteBrand/{brandId}")
     public R deleteBrand(@PathVariable("brandId") String brandId){
         brandRecycleService.deleteBrand(brandId);
         return R.ok();
     }
 
-    //恢复
+    /**
+     * 恢复品牌
+     * @param hashMap
+     * @return
+     */
     @PutMapping("/recoverBrand")
     public R recoverBrand(@RequestBody HashMap<String,String> hashMap){
         if(hashMap.get("brandId") == null)
@@ -40,4 +58,39 @@ public class BrandRecycleController {
         return R.ok();
     }
 
+    /**
+     * 修改品牌
+     * @param brandVo
+     * @return
+     */
+    @PutMapping("/updateBrand")
+    public R updateBrand(@Validated(value = {EditGroup.class}) @RequestBody BrandVo brandVo){
+        brandService.updateBrand(brandVo);
+        return R.ok();
+    }
+
+    /**
+     * 简单品牌关联下拉框
+     * @param brandName
+     * @param size
+     * @return
+     */
+    @GetMapping("/selectBrand")
+    public R selectBrand(String brandName,Integer size){
+        Page<Brand> brandPage = brandService.selectBrand(brandName, size);
+        return R.ok(brandPage);
+    }
+
+    /**
+     * 简单企业关联下拉框
+     * @param enterpriseName
+     * @param size
+     * @return
+     */
+    @GetMapping("/selectEnterprise")
+    public R selectEnterprise(String enterpriseName,Integer size){
+        Page<Enterprise> enterprisePage = brandService.selectEnterprise(enterpriseName, size);
+        return R.ok(enterprisePage);
+    }
+
 }

+ 61 - 43
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/WdRecycleController.java

@@ -1,10 +1,13 @@
 package com.ruoyi.demo.controller;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.demo.entity.*;
-import com.ruoyi.demo.entity.vo.WdInfoVo;
+import com.ruoyi.demo.entity.vo.*;
+import com.ruoyi.demo.mapper.WdInfoDao;
 import com.ruoyi.demo.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
@@ -35,6 +38,9 @@ public class WdRecycleController {
     @Autowired
     EnterpriseWdService enterpriseWdService;
 
+    @Autowired
+    WdInfoService wdInfoService;
+
 
     /**
      * 获取网点回收站列表
@@ -47,84 +53,96 @@ public class WdRecycleController {
         return R.ok(list);
     }
 
+
     /**
-     * 获取门店网点类型明细
+     * 移除网点
      * @param wdId 网点Id
      * @return
      */
-    @GetMapping("/storeWdInfo")
-    public R storeWdInfo(String wdId){
-        StoreWd storeWd = storeWdService.storeWdInfo(wdId);
-        return R.ok(storeWd);
+    @DeleteMapping("/deleteWd/{wdId}")
+    public R deleteWd(@PathVariable("wdId") String wdId){
+        wdRecycleService.deleteWd(wdId);
+        return R.ok();
     }
 
     /**
-     * 获取小区网点类型明细
-     * @param wdId 网点Id
+     * 恢复网点
+     * @param wdInfoVo
      * @return
      */
-    @GetMapping("/houseWdInfo")
-    public R houseWddInfo(String wdId){
-        HouseWd houseWd = houseWdService.houseWddInfo(wdId);
-        return R.ok(houseWd);
+    @PutMapping("/recoverWd")
+    public R recoverWd(@RequestBody WdInfoVo wdInfoVo){
+        if (wdInfoVo.getWdId() == null)
+            return R.fail(400,"wdId不能为空");
+
+        wdRecycleService.recoverWd(wdInfoVo.getWdId());
+        return R.ok();
     }
 
     /**
-     * 获取楼宇网点类型明细
-     * @param wdId 网点Id
+     * 修改基础设施网点信息
+     * @param wdInfoVo
      * @return
      */
-    @GetMapping("/buildWdInfo")
-    public R buildWdInfo(String wdId){
-        BuildWd buildWd = buildWdService.buildWdInfo(wdId);
-        return R.ok(buildWd);
+    @PutMapping("/updateInfrastructureWd")
+    public R updateWdInfo(@Validated(value = {EditGroup.class}) @RequestBody WdInfoVo wdInfoVo){
+        wdInfoService.updateWdInfo(wdInfoVo);
+        return R.ok();
     }
 
     /**
-     * 获取交通设施网点类型明细
-     * @param wdId 网点Id
+     * 修改门店网点信息
+     * @param storeWdVo
      * @return
      */
-    @GetMapping("/trafficWdInfo")
-    public R trafficWdInfo(String wdId){
-        TrafficWd trafficWd = trafficWdService.trafficWdInfo(wdId);
-        return R.ok(trafficWd);
+    @PutMapping("/updateStoreWd")
+    public R updateStoreWd(@Validated(value = {EditGroup.class}) @RequestBody StoreWdVo storeWdVo){
+        storeWdService.updateStoreWd(storeWdVo);
+        return R.ok();
     }
 
+
     /**
-     * 获取公司网点类型明细
-     * @param wdId 网点Id
+     * 修改小区网点信息
+     * @param houseWdVo
      * @return
      */
-    @GetMapping("/enterpriseWdInfo")
-    public R enterpriseWdInfo(String wdId){
-        EnterpriseWd enterpriseWd = enterpriseWdService.enterpriseWdInfo(wdId);
-        return R.ok(enterpriseWd);
+    @PutMapping("/updateHouseWd")
+    public R updateHouseWd(@Validated(value = {EditGroup.class}) @RequestBody HouseWdVo houseWdVo){
+        houseWdService.updateHouseWd(houseWdVo);
+        return R.ok();
     }
 
     /**
-     * 移除网点
-     * @param wdId 网点Id
+     * 修改楼宇网点信息
+     * @param buildwdVo
      * @return
      */
-    @DeleteMapping("/deleteWd/{wdId}")
-    public R deleteWd(@PathVariable("wdId") String wdId){
-        wdRecycleService.deleteWd(wdId);
+    @PutMapping("/updateBuildWd")
+    public R updateBuildWd(@Validated(value = {EditGroup.class}) @RequestBody BuildwdVo buildwdVo){
+        buildWdService.updateBuildWd(buildwdVo);
         return R.ok();
     }
 
     /**
-     * 恢复网点
-     * @param wdInfoVo
+     * 修改交通设施网点信息
+     * @param trafficWd
      * @return
      */
-    @PutMapping("/recoverWd")
-    public R recoverWd(@RequestBody WdInfoVo wdInfoVo){
-        if (wdInfoVo.getWdId() == null)
-            return R.fail(400,"wdId不能为空");
-
-        wdRecycleService.recoverWd(wdInfoVo.getWdId());
+    @PutMapping("/updateTrafficWd")
+    public R updateTrafficWd(@Validated(value = {EditGroup.class}) @RequestBody TrafficWdVo trafficWd){
+        trafficWdService.updateTrafficWd(trafficWd);
         return R.ok();
     }
 
+    /**
+     * 修改企业网点信息
+     * @param enterpriseWdVo
+     * @return
+     */
+    @PutMapping("/updateEnterpriseWd")
+    public R updateEnterpriseWd(@Validated(value = {EditGroup.class}) @RequestBody EnterpriseWdVo enterpriseWdVo){
+        enterpriseWdService.updateEnterpriseWd(enterpriseWdVo);
+        return R.ok();
+    }
 }

+ 2 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/BusinessOpportunitiesClueBo.java

@@ -13,6 +13,7 @@ public class BusinessOpportunitiesClueBo implements Serializable {
     private String attentionId;
     private String wdName;
     private String brandName;
+    private String wdAddrInfo;
     private String contact;
     private String telephone;
     private Integer followUpCount;
@@ -27,6 +28,7 @@ public class BusinessOpportunitiesClueBo implements Serializable {
         this.attentionId = clue.getAttentionId();
         this.wdName = clue.getWdName();
         this.brandName = clue.getBrandName();
+        this.wdAddrInfo = clue.getWdAddrInfo();
         this.contact = clue.getContact();
         this.telephone = clue.getTelephone();
         this.followUpCount = clue.getFollowUpCount();

+ 4 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/BrandVo.java

@@ -1,17 +1,20 @@
 package com.ruoyi.demo.entity.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.validate.EditGroup;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 import java.util.Date;
 
 @Data
 public class BrandVo implements Serializable {
+    @NotBlank(message = "品牌Id不能为空",groups = {EditGroup.class})
     private String brandId;
 
     private String brandImg;
-
+    @NotBlank(message = "品牌名称不能为空",groups = {EditGroup.class})
     private String brandName;
 
     private String industryCode;

+ 30 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/BuildwdVo.java

@@ -0,0 +1,30 @@
+package com.ruoyi.demo.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.demo.entity.BuildWd;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+@Data
+public class BuildwdVo {
+    @NotBlank(message = "网点Id不能为空",groups = {EditGroup.class})
+    private String wdId;
+    private String wdImg;
+    @NotBlank(message = "网点名称不能为空",groups = {EditGroup.class})
+    private String wdName;
+    @NotBlank(message = "地址信息不能为空",groups = {EditGroup.class})
+    private String addrInfo;
+    @NotBlank(message = "地区Code不能为空",groups = {EditGroup.class})
+    private String addrCode;
+    @NotNull(message = "纬度不能为空",groups = {EditGroup.class})
+    private BigDecimal lat;
+    @NotNull(message = "经度不能为空",groups = {EditGroup.class})
+    private BigDecimal lng;
+    private String typeCodeBy;
+    private String typeNameBy;
+    private BuildWd buildWd;
+}

+ 30 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/EnterpriseWdVo.java

@@ -0,0 +1,30 @@
+package com.ruoyi.demo.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.demo.entity.EnterpriseWd;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+public class EnterpriseWdVo {
+    @NotBlank(message = "网点Id不能为空",groups = {EditGroup.class})
+    private String wdId;
+    private String wdImg;
+    @NotBlank(message = "网点名称不能为空",groups = {EditGroup.class})
+    private String wdName;
+    @NotBlank(message = "地址信息不能为空",groups = {EditGroup.class})
+    private String addrInfo;
+    @NotBlank(message = "地区Code不能为空",groups = {EditGroup.class})
+    private String addrCode;
+    @NotNull(message = "纬度不能为空",groups = {EditGroup.class})
+    private BigDecimal lat;
+    @NotNull(message = "经度不能为空",groups = {EditGroup.class})
+    private BigDecimal lng;
+    private String typeCodeBy;
+    private String typeNameBy;
+    private EnterpriseWd enterpriseWd;
+}

+ 32 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/HouseWdVo.java

@@ -0,0 +1,32 @@
+package com.ruoyi.demo.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.demo.entity.HouseWd;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+public class HouseWdVo {
+    @NotBlank(message = "网点Id不能为空",groups = {EditGroup.class})
+    private String wdId;
+    private String wdImg;
+    @NotBlank(message = "网点名称不能为空",groups = {EditGroup.class})
+    private String wdName;
+    @NotBlank(message = "地址信息不能为空",groups = {EditGroup.class})
+    private String addrInfo;
+    @NotBlank(message = "地区Code不能为空",groups = {EditGroup.class})
+    private String addrCode;
+    @NotNull(message = "纬度不能为空",groups = {EditGroup.class})
+    private BigDecimal lat;
+    @NotNull(message = "经度不能为空",groups = {EditGroup.class})
+    private BigDecimal lng;
+    private String typeCodeBy;
+    private String typeNameBy;
+
+    private HouseWd houseWd;
+}

+ 35 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/StoreWdVo.java

@@ -0,0 +1,35 @@
+package com.ruoyi.demo.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.demo.entity.StoreWd;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class StoreWdVo {
+    @NotBlank(message = "网点Id不能为空",groups = {EditGroup.class})
+    private String wdId;
+    private String wdImg;
+    @NotBlank(message = "网点名称不能为空",groups = {EditGroup.class})
+    private String wdName;
+    @NotBlank(message = "地址信息不能为空",groups = {EditGroup.class})
+    private String addrInfo;
+    @NotBlank(message = "地区Code不能为空",groups = {EditGroup.class})
+    private String addrCode;
+
+    @NotNull(message = "纬度不能为空",groups = {EditGroup.class})
+    private BigDecimal lat;
+    @NotNull(message = "经度不能为空",groups = {EditGroup.class})
+    private BigDecimal lng;
+    private String typeCodeBy;
+    private String typeNameBy;
+
+    StoreWd storeWd;
+}

+ 31 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/TrafficWdVo.java

@@ -0,0 +1,31 @@
+package com.ruoyi.demo.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.demo.entity.TrafficWd;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+public class TrafficWdVo {
+    @NotBlank(message = "网点Id不能为空",groups = {EditGroup.class})
+    private String wdId;
+    private String wdImg;
+    @NotBlank(message = "网点名称不能为空",groups = {EditGroup.class})
+    private String wdName;
+    @NotBlank(message = "地址信息不能为空",groups = {EditGroup.class})
+    private String addrInfo;
+    @NotBlank(message = "地区Code不能为空",groups = {EditGroup.class})
+    private String addrCode;
+    @NotNull(message = "纬度不能为空",groups = {EditGroup.class})
+    private BigDecimal lat;
+    @NotNull(message = "经度不能为空",groups = {EditGroup.class})
+    private BigDecimal lng;
+    private String typeCodeBy;
+    private String typeNameBy;
+
+    private TrafficWd trafficWd;
+}

+ 11 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/WdInfoVo.java

@@ -2,26 +2,34 @@ package com.ruoyi.demo.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.demo.entity.WdInfo;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
 public class WdInfoVo implements Serializable {
+    @NotBlank(message = "网点Id不能为空",groups = {EditGroup.class})
     private String wdId;
+    @NotBlank(message = "网点名称不能为空",groups = {EditGroup.class})
     private String wdName;
+    @NotBlank(message = "地址信息不能为空",groups = {EditGroup.class})
     private String addrInfo;
+    @NotBlank(message = "地区Code不能为空",groups = {EditGroup.class})
     private String addrCode;
-
-    private String addrCodeInfo;
+//    @NotBlank(message = "地址信息不能为空",groups = {EditGroup.class})
+//    private String addrCodeInfo;
+    @NotNull(message = "纬度不能为空",groups = {EditGroup.class})
     private BigDecimal lat;
+    @NotNull(message = "经度不能为空",groups = {EditGroup.class})
     private BigDecimal lng;
     private String typeCodeBy;
     private String typeNameBy;
-
     private String wdTypeCode;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date enterTime;

+ 2 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/BrandMapper.java

@@ -2,6 +2,7 @@ package com.ruoyi.demo.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.demo.entity.Brand;
 import com.ruoyi.demo.entity.bo.BrandSearch;
 import com.ruoyi.demo.entity.vo.BrandVo;
@@ -17,7 +18,7 @@ public interface BrandMapper extends BaseMapper<Brand> {
     List<BrandSearch> searchSearchByMulti(@Param("text") String text, @Param("industryCode") List<String> industryCode, @Param("countUp") Integer countUp, @Param("countDown") Integer countDown, @Param("coverUp") Integer coverUp, @Param("coverDown") Integer coverDown);
 
     //管理中心:品牌回收站
-    List<Brand> list(BrandVo brandVo);
+    Page<Brand> list(Page<Brand> page,@Param("brand") BrandVo brandVo);
 
     void recoverBrand(String brandId);
 

+ 1 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/WdInfoMapper.java

@@ -16,7 +16,7 @@ import java.util.List;
 
 @Mapper
 public interface WdInfoMapper extends BaseMapper<WdInfo> {
-    List<WdInfo> list(WdInfoVo wdInfoVo);
+    Page<WdInfo> list(Page<WdInfo> page,@Param("wd") WdInfoVo wdInfoVo);
 
     void recoverWd(String wdId);
 

+ 2 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/BrandRecycleService.java

@@ -1,12 +1,13 @@
 package com.ruoyi.demo.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.demo.entity.Brand;
 import com.ruoyi.demo.entity.vo.BrandVo;
 
 
 public interface BrandRecycleService {
-    public PageInfo<Brand> list(BrandVo brandVo);
+    Page<Brand> list(BrandVo brandVo);
 
     void deleteBrand(String brandId);
 

+ 10 - 4
ruoyi-demo/src/main/java/com/ruoyi/demo/service/BrandService.java

@@ -1,14 +1,14 @@
 package com.ruoyi.demo.service;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 
+import com.ruoyi.demo.entity.Brand;
 import com.ruoyi.demo.entity.BrandCityTier;
+import com.ruoyi.demo.entity.Enterprise;
 import com.ruoyi.demo.entity.bo.*;
-import com.ruoyi.demo.entity.vo.BrandEvolveVo;
-import com.ruoyi.demo.entity.vo.ListQueryBody;
-import com.ruoyi.demo.entity.vo.OpcloseTimeVo;
-import com.ruoyi.demo.entity.vo.TimeVo;
+import com.ruoyi.demo.entity.vo.*;
 
 import java.util.List;
 import java.util.Map;
@@ -49,4 +49,10 @@ public interface BrandService {
     List<TimeVo> searchNew(List<String> industryCodes);
 
     List<TimeVo> searchNewByYears(Integer years);
+
+    void updateBrand(BrandVo brandVo);
+
+    Page<Brand> selectBrand(String brandName, Integer size);
+
+    Page<Enterprise> selectEnterprise(String enterpriseName, Integer size);
 }

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/BuildWdService.java

@@ -2,7 +2,9 @@ package com.ruoyi.demo.service;
 
 
 import com.ruoyi.demo.entity.BuildWd;
+import com.ruoyi.demo.entity.vo.BuildwdVo;
 
 public interface BuildWdService {
-    public BuildWd buildWdInfo(String wdId);
+
+    void updateBuildWd(BuildwdVo buildwdVo);
 }

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/EnterpriseWdService.java

@@ -2,7 +2,9 @@ package com.ruoyi.demo.service;
 
 
 import com.ruoyi.demo.entity.EnterpriseWd;
+import com.ruoyi.demo.entity.vo.EnterpriseWdVo;
 
 public interface EnterpriseWdService {
-    public EnterpriseWd enterpriseWdInfo(String wdId);
+
+    void updateEnterpriseWd(EnterpriseWdVo enterpriseWdVo);
 }

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/HouseWdService.java

@@ -2,7 +2,9 @@ package com.ruoyi.demo.service;
 
 
 import com.ruoyi.demo.entity.HouseWd;
+import com.ruoyi.demo.entity.vo.HouseWdVo;
 
 public interface HouseWdService {
-    public HouseWd houseWddInfo(String wdId);
+
+    void updateHouseWd(HouseWdVo houseWdVo);
 }

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/StoreWdService.java

@@ -2,7 +2,9 @@ package com.ruoyi.demo.service;
 
 
 import com.ruoyi.demo.entity.StoreWd;
+import com.ruoyi.demo.entity.vo.StoreWdVo;
 
 public interface StoreWdService {
-    public StoreWd storeWdInfo(String wdId);
+
+    void updateStoreWd(StoreWdVo storeWdVo);
 }

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/TrafficWdService.java

@@ -2,7 +2,9 @@ package com.ruoyi.demo.service;
 
 
 import com.ruoyi.demo.entity.TrafficWd;
+import com.ruoyi.demo.entity.vo.TrafficWdVo;
 
 public interface TrafficWdService {
-    public TrafficWd trafficWdInfo(String wdId);
+
+    void updateTrafficWd(TrafficWdVo trafficWd);
 }

+ 3 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/WdInfoService.java

@@ -5,6 +5,7 @@ import com.ruoyi.demo.entity.bo.ChannelBo;
 import com.ruoyi.demo.entity.vo.AddStatusVo;
 import com.ruoyi.demo.entity.vo.ChannelVo;
 import com.ruoyi.demo.entity.vo.TimeVo;
+import com.ruoyi.demo.entity.vo.WdInfoVo;
 
 import java.util.List;
 
@@ -16,4 +17,6 @@ public interface WdInfoService {
     List<TimeVo> searchCloseTimes(List<String> addrCodes, List<String> typeCodeBys);
 
     Page<ChannelVo> searchChannel(ChannelBo bo);
+
+    void updateWdInfo(WdInfoVo wdInfoVo);
 }

+ 1 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/WdRecycleService.java

@@ -1,6 +1,7 @@
 package com.ruoyi.demo.service;
 
 
+import com.ruoyi.demo.entity.vo.StoreWdVo;
 import com.ruoyi.demo.entity.vo.WdInfoVo;
 
 import java.util.HashMap;

+ 5 - 6
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/BrandRecycleServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ruoyi.demo.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 
@@ -20,12 +21,10 @@ public class BrandRecycleServiceImpl implements BrandRecycleService {
     @Autowired
     BrandMapper brandMapper;
     @Override
-    public  PageInfo<Brand> list(BrandVo brandVo) {
-        PageHelper.startPage(brandVo.getPageNum(),brandVo.getPageSize());
-        PageHelper.orderBy(brandVo.getOrderBy()+" desc");
-        List<Brand> list = brandMapper.list(brandVo);
-        PageInfo<Brand> brandPageInfo = new PageInfo<>(list);
-        return brandPageInfo;
+    public  Page<Brand> list(BrandVo brandVo) {
+        Page<Brand> page = new Page<>(brandVo.getPageNum(),brandVo.getPageSize());
+        Page<Brand> list = brandMapper.list(page,brandVo);
+        return list;
     }
 
     @Override

+ 45 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/BrandServiceImpl.java

@@ -3,6 +3,8 @@ package com.ruoyi.demo.service.impl;
 import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 
@@ -579,4 +581,47 @@ public class BrandServiceImpl implements BrandService {
         }
         return vos;
     }
+
+    @Override
+    public void updateBrand(BrandVo brandVo) {
+        UpdateWrapper<Brand> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("brand_id",brandVo.getBrandId())
+            .set("brand_img",brandVo.getBrandImg())
+            .set("brand_name",brandVo.getBrandName())
+            .set("industry_code",brandVo.getIndustryCode())
+            .set("enterprise_usci",brandVo.getEnterpriseUsci())
+            .set("per_capita_consumption",brandVo.getPerCapitaConsumption())
+            .set("comment_count",brandVo.getCommentCount())
+            .set("score",brandVo.getScore())
+            .set("menu_info",brandVo.getMenuInfo())
+            .set("index_score",brandVo.getIndexScore())
+            .set("contact",brandVo.getContact())
+            .set("telephone",brandVo.getTelephone())
+            .set("create_date",brandVo.getCreateDate());
+        brandMapper.update(null,updateWrapper);
+    }
+
+    @Override
+    public Page<Brand> selectBrand(String brandName, Integer size) {
+        QueryWrapper<Brand> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("brand_id","brand_name");
+        if (brandName != null && !brandName.equals("")){
+            queryWrapper.likeRight("brand_name",brandName);
+        }
+        Page<Brand> page = new Page<>(1,size == null ? 10:size);
+        Page<Brand> brandPage = brandMapper.selectPage(page, queryWrapper);
+        return brandPage;
+    }
+
+    @Override
+    public Page<Enterprise> selectEnterprise(String enterpriseName, Integer size) {
+        QueryWrapper<Enterprise> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("enterprise_name","enterprise_usci");
+        if (enterpriseName != null && !enterpriseName.equals("")){
+            queryWrapper.likeRight("enterprise_name",enterpriseName);
+        }
+        Page<Enterprise> page = new Page<>(1,size == null ? 10:size);
+        Page<Enterprise> enterprisePage = enterpriseMapper.selectPage(page, queryWrapper);
+        return enterprisePage;
+    }
 }

+ 37 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/BuildWdServiceeImpl.java

@@ -1,8 +1,14 @@
 package com.ruoyi.demo.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.demo.entity.BuildWd;
+import com.ruoyi.demo.entity.StoreWd;
+import com.ruoyi.demo.entity.WdInfo;
+import com.ruoyi.demo.entity.vo.BuildwdVo;
 import com.ruoyi.demo.mapper.BuildWdDao;
+import com.ruoyi.demo.mapper.WdInfoDao;
 import com.ruoyi.demo.service.BuildWdService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,8 +19,37 @@ import org.springframework.transaction.annotation.Transactional;
 public class BuildWdServiceeImpl implements BuildWdService {
     @Autowired
     BuildWdDao buildWdDao;
+    @Autowired
+    WdInfoDao wdInfoDao;
+
+
+    /**
+     * 修改楼宇网点
+     * @param buildwdVo
+     */
     @Override
-    public BuildWd buildWdInfo(String wdId) {
-        return buildWdDao.selectById(wdId);
+    public void updateBuildWd(BuildwdVo buildwdVo) {
+        //1.修改网点基本信息
+        UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("wd_id",buildwdVo.getWdId())
+            .set("wd_name",buildwdVo.getWdName())
+            .set("wd_img",buildwdVo.getWdImg())
+            .set("addr_info",buildwdVo.getAddrInfo())
+            .set("addr_code",buildwdVo.getAddrCode())
+            .set("lat",buildwdVo.getLat())
+            .set("lng",buildwdVo.getLng())
+            .set("type_code_by",buildwdVo.getTypeCodeBy())
+            .set("type_name_by",buildwdVo.getTypeNameBy())
+            .set("update_time", DateUtils.getTime());
+        wdInfoDao.update(null,updateWrapper);
+
+        //2.修改楼宇信息
+        UpdateWrapper<BuildWd> updateWrapper1 = new UpdateWrapper<>();
+        updateWrapper1.eq("wd_id",buildwdVo.getWdId())
+            .set("property_type",buildwdVo.getBuildWd().getPropertyType())
+            .set("build_type",buildwdVo.getBuildWd().getBuildType())
+            .set("households",buildwdVo.getBuildWd().getHouseholds())
+            .set("people_count",buildwdVo.getBuildWd().getPeopleCount());
+        buildWdDao.update(null,updateWrapper1);
     }
 }

+ 35 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/EnterpriseWdServiceImpl.java

@@ -1,8 +1,14 @@
 package com.ruoyi.demo.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.demo.entity.EnterpriseWd;
+import com.ruoyi.demo.entity.TrafficWd;
+import com.ruoyi.demo.entity.WdInfo;
+import com.ruoyi.demo.entity.vo.EnterpriseWdVo;
 import com.ruoyi.demo.mapper.EnterpriseWdDao;
+import com.ruoyi.demo.mapper.WdInfoDao;
 import com.ruoyi.demo.service.EnterpriseWdService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,8 +19,35 @@ import org.springframework.transaction.annotation.Transactional;
 public class EnterpriseWdServiceImpl implements EnterpriseWdService {
     @Autowired
     EnterpriseWdDao enterpriseWdDao;
+    @Autowired
+    WdInfoDao wdInfoDao;
+
+
+    /**
+     * 修改企业网点
+     * @param enterpriseWdVo
+     */
     @Override
-    public EnterpriseWd enterpriseWdInfo(String wdId) {
-        return enterpriseWdDao.selectById(wdId);
+    public void updateEnterpriseWd(EnterpriseWdVo enterpriseWdVo) {
+        //1.修改网点基本信息
+        UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("wd_id",enterpriseWdVo.getWdId())
+            .set("wd_img",enterpriseWdVo.getWdImg())
+            .set("wd_name",enterpriseWdVo.getWdName())
+            .set("addr_info",enterpriseWdVo.getAddrInfo())
+            .set("addr_code",enterpriseWdVo.getAddrCode())
+            .set("lat",enterpriseWdVo.getLat())
+            .set("lng",enterpriseWdVo.getLng())
+            .set("type_code_by",enterpriseWdVo.getTypeCodeBy())
+            .set("type_name_by",enterpriseWdVo.getTypeNameBy())
+            .set("update_time", DateUtils.getTime());
+        wdInfoDao.update(null,updateWrapper);
+
+
+        //2.修改交通设施信息
+        UpdateWrapper<EnterpriseWd> updateWrapper1 = new UpdateWrapper<>();
+        updateWrapper1.eq("wd_id",enterpriseWdVo.getWdId())
+            .set("enterprise_usci",enterpriseWdVo.getEnterpriseWd().getEnterpriseUsci());
+        enterpriseWdDao.update(null,updateWrapper1);
     }
 }

+ 37 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/HouseWdServiceImpl.java

@@ -1,8 +1,14 @@
 package com.ruoyi.demo.service.impl;
 
 ;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.demo.entity.HouseWd;
+import com.ruoyi.demo.entity.StoreWd;
+import com.ruoyi.demo.entity.WdInfo;
+import com.ruoyi.demo.entity.vo.HouseWdVo;
 import com.ruoyi.demo.mapper.HouseWdDao;
+import com.ruoyi.demo.mapper.WdInfoDao;
 import com.ruoyi.demo.service.HouseWdService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,8 +19,37 @@ import org.springframework.transaction.annotation.Transactional;
 public class HouseWdServiceImpl implements HouseWdService {
     @Autowired
     HouseWdDao houseWdDao;
+
+    @Autowired
+    WdInfoDao wdInfoDao;
+
+
+    /**
+     * 修改小区网点
+     * @param houseWdVo
+     */
     @Override
-    public HouseWd houseWddInfo(String wdId) {
-        return houseWdDao.selectById(wdId);
+    public void updateHouseWd(HouseWdVo houseWdVo) {
+        //1.修改网点基本信息
+        UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("wd_id",houseWdVo.getWdId())
+            .set("wd_name",houseWdVo.getWdName())
+            .set("wd_img",houseWdVo.getWdImg())
+            .set("addr_info",houseWdVo.getAddrInfo())
+            .set("addr_code",houseWdVo.getAddrCode())
+            .set("lat",houseWdVo.getLat())
+            .set("lng",houseWdVo.getLng())
+            .set("type_code_by",houseWdVo.getTypeCodeBy())
+            .set("type_name_by",houseWdVo.getTypeNameBy())
+            .set("update_time", DateUtils.getTime());
+        wdInfoDao.update(null,updateWrapper);
+
+        //2.修改小区信息
+        UpdateWrapper<HouseWd> updateWrapper1 = new UpdateWrapper<>();
+        updateWrapper1.eq("wd_id",houseWdVo.getWdId())
+            .set("property_type",houseWdVo.getHouseWd().getPropertyType())
+            .set("households",houseWdVo.getHouseWd().getHouseholds())
+            .set("people_count",houseWdVo.getHouseWd().getPeopleCount());
+        houseWdDao.update(null,updateWrapper1);
     }
 }

+ 50 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/StoreWdServiceImpl.java

@@ -1,8 +1,14 @@
 package com.ruoyi.demo.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.demo.entity.StoreWd;
+import com.ruoyi.demo.entity.WdInfo;
+import com.ruoyi.demo.entity.vo.StoreWdVo;
 import com.ruoyi.demo.mapper.StoreWdDao;
+import com.ruoyi.demo.mapper.WdInfoDao;
+import com.ruoyi.demo.mapper.WdInfoMapper;
 import com.ruoyi.demo.service.StoreWdService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,9 +19,50 @@ import org.springframework.transaction.annotation.Transactional;
 public class StoreWdServiceImpl implements StoreWdService {
     @Autowired
     StoreWdDao storeWdDao;
+
+    @Autowired
+    WdInfoDao wdInfoDao;
+
+
+    /**
+     * 修改门店网点
+     * @param storeWdVo
+     */
     @Override
-    public StoreWd storeWdInfo(String wdId) {
-        StoreWd storeWd = storeWdDao.selectById(wdId);
-        return storeWd;
+    public void updateStoreWd(StoreWdVo storeWdVo) {
+        //1.修改网点基本信息
+        UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("wd_id",storeWdVo.getWdId())
+            .set("wd_img",storeWdVo.getWdImg())
+            .set("wd_name",storeWdVo.getWdName())
+            .set("addr_info",storeWdVo.getAddrInfo())
+            .set("addr_code",storeWdVo.getAddrCode())
+            .set("lat",storeWdVo.getLat())
+            .set("lng",storeWdVo.getLng())
+            .set("type_code_by",storeWdVo.getTypeCodeBy())
+            .set("type_name_by",storeWdVo.getTypeNameBy())
+            .set("update_time", DateUtils.getTime());
+        wdInfoDao.update(null,updateWrapper);
+
+        //2.修改门店信息
+        UpdateWrapper<StoreWd> updateWrapper1 = new UpdateWrapper<>();
+        updateWrapper1.eq("wd_id",storeWdVo.getWdId())
+            .set("brand_id",storeWdVo.getStoreWd().getBrandId())
+            .set("brand_name",storeWdVo.getStoreWd().getBrandName())
+            .set("per_capita_consumption",storeWdVo.getStoreWd().getPerCapitaConsumption())
+            .set("manage_type_code",storeWdVo.getStoreWd().getManageTypeCode())
+            .set("industry_code",storeWdVo.getStoreWd().getIndustryCode())
+            .set("comment_count",storeWdVo.getStoreWd().getCommentCount())
+            .set("score",storeWdVo.getStoreWd().getScore())
+            .set("buy_info",storeWdVo.getStoreWd().getBuyInfo())
+            .set("index_score",storeWdVo.getStoreWd().getIndexScore())
+            .set("business_status",storeWdVo.getStoreWd().getBusinessStatus())
+            .set("business_time",storeWdVo.getStoreWd().getBusinessTime())
+            .set("telephone",storeWdVo.getStoreWd().getTelephone())
+            .set("contact",storeWdVo.getStoreWd().getContact())
+            .set("channel_type",storeWdVo.getStoreWd().getChannelType())
+            .set("opentime",storeWdVo.getStoreWd().getOpentime())
+            .set("closetime",storeWdVo.getStoreWd().getClosetime());
+        storeWdDao.update(null,updateWrapper1);
     }
 }

+ 6 - 5
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TopologicalStoreWdServiceImpl.java

@@ -61,6 +61,12 @@ public class TopologicalStoreWdServiceImpl implements TopologicalStoreWdService
 
         //1.根据经纬度 找到 周边网点Id 及 距离
         getAroundWdIdList(topologicalWdAceeptVo,aroundWdId,wdDistMap);
+
+        //按应标要求去除本身
+        if (topologicalWdAceeptVo.getWdId() != null && !topologicalWdAceeptVo.getWdId().equals("")){
+            aroundWdId.remove(topologicalWdAceeptVo.getWdId());
+        }
+
         if (aroundWdId.isEmpty()){
             //没有周边网点
             HashMap<String,Object> result = new HashMap();
@@ -70,11 +76,6 @@ public class TopologicalStoreWdServiceImpl implements TopologicalStoreWdService
             return result;
         }
 
-        //按应标要求去除本身
-        if (topologicalWdAceeptVo.getWdId() != null && !topologicalWdAceeptVo.getWdId().equals("")){
-            aroundWdId.remove(topologicalWdAceeptVo.getWdId());
-        }
-
 
         //2.分页查找网点信息
         QueryWrapper<WdInfo> queryWrapper = new QueryWrapper<>();

+ 35 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TrafficWdServiceImpl.java

@@ -1,8 +1,14 @@
 package com.ruoyi.demo.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.demo.entity.BuildWd;
 import com.ruoyi.demo.entity.TrafficWd;
+import com.ruoyi.demo.entity.WdInfo;
+import com.ruoyi.demo.entity.vo.TrafficWdVo;
 import com.ruoyi.demo.mapper.TrafficWdDao;
+import com.ruoyi.demo.mapper.WdInfoDao;
 import com.ruoyi.demo.service.TrafficWdService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,8 +19,35 @@ import org.springframework.transaction.annotation.Transactional;
 public class TrafficWdServiceImpl implements TrafficWdService {
     @Autowired
     TrafficWdDao trafficWdDao;
+
+    @Autowired
+    WdInfoDao wdInfoDao;
+
+
+    /**
+     * 修改交通设施网点
+     * @param trafficWd
+     */
     @Override
-    public TrafficWd trafficWdInfo(String wdId) {
-        return trafficWdDao.selectById(wdId);
+    public void updateTrafficWd(TrafficWdVo trafficWd) {
+        //1.修改网点基本信息
+        UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("wd_id",trafficWd.getWdId())
+            .set("wd_img",trafficWd.getWdImg())
+            .set("wd_name",trafficWd.getWdName())
+            .set("addr_info",trafficWd.getAddrInfo())
+            .set("addr_code",trafficWd.getAddrCode())
+            .set("lat",trafficWd.getLat())
+            .set("lng",trafficWd.getLng())
+            .set("type_code_by",trafficWd.getTypeCodeBy())
+            .set("type_name_by",trafficWd.getTypeNameBy())
+            .set("update_time", DateUtils.getTime());
+        wdInfoDao.update(null,updateWrapper);
+
+        //2.修改交通设施信息
+        UpdateWrapper<TrafficWd> updateWrapper1 = new UpdateWrapper<>();
+        updateWrapper1.eq("wd_id",trafficWd.getWdId())
+            .set("cars",trafficWd.getTrafficWd().getCars());
+        trafficWdDao.update(null,updateWrapper1);
     }
 }

+ 24 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/WdInfoServiceImpl.java

@@ -2,12 +2,15 @@ package com.ruoyi.demo.service.impl;
 
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.demo.entity.WdInfo;
 import com.ruoyi.demo.entity.bo.ChannelBo;
 import com.ruoyi.demo.entity.vo.AddStatusVo;
 import com.ruoyi.demo.entity.vo.ChannelVo;
 import com.ruoyi.demo.entity.vo.TimeVo;
+import com.ruoyi.demo.entity.vo.WdInfoVo;
 import com.ruoyi.demo.mapper.StoreWdOpcloseDao;
 import com.ruoyi.demo.mapper.WdInfoMapper;
 import com.ruoyi.demo.mapper.WdOpcloseDao;
@@ -159,4 +162,25 @@ public class WdInfoServiceImpl implements WdInfoService {
         Page<WdInfo> page = new Page<>(bo.getPageNum(), bo.getPageSize());
         return wdInfoMapper.selectChannel(page, wdInfoQueryWrapper);
     }
+
+    /**
+     * 修改网点基本信息
+     * @param wdInfoVo
+     */
+    @Override
+    public void updateWdInfo(WdInfoVo wdInfoVo) {
+        //1.修改网点基本信息
+        UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("wd_id",wdInfoVo.getWdId())
+            .set("wd_name",wdInfoVo.getWdName())
+            .set("addr_info",wdInfoVo.getAddrInfo())
+            .set("addr_code",wdInfoVo.getAddrCode())
+            .set("lat",wdInfoVo.getLat())
+            .set("lng",wdInfoVo.getLng())
+            .set("type_code_by",wdInfoVo.getTypeCodeBy())
+            .set("type_name_by",wdInfoVo.getTypeNameBy())
+            .set("update_time", DateUtils.getTime());
+        wdInfoMapper.update(null,updateWrapper);
+
+    }
 }

+ 30 - 26
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/WdRecycleServiceImpl.java

@@ -1,9 +1,16 @@
 package com.ruoyi.demo.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.demo.entity.StoreWd;
 import com.ruoyi.demo.entity.WdInfo;
+import com.ruoyi.demo.entity.vo.StoreWdVo;
 import com.ruoyi.demo.entity.vo.WdInfoVo;
+import com.ruoyi.demo.mapper.StoreWdDao;
 import com.ruoyi.demo.mapper.WdInfoMapper;
 import com.ruoyi.demo.service.WdRecycleService;
 import com.ruoyi.demo.utils.InitMapUtil;
@@ -33,32 +40,32 @@ public class WdRecycleServiceImpl implements WdRecycleService {
      */
     @Override
     public HashMap<String, Object> list(WdInfoVo wdInfoVo) {
+        //1.查询符合条件的数据
+        Page<WdInfo> page = new Page<>(wdInfoVo.getPageNum(), wdInfoVo.getPageSize());
+        Page<WdInfo> page1 = wdInfoMapper.list(page, wdInfoVo);
 
-        PageHelper.startPage(wdInfoVo.getPageNum(), wdInfoVo.getPageSize());
-        PageHelper.orderBy(wdInfoVo.getOrderBy() + " desc");
-        List<WdInfo> wdInfos = wdInfoMapper.list(wdInfoVo);
-        PageInfo<WdInfo> pageInfo = new PageInfo<>(wdInfos);
-
-        List<WdInfoVo> collect = wdInfos.stream().map(wdInfo -> {
-            if (wdInfo.getTypeNameBy() != null) {
-                String[] split = wdInfo.getTypeNameBy().split(":");
-                if (split.length == 3)
-                    wdInfo.setTypeNameBy(split[2]);
-                else if (split.length == 2)
-                    wdInfo.setTypeNameBy(split[1]);
-                else
-                    wdInfo.setAddrInfo(wdInfo.getTypeNameBy().replace(":", ""));
-            }
-
-            WdInfoVo wdInfoVo1 = new WdInfoVo(wdInfo);
-            wdInfoVo1.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(wdInfoVo1.getAddrCode()));
-            return wdInfoVo1;
-        }).collect(Collectors.toList());
+        //2.预处理
+//        List<WdInfoVo> collect = page1.getRecords().stream().map(wdInfo -> {
+//            if (wdInfo.getTypeNameBy() != null) {
+//                String[] split = wdInfo.getTypeNameBy().split(":");
+//                if (split.length == 3)
+//                    wdInfo.setTypeNameBy(split[2]);
+//                else if (split.length == 2)
+//                    wdInfo.setTypeNameBy(split[1]);
+//                else
+//                    wdInfo.setAddrInfo(wdInfo.getTypeNameBy().replace(":", ""));
+//            }
+//
+//            WdInfoVo wdInfoVo1 = new WdInfoVo(wdInfo);
+//            //wdInfoVo1.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(wdInfoVo1.getAddrCode()));
+//            return wdInfoVo1;
+//        }).collect(Collectors.toList());
 
+        //3.返回结果
         HashMap<String, Object> result = new HashMap<>();
-        pageInfo.setList(null);
-        result.put("page", pageInfo);
-        result.put("data", collect);
+        result.put("data", page1.getRecords());
+        page1.setRecords(null);
+        result.put("page", page1);
         return result;
     }
 
@@ -69,7 +76,6 @@ public class WdRecycleServiceImpl implements WdRecycleService {
     @Override
     public void deleteWd(String wdId) {
         wdInfoMapper.deleteById(wdId);
-        return;
     }
 
     /**
@@ -80,6 +86,4 @@ public class WdRecycleServiceImpl implements WdRecycleService {
     public void recoverWd(String wdId) {
         wdInfoMapper.recoverWd(wdId);
     }
-
-
 }

+ 1 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/utils/InitMapUtil.java

@@ -18,7 +18,7 @@ public class InitMapUtil {
 
     public String getInitCityTierMap(String addrCode){
         //redis -> hash(addrCode,城市等级)
-        return (String) redisTemplate.boundHashOps(RedisInitContant.INIT_CITY_TIER_MAP).get(addrCode.substring(0,4));
+        return (String) redisTemplate.boundHashOps(RedisInitContant.INIT_CITY_TIER_MAP).get(addrCode);
     }
 
     public List<String> getInitCityTierListMap(String cityTier){

+ 6 - 6
ruoyi-demo/src/main/resources/mapper/demo/BrandMapper.xml

@@ -81,14 +81,14 @@
     <select id="list" parameterType="com.ruoyi.demo.entity.vo.BrandVo" resultType="com.ruoyi.demo.entity.Brand">
         select * from ddt_brand
         <where>
-            <if test="brandName != null and brandName != ''">
-                and brand_name like concat('%',#{brandName},'%')
+            <if test="brand.brandName != null and brand.brandName != ''">
+                and brand_name like concat('%',#{brand.brandName},'%')
             </if>
-            <if test="showDelete != -1">
-                and show_delete = #{showDelete}
+            <if test="brand.showDelete != -1">
+                and show_delete = #{brand.showDelete}
             </if>
-            <if test="industryCode != null and industryCode != ''">
-                and industry_code = #{industryCode}
+            <if test="brand.industryCode != null and brand.industryCode != ''">
+                and industry_code = #{brand.industryCode}
             </if>
         </where>
     </select>

+ 8 - 9
ruoyi-demo/src/main/resources/mapper/demo/WdInfoMapper.xml

@@ -8,21 +8,20 @@
         <result property="count" column="count"/>
         <result property="time" column="time"/>
     </resultMap>
-
     <select id="list" parameterType="com.ruoyi.demo.entity.vo.WdInfoVo" resultType="com.ruoyi.demo.entity.WdInfo">
         select * from ddt_wd_info
         <where>
-            <if test="wdName != null and wdName != ''">
-                and wd_name like concat("%",#{wdName},"%")
+            <if test="wd.wdName != null and wd.wdName != ''">
+                and wd_name like concat("%",#{wd.wdName},"%")
             </if>
-            <if test="typeCodeBy != null and typeCodeBy != ''">
-                and type_code_by = #{typeCodeBy}
+            <if test="wd.typeCodeBy != null and wd.typeCodeBy != ''">
+                and type_code_by = #{wd.typeCodeBy}
             </if>
-            <if test="addrCode != null and addrCode != ''">
-                and addr_code = #{addrCode}
+            <if test="wd.addrCode != null and wd.addrCode != ''">
+                and addr_code = #{wd.addrCode}
             </if>
-            <if test="showDelete != -1">
-                and show_delete = #{showDelete}
+            <if test="wd.showDelete != -1">
+                and show_delete = #{wd.showDelete}
             </if>
         </where>
     </select>

+ 2 - 2
ruoyi-job/src/main/java/com/ruoyi/job/service/BenyunService.java

@@ -38,7 +38,7 @@ public class BenyunService {
      * */
     @XxlJob("WriteRedisJob")
     public void WriteRedisJob(){
-        Boolean aBoolean = redisTemplate.hasKey("4501");
+        Boolean aBoolean = redisTemplate.hasKey("isWriteRedis");
         if (aBoolean){
             //将当天新的网点信息加载redis
             XxlJobHelper.log("WriteRedisJob-day start");
@@ -59,7 +59,7 @@ public class BenyunService {
             } catch (Exception e) {
                 e.printStackTrace();
                 XxlJobHelper.log("WriteRedisJob-full ERROR:"+e.getMessage());
-                redisTemplate.boundValueOps("4501").set(1);
+                redisTemplate.boundValueOps("isWriteRedis").set(1);
             }
             AnalyseJob();
         }

+ 61 - 0
ruoyi-ui/src/api/brand/brand.js

@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+//恢复
+export function recoverBrand(brandId){
+  return request({
+    url: '/recycle/brand/recoverBrand',
+    method: 'put',
+    data:{brandId:brandId}
+  })
+}
+
+//移除
+export function deleteBrand(brandId) {
+  return request({
+    url: `/recycle/brand/deleteBrand/${brandId}`,
+    method: 'delete',
+  })
+}
+
+// 查询品牌列表
+export function listBrand(query) {
+  return request({
+    url: '/recycle/brand/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询品牌详细
+export function getBrand(brandId) {
+  return request({
+    url: '/core/brand/' + brandId,
+    method: 'get'
+  })
+}
+
+// 新增品牌
+export function addBrand(data) {
+  return request({
+    url: '/core/brand',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改品牌
+export function updateBrand(data) {
+  return request({
+    url: '/core/brand',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除品牌
+export function delBrand(brandId) {
+  return request({
+    url: '/core/brand/' + brandId,
+    method: 'delete'
+  })
+}

+ 122 - 0
ruoyi-ui/src/api/wdInfo/wdInfo.js

@@ -0,0 +1,122 @@
+import request from '@/utils/request'
+//恢复网点
+export function recoverWd(wdId){
+  return request({
+    url: '/recycle/wd/recoverWd',
+    method: 'put',
+    data: {wdId:wdId}
+  })
+}
+
+
+//移除网点
+export function deleteWd(wdId){
+  return request({
+    url: `/recycle/wd/deleteWd/${wdId}`,
+    method: 'delete'
+  })
+}
+
+//查看公司网点明细
+export function getEnterpriseWd(wdId){
+  return request({
+    url: '/bailianAi/recycle/wd/enterpriseWdInfo',
+    method: 'get',
+    params: {wdId:wdId}
+  })
+}
+
+//查看交通设施网点明细
+export function getTrafficWd(wdId){
+  return request({
+    url: '/recycle/wd/trafficWdInfo',
+    method: 'get',
+    params: {wdId:wdId}
+  })
+}
+
+//查看楼宇网点明细
+export function getBuildWd(wdId){
+  return request({
+    url: '/recycle/wd/buildWdInfo',
+    method: 'get',
+    params: {wdId:wdId}
+  })
+}
+
+//查看小区网点明细
+export function getHouseWd(wdId){
+  return request({
+    url: '/recycle/wd/houseWdInfo',
+    method: 'get',
+    params: {wdId:wdId}
+  })
+}
+
+//查看门店网点明细
+export function getStoreWd(wdId){
+  return request({
+    url: '/recycle/wd/storeWdInfo',
+    method: 'get',
+    params: {wdId:wdId}
+  })
+}
+
+// 获取网点标签
+export function getAddrCode() {
+  return request({
+    url: '/getAddrCategory',
+    method: 'get',
+  })
+}
+
+// 获取网点标签
+export function getTag() {
+  return request({
+    url: '/common/tag',
+    method: 'get',
+  })
+}
+
+// 查询网点回收站列表
+export function listWdInfo(query) {
+  return request({
+    url: '/recycle/wd/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询网点回收站详细
+export function getWdInfo(wdId) {
+  return request({
+    url: '/wdInfo/wdInfo/' + wdId,
+    method: 'get'
+  })
+}
+
+// 新增网点回收站
+export function addWdInfo(data) {
+  return request({
+    url: '/wdInfo/wdInfo',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改网点回收站
+export function updateWdInfo(data) {
+  return request({
+    url: '/wdInfo/wdInfo',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除网点回收站
+export function delWdInfo(wdId) {
+  return request({
+    url: '/wdInfo/wdInfo/' + wdId,
+    method: 'delete'
+  })
+}

BIN
ruoyi-ui/src/assets/img.png


+ 453 - 0
ruoyi-ui/src/views/data/brandData/index.vue

@@ -0,0 +1,453 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="品牌名称" prop="brandName">
+        <el-input
+          v-model="queryParams.brandName"
+          placeholder="请输入品牌名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!-- <el-form-item label="行业分类" prop="industryCode">
+        <el-input
+          v-model="queryParams.industryCode"
+          placeholder="请输入行业分类"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item> -->
+      <!-- <el-form-item label="网点状态" prop="addrCode">
+        <el-select
+          v-model="queryParams.showDelete"
+          placeholder="请选择"
+          clearable
+        >
+          <el-option label="正常" value="0"> </el-option>
+          <el-option label="已移除" value="1"> </el-option>
+        </el-select>
+      </el-form-item> -->
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-table
+      v-loading="loading"
+      :data="brandList"
+      @selection-change="handleSelectionChange"
+    >
+      <!-- <el-table-column type="selection" width="55" align="center" /> -->
+      <el-table-column type="index" :index="indexMethod"> </el-table-column>
+      <el-table-column
+        label="品牌名称"
+        align="center"
+        prop="brandName"
+        v-if="true"
+      />
+      <el-table-column label="品牌LOGO" align="center" prop="brandImg">
+        <template #default="scope">
+          <el-image
+            style="width: 60px; height: 60px"
+            :src="scope.row.brandImg"
+            fit="contain"
+          >
+            <div slot="error" class="image-slot">
+              <!-- <el-image
+                src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+                fit="contain"
+              >
+              </el-image> -->
+              <i class="el-icon-picture-outline"></i>
+            </div>
+          </el-image>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column label="行业分类" align="center" prop="industryCode" /> -->
+      <el-table-column
+        label="所属统一社会信用代码"
+        align="center"
+        prop="enterpriseUsci"
+      />
+      <el-table-column label="状态" align="center">
+        <template #default="scope">
+          <span v-show="scope.row.showDelete == 0">正常</span>
+          <span v-show="scope.row.showDelete == 1">已移除</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="采集人" align="center" prop="collectPerson" />
+      <el-table-column
+        label="采集时间"
+        align="center"
+        prop="collectTime"
+        width="180"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.collectTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="入库时间"
+        align="center"
+        prop="collectTime"
+        width="180"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.collectTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+        key="slot"
+      >
+        <template v-slot="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleSelect(scope.row)"
+            v-show="scope.row.showDelete == 0"
+            >明细</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 0"
+            >移除</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleRecover(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 1"
+            >恢复</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <!--分页-->
+    <el-row type="flex" justify="end" style="margin-top: 10">
+      <el-pagination
+        background
+        layout="prev, pager, next"
+        :total="total"
+        @current-change="pageChange"
+        :hide-on-single-page="true"
+      >
+      </el-pagination>
+    </el-row>
+
+    <el-drawer title="品牌明细" :visible.sync="open" direction="rtl">
+      <el-form label-position="right" label-width="80px" :model="brand">
+        <el-form-item label-width="90px" label="品牌名称">
+          <el-col :span="20">
+            <el-input v-model="brand.brandName" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="品牌LOGO">
+          <el-col :span="20">
+            <el-image
+              style="width: 100px; height: 100px"
+              :src="brand.brandImg"
+              fit="contain"
+            >
+            <div slot="error" class="image-slot">
+              <!-- <el-image
+                src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+                fit="contain"
+              >
+              </el-image> -->
+              <i class="el-icon-picture-outline"></i>
+            </div>
+          </el-image>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="所属公司统一信用代码">
+          <el-col :span="20">
+            <el-input v-model="brand.enterpriseUsci" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="人均消费">
+          <el-col :span="20">
+            <el-input v-model="brand.perCapitaConsumption" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="评论数">
+          <el-col :span="20">
+            <el-input v-model="brand.commentCount" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="评分">
+          <el-col :span="20">
+            <el-input v-model="brand.score" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="推荐菜品">
+          <el-input type="textarea" :rows="2" v-model="brand.menuInfo" disabled>
+          </el-input>
+        </el-form-item>
+        <el-form-item label-width="105px" label="热度">
+          <el-col :span="20">
+            <el-input v-model="brand.indexScore" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="品牌联系人">
+          <el-col :span="20">
+            <el-input v-model="brand.contact" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="联系电话">
+          <el-col :span="20">
+            <el-input v-model="brand.telephone" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="成立日期">
+          <el-col :span="20">
+            <el-input v-model="brand.createDate" disabled></el-input>
+          </el-col>
+        </el-form-item>
+      </el-form>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import {
+  recoverBrand,
+  deleteBrand,
+  listBrand,
+  getBrand,
+  delBrand,
+  addBrand,
+  updateBrand,
+} from "@/api/brand/brand";
+
+export default {
+  name: "brandData",
+  data() {
+    return {
+      brand: {
+        brandName: undefined,
+        brandImg: undefined,
+        industryCode: undefined,
+        enterpriseUsci: undefined,
+        perCapitaConsumption: undefined,
+        commentCount: undefined,
+        score: undefined,
+        menuInfo: undefined,
+        indexScore: undefined,
+        contact: undefined,
+        telephone: undefined,
+        createDate: undefined,
+        audit: undefined,
+        collectPerson: undefined,
+        collectTime: undefined,
+        enterTime: undefined,
+        hash: undefined,
+        updateTime: undefined,
+      },
+      page:{
+        pageNum: undefined,
+        pageSize: undefined,
+      },
+      open: false,
+      // 按钮loading
+      buttonLoading: false,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 品牌表格数据
+      brandList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        brandName: undefined,
+        industryCode: undefined,
+        showDelete: 0,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        brandId: [
+          { required: true, message: "品牌_id不能为空", trigger: "blur" },
+        ],
+        brandImg: [
+          { required: true, message: "品牌图片不能为空", trigger: "blur" },
+        ],
+        brandName: [
+          { required: true, message: "品牌名字不能为空", trigger: "blur" },
+        ],
+        industryCode: [
+          { required: true, message: "行业分类不能为空", trigger: "blur" },
+        ],
+        enterpriseUsci: [
+          {
+            required: true,
+            message: "统一社会信用代码不能为空",
+            trigger: "blur",
+          },
+        ],
+        perCapitaConsumption: [
+          { required: true, message: "客单价不能为空", trigger: "blur" },
+        ],
+        commentCount: [
+          { required: true, message: "店内评论数不能为空", trigger: "blur" },
+        ],
+        score: [
+          { required: true, message: "店均评分不能为空", trigger: "blur" },
+        ],
+        menuInfo: [
+          { required: true, message: "推荐菜品不能为空", trigger: "blur" },
+        ],
+        indexScore: [
+          { required: true, message: "品牌热度不能为空", trigger: "blur" },
+        ],
+        createDate: [
+          { required: true, message: "成立时间不能为空", trigger: "blur" },
+        ],
+        audit: [
+          { required: true, message: "是否通过验证不能为空", trigger: "blur" },
+        ],
+        collectUserId: [
+          { required: true, message: "采集人用户id不能为空", trigger: "blur" },
+        ],
+        collectPerson: [
+          { required: true, message: "采集人不能为空", trigger: "blur" },
+        ],
+        collectTime: [
+          { required: true, message: "采集时间不能为空", trigger: "blur" },
+        ],
+        enterTime: [
+          { required: true, message: "入库时间不能为空", trigger: "blur" },
+        ],
+        hash: [{ required: true, message: "不能为空", trigger: "blur" }],
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    indexMethod(index){
+      return index + (this.page.pageNum-1) * this.page.pageSize + 1;
+    },
+    handleSelect(row) {
+      this.brand = row;
+      console.log(this.brand)
+      // if (this.brand.brandImg == undefined || this.brand.brandImg == "")
+      //   this.brand.brandImg =
+      //     "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg";
+      this.open = true;
+    },
+    handleRecover(row) {
+      recoverBrand(row.brandId).then((response) => {
+        if (response.code == 200) {
+          this.$message({
+            message: "恢复成功",
+            type: "success",
+          });
+        } else {
+          this.$message.error(response.msg);
+        }
+
+        this.getList();
+      });
+    },
+    handleDelete(row) {
+      deleteBrand(row.brandId).then((response) => {
+        this.$message({
+          message: "移除成功",
+          type: "success",
+        });
+
+        this.getList();
+      });
+    },
+    pageChange(page) {
+      this.queryParams.pageNum = page;
+      this.getList();
+    },
+    /** 查询品牌列表 */
+    getList() {
+      this.loading = true;
+      listBrand(this.queryParams).then((response) => {
+        this.brandList = response.data.list;
+        this.total = response.data.pages;
+        this.page.pageNum = response.data.pageNum
+        this.page.pageSize = response.data.pageSize
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        pageNum: 1,
+        pageSize: 10,
+        brandName: undefined,
+        industryCode: undefined,
+        showDelete: 0,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.brandId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+  },
+};
+</script>

+ 637 - 0
ruoyi-ui/src/views/data/wdData/index.vue

@@ -0,0 +1,637 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="网点名称" prop="wdName">
+        <el-input
+          v-model="queryParams.wdName"
+          placeholder="请输入网点名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!-- <el-form-item label="网点状态" prop="addrCode">
+        <el-select v-model="queryParams.showDelete" placeholder="请选择">
+          <el-option label="正常" value="0"> </el-option>
+          <el-option label="已移除" value="1"> </el-option>
+        </el-select>
+      </el-form-item> -->
+
+      <el-form-item label="地区信息" prop="addrCode">
+        <el-cascader
+          :options="addrCodeOptions"
+          :props="propsAddrCode"
+          @change="addrCodeChange"
+        ></el-cascader>
+      </el-form-item>
+
+      <el-form-item label="网点标签" prop="typeNameBy">
+        <el-cascader
+          :options="tagOptions"
+          :show-all-levels="false"
+          :props="props"
+          @change="wdTagChange"
+        ></el-cascader>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-table
+      v-loading="loading"
+      :data="wdInfoList"
+      @selection-change="handleSelectionChange"
+    >
+      <!-- <el-table-column type="selection" width="55" align="center" /> -->
+      <el-table-column type="index" :index="indexMethod"> </el-table-column>
+      <el-table-column
+        label="网点名称"
+        align="center"
+        prop="wdName"
+        width="120px"
+      />
+      <el-table-column
+        label="地址信息"
+        align="center"
+        prop="addrInfo"
+        width="180px"
+      />
+      <el-table-column label="地区信息" align="center" prop="addrCodeInfo" />
+      <el-table-column label="网点标签" align="center" prop="typeNameBy" />
+      <el-table-column label="经纬度度" align="center">
+        <template #default="scope">
+          {{ scope.row.lng }},{{ scope.row.lat }}
+        </template>
+      </el-table-column>
+      <el-table-column label="网点状态" align="center">
+        <template #default="scope">
+          <span v-show="scope.row.showDelete == 0">正常</span>
+          <span v-show="scope.row.showDelete == 1">已移除</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="提交时间"
+        align="center"
+        prop="collectTime"
+        width="100px"
+        empty-text="-"
+      >
+      </el-table-column>
+      <el-table-column
+        label="验证时间"
+        align="center"
+        prop="enterTime"
+        width="80px"
+        empty-text="-"
+      >
+      </el-table-column>
+
+      <el-table-column
+        label="提交人"
+        align="center"
+        prop="collectPerson"
+        width="80px"
+      />
+
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+        key="slot"
+      >
+        <template v-slot="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleSelect(scope.row)"
+            v-show="scope.row.showDelete == 0"
+            >明细</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 0"
+            >移除</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleRecover(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 1"
+            >恢复</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <el-drawer title="网点基本信息明细" :visible.sync="open" direction="rtl">
+      <!--网点基本信息-->
+      <el-form label-position="right" label-width="80px" :model="wdInfo">
+        <el-form-item label-width="90px" label="网点名称:">
+          <el-col :span="20">
+            <el-input v-model="wdInfo.wdName" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="网点地区:">
+          <el-col :span="20">
+            <el-input v-model="wdInfo.addrCodeInfo" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="网点地址:">
+          <el-input
+            type="textarea"
+            :rows="2"
+            v-model="wdInfo.addrInfo"
+          >
+          </el-input>
+        </el-form-item>
+        <el-form-item label-width="90px" label="网点标签:">
+          <el-col :span="20">
+            <el-input v-model="wdInfo.typeNameBy" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="网点经纬度:">
+          <span>{{ wdInfo.lng }} ,{{ wdInfo.lat }}</span>
+        </el-form-item>
+      </el-form>
+
+      <!--门店网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="storeWd"
+        v-show="wdInfo.wdTypeCode == 1"
+      >
+        <el-form-item label="品牌名称">
+          <el-col :span="20">
+            <el-input v-model="storeWd.brandName" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="人均消费">
+          <el-col :span="20">
+            <el-input
+              v-model="storeWd.perCapitaConsumption"
+              disabled
+            ></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="经营类别">
+          <el-cascader
+            v-model="manageTypeCode"
+            :options="manageTypeOptions"
+            :show-all-levels="false"
+            :props="props"
+            disabled
+          ></el-cascader>
+        </el-form-item>
+        <!-- <el-form-item label="行业类别">
+          <el-input v-model="storeWd.industryCode"></el-input>
+        </el-form-item> -->
+        <el-form-item label="网点规模">
+          <el-col :span="20">
+            <el-input v-model="storeWd.organizationCode" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="营业状态">
+          <el-col :span="20">
+            <el-input v-model="storeWd.businessStatus" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="营业时间">
+          <el-col :span="20">
+            <el-input v-model="storeWd.businessTime" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="联系电话">
+          <el-col :span="20">
+            <el-input v-model="storeWd.telephone" disabled></el-input>
+          </el-col>
+        </el-form-item>
+      </el-form>
+
+      <!--小区网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="houseWd"
+        v-show="wdInfo.wdTypeCode == 2"
+      >
+        <el-form-item label="物业类型">
+          <el-input v-model="houseWd.propertyType" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="小区住户户数(户)">
+          <el-input v-model="houseWd.households" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="居住人口规模(人)">
+          <el-input v-model="houseWd.peopleCount" disabled></el-input>
+        </el-form-item>
+      </el-form>
+
+      <!--楼宇网点网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="buildWd"
+        v-show="wdInfo.wdTypeCode == 3"
+      >
+        <el-form-item label="物业类型:">
+          <el-col :span="12">
+            <el-input v-model="buildWd.propertyType" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="楼宇类型:">
+          <el-col :span="12">
+            <el-input v-model="buildWd.buildType" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="150px" label="小区住户户数(户):">
+          <el-col :span="9">
+            <el-input v-model="buildWd.households" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="150px" label="居住人口规模(人):">
+          <el-col :span="9">
+            <el-input v-model="buildWd.peopleCount" disabled></el-input>
+          </el-col>
+        </el-form-item>
+      </el-form>
+
+      <!--交通设施网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="trafficWd"
+        v-show="wdInfo.wdTypeCode == 4"
+      >
+        <el-form-item label="途径车">
+          <el-input v-model="trafficWd.cars" disabled></el-input>
+        </el-form-item>
+      </el-form>
+      <!--公司设施网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="enterpriseWd"
+        v-show="wdInfo.wdTypeCode == 5"
+      >
+        <el-form-item label="统一社会信用代码">
+          <el-input v-model="enterpriseWd.enterpriseUsci" disabled></el-input>
+        </el-form-item>
+      </el-form>
+    </el-drawer>
+
+    <!--分页-->
+    <el-row type="flex" justify="end" style="margin-top: 10">
+      <el-pagination
+        background
+        layout="prev, pager, next"
+        :total="total"
+        @current-change="pageChange"
+        :hide-on-single-page="true"
+      >
+      </el-pagination>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import {
+  recoverWd,
+  deleteWd,
+  getEnterpriseWd,
+  getTrafficWd,
+  getBuildWd,
+  getHouseWd,
+  getStoreWd,
+  getAddrCode,
+  getTag,
+  listWdInfo,
+  getWdInfo,
+  delWdInfo,
+  addWdInfo,
+  updateWdInfo,
+} from "@/api/wdInfo/wdInfo";
+
+export default {
+  name: "wdData",
+  data() {
+    return {
+      wdInfo: {
+        wdId: undefined,
+        wdName: undefined,
+        addrCode: undefined,
+        addrInfo: undefined,
+        addrCodeInfo: undefined,
+        lat: undefined,
+        lng: undefined,
+        typeNameBy: undefined,
+        typeCodeBy: undefined,
+        wdTypeCode: undefined,
+      },
+      storeWd: {
+        brandName: undefined,
+        perCapitaConsumption: undefined,
+        manageTypeCode: undefined,
+        industryCode: undefined,
+        organizationCode: undefined,
+        businessStatus: undefined,
+        businessTime: undefined,
+        telephone: undefined,
+      },
+      houseWd: {
+        propertyType: undefined,
+        households: undefined,
+        peopleCount: undefined,
+      },
+      buildWd: {
+        propertyType: "",
+        buildType: undefined,
+        households: undefined,
+        peopleCount: undefined,
+      },
+      trafficWd: {
+        cars: undefined,
+      },
+      enterpriseWd: {
+        enterpriseUsci: undefined,
+      },
+      manageTypeCode: [],
+      manageTypeOptions: [],
+      addrCodeOptions: [],
+      tagOptions: [],
+      propsAddrCode: {
+        label: "name",
+        value: "code",
+        children: "children",
+      },
+      props: {
+        label: "typeNameBy",
+        value: "typeCodeBy",
+        children: "typeByBodies",
+      },
+      //抽屉
+      open: false,
+      rtl: "rtl",
+      // 按钮loading
+      // 遮罩层
+      loading: true,
+      page:{
+        pageNum: undefined,
+        pageSize: undefined,
+      },
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 网点回收站表格数据
+      wdInfoList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        wdId: undefined,
+        wdName: undefined,
+        addrCode: undefined,
+        typeCodeBy: undefined,
+        typeNameBy: undefined,
+        wdTypeCode: undefined,
+        showDelete: 0,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        wdId: [
+          { required: true, message: "网点编号不能为空", trigger: "blur" },
+        ],
+        wdImg: [{ required: true, message: "门面照不能为空", trigger: "blur" }],
+        wdName: [
+          { required: true, message: "网点名称不能为空", trigger: "blur" },
+        ],
+        createDate: [
+          { required: true, message: "成立时间不能为空", trigger: "blur" },
+        ],
+        addrInfo: [
+          { required: true, message: "地址信息不能为空", trigger: "blur" },
+        ],
+        addrCode: [
+          { required: true, message: "地区信息不能为空", trigger: "blur" },
+        ],
+        lat: [{ required: true, message: "纬度不能为空", trigger: "blur" }],
+        lng: [{ required: true, message: "经度不能为空", trigger: "blur" }],
+        typeCodeTx: [
+          { required: true, message: "分类tx不能为空", trigger: "blur" },
+        ],
+        typeNameTx: [
+          { required: true, message: "分类tx不能为空", trigger: "blur" },
+        ],
+        typeCodeGd: [
+          { required: true, message: "分类gd不能为空", trigger: "blur" },
+        ],
+        typeNameGd: [
+          { required: true, message: "分类gd不能为空", trigger: "blur" },
+        ],
+        typeCodeBy: [
+          { required: true, message: "分类犇云不能为空", trigger: "blur" },
+        ],
+        typeNameBy: [
+          { required: true, message: "分类犇云不能为空", trigger: "blur" },
+        ],
+        rent: [{ required: true, message: "租金不能为空", trigger: "blur" }],
+        audit: [{ required: true, message: "验证不能为空", trigger: "blur" }],
+        wdTypeCode: [
+          { required: true, message: "网点类型不能为空", trigger: "blur" },
+        ],
+        enterTime: [
+          { required: true, message: "入库时间不能为空", trigger: "blur" },
+        ],
+        collectUserId: [
+          { required: true, message: "收集人id不能为空", trigger: "blur" },
+        ],
+        collectPerson: [
+          { required: true, message: "收集人名字不能为空", trigger: "blur" },
+        ],
+        collectTime: [
+          { required: true, message: "收集时间不能为空", trigger: "blur" },
+        ],
+        hash: [{ required: true, message: "hash不能为空", trigger: "blur" }],
+        geoHash: [
+          { required: true, message: "geoHash不能为空", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  created() {
+    this.getList();
+    this.getTag();
+    this.getAddrCode();
+  },
+  methods: {
+    indexMethod(index){
+      return index + (this.page.pageNum-1) * this.page.pageSize + 1;
+    },
+    handleRecover(row) {
+      recoverWd(row.wdId).then((response) => {
+        if (response.code == 200) {
+          this.$message({
+            message: "恢复成功",
+            type: "success",
+          });
+        } else {
+          this.$message.error(response.msg);
+        }
+
+        this.getList();
+      });
+    },
+    handleSelect(row) {
+      //网点基本信息
+      this.wdInfo.wdId = row.wdId;
+      this.wdInfo.wdName = row.wdName;
+      this.wdInfo.addrCode = row.addrCode;
+      this.wdInfo.addrInfo = row.addrInfo;
+      this.wdInfo.addrCodeInfo = row.addrCodeInfo;
+      this.wdInfo.lat = row.lat;
+      this.wdInfo.lng = row.lng;
+      this.wdInfo.typeNameBy = row.typeNameBy;
+      this.wdInfo.wdTypeCode = row.wdTypeCode;
+
+      //根据不同完蛋类型请求不同数据
+      if (row.wdTypeCode == 1) {
+        getStoreWd(row.wdId).then((response) => {
+          this.storeWd = response.data;
+        });
+      } else if (row.wdTypeCode == 2) {
+        getHouseWd(row.wdId).then((response) => {
+          this.houseWd = response.data;
+        });
+      } else if (row.wdTypeCode == 3) {
+        getBuildWd(row.wdId).then((response) => {
+          this.buildWd = response.data;
+        });
+      } else if (row.wdTypeCode == 4) {
+        getTrafficWd(row.wdId).then((response) => {
+          this.trafficWd = response.data;
+        });
+      } else if (row.wdTypeCode == 5) {
+        getEnterpriseWd(row.wdId).then((response) => {
+          this.enterpriseWd = response.data;
+        });
+      }
+      this.open = true;
+    },
+    handleDelete(row) {
+      deleteWd(row.wdId).then((response) => {
+        this.$message({
+          message: "移除成功",
+          type: "success",
+        });
+
+        this.getList();
+      });
+    },
+    addrCodeChange(value) {
+      this.queryParams.addrCode = value[value.length - 1];
+    },
+    getAddrCode() {
+      getAddrCode().then((response) => {
+        this.addrCodeOptions = response.data;
+      });
+    },
+    wdTagChange(value) {
+      this.queryParams.typeCodeBy = value[value.length - 1];
+    },
+    getTag() {
+      getTag().then((response) => {
+        console.log(response.data);
+        this.tagOptions = response.data;
+      });
+    },
+    pageChange(page) {
+      this.queryParams.pageNum = page;
+      this.getList();
+    },
+    /** 查询网点回收站列表 */
+    getList() {
+      this.loading = true;
+      listWdInfo(this.queryParams).then((response) => {
+        this.wdInfoList = response.data.data;
+        this.total = response.data.page.total;
+        this.page.pageNum = response.data.page.pageNum;
+        this.page.pageSize = response.data.page.pageSize;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        pageNum: 1,
+        pageSize: 10,
+        wdId: undefined,
+        wdName: undefined,
+        addrCode: undefined,
+        typeCodeBy: undefined,
+        typeNameBy: undefined,
+        wdTypeCode: undefined,
+        showDelete: undefined,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.wdId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+  },
+};
+</script>
+<style scoped>
+</style>

+ 452 - 0
ruoyi-ui/src/views/recycle/brand/index.vue

@@ -0,0 +1,452 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="品牌名称" prop="brandName">
+        <el-input
+          v-model="queryParams.brandName"
+          placeholder="请输入品牌名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!-- <el-form-item label="行业分类" prop="industryCode">
+        <el-input
+          v-model="queryParams.industryCode"
+          placeholder="请输入行业分类"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item> -->
+      <!-- <el-form-item label="网点状态" prop="addrCode">
+        <el-select
+          v-model="queryParams.showDelete"
+          placeholder="请选择"
+          clearable
+        >
+          <el-option label="正常" value="0"> </el-option>
+          <el-option label="已移除" value="1"> </el-option>
+        </el-select>
+      </el-form-item> -->
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-table
+      v-loading="loading"
+      :data="brandList"
+      @selection-change="handleSelectionChange"
+    >
+      <!-- <el-table-column type="selection" width="55" align="center" /> -->
+      <el-table-column type="index" :index="indexMethod"> </el-table-column>
+      <el-table-column
+        label="品牌名称"
+        align="center"
+        prop="brandName"
+        v-if="true"
+      />
+      <el-table-column label="品牌LOGO" align="center" prop="brandImg">
+        <template #default="scope">
+          <el-image
+            style="width: 60px; height: 60px"
+            :src="scope.row.brandImg"
+            fit="contain"
+          >
+            <div slot="error" class="image-slot">
+              <!-- <el-image
+                src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+                fit="contain"
+              >
+              </el-image> -->
+              <i class="el-icon-picture-outline"></i>
+            </div>
+          </el-image>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column label="行业分类" align="center" prop="industryCode" /> -->
+      <el-table-column
+        label="所属统一社会信用代码"
+        align="center"
+        prop="enterpriseUsci"
+      />
+      <el-table-column label="状态" align="center">
+        <template #default="scope">
+          <span v-show="scope.row.showDelete == 0">正常</span>
+          <span v-show="scope.row.showDelete == 1">已移除</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="采集人" align="center" prop="collectPerson" />
+      <el-table-column
+        label="采集时间"
+        align="center"
+        prop="collectTime"
+        width="180"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.enterTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="入库时间"
+        align="center"
+        prop="enterTime"
+        width="180"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+        key="slot"
+      >
+        <template v-slot="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleSelect(scope.row)"
+            v-show="scope.row.showDelete == 0"
+            >明细</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 0"
+            >移除</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleRecover(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 1"
+            >恢复</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <!--分页-->
+    <el-row type="flex" justify="end" style="margin-top: 10">
+      <el-pagination
+        background
+        layout="prev, pager, next"
+        :total="total"
+        @current-change="pageChange"
+        :hide-on-single-page="true"
+      >
+      </el-pagination>
+    </el-row>
+
+    <el-drawer title="品牌明细" :visible.sync="open" direction="rtl">
+      <el-form label-position="right" label-width="80px" :model="brand">
+        <el-form-item label-width="90px" label="品牌名称">
+          <el-col :span="20">
+            <el-input v-model="brand.brandName" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="品牌LOGO">
+          <el-col :span="20">
+            <el-image
+              style="width: 100px; height: 100px"
+              :src="brand.brandImg"
+              :fit="contain"
+            >
+            <div slot="error" class="image-slot">
+              <!-- <el-image
+                src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+                fit="contain"
+              >
+              </el-image> -->
+              <i class="el-icon-picture-outline"></i>
+            </div>
+          </el-image>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="所属公司统一信用代码">
+          <el-col :span="20">
+            <el-input v-model="brand.enterpriseUsci" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="人均消费">
+          <el-col :span="20">
+            <el-input v-model="brand.perCapitaConsumption" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="评论数">
+          <el-col :span="20">
+            <el-input v-model="brand.commentCount" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="评分">
+          <el-col :span="20">
+            <el-input v-model="brand.score" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="推荐菜品">
+          <el-input type="textarea" :rows="2" v-model="brand.menuInfo" disabled>
+          </el-input>
+        </el-form-item>
+        <el-form-item label-width="105px" label="热度">
+          <el-col :span="20">
+            <el-input v-model="brand.indexScore" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="品牌联系人">
+          <el-col :span="20">
+            <el-input v-model="brand.contact" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="联系电话">
+          <el-col :span="20">
+            <el-input v-model="brand.telephone" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="成立日期">
+          <el-col :span="20">
+            <el-input v-model="brand.createDate" disabled></el-input>
+          </el-col>
+        </el-form-item>
+      </el-form>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import {
+  recoverBrand,
+  deleteBrand,
+  listBrand,
+  getBrand,
+  delBrand,
+  addBrand,
+  updateBrand,
+} from "@/api/brand/brand";
+
+export default {
+  name: "Brand",
+  data() {
+    return {
+      brand: {
+        brandName: undefined,
+        brandImg: undefined,
+        industryCode: undefined,
+        enterpriseUsci: undefined,
+        perCapitaConsumption: undefined,
+        commentCount: undefined,
+        score: undefined,
+        menuInfo: undefined,
+        indexScore: undefined,
+        contact: undefined,
+        telephone: undefined,
+        createDate: undefined,
+        audit: undefined,
+        collectPerson: undefined,
+        collectTime: undefined,
+        enterTime: undefined,
+        hash: undefined,
+        updateTime: undefined,
+      },
+      open: false,
+      // 按钮loading
+      buttonLoading: false,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 品牌表格数据
+      brandList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      page:{
+        pageNum: undefined,
+        pageSize: undefined,
+      },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        brandName: undefined,
+        industryCode: undefined,
+        showDelete: 1,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        brandId: [
+          { required: true, message: "品牌_id不能为空", trigger: "blur" },
+        ],
+        brandImg: [
+          { required: true, message: "品牌图片不能为空", trigger: "blur" },
+        ],
+        brandName: [
+          { required: true, message: "品牌名字不能为空", trigger: "blur" },
+        ],
+        industryCode: [
+          { required: true, message: "行业分类不能为空", trigger: "blur" },
+        ],
+        enterpriseUsci: [
+          {
+            required: true,
+            message: "统一社会信用代码不能为空",
+            trigger: "blur",
+          },
+        ],
+        perCapitaConsumption: [
+          { required: true, message: "客单价不能为空", trigger: "blur" },
+        ],
+        commentCount: [
+          { required: true, message: "店内评论数不能为空", trigger: "blur" },
+        ],
+        score: [
+          { required: true, message: "店均评分不能为空", trigger: "blur" },
+        ],
+        menuInfo: [
+          { required: true, message: "推荐菜品不能为空", trigger: "blur" },
+        ],
+        indexScore: [
+          { required: true, message: "品牌热度不能为空", trigger: "blur" },
+        ],
+        createDate: [
+          { required: true, message: "成立时间不能为空", trigger: "blur" },
+        ],
+        audit: [
+          { required: true, message: "是否通过验证不能为空", trigger: "blur" },
+        ],
+        collectUserId: [
+          { required: true, message: "采集人用户id不能为空", trigger: "blur" },
+        ],
+        collectPerson: [
+          { required: true, message: "采集人不能为空", trigger: "blur" },
+        ],
+        collectTime: [
+          { required: true, message: "采集时间不能为空", trigger: "blur" },
+        ],
+        enterTime: [
+          { required: true, message: "入库时间不能为空", trigger: "blur" },
+        ],
+        hash: [{ required: true, message: "不能为空", trigger: "blur" }],
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    indexMethod(index){
+      return index + (this.page.pageNum-1) * this.page.pageSize + 1;
+    },
+    handleSelect(row) {
+      this.brand = row;
+      // if (this.brand.brandImg == undefined || this.brand.brandImg == "")
+      //   this.brand.brandImg =
+      //     "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg";
+      this.open = true;
+    },
+    handleRecover(row) {
+      recoverBrand(row.brandId).then((response) => {
+        if (response.code == 200) {
+          this.$message({
+            message: "恢复成功",
+            type: "success",
+          });
+        } else {
+          this.$message.error(response.msg);
+        }
+
+        this.getList();
+      });
+    },
+    handleDelete(row) {
+      deleteBrand(row.brandId).then((response) => {
+        this.$message({
+          message: "移除成功",
+          type: "success",
+        });
+
+        this.getList();
+      });
+    },
+    pageChange(page) {
+      this.queryParams.pageNum = page;
+      this.getList();
+    },
+    /** 查询品牌列表 */
+    getList() {
+      this.loading = true;
+      listBrand(this.queryParams).then((response) => {
+        this.brandList = response.data.list;
+        this.total = response.data.pages;
+        this.page.pageNum = response.data.pageNum
+        this.page.pageSize = response.data.pageSize
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        pageNum: 1,
+        pageSize: 10,
+        brandName: undefined,
+        industryCode: undefined,
+        showDelete: undefined,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.brandId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+  },
+};
+</script>

+ 637 - 0
ruoyi-ui/src/views/recycle/wdInfo/index.vue

@@ -0,0 +1,637 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="网点名称" prop="wdName">
+        <el-input
+          v-model="queryParams.wdName"
+          placeholder="请输入网点名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!-- <el-form-item label="网点状态" prop="addrCode">
+        <el-select v-model="queryParams.showDelete" placeholder="请选择">
+          <el-option label="正常" value="0"> </el-option>
+          <el-option label="已移除" value="1"> </el-option>
+        </el-select>
+      </el-form-item> -->
+
+      <el-form-item label="地区信息" prop="addrCode">
+        <el-cascader
+          :options="addrCodeOptions"
+          :props="propsAddrCode"
+          @change="addrCodeChange"
+        ></el-cascader>
+      </el-form-item>
+
+      <el-form-item label="网点标签" prop="typeNameBy">
+        <el-cascader
+          :options="tagOptions"
+          :show-all-levels="false"
+          :props="props"
+          @change="wdTagChange"
+        ></el-cascader>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-table
+      v-loading="loading"
+      :data="wdInfoList"
+      @selection-change="handleSelectionChange"
+    >
+      <!-- <el-table-column type="selection" width="55" align="center" /> -->
+      <el-table-column type="index" :index="indexMethod"> </el-table-column>
+      <el-table-column
+        label="网点名称"
+        align="center"
+        prop="wdName"
+        width="120px"
+      />
+      <el-table-column
+        label="地址信息"
+        align="center"
+        prop="addrInfo"
+        width="180px"
+      />
+      <el-table-column label="地区信息" align="center" prop="addrCodeInfo" />
+      <el-table-column label="网点标签" align="center" prop="typeNameBy" />
+      <el-table-column label="经纬度度" align="center">
+        <template #default="scope">
+          {{ scope.row.lng }},{{ scope.row.lat }}
+        </template>
+      </el-table-column>
+      <el-table-column label="网点状态" align="center">
+        <template #default="scope">
+          <span v-show="scope.row.showDelete == 0">正常</span>
+          <span v-show="scope.row.showDelete == 1">已移除</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="提交时间"
+        align="center"
+        prop="collectTime"
+        width="100px"
+        empty-text="-"
+      >
+      </el-table-column>
+      <el-table-column
+        label="验证时间"
+        align="center"
+        prop="enterTime"
+        width="80px"
+        empty-text="-"
+      >
+      </el-table-column>
+
+      <el-table-column
+        label="提交人"
+        align="center"
+        prop="collectPerson"
+        width="80px"
+      />
+
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+        key="slot"
+      >
+        <template v-slot="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleSelect(scope.row)"
+            v-show="scope.row.showDelete == 0"
+            >明细</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 0"
+            >移除</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleRecover(scope.row)"
+            v-hasPermi="['wdInfo:wdInfo:remove']"
+            v-show="scope.row.showDelete == 1"
+            >恢复</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <el-drawer title="网点基本信息明细" :visible.sync="open" direction="rtl">
+      <!--网点基本信息-->
+      <el-form label-position="right" label-width="80px" :model="wdInfo">
+        <el-form-item label-width="90px" label="网点名称:">
+          <el-col :span="20">
+            <el-input v-model="wdInfo.wdName" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="网点地区:">
+          <el-col :span="20">
+            <el-input v-model="wdInfo.addrCodeInfo" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="90px" label="网点地址:">
+          <el-input
+            type="textarea"
+            :rows="2"
+            v-model="wdInfo.addrInfo"
+          >
+          </el-input>
+        </el-form-item>
+        <el-form-item label-width="90px" label="网点标签:">
+          <el-col :span="20">
+            <el-input v-model="wdInfo.typeNameBy" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="105px" label="网点经纬度:">
+          <span>{{ wdInfo.lng }} ,{{ wdInfo.lat }}</span>
+        </el-form-item>
+      </el-form>
+
+      <!--门店网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="storeWd"
+        v-show="wdInfo.wdTypeCode == 1"
+      >
+        <el-form-item label="品牌名称">
+          <el-col :span="20">
+            <el-input v-model="storeWd.brandName" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="人均消费">
+          <el-col :span="20">
+            <el-input
+              v-model="storeWd.perCapitaConsumption"
+              disabled
+            ></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="经营类别">
+          <el-cascader
+            v-model="manageTypeCode"
+            :options="manageTypeOptions"
+            :show-all-levels="false"
+            :props="props"
+            disabled
+          ></el-cascader>
+        </el-form-item>
+        <!-- <el-form-item label="行业类别">
+          <el-input v-model="storeWd.industryCode"></el-input>
+        </el-form-item> -->
+        <el-form-item label="网点规模">
+          <el-col :span="20">
+            <el-input v-model="storeWd.organizationCode" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="营业状态">
+          <el-col :span="20">
+            <el-input v-model="storeWd.businessStatus" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="营业时间">
+          <el-col :span="20">
+            <el-input v-model="storeWd.businessTime" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="联系电话">
+          <el-col :span="20">
+            <el-input v-model="storeWd.telephone" disabled></el-input>
+          </el-col>
+        </el-form-item>
+      </el-form>
+
+      <!--小区网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="houseWd"
+        v-show="wdInfo.wdTypeCode == 2"
+      >
+        <el-form-item label="物业类型">
+          <el-input v-model="houseWd.propertyType" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="小区住户户数(户)">
+          <el-input v-model="houseWd.households" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="居住人口规模(人)">
+          <el-input v-model="houseWd.peopleCount" disabled></el-input>
+        </el-form-item>
+      </el-form>
+
+      <!--楼宇网点网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="buildWd"
+        v-show="wdInfo.wdTypeCode == 3"
+      >
+        <el-form-item label="物业类型:">
+          <el-col :span="12">
+            <el-input v-model="buildWd.propertyType" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="楼宇类型:">
+          <el-col :span="12">
+            <el-input v-model="buildWd.buildType" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="150px" label="小区住户户数(户):">
+          <el-col :span="9">
+            <el-input v-model="buildWd.households" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label-width="150px" label="居住人口规模(人):">
+          <el-col :span="9">
+            <el-input v-model="buildWd.peopleCount" disabled></el-input>
+          </el-col>
+        </el-form-item>
+      </el-form>
+
+      <!--交通设施网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="trafficWd"
+        v-show="wdInfo.wdTypeCode == 4"
+      >
+        <el-form-item label="途径车">
+          <el-input v-model="trafficWd.cars" disabled></el-input>
+        </el-form-item>
+      </el-form>
+      <!--公司设施网点-->
+      <el-form
+        label-position="right"
+        label-width="80px"
+        :model="enterpriseWd"
+        v-show="wdInfo.wdTypeCode == 5"
+      >
+        <el-form-item label="统一社会信用代码">
+          <el-input v-model="enterpriseWd.enterpriseUsci" disabled></el-input>
+        </el-form-item>
+      </el-form>
+    </el-drawer>
+
+    <!--分页-->
+    <el-row type="flex" justify="end" style="margin-top: 10">
+      <el-pagination
+        background
+        layout="prev, pager, next"
+        :total="total"
+        @current-change="pageChange"
+        :hide-on-single-page="true"
+      >
+      </el-pagination>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import {
+  recoverWd,
+  deleteWd,
+  getEnterpriseWd,
+  getTrafficWd,
+  getBuildWd,
+  getHouseWd,
+  getStoreWd,
+  getAddrCode,
+  getTag,
+  listWdInfo,
+  getWdInfo,
+  delWdInfo,
+  addWdInfo,
+  updateWdInfo,
+} from "@/api/wdInfo/wdInfo";
+
+export default {
+  name: "WdInfo",
+  data() {
+    return {
+      wdInfo: {
+        wdId: undefined,
+        wdName: undefined,
+        addrCode: undefined,
+        addrInfo: undefined,
+        addrCodeInfo: undefined,
+        lat: undefined,
+        lng: undefined,
+        typeNameBy: undefined,
+        typeCodeBy: undefined,
+        wdTypeCode: undefined,
+      },
+      storeWd: {
+        brandName: undefined,
+        perCapitaConsumption: undefined,
+        manageTypeCode: undefined,
+        industryCode: undefined,
+        organizationCode: undefined,
+        businessStatus: undefined,
+        businessTime: undefined,
+        telephone: undefined,
+      },
+      houseWd: {
+        propertyType: undefined,
+        households: undefined,
+        peopleCount: undefined,
+      },
+      buildWd: {
+        propertyType: "",
+        buildType: undefined,
+        households: undefined,
+        peopleCount: undefined,
+      },
+      trafficWd: {
+        cars: undefined,
+      },
+      enterpriseWd: {
+        enterpriseUsci: undefined,
+      },
+      manageTypeCode: [],
+      manageTypeOptions: [],
+      addrCodeOptions: [],
+      tagOptions: [],
+      propsAddrCode: {
+        label: "name",
+        value: "code",
+        children: "children",
+      },
+      props: {
+        label: "typeNameBy",
+        value: "typeCodeBy",
+        children: "typeByBodies",
+      },
+      //抽屉
+      open: false,
+      rtl: "rtl",
+      // 按钮loading
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 网点回收站表格数据
+      wdInfoList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      page:{
+        pageNum: undefined,
+        pageSize: undefined,
+      },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        wdId: undefined,
+        wdName: undefined,
+        addrCode: undefined,
+        typeCodeBy: undefined,
+        typeNameBy: undefined,
+        wdTypeCode: undefined,
+        showDelete: 1,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        wdId: [
+          { required: true, message: "网点编号不能为空", trigger: "blur" },
+        ],
+        wdImg: [{ required: true, message: "门面照不能为空", trigger: "blur" }],
+        wdName: [
+          { required: true, message: "网点名称不能为空", trigger: "blur" },
+        ],
+        createDate: [
+          { required: true, message: "成立时间不能为空", trigger: "blur" },
+        ],
+        addrInfo: [
+          { required: true, message: "地址信息不能为空", trigger: "blur" },
+        ],
+        addrCode: [
+          { required: true, message: "地区信息不能为空", trigger: "blur" },
+        ],
+        lat: [{ required: true, message: "纬度不能为空", trigger: "blur" }],
+        lng: [{ required: true, message: "经度不能为空", trigger: "blur" }],
+        typeCodeTx: [
+          { required: true, message: "分类tx不能为空", trigger: "blur" },
+        ],
+        typeNameTx: [
+          { required: true, message: "分类tx不能为空", trigger: "blur" },
+        ],
+        typeCodeGd: [
+          { required: true, message: "分类gd不能为空", trigger: "blur" },
+        ],
+        typeNameGd: [
+          { required: true, message: "分类gd不能为空", trigger: "blur" },
+        ],
+        typeCodeBy: [
+          { required: true, message: "分类犇云不能为空", trigger: "blur" },
+        ],
+        typeNameBy: [
+          { required: true, message: "分类犇云不能为空", trigger: "blur" },
+        ],
+        rent: [{ required: true, message: "租金不能为空", trigger: "blur" }],
+        audit: [{ required: true, message: "验证不能为空", trigger: "blur" }],
+        wdTypeCode: [
+          { required: true, message: "网点类型不能为空", trigger: "blur" },
+        ],
+        enterTime: [
+          { required: true, message: "入库时间不能为空", trigger: "blur" },
+        ],
+        collectUserId: [
+          { required: true, message: "收集人id不能为空", trigger: "blur" },
+        ],
+        collectPerson: [
+          { required: true, message: "收集人名字不能为空", trigger: "blur" },
+        ],
+        collectTime: [
+          { required: true, message: "收集时间不能为空", trigger: "blur" },
+        ],
+        hash: [{ required: true, message: "hash不能为空", trigger: "blur" }],
+        geoHash: [
+          { required: true, message: "geoHash不能为空", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  created() {
+    this.getList();
+    this.getTag();
+    this.getAddrCode();
+  },
+  methods: {
+    indexMethod(index){
+      return index + (this.page.pageNum-1) * this.page.pageSize + 1;
+    },
+    handleRecover(row) {
+      recoverWd(row.wdId).then((response) => {
+        if (response.code == 200) {
+          this.$message({
+            message: "恢复成功",
+            type: "success",
+          });
+        } else {
+          this.$message.error(response.msg);
+        }
+
+        this.getList();
+      });
+    },
+    handleSelect(row) {
+      //网点基本信息
+      this.wdInfo.wdId = row.wdId;
+      this.wdInfo.wdName = row.wdName;
+      this.wdInfo.addrCode = row.addrCode;
+      this.wdInfo.addrInfo = row.addrInfo;
+      this.wdInfo.addrCodeInfo = row.addrCodeInfo;
+      this.wdInfo.lat = row.lat;
+      this.wdInfo.lng = row.lng;
+      this.wdInfo.typeNameBy = row.typeNameBy;
+      this.wdInfo.wdTypeCode = row.wdTypeCode;
+
+      //根据不同完蛋类型请求不同数据
+      if (row.wdTypeCode == 1) {
+        getStoreWd(row.wdId).then((response) => {
+          this.storeWd = response.data;
+        });
+      } else if (row.wdTypeCode == 2) {
+        getHouseWd(row.wdId).then((response) => {
+          this.houseWd = response.data;
+        });
+      } else if (row.wdTypeCode == 3) {
+        getBuildWd(row.wdId).then((response) => {
+          this.buildWd = response.data;
+        });
+      } else if (row.wdTypeCode == 4) {
+        getTrafficWd(row.wdId).then((response) => {
+          this.trafficWd = response.data;
+        });
+      } else if (row.wdTypeCode == 5) {
+        getEnterpriseWd(row.wdId).then((response) => {
+          this.enterpriseWd = response.data;
+        });
+      }
+      this.open = true;
+    },
+    handleDelete(row) {
+      deleteWd(row.wdId).then((response) => {
+        this.$message({
+          message: "移除成功",
+          type: "success",
+        });
+
+        this.getList();
+      });
+    },
+    addrCodeChange(value) {
+      this.queryParams.addrCode = value[value.length - 1];
+    },
+    getAddrCode() {
+      getAddrCode().then((response) => {
+        this.addrCodeOptions = response.data;
+      });
+    },
+    wdTagChange(value) {
+      this.queryParams.typeCodeBy = value[value.length - 1];
+    },
+    getTag() {
+      getTag().then((response) => {
+        console.log(response.data);
+        this.tagOptions = response.data;
+      });
+    },
+    pageChange(page) {
+      this.queryParams.pageNum = page;
+      this.getList();
+    },
+    /** 查询网点回收站列表 */
+    getList() {
+      this.loading = true;
+      listWdInfo(this.queryParams).then((response) => {
+        this.wdInfoList = response.data.data;
+        this.total = response.data.page.total;
+        this.page.pageNum = response.data.page.pageNum;
+        this.page.pageSize = response.data.page.pageSize;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        pageNum: 1,
+        pageSize: 10,
+        wdId: undefined,
+        wdName: undefined,
+        addrCode: undefined,
+        typeCodeBy: undefined,
+        typeNameBy: undefined,
+        wdTypeCode: undefined,
+        showDelete: undefined,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.wdId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+  },
+};
+</script>
+<style scoped>
+</style>