From 04ac5e8ca9a79106fcb146dbb6b6a0d4d09a704b Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 11 九月 2024 14:47:36 +0800
Subject: [PATCH] 修改标题
---
src/views/student/index.vue | 151 ++++++++++++++++++++++++++++++++++++--------------
1 files changed, 108 insertions(+), 43 deletions(-)
diff --git a/src/views/student/index.vue b/src/views/student/index.vue
index d91dae9..9e17455 100644
--- a/src/views/student/index.vue
+++ b/src/views/student/index.vue
@@ -6,8 +6,15 @@
<el-tab-pane label="宸茶繃鏈�" name="expired" />
<el-tab-pane label="宸插仠鐢�" name="deactivated" />
</el-tabs>
- <div style="display: flex; justify-content: space-between;">
- <el-button type="primary" size="small" @click="showCreate">鏂板缓瀛﹀憳</el-button>
+ <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="鎸夊鍚嶆悳绱�"
@@ -18,43 +25,82 @@
<el-button
slot="append"
icon="el-icon-search"
- @click="fetchData"
+ @click="handleClick"
></el-button>
</el-input>
</div>
</div>
- <el-table
- v-loading="listLoading"
- :data="list"
- element-loading-text="Loading"
- fit
- >
- <el-table-column label="濮撳悕" prop="">
- <template slot-scope="scope">
- <el-link
+ <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
>
- </template>
- </el-table-column>
- <el-table-column label="鎬у埆" width="80">
- <template slot-scope="scope">
- {{ scope.row.gender == "FEMALE" ? "濂�" : "鐢�" }}
- </template>
- </el-table-column>
- <el-table-column label="鎵嬫満鍙�" width="200" prop="mobile">
- <template slot-scope="scope">
- {{ scope.row.mobile ? scope.row.mobile : "--" }}
- </template>
- </el-table-column>
- <el-table-column label="鏄惁缁戝畾寰俊" width="200">
- <template slot-scope="scope">
- {{ scope.row.user ? "鏄�" : "鍚�" }}
- </template>
- </el-table-column>
- </el-table>
+ <!-- <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"
@@ -67,13 +113,13 @@
>
</el-pagination>
</div>
- <StudentCreate ref="studentCreate"/>
+ <StudentCreate ref="studentCreate" />
</div>
</template>
<script>
-import { getData, getRenew, getExpire, getDeleted } from "@/api/student";
-import StudentCreate from './components/create.vue'
+import { getData, getRenew, getExpire, getDeleted, handleExport } from "@/api/student";
+import StudentCreate from "./components/create.vue";
export default {
filters: {
@@ -86,17 +132,18 @@
return statusMap[status];
},
},
- components:{
+ components: {
StudentCreate,
},
data() {
return {
+ dateRange: [],
list: null,
listLoading: true,
activeName: "all",
total: 0,
data: {
- staffId: JSON.parse(localStorage.getItem('user')).staffs[0].id,
+ staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id,
keyword: "",
pageIn: {
//鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿��
@@ -114,6 +161,18 @@
this.fetchData();
},
methods: {
+ handleExport() {
+ this.download('exportPlayer', {
+ }, `瀵煎嚭_${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) => {
@@ -124,11 +183,11 @@
},
handleSizeChange(val) {
this.data.pageIn.size = val;
- this.fetchData();
+ this.handleClick();
},
handleCurrentChange(val) {
this.data.pageIn.index = val - 1;
- this.fetchData();
+ this.handleClick();
},
handleClick(tab, event) {
if (this.activeName == "pendingFees") {
@@ -149,9 +208,15 @@
this.fetchData();
} else if (this.activeName == "deactivated") {
this.listLoading = true;
- getExpire(this.data).then((response) => {
- this.list = response.data.findPlayerExpire.ls;
- this.total = response.data.findPlayerExpire.pageOut.total;
+ 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;
});
}
@@ -164,9 +229,9 @@
},
});
},
- showCreate(){
- this.$refs.studentCreate.showDialog()
- }
+ showCreate() {
+ this.$refs.studentCreate.showDialog();
+ },
},
};
</script>
--
Gitblit v1.8.0