educode_sales 0.9.45 → 0.9.46
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/customers_controller.rb +39 -0
- data/app/views/educode_sales/customers/edit_department.html.erb +118 -0
- data/app/views/educode_sales/customers/majors.json.jbuilder +10 -0
- data/app/views/educode_sales/customers/new_major.html.erb +40 -0
- data/app/views/educode_sales/customers/show_department.json.jbuilder +1 -0
- data/app/views/educode_sales/customers/show_follow.html.erb +6 -1
- data/config/routes.rb +5 -0
- data/db/migrate/20230215141612_add_mobile_to_teachers.rb +5 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7444b7d61d8ff5a5677b765e4d0580a49a3b425de52ffec51e0f4bce62b5d125
|
4
|
+
data.tar.gz: 2752a018874ad957014ceff871ee1ef7cb77d8ea0300c0da9a1112344c579d51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a4e87f3e97aa8604d7656e36e044943129e6ee19414bc5a2ba2d6d5d1f8150797d9a0cd0e254693f74535cde2d1f9aa9eb27027cdb2f6dfae548c3bd1276435
|
7
|
+
data.tar.gz: 05c6ce1070251dd40fb903ef901517228ebaddaa7690d84ac94f141768e6c065c0c31b7785d0eea71dc9aacba98ff548fb699b6a595a5877056c9b2a308c84d4
|
@@ -33,6 +33,25 @@ module EducodeSales
|
|
33
33
|
render_success
|
34
34
|
end
|
35
35
|
|
36
|
+
def majors
|
37
|
+
department = Department.find(params[:id])
|
38
|
+
@majors = department.department_majors
|
39
|
+
end
|
40
|
+
|
41
|
+
def major
|
42
|
+
department = Department.find(params[:id])
|
43
|
+
major = department.department_majors.new(name: params[:name])
|
44
|
+
if major.save
|
45
|
+
render_success
|
46
|
+
else
|
47
|
+
render_failure major
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def new_major
|
52
|
+
render layout: false
|
53
|
+
end
|
54
|
+
|
36
55
|
def index
|
37
56
|
authorize! :read, Customer
|
38
57
|
respond_to do |format|
|
@@ -137,6 +156,26 @@ module EducodeSales
|
|
137
156
|
end
|
138
157
|
end
|
139
158
|
|
159
|
+
def update_major
|
160
|
+
department = Department.find(params[:id])
|
161
|
+
major = department.department_majors.find(params[:major_id])
|
162
|
+
if major.update(name: params[:name])
|
163
|
+
render_success
|
164
|
+
else
|
165
|
+
render_failure major
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
def delete_major
|
170
|
+
department = Department.find(params[:id])
|
171
|
+
major = department.department_majors.find(params[:major_id])
|
172
|
+
if major.destroy
|
173
|
+
render_success
|
174
|
+
else
|
175
|
+
render_failure major
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
140
179
|
def give
|
141
180
|
common = Common.find_by(clazz: 'staff_type', name: '销售')
|
142
181
|
@staffs = Staff.joins(:user).where(job_type: common.id).map { |d| [d.user.real_name, d.id] }
|
@@ -16,7 +16,24 @@
|
|
16
16
|
</div>
|
17
17
|
</div>
|
18
18
|
</form>
|
19
|
+
<div>
|
20
|
+
<table class="layui-hide" id="major_table" lay-filter="major_table"></table>
|
21
|
+
</div>
|
19
22
|
</div>
|
23
|
+
<script type="text/html" id="add_major">
|
24
|
+
<div class="layui-btn-container">
|
25
|
+
<span class="table-label">专业列表</span>
|
26
|
+
<% if can? :create_department, EducodeSales::Customer %>
|
27
|
+
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add">添加专业</button>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</script>
|
31
|
+
<script type="text/html" id="tab_major">
|
32
|
+
<% if can? :update_department, EducodeSales::Customer %>
|
33
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
34
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs layui-btn-danger data-count-delete" lay-event="del">删除</a>
|
35
|
+
<% end %>
|
36
|
+
</script>
|
20
37
|
|
21
38
|
<script>
|
22
39
|
|
@@ -50,5 +67,106 @@
|
|
50
67
|
})
|
51
68
|
return false;
|
52
69
|
});
|
70
|
+
|
71
|
+
table.render({
|
72
|
+
elem: '#major_table',
|
73
|
+
url: '/missions/customers/majors?id=' + parent.department_id ,
|
74
|
+
toolbar: '#add_major',
|
75
|
+
defaultToolbar: [],
|
76
|
+
cols: [
|
77
|
+
[
|
78
|
+
{
|
79
|
+
field: 'id',
|
80
|
+
width: 100,
|
81
|
+
title:'序号',type: 'numbers',
|
82
|
+
},
|
83
|
+
{
|
84
|
+
field: 'name',
|
85
|
+
title: '专业',
|
86
|
+
},
|
87
|
+
{
|
88
|
+
title: '操作',
|
89
|
+
width: 190,
|
90
|
+
toolbar: '#tab_major',
|
91
|
+
align: "center",
|
92
|
+
fixed: 'right'
|
93
|
+
}
|
94
|
+
]
|
95
|
+
],
|
96
|
+
});
|
97
|
+
|
98
|
+
table.on('toolbar(major_table)', function (obj) {
|
99
|
+
if (obj.event === 'add') {
|
100
|
+
department_id = parent.department_id;
|
101
|
+
var content = miniPage.getHrefContent('/missions/customers/new_major?id=' + parent.department_id);
|
102
|
+
var openWH = miniPage.getOpenWidthHeight();
|
103
|
+
new_major_index = layer.open({
|
104
|
+
title: '添加专业',
|
105
|
+
type: 1,
|
106
|
+
shade: 0.2,
|
107
|
+
maxmin: true,
|
108
|
+
shadeClose: true,
|
109
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
110
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
111
|
+
content: content,
|
112
|
+
success: function (layero, index) {
|
113
|
+
form.render('select');
|
114
|
+
}
|
115
|
+
});
|
116
|
+
$(window).on("resize", function () {
|
117
|
+
layer.full(index);
|
118
|
+
});
|
119
|
+
}
|
53
120
|
});
|
121
|
+
table.on('tool(major_table)', function (obj) {
|
122
|
+
if (obj.event == 'edit') {
|
123
|
+
var index = layer.open({
|
124
|
+
title: '修改专业名称',
|
125
|
+
closeBtn: 0,
|
126
|
+
type: 1,
|
127
|
+
area: '400px;',
|
128
|
+
id: 'LAY_layuipro',
|
129
|
+
content: '<div class="layui-form" lay-filter="edit_data" style="padding: 20px;"><input autocomplete="off" type="text" name="name" lay-verify="required" class="layui-input" value="' + obj.data.name +'"/></div>' ,
|
130
|
+
btn: ['保存', '取消'],
|
131
|
+
btn1: function(index, l) {
|
132
|
+
if (l.find("input").val().trim() == '') {
|
133
|
+
layer.msg('名称不能为空')
|
134
|
+
return false;
|
135
|
+
} else {
|
136
|
+
request.authPut("missions/customers/" + parent.department_id + "/update_major", {name: l.find("input").val().trim(), major_id: obj.data.id}, function(res) {
|
137
|
+
if (res.success == false) {
|
138
|
+
layer.alert(res.msg);
|
139
|
+
} else {
|
140
|
+
table.reload('major_table');
|
141
|
+
parent.table.reload('sale_plan_follow_table');
|
142
|
+
layer.close(index);
|
143
|
+
}
|
144
|
+
})
|
145
|
+
}
|
146
|
+
|
147
|
+
return false
|
148
|
+
},
|
149
|
+
btn2: function(index, l) {
|
150
|
+
layer.close(index)
|
151
|
+
}
|
152
|
+
});
|
153
|
+
} else if (obj.event == 'del') {
|
154
|
+
var index = layer.open({
|
155
|
+
content: '确定删除该专业 ' + obj.data.name + ' 吗',
|
156
|
+
yes: function(index, layero){
|
157
|
+
request.authDelete("missions/customers/" + parent.department_id + "/delete_major?major_id=" + obj.data.id, {}, function(res) {
|
158
|
+
if (res.success == false) {
|
159
|
+
layer.alert(res.msg)
|
160
|
+
} else {
|
161
|
+
table.reload('major_table');
|
162
|
+
parent.table.reload('sale_plan_follow_table');
|
163
|
+
layer.close(index);
|
164
|
+
}
|
165
|
+
})
|
166
|
+
}
|
167
|
+
});
|
168
|
+
}
|
169
|
+
})
|
170
|
+
|
171
|
+
});
|
54
172
|
</script>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<div class="layuimini-main">
|
2
|
+
<form class="layui-form layuimini-form">
|
3
|
+
<div class="layui-form-item" style="padding: 25px">
|
4
|
+
<div class="layui-form-item" style="padding: 25px">
|
5
|
+
<div class="layui-inline">
|
6
|
+
<label class="layui-form-label required">专业名称</label>
|
7
|
+
<div class="layui-input-block" style="width: 300px;">
|
8
|
+
<input type="text" name="name" required lay-verify="required" autocomplete="off" placeholder="请输入" class="layui-input" >
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<div class="layui-form-item" style="padding-left: 130px">
|
13
|
+
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="add_major_btn">提交</button>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</form>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<script>
|
20
|
+
layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
|
21
|
+
var form = layui.form,
|
22
|
+
request = layui.request,
|
23
|
+
$ = layui.$;
|
24
|
+
|
25
|
+
form.on('submit(add_major_btn)', function (data) {
|
26
|
+
data.field.school_id = parent.school_id
|
27
|
+
request.authPost("missions/customers/"+ parent.department_id +"/major", data.field, function (res) {
|
28
|
+
if (res.success === false) {
|
29
|
+
layer.alert(res.msg)
|
30
|
+
} else {
|
31
|
+
layer.close(parent.new_department_index); //关闭所有层
|
32
|
+
parent.table.reload('major_table');
|
33
|
+
parent.table.reload('sale_plan_follow_table');
|
34
|
+
layer.close(parent.new_major_index);
|
35
|
+
}
|
36
|
+
})
|
37
|
+
return false;
|
38
|
+
});
|
39
|
+
});
|
40
|
+
</script>
|
@@ -51,6 +51,11 @@
|
|
51
51
|
{
|
52
52
|
field: 'department',
|
53
53
|
title: '学院/部门',
|
54
|
+
width: 200,
|
55
|
+
},
|
56
|
+
{
|
57
|
+
field: 'department_major',
|
58
|
+
title: '专业',
|
54
59
|
},
|
55
60
|
{
|
56
61
|
title: '操作',
|
@@ -131,7 +136,7 @@
|
|
131
136
|
layer.full(index);
|
132
137
|
});
|
133
138
|
} else if (obj.event === 'edit') {
|
134
|
-
department_id = obj.data.id
|
139
|
+
department_id = obj.data.id;
|
135
140
|
content = miniPage.getHrefContent('/missions/customers/edit_department?id='+ obj.data.id);
|
136
141
|
openWH = miniPage.getOpenWidthHeight();
|
137
142
|
edit_index1 = layer.open({
|
data/config/routes.rb
CHANGED
@@ -38,6 +38,8 @@ EducodeSales::Engine.routes.draw do
|
|
38
38
|
get :edit_department
|
39
39
|
get :give
|
40
40
|
post :batch_update_school_tags
|
41
|
+
get :majors
|
42
|
+
get :new_major
|
41
43
|
end
|
42
44
|
|
43
45
|
member do
|
@@ -45,6 +47,9 @@ EducodeSales::Engine.routes.draw do
|
|
45
47
|
put :update_follow_up
|
46
48
|
post :create_department
|
47
49
|
put :update_department
|
50
|
+
post :major
|
51
|
+
put :update_major
|
52
|
+
delete :delete_major
|
48
53
|
end
|
49
54
|
end
|
50
55
|
|
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.9.
|
4
|
+
version: 0.9.46
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-02-
|
11
|
+
date: 2023-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -274,9 +274,11 @@ files:
|
|
274
274
|
- app/views/educode_sales/customers/give.html.erb
|
275
275
|
- app/views/educode_sales/customers/index.html.erb
|
276
276
|
- app/views/educode_sales/customers/index.json.jbuilder
|
277
|
+
- app/views/educode_sales/customers/majors.json.jbuilder
|
277
278
|
- app/views/educode_sales/customers/new.html.erb
|
278
279
|
- app/views/educode_sales/customers/new_department.html.erb
|
279
280
|
- app/views/educode_sales/customers/new_follow_record.html.erb
|
281
|
+
- app/views/educode_sales/customers/new_major.html.erb
|
280
282
|
- app/views/educode_sales/customers/show_department.json.jbuilder
|
281
283
|
- app/views/educode_sales/customers/show_follow.html.erb
|
282
284
|
- app/views/educode_sales/customers/show_follow.json.jbuilder
|
@@ -493,6 +495,7 @@ files:
|
|
493
495
|
- db/migrate/20230117144025_create_educode_sales_business_clazz_changes.rb
|
494
496
|
- db/migrate/20230206080303_create_educode_sales_staff_school_tags.rb
|
495
497
|
- db/migrate/20230209102302_create_educode_sales_staff_permissions.rb
|
498
|
+
- db/migrate/20230215141612_add_mobile_to_teachers.rb
|
496
499
|
- lib/educode_sales.rb
|
497
500
|
- lib/educode_sales/engine.rb
|
498
501
|
- lib/educode_sales/version.rb
|