educode_sales 0.5.5 → 0.5.9

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/educode_sales//345/256/242/346/210/267/347/256/241/347/220/206.png +0 -0
  3. data/app/controllers/educode_sales/businesses_controller.rb +20 -1
  4. data/app/controllers/educode_sales/customer_extensions_controller.rb +17 -0
  5. data/app/controllers/educode_sales/customer_follows_controller.rb +41 -0
  6. data/app/controllers/educode_sales/customers_controller.rb +194 -0
  7. data/app/controllers/educode_sales/follow_ups_controller.rb +58 -1
  8. data/app/controllers/educode_sales/home_controller.rb +18 -2
  9. data/app/controllers/educode_sales/roles_controller.rb +4 -1
  10. data/app/controllers/educode_sales/sale_trends_controller.rb +19 -9
  11. data/app/controllers/educode_sales/sales_controller.rb +3 -0
  12. data/app/controllers/educode_sales/teachers_controller.rb +41 -14
  13. data/app/models/educode_sales/customer.rb +4 -0
  14. data/app/models/educode_sales/customer_extension.rb +7 -0
  15. data/app/models/educode_sales/customer_follow.rb +5 -0
  16. data/app/models/educode_sales/permission.rb +2 -1
  17. data/app/models/educode_sales/role_area.rb +1 -0
  18. data/app/models/educode_sales/teacher.rb +2 -1
  19. data/app/models/educode_sales/teacher_assign_follow.rb +6 -0
  20. data/app/views/educode_sales/activities/index.html.erb +4 -5
  21. data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
  22. data/app/views/educode_sales/businesses/_follows.html.erb +258 -0
  23. data/app/views/educode_sales/businesses/edit_follow_record.html.erb +69 -6
  24. data/app/views/educode_sales/businesses/index.html.erb +155 -66
  25. data/app/views/educode_sales/businesses/index.json.jbuilder +1 -1
  26. data/app/views/educode_sales/businesses/new.html.erb +3 -0
  27. data/app/views/educode_sales/businesses/new_follow_record.html.erb +70 -6
  28. data/app/views/educode_sales/businesses/show_follow.html.erb +15 -10
  29. data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -0
  30. data/app/views/educode_sales/businesses/show_follow_record.html.erb +8 -0
  31. data/app/views/educode_sales/businesses/time_line.html.erb +1 -1
  32. data/app/views/educode_sales/customers/edit.html.erb +60 -0
  33. data/app/views/educode_sales/customers/edit_department.html.erb +52 -0
  34. data/app/views/educode_sales/customers/edit_follow_record.html.erb +50 -0
  35. data/app/views/educode_sales/customers/give.html.erb +51 -0
  36. data/app/views/educode_sales/customers/index.html.erb +485 -0
  37. data/app/views/educode_sales/customers/index.json.jbuilder +25 -0
  38. data/app/views/educode_sales/customers/new.html.erb +89 -0
  39. data/app/views/educode_sales/customers/new_department.html.erb +53 -0
  40. data/app/views/educode_sales/customers/new_follow_record.html.erb +54 -0
  41. data/app/views/educode_sales/customers/show_department.json.jbuilder +13 -0
  42. data/app/views/educode_sales/customers/show_follow.html.erb +439 -0
  43. data/app/views/educode_sales/customers/show_follow.json.jbuilder +13 -0
  44. data/app/views/educode_sales/customers/show_follow_record.html.erb +17 -0
  45. data/app/views/educode_sales/follow_ups/index.json.jbuilder +20 -0
  46. data/app/views/educode_sales/home/sales_place.json.jbuilder +9 -0
  47. data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +6 -0
  48. data/app/views/educode_sales/operation_plans/_monthly.html.erb +2 -0
  49. data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +6 -0
  50. data/app/views/educode_sales/operation_plans/_weekly.html.erb +2 -0
  51. data/app/views/educode_sales/places/index.json.jbuilder +1 -1
  52. data/app/views/educode_sales/plans/_monthPlan.html.erb +5 -0
  53. data/app/views/educode_sales/plans/_monthly.html.erb +1 -0
  54. data/app/views/educode_sales/plans/_weekPlan.html.erb +5 -0
  55. data/app/views/educode_sales/plans/_weekly.html.erb +1 -0
  56. data/app/views/educode_sales/recycles/index.html.erb +1 -1
  57. data/app/views/educode_sales/roles/edit.html.erb +8 -0
  58. data/app/views/educode_sales/sale_trends/trends.html.erb +2 -2
  59. data/app/views/educode_sales/sales/index.html.erb +58 -19
  60. data/app/views/educode_sales/sales/index.json.jbuilder +31 -16
  61. data/app/views/educode_sales/sales/operations.html.erb +4 -1
  62. data/app/views/educode_sales/teachers/course_list.json.jbuilder +1 -1
  63. data/app/views/educode_sales/teachers/edit.html.erb +53 -7
  64. data/app/views/educode_sales/teachers/index.html.erb +42 -3
  65. data/app/views/educode_sales/teachers/index.json.jbuilder +6 -3
  66. data/app/views/educode_sales/teachers/new.html.erb +55 -17
  67. data/app/views/educode_sales/teachers/show_follow.html.erb +10 -5
  68. data/app/views/educode_sales/teachers/show_follow.json.jbuilder +1 -0
  69. data/app/views/layouts/educode_sales/application.html.erb +8 -1
  70. data/config/routes.rb +26 -0
  71. data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +15 -0
  72. data/db/migrate/20211201023750_create_educode_sales_teacher_assign_follows.rb +11 -0
  73. data/db/migrate/20211206054756_add_year_to_follow_ups.rb +5 -0
  74. data/db/migrate/20211214100803_create_customer_extensions.rb +9 -0
  75. data/db/migrate/20211215025029_create_educode_sales_customer_follows.rb +12 -0
  76. data/lib/educode_sales/version.rb +1 -1
  77. metadata +30 -2
@@ -4,8 +4,8 @@ json.data do
4
4
  json.array! @teachers do |d|
5
5
  json.id d.id
6
6
  json.name d.name
7
- json.department d.department&.name
8
- json.school d.department&.school&.name
7
+ json.department d.department&.name || ""
8
+ json.school d.department&.school&.name || ""
9
9
  json.professional_title d.professional_title
10
10
  json.job d.job
11
11
  json.user_id d.user_id
@@ -19,8 +19,11 @@ json.data do
19
19
  json.actives d.actives
20
20
  json.students d.students_count
21
21
  json.regist_at d.user.present? ? d.user.created_on.to_s(:date) : ''
22
+ json.last_login_on (d.user.present? && d.user.last_login_on.present?) ? d.user.last_login_on.to_s(:date) : ''
22
23
  json.teacher_used d.teacher_used
23
-
24
+ json.wechat d.wechat
25
+ json.created_at d.created_at.to_s(:date)
26
+ json.teacher_assist d.teacher_assign_follows.map{|t| t.staff.user.real_name}.join(',')
24
27
  teacher_follows_count += d.teacher_follows_count
25
28
  courses_counts += d.courses_count
26
29
  end
@@ -5,6 +5,8 @@
5
5
  <label class="layui-form-label required">姓名</label>
6
6
  <div class="layui-input-block" id="add_teacher" style="width: 400px"></div>
7
7
  </div>
8
+ </div>
9
+ <div class="layui-block">
8
10
  <div class="layui-inline">
9
11
  <label class="layui-form-label required">单位/部门</label>
10
12
  <div class="layui-input-block" id="add_department" style="width: 400px"></div>
@@ -12,34 +14,38 @@
12
14
  </div>
13
15
  <div class="layui-block">
14
16
  <div class="layui-inline">
15
- <label class="layui-form-label required">职称</label>
17
+ <label class="layui-form-label ">职称</label>
16
18
  <div class="layui-input-block">
17
- <%= select_tag "professional_title", options_for_select(['教授', '研究员', '副教授', '副研究员', '讲师', '助理研究员', '助理教授'], @person&.professional_title), { include_blank: true, "lay-verify": "required"} %>
19
+ <%= select_tag "professional_title", options_for_select(['教授', '研究员', '副教授', '副研究员', '讲师', '助理研究员', '助理教授'], @person&.professional_title), { include_blank: true} %>
18
20
  </div>
19
21
  </div>
20
- </div>
21
- <div class="layui-block">
22
22
  <div class="layui-inline">
23
- <label class="layui-form-label required">职务</label>
23
+ <label class="layui-form-label ">职务</label>
24
24
  <div class="layui-input-block" style="width: 188px;">
25
- <input type="text" name="job" autocomplete="off" lay-verify="required" class="layui-input" placeholder="请输入职务">
25
+ <input type="text" name="job" autocomplete="off" class="layui-input" placeholder="请输入职务">
26
26
  </div>
27
27
  </div>
28
28
  </div>
29
29
  <div class="layui-block">
30
30
  <div class="layui-inline">
31
- <label class="layui-form-label required">来源</label>
31
+ <label class="layui-form-label ">来源</label>
32
+ <div class="layui-input-block">
33
+ <%= select_tag "source_id", options_for_select(EducodeSales::Common.where(clazz: 'teacher_source').pluck(:name, :id)), { include_blank: true } %>
34
+ </div>
35
+ </div>
36
+ <div class="layui-inline">
37
+ <label class="layui-form-label ">微信号</label>
32
38
  <div class="layui-input-block">
33
- <%= select_tag "source_id", options_for_select(EducodeSales::Common.where(clazz: 'teacher_source').pluck(:name, :id)), { include_blank: true, "lay-verify": "required" } %>
39
+ <input type="text" name="wechat" autocomplete="off" class="layui-input" placeholder="请输入微信号">
34
40
  </div>
35
41
  </div>
36
42
  </div>
37
-
38
- <!-- <br>
39
- <div class="layui-inline">
40
- <label class="layui-form-label ">账号</label>
41
- <div class="layui-input-block" id="search_teachers" style="width: 300px;"></div>
42
- </div> -->
43
+ <div class="layui-form-item">
44
+ <label class="layui-form-label">教研助理</label>
45
+ <div class="layui-input-inline" style="z-index: 100">
46
+ <div id="teacher_assist" style="width: 400px;"></div>
47
+ </div>
48
+ </div>
43
49
  <div class="layui-form-item m-t-20">
44
50
  <div class="layui-input-block">
45
51
  <button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="create_teachers"
@@ -47,9 +53,6 @@
47
53
  </button>
48
54
  </div>
49
55
  </div>
50
- <!-- <div class="layui-block">
51
- <button class="layui-btn layui-btn-normal" lay-submit lay-filter="create_teachers">提交</button>
52
- </div> -->
53
56
  </div>
54
57
  </div>
55
58
  <script>
@@ -58,12 +61,42 @@
58
61
  layer = layui.layer,
59
62
  table = layui.table,
60
63
  laytpl = layui.laytpl,
64
+ xmSelect = layui.xmSelect,
61
65
  request = layui.request,
62
66
  $ = layui.$;
63
67
  selectInput = layui.selectInput;
64
68
 
65
69
  form.render();
66
70
 
71
+ var teacher_assist_list = xmSelect.render({
72
+ el: '#teacher_assist',
73
+ remoteSearch: true,
74
+ clickClose: true,
75
+ delay: 1000,
76
+ paging: true,
77
+ pageRemote: true,
78
+ filterable: true,
79
+ remoteMethod: function (val, cb, show, pageIndex) {
80
+ $.ajax( '/missions/sales_staff?teacher_assist=true', {
81
+ method: 'get',
82
+ data: {
83
+ q: val,
84
+ page: pageIndex
85
+ },
86
+ dataType: 'json',
87
+ success: function (res) {
88
+ var data = res.data;
89
+ if (res.code == 0) {
90
+ cb(res.data, res.count);
91
+ } else {
92
+ layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
93
+ }
94
+
95
+ }
96
+ })
97
+ }
98
+ })
99
+
67
100
  var add_teacher = selectInput.render({
68
101
  elem: '#add_teacher',
69
102
  name: 'name', // 渲染的input的name值
@@ -141,6 +174,11 @@
141
174
 
142
175
  //监听提交
143
176
  form.on('submit(create_teachers)', function (data) {
177
+ var teacher_assist = [];
178
+ teacher_assist_list.getValue().forEach(function(d) {
179
+ teacher_assist.push(d.value);
180
+ })
181
+ data.field.teacher_assist = teacher_assist;
144
182
  data.field.user_id = user_id;
145
183
  data.field.department_id = department_id;
146
184
  data.field.activity_id = parent.activity_id;
@@ -42,7 +42,7 @@
42
42
  [
43
43
  {
44
44
  field: 'id',
45
- width: 100,
45
+ width: 60,
46
46
  title:'序号',type: 'numbers',
47
47
  },
48
48
  {
@@ -53,26 +53,31 @@
53
53
  },
54
54
  {
55
55
  field: 'teacher_attitude',
56
- width: 120,
56
+ width: 100,
57
57
  title: '教师态度',
58
58
  },
59
59
  {
60
60
  field: 'contact',
61
- width: 120,
61
+ width: 100,
62
62
  title: '跟进手段',
63
63
  // templet: '#showchance'
64
64
  },
65
65
  {
66
66
  field: 'course_plan',
67
- width: 150,
67
+ width: 100,
68
68
  title: '开课计划',
69
69
  // templet: '#add_keys'
70
70
  },
71
71
  {
72
72
  field: 'course_build',
73
- width: 120,
73
+ width: 100,
74
74
  title: '课堂建设',
75
75
  },
76
+ {
77
+ field: 'content',
78
+ width: 200,
79
+ title: '跟进小结',
80
+ },
76
81
  {
77
82
  field: 'students_count',
78
83
  width: 120,
@@ -15,6 +15,7 @@ json.data do
15
15
  json.course_shixuns_count d.course_shixuns_count
16
16
  json.shixuns_count d.shixuns_count
17
17
  json.is_latest d.id == @latest.id
18
+ json.content d.description
18
19
  end
19
20
  end
20
21
 
@@ -13,10 +13,13 @@
13
13
  <body class="" id="body">
14
14
  <div class="layui-layout layui-layout-admin " >
15
15
  <div class="layui-header">
16
- <div class="layui-hide-xs layui-bg-black layuimini-logo layui-logo">
16
+ <a href="/missions">
17
+ <div class="layui-hide-xs layui-bg-black layuimini-logo layui-logo">
17
18
  <%= image_tag "educode_sales/logo.png", class: 'header-logo' %>
18
19
  <span class="app-title">营销系统</span>
19
20
  </div>
21
+ </a>
22
+
20
23
 
21
24
  <ul class="layui-nav i_class" style="left: 200px">
22
25
  <li class="layui-nav-item layui-show-xs-inline-block " lay-header-event="menuLeft">
@@ -63,6 +66,10 @@
63
66
  <dd><a href="/missions/businesses" class="<%= current?('layui-this', businesses_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/4.商机管理.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>商机管理</a>
64
67
  </dd>
65
68
  <% end %>
69
+ <% if can? :read, EducodeSales::Customer %>
70
+ <dd><a href="/missions/customers" class="<%= current?('layui-this', customers_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/客户管理.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>客户管理</a>
71
+ </dd>
72
+ <% end %>
66
73
  <% if can? :read, EducodeSales::Place %>
67
74
  <dd><a href="/missions/places" class="<%= current?('layui-this', places_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/5.渠道管理.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>渠道管理</a></dd>
68
75
  <% end %>
data/config/routes.rb CHANGED
@@ -11,10 +11,36 @@ EducodeSales::Engine.routes.draw do
11
11
  get :search, to: "home#search"
12
12
  get :no_permission, to: "home#no_permission"
13
13
  get :sales_staff, to: "home#sales_staff"
14
+ get :sales_place, to: "home#sales_place"
14
15
 
15
16
  resources :sessions do
16
17
  end
17
18
 
19
+ resources :customer_extensions do
20
+ end
21
+ resources :customer_follows do
22
+ end
23
+
24
+ resources :customers do
25
+ collection do
26
+ get :show_follow
27
+ get :show_department
28
+ get :new_follow_record
29
+ get :show_follow_record
30
+ get :edit_follow_record
31
+ get :new_department
32
+ get :edit_department
33
+ get :give
34
+ end
35
+
36
+ member do
37
+ post :create_follow_up
38
+ put :update_follow_up
39
+ post :create_department
40
+ put :update_department
41
+ end
42
+ end
43
+
18
44
  resources :operation_reports do
19
45
  member do
20
46
  get :plans
@@ -7,6 +7,21 @@ class CreateEducodeSalesRolePermissions < ActiveRecord::Migration[5.2]
7
7
  t.timestamps
8
8
  end
9
9
  if EducodeSales::Permission.last.nil?
10
+
11
+ #客户管理权限
12
+ EducodeSales::Permission.create(name: '查看客户', subject: 'Customer', action: 'read', clazz: 'customer')
13
+ EducodeSales::Permission.create(name: '添加客户', subject: 'Customer', action: 'create', clazz: 'customer')
14
+ EducodeSales::Permission.create(name: '编辑客户', subject: 'Customer', action: 'update', clazz: 'customer')
15
+ EducodeSales::Permission.create(name: '分配/移交', subject: 'Customer', action: 'give', clazz: 'customer')
16
+ EducodeSales::Permission.create(name: '查看部门', subject: 'Customer', action: 'read_department', clazz: 'customer')
17
+ EducodeSales::Permission.create(name: '添加部门', subject: 'Customer', action: 'create_department', clazz: 'customer')
18
+ EducodeSales::Permission.create(name: '编辑部门', subject: 'Customer', action: 'update_department', clazz: 'customer')
19
+ EducodeSales::Permission.create(name: '查看跟进记录', subject: 'Customer', action: 'read_follow', clazz: 'customer')
20
+ EducodeSales::Permission.create(name: '添加跟进记录', subject: 'Customer', action: 'create_follow', clazz: 'customer')
21
+ EducodeSales::Permission.create(name: '编辑跟进记录', subject: 'Customer', action: 'update_follow', clazz: 'customer')
22
+ EducodeSales::Permission.create(name: '删除跟进记录', subject: 'Customer', action: 'destroy_follow', clazz: 'customer')
23
+
24
+
10
25
  EducodeSales::Permission.create(name: '查看数据', subject: 'SaleTrend', action: 'trends', clazz: 'market')
11
26
  EducodeSales::Permission.create(name: '编辑目标', subject: 'SaleTrend', action: 'sale_trends', clazz: 'market')
12
27
 
@@ -0,0 +1,11 @@
1
+ class CreateEducodeSalesTeacherAssignFollows < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :educode_sales_teacher_assign_follows do |t|
4
+ t.references :staff
5
+ t.references :teacher
6
+
7
+ t.timestamps
8
+ end
9
+ add_column :educode_sales_teachers, :wechat, :string
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class AddYearToFollowUps < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :educode_sales_follow_ups, :year, :integer
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class CreateCustomerExtensions < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :educode_sales_customer_extensions do |t|
4
+ t.references :staff
5
+ t.references :school
6
+ t.integer :customer_staff_id
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ class CreateEducodeSalesCustomerFollows < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :educode_sales_customer_follows do |t|
4
+ t.integer :school_id
5
+ t.integer :department_id
6
+ t.references :staff
7
+ t.text :content
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module EducodeSales
2
- VERSION = '0.5.5'
2
+ VERSION = '0.5.9'
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.5.5
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - anke1460
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-26 00:00:00.000000000 Z
11
+ date: 2021-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -110,6 +110,7 @@ files:
110
110
  - app/assets/images/educode_sales/loginbg.png
111
111
  - app/assets/images/educode_sales/logo.png
112
112
  - app/assets/images/educode_sales/回收站.png
113
+ - app/assets/images/educode_sales/客户管理.png
113
114
  - app/assets/javascripts/educode_sales/application.js
114
115
  - app/assets/javascripts/educode_sales/extent/miniPage.js
115
116
  - app/assets/javascripts/educode_sales/extent/request.js
@@ -137,6 +138,9 @@ files:
137
138
  - app/controllers/educode_sales/application_controller.rb
138
139
  - app/controllers/educode_sales/businesses_controller.rb
139
140
  - app/controllers/educode_sales/commons_controller.rb
141
+ - app/controllers/educode_sales/customer_extensions_controller.rb
142
+ - app/controllers/educode_sales/customer_follows_controller.rb
143
+ - app/controllers/educode_sales/customers_controller.rb
140
144
  - app/controllers/educode_sales/follow_ups_controller.rb
141
145
  - app/controllers/educode_sales/home_controller.rb
142
146
  - app/controllers/educode_sales/import_teachers_controller.rb
@@ -173,6 +177,9 @@ files:
173
177
  - app/models/educode_sales/business.rb
174
178
  - app/models/educode_sales/common.rb
175
179
  - app/models/educode_sales/course_subject.rb
180
+ - app/models/educode_sales/customer.rb
181
+ - app/models/educode_sales/customer_extension.rb
182
+ - app/models/educode_sales/customer_follow.rb
176
183
  - app/models/educode_sales/follow_up.rb
177
184
  - app/models/educode_sales/key_person.rb
178
185
  - app/models/educode_sales/market_area.rb
@@ -192,12 +199,14 @@ files:
192
199
  - app/models/educode_sales/sale_trend.rb
193
200
  - app/models/educode_sales/staff.rb
194
201
  - app/models/educode_sales/teacher.rb
202
+ - app/models/educode_sales/teacher_assign_follow.rb
195
203
  - app/models/educode_sales/teacher_follow.rb
196
204
  - app/views/educode_sales/activities/edit.html.erb
197
205
  - app/views/educode_sales/activities/index.html.erb
198
206
  - app/views/educode_sales/activities/index.json.jbuilder
199
207
  - app/views/educode_sales/activities/new.html.erb
200
208
  - app/views/educode_sales/activities/show_teachers.html.erb
209
+ - app/views/educode_sales/businesses/_follows.html.erb
201
210
  - app/views/educode_sales/businesses/edit.html.erb
202
211
  - app/views/educode_sales/businesses/edit_follow_record.html.erb
203
212
  - app/views/educode_sales/businesses/edit_plan.html.erb
@@ -218,10 +227,25 @@ files:
218
227
  - app/views/educode_sales/commons/index.json.jbuilder
219
228
  - app/views/educode_sales/commons/new.html.erb
220
229
  - app/views/educode_sales/commons/show.json.jbuilder
230
+ - app/views/educode_sales/customers/edit.html.erb
231
+ - app/views/educode_sales/customers/edit_department.html.erb
232
+ - app/views/educode_sales/customers/edit_follow_record.html.erb
233
+ - app/views/educode_sales/customers/give.html.erb
234
+ - app/views/educode_sales/customers/index.html.erb
235
+ - app/views/educode_sales/customers/index.json.jbuilder
236
+ - app/views/educode_sales/customers/new.html.erb
237
+ - app/views/educode_sales/customers/new_department.html.erb
238
+ - app/views/educode_sales/customers/new_follow_record.html.erb
239
+ - app/views/educode_sales/customers/show_department.json.jbuilder
240
+ - app/views/educode_sales/customers/show_follow.html.erb
241
+ - app/views/educode_sales/customers/show_follow.json.jbuilder
242
+ - app/views/educode_sales/customers/show_follow_record.html.erb
243
+ - app/views/educode_sales/follow_ups/index.json.jbuilder
221
244
  - app/views/educode_sales/follow_ups/money_plans.json.jbuilder
222
245
  - app/views/educode_sales/follow_ups/teachers.json.jbuilder
223
246
  - app/views/educode_sales/home/index.html.erb
224
247
  - app/views/educode_sales/home/no_permission.html.erb
248
+ - app/views/educode_sales/home/sales_place.json.jbuilder
225
249
  - app/views/educode_sales/home/sales_staff.json.jbuilder
226
250
  - app/views/educode_sales/home/search.json.jbuilder
227
251
  - app/views/educode_sales/home/search_edu_teacher.json.jbuilder
@@ -377,6 +401,10 @@ files:
377
401
  - db/migrate/20211022085324_add_teacher_used_to_teachers.rb
378
402
  - db/migrate/20211102085743_add_bidded_date_educode_sales_follow_ups.rb
379
403
  - db/migrate/20211109015617_create_educode_sales_recycles.rb
404
+ - db/migrate/20211201023750_create_educode_sales_teacher_assign_follows.rb
405
+ - db/migrate/20211206054756_add_year_to_follow_ups.rb
406
+ - db/migrate/20211214100803_create_customer_extensions.rb
407
+ - db/migrate/20211215025029_create_educode_sales_customer_follows.rb
380
408
  - lib/educode_sales.rb
381
409
  - lib/educode_sales/engine.rb
382
410
  - lib/educode_sales/version.rb