educode_sales 0.9.68 → 0.9.69

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/educode_sales/indexlogo.png +0 -0
  3. data/app/assets/javascripts/educode_sales/extent/treeTable.js +235 -0
  4. data/app/controllers/educode_sales/customers_controller.rb +107 -0
  5. data/app/controllers/educode_sales/follow_ups_controller.rb +6 -0
  6. data/app/controllers/educode_sales/projects_controller.rb +420 -0
  7. data/app/controllers/educode_sales/roles_controller.rb +4 -1
  8. data/app/controllers/educode_sales/teachers_controller.rb +38 -13
  9. data/app/helpers/educode_sales/application_helper.rb +1 -0
  10. data/app/models/educode_sales/business.rb +21 -5
  11. data/app/models/educode_sales/business_history.rb +8 -0
  12. data/app/models/educode_sales/permission.rb +2 -1
  13. data/app/models/educode_sales/project.rb +53 -0
  14. data/app/models/educode_sales/role_area.rb +2 -1
  15. data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
  16. data/app/views/educode_sales/businesses/index.html.erb +5 -0
  17. data/app/views/educode_sales/businesses/index.json.jbuilder +3 -0
  18. data/app/views/educode_sales/businesses/time_line.html.erb +9 -5
  19. data/app/views/educode_sales/customers/edit_major.html.erb +872 -0
  20. data/app/views/educode_sales/customers/list.html.erb +602 -0
  21. data/app/views/educode_sales/customers/list.json.jbuilder +33 -0
  22. data/app/views/educode_sales/follow_ups/index.json.jbuilder +2 -2
  23. data/app/views/educode_sales/projects/detail.html.erb +269 -0
  24. data/app/views/educode_sales/projects/edit.html.erb +246 -0
  25. data/app/views/educode_sales/projects/history.html.erb +41 -0
  26. data/app/views/educode_sales/projects/index.html.erb +688 -0
  27. data/app/views/educode_sales/projects/index.json.jbuilder +69 -0
  28. data/app/views/educode_sales/teachers/_index.html.erb +17 -1
  29. data/app/views/educode_sales/teachers/index.json.jbuilder +2 -0
  30. data/app/views/layouts/educode_sales/application.html.erb +25 -0
  31. data/config/routes.rb +12 -0
  32. data/db/migrate/20230411134203_add_realname_to_teacher.rb +5 -0
  33. data/db/migrate/20230412083510_add_p_staff_id_to_businesses.rb +20 -0
  34. data/db/migrate/20230412092000_create_business_histories.rb +10 -0
  35. data/db/migrate/20230413015619_add_permissions_to_projects.rb +11 -0
  36. data/db/migrate/20230413031029_add_pre_time_to_businesses.rb +5 -0
  37. data/lib/educode_sales/version.rb +1 -1
  38. metadata +24 -6
@@ -0,0 +1,688 @@
1
+ <div class="min-height-table">
2
+ <div style="margin: 10px 10px 10px 10px">
3
+ <form class="layui-form layui-form-pane" lay-filter="search_form">
4
+ <div class="layui-form-item">
5
+ <div class="layui-inline">
6
+ <label class="layui-form-label">商机名称</label>
7
+ <div class="layui-input-inline">
8
+ <input type="text" name="name" class="layui-input" value="">
9
+ <input type="text" style="display: none" name="place_id" class="layui-input" value="<%= params[:place_id] %>">
10
+ </div>
11
+ </div>
12
+ <div class="layui-inline">
13
+ <label class="layui-form-label">单位</label>
14
+ <div class="layui-input-inline">
15
+ <input type="text" name="department" value="<%= params[:school] %>" class="layui-input">
16
+ </div>
17
+ </div>
18
+ <div class="layui-inline show_item_contract">
19
+ <label class="layui-form-label">中标时间</label>
20
+ <div class="layui-input-inline">
21
+ <input type="text" class="layui-input" id="bidded_date" name="bidded_date" placeholder=" - " autocomplete="off">
22
+ </div>
23
+ </div>
24
+ <div class="layui-inline show_item_contract">
25
+ <label class="layui-form-label" style="width: 120px">合同签订时间</label>
26
+ <div class="layui-input-inline">
27
+ <input type="text" class="layui-input" id="signed_date" name="signed_date" placeholder=" - " autocomplete="off">
28
+ </div>
29
+ </div>
30
+ <div class="layui-inline show_item_contract">
31
+ <label class="layui-form-label" style="width: 120px">实际回款时间</label>
32
+ <div class="layui-input-inline">
33
+ <input type="text" class="layui-input" id="search_p_actual_money_time" name="search_p_actual_money_time" placeholder=" - " autocomplete="off">
34
+ </div>
35
+ </div>
36
+ <div class="layui-inline show_item_contract">
37
+ <label class="layui-form-label">阶段</label>
38
+ <div class="layui-input-inline">
39
+ <%= select_tag "p_stage", options_for_select(EducodeSales::Project.p_stages.keys), { 'lay-filter': 'p_stage', include_blank: true } %>
40
+ </div>
41
+ </div>
42
+ <div class="layui-inline show_item_contract">
43
+ <label class="layui-form-label">状态</label>
44
+ <div class="layui-input-inline">
45
+ <%= select_tag "p_state", options_for_select([["正常", 0], ["延期", 1]]), { include_blank: true } %>
46
+ </div>
47
+ </div>
48
+ <div class="layui-inline show_item_contract">
49
+ <label class="layui-form-label">指派人</label>
50
+ <div class="layui-input-inline">
51
+ <%= select_tag "p_special", options_for_select(EducodeSales::Staff.where(id: EducodeSales::Project.all.pluck(:p_staff_id)).map { |d| [d.user&.real_name, d.id] }, @project&.p_special), { 'lay-filter': 'p_special', include_blank: true } %>
52
+ </div>
53
+ </div>
54
+ <div class="layui-inline show_item_contract">
55
+ <label class="layui-form-label">销售经理</label>
56
+ <div class="layui-input-inline">
57
+ <%= select_tag "p_special", options_for_select(EducodeSales::Staff.where(id: EducodeSales::Project.all.pluck(:p_sale_staff_id)).map { |d| [d.user&.real_name, d.id] }, @project&.p_special), { 'lay-filter': 'p_special', include_blank: true } %>
58
+ </div>
59
+ </div>
60
+ <div class="layui-inline show_item_contract">
61
+ <label class="layui-form-label">难易度</label>
62
+ <div class="layui-input-inline">
63
+ <%= select_tag "p_difficulty", options_for_select(EducodeSales::Project.p_difficulties.keys), { 'lay-filter': 'p_difficulty', include_blank: true } %>
64
+ </div>
65
+ </div>
66
+ <div class="layui-inline show_item_contract">
67
+ <label class="layui-form-label">定制</label>
68
+ <div class="layui-input-inline">
69
+ <%= select_tag "p_special", options_for_select(EducodeSales::Project.p_specials.keys), { 'lay-filter': 'p_special', include_blank: true } %>
70
+ </div>
71
+ </div>
72
+ <div class="layui-inline show_item_contract">
73
+ <label class="layui-form-label">类型</label>
74
+ <div class="layui-input-inline">
75
+ <%= select_tag "o_business_deployment", options_for_select(EducodeSales::FollowUp::BUSINESS_DEPLOYMENT[1..-1]), { include_blank: true } %>
76
+ </div>
77
+ </div>
78
+ <div class="layui-inline">
79
+ <button type="reset" class="layui-btn layui-btn-primary" lay-submit lay-filter="reset_business_search">重置
80
+ </button>
81
+ <button type="submit" id="search_bt" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness_contract">搜索
82
+ </button>
83
+ </div>
84
+ </div>
85
+ </form>
86
+ </div>
87
+ <div id="contact_table_wraper">
88
+ <table class="layui-hide" id="contact_table" lay-filter="contact_table"></table>
89
+ </div>
90
+ </div>
91
+ <script type="text/html" id="currentTableBar">
92
+
93
+
94
+ {{# if(!d.is_deleted){}}
95
+ <% if can?(:read, EducodeSales::Project) %>
96
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="add_event">详情</a>
97
+ <% end %>
98
+ <% if can?(:update, EducodeSales::Project) %>
99
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit not_recycle" lay-event="edit">编辑</a>
100
+ <% end %>
101
+ <% if can?(:destroy, EducodeSales::Project) %>
102
+ <a class="layui-btn layui-btn-danger layui-btn-xs data-count-edit not_recycle" lay-event="delete">移除</a>
103
+ <% end %>
104
+ {{# }else{}}
105
+ <% if can?(:read, EducodeSales::Project) %>
106
+ <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="add_event">详情</a>
107
+ <% end %>
108
+ <% if can?(:recycle, EducodeSales::Project) %>
109
+ <a class="layui-btn layui-btn-danger layui-btn-xs data-count-edit" lay-event="recycle">恢复</a>
110
+ <% end %>
111
+ {{# }}}
112
+ </script>
113
+
114
+ <script type="text/html" id="bussinessBar">
115
+ <div class="layui-btn-container">
116
+ <span class="table-label">项目列表</span>
117
+ <button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right project_list-btn" lay-event="project_list">
118
+ 项目列表
119
+ </button>
120
+ <button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right my-btn" lay-event="mine">
121
+ 项目回收站
122
+ </button>
123
+ </div>
124
+ </script>
125
+
126
+ <script type="text/html" id="statusTpl">
127
+ {{# if(d.p_state === '正常'){ }}
128
+ <span style="color: #22bf18;">{{ d.p_state }}</span>
129
+ {{# } else { }}
130
+ <span style="color: #e60505;">{{ d.p_state }}</span>
131
+ {{# } }}
132
+ </script>
133
+
134
+
135
+ <script>
136
+ layui.use(['form', 'table', 'miniPage', 'element', 'request', 'laydate', 'dropdown', 'laytpl'], function () {
137
+ var $ = layui.jquery,
138
+ form = layui.form,
139
+ request = layui.request,
140
+ miniPage = layui.miniPage,
141
+ dropdown = layui.dropdown,
142
+ laydate = layui.laydate;
143
+ var openWH = miniPage.getOpenWidthHeight();
144
+ laydate.render({
145
+ elem: '#date',
146
+ range: true
147
+ });
148
+ laydate.render({
149
+ elem: '#invitation_at',
150
+ range: true
151
+ });
152
+
153
+ laydate.render({
154
+ elem: '#bidded_date',
155
+ range: true,
156
+ value: gon.bidded_date
157
+ });
158
+ laydate.render({
159
+ elem: '#signed_date',
160
+ range: true,
161
+ value: gon.signed_date
162
+ });
163
+ laydate.render({
164
+ elem: '#search_p_actual_money_time',
165
+ range: true
166
+ });
167
+
168
+ laydate.render({
169
+ elem: '#date_at',
170
+ range: true,
171
+ value: gon.date_at
172
+ });
173
+
174
+
175
+ var business_type_list = xmSelect.render({
176
+ el: '#contract_business_type',
177
+ data: gon.business_type
178
+ })
179
+
180
+ var staff_list = xmSelect.render({
181
+ el: '#contract_staffs_id',
182
+ data: gon.staffs,
183
+ filterable: true,
184
+ radio: true,
185
+ })
186
+
187
+ var business_step_list = xmSelect.render({
188
+ el: '#contract_business_step',
189
+ data: gon.business_step
190
+ })
191
+ var index_place_list = xmSelect.render({
192
+ el: '#contract_index_place',
193
+ model: {
194
+ icon: 'hidden',
195
+ label: {
196
+ type: 'text',
197
+ text: {
198
+ //左边拼接的字符
199
+ left: '',
200
+ //右边拼接的字符
201
+ right: '',
202
+ //中间的分隔符
203
+ separator: ', ',
204
+ },
205
+ }
206
+ },
207
+ remoteSearch: true,
208
+ clickClose: true,
209
+ delay: 1000,
210
+ paging: true,
211
+ radio: true,
212
+ pageRemote: true,
213
+ filterable: true,
214
+ remoteMethod: function (val, cb, show, pageIndex) {
215
+ $.ajax('/missions/sales_place', {
216
+ method: 'get',
217
+ data: {
218
+ q: val,
219
+ page: pageIndex
220
+ },
221
+ dataType: 'json',
222
+ success: function (res) {
223
+ var data = res.data;
224
+ if (res.code == 0) {
225
+ cb(res.data, res.count);
226
+ } else {
227
+ layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
228
+ }
229
+ }
230
+ })
231
+ }
232
+ })
233
+ // index_place_list.setValue(gon.place)
234
+
235
+ var data = form.val("search_form");
236
+ // data.business_year = gon.business_year;
237
+ // data.business_type = business_type_list.getValue('valueStr')
238
+ // data.business_step = business_step_list.getValue('valueStr');
239
+ // data.staff_id = staff_list.getValue('valueStr');
240
+ // data.contract = 'contract';
241
+
242
+ table = layui.table;
243
+ var cols_table = [
244
+ [
245
+ {
246
+ field: 'id',
247
+ width: 60,
248
+ title: '序号', type: 'numbers'
249
+ },
250
+ {
251
+ field: 'name',
252
+ width: 170,
253
+ title: '项目名称',
254
+ templet: '<div><a href="javascript:void(0);" class="layui-table-link" lay-event="show_business"><span title="{{d.name}}">{{d.name}}</span></a></div>'
255
+ },
256
+ {
257
+ field: 'school',
258
+ width: 150,
259
+ title: '单位',
260
+ templet: '#school_name'
261
+ },
262
+ {
263
+ field: 'department',
264
+ width: 150,
265
+ title: '部门'
266
+ },
267
+ {
268
+ field: 'p_stage',
269
+ width: 90,
270
+ title: '阶段'
271
+ },
272
+ {
273
+ field: 'p_state',
274
+ width: 90,
275
+ title: '状态',
276
+ templet: '#statusTpl'
277
+ },
278
+ {
279
+ field: 'p_staff',
280
+ width: 150,
281
+ title: '指派人'
282
+ },
283
+ {
284
+ field: 'p_sale_staff',
285
+ width: 150,
286
+ title: '销售经理'
287
+ },
288
+ {
289
+ field: 'p_money',
290
+ width: 100,
291
+ title: '回款'
292
+ },
293
+ {
294
+ field: 'bidded_date',
295
+ width: 105,
296
+ title: '中标时间'
297
+ },
298
+ {
299
+ field: 'signed_date',
300
+ width: 120,
301
+ title: '合同签订时间'
302
+ },
303
+ {
304
+ field: 'p_actual_money_time',
305
+ width: 120,
306
+ title: '实际回款时间'
307
+ },
308
+ {
309
+ field: 'p_difficulty',
310
+ width: 100,
311
+ title: '难易度'
312
+ },
313
+ {
314
+ field: 'p_special',
315
+ width: 100,
316
+ title: '定制'
317
+ },
318
+ {
319
+ field: 'o_business_deployment',
320
+ width: 105,
321
+ title: '类型'
322
+ },
323
+ {
324
+ field: 'p_content',
325
+ width: 100,
326
+ title: '问题备注'
327
+ },
328
+ {
329
+ field: 'p_deleter',
330
+ width: 100,
331
+ title: '移除人'
332
+ },
333
+ {
334
+ title: '操作',
335
+ minWidth: 220,
336
+ toolbar: '#currentTableBar',
337
+ align: "center",
338
+ fixed: 'right'
339
+ }
340
+ ]
341
+ ]
342
+
343
+ var business_table = table.render({
344
+ elem: '#contact_table',
345
+ url: '/missions/projects',
346
+ autoSort: false,
347
+ where: {q: data},
348
+ defaultToolbar: [],
349
+ toolbar: '#bussinessBar',
350
+ title: '商机数据表',
351
+ totalRow: true,//开启合并行
352
+ cols: cols_table,
353
+
354
+ limit: 20,
355
+ limits: [10, 15, 20, 30, 40, 50, 60, 70, 80, 90],
356
+ page: true,
357
+ skin: 'line',
358
+ done: function (res, curr, coun) {
359
+ exportData = res.data;
360
+ }
361
+ });
362
+
363
+ function pre_follow(id, name) {
364
+ var content = miniPage.getHrefContent('/missions/projects/history?id=' + id);
365
+ var openWH = miniPage.getOpenWidthHeight();
366
+ history_index = layer.open({
367
+ title: '历史记录',
368
+ type: 1,
369
+ shade: 0.2,
370
+ maxmin: true,
371
+ shadeClose: true,
372
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
373
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
374
+ content: content
375
+ });
376
+ $(window).on("resize", function () {
377
+ layer.full(index);
378
+ });
379
+ }
380
+
381
+ function time_line(id, name) {
382
+ business_id = id
383
+ business_name = name;
384
+ var content = miniPage.getHrefContent('/missions/businesses/time_line?business_id=' + id);
385
+ var openWH = miniPage.getOpenWidthHeight();
386
+ sindex = layer.open({
387
+ title: '商机列表/' + name + '的跟进时间线',
388
+ type: 1,
389
+ shade: 0.2,
390
+ maxmin: true,
391
+ shadeClose: true,
392
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
393
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
394
+ content: content
395
+ });
396
+ $(window).on("resize", function () {
397
+ layer.full(sindex);
398
+ });
399
+ }
400
+
401
+
402
+ function deleteBusiness(id, name) {
403
+ layer.confirm('确定删除' + name, function (index) {
404
+ request.delete('missions/businesses/' + id, {}, function (res) {
405
+ layer.close(index);
406
+ table.reload("contact_table", {url: '/missions/businesses/contract'})
407
+ })
408
+ });
409
+ }
410
+
411
+
412
+ var sort = {}, search = data;
413
+
414
+ // table.on('sort(contact_table)', function (obj) {
415
+ // var data = form.val("search_form");
416
+ // sort.field = obj.field;
417
+ // sort.order = obj.type;
418
+ // table.reload('contact_table', {
419
+ // url: '/missions/businesses/contract',
420
+ // initSort: obj,
421
+ // where: {
422
+ // sort: sort,
423
+ // q: search
424
+ // }
425
+ // });
426
+ // })
427
+ //
428
+ // // 监听搜索操作
429
+ // form.on('submit(search_bussiness_contract)', function (data) {
430
+ // data.field.contract = 'contract';
431
+ //
432
+ // // if (search['clazz']) {
433
+ // // data.field['clazz'] = search['clazz']
434
+ // // }
435
+ // search = data.field
436
+ // table.reload('contact_table', {
437
+ // url: '/missions/projects',
438
+ // page: {
439
+ // curr: 1
440
+ // },
441
+ // where: {q: search, sort: sort}
442
+ // }, 'data');
443
+ //
444
+ // return false;
445
+ // });
446
+
447
+ // table.on('sort(ideas_table)', function (obj) {
448
+ // sort.field = obj.field;
449
+ // sort.order = obj.type;
450
+ // table.reload('contact_table', {
451
+ // initSort: obj,
452
+ // where: {
453
+ // sort: sort,
454
+ // q: search
455
+ // }
456
+ // });
457
+ // })
458
+
459
+ // 监听搜索操作
460
+ form.on('submit(search_bussiness_contract)', function (data) {
461
+ search = data.field
462
+ table.reload('contact_table', {
463
+ page: {
464
+ curr: 1
465
+ },
466
+ where: {q: search, sort: sort}
467
+ }, 'data');
468
+ return false;
469
+ });
470
+
471
+ form.on('submit(show_hide_contract)', function (data) {
472
+ $(".show_item_contract").toggle()
473
+ return false;
474
+ });
475
+
476
+ form.on('submit(reset_business_search)', function (data) {
477
+ var field = data.field;
478
+ form.val('search_form', {
479
+ name: '', department: '', bidded_date: '', signed_date: '', search_p_actual_money_time: '',
480
+ p_stage: '', p_state: '', p_special: '', p_difficulty: '', o_business_deployment: ''
481
+ })
482
+ // business_type_list.setValue([])
483
+ // business_step_list.setValue([])
484
+ // index_place_list.setValue([])
485
+ // staff_list.setValue([])
486
+
487
+ return false;
488
+ });
489
+
490
+ table.on('tool(contact_table)', function (obj) {
491
+ var data = obj.data;
492
+ id = data.id
493
+ if (obj.event === 'add_event') { // 监听添加操作
494
+ business_id = data.id
495
+ var content = miniPage.getHrefContent('/missions/projects/detail?id=' + data.id);
496
+ var openWH = miniPage.getOpenWidthHeight();
497
+ detail_index = layer.open({
498
+ title: '详情',
499
+ type: 1,
500
+ shade: 0.2,
501
+ maxmin: true,
502
+ shadeClose: true,
503
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
504
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
505
+ content: content,
506
+ success: function (layero, index) {
507
+ form.render('select');
508
+ }
509
+ });
510
+ $(window).on("resize", function () {
511
+ layer.full(sale_plan_index);
512
+ });
513
+ } else if (obj.event === 'edit') {
514
+ var content = miniPage.getHrefContent('/missions/projects/' + id + '/edit');
515
+ var openWH = miniPage.getOpenWidthHeight();
516
+ edit_index = layer.open({
517
+ title: '编辑',
518
+ type: 1,
519
+ shade: 0.2,
520
+ maxmin: true,
521
+ shadeClose: true,
522
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
523
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
524
+ content: content
525
+ });
526
+ $(window).on("resize", function () {
527
+ layer.full(edit_index);
528
+ });
529
+ return false;
530
+ } else if (obj.event === 'delete') {
531
+ layer.confirm('确定删除' + data.name, function (index) {
532
+ request.delete('missions/projects/' + data.id, {}, function (res) {
533
+ layer.close(index);
534
+ table.reload('contact_table', {
535
+ done: function () {
536
+ }
537
+ });
538
+ })
539
+ });
540
+ } else if (obj.event === 'recycle') {
541
+ layer.confirm('确定恢复' + data.name, function (index) {
542
+ request.post('missions/projects/recycle?id=' + data.id, {}, function (res) {
543
+ layer.close(index);
544
+ table.reload('contact_table', {
545
+ done: function () {
546
+ }
547
+ });
548
+ })
549
+ });
550
+ } else if (obj.event === 'add_follow') { // 监听添加操作
551
+ business_id = parent.business_id
552
+ var content = miniPage.getHrefContent('/missions/businesses/new_follow_record?id=' + parent.id);
553
+ var openWH = miniPage.getOpenWidthHeight();
554
+ sale_plan_index = layer.open({
555
+ title: '添加商机跟进记录',
556
+ type: 1,
557
+ shade: 0.2,
558
+ maxmin: true,
559
+ shadeClose: true,
560
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
561
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
562
+ content: content,
563
+ success: function (layero, index) {
564
+ form.render('select');
565
+ }
566
+ });
567
+ $(window).on("resize", function () {
568
+ layer.full(index);
569
+ });
570
+ } else if (obj.event === 'addWeek') {
571
+ var content = miniPage.getHrefContent('/missions/plans/new_week?business_id=' + obj.data.id);
572
+ var openWH = miniPage.getOpenWidthHeight();
573
+
574
+ sindex = layer.open({
575
+ title: '添加周计划',
576
+ type: 1,
577
+ shade: 0.2,
578
+ maxmin: true,
579
+ shadeClose: true,
580
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
581
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
582
+ content: content
583
+ });
584
+ $(window).on("resize", function () {
585
+ layer.full(sindex);
586
+ });
587
+ } else if (obj.event === 'addMonth') {
588
+ var content = miniPage.getHrefContent('/missions/plans/new_month?business_id=' + obj.data.id);
589
+ var openWH = miniPage.getOpenWidthHeight();
590
+ sindex = layer.open({
591
+ title: '添加月计划',
592
+ type: 1,
593
+ shade: 0.2,
594
+ maxmin: true,
595
+ shadeClose: true,
596
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
597
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
598
+ content: content
599
+ });
600
+ $(window).on("resize", function () {
601
+ layer.full(sindex);
602
+ });
603
+
604
+ } else if (obj.event === 'show_keys') {
605
+ business_id = obj.data.id
606
+ follow_up_id = obj.data.follow_up_id;
607
+ content = miniPage.getHrefContent('/missions/businesses/show_keys');
608
+ openWH = miniPage.getOpenWidthHeight();
609
+ index = layer.open({
610
+ title: '关键人',
611
+ type: 1,
612
+ shade: 0.2,
613
+ maxmin: true,
614
+ shadeClose: true,
615
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
616
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
617
+ content: content,
618
+ success: function (layero, index) {
619
+ }
620
+ });
621
+ $(window).on("resize", function () {
622
+ layer.full(index);
623
+ });
624
+ } else if (obj.event === 'show_follow') {
625
+ pre_follow(obj.data.id, obj.data.name);
626
+ } else if (obj.event == 'show_business') {
627
+ pre_follow(obj.data.id, obj.data.name)
628
+ }
629
+ });
630
+
631
+
632
+ table.on('toolbar(contact_table)', function (obj) {
633
+ if (obj.event === 'mine') {
634
+ // search = {"clazz": "me"}
635
+ // business_type_list.setValue([])
636
+ table.reload('contact_table', {
637
+ url: '/missions/projects?is_deleted=true',
638
+ cols: cols_table,
639
+ page: {
640
+ curr: 1
641
+ },
642
+ where: {q: search, sort: sort}
643
+ }, 'data');
644
+ form.val('search_form', {
645
+ name: '', department: '', bidded_date: '', signed_date: '', search_p_actual_money_time: '',
646
+ p_stage: '', p_state: '', p_special: '', p_difficulty: '', o_business_deployment: ''
647
+ })
648
+ $(".my-btn").addClass("selected-btn");
649
+ return false;
650
+ } else if (obj.event === 'project_list') {
651
+ // search = {"clazz": "me"}
652
+ // business_type_list.setValue([])
653
+ table.reload('contact_table', {
654
+ url: '/missions/projects',
655
+ cols: cols_table,
656
+ page: {
657
+ curr: 1
658
+ },
659
+ where: {q: search, sort: sort}
660
+ }, 'data');
661
+ form.val('search_form', {
662
+ name: '', department: '', bidded_date: '', signed_date: '', search_p_actual_money_time: '',
663
+ p_stage: '', p_state: '', p_special: '', p_difficulty: '', o_business_deployment: ''
664
+ })
665
+ $(".project_list-btn").addClass("selected-btn");
666
+ return false;
667
+ }
668
+ });
669
+
670
+
671
+ })
672
+ ;
673
+ </script>
674
+ <style>
675
+ .layui-table-tool-temp {
676
+ padding-right: 30px;
677
+ !important;
678
+ }
679
+
680
+ .layui-table-fixed .layui-table-body {
681
+ height: auto !important;
682
+ }
683
+
684
+ .layui-table-fixed.layui-hide {
685
+ display: block !important;
686
+ }
687
+
688
+ </style>