educode_sales 0.5.5 → 0.5.9

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/educode_sales//345/256/242/346/210/267/347/256/241/347/220/206.png +0 -0
  3. data/app/controllers/educode_sales/businesses_controller.rb +20 -1
  4. data/app/controllers/educode_sales/customer_extensions_controller.rb +17 -0
  5. data/app/controllers/educode_sales/customer_follows_controller.rb +41 -0
  6. data/app/controllers/educode_sales/customers_controller.rb +194 -0
  7. data/app/controllers/educode_sales/follow_ups_controller.rb +58 -1
  8. data/app/controllers/educode_sales/home_controller.rb +18 -2
  9. data/app/controllers/educode_sales/roles_controller.rb +4 -1
  10. data/app/controllers/educode_sales/sale_trends_controller.rb +19 -9
  11. data/app/controllers/educode_sales/sales_controller.rb +3 -0
  12. data/app/controllers/educode_sales/teachers_controller.rb +41 -14
  13. data/app/models/educode_sales/customer.rb +4 -0
  14. data/app/models/educode_sales/customer_extension.rb +7 -0
  15. data/app/models/educode_sales/customer_follow.rb +5 -0
  16. data/app/models/educode_sales/permission.rb +2 -1
  17. data/app/models/educode_sales/role_area.rb +1 -0
  18. data/app/models/educode_sales/teacher.rb +2 -1
  19. data/app/models/educode_sales/teacher_assign_follow.rb +6 -0
  20. data/app/views/educode_sales/activities/index.html.erb +4 -5
  21. data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
  22. data/app/views/educode_sales/businesses/_follows.html.erb +258 -0
  23. data/app/views/educode_sales/businesses/edit_follow_record.html.erb +69 -6
  24. data/app/views/educode_sales/businesses/index.html.erb +155 -66
  25. data/app/views/educode_sales/businesses/index.json.jbuilder +1 -1
  26. data/app/views/educode_sales/businesses/new.html.erb +3 -0
  27. data/app/views/educode_sales/businesses/new_follow_record.html.erb +70 -6
  28. data/app/views/educode_sales/businesses/show_follow.html.erb +15 -10
  29. data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -0
  30. data/app/views/educode_sales/businesses/show_follow_record.html.erb +8 -0
  31. data/app/views/educode_sales/businesses/time_line.html.erb +1 -1
  32. data/app/views/educode_sales/customers/edit.html.erb +60 -0
  33. data/app/views/educode_sales/customers/edit_department.html.erb +52 -0
  34. data/app/views/educode_sales/customers/edit_follow_record.html.erb +50 -0
  35. data/app/views/educode_sales/customers/give.html.erb +51 -0
  36. data/app/views/educode_sales/customers/index.html.erb +485 -0
  37. data/app/views/educode_sales/customers/index.json.jbuilder +25 -0
  38. data/app/views/educode_sales/customers/new.html.erb +89 -0
  39. data/app/views/educode_sales/customers/new_department.html.erb +53 -0
  40. data/app/views/educode_sales/customers/new_follow_record.html.erb +54 -0
  41. data/app/views/educode_sales/customers/show_department.json.jbuilder +13 -0
  42. data/app/views/educode_sales/customers/show_follow.html.erb +439 -0
  43. data/app/views/educode_sales/customers/show_follow.json.jbuilder +13 -0
  44. data/app/views/educode_sales/customers/show_follow_record.html.erb +17 -0
  45. data/app/views/educode_sales/follow_ups/index.json.jbuilder +20 -0
  46. data/app/views/educode_sales/home/sales_place.json.jbuilder +9 -0
  47. data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +6 -0
  48. data/app/views/educode_sales/operation_plans/_monthly.html.erb +2 -0
  49. data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +6 -0
  50. data/app/views/educode_sales/operation_plans/_weekly.html.erb +2 -0
  51. data/app/views/educode_sales/places/index.json.jbuilder +1 -1
  52. data/app/views/educode_sales/plans/_monthPlan.html.erb +5 -0
  53. data/app/views/educode_sales/plans/_monthly.html.erb +1 -0
  54. data/app/views/educode_sales/plans/_weekPlan.html.erb +5 -0
  55. data/app/views/educode_sales/plans/_weekly.html.erb +1 -0
  56. data/app/views/educode_sales/recycles/index.html.erb +1 -1
  57. data/app/views/educode_sales/roles/edit.html.erb +8 -0
  58. data/app/views/educode_sales/sale_trends/trends.html.erb +2 -2
  59. data/app/views/educode_sales/sales/index.html.erb +58 -19
  60. data/app/views/educode_sales/sales/index.json.jbuilder +31 -16
  61. data/app/views/educode_sales/sales/operations.html.erb +4 -1
  62. data/app/views/educode_sales/teachers/course_list.json.jbuilder +1 -1
  63. data/app/views/educode_sales/teachers/edit.html.erb +53 -7
  64. data/app/views/educode_sales/teachers/index.html.erb +42 -3
  65. data/app/views/educode_sales/teachers/index.json.jbuilder +6 -3
  66. data/app/views/educode_sales/teachers/new.html.erb +55 -17
  67. data/app/views/educode_sales/teachers/show_follow.html.erb +10 -5
  68. data/app/views/educode_sales/teachers/show_follow.json.jbuilder +1 -0
  69. data/app/views/layouts/educode_sales/application.html.erb +8 -1
  70. data/config/routes.rb +26 -0
  71. data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +15 -0
  72. data/db/migrate/20211201023750_create_educode_sales_teacher_assign_follows.rb +11 -0
  73. data/db/migrate/20211206054756_add_year_to_follow_ups.rb +5 -0
  74. data/db/migrate/20211214100803_create_customer_extensions.rb +9 -0
  75. data/db/migrate/20211215025029_create_educode_sales_customer_follows.rb +12 -0
  76. data/lib/educode_sales/version.rb +1 -1
  77. metadata +30 -2
@@ -0,0 +1,89 @@
1
+ <form class="layui-form " action="">
2
+ <div class="layui-form-item" style="padding: 25px">
3
+ <div class="layui-inline">
4
+ <label class="layui-form-label required">学校:</label>
5
+ <div class="layui-input-block">
6
+ <input type="text" name="name" required lay-verify="required" placeholder="请输入学校" autocomplete="off"
7
+ class="layui-input" id="inputFocus">
8
+ </div>
9
+ </div>
10
+ <br>
11
+ <div class="layui-inline">
12
+ <label class="layui-form-label required">地址:</label>
13
+ <div class="layui-input-block">
14
+ <input type="text" name="address" required lay-verify="required" autocomplete="off"
15
+ class="layui-input" placeholder="请输入地址" >
16
+ </div>
17
+ </div>
18
+ <div class="layui-form-item">
19
+ <label class="layui-form-label">学校性质:</label>
20
+ <div class="layui-input-block">
21
+ <input type="checkbox" name="project_985" lay-skin="primary" value="1" title="985工程">
22
+ <input type="checkbox" name="project_211" lay-skin="primary" value="1" title="211工程" >
23
+ <input type="checkbox" name="regular_college" lay-skin="primary" value="1" title="本科院校">
24
+ </div>
25
+ </div>
26
+ <div class="layui-form-item">
27
+ <div class="layui-input-block">
28
+ <input type="checkbox" name="junior_college" lay-skin="primary" value="1" title="大专院校">
29
+ <input type="checkbox" name="secondary_school" lay-skin="primary" value="1" title="中专院校" >
30
+ <input type="checkbox" name="military_school" lay-skin="primary" value="1" title="军事院校">
31
+ </div>
32
+ </div>
33
+ <div class="layui-form-item">
34
+ <div class="layui-input-block">
35
+ <input type="checkbox" name="enterprise" lay-skin="primary" value="1" title="企业">
36
+ </div>
37
+ </div>
38
+ <div class="layui-inline" style="padding-left: 30px">
39
+ <button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="data-reset-btn">提交
40
+ </button>
41
+ </div>
42
+ </div>
43
+ </form>
44
+
45
+
46
+ <script>
47
+ document.getElementById("inputFocus").focus();
48
+
49
+ layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
50
+ var form = layui.form,
51
+ layer = layui.layer,
52
+ table = layui.table,
53
+ transfer = layui.transfer,
54
+ laytpl = layui.laytpl,
55
+ request = layui.request,
56
+ $ = layui.$;
57
+
58
+ form.render();
59
+
60
+ // 当前弹出层,防止ID被覆盖
61
+ var parentIndex = layer.index;
62
+
63
+
64
+
65
+
66
+ //监听提交
67
+ form.on('submit(data-reset-btn)', function (data) {
68
+ console.log(data.field);
69
+ // var area_ids = []
70
+ // layui.each(transfer.getData('area_list'), function (i, v) {
71
+ // area_ids.push(v.value)
72
+ // })
73
+ // if (area_ids.length === 0) {
74
+ // layer.alert("请选择负责区域");
75
+ // return false;
76
+ // }
77
+ // data.field['area_ids'] = area_ids;
78
+ // request.authPost("missions/places", data.field, function (res) {
79
+ // if (res.success === false) {
80
+ // layer.alert(res.msg)
81
+ // } else {
82
+ // layer.closeAll(); //关闭所有层
83
+ // table.reload('place')
84
+ // }
85
+ // })
86
+ return false;
87
+ });
88
+ });
89
+ </script>
@@ -0,0 +1,53 @@
1
+ <div class="layuimini-main">
2
+ <form class="layui-form layuimini-form" action="">
3
+ <div class="layui-form-item" style="padding: 25px">
4
+ <div class="layui-inline">
5
+ <label class="layui-form-label required">部门名称</label>
6
+ <div class="layui-input-block">
7
+ <input type="text" name="department_name" required lay-verify="required" autocomplete="off" placeholder="请输入"
8
+ class="layui-input" id="inputFocus">
9
+ </div>
10
+ </div>
11
+ <div class="layui-inline" style="padding-left: 30px">
12
+ <button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="data-reset-btn">提交
13
+ </button>
14
+ </div>
15
+ </div>
16
+ </form>
17
+ </div>
18
+
19
+ <script>
20
+
21
+ layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
22
+ var form = layui.form,
23
+ layer = layui.layer,
24
+ table = layui.table,
25
+ transfer = layui.transfer,
26
+ laytpl = layui.laytpl,
27
+ request = layui.request,
28
+ laydate = layui.laydate,
29
+ $ = layui.$;
30
+
31
+
32
+
33
+ form.render();
34
+
35
+ // 当前弹出层,防止ID被覆盖
36
+ var parentIndex = layer.index;
37
+
38
+
39
+ //监听提交
40
+ form.on('submit(data-reset-btn)', function (data) {
41
+ data.field.school_id = parent.school_id
42
+ request.authPost("missions/customers/"+ parent.school_id +"/create_department", data.field, function (res) {
43
+ if (res.success === false) {
44
+ layer.alert(res.msg)
45
+ } else {
46
+ layer.close(parent.new_department_index); //关闭所有层
47
+ table.reload('sale_plan_follow_table')
48
+ }
49
+ })
50
+ return false;
51
+ });
52
+ });
53
+ </script>
@@ -0,0 +1,54 @@
1
+ <h1 class="text-center" style="padding: 25px"><%=@school.name %></h1>
2
+ <form class="layui-form " action="">
3
+ <div class="layui-form-item layui-form-text">
4
+ <label class="layui-form-label">跟进内容</label>
5
+ <div class="layui-input-block">
6
+ <textarea name="content" placeholder="请输入跟进内容" class="layui-textarea"></textarea>
7
+ </div>
8
+ </div>
9
+ <div class="layui-inline">
10
+ <label class="layui-form-label required">跟进部门</label>
11
+ <div class="layui-input-inline">
12
+ <%= select_tag "department_id",options_for_select(@school.departments.pluck(:name, :id)), {"lay-verify": "required", include_blank: true}%>
13
+ </div>
14
+ </div>
15
+ <div class="layui-inline" style="padding-left: 50px">
16
+ <button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="add_follow_up">提交
17
+ </button>
18
+ </div>
19
+ </form>
20
+
21
+
22
+
23
+
24
+ <script>
25
+ layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'laydate'], function () {
26
+ var form = layui.form,
27
+ layer = layui.layer,
28
+ table = layui.table,
29
+ laytpl = layui.laytpl,
30
+ request = layui.request,
31
+ laydate = layui.laydate,
32
+ $ = layui.$;
33
+
34
+
35
+ form.render();
36
+
37
+ form.on('submit(add_follow_up)', function (data) {
38
+ data.field.school_id = <%=@school.id %>
39
+ request.authPost("missions/customer_follows", data.field, function (res) {
40
+ if (res.success == false) {
41
+ layer.alert(res.msg)
42
+ } else {
43
+ layer.close(parent.addFollowIndex);
44
+ parent.layer.close(parent.layer.getFrameIndex(window.name))
45
+ parent.table.reload('customers_table')
46
+ parent.table.reload('unfinish_table')
47
+ }
48
+ })
49
+
50
+ return false;
51
+ });
52
+
53
+ });
54
+ </script>
@@ -0,0 +1,13 @@
1
+ json.data do
2
+ json.array! @departments do |d|
3
+ json.id d.id
4
+ # json.created_at d.created_at.to_s
5
+ # json.staff d.staff.user.real_name
6
+ json.department d.name
7
+ # json.content d.content
8
+ # json.is_latest d.id == @latest.id
9
+ end
10
+ end
11
+
12
+ json.code 0
13
+ json.count @departments.total_count
@@ -0,0 +1,439 @@
1
+ <script type="text/html" id="toolbarDemo_follow">
2
+ <div class="layui-btn-container">
3
+ <span class="table-label">二级部门</span>
4
+ <% if can? :create_department, EducodeSales::Customer %>
5
+ <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加部门</button>
6
+ <% end %>
7
+ </div>
8
+ </script>
9
+
10
+ <h1 style="padding: 20px">客户:<%=@school_name %></h1>
11
+ <div style="padding-left: 20px">
12
+ <span>区域:<%=@area %></span>
13
+ <span style="padding-left: 100px" id="demo"></span>
14
+ <span style="padding-left: 100px">负责人:<%=@staff %></span>
15
+ </div>
16
+
17
+
18
+ <div class="z-index">
19
+ <table class="layui-hide" id="sale_plan_follow_table" lay-filter="sale_plan_follow_table"></table>
20
+ </div>
21
+
22
+ <script type="text/html" id="currentTableBar_follow">
23
+ <% if can? :update_department, EducodeSales::Customer %>
24
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
25
+ <% end %>
26
+ </script>
27
+
28
+
29
+ <script>
30
+ document.getElementById("demo").innerHTML = "最后跟进时间:" + parent.time;
31
+
32
+ layui.use(['form', 'table', 'miniPage', 'element'], function () {
33
+ var $ = layui.jquery,
34
+ form = layui.form,
35
+ request =layui.request,
36
+ miniPage = layui.miniPage;
37
+
38
+ table = layui.table;
39
+ table.render({
40
+ elem: '#sale_plan_follow_table',
41
+ url: '/missions/customers/show_department?id=' + parent.id ,
42
+ toolbar: '#toolbarDemo_follow',
43
+ defaultToolbar: [],
44
+ cols: [
45
+ [
46
+ {
47
+ field: 'id',
48
+ width: 100,
49
+ title:'序号',type: 'numbers',
50
+ },
51
+ {
52
+ field: 'department',
53
+ title: '学院/部门',
54
+ },
55
+ {
56
+ title: '操作',
57
+ minWidth: 190,
58
+ toolbar: '#currentTableBar_follow',
59
+ align: "center",
60
+ fixed: 'right'
61
+ }
62
+ ]
63
+ ],
64
+
65
+
66
+ page: true,
67
+ skin: 'line'
68
+ });
69
+
70
+
71
+ /**
72
+ * toolbar事件监听
73
+ */
74
+ table.on('toolbar(sale_plan_follow_table)', function (obj) {
75
+ if (obj.event === 'add') { // 监听添加操作
76
+ school_id = parent.id
77
+ var content = miniPage.getHrefContent('/missions/customers/new_department?id=' + parent.id);
78
+ var openWH = miniPage.getOpenWidthHeight();
79
+ new_department_index = layer.open({
80
+ title: '添加部门',
81
+ type: 1,
82
+ shade: 0.2,
83
+ maxmin: true,
84
+ shadeClose: true,
85
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
86
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
87
+ content: content,
88
+ success: function (layero, index) {
89
+ // 重新渲染弹层中的下拉选择框select
90
+ form.render('select');
91
+ }
92
+ });
93
+ $(window).on("resize", function () {
94
+ layer.full(index);
95
+ });
96
+ }
97
+ });
98
+
99
+ table.on('tool(sale_plan_follow_table)', function (obj) {
100
+ var data = obj.data;
101
+ var id = data.id
102
+ if (obj.event === 'delete') {
103
+ layer.confirm('确定删除ID为' + data.id + "的跟进记录", function (index) {
104
+ request.authDelete("missions/teacher_follows/" + data.id, {}, function() {
105
+ obj.del();
106
+ layer.close(index);
107
+ parent.table.reload('sale_plan_follow_table')
108
+ parent.table.reload('teachers_table')
109
+ parent.table.reload('weekPlanTable1')
110
+ parent.table.reload('monthPlanTable')
111
+ })
112
+ });
113
+ } else if (obj.event === 'show') { // 监听添加操作
114
+ var content = miniPage.getHrefContent('/missions/teachers/show_follow_record?id=' + id);
115
+ var openWH = miniPage.getOpenWidthHeight();
116
+ sale_plan_index1 = layer.open({
117
+ title: '查看教师跟进记录',
118
+ type: 1,
119
+ shade: 0.2,
120
+ maxmin: true,
121
+ shadeClose: true,
122
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
123
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
124
+ content: content,
125
+ success: function (layero, index) {
126
+ // 重新渲染弹层中的下拉选择框select
127
+ form.render('select');
128
+ }
129
+ });
130
+ $(window).on("resize", function () {
131
+ layer.full(index);
132
+ });
133
+ } else if (obj.event === 'edit') {
134
+ department_id = obj.data.id
135
+ content = miniPage.getHrefContent('/missions/customers/edit_department?id='+ obj.data.id);
136
+ openWH = miniPage.getOpenWidthHeight();
137
+ edit_index1 = layer.open({
138
+ title: '编辑部门',
139
+ type: 1,
140
+ shade: 0.2,
141
+ maxmin: true,
142
+ shadeClose: true,
143
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
144
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
145
+ content: content,
146
+ success: function (layero, index) {
147
+ // 重新渲染弹层中的下拉选择框select
148
+ form.render('select');
149
+ }
150
+ });
151
+ $(window).on("resize", function () {
152
+ layer.full(index);
153
+ });
154
+ } else if (obj.event === 'add_keys') { // 监听添加操作
155
+ content = miniPage.getHrefContent('/missions/businesses/add_keys');
156
+ openWH = miniPage.getOpenWidthHeight();
157
+ index = layer.open({
158
+ title: '关键人',
159
+ type: 1,
160
+ shade: 0.2,
161
+ maxmin: true,
162
+ shadeClose: true,
163
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
164
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
165
+ content: content,
166
+ success: function (layero, index) {
167
+ // 重新渲染弹层中的下拉选择框select
168
+ form.render('select');
169
+ }
170
+ });
171
+ $(window).on("resize", function () {
172
+ layer.full(index);
173
+ });
174
+ } else if (obj.event === 'edit_plan') {
175
+ content = miniPage.getHrefContent('/missions/businesses/edit_plan');
176
+ openWH = miniPage.getOpenWidthHeight();
177
+ index = layer.open({
178
+ title: '回款计划',
179
+ type: 1,
180
+ shade: 0.2,
181
+ maxmin: true,
182
+ shadeClose: true,
183
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
184
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
185
+ content: content,
186
+ success: function (layero, index) {
187
+ // 重新渲染弹层中的下拉选择框select
188
+ // form.render('select');
189
+ }
190
+ });
191
+ $(window).on("resize", function () {
192
+ layer.full(index);
193
+ });
194
+ }
195
+ });
196
+
197
+ });
198
+ </script>
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ <!--未完成计划列表-->
207
+ <script type="text/html" id="unfinish_toolbar">
208
+ <div class="layui-btn-container">
209
+ <span class="table-label">跟进记录</span>
210
+ <% if can? :create_follow, EducodeSales::Customer %>
211
+ <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="addFollow"> 添加跟进记录
212
+ <%end %>
213
+ </button>
214
+ </div>
215
+ </script>
216
+
217
+ <table class="layui-hide" id="unfinish_table" lay-filter="unfinish_table"></table>
218
+
219
+ <script type="text/html" id="currentTableBar1234">
220
+ <% if can? :read_follow, EducodeSales::Customer %>
221
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
222
+ <% end %>
223
+ <% if can? :update_follow, EducodeSales::Customer %>
224
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
225
+ <% end %>
226
+ <% if can? :destroy_follow, EducodeSales::Customer %>
227
+ <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
228
+ <% end %>
229
+ </script>
230
+
231
+
232
+ <script>
233
+ layui.use(['form', 'table', 'miniPage', 'element'], function () {
234
+ var $ = layui.jquery,
235
+ form = layui.form,
236
+ table = layui.table,
237
+ request = layui.request,
238
+ miniPage = layui.miniPage;
239
+
240
+ table.render({
241
+ elem: '#unfinish_table',
242
+ url: '/missions/customers/show_follow?id=' + parent.id ,
243
+ toolbar: '#unfinish_toolbar',
244
+ defaultToolbar: [],
245
+ cols: [
246
+ [
247
+ {
248
+ field: 'id',
249
+ width: 100,
250
+ title:'序号',type: 'numbers',
251
+ },
252
+ {
253
+ field: 'created_at',
254
+ width: 300,
255
+ title: '时间'
256
+ },
257
+ {
258
+ field: 'staff',
259
+ width: 100,
260
+ title: '跟进人'
261
+ },
262
+ {
263
+ field: 'department',
264
+ width: 100,
265
+ title: '跟进部门'
266
+ },
267
+ {
268
+ field: 'content',
269
+ width: 100,
270
+ title: '跟进内容'
271
+ },
272
+ {
273
+ title: '操作',
274
+ toolbar: '#currentTableBar1234',
275
+ align: "center"
276
+ }
277
+ ]
278
+ ],
279
+
280
+
281
+ page: true,
282
+ skin: 'line'
283
+ });
284
+ // 监听搜索操作
285
+ form.on('submit(data-search-btn)', function (data) {
286
+ var result = JSON.stringify(data.field);
287
+ layer.alert(result, {
288
+ title: '最终的搜索信息'
289
+ });
290
+
291
+ //执行搜索重载
292
+ table.reload('currentTableId', {
293
+ page: {
294
+ curr: 1
295
+ },
296
+ where: {
297
+ searchParams: result
298
+ }
299
+ }, 'data');
300
+
301
+ return false;
302
+ });
303
+
304
+ /**
305
+ * toolbar事件监听
306
+ */
307
+ table.on('toolbar(unfinish_table)', function (obj) {
308
+ if (obj.event === 'addWeekPlan') { // 监听添加操作
309
+
310
+ var content = miniPage.getHrefContent('/missions/operation_plans/new_week');
311
+ var openWH = miniPage.getOpenWidthHeight();
312
+ var index = layer.open({
313
+ title: '添加周计划',
314
+ type: 1,
315
+ shade: 0.2,
316
+ maxmin: true,
317
+ shadeClose: true,
318
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
319
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
320
+ content: content,
321
+ success: function (layero, index) {
322
+ // 重新渲染弹层中的下拉选择框select
323
+ form.render('select');
324
+ }
325
+ });
326
+ $(window).on("resize", function () {
327
+ layer.full(index);
328
+ });
329
+ } else if (obj.event === 'addFollow') { // 监听添加操作
330
+ var content = miniPage.getHrefContent('/missions/customers/new_follow_record?id=' + parent.id)
331
+ var openWH = miniPage.getOpenWidthHeight();
332
+ addFollowIndex = layer.open({
333
+ title: '添加跟进记录',
334
+ type: 1,
335
+ shade: 0.2,
336
+ maxmin: true,
337
+ shadeClose: true,
338
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
339
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
340
+ content: content,
341
+ success: function (layero, index) {
342
+ // 重新渲染弹层中的下拉选择框select
343
+ form.render('select');
344
+ }
345
+ });
346
+ $(window).on("resize", function () {
347
+ layer.full(index);
348
+ });
349
+ } else if (obj.event === 'delete') { // 监听删除操作
350
+ var checkStatus = table.checkStatus('currentTableId'),
351
+ data = checkStatus.data;
352
+ layer.alert(JSON.stringify(data));
353
+ }
354
+ });
355
+
356
+ //监听表格复选框选择
357
+ table.on('checkbox(unfinish_table)', function (obj) {
358
+ console.log(obj)
359
+ });
360
+
361
+ table.on('tool(unfinish_table)', function (obj) {
362
+ var data = obj.data;
363
+ var id = data.id
364
+ if (obj.event === 'delete') {
365
+ layer.confirm('确定删除ID为' + data.id + "的记录", function (index) {
366
+ request.authDelete("missions/customer_follows/" + data.id, {}, function() {
367
+ obj.del();
368
+ layer.close(index);
369
+ })
370
+
371
+ });
372
+ } else if (obj.event === 'show') {
373
+ content = miniPage.getHrefContent('/missions/customers/show_follow_record?id=' + data.id);
374
+ openWH = miniPage.getOpenWidthHeight();
375
+ index = layer.open({
376
+ title: '查看跟进记录',
377
+ type: 1,
378
+ shade: 0.2,
379
+ maxmin: true,
380
+ shadeClose: true,
381
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
382
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
383
+ content: content
384
+ });
385
+ $(window).on("resize", function () {
386
+ layer.full(index);
387
+ });
388
+ return false;
389
+ } else if (obj.event === 'edit') {
390
+ content = miniPage.getHrefContent('/missions/customers/edit_follow_record?id=' + data.id);
391
+ openWH = miniPage.getOpenWidthHeight();
392
+ editFollowIndex = layer.open({
393
+ title: '编辑',
394
+ type: 1,
395
+ shade: 0.2,
396
+ maxmin: true,
397
+ shadeClose: true,
398
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
399
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
400
+ content: content,
401
+ success: function (layero, index) {
402
+ // 重新渲染弹层中的下拉选择框select
403
+ form.render('select');
404
+ },
405
+ });
406
+ $(window).on("resize", function () {
407
+ layer.full(sindex);
408
+ });
409
+ return false;
410
+ } else if (obj.event === 'show_follow') {
411
+ content = miniPage.getHrefContent('/missions/teachers/show_follow');
412
+ openWH = miniPage.getOpenWidthHeight();
413
+ index = layer.open({
414
+ title: 'xxxx/跟进记录',
415
+ type: 1,
416
+ shade: 0.2,
417
+ maxmin: true,
418
+ shadeClose: true,
419
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
420
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
421
+ content: content,
422
+ success: function (layero, index) {
423
+ // 重新渲染弹层中的下拉选择框select
424
+ // form.render('select');
425
+ }
426
+ });
427
+ $(window).on("resize", function () {
428
+ layer.full(index);
429
+ });
430
+ }
431
+ });
432
+
433
+ });
434
+ </script>
435
+ <style>
436
+ .z-index .layui-table-tool{
437
+ z-index: 10000; !important;
438
+ }
439
+ </style>
@@ -0,0 +1,13 @@
1
+ json.data do
2
+ json.array! @follow_ups do |d|
3
+ json.id d.id
4
+ json.created_at d.created_at.to_s
5
+ json.staff d.staff.user.real_name
6
+ json.department Department.find(d.department_id)&.name
7
+ json.content d.content
8
+ json.is_latest d.id == @latest.id
9
+ end
10
+ end
11
+
12
+ json.code 0
13
+ json.count @follow_ups.total_count
@@ -0,0 +1,17 @@
1
+ <h1 class="text-center" style="padding: 25px"><%=@school.name %></h1>
2
+ <form class="layui-form form-value" action="">
3
+ <div class="layui-form-item" style="padding: 25px">
4
+ <div class="layui-inline">
5
+ <label class="layui-form-label">跟进内容:</label>
6
+ <div class="layui-input-inline">
7
+ <span><%= @follow_up.content%></span>
8
+ </div>
9
+ </div>
10
+ <div class="layui-inline">
11
+ <label class="layui-form-label">跟进部门:</label>
12
+ <div class="layui-input-inline">
13
+ <span><%= Department.find(@follow_up.department_id)&.name %></span>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </form>