educode_sales 0.1.0 → 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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/educode_sales/app.css +2 -1
- data/app/controllers/educode_sales/activities_controller.rb +7 -1
- data/app/controllers/educode_sales/application_controller.rb +0 -1
- data/app/controllers/educode_sales/businesses_controller.rb +16 -9
- data/app/controllers/educode_sales/follow_ups_controller.rb +12 -8
- data/app/controllers/educode_sales/operation_plans_controller.rb +155 -0
- data/app/controllers/educode_sales/operation_reports_controller.rb +125 -0
- data/app/controllers/educode_sales/places_controller.rb +3 -4
- data/app/controllers/educode_sales/plans_controller.rb +12 -10
- data/app/controllers/educode_sales/roles_controller.rb +11 -0
- data/app/controllers/educode_sales/sale_reports_controller.rb +5 -4
- data/app/controllers/educode_sales/sales_controller.rb +4 -1
- data/app/controllers/educode_sales/sessions_controller.rb +2 -1
- data/app/controllers/educode_sales/teacher_follows_controller.rb +146 -0
- data/app/controllers/educode_sales/teachers_controller.rb +113 -11
- data/app/models/ability.rb +0 -1
- data/app/models/educode_sales/activity.rb +2 -1
- data/app/models/educode_sales/business.rb +0 -1
- data/app/models/educode_sales/common.rb +1 -0
- data/app/models/educode_sales/course_subject.rb +1 -1
- data/app/models/educode_sales/money_plan.rb +3 -3
- data/app/models/educode_sales/operation_plan.rb +2 -0
- data/app/models/educode_sales/place.rb +1 -0
- data/app/models/educode_sales/sale_plan.rb +2 -0
- data/app/models/educode_sales/staff.rb +5 -3
- data/app/models/educode_sales/teacher.rb +20 -1
- data/app/views/educode_sales/activities/edit.html.erb +4 -4
- data/app/views/educode_sales/activities/index.html.erb +23 -8
- data/app/views/educode_sales/activities/index.json.jbuilder +1 -1
- data/app/views/educode_sales/activities/new.html.erb +4 -3
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +2 -2
- data/app/views/educode_sales/businesses/edit_plan.html.erb +12 -7
- data/app/views/educode_sales/businesses/index.html.erb +137 -141
- data/app/views/educode_sales/businesses/index.json.jbuilder +2 -1
- data/app/views/educode_sales/businesses/new.html.erb +1 -1
- data/app/views/educode_sales/businesses/show_follow.html.erb +18 -3
- data/app/views/educode_sales/businesses/show_follow_record.html.erb +1 -1
- data/app/views/educode_sales/home/search_users.json.jbuilder +1 -1
- data/app/views/educode_sales/operation_plans/_monthPlan.html.erb +82 -88
- data/app/views/educode_sales/operation_plans/_monthly.html.erb +126 -97
- data/app/views/educode_sales/operation_plans/_weekPlan.html.erb +103 -90
- data/app/views/educode_sales/operation_plans/_weekly.html.erb +116 -87
- data/app/views/educode_sales/operation_plans/edit_month.html.erb +44 -32
- data/app/views/educode_sales/operation_plans/edit_monthly.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/edit_week.html.erb +49 -39
- data/app/views/educode_sales/operation_plans/edit_weekly.html.erb +1 -1
- data/app/views/educode_sales/operation_plans/index.html.erb +35 -5
- data/app/views/educode_sales/operation_plans/index.json.jbuilder +19 -0
- data/app/views/educode_sales/operation_plans/my_month.json.jbuilder +18 -0
- data/app/views/educode_sales/operation_plans/my_week.json.jbuilder +19 -0
- data/app/views/educode_sales/operation_plans/new_month.html.erb +13 -10
- data/app/views/educode_sales/operation_plans/new_monthly.html.erb +162 -72
- data/app/views/educode_sales/operation_plans/new_week.html.erb +14 -7
- data/app/views/educode_sales/operation_plans/new_weekly.html.erb +205 -120
- data/app/views/educode_sales/operation_plans/show_month.html.erb +4 -10
- data/app/views/educode_sales/operation_plans/show_week.html.erb +20 -25
- data/app/views/educode_sales/operation_plans/show_weekly.html.erb +6 -6
- data/app/views/educode_sales/operation_reports/audit.html.erb +214 -0
- data/app/views/educode_sales/operation_reports/edit.html.erb +234 -0
- data/app/views/educode_sales/operation_reports/index.json.jbuilder +18 -0
- data/app/views/educode_sales/operation_reports/plans.json.jbuilder +19 -0
- data/app/views/educode_sales/operation_reports/show.html.erb +139 -0
- data/app/views/educode_sales/operations/trends.html.erb +8 -0
- data/app/views/educode_sales/places/index.html.erb +6 -0
- data/app/views/educode_sales/places/index.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +9 -1
- data/app/views/educode_sales/plans/_monthly.html.erb +10 -2
- data/app/views/educode_sales/plans/_weekPlan.html.erb +17 -5
- data/app/views/educode_sales/plans/_weekly.html.erb +10 -2
- data/app/views/educode_sales/plans/audit_weekly.html.erb +6 -0
- data/app/views/educode_sales/plans/edit_monthly.html.erb +8 -0
- data/app/views/educode_sales/plans/edit_week.html.erb +8 -2
- data/app/views/educode_sales/plans/edit_weekly.html.erb +8 -0
- data/app/views/educode_sales/plans/index.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/my_month.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/my_week.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/new_month.html.erb +7 -3
- data/app/views/educode_sales/plans/new_monthly.html.erb +8 -0
- data/app/views/educode_sales/plans/new_week.html.erb +8 -2
- data/app/views/educode_sales/plans/new_weekly.html.erb +7 -1
- data/app/views/educode_sales/roles/index.html.erb +33 -2
- data/app/views/educode_sales/sale_reports/index.json.jbuilder +1 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +8 -0
- data/app/views/educode_sales/sales/index.html.erb +2 -1
- data/app/views/educode_sales/sales/operations.html.erb +5 -2
- data/app/views/educode_sales/sessions/login.html.erb +1 -1
- data/app/views/educode_sales/staffs/edit.html.erb +2 -3
- data/app/views/educode_sales/staffs/index.html.erb +4 -4
- data/app/views/educode_sales/staffs/new.html.erb +1 -1
- data/app/views/educode_sales/teachers/add_courses.html.erb +100 -19
- data/app/views/educode_sales/teachers/course_subject.json.jbuilder +10 -0
- data/app/views/educode_sales/teachers/edit.html.erb +54 -18
- data/app/views/educode_sales/teachers/edit_follow_record.html.erb +49 -30
- data/app/views/educode_sales/teachers/index.html.erb +20 -11
- data/app/views/educode_sales/teachers/index.json.jbuilder +2 -0
- data/app/views/educode_sales/teachers/new.html.erb +8 -6
- data/app/views/educode_sales/teachers/new_follow_record.html.erb +54 -29
- data/app/views/educode_sales/teachers/show_follow.html.erb +150 -170
- data/app/views/educode_sales/teachers/show_follow.json.jbuilder +20 -0
- data/app/views/educode_sales/teachers/show_follow_record.html.erb +11 -42
- data/app/views/educode_sales/teachers/unfinish_plans.json.jbuilder +14 -0
- data/app/views/layouts/educode_sales/application.html.erb +23 -2
- data/config/routes.rb +22 -4
- data/db/migrate/20210915061738_add_students_count_teacher_follow_ups.rb +9 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +19 -6
@@ -18,14 +18,14 @@
|
|
18
18
|
<div class="layui-inline">
|
19
19
|
<label class="layui-form-label required">职务</label>
|
20
20
|
<div class="layui-input-block">
|
21
|
-
<input type="text" name="
|
21
|
+
<input type="text" name="job" autocomplete="off" lay-verify="required"
|
22
22
|
class="layui-input" placeholder="请输入" value="<%= @teacher.job %>">
|
23
23
|
</div>
|
24
24
|
</div>
|
25
25
|
<div class="layui-inline">
|
26
26
|
<label class="layui-form-label required">来源</label>
|
27
27
|
<div class="layui-input-block">
|
28
|
-
<%= select_tag "
|
28
|
+
<%= select_tag "source_id", options_for_select(EducodeSales::Common.where(clazz: 'teacher_source').pluck(:name, :id), @teacher.source_id), { include_blank: true } %>
|
29
29
|
</div>
|
30
30
|
</div>
|
31
31
|
<br>
|
@@ -37,13 +37,15 @@
|
|
37
37
|
</div>
|
38
38
|
<br>
|
39
39
|
<div class="layui-inline">
|
40
|
-
<label class="layui-form-label
|
41
|
-
<div class="layui-input-block" id="
|
42
|
-
</div>
|
43
|
-
<div class="layui-inline">
|
44
|
-
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="create_business">提交</button>
|
45
|
-
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="create_business">取消</button>
|
40
|
+
<label class="layui-form-label">平台账号</label>
|
41
|
+
<div class="layui-input-block" id="user_search" style="width: 300px;"></div>
|
46
42
|
</div>
|
43
|
+
<div class="layui-form-item m-t-20">
|
44
|
+
<div class="layui-input-block">
|
45
|
+
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="create_teacher_btn">提交</button>
|
46
|
+
</button>
|
47
|
+
</div>
|
48
|
+
</div>
|
47
49
|
</div>
|
48
50
|
</div>
|
49
51
|
<script>
|
@@ -65,7 +67,7 @@
|
|
65
67
|
layVerify: 'required', //同layui form参数lay-verify
|
66
68
|
layVerType: 'tips', // 同layui form参数lay-verType
|
67
69
|
layReqText: '请填写文本', //同layui form参数lay-ReqText
|
68
|
-
initValue:
|
70
|
+
initValue: "<%= @teacher.department_id %>", // 渲染初始化默认值
|
69
71
|
hasSelectIcon: false,
|
70
72
|
placeholder: '请输入教师注册头歌平台的手机号或邮箱', // 渲染的inputplaceholder值
|
71
73
|
data: [gon.department],
|
@@ -80,24 +82,58 @@
|
|
80
82
|
}
|
81
83
|
});
|
82
84
|
|
85
|
+
var add_teacher = selectInput.render({
|
86
|
+
elem: '#user_search',
|
87
|
+
name: 'user_id', // 渲染的input的name值
|
88
|
+
layFilter: 'user_id', //同layui form参数lay-filter
|
89
|
+
// layVerify: 'required', //同layui form参数lay-verify
|
90
|
+
layVerType: 'tips', // 同layui form参数lay-verType
|
91
|
+
layReqText: '请填写文本', //同layui form参数lay-ReqText
|
92
|
+
initValue: '', // 渲染初始化默认值
|
93
|
+
hasSelectIcon: false,
|
94
|
+
placeholder: '支持姓名/手机号/邮箱搜索', // 渲染的inputplaceholder值
|
95
|
+
data: [],
|
96
|
+
remoteSearch: true, // 是否启用远程搜索 默认是false,和远程搜索回调保存同步
|
97
|
+
remoteMethod: function (value, cb) { // 远程搜索的回调函数
|
98
|
+
if (!value) {
|
99
|
+
return cb([]);
|
100
|
+
}
|
101
|
+
request.get('educode_sales/search_edu_teacher?q=' + value, {}, function (res) {
|
102
|
+
console.log(res);
|
103
|
+
return cb(res)
|
104
|
+
})
|
105
|
+
}
|
106
|
+
});
|
107
|
+
var user_id = "<%= @teacher.user_id || '' %>";
|
108
|
+
|
109
|
+
add_teacher.on('itemSelect(user_search)', function (obj) {
|
110
|
+
user_id = obj.data;
|
111
|
+
})
|
112
|
+
|
83
113
|
// 当前弹出层,防止ID被覆盖
|
84
114
|
var parentIndex = layer.index;
|
115
|
+
var department_id = "<%= @teacher.department_id %>";
|
116
|
+
add_department.on('itemInput(add_department2)', function (obj) {
|
117
|
+
department_id = '';
|
118
|
+
});
|
119
|
+
add_department.on('itemSelect(add_department2)', function (obj) {
|
120
|
+
department_id = obj.data;
|
121
|
+
})
|
85
122
|
|
86
123
|
//监听提交
|
87
|
-
form.on('submit(
|
88
|
-
if (
|
89
|
-
|
124
|
+
form.on('submit(create_teacher_btn)', function (data) {
|
125
|
+
if (department_id == '') {
|
126
|
+
return layer.alert("请选择单位部门")
|
90
127
|
}
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
}, function (res) {
|
128
|
+
data.field.department_id = department_id;
|
129
|
+
data.field.user_id = user_id;
|
130
|
+
request.authPut("educode_sales/teachers/"+ parent.teacher_id, data.field, function (res) {
|
95
131
|
if (res.success == false) {
|
96
132
|
layer.alert(res.msg)
|
97
133
|
} else {
|
98
|
-
layer.close(parent.
|
134
|
+
layer.close(parent.sindex);
|
99
135
|
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
100
|
-
parent.table.reload('
|
136
|
+
parent.table.reload('teachers_table')
|
101
137
|
}
|
102
138
|
})
|
103
139
|
|
@@ -3,65 +3,84 @@
|
|
3
3
|
<div class="layui-inline">
|
4
4
|
<label class="layui-form-label">教师态度</label>
|
5
5
|
<div class="layui-input-inline">
|
6
|
-
|
7
|
-
<option value="">请选择</option>
|
8
|
-
<option value="010">北京</option>
|
9
|
-
<option value="021">上海</option>
|
10
|
-
<option value="0571">杭州</option>
|
11
|
-
</select>
|
6
|
+
<%= select_tag "attitude_id",options_for_select(EducodeSales::Common.where(clazz: "teacher_attitude").pluck(:name, :id), @follow_up.attitude_id)%>
|
12
7
|
</div>
|
13
8
|
</div>
|
14
9
|
<div class="layui-inline">
|
15
10
|
<label class="layui-form-label">开课计划</label>
|
16
11
|
<div class="layui-input-inline">
|
17
|
-
|
18
|
-
<option value="">请选择</option>
|
19
|
-
<option value="010">北京</option>
|
20
|
-
<option value="021">上海</option>
|
21
|
-
<option value="0571">杭州</option>
|
22
|
-
</select>
|
12
|
+
<%= select_tag "course_plan_id",options_for_select(EducodeSales::Common.where(clazz: "course_plan").pluck(:name, :id), @follow_up.course_plan_id)%>
|
23
13
|
</div>
|
24
14
|
</div>
|
25
15
|
<br>
|
26
16
|
<div class="layui-inline">
|
27
17
|
<label class="layui-form-label">课堂建设</label>
|
28
18
|
<div class="layui-input-inline">
|
29
|
-
|
30
|
-
<option value="">请选择</option>
|
31
|
-
<option value="010">北京</option>
|
32
|
-
<option value="021">上海</option>
|
33
|
-
<option value="0571">杭州</option>
|
34
|
-
</select>
|
19
|
+
<%= select_tag "course_build_id",options_for_select(EducodeSales::Common.where(clazz: "course_build").pluck(:name, :id), @follow_up.course_build_id)%>
|
35
20
|
</div>
|
36
21
|
</div>
|
37
22
|
<div class="layui-inline">
|
38
23
|
<label class="layui-form-label">跟进手段</label>
|
39
24
|
<div class="layui-input-inline">
|
40
|
-
|
41
|
-
<option value="">请选择</option>
|
42
|
-
<option value="010">北京</option>
|
43
|
-
<option value="021">上海</option>
|
44
|
-
<option value="0571">杭州</option>
|
45
|
-
</select>
|
25
|
+
<%= select_tag "follow_id",options_for_select(EducodeSales::Common.where(clazz: "contact").pluck(:name, :id), @follow_up.follow_id)%>
|
46
26
|
</div>
|
47
27
|
</div>
|
48
28
|
<br>
|
49
29
|
<div class="layui-form-item layui-form-text">
|
50
30
|
<label class="layui-form-label">跟进小结</label>
|
51
31
|
<div class="layui-input-block">
|
52
|
-
<textarea name="
|
32
|
+
<textarea name="description" placeholder="此处可以填写:
|
53
33
|
1、教师关注的痛点问题;
|
54
34
|
2、教师关注的教学项目、教学成果类型;
|
55
35
|
3、其他个性化需求,以及应对情况说明;
|
56
36
|
4、目前态度的产生原因等。
|
57
|
-
" class="layui-textarea"
|
37
|
+
" class="layui-textarea"><%= @follow_up.description %></textarea>
|
58
38
|
</div>
|
59
39
|
</div>
|
60
40
|
<div class="layui-inline" style="padding-left: 50px">
|
61
|
-
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="
|
62
|
-
</button>
|
63
|
-
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn">取消
|
41
|
+
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit_follow_up">提交
|
64
42
|
</button>
|
65
43
|
</div>
|
66
44
|
</div>
|
67
|
-
</form>
|
45
|
+
</form>
|
46
|
+
|
47
|
+
<script>
|
48
|
+
layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'laydate'], function () {
|
49
|
+
var form = layui.form,
|
50
|
+
layer = layui.layer,
|
51
|
+
table = layui.table,
|
52
|
+
laytpl = layui.laytpl,
|
53
|
+
request = layui.request,
|
54
|
+
laydate = layui.laydate,
|
55
|
+
$ = layui.$;
|
56
|
+
|
57
|
+
// laydate.render({
|
58
|
+
// elem: '#invitation_at_add'
|
59
|
+
// })
|
60
|
+
//
|
61
|
+
// laydate.render({
|
62
|
+
// elem: '#reception_at_add'
|
63
|
+
// });
|
64
|
+
|
65
|
+
form.render();
|
66
|
+
|
67
|
+
form.on('submit(edit_follow_up)', function (data) {
|
68
|
+
request.authPut("educode_sales/teacher_follows/<%= @follow_up.id%>", data.field, function (res) {
|
69
|
+
if (res.success == false) {
|
70
|
+
layer.alert(res.msg)
|
71
|
+
} else {
|
72
|
+
layer.close(parent.edit_index1);
|
73
|
+
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
74
|
+
parent.table.reload('followTable')
|
75
|
+
parent.table.reload('teachers_table')
|
76
|
+
parent.table.reload('weekPlanTable1')
|
77
|
+
parent.table.reload('monthPlanTable')
|
78
|
+
}
|
79
|
+
})
|
80
|
+
|
81
|
+
|
82
|
+
return false;
|
83
|
+
});
|
84
|
+
|
85
|
+
});
|
86
|
+
</script>
|
@@ -25,8 +25,6 @@
|
|
25
25
|
<%= select_tag "teacher_source", options_for_select(EducodeSales::Common.where(clazz: 'teacher_source').pluck(:name, :id)), { include_blank: true } %>
|
26
26
|
</div>
|
27
27
|
</div>
|
28
|
-
<br>
|
29
|
-
<br>
|
30
28
|
<div class="layui-inline">
|
31
29
|
<label class="layui-form-label">态度</label>
|
32
30
|
<div class="layui-input-inline">
|
@@ -65,25 +63,33 @@
|
|
65
63
|
<script type="text/html" id="toolbarDemo">
|
66
64
|
<div class="layui-btn-container">
|
67
65
|
<span class="table-label">教师列表</span>
|
66
|
+
<% if can? :create, EducodeSales::Teacher %>
|
68
67
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add">添加</button>
|
68
|
+
<% end %>
|
69
69
|
<!-- <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="search_new"> 搜索添加 -->
|
70
70
|
</button>
|
71
71
|
</div>
|
72
72
|
</script>
|
73
|
-
|
74
|
-
<table class="layui-hide" id="teachers_table" lay-filter="teachers_table"></table>
|
75
|
-
|
73
|
+
<div class="edit-table">
|
74
|
+
<table class="layui-hide" id="teachers_table" style="min-height: 300px;" lay-filter="teachers_table"></table>
|
75
|
+
</div>
|
76
76
|
<script type="text/html" id="currentTableBar">
|
77
|
+
<% if can? :create, EducodeSales::OperationPlan %>
|
77
78
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="addWeek">添加周计划</a>
|
78
79
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="addMonth">添加月计划</a>
|
80
|
+
<% end %>
|
81
|
+
<% if can? :update, EducodeSales::OperationPlan %>
|
79
82
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
83
|
+
<% end %>
|
84
|
+
<% if can? :destroy, EducodeSales::OperationPlan %>
|
80
85
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
86
|
+
<% end %>
|
81
87
|
</script>
|
82
88
|
<script type="text/html" id="name">
|
83
89
|
{{# if (d.login) { }}
|
84
90
|
<a href="/users/{{d.login}}" class="layui-table-link" target="_blank">{{ d.name }}</a>
|
85
91
|
{{# } else {}}
|
86
|
-
<a href="
|
92
|
+
<a href="javascript:;" class="">{{ d.name }}</a>
|
87
93
|
{{# }}}
|
88
94
|
</script>
|
89
95
|
<script type="text/html" id="courses">
|
@@ -184,7 +190,7 @@
|
|
184
190
|
templet: "#follow"
|
185
191
|
},
|
186
192
|
{
|
187
|
-
field: '
|
193
|
+
field: 'teacher_used',
|
188
194
|
width: 120,
|
189
195
|
title: '学院渗透率',
|
190
196
|
},
|
@@ -212,14 +218,14 @@
|
|
212
218
|
},
|
213
219
|
{
|
214
220
|
title: '操作',
|
215
|
-
minWidth:
|
221
|
+
minWidth: 300,
|
216
222
|
toolbar: '#currentTableBar',
|
217
223
|
align: "center",
|
218
224
|
fixed: 'right'
|
219
225
|
}
|
220
226
|
]
|
221
227
|
],
|
222
|
-
page: true
|
228
|
+
page: true,
|
223
229
|
});
|
224
230
|
|
225
231
|
|
@@ -313,6 +319,7 @@
|
|
313
319
|
if (obj.event === 'edit') { //编辑
|
314
320
|
content = miniPage.getHrefContent('/educode_sales/teachers/' + id + '/edit');
|
315
321
|
openWH = miniPage.getOpenWidthHeight();
|
322
|
+
teacher_id = id;
|
316
323
|
sindex = layer.open({
|
317
324
|
title: '编辑',
|
318
325
|
type: 1,
|
@@ -374,7 +381,8 @@
|
|
374
381
|
});
|
375
382
|
|
376
383
|
} else if (obj.event === 'courses') {
|
377
|
-
|
384
|
+
teacher_id = data.id
|
385
|
+
content = miniPage.getHrefContent('/educode_sales/teachers/add_courses?id='+data.id);
|
378
386
|
openWH = miniPage.getOpenWidthHeight();
|
379
387
|
index = layer.open({
|
380
388
|
title: '课程方向',
|
@@ -396,6 +404,7 @@
|
|
396
404
|
} else if (obj.event === 'event') {
|
397
405
|
content = miniPage.getHrefContent('/educode_sales/teachers/add_event');
|
398
406
|
openWH = miniPage.getOpenWidthHeight();
|
407
|
+
teacher_id = obj.data.id;
|
399
408
|
index = layer.open({
|
400
409
|
title: '参与活动',
|
401
410
|
type: 1,
|
@@ -435,7 +444,7 @@
|
|
435
444
|
layer.full(index);
|
436
445
|
});
|
437
446
|
} else if (obj.event === 'follow') {
|
438
|
-
content = miniPage.getHrefContent('/educode_sales/teachers/show_follow');
|
447
|
+
content = miniPage.getHrefContent('/educode_sales/teachers/show_follow?id=' + data.id);
|
439
448
|
openWH = miniPage.getOpenWidthHeight();
|
440
449
|
index = layer.open({
|
441
450
|
title: '跟进记录',
|
@@ -17,7 +17,9 @@ json.data do
|
|
17
17
|
json.actives d.actives
|
18
18
|
json.students d.students
|
19
19
|
json.regist_at d.regist_at ? d.regist_at.to_s(:date) : ''
|
20
|
+
json.teacher_used d.teacher_used_of_department
|
20
21
|
end
|
21
22
|
end
|
22
23
|
json.code 0
|
24
|
+
json.count @teachers.count
|
23
25
|
json.msg 'succcess'
|
@@ -17,15 +17,19 @@
|
|
17
17
|
<%= select_tag "professional_title", options_for_select(['教授', '研究员', '副教授', '副研究员', '讲师', '助理研究员', '助理教授'], @person&.professional_title), { include_blank: true, "lay-verify": "required"} %>
|
18
18
|
</div>
|
19
19
|
</div>
|
20
|
+
</div>
|
21
|
+
<div class="layui-block">
|
20
22
|
<div class="layui-inline">
|
21
|
-
<label class="layui-form-label required"
|
22
|
-
<div class="layui-input-block" style="
|
23
|
+
<label class="layui-form-label required">职务</label>
|
24
|
+
<div class="layui-input-block" style="width: 188px;">
|
23
25
|
<input type="text" name="job" autocomplete="off" lay-verify="required" class="layui-input" placeholder="请输入职务">
|
24
26
|
</div>
|
25
27
|
</div>
|
28
|
+
</div>
|
29
|
+
<div class="layui-block">
|
26
30
|
<div class="layui-inline">
|
27
|
-
<label class="layui-form-label required"
|
28
|
-
<div class="layui-input-block"
|
31
|
+
<label class="layui-form-label required">来源</label>
|
32
|
+
<div class="layui-input-block">
|
29
33
|
<%= select_tag "source_id", options_for_select(EducodeSales::Common.where(clazz: 'teacher_source').pluck(:name, :id)), { include_blank: true, "lay-verify": "required" } %>
|
30
34
|
</div>
|
31
35
|
</div>
|
@@ -108,7 +112,6 @@
|
|
108
112
|
add_teacher.on('itemInput(add_teacher)', function (obj) {
|
109
113
|
department_id = '';
|
110
114
|
user_id = '';
|
111
|
-
|
112
115
|
});
|
113
116
|
|
114
117
|
add_department.on('itemClear(add_department)', function() {
|
@@ -142,7 +145,6 @@
|
|
142
145
|
data.field.user_id = user_id;
|
143
146
|
data.field.department_id = department_id;
|
144
147
|
data.field.activity_id = parent.activity_id;
|
145
|
-
console.log(data.field)
|
146
148
|
if (department_id == "") {
|
147
149
|
return layer.alert("请选择单位部门")
|
148
150
|
}
|
@@ -3,53 +3,33 @@
|
|
3
3
|
<div class="layui-inline">
|
4
4
|
<label class="layui-form-label">教师态度</label>
|
5
5
|
<div class="layui-input-inline">
|
6
|
-
|
7
|
-
<option value="">请选择</option>
|
8
|
-
<option value="010">北京</option>
|
9
|
-
<option value="021">上海</option>
|
10
|
-
<option value="0571">杭州</option>
|
11
|
-
</select>
|
6
|
+
<%= select_tag "attitude_id",options_for_select(EducodeSales::Common.where(clazz: "teacher_attitude").pluck(:name, :id))%>
|
12
7
|
</div>
|
13
8
|
</div>
|
14
9
|
<div class="layui-inline">
|
15
10
|
<label class="layui-form-label">开课计划</label>
|
16
11
|
<div class="layui-input-inline">
|
17
|
-
|
18
|
-
<option value="">请选择</option>
|
19
|
-
<option value="010">北京</option>
|
20
|
-
<option value="021">上海</option>
|
21
|
-
<option value="0571">杭州</option>
|
22
|
-
</select>
|
12
|
+
<%= select_tag "course_plan_id",options_for_select(EducodeSales::Common.where(clazz: "course_plan").pluck(:name, :id))%>
|
23
13
|
</div>
|
24
14
|
</div>
|
25
15
|
<br>
|
26
16
|
<div class="layui-inline">
|
27
17
|
<label class="layui-form-label">课堂建设</label>
|
28
18
|
<div class="layui-input-inline">
|
29
|
-
|
30
|
-
<option value="">请选择</option>
|
31
|
-
<option value="010">北京</option>
|
32
|
-
<option value="021">上海</option>
|
33
|
-
<option value="0571">杭州</option>
|
34
|
-
</select>
|
19
|
+
<%= select_tag "course_build_id",options_for_select(EducodeSales::Common.where(clazz: "course_build").pluck(:name, :id))%>
|
35
20
|
</div>
|
36
21
|
</div>
|
37
22
|
<div class="layui-inline">
|
38
23
|
<label class="layui-form-label">跟进手段</label>
|
39
24
|
<div class="layui-input-inline">
|
40
|
-
|
41
|
-
<option value="">请选择</option>
|
42
|
-
<option value="010">北京</option>
|
43
|
-
<option value="021">上海</option>
|
44
|
-
<option value="0571">杭州</option>
|
45
|
-
</select>
|
25
|
+
<%= select_tag "follow_id",options_for_select(EducodeSales::Common.where(clazz: "contact").pluck(:name, :id))%>
|
46
26
|
</div>
|
47
27
|
</div>
|
48
28
|
<br>
|
49
29
|
<div class="layui-form-item layui-form-text">
|
50
30
|
<label class="layui-form-label">跟进小结</label>
|
51
31
|
<div class="layui-input-block">
|
52
|
-
<textarea name="
|
32
|
+
<textarea name="description" placeholder="此处可以填写:
|
53
33
|
1、教师关注的痛点问题;
|
54
34
|
2、教师关注的教学项目、教学成果类型;
|
55
35
|
3、其他个性化需求,以及应对情况说明;
|
@@ -58,10 +38,55 @@
|
|
58
38
|
</div>
|
59
39
|
</div>
|
60
40
|
<div class="layui-inline" style="padding-left: 50px">
|
61
|
-
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="
|
62
|
-
</button>
|
63
|
-
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn">取消
|
41
|
+
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="add_follow_up">提交
|
64
42
|
</button>
|
65
43
|
</div>
|
66
44
|
</div>
|
67
|
-
</form>
|
45
|
+
</form>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
<script>
|
51
|
+
layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'laydate'], function () {
|
52
|
+
var form = layui.form,
|
53
|
+
layer = layui.layer,
|
54
|
+
table = layui.table,
|
55
|
+
laytpl = layui.laytpl,
|
56
|
+
request = layui.request,
|
57
|
+
laydate = layui.laydate,
|
58
|
+
$ = layui.$;
|
59
|
+
|
60
|
+
// laydate.render({
|
61
|
+
// elem: '#invitation_at_add'
|
62
|
+
// })
|
63
|
+
//
|
64
|
+
// laydate.render({
|
65
|
+
// elem: '#reception_at_add'
|
66
|
+
// });
|
67
|
+
|
68
|
+
form.render();
|
69
|
+
|
70
|
+
form.on('submit(add_follow_up)', function (data) {
|
71
|
+
data.field.teacher_id = "<%= @teacher.id %>";
|
72
|
+
request.authPost("educode_sales/teacher_follows", data.field, function (res) {
|
73
|
+
if (res.success == false) {
|
74
|
+
layer.alert(res.msg)
|
75
|
+
} else {
|
76
|
+
layer.close(parent.sale_plan_index);
|
77
|
+
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
78
|
+
parent.table.reload('sale_plan_follow_table')
|
79
|
+
parent.table.reload('teachers_table')
|
80
|
+
parent.table.reload('weekPlanTable1')
|
81
|
+
parent.table.reload('monthPlanTable')
|
82
|
+
parent.table.reload('monthlyTable')
|
83
|
+
parent.table.reload('weeklyTable')
|
84
|
+
}
|
85
|
+
})
|
86
|
+
|
87
|
+
|
88
|
+
return false;
|
89
|
+
});
|
90
|
+
|
91
|
+
});
|
92
|
+
</script>
|