educode_sales 0.6.3 → 0.6.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/images/educode_sales/money_plans.png +0 -0
- data/app/controllers/educode_sales/activities_controller.rb +0 -2
- data/app/controllers/educode_sales/businesses_controller.rb +103 -47
- data/app/controllers/educode_sales/money_plans_controller.rb +65 -0
- data/app/controllers/educode_sales/roles_controller.rb +4 -1
- data/app/controllers/educode_sales/sale_trends_controller.rb +145 -30
- data/app/controllers/educode_sales/staffs_controller.rb +3 -4
- data/app/controllers/educode_sales/teacher_follows_controller.rb +1 -93
- data/app/models/educode_sales/business_export_record.rb +5 -0
- data/app/models/educode_sales/permission.rb +2 -1
- data/app/models/educode_sales/role_area.rb +1 -0
- data/app/views/educode_sales/activities/index.html.erb +7 -1
- data/app/views/educode_sales/activities/new.html.erb +1 -1
- data/app/views/educode_sales/businesses/_follows.html.erb +15 -15
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +13 -4
- data/app/views/educode_sales/businesses/edit_plan.html.erb +5 -2
- data/app/views/educode_sales/businesses/export_records.html.erb +53 -0
- data/app/views/educode_sales/businesses/export_records.json.jbuilder +11 -0
- data/app/views/educode_sales/businesses/file.html.erb +8 -4
- data/app/views/educode_sales/businesses/index.html.erb +121 -14
- data/app/views/educode_sales/businesses/index.json.jbuilder +34 -4
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +10 -5
- data/app/views/educode_sales/businesses/show_follow.html.erb +1 -0
- data/app/views/educode_sales/commons/index.html.erb +7 -1
- data/app/views/educode_sales/customers/edit.html.erb +690 -10
- data/app/views/educode_sales/customers/edit_follow_record.html.erb +1 -1
- data/app/views/educode_sales/customers/index.json.jbuilder +2 -1
- data/app/views/educode_sales/customers/new.html.erb +691 -11
- data/app/views/educode_sales/customers/new_follow_record.html.erb +1 -1
- data/app/views/educode_sales/customers/show_follow.html.erb +1 -1
- data/app/views/educode_sales/money_plans/index.html.erb +222 -0
- data/app/views/educode_sales/money_plans/index.json.jbuilder +21 -0
- data/app/views/educode_sales/places/index.html.erb +16 -2
- data/app/views/educode_sales/places/index.json.jbuilder +3 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +2 -1
- data/app/views/educode_sales/plans/_weekPlan.html.erb +2 -1
- data/app/views/educode_sales/recycles/business.json.jbuilder +2 -2
- data/app/views/educode_sales/roles/edit.html.erb +8 -0
- data/app/views/educode_sales/roles/index.html.erb +7 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +145 -33
- data/app/views/educode_sales/sale_trends/trends.json.jbuilder +4 -14
- data/app/views/educode_sales/sales/index.html.erb +2 -0
- data/app/views/educode_sales/sales/index.json.jbuilder +2 -2
- data/app/views/educode_sales/sales/operations.json.jbuilder +2 -2
- data/app/views/educode_sales/teachers/index.html.erb +15 -7
- data/app/views/layouts/educode_sales/application.html.erb +18 -2
- data/config/routes.rb +4 -0
- data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +10 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +9 -2
@@ -6,11 +6,9 @@ json.data do
|
|
6
6
|
json.department d.department.name
|
7
7
|
json.school d.department.school.name
|
8
8
|
json.school_id d.department.school.id
|
9
|
-
json.follow_ups_count d.
|
9
|
+
json.follow_ups_count d.follow_ups.where(deleted_at: nil).size
|
10
10
|
follow_ups_count += d.follow_ups_count
|
11
11
|
json.follow_up_id d.last_follow_up_id
|
12
|
-
# json.teachers_count d.follow_ups.sum(:key_people_count)
|
13
|
-
# json.teachers_count EducodeSales::FollowUp.order(created_at: :desc).find_by(business_id: d.id).present? ? EducodeSales::FollowUp.order(created_at: :desc).find_by(business_id: d.id).key_people_count : 0
|
14
12
|
json.clazz d.last_follow_up&.clazz&.name || ""
|
15
13
|
json.stage d.last_follow_up&.stage&.name
|
16
14
|
json.invitation_at d.last_follow_up&.invitation_at.to_s
|
@@ -20,13 +18,45 @@ json.data do
|
|
20
18
|
json.total_amount d.last_follow_up&.total_amount
|
21
19
|
json.actual_amount d.last_follow_up&.actual_amount
|
22
20
|
json.return_money d.return_money
|
21
|
+
json.wait_return_money d.wait_return_money.to_i.round(2)
|
22
|
+
json.return_money_days d.last_follow_up&.reception_at.present? && d.last_follow_up.money_plans.where(clazz: '已完成').present? ? (d.last_follow_up.money_plans.where(clazz: '已完成').order(created_at: :asc).first.date_at.to_s(:date).to_date - d.last_follow_up&.reception_at).to_i : ''
|
23
23
|
json.place d.last_follow_up&.place&.name
|
24
24
|
json.last_follow_person d.last_follow_up.present? ? d.last_follow_up.staff.user.real_name : EducodeSales::Staff.find(d.staff_id).user.real_name
|
25
25
|
json.source d.source
|
26
26
|
json.assign_follow_ups d.last_follow_up.present? ? d.last_follow_up.assign_follow_ups.pluck(:staff_id) : []
|
27
27
|
json.current_staff_id @current_admin.id
|
28
28
|
json.staff_id d.staff_id
|
29
|
-
json.latest_time d.last_follow_up.present? ? d.last_follow_up.created_at.to_s :
|
29
|
+
json.latest_time d.last_follow_up.present? ? d.last_follow_up.created_at.to_s : ''
|
30
|
+
end
|
31
|
+
end
|
32
|
+
json.data1 do
|
33
|
+
json.array! @businesses_exports do |d|
|
34
|
+
json.id d.id
|
35
|
+
json.name d.name
|
36
|
+
json.department d.department.name
|
37
|
+
json.school d.department.school.name
|
38
|
+
json.school_id d.department.school.id
|
39
|
+
json.follow_ups_count d.follow_ups.where(deleted_at: nil).size
|
40
|
+
follow_ups_count += d.follow_ups_count
|
41
|
+
json.follow_up_id d.last_follow_up_id
|
42
|
+
json.clazz d.last_follow_up&.clazz&.name || ""
|
43
|
+
json.stage d.last_follow_up&.stage&.name
|
44
|
+
json.invitation_at d.last_follow_up&.invitation_at.to_s
|
45
|
+
json.reception_at d.last_follow_up&.reception_at.to_s
|
46
|
+
json.bidded_date d.last_follow_up&.bidded_date.to_s
|
47
|
+
json.signed_date d.last_follow_up&.signed_date.to_s
|
48
|
+
json.total_amount d.last_follow_up&.total_amount
|
49
|
+
json.actual_amount d.last_follow_up&.actual_amount
|
50
|
+
json.return_money d.return_money
|
51
|
+
json.wait_return_money d.wait_return_money.to_i.round(2)
|
52
|
+
json.return_money_days d.last_follow_up&.reception_at.present? && d.last_follow_up.money_plans.where(clazz: '已完成').present? ? (d.last_follow_up.money_plans.where(clazz: '已完成').order(created_at: :asc).first.date_at.to_s(:date).to_date - d.last_follow_up&.reception_at).to_i : ''
|
53
|
+
json.place d.last_follow_up&.place&.name
|
54
|
+
json.last_follow_person d.last_follow_up.present? ? d.last_follow_up.staff.user.real_name : EducodeSales::Staff.find(d.staff_id).user.real_name
|
55
|
+
json.source d.source
|
56
|
+
json.assign_follow_ups d.last_follow_up.present? ? d.last_follow_up.assign_follow_ups.pluck(:staff_id) : []
|
57
|
+
json.current_staff_id @current_admin.id
|
58
|
+
json.staff_id d.staff_id
|
59
|
+
json.latest_time d.last_follow_up.present? ? d.last_follow_up.created_at.to_s : ''
|
30
60
|
end
|
31
61
|
end
|
32
62
|
|
@@ -74,26 +74,30 @@
|
|
74
74
|
<input name="total_amount" type="number" class="layui-input" autocomplete="off"
|
75
75
|
value="<%= @last_follow_up&.total_amount%>">
|
76
76
|
</div>
|
77
|
-
</div>
|
77
|
+
客户采购支出的费用。总额的生命历程:1.在最初阶段,是商机的预算总额;2.在挂网阶段,是项目的挂网预算总额;3.在中标阶段,是项目的中标总额。 </div>
|
78
|
+
<br>
|
78
79
|
<div class="layui-inline">
|
79
80
|
<label class="layui-form-label">合同额(万)</label>
|
80
81
|
<div class="layui-input-inline">
|
81
82
|
<input name="actual_amount" type="number" class="layui-input" autocomplete="off" placeholder="本单位的签单金额"
|
82
83
|
value="<%= @last_follow_up&.actual_amount%>">
|
83
84
|
</div>
|
85
|
+
客户签给头歌的费用。合同额的生命历程:1.在中标之前,合同额都是0;2.在中标之后,实际与头歌签合同的金额。
|
84
86
|
</div>
|
85
87
|
<br>
|
86
88
|
<div class="layui-inline new_place_select">
|
87
89
|
<label class="layui-form-label">渠道</label>
|
88
|
-
<div class="layui-input-inline" style="
|
90
|
+
<div class="layui-input-inline" style="">
|
89
91
|
<div id="place" style="width: 190px;"></div>
|
90
92
|
</div>
|
91
93
|
</div>
|
94
|
+
<br>
|
92
95
|
<div class="layui-inline">
|
93
96
|
<label class="layui-form-label">渠道分成(万)</label>
|
94
97
|
<div class="layui-input-inline">
|
95
98
|
<input name="divide_amount" class="layui-input" value="<%= @last_follow_up&.divide_amount%>">
|
96
99
|
</div>
|
100
|
+
总额里,渠道拿到的部分。
|
97
101
|
</div>
|
98
102
|
<div class="layui-form-item">
|
99
103
|
<div class="layui-inline">
|
@@ -106,10 +110,10 @@
|
|
106
110
|
</div>
|
107
111
|
<div class="layui-form-item">
|
108
112
|
<label class="layui-form-label">指定跟进人</label>
|
109
|
-
<div class="layui-input-inline" style="
|
113
|
+
<div class="layui-input-inline" style="">
|
110
114
|
<div id="assign_follow" style="width: 512px;"></div>
|
111
115
|
</div>
|
112
|
-
<div class="layui-inline" style="padding: 9px 15px">
|
116
|
+
<div class="layui-inline" style="padding: 9px 15px;z-index: -1;">
|
113
117
|
<label class="layui-form-label" style="padding-left: 220px"></label>
|
114
118
|
指定跟进人和商机创建者,同时拥有对该商机的管理权限
|
115
119
|
</div>
|
@@ -139,7 +143,7 @@
|
|
139
143
|
</div>
|
140
144
|
<div class="layui-form-item m-t-20">
|
141
145
|
<div class="layui-input-block">
|
142
|
-
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="add_follow_up">提交</button>
|
146
|
+
<button class="layui-btn layui-btn-normal submit-btn" lay-submit lay-filter="add_follow_up">提交</button>
|
143
147
|
</div>
|
144
148
|
</div>
|
145
149
|
</div>
|
@@ -244,6 +248,7 @@
|
|
244
248
|
form.render();
|
245
249
|
|
246
250
|
form.on('submit(add_follow_up)', function (data) {
|
251
|
+
$(".submit-btn").addClass("layui-hide");
|
247
252
|
var assign_follow = [];
|
248
253
|
sales_list.getValue().forEach(function(d) {
|
249
254
|
assign_follow.push(d.value);
|