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
@@ -3,7 +3,7 @@
|
|
3
3
|
<div class="layui-inline">
|
4
4
|
<label class="layui-form-label">月份</label>
|
5
5
|
<div class="layui-input-inline">
|
6
|
-
|
6
|
+
<input type="text" class="layui-input" id="edit_week_plan_month" autocomplete="off" name="month">
|
7
7
|
</div>
|
8
8
|
</div>
|
9
9
|
<% if @sale_plan.weekly.present? %>
|
@@ -46,13 +46,19 @@
|
|
46
46
|
</div>
|
47
47
|
|
48
48
|
<script>
|
49
|
-
layui.use(['form', 'table', 'laytpl', 'request'], function () {
|
49
|
+
layui.use(['form', 'table', 'laytpl', 'request', 'laydate'], function () {
|
50
50
|
var form = layui.form,
|
51
51
|
layer = layui.layer,
|
52
52
|
table = layui.table,
|
53
53
|
request = layui.request,
|
54
|
+
laydate = layui.laydate,
|
54
55
|
$ = layui.$;
|
55
56
|
|
57
|
+
laydate.render({
|
58
|
+
elem: '#edit_week_plan_month',
|
59
|
+
value: "<%= @sale_plan.month.strftime('%Y-%m')%>",
|
60
|
+
type: 'month'
|
61
|
+
});
|
56
62
|
form.render();
|
57
63
|
|
58
64
|
form.on('submit(update_sale_plan)', function (data) {
|
@@ -1,7 +1,9 @@
|
|
1
1
|
<script type="text/html" id="newWeeklyToolbar">
|
2
2
|
<div class="layui-btn-container">
|
3
3
|
<span class="table-label">本周计划列表</span>
|
4
|
+
<% if can? :create, EducodeSales::SalePlan %>
|
4
5
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加计划</button>
|
6
|
+
<% end %>
|
5
7
|
</div>
|
6
8
|
</script>
|
7
9
|
<form class="layui-form layui-form-pane">
|
@@ -46,9 +48,15 @@
|
|
46
48
|
<a href="javascript:void(0);" lay-event="show_follow" class="layui-table-link">{{ d.follow_ups_count }}</a>
|
47
49
|
</script>
|
48
50
|
<script type="text/html" id="currentWeekly">
|
51
|
+
<% if can? :read, EducodeSales::SalePlan %>
|
49
52
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
|
53
|
+
<% end %>
|
54
|
+
<% if can? :update, EducodeSales::SalePlan %>
|
50
55
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
56
|
+
<% end %>
|
57
|
+
<% if can? :destroy, EducodeSales::SalePlan %>
|
51
58
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
59
|
+
<% end %>
|
52
60
|
</script>
|
53
61
|
<script>
|
54
62
|
layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
|
@@ -8,7 +8,7 @@ json.data do
|
|
8
8
|
json.month d.month.strftime("%Y-%m")
|
9
9
|
json.weekly d.weekly
|
10
10
|
json.business_id d.business_id
|
11
|
-
json.content d.content.truncate(
|
11
|
+
json.content d.content.truncate(40)
|
12
12
|
json.follow_ups_count d.business.follow_ups_count
|
13
13
|
json.finish_rate "#{d.finish_rate}%"
|
14
14
|
json.updated_at d.updated_at.to_s
|
@@ -7,7 +7,7 @@ json.data do
|
|
7
7
|
json.school d.business.department&.school&.name
|
8
8
|
json.month d.month.strftime("%Y-%m")
|
9
9
|
json.business_id d.business_id
|
10
|
-
json.content d.content.truncate(
|
10
|
+
json.content d.content.truncate(40)
|
11
11
|
json.follow_ups_count d.business.follow_ups_count
|
12
12
|
json.finish_rate "#{d.finish_rate}%"
|
13
13
|
json.updated_at d.updated_at.to_s
|
@@ -8,7 +8,7 @@ json.data do
|
|
8
8
|
json.month d.month.strftime("%Y-%m")
|
9
9
|
json.weekly d.weekly
|
10
10
|
json.business_id d.business_id
|
11
|
-
json.content d.content.truncate(
|
11
|
+
json.content d.content.truncate(40)
|
12
12
|
json.follow_ups_count d.business.follow_ups_count
|
13
13
|
json.finish_rate "#{d.finish_rate}%"
|
14
14
|
json.updated_at d.updated_at.to_s
|
@@ -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-inline">
|
6
|
-
|
6
|
+
<input type="text" class="layui-input" id="new_month_month" autocomplete="off" name="month">
|
7
7
|
</div>
|
8
8
|
</div>
|
9
9
|
<div class="layui-inline">
|
@@ -48,13 +48,17 @@
|
|
48
48
|
</div>
|
49
49
|
|
50
50
|
<script>
|
51
|
-
layui.use(['form', 'table', 'laytpl', 'request'], function () {
|
51
|
+
layui.use(['form', 'table', 'laytpl', 'request', 'laydate'], function () {
|
52
52
|
var form = layui.form,
|
53
53
|
layer = layui.layer,
|
54
54
|
table = layui.table,
|
55
55
|
request = layui.request,
|
56
|
+
laydate = layui.laydate,
|
56
57
|
$ = layui.$;
|
57
|
-
|
58
|
+
laydate.render({
|
59
|
+
elem: '#new_month_month',
|
60
|
+
type: 'month'
|
61
|
+
});
|
58
62
|
form.render();
|
59
63
|
|
60
64
|
var parentIndex = layer.index;
|
@@ -1,7 +1,9 @@
|
|
1
1
|
<script type="text/html" id="newMonthlyToolbar">
|
2
2
|
<div class="layui-btn-container">
|
3
3
|
<span class="table-label">本月计划列表</span>
|
4
|
+
<% if can? :create, EducodeSales::SalePlan %>
|
4
5
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加计划</button>
|
6
|
+
<% end %>
|
5
7
|
</div>
|
6
8
|
</script>
|
7
9
|
<form class="layui-form layui-form-pane">
|
@@ -45,9 +47,15 @@
|
|
45
47
|
<a href="javascript:void(0);" lay-event="show_follow" class="layui-table-link">{{ d.follow_ups_count }}</a>
|
46
48
|
</script>
|
47
49
|
<script type="text/html" id="currentmonthly">
|
50
|
+
<% if can? :read, EducodeSales::SalePlan %>
|
48
51
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
|
52
|
+
<% end %>
|
53
|
+
<% if can? :update, EducodeSales::SalePlan %>
|
49
54
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
55
|
+
<% end %>
|
56
|
+
<% if can? :destroy, EducodeSales::SalePlan %>
|
50
57
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
58
|
+
<% end %>
|
51
59
|
</script>
|
52
60
|
<script>
|
53
61
|
layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
|
@@ -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-inline">
|
6
|
-
|
6
|
+
<input type="text" class="layui-input" id="new_week_month" autocomplete="off" name="month">
|
7
7
|
</div>
|
8
8
|
</div>
|
9
9
|
<div class="layui-inline">
|
@@ -55,13 +55,19 @@
|
|
55
55
|
</div>
|
56
56
|
|
57
57
|
<script>
|
58
|
-
layui.use(['form', 'table', 'laytpl', 'request'], function () {
|
58
|
+
layui.use(['form', 'table', 'laytpl', 'request', 'laydate'], function () {
|
59
59
|
var form = layui.form,
|
60
60
|
layer = layui.layer,
|
61
61
|
table = layui.table,
|
62
62
|
request = layui.request,
|
63
|
+
laydate = layui.laydate,
|
63
64
|
$ = layui.$;
|
64
65
|
|
66
|
+
laydate.render({
|
67
|
+
elem: '#new_week_month',
|
68
|
+
type: 'month'
|
69
|
+
});
|
70
|
+
|
65
71
|
form.render();
|
66
72
|
|
67
73
|
var parentIndex = layer.index;
|
@@ -45,9 +45,15 @@
|
|
45
45
|
<a href="javascript:void(0);" lay-event="show_follow" class="layui-table-link">{{ d.follow_ups_count }}</a>
|
46
46
|
</script>
|
47
47
|
<script type="text/html" id="currentWeekly">
|
48
|
+
<% if can? :read, EducodeSales::SalePlan %>
|
48
49
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
|
50
|
+
<% end %>
|
51
|
+
<% if can? :update, EducodeSales::SalePlan %>
|
49
52
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
53
|
+
<% end %>
|
54
|
+
<% if can? :destroy, EducodeSales::SalePlan %>
|
50
55
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
56
|
+
<% end %>
|
51
57
|
</script>
|
52
58
|
<script>
|
53
59
|
layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
|
@@ -82,7 +88,7 @@
|
|
82
88
|
// }
|
83
89
|
// })
|
84
90
|
|
85
|
-
|
91
|
+
|
86
92
|
form.on('submit(add_weekly_report)', function (data) {
|
87
93
|
request.authPost("educode_sales/sale_reports", data.field, function (res) {
|
88
94
|
if (res.success == false) {
|
@@ -16,8 +16,9 @@
|
|
16
16
|
var $ = layui.jquery,
|
17
17
|
form = layui.form,
|
18
18
|
request = layui.request,
|
19
|
+
util = layui.util,
|
19
20
|
miniPage = layui.miniPage;
|
20
|
-
table = layui.table
|
21
|
+
table = layui.table;
|
21
22
|
|
22
23
|
table.render({
|
23
24
|
elem: '#role',
|
@@ -34,6 +35,7 @@
|
|
34
35
|
field: 'name',
|
35
36
|
title: '角色',
|
36
37
|
width: 120,
|
38
|
+
edit: 'text'
|
37
39
|
}, {
|
38
40
|
field: 'permissions',
|
39
41
|
title: '模块浏览权限',
|
@@ -48,7 +50,33 @@
|
|
48
50
|
page: true
|
49
51
|
})
|
50
52
|
|
51
|
-
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
//监听单元格编辑
|
58
|
+
table.on('edit(role_filter)', function(obj){
|
59
|
+
var value = obj.value //得到修改后的值
|
60
|
+
,data = obj.data //得到所在行所有键值
|
61
|
+
,field = obj.field; //得到字段
|
62
|
+
console.log(obj.data);
|
63
|
+
request.authPut('educode_sales/roles/' + data.id + '/update_role/', data,
|
64
|
+
function(res) {
|
65
|
+
if (res.success) {
|
66
|
+
// table.reload('role');
|
67
|
+
} else {
|
68
|
+
layer.alert(res.msg)
|
69
|
+
}
|
70
|
+
|
71
|
+
})
|
72
|
+
});
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
table.on('toolbar(role_filter)', function (obj) {
|
52
80
|
if (obj.event === 'add') { // 监听添加操作
|
53
81
|
var content = miniPage.getHrefContent('/educode_sales/roles/new');
|
54
82
|
var openWH = miniPage.getOpenWidthHeight();
|
@@ -70,6 +98,9 @@
|
|
70
98
|
});
|
71
99
|
|
72
100
|
|
101
|
+
|
102
|
+
|
103
|
+
|
73
104
|
table.on('tool(role_filter)', function (obj) {
|
74
105
|
var data = obj.data;
|
75
106
|
role_id = data.id;
|
@@ -4,7 +4,7 @@ json.data do
|
|
4
4
|
json.staff d.staff.user.real_name
|
5
5
|
json.client d.client
|
6
6
|
json.amount d.amount
|
7
|
-
json.content d.content.truncate(
|
7
|
+
json.content d.content.truncate(40)
|
8
8
|
json.finish_rate "#{d.finish_rate}%"
|
9
9
|
json.level1_score d.level1_score || 0
|
10
10
|
json.level2_score d.level2_score || 0
|
@@ -14,7 +14,9 @@
|
|
14
14
|
<div class="panel layui-bg-number">
|
15
15
|
<div class="panel-body">
|
16
16
|
<div class="panel-title">
|
17
|
+
<% if can? :sale_trends, EducodeSales::SaleTrend %>
|
17
18
|
<span class="layui-icon layui-icon-edit pull-right" id="chance_money_edit"></span>
|
19
|
+
<% end %>
|
18
20
|
<h5>商机目标</h5>
|
19
21
|
</div>
|
20
22
|
<div class="panel-content y-t-10">
|
@@ -31,7 +33,9 @@
|
|
31
33
|
<div class="panel layui-bg-number">
|
32
34
|
<div class="panel-body">
|
33
35
|
<div class="panel-title">
|
36
|
+
<% if can? :sale_trends, EducodeSales::SaleTrend %>
|
34
37
|
<span class="layui-icon layui-icon-edit pull-right" id="ballot_money_edit"></span>
|
38
|
+
<% end %>
|
35
39
|
<h5>中标目标</h5>
|
36
40
|
</div>
|
37
41
|
<div class="panel-content y-t-10">
|
@@ -47,7 +51,9 @@
|
|
47
51
|
<div class="panel layui-bg-number">
|
48
52
|
<div class="panel-body">
|
49
53
|
<div class="panel-title">
|
54
|
+
<% if can? :sale_trends, EducodeSales::SaleTrend %>
|
50
55
|
<span class="layui-icon layui-icon-edit pull-right" id="sign_money_edit"></span>
|
56
|
+
<% end %>
|
51
57
|
<h5>签单目标</h5>
|
52
58
|
</div>
|
53
59
|
<div class="panel-content y-t-10">
|
@@ -63,7 +69,9 @@
|
|
63
69
|
<div class="panel layui-bg-number">
|
64
70
|
<div class="panel-body">
|
65
71
|
<div class="panel-title">
|
72
|
+
<% if can? :sale_trends, EducodeSales::SaleTrend %>
|
66
73
|
<span class="layui-icon layui-icon-edit pull-right" id="returned_money_edit"></span>
|
74
|
+
<% end %>
|
67
75
|
<h5>回款目标</h5>
|
68
76
|
</div>
|
69
77
|
<div class="panel-content y-t-10">
|
@@ -35,13 +35,16 @@
|
|
35
35
|
cols: [
|
36
36
|
[{
|
37
37
|
field: 'id',
|
38
|
-
title: 'ID'
|
38
|
+
title: 'ID',
|
39
|
+
width: 80
|
39
40
|
}, {
|
40
41
|
field: 'name',
|
41
|
-
title: '姓名'
|
42
|
+
title: '姓名',
|
43
|
+
width: 150
|
42
44
|
}, {
|
43
45
|
field: 'job_type',
|
44
46
|
title: '岗位类型',
|
47
|
+
width: 120
|
45
48
|
}, {
|
46
49
|
field: 'area',
|
47
50
|
title: '负责区域',
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="center">
|
9
9
|
<div class="item">
|
10
10
|
<span class="icon icon-2"></span>
|
11
|
-
<input type="text" name="username" lay-verify="required" placeholder="
|
11
|
+
<input type="text" name="username" lay-verify="required" placeholder="请输入头歌平台上登录账号/手机号/邮箱" maxlength="24" />
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<div class="item">
|
@@ -33,7 +33,7 @@
|
|
33
33
|
<div class="layui-form-item">
|
34
34
|
<label class="layui-form-label required">生效日期</label>
|
35
35
|
<div class="layui-input-block">
|
36
|
-
<input type="text" id="day" class="layui-input" lay-verify="required" lay-reqtext="生效日期不能为空"
|
36
|
+
<input type="text" id="day" autocomplete="off" class="layui-input" lay-verify="required" lay-reqtext="生效日期不能为空"
|
37
37
|
name="enabled_at" value="<%= @staff.enabled_at&.to_s(:date) %>" placeholder="">
|
38
38
|
</div>
|
39
39
|
</div>
|
@@ -97,7 +97,6 @@
|
|
97
97
|
return false;
|
98
98
|
}
|
99
99
|
data.field['area_ids'] = area_ids;
|
100
|
-
console.log(data.field);
|
101
100
|
request.authPut("educode_sales/staffs/" + parent.staff_id, data.field, function (res) {
|
102
101
|
console.log(res.success == false)
|
103
102
|
if (res.success == false) {
|
@@ -105,7 +104,7 @@
|
|
105
104
|
} else {
|
106
105
|
layer.close(parent.index);
|
107
106
|
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
108
|
-
parent.table.reload('
|
107
|
+
parent.table.reload('staff_filter')
|
109
108
|
}
|
110
109
|
})
|
111
110
|
return false;
|
@@ -5,7 +5,7 @@
|
|
5
5
|
</div>
|
6
6
|
</script>
|
7
7
|
|
8
|
-
<table class="layui-hide" id="
|
8
|
+
<table class="layui-hide" id="staff_filter" lay-filter="staff_filter"></table>
|
9
9
|
|
10
10
|
<script type="text/html" id="staff_bar">
|
11
11
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
table = layui.table
|
25
25
|
table.render({
|
26
|
-
elem: '#
|
26
|
+
elem: '#staff_filter',
|
27
27
|
url: '/educode_sales/staffs',
|
28
28
|
toolbar: '#staff_topbar',
|
29
29
|
defaultToolbar: [],
|
@@ -124,14 +124,14 @@
|
|
124
124
|
layer.confirm('确定禁用' + data.name, function (index) {
|
125
125
|
request.delete('educode_sales/staffs/'+ data.id + "/disable", {}, function(res) {
|
126
126
|
layer.close(index);
|
127
|
-
table.reload("
|
127
|
+
table.reload("staff_filter")
|
128
128
|
})
|
129
129
|
});
|
130
130
|
} else if (obj.event === 'delete') {
|
131
131
|
layer.confirm('确定删除' + data.name, function (index) {
|
132
132
|
request.delete('educode_sales/staffs/'+ data.id, {}, function(res) {
|
133
133
|
layer.close(index);
|
134
|
-
table.reload("
|
134
|
+
table.reload("staff_filter")
|
135
135
|
})
|
136
136
|
});
|
137
137
|
}
|
@@ -1,53 +1,134 @@
|
|
1
|
-
<
|
1
|
+
<div class="layuimini-main" style="height: 100%;">
|
2
|
+
<div class="layui-form layuimini-form" lay-filter="common_edit">
|
3
|
+
<fieldset class="table-search-fieldset">
|
4
|
+
<legend>添加课程方向</legend>
|
5
|
+
<div class="layui-form-item">
|
6
|
+
<label class="layui-form-label required" >课程名称</label>
|
7
|
+
<div class="layui-input-block">
|
8
|
+
<input type="text" name="name" autocomplete="off" class="layui-input" placeholder="请输入" required lay-verify="required">
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
<div class="layui-form-item">
|
12
|
+
<label class="layui-form-label required" >教学角色</label>
|
13
|
+
<div class="layui-input-block">
|
14
|
+
<input type="text" name="role_name" autocomplete="off" class="layui-input" placeholder="请输入" required lay-verify="required">
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
<hr>
|
18
|
+
<div class="layui-form-item">
|
19
|
+
<div class="layui-input-block">
|
20
|
+
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="add_course">确定添加</button>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</fieldset>
|
24
|
+
<h4 class="m-t-10">课程方向列表</h4>
|
25
|
+
<table class="layui-hide" id="coursesTable" lay-filter="coursesTable"></table>
|
26
|
+
</div>
|
27
|
+
</div>
|
2
28
|
|
3
|
-
<script type="text/html" id="
|
4
|
-
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit"
|
29
|
+
<script type="text/html" id="courses_bar1">
|
30
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">保存</a>
|
5
31
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
6
32
|
</script>
|
7
33
|
|
8
34
|
<script>
|
9
|
-
layui.use('element', function () {
|
10
|
-
var element = layui.element;
|
11
|
-
});
|
12
35
|
layui.use(['table', 'element'], function () {
|
13
|
-
var
|
14
|
-
|
36
|
+
var form = layui.form,
|
37
|
+
layer = layui.layer,
|
15
38
|
table = layui.table,
|
16
|
-
|
17
|
-
|
39
|
+
laytpl = layui.laytpl,
|
40
|
+
request = layui.request,
|
41
|
+
$ = layui.$;
|
42
|
+
|
43
|
+
form.render();
|
44
|
+
|
45
|
+
// 当前弹出层,防止ID被覆盖
|
46
|
+
var parentIndex = layer.index;
|
47
|
+
|
48
|
+
|
49
|
+
//监听提交
|
50
|
+
form.on('submit(add_course)', function (data) {
|
51
|
+
console.log(data.field)
|
52
|
+
request.authPost('educode_sales/teachers/'+parent.teacher_id +'/create_course', data.field, function (res) {
|
53
|
+
if (res.success == false) {
|
54
|
+
layer.alert(res.msg)
|
55
|
+
} else {
|
56
|
+
table.reload('teachers_table');
|
57
|
+
table.reload('coursesTable');
|
58
|
+
form.val('common_edit', {
|
59
|
+
'name': '',
|
60
|
+
'role_name':''
|
61
|
+
})
|
62
|
+
}
|
63
|
+
})
|
64
|
+
return false;
|
65
|
+
});
|
66
|
+
|
67
|
+
|
68
|
+
|
18
69
|
table.render({
|
19
70
|
elem: '#coursesTable',
|
71
|
+
url: '/educode_sales/teachers/' + parent.id + "/course_subject",
|
20
72
|
defaultToolbar: [],
|
21
73
|
cols: [
|
22
74
|
[
|
23
75
|
{
|
24
76
|
field: 'id',
|
77
|
+
width:100,
|
25
78
|
title: '序号'
|
26
79
|
},
|
27
80
|
{
|
28
|
-
field: '
|
29
|
-
title: '课程名称'
|
81
|
+
field: 'name',
|
82
|
+
title: '课程名称',
|
83
|
+
width:300,
|
84
|
+
edit: true
|
30
85
|
},
|
31
86
|
{
|
32
|
-
field: '
|
87
|
+
field: 'role_name',
|
33
88
|
title: '教学角色',
|
89
|
+
width:300,
|
90
|
+
edit: true
|
34
91
|
},
|
35
92
|
{
|
36
93
|
title: '操作',
|
37
|
-
toolbar: '#
|
94
|
+
toolbar: '#courses_bar1',
|
38
95
|
align: "center"
|
39
96
|
}
|
40
97
|
]
|
41
98
|
],
|
42
|
-
data: [{
|
43
|
-
"id": "1",
|
44
|
-
"username": "大数据导论",
|
45
|
-
"zhi": "主讲教师",
|
46
|
-
}],
|
47
99
|
// limits: [10, 15, 20, 25, 50, 100],
|
48
100
|
// limit: 15,
|
49
101
|
// page: true,
|
50
102
|
skin: 'line'
|
51
103
|
});
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
table.on('tool(coursesTable)', function (obj) {
|
108
|
+
var data = obj.data;
|
109
|
+
if (obj.event === 'edit') {
|
110
|
+
console.log(data);
|
111
|
+
request.authPut('educode_sales/teachers/' + data.id + '/update_course/', data,
|
112
|
+
function(res) {
|
113
|
+
if (res.success) {
|
114
|
+
table.reload('coursesTable');
|
115
|
+
} else {
|
116
|
+
layer.alert(res.msg)
|
117
|
+
}
|
118
|
+
|
119
|
+
})
|
120
|
+
} else if (obj.event === 'delete') {
|
121
|
+
console.log(data);
|
122
|
+
layer.confirm('确定删除' + data.name, function (index) {
|
123
|
+
request.delete('educode_sales/teachers/' + data.id + '/delete_course/', {}, function (res) {
|
124
|
+
layer.close(index);
|
125
|
+
table.reload("teachers_table")
|
126
|
+
table.reload('coursesTable');
|
127
|
+
})
|
128
|
+
});
|
129
|
+
}
|
130
|
+
});
|
131
|
+
|
132
|
+
|
52
133
|
});
|
53
134
|
</script>
|