2 次代码提交 d3c3ef5cb0 ... a35fc3bf9b

作者 SHA1 备注 提交日期
  JensionDzero a35fc3bf9b 重新上传前端 1 年之前
  JensionDzero a5c43d21c3 重新上传前端 1 年之前

+ 52 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/WdRecycleController.java

@@ -1,10 +1,14 @@
 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.HouseWdVo;
+import com.ruoyi.demo.entity.vo.StoreWdVo;
 import com.ruoyi.demo.entity.vo.WdInfoVo;
 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;
@@ -127,4 +131,52 @@ public class WdRecycleController {
         return R.ok();
     }
 
+    /**
+     * 修改网点基本信息
+     */
+    @PutMapping("/updateStoreWd")
+    public R updateStoreWd(@Validated(value = {EditGroup.class}) @RequestBody StoreWdVo storeWdVo){
+        wdRecycleService.updateStoreWd(storeWdVo);
+        return R.ok();
+    }
+
+//    /**
+//     * 修改门店网点信息
+//     */
+//    @PutMapping("/updateStoreWd")
+//    public R updateStoreWd(@Validated(value = {EditGroup.class}) @RequestBody StoreWdVo wdInfo){
+//        wdRecycleService.updateStoreWd(wdInfo);
+//    }
+//
+//    /**
+//     * 修改小区网点信息
+//     */
+//    @PutMapping("/updateHouseWd")
+//    public R updateHouseWd(@Validated(value = {EditGroup.class}) @RequestBody HouseWdVo wdInfo){
+//        wdRecycleService.updateHouseWd(wdInfo);
+//    }
+//
+//    /**
+//     * 修改楼宇网点信息
+//     */
+//    @PutMapping("/updateBuildWd")
+//    public R updateBuildWd(@Validated(value = {EditGroup.class}) @RequestBody HouseWdVo wdInfo){
+//        wdRecycleService.updateBuildWd(wdInfo);
+//    }
+//
+//    /**
+//     * 修改交通设施网点信息
+//     */
+//    @PutMapping("/updateTrafficWd")
+//    public R updateTrafficWd(@Validated(value = {EditGroup.class}) @RequestBody HouseWdVo wdInfo){
+//        wdRecycleService.updateTrafficWd(wdInfo);
+//    }
+//
+//    /**
+//     * 修改企业网点信息
+//     */
+//    @PutMapping("/updateEnterpriseWd")
+//    public R updateEnterpriseWd(@Validated(value = {EditGroup.class}) @RequestBody HouseWdVo wdInfo){
+//        wdRecycleService.updateEnterpriseWd(wdInfo);
+//    }
 }

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

@@ -0,0 +1,29 @@
+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 lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class HouseWdVo {
+    /**
+     * 网点基本信息_id(外键)
+     */
+    @NotBlank(message = "网点Id不能为空",groups = {EditGroup.class})
+    private String wdId;
+    /**
+     * 物业类型
+     */
+    private String propertyType;
+    /**
+     * 小区住户户数(户)
+     */
+    private int households;
+    /**
+     * 居住人口规模(人)
+     */
+    private int peopleCount;
+}

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

@@ -0,0 +1,112 @@
+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 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;
+    @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;
+    @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;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+    private String collectUserId;
+    private String collectPerson;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date collectTime;
+
+    /**
+     * 品牌_id(外键)
+     */
+    private String brandId;
+    /**
+     * 品牌名字
+     */
+    private String brandName;
+    /**
+     * 人均消费
+     */
+    private Double perCapitaConsumption;
+    /**
+     * 经营类别
+     */
+    private String manageTypeCode;
+    /**
+     * 行业分类(关联行业分类表)
+     */
+    private String industryCode;
+    /**
+     * 门店规模(连锁)
+     */
+    private String organizationCode;
+    /**
+     * 网点评论数
+     */
+    private int commentCount;
+    /**
+     * 网点评分
+     */
+    private Double score;
+    /**
+     * 网点团购信息
+     */
+    private String buyInfo;
+    /**
+     * 旺店指数
+     */
+    private double indexScore;
+    /**
+     * 营业状态(正常、暂停、尚未营业)
+     */
+    private String businessStatus;
+    /**
+     * 营业时间
+     */
+    private String businessTime;
+    /**
+     * 联系电话
+     */
+    private String telephone;
+    /**
+     * 联系人
+     */
+    private String contact;
+    /**
+     * 渠道商类型
+     */
+    private String channelType;
+    /**
+     * 开店时间
+     */
+    private String opentime;
+    /**
+     * 关店时间
+     */
+    private String closetime;
+}

+ 4 - 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;
@@ -12,4 +13,7 @@ public interface WdRecycleService {
     void deleteWd(String wdId);
 
     void recoverWd(String wdId);
+
+
+    void updateStoreWd(StoreWdVo storeWdVo);
 }

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

@@ -1,8 +1,11 @@
 package com.ruoyi.demo.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.ruoyi.common.utils.DateUtils;
 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.WdInfoMapper;
 import com.ruoyi.demo.service.WdRecycleService;
@@ -82,4 +85,25 @@ public class WdRecycleServiceImpl implements WdRecycleService {
     }
 
 
+    @Override
+    public void updateStoreWd(StoreWdVo storeWdVo) {
+//        UpdateWrapper<WdInfo> updateWrapper = new UpdateWrapper<>();
+//        updateWrapper.eq("wd_id",storeWdVo.getWdId())
+//            .set("wd_name",storeWdVo.getWdName())
+//            .set("addrInfo",storeWdVo.getAddrInfo())
+//            .set("addrCode",storeWdVo.getAddrCode())
+//            .set("addrCodeInfo",storeWdVo.getAddrCodeInfo())
+//            .set("lat",storeWdVo.getLat())
+//            .set("lng",storeWdVo.getLng())
+//            .set("typeCodeBy",storeWdVo.getTypeCodeBy())
+//            .set("typeNameBy",storeWdVo.getTypeNameBy())
+//            .set("updateTime", DateUtils.getTime())
+//            .set("brandId",storeWdVo.getBrandId())
+//            .set("brandName",storeWdVo.getBrandName())
+//            .set("perCapitaConsumption",)
+//            .set("manageTypeCode",)
+//            .set("industryCode",)
+    }
+
+
 }

+ 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'
+  })
+}

二进制
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>