educode_sales 0.2.0 → 0.2.1
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/indexlogo.png +0 -0
- data/app/assets/stylesheets/educode_sales/app.css +23 -0
- data/app/assets/stylesheets/educode_sales/public.css +4 -0
- data/app/controllers/educode_sales/businesses_controller.rb +12 -1
- data/app/controllers/educode_sales/follow_ups_controller.rb +13 -0
- data/app/controllers/educode_sales/home_controller.rb +7 -7
- data/app/controllers/educode_sales/operation_reports_controller.rb +3 -3
- data/app/controllers/educode_sales/staffs_controller.rb +3 -2
- data/app/controllers/educode_sales/teacher_follows_controller.rb +1 -0
- data/app/controllers/educode_sales/teachers_controller.rb +1 -0
- data/app/models/educode_sales/activity.rb +1 -1
- data/app/models/educode_sales/staff.rb +3 -3
- data/app/models/educode_sales/teacher.rb +3 -2
- data/app/views/educode_sales/activities/index.html.erb +11 -11
- data/app/views/educode_sales/activities/show_teachers.html.erb +1 -5
- data/app/views/educode_sales/businesses/edit_plan.html.erb +7 -2
- data/app/views/educode_sales/businesses/index.html.erb +18 -10
- data/app/views/educode_sales/businesses/index.json.jbuilder +3 -1
- data/app/views/educode_sales/businesses/new.html.erb +1 -1
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +12 -2
- data/app/views/educode_sales/businesses/show_follow.html.erb +23 -19
- data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -0
- data/app/views/educode_sales/businesses/show_keys.html.erb +1 -1
- data/app/views/educode_sales/commons/edit.html.erb +1 -1
- data/app/views/educode_sales/commons/index.html.erb +2 -3
- data/app/views/educode_sales/home/index.html.erb +1 -1
- data/app/views/educode_sales/home/search_teacher.json.jbuilder +2 -2
- data/app/views/educode_sales/home/statistics.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +2 -3
- data/app/views/educode_sales/operation_plans/_monthly.html.erb +2 -2
- data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +2 -3
- data/app/views/educode_sales/operation_plans/_weekly.html.erb +2 -1
- data/app/views/educode_sales/operation_plans/edit_monthly.html.erb +3 -3
- data/app/views/educode_sales/operation_plans/edit_weekly.html.erb +3 -3
- data/app/views/educode_sales/operation_plans/new_month.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/new_monthly.html.erb +3 -3
- data/app/views/educode_sales/operation_plans/new_week.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/new_weekly.html.erb +3 -3
- data/app/views/educode_sales/operation_plans/show_monthly.html.erb +3 -3
- data/app/views/educode_sales/operation_plans/show_weekly.html.erb +3 -3
- data/app/views/educode_sales/operation_reports/audit.html.erb +2 -2
- data/app/views/educode_sales/operation_reports/edit.html.erb +3 -3
- data/app/views/educode_sales/operation_reports/show.html.erb +139 -27
- data/app/views/educode_sales/places/index.html.erb +6 -6
- data/app/views/educode_sales/plans/_monthPlan.html.erb +2 -1
- data/app/views/educode_sales/plans/_monthly.html.erb +2 -1
- data/app/views/educode_sales/plans/_weekPlan.html.erb +2 -1
- data/app/views/educode_sales/plans/_weekly.html.erb +2 -1
- data/app/views/educode_sales/plans/audit_weekly.html.erb +3 -3
- data/app/views/educode_sales/plans/edit_monthly.html.erb +3 -3
- data/app/views/educode_sales/plans/edit_weekly.html.erb +1 -1
- data/app/views/educode_sales/plans/new_monthly.html.erb +1 -1
- data/app/views/educode_sales/plans/new_weekly.html.erb +1 -1
- data/app/views/educode_sales/plans/show_monthly.html.erb +3 -3
- data/app/views/educode_sales/plans/show_weekly.html.erb +1 -1
- data/app/views/educode_sales/roles/index.html.erb +2 -1
- data/app/views/educode_sales/sale_reports/audit.html.erb +1 -1
- data/app/views/educode_sales/sale_reports/edit.html.erb +3 -3
- data/app/views/educode_sales/sale_reports/show.html.erb +1 -1
- data/app/views/educode_sales/sale_trends/operations.html.erb +1 -1
- data/app/views/educode_sales/sales/index.html.erb +12 -7
- data/app/views/educode_sales/sales/index.json.jbuilder +1 -1
- data/app/views/educode_sales/sales/operations.html.erb +7 -5
- data/app/views/educode_sales/sales/operations.json.jbuilder +3 -2
- data/app/views/educode_sales/sales/school.html.erb +1 -2
- data/app/views/educode_sales/sales/xschool.html.erb +1 -2
- data/app/views/educode_sales/staffs/follow_up_departments.json.jbuilder +1 -2
- data/app/views/educode_sales/staffs/follow_up_schools.json.jbuilder +1 -2
- data/app/views/educode_sales/staffs/index.html.erb +6 -8
- data/app/views/educode_sales/staffs/new.html.erb +1 -1
- data/app/views/educode_sales/teachers/add_courses.html.erb +3 -3
- data/app/views/educode_sales/teachers/add_event.html.erb +1 -1
- data/app/views/educode_sales/teachers/add_keys.html.erb +11 -5
- data/app/views/educode_sales/teachers/index.html.erb +8 -6
- data/app/views/educode_sales/teachers/new_follow_record.html.erb +1 -0
- data/app/views/educode_sales/teachers/search_new.html.erb +2 -2
- data/app/views/educode_sales/teachers/show_class.html.erb +1 -1
- data/app/views/educode_sales/teachers/show_follow.html.erb +11 -9
- data/app/views/educode_sales/teachers/show_follow.json.jbuilder +1 -0
- data/app/views/layouts/educode_sales/application.html.erb +6 -9
- data/config/routes.rb +1 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +3 -2
@@ -32,17 +32,17 @@
|
|
32
32
|
{
|
33
33
|
field: 'id',
|
34
34
|
width: 80,
|
35
|
-
title: '
|
35
|
+
title:'序号',type: 'numbers',
|
36
36
|
sort: true
|
37
37
|
},
|
38
38
|
{
|
39
39
|
field: 'name',
|
40
|
-
width:
|
40
|
+
width: 120,
|
41
41
|
title: '用户名'
|
42
42
|
},
|
43
43
|
{
|
44
44
|
field: 'role',
|
45
|
-
width:
|
45
|
+
width: 120,
|
46
46
|
title: '角色'
|
47
47
|
},
|
48
48
|
{
|
@@ -53,11 +53,10 @@
|
|
53
53
|
{
|
54
54
|
field: 'area',
|
55
55
|
title: '负责区域',
|
56
|
-
minWidth: 150
|
57
56
|
},
|
58
57
|
{
|
59
58
|
field: 'month',
|
60
|
-
width:
|
59
|
+
width: 120,
|
61
60
|
title: '有效月份'
|
62
61
|
},
|
63
62
|
{
|
@@ -67,14 +66,13 @@
|
|
67
66
|
},
|
68
67
|
{
|
69
68
|
title: '操作',
|
70
|
-
|
69
|
+
width: 200,
|
71
70
|
toolbar: '#staff_bar',
|
72
71
|
align: "center"
|
73
72
|
}
|
74
73
|
]
|
75
74
|
],
|
76
|
-
|
77
|
-
limit: 15,
|
75
|
+
limit: 20,
|
78
76
|
page: true,
|
79
77
|
skin: 'line'
|
80
78
|
});
|
@@ -36,7 +36,7 @@
|
|
36
36
|
layReqText: '请填写文本', //同layui form参数lay-ReqText
|
37
37
|
initValue: '', // 渲染初始化默认值
|
38
38
|
hasSelectIcon: false,
|
39
|
-
placeholder: '
|
39
|
+
placeholder: '请输入头歌平台上用户名、手机号、邮箱或登录账号', // 渲染的inputplaceholder值
|
40
40
|
data: [],
|
41
41
|
remoteSearch: true, // 是否启用远程搜索 默认是false,和远程搜索回调保存同步
|
42
42
|
remoteMethod: function (value, cb) { // 远程搜索的回调函数
|
@@ -75,7 +75,7 @@
|
|
75
75
|
{
|
76
76
|
field: 'id',
|
77
77
|
width:100,
|
78
|
-
title:
|
78
|
+
title:'序号',type: 'numbers',
|
79
79
|
},
|
80
80
|
{
|
81
81
|
field: 'name',
|
@@ -96,8 +96,8 @@
|
|
96
96
|
}
|
97
97
|
]
|
98
98
|
],
|
99
|
-
//
|
100
|
-
//
|
99
|
+
//
|
100
|
+
//
|
101
101
|
// page: true,
|
102
102
|
skin: 'line'
|
103
103
|
});
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= Gon::Base.render_data %>
|
2
|
-
<div class="layuimini-main edit-table">
|
3
|
-
<div class="layui-form layuimini-form" lay-filter="teacher_form">
|
2
|
+
<div class="layuimini-main edit-table" >
|
3
|
+
<div class="layui-form layuimini-form" lay-filter="teacher_form" id="show_follow_box">
|
4
4
|
<fieldset class="table-search-fieldset">
|
5
5
|
<legend>添加关键人</legend>
|
6
6
|
<div class="layui-form-item">
|
@@ -34,7 +34,7 @@
|
|
34
34
|
<div class="layui-input-inline" style="width: 300px;">
|
35
35
|
<label class="layui-form-label required">态度</label>
|
36
36
|
<div class="layui-input-block">
|
37
|
-
<%= select_tag "attitude_id", options_for_select(@attitudes, @person&.attitude_id),
|
37
|
+
<%= select_tag "attitude_id", options_for_select(@attitudes, @person&.attitude_id), {"lay-verify": "required", include_blank: true} %>
|
38
38
|
</div>
|
39
39
|
</div>
|
40
40
|
</div>
|
@@ -58,8 +58,9 @@
|
|
58
58
|
</div>
|
59
59
|
</div>
|
60
60
|
</fieldset>
|
61
|
-
|
62
61
|
</div>
|
62
|
+
|
63
|
+
|
63
64
|
<h4 class="m-t-10">关键人列表</h4>
|
64
65
|
<table class="layui-hide" id="key_person" style="min-height: 300px;" lay-filter="key_person"></table>
|
65
66
|
</div>
|
@@ -97,10 +98,15 @@
|
|
97
98
|
</div>
|
98
99
|
</script>
|
99
100
|
<script type="text/html" id="key_person_tabar">
|
101
|
+
{{# if(parent.is_latest){ }}
|
100
102
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">保存</a>
|
101
103
|
<a class="layui-btn layui-btn-danger layui-btn-xs data-count-edit" lay-event="delete">删除</a>
|
104
|
+
{{# } }}
|
102
105
|
</script>
|
103
106
|
<script>
|
107
|
+
if(!parent.is_latest){
|
108
|
+
document.getElementById("show_follow_box").style.display="none";//隐藏
|
109
|
+
}
|
104
110
|
layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'laydate', 'selectInput'], function () {
|
105
111
|
var form = layui.form,
|
106
112
|
layer = layui.layer,
|
@@ -189,7 +195,7 @@
|
|
189
195
|
[{
|
190
196
|
field: 'id',
|
191
197
|
width: 80,
|
192
|
-
title: '
|
198
|
+
title:'序号',type: 'numbers',
|
193
199
|
sort: true
|
194
200
|
}, {
|
195
201
|
field: 'name',
|
@@ -28,7 +28,8 @@
|
|
28
28
|
<div class="layui-inline">
|
29
29
|
<label class="layui-form-label">态度</label>
|
30
30
|
<div class="layui-input-inline">
|
31
|
-
|
31
|
+
|
32
|
+
<%= select_tag "attitude", options_for_select(EducodeSales::Common.where(clazz: 'teacher_attitude').pluck(:name, :id)), { include_blank: true } %>
|
32
33
|
</div>
|
33
34
|
</div>
|
34
35
|
<div class="layui-inline">
|
@@ -78,10 +79,10 @@
|
|
78
79
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="addWeek">添加周计划</a>
|
79
80
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="addMonth">添加月计划</a>
|
80
81
|
<% end %>
|
81
|
-
<% if can? :update, EducodeSales::
|
82
|
+
<% if can? :update, EducodeSales::Teacher %>
|
82
83
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
83
84
|
<% end %>
|
84
|
-
<% if can? :destroy, EducodeSales::
|
85
|
+
<% if can? :destroy, EducodeSales::Teacher %>
|
85
86
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
86
87
|
<% end %>
|
87
88
|
</script>
|
@@ -136,7 +137,7 @@
|
|
136
137
|
{
|
137
138
|
field: 'id',
|
138
139
|
width: 120,
|
139
|
-
title:
|
140
|
+
title:'序号',type: 'numbers',
|
140
141
|
},
|
141
142
|
{
|
142
143
|
field: 'name',
|
@@ -225,6 +226,7 @@
|
|
225
226
|
}
|
226
227
|
]
|
227
228
|
],
|
229
|
+
limit: 20,
|
228
230
|
page: true,
|
229
231
|
});
|
230
232
|
|
@@ -347,7 +349,7 @@
|
|
347
349
|
})
|
348
350
|
});
|
349
351
|
} else if (obj.event === 'addWeek') {
|
350
|
-
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_week');
|
352
|
+
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_week?teacher_id=' + obj.data.id);
|
351
353
|
var openWH = miniPage.getOpenWidthHeight();
|
352
354
|
|
353
355
|
sindex = layer.open({
|
@@ -364,7 +366,7 @@
|
|
364
366
|
layer.full(sindex);
|
365
367
|
});
|
366
368
|
} else if (obj.event === 'addMonth') {
|
367
|
-
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_month');
|
369
|
+
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_month?teacher_id=' + obj.data.id);
|
368
370
|
var openWH = miniPage.getOpenWidthHeight();
|
369
371
|
sindex = layer.open({
|
370
372
|
title: '添加月计划',
|
@@ -13,12 +13,14 @@
|
|
13
13
|
<% if can? :read, EducodeSales::TeacherFollow %>
|
14
14
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
|
15
15
|
<% end %>
|
16
|
+
{{# if(d.is_latest){ }}
|
16
17
|
<% if can? :update, EducodeSales::TeacherFollow %>
|
17
18
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
18
19
|
<% end %>
|
19
20
|
<% if can? :destroy, EducodeSales::TeacherFollow %>
|
20
21
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
21
22
|
<% end %>
|
23
|
+
{{# } }}
|
22
24
|
</script>
|
23
25
|
|
24
26
|
|
@@ -40,7 +42,7 @@
|
|
40
42
|
{
|
41
43
|
field: 'id',
|
42
44
|
width: 100,
|
43
|
-
title:
|
45
|
+
title:'序号',type: 'numbers',
|
44
46
|
},
|
45
47
|
{
|
46
48
|
field: 'time',
|
@@ -109,8 +111,8 @@
|
|
109
111
|
}
|
110
112
|
]
|
111
113
|
],
|
112
|
-
|
113
|
-
|
114
|
+
|
115
|
+
|
114
116
|
page: true,
|
115
117
|
skin: 'line'
|
116
118
|
});
|
@@ -147,7 +149,7 @@
|
|
147
149
|
var data = obj.data;
|
148
150
|
var id = data.id
|
149
151
|
if (obj.event === 'delete') {
|
150
|
-
layer.confirm('
|
152
|
+
layer.confirm('确定删除ID为' + data.id + "的跟进记录", function (index) {
|
151
153
|
request.authDelete("educode_sales/teacher_follows/" + data.id, {}, function() {
|
152
154
|
obj.del();
|
153
155
|
layer.close(index);
|
@@ -252,7 +254,7 @@
|
|
252
254
|
<!--未完成计划列表-->
|
253
255
|
<script type="text/html" id="unfinish_toolbar">
|
254
256
|
<div class="layui-btn-container">
|
255
|
-
<span class="table-label"
|
257
|
+
<span class="table-label">跟进计划列表</span>
|
256
258
|
<!-- <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="addMonthPlan"> 添加月计划-->
|
257
259
|
<!-- </button>-->
|
258
260
|
<!-- <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="addWeekPlan"> 添加周计划-->
|
@@ -293,7 +295,7 @@
|
|
293
295
|
{
|
294
296
|
field: 'id',
|
295
297
|
width: 100,
|
296
|
-
title:
|
298
|
+
title:'序号',type: 'numbers',
|
297
299
|
},
|
298
300
|
{
|
299
301
|
field: 'staff',
|
@@ -333,8 +335,8 @@
|
|
333
335
|
}
|
334
336
|
]
|
335
337
|
],
|
336
|
-
|
337
|
-
|
338
|
+
|
339
|
+
|
338
340
|
page: true,
|
339
341
|
skin: 'line'
|
340
342
|
});
|
@@ -419,7 +421,7 @@
|
|
419
421
|
var data = obj.data;
|
420
422
|
var id = data.id
|
421
423
|
if (obj.event === 'delete') {
|
422
|
-
layer.confirm('
|
424
|
+
layer.confirm('确定删除ID为' + data.id + "的计划", function (index) {
|
423
425
|
request.authDelete("educode_sales/operation_plans/" + data.id, {}, function() {
|
424
426
|
obj.del();
|
425
427
|
layer.close(index);
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
-
<title
|
4
|
+
<title>头歌营销系统</title>
|
5
5
|
<%= csrf_meta_tags %>
|
6
6
|
<%= csp_meta_tag %>
|
7
7
|
<%= Gon::Base.render_data %>
|
8
|
-
<%= favicon_link_tag "educode_sales/
|
8
|
+
<%= favicon_link_tag "educode_sales/logo.png" %>
|
9
9
|
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
|
10
10
|
<%= stylesheet_link_tag "educode_sales/application", media: "all" %>
|
11
11
|
<%= javascript_include_tag "educode_sales/application" %>
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<div class="layui-header">
|
16
16
|
<div class="layui-logo layui-hide-xs layui-bg-black">
|
17
17
|
<%= image_tag "educode_sales/logo.png", class: 'header-logo' %>
|
18
|
-
<span class="app-title"
|
18
|
+
<span class="app-title">营销系统</span>
|
19
19
|
</div>
|
20
20
|
<ul class="layui-nav layui-layout-right">
|
21
21
|
<li class="layui-nav-item layui-hide layui-show-md-inline-block">
|
@@ -41,7 +41,7 @@
|
|
41
41
|
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
42
42
|
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
43
43
|
<li class="layui-nav-item layui-nav-itemed">
|
44
|
-
<a class="" href="javascript:;">销售活动</a>
|
44
|
+
<a class="" href="javascript:;"><b>销售活动</b></a>
|
45
45
|
<dl class="layui-nav-child">
|
46
46
|
<% if can? :trends, EducodeSales::SaleTrend %>
|
47
47
|
<dd>
|
@@ -65,7 +65,7 @@
|
|
65
65
|
</dl>
|
66
66
|
</li>
|
67
67
|
<li class="layui-nav-item layui-nav-itemed">
|
68
|
-
<a class="" href="javascript:;">运营活动</a>
|
68
|
+
<a class="" href="javascript:;"><b>运营活动</b></a>
|
69
69
|
<dl class="layui-nav-child">
|
70
70
|
<% if can? :read, EducodeSales::OperationTrend %>
|
71
71
|
<dd>
|
@@ -92,7 +92,7 @@
|
|
92
92
|
</li>
|
93
93
|
<% if @current_admin.is_admin %>
|
94
94
|
<li class="layui-nav-item layui-nav-itemed">
|
95
|
-
<a class="" href="javascript:;">系统设置</a>
|
95
|
+
<a class="" href="javascript:;"><b>系统设置</b></a>
|
96
96
|
<dl class="layui-nav-child">
|
97
97
|
<dd><a href="/educode_sales/roles" class="<%= current?('layui-this', roles_path) %>">角色管理</a></dd>
|
98
98
|
<dd><a href="/educode_sales/staffs" class="<%= current?('layui-this', staffs_path) %>">人员管理</a></dd>
|
@@ -115,9 +115,6 @@
|
|
115
115
|
</div>
|
116
116
|
</div>
|
117
117
|
|
118
|
-
<div class="layui-footer">
|
119
|
-
湖南智擎科技有限公司营销支撑系统
|
120
|
-
</div>
|
121
118
|
</div>
|
122
119
|
|
123
120
|
|
data/config/routes.rb
CHANGED
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.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -86,6 +86,7 @@ files:
|
|
86
86
|
- app/assets/images/educode_sales/icon-ext.png
|
87
87
|
- app/assets/images/educode_sales/icon-login.png
|
88
88
|
- app/assets/images/educode_sales/icon.png
|
89
|
+
- app/assets/images/educode_sales/indexlogo.png
|
89
90
|
- app/assets/images/educode_sales/loading-0.gif
|
90
91
|
- app/assets/images/educode_sales/loading-1.gif
|
91
92
|
- app/assets/images/educode_sales/loading-2.gif
|