educode_sales 0.6.6 → 0.7.0
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/controllers/educode_sales/activities_controller.rb +0 -2
- data/app/controllers/educode_sales/businesses_controller.rb +259 -43
- data/app/controllers/educode_sales/customers_controller.rb +48 -15
- data/app/controllers/educode_sales/home_controller.rb +6 -0
- data/app/controllers/educode_sales/money_plans_controller.rb +3 -3
- data/app/controllers/educode_sales/operation_plans_controller.rb +1 -1
- data/app/controllers/educode_sales/plans_controller.rb +1 -1
- data/app/controllers/educode_sales/sale_trends_controller.rb +107 -18
- data/app/controllers/educode_sales/staffs_controller.rb +29 -0
- data/app/controllers/educode_sales/teacher_follows_controller.rb +1 -93
- data/app/controllers/educode_sales/teachers_controller.rb +1 -1
- data/app/models/educode_sales/business_export_record.rb +5 -0
- data/app/models/educode_sales/customer_add.rb +4 -0
- data/app/models/educode_sales/staff.rb +1 -0
- data/app/models/educode_sales/staff_school.rb +6 -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/edit_follow_record.html.erb +4 -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/get_export_data.json.jbuilder +30 -0
- data/app/views/educode_sales/businesses/index.html.erb +161 -8
- data/app/views/educode_sales/businesses/index.json.jbuilder +10 -7
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +6 -5
- data/app/views/educode_sales/businesses/show_follow.html.erb +37 -3
- data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -0
- data/app/views/educode_sales/commons/index.html.erb +7 -1
- data/app/views/educode_sales/customers/index.html.erb +31 -1
- data/app/views/educode_sales/customers/index.json.jbuilder +12 -0
- data/app/views/educode_sales/customers/new.html.erb +106 -53
- data/app/views/educode_sales/home/staff_schools.json.jbuilder +9 -0
- data/app/views/educode_sales/money_plans/index.html.erb +2 -2
- data/app/views/educode_sales/roles/edit.html.erb +16 -10
- data/app/views/educode_sales/roles/index.html.erb +7 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +96 -44
- data/app/views/educode_sales/sale_trends/trends.json.jbuilder +2 -1
- data/app/views/educode_sales/sales/index.json.jbuilder +1 -1
- data/app/views/educode_sales/staffs/edit.html.erb +46 -5
- data/app/views/educode_sales/staffs/index.html.erb +74 -2
- data/app/views/educode_sales/staffs/index.json.jbuilder +1 -0
- data/app/views/educode_sales/teachers/index.html.erb +1 -1
- data/app/views/layouts/educode_sales/application.html.erb +1 -1
- data/config/routes.rb +4 -0
- data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +7 -0
- data/db/migrate/20220121060006_create_educode_sales_business_export_records.rb +10 -0
- data/db/migrate/20220125013811_create_educode_sales_staff_schools.rb +10 -0
- data/db/migrate/20220125033552_create_educode_sales_customer_adds.rb +9 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +12 -2
@@ -25,11 +25,17 @@
|
|
25
25
|
</div>
|
26
26
|
</div>
|
27
27
|
<div class="layui-form-item">
|
28
|
-
<label class="layui-form-label
|
28
|
+
<label class="layui-form-label">负责区域</label>
|
29
29
|
<div class="layui-input-block">
|
30
30
|
<div id="area" class="demo-transfer"></div>
|
31
31
|
</div>
|
32
32
|
</div>
|
33
|
+
<div class="layui-form-item" >
|
34
|
+
<label class="layui-form-label">监管学校</label>
|
35
|
+
<div class="layui-input-inline" style="">
|
36
|
+
<div id="edit_assign_follow" style="width: 1140px;"></div>
|
37
|
+
</div>
|
38
|
+
</div>
|
33
39
|
<div class="layui-form-item">
|
34
40
|
<label class="layui-form-label required">生效日期</label>
|
35
41
|
<div class="layui-input-block">
|
@@ -85,6 +91,40 @@
|
|
85
91
|
return false
|
86
92
|
}
|
87
93
|
})
|
94
|
+
var sales_list = xmSelect.render({
|
95
|
+
el: '#edit_assign_follow',
|
96
|
+
remoteSearch: true,
|
97
|
+
autoRow: true,
|
98
|
+
// clickClose: true,
|
99
|
+
delay: 1000,
|
100
|
+
tips: '支持名称/省份搜索,请至少输入一个字符',
|
101
|
+
searchTips: '支持名称/省份搜索,请至少输入一个字符',
|
102
|
+
paging: true,
|
103
|
+
pageRemote: true,
|
104
|
+
filterable: true,
|
105
|
+
remoteMethod: function (val, cb, show, pageIndex) {
|
106
|
+
if(!val){
|
107
|
+
return cb([]);
|
108
|
+
}
|
109
|
+
$.ajax( '/missions/staff_schools', {
|
110
|
+
method: 'get',
|
111
|
+
data: {
|
112
|
+
q: val,
|
113
|
+
page: pageIndex
|
114
|
+
},
|
115
|
+
dataType: 'json',
|
116
|
+
success: function (res) {
|
117
|
+
var data = res.data;
|
118
|
+
if (res.code == 0) {
|
119
|
+
cb(res.data, res.count);
|
120
|
+
} else {
|
121
|
+
layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
|
122
|
+
}
|
123
|
+
}
|
124
|
+
})
|
125
|
+
}
|
126
|
+
})
|
127
|
+
sales_list.setValue(gon.schools)
|
88
128
|
|
89
129
|
//监听提交
|
90
130
|
form.on('submit(saveBtn)', function (data) {
|
@@ -92,10 +132,11 @@
|
|
92
132
|
layui.each(transfer.getData('area_list'), function (i, v) {
|
93
133
|
area_ids.push(v.value)
|
94
134
|
})
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
}
|
135
|
+
var schools = [];
|
136
|
+
sales_list.getValue().forEach(function(d) {
|
137
|
+
schools.push(d.value);
|
138
|
+
})
|
139
|
+
data.field['school_ids'] = schools;
|
99
140
|
data.field['area_ids'] = area_ids;
|
100
141
|
request.authPut("missions/staffs/" + parent.staff_id, data.field, function (res) {
|
101
142
|
console.log(res.success == false)
|
@@ -4,9 +4,43 @@
|
|
4
4
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加人员</button>
|
5
5
|
</div>
|
6
6
|
</script>
|
7
|
-
|
7
|
+
<div class="layuimini-main min-height-table" id="week_table_wraper">
|
8
|
+
<div class="layui-form layui-form-pane" lay-filter="week_plan_form_filter">
|
9
|
+
<div class="layui-form-item">
|
10
|
+
<div class="layui-inline">
|
11
|
+
<label class="layui-form-label">用户名</label>
|
12
|
+
<div class="layui-input-inline large-select">
|
13
|
+
<input type="text" class="layui-input" id="name" autocomplete="off" name="name">
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="layui-inline">
|
17
|
+
<label class="layui-form-label">角色</label>
|
18
|
+
<div class="layui-input-inline">
|
19
|
+
<%= select_tag "role", options_for_select(EducodeSales::Role.all.pluck(:name, :id)), {'lay-filter': 'role', include_blank: true} %>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="layui-inline">
|
23
|
+
<label class="layui-form-label">人员类型</label>
|
24
|
+
<div class="layui-input-inline large-select">
|
25
|
+
<%= select_tag "staff_type", options_for_select(EducodeSales::Common.where(clazz: 'staff_type').pluck(:name, :id)), {'lay-filter': 'staff_type', include_blank: true} %>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<div class="layui-inline">
|
29
|
+
<label class="layui-form-label">状态</label>
|
30
|
+
<div class="layui-input-inline large-select">
|
31
|
+
<%= select_tag "banned", options_for_select([["启用",0],["禁用",1]]), {'lay-filter': 'banned', include_blank: true} %>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
<div class="layui-inline">
|
35
|
+
<button type="reset" lay-submit class="layui-btn layui-btn-primary" lay-filter="week_plan_reset">重置
|
36
|
+
</button>
|
37
|
+
<button type="submit" lay-submit class="layui-btn layui-btn-primary" lay-filter="week_plan_search">检索
|
38
|
+
</button>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
</div>
|
8
42
|
<table class="layui-hide" id="staff_filter" lay-filter="staff_filter"></table>
|
9
|
-
|
43
|
+
</div>
|
10
44
|
<script type="text/html" id="staff_bar">
|
11
45
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
12
46
|
<a class="layui-btn layui-btn-xs layui-btn-warm data-count-delete" lay-event="disable">禁用</a>
|
@@ -53,6 +87,12 @@
|
|
53
87
|
{
|
54
88
|
field: 'area',
|
55
89
|
title: '负责区域',
|
90
|
+
templet:'<div><span title="{{d.area}}">{{d.area}}</span></div>'
|
91
|
+
},
|
92
|
+
{
|
93
|
+
field: 'schools',
|
94
|
+
title: '监管学校',
|
95
|
+
templet:'<div><span title="{{d.schools}}">{{d.schools}}</span></div>'
|
56
96
|
},
|
57
97
|
{
|
58
98
|
field: 'month',
|
@@ -97,6 +137,38 @@
|
|
97
137
|
});
|
98
138
|
}
|
99
139
|
});
|
140
|
+
var sort = {}, search = {};
|
141
|
+
// table.on('sort(weekPlanTable)', function(obj) {
|
142
|
+
// sort.field = obj.field;
|
143
|
+
// sort.order = obj.type;
|
144
|
+
// table.reload('weekPlanTable', {
|
145
|
+
// initSort: obj,
|
146
|
+
// where: {
|
147
|
+
// sort: sort,
|
148
|
+
// q: search
|
149
|
+
// }
|
150
|
+
// });
|
151
|
+
// })
|
152
|
+
|
153
|
+
// 监听搜索操作
|
154
|
+
form.on('submit(week_plan_search)', function (data) {
|
155
|
+
search = data.field
|
156
|
+
table.reload('staff_filter', {
|
157
|
+
page: {
|
158
|
+
curr: 1
|
159
|
+
},
|
160
|
+
where: {q: search, sort : sort}
|
161
|
+
}, 'data');
|
162
|
+
|
163
|
+
return false;
|
164
|
+
});
|
165
|
+
|
166
|
+
form.on('submit(week_plan_reset)', function(data){
|
167
|
+
var field = data.field;
|
168
|
+
form.val('week_plan_form_filter', {name: '', role: '', staff_type: '', banned: ''})
|
169
|
+
return false;
|
170
|
+
});
|
171
|
+
|
100
172
|
table.on('tool(staff_filter)', function (obj) {
|
101
173
|
var data = obj.data;
|
102
174
|
staff_id = data.id;
|
@@ -4,6 +4,7 @@ json.data do
|
|
4
4
|
json.id d.id
|
5
5
|
json.name d.user.real_name
|
6
6
|
json.role d.role&.name
|
7
|
+
json.schools d.staff_schools.map(&:school).map(&:name).join("、")
|
7
8
|
json.job_type EducodeSales::Common.job_type_name[d.job_type]
|
8
9
|
json.month d.month
|
9
10
|
json.enabled_at d.enabled_at ? d.enabled_at.to_s(:date) : ''
|
@@ -68,7 +68,7 @@
|
|
68
68
|
</button>
|
69
69
|
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_teachers">搜 索
|
70
70
|
</button>
|
71
|
-
<a style="padding-left: 20px;color: #0000FF" href="javascript:;" type="submit" class="" lay-submit lay-filter="show_hide"
|
71
|
+
<a style="padding-left: 20px;color: #0000FF" href="javascript:;" type="submit" class="" lay-submit lay-filter="show_hide">高级搜索
|
72
72
|
</a>
|
73
73
|
</div>
|
74
74
|
</div>
|
@@ -71,7 +71,7 @@
|
|
71
71
|
</dd>
|
72
72
|
<% end %>
|
73
73
|
<% if can? :read, EducodeSales::MoneyPlan %>
|
74
|
-
<dd><a href="/missions/money_plans" class="<%= current?('layui-this', money_plans_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/money_plans.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i
|
74
|
+
<dd><a href="/missions/money_plans" class="<%= current?('layui-this', money_plans_path) %>"><i style="padding-right: 35px"></i><%= image_tag "educode_sales/money_plans.png",size:"15"%><i style="font-size: 25px; padding-right: 15px"></i>回款计划</a>
|
75
75
|
</dd>
|
76
76
|
<% end %>
|
77
77
|
<% if can? :read, EducodeSales::Customer %>
|
data/config/routes.rb
CHANGED
@@ -12,6 +12,7 @@ EducodeSales::Engine.routes.draw do
|
|
12
12
|
get :no_permission, to: "home#no_permission"
|
13
13
|
get :sales_staff, to: "home#sales_staff"
|
14
14
|
get :sales_place, to: "home#sales_place"
|
15
|
+
get :staff_schools, to: "home#staff_schools"
|
15
16
|
|
16
17
|
resources :sessions do
|
17
18
|
end
|
@@ -82,6 +83,9 @@ EducodeSales::Engine.routes.draw do
|
|
82
83
|
|
83
84
|
resources :businesses do
|
84
85
|
collection do
|
86
|
+
get :export_records
|
87
|
+
post :get_export_data
|
88
|
+
get :add_export_records
|
85
89
|
get :show_keys
|
86
90
|
get :add_keys
|
87
91
|
get :show_follow
|
@@ -7,12 +7,19 @@ class CreateEducodeSalesRolePermissions < ActiveRecord::Migration[5.2]
|
|
7
7
|
t.timestamps
|
8
8
|
end
|
9
9
|
if EducodeSales::Permission.last.nil?
|
10
|
+
EducodeSales::Permission.create(name: '导出商机', subject: 'Business', action: 'export_business', clazz: 'business', position: '11')
|
11
|
+
|
10
12
|
|
11
13
|
#附件管理权限
|
12
14
|
EducodeSales::Permission.create(name: '查看附件', subject: 'Business', action: 'show_file', clazz: 'business', position: '11')
|
13
15
|
EducodeSales::Permission.create(name: '上传附件', subject: 'Business', action: 'upload_file', clazz: 'business', position: '11')
|
14
16
|
EducodeSales::Permission.create(name: '下载附件', subject: 'Business', action: 'download_file', clazz: 'business', position: '11')
|
15
17
|
EducodeSales::Permission.create(name: '删除附件', subject: 'Business', action: 'delete_file', clazz: 'business', position: '11')
|
18
|
+
#商机个人权限
|
19
|
+
EducodeSales::Permission.create(name: '编辑商机(本人商机)', subject: 'Business', action: 'self_edit_business', clazz: 'business', position: '5')
|
20
|
+
EducodeSales::Permission.create(name: '添加跟进记录(本人商机)', subject: 'Business', action: 'self_add_follow', clazz: 'business', position: '8')
|
21
|
+
EducodeSales::Permission.create(name: '编辑跟进记录(本人创建)', subject: 'Business', action: 'self_edit_follow', clazz: 'business', position: '9')
|
22
|
+
EducodeSales::Permission.create(name: '删除跟进记录(本人创建)', subject: 'Business', action: 'self_delete_follow', clazz: 'business', position: '10')
|
16
23
|
#回款管理权限
|
17
24
|
EducodeSales::Permission.create(name: '查看回款列表', subject: 'MoneyPlan', action: 'read', clazz: 'money_plan', position: '15')
|
18
25
|
|
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.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -177,9 +177,11 @@ files:
|
|
177
177
|
- app/models/educode_sales/application_record.rb
|
178
178
|
- app/models/educode_sales/assign_follow_up.rb
|
179
179
|
- app/models/educode_sales/business.rb
|
180
|
+
- app/models/educode_sales/business_export_record.rb
|
180
181
|
- app/models/educode_sales/common.rb
|
181
182
|
- app/models/educode_sales/course_subject.rb
|
182
183
|
- app/models/educode_sales/customer.rb
|
184
|
+
- app/models/educode_sales/customer_add.rb
|
183
185
|
- app/models/educode_sales/customer_extension.rb
|
184
186
|
- app/models/educode_sales/customer_follow.rb
|
185
187
|
- app/models/educode_sales/follow_up.rb
|
@@ -200,6 +202,7 @@ files:
|
|
200
202
|
- app/models/educode_sales/sale_report.rb
|
201
203
|
- app/models/educode_sales/sale_trend.rb
|
202
204
|
- app/models/educode_sales/staff.rb
|
205
|
+
- app/models/educode_sales/staff_school.rb
|
203
206
|
- app/models/educode_sales/teacher.rb
|
204
207
|
- app/models/educode_sales/teacher_assign_follow.rb
|
205
208
|
- app/models/educode_sales/teacher_follow.rb
|
@@ -212,7 +215,10 @@ files:
|
|
212
215
|
- app/views/educode_sales/businesses/edit.html.erb
|
213
216
|
- app/views/educode_sales/businesses/edit_follow_record.html.erb
|
214
217
|
- app/views/educode_sales/businesses/edit_plan.html.erb
|
218
|
+
- app/views/educode_sales/businesses/export_records.html.erb
|
219
|
+
- app/views/educode_sales/businesses/export_records.json.jbuilder
|
215
220
|
- app/views/educode_sales/businesses/file.html.erb
|
221
|
+
- app/views/educode_sales/businesses/get_export_data.json.jbuilder
|
216
222
|
- app/views/educode_sales/businesses/index.html.erb
|
217
223
|
- app/views/educode_sales/businesses/index.json.jbuilder
|
218
224
|
- app/views/educode_sales/businesses/new.html.erb
|
@@ -254,6 +260,7 @@ files:
|
|
254
260
|
- app/views/educode_sales/home/search_operation_teacher.json.jbuilder
|
255
261
|
- app/views/educode_sales/home/search_teacher.json.jbuilder
|
256
262
|
- app/views/educode_sales/home/search_users.json.jbuilder
|
263
|
+
- app/views/educode_sales/home/staff_schools.json.jbuilder
|
257
264
|
- app/views/educode_sales/home/statistics.html.erb
|
258
265
|
- app/views/educode_sales/money_plans/index.html.erb
|
259
266
|
- app/views/educode_sales/money_plans/index.json.jbuilder
|
@@ -411,6 +418,9 @@ files:
|
|
411
418
|
- db/migrate/20211215025029_create_educode_sales_customer_follows.rb
|
412
419
|
- db/migrate/20211220102720_add_position_to_commons.rb
|
413
420
|
- db/migrate/20211221075146_add_school_id_to_educode_sales_businesses.rb
|
421
|
+
- db/migrate/20220121060006_create_educode_sales_business_export_records.rb
|
422
|
+
- db/migrate/20220125013811_create_educode_sales_staff_schools.rb
|
423
|
+
- db/migrate/20220125033552_create_educode_sales_customer_adds.rb
|
414
424
|
- lib/educode_sales.rb
|
415
425
|
- lib/educode_sales/engine.rb
|
416
426
|
- lib/educode_sales/version.rb
|