educode_sales 0.1.5 → 0.1.7
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/follow_ups_controller.rb +1 -1
- data/app/controllers/educode_sales/operation_plans_controller.rb +2 -2
- data/app/controllers/educode_sales/plans_controller.rb +2 -2
- data/app/models/educode_sales/common.rb +4 -0
- data/app/models/educode_sales/follow_up.rb +1 -1
- data/app/models/educode_sales/teacher.rb +11 -2
- data/app/views/educode_sales/activities/index.html.erb +1 -9
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +1 -0
- data/app/views/educode_sales/businesses/show_follow.html.erb +1 -0
- 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/show.html.erb +1 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +9 -6
- data/app/views/educode_sales/plans/edit_week.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 +1 -0
- 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/show.html.erb +1 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +1 -1
- data/app/views/educode_sales/teachers/course_subject.json.jbuilder +1 -1
- data/app/views/educode_sales/teachers/index.html.erb +1 -1
- data/app/views/educode_sales/teachers/index.json.jbuilder +2 -2
- data/lib/educode_sales/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0b586bc3b1634320b6fb34e4646577e51cd2eed
|
4
|
+
data.tar.gz: a05dcbb55cc2e2e8f3e7dfbc7671d5f89c24fca5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7099d303b654990b619fcad31ddf547c3412be01a359bb00c0fec6534f32a7764326d512916536d1dbd1710193bddb08b370096250c21fc5dedc976bfc786f12
|
7
|
+
data.tar.gz: 17ac1d2f5b4b134147ca1b77b53c340c04389269e2f1b8b89c9b89c90893eed640c5cb5980f0be28a10e8ada7c18f927d2b326069d1a0f47d237902f13b5f832
|
@@ -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
|
@@ -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")
|
@@ -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
|
|
@@ -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
|
@@ -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: '学生数',
|
@@ -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>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="layui-form-item">
|
3
3
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
4
4
|
<label>完成率:</label>
|
5
|
-
<span><%= @sale_report.finish_rate
|
5
|
+
<span><%= @sale_report.finish_rate %>%</span>
|
6
6
|
<%= hidden_field_tag :id, @sale_report.id, {id: 'sale_report_audito'} %>
|
7
7
|
</div>
|
8
8
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="layui-form-item">
|
9
9
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
10
10
|
<label>完成率:</label>
|
11
|
-
<span><%= @sale_report.finish_rate
|
11
|
+
<span><%= @sale_report.finish_rate %>%</span>
|
12
12
|
</div>
|
13
13
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
14
14
|
<label style="margin-left: 100px">运营教师:</label>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="layui-form-item">
|
3
3
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
4
4
|
<label>完成率:</label>
|
5
|
-
<span><%= @sale_report.finish_rate
|
5
|
+
<span><%= @sale_report.finish_rate %>%</span>
|
6
6
|
</div>
|
7
7
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
8
8
|
<label style="margin-left: 100px">运营教师:</label>
|
@@ -201,12 +201,7 @@
|
|
201
201
|
|
202
202
|
table.on('tool(monthPlanTable)', function (obj) {
|
203
203
|
var data = obj.data;
|
204
|
-
if (obj.event === '
|
205
|
-
layer.confirm('真的删除行么', function (index) {
|
206
|
-
obj.del();
|
207
|
-
layer.close(index);
|
208
|
-
});
|
209
|
-
} else if (obj.event === 'show') {
|
204
|
+
if (obj.event === 'show') {
|
210
205
|
content = miniPage.getHrefContent('/educode_sales/plans/show_month?id=' + data.id);
|
211
206
|
openWH = miniPage.getOpenWidthHeight();
|
212
207
|
index = layer.open({
|
@@ -259,6 +254,14 @@
|
|
259
254
|
$(window).on("resize", function () {
|
260
255
|
layer.full(index);
|
261
256
|
});
|
257
|
+
} else if (obj.event === 'delete') {
|
258
|
+
layer.confirm('确定删除' + data.id, function (index) {
|
259
|
+
console.log("aaaaa");
|
260
|
+
request.delete('educode_sales/plans/' + data.id, {}, function (res) {
|
261
|
+
layer.close(index);
|
262
|
+
table.reload("monthPlanTable")
|
263
|
+
})
|
264
|
+
});
|
262
265
|
}
|
263
266
|
});
|
264
267
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="layui-form-item">
|
3
3
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
4
4
|
<label>完成率:</label>
|
5
|
-
<span><%= @sale_report.finish_rate
|
5
|
+
<span><%= @sale_report.finish_rate %>%</span>
|
6
6
|
<%= hidden_field_tag :id, @sale_report.id, {id: 'sale_report_audito'} %>
|
7
7
|
</div>
|
8
8
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="layui-form-item">
|
9
9
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
10
10
|
<label>完成率:</label>
|
11
|
-
<span><%= @sale_report.finish_rate
|
11
|
+
<span><%= @sale_report.finish_rate %>%</span>
|
12
12
|
</div>
|
13
13
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
14
14
|
<label style="margin-left: 100px">覆盖客户:</label>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="layui-form-item">
|
3
3
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
4
4
|
<label>完成率:</label>
|
5
|
-
<span><%= @sale_report.finish_rate
|
5
|
+
<span><%= @sale_report.finish_rate %>%</span>
|
6
6
|
</div>
|
7
7
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
8
8
|
<label style="margin-left: 100px">覆盖客户:</label>
|
@@ -12,10 +12,10 @@ json.data do
|
|
12
12
|
json.teacher_follows_count d.teacher_follows_count
|
13
13
|
json.activities_count d.activity_teachers_count
|
14
14
|
json.source EducodeSales::Common.teacher_source_name[d.source_id]
|
15
|
-
json.attitude EducodeSales::Common.
|
15
|
+
json.attitude EducodeSales::Common.teacher_attitude_name[d.attitude_id]
|
16
16
|
json.courses_count d.user_id ? Course.joins(:course_members).where(course_members: {user_id: d.user_id}).count : 0
|
17
17
|
json.actives d.actives
|
18
|
-
json.students d.
|
18
|
+
json.students d.students_count
|
19
19
|
json.regist_at d.regist_at ? d.regist_at.to_s(:date) : ''
|
20
20
|
json.teacher_used d.teacher_used_of_department
|
21
21
|
end
|