educode_sales 1.10.58 → 1.10.59
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/images/educode_sales/indexlogo.png +0 -0
- data/app/controllers/educode_sales/plans_controller.rb +392 -9
- data/app/models/educode_sales/permission.rb +7 -0
- data/app/models/educode_sales/sales_target_history.rb +11 -0
- data/app/views/educode_sales/plans/_year_execute.html.erb +293 -0
- data/app/views/educode_sales/plans/_year_target.html.erb +677 -0
- data/app/views/educode_sales/plans/index.html.erb +104 -81
- data/app/views/educode_sales/plans/year_execute.js.erb +1 -0
- data/app/views/educode_sales/plans/year_target.js.erb +1 -0
- data/app/views/educode_sales/plans/year_target.json.jbuilder +48 -0
- data/app/views/educode_sales/plans/years_all_target.json.jbuilder +53 -0
- data/app/views/layouts/educode_sales/application.html.erb +1 -1
- data/config/routes.rb +7 -2
- data/db/migrate/20230729085359_create_educode_sales_sales_target_histories.rb +45 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +14 -7
- data/app/views/educode_sales/plans/_target_track.html.erb +0 -178
- data/app/views/educode_sales/plans/target_track.js.erb +0 -1
@@ -1,99 +1,122 @@
|
|
1
1
|
<div class="layui-tab" lay-filter="sale_tab">
|
2
2
|
<ul class="layui-tab-title">
|
3
|
-
<li
|
4
|
-
<li data="weekly">周报</li
|
5
|
-
<li data="month">月计划</li
|
6
|
-
<li data="monthly">月报</li
|
7
|
-
<li data="year">年计划</li
|
8
|
-
|
3
|
+
<!-- <li data="week">周计划</li>-->
|
4
|
+
<!-- <li data="weekly">周报</li>-->
|
5
|
+
<!-- <li data="month">月计划</li>-->
|
6
|
+
<!-- <li data="monthly">月报</li>-->
|
7
|
+
<!-- <li data="year">年计划</li>-->
|
8
|
+
<li class="layui-this" data="year_execute">年度执行</li>
|
9
|
+
<li data="year_plan">年度目标</li>
|
9
10
|
</ul>
|
10
11
|
<div class="layui-tab-content">
|
11
|
-
<div class="layui-tab-item layui-show"
|
12
|
-
|
12
|
+
<!-- <div class="layui-tab-item layui-show">-->
|
13
|
+
<%#= render 'weekPlan' %>
|
14
|
+
<!-- </div>-->
|
15
|
+
<!-- <div class="layui-tab-item">-->
|
16
|
+
<!-- <div id="weekly_tab_wraper"></div>-->
|
17
|
+
<!-- </div>-->
|
18
|
+
<!-- <div class="layui-tab-item ">-->
|
19
|
+
<!-- <div id="month_plan_tab_wraper"></div>-->
|
20
|
+
<!-- </div>-->
|
21
|
+
<!-- <div class="layui-tab-item">-->
|
22
|
+
<!-- <div id="monthly_tab_wraper"></div>-->
|
23
|
+
<!-- </div>-->
|
24
|
+
<!-- <div class="layui-tab-item">-->
|
25
|
+
<!-- <div id="year_plan_tab_wraper"></div>-->
|
26
|
+
<!-- </div>-->
|
27
|
+
<div class="layui-tab-item layui-show" id="year_execute_tab">
|
13
28
|
</div>
|
14
|
-
<div class="layui-tab-item">
|
15
|
-
<div id="weekly_tab_wraper"></div>
|
16
|
-
</div>
|
17
|
-
<div class="layui-tab-item ">
|
18
|
-
<div id="month_plan_tab_wraper"></div>
|
19
|
-
</div>
|
20
|
-
<div class="layui-tab-item">
|
21
|
-
<div id="monthly_tab_wraper"></div>
|
22
|
-
</div>
|
23
|
-
<div class="layui-tab-item">
|
24
|
-
<div id="year_plan_tab_wraper"></div>
|
25
|
-
</div>
|
26
|
-
<div class="layui-tab-item" id="target_track_tab">
|
29
|
+
<div class="layui-tab-item " id="year_target_tab">
|
27
30
|
</div>
|
28
31
|
</div>
|
29
32
|
</div>
|
30
33
|
|
31
34
|
<script>
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
// })
|
35
|
+
layui.use(['element', 'table', 'jquery'], function () {
|
36
|
+
var $ = layui.jquery,
|
37
|
+
table = layui.table,
|
38
|
+
element = layui.element;
|
39
|
+
// element.on('tab(sale_tab)', function (data) {
|
40
|
+
// var status = $(this).attr('data')
|
41
|
+
// switch (status) {
|
42
|
+
// case 'week':
|
43
|
+
// $("#week_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
|
44
|
+
// $("#week_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
|
45
|
+
// break;
|
46
|
+
// case 'weekly':
|
47
|
+
// $("#sales_weelky_table .layui-table-fixed-r")[0].classList.remove('layui-hide');
|
48
|
+
// $("#sales_weelky_table .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
|
49
|
+
// break;
|
50
|
+
// ;
|
51
|
+
// case 'monthly':
|
52
|
+
// $("#monthly_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
|
53
|
+
// $("#monthly_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
|
54
|
+
// break;
|
55
|
+
// case 'month':
|
56
|
+
// $("#month_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
|
57
|
+
// $("#month_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
|
58
|
+
// break;
|
59
|
+
// case 'year':
|
60
|
+
// $("#year_table_wraper .layui-table-fixed-r")[0].classList.remove('layui-hide');
|
61
|
+
// $("#year_table_wraper .layui-table-fixed-r .layui-table-body")[0].style.height="auto";
|
62
|
+
// break;
|
63
|
+
// }
|
64
64
|
|
65
65
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
66
|
+
// })
|
67
|
+
loadPage('/missions/plans/year_execute')
|
68
|
+
element.render();
|
69
|
+
element.on('tab(sale_tab)', function (data) {
|
70
|
+
if (data.index === 0 && $("#year_execute_wraper").length == 0) {
|
71
|
+
loadPage('/missions/plans/year_execute')
|
72
|
+
} else if (data.index === 1 && $("#year_target_wraper").length == 0) {
|
73
|
+
loadPage('/missions/plans/year_target')
|
74
|
+
}
|
75
|
+
});
|
76
|
+
/*
|
77
|
+
element.on('tab(sale_tab)', function (data) {
|
78
|
+
if (data.index == 1 && $("#sales_weelky_table").length == 0) {
|
79
|
+
loadPage('/missions/plans/weekly')
|
80
|
+
} else if (data.index == 2 && $("#month_table_wraper").length == 0) {
|
81
|
+
loadPage('/missions/plans/month_plan')
|
82
|
+
} else if (data.index == 3 && $("#monthly_table_wraper").length == 0) {
|
83
|
+
loadPage('/missions/plans/monthly')
|
84
|
+
} else if (data.index == 4 && $("#year_table_wraper").length == 0) {
|
85
|
+
loadPage('/missions/plans/year_plan')
|
86
|
+
} else if (data.index == 5 && $("#year_execute_wraper").length == 0) {
|
87
|
+
loadPage('/missions/plans/year_execute')
|
88
|
+
} else if (data.index == 6 && $("#year_target_wraper").length == 0) {
|
89
|
+
loadPage('/missions/plans/year_target')
|
90
|
+
}
|
91
|
+
});
|
92
|
+
*/
|
80
93
|
|
81
94
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
95
|
+
function loadPage(url) {
|
96
|
+
var layer_index = layer.load(0, {shade: [0.1, '#fff']});
|
97
|
+
Rails.ajax({
|
98
|
+
url: url,
|
99
|
+
type: 'GET',
|
100
|
+
dataType: "script",
|
101
|
+
success: function (res) {
|
102
|
+
layer.close(layer_index);
|
103
|
+
}
|
104
|
+
});
|
90
105
|
}
|
91
|
-
|
92
|
-
|
93
|
-
})
|
94
|
-
</script>
|
106
|
+
})
|
107
|
+
</script>
|
95
108
|
<style>
|
96
|
-
.layui-table-tool-temp{
|
97
|
-
padding-right: 30px;
|
109
|
+
.layui-table-tool-temp {
|
110
|
+
padding-right: 30px;
|
111
|
+
!important;
|
112
|
+
}
|
113
|
+
|
114
|
+
.layui-table-view .layui-table td[data-edit] .layui-table-cell {
|
115
|
+
background: #e4fad2;
|
116
|
+
}
|
117
|
+
|
118
|
+
.mtarget {
|
119
|
+
color: #46d1db;
|
120
|
+
font-weight: bold;
|
98
121
|
}
|
99
122
|
</style>
|
@@ -0,0 +1 @@
|
|
1
|
+
$("#year_execute_tab").html("<%= j render 'year_execute' %>");
|
@@ -0,0 +1 @@
|
|
1
|
+
$("#year_target_tab").html("<%= j render 'year_target' %>");
|
@@ -0,0 +1,48 @@
|
|
1
|
+
json.data do
|
2
|
+
json.array! @data do |d|
|
3
|
+
json.id d.id
|
4
|
+
json.num d.num
|
5
|
+
json.is_use d.is_use
|
6
|
+
json.staff d.staff.user.real_name
|
7
|
+
json.staff_id d.staff_id
|
8
|
+
json.school_tag d.school_tag.name
|
9
|
+
json.school_tag_id d.school_tag_id
|
10
|
+
json.year d.year
|
11
|
+
json.target_clazz d.target_clazz
|
12
|
+
json.year_target d.year_target
|
13
|
+
json.year_finish d.year_finish
|
14
|
+
json.year_diff d.year_diff
|
15
|
+
json.reviewer d.reviewer&.user&.real_name
|
16
|
+
json.comment d.comment
|
17
|
+
json.state d.state
|
18
|
+
json.target_1 d.target_1
|
19
|
+
json.m_target_1 d.m_target_1
|
20
|
+
json.target_2 d.target_2
|
21
|
+
json.m_target_2 d.m_target_2
|
22
|
+
json.target_3 d.target_3
|
23
|
+
json.m_target_3 d.m_target_3
|
24
|
+
json.target_4 d.target_4
|
25
|
+
json.m_target_4 d.m_target_4
|
26
|
+
json.target_5 d.target_5
|
27
|
+
json.m_target_5 d.m_target_5
|
28
|
+
json.target_6 d.target_6
|
29
|
+
json.m_target_6 d.m_target_6
|
30
|
+
json.target_7 d.target_7
|
31
|
+
json.m_target_7 d.m_target_7
|
32
|
+
json.target_8 d.target_8
|
33
|
+
json.m_target_8 d.m_target_8
|
34
|
+
json.target_9 d.target_9
|
35
|
+
json.m_target_9 d.m_target_9
|
36
|
+
json.target_10 d.target_10
|
37
|
+
json.m_target_10 d.m_target_10
|
38
|
+
json.target_11 d.target_11
|
39
|
+
json.m_target_11 d.m_target_11
|
40
|
+
json.target_12 d.target_12
|
41
|
+
json.m_target_12 d.m_target_12
|
42
|
+
json.updated_at d.updated_at.to_s(:date)
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
json.code 0
|
48
|
+
json.count @data.total_count
|
@@ -0,0 +1,53 @@
|
|
1
|
+
json.data do
|
2
|
+
json.array! @data do |item|
|
3
|
+
json.id item['id']
|
4
|
+
json.name item['name']
|
5
|
+
json.school_tag_id item['school_tag_id']
|
6
|
+
json.school_tag_name item['school_tag_name']
|
7
|
+
json.target_clazz item['target_clazz']
|
8
|
+
json.target_1 item['target_1'].present? ? item['target_1'].round(2) : 0
|
9
|
+
json.target_2 item['target_2'].present? ? item['target_2'].round(2) : 0
|
10
|
+
json.target_3 item['target_3'].present? ? item['target_3'].round(2) : 0
|
11
|
+
json.target_4 item['target_4'].present? ? item['target_4'].round(2) : 0
|
12
|
+
json.target_5 item['target_5'].present? ? item['target_5'].round(2) : 0
|
13
|
+
json.target_6 item['target_6'].present? ? item['target_6'].round(2) : 0
|
14
|
+
json.target_7 item['target_7'].present? ? item['target_7'].round(2) : 0
|
15
|
+
json.target_8 item['target_8'].present? ? item['target_8'].round(2) : 0
|
16
|
+
json.target_9 item['target_9'].present? ? item['target_9'].round(2) : 0
|
17
|
+
json.target_10 item['target_10'].present? ? item['target_10'].round(2) : 0
|
18
|
+
json.target_11 item['target_11'].present? ? item['target_11'].round(2) : 0
|
19
|
+
json.target_12 item['target_12'].present? ? item['target_12'].round(2) : 0
|
20
|
+
json.finish_1 item['finish_1'].present? ? item['finish_1'].round(2) : 0
|
21
|
+
json.finish_2 item['finish_2'].present? ? item['finish_2'].round(2) : 0
|
22
|
+
json.finish_3 item['finish_3'].present? ? item['finish_3'].round(2) : 0
|
23
|
+
json.finish_4 item['finish_4'].present? ? item['finish_4'].round(2) : 0
|
24
|
+
json.finish_5 item['finish_5'].present? ? item['finish_5'].round(2) : 0
|
25
|
+
json.finish_6 item['finish_6'].present? ? item['finish_6'].round(2) : 0
|
26
|
+
json.finish_7 item['finish_7'].present? ? item['finish_7'].round(2) : 0
|
27
|
+
json.finish_8 item['finish_8'].present? ? item['finish_8'].round(2) : 0
|
28
|
+
json.finish_9 item['finish_9'].present? ? item['finish_9'].round(2) : 0
|
29
|
+
json.finish_10 item['finish_10'].present? ? item['finish_10'].round(2) : 0
|
30
|
+
json.finish_11 item['finish_11'].present? ? item['finish_11'].round(2) : 0
|
31
|
+
json.finish_12 item['finish_12'].present? ? item['finish_12'].round(2) : 0
|
32
|
+
json.plan_1 item['plan_1'].present? ? item['plan_1'].round(2) : 0
|
33
|
+
json.plan_2 item['plan_2'].present? ? item['plan_2'].round(2) : 0
|
34
|
+
json.plan_3 item['plan_3'].present? ? item['plan_3'].round(2) : 0
|
35
|
+
json.plan_4 item['plan_4'].present? ? item['plan_4'].round(2) : 0
|
36
|
+
json.plan_5 item['plan_5'].present? ? item['plan_5'].round(2) : 0
|
37
|
+
json.plan_6 item['plan_6'].present? ? item['plan_6'].round(2) : 0
|
38
|
+
json.plan_7 item['plan_7'].present? ? item['plan_7'].round(2) : 0
|
39
|
+
json.plan_8 item['plan_8'].present? ? item['plan_8'].round(2) : 0
|
40
|
+
json.plan_9 item['plan_9'].present? ? item['plan_9'].round(2) : 0
|
41
|
+
json.plan_10 item['plan_10'].present? ? item['plan_10'].round(2) : 0
|
42
|
+
json.plan_11 item['plan_11'].present? ? item['plan_11'].round(2) : 0
|
43
|
+
json.plan_12 item['plan_12'].present? ? item['plan_12'].round(2) : 0
|
44
|
+
json.year_target 0
|
45
|
+
json.year_clazz_target (item['target_1'].present? ? item['target_1'].round(2) : 0)+(item['target_2'].present? ? item['target_2'].round(2) : 0)+(item['target_3'].present? ? item['target_3'].round(2) : 0)+(item['target_4'].present? ? item['target_4'].round(2) : 0)+(item['target_5'].present? ? item['target_5'].round(2) : 0)+(item['target_6'].present? ? item['target_6'].round(2) : 0)+(item['target_7'].present? ? item['target_7'].round(2) : 0)+(item['target_8'].present? ? item['target_8'].round(2) : 0)+(item['target_9'].present? ? item['target_9'].round(2) : 0)+(item['target_10'].present? ? item['target_10'].round(2) : 0)+(item['target_11'].present? ? item['target_11'].round(2) : 0)+(item['target_12'].present? ? item['target_12'].round(2) : 0)
|
46
|
+
json.year_plan (item['plan_1'].present? ? item['plan_1'].round(2) : 0)+(item['plan_2'].present? ? item['plan_2'].round(2) : 0)+(item['plan_3'].present? ? item['plan_3'].round(2) : 0)+(item['plan_4'].present? ? item['plan_4'].round(2) : 0)+(item['plan_5'].present? ? item['plan_5'].round(2) : 0)+(item['plan_6'].present? ? item['plan_6'].round(2) : 0)+(item['plan_7'].present? ? item['plan_7'].round(2) : 0)+(item['plan_8'].present? ? item['plan_8'].round(2) : 0)+(item['plan_9'].present? ? item['plan_9'].round(2) : 0)+(item['plan_10'].present? ? item['plan_10'].round(2) : 0)+(item['plan_11'].present? ? item['plan_11'].round(2) : 0)+(item['plan_12'].present? ? item['plan_12'].round(2) : 0)
|
47
|
+
json.year_finish (item['finish_1'].present? ? item['finish_1'].round(2) : 0)+(item['finish_2'].present? ? item['finish_2'].round(2) : 0)+(item['finish_3'].present? ? item['finish_3'].round(2) : 0)+(item['finish_4'].present? ? item['finish_4'].round(2) : 0)+(item['finish_5'].present? ? item['finish_5'].round(2) : 0)+(item['finish_6'].present? ? item['finish_6'].round(2) : 0)+(item['finish_7'].present? ? item['finish_7'].round(2) : 0)+(item['finish_8'].present? ? item['finish_8'].round(2) : 0)+(item['finish_9'].present? ? item['finish_9'].round(2) : 0)+(item['finish_10'].present? ? item['finish_10'].round(2) : 0)+(item['finish_11'].present? ? item['finish_11'].round(2) : 0)+(item['finish_12'].present? ? item['finish_12'].round(2) : 0)
|
48
|
+
json.year_diff ((item['plan_1'].present? ? item['plan_1'].round(2) : 0)+(item['plan_2'].present? ? item['plan_2'].round(2) : 0)+(item['plan_3'].present? ? item['plan_3'].round(2) : 0)+(item['plan_4'].present? ? item['plan_4'].round(2) : 0)+(item['plan_5'].present? ? item['plan_5'].round(2) : 0)+(item['plan_6'].present? ? item['plan_6'].round(2) : 0)+(item['plan_7'].present? ? item['plan_7'].round(2) : 0)+(item['plan_8'].present? ? item['plan_8'].round(2) : 0)+(item['plan_9'].present? ? item['plan_9'].round(2) : 0)+(item['plan_10'].present? ? item['plan_10'].round(2) : 0)+(item['plan_11'].present? ? item['plan_11'].round(2) : 0)+(item['plan_12'].present? ? item['plan_12'].round(2) : 0)) - ((item['finish_1'].present? ? item['finish_1'].round(2) : 0)+(item['finish_2'].present? ? item['finish_2'].round(2) : 0)+(item['finish_3'].present? ? item['finish_3'].round(2) : 0)+(item['finish_4'].present? ? item['finish_4'].round(2) : 0)+(item['finish_5'].present? ? item['finish_5'].round(2) : 0)+(item['finish_6'].present? ? item['finish_6'].round(2) : 0)+(item['finish_7'].present? ? item['finish_7'].round(2) : 0)+(item['finish_8'].present? ? item['finish_8'].round(2) : 0)+(item['finish_9'].present? ? item['finish_9'].round(2) : 0)+(item['finish_10'].present? ? item['finish_10'].round(2) : 0)+(item['finish_11'].present? ? item['finish_11'].round(2) : 0)+(item['finish_12'].present? ? item['finish_12'].round(2) : 0))
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
json.code 0
|
53
|
+
json.count @total_count
|
@@ -104,7 +104,7 @@
|
|
104
104
|
<%= image_tag "educode_sales/5.渠道管理.png",size:"15"%>
|
105
105
|
<i style="font-size: 25px; padding-right: 15px"></i>渠道管理</a></dd>
|
106
106
|
<% end %>
|
107
|
-
<% if can? :
|
107
|
+
<% if can? :new_index, EducodeSales::SalePlan %>
|
108
108
|
<dd><a href="/missions/plans" class="<%= current?('layui-this', plans_path) %>">
|
109
109
|
<i style="padding-right: 35px"></i>
|
110
110
|
<%= image_tag "educode_sales/6.销售计划.png",size:"15"%>
|
data/config/routes.rb
CHANGED
@@ -39,7 +39,7 @@ EducodeSales::Engine.routes.draw do
|
|
39
39
|
get :sales_details
|
40
40
|
end
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
resources :sales_details do
|
44
44
|
collection do
|
45
45
|
post :upload
|
@@ -267,10 +267,15 @@ EducodeSales::Engine.routes.draw do
|
|
267
267
|
get :month_plan
|
268
268
|
get :monthly
|
269
269
|
get :year_plan
|
270
|
-
get :
|
270
|
+
get :year_execute
|
271
|
+
get :year_target
|
272
|
+
get :years_all_target
|
273
|
+
post :cal_finish_amount
|
274
|
+
post :add_year_target
|
271
275
|
end
|
272
276
|
member do
|
273
277
|
delete :delete_business_info
|
278
|
+
put :update_year_target
|
274
279
|
end
|
275
280
|
end
|
276
281
|
|
@@ -0,0 +1,45 @@
|
|
1
|
+
class CreateEducodeSalesSalesTargetHistories < ActiveRecord::Migration[5.2]
|
2
|
+
def change
|
3
|
+
create_table :educode_sales_sales_target_histories do |t|
|
4
|
+
t.references :staff
|
5
|
+
t.string :target_clazz, comment: '目标类别'
|
6
|
+
t.integer :school_tag_id, comment: '客户类别'
|
7
|
+
t.integer :num, comment: '序号'
|
8
|
+
t.string :state, comment: '审核状态'
|
9
|
+
t.float :year_target, comment: '年度目标', :limit => 53
|
10
|
+
t.float :year_finish, comment: '年度完成', :limit => 53
|
11
|
+
t.string :year, comment: '年份'
|
12
|
+
t.float :year_diff, comment: '年度差额', :limit => 53
|
13
|
+
t.references :reviewer, comment: '审核人员'
|
14
|
+
t.integer :creator_id, comment: '创建者'
|
15
|
+
t.boolean :is_use, default: false, comment: '采用'
|
16
|
+
t.string :comment, comment: '评论'
|
17
|
+
t.float :target_1, comment: '1月目标', :limit => 53
|
18
|
+
t.float :m_target_1, comment: '修改的1月目标', :limit => 53
|
19
|
+
t.float :target_2, comment: '2月目标', :limit => 53
|
20
|
+
t.float :m_target_2, comment: '修改的2月目标', :limit => 53
|
21
|
+
t.float :target_3, :limit => 53
|
22
|
+
t.float :m_target_3, :limit => 53
|
23
|
+
t.float :target_4, :limit => 53
|
24
|
+
t.float :m_target_4, :limit => 53
|
25
|
+
t.float :target_5, :limit => 53
|
26
|
+
t.float :m_target_5, :limit => 53
|
27
|
+
t.float :target_6, :limit => 53
|
28
|
+
t.float :m_target_6, :limit => 53
|
29
|
+
t.float :target_7, :limit => 53
|
30
|
+
t.float :m_target_7, :limit => 53
|
31
|
+
t.float :target_8, :limit => 53
|
32
|
+
t.float :m_target_8, :limit => 53
|
33
|
+
t.float :target_9, :limit => 53
|
34
|
+
t.float :m_target_9, :limit => 53
|
35
|
+
t.float :target_10, :limit => 53
|
36
|
+
t.float :m_target_10, :limit => 53
|
37
|
+
t.float :target_11, :limit => 53
|
38
|
+
t.float :m_target_11, :limit => 53
|
39
|
+
t.float :target_12, :limit => 53
|
40
|
+
t.float :m_target_12, :limit => 53
|
41
|
+
|
42
|
+
t.timestamps
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: educode_sales
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.10.
|
4
|
+
version: 1.10.59
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2023-08-08 00:00:00.000000000 Z
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- app/assets/images/educode_sales/icon-login.png
|
106
106
|
- app/assets/images/educode_sales/icon.png
|
107
107
|
- app/assets/images/educode_sales/indexLogo.png
|
108
|
+
- app/assets/images/educode_sales/indexlogo.png
|
108
109
|
- app/assets/images/educode_sales/loading-0.gif
|
109
110
|
- app/assets/images/educode_sales/loading-1.gif
|
110
111
|
- app/assets/images/educode_sales/loading-2.gif
|
@@ -268,6 +269,7 @@ files:
|
|
268
269
|
- app/models/educode_sales/sale_report.rb
|
269
270
|
- app/models/educode_sales/sale_trend.rb
|
270
271
|
- app/models/educode_sales/sales_detail.rb
|
272
|
+
- app/models/educode_sales/sales_target_history.rb
|
271
273
|
- app/models/educode_sales/shixun_dectect.rb
|
272
274
|
- app/models/educode_sales/staff.rb
|
273
275
|
- app/models/educode_sales/staff_permission.rb
|
@@ -525,10 +527,11 @@ files:
|
|
525
527
|
- app/views/educode_sales/places/new.html.erb
|
526
528
|
- app/views/educode_sales/plans/_monthPlan.html.erb
|
527
529
|
- app/views/educode_sales/plans/_monthly.html.erb
|
528
|
-
- app/views/educode_sales/plans/_target_track.html.erb
|
529
530
|
- app/views/educode_sales/plans/_weekPlan.html.erb
|
530
531
|
- app/views/educode_sales/plans/_weekly.html.erb
|
531
532
|
- app/views/educode_sales/plans/_yearPlan.html.erb
|
533
|
+
- app/views/educode_sales/plans/_year_execute.html.erb
|
534
|
+
- app/views/educode_sales/plans/_year_target.html.erb
|
532
535
|
- app/views/educode_sales/plans/audit_weekly.html.erb
|
533
536
|
- app/views/educode_sales/plans/business_infos.json.jbuilder
|
534
537
|
- app/views/educode_sales/plans/edit_bussiness_info.html.erb
|
@@ -555,9 +558,12 @@ files:
|
|
555
558
|
- app/views/educode_sales/plans/show_monthly.html.erb
|
556
559
|
- app/views/educode_sales/plans/show_week.html.erb
|
557
560
|
- app/views/educode_sales/plans/show_weekly.html.erb
|
558
|
-
- app/views/educode_sales/plans/target_track.js.erb
|
559
561
|
- app/views/educode_sales/plans/weekly.js.erb
|
562
|
+
- app/views/educode_sales/plans/year_execute.js.erb
|
560
563
|
- app/views/educode_sales/plans/year_plan.js.erb
|
564
|
+
- app/views/educode_sales/plans/year_target.js.erb
|
565
|
+
- app/views/educode_sales/plans/year_target.json.jbuilder
|
566
|
+
- app/views/educode_sales/plans/years_all_target.json.jbuilder
|
561
567
|
- app/views/educode_sales/plans/years_plan.json.jbuilder
|
562
568
|
- app/views/educode_sales/project_charts/_sales_analysis.html.erb
|
563
569
|
- app/views/educode_sales/project_charts/sales_analysis.js.erb
|
@@ -789,6 +795,7 @@ files:
|
|
789
795
|
- db/migrate/20230614142145_create_educode_sales_watch_follow_ups.rb
|
790
796
|
- db/migrate/20230629130033_add_clazz_to_money_plans.rb
|
791
797
|
- db/migrate/20230704124921_add_plan_a_date_to_follow_ups.rb
|
798
|
+
- db/migrate/20230729085359_create_educode_sales_sales_target_histories.rb
|
792
799
|
- lib/educode_sales.rb
|
793
800
|
- lib/educode_sales/engine.rb
|
794
801
|
- lib/educode_sales/version.rb
|
@@ -797,7 +804,7 @@ homepage: https://www.educoder.net
|
|
797
804
|
licenses:
|
798
805
|
- MIT
|
799
806
|
metadata: {}
|
800
|
-
post_install_message:
|
807
|
+
post_install_message:
|
801
808
|
rdoc_options: []
|
802
809
|
require_paths:
|
803
810
|
- lib
|
@@ -812,8 +819,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
812
819
|
- !ruby/object:Gem::Version
|
813
820
|
version: '0'
|
814
821
|
requirements: []
|
815
|
-
rubygems_version: 3.0.
|
816
|
-
signing_key:
|
822
|
+
rubygems_version: 3.0.9
|
823
|
+
signing_key:
|
817
824
|
specification_version: 4
|
818
825
|
summary: Summary of EducodeSales.
|
819
826
|
test_files: []
|