educode_sales 0.2.5 → 0.2.9
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/assets/stylesheets/educode_sales/layuimini.css +3 -1
- 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/teacher_follows_controller.rb +3 -3
- data/app/controllers/educode_sales/teachers_controller.rb +2 -3
- data/app/views/educode_sales/activities/index.html.erb +2 -0
- data/app/views/educode_sales/activities/new.html.erb +2 -1
- data/app/views/educode_sales/activities/show_teachers.html.erb +3 -3
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +1 -1
- data/app/views/educode_sales/businesses/index.html.erb +1 -0
- data/app/views/educode_sales/businesses/index.json.jbuilder +2 -1
- data/app/views/educode_sales/businesses/new.html.erb +2 -1
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +10 -10
- data/app/views/educode_sales/businesses/show_follow.html.erb +13 -6
- data/app/views/educode_sales/commons/index.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/_monthly.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/_weekly.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/edit_month.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/edit_monthly.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/edit_week.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/edit_weekly.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/new_month.html.erb +2 -1
- data/app/views/educode_sales/operation_plans/new_monthly.html.erb +4 -2
- data/app/views/educode_sales/operation_plans/new_week.html.erb +2 -1
- data/app/views/educode_sales/operation_plans/new_weekly.html.erb +3 -2
- data/app/views/educode_sales/operation_reports/edit.html.erb +1 -1
- data/app/views/educode_sales/places/index.html.erb +1 -0
- data/app/views/educode_sales/places/new.html.erb +2 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +4 -3
- data/app/views/educode_sales/plans/_monthly.html.erb +1 -0
- data/app/views/educode_sales/plans/_weekPlan.html.erb +4 -3
- data/app/views/educode_sales/plans/_weekly.html.erb +1 -0
- data/app/views/educode_sales/plans/edit_month.html.erb +1 -1
- data/app/views/educode_sales/plans/edit_monthly.html.erb +1 -1
- data/app/views/educode_sales/plans/edit_week.html.erb +1 -1
- data/app/views/educode_sales/plans/edit_weekly.html.erb +1 -1
- data/app/views/educode_sales/plans/new_month.html.erb +1 -1
- data/app/views/educode_sales/plans/new_monthly.html.erb +4 -2
- data/app/views/educode_sales/plans/new_week.html.erb +1 -1
- data/app/views/educode_sales/plans/new_weekly.html.erb +4 -2
- data/app/views/educode_sales/roles/index.html.erb +1 -0
- data/app/views/educode_sales/roles/new.html.erb +4 -2
- data/app/views/educode_sales/sale_reports/edit.html.erb +1 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +2 -1
- data/app/views/educode_sales/sales/index.html.erb +1 -0
- data/app/views/educode_sales/sales/operations.html.erb +1 -0
- data/app/views/educode_sales/sessions/login.html.erb +1 -1
- data/app/views/educode_sales/staffs/index.html.erb +1 -0
- data/app/views/educode_sales/teachers/add_keys.html.erb +1 -0
- data/app/views/educode_sales/teachers/edit_follow_record.html.erb +1 -0
- data/app/views/educode_sales/teachers/index.html.erb +3 -2
- data/app/views/educode_sales/teachers/index.json.jbuilder +1 -1
- data/app/views/educode_sales/teachers/new.html.erb +4 -5
- 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: adac2dac455b86334fc478e4f84454fe0596f15b
|
4
|
+
data.tar.gz: ab4d5c46df6d081c3b193f94aba90d6f644bb35e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6c23010d60071f32bad83b9ae20e8ffe767e06120db34992faef60d58aca8f1f1e1b690b0421ecf54cd35fd126948c8dad429aa1e386af64aad7b8ca6522482
|
7
|
+
data.tar.gz: 0a863555c19683cc7516bf77468df8cc296af577d8e7a87d5f2fc588005b2f4c59325062d617ae70af64929060cf9f1328b80a0ee70af5c196574dbd24743f84
|
@@ -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
|
@@ -7,11 +7,11 @@ module EducodeSales
|
|
7
7
|
follow_up = @teacher.teacher_follows.build(follow_up_params)
|
8
8
|
follow_up.staff = @current_admin
|
9
9
|
if @teacher.user_id.present?
|
10
|
-
course_ids = CourseMember.where(user_id: @teacher.user_id).where.not(role: 4).pluck(:course_id)
|
10
|
+
course_ids = CourseMember.joins(:course).where(user_id: @teacher.user_id, courses:{is_delete: 0}).where.not(role: 4).pluck(:course_id)
|
11
11
|
follow_up.course_shixuns_count = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).pluck(:shixun_id).uniq.count
|
12
|
-
follow_up.shixuns_count = ShixunMember.where(user_id: @teacher.user_id
|
12
|
+
follow_up.shixuns_count = ShixunMember.where(user_id: @teacher.user_id).count
|
13
13
|
follow_up.students_count = CourseMember.where(course_id: course_ids, role: 4).count
|
14
|
-
follow_up.evaluates_count =
|
14
|
+
follow_up.evaluates_count = Course.where(id: course_ids).inject(0) { |i, d| i += d.evaluate_count }
|
15
15
|
follow_up.courses_count = course_ids.size
|
16
16
|
end
|
17
17
|
if follow_up.save
|
@@ -103,9 +103,8 @@ module EducodeSales
|
|
103
103
|
if find_teacher
|
104
104
|
teacher = find_teacher
|
105
105
|
end
|
106
|
-
teacher.activity_teachers.build(activity_id: params[:activity_id])
|
107
106
|
end
|
108
|
-
|
107
|
+
teacher.activity_teachers.build(activity_id: params[:activity_id])
|
109
108
|
if teacher.save
|
110
109
|
render_success
|
111
110
|
else
|
@@ -207,13 +206,13 @@ module EducodeSales
|
|
207
206
|
end
|
208
207
|
format.json do
|
209
208
|
@follow_ups = @teacher.teacher_follows
|
209
|
+
@latest = @follow_ups.order(created_at: :desc).first
|
210
210
|
if params[:field]
|
211
211
|
@follow_ups = @follow_ups.order("#{params[:field]} #{params[:order]}")
|
212
212
|
else
|
213
213
|
@follow_ups = @follow_ups.order("created_at desc")
|
214
214
|
end
|
215
215
|
@follow_ups = @follow_ups.page(params[:page]).per(params[:limit])
|
216
|
-
@latest = @follow_ups.order(created_at: :desc).first.created_at.to_s
|
217
216
|
end
|
218
217
|
end
|
219
218
|
end
|
@@ -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,
|
@@ -13,9 +13,9 @@
|
|
13
13
|
</script>
|
14
14
|
<script type="text/html" id="name">
|
15
15
|
{{# if (d.login) { }}
|
16
|
-
<a href="
|
16
|
+
<a href="<%= base_url%>/users/{{d.login}}" class="layui-table-link" target="_blank">{{ d.name }}</a>
|
17
17
|
{{# } else {}}
|
18
|
-
<a href="
|
18
|
+
<a href="<%= base_url%>/users/{{d.login}}" class="">{{ d.name }}</a>
|
19
19
|
{{# }}}
|
20
20
|
</script>
|
21
21
|
<script type="text/html" id="courses">
|
@@ -113,7 +113,7 @@
|
|
113
113
|
templet: "#follow"
|
114
114
|
},
|
115
115
|
{
|
116
|
-
field: '
|
116
|
+
field: 'teacher_used',
|
117
117
|
width: 120,
|
118
118
|
title: '学院渗透率',
|
119
119
|
},
|
@@ -58,7 +58,7 @@
|
|
58
58
|
<div class="layui-inline">
|
59
59
|
<label class="layui-form-label">渠道</label>
|
60
60
|
<div class="layui-input-inline">
|
61
|
-
<%= select_tag "place_id", options_for_select(@places, @follow_up.place_id) %>
|
61
|
+
<%= select_tag "place_id", options_for_select(@places, @follow_up.place_id), include_blank: true %>
|
62
62
|
</div>
|
63
63
|
</div>
|
64
64
|
<div class="layui-inline">
|
@@ -15,7 +15,8 @@ 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
20
|
end
|
20
21
|
end
|
21
22
|
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,
|
@@ -62,7 +62,7 @@
|
|
62
62
|
<div class="layui-inline">
|
63
63
|
<label class="layui-form-label">渠道</label>
|
64
64
|
<div class="layui-input-inline">
|
65
|
-
<%= select_tag "place_id", options_for_select(@places, @last_follow_up&.place_id) %>
|
65
|
+
<%= select_tag "place_id", options_for_select(@places, @last_follow_up&.place_id), include_blank: true %>
|
66
66
|
</div>
|
67
67
|
</div>
|
68
68
|
<div class="layui-inline">
|
@@ -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,
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<textarea name="content" placeholder="简要填写具体的营销计划,例如:
|
23
23
|
1、推动xx老师用起来;
|
24
24
|
2、与xx老师介绍一下我们的方案;
|
25
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"><%= @sale_plan.content %></textarea>
|
25
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"><%= @sale_plan.content %></textarea>
|
26
26
|
</div>
|
27
27
|
</div>
|
28
28
|
<div class="layui-inline">
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<textarea name="desc" placeholder="此处填写要点:
|
23
23
|
1、一句话概括本周工作的主要成效和主要挫折;
|
24
24
|
2、补充说明收获、经验;
|
25
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"></textarea>
|
25
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
26
26
|
</div>
|
27
27
|
</div>
|
28
28
|
<div class="layui-form-item layui-form-text">
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<textarea name="content" placeholder="简要填写具体的营销计划,例如:
|
31
31
|
1、推动xx老师用起来;
|
32
32
|
2、与xx老师介绍一下我们的方案;
|
33
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"><%= @sale_plan.content %></textarea>
|
33
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"><%= @sale_plan.content %></textarea>
|
34
34
|
</div>
|
35
35
|
</div>
|
36
36
|
<div class="layui-inline">
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<textarea name="desc" placeholder="此处填写要点:
|
23
23
|
1、一句话概括本周工作的主要成效和主要挫折;
|
24
24
|
2、补充说明收获、经验;
|
25
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"></textarea>
|
25
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
26
26
|
</div>
|
27
27
|
</div>
|
28
28
|
<div class="layui-form-item layui-form-text">
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<textarea name="content" placeholder="简要填写具体的营销计划,例如:
|
19
19
|
1、推动xx老师用起来;
|
20
20
|
2、与xx老师介绍一下我们的方案;
|
21
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"></textarea>
|
21
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"></textarea>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
<div class="layui-inline">
|
@@ -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,10 +21,10 @@
|
|
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
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"></textarea>
|
27
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
28
28
|
</div>
|
29
29
|
</div>
|
30
30
|
<div class="layui-inline">
|
@@ -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,
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<textarea name="content" lay-verify="required" placeholder="简要填写具体的营销计划,例如:
|
26
26
|
1、推动xx老师用起来;
|
27
27
|
2、与xx老师介绍一下我们的方案;
|
28
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"></textarea>
|
28
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"></textarea>
|
29
29
|
</div>
|
30
30
|
</div>
|
31
31
|
<div class="layui-inline">
|
@@ -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,10 +21,10 @@
|
|
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
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"></textarea>
|
27
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
28
28
|
</div>
|
29
29
|
</div>
|
30
30
|
<div class="layui-inline">
|
@@ -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,
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<textarea name="content" placeholder="此处填写要点:
|
23
23
|
1、一句话概括本周工作的主要成效和主要挫折;
|
24
24
|
2、补充说明收获、经验;
|
25
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"><%= @sale_report.content %></textarea>
|
25
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"><%= @sale_report.content %></textarea>
|
26
26
|
</div>
|
27
27
|
</div>
|
28
28
|
<div class="layui-inline m-t-10">
|
@@ -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,
|
@@ -140,6 +140,7 @@
|
|
140
140
|
}
|
141
141
|
]
|
142
142
|
],
|
143
|
+
height: 600,
|
143
144
|
limit: 20,
|
144
145
|
page: true,
|
145
146
|
});
|
@@ -181,7 +182,7 @@
|
|
181
182
|
var openWH = miniPage.getOpenWidthHeight();
|
182
183
|
from_sales = true
|
183
184
|
sindex = layer.open({
|
184
|
-
title: '
|
185
|
+
title: '添加月计划',
|
185
186
|
type: 1,
|
186
187
|
shade: 0.2,
|
187
188
|
maxmin: true,
|
@@ -206,7 +207,7 @@
|
|
206
207
|
content = miniPage.getHrefContent('/educode_sales/plans/show_month?id=' + data.id);
|
207
208
|
openWH = miniPage.getOpenWidthHeight();
|
208
209
|
index = layer.open({
|
209
|
-
title: '
|
210
|
+
title: '查看月计划',
|
210
211
|
type: 1,
|
211
212
|
shade: 0.2,
|
212
213
|
maxmin: true,
|
@@ -225,7 +226,7 @@
|
|
225
226
|
from_sales = true;
|
226
227
|
plan_id = data.id
|
227
228
|
sindex = layer.open({
|
228
|
-
title: '
|
229
|
+
title: '编辑月计划',
|
229
230
|
type: 1,
|
230
231
|
shade: 0.2,
|
231
232
|
maxmin: true,
|
@@ -145,6 +145,7 @@
|
|
145
145
|
}
|
146
146
|
]
|
147
147
|
],
|
148
|
+
height: 600,
|
148
149
|
limit: 20,
|
149
150
|
page: true,
|
150
151
|
skin: 'line'
|
@@ -188,7 +189,7 @@
|
|
188
189
|
var content = miniPage.getHrefContent('/educode_sales/plans/new_week');
|
189
190
|
var openWH = miniPage.getOpenWidthHeight();
|
190
191
|
sindex = layer.open({
|
191
|
-
title: '
|
192
|
+
title: '添加周计划',
|
192
193
|
type: 1,
|
193
194
|
shade: 0.2,
|
194
195
|
maxmin: true,
|
@@ -222,7 +223,7 @@
|
|
222
223
|
content = miniPage.getHrefContent('/educode_sales/plans/show_week?id='+ id);
|
223
224
|
openWH = miniPage.getOpenWidthHeight();
|
224
225
|
index = layer.open({
|
225
|
-
title: '
|
226
|
+
title: '查看周计划',
|
226
227
|
type: 1,
|
227
228
|
shade: 0.2,
|
228
229
|
maxmin: true,
|
@@ -241,7 +242,7 @@
|
|
241
242
|
content = miniPage.getHrefContent('/educode_sales/plans/edit_week?id='+ id);
|
242
243
|
openWH = miniPage.getOpenWidthHeight();
|
243
244
|
sindex = layer.open({
|
244
|
-
title: '
|
245
|
+
title: '编辑周计划',
|
245
246
|
type: 1,
|
246
247
|
shade: 0.2,
|
247
248
|
maxmin: true,
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<textarea name="content" placeholder="简要填写具体的营销计划,例如:
|
19
19
|
1、推动xx老师用起来;
|
20
20
|
2、与xx老师介绍一下我们的方案;
|
21
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"><%= @sale_plan.content %></textarea>
|
21
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"><%= @sale_plan.content %></textarea>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
<div class="layui-inline">
|
@@ -28,7 +28,7 @@
|
|
28
28
|
<textarea name="desc" placeholder="此处填写要点:
|
29
29
|
1、一句话概括本周工作的主要成效和主要挫折;
|
30
30
|
2、补充说明收获、经验;
|
31
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"></textarea>
|
31
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
32
32
|
</div>
|
33
33
|
</div>
|
34
34
|
<div class="layui-form-item layui-form-text">
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<textarea name="content" placeholder="简要填写具体的营销计划,例如:
|
27
27
|
1、推动xx老师用起来;
|
28
28
|
2、与xx老师介绍一下我们的方案;
|
29
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"><%= @sale_plan.content %></textarea>
|
29
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"><%= @sale_plan.content %></textarea>
|
30
30
|
</div>
|
31
31
|
</div>
|
32
32
|
<div class="layui-inline">
|
@@ -31,7 +31,7 @@
|
|
31
31
|
<textarea name="content" placeholder="此处填写要点:
|
32
32
|
1、一句话概括本周工作的主要成效和主要挫折;
|
33
33
|
2、补充说明收获、经验;
|
34
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"><%= @sale_report.content %></textarea>
|
34
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"><%= @sale_report.content %></textarea>
|
35
35
|
</div>
|
36
36
|
</div>
|
37
37
|
<div class="layui-inline m-t-10">
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<textarea name="content" placeholder="简要填写具体的营销计划,例如:
|
19
19
|
1、推动xx老师用起来;
|
20
20
|
2、与xx老师介绍一下我们的方案;
|
21
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"></textarea>
|
21
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"></textarea>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
<div class="layui-inline">
|
@@ -28,10 +28,10 @@
|
|
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
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"></textarea>
|
34
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
35
35
|
</div>
|
36
36
|
</div>
|
37
37
|
<div class="layui-inline m-t-10">
|
@@ -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,
|
@@ -24,7 +24,7 @@
|
|
24
24
|
<textarea name="content" lay-verify="required" placeholder="简要填写具体的营销计划,例如:
|
25
25
|
1、推动xx老师用起来;
|
26
26
|
2、与xx老师介绍一下我们的方案;
|
27
|
-
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea"></textarea>
|
27
|
+
3、与xx领导深度沟通一下,以获取到关键建设规划信息等等。" class="layui-textarea" rows="10"></textarea>
|
28
28
|
</div>
|
29
29
|
</div>
|
30
30
|
<div class="layui-inline">
|
@@ -26,10 +26,10 @@
|
|
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
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"></textarea>
|
32
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
33
33
|
</div>
|
34
34
|
</div>
|
35
35
|
<div class="layui-inline m-t-10">
|
@@ -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,
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<textarea name="content" placeholder="此处填写要点:
|
27
27
|
1、一句话概括本周工作的主要成效和主要挫折;
|
28
28
|
2、补充说明收获、经验;
|
29
|
-
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea"><%= @sale_report.content %></textarea>
|
29
|
+
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"><%= @sale_report.content %></textarea>
|
30
30
|
</div>
|
31
31
|
</div>
|
32
32
|
<div class="layui-inline m-t-10">
|
@@ -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>
|
@@ -226,6 +226,7 @@
|
|
226
226
|
}
|
227
227
|
]
|
228
228
|
],
|
229
|
+
height: 600,
|
229
230
|
limit: 20,
|
230
231
|
page: true,
|
231
232
|
});
|
@@ -352,7 +353,7 @@
|
|
352
353
|
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_week?teacher_id=' + obj.data.id);
|
353
354
|
var openWH = miniPage.getOpenWidthHeight();
|
354
355
|
|
355
|
-
|
356
|
+
teacherindex1 = layer.open({
|
356
357
|
title: '添加周计划',
|
357
358
|
type: 1,
|
358
359
|
shade: 0.2,
|
@@ -368,7 +369,7 @@
|
|
368
369
|
} else if (obj.event === 'addMonth') {
|
369
370
|
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_month?teacher_id=' + obj.data.id);
|
370
371
|
var openWH = miniPage.getOpenWidthHeight();
|
371
|
-
|
372
|
+
teacherindex2 = layer.open({
|
372
373
|
title: '添加月计划',
|
373
374
|
type: 1,
|
374
375
|
shade: 0.2,
|
@@ -17,7 +17,7 @@ json.data do
|
|
17
17
|
json.courses_count d.user_id ? Course.joins(:course_members).where(course_members: {user_id: d.user_id}).distinct("course_id").count : 0
|
18
18
|
json.actives d.actives
|
19
19
|
json.students d.students_count
|
20
|
-
json.regist_at d.
|
20
|
+
json.regist_at d.user.present? ? d.user.created_on.to_s(:date) : ''
|
21
21
|
json.teacher_used d.teacher_used_of_department
|
22
22
|
end
|
23
23
|
end
|
@@ -152,11 +152,10 @@
|
|
152
152
|
if (res.success == false) {
|
153
153
|
layer.alert(res.msg)
|
154
154
|
} else {
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
155
|
+
table.reload('show_teachers_table');
|
156
|
+
table.reload('activities_table');
|
157
|
+
table.reload('teachers_table');
|
158
|
+
layer.close(parent.index)
|
160
159
|
}
|
161
160
|
})
|
162
161
|
return false;
|
@@ -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,
|
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.
|
4
|
+
version: 0.2.9
|
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
|