educode_sales 0.5.2 → 0.5.6

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/controllers/educode_sales/businesses_controller.rb +3 -0
  3. data/app/controllers/educode_sales/follow_ups_controller.rb +57 -0
  4. data/app/controllers/educode_sales/home_controller.rb +11 -0
  5. data/app/controllers/educode_sales/sale_trends_controller.rb +108 -84
  6. data/app/controllers/educode_sales/teachers_controller.rb +35 -14
  7. data/app/controllers/educode_sales/upload_files_controller.rb +29 -29
  8. data/app/models/educode_sales/teacher.rb +2 -1
  9. data/app/models/educode_sales/teacher_assign_follow.rb +6 -0
  10. data/app/views/educode_sales/activities/index.html.erb +4 -5
  11. data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
  12. data/app/views/educode_sales/businesses/_follows.html.erb +233 -0
  13. data/app/views/educode_sales/businesses/edit_follow_record.html.erb +51 -7
  14. data/app/views/educode_sales/businesses/file.html.erb +2 -4
  15. data/app/views/educode_sales/businesses/index.html.erb +137 -62
  16. data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
  17. data/app/views/educode_sales/businesses/new_follow_record.html.erb +50 -5
  18. data/app/views/educode_sales/businesses/show_follow.html.erb +4 -4
  19. data/app/views/educode_sales/businesses/show_follow_record.html.erb +1 -1
  20. data/app/views/educode_sales/businesses/time_line.html.erb +1 -1
  21. data/app/views/educode_sales/follow_ups/index.json.jbuilder +19 -0
  22. data/app/views/educode_sales/home/sales_place.json.jbuilder +9 -0
  23. data/app/views/educode_sales/places/index.html.erb +14 -4
  24. data/app/views/educode_sales/places/index.json.jbuilder +7 -1
  25. data/app/views/educode_sales/recycles/index.html.erb +1 -1
  26. data/app/views/educode_sales/sale_trends/trends.html.erb +89 -29
  27. data/app/views/educode_sales/sales/index.html.erb +7 -7
  28. data/app/views/educode_sales/sales/operations.html.erb +2 -0
  29. data/app/views/educode_sales/teachers/course_list.json.jbuilder +1 -1
  30. data/app/views/educode_sales/teachers/edit.html.erb +53 -7
  31. data/app/views/educode_sales/teachers/index.html.erb +35 -1
  32. data/app/views/educode_sales/teachers/index.json.jbuilder +4 -1
  33. data/app/views/educode_sales/teachers/new.html.erb +55 -17
  34. data/app/views/educode_sales/upload_files/index.json.jbuilder +1 -1
  35. data/config/routes.rb +1 -0
  36. data/db/migrate/20211201023750_create_educode_sales_teacher_assign_follows.rb +11 -0
  37. data/lib/educode_sales/version.rb +1 -1
  38. metadata +7 -2
@@ -85,12 +85,12 @@
85
85
  <br>
86
86
  <div class="layui-inline">
87
87
  <label class="layui-form-label">渠道</label>
88
- <div class="layui-input-inline">
89
- <%= select_tag "place_id", options_for_select(@places, @last_follow_up&.place_id), include_blank: true %>
88
+ <div class="layui-input-inline" style="z-index: 101">
89
+ <div id="place" style="width: 190px;"></div>
90
90
  </div>
91
91
  </div>
92
92
  <div class="layui-inline">
93
- <label class="layui-form-label">渠道分成</label>
93
+ <label class="layui-form-label">渠道分成(万)</label>
94
94
  <div class="layui-input-inline">
95
95
  <input name="divide_amount" class="layui-input" value="<%= @last_follow_up&.divide_amount%>">
96
96
  </div>
@@ -182,18 +182,63 @@
182
182
  })
183
183
  }
184
184
  })
185
+ var place_list = xmSelect.render({
186
+ el: '#place',
187
+ remoteSearch: true,
188
+ model: {
189
+ icon: 'hidden',
190
+ label: {
191
+ type: 'text',
192
+ text: {
193
+ //左边拼接的字符
194
+ left: '',
195
+ //右边拼接的字符
196
+ right: '',
197
+ //中间的分隔符
198
+ separator: ', ',
199
+ },
200
+ }
201
+ },
202
+ clickClose: true,
203
+ delay: 1000,
204
+ paging: true,
205
+ radio: true,
206
+ pageRemote: true,
207
+ filterable: true,
208
+ remoteMethod: function (val, cb, show, pageIndex) {
209
+ $.ajax( '/missions/sales_place', {
210
+ method: 'get',
211
+ data: {
212
+ q: val,
213
+ page: pageIndex
214
+ },
215
+ dataType: 'json',
216
+ success: function (res) {
217
+ var data = res.data;
218
+ if (res.code == 0) {
219
+ cb(res.data, res.count);
220
+ } else {
221
+ layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
222
+ }
223
+
224
+ }
225
+ })
226
+ }
227
+ })
185
228
 
186
229
  sales_list.setValue(gon.sales);
230
+ place_list.setValue(gon.place);
187
231
  form.render();
188
232
 
189
233
  form.on('submit(add_follow_up)', function (data) {
190
- var assign_follow = [];
234
+ var assign_follow = [];
191
235
  sales_list.getValue().forEach(function(d) {
192
236
  assign_follow.push(d.value);
193
237
  })
194
238
  data.field.assign_follow_up = assign_follow;
195
239
  data.field.business_id = "<%= @business.id %>";
196
- request.authPost("missions/follow_ups", data.field, function (res) {
240
+ data.field.place_id = place_list.getValue('valueStr');
241
+ request.authPost("missions/follow_ups", data.field, function (res) {
197
242
  if (res.success == false) {
198
243
  layer.alert(res.msg)
199
244
  } else {
@@ -74,7 +74,7 @@
74
74
 
75
75
  table.render({
76
76
  elem: '#sale_plan_follow_table',
77
- url: '/missions/businesses/show_follow?id=' + parent.id ,
77
+ url: '/missions/businesses/show_follow?id=' + parent.business_id ,
78
78
  toolbar: '#toolbarDemo_follow',
79
79
  defaultToolbar: ['filter'],
80
80
  cols: [
@@ -198,7 +198,7 @@
198
198
  table.on('toolbar(sale_plan_follow_table)', function (obj) {
199
199
  if (obj.event === 'add') { // 监听添加操作
200
200
  business_id = parent.business_id
201
- var content = miniPage.getHrefContent('/missions/businesses/new_follow_record?id=' + parent.id);
201
+ var content = miniPage.getHrefContent('/missions/businesses/new_follow_record?id=' + parent.business_id);
202
202
  var openWH = miniPage.getOpenWidthHeight();
203
203
  sale_plan_index = layer.open({
204
204
  title: '添加商机跟进记录',
@@ -220,7 +220,7 @@
220
220
  layer.closeAll()
221
221
  business_id = parent.business_id
222
222
  business_name = parent.business_name
223
- var content = miniPage.getHrefContent('/missions/businesses/time_line?business_id=' + id);
223
+ var content = miniPage.getHrefContent('/missions/businesses/time_line?business_id=' + parent.business_id);
224
224
  var openWH = miniPage.getOpenWidthHeight();
225
225
  sindex = layer.open({
226
226
  title: '商机列表/'+ parent.business_name +'的跟进时间线',
@@ -335,7 +335,7 @@
335
335
  // 未完成计划
336
336
  table.render({
337
337
  elem: '#unfinish_table',
338
- url: '/missions/businesses/' + parent.id + "/unfinish_plans",
338
+ url: '/missions/businesses/' + parent.business_id + "/unfinish_plans",
339
339
  toolbar: '#unfinish_table_tabar',
340
340
  defaultToolbar: [],
341
341
  cols: [
@@ -75,7 +75,7 @@
75
75
  <div class="layui-inline">
76
76
  <label class="layui-form-label">渠道分成:</label>
77
77
  <div class="layui-input-inline">
78
- <%= @follow_up.divide_amount %>
78
+ <%= @follow_up.divide_amount %>万
79
79
  </div>
80
80
  </div>
81
81
  <div class="ayui-form-item">
@@ -43,7 +43,7 @@
43
43
  function demo(){
44
44
  layer.closeAll()
45
45
  business_id = parent.business_id
46
- var content = miniPage.getHrefContent('/missions/businesses/show_follow?id=' + id);
46
+ var content = miniPage.getHrefContent('/missions/businesses/show_follow?id=' + parent.business_id);
47
47
  var openWH = miniPage.getOpenWidthHeight();
48
48
  sindex = layer.open({
49
49
  title: '商机列表/'+ parent.business_name +'的跟进记录',
@@ -0,0 +1,19 @@
1
+ json.data do
2
+ json.array! @follow_ups do |d|
3
+ json.id d.id
4
+ json.clazz d.clazz.name
5
+ json.stage d.stage.name
6
+ json.staff d.staff.user.real_name
7
+ json.description d.description
8
+ json.advise d.advise
9
+ json.created_at d.created_at.to_s
10
+ json.business d.business.name
11
+ json.business_id d.business.id
12
+ teacher_ids = d.key_person.pluck(:teacher_id)
13
+ json.key_people EducodeSales::Teacher.where(id: teacher_ids).pluck(:name).join('、')
14
+
15
+ end
16
+ end
17
+
18
+ json.code 0
19
+ json.count @follow_ups.total_count
@@ -0,0 +1,9 @@
1
+ json.data do
2
+ json.array! @places do |d|
3
+ json.value d.id
4
+ json.name d.name
5
+ end
6
+ end
7
+ json.count (@places.total_count/10 + 1)
8
+ json.code 0
9
+ json.msg "success"
@@ -17,6 +17,11 @@
17
17
  <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
18
18
  <% end %>
19
19
  </script>
20
+ <script type="text/html" id="business_a">
21
+ <div class="layui-text">
22
+ <a href="/missions/businesses?place_id={{d.id}}">{{d.businesses_count}}</a>
23
+ </div>
24
+ </script>
20
25
 
21
26
  <script type="text/html" id="showchance">
22
27
  <a href="/missions/businesses" class="layui-table-link">{{ d.chance }}</a>
@@ -56,20 +61,25 @@
56
61
  {
57
62
  field: 'businesses_count',
58
63
  width: 120,
59
- totalRow:'{{ parseInt(d.TOTAL_NUMS) }}',
60
- title: '商机'
64
+ totalRow: true,
65
+ sort: true,
66
+ title: '商机',
67
+ templet: "#business_a",
68
+
61
69
  },
62
70
  {
63
71
  field: 'amount',
64
72
  width: 120,
65
73
  totalRow:true,
66
- title: '中标'
74
+ sort: true,
75
+ title: '中标金额'
67
76
  },
68
77
  {
69
78
  field: 'return_mount',
70
79
  width: 120,
71
80
  totalRow:true,
72
- title: '回款',
81
+ sort: true,
82
+ title: '回款金额',
73
83
  },
74
84
  {
75
85
  title: '操作',
@@ -1,3 +1,4 @@
1
+ all_businesses_count = 0
1
2
  area_ids = EducodeSales::Common.where(clazz: 'area').ids.sort.to_s
2
3
  json.data do
3
4
  json.array! @places do |d|
@@ -13,11 +14,16 @@ json.data do
13
14
  else
14
15
  json.area_id ''
15
16
  end
16
- json.businesses_count EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", @x).where("educode_sales_follow_ups.place_id = #{d.id}").count
17
+ business_count = EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", @x).where("educode_sales_follow_ups.place_id = #{d.id}").count
18
+ json.businesses_count business_count
19
+ all_businesses_count += business_count
17
20
  json.amount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", @x).where("educode_sales_follow_ups.place_id = #{d.id} AND educode_sales_follow_ups.stage_id IN (?)", @stage_ids).sum(:profit_amount).round(2)
18
21
  json.return_mount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", @x).where("educode_sales_follow_ups.place_id = #{d.id}").sum(:return_money).round(2)
19
22
  end
20
23
  end
21
24
 
25
+ json.totalRow do
26
+ json.businesses_count all_businesses_count.to_s
27
+ end
22
28
  json.code 0
23
29
  json.count @places.total_count
@@ -1,6 +1,6 @@
1
1
  <div class="layui-tab" lay-filter="sale_tab">
2
2
  <ul class="layui-tab-title">
3
- <li class="layui-this" data="business">商机列表</li>
3
+ <li class="layui-this" data="business">商机</li>
4
4
  <li data="week">周计划</li>
5
5
  <li data="weekly">周报</li>
6
6
  <li data="month">月计划</li>
@@ -101,7 +101,7 @@
101
101
  <div class="panel layui-bg-number">
102
102
  <div class="panel-body">
103
103
  <div class="panel-title">
104
- <h5>已中标<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)" style="color: #0000FF;float: right">查看商机</a></h5>
104
+ <h5>已中标(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)" style="color: #0000FF;float: right">查看商机</a></h5>
105
105
  </div>
106
106
  <div class="panel-content y-t-10">
107
107
  <h1 class="no-margins"><%= @goal_amount %>万</h1>
@@ -114,7 +114,7 @@
114
114
  <div class="panel layui-bg-number">
115
115
  <div class="panel-body">
116
116
  <div class="panel-title">
117
- <h5>已签单<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)" style="color: #0000FF;float: right">查看商机</a></h5>
117
+ <h5>已签单(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)" style="color: #0000FF;float: right">查看商机</a></h5>
118
118
  </div>
119
119
  <div class="panel-content y-t-10">
120
120
  <h1 class="no-margins"><%= @service_amount %>万</h1>
@@ -148,6 +148,32 @@
148
148
  </div>
149
149
  </div>
150
150
  </div>
151
+ <div class="layui-col-xs3">
152
+ <div class="panel layui-bg-number">
153
+ <div class="panel-body">
154
+ <div class="panel-title">
155
+ <h5>已中标(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)" style="color: #0000FF;float: right">查看商机</a></h5>
156
+ </div>
157
+ <div class="panel-content y-t-10">
158
+ <h1 class="no-margins"><%= @actual_goal_amount %>万</h1>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </div>
163
+
164
+ <div class="layui-col-xs3">
165
+ <div class="panel layui-bg-number">
166
+ <div class="panel-body">
167
+ <div class="panel-title">
168
+ <h5>已签单(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)" style="color: #0000FF;float: right">查看商机</a></h5>
169
+ </div>
170
+ <div class="panel-content y-t-10">
171
+ <h1 class="no-margins"><%= @actual_service_amount %>万</h1>
172
+ </div>
173
+ </div>
174
+ </div>
175
+ </div>
176
+
151
177
  <div class="layui-row layui-col-space30" >
152
178
  <div class="layui-col-xs3">
153
179
  <div class="panel layui-bg-number">
@@ -181,7 +207,7 @@
181
207
  <div class="layui-inline m-t-10">
182
208
  <label class="layui-form-label">视图</label>
183
209
  <div class="layui-input-inline">
184
- <%= select_tag "follow_count_range", options_for_select([['按天','day'],['按月','month'],['按年','year']],params[:follow_count_range]), {'lay-filter': 'follow_count'}%>
210
+ <%= select_tag "follow_count_range", options_for_select([['按天','day'],['按周','week'],['按月','month'],['按年','year']],params[:follow_count_range] || 'week'), {'lay-filter': 'follow_count'}%>
185
211
  </div>
186
212
  </div>
187
213
  <div class="layui-inline">
@@ -189,7 +215,8 @@
189
215
  <div class="layui-input-inline">
190
216
  <input type="text" class="layui-input month layui-hide" id="date_month" name="date_month" placeholder=" - " value="<%=params[:date_month] %>" >
191
217
  <input type="text" class="layui-input year layui-hide" id="date_year" name="date_year" placeholder=" - " value="<%=params[:date_year] %>">
192
- <input type="text" class="layui-input day" id="date" name="date" placeholder=" - " value="<%=params[:date] %>">
218
+ <input type="text" class="layui-input week " id="date_week" name="date_week" placeholder=" - " value="<%=params[:date_week].present? ? params[:date_week] : (Time.now - 30.days).beginning_of_week.to_s(:date) + ' - ' + Time.now.end_of_week.to_s(:date) %>">
219
+ <input type="text" class="layui-input day layui-hide" id="date" name="date" placeholder=" - " value="<%=params[:date] %>">
193
220
  </div>
194
221
  </div>
195
222
  <div class="layui-inline">
@@ -203,6 +230,8 @@
203
230
  </div>
204
231
  </div>
205
232
  </div>
233
+ <br>
234
+ <br>
206
235
  <div class="layui-tab layui-tab-card " id="销售额分析" lay-filter="test1">
207
236
  <ul class="layui-tab-title">
208
237
  <li class="layui-this">销售额分析</li>
@@ -212,6 +241,12 @@
212
241
  <div style="margin: 10px 10px 10px 10px">
213
242
  <form class="layui-form layui-form-pane" lay-filter="search_form">
214
243
  <div class="layui-form-item">
244
+ <div class="layui-inline m-t-10">
245
+ <label class="layui-form-label">维度</label>
246
+ <div class="layui-input-inline">
247
+ <%= select_tag "count_type", options_for_select([['按合同额统计','actual_amount'],['按总额统计','total_amount']],params[:count_type]), {'lay-filter': 'count_type'}%>
248
+ </div>
249
+ </div>
215
250
  <div class="layui-inline m-t-10">
216
251
  <label class="layui-form-label">视图</label>
217
252
  <div class="layui-input-inline">
@@ -221,7 +256,7 @@
221
256
  <div class="layui-inline">
222
257
  <label class="layui-form-label">时间范围</label>
223
258
  <div class="layui-input-inline">
224
- <input type="text" class="layui-input goal_month " id="goal_date_month" name="goal_date_month" placeholder=" - " value="<%=params[:goal_date_month] %>">
259
+ <input type="text" class="layui-input goal_month " id="goal_date_month" name="goal_date_month" placeholder=" - " value="<%=params[:goal_date_month].present? ? params[:goal_date_month] : Time.now.year.to_s + "-01" + " - " + Time.now.strftime("%Y-%m") %>">
225
260
  <input type="text" class="layui-input goal_year layui-hide" id="goal_date_year" name="goal_date_year" placeholder=" - " value="<%=params[:goal_date_year] %>">
226
261
  </div>
227
262
  </div>
@@ -262,27 +297,34 @@
262
297
  $(document).ready(function () {
263
298
  $(".follow_count_bt").click(function () {
264
299
  layer.msg("图表绘制中...", {
265
- time: 0, //不自动关闭
266
300
  offset:['40%','46%']
267
301
  })
268
302
  layer.load(0, {});
269
303
  setTimeout(function () {
270
304
  layer.closeAll('loading');
271
- }, 10000);
305
+ }, 3000);
272
306
  });
273
307
  });
274
308
  if(follow_type == "day"){
275
309
  $(".year").addClass('layui-hide')
276
310
  $(".month").addClass('layui-hide')
311
+ $(".week").addClass('layui-hide')
277
312
  $(".day").removeClass('layui-hide')
278
313
  }else if(follow_type == "month"){
279
314
  $(".year").addClass('layui-hide')
315
+ $(".week").addClass('layui-hide')
280
316
  $(".month").removeClass('layui-hide')
281
317
  $(".day").addClass('layui-hide')
318
+ }else if(follow_type == "week"){
319
+ $(".year").addClass('layui-hide')
320
+ $(".day").addClass('layui-hide')
321
+ $(".week").removeClass('layui-hide')
322
+ $(".month").addClass('layui-hide')
282
323
  }else {
283
324
  $(".year").removeClass('layui-hide')
284
325
  $(".month").addClass('layui-hide')
285
326
  $(".day").addClass('layui-hide')
327
+ $(".week").addClass('layui-hide')
286
328
  }
287
329
 
288
330
  if(goal_type == "year"){
@@ -326,43 +368,30 @@
326
368
  // 时间选择器
327
369
  laydate.render({
328
370
  elem: '#date',
329
- min: -15
330
- ,max: 15,
331
371
  range: true
332
372
  });
333
373
  laydate.render({
334
- type: 'week',
335
374
  elem: '#date_week',
336
- min: -90
337
- ,max: 0,
338
375
  range: true
339
376
  });
340
377
  laydate.render({
341
378
  type: 'month',
342
379
  elem: '#date_month',
343
- min: -365
344
- ,max: 0,
345
380
  range: true
346
381
  });
347
382
  laydate.render({
348
383
  type: 'year',
349
384
  elem: '#date_year',
350
- min: -3660
351
- ,max: 366,
352
385
  range: true
353
386
  });
354
387
  laydate.render({
355
388
  type: 'year',
356
389
  elem: '#goal_date_year',
357
- min: -3660
358
- ,max: 366,
359
390
  range: true
360
391
  });
361
392
  laydate.render({
362
393
  type: 'month',
363
394
  elem: '#goal_date_month',
364
- min: -365
365
- ,max: 0,
366
395
  range: true
367
396
  });
368
397
 
@@ -378,15 +407,24 @@
378
407
  if(value == "month"){
379
408
  $(".year").addClass('layui-hide')
380
409
  $(".day").addClass('layui-hide')
410
+ $(".week").addClass('layui-hide')
381
411
  $(".month").removeClass('layui-hide')
382
412
  }else if(value == "year"){
383
413
  $(".month").addClass('layui-hide')
384
414
  $(".day").addClass('layui-hide')
415
+ $(".week").addClass('layui-hide')
385
416
  $(".year").removeClass('layui-hide')
417
+ }else if(value == "week"){
418
+ $(".month").addClass('layui-hide')
419
+ $(".day").addClass('layui-hide')
420
+ $(".week").removeClass('layui-hide')
421
+ $(".year").addClass('layui-hide')
386
422
  }else {
387
423
  $(".month").addClass('layui-hide')
388
424
  $(".year").addClass('layui-hide')
389
425
  $(".day").removeClass('layui-hide')
426
+ $(".week").addClass('layui-hide')
427
+
390
428
  }
391
429
  })
392
430
 
@@ -424,19 +462,41 @@
424
462
  }
425
463
  });
426
464
 
465
+
466
+ var opt = {
467
+ events: false,
468
+ tooltips: {
469
+ enabled: false
470
+ },
471
+ hover: {
472
+ animationDuration: 0
473
+ },
474
+ animation: {
475
+ duration: 1,
476
+ onComplete: function () {
477
+ var chartInstance = this.chart,
478
+ ctx = chartInstance.ctx;
479
+ ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, Chart.defaults.global.defaultFontStyle, Chart.defaults.global.defaultFontFamily);
480
+ ctx.textAlign = 'center';
481
+ ctx.textBaseline = 'bottom';
482
+
483
+ this.data.datasets.forEach(function (dataset, i) {
484
+ var meta = chartInstance.controller.getDatasetMeta(i);
485
+ meta.data.forEach(function (bar, index) {
486
+ var data = dataset.data[index];
487
+ ctx.fillText(data, bar._model.x, bar._model.y - 5);
488
+ });
489
+ });
490
+ }
491
+ }
492
+ };
493
+
494
+
427
495
  var ctx = document.getElementById('myChart2');
428
496
  var myChart2 = new Chart(ctx, {
429
497
  type: 'bar',
430
498
  data: <%=raw @goal_count_data.to_json %>,
431
- options: {
432
- scales: {
433
- yAxes: [{
434
- ticks: {
435
- beginAtZero:true
436
- }
437
- }]
438
- }
439
- }
499
+ options: opt
440
500
  });
441
501
  })
442
502
  </script>
@@ -66,42 +66,42 @@
66
66
  templet: "#business_a",
67
67
  totalRow:true,
68
68
  sort:true,
69
- width: 120
69
+ width: 100
70
70
  },
71
71
  {
72
72
  field: 'business_b',
73
73
  title: 'B类商机',
74
74
  templet: "#business_b",
75
75
  totalRow:true,sort:true,
76
- width: 120
76
+ width: 100
77
77
  },
78
78
  {
79
79
  field: 'business_c',
80
80
  title: 'C类商机',
81
81
  templet: "#business_c",
82
82
  totalRow:true,sort:true,
83
- width: 120
83
+ width: 100
84
84
  },
85
85
  {
86
86
  field: 'business_d',
87
87
  title: 'D类商机',
88
88
  templet: "#business_d",
89
89
  totalRow:true,sort:true,
90
- width: 120
90
+ width: 100
91
91
  },
92
92
  {
93
93
  field: 'business_e',
94
94
  title: 'E类商机',
95
95
  templet: "#business_e",
96
96
  totalRow:true,sort:true,
97
- width: 120
97
+ width: 100
98
98
  },
99
99
  {
100
100
  field: 'business_o',
101
101
  title: 'O类商机',
102
102
  templet: "#business_o",
103
103
  totalRow:true,sort:true,
104
- width: 120
104
+ width: 100
105
105
  },
106
106
  {
107
107
  field: 'goal',
@@ -110,7 +110,7 @@
110
110
  width: 120
111
111
  }, {
112
112
  field: 'return_money',
113
- title: '回款',
113
+ title: '回款金额',
114
114
  totalRow:true,sort:true,
115
115
  width: 120
116
116
  }
@@ -51,12 +51,14 @@
51
51
  title: '跟进学校',
52
52
  templet: "#school",
53
53
  totalRow:true,
54
+ sort: true,
54
55
  width: 120
55
56
  }, {
56
57
  field: 'departments',
57
58
  title: '跟进二级学院',
58
59
  templet: "#xschool",
59
60
  totalRow:true,
61
+ sort: true,
60
62
  width: 120
61
63
  },
62
64
  ]
@@ -19,5 +19,5 @@ json.data do
19
19
  end
20
20
  end
21
21
  json.code 0
22
- json.count @courses.total_count
22
+ json.count @courses.present? ? @courses.total_count : 0
23
23
  json.msg 'succcess'