educode_sales 0.5.3 → 0.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/educode_sales/businesses_controller.rb +3 -0
- data/app/controllers/educode_sales/follow_ups_controller.rb +57 -0
- data/app/controllers/educode_sales/home_controller.rb +11 -0
- data/app/controllers/educode_sales/sale_trends_controller.rb +108 -84
- data/app/controllers/educode_sales/teachers_controller.rb +36 -14
- data/app/controllers/educode_sales/upload_files_controller.rb +3 -3
- data/app/models/educode_sales/teacher.rb +2 -1
- data/app/models/educode_sales/teacher_assign_follow.rb +6 -0
- data/app/views/educode_sales/activities/index.html.erb +4 -5
- data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
- data/app/views/educode_sales/businesses/_follows.html.erb +233 -0
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +59 -9
- data/app/views/educode_sales/businesses/file.html.erb +2 -4
- data/app/views/educode_sales/businesses/index.html.erb +137 -62
- data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +58 -7
- data/app/views/educode_sales/businesses/show_follow.html.erb +9 -9
- data/app/views/educode_sales/businesses/show_follow_record.html.erb +1 -1
- data/app/views/educode_sales/businesses/time_line.html.erb +1 -1
- data/app/views/educode_sales/follow_ups/index.json.jbuilder +19 -0
- data/app/views/educode_sales/home/sales_place.json.jbuilder +9 -0
- data/app/views/educode_sales/places/index.html.erb +14 -4
- data/app/views/educode_sales/places/index.json.jbuilder +7 -1
- data/app/views/educode_sales/recycles/index.html.erb +1 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +56 -20
- data/app/views/educode_sales/sales/operations.html.erb +3 -1
- data/app/views/educode_sales/teachers/course_list.json.jbuilder +1 -1
- data/app/views/educode_sales/teachers/edit.html.erb +53 -7
- data/app/views/educode_sales/teachers/index.html.erb +36 -2
- data/app/views/educode_sales/teachers/index.json.jbuilder +4 -1
- data/app/views/educode_sales/teachers/new.html.erb +55 -17
- data/config/routes.rb +1 -0
- data/db/migrate/20211201023750_create_educode_sales_teacher_assign_follows.rb +11 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +7 -2
@@ -83,14 +83,14 @@
|
|
83
83
|
</div>
|
84
84
|
</div>
|
85
85
|
<br>
|
86
|
-
<div class="layui-inline">
|
86
|
+
<div class="layui-inline new_place_select">
|
87
87
|
<label class="layui-form-label">渠道</label>
|
88
|
-
<div class="layui-input-inline">
|
89
|
-
|
88
|
+
<div class="layui-input-inline" style="z-index: 101">
|
89
|
+
<div id="place" style="width: 190px;"></div>
|
90
90
|
</div>
|
91
91
|
</div>
|
92
92
|
<div class="layui-inline">
|
93
|
-
<label class="layui-form-label"
|
93
|
+
<label class="layui-form-label">渠道分成(万)</label>
|
94
94
|
<div class="layui-input-inline">
|
95
95
|
<input name="divide_amount" class="layui-input" value="<%= @last_follow_up&.divide_amount%>">
|
96
96
|
</div>
|
@@ -182,18 +182,63 @@
|
|
182
182
|
})
|
183
183
|
}
|
184
184
|
})
|
185
|
+
var place_list = xmSelect.render({
|
186
|
+
el: '#place',
|
187
|
+
remoteSearch: true,
|
188
|
+
model: {
|
189
|
+
icon: 'hidden',
|
190
|
+
label: {
|
191
|
+
type: 'text',
|
192
|
+
text: {
|
193
|
+
//左边拼接的字符
|
194
|
+
left: '',
|
195
|
+
//右边拼接的字符
|
196
|
+
right: '',
|
197
|
+
//中间的分隔符
|
198
|
+
separator: ', ',
|
199
|
+
},
|
200
|
+
}
|
201
|
+
},
|
202
|
+
clickClose: true,
|
203
|
+
delay: 1000,
|
204
|
+
paging: true,
|
205
|
+
radio: true,
|
206
|
+
pageRemote: true,
|
207
|
+
filterable: true,
|
208
|
+
remoteMethod: function (val, cb, show, pageIndex) {
|
209
|
+
$.ajax( '/missions/sales_place', {
|
210
|
+
method: 'get',
|
211
|
+
data: {
|
212
|
+
q: val,
|
213
|
+
page: pageIndex
|
214
|
+
},
|
215
|
+
dataType: 'json',
|
216
|
+
success: function (res) {
|
217
|
+
var data = res.data;
|
218
|
+
if (res.code == 0) {
|
219
|
+
cb(res.data, res.count);
|
220
|
+
} else {
|
221
|
+
layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
|
222
|
+
}
|
223
|
+
|
224
|
+
}
|
225
|
+
})
|
226
|
+
}
|
227
|
+
})
|
185
228
|
|
186
229
|
sales_list.setValue(gon.sales);
|
230
|
+
place_list.setValue(gon.place);
|
187
231
|
form.render();
|
188
232
|
|
189
233
|
form.on('submit(add_follow_up)', function (data) {
|
190
|
-
|
234
|
+
var assign_follow = [];
|
191
235
|
sales_list.getValue().forEach(function(d) {
|
192
236
|
assign_follow.push(d.value);
|
193
237
|
})
|
194
238
|
data.field.assign_follow_up = assign_follow;
|
195
239
|
data.field.business_id = "<%= @business.id %>";
|
196
|
-
|
240
|
+
data.field.place_id = place_list.getValue('valueStr');
|
241
|
+
request.authPost("missions/follow_ups", data.field, function (res) {
|
197
242
|
if (res.success == false) {
|
198
243
|
layer.alert(res.msg)
|
199
244
|
} else {
|
@@ -201,6 +246,7 @@
|
|
201
246
|
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
202
247
|
parent.table.reload('sale_plan_follow_table')
|
203
248
|
parent.table.reload('businesses_table')
|
249
|
+
parent.table.reload('teachers_table')
|
204
250
|
}
|
205
251
|
})
|
206
252
|
|
@@ -209,4 +255,9 @@
|
|
209
255
|
});
|
210
256
|
|
211
257
|
});
|
212
|
-
</script>
|
258
|
+
</script>
|
259
|
+
<style>
|
260
|
+
.new_place_select xm-select > .xm-body{
|
261
|
+
width: 300px; !important;
|
262
|
+
}
|
263
|
+
</style>
|
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
table.render({
|
76
76
|
elem: '#sale_plan_follow_table',
|
77
|
-
url: '/missions/businesses/show_follow?id=' + parent.
|
77
|
+
url: '/missions/businesses/show_follow?id=' + parent.business_id ,
|
78
78
|
toolbar: '#toolbarDemo_follow',
|
79
79
|
defaultToolbar: ['filter'],
|
80
80
|
cols: [
|
@@ -198,7 +198,7 @@
|
|
198
198
|
table.on('toolbar(sale_plan_follow_table)', function (obj) {
|
199
199
|
if (obj.event === 'add') { // 监听添加操作
|
200
200
|
business_id = parent.business_id
|
201
|
-
var content = miniPage.getHrefContent('/missions/businesses/new_follow_record?id=' + parent.
|
201
|
+
var content = miniPage.getHrefContent('/missions/businesses/new_follow_record?id=' + parent.business_id);
|
202
202
|
var openWH = miniPage.getOpenWidthHeight();
|
203
203
|
sale_plan_index = layer.open({
|
204
204
|
title: '添加商机跟进记录',
|
@@ -220,7 +220,7 @@
|
|
220
220
|
layer.closeAll()
|
221
221
|
business_id = parent.business_id
|
222
222
|
business_name = parent.business_name
|
223
|
-
var content = miniPage.getHrefContent('/missions/businesses/time_line?business_id=' +
|
223
|
+
var content = miniPage.getHrefContent('/missions/businesses/time_line?business_id=' + parent.business_id);
|
224
224
|
var openWH = miniPage.getOpenWidthHeight();
|
225
225
|
sindex = layer.open({
|
226
226
|
title: '商机列表/'+ parent.business_name +'的跟进时间线',
|
@@ -248,6 +248,7 @@
|
|
248
248
|
layer.close(index);
|
249
249
|
table.reload("businesses_table");
|
250
250
|
table.reload("sale_plan_follow_table");
|
251
|
+
table.reload('teachers_table')
|
251
252
|
})
|
252
253
|
});
|
253
254
|
} else if (obj.event === 'show') { // 监听添加操作
|
@@ -335,34 +336,33 @@
|
|
335
336
|
// 未完成计划
|
336
337
|
table.render({
|
337
338
|
elem: '#unfinish_table',
|
338
|
-
url: '/missions/businesses/' + parent.
|
339
|
+
url: '/missions/businesses/' + parent.business_id + "/unfinish_plans",
|
339
340
|
toolbar: '#unfinish_table_tabar',
|
340
341
|
defaultToolbar: [],
|
341
342
|
cols: [
|
342
343
|
[
|
343
344
|
{
|
344
345
|
field: 'id',
|
345
|
-
width:
|
346
|
+
width: 60,
|
346
347
|
title:'序号',type: 'numbers',
|
347
348
|
},
|
348
349
|
{
|
349
350
|
field: 'staff',
|
350
|
-
width:
|
351
|
+
width: 100,
|
351
352
|
title: '姓名'
|
352
353
|
},
|
353
354
|
{
|
354
355
|
field: 'month',
|
355
|
-
width:
|
356
|
+
width: 100,
|
356
357
|
title: '月份',
|
357
358
|
},
|
358
359
|
{
|
359
360
|
field: 'weekly',
|
360
|
-
width:
|
361
|
+
width: 100,
|
361
362
|
title: '周次'
|
362
363
|
},
|
363
364
|
{
|
364
365
|
field: 'content',
|
365
|
-
width: 300,
|
366
366
|
title: '计划内容'
|
367
367
|
},
|
368
368
|
{
|
@@ -43,7 +43,7 @@
|
|
43
43
|
function demo(){
|
44
44
|
layer.closeAll()
|
45
45
|
business_id = parent.business_id
|
46
|
-
var content = miniPage.getHrefContent('/missions/businesses/show_follow?id=' +
|
46
|
+
var content = miniPage.getHrefContent('/missions/businesses/show_follow?id=' + parent.business_id);
|
47
47
|
var openWH = miniPage.getOpenWidthHeight();
|
48
48
|
sindex = layer.open({
|
49
49
|
title: '商机列表/'+ parent.business_name +'的跟进记录',
|
@@ -0,0 +1,19 @@
|
|
1
|
+
json.data do
|
2
|
+
json.array! @follow_ups do |d|
|
3
|
+
json.id d.id
|
4
|
+
json.clazz d.clazz.name
|
5
|
+
json.stage d.stage.name
|
6
|
+
json.staff d.staff.user.real_name
|
7
|
+
json.description d.description
|
8
|
+
json.advise d.advise
|
9
|
+
json.created_at d.created_at.to_s
|
10
|
+
json.business d.business.name
|
11
|
+
json.business_id d.business.id
|
12
|
+
teacher_ids = d.key_person.pluck(:teacher_id)
|
13
|
+
json.key_people EducodeSales::Teacher.where(id: teacher_ids).pluck(:name).join('、')
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
json.code 0
|
19
|
+
json.count @follow_ups.total_count
|
@@ -17,6 +17,11 @@
|
|
17
17
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
18
18
|
<% end %>
|
19
19
|
</script>
|
20
|
+
<script type="text/html" id="business_a">
|
21
|
+
<div class="layui-text">
|
22
|
+
<a href="/missions/businesses?place_id={{d.id}}">{{d.businesses_count}}</a>
|
23
|
+
</div>
|
24
|
+
</script>
|
20
25
|
|
21
26
|
<script type="text/html" id="showchance">
|
22
27
|
<a href="/missions/businesses" class="layui-table-link">{{ d.chance }}</a>
|
@@ -56,20 +61,25 @@
|
|
56
61
|
{
|
57
62
|
field: 'businesses_count',
|
58
63
|
width: 120,
|
59
|
-
totalRow:
|
60
|
-
|
64
|
+
totalRow: true,
|
65
|
+
sort: true,
|
66
|
+
title: '商机',
|
67
|
+
templet: "#business_a",
|
68
|
+
|
61
69
|
},
|
62
70
|
{
|
63
71
|
field: 'amount',
|
64
72
|
width: 120,
|
65
73
|
totalRow:true,
|
66
|
-
|
74
|
+
sort: true,
|
75
|
+
title: '中标金额'
|
67
76
|
},
|
68
77
|
{
|
69
78
|
field: 'return_mount',
|
70
79
|
width: 120,
|
71
80
|
totalRow:true,
|
72
|
-
|
81
|
+
sort: true,
|
82
|
+
title: '回款金额',
|
73
83
|
},
|
74
84
|
{
|
75
85
|
title: '操作',
|
@@ -1,3 +1,4 @@
|
|
1
|
+
all_businesses_count = 0
|
1
2
|
area_ids = EducodeSales::Common.where(clazz: 'area').ids.sort.to_s
|
2
3
|
json.data do
|
3
4
|
json.array! @places do |d|
|
@@ -13,11 +14,16 @@ json.data do
|
|
13
14
|
else
|
14
15
|
json.area_id ''
|
15
16
|
end
|
16
|
-
|
17
|
+
business_count = EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", @x).where("educode_sales_follow_ups.place_id = #{d.id}").count
|
18
|
+
json.businesses_count business_count
|
19
|
+
all_businesses_count += business_count
|
17
20
|
json.amount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", @x).where("educode_sales_follow_ups.place_id = #{d.id} AND educode_sales_follow_ups.stage_id IN (?)", @stage_ids).sum(:profit_amount).round(2)
|
18
21
|
json.return_mount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", @x).where("educode_sales_follow_ups.place_id = #{d.id}").sum(:return_money).round(2)
|
19
22
|
end
|
20
23
|
end
|
21
24
|
|
25
|
+
json.totalRow do
|
26
|
+
json.businesses_count all_businesses_count.to_s
|
27
|
+
end
|
22
28
|
json.code 0
|
23
29
|
json.count @places.total_count
|
@@ -101,7 +101,7 @@
|
|
101
101
|
<div class="panel layui-bg-number">
|
102
102
|
<div class="panel-body">
|
103
103
|
<div class="panel-title">
|
104
|
-
<h5
|
104
|
+
<h5>已中标(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
105
105
|
</div>
|
106
106
|
<div class="panel-content y-t-10">
|
107
107
|
<h1 class="no-margins"><%= @goal_amount %>万</h1>
|
@@ -114,7 +114,7 @@
|
|
114
114
|
<div class="panel layui-bg-number">
|
115
115
|
<div class="panel-body">
|
116
116
|
<div class="panel-title">
|
117
|
-
<h5
|
117
|
+
<h5>已签单(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
118
118
|
</div>
|
119
119
|
<div class="panel-content y-t-10">
|
120
120
|
<h1 class="no-margins"><%= @service_amount %>万</h1>
|
@@ -148,6 +148,32 @@
|
|
148
148
|
</div>
|
149
149
|
</div>
|
150
150
|
</div>
|
151
|
+
<div class="layui-col-xs3">
|
152
|
+
<div class="panel layui-bg-number">
|
153
|
+
<div class="panel-body">
|
154
|
+
<div class="panel-title">
|
155
|
+
<h5>已中标(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
156
|
+
</div>
|
157
|
+
<div class="panel-content y-t-10">
|
158
|
+
<h1 class="no-margins"><%= @actual_goal_amount %>万</h1>
|
159
|
+
</div>
|
160
|
+
</div>
|
161
|
+
</div>
|
162
|
+
</div>
|
163
|
+
|
164
|
+
<div class="layui-col-xs3">
|
165
|
+
<div class="panel layui-bg-number">
|
166
|
+
<div class="panel-body">
|
167
|
+
<div class="panel-title">
|
168
|
+
<h5>已签单(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
169
|
+
</div>
|
170
|
+
<div class="panel-content y-t-10">
|
171
|
+
<h1 class="no-margins"><%= @actual_service_amount %>万</h1>
|
172
|
+
</div>
|
173
|
+
</div>
|
174
|
+
</div>
|
175
|
+
</div>
|
176
|
+
|
151
177
|
<div class="layui-row layui-col-space30" >
|
152
178
|
<div class="layui-col-xs3">
|
153
179
|
<div class="panel layui-bg-number">
|
@@ -181,7 +207,7 @@
|
|
181
207
|
<div class="layui-inline m-t-10">
|
182
208
|
<label class="layui-form-label">视图</label>
|
183
209
|
<div class="layui-input-inline">
|
184
|
-
<%= select_tag "follow_count_range", options_for_select([['按天','day'],['按月','month'],['按年','year']],params[:follow_count_range]), {'lay-filter': 'follow_count'}%>
|
210
|
+
<%= select_tag "follow_count_range", options_for_select([['按天','day'],['按周','week'],['按月','month'],['按年','year']],params[:follow_count_range] || 'week'), {'lay-filter': 'follow_count'}%>
|
185
211
|
</div>
|
186
212
|
</div>
|
187
213
|
<div class="layui-inline">
|
@@ -189,7 +215,8 @@
|
|
189
215
|
<div class="layui-input-inline">
|
190
216
|
<input type="text" class="layui-input month layui-hide" id="date_month" name="date_month" placeholder=" - " value="<%=params[:date_month] %>" >
|
191
217
|
<input type="text" class="layui-input year layui-hide" id="date_year" name="date_year" placeholder=" - " value="<%=params[:date_year] %>">
|
192
|
-
<input type="text" class="layui-input
|
218
|
+
<input type="text" class="layui-input week " id="date_week" name="date_week" placeholder=" - " value="<%=params[:date_week].present? ? params[:date_week] : (Time.now - 30.days).beginning_of_week.to_s(:date) + ' - ' + Time.now.end_of_week.to_s(:date) %>">
|
219
|
+
<input type="text" class="layui-input day layui-hide" id="date" name="date" placeholder=" - " value="<%=params[:date] %>">
|
193
220
|
</div>
|
194
221
|
</div>
|
195
222
|
<div class="layui-inline">
|
@@ -214,6 +241,12 @@
|
|
214
241
|
<div style="margin: 10px 10px 10px 10px">
|
215
242
|
<form class="layui-form layui-form-pane" lay-filter="search_form">
|
216
243
|
<div class="layui-form-item">
|
244
|
+
<div class="layui-inline m-t-10">
|
245
|
+
<label class="layui-form-label">维度</label>
|
246
|
+
<div class="layui-input-inline">
|
247
|
+
<%= select_tag "count_type", options_for_select([['按合同额统计','actual_amount'],['按总额统计','total_amount']],params[:count_type]), {'lay-filter': 'count_type'}%>
|
248
|
+
</div>
|
249
|
+
</div>
|
217
250
|
<div class="layui-inline m-t-10">
|
218
251
|
<label class="layui-form-label">视图</label>
|
219
252
|
<div class="layui-input-inline">
|
@@ -223,7 +256,7 @@
|
|
223
256
|
<div class="layui-inline">
|
224
257
|
<label class="layui-form-label">时间范围</label>
|
225
258
|
<div class="layui-input-inline">
|
226
|
-
<input type="text" class="layui-input goal_month " id="goal_date_month" name="goal_date_month" placeholder=" - " value="<%=params[:goal_date_month] %>">
|
259
|
+
<input type="text" class="layui-input goal_month " id="goal_date_month" name="goal_date_month" placeholder=" - " value="<%=params[:goal_date_month].present? ? params[:goal_date_month] : Time.now.year.to_s + "-01" + " - " + Time.now.strftime("%Y-%m") %>">
|
227
260
|
<input type="text" class="layui-input goal_year layui-hide" id="goal_date_year" name="goal_date_year" placeholder=" - " value="<%=params[:goal_date_year] %>">
|
228
261
|
</div>
|
229
262
|
</div>
|
@@ -264,27 +297,34 @@
|
|
264
297
|
$(document).ready(function () {
|
265
298
|
$(".follow_count_bt").click(function () {
|
266
299
|
layer.msg("图表绘制中...", {
|
267
|
-
time: 0, //不自动关闭
|
268
300
|
offset:['40%','46%']
|
269
301
|
})
|
270
302
|
layer.load(0, {});
|
271
303
|
setTimeout(function () {
|
272
304
|
layer.closeAll('loading');
|
273
|
-
},
|
305
|
+
}, 3000);
|
274
306
|
});
|
275
307
|
});
|
276
308
|
if(follow_type == "day"){
|
277
309
|
$(".year").addClass('layui-hide')
|
278
310
|
$(".month").addClass('layui-hide')
|
311
|
+
$(".week").addClass('layui-hide')
|
279
312
|
$(".day").removeClass('layui-hide')
|
280
313
|
}else if(follow_type == "month"){
|
281
314
|
$(".year").addClass('layui-hide')
|
315
|
+
$(".week").addClass('layui-hide')
|
282
316
|
$(".month").removeClass('layui-hide')
|
283
317
|
$(".day").addClass('layui-hide')
|
318
|
+
}else if(follow_type == "week"){
|
319
|
+
$(".year").addClass('layui-hide')
|
320
|
+
$(".day").addClass('layui-hide')
|
321
|
+
$(".week").removeClass('layui-hide')
|
322
|
+
$(".month").addClass('layui-hide')
|
284
323
|
}else {
|
285
324
|
$(".year").removeClass('layui-hide')
|
286
325
|
$(".month").addClass('layui-hide')
|
287
326
|
$(".day").addClass('layui-hide')
|
327
|
+
$(".week").addClass('layui-hide')
|
288
328
|
}
|
289
329
|
|
290
330
|
if(goal_type == "year"){
|
@@ -328,43 +368,30 @@
|
|
328
368
|
// 时间选择器
|
329
369
|
laydate.render({
|
330
370
|
elem: '#date',
|
331
|
-
min: -15
|
332
|
-
,max: 0,
|
333
371
|
range: true
|
334
372
|
});
|
335
373
|
laydate.render({
|
336
|
-
type: 'week',
|
337
374
|
elem: '#date_week',
|
338
|
-
min: -90
|
339
|
-
,max: 0,
|
340
375
|
range: true
|
341
376
|
});
|
342
377
|
laydate.render({
|
343
378
|
type: 'month',
|
344
379
|
elem: '#date_month',
|
345
|
-
min: -365
|
346
|
-
,max: 0,
|
347
380
|
range: true
|
348
381
|
});
|
349
382
|
laydate.render({
|
350
383
|
type: 'year',
|
351
384
|
elem: '#date_year',
|
352
|
-
min: -3660
|
353
|
-
,max: 0,
|
354
385
|
range: true
|
355
386
|
});
|
356
387
|
laydate.render({
|
357
388
|
type: 'year',
|
358
389
|
elem: '#goal_date_year',
|
359
|
-
min: -3660
|
360
|
-
,max: 0,
|
361
390
|
range: true
|
362
391
|
});
|
363
392
|
laydate.render({
|
364
393
|
type: 'month',
|
365
394
|
elem: '#goal_date_month',
|
366
|
-
min: -365
|
367
|
-
,max: 0,
|
368
395
|
range: true
|
369
396
|
});
|
370
397
|
|
@@ -380,15 +407,24 @@
|
|
380
407
|
if(value == "month"){
|
381
408
|
$(".year").addClass('layui-hide')
|
382
409
|
$(".day").addClass('layui-hide')
|
410
|
+
$(".week").addClass('layui-hide')
|
383
411
|
$(".month").removeClass('layui-hide')
|
384
412
|
}else if(value == "year"){
|
385
413
|
$(".month").addClass('layui-hide')
|
386
414
|
$(".day").addClass('layui-hide')
|
415
|
+
$(".week").addClass('layui-hide')
|
387
416
|
$(".year").removeClass('layui-hide')
|
417
|
+
}else if(value == "week"){
|
418
|
+
$(".month").addClass('layui-hide')
|
419
|
+
$(".day").addClass('layui-hide')
|
420
|
+
$(".week").removeClass('layui-hide')
|
421
|
+
$(".year").addClass('layui-hide')
|
388
422
|
}else {
|
389
423
|
$(".month").addClass('layui-hide')
|
390
424
|
$(".year").addClass('layui-hide')
|
391
425
|
$(".day").removeClass('layui-hide')
|
426
|
+
$(".week").addClass('layui-hide')
|
427
|
+
|
392
428
|
}
|
393
429
|
})
|
394
430
|
|
@@ -51,13 +51,15 @@
|
|
51
51
|
title: '跟进学校',
|
52
52
|
templet: "#school",
|
53
53
|
totalRow:true,
|
54
|
+
sort: true,
|
54
55
|
width: 120
|
55
56
|
}, {
|
56
57
|
field: 'departments',
|
57
58
|
title: '跟进二级学院',
|
58
59
|
templet: "#xschool",
|
59
60
|
totalRow:true,
|
60
|
-
|
61
|
+
sort: true,
|
62
|
+
width: 170
|
61
63
|
},
|
62
64
|
]
|
63
65
|
],
|
@@ -9,36 +9,48 @@
|
|
9
9
|
</div>
|
10
10
|
</div>
|
11
11
|
<div class="layui-inline">
|
12
|
-
<label class="layui-form-label
|
12
|
+
<label class="layui-form-label ">职称</label>
|
13
13
|
<div class="layui-input-block">
|
14
14
|
<%= select_tag "professional_title", options_for_select(['教授', '研究员', '副教授', '副研究员', '讲师', '助理研究员', '助理教授'], @teacher.professional_title), { include_blank: true } %>
|
15
15
|
</div>
|
16
16
|
</div>
|
17
17
|
<br>
|
18
18
|
<div class="layui-inline">
|
19
|
-
<label class="layui-form-label
|
19
|
+
<label class="layui-form-label ">职务</label>
|
20
20
|
<div class="layui-input-block">
|
21
|
-
<input type="text" name="job" autocomplete="off"
|
21
|
+
<input type="text" name="job" autocomplete="off"
|
22
22
|
class="layui-input" placeholder="请输入" value="<%= @teacher.job %>">
|
23
23
|
</div>
|
24
24
|
</div>
|
25
25
|
<div class="layui-inline">
|
26
|
-
<label class="layui-form-label
|
26
|
+
<label class="layui-form-label ">来源</label>
|
27
27
|
<div class="layui-input-block">
|
28
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>
|
32
|
+
<div class="layui-inline">
|
33
|
+
<label class="layui-form-label ">微信号</label>
|
34
|
+
<div class="layui-input-block">
|
35
|
+
<input type="text" name="wechat" autocomplete="off"
|
36
|
+
class="layui-input" placeholder="请输入" value="<%= @teacher.wechat %>">
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<br>
|
32
40
|
<div class="layui-inline">
|
33
41
|
<label class="layui-form-label required">单位部门</label>
|
34
42
|
<div class="layui-input-block" id="add_department2" style="width: 400px"></div>
|
35
|
-
<!-- <input type="text" name="edit_school" autocomplete="off" lay-verify="required"-->
|
36
|
-
<!-- class="layui-input" placeholder="请输入" value="<%#= Department.find_by(id: @teacher.department_id).name %>-<%#= School.find_by(id: Department.find_by(id: @teacher.department_id).school_id).name %>">-->
|
37
43
|
</div>
|
38
44
|
<br>
|
45
|
+
<div class="layui-form-item">
|
46
|
+
<label class="layui-form-label">教研助理</label>
|
47
|
+
<div class="layui-input-inline">
|
48
|
+
<div id="edit_teacher_assist" style="width: 400px;"></div>
|
49
|
+
</div>
|
50
|
+
</div>
|
39
51
|
<div class="layui-inline">
|
40
52
|
<label class="layui-form-label">平台账号</label>
|
41
|
-
<div class="layui-input-block" id="user_search" style="width:
|
53
|
+
<div class="layui-input-block" id="user_search" style="width: 400px;"></div>
|
42
54
|
</div>
|
43
55
|
<div class="layui-form-item m-t-20">
|
44
56
|
<div class="layui-input-block">
|
@@ -60,6 +72,35 @@
|
|
60
72
|
|
61
73
|
form.render();
|
62
74
|
|
75
|
+
var edit_teacher_assist_list = xmSelect.render({
|
76
|
+
el: '#edit_teacher_assist',
|
77
|
+
remoteSearch: true,
|
78
|
+
clickClose: true,
|
79
|
+
delay: 1000,
|
80
|
+
paging: true,
|
81
|
+
pageRemote: true,
|
82
|
+
filterable: true,
|
83
|
+
remoteMethod: function (val, cb, show, pageIndex) {
|
84
|
+
$.ajax( '/missions/sales_staff?teacher_assist=true', {
|
85
|
+
method: 'get',
|
86
|
+
data: {
|
87
|
+
q: val,
|
88
|
+
page: pageIndex
|
89
|
+
},
|
90
|
+
dataType: 'json',
|
91
|
+
success: function (res) {
|
92
|
+
var data = res.data;
|
93
|
+
if (res.code == 0) {
|
94
|
+
cb(res.data, res.count);
|
95
|
+
} else {
|
96
|
+
layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
|
97
|
+
}
|
98
|
+
}
|
99
|
+
})
|
100
|
+
}
|
101
|
+
})
|
102
|
+
edit_teacher_assist_list.setValue(gon.teacher_assist)
|
103
|
+
|
63
104
|
var add_department = selectInput.render({
|
64
105
|
elem: '#add_department2',
|
65
106
|
name: 'department', // 渲染的input的name值
|
@@ -125,6 +166,11 @@
|
|
125
166
|
if (department_id == '') {
|
126
167
|
return layer.alert("请选择单位部门")
|
127
168
|
}
|
169
|
+
var assign_follow = [];
|
170
|
+
edit_teacher_assist_list.getValue().forEach(function(d) {
|
171
|
+
assign_follow.push(d.value);
|
172
|
+
})
|
173
|
+
data.field.teacher_assist = assign_follow;
|
128
174
|
data.field.department_id = department_id;
|
129
175
|
data.field.user_id = user_id;
|
130
176
|
request.authPut("missions/teachers/"+ parent.id, data.field, function (res) {
|