quanwei
18 hours ago c441dea81bd86bdfb12dff35821fed51f4cc91c2
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);
    },
  }
};