From 377ee06a6cbcb730e6f4a986ca7dc034037ab0c7 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 12 九月 2024 11:47:17 +0800 Subject: [PATCH] 图片压缩 --- src/views/student/index.vue | 270 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 212 insertions(+), 58 deletions(-) diff --git a/src/views/student/index.vue b/src/views/student/index.vue index 568500f..af99cd8 100644 --- a/src/views/student/index.vue +++ b/src/views/student/index.vue @@ -1,72 +1,126 @@ <template> <div class="app-container"> <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-tab-pane label="宸插仠鐢�" name="fourth" /> + <el-tab-pane label="鍏ㄩ儴" name="all" /> + <el-tab-pane label="寰呯画璐�" name="pendingFees" /> + <el-tab-pane label="宸茶繃鏈�" name="expired" /> + <el-tab-pane label="宸插仠鐢�" name="deactivated" /> </el-tabs> - <div style="display: flex; flex-direction: row-reverse"> + <div style="display: flex; justify-content: space-between"> + <!-- <el-button type="primary" size="small" @click="showCreate">鏂板缓瀛﹀憳</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="鎸夊鍚嶆悳绱�" - 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="handleClick" + ></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> - {{ accountList }} - <!-- <el-table-column label="Author" width="110" align="center"> - <template slot-scope="scope"> - <span>{{ scope.row.author }}</span> - </template> - </el-table-column> - <el-table-column label="Pageviews" width="110" align="center"> - <template slot-scope="scope"> - {{ scope.row.pageviews }} - </template> - </el-table-column> - <el-table-column class-name="status-col" label="Status" width="110" align="center"> - <template slot-scope="scope"> - <el-tag :type="scope.row.status | statusFilter">{{ scope.row.status }}</el-tag> - </template> - </el-table-column> - <el-table-column align="center" prop="created_at" label="Display_time" width="200"> - <template slot-scope="scope"> - <i class="el-icon-time" /> - <span>{{ scope.row.display_time }}</span> - </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="濮撳悕" prop=""> + <template slot-scope="scope"> + <el-link + type="primary" + :underline="false" + @click="goDetails(scope.row)" + >{{ scope.row.name }}</el-link + > + <!-- <el-link type="primary" :underline="false">{{ + scope.row.name + }}</el-link> --> + </template> + </el-table-column> + <el-table-column + label="鎬у埆" + width="80" + v-if="activeName !== 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.gender == "FEMALE" ? "濂�" : "鐢�" }} + </template> + </el-table-column> + <el-table-column + label="鎵嬫満鍙�" + width="200" + prop="mobile" + v-if="activeName !== 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.mobile ? scope.row.mobile : "--" }} + </template> + </el-table-column> + <el-table-column + label="鏄惁缁戝畾寰俊" + width="200" + v-if="activeName !== 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.user ? "鏄�" : "鍚�" }} + </template> + </el-table-column> + <el-table-column + label="鎿嶄綔" + width="200" + v-if="activeName == 'deactivated'" + > + <template slot-scope=""> + <el-link type="primary" :underline="false">鍒犻櫎</el-link> + + <el-link type="primary" :underline="false">鎭㈠</el-link> + </template> + </el-table-column> + <el-table-column + label="鍋滅敤鏃堕棿" + width="200" + v-if="activeName == 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.modifyTime }} + </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> + <StudentCreate ref="studentCreate" /> </div> </template> <script> -import { getData } 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: { @@ -79,33 +133,133 @@ return statusMap[status]; }, }, + components: { + StudentCreate, + }, data() { return { + dateRange: [], list: null, listLoading: true, - activeName: "first", + activeName: "all", + total: 0, data: { - staffId: "1680", + staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� - index: 1, //蹇呴�� - size: 20, //姣忛〉鐨勫ぇ灏忋�傞粯璁�20 + index: 0, //蹇呴�� + size: 10, //姣忛〉鐨勫ぇ灏忋�傞粯璁�20 + sorts: { + name: "name", //鎺掑簭瀛楁鍚嶇О + direction: "ASC", //鎺掑簭鏂瑰悜 + }, }, }, }; }, created() { - this.fetchData(); + // 鑾峰彇鍦板潃鏍廲ode + 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.items; + this.list = response.data.findPlayerByStaff.ls; + this.total = response.data.findPlayerByStaff.pageOut.total; this.listLoading = false; + }) + }, + handleSizeChange(val) { + this.data.pageIn.size = val; + this.handleClick(); + }, + handleCurrentChange(val) { + this.data.pageIn.index = val - 1; + this.handleClick(); + }, + handleClick(tab, event) { + if (this.activeName == "pendingFees") { + this.listLoading = true; + getRenew(this.data).then((response) => { + this.list = response.data.findPlayerRenew.ls; + this.total = response.data.findPlayerRenew.pageOut.total; + this.listLoading = false; + }); + } else if (this.activeName == "expired") { + this.listLoading = true; + getExpire(this.data).then((response) => { + this.list = response.data.findPlayerExpire.ls; + this.total = response.data.findPlayerExpire.pageOut.total; + this.listLoading = false; + }); + } else if (this.activeName == "all") { + this.fetchData(); + } else if (this.activeName == "deactivated") { + this.listLoading = true; + let data = { + itemType: "PLAYER", + staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + keyword: this.data.keyword, + pageIn: { ...this.data.pageIn }, + }; + getDeleted(data).then((response) => { + this.list = response.data.findDeletedItem.ls; + this.total = response.data.findDeletedItem.pageOut.total; + this.listLoading = false; + }); + } + }, + goDetails(row) { + this.$router.push({ + name: "StudentDetails", + query: { + id: row.id, + }, }); }, + showCreate() { + this.$refs.studentCreate.showDialog(); + }, }, }; </script> -- Gitblit v1.8.0