From 04102f7237efefa744090ed7c25f7b5d0807b679 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 18:11:57 +0800
Subject: [PATCH] 完成运营中心提现和运营中心权限管理

---
 shop_vue/src/components/setlink/part/Supplier.vue |  167 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 117 insertions(+), 50 deletions(-)

diff --git a/shop_vue/src/components/setlink/part/Supplier.vue b/shop_vue/src/components/setlink/part/Supplier.vue
index e9771ab..6a3fe6b 100644
--- a/shop_vue/src/components/setlink/part/Supplier.vue
+++ b/shop_vue/src/components/setlink/part/Supplier.vue
@@ -3,46 +3,86 @@
   <!--
         作者:luoyiming
         时间:2020-06-08
-        描述:超链接选择-文章
+        描述:超链接选择-商户
     -->
   <div class="article-box">
 
-    <!--搜索表单-->
-    <div class="common-seach-wrap">
-      <el-form size="small" :inline="true" :model="searchForm" class="demo-form-inline">
-        <el-form-item label="商户名称"><el-input size="small" v-model="searchForm.store_name" placeholder="请输入商户名称"></el-input></el-form-item>
-        <el-form-item>
+    <el-tabs v-model="activeTab">
+      <el-tab-pane label="分类" name="type"></el-tab-pane>
+      <el-tab-pane label="商户" name="detail"></el-tab-pane>
+    </el-tabs>
+    <div class="product" v-if="activeTab == 'type'">
+      <!--搜索表单-->
+      <div class="common-seach-wrap">
+        <el-form size="small" :inline="true" :model="searchForm" class="demo-form-inline">
+          <el-form-item label="">
+            <el-select v-model="searchForm.supplier_type" placeholder="请选择类型" clearable>
+              <el-option v-for="(item, key) in typeList" :key="key" :label="item" :value="parseInt(key)"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
             <el-button size="small" icon="el-icon-search" @click="onSubmit">查询</el-button>
-        </el-form-item>
-        <el-form-item>
-          <el-button size="small" icon="el-icon-notebook-2" @click="chooseList">选择商户列表</el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-
-    <!--内容-->
-    <div class="article-content">
-      <div class="table-wrap">
-        <el-table size="mini" :data="tableData" border style="width: 100%">
-          <el-table-column prop="name" label="商户名称"></el-table-column>
-          <el-table-column label="操作" width="80">
-            <template slot-scope="scope">
-              <el-button size="mini" @click="changeFunc(scope.row)">选择</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
+          </el-form-item>
+        </el-form>
       </div>
-      <!--分页-->
-      <div class="pagination">
-        <el-pagination
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          background
-          :current-page="curPage"
-          :page-size="pageSize"
-          layout="total, prev, pager, next, jumper"
-          :total="totalDataNumber"
-        ></el-pagination>
+      <!--内容-->
+      <div class="product-content" v-loading="loading">
+        <div class="table-wrap type-table">
+          <el-cascader class="ww100"
+                   ref="cascader"
+                   v-model="categoryActive"
+                   :options="categoryList"
+                   :props="{ children: 'child', value: 'category_id', label: 'name' }"
+                   @change="changeCategory">
+          </el-cascader>
+        </div>
+      </div>
+    </div>
+    <div class="product" v-if="activeTab == 'detail'">
+      <!--搜索表单-->
+      <div class="common-seach-wrap">
+        <el-form size="small" :inline="true" :model="searchForm" class="demo-form-inline">
+          <el-form-item label="商户名称">
+            <el-input size="small" v-model="searchForm.store_name" placeholder="请输入商户名称"></el-input>
+          </el-form-item>
+          <el-form-item label="">
+            <el-select v-model="searchForm.supplier_type" placeholder="请选择供应商类型" clearable>
+              <el-option v-for="(item, key) in typeList" :key="key" :label="item" :value="parseInt(key)"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button size="small" icon="el-icon-search" @click="onSubmit">查询</el-button>
+          </el-form-item>
+          <el-form-item>
+            <el-button size="small" icon="el-icon-notebook-2" @click="chooseList">选择商户列表</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+
+      <!--内容-->
+      <div class="article-content">
+        <div class="table-wrap">
+          <el-table size="mini" :data="tableData" border style="width: 100%">
+            <el-table-column prop="name" label="商户名称"></el-table-column>
+            <el-table-column label="操作" width="80">
+              <template slot-scope="scope">
+                <el-button size="mini" @click="changeFunc(scope.row)">选择</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!--分页-->
+        <div class="pagination">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            background
+            :current-page="curPage"
+            :page-size="pageSize"
+            layout="total, prev, pager, next, jumper"
+            :total="totalDataNumber"
+          ></el-pagination>
+        </div>
       </div>
     </div>
   </div>
@@ -50,11 +90,12 @@
 
 <script>
 import StoreApi from '@/api/supplier.js';
+
 export default {
   data() {
     return {
       /*tab切换选择中值*/
-      activeTab: 'second',
+      activeTab: 'detail',
       /*一页多少条*/
       pageSize: 5,
       /*一共多少条数据*/
@@ -69,8 +110,12 @@
       activePage: {},
       /*搜索表单对象*/
       searchForm: {
-        store_name: ''
+        store_name: '',
+        supplier_type: 10
       },
+      categoryList: [],
+      /*当前选中*/
+      categoryActive:[],
     };
   },
   created() {
@@ -102,6 +147,7 @@
       self.loading = true;
       let Params = {};
       Params.page = self.curPage;
+      Params.supplier_type = self.searchForm.supplier_type;
       Params.list_rows = self.pageSize;
       Params.store_name = self.searchForm.store_name;
       StoreApi.supplierList(Params, true)
@@ -109,6 +155,8 @@
           self.loading = false;
           self.tableData = data.data.list.data;
           self.totalDataNumber = data.data.list.total;
+          self.typeList = data.data.typeList || {};
+          self.categoryList = data.data.category || [];
         })
         .catch(error => {
           console.log(error);
@@ -117,27 +165,46 @@
 
     /*搜索查询*/
     onSubmit() {
-      this.curPage=0;
+      this.curPage = 0;
       this.getData();
     },
 
     /*选中的值*/
     changeFunc(e) {
-      let obj={};
-      obj.name = e.name;
-      obj.url = 'pages/shop/shop?shop_supplier_id=' + e.shop_supplier_id;
-      obj.type = '好店';
-      this.$emit('changeData',obj);
+      let obj = {};
+      if (this.activeTab == 'type') {
+        obj.name = e.name;
+        obj.url = 'pages/shop/group_buying_list?category_id=' + e.category_id;
+        obj.type = '分类';
+      }
+      if (this.activeTab == 'detail'){
+        obj.name = e.name;
+        obj.url = 'pages/shop/shop?shop_supplier_id=' + e.shop_supplier_id;
+        obj.type = '好店';
+      }
+
+      this.$emit('changeData', obj);
     },
 
     /*选择列表*/
-    chooseList(){
-      let obj={};
-      obj.name = '供应商列表';
-      obj.url = 'pages/shop/shop_list';
-      obj.type = '供应商';
-      this.$emit('changeData',obj);
-    }
+    chooseList() {
+      let obj = {};
+      if (this.searchForm.supplier_type == 10) {
+        obj.name = '供应商列表';
+        obj.url = 'pages/shop/shop_list';
+        obj.type = '供应商';
+      } else {
+        obj.name = '团购列表';
+        obj.url = 'pages/shop/group_buying_list';
+        obj.type = '团购';
+      }
+
+      this.$emit('changeData', obj);
+    },/*选择分类*/
+    changeCategory(e){
+      let item= this.$refs['cascader'].getCheckedNodes();
+      this.changeFunc(item[0].data);
+    },
 
   }
 };

--
Gitblit v1.9.2