From 08c2033475fa42690c3246aa1510f6c6c932c2ea Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期六, 02 八月 2025 10:53:31 +0800 Subject: [PATCH] 数量可以支持小数 --- src/views/student/index.vue | 131 +++++++++++++++++++++++++------------------ 1 files changed, 75 insertions(+), 56 deletions(-) diff --git a/src/views/student/index.vue b/src/views/student/index.vue index 63bb9df..8815ddf 100644 --- a/src/views/student/index.vue +++ b/src/views/student/index.vue @@ -6,15 +6,8 @@ <el-tab-pane label="宸茶繃鏈�" name="expired" /> <el-tab-pane label="宸插仠鐢�" name="deactivated" /> </el-tabs> - <div style="display: flex; justify-content: space-between"> + <div style="display: flex"> <!-- <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="鎸夊鍚嶆悳绱�" @@ -29,8 +22,22 @@ ></el-button> </el-input> </div> + <div style="margin-left: 30px"> + <el-button type="primary" size="small" @click="handleExport" + >瀵煎嚭瀛﹀憳</el-button + > + <el-button type="primary" size="small" @click="handleImport" + >瀵煎叆瀛﹀憳</el-button + > + </div> + <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> - <div style="height: calc(100vh - 248px)"> + <div style="height: calc(100vh - 208px)"> <el-table v-loading="listLoading" :data="list" @@ -38,14 +45,14 @@ fit height="100%" > - <el-table-column label="濮撳悕" prop=""> + <el-table-column label="濮撳悕" prop="" width="300"> <template slot-scope="scope"> <el-link - type="primary" - :underline="false" - @click="goDetails(scope.row)" - >{{ scope.row.name }}</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> --> @@ -53,7 +60,7 @@ </el-table-column> <el-table-column label="鎬у埆" - width="80" + width="200" v-if="activeName !== 'deactivated'" > <template slot-scope="scope"> @@ -62,7 +69,7 @@ </el-table-column> <el-table-column label="鎵嬫満鍙�" - width="200" + width="300" prop="mobile" v-if="activeName !== 'deactivated'" > @@ -72,8 +79,8 @@ </el-table-column> <el-table-column label="鏄惁缁戝畾寰俊" - width="200" v-if="activeName !== 'deactivated'" + min-width="200" > <template slot-scope="scope"> {{ scope.row.user ? "鏄�" : "鍚�" }} @@ -113,14 +120,18 @@ > </el-pagination> </div> - <StudentCreate ref="studentCreate" /> + <el-dialog :visible.sync="dialogVisible" width="560px" title="瀵煎叆瀛﹀憳"> + <UploadStudent + v-if="dialogVisible" + @load-success="reloadData" + ></UploadStudent> + </el-dialog> </div> </template> <script> -import { getData, getRenew, getExpire, getDeleted, handleExport } from "@/api/student"; -import StudentCreate from "./components/create.vue"; -import { login } from "@/api/user"; +import { getData, getRenew, getExpire, getDeleted } from "@/api/student"; +import UploadStudent from "./components/upload-student.vue"; export default { filters: { @@ -134,7 +145,7 @@ }, }, components: { - StudentCreate, + UploadStudent, }, data() { return { @@ -144,7 +155,7 @@ activeName: "all", total: 0, data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� @@ -156,49 +167,56 @@ }, }, }, + dialogVisible: false, }; }, created() { // 鑾峰彇鍦板潃鏍廲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(); - } + // 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"); + // } + // } + this.fetchData(); }, methods: { - getUserDate(code) { - login({ - code: code, - }).then((res) => { - localStorage.setItem("user", JSON.stringify(res)); - localStorage.setItem("code", code); - window.location.reload(); - }); - }, handleExport() { - this.download('exportPlayer?orgId=' + JSON.parse(localStorage.getItem("user")).staffs[0].org.id, { - }, `瀵煎嚭_${new Date().getTime()}.xlsx`) + this.download( + "exportPlayer?orgId=" + + JSON.parse(localStorage.getItem("selectStaff")).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`) + this.download( + "exportReport?startDate=" + + this.dateRange[0] + + "&endDate=" + + this.dateRange[1], + {}, + `瀵煎嚭_${new Date().getTime()}.xlsx` + ); + }, + handleImport() { + this.dialogVisible = true; + }, + reloadData() { + this.dialogVisible = false; + this.fetchData(); }, fetchData() { this.listLoading = true; @@ -206,7 +224,7 @@ this.list = response.data.findPlayerByStaff.ls; this.total = response.data.findPlayerByStaff.pageOut.total; this.listLoading = false; - }) + }); }, handleSizeChange(val) { this.data.pageIn.size = val; @@ -217,6 +235,7 @@ this.handleClick(); }, handleClick(tab, event) { + this.data.staffId = JSON.parse(localStorage.getItem("selectStaff")).id; if (this.activeName == "pendingFees") { this.listLoading = true; getRenew(this.data).then((response) => { @@ -237,7 +256,7 @@ this.listLoading = true; let data = { itemType: "PLAYER", - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; -- Gitblit v1.8.0