From 320e75460d2f5e517c902b87fcc5c4d220472f6f Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 20 十二月 2024 20:05:10 +0800
Subject: [PATCH] 学生导入优化

---
 src/views/student/index.vue |   56 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 42 insertions(+), 14 deletions(-)

diff --git a/src/views/student/index.vue b/src/views/student/index.vue
index e010ca1..e743286 100644
--- a/src/views/student/index.vue
+++ b/src/views/student/index.vue
@@ -8,9 +8,14 @@
         </el-tabs>
         <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>
+                <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">
@@ -119,14 +124,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 { getData, getRenew, getExpire, getDeleted } from "@/api/student";
+import UploadStudent from "./components/upload-student.vue";
 
 export default {
     filters: {
@@ -140,7 +149,7 @@
         },
     },
     components: {
-        StudentCreate,
+        UploadStudent,
     },
     data() {
         return {
@@ -162,6 +171,7 @@
                     },
                 },
             },
+            dialogVisible: false,
         };
     },
     created() {
@@ -188,16 +198,33 @@
     },
     methods: {
         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;
@@ -205,7 +232,7 @@
                 this.list = response.data.findPlayerByStaff.ls;
                 this.total = response.data.findPlayerByStaff.pageOut.total;
                 this.listLoading = false;
-            })
+            });
         },
         handleSizeChange(val) {
             this.data.pageIn.size = val;
@@ -216,7 +243,7 @@
             this.handleClick();
         },
         handleClick(tab, event) {
-            this.data.staffId = JSON.parse(localStorage.getItem("selectStaff")).id
+            this.data.staffId = JSON.parse(localStorage.getItem("selectStaff")).id;
             if (this.activeName == "pendingFees") {
                 this.listLoading = true;
                 getRenew(this.data).then((response) => {
@@ -259,6 +286,7 @@
         showCreate() {
             this.$refs.studentCreate.showDialog();
         },
+       
     },
 };
 </script>

--
Gitblit v1.8.0