zhanghua
2024-09-12 377ee06a6cbcb730e6f4a986ca7dc034037ab0c7
src/views/student/index.vue
@@ -8,7 +8,13 @@
    </el-tabs>
    <div style="display: flex; justify-content: space-between">
      <!-- <el-button type="primary" size="small" @click="showCreate">新建学员</el-button> -->
      <el-button type="primary" size="small">导出学员</el-button>
      <el-button type="primary" size="small" @click="handleExport">导出学员</el-button>
      <div style="width: 500px">
      <!-- <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
        end-placeholder="结束日期" value-format="yyyy-MM-dd" style="margin-right: 10px">
      </el-date-picker>
      <el-button type="primary" @click="handleExport2">导出课包</el-button> -->
    </div>
      <div style="width: 300px">
        <el-input
          placeholder="按姓名搜索"
@@ -112,8 +118,9 @@
</template>
<script>
import { getData, getRenew, getExpire, getDeleted } from "@/api/student";
import { getData, getRenew, getExpire, getDeleted, handleExport } from "@/api/student";
import StudentCreate from "./components/create.vue";
import { login } from "@/api/user";
export default {
  filters: {
@@ -131,6 +138,7 @@
  },
  data() {
    return {
      dateRange: [],
      list: null,
      listLoading: true,
      activeName: "all",
@@ -151,16 +159,55 @@
    };
  },
  created() {
    this.fetchData();
    // 获取地址栏code
    let code = this.$route.query.code;
    if (code) {
      if (localStorage.getItem("code")) {
        if (code !== localStorage.getItem("code")) {
          this.getUserDate(code);
        }
      } else {
        this.getUserDate(code);
      }
    } else {
      if (!localStorage.getItem("user")) {
        this.$router.push("/login");
      }
    }
    if (localStorage.getItem("user")) {
      this.fetchData();
    }
  },
  methods: {
    getUserDate(code) {
      let that = this;
      login({
        code: code,
      }).then((res) => {
        localStorage.setItem("user", JSON.stringify(res));
        localStorage.setItem("code", code);
        that.fetchData();
      });
    },
    handleExport() {
      this.download('exportPlayer?orgId=' + JSON.parse(localStorage.getItem("user")).staffs[0].org.id, {
      }, `导出_${new Date().getTime()}.xlsx`)
    },
    handleExport2() {
      if (this.dateRange.length == 0) {
        this.$message.warning("请选择日期范围");
        return;
      }
      this.download('exportReport?startDate=' + this.dateRange[0] + '&endDate=' + this.dateRange[1], {
      }, `导出_${new Date().getTime()}.xlsx`)
    },
    fetchData() {
      this.listLoading = true;
      getData(this.data).then((response) => {
        this.list = response.data.findPlayerByStaff.ls;
        this.total = response.data.findPlayerByStaff.pageOut.total;
        this.listLoading = false;
      });
      })
    },
    handleSizeChange(val) {
      this.data.pageIn.size = val;