educode_sales 0.4.9 → 0.5.3

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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/educode_sales//345/233/236/346/224/266/347/253/231.png +0 -0
  3. data/app/controllers/educode_sales/businesses_controller.rb +27 -13
  4. data/app/controllers/educode_sales/follow_ups_controller.rb +3 -2
  5. data/app/controllers/educode_sales/operation_plans_controller.rb +23 -2
  6. data/app/controllers/educode_sales/operation_reports_controller.rb +33 -3
  7. data/app/controllers/educode_sales/plans_controller.rb +28 -7
  8. data/app/controllers/educode_sales/recycles_controller.rb +95 -0
  9. data/app/controllers/educode_sales/roles_controller.rb +5 -0
  10. data/app/controllers/educode_sales/sale_reports_controller.rb +34 -4
  11. data/app/controllers/educode_sales/sale_trends_controller.rb +171 -0
  12. data/app/controllers/educode_sales/sales_controller.rb +4 -0
  13. data/app/controllers/educode_sales/staffs_controller.rb +4 -4
  14. data/app/controllers/educode_sales/upload_files_controller.rb +40 -27
  15. data/app/models/concerns/deletable.rb +8 -0
  16. data/app/models/educode_sales/application_record.rb +2 -0
  17. data/app/models/educode_sales/business.rb +15 -2
  18. data/app/models/educode_sales/common.rb +2 -1
  19. data/app/models/educode_sales/follow_up.rb +4 -2
  20. data/app/models/educode_sales/recycle.rb +5 -0
  21. data/app/models/educode_sales/sale_plan.rb +3 -0
  22. data/app/models/educode_sales/sale_report.rb +2 -0
  23. data/app/views/educode_sales/businesses/edit_plan.html.erb +2 -2
  24. data/app/views/educode_sales/businesses/file.html.erb +30 -15
  25. data/app/views/educode_sales/businesses/index.html.erb +20 -7
  26. data/app/views/educode_sales/businesses/new_follow_record.html.erb +5 -1
  27. data/app/views/educode_sales/businesses/show_follow.html.erb +8 -2
  28. data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -0
  29. data/app/views/educode_sales/businesses/show_follow_record.html.erb +1 -1
  30. data/app/views/educode_sales/businesses/time_line.html.erb +5 -1
  31. data/app/views/educode_sales/businesses/upload_file.html.erb +4 -4
  32. data/app/views/educode_sales/operation_plans/index.html.erb +6 -1
  33. data/app/views/educode_sales/operation_plans/new_week.html.erb +1 -1
  34. data/app/views/educode_sales/operation_reports/audit.html.erb +14 -6
  35. data/app/views/educode_sales/operation_reports/show.html.erb +13 -10
  36. data/app/views/educode_sales/places/index.html.erb +6 -1
  37. data/app/views/educode_sales/places/index.json.jbuilder +11 -1
  38. data/app/views/educode_sales/plans/index.html.erb +6 -1
  39. data/app/views/educode_sales/plans/new_monthly.html.erb +6 -6
  40. data/app/views/educode_sales/plans/new_week.html.erb +1 -1
  41. data/app/views/educode_sales/plans/new_weekly.html.erb +7 -7
  42. data/app/views/educode_sales/recycles/_business.html.erb +122 -0
  43. data/app/views/educode_sales/recycles/_monthPlan.html.erb +123 -0
  44. data/app/views/educode_sales/recycles/_monthly.html.erb +121 -0
  45. data/app/views/educode_sales/recycles/_weekPlan.html.erb +128 -0
  46. data/app/views/educode_sales/recycles/_weekly.html.erb +122 -0
  47. data/app/views/educode_sales/recycles/business.json.jbuilder +16 -0
  48. data/app/views/educode_sales/recycles/index.html.erb +58 -0
  49. data/app/views/educode_sales/recycles/monthPlan.json.jbuilder +16 -0
  50. data/app/views/educode_sales/recycles/monthly.json.jbuilder +15 -0
  51. data/app/views/educode_sales/recycles/weekPlan.json.jbuilder +16 -0
  52. data/app/views/educode_sales/recycles/weekly.json.jbuilder +15 -0
  53. data/app/views/educode_sales/roles/index.html.erb +19 -1
  54. data/app/views/educode_sales/roles/rename.html.erb +50 -0
  55. data/app/views/educode_sales/sale_reports/audit.html.erb +17 -6
  56. data/app/views/educode_sales/sale_reports/show.html.erb +11 -8
  57. data/app/views/educode_sales/sale_trends/trends.html.erb +252 -8
  58. data/app/views/educode_sales/sale_trends/trends.json.jbuilder +14 -0
  59. data/app/views/educode_sales/sales/index.html.erb +75 -9
  60. data/app/views/educode_sales/sales/index.json.jbuilder +35 -1
  61. data/app/views/educode_sales/sales/operations.json.jbuilder +11 -1
  62. data/app/views/educode_sales/staffs/index.html.erb +6 -1
  63. data/app/views/educode_sales/staffs/index.json.jbuilder +11 -1
  64. data/app/views/educode_sales/teachers/add_keys.html.erb +3 -3
  65. data/app/views/educode_sales/teachers/index.html.erb +7 -2
  66. data/app/views/educode_sales/teachers/new.html.erb +1 -0
  67. data/app/views/educode_sales/upload_files/index.json.jbuilder +2 -2
  68. data/app/views/layouts/educode_sales/application.html.erb +3 -0
  69. data/config/routes.rb +18 -0
  70. data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +6 -0
  71. data/db/migrate/20211109015617_create_educode_sales_recycles.rb +25 -0
  72. data/lib/educode_sales/version.rb +1 -1
  73. metadata +20 -2
@@ -0,0 +1,123 @@
1
+ <script type="text/html" id="toolbarDemo2">
2
+ <div class="layui-btn-container">
3
+ <span class="table-label">月计划列表</span>
4
+ </div>
5
+ </script>
6
+
7
+ <table class="layui-hide" id="monthPlan" lay-filter="monthPlan"></table>
8
+
9
+ <script type="text/html" id="currentTableBar2">
10
+ <%# if can? :update, EducodeSales::monthPlan %>
11
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="restore">还原</a>
12
+ <%# end %>
13
+ <%# if can? :destroy, EducodeSales::monthPlan %>
14
+ <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
15
+ <%# end %>
16
+ </script>
17
+
18
+ <script type="text/html" id="showchance">
19
+ <a href="/missions/businesses" class="layui-table-link">{{ d.chance }}</a>
20
+ </script>
21
+
22
+ <script>
23
+ layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
24
+ var $ = layui.jquery,
25
+ form = layui.form,
26
+ table = layui.table,
27
+ request = layui.request,
28
+ miniPage = layui.miniPage;
29
+
30
+ table.render({
31
+ elem: '#monthPlan',
32
+ url: '/missions/recycles/monthPlan',
33
+ toolbar: '#toolbarDemo2',
34
+ totalRow:true,
35
+ defaultToolbar: [],
36
+ cols: [
37
+ [
38
+ {
39
+ field: 'id',
40
+ width: 60,
41
+ title:'序号',type: 'numbers',
42
+ },
43
+ {
44
+ field: 'name',
45
+ width: 90,
46
+ title: '姓名'
47
+ },
48
+ {
49
+ field: 'month',
50
+ width: 90,
51
+ title: '月份',
52
+ },
53
+ {
54
+ field: 'plan',
55
+ title: '计划内容'
56
+ },
57
+ {
58
+ field: 'update_at',
59
+ width: 160,
60
+ title: '更新时间',
61
+ sort: true,
62
+ },
63
+ {
64
+ field: 'deleter',
65
+ width: 90,
66
+ title: '删除人',
67
+ },
68
+ {
69
+ field: 'delete_time',
70
+ width: 160,
71
+ title: '删除时间',
72
+ sort: true,
73
+ },
74
+ {
75
+ title: '操作',
76
+ width: 120,
77
+ toolbar: '#currentTableBar2',
78
+ align: "center"
79
+ }
80
+ ]
81
+ ],
82
+ limit: 20,
83
+ limits: [10,15,20,30,40,50,60,70,80,90],
84
+ page: true
85
+ });
86
+
87
+ var sort = {}, search = {};
88
+ table.on('sort(monthPlan)', function (obj) {
89
+ sort.field = obj.field;
90
+ sort.order = obj.type;
91
+ table.reload('monthPlan', {
92
+ initSort: obj,
93
+ where: {
94
+ sort: sort,
95
+ q: search
96
+ }
97
+ });
98
+ })
99
+
100
+
101
+ table.on('tool(monthPlan)', function (obj) {
102
+ var data = obj.data;
103
+ var id = data.id
104
+ if (obj.event === 'restore') {
105
+ layer.confirm('确定恢复' + data.name, function (index) {
106
+ request.get('missions/recycles/' + data.id + '/restore_plans', {}, function (res) {
107
+ layer.close(index);
108
+ table.reload("monthPlan")
109
+ table.reload("business")
110
+ })
111
+ });
112
+ } else if (obj.event === 'delete') {
113
+ layer.confirm('确定删除' + data.name, function (index) {
114
+ request.delete('missions/recycles/' + data.id, {}, function (res) {
115
+ layer.close(index);
116
+ table.reload("monthPlan")
117
+ })
118
+ });
119
+ }
120
+ });
121
+
122
+ });
123
+ </script>
@@ -0,0 +1,121 @@
1
+ <script type="text/html" id="toolbarDemo4">
2
+ <div class="layui-btn-container">
3
+ <span class="table-label">周报列表</span>
4
+ </div>
5
+ </script>
6
+
7
+ <table class="layui-hide" id="monthly" lay-filter="monthly"></table>
8
+
9
+ <script type="text/html" id="currentTableBar4">
10
+ <%# if can? :update, EducodeSales::monthly %>
11
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="restore">还原</a>
12
+ <%# end %>
13
+ <%# if can? :destroy, EducodeSales::monthly %>
14
+ <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
15
+ <%# end %>
16
+ </script>
17
+
18
+ <script type="text/html" id="showchance">
19
+ <a href="/missions/businesses" class="layui-table-link">{{ d.chance }}</a>
20
+ </script>
21
+
22
+ <script>
23
+ layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
24
+ var $ = layui.jquery,
25
+ form = layui.form,
26
+ table = layui.table,
27
+ request = layui.request,
28
+ miniPage = layui.miniPage;
29
+
30
+ table.render({
31
+ elem: '#monthly',
32
+ url: '/missions/recycles/monthly',
33
+ toolbar: '#toolbarDemo4',
34
+ totalRow:true,
35
+ defaultToolbar: [],
36
+ cols: [
37
+ [
38
+ {
39
+ field: 'id',
40
+ width: 60,
41
+ title:'序号',type: 'numbers',
42
+ },
43
+ {
44
+ field: 'name',
45
+ width: 90,
46
+ title: '姓名'
47
+ },
48
+ {
49
+ field: 'month',
50
+ width: 90,
51
+ title: '月份'
52
+ },
53
+ {
54
+ field: 'plan',
55
+ title: '计划内容'
56
+ },
57
+ {
58
+ field: 'update_at',
59
+ width: 160,
60
+ title: '更新时间',
61
+ sort: true,
62
+ },
63
+ {
64
+ field: 'deleter',
65
+ width: 90,
66
+ title: '删除人',
67
+ },
68
+ {
69
+ field: 'delete_time',
70
+ width: 160,
71
+ title: '删除时间',
72
+ sort: true,
73
+ },
74
+ {
75
+ title: '操作',
76
+ width: 120,
77
+ toolbar: '#currentTableBar4',
78
+ align: "center"
79
+ }
80
+ ]
81
+ ],
82
+ limit: 20,
83
+ limits: [10,15,20,30,40,50,60,70,80,90],
84
+ page: true
85
+ });
86
+ var sort = {}, search = {};
87
+ table.on('sort(monthly)', function (obj) {
88
+ sort.field = obj.field;
89
+ sort.order = obj.type;
90
+ table.reload('monthly', {
91
+ initSort: obj,
92
+ where: {
93
+ sort: sort,
94
+ q: search
95
+ }
96
+ });
97
+ })
98
+
99
+
100
+ table.on('tool(monthly)', function (obj) {
101
+ var data = obj.data;
102
+ var id = data.id
103
+ if (obj.event === 'restore') {
104
+ layer.confirm('确定恢复' + data.name, function (index) {
105
+ request.get('missions/recycles/' + data.id + '/restore_reports', {}, function (res) {
106
+ layer.close(index);
107
+ table.reload("monthly")
108
+ })
109
+ });
110
+ } else if (obj.event === 'delete') {
111
+ layer.confirm('确定删除' + data.name, function (index) {
112
+ request.delete('missions/recycles/' + data.id, {}, function (res) {
113
+ layer.close(index);
114
+ table.reload("monthly")
115
+ })
116
+ });
117
+ }
118
+ });
119
+
120
+ });
121
+ </script>
@@ -0,0 +1,128 @@
1
+ <script type="text/html" id="toolbarDemo">
2
+ <div class="layui-btn-container">
3
+ <span class="table-label">周计划列表</span>
4
+ </div>
5
+ </script>
6
+
7
+ <table class="layui-hide" id="place" lay-filter="place"></table>
8
+
9
+ <script type="text/html" id="currentTableBar">
10
+ <%# if can? :update, EducodeSales::Place %>
11
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="restore">还原</a>
12
+ <%# end %>
13
+ <%# if can? :destroy, EducodeSales::Place %>
14
+ <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
15
+ <%# end %>
16
+ </script>
17
+
18
+ <script type="text/html" id="showchance">
19
+ <a href="/missions/businesses" class="layui-table-link">{{ d.chance }}</a>
20
+ </script>
21
+
22
+ <script>
23
+ layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
24
+ var $ = layui.jquery,
25
+ form = layui.form,
26
+ table = layui.table,
27
+ request = layui.request,
28
+ miniPage = layui.miniPage;
29
+
30
+ table.render({
31
+ elem: '#place',
32
+ url: '/missions/recycles/weekPlan',
33
+ toolbar: '#toolbarDemo',
34
+ totalRow:true,
35
+ defaultToolbar: [],
36
+ cols: [
37
+ [
38
+ {
39
+ field: 'id',
40
+ width: 60,
41
+ title:'序号',type: 'numbers',
42
+ },
43
+ {
44
+ field: 'name',
45
+ width: 90,
46
+ title: '姓名'
47
+ },
48
+ {
49
+ field: 'month',
50
+ width: 90,
51
+ title: '月份',
52
+ },
53
+ {
54
+ field: 'weekly',
55
+ width: 90,
56
+ title: '周次'
57
+ },
58
+ {
59
+ field: 'plan',
60
+ title: '计划内容'
61
+ },
62
+ {
63
+ field: 'update_at',
64
+ width: 160,
65
+ title: '更新时间',
66
+ sort: true,
67
+ },
68
+ {
69
+ field: 'deleter',
70
+ width: 90,
71
+ title: '删除人',
72
+ },
73
+ {
74
+ field: 'delete_time',
75
+ width: 160,
76
+ title: '删除时间',
77
+ sort: true,
78
+ },
79
+ {
80
+ title: '操作',
81
+ width: 120,
82
+ toolbar: '#currentTableBar',
83
+ align: "center"
84
+ }
85
+ ]
86
+ ],
87
+ limit: 20,
88
+ limits: [10,15,20,30,40,50,60,70,80,90],
89
+ page: true
90
+ });
91
+
92
+ var sort = {}, search = {};
93
+ table.on('sort(place)', function (obj) {
94
+ sort.field = obj.field;
95
+ sort.order = obj.type;
96
+ table.reload('place', {
97
+ initSort: obj,
98
+ where: {
99
+ sort: sort,
100
+ q: search
101
+ }
102
+ });
103
+ })
104
+
105
+
106
+ table.on('tool(place)', function (obj) {
107
+ var data = obj.data;
108
+ var id = data.id
109
+ if (obj.event === 'restore') {
110
+ layer.confirm('确定恢复' + data.name, function (index) {
111
+ request.get('missions/recycles/' + data.id + '/restore_plans', {}, function (res) {
112
+ layer.close(index);
113
+ table.reload("place")
114
+ table.reload("business")
115
+ })
116
+ });
117
+ } else if (obj.event === 'delete') {
118
+ layer.confirm('确定删除' + data.name, function (index) {
119
+ request.delete('missions/recycles/' + data.id, {}, function (res) {
120
+ layer.close(index);
121
+ table.reload("place")
122
+ })
123
+ });
124
+ }
125
+ });
126
+
127
+ });
128
+ </script>
@@ -0,0 +1,122 @@
1
+ <script type="text/html" id="toolbarDemo3">
2
+ <div class="layui-btn-container">
3
+ <span class="table-label">周报列表</span>
4
+ </div>
5
+ </script>
6
+
7
+ <table class="layui-hide" id="weekly" lay-filter="weekly"></table>
8
+
9
+ <script type="text/html" id="currentTableBar3">
10
+ <%# if can? :update, EducodeSales::weekly %>
11
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="restore">还原</a>
12
+ <%# end %>
13
+ <%# if can? :destroy, EducodeSales::weekly %>
14
+ <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
15
+ <%# end %>
16
+ </script>
17
+
18
+ <script type="text/html" id="showchance">
19
+ <a href="/missions/businesses" class="layui-table-link">{{ d.chance }}</a>
20
+ </script>
21
+
22
+ <script>
23
+ layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
24
+ var $ = layui.jquery,
25
+ form = layui.form,
26
+ table = layui.table,
27
+ request = layui.request,
28
+ miniPage = layui.miniPage;
29
+
30
+ table.render({
31
+ elem: '#weekly',
32
+ url: '/missions/recycles/weekly',
33
+ toolbar: '#toolbarDemo3',
34
+ totalRow:true,
35
+ defaultToolbar: [],
36
+ cols: [
37
+ [
38
+ {
39
+ field: 'id',
40
+ width: 60,
41
+ title:'序号',type: 'numbers',
42
+ },
43
+ {
44
+ field: 'name',
45
+ width: 90,
46
+ title: '姓名'
47
+ },
48
+ {
49
+ field: 'weekly',
50
+ width: 90,
51
+ title: '周次'
52
+ },
53
+ {
54
+ field: 'plan',
55
+ title: '计划内容'
56
+ },
57
+ {
58
+ field: 'update_at',
59
+ width: 160,
60
+ title: '更新时间',
61
+ sort: true,
62
+ },
63
+ {
64
+ field: 'deleter',
65
+ width: 90,
66
+ title: '删除人',
67
+ },
68
+ {
69
+ field: 'delete_time',
70
+ width: 160,
71
+ title: '删除时间',
72
+ sort: true,
73
+ },
74
+ {
75
+ title: '操作',
76
+ width: 120,
77
+ toolbar: '#currentTableBar3',
78
+ align: "center"
79
+ }
80
+ ]
81
+ ],
82
+ limit: 20,
83
+ limits: [10,15,20,30,40,50,60,70,80,90],
84
+ page: true
85
+ });
86
+
87
+
88
+ var sort = {}, search = {};
89
+ table.on('sort(weekly)', function (obj) {
90
+ sort.field = obj.field;
91
+ sort.order = obj.type;
92
+ table.reload('weekly', {
93
+ initSort: obj,
94
+ where: {
95
+ sort: sort,
96
+ q: search
97
+ }
98
+ });
99
+ })
100
+
101
+ table.on('tool(weekly)', function (obj) {
102
+ var data = obj.data;
103
+ var id = data.id
104
+ if (obj.event === 'restore') {
105
+ layer.confirm('确定恢复' + data.name, function (index) {
106
+ request.get('missions/recycles/' + data.id + '/restore_reports', {}, function (res) {
107
+ layer.close(index);
108
+ table.reload("weekly")
109
+ })
110
+ });
111
+ } else if (obj.event === 'delete') {
112
+ layer.confirm('确定删除' + data.name, function (index) {
113
+ request.delete('missions/recycles/' + data.id, {}, function (res) {
114
+ layer.close(index);
115
+ table.reload("weekly")
116
+ })
117
+ });
118
+ }
119
+ });
120
+
121
+ });
122
+ </script>
@@ -0,0 +1,16 @@
1
+ json.data do
2
+ json.array! @businesses do |d|
3
+ business = EducodeSales::Business.unscoped.find(d.source_id)
4
+ json.id d.id
5
+ json.name business.name
6
+ json.school business.department.school.name
7
+ json.department business.department.name
8
+ json.last_follow_person business.last_follow_up.present? ? business.last_follow_up.staff.user.real_name : EducodeSales::Staff.find(business.staff_id).user.real_name
9
+ json.latest_time business.last_follow_up.present? ? business.last_follow_up.created_at.to_s : business.created_at.to_s
10
+ json.deleter EducodeSales::Staff.find(d.deleter_id).user.real_name
11
+ json.delete_time d.created_at.to_s
12
+ end
13
+ end
14
+
15
+ json.code 0
16
+ json.count @businesses.total_count
@@ -0,0 +1,58 @@
1
+ <div class="layui-tab" lay-filter="sale_tab">
2
+ <ul class="layui-tab-title">
3
+ <li class="layui-this" data="business">商机列表</li>
4
+ <li data="week">周计划</li>
5
+ <li data="weekly">周报</li>
6
+ <li data="month">月计划</li>
7
+ <li data="monthly">月报</li>
8
+ </ul>
9
+ <div class="layui-tab-content">
10
+ <div class="layui-tab-item layui-show">
11
+ <%= render 'business' %>
12
+ </div>
13
+ <div class="layui-tab-item">
14
+ <%= render 'weekPlan' %>
15
+ </div>
16
+ <div class="layui-tab-item">
17
+ <%= render 'weekly' %>
18
+ </div>
19
+ <div class="layui-tab-item ">
20
+ <%= render 'monthPlan' %>
21
+ </div>
22
+ <div class="layui-tab-item">
23
+ <%= render 'monthly' %>
24
+ </div>
25
+ </div>
26
+ </div>
27
+
28
+ <script>
29
+ layui.use(['element', 'table', 'jquery'], function () {
30
+ var $ = layui.jquery,
31
+ table = layui.table,
32
+ element = layui.element;
33
+ element.on('tab(sale_tab)', function (data) {
34
+ var status = $(this).attr('data')
35
+ switch (status) {
36
+ case 'week':
37
+ $("#week_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
38
+ $("#week_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
39
+ break;
40
+ case 'weekly':
41
+ $("#sales_weelky_table .layui-table-fixed-r")[0].classList.remove('layui-hide');
42
+ $("#sales_weelky_table .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
43
+ break;
44
+ ;
45
+ case 'monthly':
46
+ $("#monthly_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
47
+ $("#monthly_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
48
+ break;
49
+ case 'month':
50
+ $("#month_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
51
+ $("#month_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
52
+ break;
53
+ }
54
+
55
+
56
+ })
57
+ })
58
+ </script>
@@ -0,0 +1,16 @@
1
+ json.data do
2
+ json.array! @monthPlans do |d|
3
+ next if EducodeSales::SalePlan.unscoped.find(d.source_id).weekly.present?
4
+ json.id d.id
5
+ json.name EducodeSales::SalePlan.unscoped.find(d.source_id).staff.user.real_name
6
+ json.month EducodeSales::SalePlan.unscoped.find(d.source_id).month.strftime("%Y-%m")
7
+ json.weekly EducodeSales::SalePlan.unscoped.find(d.source_id).weekly
8
+ json.plan EducodeSales::SalePlan.unscoped.find(d.source_id).content
9
+ json.update_at EducodeSales::SalePlan.unscoped.find(d.source_id).updated_at.to_s
10
+ json.deleter EducodeSales::Staff.find(d.deleter_id).user.real_name
11
+ json.delete_time d.created_at.to_s
12
+ end
13
+ end
14
+
15
+ json.code 0
16
+ json.count @monthPlans.total_count
@@ -0,0 +1,15 @@
1
+ json.data do
2
+ json.array! @monthly do |d|
3
+ next if EducodeSales::SaleReport.unscoped.find(d.source_id).weekly.present?
4
+ json.id d.id
5
+ json.name EducodeSales::SaleReport.unscoped.find(d.source_id).staff.user.real_name
6
+ json.month EducodeSales::SaleReport.unscoped.find(d.source_id).month.strftime('%Y-%m')
7
+ json.plan EducodeSales::SaleReport.unscoped.find(d.source_id).content
8
+ json.update_at EducodeSales::SaleReport.unscoped.find(d.source_id).updated_at.to_s
9
+ json.deleter EducodeSales::Staff.find(d.deleter_id).user.real_name
10
+ json.delete_time d.created_at.to_s
11
+ end
12
+ end
13
+
14
+ json.code 0
15
+ json.count @monthly.total_count
@@ -0,0 +1,16 @@
1
+ json.data do
2
+ json.array! @weekPlans do |d|
3
+ next if EducodeSales::SalePlan.unscoped.find(d.source_id).weekly.nil?
4
+ json.id d.id
5
+ json.name EducodeSales::SalePlan.unscoped.find(d.source_id).staff.user.real_name
6
+ json.month EducodeSales::SalePlan.unscoped.find(d.source_id).month.strftime("%Y-%m")
7
+ json.weekly EducodeSales::SalePlan.unscoped.find(d.source_id).weekly
8
+ json.plan EducodeSales::SalePlan.unscoped.find(d.source_id).content
9
+ json.update_at EducodeSales::SalePlan.unscoped.find(d.source_id).updated_at.to_s
10
+ json.deleter EducodeSales::Staff.find(d.deleter_id).user.real_name
11
+ json.delete_time d.created_at.to_s
12
+ end
13
+ end
14
+
15
+ json.code 0
16
+ json.count @weekPlans.total_count
@@ -0,0 +1,15 @@
1
+ json.data do
2
+ json.array! @weekly do |d|
3
+ next if EducodeSales::SaleReport.unscoped.find(d.source_id).weekly.nil?
4
+ json.id d.id
5
+ json.name EducodeSales::SaleReport.unscoped.find(d.source_id).staff.user.real_name
6
+ json.weekly EducodeSales::SaleReport.unscoped.find(d.source_id).weekly
7
+ json.plan EducodeSales::SaleReport.unscoped.find(d.source_id).content
8
+ json.update_at EducodeSales::SaleReport.unscoped.find(d.source_id).updated_at.to_s
9
+ json.deleter EducodeSales::Staff.find(d.deleter_id).user.real_name
10
+ json.delete_time d.created_at.to_s
11
+ end
12
+ end
13
+
14
+ json.code 0
15
+ json.count @weekly.total_count
@@ -8,6 +8,7 @@
8
8
  </div>
9
9
  </script>
10
10
  <script type="text/html" id="role_bar">
11
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="rename">重命名</a>
11
12
  <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
12
13
  <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
13
14
  </script>
@@ -35,7 +36,6 @@
35
36
  field: 'name',
36
37
  title: '角色',
37
38
  width: 120,
38
- edit: 'text'
39
39
  }, {
40
40
  field: 'permissions',
41
41
  title: '模块浏览权限',
@@ -124,6 +124,24 @@
124
124
  layer.full(index);
125
125
  });
126
126
  return false;
127
+ }else if (obj.event === 'rename') {
128
+ id = data.id
129
+ var content = miniPage.getHrefContent('/missions/roles/rename?id='+id);
130
+ var openWH = miniPage.getOpenWidthHeight();
131
+ rename_index = layer.open({
132
+ title: '重命名',
133
+ type: 1,
134
+ shade: 0.2,
135
+ maxmin: true,
136
+ shadeClose: true,
137
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
138
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
139
+ content: content,
140
+ });
141
+ $(window).on("resize", function () {
142
+ layer.full(index);
143
+ });
144
+ return false;
127
145
  } else if (obj.event === 'delete') {
128
146
  layer.confirm('确定删除' + data.name, function (index) {
129
147
  request.delete('missions/roles/'+ data.id, {}, function(res) {