educode_sales 0.9.1 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/educode_sales/application_controller.rb +3 -1
  3. data/app/controllers/educode_sales/sale_trends_controller.rb +266 -253
  4. data/app/controllers/educode_sales/sessions_controller.rb +1 -0
  5. data/app/controllers/educode_sales/user_behaviors_controller.rb +26 -0
  6. data/app/models/educode_sales/login_history.rb +5 -0
  7. data/app/models/educode_sales/sale_trend.rb +2 -0
  8. data/app/models/educode_sales/staff.rb +22 -0
  9. data/app/views/educode_sales/businesses/get_export_data.json.jbuilder +1 -1
  10. data/app/views/educode_sales/sale_trends/_business_area.html.erb +83 -0
  11. data/app/views/educode_sales/sale_trends/_business_followup_analysis.html.erb +110 -0
  12. data/app/views/educode_sales/sale_trends/_sales_analysis.html.erb +121 -0
  13. data/app/views/educode_sales/sale_trends/_sales_followup_analysis.html.erb +106 -0
  14. data/app/views/educode_sales/sale_trends/business_area.js.erb +1 -0
  15. data/app/views/educode_sales/sale_trends/business_followup_analysis.js.erb +1 -0
  16. data/app/views/educode_sales/sale_trends/sales_analysis.js.erb +1 -0
  17. data/app/views/educode_sales/sale_trends/sales_followup_analysis.js.erb +1 -0
  18. data/app/views/educode_sales/sale_trends/trends.html.erb +214 -548
  19. data/app/views/educode_sales/user_behaviors/index.html.erb +80 -0
  20. data/app/views/educode_sales/user_behaviors/index.json.jbuilder +13 -0
  21. data/app/views/layouts/educode_sales/application.html.erb +6 -1
  22. data/config/routes.rb +5 -1
  23. data/db/migrate/20220827130438_create_educode_sales_login_histories.rb +13 -0
  24. data/lib/educode_sales/version.rb +1 -1
  25. metadata +19 -7
  26. data/app/assets/images/educode_sales/indexlogo.png +0 -0
@@ -0,0 +1,80 @@
1
+ <script type="text/html" id="user_behaviors_topbar">
2
+ <div class="layui-btn-container">
3
+ <span class="table-label">行为分析</span>
4
+ </div>
5
+ </script>
6
+ <div class="min-height-table">
7
+ <table class="layui-hide" id="user_behaviors_table" lay-filter="user_behaviors_table"></table>
8
+ </div>
9
+
10
+ <script>
11
+ layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
12
+ var $ = layui.jquery,
13
+ form = layui.form,
14
+ table = layui.table,
15
+ request = layui.request,
16
+ miniPage = layui.miniPage;
17
+
18
+ table.render({
19
+ elem: '#user_behaviors_table',
20
+ url: '/missions/user_behaviors',
21
+ totalRow:true,
22
+ toolbar: '#user_behaviors_topbar',
23
+ defaultToolbar: [],
24
+ cols: [
25
+ [
26
+ {
27
+ field: 'id',
28
+ title:'序号',
29
+ type: 'numbers',
30
+ width: 60
31
+ },
32
+ {
33
+ field: 'name',
34
+ title: '用户名',
35
+ width: 120,
36
+ sort: true,
37
+ },
38
+ {
39
+ field: 'last_ip',
40
+ title: '上次登录IP',
41
+ width: 120
42
+ },
43
+ {
44
+ field: 'current_ip',
45
+ title: '当前登录IP',
46
+ width: 120
47
+ },
48
+ {
49
+ field: 'last_login_at',
50
+ width: 200,
51
+ title: '上次登录时间',
52
+ sort: true,
53
+ },
54
+ {
55
+ field: 'created_at',
56
+ width: 200,
57
+ title: '当前登录时间',
58
+ sort: true,
59
+ }
60
+ ]
61
+ ],
62
+ limit: 20,
63
+ limits: [10,15,20,30,40,50,60,70,80,90],
64
+ page: true
65
+ });
66
+
67
+ var sort = {};
68
+ table.on('sort(user_behaviors_table)', function (obj) {
69
+ sort.field = obj.field;
70
+ sort.order = obj.type;
71
+ table.reload('user_behaviors_table', {
72
+ initSort: obj,
73
+ where: {
74
+ sort: sort
75
+ }
76
+ });
77
+ })
78
+
79
+ });
80
+ </script>
@@ -0,0 +1,13 @@
1
+ json.data do
2
+ json.array! @data do |d|
3
+ json.id d.id
4
+ json.last_login_at d.last_login_at.to_s
5
+ json.created_at d.created_at.to_s
6
+ json.last_ip d.last_ip
7
+ json.current_ip d.current_ip
8
+ json.name d.staff&.user&.real_name
9
+ end
10
+ end
11
+
12
+ json.code 0
13
+ json.count @data.total_count
@@ -121,13 +121,18 @@
121
121
  <% end %>
122
122
  </dl>
123
123
  </li>
124
- <% if @current_admin.is_admin %>
124
+ <% if @current_admin.is_admin || @current_admin.code == 'userbe' %>
125
125
  <li class="layui-nav-item layui-nav-itemed menu-li">
126
126
  <a class="" href="javascript:;"><b><%= image_tag "educode_sales/13.系统设置.png",size:"15"%><i style="font-size: 25px; padding-right: 25px"></i>系统设置</b></a>
127
127
  <dl class="layui-nav-child">
128
+ <% if @current_admin.is_admin %>
128
129
  <dd><a href="/missions/roles" class="<%= current?('layui-this', roles_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/14.角色管理.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>角色管理</a></dd>
129
130
  <dd><a href="/missions/staffs" class="<%= current?('layui-this', staffs_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/15.人员管理.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>人员管理</a></dd>
130
131
  <dd><a href="/missions/commons" class="<%= current?('layui-this', commons_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/16.字典列表.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>字典列表</a></dd>
132
+ <% end %>
133
+ <% if @current_admin.code == 'userbe' %>
134
+ <dd><a href="/missions/user_behaviors" class="<%= current?('layui-this', user_behaviors_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/9.运营分工.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>行为分析</a></dd>
135
+ <% end %>
131
136
  </dl>
132
137
  </li>
133
138
  <% end %>
data/config/routes.rb CHANGED
@@ -19,7 +19,7 @@ EducodeSales::Engine.routes.draw do
19
19
  resources :sessions do
20
20
  end
21
21
 
22
-
22
+ resources :user_behaviors
23
23
  resources :customer_extensions do
24
24
  end
25
25
  resources :customer_follows do
@@ -81,6 +81,10 @@ EducodeSales::Engine.routes.draw do
81
81
  collection do
82
82
  get :trends
83
83
  post :sale_trends
84
+ get :business_followup_analysis
85
+ get :sales_analysis
86
+ get :business_area
87
+ get :sales_followup_analysis
84
88
  end
85
89
  end
86
90
 
@@ -0,0 +1,13 @@
1
+ class CreateEducodeSalesLoginHistories < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :educode_sales_login_histories do |t|
4
+ t.references :staff
5
+ t.string :last_ip
6
+ t.string :current_ip
7
+ t.datetime :last_login_at
8
+
9
+ t.timestamps
10
+ end
11
+ add_column :educode_sales_staffs, :code, :string, comment: '特别业务权限用途'
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module EducodeSales
2
- VERSION = '0.9.1'
2
+ VERSION = '0.9.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: educode_sales
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - anke1460
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-30 00:00:00.000000000 Z
11
+ date: 2022-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -105,7 +105,6 @@ files:
105
105
  - app/assets/images/educode_sales/icon-login.png
106
106
  - app/assets/images/educode_sales/icon.png
107
107
  - app/assets/images/educode_sales/indexLogo.png
108
- - app/assets/images/educode_sales/indexlogo.png
109
108
  - app/assets/images/educode_sales/loading-0.gif
110
109
  - app/assets/images/educode_sales/loading-1.gif
111
110
  - app/assets/images/educode_sales/loading-2.gif
@@ -168,6 +167,7 @@ files:
168
167
  - app/controllers/educode_sales/teacher_follows_controller.rb
169
168
  - app/controllers/educode_sales/teachers_controller.rb
170
169
  - app/controllers/educode_sales/upload_files_controller.rb
170
+ - app/controllers/educode_sales/user_behaviors_controller.rb
171
171
  - app/helpers/educode_sales/activities_helper.rb
172
172
  - app/helpers/educode_sales/application_helper.rb
173
173
  - app/helpers/educode_sales/assessments_help.rb
@@ -197,6 +197,7 @@ files:
197
197
  - app/models/educode_sales/filter.rb
198
198
  - app/models/educode_sales/follow_up.rb
199
199
  - app/models/educode_sales/key_person.rb
200
+ - app/models/educode_sales/login_history.rb
200
201
  - app/models/educode_sales/market_area.rb
201
202
  - app/models/educode_sales/money_plan.rb
202
203
  - app/models/educode_sales/operation_plan.rb
@@ -364,7 +365,15 @@ files:
364
365
  - app/views/educode_sales/sale_reports/index.json.jbuilder
365
366
  - app/views/educode_sales/sale_reports/plans.json.jbuilder
366
367
  - app/views/educode_sales/sale_reports/show.html.erb
368
+ - app/views/educode_sales/sale_trends/_business_area.html.erb
369
+ - app/views/educode_sales/sale_trends/_business_followup_analysis.html.erb
370
+ - app/views/educode_sales/sale_trends/_sales_analysis.html.erb
371
+ - app/views/educode_sales/sale_trends/_sales_followup_analysis.html.erb
372
+ - app/views/educode_sales/sale_trends/business_area.js.erb
373
+ - app/views/educode_sales/sale_trends/business_followup_analysis.js.erb
367
374
  - app/views/educode_sales/sale_trends/operations.html.erb
375
+ - app/views/educode_sales/sale_trends/sales_analysis.js.erb
376
+ - app/views/educode_sales/sale_trends/sales_followup_analysis.js.erb
368
377
  - app/views/educode_sales/sale_trends/trends.html.erb
369
378
  - app/views/educode_sales/sale_trends/trends.json.jbuilder
370
379
  - app/views/educode_sales/sales/index.html.erb
@@ -401,6 +410,8 @@ files:
401
410
  - app/views/educode_sales/teachers/show_follow_record.html.erb
402
411
  - app/views/educode_sales/teachers/unfinish_plans.json.jbuilder
403
412
  - app/views/educode_sales/upload_files/index.json.jbuilder
413
+ - app/views/educode_sales/user_behaviors/index.html.erb
414
+ - app/views/educode_sales/user_behaviors/index.json.jbuilder
404
415
  - app/views/layouts/educode_sales/application.html.erb
405
416
  - app/views/layouts/educode_sales/login.html.erb
406
417
  - config/locales/sale.zh-CN.yml
@@ -461,6 +472,7 @@ files:
461
472
  - db/migrate/20220512031715_add_column_o_business_deployment_to_follow_ups.rb
462
473
  - db/migrate/20220523023609_update_assessment_month_column_to_assessment_settings.rb
463
474
  - db/migrate/20220523101628_update_column_to_follow_ups.rb
475
+ - db/migrate/20220827130438_create_educode_sales_login_histories.rb
464
476
  - lib/educode_sales.rb
465
477
  - lib/educode_sales/engine.rb
466
478
  - lib/educode_sales/version.rb
@@ -469,7 +481,7 @@ homepage: https://www.educoder.net
469
481
  licenses:
470
482
  - MIT
471
483
  metadata: {}
472
- post_install_message:
484
+ post_install_message:
473
485
  rdoc_options: []
474
486
  require_paths:
475
487
  - lib
@@ -484,8 +496,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
484
496
  - !ruby/object:Gem::Version
485
497
  version: '0'
486
498
  requirements: []
487
- rubygems_version: 3.0.9
488
- signing_key:
499
+ rubygems_version: 3.0.0
500
+ signing_key:
489
501
  specification_version: 4
490
502
  summary: Summary of EducodeSales.
491
503
  test_files: []