educode_sales 0.2.7 → 0.3.1
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.
- checksums.yaml +4 -4
- data/app/controllers/educode_sales/businesses_controller.rb +1 -1
- data/app/controllers/educode_sales/home_controller.rb +6 -6
- data/app/controllers/educode_sales/operation_plans_controller.rb +20 -3
- data/app/controllers/educode_sales/teacher_follows_controller.rb +2 -2
- data/app/controllers/educode_sales/teachers_controller.rb +7 -2
- data/app/models/educode_sales/activity_teacher.rb +2 -0
- data/app/models/educode_sales/teacher.rb +16 -10
- data/app/views/educode_sales/activities/new.html.erb +2 -1
- data/app/views/educode_sales/businesses/index.json.jbuilder +1 -1
- data/app/views/educode_sales/businesses/new.html.erb +2 -1
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +9 -9
- data/app/views/educode_sales/businesses/show_follow.html.erb +13 -6
- data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +2 -2
- data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +2 -2
- data/app/views/educode_sales/operation_plans/edit_month.html.erb +1 -3
- data/app/views/educode_sales/operation_plans/edit_week.html.erb +1 -3
- data/app/views/educode_sales/operation_plans/new_month.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/new_monthly.html.erb +4 -2
- data/app/views/educode_sales/operation_plans/new_week.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/new_weekly.html.erb +3 -2
- data/app/views/educode_sales/places/new.html.erb +2 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +3 -3
- data/app/views/educode_sales/plans/_weekPlan.html.erb +3 -3
- data/app/views/educode_sales/plans/new_monthly.html.erb +3 -1
- data/app/views/educode_sales/plans/new_weekly.html.erb +3 -1
- data/app/views/educode_sales/roles/new.html.erb +4 -2
- data/app/views/educode_sales/sale_trends/trends.html.erb +2 -1
- data/app/views/educode_sales/sessions/login.html.erb +1 -1
- data/app/views/educode_sales/teachers/add_keys.html.erb +1 -0
- data/app/views/educode_sales/teachers/index.html.erb +2 -2
- data/app/views/educode_sales/teachers/show_follow.html.erb +3 -3
- data/app/views/educode_sales/teachers/show_follow.json.jbuilder +1 -1
- data/lib/educode_sales/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d94abe298e3376939b4f3d8f7b2bcc594f5d2c1
|
4
|
+
data.tar.gz: 7530fa27a99ebfb62676367f3752ceee53238a86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c2f74657f5bf026f37f10d70cb3be4077022154558c3477b729c162f1d6b1efe48fe606b178c947f43a072fc127af4995faa5bf9ced2198acf27471e40f70b6
|
7
|
+
data.tar.gz: a092427e3505659b6602d3bde854d4bf8b39e31d9d1f46cd188688d85d3701df3c85830d5e80c3d37843e1bccc33576a9593a176e6f573c780b0ccb9f4e48c81
|
@@ -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(
|
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(
|
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(
|
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(
|
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(
|
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
|
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 ?",
|
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
|
-
|
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
|
-
|
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 =
|
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 =
|
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
|
@@ -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
|
-
|
22
|
-
|
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.
|
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
|
-
|
132
|
-
}, function (res) {
|
133
|
-
|
134
|
-
|
135
|
-
|
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:
|
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,
|
@@ -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
|
-
|
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
|
-
|
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">
|
@@ -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:
|
133
|
+
minWidth: 190,
|
132
134
|
toolbar: '#currentMonthly',
|
133
135
|
align: "center"
|
134
136
|
}
|
@@ -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:
|
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,
|
@@ -182,7 +182,7 @@
|
|
182
182
|
var openWH = miniPage.getOpenWidthHeight();
|
183
183
|
from_sales = true
|
184
184
|
sindex = layer.open({
|
185
|
-
title: '
|
185
|
+
title: '添加月计划',
|
186
186
|
type: 1,
|
187
187
|
shade: 0.2,
|
188
188
|
maxmin: true,
|
@@ -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,
|
@@ -189,7 +189,7 @@
|
|
189
189
|
var content = miniPage.getHrefContent('/educode_sales/plans/new_week');
|
190
190
|
var openWH = miniPage.getOpenWidthHeight();
|
191
191
|
sindex = layer.open({
|
192
|
-
title: '
|
192
|
+
title: '添加周计划',
|
193
193
|
type: 1,
|
194
194
|
shade: 0.2,
|
195
195
|
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
|
-
|
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>
|
@@ -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
|
-
|
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
|
-
|
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.
|
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
|
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.
|
4
|
+
version: 0.3.1
|
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-
|
11
|
+
date: 2021-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|