educode_sales 0.6.0 → 0.6.4

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/educode_sales/money_plans.png +0 -0
  3. data/app/controllers/educode_sales/businesses_controller.rb +7 -4
  4. data/app/controllers/educode_sales/customers_controller.rb +45 -34
  5. data/app/controllers/educode_sales/follow_ups_controller.rb +1 -1
  6. data/app/controllers/educode_sales/money_plans_controller.rb +64 -0
  7. data/app/controllers/educode_sales/places_controller.rb +5 -1
  8. data/app/controllers/educode_sales/roles_controller.rb +4 -1
  9. data/app/controllers/educode_sales/sale_trends_controller.rb +44 -1
  10. data/app/controllers/educode_sales/staffs_controller.rb +3 -4
  11. data/app/controllers/educode_sales/teachers_controller.rb +13 -2
  12. data/app/models/educode_sales/permission.rb +3 -2
  13. data/app/models/educode_sales/role_area.rb +1 -0
  14. data/app/views/educode_sales/businesses/_follows.html.erb +18 -15
  15. data/app/views/educode_sales/businesses/edit.html.erb +3 -0
  16. data/app/views/educode_sales/businesses/index.html.erb +28 -18
  17. data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
  18. data/app/views/educode_sales/businesses/show_follow.html.erb +2 -1
  19. data/app/views/educode_sales/businesses/time_line.html.erb +1 -1
  20. data/app/views/educode_sales/customers/edit.html.erb +732 -22
  21. data/app/views/educode_sales/customers/index.html.erb +19 -19
  22. data/app/views/educode_sales/customers/index.json.jbuilder +3 -3
  23. data/app/views/educode_sales/customers/new.html.erb +710 -27
  24. data/app/views/educode_sales/customers/new_department.html.erb +1 -0
  25. data/app/views/educode_sales/customers/show_follow.html.erb +5 -2
  26. data/app/views/educode_sales/customers/show_follow_record.html.erb +5 -4
  27. data/app/views/educode_sales/follow_ups/index.json.jbuilder +1 -0
  28. data/app/views/educode_sales/money_plans/index.html.erb +183 -0
  29. data/app/views/educode_sales/money_plans/index.json.jbuilder +20 -0
  30. data/app/views/educode_sales/places/index.html.erb +64 -0
  31. data/app/views/educode_sales/plans/_monthPlan.html.erb +2 -1
  32. data/app/views/educode_sales/plans/_weekPlan.html.erb +2 -1
  33. data/app/views/educode_sales/roles/edit.html.erb +9 -1
  34. data/app/views/educode_sales/sale_trends/trends.html.erb +93 -13
  35. data/app/views/educode_sales/sale_trends/trends.json.jbuilder +3 -14
  36. data/app/views/educode_sales/sales/index.html.erb +25 -17
  37. data/app/views/educode_sales/sales/index.json.jbuilder +20 -2
  38. data/app/views/educode_sales/sales/operations.json.jbuilder +2 -2
  39. data/app/views/educode_sales/teachers/index.html.erb +4 -11
  40. data/app/views/educode_sales/teachers/index.json.jbuilder +1 -1
  41. data/app/views/layouts/educode_sales/application.html.erb +13 -2
  42. data/config/routes.rb +2 -0
  43. data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +3 -0
  44. data/db/migrate/20211220102720_add_position_to_commons.rb +12 -0
  45. data/db/migrate/20211221075146_add_school_id_to_educode_sales_businesses.rb +8 -0
  46. data/lib/educode_sales/version.rb +1 -1
  47. metadata +8 -2
@@ -47,6 +47,7 @@
47
47
  } else {
48
48
  layer.close(parent.new_department_index); //关闭所有层
49
49
  table.reload('sale_plan_follow_table')
50
+ parent.table.reload('customers_table')
50
51
  }
51
52
  })
52
53
  return false;
@@ -252,7 +252,8 @@
252
252
  {
253
253
  field: 'created_at',
254
254
  width: 180,
255
- title: '时间'
255
+ title: '时间',
256
+ sort: true
256
257
  },
257
258
  {
258
259
  field: 'staff',
@@ -266,7 +267,8 @@
266
267
  },
267
268
  {
268
269
  field: 'content',
269
- title: '跟进内容'
270
+ title: '跟进内容',
271
+ templet:'<div><span title="{{d.content}}">{{d.content}}</span></div>'
270
272
  },
271
273
  {
272
274
  title: '操作',
@@ -365,6 +367,7 @@
365
367
  layer.confirm('确定删除ID为' + data.id + "的记录", function (index) {
366
368
  request.authDelete("missions/customer_follows/" + data.id, {}, function() {
367
369
  obj.del();
370
+ parent.table.reload('customers_table')
368
371
  layer.close(index);
369
372
  })
370
373
 
@@ -1,16 +1,17 @@
1
1
  <h1 class="text-center" style="padding: 25px"><%=@school.name %></h1>
2
2
  <form class="layui-form form-value" action="">
3
3
  <div class="layui-form-item" style="padding: 25px">
4
- <div class="layui-inline">
4
+ <div class="layui-form-item layui-form-text">
5
5
  <label class="layui-form-label">跟进内容:</label>
6
- <div class="layui-input-inline">
7
- <span><%= @follow_up.content%></span>
6
+ <div class="layui-input-block" style="padding-right: 20px;">
7
+ <pre><%= @follow_up.content %></pre>
8
8
  </div>
9
9
  </div>
10
+ <br>
10
11
  <div class="layui-inline">
11
12
  <label class="layui-form-label">跟进部门:</label>
12
13
  <div class="layui-input-inline">
13
- <span><%= Department.find(@follow_up.department_id)&.name %></span>
14
+ <span><%= Department.find(@follow_up.department_id)&.name if @follow_up.department_id.present? %></span>
14
15
  </div>
15
16
  </div>
16
17
  </div>
@@ -7,6 +7,7 @@ json.data do
7
7
  json.description d.description
8
8
  json.advise d.advise
9
9
  json.school d.business.department.school.name
10
+ json.school_id d.business.department.school.id
10
11
  json.created_at d.created_at.to_s
11
12
  json.business d.business.name
12
13
  json.business_id d.business.id
@@ -0,0 +1,183 @@
1
+ <div style="margin: 10px 10px 10px 10px">
2
+ <form class="layui-form layui-form-pane" lay-filter="search_teachers">
3
+ <div class="layui-form-item">
4
+ <div class="layui-inline">
5
+ <label class="layui-form-label">所属商机</label>
6
+ <div class="layui-input-inline">
7
+ <input type="text" name="business" autocomplete="off" class="layui-input">
8
+ </div>
9
+ </div>
10
+ <div class="layui-inline">
11
+ <label class="layui-form-label">单位</label>
12
+ <div class="layui-input-inline">
13
+ <input type="text" name="school" autocomplete="off" class="layui-input">
14
+ </div>
15
+ </div>
16
+ <div class="layui-inline">
17
+ <label class="layui-form-label">负责人</label>
18
+ <div class="layui-input-inline">
19
+ <%= select_tag "staff_id", options_for_select(@staffs, params[:staff_id]), { 'lay-filter': 'staff_id', include_blank: true } %>
20
+ </div>
21
+ </div>
22
+ <div class="layui-inline">
23
+ <label class="layui-form-label">状态</label>
24
+ <div class="layui-input-inline">
25
+ <%= select_tag "clazz", options_for_select(['已完成','未完成']), { include_blank: true } %>
26
+ </div>
27
+ </div>
28
+ <div class="layui-inline">
29
+ <label class="layui-form-label">创建时间</label>
30
+ <div class="layui-input-inline">
31
+ <input type="text" class="layui-input" id="date" name="date" placeholder=" - ">
32
+ </div>
33
+ </div>
34
+ <div class="layui-inline">
35
+ <button type="reset" class="layui-btn layui-btn-primary" lay-submit lay-filter="reset_business_search">重置
36
+ </button>
37
+ <button type="submit" class="layui-btn layui-btn-primary" id="search_bt" lay-submit lay-filter="search_teachers">搜 索
38
+ </button>
39
+ </div>
40
+ </div>
41
+ </form>
42
+ </div>
43
+
44
+ <script type="text/html" id="toolbarDemo">
45
+ <div class="layui-btn-container">
46
+ <span class="table-label">回款列表</span>
47
+ </div>
48
+ </script>
49
+
50
+ <table class="layui-hide" id="place" lay-filter="place"></table>
51
+
52
+ <script type="text/html" id="currentTableBar">
53
+ </script>
54
+ <script type="text/html" id="business">
55
+ <div class="layui-text">
56
+ <a href="/missions/businesses?name={{d.business}}&school={{d.school}}">{{d.business}}</a>
57
+ </div>
58
+ </script>
59
+
60
+ <script type="text/html" id="school">
61
+ <a href="<%= base_url%>/colleges/{{d.school_id}}/statistics" class="layui-table-link" target="_blank">{{ d.school }}</a>
62
+ </script>
63
+
64
+ <script>
65
+ layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
66
+ var $ = layui.jquery,
67
+ form = layui.form,
68
+ table = layui.table,
69
+ request = layui.request,
70
+ miniPage = layui.miniPage;
71
+ laydate = layui.laydate;
72
+
73
+
74
+ laydate.render({
75
+ elem: '#date',
76
+ range: true
77
+ });
78
+
79
+ table.render({
80
+ elem: '#place',
81
+ url: '/missions/money_plans',
82
+ toolbar: '#toolbarDemo',
83
+ totalRow: true,
84
+ defaultToolbar: ['filter'],
85
+ initSort: {
86
+ field: 'created_at' //排序字段,对应 cols 设定的各字段名
87
+ ,type: 'desc' //排序方式 asc: 升序、desc: 降序、null: 默认排序
88
+ },
89
+ cols: [
90
+ [
91
+ {
92
+ field: 'id',
93
+ width: 80,
94
+ title:'序号',type: 'numbers',
95
+ totalRowText:'本页/总计'
96
+ },
97
+ {
98
+ field: 'created_at',
99
+ width: 120,
100
+ sort: true,
101
+ title: '回款时间'
102
+ },
103
+ {
104
+ field: 'amount',
105
+ width: 200,
106
+ sort: true,
107
+ totalRow:true,
108
+ title: '回款金额',
109
+ },
110
+ {
111
+ field: 'clazz',
112
+ width: 100,
113
+ title: '状态',
114
+ },
115
+ {
116
+ field: 'business',
117
+ title: '所属商机',
118
+ templet: "#business",
119
+
120
+ },
121
+ {
122
+ field: 'school',
123
+ title: '单位',
124
+ templet: "#school",
125
+ },
126
+ {
127
+ field: 'staff',
128
+ width: 90,
129
+ title: '负责人',
130
+ },
131
+ ]
132
+ ],
133
+ limit: 20,
134
+ limits: [10,15,20,30,40,50,60,70,80,90],
135
+ page: true
136
+ });
137
+
138
+ var sort = {}, search = {};
139
+ table.on('sort(place)', function (obj) {
140
+ sort.field = obj.field;
141
+ sort.order = obj.type;
142
+ table.reload('place', {
143
+ initSort: obj,
144
+ where: {
145
+ sort: sort,
146
+ q: search
147
+ }
148
+ });
149
+ })
150
+
151
+ // 监听搜索操作
152
+ form.on('submit(search_teachers)', function (data) {
153
+ search = data.field
154
+ table.reload('place', {
155
+ page: {
156
+ curr: 1
157
+ },
158
+ where: {q: search, sort: sort}
159
+ }, 'data');
160
+ return false;
161
+ });
162
+
163
+ form.on('submit(reset_business_search)', function (data) {
164
+ var field = data.field;
165
+ form.val('search_teachers', {
166
+ area: "",
167
+ date: "",
168
+ staff_id: "",
169
+ clazz: "",
170
+ professional_title: "",
171
+ school: "",
172
+ business: ""
173
+ });
174
+ return false;
175
+ });
176
+
177
+ });
178
+ </script>
179
+ <style>
180
+ .layui-table-tool-temp{
181
+ padding-right: 0px; !important;
182
+ }
183
+ </style>
@@ -0,0 +1,20 @@
1
+ total_amount = 0
2
+ json.data do
3
+ json.array! @money_plans do |d|
4
+ json.id d.id
5
+ json.created_at d.created_at.to_s(:date)
6
+ json.amount d.amount
7
+ total_amount += d.amount
8
+ json.clazz d.clazz
9
+ json.business d.follow_up.business.name
10
+ json.school School.find(d.follow_up.business.school_id).name
11
+ json.school_id School.find(d.follow_up.business.school_id).id
12
+ json.staff d.staff.user.real_name
13
+ end
14
+ end
15
+
16
+ json.totalRow do
17
+ json.amount total_amount.round(2).to_s + '/' + @total_amount.round(2).to_s
18
+ end
19
+ json.code 0
20
+ json.count @money_plans.total_count
@@ -1,3 +1,22 @@
1
+ <div style="margin: 10px 10px 10px 10px">
2
+ <form class="layui-form layui-form-pane" lay-filter="search_teachers">
3
+ <div class="layui-form-item">
4
+ <div class="layui-inline">
5
+ <label class="layui-form-label">渠道名称</label>
6
+ <div class="layui-input-inline">
7
+ <input type="text" name="name" autocomplete="off" class="layui-input">
8
+ </div>
9
+ </div>
10
+ <div class="layui-inline">
11
+ <button type="reset" class="layui-btn layui-btn-primary" lay-submit lay-filter="reset_business_search">重置
12
+ </button>
13
+ <button type="submit" class="layui-btn layui-btn-primary" id="search_bt" lay-submit lay-filter="search_teachers">搜 索
14
+ </button>
15
+ </div>
16
+ </div>
17
+ </form>
18
+ </div>
19
+
1
20
  <script type="text/html" id="toolbarDemo">
2
21
  <div class="layui-btn-container">
3
22
  <span class="table-label">渠道列表</span>
@@ -35,6 +54,51 @@
35
54
  request = layui.request,
36
55
  miniPage = layui.miniPage;
37
56
 
57
+
58
+
59
+ var sort = {}, search = {};
60
+ table.on('sort(place)', function (obj) {
61
+ sort.field = obj.field;
62
+ sort.order = obj.type;
63
+ table.reload('place', {
64
+ initSort: obj,
65
+ where: {
66
+ sort: sort,
67
+ q: search
68
+ }
69
+ });
70
+ })
71
+
72
+ // 监听搜索操作
73
+ form.on('submit(search_teachers)', function (data) {
74
+ search = data.field
75
+ table.reload('place', {
76
+ page: {
77
+ curr: 1
78
+ },
79
+ where: {q: search, sort: sort}
80
+ }, 'data');
81
+ return false;
82
+ });
83
+
84
+ form.on('submit(reset_business_search)', function (data) {
85
+ var field = data.field;
86
+ form.val('search_teachers', {
87
+ area: "",
88
+ date: "",
89
+ attitude: "",
90
+ name: "",
91
+ professional_title: "",
92
+ regist_at: "",
93
+ staff_id: "",
94
+ status: "",
95
+ school: "",
96
+ assist: "",
97
+ teacher_source: ""
98
+ });
99
+ return false;
100
+ });
101
+
38
102
  table.render({
39
103
  elem: '#place',
40
104
  url: '/missions/places',
@@ -249,7 +249,8 @@
249
249
  });
250
250
  return false;
251
251
  } else if (obj.event === 'show_follow') {
252
- id = data.business_id
252
+ business_id = obj.data.business_id
253
+ id = data.business_id
253
254
  content = miniPage.getHrefContent('/missions/businesses/show_follow?id=' + data.business_id);
254
255
  openWH = miniPage.getOpenWidthHeight();
255
256
  index = layer.open({
@@ -265,7 +265,8 @@
265
265
  });
266
266
  return false;
267
267
  } else if (obj.event === 'show_follow') {
268
- id = data.business_id
268
+ business_id = obj.data.business_id
269
+ // business_name = data.name
269
270
  content = miniPage.getHrefContent('/missions/businesses/show_follow?id=' + data.business_id);
270
271
  openWH = miniPage.getOpenWidthHeight();
271
272
  index = layer.open({
@@ -7,7 +7,7 @@
7
7
  <div class="layui-tab-item layui-show">
8
8
  <form class="layui-form line" action="">
9
9
  <% id = 0 %>
10
- <% EducodeSales::Permission.all.group_by{ |d| d.clazz}.each do |k, d| %>
10
+ <% EducodeSales::Permission.all.order(position: :asc).group_by{ |d| d.clazz}.each do |k, d| %>
11
11
  <div class="layui-form-item">
12
12
  <label class="layui-form-label"><%= k %></label>
13
13
  <div class="layui-input-block">
@@ -36,6 +36,14 @@
36
36
  <%= radio_button_tag("business", "全部", @areas.include?("商机管理-全部"), {title: '全部列表', id: 3}) %>
37
37
  </div>
38
38
  </div>
39
+ <div class="layui-form-item" style="border-top: 1px solid #ddd;">
40
+ <label class="layui-form-label">回款管理</label>
41
+ <div class="layui-input-block">
42
+ <%= radio_button_tag("money_plan", "自己", @areas.include?("回款管理-自己"), {title: '本人负责列表', id: 16}) %>
43
+ <%= radio_button_tag("money_plan", "区域", @areas.include?("回款管理-区域"), {title: '本人负责区域列表', id: 17}) %>
44
+ <%= radio_button_tag("money_plan", "全部", @areas.include?("回款管理-全部"), {title: '全部列表', id: 18}) %>
45
+ </div>
46
+ </div>
39
47
  <div class="layui-form-item">
40
48
  <label class="layui-form-label">客户管理</label>
41
49
  <div class="layui-input-block">
@@ -220,7 +220,7 @@
220
220
  </div>
221
221
  </div>
222
222
  <div class="layui-inline">
223
- <button type="submit" id="search_bt" class=" follow_count_bt layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">确定
223
+ <button type="button" id="search_bt" class=" follow_count_bt layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">确定
224
224
  </button>
225
225
  </div>
226
226
  </div>
@@ -261,7 +261,7 @@
261
261
  </div>
262
262
  </div>
263
263
  <div class="layui-inline">
264
- <button type="submit" id="search_bt" class="follow_count_bt layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">确定
264
+ <button type="button" id="search_bt" class="goal_count_bt layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">确定
265
265
  </button>
266
266
  </div>
267
267
  </div>
@@ -272,6 +272,41 @@
272
272
 
273
273
  </div>
274
274
  </div>
275
+ <br>
276
+ <br>
277
+ <div class="layui-tab layui-tab-card " id="销售额分析" lay-filter="test1">
278
+ <ul class="layui-tab-title">
279
+ <li class="layui-this">商机区域分布</li>
280
+ </ul>
281
+ <div class="layui-tab-content" style="padding-right: 50px">
282
+ <div class="layui-tab-item layui-show" style="padding-left: 20px">
283
+ <div style="margin: 10px 10px 10px 10px">
284
+ <form class="layui-form layui-form-pane" lay-filter="search_form">
285
+ <div class="layui-form-item">
286
+ <div class="layui-inline m-t-10">
287
+ <label class="layui-form-label">维度</label>
288
+ <div class="layui-input-inline">
289
+ <%= select_tag "business_count_type", options_for_select([['按商机总额统计','money'],['按商机数量统计','count']],params[:goal_count_range]), {'lay-filter': 'goal_count'}%>
290
+ </div>
291
+ </div>
292
+ <div class="layui-inline m-t-10">
293
+ <label class="layui-form-label">商机类型</label>
294
+ <div class="layui-input-inline">
295
+ <%= select_tag "business_type", options_for_select(EducodeSales::Common.where(clazz: 'business_type').where.not(extras: "x_class").pluck(:name, :id), params[:clazz_id]), { 'lay-filter': 'clazz_id', include_blank: true } %>
296
+ </div>
297
+ </div>
298
+ <div class="layui-inline">
299
+ <button type="button" id="search_bt" class="business_bt layui-btn layui-btn-primary" lay-submit lay-filter="business_chart">确定
300
+ </button>
301
+ </div>
302
+ </div>
303
+ </form>
304
+ </div>
305
+ <canvas id="myChart3" width="960" height="200"></canvas>
306
+ </div>
307
+
308
+ </div>
309
+ </div>
275
310
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/chart.js@2.9.1/dist/Chart.min.css">
276
311
  <script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.1/dist/Chart.min.js"></script>
277
312
  <script>
@@ -294,17 +329,6 @@
294
329
  var element = layui.element;
295
330
  laydate = layui.laydate;
296
331
 
297
- $(document).ready(function () {
298
- $(".follow_count_bt").click(function () {
299
- layer.msg("图表绘制中...", {
300
- offset:['40%','46%']
301
- })
302
- layer.load(0, {});
303
- setTimeout(function () {
304
- layer.closeAll('loading');
305
- }, 3000);
306
- });
307
- });
308
332
  if(follow_type == "day"){
309
333
  $(".year").addClass('layui-hide')
310
334
  $(".month").addClass('layui-hide')
@@ -498,5 +522,61 @@
498
522
  data: <%=raw @goal_count_data.to_json %>,
499
523
  options: opt
500
524
  });
525
+
526
+ var ctx = document.getElementById('myChart3');
527
+ var myChart3 = new Chart(ctx, {
528
+ type: 'bar',
529
+ data: <%=raw @business_data.to_json %>,
530
+ options: opt
531
+ });
532
+
533
+ $(document).ready(function () {
534
+ $(".follow_count_bt").click(function () {
535
+ layer.load(0, {});
536
+ $.get('/missions/sale_trends/trends.json?follow_count_range=' + $("#follow_count_range").val() + '&date_month=' + $("#date_month").val() + '&date_week=' + $("#date_week").val() + '&date_year=' + $("#date_year").val() + '&date=' + $("#date").val()).done(function(res) {
537
+ layer.closeAll('loading');
538
+ var data1 = res.data1;
539
+ var ctx = document.getElementById('myChart');
540
+ var myChart = new Chart(ctx, {
541
+ type: 'line',
542
+ data: data1,
543
+ options: {
544
+ elements: {
545
+ line: {
546
+ tension: 0
547
+ }
548
+ }
549
+ }
550
+ });
551
+ });
552
+ });
553
+ $(".goal_count_bt").click(function () {
554
+ layer.load(0, {});
555
+ $.get('/missions/sale_trends/trends.json?count_type=' + $("#count_type").val() + '&goal_count_range=' + $("#goal_count_range").val() + '&goal_date_month=' + $("#goal_date_month").val() + '&goal_date_year=' + $("#goal_date_year").val()).done(function(res) {
556
+ layer.closeAll('loading');
557
+ var data2 = res.data2;
558
+ var ctx = document.getElementById('myChart2');
559
+ var myChart2 = new Chart(ctx, {
560
+ type: 'bar',
561
+ data: data2,
562
+ options: opt
563
+ });
564
+ });
565
+ });
566
+ $(".business_bt").click(function () {
567
+ layer.load(0, {});
568
+ $.get('/missions/sale_trends/trends.json?business_count_type=' + $("#business_count_type").val() + '&business_type=' + $("#business_type").val()).done(function(res) {
569
+ layer.closeAll('loading');
570
+ var data3 = res.data3;
571
+ var ctx = document.getElementById('myChart3');
572
+ var myChart3 = new Chart(ctx, {
573
+ type: 'bar',
574
+ data: data3,
575
+ options: opt
576
+ });
577
+ });
578
+ });
579
+ });
580
+
501
581
  })
502
582
  </script>
@@ -1,14 +1,3 @@
1
- my_array = [1,2,3,4,5]
2
- json.data do
3
- json.labels my_array
4
- json.datasets do
5
- json.array! [1,2] do |d|
6
- json.label '人名'
7
- json.backgroundColor "#fff"
8
- json.borderColor "#36A2EB"
9
- json.pointBackgroundColor "#36A2EB"
10
- json.pointBorderColor "#fff"
11
- json.data my_array
12
- end
13
- end
14
- end
1
+ json.data1 @follow_count_data
2
+ json.data2 @goal_count_data
3
+ json.data3 @business_data
@@ -1,6 +1,6 @@
1
1
  <div class="section">
2
2
  <form class="layui-form select_year" action="">
3
- <span>销售人员列表</span>
3
+ <!-- <span>销售人员列表</span>-->
4
4
  <div class="layui-input-inline" style="float: right">
5
5
  <%= select_tag "years", options_for_select(@years,@year), {'lay-filter': 'year' } %>
6
6
  </div>
@@ -49,6 +49,11 @@
49
49
  <a href="/missions/customers?staff_id={{d.id}}">{{d.school_count}}</a>
50
50
  </div>
51
51
  </script>
52
+ <script type="text/html" id="bussinessBar">
53
+ <span>销售人员列表</span>
54
+ <div class="layui-btn-container">
55
+ </div>
56
+ </script>
52
57
  <script>
53
58
  layui.use('table', function () {
54
59
  var form = layui.form,
@@ -63,22 +68,25 @@
63
68
  table.render({
64
69
  elem: '#table',
65
70
  url: '/missions/sales?year=<%= @year %>',
66
- cellMinWidth: 80,
71
+ defaultToolbar: ['filter'],
72
+ cellMinWidth: 80,
73
+ toolbar: '#bussinessBar',
67
74
  totalRow:true,
68
75
  cols: [
69
76
  [{
70
77
  field: 'id',
71
78
  title:'序号',type: 'numbers',
72
79
  totalRowText:'合计',
80
+ fixed: 'left',
73
81
  width: 80
74
82
  }, {
75
83
  field: 'name',
76
84
  title: '姓名',
85
+ fixed: 'left',
77
86
  width: 100
78
87
  }, {
79
88
  field: 'area',
80
89
  title: '负责区域',
81
- width: 100,
82
90
  templet:'<div><span title="{{d.area}}">{{d.area}}</span></div>'
83
91
  }, {
84
92
  field: 'business_a',
@@ -157,20 +165,20 @@
157
165
  totalRow:'{{ parseInt(d.TOTAL_NUMS) }}',
158
166
  width: 130
159
167
  },
160
- {
161
- field: 'follow_school_rate',
162
- title: '学校覆盖率',
163
- sort:true,
164
- totalRow:'{{ parseInt(d.TOTAL_NUMS) }}',
165
- width: 120
166
- },
167
- {
168
- field: 'follow_department_rate',
169
- title: '学院覆盖率',
170
- sort:true,
171
- totalRow:'{{ parseInt(d.TOTAL_NUMS) }}',
172
- width: 120
173
- },
168
+ // {
169
+ // field: 'follow_school_rate',
170
+ // title: '学校覆盖率',
171
+ // sort:true,
172
+ // totalRow:true,
173
+ // width: 120
174
+ // },
175
+ // {
176
+ // field: 'follow_department_rate',
177
+ // title: '学院覆盖率',
178
+ // sort:true,
179
+ // totalRow:true,
180
+ // width: 120
181
+ // },
174
182
  ]
175
183
  ],
176
184
  limit: 20,