Vue:在同一个页面中进行页面跳转(tab切换的)查询

需求:

最近老板给了我一个需求:就是在部门绩效tab里面有员工查询的条件,需要在部门绩效tab里面输入员工查询的条件跳转到员工绩效tab里面去查询。其中部门名称查询不需要跳转页面查询

我的问题误区:

我始终认为在同一个页面跳转用路由跳转方式就可以。但是我发现不太行。用了很多方法。也有可能我的方法没有用对。后来我问了我的同事,他和我说在同一个页面中(tab切换),我们只需要传tab切换的值就好了,不需要页面路由跳转。我当时一想进入了误区了,太纠结这个问题的原因实现了。

需求页面要求如下:

在这里插入图片描述

解决方案:

1. 首先需要员工工号和姓名绑定的值要一致

部门绩效:
		<div v-if="activeName === 'second'" class="search" style="height:160px">
      <div class="tableBar">
        <template>
          <el-tabs v-model="activeName" @tab-click="handleClick">
            <el-tab-pane label="绩效信息" name="first" />
            <el-tab-pane label="部门绩效" name="second" />
            <el-tab-pane label="员工绩效" name="third" />
          </el-tabs>
        </template>
      </div>
      <div
        class="search-form"
        style="margin-left:20px"
      >
        <div>
          <span class="searchSpan">部门:</span>
          <el-input v-model="departmentName" placeholder="请输入部门" />
        </div>
        <div>
          <span class="searchSpan">员工工号:</span>
          <el-input v-model="employeeNumber" placeholder="请输入员工工号" />
        </div>
        <div>
          <span class="searchSpan">员工姓名:</span>
          <el-input v-model="employeeName" placeholder="请输入员工姓名" />
        </div>
        <div>
          <div>
            <el-date-picker
              v-model="departmentTime"
              type="daterange"
              range-separator=""
              start-placeholder="开始时间"
              end-placeholder="结束时间"
              class="second_center_form_date"
              @change="changeDepartmentTime"
            />
          </div>
        </div>
      </div>
      <div class="buttons">
        <div style="background: none">
          <div
            class="searchbutton"
            @click="searchDepartment"
          >
            <img src="@/assets/shaixuan.png" style="margin: 10px">
            筛选
          </div>
          <el-button
            type="warning"
            icon="el-icon-refresh"
            @click="reactDepartment"
          >
            重置
          </el-button>
        </div>
      </div>
    </div>
 员工绩效:
 		<div v-if="activeName === 'third'" class="search" style="height:120px">
      <div class="tableBar">
        <template>
          <el-tabs v-model="activeName" @tab-click="handleClick">
            <el-tab-pane label="绩效信息" name="first" />
            <el-tab-pane label="部门绩效" name="second" />
            <el-tab-pane label="员工绩效" name="third" />
          </el-tabs>
        </template>
      </div>
      <div
        class="search-form"
        style="margin-left:20px"
      >
        <div>
          <span class="searchSpan">工号:</span>
          <el-input v-model="employeeNumber" placeholder="请输入工号" />
        </div>
        <div>
          <span class="searchSpan">姓名:</span>
          <el-input v-model="employeeName" placeholder="请输入姓名" />
        </div>
        <div>
          <el-date-picker
            v-model="employeeTime"
            type="daterange"
            range-separator=""
            start-placeholder="开始时间"
            end-placeholder="结束时间"
            class="second_center_form_date"
            @change="changeEmployeeTime"
          />
        </div>
      </div>
      <div class="buttons">
        <div style="background: none">
          <div
            class="searchbutton"
            @click="employeeSearch"
          >
            <img src="@/assets/shaixuan.png" style="margin: 10px">
            筛选
          </div>
          <el-button
            type="warning"
            icon="el-icon-refresh"
            @click="reactEmployee"
          >
            重置
          </el-button>
        </div>
      </div>
    </div>

2.一致后,在部门绩效的筛选的方法里面进行操作

2.1 找到筛选方法,在里面进行判断(我的需求是查询部门名称的时候不需要跳转页面的)
// 模糊查询部门绩效
    searchDepartment() {
      // 不在同一个页面不需要路由跳转
      if (this.departmentName === '' || this.departmentName === null) {
        this.activeName = 'third'      ---- tab切换的值
        this.employeeSearch()   ---- 员工绩效搜索的方法
      }
      this.getAllDepartmentPerformanceData()
      this.getDepartmentStatusData()
    },

3. 实现效果如下:

在这里插入图片描述

以上就是实现效果,虽然说当时陷入了误区,自己思考的太片面了。希望自己多加学习努力

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值