From c51802281a05e3f97764ade83ca87076317fb0dc Mon Sep 17 00:00:00 2001 From: p31729568 Date: Mon, 21 Oct 2019 16:50:32 +0800 Subject: [PATCH] admins: export user statistic --- .../admins/user_statistics/index.js | 13 +++++++++++++ .../admins/user_statistics_controller.rb | 10 ++++++++++ .../admins/user_statistics/export.xlsx.axlsx | 16 ++++++++++++++++ .../admins/user_statistics/index.html.erb | 2 ++ config/routes.rb | 4 +++- ...fest-4627fa5586ef7fed55ca286af7c028e9.json | 2 +- ...d94c3b6f31966bc65d7f89be077fc2ea512bec.js} | 13 +++++++++++++ ...c3b6f31966bc65d7f89be077fc2ea512bec.js.gz} | Bin 961314 -> 961433 bytes 8 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 app/views/admins/user_statistics/export.xlsx.axlsx rename public/assets/{admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js => admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js} (99%) rename public/assets/{admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js.gz => admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js.gz} (98%) diff --git a/app/assets/javascripts/admins/user_statistics/index.js b/app/assets/javascripts/admins/user_statistics/index.js index 0d9df5f4b..3ffb288ac 100644 --- a/app/assets/javascripts/admins/user_statistics/index.js +++ b/app/assets/javascripts/admins/user_statistics/index.js @@ -51,10 +51,23 @@ $(document).on('turbolinks:load', function() { } }); + // 清空 $form.on('click', '.clear-btn', function(){ $form.find('select[name="date"]').val(''); $form.find('.school-select').val('').trigger('change'); $form.find('input[type="submit"]').trigger('click'); }) + + + // 导出 + $('.export-action').on('click', function(){ + var form = $(".user-statistic-list-form .search-form") + var exportLink = $(this); + var date = form.find("select[name='date']").val(); + var schoolId = form.find('input[name="school_id"]').val(); + + var url = exportLink.data("url").split('?')[0] + "?date=" + date + "&school_id=" + schoolId; + window.open(url); + }); } }); \ No newline at end of file diff --git a/app/controllers/admins/user_statistics_controller.rb b/app/controllers/admins/user_statistics_controller.rb index f60fb8dcd..71dc3096a 100644 --- a/app/controllers/admins/user_statistics_controller.rb +++ b/app/controllers/admins/user_statistics_controller.rb @@ -6,4 +6,14 @@ class Admins::UserStatisticsController < Admins::BaseController @users = paginate users, total_count: total_count end + + def export + default_sort('finish_shixun_count', 'desc') + + params[:per_page] = 10000 + _count, @users = Admins::UserStatisticQuery.call(params) + + filename = ['用户实训情况', Time.zone.now.strftime('%Y%m%d%H%M%S')].join('-') << '.xlsx' + render xlsx: 'export', filename: filename + end end \ No newline at end of file diff --git a/app/views/admins/user_statistics/export.xlsx.axlsx b/app/views/admins/user_statistics/export.xlsx.axlsx new file mode 100644 index 000000000..b66e62a99 --- /dev/null +++ b/app/views/admins/user_statistics/export.xlsx.axlsx @@ -0,0 +1,16 @@ +wb = xlsx_package.workbook +wb.add_worksheet(name: '用户实训情况') do |sheet| + sheet.add_row %w(姓名 单位部门 学习关卡数 完成关卡数 学习实训数 完成实训数) + + @users.each do |user| + data = [ + user.real_name, + [user.school_name.presence, user.department_name.presence].compact.join(' - '), + user.display_extra_data(:study_challenge_count), + user.display_extra_data(:finish_challenge_count), + user.display_extra_data(:study_shixun_count), + user.display_extra_data(:finish_shixun_count) + ] + sheet.add_row(data) + end +end \ No newline at end of file diff --git a/app/views/admins/user_statistics/index.html.erb b/app/views/admins/user_statistics/index.html.erb index fdc6259e5..30f8a7edf 100644 --- a/app/views/admins/user_statistics/index.html.erb +++ b/app/views/admins/user_statistics/index.html.erb @@ -19,6 +19,8 @@ <%= submit_tag('搜索', class: 'btn btn-primary ml-3', 'data-disable-with': '搜索中...') %> <% end %> + + <%= javascript_void_link '导出', class: 'btn btn-outline-primary export-action', 'data-url': export_admins_user_statistics_path(format: :xlsx) %>
diff --git a/config/routes.rb b/config/routes.rb index f0c290096..5b6aebac8 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -908,7 +908,9 @@ Rails.application.routes.draw do end resource :import_users, only: [:create] resource :import_course_members, only: [:create] - resources :user_statistics, only: [:index] + resources :user_statistics, only: [:index] do + get :export, on: :collection + end resources :library_applies, only: [:index] do member do diff --git a/public/assets/.sprockets-manifest-4627fa5586ef7fed55ca286af7c028e9.json b/public/assets/.sprockets-manifest-4627fa5586ef7fed55ca286af7c028e9.json index 49c70bf4d..81a6274f1 100644 --- a/public/assets/.sprockets-manifest-4627fa5586ef7fed55ca286af7c028e9.json +++ b/public/assets/.sprockets-manifest-4627fa5586ef7fed55ca286af7c028e9.json @@ -1 +1 @@ -{"files":{"admin-cd9ca8bacc973ce2dbace30c97f6c40bc08e2c2ee44972f668e738e1902c0121.js":{"logical_path":"admin.js","mtime":"2019-09-11T16:20:07+08:00","size":4350881,"digest":"cd9ca8bacc973ce2dbace30c97f6c40bc08e2c2ee44972f668e738e1902c0121","integrity":"sha256-zZyousyXPOLbrOMMl/bEC8COLC7kSXL2aOc44ZAsASE="},"admin-a1b3356efe50ff4717cf22475639b5333c5354ba03fd107c9b7a8d4ae76f47aa.css":{"logical_path":"admin.css","mtime":"2019-09-11T16:20:07+08:00","size":773445,"digest":"a1b3356efe50ff4717cf22475639b5333c5354ba03fd107c9b7a8d4ae76f47aa","integrity":"sha256-obM1bv5Q/0cXzyJHVjm1MzxTVLoD/RB8m3qNSudvR6o="},"font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot":{"logical_path":"font-awesome/fontawesome-webfont.eot","mtime":"2019-08-14T17:22:43+08:00","size":165742,"digest":"7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979","integrity":"sha256-e/yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk="},"font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2":{"logical_path":"font-awesome/fontawesome-webfont.woff2","mtime":"2019-08-14T17:22:43+08:00","size":77160,"digest":"2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe","integrity":"sha256-Kt78vAQefRj88tQXh53FoJmXqmTWdbejxLbOM9oT8/4="},"font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff":{"logical_path":"font-awesome/fontawesome-webfont.woff","mtime":"2019-08-14T17:22:43+08:00","size":98024,"digest":"ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07","integrity":"sha256-ugxZ3rVFD1y0Gz+TYJ7i0NmVQVh33foiPoqKdTNHTwc="},"font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf":{"logical_path":"font-awesome/fontawesome-webfont.ttf","mtime":"2019-08-14T17:22:43+08:00","size":165548,"digest":"aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8","integrity":"sha256-qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg="},"font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg":{"logical_path":"font-awesome/fontawesome-webfont.svg","mtime":"2019-08-14T17:22:43+08:00","size":444379,"digest":"ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4","integrity":"sha256-rWFXkmwWIrpOHQPUePFUE2hSS/xG9R5C/g2UX37zI+Q="},"college-18f5e8400331634e898a35acc2187815c096c25e0ab74aba341ae916166cd287.js":{"logical_path":"college.js","mtime":"2019-10-17T09:44:58+08:00","size":3352744,"digest":"18f5e8400331634e898a35acc2187815c096c25e0ab74aba341ae916166cd287","integrity":"sha256-GPXoQAMxY06JijWswhh4FcCWwl4Kt0q6NBrpFhZs0oc="},"college-944d4273f62c7538368b9017fdd3387b5e3bea31a87873770eb231324546d4d9.css":{"logical_path":"college.css","mtime":"2019-09-11T16:20:07+08:00","size":546841,"digest":"944d4273f62c7538368b9017fdd3387b5e3bea31a87873770eb231324546d4d9","integrity":"sha256-lE1Cc/YsdTg2i5AX/dM4e1476jGoeHN3DrIxMkVG1Nk="},"logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png":{"logical_path":"logo.png","mtime":"2019-09-03T08:55:53+08:00","size":2816,"digest":"7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423","integrity":"sha256-f/ESVocJv5f5iY/ockm3qPIA/x9I1TfYWvhyFfGHBCM="},"application-9cfbc3d792599a1d0de5c7b84209e1c2b2e60336f0f01e19f0581663918708fb.js":{"logical_path":"application.js","mtime":"2019-10-17T09:44:58+08:00","size":600706,"digest":"9cfbc3d792599a1d0de5c7b84209e1c2b2e60336f0f01e19f0581663918708fb","integrity":"sha256-nPvD15JZmh0N5ce4QgnhwrLmAzbw8B4Z8FgWY5GHCPs="},"application-5eb87c6e13676d0183317debce17fade27e68c4acee28c419438da15d53c94f2.css":{"logical_path":"application.css","mtime":"2019-09-11T16:20:07+08:00","size":1844002,"digest":"5eb87c6e13676d0183317debce17fade27e68c4acee28c419438da15d53c94f2","integrity":"sha256-Xrh8bhNnbQGDMX3rzhf63ifmjErO4oxBlDjaFdU8lPI="},"admin-c9e5ebe6191548550e27514196ea125cfbb402820ec125a0c9acf99d2d378fe4.js":{"logical_path":"admin.js","mtime":"2019-09-21T15:28:08+08:00","size":4382031,"digest":"c9e5ebe6191548550e27514196ea125cfbb402820ec125a0c9acf99d2d378fe4","integrity":"sha256-yeXr5hkVSFUOJ1FBluoSXPu0AoIOwSWgyaz5nS03j+Q="},"admin-59c59f8cae8bef4a8359286c985458110c9d03ea121516595c988943f4717c38.css":{"logical_path":"admin.css","mtime":"2019-09-21T14:49:04+08:00","size":840093,"digest":"59c59f8cae8bef4a8359286c985458110c9d03ea121516595c988943f4717c38","integrity":"sha256-WcWfjK6L70qDWShsmFRYEQydA+oSFRZZXJiJQ/RxfDg="},"college-38f953d6ba5b85d3fab63cb3c2bbf0d057ccc6454d07cfaafac3b06da37b8437.css":{"logical_path":"college.css","mtime":"2019-09-16T13:56:09+08:00","size":579109,"digest":"38f953d6ba5b85d3fab63cb3c2bbf0d057ccc6454d07cfaafac3b06da37b8437","integrity":"sha256-OPlT1rpbhdP6tjyzwrvw0FfMxkVNB8+q+sOwbaN7hDc="},"application-646b1158a4e8c1f13e684d6fe9025abc75f8d3ba5256e440802c0398223374f3.css":{"logical_path":"application.css","mtime":"2019-09-21T14:49:04+08:00","size":1988767,"digest":"646b1158a4e8c1f13e684d6fe9025abc75f8d3ba5256e440802c0398223374f3","integrity":"sha256-ZGsRWKTowfE+aE1v6QJavHX407pSVuRAgCwDmCIzdPM="},"admin-a47e37c0ec7cf5f22380249776d1e82d65b6b6aa272ed7389185aa200fa40751.js":{"logical_path":"admin.js","mtime":"2019-09-25T15:33:05+08:00","size":4383107,"digest":"a47e37c0ec7cf5f22380249776d1e82d65b6b6aa272ed7389185aa200fa40751","integrity":"sha256-pH43wOx89fIjgCSXdtHoLWW2tqonLtc4kYWqIA+kB1E="},"admin-432c4eac09b036c57ff1e88d902b8aa7df81164e4b419bac557cf1366c1d3ad9.js":{"logical_path":"admin.js","mtime":"2019-09-25T15:35:20+08:00","size":4383103,"digest":"432c4eac09b036c57ff1e88d902b8aa7df81164e4b419bac557cf1366c1d3ad9","integrity":"sha256-QyxOrAmwNsV/8eiNkCuKp9+BFk5LQZusVXzxNmwdOtk="},"admin-978e5ce607f77c26814a174f480da79ac246c2201868ef84654aa03bb6727b5a.js":{"logical_path":"admin.js","mtime":"2019-09-30T14:43:41+08:00","size":4387200,"digest":"978e5ce607f77c26814a174f480da79ac246c2201868ef84654aa03bb6727b5a","integrity":"sha256-l45c5gf3fCaBShdPSA2nmsJGwiAYaO+EZUqgO7Zye1o="},"admin-896281f4731722b0c084dbb1af21d0f34a5bc142d58aff57b391864ab71ddca7.css":{"logical_path":"admin.css","mtime":"2019-09-30T14:43:41+08:00","size":842269,"digest":"896281f4731722b0c084dbb1af21d0f34a5bc142d58aff57b391864ab71ddca7","integrity":"sha256-iWKB9HMXIrDAhNuxryHQ80pbwULViv9Xs5GGSrcd3Kc="},"application-97f313e9bb7d25476649f7d7215959cf421480fd0a3785d1956953bf94a1e8bd.css":{"logical_path":"application.css","mtime":"2019-09-30T14:43:41+08:00","size":1993118,"digest":"97f313e9bb7d25476649f7d7215959cf421480fd0a3785d1956953bf94a1e8bd","integrity":"sha256-l/MT6bt9JUdmSffXIVlZz0IUgP0KN4XRlWlTv5Sh6L0="},"admin-2cdb23442fa735025385b88f2900df04fef38b61530041a6dbe375ef0f0ae888.js":{"logical_path":"admin.js","mtime":"2019-10-11T14:38:33+08:00","size":4394616,"digest":"2cdb23442fa735025385b88f2900df04fef38b61530041a6dbe375ef0f0ae888","integrity":"sha256-LNsjRC+nNQJThbiPKQDfBP7zi2FTAEGm2+N17w8K6Ig="},"admin-2c2854b9a02158ded5a809aaf7144a8630b10354ab4e56fecc4dffcc713796cc.css":{"logical_path":"admin.css","mtime":"2019-10-10T17:12:05+08:00","size":846514,"digest":"2c2854b9a02158ded5a809aaf7144a8630b10354ab4e56fecc4dffcc713796cc","integrity":"sha256-LChUuaAhWN7VqAmq9xRKhjCxA1SrTlb+zE3/zHE3lsw="},"application-50059ae929866043b47015128702fcfba53d32a2df148e64e1d961c10651c6af.css":{"logical_path":"application.css","mtime":"2019-10-10T17:12:05+08:00","size":2001607,"digest":"50059ae929866043b47015128702fcfba53d32a2df148e64e1d961c10651c6af","integrity":"sha256-UAWa6SmGYEO0cBUShwL8+6U9MqLfFI5k4dlhwQZRxq8="},"admin-992cde09b6d17f00a49576ae2d9f1ced127244ba401ef5b7d677cab9741688d2.js":{"logical_path":"admin.js","mtime":"2019-10-16T16:11:32+08:00","size":4394790,"digest":"992cde09b6d17f00a49576ae2d9f1ced127244ba401ef5b7d677cab9741688d2","integrity":"sha256-mSzeCbbRfwCklXauLZ8c7RJyRLpAHvW31nfKuXQWiNI="},"admin-84f2a7791e275d6f820514370b3f968176b994b9dd7b8c3ba8bf48336b03f257.css":{"logical_path":"admin.css","mtime":"2019-10-16T19:25:40+08:00","size":846676,"digest":"84f2a7791e275d6f820514370b3f968176b994b9dd7b8c3ba8bf48336b03f257","integrity":"sha256-hPKneR4nXW+CBRQ3Cz+WgXa5lLnde4w7qL9IM2sD8lc="},"application-ef6bab84852baaf69a91fe6af875b6e1b118c55b4c7d165665c488fac80c4997.css":{"logical_path":"application.css","mtime":"2019-10-16T19:25:40+08:00","size":2001931,"digest":"ef6bab84852baaf69a91fe6af875b6e1b118c55b4c7d165665c488fac80c4997","integrity":"sha256-72urhIUrqvaakf5q+HW24bEYxVtMfRZWZcSI+sgMSZc="},"admin-c99030d305662f740aa84b6c925a1adbbaadaa07fd74e2655e64d44b4b97fc4a.js":{"logical_path":"admin.js","mtime":"2019-10-17T09:44:58+08:00","size":4394897,"digest":"c99030d305662f740aa84b6c925a1adbbaadaa07fd74e2655e64d44b4b97fc4a","integrity":"sha256-yZAw0wVmL3QKqEtskloa27qtqgf9dOJlXmTUS0uX/Eo="},"admin-534bde871d67f4d6fc8da611917d78be4066fc7593ba53ee92aa17068a199d6d.css":{"logical_path":"admin.css","mtime":"2019-10-17T10:22:41+08:00","size":846699,"digest":"534bde871d67f4d6fc8da611917d78be4066fc7593ba53ee92aa17068a199d6d","integrity":"sha256-U0vehx1n9Nb8jaYRkX14vkBm/HWTulPukqoXBooZnW0="},"cooperative-04cd6a60d41220d38ee45ce40b1d004e1d0bcd87c132fb1a7bab6144c1deb8d7.js":{"logical_path":"cooperative.js","mtime":"2019-10-17T10:17:56+08:00","size":4330072,"digest":"04cd6a60d41220d38ee45ce40b1d004e1d0bcd87c132fb1a7bab6144c1deb8d7","integrity":"sha256-BM1qYNQSINOO5FzkCx0ATh0LzYfBMvsae6thRMHeuNc="},"cooperative-a345bbfd8e38b70c9285ecc1747012ffcde429187983e2aea5657abb56b9b4f3.css":{"logical_path":"cooperative.css","mtime":"2019-10-17T10:21:41+08:00","size":830628,"digest":"a345bbfd8e38b70c9285ecc1747012ffcde429187983e2aea5657abb56b9b4f3","integrity":"sha256-o0W7/Y44twyShezBdHAS/83kKRh5g+KupWV6u1a5tPM="},"application-0e417478d56f42467e857cd186b29cbbc0d6c7c6e85c8a6f42f39ac618943de8.css":{"logical_path":"application.css","mtime":"2019-09-03T08:55:53+08:00","size":442932,"digest":"0e417478d56f42467e857cd186b29cbbc0d6c7c6e85c8a6f42f39ac618943de8","integrity":"sha256-DkF0eNVvQkZ+hXzRhrKcu8DWx8boXIpvQvOaxhiUPeg="},"cooperative-149f47b8675d60a8014ccff50f00f932ff69e2be286ffb74343bc4a3effb135b.js":{"logical_path":"cooperative.js","mtime":"2019-10-17T14:03:03+08:00","size":4338033,"digest":"149f47b8675d60a8014ccff50f00f932ff69e2be286ffb74343bc4a3effb135b","integrity":"sha256-FJ9HuGddYKgBTM/1DwD5Mv9p4r4ob/t0NDvEo+/7E1s="},"cooperative-6273b766d6ef11dd56174d868bab55e7f17af17546c888d2ba0dd0a6bcda76c8.css":{"logical_path":"cooperative.css","mtime":"2019-10-17T11:13:07+08:00","size":832914,"digest":"6273b766d6ef11dd56174d868bab55e7f17af17546c888d2ba0dd0a6bcda76c8","integrity":"sha256-YnO3ZtbvEd1WF02Gi6tV5/F68XVGyIjSug3Qprzadsg="},"admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js":{"logical_path":"admin.js","mtime":"2019-10-21T13:51:43+08:00","size":4397012,"digest":"82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6","integrity":"sha256-gvZsyAtWScZTClYlZ/KP6NBfe8O4Ih4GlbIhYlXFK6Y="}},"assets":{"admin.js":"admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js","admin.css":"admin-534bde871d67f4d6fc8da611917d78be4066fc7593ba53ee92aa17068a199d6d.css","font-awesome/fontawesome-webfont.eot":"font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot","font-awesome/fontawesome-webfont.woff2":"font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2","font-awesome/fontawesome-webfont.woff":"font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff","font-awesome/fontawesome-webfont.ttf":"font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf","font-awesome/fontawesome-webfont.svg":"font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg","college.js":"college-18f5e8400331634e898a35acc2187815c096c25e0ab74aba341ae916166cd287.js","college.css":"college-38f953d6ba5b85d3fab63cb3c2bbf0d057ccc6454d07cfaafac3b06da37b8437.css","logo.png":"logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png","application.js":"application-9cfbc3d792599a1d0de5c7b84209e1c2b2e60336f0f01e19f0581663918708fb.js","application.css":"application-0e417478d56f42467e857cd186b29cbbc0d6c7c6e85c8a6f42f39ac618943de8.css","cooperative.js":"cooperative-149f47b8675d60a8014ccff50f00f932ff69e2be286ffb74343bc4a3effb135b.js","cooperative.css":"cooperative-6273b766d6ef11dd56174d868bab55e7f17af17546c888d2ba0dd0a6bcda76c8.css"}} \ No newline at end of file +{"files":{"admin-cd9ca8bacc973ce2dbace30c97f6c40bc08e2c2ee44972f668e738e1902c0121.js":{"logical_path":"admin.js","mtime":"2019-09-11T16:20:07+08:00","size":4350881,"digest":"cd9ca8bacc973ce2dbace30c97f6c40bc08e2c2ee44972f668e738e1902c0121","integrity":"sha256-zZyousyXPOLbrOMMl/bEC8COLC7kSXL2aOc44ZAsASE="},"admin-a1b3356efe50ff4717cf22475639b5333c5354ba03fd107c9b7a8d4ae76f47aa.css":{"logical_path":"admin.css","mtime":"2019-09-11T16:20:07+08:00","size":773445,"digest":"a1b3356efe50ff4717cf22475639b5333c5354ba03fd107c9b7a8d4ae76f47aa","integrity":"sha256-obM1bv5Q/0cXzyJHVjm1MzxTVLoD/RB8m3qNSudvR6o="},"font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot":{"logical_path":"font-awesome/fontawesome-webfont.eot","mtime":"2019-08-14T17:22:43+08:00","size":165742,"digest":"7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979","integrity":"sha256-e/yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk="},"font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2":{"logical_path":"font-awesome/fontawesome-webfont.woff2","mtime":"2019-08-14T17:22:43+08:00","size":77160,"digest":"2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe","integrity":"sha256-Kt78vAQefRj88tQXh53FoJmXqmTWdbejxLbOM9oT8/4="},"font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff":{"logical_path":"font-awesome/fontawesome-webfont.woff","mtime":"2019-08-14T17:22:43+08:00","size":98024,"digest":"ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07","integrity":"sha256-ugxZ3rVFD1y0Gz+TYJ7i0NmVQVh33foiPoqKdTNHTwc="},"font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf":{"logical_path":"font-awesome/fontawesome-webfont.ttf","mtime":"2019-08-14T17:22:43+08:00","size":165548,"digest":"aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8","integrity":"sha256-qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg="},"font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg":{"logical_path":"font-awesome/fontawesome-webfont.svg","mtime":"2019-08-14T17:22:43+08:00","size":444379,"digest":"ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4","integrity":"sha256-rWFXkmwWIrpOHQPUePFUE2hSS/xG9R5C/g2UX37zI+Q="},"college-18f5e8400331634e898a35acc2187815c096c25e0ab74aba341ae916166cd287.js":{"logical_path":"college.js","mtime":"2019-10-17T09:44:58+08:00","size":3352744,"digest":"18f5e8400331634e898a35acc2187815c096c25e0ab74aba341ae916166cd287","integrity":"sha256-GPXoQAMxY06JijWswhh4FcCWwl4Kt0q6NBrpFhZs0oc="},"college-944d4273f62c7538368b9017fdd3387b5e3bea31a87873770eb231324546d4d9.css":{"logical_path":"college.css","mtime":"2019-09-11T16:20:07+08:00","size":546841,"digest":"944d4273f62c7538368b9017fdd3387b5e3bea31a87873770eb231324546d4d9","integrity":"sha256-lE1Cc/YsdTg2i5AX/dM4e1476jGoeHN3DrIxMkVG1Nk="},"logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png":{"logical_path":"logo.png","mtime":"2019-09-03T08:55:53+08:00","size":2816,"digest":"7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423","integrity":"sha256-f/ESVocJv5f5iY/ockm3qPIA/x9I1TfYWvhyFfGHBCM="},"application-9cfbc3d792599a1d0de5c7b84209e1c2b2e60336f0f01e19f0581663918708fb.js":{"logical_path":"application.js","mtime":"2019-10-17T09:44:58+08:00","size":600706,"digest":"9cfbc3d792599a1d0de5c7b84209e1c2b2e60336f0f01e19f0581663918708fb","integrity":"sha256-nPvD15JZmh0N5ce4QgnhwrLmAzbw8B4Z8FgWY5GHCPs="},"application-5eb87c6e13676d0183317debce17fade27e68c4acee28c419438da15d53c94f2.css":{"logical_path":"application.css","mtime":"2019-09-11T16:20:07+08:00","size":1844002,"digest":"5eb87c6e13676d0183317debce17fade27e68c4acee28c419438da15d53c94f2","integrity":"sha256-Xrh8bhNnbQGDMX3rzhf63ifmjErO4oxBlDjaFdU8lPI="},"admin-c9e5ebe6191548550e27514196ea125cfbb402820ec125a0c9acf99d2d378fe4.js":{"logical_path":"admin.js","mtime":"2019-09-21T15:28:08+08:00","size":4382031,"digest":"c9e5ebe6191548550e27514196ea125cfbb402820ec125a0c9acf99d2d378fe4","integrity":"sha256-yeXr5hkVSFUOJ1FBluoSXPu0AoIOwSWgyaz5nS03j+Q="},"admin-59c59f8cae8bef4a8359286c985458110c9d03ea121516595c988943f4717c38.css":{"logical_path":"admin.css","mtime":"2019-09-21T14:49:04+08:00","size":840093,"digest":"59c59f8cae8bef4a8359286c985458110c9d03ea121516595c988943f4717c38","integrity":"sha256-WcWfjK6L70qDWShsmFRYEQydA+oSFRZZXJiJQ/RxfDg="},"college-38f953d6ba5b85d3fab63cb3c2bbf0d057ccc6454d07cfaafac3b06da37b8437.css":{"logical_path":"college.css","mtime":"2019-09-16T13:56:09+08:00","size":579109,"digest":"38f953d6ba5b85d3fab63cb3c2bbf0d057ccc6454d07cfaafac3b06da37b8437","integrity":"sha256-OPlT1rpbhdP6tjyzwrvw0FfMxkVNB8+q+sOwbaN7hDc="},"application-646b1158a4e8c1f13e684d6fe9025abc75f8d3ba5256e440802c0398223374f3.css":{"logical_path":"application.css","mtime":"2019-09-21T14:49:04+08:00","size":1988767,"digest":"646b1158a4e8c1f13e684d6fe9025abc75f8d3ba5256e440802c0398223374f3","integrity":"sha256-ZGsRWKTowfE+aE1v6QJavHX407pSVuRAgCwDmCIzdPM="},"admin-a47e37c0ec7cf5f22380249776d1e82d65b6b6aa272ed7389185aa200fa40751.js":{"logical_path":"admin.js","mtime":"2019-09-25T15:33:05+08:00","size":4383107,"digest":"a47e37c0ec7cf5f22380249776d1e82d65b6b6aa272ed7389185aa200fa40751","integrity":"sha256-pH43wOx89fIjgCSXdtHoLWW2tqonLtc4kYWqIA+kB1E="},"admin-432c4eac09b036c57ff1e88d902b8aa7df81164e4b419bac557cf1366c1d3ad9.js":{"logical_path":"admin.js","mtime":"2019-09-25T15:35:20+08:00","size":4383103,"digest":"432c4eac09b036c57ff1e88d902b8aa7df81164e4b419bac557cf1366c1d3ad9","integrity":"sha256-QyxOrAmwNsV/8eiNkCuKp9+BFk5LQZusVXzxNmwdOtk="},"admin-978e5ce607f77c26814a174f480da79ac246c2201868ef84654aa03bb6727b5a.js":{"logical_path":"admin.js","mtime":"2019-09-30T14:43:41+08:00","size":4387200,"digest":"978e5ce607f77c26814a174f480da79ac246c2201868ef84654aa03bb6727b5a","integrity":"sha256-l45c5gf3fCaBShdPSA2nmsJGwiAYaO+EZUqgO7Zye1o="},"admin-896281f4731722b0c084dbb1af21d0f34a5bc142d58aff57b391864ab71ddca7.css":{"logical_path":"admin.css","mtime":"2019-09-30T14:43:41+08:00","size":842269,"digest":"896281f4731722b0c084dbb1af21d0f34a5bc142d58aff57b391864ab71ddca7","integrity":"sha256-iWKB9HMXIrDAhNuxryHQ80pbwULViv9Xs5GGSrcd3Kc="},"application-97f313e9bb7d25476649f7d7215959cf421480fd0a3785d1956953bf94a1e8bd.css":{"logical_path":"application.css","mtime":"2019-09-30T14:43:41+08:00","size":1993118,"digest":"97f313e9bb7d25476649f7d7215959cf421480fd0a3785d1956953bf94a1e8bd","integrity":"sha256-l/MT6bt9JUdmSffXIVlZz0IUgP0KN4XRlWlTv5Sh6L0="},"admin-2cdb23442fa735025385b88f2900df04fef38b61530041a6dbe375ef0f0ae888.js":{"logical_path":"admin.js","mtime":"2019-10-11T14:38:33+08:00","size":4394616,"digest":"2cdb23442fa735025385b88f2900df04fef38b61530041a6dbe375ef0f0ae888","integrity":"sha256-LNsjRC+nNQJThbiPKQDfBP7zi2FTAEGm2+N17w8K6Ig="},"admin-2c2854b9a02158ded5a809aaf7144a8630b10354ab4e56fecc4dffcc713796cc.css":{"logical_path":"admin.css","mtime":"2019-10-10T17:12:05+08:00","size":846514,"digest":"2c2854b9a02158ded5a809aaf7144a8630b10354ab4e56fecc4dffcc713796cc","integrity":"sha256-LChUuaAhWN7VqAmq9xRKhjCxA1SrTlb+zE3/zHE3lsw="},"application-50059ae929866043b47015128702fcfba53d32a2df148e64e1d961c10651c6af.css":{"logical_path":"application.css","mtime":"2019-10-10T17:12:05+08:00","size":2001607,"digest":"50059ae929866043b47015128702fcfba53d32a2df148e64e1d961c10651c6af","integrity":"sha256-UAWa6SmGYEO0cBUShwL8+6U9MqLfFI5k4dlhwQZRxq8="},"admin-992cde09b6d17f00a49576ae2d9f1ced127244ba401ef5b7d677cab9741688d2.js":{"logical_path":"admin.js","mtime":"2019-10-16T16:11:32+08:00","size":4394790,"digest":"992cde09b6d17f00a49576ae2d9f1ced127244ba401ef5b7d677cab9741688d2","integrity":"sha256-mSzeCbbRfwCklXauLZ8c7RJyRLpAHvW31nfKuXQWiNI="},"admin-84f2a7791e275d6f820514370b3f968176b994b9dd7b8c3ba8bf48336b03f257.css":{"logical_path":"admin.css","mtime":"2019-10-16T19:25:40+08:00","size":846676,"digest":"84f2a7791e275d6f820514370b3f968176b994b9dd7b8c3ba8bf48336b03f257","integrity":"sha256-hPKneR4nXW+CBRQ3Cz+WgXa5lLnde4w7qL9IM2sD8lc="},"application-ef6bab84852baaf69a91fe6af875b6e1b118c55b4c7d165665c488fac80c4997.css":{"logical_path":"application.css","mtime":"2019-10-16T19:25:40+08:00","size":2001931,"digest":"ef6bab84852baaf69a91fe6af875b6e1b118c55b4c7d165665c488fac80c4997","integrity":"sha256-72urhIUrqvaakf5q+HW24bEYxVtMfRZWZcSI+sgMSZc="},"admin-c99030d305662f740aa84b6c925a1adbbaadaa07fd74e2655e64d44b4b97fc4a.js":{"logical_path":"admin.js","mtime":"2019-10-17T09:44:58+08:00","size":4394897,"digest":"c99030d305662f740aa84b6c925a1adbbaadaa07fd74e2655e64d44b4b97fc4a","integrity":"sha256-yZAw0wVmL3QKqEtskloa27qtqgf9dOJlXmTUS0uX/Eo="},"admin-534bde871d67f4d6fc8da611917d78be4066fc7593ba53ee92aa17068a199d6d.css":{"logical_path":"admin.css","mtime":"2019-10-17T10:22:41+08:00","size":846699,"digest":"534bde871d67f4d6fc8da611917d78be4066fc7593ba53ee92aa17068a199d6d","integrity":"sha256-U0vehx1n9Nb8jaYRkX14vkBm/HWTulPukqoXBooZnW0="},"cooperative-04cd6a60d41220d38ee45ce40b1d004e1d0bcd87c132fb1a7bab6144c1deb8d7.js":{"logical_path":"cooperative.js","mtime":"2019-10-17T10:17:56+08:00","size":4330072,"digest":"04cd6a60d41220d38ee45ce40b1d004e1d0bcd87c132fb1a7bab6144c1deb8d7","integrity":"sha256-BM1qYNQSINOO5FzkCx0ATh0LzYfBMvsae6thRMHeuNc="},"cooperative-a345bbfd8e38b70c9285ecc1747012ffcde429187983e2aea5657abb56b9b4f3.css":{"logical_path":"cooperative.css","mtime":"2019-10-17T10:21:41+08:00","size":830628,"digest":"a345bbfd8e38b70c9285ecc1747012ffcde429187983e2aea5657abb56b9b4f3","integrity":"sha256-o0W7/Y44twyShezBdHAS/83kKRh5g+KupWV6u1a5tPM="},"application-0e417478d56f42467e857cd186b29cbbc0d6c7c6e85c8a6f42f39ac618943de8.css":{"logical_path":"application.css","mtime":"2019-09-03T08:55:53+08:00","size":442932,"digest":"0e417478d56f42467e857cd186b29cbbc0d6c7c6e85c8a6f42f39ac618943de8","integrity":"sha256-DkF0eNVvQkZ+hXzRhrKcu8DWx8boXIpvQvOaxhiUPeg="},"cooperative-149f47b8675d60a8014ccff50f00f932ff69e2be286ffb74343bc4a3effb135b.js":{"logical_path":"cooperative.js","mtime":"2019-10-17T14:03:03+08:00","size":4338033,"digest":"149f47b8675d60a8014ccff50f00f932ff69e2be286ffb74343bc4a3effb135b","integrity":"sha256-FJ9HuGddYKgBTM/1DwD5Mv9p4r4ob/t0NDvEo+/7E1s="},"cooperative-6273b766d6ef11dd56174d868bab55e7f17af17546c888d2ba0dd0a6bcda76c8.css":{"logical_path":"cooperative.css","mtime":"2019-10-17T11:13:07+08:00","size":832914,"digest":"6273b766d6ef11dd56174d868bab55e7f17af17546c888d2ba0dd0a6bcda76c8","integrity":"sha256-YnO3ZtbvEd1WF02Gi6tV5/F68XVGyIjSug3Qprzadsg="},"admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js":{"logical_path":"admin.js","mtime":"2019-10-21T13:51:43+08:00","size":4397012,"digest":"82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6","integrity":"sha256-gvZsyAtWScZTClYlZ/KP6NBfe8O4Ih4GlbIhYlXFK6Y="},"admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js":{"logical_path":"admin.js","mtime":"2019-10-21T16:41:06+08:00","size":4397437,"digest":"1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec","integrity":"sha256-G1co2U9rzPvO9FKnYNlMO28xlmvGXX+Jvgd/wupRK+w="}},"assets":{"admin.js":"admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js","admin.css":"admin-534bde871d67f4d6fc8da611917d78be4066fc7593ba53ee92aa17068a199d6d.css","font-awesome/fontawesome-webfont.eot":"font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot","font-awesome/fontawesome-webfont.woff2":"font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2","font-awesome/fontawesome-webfont.woff":"font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff","font-awesome/fontawesome-webfont.ttf":"font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf","font-awesome/fontawesome-webfont.svg":"font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg","college.js":"college-18f5e8400331634e898a35acc2187815c096c25e0ab74aba341ae916166cd287.js","college.css":"college-38f953d6ba5b85d3fab63cb3c2bbf0d057ccc6454d07cfaafac3b06da37b8437.css","logo.png":"logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png","application.js":"application-9cfbc3d792599a1d0de5c7b84209e1c2b2e60336f0f01e19f0581663918708fb.js","application.css":"application-0e417478d56f42467e857cd186b29cbbc0d6c7c6e85c8a6f42f39ac618943de8.css","cooperative.js":"cooperative-149f47b8675d60a8014ccff50f00f932ff69e2be286ffb74343bc4a3effb135b.js","cooperative.css":"cooperative-6273b766d6ef11dd56174d868bab55e7f17af17546c888d2ba0dd0a6bcda76c8.css"}} \ No newline at end of file diff --git a/public/assets/admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js b/public/assets/admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js similarity index 99% rename from public/assets/admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js rename to public/assets/admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js index 3298a4984..1c9d07222 100644 --- a/public/assets/admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js +++ b/public/assets/admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js @@ -135709,11 +135709,24 @@ $(document).on('turbolinks:load', function() { } }); + // 清空 $form.on('click', '.clear-btn', function(){ $form.find('select[name="date"]').val(''); $form.find('.school-select').val('').trigger('change'); $form.find('input[type="submit"]').trigger('click'); }) + + + // 导出 + $('.export-action').on('click', function(){ + var form = $(".user-statistic-list-form .search-form") + var exportLink = $(this); + var date = form.find("select[name='date']").val(); + var schoolId = form.find('input[name="school_id"]').val(); + + var url = exportLink.data("url").split('?')[0] + "?date=" + date + "&school_id=" + schoolId; + window.open(url); + }); } }); $(document).on('turbolinks:load', function() { diff --git a/public/assets/admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js.gz b/public/assets/admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js.gz similarity index 98% rename from public/assets/admin-82f66cc80b5649c6530a562567f28fe8d05f7bc3b8221e0695b2216255c52ba6.js.gz rename to public/assets/admin-1b5728d94f6bccfbcef452a760d94c3b6f31966bc65d7f89be077fc2ea512bec.js.gz index b7bf437da44a43ffbb147646f847be39f373514a..519d4b32f2b50587740e213c03763515e552ac36 100644 GIT binary patch delta 11649 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 LS>FeMeHlXlKV!2t delta 11530 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