From 54e06ab83d8fbebf91f8e0c3a621da743ac5af26 Mon Sep 17 00:00:00 2001 From: 黄何裕 <1053952480@qq.com> Date: 星期四, 08 八月 2024 09:28:06 +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..90e2f7f 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 - 248px)"> + <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 - 248px)"> + <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("user")).staffs[0].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("user")).staffs[0].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