Sfoglia il codice sorgente

重新上传前端

JensionDzero 1 anno fa
parent
commit
a35fc3bf9b

+ 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>