tab切换搜索

tab切换搜索


当tab切换变成一个搜索条件的时候,tab为全部的时候,所有状态的数据都有,当为待处理时,下面只有发货的数据,当为待送达时,下面只有待确认送达的数据:
在这里插入图片描述
html:
要把三个tab写到前面,然后所有的内容写到他们下面

 <el-tabs v-model="activeName" @tab-click="handleClick">
      <el-tab-pane label="全部" name="first"></el-tab-pane>
      <el-tab-pane label="待处理" name="second"></el-tab-pane>
      <el-tab-pane label="待送达" name="third"></el-tab-pane>
</el-tabs>

<div>
 <el-row class="views_box" :gutter="20">
    <el-col :span="3">
      <div>兑换编号:</div>
      <el-input
        v-model="dataForm.convertNo"
        placeholder="输入兑换编号"
        @keydown.enter.native="seachEnterFun"
      ></el-input>
    </el-col>
    <el-col :span="8">
      <div class="grid-content bg-purple-dark">下单时间:</div>
      <el-row class="user-input">
        <el-date-picker
          v-model="dataForm.startingTime"
          type="datetime"
          value-format="timestamp"
          :picker-options="pickerOptionsStart"
          placeholder="开始日期时间"
          style="width: 240px"
          @keydown.enter.native="seachEnterFun"
        ></el-date-picker>
        <div class="text bg-purple-light" style="width: 20px">至</div>
        <el-date-picker
          v-model="dataForm.endTime"
          type="datetime"
          value-format="timestamp"
          :picker-options="pickerOptionsEnd"
          placeholder="结束日期时间"
          style="width: 240px"
          @keydown.enter.native="seachEnterFun"
        ></el-date-picker>
      </el-row>
    </el-col>
    <el-col :span="3">
      <div>收货人姓名:</div>
      <el-input
        v-model="dataForm.name"
        placeholder="输入收货人姓名"
        @keydown.enter.native="seachEnterFun"
      ></el-input>
    </el-col>
    <el-col :span="3">
      <div>收货人手机号码:</div>
      <el-input
        v-model="dataForm.mobile"
        placeholder="输入手机号码"
        @keydown.enter.native="seachEnterFun"
      ></el-input>
    </el-col>
    <!-- <el-col :span="3">
      <div>状态:</div>
      <el-select
        placeholder="请选择"
        v-model="dataForm.state"
        clearable
        @keydown.enter.native="seachEnterFun"
      >
        <el-option
          v-for="item in state"
          :key="item.value"
          :label="item.label"
          :value="item.value"
        ></el-option>
      </el-select>
    </el-col>-->
    <el-col :span="1.2">
      <el-button type="primary" size="small" @click="search">搜索</el-button>
    </el-col>
    <el-col :span="1.6">
      <el-button size="small" @click="resetting">重置</el-button>
    </el-col>
    <el-col :span="1.2">
      <el-button type="primary" size="small" id="export" @click="exportTable">导出</el-button>
    </el-col>
  </el-row>
  <el-table
 	:data="tableData"
    ref="tableDatas"
    class="view_table"
    style="width: 100%"
    id="tableExcel"
    v-loading="loading"
  >
    <el-table-column prop="convertTime" label="兑换申请时间" align="center" min-width="140"></el-table-column>
    <el-table-column prop="convertNo" label="兑换编号" align="center" min-width="120"></el-table-column>
    <el-table-column prop="name" label="收货人姓名" align="center" min-width="90"></el-table-column>
    <el-table-column prop="mobile" label="收货人手机号" align="center" min-width="100"></el-table-column>
    <el-table-column prop="address" label="收货地址" align="center" min-width="210"></el-table-column>
    <el-table-column prop="goodsName" label="商品名称" align="center" min-width="90"></el-table-column>
    <el-table-column prop="goodsSku" label="规格" align="center" min-width="90"></el-table-column>
    <el-table-column prop="cost" label="成本" align="center" min-width="90"></el-table-column>
    <el-table-column prop="remark" label="备注" align="center" min-width="90"></el-table-column>
    <el-table-column prop="channel" label="任务" align="center" min-width="90">
      <template slot-scope="scope">
        <div>
          <div v-if="scope.row.channel == 1">连续签到</div>
          <div v-if="scope.row.channel == 2">.积分抽奖</div>
        </div>
      </template>
    </el-table-column>
    <el-table-column prop="trackingCompany" label="快递公司" align="center" min-width="90"></el-table-column>
    <el-table-column prop="trackingNumber" label="快递单号" align="center" min-width="90"></el-table-column>
    <el-table-column fixed="right" align="center" label="操作" min-width="120">
      <template slot-scope="scope">
        <el-button
          type="primary"
          size="small"
          v-if="scope.row.state == 2"
          @click="confirmSend('3',scope.row)"
        >发货</el-button>
        <el-button
          type="primary"
          size="small"
          v-if="scope.row.state == 3"
          @click="confirService('4',scope.row)"
        >确认送达</el-button>
        <el-button
          type="text"
          size="small"
          v-if="scope.row.state == 4"
        >已送达</el-button>
      </template>
    </el-table-column>
  </el-table>
  <div class="view_block">
    <el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="dataForm.pageNum"
      :page-sizes="[10, 20, 50, 100, 500]"
      :page-size="dataForm.pageSize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="total"
    ></el-pagination>
  </div>
</div>
----------

数据模型:
dataForm.state就是tab切换的搜索条件:

data() {
    return {
      activeName: "first",
      total: 0,
      dataForm: {
        state: "", //平台2.待处理 3.待送达 4.已送达
        convertNo: "", //编号
        startingTime: "",
        endTime: "",
        name: "", //姓名
        mobile: "", //手机号
        pageNum: this.$store.state.page, //查询页数
        pageSize: this.$store.state.size //每页多少条
      },
      tableData: [],
      // 平台
      state: [
        {
          value: "2",
          label: "待处理"
        },
        {
          value: "3",
          label: "待送达"
        },
        {
          value: "4",
          label: "已送达"
        }
      ],
      loading: false,
      pickerOptionsStart: {
        disabledDate: time => {
          const endDateVal = new Date(this.dataForm.endTime).getTime();
          if (endDateVal) {
            return time.getTime() > endDateVal + 1;
          }
        }
      },
      pickerOptionsEnd: {
        disabledDate: time => {
          const beginDateVal = new Date(this.dataForm.startingTime).getTime();
          if (beginDateVal) {
            return time.getTime() < beginDateVal + 1;
          }
        }
      }
   }
}

methods:
获取列表,查询等都不一一写了

handleClick(tab, event) {
    console.log(tab, event);
    this.$store.commit("pageChange", 1);
    this.dataForm.pageNum = 1;
    if (tab.name == "first") {
      this.dataForm.state = "";
    }else if(tab.name == "second") {
      this.dataForm.state = "2";
    } else if (tab.name == "third") {
      this.dataForm.state = "3";
    }
    this.getData();
},
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: EditableProTable 的 Tab 是指表格的多页签功能,可以让用户在同一个表格组件内切换不同的页签,以展示不同的数据。使用 EditableProTable 的 Tab 功能可以方便地实现数据的分页展示,并且可以通过 Tab 栏快速切换展示不同的数据页签,提高了用户体验。在 EditableProTable 中,可以通过配置 dataSource 和 columns 来定义每个 Tab 下的数据和表格列信息。同时,也可以通过 onChange 事件来监听 Tab 切换时的回调函数,以便在用户切换 Tab 时执行相应的操作。 ### 回答2: EditableProTable 的 Tab 是指 EditableProTable 组件中的一个选项卡,用于实现数据的分组展示和切换。 EditableProTable 是一个基于 Ant Design 的表格组件,可以实现表格数据的编辑和可视化操作。而 Tab 是 EditableProTable 组件中的一种展示方式,可以将表格数据按照不同的分组进行展示和切换。 通过使用 EditableProTable 的 Tab 功能,我们可以将大量数据分成不同的组,并且可以通过选项卡来切换不同的组,使得数据的管理和查看更加方便和直观。每个选项卡对应一个数据分组,可以在每个选项卡中显示该组数据的表格,并且可以对数据进行编辑和操作。 在 Tab 中,我们可以自定义选项卡的名称和排序,可以根据具体的业务需求来设置不同的选项卡。同时,也可以在选项卡上添加图标或其他标识,以便更加清晰地区分不同的数据分组。 总之,EditableProTable 的 Tab 功能是为了更加方便地展示和切换表格数据分组而设计的,可以提高数据的管理效率和用户的操作体验。 ### 回答3: EditableProTable的Tab是一个用于显示和管理表格数据的可编辑标签页组件。它是Ant Design Pro框架中的一个重要组成部分,提供了丰富的功能和交互方式,方便用户对表格数据进行增删改查操作。 EditableProTable的Tab通过使用Tab组件,将表格数据分成不同的标签页展示,每个标签页可以独立操作和管理数据。用户可以通过点击不同的标签页来切换展示不同的数据集合,从而方便地查看和编辑不同类型的数据。 EditableProTable的Tab不仅支持基本的增删改查功能,还可以进行自定义列设置、数据排序、筛选和分页等操作。用户可以根据自己的需求,灵活地配置和管理表格数据的展示和操作方式。 此外,EditableProTable的Tab还支持批量操作和快速搜索功能,提供了方便的数据处理和查找方式。 总之,EditableProTable的Tab是一个功能强大、灵活多样的标签页组件,可以帮助用户进行方便高效的表格数据管理和操作。无论是对于数据展示还是数据处理,它都提供了丰富的功能和交互方式,使得用户可以轻松地对表格数据进行管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值