From bcdb083a696b7e43f21b15e0c07195d409f36bce Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 19 十一月 2024 09:30:50 +0800
Subject: [PATCH] 前端添加sse获取进度

---
 .env.development                                |    2 
 vue.config.js                                   |    2 
 src/utils/graphql.js                            |    4 
 src/views/student/components/upload-student.vue |  276 +++++++++++-------
 src/views/student/index.vue                     |  531 +++++++++++++++++++------------------
 src/App.vue                                     |    5 
 src/components/drag-upload.vue                  |   13 
 7 files changed, 453 insertions(+), 380 deletions(-)

diff --git a/.env.development b/.env.development
index 58bea65..4b8f067 100644
--- a/.env.development
+++ b/.env.development
@@ -2,4 +2,4 @@
 ENV = 'development'
 
 # base api
-VUE_APP_BASE_API = '/dream'
+VUE_APP_BASE_API = '/dream_dev'
diff --git a/src/App.vue b/src/App.vue
index 6bb22ac..3ec2c9b 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -17,6 +17,11 @@
             isRouterAlive: true
         }
     },
+    created() {
+        localStorage.setItem("user", '{"id":25,"name":"寰俊鐢ㄦ埛","mobile":"18080857109","gender":"FEMALE","jwtToken":"eyJhbGciOiJIUzI1NiJ9.eyJleHBUaW1lIjoiMjAyNC8xMS8xOCAyMDo0MSIsInVzZXJJZCI6NDYsImp0aSI6ImM2MzE2NDJmLTQ1YzUtNDdhOC04MmRhLWQyMGMwNjg5NDRmOSIsImlhdCI6MTczMTkyNjQ3Miwic3ViIjoieWNsIiwiZXhwIjoxNzMxOTMzNjcyfQ.14nH_pdr4Nfd6Xq0StQ3sMHQz6cqLMEXEHhrSw5iHM4","avatars":[],"staffs":[{"id":1659,"createTime":"2023/11/16 09:58","createById":1,"modifyTime":"2023/11/16 09:58","modifyById":46,"name":"寮犲崕","description":"","mobile":"18080857109","gender":"MALE","birthday":"2003/11/16","avatars":[],"org":{"id":1,"createTime":"2023/06/06 19:47","createById":0,"modifyTime":"2024/05/22 00:02","modifyById":1,"name":"鍙綋浜戞湇鍔�","description":"","address":"鎴愰兘甯�","addressDetail":"123","lng":104.08373260498047,"lat":30.653186798095703,"pid":0,"versionType":"STANDARD","orgType":"PLATFORM","companyName":"88","region":[],"logos":[{"url1":"dream/1/setting/20240320/2a7d900fc72878a774d3cd6aea2195e0.jpg","url2":"dream/1/setting/20240320/9ccea81dbfdcb8e4d0c86b978aca0e42.jpg","url3":"dream/1/setting/20240320/a78b9307b000b3ec4d6ecc9d276494ee.jpg","origin":"dream/1/setting/20240320/71fad2f4bcae8fc644dca5d95b98c08c.jpg","def":null,"ext":"jpg","duration":null}],"galleries":[{"url1":"dream/1/setting/20240403/f87b937eedaf8842c59bbdcecf60d94e.jpg","url2":"dream/1/setting/20240403/172dc3868484f8b88ad26e54bb51d737.jpg","url3":"dream/1/setting/20240403/b1ddd7a6a8433e6ebace1d5360e426a1.jpg","origin":"dream/1/setting/20240403/15ba95a920efb1353226863f2ba26b53.jpg","def":null,"ext":"jpg","duration":null}],"tel1":"13981970816","tel2":"","openTime":"10:00:00","closeTime":"20:00:00","mch":{"id":1,"name":"浼樺垱鍔涚洿钀ュ簵"}},"title":null,"user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":427,"createTime":"2023/10/04 13:18","createById":22,"modifyTime":"2023/10/04 13:18","modifyById":22,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":1,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"},{"id":1616,"createTime":"2023/11/04 11:23","createById":0,"modifyTime":"2023/12/08 14:10","modifyById":35,"name":"鍙綋涓婅-鎶�鏈�","description":"","mobile":"18080857109","gender":"FEMALE","birthday":"1998/11/04","avatars":[],"org":{"id":186,"createTime":"2023/11/04 11:22","createById":0,"modifyTime":"2024/09/11 15:16","modifyById":35,"name":"鎷撲笘浣撹偛","description":"","address":"鍥涘窛鐪佹垚閮藉競閿︽睙鍖虹悏涓夎矾999鍙�","addressDetail":"鎴愰兘甯傞敠姹熷尯姘翠簳鍧婇敠姹熶綋鑲插叕鍥�","lng":104.11273956298828,"lat":30.597631454467773,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"鎷撲笘浣撹偛","region":[],"logos":[{"url1":"dream/1/setting/20240911/35c21c25bdabe256e6d80a04443130bd.jpg","url2":"dream/1/setting/20240911/d147a21d1a515b8f1130f48131fb0fd0.jpg","url3":"dream/1/setting/20240911/4b377e21b8a24c326537b7033b3c5368.jpg","origin":"dream/1/setting/20240911/0fa9c2150e361d00a4c605477f355b72.jpg","def":null,"ext":"jpg","duration":null}],"galleries":[{"url1":"dream/1/setting/20231228//1fd0a04396e38f97154518976d2b9fcf.jpg","url2":"dream/1/setting/20231228//a8820bfd6b5b68430930308b138d07b8.jpg","url3":"dream/1/setting/20231228//4362c82baef5dd9114cc612275c5ef8b.jpg","origin":"dream/1/setting/20231228//19a648306dd555f044ae1321519d9765.jpg","def":null,"ext":"jpg","duration":null}],"tel1":"13880121131","tel2":"","openTime":"07:00:00","closeTime":"22:00:00","mch":{"id":81,"name":"鎷撲笘浣撹偛"}},"title":"鑰佸笀","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":886,"createTime":"2023/11/04 11:22","createById":0,"modifyTime":"2023/11/04 11:22","modifyById":0,"name":"璇剧▼椤鹃棶","description":"閿�鍞【闂�","orgId":186,"sys":1,"roleGroup":"org","roleName":"salesman","state":"USED"},"state":"USED"},{"id":1621,"createTime":"2023/11/04 11:43","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"鍙綋鎶�鏈敮鎸�","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":"1998/11/04","avatars":[],"org":{"id":187,"createTime":"2023/11/04 11:43","createById":0,"modifyTime":"2023/11/04 11:43","modifyById":0,"name":"鎯犳捣鐞磋","description":null,"address":"榫欐硥椹垮尯","addressDetail":"鎴愰兘甯傞緳娉夐┛鍖烘�″拰鏂板煄F4鍖哄弻榫欒矾388鍙�24鏍嬮檮106銆�107鍙�","lng":104.262856,"lat":30.572496,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"KS","region":[],"logos":[],"galleries":[],"tel1":"18884828287","tel2":"","openTime":"09:00:00","closeTime":"21:30:00","mch":null},"title":"鑰佸笀","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":890,"createTime":"2023/11/04 11:43","createById":0,"modifyTime":"2023/11/04 11:43","modifyById":0,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":187,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"},{"id":1647,"createTime":"2023/11/04 13:09","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"鍙綋鎶�鏈敮鎸�","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":"1998/11/04","avatars":[],"org":{"id":190,"createTime":"2023/11/04 13:09","createById":0,"modifyTime":"2023/11/04 13:09","modifyById":0,"name":"鑾辨柉鏅箰鑹烘湳","description":null,"address":"閿︽睙鍖洪敠涓借矾187鍙�1妤�","addressDetail":"","lng":104.09539,"lat":30.615751,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"鑾辨柉鏅箰鑹烘湳鍩硅瀛︽牎","region":[],"logos":[],"galleries":[],"tel1":"15196265492","tel2":"","openTime":"09:00:00","closeTime":"21:00:00","mch":null},"title":"鑰佸笀","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":905,"createTime":"2023/11/04 13:09","createById":0,"modifyTime":"2023/11/04 13:09","modifyById":0,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":190,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"},{"id":2150,"createTime":"2024/09/13 19:15","createById":35,"modifyTime":"2024/10/15 09:15","modifyById":35,"name":"鍗庤�佸笀","description":"","mobile":"","gender":"MALE","birthday":"2004/09/13","avatars":[],"org":{"id":192,"createTime":"2023/11/10 09:17","createById":1,"modifyTime":"2024/10/25 09:32","modifyById":35,"name":"鏍兼枟棣�","description":"","address":"鍥涘窛鐪佹垚閮藉競閿︽睙鍖轰腑绾卞附琛�8鍙�","addressDetail":"鍟嗛紟鍥介檯2-1","lng":104.08373260498047,"lat":30.653186798095703,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"宸ㄧ煶","region":[],"logos":[{"url1":"dream/1/setting/20240320/0e6dbe1029f347fd89eb5c99f287eaee.png","url2":"dream/1/setting/20240320/d1fca9110425cc02150b7c3f54298fbd.png","url3":"dream/1/setting/20240320/cdfd92ee8fd3da597be2144cd82f8788.png","origin":"dream/1/setting/20240320/86c0f4f1dfde36b0a9ea2b545ebc79c7.png","def":null,"ext":"png","duration":null}],"galleries":[{"url1":"dream/1/setting/20240809/d2b570eb5fc51f9e0a07106b96a0552c.jpg","url2":"dream/1/setting/20240809/4cfd9736bf2bc207cc50735f183fe6d7.jpg","url3":"dream/1/setting/20240809/8545384e4c2b8ccd0cba03833156884d.jpg","origin":"dream/1/setting/20240809/735f4daf8efc136ff4ab83d80dc9a79c.jpg","def":null,"ext":"jpg","duration":null}],"tel1":"15002830891","tel2":null,"openTime":"08:00:00","closeTime":"21:00:00","mch":null},"title":null,"user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":912,"createTime":"2023/11/10 09:17","createById":1,"modifyTime":"2024/03/31 19:35","modifyById":1,"name":"鏁欏笀","description":"鏁欏笀","orgId":192,"sys":1,"roleGroup":"org","roleName":"staff","state":"USED"},"state":"USED"},{"id":1658,"createTime":"2023/11/16 09:57","createById":1,"modifyTime":"2023/11/16 09:59","modifyById":46,"name":"寮犺�佸笀","description":"","mobile":"18080857109","gender":"MALE","birthday":"2003/11/16","avatars":[],"org":{"id":193,"createTime":"2023/11/16 09:57","createById":1,"modifyTime":"2023/11/16 09:57","modifyById":1,"name":"娴嬭瘯鏈烘瀯1","description":null,"address":null,"addressDetail":null,"lng":null,"lat":null,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"娴嬭瘯鏈烘瀯1","region":[],"logos":[],"galleries":[],"tel1":null,"tel2":null,"openTime":"10:00:00","closeTime":"21:00:00","mch":null},"title":"绠$悊鍛�","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":920,"createTime":"2023/11/16 09:57","createById":1,"modifyTime":"2023/11/16 09:57","modifyById":1,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":193,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"}],"sessionKey":null,"players":[{"id":3366,"name":"鐗涘皬浜�","orgId":193,"orgName":"娴嬭瘯鏈烘瀯1","mobile":"136780078","mgr":true,"state":"USED"},{"id":3372,"name":"寮犲崕","orgId":192,"orgName":"鏍兼枟棣�","mobile":"","mgr":true,"state":"USED"}],"wxOpenid":"o4UBK6jiXYDPyeL3k54VI_3aNxN0","wxUnionid":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenid":"oApStw7I11L8uo1HoTWK4MUTBzkY"}');
+        localStorage.setItem("staffs", '[{"id":1636,"createTime":"2023/11/16 09:58","createById":1,"modifyTime":"2023/11/16 09:58","modifyById":46,"name":"寮犲崕","description":"","mobile":"18080857109","gender":"MALE","birthday":"2003/11/16","avatars":[],"org":{"id":1,"createTime":"2023/06/06 19:47","createById":0,"modifyTime":"2024/05/22 00:02","modifyById":1,"name":"鍙綋浜戞湇鍔�","description":"","address":"鎴愰兘甯�","addressDetail":"123","lng":104.08373260498047,"lat":30.653186798095703,"pid":0,"versionType":"STANDARD","orgType":"PLATFORM","companyName":"88","region":[],"logos":[{"url1":"dream/1/setting/20240320/2a7d900fc72878a774d3cd6aea2195e0.jpg","url2":"dream/1/setting/20240320/9ccea81dbfdcb8e4d0c86b978aca0e42.jpg","url3":"dream/1/setting/20240320/a78b9307b000b3ec4d6ecc9d276494ee.jpg","origin":"dream/1/setting/20240320/71fad2f4bcae8fc644dca5d95b98c08c.jpg","def":null,"ext":"jpg","duration":null}],"galleries":[{"url1":"dream/1/setting/20240403/f87b937eedaf8842c59bbdcecf60d94e.jpg","url2":"dream/1/setting/20240403/172dc3868484f8b88ad26e54bb51d737.jpg","url3":"dream/1/setting/20240403/b1ddd7a6a8433e6ebace1d5360e426a1.jpg","origin":"dream/1/setting/20240403/15ba95a920efb1353226863f2ba26b53.jpg","def":null,"ext":"jpg","duration":null}],"tel1":"13981970816","tel2":"","openTime":"10:00:00","closeTime":"20:00:00","mch":{"id":1,"name":"浼樺垱鍔涚洿钀ュ簵"}},"title":null,"user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":427,"createTime":"2023/10/04 13:18","createById":22,"modifyTime":"2023/10/04 13:18","modifyById":22,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":1,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"},{"id":1616,"createTime":"2023/11/04 11:23","createById":0,"modifyTime":"2023/12/08 14:10","modifyById":35,"name":"鍙綋涓婅-鎶�鏈�","description":"","mobile":"18080857109","gender":"FEMALE","birthday":"1998/11/04","avatars":[],"org":{"id":186,"createTime":"2023/11/04 11:22","createById":0,"modifyTime":"2024/09/11 15:16","modifyById":35,"name":"鎷撲笘浣撹偛","description":"","address":"鍥涘窛鐪佹垚閮藉競閿︽睙鍖虹悏涓夎矾999鍙�","addressDetail":"鎴愰兘甯傞敠姹熷尯姘翠簳鍧婇敠姹熶綋鑲插叕鍥�","lng":104.11273956298828,"lat":30.597631454467773,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"鎷撲笘浣撹偛","region":[],"logos":[{"url1":"dream/1/setting/20240911/35c21c25bdabe256e6d80a04443130bd.jpg","url2":"dream/1/setting/20240911/d147a21d1a515b8f1130f48131fb0fd0.jpg","url3":"dream/1/setting/20240911/4b377e21b8a24c326537b7033b3c5368.jpg","origin":"dream/1/setting/20240911/0fa9c2150e361d00a4c605477f355b72.jpg","def":null,"ext":"jpg","duration":null}],"galleries":[{"url1":"dream/1/setting/20231228//1fd0a04396e38f97154518976d2b9fcf.jpg","url2":"dream/1/setting/20231228//a8820bfd6b5b68430930308b138d07b8.jpg","url3":"dream/1/setting/20231228//4362c82baef5dd9114cc612275c5ef8b.jpg","origin":"dream/1/setting/20231228//19a648306dd555f044ae1321519d9765.jpg","def":null,"ext":"jpg","duration":null}],"tel1":"13880121131","tel2":"","openTime":"07:00:00","closeTime":"22:00:00","mch":{"id":81,"name":"鎷撲笘浣撹偛"}},"title":"鑰佸笀","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":886,"createTime":"2023/11/04 11:22","createById":0,"modifyTime":"2023/11/04 11:22","modifyById":0,"name":"璇剧▼椤鹃棶","description":"閿�鍞【闂�","orgId":186,"sys":1,"roleGroup":"org","roleName":"salesman","state":"USED"},"state":"USED"},{"id":1621,"createTime":"2023/11/04 11:43","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"鍙綋鎶�鏈敮鎸�","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":"1998/11/04","avatars":[],"org":{"id":187,"createTime":"2023/11/04 11:43","createById":0,"modifyTime":"2023/11/04 11:43","modifyById":0,"name":"鎯犳捣鐞磋","description":null,"address":"榫欐硥椹垮尯","addressDetail":"鎴愰兘甯傞緳娉夐┛鍖烘�″拰鏂板煄F4鍖哄弻榫欒矾388鍙�24鏍嬮檮106銆�107鍙�","lng":104.262856,"lat":30.572496,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"KS","region":[],"logos":[],"galleries":[],"tel1":"18884828287","tel2":"","openTime":"09:00:00","closeTime":"21:30:00","mch":null},"title":"鑰佸笀","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":890,"createTime":"2023/11/04 11:43","createById":0,"modifyTime":"2023/11/04 11:43","modifyById":0,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":187,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"},{"id":1647,"createTime":"2023/11/04 13:09","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"鍙綋鎶�鏈敮鎸�","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":"1998/11/04","avatars":[],"org":{"id":190,"createTime":"2023/11/04 13:09","createById":0,"modifyTime":"2023/11/04 13:09","modifyById":0,"name":"鑾辨柉鏅箰鑹烘湳","description":null,"address":"閿︽睙鍖洪敠涓借矾187鍙�1妤�","addressDetail":"","lng":104.09539,"lat":30.615751,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"鑾辨柉鏅箰鑹烘湳鍩硅瀛︽牎","region":[],"logos":[],"galleries":[],"tel1":"15196265492","tel2":"","openTime":"09:00:00","closeTime":"21:00:00","mch":null},"title":"鑰佸笀","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":905,"createTime":"2023/11/04 13:09","createById":0,"modifyTime":"2023/11/04 13:09","modifyById":0,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":190,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"},{"id":2150,"createTime":"2024/09/13 19:15","createById":35,"modifyTime":"2024/10/15 09:15","modifyById":35,"name":"鍗庤�佸笀","description":"","mobile":"","gender":"MALE","birthday":"2004/09/13","avatars":[],"org":{"id":192,"createTime":"2023/11/10 09:17","createById":1,"modifyTime":"2024/10/25 09:32","modifyById":35,"name":"鏍兼枟棣�","description":"","address":"鍥涘窛鐪佹垚閮藉競閿︽睙鍖轰腑绾卞附琛�8鍙�","addressDetail":"鍟嗛紟鍥介檯2-1","lng":104.08373260498047,"lat":30.653186798095703,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"宸ㄧ煶","region":[],"logos":[{"url1":"dream/1/setting/20240320/0e6dbe1029f347fd89eb5c99f287eaee.png","url2":"dream/1/setting/20240320/d1fca9110425cc02150b7c3f54298fbd.png","url3":"dream/1/setting/20240320/cdfd92ee8fd3da597be2144cd82f8788.png","origin":"dream/1/setting/20240320/86c0f4f1dfde36b0a9ea2b545ebc79c7.png","def":null,"ext":"png","duration":null}],"galleries":[{"url1":"dream/1/setting/20240809/d2b570eb5fc51f9e0a07106b96a0552c.jpg","url2":"dream/1/setting/20240809/4cfd9736bf2bc207cc50735f183fe6d7.jpg","url3":"dream/1/setting/20240809/8545384e4c2b8ccd0cba03833156884d.jpg","origin":"dream/1/setting/20240809/735f4daf8efc136ff4ab83d80dc9a79c.jpg","def":null,"ext":"jpg","duration":null}],"tel1":"15002830891","tel2":null,"openTime":"08:00:00","closeTime":"21:00:00","mch":null},"title":null,"user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":912,"createTime":"2023/11/10 09:17","createById":1,"modifyTime":"2024/03/31 19:35","modifyById":1,"name":"鏁欏笀","description":"鏁欏笀","orgId":192,"sys":1,"roleGroup":"org","roleName":"staff","state":"USED"},"state":"USED"},{"id":1658,"createTime":"2023/11/16 09:57","createById":1,"modifyTime":"2023/11/16 09:59","modifyById":46,"name":"寮犺�佸笀","description":"","mobile":"18080857109","gender":"MALE","birthday":"2003/11/16","avatars":[],"org":{"id":193,"createTime":"2023/11/16 09:57","createById":1,"modifyTime":"2023/11/16 09:57","modifyById":1,"name":"娴嬭瘯鏈烘瀯1","description":null,"address":null,"addressDetail":null,"lng":null,"lat":null,"pid":0,"versionType":"STANDARD","orgType":"NORMAL","companyName":"娴嬭瘯鏈烘瀯1","region":[],"logos":[],"galleries":[],"tel1":null,"tel2":null,"openTime":"10:00:00","closeTime":"21:00:00","mch":null},"title":"绠$悊鍛�","user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":920,"createTime":"2023/11/16 09:57","createById":1,"modifyTime":"2023/11/16 09:57","modifyById":1,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":193,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"}]');
+        localStorage.setItem("selectStaff", '{"id":1636,"createTime":"2023/11/16 09:58","createById":1,"modifyTime":"2023/11/16 09:58","modifyById":46,"name":"寮犲崕","description":"","mobile":"18080857109","gender":"MALE","birthday":"2003/11/16","avatars":[],"org":{"id":1,"createTime":"2023/06/06 19:47","createById":0,"modifyTime":"2024/05/22 00:02","modifyById":1,"name":"鍙綋浜戞湇鍔�","description":"","address":"鎴愰兘甯�","addressDetail":"123","lng":104.08373260498047,"lat":30.653186798095703,"pid":0,"versionType":"STANDARD","orgType":"PLATFORM","companyName":"88","region":[],"logos":[{"url1":"dream/1/setting/20240320/2a7d900fc72878a774d3cd6aea2195e0.jpg","url2":"dream/1/setting/20240320/9ccea81dbfdcb8e4d0c86b978aca0e42.jpg","url3":"dream/1/setting/20240320/a78b9307b000b3ec4d6ecc9d276494ee.jpg","origin":"dream/1/setting/20240320/71fad2f4bcae8fc644dca5d95b98c08c.jpg","def":null,"ext":"jpg","duration":null}],"galleries":[{"url1":"dream/1/setting/20240403/f87b937eedaf8842c59bbdcecf60d94e.jpg","url2":"dream/1/setting/20240403/172dc3868484f8b88ad26e54bb51d737.jpg","url3":"dream/1/setting/20240403/b1ddd7a6a8433e6ebace1d5360e426a1.jpg","origin":"dream/1/setting/20240403/15ba95a920efb1353226863f2ba26b53.jpg","def":null,"ext":"jpg","duration":null}],"tel1":"13981970816","tel2":"","openTime":"10:00:00","closeTime":"20:00:00","mch":{"id":1,"name":"浼樺垱鍔涚洿钀ュ簵"}},"title":null,"user":{"id":46,"createTime":"2023/11/16 09:44","createById":0,"modifyTime":"2023/11/16 09:44","modifyById":46,"name":"寰俊鐢ㄦ埛","description":null,"mobile":"18080857109","gender":"FEMALE","birthday":null,"avatars":[],"wxOpenId":"ossku41W2iaQstCmFjGuenxP7lUg","wxUnionId":"oI1DI1QIOZp2Q1s7YCeOGkoxMoys","wxOaOpenId":"oApStw7I11L8uo1HoTWK4MUTBzkY"},"role":{"id":427,"createTime":"2023/10/04 13:18","createById":22,"modifyTime":"2023/10/04 13:18","modifyById":22,"name":"绠$悊鍛�","description":"鏍¢暱锛岀鐞嗗憳锛屽姪鐞�","orgId":1,"sys":1,"roleGroup":"org","roleName":"admin","state":"USED"},"state":"USED"}');
+    },
     mounted() {
         // 鍏抽棴娴忚鍣ㄧ獥鍙g殑鏃跺�欐竻绌烘祻瑙堝櫒缂撳瓨鍦╨ocalStorage鐨勬暟鎹�
         window.onbeforeunload = function (e) {
diff --git a/src/components/drag-upload.vue b/src/components/drag-upload.vue
index 48950fe..ecb23fb 100644
--- a/src/components/drag-upload.vue
+++ b/src/components/drag-upload.vue
@@ -7,7 +7,7 @@
             :data="{ staffId: staffId, orgId: orgId }"
             :on-exceed="handleExceed"
             :on-success="fileSuccess"
-            :on-error="fileSuccess"
+            :on-error="fileError"
             :file-list="fileList"
             :show-file-list="true"
             multiple
@@ -68,7 +68,13 @@
             this.successLoading = false
             this.$emit("fileSuccess", res, this.type);
         },
-
+        fileError(res, f, f1) {
+            this.successLoading = false
+            this.$message({
+                message: "涓婃澶辫触",
+                type: "error",
+            });
+        },
         // 杩囨护鏂囦欢
         beforeAvatarUpload(file) {
             this.successLoading = true
@@ -84,6 +90,9 @@
                 });
                 return false;
             }
+
+            this.successLoading = false
+            this.$emit("file-uploading");
         },
     },
     mounted() { },
diff --git a/src/utils/graphql.js b/src/utils/graphql.js
index 8019fde..938c1f5 100644
--- a/src/utils/graphql.js
+++ b/src/utils/graphql.js
@@ -6,8 +6,8 @@
 
 // export default apolloClient;
 // 瀹氫箟涓嶅悓璇锋眰鍦板潃
-const EFORMURI = "/dream/graphql";
-const IOTURI = "/dream/graphql";
+const EFORMURI = "/dream_dev/graphql";
+const IOTURI = "/dream_dev/graphql";
 // import ApolloClient from 'apollo-boost' //寮曞叆apollo-boost鎻掍欢
 import { ApolloClient } from "apollo-client";
 import { createHttpLink } from "apollo-link-http";
diff --git a/src/views/student/components/upload-student.vue b/src/views/student/components/upload-student.vue
index 6814ed9..cbc7afc 100644
--- a/src/views/student/components/upload-student.vue
+++ b/src/views/student/components/upload-student.vue
@@ -1,140 +1,194 @@
 <template>
-  <el-form class="demo-ruleForm">
-    <el-form-item label="" style="display: inline-block">
-      <div class="uploading-center">
-        <div class="uploading">
-          <dragUpload
-            :limit="1"
-            :orgId="parseInt(orgId)"
-            :staffId="parseInt(staffId)"
-            @fileSuccess="fatherMethod"
-            :type="'AUDIENCE'"
-            :action="'/dream/player/importPlayer'"
-          >
-            <div class="uploading-btn-to">
-              <i class="iconfont iconAdd"></i> 涓婁紶
+    <el-form class="demo-ruleForm">
+        <el-form-item label="" style="display: inline-block">
+            <div class="uploading-center">
+                <div class="uploading">
+                    <dragUpload
+                        :limit="1"
+                        :orgId="parseInt(orgId)"
+                        :staffId="parseInt(staffId)"
+                        @fileSuccess="fatherMethod"
+                        @file-uploading="showUploadProcess"
+                        :type="'AUDIENCE'"
+                        :action="'/dream_dev/player/importPlayer'"
+                    >
+                        <div class="uploading-btn-to">
+                            <i class="iconfont iconAdd"></i> 涓婁紶
+                        </div>
+                        <div class="el-upload__tip" slot="tip">
+                            鍙兘涓婁紶.xls,.xlsx鏂囦欢
+                        </div>
+                    </dragUpload>
+                </div>
+                <div class="download-file">
+                    <i class="iconfont iconFile"></i>
+                    <a href="/static/瀛﹀憳瀵煎叆妯℃澘.xlsx" download
+                        >涓嬭浇瀛﹀憳妯℃澘</a
+                    >
+                </div>
             </div>
-            <div class="el-upload__tip" slot="tip">鍙兘涓婁紶.xls,.xlsx鏂囦欢</div>
-          </dragUpload>
-        </div>
-        <div class="download-file">
-          <i class="iconfont iconFile"></i>
-          <a href="/static/瀛﹀憳瀵煎叆妯℃澘.xlsx" download>涓嬭浇瀛﹀憳妯℃澘</a>
-        </div>
-      </div>
-      <div style="font-size: 12px; color: #6993ff" v-if="hasAudience">
-        宸蹭笂浼�,濡傞渶淇敼鐩存帴鐐瑰嚮涓婁紶
-        <i class="el-icon-close" title="鍒犻櫎" @click="clearaudience"></i>
-      </div>
-    </el-form-item>
-  </el-form>
+            <div style="font-size: 12px; color: #6993ff" v-if="hasAudience">
+                宸蹭笂浼�,濡傞渶淇敼鐩存帴鐐瑰嚮涓婁紶
+                <i
+                    class="el-icon-close"
+                    title="鍒犻櫎"
+                    @click="clearaudience"
+                ></i>
+            </div>
+        </el-form-item>
+
+        <el-progress
+            v-show="progress"
+            type="circle"
+            :percentage="percentage"
+            :status="progressStatus"
+        ></el-progress>
+    </el-form>
 </template>
 
 <script>
 import dragUpload from "@/components/drag-upload";
+var self = null;
 export default {
-  inject: ["reload"],
-  name: "Creation",
-  data() {
-    return {
-      orgId: 0,
-      staffId: 0,
-      hasAudience: false,
-    };
-  },
-  components: { dragUpload },
-  methods: {
-    downloadlist() {
-      window.open("../../../assets/瀛﹀憳瀵煎叆妯℃澘.xlsx", "_blank");
-      // this.download('downPlayerTemplate', '瀛﹀憳瀵煎叆妯℃澘.xlsx')
+    inject: ["reload"],
+    name: "Creation",
+    data() {
+        return {
+            orgId: 0,
+            staffId: 0,
+            hasAudience: false,
+            progress: false,
+            percentage: 0,
+            progressStatus: ""
+        };
     },
-    clearaudience() {
-      this.hasAudience = false;
+    components: { dragUpload },
+    methods: {
+        downloadlist() {
+            window.open("../../../assets/瀛﹀憳瀵煎叆妯℃澘.xlsx", "_blank");
+            // this.download('downPlayerTemplate', '瀛﹀憳瀵煎叆妯℃澘.xlsx')
+        },
+        clearaudience() {
+            this.hasAudience = false;
+        },
+        fatherMethod(res, type) {
+            // if (res.falseLst === null) {
+            //     this.$message.success("涓婁紶鏁版嵁鎴愬姛");
+            //     this.$emit("load-success");
+            // } else if (res.falseLst.length >= 1) {
+            //     let errortips = "";
+            //     res.falseLst.map((item) => {
+            //         errortips += (`${item.playerRoll}` + `${item.cause} \r\n`).replace('[]', '');
+            //     });
+            //     this.$message({
+            //         message: `瀵煎叆鏁版嵁鎴愬姛瀵煎叆${res.successNum}鏉�,閿欒淇℃伅:${errortips}`,
+            //         type: "error",
+            //         duration: 6000,
+            //     });
+            // }
+        },
+        showUploadProcess() {
+            self.progress = true
+            setTimeout(function () {
+                const eventSource = new EventSource('/dream_dev/sse-stream/' + JSON.parse(localStorage.getItem("selectStaff")).id);
+
+                eventSource.onmessage = function (event) {
+                    const res = JSON.parse(event.data)
+                    self.percentage = parseInt(res.current * 100 / res.total)
+                    if (res.current == res.total) {
+                        self.progressStatus = 'success'
+                        if (res.falseLst === null) {
+                            self.$message.success("涓婁紶鏁版嵁鎴愬姛");
+                            self.$emit("load-success");
+                        } else if (res.falseLst.length >= 1) {
+                            let errortips = "";
+                            res.falseLst.map((item) => {
+                                errortips += (`${item.playerRoll}` + `${item.cause} \r\n`).replace('[]', '');
+                            });
+                            self.$message({
+                                message: `瀵煎叆鏁版嵁鎴愬姛瀵煎叆${res.successNum}鏉�,閿欒淇℃伅:${errortips}`,
+                                type: "error",
+                                duration: 6000,
+                            });
+                        }
+                    }
+                };
+
+                eventSource.onerror = function (err) {
+                    console.error("EventSource failed:", err);
+                    eventSource.close();
+                };
+            }, 3 * 1000);
+        }
     },
-    fatherMethod(res, type) {
-      if (res.falseLst === null) {
-        this.$message.success("涓婁紶鏁版嵁鎴愬姛");
-        this.$emit("load-success");
-      } else if (res.falseLst.length >= 1) {
-        let errortips = "";
-        res.falseLst.map((item) => {
-          errortips += (`${item.playerRoll}`+`${item.cause} \r\n`).replace('[]','');
-        });
-        this.$message({
-          message: `瀵煎叆鏁版嵁鎴愬姛瀵煎叆${res.successNum}鏉�,閿欒淇℃伅:${errortips}`,
-          type: "error",
-          duration: 6000,
-        });
-      }
+    created() {
+        self = this
+        const selectStaff = JSON.parse(localStorage.getItem("selectStaff"));
+        this.orgId = selectStaff.org.id;
+        this.staffId = selectStaff.id;
     },
-  },
-  created() {
-    const selectStaff = JSON.parse(localStorage.getItem("selectStaff"));
-    this.orgId = selectStaff.org.id;
-    this.staffId = selectStaff.id;
-  },
 };
 </script>
   
 <style lang="scss" scoped>
 .demo-ruleForm {
-  text-align: center;
+    text-align: center;
 }
 .creation-center {
-  padding: 40px 40px 40px 40px;
+    padding: 40px 40px 40px 40px;
 }
 .uploading-center {
-  display: flex;
-  flex-direction: row;
-  > .uploading {
-    min-height: 40px;
-    line-height: 40px;
-    box-sizing: border-box;
-    border-radius: 4px;
-  }
-  .uploading-btn-to {
-    width: 100px;
-    line-height: 38px;
-    height: 38px;
-    border-radius: 3px;
-    text-align: center;
-    padding: 0 0px;
-    cursor: pointer;
-    user-select: none;
-    margin-left: 0;
-    color: #ffa800;
-    font-size: 14px;
-    border: 1px solid #ffbe41;
-    > i {
-      color: #ffbe41;
-      font-size: 12px;
-      margin-right: 5px;
-    }
-  }
-  > .download-file {
-    float: left;
     display: flex;
     flex-direction: row;
-    margin-left: 20px;
-    color: #6993ff;
-    font-size: 14px;
-    cursor: pointer;
-    user-select: none;
-    height: 40px;
-    > div {
-      width: 117px;
-      margin-left: 5px;
+    > .uploading {
+        min-height: 40px;
+        line-height: 40px;
+        box-sizing: border-box;
+        border-radius: 4px;
     }
-  }
+    .uploading-btn-to {
+        width: 100px;
+        line-height: 38px;
+        height: 38px;
+        border-radius: 3px;
+        text-align: center;
+        padding: 0 0px;
+        cursor: pointer;
+        user-select: none;
+        margin-left: 0;
+        color: #ffa800;
+        font-size: 14px;
+        border: 1px solid #ffbe41;
+        > i {
+            color: #ffbe41;
+            font-size: 12px;
+            margin-right: 5px;
+        }
+    }
+    > .download-file {
+        float: left;
+        display: flex;
+        flex-direction: row;
+        margin-left: 20px;
+        color: #6993ff;
+        font-size: 14px;
+        cursor: pointer;
+        user-select: none;
+        height: 40px;
+        > div {
+            width: 117px;
+            margin-left: 5px;
+        }
+    }
 }
 .uploading-center-style {
-  ::v-deep .upload-demo {
-    ::v-deep .el-upload {
-      line-height: 38px;
+    ::v-deep .upload-demo {
+        ::v-deep .el-upload {
+            line-height: 38px;
+        }
     }
-  }
 }
 ::v-deep .uploading-center > .uploading {
-  line-height: 37px;
+    line-height: 37px;
 }
 </style>
\ No newline at end of file
diff --git a/src/views/student/index.vue b/src/views/student/index.vue
index c45ea31..e743286 100644
--- a/src/views/student/index.vue
+++ b/src/views/student/index.vue
@@ -1,132 +1,136 @@
 <template>
-  <div class="app-container">
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <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; justify-content: space-between">
-      <!-- <el-button type="primary" size="small" @click="showCreate">鏂板缓瀛﹀憳</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="寮�濮嬫棩鏈�"
+    <div class="app-container">
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+            <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; justify-content: space-between">
+            <!-- <el-button type="primary" size="small" @click="showCreate">鏂板缓瀛﹀憳</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">
       </el-date-picker>
       <el-button type="primary" @click="handleExport2">瀵煎嚭璇惧寘</el-button> -->
-      </div>
-      <div style="width: 300px">
-        <el-input
-          placeholder="鎸夊鍚嶆悳绱�"
-          v-model="data.keyword"
-          class="input-with-select"
-          size="small"
-        >
-          <el-button
-            slot="append"
-            icon="el-icon-search"
-            @click="handleClick"
-          ></el-button>
-        </el-input>
-      </div>
-    </div>
-    <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
+            </div>
+            <div style="width: 300px">
+                <el-input
+                    placeholder="鎸夊鍚嶆悳绱�"
+                    v-model="data.keyword"
+                    class="input-with-select"
+                    size="small"
+                >
+                    <el-button
+                        slot="append"
+                        icon="el-icon-search"
+                        @click="handleClick"
+                    ></el-button>
+                </el-input>
+            </div>
+        </div>
+        <div style="height: calc(100vh - 248px)">
+            <el-table
+                v-loading="listLoading"
+                :data="list"
+                element-loading-text="Loading"
+                fit
+                height="100%"
             >
-            <!-- <el-link type="primary" :underline="false">{{
+                <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>
-            &nbsp;&nbsp;&nbsp;&nbsp;
-            <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>
+                    </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
+                        >
+                        &nbsp;&nbsp;&nbsp;&nbsp;
+                        <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>
+        <el-dialog :visible.sync="dialogVisible" width="560px" title="瀵煎叆瀛﹀憳">
+            <UploadStudent
+                v-if="dialogVisible"
+                @load-success="reloadData"
+            ></UploadStudent>
+        </el-dialog>
     </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-dialog :visible.sync="dialogVisible" width="560px" title="瀵煎叆瀛﹀憳">
-      <UploadStudent
-        v-if="dialogVisible"
-        @load-success="reloadData"
-      ></UploadStudent>
-    </el-dialog>
-  </div>
 </template>
 
 <script>
@@ -134,154 +138,155 @@
 import UploadStudent from "./components/upload-student.vue";
 
 export default {
-  filters: {
-    statusFilter(status) {
-      const statusMap = {
-        published: "success",
-        draft: "gray",
-        deleted: "danger",
-      };
-      return statusMap[status];
-    },
-  },
-  components: {
-    UploadStudent,
-  },
-  data() {
-    return {
-      dateRange: [],
-      list: null,
-      listLoading: true,
-      activeName: "all",
-      total: 0,
-      data: {
-        staffId: JSON.parse(localStorage.getItem("selectStaff")).id,
-        keyword: "",
-        pageIn: {
-          //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿��
-          index: 0, //蹇呴��
-          size: 10, //姣忛〉鐨勫ぇ灏忋�傞粯璁�20
-          sorts: {
-            name: "name", //鎺掑簭瀛楁鍚嶇О
-            direction: "ASC", //鎺掑簭鏂瑰悜
-          },
+    filters: {
+        statusFilter(status) {
+            const statusMap = {
+                published: "success",
+                draft: "gray",
+                deleted: "danger",
+            };
+            return statusMap[status];
         },
-      },
-      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();
-    } else {
-      this.$router.push("/login");
-    }
-  },
-  methods: {
-    handleExport() {
-      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`
-      );
+    components: {
+        UploadStudent,
     },
-    handleImport() {
-      this.dialogVisible = true;
-    },
-    reloadData() {
-      this.dialogVisible = false;
-      this.fetchData();
-    },
-    fetchData() {
-      this.listLoading = true;
-      getData(this.data).then((response) => {
-        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) {
-      this.data.staffId = JSON.parse(localStorage.getItem("selectStaff")).id;
-      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("selectStaff")).id,
-          keyword: this.data.keyword,
-          pageIn: { ...this.data.pageIn },
+    data() {
+        return {
+            dateRange: [],
+            list: null,
+            listLoading: true,
+            activeName: "all",
+            total: 0,
+            data: {
+                staffId: JSON.parse(localStorage.getItem("selectStaff")).id,
+                keyword: "",
+                pageIn: {
+                    //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿��
+                    index: 0, //蹇呴��
+                    size: 10, //姣忛〉鐨勫ぇ灏忋�傞粯璁�20
+                    sorts: {
+                        name: "name", //鎺掑簭瀛楁鍚嶇О
+                        direction: "ASC", //鎺掑簭鏂瑰悜
+                    },
+                },
+            },
+            dialogVisible: false,
         };
-        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,
+    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();
+        } else {
+            this.$router.push("/login");
+        }
+    },
+    methods: {
+        handleExport() {
+            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`
+            );
+        },
+        handleImport() {
+            this.dialogVisible = true;
+        },
+        reloadData() {
+            this.dialogVisible = false;
+            this.fetchData();
+        },
+        fetchData() {
+            this.listLoading = true;
+            getData(this.data).then((response) => {
+                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) {
+            this.data.staffId = JSON.parse(localStorage.getItem("selectStaff")).id;
+            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("selectStaff")).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();
+        },
+       
     },
-    showCreate() {
-      this.$refs.studentCreate.showDialog();
-    },
-  },
 };
 </script>
diff --git a/vue.config.js b/vue.config.js
index 6a30f9c..05eac46 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -39,7 +39,7 @@
     proxy: {
       [process.env.VUE_APP_BASE_API]: {
         // 鍖归厤鎵�鏈変互 '/dev-api'寮�澶寸殑璇锋眰璺緞
-        target: "http://localhost:18080/dream_test", //绫讳技浜嶯ginx鍙嶅悜浠g悊
+        target: "http://localhost:18080/dream_dev", //绫讳技浜嶯ginx鍙嶅悜浠g悊
         changeOrigin: true, // 鏀寔璺ㄥ煙
         pathRewrite: {
           // 閲嶅啓璺緞: 鍘绘帀璺緞涓紑澶寸殑'/dev-api'

--
Gitblit v1.8.0