educode_sales 0.2.8 → 0.3.2

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/educode_sales/businesses_controller.rb +1 -1
  3. data/app/controllers/educode_sales/home_controller.rb +6 -6
  4. data/app/controllers/educode_sales/operation_plans_controller.rb +20 -3
  5. data/app/controllers/educode_sales/teacher_follows_controller.rb +2 -2
  6. data/app/controllers/educode_sales/teachers_controller.rb +7 -2
  7. data/app/models/educode_sales/activity_teacher.rb +2 -0
  8. data/app/models/educode_sales/teacher.rb +16 -10
  9. data/app/views/educode_sales/activities/new.html.erb +2 -1
  10. data/app/views/educode_sales/businesses/index.json.jbuilder +1 -1
  11. data/app/views/educode_sales/businesses/new.html.erb +2 -1
  12. data/app/views/educode_sales/businesses/new_follow_record.html.erb +9 -9
  13. data/app/views/educode_sales/businesses/show_follow.html.erb +13 -6
  14. data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +2 -2
  15. data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +2 -2
  16. data/app/views/educode_sales/operation_plans/edit_month.html.erb +1 -3
  17. data/app/views/educode_sales/operation_plans/edit_week.html.erb +1 -3
  18. data/app/views/educode_sales/operation_plans/new_month.html.erb +1 -0
  19. data/app/views/educode_sales/operation_plans/new_monthly.html.erb +4 -2
  20. data/app/views/educode_sales/operation_plans/new_week.html.erb +1 -0
  21. data/app/views/educode_sales/operation_plans/new_weekly.html.erb +3 -2
  22. data/app/views/educode_sales/places/new.html.erb +2 -1
  23. data/app/views/educode_sales/plans/_monthPlan.html.erb +2 -2
  24. data/app/views/educode_sales/plans/_weekPlan.html.erb +2 -2
  25. data/app/views/educode_sales/plans/new_monthly.html.erb +3 -1
  26. data/app/views/educode_sales/plans/new_weekly.html.erb +3 -1
  27. data/app/views/educode_sales/roles/new.html.erb +4 -2
  28. data/app/views/educode_sales/sale_trends/trends.html.erb +2 -1
  29. data/app/views/educode_sales/teachers/add_keys.html.erb +1 -0
  30. data/app/views/educode_sales/teachers/index.html.erb +2 -2
  31. data/app/views/educode_sales/teachers/show_follow.html.erb +3 -3
  32. data/app/views/educode_sales/teachers/show_follow.json.jbuilder +1 -1
  33. data/app/views/layouts/educode_sales/login.html.erb +1 -1
  34. data/lib/educode_sales/version.rb +1 -1
  35. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 42970300ca5db76b66dbe24f69cc7324ebc93960
4
- data.tar.gz: eba2c4fec4458f262f0edc26d0f77e2ff82e7f03
3
+ metadata.gz: 98aedecfa69b8c90371db0ee42b398a906d7dbc6
4
+ data.tar.gz: ef1ee2b5eef338a67f7a6c5f797c35d7bd169782
5
5
  SHA512:
6
- metadata.gz: 4aeaaf23d3a934295458a013cd789dccd72c47e66e5e26533c001414fde3ed6ebadd40e784efa540fa46ae0cb569871aacaf2cb4b82eacf0167d90c51d8ccdff
7
- data.tar.gz: edf8246de28e7d1ea0bc7b60d7ac0c1ea3ffff6f9b51d076906cd4815c5bc6cacd72922132cab31733a1923cba785656ba5a0adc9c2cbdb343c58bfb86e5bb0f
6
+ metadata.gz: b7d005a810748825d5e91951796022f9fb19869460b0f030d5a4a659171237eca63b3453bd95f73a9cf8485c35dde70953793f0672eb9a826f26a8751b0bb047
7
+ data.tar.gz: e80cd12d9e4196dddf9e315b283e26201d4093a278539bfbace0e1e7ca73622b8f356c224fd992f436be0aa82418f0add964b5957adab3cec68b01f41af23044
@@ -149,13 +149,13 @@ module EducodeSales
149
149
  end
150
150
  format.json do
151
151
  @follow_ups = @business.follow_ups
152
+ @latest = @follow_ups.order(created_at: :desc).first
152
153
  if params[:field]
153
154
  @follow_ups = @follow_ups.order("#{params[:field]} #{params[:order]}")
154
155
  else
155
156
  @follow_ups = @follow_ups.order("created_at desc")
156
157
  end
157
158
  @follow_ups = @follow_ups.page(params[:page]).per(params[:limit])
158
- @latest = @follow_ups.order(created_at: :desc).first
159
159
  end
160
160
  end
161
161
  end
@@ -12,29 +12,29 @@ module EducodeSales
12
12
  end
13
13
 
14
14
  def search_users
15
- @users = User.where("lastname like :q OR login like :q OR phone like :q or mail like :q", q: "%#{params[:q]}%").limit(20)
15
+ @users = User.where("concat(lastname, firstname) like :q OR login like :q OR phone like :q or mail like :q", q: "%#{params[:q]}%").limit(50)
16
16
  end
17
17
 
18
18
  def search
19
19
  if params[:type] == 'department'
20
20
 
21
- @data = Department.joins(:school).where("schools.name like :q", q: "%#{params[:q]}%").limit(20)
21
+ @data = Department.joins(:school).where("schools.name like :q", q: "%#{params[:q]}%").limit(50)
22
22
  unless @data.present?
23
- @data = Department.where("name like ?", "%#{params[:q]}%").limit(20)
23
+ @data = Department.where("name like ?", "%#{params[:q]}%").limit(50)
24
24
  end
25
25
  elsif params[:type] == "school"
26
- data = School.where("name like ? ", "%#{params[:q]}%").limit(20)
26
+ data = School.where("name like ? ", "%#{params[:q]}%").limit(50)
27
27
  end
28
28
  end
29
29
 
30
30
  def search_teacher
31
31
  @data = Teacher.where("name like ? and is_key = false", "%#{params[:q]}%").limit(20)
32
32
  user_ids = @data.pluck(:user_id).compact.uniq
33
- @data += User.joins(:user_extension).where.not(id: user_ids).where("identity='teacher'", user_ids).where("lastname like ?", "%#{params[:q]}%").limit(20)
33
+ @data += User.joins(:user_extension).where.not(id: user_ids).where("identity='teacher'", user_ids).where("lastname like ?", "%#{params[:q]}%").limit(50)
34
34
  end
35
35
 
36
36
  def search_edu_teacher
37
- @data = User.joins(:user_extension).where("identity='teacher'").where("lastname like ? OR phone like ? OR mail like ?", "%#{params[:q]}%", "%#{params[:q]}%", "%#{params[:q]}%").limit(20)
37
+ @data = User.joins(:user_extension).where("identity='teacher'").where("concat(lastname, firstname) like :q OR phone like :q OR mail like :q", q: "%#{params[:q]}%").limit(50)
38
38
  end
39
39
 
40
40
  end
@@ -20,7 +20,7 @@ module EducodeSales
20
20
  when '自己'
21
21
  @sale_plans = OperationPlan.where(staff_id: @current_admin.id)
22
22
  when '区域'
23
- staff_ids = Staff.joins(department: :school).where("school.province in ?", staff.areas.pluck(:name)).pluck(:id)
23
+ staff_ids = Staff.joins(department: :school).where("school.province in ?", @current_admin.areas.pluck(:name)).pluck(:id)
24
24
  @sale_plans = OperationPlan.where("staff_id in ?", staff_ids)
25
25
  else
26
26
  @sale_plans = OperationPlan
@@ -117,7 +117,16 @@ module EducodeSales
117
117
 
118
118
  def edit_week
119
119
  @teacher = Teacher.find_by(id: params[:teacher_id])
120
- @teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
120
+ level = @current_admin.is_admin? ? '全部' : @current_admin.role.role_areas.find_by(clazz: '运营计划').level
121
+ if level == '自己'
122
+ @teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
123
+ elsif level == '区域'
124
+ school_ids = School.where(province: @current_admin.areas.pluck(:name)).pluck(:id)
125
+ @teachers = Teacher.joins("JOIN departments ON educode_sales_teachers.department_id = departments.id").where(is_key: false).where("departments.school_id in (?) OR educode_sales_teachers.staff_id = #{@current_admin.id}", school_ids)
126
+ else
127
+ @teachers = Teacher.where(is_key: 0).pluck(:name, :id)
128
+ end
129
+
121
130
  @sale_plan = OperationPlan.find(params[:id])
122
131
  if @sale_plan.weekly.present?
123
132
  week = Time.now.strftime('%W').to_i
@@ -145,7 +154,15 @@ module EducodeSales
145
154
 
146
155
  def edit_month
147
156
  @teacher = Teacher.find_by(id: params[:teacher_id])
148
- @teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
157
+ level = @current_admin.is_admin? ? '全部' : @current_admin.role.role_areas.find_by(clazz: '运营计划').level
158
+ if level == '自己'
159
+ @teachers = @current_admin.teachers.where(is_key: 0).pluck(:name, :id)
160
+ elsif level == '区域'
161
+ school_ids = School.where(province: @current_admin.areas.pluck(:name)).pluck(:id)
162
+ @teachers = Teacher.joins("JOIN departments ON educode_sales_teachers.department_id = departments.id").where(is_key: false).where("departments.school_id in (?) OR educode_sales_teachers.staff_id = #{@current_admin.id}", school_ids)
163
+ else
164
+ @teachers = Teacher.where(is_key: 0).pluck(:name, :id)
165
+ end
149
166
  @sale_plan = OperationPlan.find(params[:id])
150
167
  @months = [Time.now.strftime("%Y-%m"), Time.now.months_ago(1).strftime("%Y-%m")]
151
168
  @months << @sale_plan.month.strftime("%Y-%m")
@@ -23,7 +23,7 @@ module EducodeSales
23
23
  end
24
24
 
25
25
  def destroy
26
- follow_up = @current_admin.teacher_follows.find(params[:id])
26
+ follow_up = TeacherFollow.find(params[:id])
27
27
  if follow_up.destroy
28
28
  render_success
29
29
  else
@@ -32,7 +32,7 @@ module EducodeSales
32
32
  end
33
33
 
34
34
  def update
35
- follow_up = @current_admin.teacher_follows.find(params[:id])
35
+ follow_up = TeacherFollow.find(params[:id])
36
36
  follow_up.assign_attributes(follow_up_params)
37
37
  # follow_up.profit_amount = follow_up.actual_amount * (100-follow_up.divide_rate.to_i) * 0.01 if follow_up.actual_amount
38
38
  if follow_up.save
@@ -98,14 +98,19 @@ module EducodeSales
98
98
  end
99
99
 
100
100
  if params[:activity_id].present? && params[:user_id].present?
101
+ @teacher_id = EducodeSales::Teacher.find_by(name: params[:name]).id
102
+
101
103
  # 把老师添加到活动列表,提取判断下老师列表是否存在
102
104
  find_teacher = Teacher.find_by(user_id: params[:user_id])
103
105
  if find_teacher
104
106
  teacher = find_teacher
105
107
  end
108
+ end
109
+ if params[:activity_id].present?
110
+ return render json: {msg: '该教师已在活动中', success: false } if teacher.activity_teachers.find_by(activity_id: params[:activity_id]).present?
106
111
  teacher.activity_teachers.build(activity_id: params[:activity_id])
107
112
  end
108
-
113
+
109
114
  if teacher.save
110
115
  render_success
111
116
  else
@@ -207,13 +212,13 @@ module EducodeSales
207
212
  end
208
213
  format.json do
209
214
  @follow_ups = @teacher.teacher_follows
215
+ @latest = @follow_ups.order(created_at: :desc).first
210
216
  if params[:field]
211
217
  @follow_ups = @follow_ups.order("#{params[:field]} #{params[:order]}")
212
218
  else
213
219
  @follow_ups = @follow_ups.order("created_at desc")
214
220
  end
215
221
  @follow_ups = @follow_ups.page(params[:page]).per(params[:limit])
216
- @latest = @follow_ups.order(created_at: :desc).first
217
222
  end
218
223
  end
219
224
  end
@@ -2,5 +2,7 @@ module EducodeSales
2
2
  class ActivityTeacher < ApplicationRecord
3
3
  belongs_to :activity, counter_cache: true
4
4
  belongs_to :teacher, counter_cache: true
5
+
6
+ validates :teacher_id, uniqueness: {scope: :activity_id, message: '已存在'}
5
7
  end
6
8
  end
@@ -14,19 +14,25 @@ module EducodeSales
14
14
  validates :user_id, uniqueness: { allow_blank: true, message: '已存在老师列表'}
15
15
 
16
16
 
17
+ # def teacher_used_of_department
18
+ # if user_id.present?
19
+ # user_ids = User.joins(:user_extension).where(user_extensions: {department_id: self.department_id, identity: 0}).pluck(:id)
20
+ # course_ids = CourseMember.where(role: "CREATOR", user_id: user_ids).pluck(:course_id)
21
+ # if course_ids.present?
22
+ # course_members = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).group("course_id").having("COUNT(homework_commons_shixuns.id) > 100 AND COUNT(course_members.user_id) > 20").select("COUNT(case when course_members.role !=4 then 1 END) AS count")
23
+ # course_members.present? ? course_members[0]['count'] : 0
24
+ # else
25
+ # 0
26
+ # end
27
+ # else
28
+ # 0
29
+ # end
30
+ # end
17
31
  def teacher_used_of_department
18
- if user_id.present?
19
32
  user_ids = User.joins(:user_extension).where(user_extensions: {department_id: self.department_id, identity: 0}).pluck(:id)
20
33
  course_ids = CourseMember.where(role: "CREATOR", user_id: user_ids).pluck(:course_id)
21
- if course_ids.present?
22
- course_members = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).group("course_id").having("COUNT(homework_commons_shixuns.id) > 100 AND COUNT(course_members.user_id) > 20").select("COUNT(case when course_members.role !=4 then 1 END) AS count")
23
- course_members.present? ? course_members[0]['count'] : 0
24
- else
25
- 0
26
- end
27
- else
28
- 0
29
- end
34
+ course_members = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).group("course_id").having("COUNT(homework_commons_shixuns.id) > 100 AND COUNT(course_members.user_id) > 20").select("COUNT(case when course_members.role !=4 then 1 END) AS count")
35
+ course_members.present? ? course_members[0]['count'] : 0
30
36
  end
31
37
 
32
38
  def students_count
@@ -6,7 +6,7 @@
6
6
  <label class="layui-form-label required">活动名称</label>
7
7
  <div class="layui-input-block">
8
8
  <input type="text" name="name" required lay-verify="required" autocomplete="off" placeholder="请输入"
9
- class="layui-input">
9
+ class="layui-input" id="inputFocus">
10
10
  </div>
11
11
  </div>
12
12
  <div class="layui-inline">
@@ -31,6 +31,7 @@
31
31
  </div>
32
32
 
33
33
  <script>
34
+ document.getElementById("inputFocus").focus();
34
35
 
35
36
  layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
36
37
  var form = layui.form,
@@ -15,7 +15,7 @@ json.data do
15
15
  json.total_amount d.last_follow_up&.total_amount
16
16
  json.return_money d.return_money
17
17
  json.place d.last_follow_up&.place&.name
18
- json.last_follow_person d.last_follow_up_id.present? ? EducodeSales::Staff.find(EducodeSales::Business.find_by(last_follow_up_id: d.last_follow_up_id).staff_id).user.real_name : ''
18
+ json.last_follow_person d.last_follow_up.present? ? d.last_follow_up.staff.user.real_name : ''
19
19
  end
20
20
  end
21
21
  json.code 0
@@ -3,7 +3,7 @@
3
3
  <div class="layui-inline">
4
4
  <label class="layui-form-label required">商机名称</label>
5
5
  <div class="layui-input-block">
6
- <input type="text" name="name" autocomplete="off" lay-verify="required" class="layui-input" style="width: 300px;">
6
+ <input id="inputFocus" type="text" name="name" autocomplete="off" lay-verify="required" class="layui-input" style="width: 300px;">
7
7
  </div>
8
8
  </div>
9
9
  <div class="layui-inline">
@@ -18,6 +18,7 @@
18
18
  </div>
19
19
  </div>
20
20
  <script>
21
+ document.getElementById("inputFocus").focus();
21
22
  layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput'], function () {
22
23
  var form = layui.form,
23
24
  layer = layui.layer,
@@ -122,19 +122,19 @@
122
122
  });
123
123
 
124
124
  form.render();
125
-
125
+
126
126
  form.on('submit(add_follow_up)', function (data) {
127
127
  console.log(data);
128
128
  data.field.business_id = "<%= @business.id %>";
129
129
  console.log(data.field.business_id);
130
- request.authPut("educode_sales/businesses/" + data.field.business_id +"/updateMoney/", {
131
- return_money: 0
132
- }, function (res) {
133
- if (res.success == false) {
134
- layer.alert(res.msg)
135
- } else {
136
- }
137
- })
130
+ // request.authPut("educode_sales/businesses/" + data.field.business_id +"/updateMoney/", {
131
+ // return_money: 0
132
+ // }, function (res) {
133
+ // if (res.success == false) {
134
+ // layer.alert(res.msg)
135
+ // } else {
136
+ // }
137
+ // })
138
138
  request.authPost("educode_sales/follow_ups", data.field, function (res) {
139
139
  if (res.success == false) {
140
140
  layer.alert(res.msg)
@@ -149,12 +149,19 @@
149
149
  }
150
150
  ]
151
151
  ],
152
- height: 400,
152
+ height: 520,
153
153
  limit: 20,
154
154
  page: true,
155
- skin: 'line'
155
+ skin: 'line',
156
+ // done: function (obj, first) {
157
+ // //切换分页时候回调事件
158
+ // // console.log(obj);
159
+ // console.log(first);
160
+ // // if (first != 1) {
161
+ // // //第一次进入不调用
162
+ // // }
163
+ // }
156
164
  });
157
-
158
165
  table.on('sort(sale_plan_follow_table)', function(obj) {
159
166
  table.reload('sale_plan_follow_table', {
160
167
  initSort: obj,
@@ -172,7 +179,7 @@
172
179
  var content = miniPage.getHrefContent('/educode_sales/businesses/new_follow_record?id=' + parent.id);
173
180
  var openWH = miniPage.getOpenWidthHeight();
174
181
  sale_plan_index = layer.open({
175
- title: '添加',
182
+ title: '添加商机跟进记录',
176
183
  type: 1,
177
184
  shade: 0.2,
178
185
  maxmin: true,
@@ -207,7 +214,7 @@
207
214
  var content = miniPage.getHrefContent('/educode_sales/businesses/show_follow_record?follow_up_id=' + data.id);
208
215
  var openWH = miniPage.getOpenWidthHeight();
209
216
  var index = layer.open({
210
- title: '查看',
217
+ title: '查看商机跟进记录',
211
218
  type: 1,
212
219
  shade: 0.2,
213
220
  maxmin: true,
@@ -223,7 +230,7 @@
223
230
  var content = miniPage.getHrefContent('/educode_sales/businesses/edit_follow_record?follow_up_id=' + data.id);
224
231
  var openWH = miniPage.getOpenWidthHeight();
225
232
  sale_plan_edit_open = layer.open({
226
- title: '编辑',
233
+ title: '编辑商机跟进记录',
227
234
  type: 1,
228
235
  shade: 0.2,
229
236
  maxmin: true,
@@ -118,12 +118,12 @@
118
118
  },
119
119
  {
120
120
  field: 'rate',
121
- width: 100,
121
+ width: 80,
122
122
  title: '完成率',
123
123
  },
124
124
  {
125
125
  field: 'updated_at',
126
- width: 150,
126
+ width: 170,
127
127
  title: '更新时间',
128
128
  sort: true,
129
129
  },
@@ -129,12 +129,12 @@
129
129
  },
130
130
  {
131
131
  field: 'rate',
132
- width: 100,
132
+ width: 80,
133
133
  title: '完成率',
134
134
  },
135
135
  {
136
136
  field: 'updated_at',
137
- width: 150,
137
+ width: 170,
138
138
  title: '更新时间',
139
139
  sort: true,
140
140
  },
@@ -11,9 +11,7 @@
11
11
  <div class="layui-inline">
12
12
  <label class="layui-form-label">教师</label>
13
13
  <div class="layui-input-inline">
14
- <%#= select_tag "teacher_id", options_for_select(@teachers, @sale_plan.teacher_id), class: 'required' %>
15
- <%= select_tag "teacher_id", options_for_select(@teachers), class: 'required' %>
16
-
14
+ <%= select_tag "teacher_id", options_for_select(@teachers, @sale_plan.teacher_id), class: 'required' %>
17
15
  </div>
18
16
  </div>
19
17
  <div class="layui-form-item layui-form-text">
@@ -19,9 +19,7 @@
19
19
  <div class="layui-inline">
20
20
  <label class="layui-form-label">教师</label>
21
21
  <div class="layui-input-inline">
22
- <%#= select_tag "teacher_id", options_for_select(@teachers, @sale_plan.teacher_id), class: 'required' %>
23
- <%= select_tag "teacher_id", options_for_select(@teachers), class: 'required' %>
24
-
22
+ <%= select_tag "teacher_id", options_for_select(@teachers, @sale_plan.teacher_id), class: 'required' %>
25
23
  </div>
26
24
  </div>
27
25
  <div class="layui-form-item layui-form-text">
@@ -72,6 +72,7 @@
72
72
  } else {
73
73
  layer.close(parent.new_monthly_index)
74
74
  layer.close(parent.monthPlanIndex)
75
+ layer.close(parent.teacherindex2)
75
76
  table.reload('monthPlanTable')
76
77
  table.reload("newMonthlyTable")
77
78
  }
@@ -21,7 +21,7 @@
21
21
  <div class="layui-form-item layui-form-text">
22
22
  <label class="layui-form-label">个人总结</label>
23
23
  <div class="layui-input-block">
24
- <textarea name="content" placeholder="此处填写要点:
24
+ <textarea name="content" id="inputFocus" placeholder="此处填写要点:
25
25
  1、一句话概括本周工作的主要成效和主要挫折;
26
26
  2、补充说明收获、经验;
27
27
  3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
@@ -49,6 +49,8 @@
49
49
 
50
50
 
51
51
  <script>
52
+ document.getElementById("inputFocus").focus();
53
+
52
54
  layui.use(['rate', 'table'], function () {
53
55
  var rate = layui.rate,
54
56
  form = layui.form,
@@ -128,7 +130,7 @@
128
130
  },
129
131
  {
130
132
  title: '操作',
131
- minWidth: 150,
133
+ minWidth: 190,
132
134
  toolbar: '#currentMonthly',
133
135
  align: "center"
134
136
  }
@@ -78,6 +78,7 @@
78
78
  } else {
79
79
  layer.close(parent.add_new_weeklyIndex)
80
80
  layer.close(parent.new_weelPlan_index)
81
+ layer.close(parent.teacherindex1)
81
82
  table.reload("weekPlanTable1")
82
83
  table.reload("newWeeklyTable")
83
84
  }
@@ -21,7 +21,7 @@
21
21
  <div class="layui-form-item layui-form-text">
22
22
  <label class="layui-form-label">个人总结</label>
23
23
  <div class="layui-input-block">
24
- <textarea name="content" placeholder="此处填写要点:
24
+ <textarea name="content" id="inputFocus" placeholder="此处填写要点:
25
25
  1、一句话概括本周工作的主要成效和主要挫折;
26
26
  2、补充说明收获、经验;
27
27
  3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
@@ -46,6 +46,7 @@
46
46
  <a href="javascript:void(0);" lay-event="show_follow_newWeekly" class="layui-table-link">{{ d.count }}</a>
47
47
  </script>
48
48
  <script>
49
+ document.getElementById("inputFocus").focus();
49
50
  layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
50
51
  var rate = layui.rate,
51
52
  form = layui.form,
@@ -129,7 +130,7 @@
129
130
  },
130
131
  {
131
132
  title: '操作',
132
- minWidth: 150,
133
+ minWidth: 190,
133
134
  toolbar: '#currentWeekly',
134
135
  align: "center"
135
136
  }
@@ -5,7 +5,7 @@
5
5
  <label class="layui-form-label required">渠道名称</label>
6
6
  <div class="layui-input-block">
7
7
  <input type="text" name="name" required lay-verify="required" autocomplete="off"
8
- class="layui-input">
8
+ class="layui-input" id="inputFocus">
9
9
  </div>
10
10
  </div>
11
11
  <div class="layui-form-item">
@@ -23,6 +23,7 @@
23
23
 
24
24
 
25
25
  <script>
26
+ document.getElementById("inputFocus").focus();
26
27
 
27
28
  layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
28
29
  var form = layui.form,
@@ -207,7 +207,7 @@
207
207
  content = miniPage.getHrefContent('/educode_sales/plans/show_month?id=' + data.id);
208
208
  openWH = miniPage.getOpenWidthHeight();
209
209
  index = layer.open({
210
- title: '查看',
210
+ title: '查看月计划',
211
211
  type: 1,
212
212
  shade: 0.2,
213
213
  maxmin: true,
@@ -226,7 +226,7 @@
226
226
  from_sales = true;
227
227
  plan_id = data.id
228
228
  sindex = layer.open({
229
- title: '编辑',
229
+ title: '编辑月计划',
230
230
  type: 1,
231
231
  shade: 0.2,
232
232
  maxmin: true,
@@ -223,7 +223,7 @@
223
223
  content = miniPage.getHrefContent('/educode_sales/plans/show_week?id='+ id);
224
224
  openWH = miniPage.getOpenWidthHeight();
225
225
  index = layer.open({
226
- title: '查看',
226
+ title: '查看周计划',
227
227
  type: 1,
228
228
  shade: 0.2,
229
229
  maxmin: true,
@@ -242,7 +242,7 @@
242
242
  content = miniPage.getHrefContent('/educode_sales/plans/edit_week?id='+ id);
243
243
  openWH = miniPage.getOpenWidthHeight();
244
244
  sindex = layer.open({
245
- title: '编辑',
245
+ title: '编辑周计划',
246
246
  type: 1,
247
247
  shade: 0.2,
248
248
  maxmin: true,
@@ -28,7 +28,7 @@
28
28
  <div class="layui-form-item layui-form-text">
29
29
  <label class="layui-form-label">个人总结</label>
30
30
  <div class="layui-input-block">
31
- <textarea name="content" placeholder="此处填写要点:
31
+ <textarea name="content" id="inputFocus" placeholder="此处填写要点:
32
32
  1、一句话概括本周工作的主要成效和主要挫折;
33
33
  2、补充说明收获、经验;
34
34
  3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
@@ -58,6 +58,8 @@
58
58
  <% end %>
59
59
  </script>
60
60
  <script>
61
+ document.getElementById("inputFocus").focus();
62
+
61
63
  layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
62
64
  var rate = layui.rate,
63
65
  form = layui.form,
@@ -26,7 +26,7 @@
26
26
  <div class="layui-form-item layui-form-text">
27
27
  <label class="layui-form-label">个人总结</label>
28
28
  <div class="layui-input-block">
29
- <textarea name="content" placeholder="此处填写要点:
29
+ <textarea name="content" id="inputFocus" placeholder="此处填写要点:
30
30
  1、一句话概括本周工作的主要成效和主要挫折;
31
31
  2、补充说明收获、经验;
32
32
  3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
@@ -56,6 +56,8 @@
56
56
  <% end %>
57
57
  </script>
58
58
  <script>
59
+ document.getElementById("inputFocus").focus();
60
+
59
61
  layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
60
62
  var rate = layui.rate,
61
63
  form = layui.form,
@@ -4,7 +4,7 @@
4
4
  <div class="layui-form-item">
5
5
  <label class="layui-form-label required">角色名称</label>
6
6
  <div class="layui-input-block">
7
- <input type="text" class="layui-input" lay-verify="required" lay-reqtext="名称不能为空" name="name" placeholder="">
7
+ <input type="text" id="inputFocus" class="layui-input" lay-verify="required" lay-reqtext="名称不能为空" name="name" placeholder="">
8
8
  </div>
9
9
  </div>
10
10
  <hr>
@@ -17,7 +17,9 @@
17
17
  </div>
18
18
 
19
19
  <script>
20
- layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput'], function () {
20
+ document.getElementById("inputFocus").focus();
21
+
22
+ layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput'], function () {
21
23
  var form = layui.form,
22
24
  layer = layui.layer,
23
25
  table = layui.table,
@@ -148,7 +148,7 @@
148
148
  </div>
149
149
  </div>
150
150
  </div>
151
-
151
+ <div class="layui-row layui-col-space30" >
152
152
  <div class="layui-col-xs3">
153
153
  <div class="panel layui-bg-number">
154
154
  <div class="panel-body">
@@ -162,6 +162,7 @@
162
162
  </div>
163
163
  </div>
164
164
  </div>
165
+ </div>
165
166
  </div>
166
167
  </div>
167
168
  </div>
@@ -279,6 +279,7 @@
279
279
  request.delete('educode_sales/key_person/'+ data.id, {}, function(res) {
280
280
  layer.close(index);
281
281
  table.reload("key_person")
282
+ table.reload("sale_plan_follow_table")
282
283
  })
283
284
  });
284
285
  }
@@ -353,7 +353,7 @@
353
353
  var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_week?teacher_id=' + obj.data.id);
354
354
  var openWH = miniPage.getOpenWidthHeight();
355
355
 
356
- sindex = layer.open({
356
+ teacherindex1 = layer.open({
357
357
  title: '添加周计划',
358
358
  type: 1,
359
359
  shade: 0.2,
@@ -369,7 +369,7 @@
369
369
  } else if (obj.event === 'addMonth') {
370
370
  var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_month?teacher_id=' + obj.data.id);
371
371
  var openWH = miniPage.getOpenWidthHeight();
372
- sindex = layer.open({
372
+ teacherindex2 = layer.open({
373
373
  title: '添加月计划',
374
374
  type: 1,
375
375
  shade: 0.2,
@@ -126,7 +126,7 @@
126
126
  var content = miniPage.getHrefContent('/educode_sales/teachers/new_follow_record?id=' +parent.id);
127
127
  var openWH = miniPage.getOpenWidthHeight();
128
128
  sale_plan_index = layer.open({
129
- title: '添加',
129
+ title: '添加教师跟进记录',
130
130
  type: 1,
131
131
  shade: 0.2,
132
132
  maxmin: true,
@@ -163,7 +163,7 @@
163
163
  var content = miniPage.getHrefContent('/educode_sales/teachers/show_follow_record?id=' + id);
164
164
  var openWH = miniPage.getOpenWidthHeight();
165
165
  sale_plan_index1 = layer.open({
166
- title: '查看',
166
+ title: '查看教师跟进记录',
167
167
  type: 1,
168
168
  shade: 0.2,
169
169
  maxmin: true,
@@ -183,7 +183,7 @@
183
183
  content = miniPage.getHrefContent('/educode_sales/teachers/edit_follow_record?id='+ obj.data.id);
184
184
  openWH = miniPage.getOpenWidthHeight();
185
185
  edit_index1 = layer.open({
186
- title: '编辑',
186
+ title: '编辑教师跟进记录',
187
187
  type: 1,
188
188
  shade: 0.2,
189
189
  maxmin: true,
@@ -9,7 +9,7 @@ json.data do
9
9
  json.contact EducodeSales::Common.find_by(id: d.follow_id).name
10
10
  json.staff d.staff.user.real_name
11
11
  json.students_count d.students_count
12
- json.courses_count d.courses_count
12
+ json.courses_count Course.joins(:course_members).where(course_members: {user_id: d.teacher&.user_id}).distinct("course_id").count
13
13
  json.evaluates_count d.evaluates_count
14
14
  json.course_shixuns_count d.course_shixuns_count
15
15
  json.shixuns_count d.shixuns_count
@@ -2,7 +2,7 @@
2
2
  <html>
3
3
 
4
4
  <head>
5
- <title><%= @title || 'Educode sales' %></title>
5
+ <title><%= @title || '头歌营销系统' %></title>
6
6
  <%= csrf_meta_tags %>
7
7
  <%= csp_meta_tag %>
8
8
  <%= favicon_link_tag "educode_sales/favicon.ico" %>
@@ -1,3 +1,3 @@
1
1
  module EducodeSales
2
- VERSION = '0.2.8'
2
+ VERSION = '0.3.2'
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.2.8
4
+ version: 0.3.2
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-29 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails