educode_sales 0.1.2 → 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 +3 -1
- 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 +6 -2
- data/app/controllers/educode_sales/operation_plans_controller.rb +11 -11
- data/app/controllers/educode_sales/operation_reports_controller.rb +2 -2
- data/app/controllers/educode_sales/places_controller.rb +3 -5
- data/app/controllers/educode_sales/plans_controller.rb +7 -7
- data/app/controllers/educode_sales/roles_controller.rb +12 -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/money_plan.rb +3 -3
- data/app/models/educode_sales/operation_plan.rb +2 -0
- data/app/models/educode_sales/place.rb +1 -0
- data/app/models/educode_sales/sale_plan.rb +2 -0
- 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/activities/index.json.jbuilder +1 -1
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +3 -2
- data/app/views/educode_sales/businesses/edit_plan.html.erb +9 -5
- data/app/views/educode_sales/businesses/index.html.erb +1 -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 +2 -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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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.html.erb +33 -2
- 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 +2 -2
- 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/edit.html.erb +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/edit.html.erb +1 -1
- data/app/views/educode_sales/teachers/index.html.erb +3 -3
- data/app/views/educode_sales/teachers/index.json.jbuilder +3 -2
- data/app/views/educode_sales/teachers/new_follow_record.html.erb +2 -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/config/routes.rb +1 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +2 -2
@@ -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>
|
@@ -4,6 +4,7 @@ json.data do
|
|
4
4
|
json.staff d.staff.user.real_name
|
5
5
|
json.client d.client
|
6
6
|
# json.amount d.amount
|
7
|
+
json.month d.month.strftime("%Y-%m")
|
7
8
|
json.content d.content.truncate(30)
|
8
9
|
json.finish_rate "#{d.finish_rate}%"
|
9
10
|
json.level1_score d.level1_score || 0
|
@@ -14,4 +15,4 @@ json.data do
|
|
14
15
|
end
|
15
16
|
|
16
17
|
json.code 0
|
17
|
-
json.count @sale_reports.
|
18
|
+
json.count @sale_reports.total_count
|
@@ -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>
|
@@ -5,9 +5,9 @@ json.data do
|
|
5
5
|
json.area_id d.areas.present? ? d.areas.pluck(:name).join("、") : ''
|
6
6
|
json.businesses_count EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.place_id = #{d.id}").count
|
7
7
|
json.amount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.place_id = #{d.id} AND educode_sales_follow_ups.stage_id IN (?)", @stage_ids).sum(:profit_amount)
|
8
|
-
json.return_mount
|
8
|
+
json.return_mount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.place_id = #{d.id}").sum(:return_money)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
json.code 0
|
13
|
-
json.count @places.
|
13
|
+
json.count @places.total_count
|
@@ -7,7 +7,7 @@
|
|
7
7
|
</div>
|
8
8
|
</script>
|
9
9
|
<!--搜索-->
|
10
|
-
<div class="layuimini-main" id="month_table_wraper">
|
10
|
+
<div class="layuimini-main min-height-table" id="month_table_wraper">
|
11
11
|
<form class="layui-form layui-form-pane" lay-filter="month_plan_search_form">
|
12
12
|
<div class="layui-form-item">
|
13
13
|
<div class="layui-inline">
|
@@ -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
|
|
@@ -7,8 +7,8 @@
|
|
7
7
|
</div>
|
8
8
|
</script>
|
9
9
|
<!--搜索-->
|
10
|
-
<div class="layuimini-main
|
11
|
-
<form class="layui-form layui-form-pane
|
10
|
+
<div class="layuimini-main min-height-table" id="monthly_table_wraper">
|
11
|
+
<form class="layui-form layui-form-pane" lay-filter="monthly_form_fiter">
|
12
12
|
<div class="layui-form-item">
|
13
13
|
<div class="layui-inline">
|
14
14
|
<label class="layui-form-label">人员</label>
|
@@ -7,8 +7,8 @@
|
|
7
7
|
</div>
|
8
8
|
</script>
|
9
9
|
<!--搜索-->
|
10
|
-
<div class="layuimini-main
|
11
|
-
<div class="layui-form layui-form-pane
|
10
|
+
<div class="layuimini-main min-height-table" id="week_table_wraper">
|
11
|
+
<div class="layui-form layui-form-pane" lay-filter="week_plan_form_filter">
|
12
12
|
<div class="layui-form-item">
|
13
13
|
<div class="layui-inline">
|
14
14
|
<label class="layui-form-label">人员</label>
|
@@ -104,6 +104,11 @@
|
|
104
104
|
width: 170,
|
105
105
|
title: '部门'
|
106
106
|
},
|
107
|
+
{
|
108
|
+
field: 'month',
|
109
|
+
width: 100,
|
110
|
+
title: '月份',
|
111
|
+
},
|
107
112
|
{
|
108
113
|
field: 'weekly',
|
109
114
|
width: 100,
|
@@ -7,8 +7,8 @@
|
|
7
7
|
</div>
|
8
8
|
</script>
|
9
9
|
<!--搜索-->
|
10
|
-
<div class="layuimini-main
|
11
|
-
<form class="layui-form layui-form-pane
|
10
|
+
<div class="layuimini-main min-height-table" id="sales_weelky_table">
|
11
|
+
<form class="layui-form layui-form-pane" lay-filter="weekly_form_search">
|
12
12
|
<div class="layui-form-item">
|
13
13
|
<div class="layui-inline">
|
14
14
|
<label class="layui-form-label">人员</label>
|
@@ -7,7 +7,7 @@ json.data do
|
|
7
7
|
json.school d.business.department&.school&.name
|
8
8
|
json.month d.month.strftime("%Y-%m")
|
9
9
|
json.business_id d.business_id
|
10
|
-
json.content d.content.truncate(
|
10
|
+
json.content d.content.truncate(40)
|
11
11
|
json.follow_ups_count d.business.follow_ups_count
|
12
12
|
json.finish_rate "#{d.finish_rate}%"
|
13
13
|
json.updated_at d.updated_at.to_s
|
@@ -15,4 +15,4 @@ json.data do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
json.code 0
|
18
|
-
json.count @sale_plans.
|
18
|
+
json.count @sale_plans.total_count
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<div class="layui-form-item">
|
11
11
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
12
12
|
<label>完成率:</label>
|
13
|
-
<span><%= @rate
|
13
|
+
<span><%= @rate %>%</span>
|
14
14
|
<%= hidden_field_tag 'finish_rate', @rate, {id: 'monthly_rate_hide'} %>
|
15
15
|
</div>
|
16
16
|
<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><%= @rate
|
11
|
+
<span><%= @rate %>%</span>
|
12
12
|
<%= hidden_field_tag 'finish_rate', @rate, {id: 'weekly_rate_hide'} %>
|
13
13
|
</div>
|
14
14
|
<div class="layui-inline" style="margin:18px; font-weight: bold">
|
@@ -97,6 +97,7 @@
|
|
97
97
|
layer.close(parent.sindex);
|
98
98
|
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
99
99
|
parent.table.reload('newWeeklyTable');
|
100
|
+
table.reload('weeklyTable');
|
100
101
|
layer.alert('添加成功')
|
101
102
|
}
|
102
103
|
})
|
@@ -16,8 +16,9 @@
|
|
16
16
|
var $ = layui.jquery,
|
17
17
|
form = layui.form,
|
18
18
|
request = layui.request,
|
19
|
+
util = layui.util,
|
19
20
|
miniPage = layui.miniPage;
|
20
|
-
table = layui.table
|
21
|
+
table = layui.table;
|
21
22
|
|
22
23
|
table.render({
|
23
24
|
elem: '#role',
|
@@ -34,6 +35,7 @@
|
|
34
35
|
field: 'name',
|
35
36
|
title: '角色',
|
36
37
|
width: 120,
|
38
|
+
edit: 'text'
|
37
39
|
}, {
|
38
40
|
field: 'permissions',
|
39
41
|
title: '模块浏览权限',
|
@@ -48,7 +50,33 @@
|
|
48
50
|
page: true
|
49
51
|
})
|
50
52
|
|
51
|
-
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
//监听单元格编辑
|
58
|
+
table.on('edit(role_filter)', function(obj){
|
59
|
+
var value = obj.value //得到修改后的值
|
60
|
+
,data = obj.data //得到所在行所有键值
|
61
|
+
,field = obj.field; //得到字段
|
62
|
+
console.log(obj.data);
|
63
|
+
request.authPut('educode_sales/roles/' + data.id + '/update_role/', data,
|
64
|
+
function(res) {
|
65
|
+
if (res.success) {
|
66
|
+
// table.reload('role');
|
67
|
+
} else {
|
68
|
+
layer.alert(res.msg)
|
69
|
+
}
|
70
|
+
|
71
|
+
})
|
72
|
+
});
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
table.on('toolbar(role_filter)', function (obj) {
|
52
80
|
if (obj.event === 'add') { // 监听添加操作
|
53
81
|
var content = miniPage.getHrefContent('/educode_sales/roles/new');
|
54
82
|
var openWH = miniPage.getOpenWidthHeight();
|
@@ -70,6 +98,9 @@
|
|
70
98
|
});
|
71
99
|
|
72
100
|
|
101
|
+
|
102
|
+
|
103
|
+
|
73
104
|
table.on('tool(role_filter)', function (obj) {
|
74
105
|
var data = obj.data;
|
75
106
|
role_id = data.id;
|
@@ -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>
|
@@ -4,7 +4,7 @@ json.data do
|
|
4
4
|
json.staff d.staff.user.real_name
|
5
5
|
json.client d.client
|
6
6
|
json.amount d.amount
|
7
|
-
json.content d.content.truncate(
|
7
|
+
json.content d.content.truncate(40)
|
8
8
|
json.finish_rate "#{d.finish_rate}%"
|
9
9
|
json.level1_score d.level1_score || 0
|
10
10
|
json.level2_score d.level2_score || 0
|
@@ -14,4 +14,4 @@ json.data do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
json.code 0
|
17
|
-
json.count @sale_reports.
|
17
|
+
json.count @sale_reports.total_count
|
@@ -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>
|
@@ -86,7 +86,7 @@
|
|
86
86
|
elem: '#user_search',
|
87
87
|
name: 'user_id', // 渲染的input的name值
|
88
88
|
layFilter: 'user_id', //同layui form参数lay-filter
|
89
|
-
layVerify: 'required', //同layui form参数lay-verify
|
89
|
+
// layVerify: 'required', //同layui form参数lay-verify
|
90
90
|
layVerType: 'tips', // 同layui form参数lay-verType
|
91
91
|
layReqText: '请填写文本', //同layui form参数lay-ReqText
|
92
92
|
initValue: '', // 渲染初始化默认值
|
@@ -218,14 +218,14 @@
|
|
218
218
|
},
|
219
219
|
{
|
220
220
|
title: '操作',
|
221
|
-
minWidth:
|
221
|
+
minWidth: 300,
|
222
222
|
toolbar: '#currentTableBar',
|
223
223
|
align: "center",
|
224
224
|
fixed: 'right'
|
225
225
|
}
|
226
226
|
]
|
227
227
|
],
|
228
|
-
page: true
|
228
|
+
page: true,
|
229
229
|
});
|
230
230
|
|
231
231
|
|
@@ -260,7 +260,7 @@
|
|
260
260
|
form.val('search_teachers', {
|
261
261
|
area: "",
|
262
262
|
date: "",
|
263
|
-
|
263
|
+
attitude: "",
|
264
264
|
name: "",
|
265
265
|
professional_title: "",
|
266
266
|
regist_at: "",
|
@@ -12,13 +12,14 @@ 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
|
22
22
|
end
|
23
23
|
json.code 0
|
24
|
+
json.count @teachers.total_count
|
24
25
|
json.msg 'succcess'
|