educode_sales 0.1.3 → 0.1.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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/educode_sales/businesses_controller.rb +13 -7
  3. data/app/controllers/educode_sales/operation_plans_controller.rb +2 -2
  4. data/app/controllers/educode_sales/sessions_controller.rb +1 -0
  5. data/app/models/educode_sales/operation_plan.rb +0 -1
  6. data/app/models/educode_sales/sale_plan.rb +0 -1
  7. data/app/views/educode_sales/businesses/edit_follow_record.html.erb +2 -2
  8. data/app/views/educode_sales/businesses/edit_plan.html.erb +2 -1
  9. data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
  10. data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +5 -4
  11. data/app/views/educode_sales/operation_plans/_monthly.html.erb +4 -4
  12. data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +9 -4
  13. data/app/views/educode_sales/operation_plans/_weekly.html.erb +4 -5
  14. data/app/views/educode_sales/operation_plans/edit_month.html.erb +3 -1
  15. data/app/views/educode_sales/operation_plans/index.html.erb +35 -5
  16. data/app/views/educode_sales/operation_plans/my_month.json.jbuilder +1 -1
  17. data/app/views/educode_sales/operation_plans/new_month.html.erb +3 -1
  18. data/app/views/educode_sales/operation_plans/new_monthly.html.erb +135 -29
  19. data/app/views/educode_sales/operation_plans/new_week.html.erb +4 -3
  20. data/app/views/educode_sales/operation_plans/new_weekly.html.erb +172 -80
  21. data/app/views/educode_sales/plans/_monthPlan.html.erb +1 -1
  22. data/app/views/educode_sales/plans/_monthly.html.erb +2 -2
  23. data/app/views/educode_sales/plans/_weekPlan.html.erb +7 -2
  24. data/app/views/educode_sales/plans/_weekly.html.erb +1 -1
  25. data/app/views/educode_sales/teachers/index.html.erb +1 -1
  26. data/app/views/educode_sales/teachers/index.json.jbuilder +1 -0
  27. data/app/views/educode_sales/teachers/new_follow_record.html.erb +2 -0
  28. data/lib/educode_sales/version.rb +1 -1
  29. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b4a41e482e6776c9768761b3d37e0ad17e0244e
4
- data.tar.gz: 56041da1c4e2f2a2d7a87b8d438af0691e398c95
3
+ metadata.gz: e11b0c160f2894e96d39dff5b6f90e895950940a
4
+ data.tar.gz: fcb96df55ddd39ed2dc9e67e4cd6313cdd6c8259
5
5
  SHA512:
6
- metadata.gz: 6d741309b6fce698679dac6cb314da6ba096ab89fdf83067b4cd45c363995954fcc0b183b7bdc1821aa0c1af0a9a3aa62872723cac2f1b50c5c2aa4935870601
7
- data.tar.gz: 83d7f4c01c7737dc391c46cf65641c35e714f390b3792cc001968e11b4abb8e3d7f7316f7727ebccceff5299abce8b9459eeb2600f1c11216e2d2f0a5c520f47
6
+ metadata.gz: f5fba1e9ca510c1803807abb69e41a1482a0858b4e7e54757fdf894ae5460b110ae8bd1faf0559de01cc108f47594bdc2f8cd0e4f90c91e59054a47f7f99d5b8
7
+ data.tar.gz: 0c6e805fe44da4508bc033bbf63846bda0bd24248a3f8face88ae839fc06ceabb90e9dbb061f6f8cae7fd91b711806f0c841b0c9aa2fcc9541166e77cbce4e7a
@@ -25,13 +25,7 @@ module EducodeSales
25
25
  end
26
26
  end
27
27
 
28
- @businesses = @businesses.select("
29
- educode_sales_businesses.*,
30
- last_follow.invitation_at,
31
- last_follow.reception_at,
32
- last_follow.total_amount").joins("
33
- LEFT JOIN educode_sales_follow_ups AS last_follow ON educode_sales_businesses.last_follow_up_id = last_follow.id
34
- ")
28
+ @businesses = @businesses
35
29
  if params[:q].present? && params[:q][:name].present?
36
30
  @businesses = @businesses.where("educode_sales_businesses.name like ?", "%#{params[:q][:name]}%")
37
31
  end
@@ -70,11 +64,23 @@ module EducodeSales
70
64
  @businesses = @businesses.where("created_at > ? AND created_at < ?", date[0], date[1])
71
65
  end
72
66
 
67
+ @businesses = @businesses.page(params[:page]).per(params[:per_page])
68
+
73
69
  if params[:sort].present? && params[:sort][:field]
74
70
  @businesses = @businesses.order("#{params[:sort][:field]} #{params[:sort][:order]}")
75
71
  else
76
72
  @businesses = @businesses.order("created_at desc")
77
73
  end
74
+
75
+ @business_count = @businesses.count
76
+
77
+ @businesses = @businesses.select("
78
+ educode_sales_businesses.*,
79
+ last_follow.invitation_at,
80
+ last_follow.reception_at,
81
+ last_follow.total_amount").joins("
82
+ LEFT JOIN educode_sales_follow_ups AS last_follow ON educode_sales_businesses.last_follow_up_id = last_follow.id
83
+ ").page(params[:page]).per(params[:per_page])
78
84
  end
79
85
  end
80
86
  end
@@ -60,7 +60,7 @@ module EducodeSales
60
60
  else
61
61
  @weeks = [week]
62
62
  end
63
- @teachers = @current_admin.teachers.pluck(:name, :id)
63
+ @teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
64
64
  render layout: false
65
65
  end
66
66
 
@@ -87,7 +87,7 @@ module EducodeSales
87
87
 
88
88
  def new_month
89
89
  @teacher = Teacher.find_by(id: params[:teacher_id])
90
- @teachers = @current_admin.teachers.pluck(:name, :id)
90
+ @teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
91
91
  render layout: false
92
92
  end
93
93
 
@@ -15,6 +15,7 @@ module EducodeSales
15
15
  elsif user
16
16
  staff = Staff.find_by(user_id: user.id)
17
17
  if staff
18
+ return render_failure('该账号已禁止使用') if staff.expired_at < Time.now
18
19
  check_pwd(user, staff)
19
20
  else
20
21
  render_failure('账号不存在')
@@ -4,6 +4,5 @@ module EducodeSales
4
4
  belongs_to :teacher
5
5
 
6
6
  validates :month, presence: true
7
- validates :weekly, presence: true
8
7
  end
9
8
  end
@@ -4,6 +4,5 @@ module EducodeSales
4
4
  belongs_to :staff
5
5
 
6
6
  validates :month, presence: true
7
- validates :weekly, presence: true
8
7
  end
9
8
  end
@@ -17,7 +17,7 @@
17
17
  <div class="layui-inline">
18
18
  <label class="layui-form-label required">项目类型</label>
19
19
  <div class="layui-input-inline">
20
- <%= select_tag "clazz_id", options_for_select(@clazz, @follow_up.clazz), class: 'required' %>
20
+ <%= select_tag "clazz_id", options_for_select(@clazz, @follow_up.clazz_id), class: 'required' %>
21
21
  </div>
22
22
  </div>
23
23
  <div class="layui-inline">
@@ -51,7 +51,7 @@
51
51
  <div class="layui-inline">
52
52
  <label class="layui-form-label">实额</label>
53
53
  <div class="layui-input-inline">
54
- <input name="actual_amount" type="number" class="layui-input" value="<%= @follow_up.total_amount %>">
54
+ <input name="actual_amount" type="number" class="layui-input" value="<%= @follow_up.actual_amount %>">
55
55
  </div>
56
56
  </div>
57
57
  <br>
@@ -81,9 +81,10 @@
81
81
  if (res.success == false) {
82
82
  layer.alert(res.msg)
83
83
  } else {
84
- layer.close(parent.plan_index);
84
+ // layer.close(parent.plan_index);
85
85
  parent.table.reload('sale_plan_follow_table');
86
86
  parent.table.reload('businesses_table');
87
+ table.reload('return_money_list');
87
88
  }
88
89
  })
89
90
  return false;
@@ -17,4 +17,5 @@ json.data do
17
17
  end
18
18
  end
19
19
  json.code 0
20
+ json.count @business_count
20
21
  json.msg 'succcess'
@@ -7,6 +7,7 @@
7
7
  </div>
8
8
  </script>
9
9
  <!--搜索-->
10
+ <div class="layuimini-main min-height-table" id="o_month_table_wraper">
10
11
  <form class="layui-form layui-form-pane" lay-filter="month_plan_form_filter">
11
12
  <div class="layui-form-item">
12
13
  <div class="layui-inline">
@@ -36,7 +37,7 @@
36
37
  </div>
37
38
  </form>
38
39
  <table class="layui-hide" id="monthPlanTable" lay-filter="currentTableFilter3"></table>
39
-
40
+ </div>
40
41
  <script type="text/html" id="currentTableBar">
41
42
  <% if can? :read, EducodeSales::OperationPlan %>
42
43
  <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
@@ -181,7 +182,7 @@
181
182
  console.log("a");
182
183
  var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_month');
183
184
  var openWH = miniPage.getOpenWidthHeight();
184
- var index = layer.open({
185
+ monthPlanIndex = layer.open({
185
186
  title: '添加计划',
186
187
  type: 1,
187
188
  shade: 0.2,
@@ -236,7 +237,7 @@
236
237
  } else if (obj.event === 'edit') {
237
238
  content = miniPage.getHrefContent('/educode_sales/operation_plans/edit_month?id='+data.id);
238
239
  openWH = miniPage.getOpenWidthHeight();
239
- index = layer.open({
240
+ indexOfmonthPlan = layer.open({
240
241
  title: '编辑',
241
242
  type: 1,
242
243
  shade: 0.2,
@@ -258,7 +259,7 @@
258
259
  content = miniPage.getHrefContent('/educode_sales/teachers/show_follow?id=' + data.teacher_id);
259
260
  openWH = miniPage.getOpenWidthHeight();
260
261
  index = layer.open({
261
- title: 'xxxx/跟进记录',
262
+ title: data.teacher_name + '/跟进记录',
262
263
  type: 1,
263
264
  shade: 0.2,
264
265
  maxmin: true,
@@ -7,7 +7,7 @@
7
7
  </div>
8
8
  </script>
9
9
  <!--搜索-->
10
- <div class="layuimini-main edit-table" id="monthly_table_wraper">
10
+ <div class="layuimini-main min-height-table" id="o_monthly_table_wraper">
11
11
 
12
12
  <form class="layui-form layui-form-pane" lay-filter="monthly_form_filter">
13
13
  <div class="layui-form-item">
@@ -139,7 +139,7 @@
139
139
  }
140
140
  ]
141
141
  ], done: function (res) {
142
- $("#monthly_table_wraper .star1").each(function (i) {
142
+ $("#o_monthly_table_wraper .star1").each(function (i) {
143
143
  rate.render({
144
144
  elem: this,
145
145
  value: res.data[i].level1_score,
@@ -147,7 +147,7 @@
147
147
  readonly: true
148
148
  });
149
149
  })
150
- $("#monthly_table_wraper .star2").each(function (i) {
150
+ $("#o_monthly_table_wraper .star2").each(function (i) {
151
151
  rate.render({
152
152
  elem: this,
153
153
  value: res.data[i].level2_score,
@@ -155,7 +155,7 @@
155
155
  readonly: true
156
156
  });
157
157
  })
158
- $("#monthly_table_wraper .star3").each(function (i) {
158
+ $("#o_monthly_table_wraper .star3").each(function (i) {
159
159
  rate.render({
160
160
  elem: this,
161
161
  value: res.data[i].level3_score,
@@ -7,8 +7,8 @@
7
7
  </div>
8
8
  </script>
9
9
  <!--搜索-->
10
- <div class="layuimini-main edit-table" id="week_table_wraper">
11
- <div class="layui-form layui-form-pane edit-table" lay-filter="week_plan_form_filter">
10
+ <div class="layuimini-main min-height-table" id="o_week_table_wraper">
11
+ <div class="layui-form layui-form-pane" lay-filter="week_plan_form_filter">
12
12
  <div class="layui-form-item">
13
13
  <div class="layui-inline">
14
14
  <label class="layui-form-label">人员</label>
@@ -106,6 +106,11 @@
106
106
  width: 190,
107
107
  title: '部门'
108
108
  },
109
+ {
110
+ field: 'month',
111
+ width: 100,
112
+ title: '月份',
113
+ },
109
114
  {
110
115
  field: 'week',
111
116
  width: 100,
@@ -187,7 +192,7 @@
187
192
  if (obj.event === 'add') { // 监听添加操作
188
193
  var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_week');
189
194
  var openWH = miniPage.getOpenWidthHeight();
190
- var index = layer.open({
195
+ new_weelPlan_index = layer.open({
191
196
  title: '添加计划',
192
197
  type: 1,
193
198
  shade: 0.2,
@@ -276,7 +281,7 @@
276
281
  content = miniPage.getHrefContent('/educode_sales/teachers/show_follow?id=' + data.teacher_id);
277
282
  openWH = miniPage.getOpenWidthHeight();
278
283
  index = layer.open({
279
- title: 'xxxx/跟进记录',
284
+ title: data.teacher_name + '/跟进记录',
280
285
  type: 1,
281
286
  shade: 0.2,
282
287
  maxmin: true,
@@ -7,8 +7,7 @@
7
7
  </div>
8
8
  </script>
9
9
  <!--搜索-->
10
- <div class="layuimini-main edit-table" id="sales_weelky_table">
11
-
10
+ <div class="layuimini-main min-height-table" id="o_sales_weelky_table">
12
11
  <form class="layui-form layui-form-pane" lay-filter="weekly_plan_form_filter">
13
12
  <div class="layui-form-item">
14
13
  <div class="layui-inline">
@@ -141,7 +140,7 @@
141
140
  }
142
141
  ]
143
142
  ], done: function (res) {
144
- $("#sales_weelky_table .star1").each(function (i) {
143
+ $("#o_sales_weelky_table .star1").each(function (i) {
145
144
  rate.render({
146
145
  elem: this,
147
146
  value: res.data[i].level1_score,
@@ -149,7 +148,7 @@
149
148
  readonly: true
150
149
  });
151
150
  })
152
- $("#sales_weelky_table .star2").each(function (i) {
151
+ $("#o_sales_weelky_table .star2").each(function (i) {
153
152
  rate.render({
154
153
  elem: this,
155
154
  value: res.data[i].level2_score,
@@ -157,7 +156,7 @@
157
156
  readonly: true
158
157
  });
159
158
  })
160
- $("#sales_weelky_table .star3").each(function (i) {
159
+ $("#o_sales_weelky_table .star3").each(function (i) {
161
160
  rate.render({
162
161
  elem: this,
163
162
  value: res.data[i].level3_score,
@@ -60,8 +60,10 @@
60
60
  if (res.success == false) {
61
61
  layer.alert(res.msg)
62
62
  } else {
63
- layer.closeAll()
63
+ layer.close(parent.indexOfmonthPlan)
64
+ layer.close(parent.indexOfmonthly)
64
65
  table.reload('monthPlanTable')
66
+ table.reload("newMonthlyTable")
65
67
  }
66
68
  })
67
69
  return false;
@@ -1,9 +1,9 @@
1
- <div class="layui-tab">
1
+ <div class="layui-tab" lay-filter="operation_tab">
2
2
  <ul class="layui-tab-title">
3
- <li class="layui-this">周计划</li>
4
- <li>周报</li>
5
- <li>月计划</li>
6
- <li>月报</li>
3
+ <li class="layui-this" data="week">周计划</li>
4
+ <li data="weekly">周报</li>
5
+ <li data="month">月计划</li>
6
+ <li data="monthly">月报</li>
7
7
  </ul>
8
8
  <div class="layui-tab-content">
9
9
  <div class="layui-tab-item layui-show">
@@ -20,3 +20,33 @@
20
20
  </div>
21
21
  </div>
22
22
  </div>
23
+ <script>
24
+ layui.use(['element', 'table', 'jquery'], function () {
25
+ var $ = layui.jquery,
26
+ table = layui.table,
27
+ element = layui.element;
28
+ element.on('tab(operation_tab)', function (data) {
29
+ var status = $(this).attr('data')
30
+ switch (status) {
31
+ case 'week':
32
+ $("#o_week_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
33
+ $("#o_week_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height = "auto";
34
+ break;
35
+ case 'weekly':
36
+ $("#o_sales_weelky_table .layui-table-fixed-r")[0].classList.remove('layui-hide');
37
+ $("#o_sales_weelky_table .layui-table-fixed-r .layui-table-body")[0].style.height = "auto";
38
+ break;;
39
+ case 'monthly':
40
+ $("#o_monthly_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
41
+ $("#o_monthly_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height = "auto";
42
+ break;
43
+ case 'month':
44
+ $("#o_month_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
45
+ $("#o_month_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height = "auto";
46
+ break;
47
+ }
48
+
49
+
50
+ })
51
+ })
52
+ </script>
@@ -8,7 +8,7 @@ json.data do
8
8
  json.month d.month.strftime("%Y-%m")
9
9
  json.teacher_id d.teacher_id
10
10
  json.content d.content.truncate(30)
11
- # json.follow_ups_count d.teacher.follow_ups_count
11
+ json.count d.teacher.teacher_follows_count
12
12
  json.rate "#{d.finish_rate}%"
13
13
  json.updated_at d.updated_at.to_s
14
14
  end
@@ -69,8 +69,10 @@
69
69
  if (res.success == false) {
70
70
  layer.alert(res.msg)
71
71
  } else {
72
- layer.closeAll()
72
+ layer.close(parent.new_monthly_index)
73
+ layer.close(parent.monthPlanIndex)
73
74
  table.reload('monthPlanTable')
75
+ table.reload("newMonthlyTable")
74
76
  }
75
77
  })
76
78
  return false;
@@ -35,7 +35,7 @@
35
35
  </form>
36
36
 
37
37
  <!--表格-->
38
- <table class="layui-hide" id="newMonthlyTable" lay-filter="currentMonthly"></table>
38
+ <table class="layui-hide" id="newMonthlyTable" lay-filter="newMonthlyToolbar"></table>
39
39
 
40
40
  <script type="text/html" id="currentMonthly">
41
41
  <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
@@ -43,6 +43,11 @@
43
43
  <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
44
44
  </script>
45
45
 
46
+ <script type="text/html" id="show_follow_newMonthly">
47
+ <a href="javascript:void(0);" lay-event="show_follow_newMonthly" class="layui-table-link">{{ d.count }}</a>
48
+ </script>
49
+
50
+
46
51
  <script>
47
52
  layui.use(['rate', 'table'], function () {
48
53
  var rate = layui.rate,
@@ -69,7 +74,7 @@
69
74
 
70
75
  table.render({
71
76
  elem: '#newMonthlyTable',
72
- // url: 'api/table.json',
77
+ url: '/educode_sales/operation_plans/my_month',
73
78
  toolbar: '#newMonthlyToolbar',
74
79
  defaultToolbar: [],
75
80
  cols: [
@@ -80,39 +85,35 @@
80
85
  title: '序号'
81
86
  },
82
87
  {
83
- field: 'username',
88
+ field: 'staff',
84
89
  width: 100,
85
90
  title: '姓名'
86
91
  },
87
92
  {
88
- field: 'chance',
93
+ field: 'teacher_name',
89
94
  width: 100,
90
95
  title: '教师姓名',
91
96
  },
92
97
  {
93
- field: 'company',
94
- width: 100,
98
+ field: 'school',
99
+ width: 190,
95
100
  title: '单位'
96
101
  },
97
102
  {
98
- field: 'dep',
99
- width: 100,
103
+ field: 'department',
104
+ width: 190,
100
105
  title: '部门'
101
106
  },
102
107
  {
103
- field: 'week',
104
- width: 100,
105
- title: '周次',
106
- },
107
- {
108
- field: 'plan',
109
- width: 300,
108
+ field: 'content',
109
+ width: 400,
110
110
  title: '计划内容',
111
111
  },
112
112
  {
113
- field: 'follow',
113
+ field: 'count',
114
114
  width: 100,
115
115
  title: '跟进',
116
+ templet: '#show_follow_newMonthly'
116
117
  },
117
118
  {
118
119
  field: 'rate',
@@ -120,7 +121,7 @@
120
121
  title: '完成率',
121
122
  },
122
123
  {
123
- field: 'updateTime',
124
+ field: 'updated_at',
124
125
  width: 150,
125
126
  title: '更新时间',
126
127
  sort: true,
@@ -133,25 +134,130 @@
133
134
  }
134
135
  ]
135
136
  ],
136
- data: [{
137
- "id": "1",
138
- "username": "丁亚莲",
139
- "chance": "人工智能实验室建设",
140
- "company": "中南大学",
141
- "dep": "计算机学院",
142
- "week": "2021-33周",
143
- "plan": "对接决策人",
144
- "follow": "120",
145
- "rate": "100%",
146
- "updateTime": "2021-07-27",
147
- }],
148
137
  limits: [10, 15, 20, 25, 50, 100],
149
138
  limit: 15,
150
139
  page: true,
151
140
  skin: 'line'
152
141
  });
142
+
143
+
144
+
145
+
146
+ /**
147
+ * toolbar事件监听
148
+ */
149
+ table.on('toolbar(newMonthlyToolbar)', function (obj) {
150
+ if (obj.event === 'add') { // 监听添加操作
151
+ var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_month');
152
+ var openWH = miniPage.getOpenWidthHeight();
153
+ new_monthly_index = layer.open({
154
+ title: '添加计划',
155
+ type: 1,
156
+ shade: 0.2,
157
+ maxmin: true,
158
+ shadeClose: true,
159
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
160
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
161
+ content: content,
162
+ success: function (layero, index) {
163
+ // 重新渲染弹层中的下拉选择框select
164
+ form.render('select');
165
+ }
166
+ });
167
+ $(window).on("resize", function () {
168
+ layer.full(index);
169
+ });
170
+ }
171
+ });
172
+
173
+
174
+ table.on('tool(newMonthlyToolbar)', function (obj) {
175
+ var data = obj.data;
176
+ if (obj.event === 'delete') {
177
+ layer.confirm('确定删除' + data.id, function (index) {
178
+ console.log("aaaaa");
179
+ request.delete('educode_sales/operation_plans/' + data.id, {}, function (res) {
180
+ layer.close(index);
181
+ table.reload("newMonthlyTable")
182
+ })
183
+ });
184
+ }
185
+ else if (obj.event === 'show') {
186
+ content = miniPage.getHrefContent('/educode_sales/operation_plans/show_week?id='+ data.id);
187
+ openWH = miniPage.getOpenWidthHeight();
188
+ index = layer.open({
189
+ title: '查看',
190
+ type: 1,
191
+ shade: 0.2,
192
+ maxmin: true,
193
+ shadeClose: true,
194
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
195
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
196
+ content: content,
197
+ success: function (layero, index) {
198
+ form.render('select');
199
+ },
200
+ });
201
+ $(window).on("resize", function () {
202
+ layer.full(index);
203
+ });
204
+ return false;
205
+ } else if (obj.event === 'edit') {
206
+ content = miniPage.getHrefContent('/educode_sales/operation_plans/edit_month?id='+data.id);
207
+ openWH = miniPage.getOpenWidthHeight();
208
+ indexOfmonthly = layer.open({
209
+ title: '编辑',
210
+ type: 1,
211
+ shade: 0.2,
212
+ maxmin: true,
213
+ shadeClose: true,
214
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
215
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
216
+ content: content,
217
+ success: function (layero, index) {
218
+ form.render('select');
219
+ },
220
+ });
221
+ $(window).on("resize", function () {
222
+ layer.full(index);
223
+ });
224
+ return false;
225
+ }else if (obj.event === 'show_follow_newMonthly') {
226
+ id = data.teacher_id
227
+ content = miniPage.getHrefContent('/educode_sales/teachers/show_follow?id=' + data.teacher_id);
228
+ openWH = miniPage.getOpenWidthHeight();
229
+ index = layer.open({
230
+ title: data.teacher_name + '/跟进记录',
231
+ type: 1,
232
+ shade: 0.2,
233
+ maxmin: true,
234
+ shadeClose: true,
235
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
236
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
237
+ content: content,
238
+ success: function (layero, index) {
239
+ // 重新渲染弹层中的下拉选择框select
240
+ // form.render('select');
241
+ }
242
+ });
243
+ $(window).on("resize", function () {
244
+ layer.full(index);
245
+ });
246
+ }
247
+ });
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
153
258
  })
154
259
  </script>
260
+
155
261
  <style>
156
262
  .layui-form-item {
157
263
  margin-bottom: 0px;
@@ -16,7 +16,6 @@
16
16
  <label class="layui-form-label required">教师</label>
17
17
  <div class="layui-input-inline">
18
18
 
19
- <%#= select_tag "teacher_id", options_for_select(@teachers, @teacher&.id), {"lay-verify": "required", include_blank: true} %>
20
19
  <%= select_tag "teacher_id", options_for_select(@teachers), {"lay-verify": "required", include_blank: true} %>
21
20
  </div>
22
21
  </div>
@@ -76,8 +75,10 @@
76
75
  if (res.success == false) {
77
76
  layer.alert(res.msg)
78
77
  } else {
79
- layer.closeAll()
80
- table.reload('weekPlanTable1')
78
+ layer.close(parent.add_new_weeklyIndex)
79
+ layer.close(parent.new_weelPlan_index)
80
+ table.reload("weekPlanTable1")
81
+ table.reload("newWeeklyTable")
81
82
  }
82
83
  })
83
84
  return false;
@@ -35,13 +35,16 @@
35
35
  </form>
36
36
 
37
37
  <!--表格-->
38
- <table class="layui-hide" id="newWeeklyTable" lay-filter="currentWeekly"></table>
38
+ <table class="layui-hide" id="newWeeklyTable" lay-filter="newWeeklyToolbar"></table>
39
39
 
40
40
  <script type="text/html" id="currentWeekly">
41
41
  <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
42
42
  <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
43
43
  <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
44
44
  </script>
45
+ <script type="text/html" id="show_follow_newWeekly">
46
+ <a href="javascript:void(0);" lay-event="show_follow_newWeekly" class="layui-table-link">{{ d.count }}</a>
47
+ </script>
45
48
  <script>
46
49
  layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
47
50
  var rate = layui.rate,
@@ -56,7 +59,7 @@
56
59
  if (res.success == false) {
57
60
  layer.alert(res.msg)
58
61
  } else {
59
- // layer.closeAll();
62
+ layer.closeAll();
60
63
  parent.table.reload('weeklyTable');
61
64
  layer.alert('添加成功')
62
65
  }
@@ -67,62 +70,63 @@
67
70
 
68
71
  table.render({
69
72
  elem: '#newWeeklyTable',
70
- // url: 'api/table.json',
73
+ url: '/educode_sales/operation_plans/my_week',
71
74
  toolbar: '#newWeeklyToolbar',
72
75
  defaultToolbar: [],
73
- cols: [
74
- [
75
- {
76
- field: 'id',
77
- width: 80,
78
- title: '序号'
79
- },
80
- {
81
- field: 'username',
82
- width: 100,
83
- title: '姓名'
84
- },
85
- {
86
- field: 'chance',
87
- width: 100,
88
- title: '教师姓名',
89
- },
90
- {
91
- field: 'company',
92
- width: 100,
93
- title: '单位'
94
- },
95
- {
96
- field: 'dep',
97
- width: 100,
98
- title: '部门'
99
- },
100
- {
101
- field: 'week',
102
- width: 100,
103
- title: '周次',
104
- },
105
- {
106
- field: 'plan',
107
- width: 300,
108
- title: '计划内容',
109
- },
110
- {
111
- field: 'follow',
112
- width: 100,
113
- title: '跟进',
114
- },
115
- {
116
- field: 'rate',
117
- width: 100,
118
- title: '完成率',
119
- },
120
- {
121
- field: 'updateTime',
122
- width: 150,
123
- title: '更新时间',
124
- sort: true,
125
- },
76
+ cols: [
77
+ [
78
+ {
79
+ field: 'id',
80
+ width: 80,
81
+ title: '序号'
82
+ },
83
+ {
84
+ field: 'staff',
85
+ width: 100,
86
+ title: '姓名'
87
+ },
88
+ {
89
+ field: 'teacher_name',
90
+ width: 100,
91
+ title: '教师姓名',
92
+ },
93
+ {
94
+ field: 'school',
95
+ width: 190,
96
+ title: '单位'
97
+ },
98
+ {
99
+ field: 'department',
100
+ width: 190,
101
+ title: '部门'
102
+ },
103
+ {
104
+ field: 'week',
105
+ width: 100,
106
+ title: '周次',
107
+ },
108
+ {
109
+ field: 'content',
110
+ width: 300,
111
+ title: '计划内容',
112
+ },
113
+ {
114
+ field: 'count',
115
+ width: 100,
116
+ title: '跟进',
117
+ templet: '#show_follow_newWeekly'
118
+ },
119
+ {
120
+ field: 'rate',
121
+ width: 100,
122
+ title: '完成率',
123
+ },
124
+ {
125
+ field: 'updated_at',
126
+ width: 150,
127
+ title: '更新时间',
128
+ sort: true,
129
+ },
126
130
  {
127
131
  title: '操作',
128
132
  minWidth: 150,
@@ -131,18 +135,6 @@
131
135
  }
132
136
  ]
133
137
  ],
134
- data: [{
135
- "id": "1",
136
- "username": "丁亚莲",
137
- "chance": "人工智能实验室建设",
138
- "company": "中南大学",
139
- "dep": "计算机学院",
140
- "week": "2021-33周",
141
- "plan": "对接决策人",
142
- "follow": "120",
143
- "rate": "100%",
144
- "updateTime": "2021-07-27",
145
- }],
146
138
  limits: [10, 15, 20, 25, 50, 100],
147
139
  limit: 15,
148
140
  page: true,
@@ -150,18 +142,118 @@
150
142
  });
151
143
 
152
144
 
145
+ /**
146
+ * toolbar事件监听
147
+ */
148
+ table.on('toolbar(newWeeklyToolbar)', function (obj) {
149
+ var data = obj.data;
150
+ if (obj.event === 'add') { // 监听添加操作
151
+ var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_week');
152
+ var openWH = miniPage.getOpenWidthHeight();
153
+ add_new_weeklyIndex = layer.open({
154
+ title: '添加计划',
155
+ type: 1,
156
+ shade: 0.2,
157
+ maxmin: true,
158
+ shadeClose: true,
159
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
160
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
161
+ content: content,
162
+ success: function (layero, index) {
163
+ // 重新渲染弹层中的下拉选择框select
164
+ form.render('select');
165
+ }
166
+ });
167
+ $(window).on("resize", function () {
168
+ layer.full(index);
169
+ });
170
+ }
171
+ });
172
+
173
+
174
+
175
+
176
+
177
+
178
+ table.on('tool(newWeeklyToolbar)', function (obj) {
179
+ var data = obj.data;
180
+ id = data.id
181
+ if (obj.event === 'delete') {
182
+ layer.confirm('确定删除' + data.id, function (index) {
183
+ request.delete('educode_sales/operation_plans/' + data.id, {}, function (res) {
184
+ layer.close(index);
185
+ table.reload("weekPlanTable1")
186
+ table.reload("newWeeklyTable")
187
+ })
188
+ });
189
+ }
190
+ else if (obj.event === 'show') {
191
+ console.log("a");
192
+ content = miniPage.getHrefContent('/educode_sales/operation_plans/show_week?id='+id);
193
+ openWH = miniPage.getOpenWidthHeight();
194
+ index = layer.open({
195
+ title: '查看',
196
+ type: 1,
197
+ shade: 0.2,
198
+ maxmin: true,
199
+ shadeClose: true,
200
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
201
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
202
+ content: content,
203
+ success: function (layero, index) {
204
+ form.render('select');
205
+ },
206
+ });
207
+ $(window).on("resize", function () {
208
+ layer.full(index);
209
+ });
210
+ return false;
211
+ } else if (obj.event === 'edit') {
212
+ content = miniPage.getHrefContent('/educode_sales/operation_plans/edit_week?id='+id);
213
+ openWH = miniPage.getOpenWidthHeight();
214
+ editWeek_index = layer.open({
215
+ title: '编辑',
216
+ type: 1,
217
+ shade: 0.2,
218
+ maxmin: true,
219
+ shadeClose: true,
220
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
221
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
222
+ content: content,
223
+ success: function (layero, index) {
224
+ form.render('select');
225
+ },
226
+ });
227
+ $(window).on("resize", function () {
228
+ layer.full(index);
229
+ });
230
+ return false;
231
+ }
232
+ else if (obj.event === 'show_follow_newWeekly') {
233
+ id = data.teacher_id
234
+ content = miniPage.getHrefContent('/educode_sales/teachers/show_follow?id=' + data.teacher_id);
235
+ openWH = miniPage.getOpenWidthHeight();
236
+ index = layer.open({
237
+ title: data.teacher_name + '/跟进记录',
238
+ type: 1,
239
+ shade: 0.2,
240
+ maxmin: true,
241
+ shadeClose: true,
242
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
243
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
244
+ content: content,
245
+ success: function (layero, index) {
246
+ // 重新渲染弹层中的下拉选择框select
247
+ // form.render('select');
248
+ }
249
+ });
250
+ $(window).on("resize", function () {
251
+ layer.full(index);
252
+ });
253
+ }
254
+ });
255
+
256
+
153
257
 
154
- // form.on('submit(add_weekly_report)', function (data) {
155
- // request.authPost("educode_sales/operation_reports", data.field, function (res) {
156
- // if (res.success == false) {
157
- // layer.alert(res.msg)
158
- // } else {
159
- // layer.closeAll()
160
- // table.reload('newWeeklyTable');
161
- // layer.alert('添加成功')
162
- // }
163
- // })
164
- // return false;
165
- // });
166
258
  })
167
259
  </script>
@@ -7,7 +7,7 @@
7
7
  </div>
8
8
  </script>
9
9
  <!--搜索-->
10
- <div class="layuimini-main" id="month_table_wraper">
10
+ <div class="layuimini-main min-height-table" id="month_table_wraper">
11
11
  <form class="layui-form layui-form-pane" lay-filter="month_plan_search_form">
12
12
  <div class="layui-form-item">
13
13
  <div class="layui-inline">
@@ -7,8 +7,8 @@
7
7
  </div>
8
8
  </script>
9
9
  <!--搜索-->
10
- <div class="layuimini-main min-height-table" id="monthly_table_wraper">
11
- <form class="layui-form layui-form-pane edit-table" lay-filter="monthly_form_fiter">
10
+ <div class="layuimini-main min-height-table" id="monthly_table_wraper">
11
+ <form class="layui-form layui-form-pane" lay-filter="monthly_form_fiter">
12
12
  <div class="layui-form-item">
13
13
  <div class="layui-inline">
14
14
  <label class="layui-form-label">人员</label>
@@ -7,8 +7,8 @@
7
7
  </div>
8
8
  </script>
9
9
  <!--搜索-->
10
- <div class="layuimini-main min-height-table" id="week_table_wraper">
11
- <div class="layui-form layui-form-pane edit-table" lay-filter="week_plan_form_filter">
10
+ <div class="layuimini-main min-height-table" id="week_table_wraper">
11
+ <div class="layui-form layui-form-pane" lay-filter="week_plan_form_filter">
12
12
  <div class="layui-form-item">
13
13
  <div class="layui-inline">
14
14
  <label class="layui-form-label">人员</label>
@@ -104,6 +104,11 @@
104
104
  width: 170,
105
105
  title: '部门'
106
106
  },
107
+ {
108
+ field: 'month',
109
+ width: 100,
110
+ title: '月份',
111
+ },
107
112
  {
108
113
  field: 'weekly',
109
114
  width: 100,
@@ -8,7 +8,7 @@
8
8
  </script>
9
9
  <!--搜索-->
10
10
  <div class="layuimini-main min-height-table" id="sales_weelky_table">
11
- <form class="layui-form layui-form-pane edit-table" lay-filter="weekly_form_search">
11
+ <form class="layui-form layui-form-pane" lay-filter="weekly_form_search">
12
12
  <div class="layui-form-item">
13
13
  <div class="layui-inline">
14
14
  <label class="layui-form-label">人员</label>
@@ -225,7 +225,7 @@
225
225
  }
226
226
  ]
227
227
  ],
228
- page: true
228
+ page: true,
229
229
  });
230
230
 
231
231
 
@@ -21,4 +21,5 @@ json.data do
21
21
  end
22
22
  end
23
23
  json.code 0
24
+ json.count @teachers.count
24
25
  json.msg 'succcess'
@@ -79,6 +79,8 @@
79
79
  parent.table.reload('teachers_table')
80
80
  parent.table.reload('weekPlanTable1')
81
81
  parent.table.reload('monthPlanTable')
82
+ parent.table.reload('monthlyTable')
83
+ parent.table.reload('weeklyTable')
82
84
  }
83
85
  })
84
86
 
@@ -1,3 +1,3 @@
1
1
  module EducodeSales
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: educode_sales
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - anke1460
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-16 00:00:00.000000000 Z
11
+ date: 2021-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails