educode_sales 0.8.4 → 0.8.5
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/javascripts/educode_sales/table2excel.js +2759 -0
- data/app/controllers/educode_sales/assessments_controller.rb +23 -11
- data/app/helpers/educode_sales/application_helper.rb +1 -1
- data/app/models/educode_sales/staff.rb +1 -1
- data/app/views/educode_sales/assessments/_progress.html.erb +214 -146
- data/app/views/educode_sales/assessments/_setup.html.erb +108 -34
- data/app/views/educode_sales/assessments/edit.html.erb +53 -45
- data/app/views/educode_sales/assessments/index.html.erb +16 -4
- data/app/views/educode_sales/assessments/index.json.jbuilder +17 -17
- data/app/views/educode_sales/assessments/new.html.erb +113 -114
- data/app/views/educode_sales/assessments/progress.json.jbuilder +52 -52
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +1 -1
- data/db/migrate/20220523023609_update_assessment_month_column_to_assessment_settings.rb +9 -0
- data/db/migrate/20220523101628_update_column_to_follow_ups.rb +8 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +5 -2
@@ -1,14 +1,3 @@
|
|
1
|
-
<script type="text/html" id="toolbarDemo5">
|
2
|
-
<div class="layui-btn-container">
|
3
|
-
<span class="table-label">指标完成情况</span>
|
4
|
-
<% if can?(:create, EducodeSales::AssessmentsSetting) %>
|
5
|
-
<button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right" lay-event="add" >添加人员任务指标</button>
|
6
|
-
<% end %>
|
7
|
-
</div>
|
8
|
-
</script>
|
9
|
-
|
10
|
-
|
11
|
-
|
12
1
|
<!--搜索-->
|
13
2
|
<div class="layuimini-main min-height-table">
|
14
3
|
<form class="layui-form layui-form-pane" lay-filter="search_assessments_form">
|
@@ -33,7 +22,7 @@
|
|
33
22
|
<div class="layui-inline">
|
34
23
|
<label class="layui-form-label">考核人员</label>
|
35
24
|
<div class="layui-input-inline">
|
36
|
-
<%= select_tag "staff_id", options_for_select(@staffs, params[:staff_id]), { 'lay-filter':
|
25
|
+
<%= select_tag "staff_id", options_for_select(@staffs, params[:staff_id]), { 'lay-filter':"staff_id", include_blank: true } %>
|
37
26
|
</div>
|
38
27
|
</div>
|
39
28
|
<div class="layui-inline">
|
@@ -50,6 +39,16 @@
|
|
50
39
|
|
51
40
|
|
52
41
|
|
42
|
+
<script type="text/html" id="toolbarDemo5">
|
43
|
+
<div class="layui-btn-container">
|
44
|
+
<span class="table-label">人员任务指标</span>
|
45
|
+
<% if can?(:create, EducodeSales::AssessmentsSetting) %>
|
46
|
+
<button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right" lay-event="add" >添加人员任务指标</button>
|
47
|
+
<% end %>
|
48
|
+
</div>
|
49
|
+
</script>
|
50
|
+
|
51
|
+
|
53
52
|
<table class="layui-hide" id="assessments" lay-filter="assessments"></table>
|
54
53
|
|
55
54
|
<script type="text/html" id="human_task_indicatorsTableBar">
|
@@ -85,7 +84,6 @@
|
|
85
84
|
type: 'numbers',
|
86
85
|
title: '序号',
|
87
86
|
width: 100,
|
88
|
-
sort: true,
|
89
87
|
fixed: 'left',
|
90
88
|
},
|
91
89
|
{
|
@@ -266,7 +264,7 @@
|
|
266
264
|
var content = miniPage.getHrefContent('/missions/assessments/' + id + '/edit');
|
267
265
|
var openWH = miniPage.getOpenWidthHeight();
|
268
266
|
var index = layer.open({
|
269
|
-
title: '
|
267
|
+
title: '编辑人员任务指标',
|
270
268
|
type: 1,
|
271
269
|
shade: 0.2,
|
272
270
|
maxmin: true,
|
@@ -275,8 +273,34 @@
|
|
275
273
|
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
276
274
|
content: content,
|
277
275
|
success: function (layero, index) {
|
278
|
-
form.
|
279
|
-
|
276
|
+
form.on('submit(cancel_edit_assessment)', function (data) {
|
277
|
+
console.log(data)
|
278
|
+
layer.closeAll();
|
279
|
+
});
|
280
|
+
form.verify({
|
281
|
+
data: function (value,item){
|
282
|
+
if (parseFloat(value) < 0 ){
|
283
|
+
console.log(value);
|
284
|
+
return "数据不能小于零"
|
285
|
+
}else if (parseFloat(value) > 100000000){
|
286
|
+
console.log(value);
|
287
|
+
return "数据不能大于一亿"
|
288
|
+
}
|
289
|
+
}
|
290
|
+
})
|
291
|
+
form.on('submit(edit_task_assessment)', function (data) {
|
292
|
+
data.field.id = obj.data.id;
|
293
|
+
request.authPut("missions/assessments/"+data.field.id , data.field, function (res) {
|
294
|
+
if (res.success == false) {
|
295
|
+
layer.alert(res.msg)
|
296
|
+
} else {
|
297
|
+
layer.closeAll();
|
298
|
+
table.reload("assessments");
|
299
|
+
}
|
300
|
+
})
|
301
|
+
return false;
|
302
|
+
});
|
303
|
+
},
|
280
304
|
});
|
281
305
|
$(window).on("resize", function (){
|
282
306
|
layer.full(index);
|
@@ -328,12 +352,14 @@
|
|
328
352
|
// 监听添加操作
|
329
353
|
var content = miniPage.getHrefContent('/missions/assessments/new');
|
330
354
|
var openWH = miniPage.getOpenWidthHeight();
|
355
|
+
console.log(content)
|
356
|
+
console.log(openWH)
|
331
357
|
var index = layer.open({
|
332
|
-
title: '
|
358
|
+
title: '添加人员任务指标',
|
333
359
|
type: 1,
|
334
360
|
shade: 0.2,
|
335
361
|
maxmin: true,
|
336
|
-
shadeClose: true,
|
362
|
+
shadeClose: true, //显示x按钮
|
337
363
|
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
338
364
|
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
339
365
|
content: content,
|
@@ -342,25 +368,73 @@
|
|
342
368
|
form.render('select')
|
343
369
|
// clear上次弹层中的多选人员数据 // staffs不清楚为什么要写在单独的script下才有效
|
344
370
|
staffs.setValue([])
|
371
|
+
// 重新加载 laydate.reload(0
|
372
|
+
|
373
|
+
// 写在new页面时 在有些google浏览器下无法监控到layui中的form与select控件元素 但是在其他浏览器和一些google浏览器可以使用 为了保证全部浏览器可以监控 在open层的success中写
|
374
|
+
laydate.render({
|
375
|
+
elem: '#add_assessments_year',
|
376
|
+
type: 'year',
|
377
|
+
value: <%=Time.now.year %>
|
378
|
+
});
|
379
|
+
form.on('submit(add_task_assessment)', function (data) {
|
380
|
+
console.log(data.field)
|
381
|
+
var staffs_selectArr = staffs.getValue();
|
382
|
+
if ( data.field.assessment === '0' || staffs_selectArr.length === 0 ) {
|
383
|
+
if (data.field.assessment === '0'){
|
384
|
+
alert("请选择考核指标!!!");
|
385
|
+
}else {
|
386
|
+
alert("请选择员工!!!");
|
387
|
+
}
|
388
|
+
return false;
|
389
|
+
} else {
|
390
|
+
request.authPost("missions/assessments", data.field, function (res) {
|
391
|
+
if (res.success == false) {
|
392
|
+
layer.alert(res.msg)
|
393
|
+
} else {
|
394
|
+
layer.closeAll();
|
395
|
+
layer.alert("添加成功");
|
396
|
+
table.reload("assessments");
|
397
|
+
// 重新加载后 progressTable错位
|
398
|
+
// table.reload("progressTable");
|
399
|
+
}
|
400
|
+
});
|
401
|
+
}
|
402
|
+
});
|
403
|
+
form.on('select(new_assessment_id)', function (data){
|
404
|
+
console.log(data.value)
|
405
|
+
// 默认 签单金额 回款金额
|
406
|
+
if (data.value in ["2 ","1","0"]) {
|
407
|
+
// 默认 签单金额 回款金额
|
408
|
+
$(".label1").removeClass('layui-hide')
|
409
|
+
$(".label2").addClass('layui-hide')
|
410
|
+
$(".label3").addClass('layui-hide')
|
411
|
+
} else if (data.value === "3"){
|
412
|
+
// 拜访量
|
413
|
+
$(".label1").addClass('layui-hide')
|
414
|
+
$(".label2").removeClass('layui-hide')
|
415
|
+
$(".label3").addClass('layui-hide')
|
416
|
+
}else {
|
417
|
+
// 新增商机
|
418
|
+
$(".label1").addClass('layui-hide')
|
419
|
+
$(".label2").addClass('layui-hide')
|
420
|
+
$(".label3").removeClass('layui-hide')
|
421
|
+
}
|
422
|
+
})
|
423
|
+
form.verify({
|
424
|
+
data: function (value,item){
|
425
|
+
if (parseFloat(value) < 0 ){
|
426
|
+
console.log(value);
|
427
|
+
return "数据不能小于零"
|
428
|
+
}else if (parseFloat(value) > 100000000) {
|
429
|
+
console.log(value);
|
430
|
+
return "数据不能大于一亿"
|
431
|
+
}
|
432
|
+
}
|
433
|
+
})
|
345
434
|
|
346
435
|
}
|
347
436
|
});
|
348
|
-
|
349
|
-
// document.getElementById('clear_staffs').onclick = function() {
|
350
|
-
// console.log("delete")
|
351
|
-
// staffs.setValue([ {name:'', value:''} ])
|
352
|
-
// // console.log(staffs)
|
353
|
-
// // alert(staffs.setValue([ {name:'', value:''} ]))
|
354
|
-
// // staffs.setValue([ ])
|
355
|
-
// // alert(staffs.setValue([ ]))
|
356
|
-
// clear(staffs)
|
357
|
-
// console.log("ok")
|
358
|
-
// };
|
359
|
-
|
360
|
-
// 目前不清除有什么用
|
361
|
-
// $(window).on("resize", function () {
|
362
|
-
// layer.full(index);
|
363
|
-
// });
|
437
|
+
|
364
438
|
}
|
365
439
|
});
|
366
440
|
|
@@ -10,18 +10,18 @@
|
|
10
10
|
<div class="layui-inline">
|
11
11
|
<label class="layui-form-label required">考核人员:</label>
|
12
12
|
<label class="layui-form-label"><%= @username %></label>
|
13
|
-
</div
|
13
|
+
</div>
|
14
|
+
</div>
|
14
15
|
<div class="layui-form-item" style="padding: 25px">
|
15
|
-
<div class="layui-inline"
|
16
|
+
<div class="layui-inline">
|
16
17
|
<label class="layui-form-label required ">年度:</label>
|
17
18
|
<label class="layui-form-label"><%= @year %></label>
|
18
|
-
|
19
|
+
</div>
|
19
20
|
<div class="layui-inline">
|
20
|
-
<label class="layui-form-label"
|
21
|
+
<label class="layui-form-label">目标(万):</label>
|
21
22
|
<div class="layui-input-inline">
|
22
|
-
<input type="text" class="layui-input" disabled value="<%= @assessment.annual %>" name="annual" autocomplete="off" placeholder="自动计算" id="annual" onkeyup="sum()">
|
23
|
+
<input type="text" class="layui-input layui-disabled" style="color: #0C0C0C;border:1px solid #a6aebf;" disabled value="<%= @assessment.annual %>" name="annual" autocomplete="off" placeholder="自动计算" id="annual" onkeyup="sum()">
|
23
24
|
</div>
|
24
|
-
<div class="layui-input-inline">万</div>
|
25
25
|
</div>
|
26
26
|
</div>
|
27
27
|
<div class="layui-form-item" style="padding: 25px">
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<div class="layui-input-inline">
|
31
31
|
<label class="layui-form-label ">第一季度(万)</label>
|
32
32
|
<div class="layui-input-block" style="width: 200px;">
|
33
|
-
<input type="text" name="first_quarter" value="<%= @assessment.first_quarter %>" autocomplete="off" class="layui-input" placeholder="自动计算" disabled id="quarter1" >
|
33
|
+
<input type="text" name="first_quarter" style="color: #0C0C0C;border:1px solid #a6aebf;"value="<%= @assessment.first_quarter %>" autocomplete="off" class="layui-input layui-disabled" placeholder="自动计算" disabled id="quarter1" >
|
34
34
|
</div>
|
35
35
|
</div>
|
36
36
|
|
@@ -57,7 +57,7 @@
|
|
57
57
|
<div class="layui-input-inline">
|
58
58
|
<label class="layui-form-label ">第二季度(万)</label>
|
59
59
|
<div class="layui-input-block" style="width: 200px;">
|
60
|
-
<input type="text" name="second_quarter"
|
60
|
+
<input type="text" name="second_quarter" style="color: #0C0C0C;border:1px solid #a6aebf;" value="<%= @assessment.second_quarter %>" autocomplete="off" class="layui-input layui-disabled" placeholder="自动计算" disabled id="quarter2">
|
61
61
|
</div>
|
62
62
|
</div>
|
63
63
|
<div class="layui-input-inline">
|
@@ -83,7 +83,7 @@
|
|
83
83
|
<div class="layui-input-inline">
|
84
84
|
<label class="layui-form-label ">第三季度(万)</label>
|
85
85
|
<div class="layui-input-block" style="width: 200px;">
|
86
|
-
<input type="text" name="third_quarter"
|
86
|
+
<input type="text" name="third_quarter" style="color: #0C0C0C;border:1px solid #a6aebf;" value="<%= @assessment.third_quarter %>" autocomplete="off" class="layui-input layui-disabled" placeholder="自动计算" disabled id="quarter3">
|
87
87
|
</div>
|
88
88
|
</div>
|
89
89
|
<div class="layui-input-inline">
|
@@ -109,7 +109,7 @@
|
|
109
109
|
<div class="layui-input-inline">
|
110
110
|
<label class="layui-form-label ">第四季度(万)</label>
|
111
111
|
<div class="layui-input-block" style="width: 200px;">
|
112
|
-
<input type="text" name="fourth_quarter"
|
112
|
+
<input type="text" name="fourth_quarter" style="color: #0C0C0C;border:1px solid #a6aebf;" value="<%= @assessment.fourth_quarter %>" autocomplete="off" class="layui-input layui-disabled" placeholder="自动计算" disabled id="quarter4">
|
113
113
|
</div>
|
114
114
|
</div>
|
115
115
|
<div class="layui-input-inline">
|
@@ -161,37 +161,40 @@
|
|
161
161
|
|
162
162
|
|
163
163
|
// 自定义校验数据
|
164
|
-
form.verify({
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
164
|
+
// form.verify({
|
165
|
+
// data: function (value,item){
|
166
|
+
// if (parseFloat(value) < 0 ){
|
167
|
+
// console.log(value);
|
168
|
+
// return "数据不能小于零"
|
169
|
+
// }else if (parseFloat(value) > 100000000){
|
170
|
+
// console.log(value);
|
171
|
+
// return "数据不能大于一亿"
|
172
|
+
// }
|
173
|
+
// }
|
174
|
+
// })
|
175
|
+
|
176
|
+
<!-- form.on('submit(edit_task_assessment)', function (data) {-->
|
177
|
+
<!-- console.log("okokokookokokokokook");-->
|
178
|
+
<!-- console.log(data);-->
|
179
|
+
<!-- data.field.id = <%#= @assessment.id %>; -->
|
180
|
+
<!-- request.authPut("missions/assessments/"+<%#= @assessment.id %> , data.field, function (res) {-->
|
181
|
+
<!-- if (res.success == false) {-->
|
182
|
+
<!-- layer.alert(res.msg)-->
|
183
|
+
<!-- } else {-->
|
184
|
+
<!-- layer.closeAll();-->
|
185
|
+
<!-- table.reload("assessments");-->
|
186
|
+
<!-- table.reload("progressTable");-->
|
187
|
+
<!-- }-->
|
188
|
+
<!-- })-->
|
189
|
+
<!-- return false;-->
|
190
|
+
<!-- });-->
|
188
191
|
|
189
192
|
// que xiao
|
190
|
-
form.on('submit(cancel_edit_assessment)', function (data) {
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
});
|
193
|
+
// form.on('submit(cancel_edit_assessment)', function (data) {
|
194
|
+
// console.log(data)
|
195
|
+
// layer.closeAll();
|
196
|
+
// return false;
|
197
|
+
// });
|
195
198
|
});
|
196
199
|
</script>
|
197
200
|
|
@@ -221,11 +224,16 @@
|
|
221
224
|
if ( month10 === ""){ month10 = 0 ;}
|
222
225
|
if ( month11 === ""){ month11 = 0 ;}
|
223
226
|
if ( month12 === ""){ month12 = 0 ;}
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
227
|
+
var quarter1 = parseFloat(month1)+parseFloat(month2)+parseFloat(month3)
|
228
|
+
var quarter2 = parseFloat(month4)+parseFloat(month5)+parseFloat(month6)
|
229
|
+
var quarter3 = parseFloat(month7)+parseFloat(month8)+parseFloat(month9)
|
230
|
+
var quarter4 = parseFloat(month10)+parseFloat(month11)+parseFloat(month12)
|
231
|
+
var annual = parseFloat(month1)+parseFloat(month2)+parseFloat(month3)+parseFloat(month4)+
|
232
|
+
parseFloat(month5)+parseFloat(month6)+parseFloat(month7)+parseFloat(month8)+parseFloat(month9)+parseFloat(month10)+parseFloat(month11)+parseFloat(month12)
|
233
|
+
document.getElementById('quarter1').value = quarter1.toFixed(2)
|
234
|
+
document.getElementById('quarter2').value = quarter2.toFixed(2)
|
235
|
+
document.getElementById('quarter3').value = quarter3.toFixed(2)
|
236
|
+
document.getElementById('quarter4').value = quarter4.toFixed(2)
|
237
|
+
document.getElementById('annual').value = annual.toFixed(2)
|
230
238
|
}
|
231
239
|
</script>
|
@@ -10,14 +10,26 @@
|
|
10
10
|
<div class="layuimini-main min-height-table"></div>
|
11
11
|
<div class="layui-tab-content">
|
12
12
|
<%if can?(:show_result, EducodeSales::AssessmentsSetting) %>
|
13
|
-
<div class="layui-tab-item
|
13
|
+
<div class="layui-tab-item layui-show">
|
14
14
|
<%= render 'progress' %>
|
15
15
|
</div>
|
16
|
+
<!-- else 语句没有执行(可能是写法错了 先解决问题 以后在重写)-->
|
17
|
+
<%# else %>
|
18
|
+
<!-- <script>-->
|
19
|
+
<!-- $("#is_layui_show").addClass('layui-show');-->
|
20
|
+
<!-- </script>-->
|
16
21
|
<%end %>
|
17
22
|
<% if can?(:show, EducodeSales::AssessmentsSetting)%>
|
18
|
-
|
19
|
-
|
20
|
-
|
23
|
+
<%if can?(:show_result, EducodeSales::AssessmentsSetting) %>
|
24
|
+
<div class="layui-tab-item " id="is_layui_show" >
|
25
|
+
<%= render 'setup' %>
|
26
|
+
</div>
|
27
|
+
<%end %>
|
28
|
+
<%unless can?(:show_result, EducodeSales::AssessmentsSetting) %>
|
29
|
+
<div class="layui-tab-item layui-show" >
|
30
|
+
<%= render 'setup' %>
|
31
|
+
</div>
|
32
|
+
<%end %>
|
21
33
|
<%end %>
|
22
34
|
</div>
|
23
35
|
</div>
|
@@ -2,23 +2,23 @@ json.data do
|
|
2
2
|
json.array! @assessments do |d|
|
3
3
|
json.id d.id
|
4
4
|
json.username d.staff_id.present? ? d.staff.user.real_name : ""
|
5
|
-
json.annual d.annual
|
6
|
-
json.first_quarter d.first_quarter
|
7
|
-
json.january d.january
|
8
|
-
json.february d.february
|
9
|
-
json.march d.march
|
10
|
-
json.second_quarter d.second_quarter
|
11
|
-
json.april d.april
|
12
|
-
json.may d.may
|
13
|
-
json.june d.june
|
14
|
-
json.third_quarter d.third_quarter
|
15
|
-
json.july d.july
|
16
|
-
json.august d.august
|
17
|
-
json.september d.september
|
18
|
-
json.fourth_quarter d.fourth_quarter
|
19
|
-
json.october d.october
|
20
|
-
json.november d.november
|
21
|
-
json.december d.december
|
5
|
+
json.annual d.annual.to_f.round(2)
|
6
|
+
json.first_quarter d.first_quarter.to_f.round(2)
|
7
|
+
json.january d.january.to_f.round(2)
|
8
|
+
json.february d.february.to_f.round(2)
|
9
|
+
json.march d.march.to_f.round(2)
|
10
|
+
json.second_quarter d.second_quarter.to_f.round(2)
|
11
|
+
json.april d.april.to_f.round(2)
|
12
|
+
json.may d.may.to_f.round(2)
|
13
|
+
json.june d.june.to_f.round(2)
|
14
|
+
json.third_quarter d.third_quarter.to_f.round(2)
|
15
|
+
json.july d.july.to_f.round(2)
|
16
|
+
json.august d.august.to_f.round(2)
|
17
|
+
json.september d.september.to_f.round(2)
|
18
|
+
json.fourth_quarter d.fourth_quarter.to_f.round(2)
|
19
|
+
json.october d.october.to_f.round(2)
|
20
|
+
json.november d.november.to_f.round(2)
|
21
|
+
json.december d.december.to_f.round(2)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|