From 92ce7d104ce175cf869bdf9ee87ce4123805050e Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 29 十月 2025 20:17:32 +0800
Subject: [PATCH] 班级考勤统计
---
src/views/work/index.vue | 215 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 154 insertions(+), 61 deletions(-)
diff --git a/src/views/work/index.vue b/src/views/work/index.vue
index 6049020..a54c11c 100644
--- a/src/views/work/index.vue
+++ b/src/views/work/index.vue
@@ -1,87 +1,135 @@
<template>
<div class="app-container">
- <el-tabs v-model="activeName" @tab-click="handleClick">
- <el-tab-pane label="浣滀笟" name="first">
+ <el-tabs v-model="activeName" @tab-click="fetchData">
+ <el-tab-pane label="浣滀笟" name="work">
<div style="display: flex; flex-direction: row-reverse">
<div style="width: 300px">
<el-input
placeholder="鎸変綔涓氬悕绉版悳绱�"
- v-model="input3"
+ v-model="data.keyword"
class="input-with-select"
size="small"
>
- <el-button slot="append" icon="el-icon-search"></el-button>
+ <el-button
+ slot="append"
+ icon="el-icon-search"
+ @click="fetchData"
+ ></el-button>
</el-input>
</div>
</div>
- <el-table
- v-loading="listLoading"
- :data="list"
- element-loading-text="Loading"
- fit
- >
- <el-table-column label="浣滀笟鍚嶇О">
- <template slot-scope=""> xxxxx </template>
- </el-table-column>
- <el-table-column label="鐝骇" width="80">
- <template slot-scope=""> 鐢� </template>
- </el-table-column>
- <el-table-column label="瀛﹀憳" width="200">
- <template slot-scope=""> 10086 </template>
- </el-table-column>
- <el-table-column label="鏁欏笀" width="200">
- <template slot-scope=""> asfiaf </template>
- </el-table-column>
- <el-table-column label="鎴鏃ユ湡" width="">
- <template slot-scope=""> asfiaf </template>
- </el-table-column>
- <el-table-column label="鍐呭" width="">
- <template slot-scope=""> asfiaf </template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" width="">
- <template slot-scope=""> 淇敼 </template>
- </el-table-column>
- </el-table>
+ <div style="height: calc(100vh - 208px)">
+ <el-table
+ v-loading="listLoading"
+ :data="list"
+ element-loading-text="Loading"
+ fit
+ height="100%"
+ >
+ <el-table-column label="浣滀笟鍚嶇О">
+ <template slot-scope="scope">
+ <el-link type="primary" :underline="false">{{
+ scope.row.name
+ }}</el-link>
+ </template>
+ </el-table-column>
+ <el-table-column label="甯冪疆鏃堕棿" width="">
+ <
+ <template slot-scope="scope">
+ {{ scope.row.createTime }}
+ </template>
+ </el-table-column>
+ <el-table-column label="甯冪疆浜�" width="">
+ <template slot-scope="scope">
+ {{ scope.row.publisher.name }}
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="">
+ <template slot-scope=""> 澶嶅埗 </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div>
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="data.pageIn.index + 1"
+ :page-sizes="[10, 20, 30, 40]"
+ :page-size="data.pageIn.size"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ >
+ </el-pagination>
+ </div>
</el-tab-pane>
- <el-tab-pane label="鎵归槄" name="fourth">
+ <el-tab-pane label="鎵归槄" name="readOver">
<div style="display: flex; flex-direction: row-reverse">
<div style="width: 300px">
<el-input
placeholder="鎸夊鍛樺悕绉版悳绱�"
- v-model="input3"
+ v-model="data.keyword"
class="input-with-select"
size="small"
>
- <el-button slot="append" icon="el-icon-search"></el-button>
+ <el-button
+ slot="append"
+ icon="el-icon-search"
+ @click="fetchData"
+ ></el-button>
</el-input>
</div>
</div>
- <el-table
- v-loading="listLoading"
- :data="list"
- element-loading-text="Loading"
- fit
- >
- <el-table-column label="瀛﹀憳">
- <template slot-scope=""> xxxxx </template>
- </el-table-column>
- <el-table-column label="鏃堕棿" width="80">
- <template slot-scope=""> 鐢� </template>
- </el-table-column>
- <el-table-column label="浣滀笟" width="200">
- <template slot-scope=""> 10086 </template>
- </el-table-column>
- <el-table-column label="鐐硅瘎" width="200">
- <template slot-scope=""> asfiaf </template>
- </el-table-column>
- </el-table>
+ <div style="height: calc(100vh - 208px)">
+ <el-table
+ v-loading="listLoading"
+ :data="list"
+ element-loading-text="Loading"
+ fit
+ height="100%"
+ >
+ <el-table-column label="瀛﹀憳">
+ <template slot-scope="scope">
+ <el-link type="primary" :underline="false">{{
+ scope.row.player.name
+ }}</el-link>
+ </template>
+ </el-table-column>
+ <el-table-column label="瀹屾垚鏃堕棿" width="">
+ <template slot-scope="scope">
+ {{ scope.row.createTime }}
+ </template>
+ </el-table-column>
+ <el-table-column label="浣滀笟" width="">
+ <template slot-scope="scope">
+ {{ scope.row.homework.name }}
+ </template>
+ </el-table-column>
+ <el-table-column label="鐐硅瘎" width="">
+ <template slot-scope="scope">
+ {{ scope.row.lastStaffCommentId ? "宸茬偣璇�" : "鏈偣璇�" }}
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div>
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="data.pageIn.index + 1"
+ :page-sizes="[10, 20, 30, 40]"
+ :page-size="data.pageIn.size"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ >
+ </el-pagination>
+ </div>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
-import { getList } from "@/api/table";
+import { getHomeworkByType, getHomeworkCommentByAuth } from "@/api/work";
export default {
filters: {
@@ -98,19 +146,64 @@
return {
list: null,
listLoading: true,
- activeName: "first",
+ activeName: "work",
+ total: 0,
+ data: {
+ staffId: JSON.parse(localStorage.getItem("selectStaff")).id,
+ keyword: "",
+ pageIn: {
+ //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿��
+ index: 0, //蹇呴��
+ size: 10, //姣忛〉鐨勫ぇ灏忋�傞粯璁�20
+ sorts: {
+ name: "name", //鎺掑簭瀛楁鍚嶇О
+ direction: "ASC", //鎺掑簭鏂瑰悜
+ },
+ },
+ commentTypes: ["HOMEWORK"],
+ homeworkType: "HOMEWORK",
+ },
};
},
created() {
this.fetchData();
},
methods: {
- fetchData() {
+ handleSizeChange(val) {
+ this.data.pageIn.size = val;
+ this.fetchData("pageIn");
+ },
+ handleCurrentChange(val) {
+ this.data.pageIn.index = val - 1;
+ this.fetchData("pageIn");
+ },
+ fetchData(_val) {
+ if (_val !== "pageIn") {
+ this.data.pageIn.index = 0;
+ this.data.pageIn.size = 10;
+ }
this.listLoading = true;
- getList().then((response) => {
- this.list = response.data.items;
- this.listLoading = false;
- });
+ if (this.activeName == "work") {
+ this.listLoading = true;
+ getHomeworkByType(this.data).then((response) => {
+ this.list = response.data.findHomeworkByType.ls;
+ this.total = response.data.findHomeworkByType.pageOut.total;
+ this.listLoading = false;
+ });
+ } else if (this.activeName == "readOver") {
+ this.listLoading = true;
+ let data = {
+ commentTypes: ["PLAYER_REPLY"],
+ staffId: JSON.parse(localStorage.getItem("selectStaff")).id,
+ keyword: this.data.keyword,
+ pageIn: { ...this.data.pageIn },
+ };
+ getHomeworkCommentByAuth(data).then((response) => {
+ this.list = response.data.findHomeworkCommentByAuth.ls;
+ this.total = response.data.findHomeworkCommentByAuth.pageOut.total;
+ this.listLoading = false;
+ });
+ }
},
},
};
--
Gitblit v1.8.0