zhanghua
2025-01-13 3545c432c9e25511611575d6efa2a31078922f2d
src/views/class/index.vue
@@ -20,7 +20,7 @@
        </el-input>
      </div>
    </div>
    <div style="height: calc(100vh - 248px)">
    <div style="height: calc(100vh - 208px)">
      <el-table
        v-loading="listLoading"
        :data="list"
@@ -29,25 +29,25 @@
        v-if="activeName == 'all'"
        height="100%"
      >
        <el-table-column label="班级名称">
        <el-table-column label="班级名称" prop="team.name"> </el-table-column>
        <el-table-column label="班级人数" width="200" prop="playerCount">
        </el-table-column>
        <el-table-column label="课包/会员卡" width="200" prop="voucher.name">
        </el-table-column>
        <el-table-column label="教师" width="" prop="sessionStaffs">
        </el-table-column>
        <el-table-column label="操作" width="200">
          <template slot-scope="scope">
            <el-link type="primary" :underline="false">{{
              scope.row.team.name
            }}</el-link>
            <el-link
              @click="handleExport(scope.row)"
              type="primary"
              :underline="false"
              >导出</el-link
            >
            <!-- <el-button type="text" @click="handleExport(scope.row)">
              导出
            </el-button> -->
          </template>
        </el-table-column>
        <el-table-column label="班级人数" width="200">
          <template slot-scope="scope">{{ scope.row.playerCount }} 人</template>
        </el-table-column>
        <el-table-column label="课包/会员卡" width="200">
          <template slot-scope="scope">{{
            scope.row.team.voucher.name
          }}</template>
        </el-table-column>
        <el-table-column label="教师" width="">
          <template slot-scope="scope">{{
            concatenateArray(scope.row.team.sessionStaffs)
          }}</template>
        </el-table-column>
      </el-table>
      <el-table
@@ -58,12 +58,8 @@
        height="100%"
        v-else
      >
        <el-table-column label="班级名称">
          <template slot-scope="scope">{{ scope.row.name }} </template>
        </el-table-column>
        <el-table-column label="停用时间">
          <template slot-scope="scope">{{ scope.row.modifyTime }} </template>
        </el-table-column>
        <el-table-column label="班级名称" prop="name"> </el-table-column>
        <el-table-column label="停用时间" prop="modifyTime"> </el-table-column>
        <el-table-column label="操作" width="200">
          <template slot-scope="">
            <el-link type="primary" :underline="false">恢复</el-link>
@@ -83,6 +79,24 @@
      >
      </el-pagination>
    </div>
    <el-dialog title="导出" :visible.sync="dialogVisible" width="50%">
      <el-form ref="form" :model="form" label-width="180px">
        <el-form-item label="日期范围">
          <el-date-picker
            v-model="form.dateRange"
            type="daterange"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            value-format="yyyy-MM-dd"
          ></el-date-picker>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="confirmExport">导 出</el-button>
      </div>
    </el-dialog>
  </div>
</template>
@@ -102,12 +116,18 @@
  },
  data() {
    return {
      dialogVisible: false,
      form: {
        dateRange: [],
        teamId: "",
        name: "",
      },
      list: null,
      listLoading: true,
      activeName: "all",
      total: 0,
      data: {
        staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id,
        staffId: JSON.parse(localStorage.getItem("selectStaff")).id,
        keyword: "",
        pageIn: {
          //可选,如果是分页查询,需要加上。
@@ -126,6 +146,24 @@
    this.fetchData();
  },
  methods: {
    handleExport(row) {
      this.form.dateRange = [];
      this.form.teamId = row.team.id;
      this.form.name = row.team.name;
      this.dialogVisible = true;
    },
    confirmExport() {
      this.download(
        "exportSignIn?teamId=" +
          this.form.teamId +
          "&startTime=" +
          this.form.dateRange[0] +
          "&endTime=" +
          this.form.dateRange[1],
        {},
        `${this.form.name}上课签到表.xlsx`
      );
    },
    handleSizeChange(val) {
      this.data.pageIn.size = val;
      this.fetchData("pageIn");
@@ -151,7 +189,7 @@
        this.listLoading = true;
        let data = {
          itemType: "TEAM",
          staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id,
          staffId: JSON.parse(localStorage.getItem("selectStaff")).id,
          keyword: this.data.keyword,
          pageIn: { ...this.data.pageIn },
        };