educode_sales 0.7.8 → 0.8.2
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/application_controller.rb +14 -0
- data/app/controllers/educode_sales/assessments_controller.rb +126 -259
- data/app/controllers/educode_sales/businesses_controller.rb +66 -2
- data/app/controllers/educode_sales/customers_controller.rb +0 -3
- data/app/helpers/educode_sales/application_helper.rb +2 -2
- data/app/models/educode_sales/business.rb +8 -0
- data/app/models/educode_sales/business_relation_ship.rb +6 -0
- data/app/models/educode_sales/customer_follow.rb +1 -0
- data/app/models/educode_sales/filter.rb +15 -0
- data/app/models/educode_sales/follow_up.rb +2 -0
- data/app/models/educode_sales/role_area.rb +1 -1
- data/app/views/educode_sales/assessments/_setup.html.erb +92 -22
- data/app/views/educode_sales/assessments/edit.html.erb +3 -2
- data/app/views/educode_sales/assessments/index.html.erb +1 -2
- data/app/views/educode_sales/assessments/index.json.jbuilder +1 -1
- data/app/views/educode_sales/assessments/new.html.erb +2 -1
- data/app/views/educode_sales/assessments/progress.json.jbuilder +2 -198
- data/app/views/educode_sales/businesses/following_businesses.jbuilder +44 -0
- data/app/views/educode_sales/businesses/index.html.erb +189 -33
- data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
- data/app/views/educode_sales/businesses/show_follow.html.erb +1 -3
- data/app/views/educode_sales/money_plans/index.json.jbuilder +1 -1
- data/app/views/layouts/educode_sales/application.html.erb +1 -1
- data/config/routes.rb +4 -0
- data/db/migrate/20220420071909_create_educode_sales_business_relation_ships.rb +10 -0
- data/db/migrate/20220507020149_create_filter.rb +10 -0
- data/db/migrate/20220507091959_change_educode_sales_filter_column_length.rb +5 -0
- data/db/migrate/20220509073936_update_educode_sales_filters_filter_data.rb +9 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +9 -2
@@ -100,6 +100,7 @@
|
|
100
100
|
<% if can? :create, EducodeSales::Business %>
|
101
101
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加商机</button>
|
102
102
|
<% end %>
|
103
|
+
<button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right" lay-event="followes"> 我的关注</button>
|
103
104
|
<button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right" lay-event="mine"> 我的商机</button>
|
104
105
|
<button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right" lay-event="all"> 全部商机</button>
|
105
106
|
</div>
|
@@ -138,9 +139,14 @@
|
|
138
139
|
{{# }}}
|
139
140
|
<% end %>
|
140
141
|
<% if @more %>
|
141
|
-
|
142
|
+
{{# if(d.followed==0){}}
|
143
|
+
<a class="layui-btn-xs data-count-edit more-btn more-btn1" data-name={{d.name}} data-id={{d.id}}>更多<i class="layui-icon layui-icon-down layui-nav-more"></i></a>
|
144
|
+
{{# }else{}}
|
145
|
+
<a class="layui-btn-xs data-count-edit more-btn more-btn2" data-name={{d.name}} data-id={{d.id}}>更多<i class="layui-icon layui-icon-down layui-nav-more"></i></a>
|
146
|
+
{{# }}}
|
142
147
|
<% end %>
|
143
148
|
</script>
|
149
|
+
|
144
150
|
<script type="text/html" id="show_keys">
|
145
151
|
<a href="javascript:void(0);" lay-event="show_keys" class="layui-table-link">{{ d.teachers_count }}</a>
|
146
152
|
</script>
|
@@ -151,10 +157,13 @@
|
|
151
157
|
<a href="<%= base_url%>/colleges/{{d.school_id}}/statistics" class="layui-table-link" target="_blank">{{ d.school
|
152
158
|
}}</a>
|
153
159
|
</script>
|
160
|
+
<script type="text/html" id="follows">
|
161
|
+
<a href="<%= base_url%>/colleges/{{d.school_id}}/statistics" class="layui-table-link" target="_blank">kkkkk</a>
|
162
|
+
</script>
|
154
163
|
|
155
164
|
|
156
165
|
<script>
|
157
|
-
layui.use(['form', 'table', 'miniPage', 'element', 'request', 'laydate', 'dropdown'], function () {
|
166
|
+
layui.use(['form', 'table', 'miniPage', 'element', 'request', 'laydate', 'dropdown','laytpl'], function () {
|
158
167
|
var $ = layui.jquery,
|
159
168
|
form = layui.form,
|
160
169
|
request = layui.request,
|
@@ -252,8 +261,8 @@
|
|
252
261
|
elem: '#businesses_table',
|
253
262
|
url: '/missions/businesses',
|
254
263
|
where: {q: data},
|
255
|
-
defaultToolbar: ['filter'],
|
256
264
|
toolbar: '#bussinessBar',
|
265
|
+
defaultToolbar: ['filter'],
|
257
266
|
title: '商机数据表',
|
258
267
|
totalRow: true,//开启合并行
|
259
268
|
cols: [
|
@@ -270,19 +279,22 @@
|
|
270
279
|
width: 170,
|
271
280
|
title: '商机名称',
|
272
281
|
templet: '<div><span title="{{d.name}}">{{d.name}}</span></div>',
|
273
|
-
fixed: 'left'
|
282
|
+
fixed: 'left',
|
283
|
+
hide: gon.filter.name
|
274
284
|
},
|
275
285
|
{
|
276
286
|
field: 'school',
|
277
287
|
width: 150,
|
278
288
|
title: '单位',
|
279
|
-
templet: '#school_name'
|
289
|
+
templet: '#school_name',
|
290
|
+
hide: gon.filter.school
|
280
291
|
},
|
281
292
|
{
|
282
293
|
field: 'department',
|
283
294
|
width: 150,
|
284
295
|
title: '部门',
|
285
|
-
templet: '<div><span title="{{d.department}}">{{d.department}}</span></div>'
|
296
|
+
templet: '<div><span title="{{d.department}}">{{d.department}}</span></div>',
|
297
|
+
hide: gon.filter.department
|
286
298
|
},
|
287
299
|
{
|
288
300
|
field: 'follow_ups_count',
|
@@ -290,6 +302,7 @@
|
|
290
302
|
width: 60,
|
291
303
|
templet: '#show_follow',
|
292
304
|
totalRow: true,
|
305
|
+
hide: gon.filter.follow_ups_count
|
293
306
|
},
|
294
307
|
// {
|
295
308
|
// field: 'teachers_count',
|
@@ -301,109 +314,142 @@
|
|
301
314
|
field: 'clazz',
|
302
315
|
width: 80,
|
303
316
|
title: '类型',
|
304
|
-
templet: '<div><span title="{{d.clazz}}">{{d.clazz}}</span></div>'
|
317
|
+
templet: '<div><span title="{{d.clazz}}">{{d.clazz}}</span></div>',
|
318
|
+
hide: gon.filter.clazz
|
305
319
|
},
|
306
320
|
{
|
307
321
|
field: 'stage',
|
308
322
|
width: 90,
|
309
|
-
title: '阶段'
|
323
|
+
title: '阶段',
|
324
|
+
hide: gon.filter.stage
|
310
325
|
},
|
311
326
|
{
|
312
327
|
field: 'source',
|
313
328
|
width: 90,
|
314
|
-
title: '商机来源'
|
329
|
+
title: '商机来源',
|
330
|
+
hide: gon.filter.source
|
315
331
|
},
|
316
332
|
{
|
317
333
|
field: 'last_follow_person',
|
318
334
|
width: 100,
|
319
|
-
title: '最新跟进人'
|
335
|
+
title: '最新跟进人',
|
336
|
+
hide: gon.filter.last_follow_person
|
320
337
|
},
|
321
338
|
{
|
322
339
|
field: 'latest_time',
|
323
340
|
width: 200,
|
324
341
|
title: '最新跟进时间',
|
325
|
-
sort: true
|
342
|
+
sort: true,
|
343
|
+
hide: gon.filter.latest_time
|
326
344
|
},
|
327
345
|
{
|
328
346
|
field: 'invitation_at',
|
329
347
|
width: 105,
|
330
348
|
title: '招标时间',
|
331
|
-
sort: true
|
349
|
+
sort: true,
|
350
|
+
hide: gon.filter.invitation_at
|
332
351
|
},
|
333
352
|
{
|
334
353
|
field: 'bidded_date',
|
335
354
|
width: 105,
|
336
355
|
title: '中标时间',
|
337
|
-
sort: true
|
356
|
+
sort: true,
|
357
|
+
hide: gon.filter.bidded_date
|
338
358
|
},
|
339
359
|
{
|
340
360
|
field: 'signed_date',
|
341
361
|
width: 105,
|
342
362
|
title: '签单时间',
|
343
|
-
sort: true
|
363
|
+
sort: true,
|
364
|
+
hide: gon.filter.signed_date
|
344
365
|
},
|
345
366
|
{
|
346
367
|
field: 'reception_at',
|
347
368
|
width: 105,
|
348
369
|
title: '验收时间',
|
349
|
-
sort: true
|
370
|
+
sort: true,
|
371
|
+
hide: gon.filter.reception_at
|
350
372
|
},
|
351
373
|
{
|
352
374
|
field: 'service_end_time',
|
353
375
|
width: 200,
|
354
376
|
title: '服务期',
|
355
|
-
sort: true
|
377
|
+
sort: true,
|
378
|
+
hide: gon.filter.service_end_time
|
356
379
|
},
|
357
380
|
{
|
358
381
|
field: 'total_amount',
|
359
382
|
width: 100,
|
360
383
|
title: '总额',
|
361
384
|
totalRow: true,
|
362
|
-
sort: true
|
385
|
+
sort: true,
|
386
|
+
hide: gon.filter.total_amount
|
363
387
|
},
|
364
388
|
{
|
365
389
|
field: 'actual_amount',
|
366
390
|
width: 100,
|
367
|
-
|
368
|
-
|
369
|
-
|
391
|
+
title: '合同额',
|
392
|
+
totalRow: true,
|
393
|
+
sort: true,
|
394
|
+
hide: gon.filter.actual_amount
|
370
395
|
},
|
371
396
|
{
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
totalRow: true
|
397
|
+
field: 'return_money',
|
398
|
+
width: 100,
|
399
|
+
title: '回款',
|
400
|
+
sort: true,
|
401
|
+
totalRow: true,
|
402
|
+
hide: gon.filter.return_money
|
377
403
|
},
|
378
404
|
{
|
379
405
|
field: 'wait_return_money',
|
380
406
|
width: 100,
|
381
407
|
title: '待回款',
|
382
408
|
sort: true,
|
383
|
-
totalRow: true
|
409
|
+
totalRow: true,
|
410
|
+
hide: gon.filter.wait_return_money
|
384
411
|
},
|
385
412
|
{
|
386
413
|
field: 'return_money_days',
|
387
414
|
width: 150,
|
388
415
|
title: '首次回款周期(天)',
|
416
|
+
hide: gon.filter.return_money_days
|
389
417
|
},
|
390
418
|
{
|
391
419
|
field: 'place',
|
392
420
|
width: 160,
|
393
421
|
title: '渠道',
|
422
|
+
hide: gon.filter.place
|
394
423
|
},
|
395
424
|
{
|
396
425
|
field: 'year',
|
397
426
|
width: 105,
|
398
427
|
title: '所属年度',
|
399
|
-
sort: true
|
428
|
+
sort: true,
|
429
|
+
hide: gon.filter.year
|
400
430
|
},
|
431
|
+
{
|
432
|
+
field: 'followed',
|
433
|
+
templet:function(d){
|
434
|
+
if (d.followed==1){
|
435
|
+
|
436
|
+
return '<i class="layui-icon" style="color: goldenrod"></i> '
|
437
|
+
}
|
438
|
+
|
439
|
+
else return ''
|
440
|
+
},
|
441
|
+
width: 105,
|
442
|
+
title: '关注',
|
443
|
+
align: "center",
|
444
|
+
hide: gon.filter.followed
|
445
|
+
|
446
|
+
},
|
401
447
|
{
|
402
448
|
title: '操作',
|
403
449
|
minWidth: 220,
|
404
450
|
toolbar: '#currentTableBar',
|
405
451
|
align: "center",
|
406
|
-
fixed: 'right'
|
452
|
+
fixed: 'right',
|
407
453
|
}
|
408
454
|
]
|
409
455
|
],
|
@@ -422,15 +468,18 @@
|
|
422
468
|
});
|
423
469
|
|
424
470
|
var dropmenu = gon.menus;
|
471
|
+
var dropmenu2=JSON.parse(JSON.stringify(dropmenu));
|
425
472
|
var export_dropmenu = gon.export_menus;
|
473
|
+
dropmenu2[dropmenu2.findIndex(function (elem){return elem.title.includes("关注")})].title="取消关注";
|
426
474
|
|
427
475
|
drowpdwonRender = function() {
|
428
476
|
dropdown.render({
|
429
|
-
elem: '.more-
|
430
|
-
data: dropmenu,
|
477
|
+
elem: '.more-btn1',
|
478
|
+
data: dropmenu,//dropmenu,
|
431
479
|
click: function(data, othis){
|
432
480
|
var elem = $(this.elem);
|
433
481
|
id = elem.data('id');
|
482
|
+
|
434
483
|
switch (data.event) {
|
435
484
|
case 'week':
|
436
485
|
week(id);
|
@@ -450,9 +499,44 @@
|
|
450
499
|
case 'delete':
|
451
500
|
deleteBusiness(id, elem.data('name'));
|
452
501
|
break;
|
502
|
+
case 'following':
|
503
|
+
following(id);
|
504
|
+
break;
|
453
505
|
}
|
454
506
|
}
|
455
507
|
});
|
508
|
+
dropdown.render({
|
509
|
+
elem: '.more-btn2',
|
510
|
+
data: dropmenu2,//dropmenu,
|
511
|
+
click: function(data, othis){
|
512
|
+
var elem = $(this.elem);
|
513
|
+
id = elem.data('id');
|
514
|
+
|
515
|
+
switch (data.event) {
|
516
|
+
case 'week':
|
517
|
+
week(id);
|
518
|
+
break;
|
519
|
+
case 'month':
|
520
|
+
month(id);
|
521
|
+
break;
|
522
|
+
case 'edit':
|
523
|
+
edit(id);
|
524
|
+
break;
|
525
|
+
case 'file':
|
526
|
+
file(id, elem.data('name'));
|
527
|
+
break;
|
528
|
+
case 'time_line':
|
529
|
+
time_line(id, elem.data('name'));
|
530
|
+
break;
|
531
|
+
case 'delete':
|
532
|
+
deleteBusiness(id, elem.data('name'));
|
533
|
+
break;
|
534
|
+
case 'following':
|
535
|
+
following(id);
|
536
|
+
break;
|
537
|
+
}
|
538
|
+
}
|
539
|
+
});
|
456
540
|
}
|
457
541
|
|
458
542
|
export_drowpdwonRender = function() {
|
@@ -585,6 +669,41 @@
|
|
585
669
|
layer.full(sindex);
|
586
670
|
});
|
587
671
|
}
|
672
|
+
function following(id) {
|
673
|
+
$.ajax({
|
674
|
+
type: "get",
|
675
|
+
dataType: "json",
|
676
|
+
url: '/missions/businesses/followed',
|
677
|
+
data: {business_id:id},
|
678
|
+
success: function (data) {
|
679
|
+
layer.open({
|
680
|
+
title:'关注',
|
681
|
+
content:data.msg,
|
682
|
+
btn: ['确认', '取消'],
|
683
|
+
yes:function (){
|
684
|
+
$.ajax({
|
685
|
+
type: "post",
|
686
|
+
dataType: "json",
|
687
|
+
url: '/missions/businesses/following',
|
688
|
+
data: {business_id:id},
|
689
|
+
success: function (da) {
|
690
|
+
|
691
|
+
layer.msg(da.msg,{icon: da.code==200? 1:2})
|
692
|
+
table.reload("businesses_table")
|
693
|
+
|
694
|
+
},
|
695
|
+
error:function (da){
|
696
|
+
alert('请求错误')
|
697
|
+
}
|
698
|
+
});
|
699
|
+
}
|
700
|
+
})
|
701
|
+
},
|
702
|
+
error:function (data){
|
703
|
+
alert('请求错误')
|
704
|
+
}
|
705
|
+
});
|
706
|
+
}
|
588
707
|
|
589
708
|
function edit(id) {
|
590
709
|
var content = miniPage.getHrefContent('/missions/businesses/' + id + '/edit');
|
@@ -662,7 +781,7 @@
|
|
662
781
|
layer.confirm('确定删除' + name, function (index) {
|
663
782
|
request.delete('missions/businesses/' + id, {}, function (res) {
|
664
783
|
layer.close(index);
|
665
|
-
table.reload("businesses_table")
|
784
|
+
table.reload("businesses_table",{url: '/missions/businesses'})
|
666
785
|
})
|
667
786
|
});
|
668
787
|
}
|
@@ -674,6 +793,7 @@
|
|
674
793
|
sort.field = obj.field;
|
675
794
|
sort.order = obj.type;
|
676
795
|
table.reload('businesses_table', {
|
796
|
+
url: '/missions/businesses',
|
677
797
|
initSort: obj,
|
678
798
|
where: {
|
679
799
|
sort: sort,
|
@@ -698,12 +818,14 @@
|
|
698
818
|
search = data.field
|
699
819
|
console.log(search);
|
700
820
|
table.reload('businesses_table', {
|
821
|
+
url: '/missions/businesses',
|
701
822
|
page: {
|
702
823
|
curr: 1
|
703
824
|
},
|
704
825
|
where: {q: search, sort: sort}
|
705
826
|
}, 'data');
|
706
827
|
table.reload('teachers_table', {
|
828
|
+
url: '/missions/businesses',
|
707
829
|
page: {
|
708
830
|
curr: 1
|
709
831
|
},
|
@@ -734,6 +856,25 @@
|
|
734
856
|
});
|
735
857
|
|
736
858
|
table.on('toolbar(businesses_table)', function (obj) {
|
859
|
+
switch (obj.event) {
|
860
|
+
case 'LAYTABLE_COLS':
|
861
|
+
layui.form.on('checkbox(LAY_TABLE_TOOL_COLS)', function(obj) {
|
862
|
+
var value = obj.elem.checked
|
863
|
+
var name = obj.elem.attributes[1].value
|
864
|
+
request.get('missions/filter?type=businesses_list&name='+name+'&check='+value,{},function (res){
|
865
|
+
let hide_type = "[data-field='"+name+"']"
|
866
|
+
if (res.hidden === 1){
|
867
|
+
$(hide_type).addClass("layui-hide")
|
868
|
+
}else if(res.hidden === 0 ){
|
869
|
+
$(hide_type).removeClass("layui-hide")
|
870
|
+
}else if(res.status === 403){
|
871
|
+
layer.msg("操作失败")
|
872
|
+
}
|
873
|
+
})
|
874
|
+
});
|
875
|
+
}
|
876
|
+
|
877
|
+
|
737
878
|
if (obj.event === 'add') { // 监听添加操作
|
738
879
|
var content = miniPage.getHrefContent('/missions/businesses/new');
|
739
880
|
var openWH = miniPage.getOpenWidthHeight();
|
@@ -753,6 +894,21 @@
|
|
753
894
|
} else if (obj.event === 'all') {
|
754
895
|
search = {"all":"1"}
|
755
896
|
table.reload('businesses_table', {
|
897
|
+
url: '/missions/businesses',
|
898
|
+
page: {
|
899
|
+
curr: 1
|
900
|
+
},
|
901
|
+
where: {q: search, sort: sort}
|
902
|
+
}, 'data');
|
903
|
+
form.val('search_form', {
|
904
|
+
name: '', department: '', staff_id: '', business_type: '', business_step: '',
|
905
|
+
place_id: '', date: '', area: ''
|
906
|
+
})
|
907
|
+
return false;
|
908
|
+
} else if (obj.event === 'followes') {
|
909
|
+
search = {"all":"1"}
|
910
|
+
table.reload('businesses_table', {
|
911
|
+
url: '/missions/businesses/following_businesses',
|
756
912
|
page: {
|
757
913
|
curr: 1
|
758
914
|
},
|
@@ -767,6 +923,7 @@
|
|
767
923
|
else if (obj.event === 'mine') {
|
768
924
|
search = {"mine":"1"}
|
769
925
|
table.reload('businesses_table', {
|
926
|
+
url: '/missions/businesses',
|
770
927
|
page: {
|
771
928
|
curr: 1
|
772
929
|
},
|
@@ -829,7 +986,7 @@
|
|
829
986
|
layer.confirm('确定删除' + data.name, function (index) {
|
830
987
|
request.delete('missions/businesses/' + data.id, {}, function (res) {
|
831
988
|
layer.close(index);
|
832
|
-
table.reload("businesses_table")
|
989
|
+
table.reload("businesses_table",{url: '/missions/businesses',})
|
833
990
|
})
|
834
991
|
});
|
835
992
|
}else if (obj.event === 'add_follow') { // 监听添加操作
|
@@ -929,7 +1086,6 @@
|
|
929
1086
|
});
|
930
1087
|
}
|
931
1088
|
});
|
932
|
-
|
933
1089
|
});
|
934
1090
|
</script>
|
935
1091
|
<style>
|
@@ -32,6 +32,7 @@ json.data do
|
|
32
32
|
json.staff_id d.staff_id
|
33
33
|
json.latest_time d.last_follow_up.present? ? d.last_follow_up.created_at.to_s : ''
|
34
34
|
json.self_flag (d.staff_id == @current_admin.id) || (d.last_follow_up_id.in? follow_up_ids)
|
35
|
+
json.followed d.users.where(user_id:@current_admin.user.id).first ? 1 : 0
|
35
36
|
end
|
36
37
|
end
|
37
38
|
|
@@ -31,7 +31,7 @@
|
|
31
31
|
</li>
|
32
32
|
</ul>
|
33
33
|
<ul class="layui-nav layui-layout-right">
|
34
|
-
<li class="layui-nav-item
|
34
|
+
<li class="layui-nav-item layui-show-md-inline-block" id="logout">
|
35
35
|
<a href="javascript:;">
|
36
36
|
<%= image_tag "/images/#{url_to_avatar(@current_admin.user)}", class: 'layui-nav-img' %>
|
37
37
|
<%= @current_admin.user.real_name %>
|
data/config/routes.rb
CHANGED
@@ -13,6 +13,7 @@ EducodeSales::Engine.routes.draw do
|
|
13
13
|
get :sales_staff, to: "home#sales_staff"
|
14
14
|
get :sales_place, to: "home#sales_place"
|
15
15
|
get :staff_schools, to: "home#staff_schools"
|
16
|
+
get :filter, to: "application#filter"
|
16
17
|
|
17
18
|
|
18
19
|
resources :sessions do
|
@@ -85,6 +86,7 @@ EducodeSales::Engine.routes.draw do
|
|
85
86
|
|
86
87
|
resources :businesses do
|
87
88
|
collection do
|
89
|
+
post :following
|
88
90
|
get :export_records
|
89
91
|
post :get_export_data
|
90
92
|
get :add_export_records
|
@@ -98,6 +100,8 @@ EducodeSales::Engine.routes.draw do
|
|
98
100
|
get :file
|
99
101
|
get :time_line
|
100
102
|
get :upload_file
|
103
|
+
get :following_businesses
|
104
|
+
get :followed
|
101
105
|
end
|
102
106
|
|
103
107
|
member do
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class UpdateEducodeSalesFiltersFilterData < ActiveRecord::Migration[5.2]
|
2
|
+
def change
|
3
|
+
rename_column :educode_sales_filters, :filter_data , :extras
|
4
|
+
rename_column :educode_sales_filters, :filter_type, :clazz
|
5
|
+
EducodeSales::Filter.find_each do |filter|
|
6
|
+
filter.update_attributes!(:extras => nil )
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
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.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -186,12 +186,14 @@ files:
|
|
186
186
|
- app/models/educode_sales/assign_follow_up.rb
|
187
187
|
- app/models/educode_sales/business.rb
|
188
188
|
- app/models/educode_sales/business_export_record.rb
|
189
|
+
- app/models/educode_sales/business_relation_ship.rb
|
189
190
|
- app/models/educode_sales/common.rb
|
190
191
|
- app/models/educode_sales/course_subject.rb
|
191
192
|
- app/models/educode_sales/customer.rb
|
192
193
|
- app/models/educode_sales/customer_add.rb
|
193
194
|
- app/models/educode_sales/customer_extension.rb
|
194
195
|
- app/models/educode_sales/customer_follow.rb
|
196
|
+
- app/models/educode_sales/filter.rb
|
195
197
|
- app/models/educode_sales/follow_up.rb
|
196
198
|
- app/models/educode_sales/key_person.rb
|
197
199
|
- app/models/educode_sales/market_area.rb
|
@@ -235,6 +237,7 @@ files:
|
|
235
237
|
- app/views/educode_sales/businesses/export_records.html.erb
|
236
238
|
- app/views/educode_sales/businesses/export_records.json.jbuilder
|
237
239
|
- app/views/educode_sales/businesses/file.html.erb
|
240
|
+
- app/views/educode_sales/businesses/following_businesses.jbuilder
|
238
241
|
- app/views/educode_sales/businesses/get_export_data.json.jbuilder
|
239
242
|
- app/views/educode_sales/businesses/index.html.erb
|
240
243
|
- app/views/educode_sales/businesses/index.json.jbuilder
|
@@ -450,6 +453,10 @@ files:
|
|
450
453
|
- db/migrate/20220413090940_add_september_progress_to_assessment_settings.rb
|
451
454
|
- db/migrate/20220418033025_add_staff_id_to_sets.rb
|
452
455
|
- db/migrate/20220419103842_add_column_timestamps_to_assessments_settings.rb
|
456
|
+
- db/migrate/20220420071909_create_educode_sales_business_relation_ships.rb
|
457
|
+
- db/migrate/20220507020149_create_filter.rb
|
458
|
+
- db/migrate/20220507091959_change_educode_sales_filter_column_length.rb
|
459
|
+
- db/migrate/20220509073936_update_educode_sales_filters_filter_data.rb
|
453
460
|
- lib/educode_sales.rb
|
454
461
|
- lib/educode_sales/engine.rb
|
455
462
|
- lib/educode_sales/version.rb
|