educode_sales 0.1.3 → 0.1.8
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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/educode_sales/app.css +1 -0
- data/app/controllers/educode_sales/activities_controller.rb +1 -1
- data/app/controllers/educode_sales/businesses_controller.rb +14 -9
- data/app/controllers/educode_sales/commons_controller.rb +1 -1
- data/app/controllers/educode_sales/follow_ups_controller.rb +3 -3
- data/app/controllers/educode_sales/operation_plans_controller.rb +7 -7
- data/app/controllers/educode_sales/operation_reports_controller.rb +2 -2
- data/app/controllers/educode_sales/places_controller.rb +1 -1
- data/app/controllers/educode_sales/plans_controller.rb +6 -6
- data/app/controllers/educode_sales/roles_controller.rb +1 -1
- data/app/controllers/educode_sales/sale_reports_controller.rb +2 -2
- data/app/controllers/educode_sales/sales_controller.rb +2 -2
- data/app/controllers/educode_sales/sessions_controller.rb +1 -0
- data/app/controllers/educode_sales/staffs_controller.rb +3 -3
- data/app/controllers/educode_sales/teacher_follows_controller.rb +2 -2
- data/app/controllers/educode_sales/teachers_controller.rb +5 -5
- data/app/models/educode_sales/common.rb +4 -0
- data/app/models/educode_sales/follow_up.rb +1 -1
- data/app/models/educode_sales/operation_plan.rb +0 -1
- data/app/models/educode_sales/sale_plan.rb +0 -1
- data/app/models/educode_sales/teacher.rb +11 -2
- data/app/views/educode_sales/activities/index.html.erb +24 -10
- data/app/views/educode_sales/activities/index.json.jbuilder +1 -1
- data/app/views/educode_sales/activities/show_teachers.html.erb +13 -7
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +3 -2
- data/app/views/educode_sales/businesses/edit_plan.html.erb +2 -1
- data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
- data/app/views/educode_sales/businesses/show_follow.html.erb +1 -0
- data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -1
- data/app/views/educode_sales/businesses/unfinish_plans.json.jbuilder +1 -1
- data/app/views/educode_sales/commons/index.json.jbuilder +1 -1
- data/app/views/educode_sales/follow_ups/money_plans.json.jbuilder +1 -1
- data/app/views/educode_sales/follow_ups/teachers.json.jbuilder +1 -1
- data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +5 -4
- data/app/views/educode_sales/operation_plans/_monthly.html.erb +4 -4
- data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +9 -4
- data/app/views/educode_sales/operation_plans/_weekly.html.erb +4 -5
- data/app/views/educode_sales/operation_plans/edit_month.html.erb +3 -1
- data/app/views/educode_sales/operation_plans/index.html.erb +35 -5
- data/app/views/educode_sales/operation_plans/index.json.jbuilder +1 -1
- data/app/views/educode_sales/operation_plans/my_month.json.jbuilder +2 -2
- data/app/views/educode_sales/operation_plans/my_week.json.jbuilder +1 -1
- data/app/views/educode_sales/operation_plans/new_month.html.erb +3 -1
- data/app/views/educode_sales/operation_plans/new_monthly.html.erb +136 -30
- data/app/views/educode_sales/operation_plans/new_week.html.erb +4 -3
- data/app/views/educode_sales/operation_plans/new_weekly.html.erb +173 -81
- data/app/views/educode_sales/operation_reports/audit.html.erb +1 -1
- data/app/views/educode_sales/operation_reports/edit.html.erb +1 -1
- data/app/views/educode_sales/operation_reports/index.json.jbuilder +1 -1
- data/app/views/educode_sales/operation_reports/plans.json.jbuilder +1 -1
- data/app/views/educode_sales/operation_reports/show.html.erb +1 -1
- data/app/views/educode_sales/places/index.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +10 -7
- data/app/views/educode_sales/plans/_monthly.html.erb +2 -2
- data/app/views/educode_sales/plans/_weekPlan.html.erb +7 -2
- data/app/views/educode_sales/plans/_weekly.html.erb +1 -1
- data/app/views/educode_sales/plans/edit_week.html.erb +1 -1
- data/app/views/educode_sales/plans/index.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/my_month.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/my_week.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/new_monthly.html.erb +1 -1
- data/app/views/educode_sales/plans/new_week.html.erb +3 -1
- data/app/views/educode_sales/plans/new_weekly.html.erb +2 -1
- data/app/views/educode_sales/roles/index.json.jbuilder +1 -1
- data/app/views/educode_sales/sale_reports/audit.html.erb +1 -1
- data/app/views/educode_sales/sale_reports/edit.html.erb +1 -1
- data/app/views/educode_sales/sale_reports/index.json.jbuilder +1 -1
- data/app/views/educode_sales/sale_reports/plans.json.jbuilder +1 -1
- data/app/views/educode_sales/sale_reports/show.html.erb +1 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +1 -1
- data/app/views/educode_sales/sales/index.json.jbuilder +1 -1
- data/app/views/educode_sales/sales/operations.json.jbuilder +1 -1
- data/app/views/educode_sales/staffs/follow_up_departments.json.jbuilder +1 -1
- data/app/views/educode_sales/staffs/index.json.jbuilder +1 -1
- data/app/views/educode_sales/teachers/course_list.json.jbuilder +1 -0
- data/app/views/educode_sales/teachers/index.html.erb +3 -3
- data/app/views/educode_sales/teachers/index.json.jbuilder +4 -2
- data/app/views/educode_sales/teachers/new.html.erb +3 -5
- data/app/views/educode_sales/teachers/new_follow_record.html.erb +2 -0
- data/app/views/educode_sales/teachers/show_class.html.erb +6 -0
- data/app/views/educode_sales/teachers/show_follow.json.jbuilder +1 -1
- data/app/views/educode_sales/teachers/unfinish_plans.json.jbuilder +1 -1
- data/lib/educode_sales/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82d677b53ce6178046e2f6e663dabe5a5789762f
|
4
|
+
data.tar.gz: 174acd6fb6a9bf597dddd2783dd0a9f23139abea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6c888d00d3cb588d67982a88c3b316085ba23ac19c926a4e7f37810262c3dda76ce0a736f94e883ca0e89d69c5ab54d7c5d3e18bd457071a3e6ad76455c7a6e
|
7
|
+
data.tar.gz: 62eee795ac83adfe2f6d2cf102ae34557f8f291c9b836f4505042d447850c0cdeb86d0bf65de3358f18883ccd653ab893c3188168e6581d69edce52aca867dae
|
@@ -25,13 +25,7 @@ module EducodeSales
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
@businesses = @businesses
|
29
|
-
educode_sales_businesses.*,
|
30
|
-
last_follow.invitation_at,
|
31
|
-
last_follow.reception_at,
|
32
|
-
last_follow.total_amount").joins("
|
33
|
-
LEFT JOIN educode_sales_follow_ups AS last_follow ON educode_sales_businesses.last_follow_up_id = last_follow.id
|
34
|
-
")
|
28
|
+
@businesses = @businesses
|
35
29
|
if params[:q].present? && params[:q][:name].present?
|
36
30
|
@businesses = @businesses.where("educode_sales_businesses.name like ?", "%#{params[:q][:name]}%")
|
37
31
|
end
|
@@ -70,11 +64,22 @@ module EducodeSales
|
|
70
64
|
@businesses = @businesses.where("created_at > ? AND created_at < ?", date[0], date[1])
|
71
65
|
end
|
72
66
|
|
67
|
+
|
73
68
|
if params[:sort].present? && params[:sort][:field]
|
74
69
|
@businesses = @businesses.order("#{params[:sort][:field]} #{params[:sort][:order]}")
|
75
70
|
else
|
76
71
|
@businesses = @businesses.order("created_at desc")
|
77
72
|
end
|
73
|
+
|
74
|
+
@business_count = @businesses.count
|
75
|
+
|
76
|
+
@businesses = @businesses.select("
|
77
|
+
educode_sales_businesses.*,
|
78
|
+
last_follow.invitation_at,
|
79
|
+
last_follow.reception_at,
|
80
|
+
last_follow.total_amount").joins("
|
81
|
+
LEFT JOIN educode_sales_follow_ups AS last_follow ON educode_sales_businesses.last_follow_up_id = last_follow.id
|
82
|
+
").page(params[:page]).per(params[:limit])
|
78
83
|
end
|
79
84
|
end
|
80
85
|
end
|
@@ -139,7 +144,7 @@ module EducodeSales
|
|
139
144
|
else
|
140
145
|
@follow_ups = @follow_ups.order("created_at desc")
|
141
146
|
end
|
142
|
-
@follow_ups = @follow_ups.page(params[:page]).per(params[:
|
147
|
+
@follow_ups = @follow_ups.page(params[:page]).per(params[:limit])
|
143
148
|
end
|
144
149
|
end
|
145
150
|
end
|
@@ -156,7 +161,7 @@ module EducodeSales
|
|
156
161
|
|
157
162
|
def unfinish_plans
|
158
163
|
load_business
|
159
|
-
@plans = @business.sale_plans.where.not(finish_rate: 100).page(params[:page]).per(params[:
|
164
|
+
@plans = @business.sale_plans.where.not(finish_rate: 100).page(params[:page]).per(params[:limit])
|
160
165
|
end
|
161
166
|
|
162
167
|
def show_follow_record
|
@@ -21,7 +21,7 @@ module EducodeSales
|
|
21
21
|
business = follow_up.business
|
22
22
|
if follow_up.destroy
|
23
23
|
if follow_up.id == business.last_follow_up_id
|
24
|
-
business.update(last_follow_up: follow_ups.last, return_money: MoneyPlan.where(clazz: '已完成', follow_up_id: follow_ups.last&.id).sum(:amount))
|
24
|
+
business.update(last_follow_up: business.follow_ups.last, return_money: MoneyPlan.where(clazz: '已完成', follow_up_id: business.follow_ups.last&.id).sum(:amount))
|
25
25
|
end
|
26
26
|
render_success
|
27
27
|
else
|
@@ -43,7 +43,7 @@ module EducodeSales
|
|
43
43
|
def teachers
|
44
44
|
follow_up = FollowUp.find_by(id: params[:id])
|
45
45
|
if follow_up.present?
|
46
|
-
@teachers = follow_up.key_person.includes(:teacher).page(params[:page]).per(params[:
|
46
|
+
@teachers = follow_up.key_person.includes(:teacher).page(params[:page]).per(params[:limit])
|
47
47
|
else
|
48
48
|
@teachers = FollowUp.none
|
49
49
|
end
|
@@ -51,7 +51,7 @@ module EducodeSales
|
|
51
51
|
|
52
52
|
def money_plans
|
53
53
|
follow_up = FollowUp.find_by(id: params[:id])
|
54
|
-
@money_plans = follow_up.money_plans.page(params[:page]).per(params[:
|
54
|
+
@money_plans = follow_up.money_plans.page(params[:page]).per(params[:limit])
|
55
55
|
end
|
56
56
|
|
57
57
|
def add_money
|
@@ -46,7 +46,7 @@ module EducodeSales
|
|
46
46
|
else
|
47
47
|
@sale_plans = @sale_plans.order("updated_at desc")
|
48
48
|
end
|
49
|
-
@sale_plans = @sale_plans.page(params[:page]).per(params[:
|
49
|
+
@sale_plans = @sale_plans.page(params[:page]).per(params[:limit])
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -60,7 +60,7 @@ module EducodeSales
|
|
60
60
|
else
|
61
61
|
@weeks = [week]
|
62
62
|
end
|
63
|
-
@teachers = @current_admin.teachers.pluck(:name, :id)
|
63
|
+
@teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
|
64
64
|
render layout: false
|
65
65
|
end
|
66
66
|
|
@@ -87,7 +87,7 @@ module EducodeSales
|
|
87
87
|
|
88
88
|
def new_month
|
89
89
|
@teacher = Teacher.find_by(id: params[:teacher_id])
|
90
|
-
@teachers = @current_admin.teachers.pluck(:name, :id)
|
90
|
+
@teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
|
91
91
|
render layout: false
|
92
92
|
end
|
93
93
|
|
@@ -117,7 +117,7 @@ module EducodeSales
|
|
117
117
|
|
118
118
|
def edit_week
|
119
119
|
@teacher = Teacher.find_by(id: params[:teacher_id])
|
120
|
-
@teachers = @current_admin.teachers.pluck(:name, :id)
|
120
|
+
@teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
|
121
121
|
@sale_plan = OperationPlan.find(params[:id])
|
122
122
|
if @sale_plan.weekly.present?
|
123
123
|
week = Time.now.strftime('%W').to_i
|
@@ -145,7 +145,7 @@ module EducodeSales
|
|
145
145
|
|
146
146
|
def edit_month
|
147
147
|
@teacher = Teacher.find_by(id: params[:teacher_id])
|
148
|
-
@teachers = @current_admin.teachers.pluck(:name, :id)
|
148
|
+
@teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
|
149
149
|
@sale_plan = OperationPlan.find(params[:id])
|
150
150
|
@months = [Time.now.strftime("%Y-%m"), Time.now.months_ago(1).strftime("%Y-%m")]
|
151
151
|
@months << @sale_plan.month.strftime("%Y-%m")
|
@@ -166,7 +166,7 @@ module EducodeSales
|
|
166
166
|
else
|
167
167
|
@sale_plans = @sale_plans.order("updated_at desc")
|
168
168
|
end
|
169
|
-
@sale_plans = @sale_plans.page(params[:page]).per(params[:
|
169
|
+
@sale_plans = @sale_plans.page(params[:page]).per(params[:limit])
|
170
170
|
end
|
171
171
|
|
172
172
|
def my_month
|
@@ -176,7 +176,7 @@ module EducodeSales
|
|
176
176
|
else
|
177
177
|
@sale_plans = @sale_plans.order("updated_at desc")
|
178
178
|
end
|
179
|
-
@sale_plans = @sale_plans.page(params[:page]).per(params[:
|
179
|
+
@sale_plans = @sale_plans.page(params[:page]).per(params[:limit])
|
180
180
|
end
|
181
181
|
|
182
182
|
def update
|
@@ -42,7 +42,7 @@ module EducodeSales
|
|
42
42
|
else
|
43
43
|
@sale_reports = @sale_reports.order("updated_at desc")
|
44
44
|
end
|
45
|
-
@sale_reports = @sale_reports.page(params[:page]).per(params[:
|
45
|
+
@sale_reports = @sale_reports.page(params[:page]).per(params[:limit])
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -118,7 +118,7 @@ module EducodeSales
|
|
118
118
|
|
119
119
|
def plans
|
120
120
|
sale_report = OperationReport.find(params[:id])
|
121
|
-
@sale_plans = OperationPlan.where(staff_id: sale_report.staff_id, month: sale_report.month, weekly: sale_report.weekly).order("updated_at desc").page(params[:page]).per(params[:
|
121
|
+
@sale_plans = OperationPlan.where(staff_id: sale_report.staff_id, month: sale_report.month, weekly: sale_report.weekly).order("updated_at desc").page(params[:page]).per(params[:limit])
|
122
122
|
end
|
123
123
|
|
124
124
|
private
|
@@ -8,7 +8,7 @@ module EducodeSales
|
|
8
8
|
format.html do
|
9
9
|
end
|
10
10
|
format.json do
|
11
|
-
@places = Place.page(params[:page]).per(params[:
|
11
|
+
@places = Place.page(params[:page]).per(params[:limit])
|
12
12
|
@stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
13
13
|
end
|
14
14
|
end
|
@@ -47,7 +47,7 @@ module EducodeSales
|
|
47
47
|
@sale_plans = @sale_plans.order("updated_at desc")
|
48
48
|
end
|
49
49
|
|
50
|
-
@sale_plans = @sale_plans.page(params[:page]).per(params[:
|
50
|
+
@sale_plans = @sale_plans.page(params[:page]).per(params[:limit])
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
@@ -86,7 +86,7 @@ module EducodeSales
|
|
86
86
|
sale_plans = SalePlan.where(month: Time.now.strftime("%Y-%m") + "-01 00:00:00", weekly: Time.now.strftime('%W').to_i, staff_id: @current_admin.id)
|
87
87
|
@rate = sale_plans.present? ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
|
88
88
|
@departments_count = sale_plans.joins(:business).count("distinct(department_id)")
|
89
|
-
@total_amount = sale_plans.joins(business: :last_follow_up).sum("total_amount")
|
89
|
+
@total_amount = sale_plans.joins(business: :last_follow_up).distinct.sum("total_amount")
|
90
90
|
render layout: false
|
91
91
|
end
|
92
92
|
|
@@ -100,7 +100,7 @@ module EducodeSales
|
|
100
100
|
sale_plans = SalePlan.where(month: Time.now.strftime("%Y-%m") + "-01 00:00:00", staff_id: @current_admin.id, weekly: nil)
|
101
101
|
@rate = sale_plans.present? ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
|
102
102
|
@departments_count = sale_plans.joins(:business).count("distinct(department_id)")
|
103
|
-
@total_amount = sale_plans.joins(business: :last_follow_up).sum("total_amount")
|
103
|
+
@total_amount = sale_plans.joins(business: :last_follow_up).distinct.sum("total_amount")
|
104
104
|
render layout: false
|
105
105
|
end
|
106
106
|
|
@@ -187,7 +187,7 @@ module EducodeSales
|
|
187
187
|
else
|
188
188
|
@sale_plans = @sale_plans.order("updated_at desc")
|
189
189
|
end
|
190
|
-
@sale_plans = @sale_plans.page(params[:page]).per(params[:
|
190
|
+
@sale_plans = @sale_plans.page(params[:page]).per(params[:limit])
|
191
191
|
end
|
192
192
|
|
193
193
|
def my_month
|
@@ -197,13 +197,13 @@ module EducodeSales
|
|
197
197
|
else
|
198
198
|
@sale_plans = @sale_plans.order("updated_at desc")
|
199
199
|
end
|
200
|
-
@sale_plans = @sale_plans.page(params[:page]).per(params[:
|
200
|
+
@sale_plans = @sale_plans.page(params[:page]).per(params[:limit])
|
201
201
|
end
|
202
202
|
|
203
203
|
private
|
204
204
|
|
205
205
|
def plan_params
|
206
|
-
params.permit(:month, :weekly, :content, :finish_rate)
|
206
|
+
params.permit(:month, :weekly, :content, :finish_rate, :business_id)
|
207
207
|
end
|
208
208
|
|
209
209
|
end
|
@@ -75,7 +75,7 @@ module EducodeSales
|
|
75
75
|
else
|
76
76
|
@sale_reports = @sale_reports.order("updated_at desc")
|
77
77
|
end
|
78
|
-
@sale_reports = @sale_reports.page(params[:page]).per(params[:
|
78
|
+
@sale_reports = @sale_reports.page(params[:page]).per(params[:limit])
|
79
79
|
end
|
80
80
|
end
|
81
81
|
end
|
@@ -123,7 +123,7 @@ module EducodeSales
|
|
123
123
|
|
124
124
|
def plans
|
125
125
|
sale_report = SaleReport.find(params[:id])
|
126
|
-
@sale_plans = SalePlan.where(staff_id: sale_report.staff_id, month: sale_report.month, weekly: sale_report.weekly).order("updated_at desc").page(params[:page]).per(params[:
|
126
|
+
@sale_plans = SalePlan.where(staff_id: sale_report.staff_id, month: sale_report.month, weekly: sale_report.weekly).order("updated_at desc").page(params[:page]).per(params[:limit])
|
127
127
|
end
|
128
128
|
|
129
129
|
private
|
@@ -16,7 +16,7 @@ module EducodeSales
|
|
16
16
|
@b_clazz = Common.find_by(clazz: 'business_type', name: 'B类')
|
17
17
|
@step_ids = Common.where(name: %w(已中标 已签单 已验收 回款中 服务中 已结束), clazz: 'business_step').pluck(:id)
|
18
18
|
|
19
|
-
@staffs = Staff.where(job_type: common.id).page(params[:page]).per(params[:
|
19
|
+
@staffs = Staff.where(job_type: common.id).page(params[:page]).per(params[:limit])
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -44,7 +44,7 @@ module EducodeSales
|
|
44
44
|
end
|
45
45
|
format.json do
|
46
46
|
common_id = Common.where(clazz: 'staff_type', name: ['销售', '运营']).pluck(:id)
|
47
|
-
@staffs = Staff.where(job_type: common_id).page(params[:page]).per(params[:
|
47
|
+
@staffs = Staff.where(job_type: common_id).page(params[:page]).per(params[:limit])
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
@@ -8,7 +8,7 @@ module EducodeSales
|
|
8
8
|
format.html do
|
9
9
|
end
|
10
10
|
format.json do
|
11
|
-
@staffs = Staff.where(is_admin: false).page(params[:page]).per(params[:
|
11
|
+
@staffs = Staff.where(is_admin: false).page(params[:page]).per(params[:limit])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -67,13 +67,13 @@ module EducodeSales
|
|
67
67
|
|
68
68
|
def follow_up_schools
|
69
69
|
staff = Staff.find(params[:id])
|
70
|
-
@schools = EducodeSales::Business.joins(:last_follow_up, :department).where("educode_sales_follow_ups.staff_id = #{staff.id}").group("school_id").select("school_id, max(educode_sales_follow_ups.updated_at) AS updated_at").page(params[:page]).per(params[:
|
70
|
+
@schools = EducodeSales::Business.joins(:last_follow_up, :department).where("educode_sales_follow_ups.staff_id = #{staff.id}").group("school_id").select("school_id, max(educode_sales_follow_ups.updated_at) AS updated_at").page(params[:page]).per(params[:limit])
|
71
71
|
@count = EducodeSales::Business.joins(:last_follow_up, :department).where("educode_sales_follow_ups.staff_id = #{staff.id}").group("school_id").count
|
72
72
|
end
|
73
73
|
|
74
74
|
def follow_up_departments
|
75
75
|
staff = Staff.find(params[:id])
|
76
|
-
@schools = EducodeSales::Business.joins(:last_follow_up, [department: :school]).where("educode_sales_follow_ups.staff_id = #{staff.id}").select("departments.name, schools.name AS school, educode_sales_follow_ups.updated_at").page(params[:page]).per(params[:
|
76
|
+
@schools = EducodeSales::Business.joins(:last_follow_up, [department: :school]).where("educode_sales_follow_ups.staff_id = #{staff.id}").select("departments.name, schools.name AS school, educode_sales_follow_ups.updated_at").page(params[:page]).per(params[:limit])
|
77
77
|
end
|
78
78
|
|
79
79
|
|
@@ -44,7 +44,7 @@ module EducodeSales
|
|
44
44
|
# def teachers
|
45
45
|
# follow_up = @current_admin.follow_ups.find_by(id: params[:id])
|
46
46
|
# if follow_up.present?
|
47
|
-
# @teachers = follow_up.key_person.includes(:teacher).page(params[:page]).per(params[:
|
47
|
+
# @teachers = follow_up.key_person.includes(:teacher).page(params[:page]).per(params[:limit])
|
48
48
|
# else
|
49
49
|
# @teachers = FollowUp.none
|
50
50
|
# end
|
@@ -52,7 +52,7 @@ module EducodeSales
|
|
52
52
|
#
|
53
53
|
# def money_plans
|
54
54
|
# follow_up = @current_admin.follow_ups.find_by(id: params[:id])
|
55
|
-
# @money_plans = follow_up.money_plans.page(params[:page]).per(params[:
|
55
|
+
# @money_plans = follow_up.money_plans.page(params[:page]).per(params[:limit])
|
56
56
|
# end
|
57
57
|
#
|
58
58
|
# def add_money
|
@@ -73,7 +73,7 @@ module EducodeSales
|
|
73
73
|
@teachers = @teachers.where("created_at > ? AND created_at < ?", date[0], date[1])
|
74
74
|
end
|
75
75
|
|
76
|
-
@teachers = @teachers.order("created_at desc").page(params[:page]).per(params[:
|
76
|
+
@teachers = @teachers.order("created_at desc").page(params[:page]).per(params[:limit])
|
77
77
|
|
78
78
|
end
|
79
79
|
end
|
@@ -144,7 +144,7 @@ module EducodeSales
|
|
144
144
|
|
145
145
|
def unfinish_plans
|
146
146
|
load_teacher
|
147
|
-
@plans = @teacher.operation_plans.where.not(finish_rate: 100).page(params[:page]).per(params[:
|
147
|
+
@plans = @teacher.operation_plans.where.not(finish_rate: 100).page(params[:page]).per(params[:limit])
|
148
148
|
end
|
149
149
|
|
150
150
|
def course_subject
|
@@ -206,7 +206,7 @@ module EducodeSales
|
|
206
206
|
else
|
207
207
|
@follow_ups = @follow_ups.order("created_at desc")
|
208
208
|
end
|
209
|
-
@follow_ups = @follow_ups.page(params[:page]).per(params[:
|
209
|
+
@follow_ups = @follow_ups.page(params[:page]).per(params[:limit])
|
210
210
|
end
|
211
211
|
end
|
212
212
|
end
|
@@ -244,7 +244,7 @@ module EducodeSales
|
|
244
244
|
def course_list
|
245
245
|
user = User.find_by(id: params[:user_id])
|
246
246
|
if user
|
247
|
-
@courses = Course.joins(:course_members).where(course_members: {user_id: user.id}).page(params[:page]).per(params[:
|
247
|
+
@courses = Course.joins(:course_members).where(course_members: {user_id: user.id}).page(params[:page]).per(params[:limit])
|
248
248
|
else
|
249
249
|
@courses = Course.none
|
250
250
|
end
|
@@ -253,7 +253,7 @@ module EducodeSales
|
|
253
253
|
|
254
254
|
def activities
|
255
255
|
teacher = Teacher.find(params[:id])
|
256
|
-
@activities = teacher.activities.page(params[:page]).per(params[:
|
256
|
+
@activities = teacher.activities.page(params[:page]).per(params[:limit])
|
257
257
|
end
|
258
258
|
|
259
259
|
private
|
@@ -2,7 +2,7 @@ module EducodeSales
|
|
2
2
|
class FollowUp < ApplicationRecord
|
3
3
|
belongs_to :business, counter_cache: true
|
4
4
|
belongs_to :place, optional: true
|
5
|
-
has_many :money_plans
|
5
|
+
has_many :money_plans, dependent: :destroy
|
6
6
|
has_many :key_person
|
7
7
|
has_many :teachers, through: :key_person
|
8
8
|
belongs_to :staff
|
@@ -18,11 +18,20 @@ module EducodeSales
|
|
18
18
|
user_ids = User.joins(:user_extension).where(user_extensions: {department_id: self.department_id, identity: 0}).pluck(:id)
|
19
19
|
course_ids = CourseMember.where(role: "CREATOR", user_id: user_ids).pluck(:course_id)
|
20
20
|
if course_ids.present?
|
21
|
+
course_members = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).group("course_id").having("COUNT(homework_commons_shixuns.id) > 100 AND COUNT(course_members.user_id) > 30").select("COUNT(*) AS count")
|
22
|
+
course_members.present? ? course_members[0]['count'] : 0
|
21
23
|
else
|
22
24
|
0
|
23
25
|
end
|
24
|
-
|
25
|
-
|
26
|
+
else
|
27
|
+
0
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def students_count
|
32
|
+
if user_id.present?
|
33
|
+
course_ids = CourseMember.where.not(role: "STUDENT").where(user_id: user_id).pluck(:course_id)
|
34
|
+
CourseMember.where(course_id: course_ids, role: "STUDENT").count
|
26
35
|
else
|
27
36
|
0
|
28
37
|
end
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<a href="javascript:void(0);" lay-event="teachers" class="layui-table-link">{{ d.name}}</a>
|
23
23
|
</script>
|
24
24
|
<script type="text/html" id="teachers_count">
|
25
|
-
<a href="javascript:void(0);" lay-event="
|
25
|
+
<a href="javascript:void(0);" lay-event="teachers_count" class="layui-table-link">{{ d.teachers_count}}</a>
|
26
26
|
</script>
|
27
27
|
|
28
28
|
<script>
|
@@ -60,7 +60,7 @@
|
|
60
60
|
{
|
61
61
|
field: 'days',
|
62
62
|
title: '天数',
|
63
|
-
width:
|
63
|
+
width: 100
|
64
64
|
},
|
65
65
|
{
|
66
66
|
field: 'teachers_count',
|
@@ -68,14 +68,6 @@
|
|
68
68
|
width: 100,
|
69
69
|
templet: '#teachers_count'
|
70
70
|
},
|
71
|
-
// {
|
72
|
-
// field: 'return_rate',
|
73
|
-
// title: '回访率',
|
74
|
-
// },
|
75
|
-
// {
|
76
|
-
// field: 'course_rate',
|
77
|
-
// title: '建课率',
|
78
|
-
// },
|
79
71
|
{
|
80
72
|
field: 'students_count',
|
81
73
|
title: '学生数',
|
@@ -181,6 +173,28 @@
|
|
181
173
|
});
|
182
174
|
return false;
|
183
175
|
}
|
176
|
+
else if (obj.event === 'teachers_count') {
|
177
|
+
activity_id = obj.data.id;
|
178
|
+
content = miniPage.getHrefContent('/educode_sales/activities/show_teachers');
|
179
|
+
openWH = miniPage.getOpenWidthHeight();
|
180
|
+
index = layer.open({
|
181
|
+
title: '活动列表/' + data.name,
|
182
|
+
type: 1,
|
183
|
+
shade: 0.2,
|
184
|
+
maxmin: true,
|
185
|
+
shadeClose: true,
|
186
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
187
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
188
|
+
content: content,
|
189
|
+
success: function (layero, index) {
|
190
|
+
form.render('select');
|
191
|
+
},
|
192
|
+
});
|
193
|
+
$(window).on("resize", function () {
|
194
|
+
layer.full(index);
|
195
|
+
});
|
196
|
+
return false;
|
197
|
+
}
|
184
198
|
});
|
185
199
|
|
186
200
|
});
|
@@ -247,10 +247,11 @@
|
|
247
247
|
});
|
248
248
|
return false;
|
249
249
|
} else if (obj.event === 'delete') {
|
250
|
+
console.log(data);
|
250
251
|
layer.confirm('确定删除' + data.name, function (index) {
|
251
|
-
request.delete('educode_sales/
|
252
|
+
request.delete('educode_sales/teachers/' + data.id, {}, function (res) {
|
252
253
|
layer.close(index);
|
253
|
-
table.reload("
|
254
|
+
table.reload("show_teachers_table")
|
254
255
|
})
|
255
256
|
});
|
256
257
|
} else if (obj.event === 'addWeek') {
|
@@ -288,7 +289,8 @@
|
|
288
289
|
});
|
289
290
|
|
290
291
|
} else if (obj.event === 'courses') {
|
291
|
-
|
292
|
+
teacher_id = data.id
|
293
|
+
content = miniPage.getHrefContent('/educode_sales/teachers/add_courses?id='+data.id);
|
292
294
|
openWH = miniPage.getOpenWidthHeight();
|
293
295
|
index = layer.open({
|
294
296
|
title: '课程方向',
|
@@ -298,12 +300,16 @@
|
|
298
300
|
shadeClose: true,
|
299
301
|
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
300
302
|
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
301
|
-
content: content
|
303
|
+
content: content,
|
304
|
+
success: function (layero, index) {
|
305
|
+
// 重新渲染弹层中的下拉选择框select
|
306
|
+
// form.render('select');
|
307
|
+
}
|
302
308
|
});
|
303
309
|
$(window).on("resize", function () {
|
304
|
-
|
310
|
+
layer.full(index);
|
305
311
|
});
|
306
|
-
}
|
312
|
+
}else if (obj.event === 'event') {
|
307
313
|
content = miniPage.getHrefContent('/educode_sales/teachers/add_event');
|
308
314
|
openWH = miniPage.getOpenWidthHeight();
|
309
315
|
teacher_id = obj.data.id
|
@@ -342,7 +348,7 @@
|
|
342
348
|
layer.full(index);
|
343
349
|
});
|
344
350
|
} else if (obj.event === 'follow') {
|
345
|
-
content = miniPage.getHrefContent('/educode_sales/teachers/show_follow');
|
351
|
+
content = miniPage.getHrefContent('/educode_sales/teachers/show_follow?id=' + data.id);
|
346
352
|
openWH = miniPage.getOpenWidthHeight();
|
347
353
|
index = layer.open({
|
348
354
|
title: '跟进记录',
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<div class="layui-inline">
|
18
18
|
<label class="layui-form-label required">项目类型</label>
|
19
19
|
<div class="layui-input-inline">
|
20
|
-
<%= select_tag "clazz_id", options_for_select(@clazz, @follow_up.
|
20
|
+
<%= select_tag "clazz_id", options_for_select(@clazz, @follow_up.clazz_id), class: 'required' %>
|
21
21
|
</div>
|
22
22
|
</div>
|
23
23
|
<div class="layui-inline">
|
@@ -51,7 +51,7 @@
|
|
51
51
|
<div class="layui-inline">
|
52
52
|
<label class="layui-form-label">实额</label>
|
53
53
|
<div class="layui-input-inline">
|
54
|
-
<input name="actual_amount" type="number" class="layui-input" value="<%= @follow_up.
|
54
|
+
<input name="actual_amount" type="number" class="layui-input" value="<%= @follow_up.actual_amount %>">
|
55
55
|
</div>
|
56
56
|
</div>
|
57
57
|
<br>
|
@@ -66,6 +66,7 @@
|
|
66
66
|
<div class="layui-input-inline">
|
67
67
|
<input name="divide_rate" class="layui-input" value="<%= @follow_up.divide_rate%>">
|
68
68
|
</div>
|
69
|
+
<span style="margin-top: 10px; float:left;">%</span>
|
69
70
|
</div>
|
70
71
|
<div class="layui-form-item layui-form-text">
|
71
72
|
<label class="layui-form-label required">自我小结</label>
|
@@ -81,9 +81,10 @@
|
|
81
81
|
if (res.success == false) {
|
82
82
|
layer.alert(res.msg)
|
83
83
|
} else {
|
84
|
-
layer.close(parent.plan_index);
|
84
|
+
// layer.close(parent.plan_index);
|
85
85
|
parent.table.reload('sale_plan_follow_table');
|
86
86
|
parent.table.reload('businesses_table');
|
87
|
+
table.reload('return_money_list');
|
87
88
|
}
|
88
89
|
})
|
89
90
|
return false;
|