educode_sales 0.1.2 → 0.1.3
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/follow_ups_controller.rb +4 -0
- data/app/controllers/educode_sales/operation_plans_controller.rb +4 -4
- data/app/controllers/educode_sales/places_controller.rb +2 -4
- data/app/controllers/educode_sales/plans_controller.rb +1 -1
- data/app/controllers/educode_sales/roles_controller.rb +11 -0
- data/app/controllers/educode_sales/teachers_controller.rb +1 -1
- data/app/models/educode_sales/money_plan.rb +3 -3
- data/app/models/educode_sales/operation_plan.rb +3 -0
- data/app/models/educode_sales/place.rb +1 -0
- data/app/models/educode_sales/sale_plan.rb +3 -0
- data/app/views/educode_sales/businesses/edit_plan.html.erb +7 -4
- data/app/views/educode_sales/businesses/index.html.erb +1 -1
- data/app/views/educode_sales/operation_reports/index.json.jbuilder +1 -0
- data/app/views/educode_sales/places/index.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/_monthly.html.erb +1 -1
- data/app/views/educode_sales/plans/_weekPlan.html.erb +1 -1
- data/app/views/educode_sales/plans/_weekly.html.erb +1 -1
- data/app/views/educode_sales/plans/my_month.json.jbuilder +1 -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/staffs/edit.html.erb +1 -1
- data/app/views/educode_sales/teachers/edit.html.erb +1 -1
- data/app/views/educode_sales/teachers/index.html.erb +1 -1
- data/config/routes.rb +1 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b4a41e482e6776c9768761b3d37e0ad17e0244e
|
4
|
+
data.tar.gz: 56041da1c4e2f2a2d7a87b8d438af0691e398c95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d741309b6fce698679dac6cb314da6ba096ab89fdf83067b4cd45c363995954fcc0b183b7bdc1821aa0c1af0a9a3aa62872723cac2f1b50c5c2aa4935870601
|
7
|
+
data.tar.gz: 83d7f4c01c7737dc391c46cf65641c35e714f390b3792cc001968e11b4abb8e3d7f7316f7727ebccceff5299abce8b9459eeb2600f1c11216e2d2f0a5c520f47
|
@@ -243,7 +243,8 @@ td .layui-table-cell .layui-form-select {
|
|
243
243
|
margin-top: 5px;
|
244
244
|
}
|
245
245
|
|
246
|
-
.edit-table .layui-table-body.layui-table-main
|
246
|
+
.edit-table .layui-table-body.layui-table-main,
|
247
|
+
.min-height-table .layui-table-body.layui-table-main {
|
247
248
|
min-height: 200px;
|
248
249
|
}
|
249
250
|
|
@@ -18,7 +18,11 @@ module EducodeSales
|
|
18
18
|
|
19
19
|
def destroy
|
20
20
|
follow_up = FollowUp.find(params[:id])
|
21
|
+
business = follow_up.business
|
21
22
|
if follow_up.destroy
|
23
|
+
if follow_up.id == business.last_follow_up_id
|
24
|
+
business.update(last_follow_up: follow_ups.last, return_money: MoneyPlan.where(clazz: '已完成', follow_up_id: follow_ups.last&.id).sum(:amount))
|
25
|
+
end
|
22
26
|
render_success
|
23
27
|
else
|
24
28
|
render_failure follow_up
|
@@ -39,7 +39,7 @@ module EducodeSales
|
|
39
39
|
@sale_plans = @sale_plans.where("month >= ? and month <= ?", "#{params[:q][:year]}-01-01 00:00:00".to_date, "#{params[:q][:year]}-12-31 23:59:00".to_date)
|
40
40
|
end
|
41
41
|
if params[:q].present? && params[:q][:month].present?
|
42
|
-
@sale_plans = @sale_plans.where("month
|
42
|
+
@sale_plans = @sale_plans.where("month = ?", "#{params[:q][:month]}-01 00:00:00".to_date)
|
43
43
|
end
|
44
44
|
if params[:sort].present? && params[:sort][:field]
|
45
45
|
@sale_plans = @sale_plans.order("#{params[:sort][:field]} #{params[:sort][:order]}")
|
@@ -66,7 +66,7 @@ module EducodeSales
|
|
66
66
|
|
67
67
|
|
68
68
|
def create
|
69
|
-
plan =
|
69
|
+
plan = @current_admin.operation_plans.build(plan_params)
|
70
70
|
plan.month = params["month"] + "-1"
|
71
71
|
plan.teacher_id = @current_admin.teachers.find(params[:teacher_id]).id
|
72
72
|
if plan.save
|
@@ -78,7 +78,7 @@ module EducodeSales
|
|
78
78
|
|
79
79
|
def new_weekly
|
80
80
|
sale_plans = OperationPlan.where(month: Time.now.strftime("%Y-%m") + "-01 00:00:00", weekly: Time.now.strftime('%W').to_i, staff_id: @current_admin.id)
|
81
|
-
@rate = sale_plans ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
|
81
|
+
@rate = sale_plans.present? ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
|
82
82
|
@departments_count = sale_plans.joins(:teacher).count("distinct(department_id)")
|
83
83
|
# @departments_count = 1
|
84
84
|
render layout: false
|
@@ -93,7 +93,7 @@ module EducodeSales
|
|
93
93
|
|
94
94
|
def new_monthly
|
95
95
|
sale_plans = OperationPlan.where(month: Time.now.strftime("%Y-%m") + "-01 00:00:00", staff_id: @current_admin.id, weekly: nil)
|
96
|
-
@rate = sale_plans ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
|
96
|
+
@rate = sale_plans.present? ? (sale_plans.sum("finish_rate") / sale_plans.size) : 0
|
97
97
|
@departments_count = sale_plans.joins(:teacher).count("distinct(department_id)")
|
98
98
|
render layout: false
|
99
99
|
end
|
@@ -29,7 +29,6 @@ module EducodeSales
|
|
29
29
|
|
30
30
|
def create
|
31
31
|
place = @current_admin.places.new(name: params[:name])
|
32
|
-
# place = Place.new(name: params[:name])
|
33
32
|
commons = []
|
34
33
|
params[:area_ids].each do |d|
|
35
34
|
commons << Common.find(d)
|
@@ -43,7 +42,6 @@ module EducodeSales
|
|
43
42
|
end
|
44
43
|
|
45
44
|
def update
|
46
|
-
# id = @current_admin.id
|
47
45
|
place = Place.find(params[:id])
|
48
46
|
place.assign_attributes(name: params[:name])
|
49
47
|
commons = []
|
@@ -62,8 +60,8 @@ module EducodeSales
|
|
62
60
|
place = Place.find(params[:id])
|
63
61
|
place.destroy
|
64
62
|
render_success
|
65
|
-
|
66
|
-
|
63
|
+
rescue ActiveRecord::DeleteRestrictionError => e
|
64
|
+
render_failure '渠道下已有关联数据产生,暂不能删除'
|
67
65
|
end
|
68
66
|
|
69
67
|
end
|
@@ -39,7 +39,7 @@ module EducodeSales
|
|
39
39
|
@sale_plans = @sale_plans.where("month >= ? and month <= ?", "#{params[:q][:year]}-01-01 00:00:00".to_date, "#{params[:q][:year]}-12-31 23:59:00".to_date)
|
40
40
|
end
|
41
41
|
if params[:q].present? && params[:q][:month].present?
|
42
|
-
@sale_plans = @sale_plans.where("month
|
42
|
+
@sale_plans = @sale_plans.where("month = ?", "#{params[:q][:month]}-01 00:00:00".to_date)
|
43
43
|
end
|
44
44
|
if params[:sort].present? && params[:sort][:field]
|
45
45
|
@sale_plans = @sale_plans.order("#{params[:sort][:field]} #{params[:sort][:order]}")
|
@@ -35,6 +35,17 @@ module EducodeSales
|
|
35
35
|
render layout: false
|
36
36
|
end
|
37
37
|
|
38
|
+
def update_role
|
39
|
+
role = Role.find(params[:id])
|
40
|
+
if role.update(name: params[:name])
|
41
|
+
render_success
|
42
|
+
else
|
43
|
+
render_failure role
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
|
38
49
|
def update
|
39
50
|
permissions = []
|
40
51
|
role = Role.find(params[:id])
|
@@ -73,7 +73,7 @@ module EducodeSales
|
|
73
73
|
@teachers = @teachers.where("created_at > ? AND created_at < ?", date[0], date[1])
|
74
74
|
end
|
75
75
|
|
76
|
-
@teachers = @teachers.page(params[:page]).per(params[:per_page])
|
76
|
+
@teachers = @teachers.order("created_at desc").page(params[:page]).per(params[:per_page])
|
77
77
|
|
78
78
|
end
|
79
79
|
end
|
@@ -12,10 +12,10 @@ module EducodeSales
|
|
12
12
|
private
|
13
13
|
|
14
14
|
def update_return_money
|
15
|
-
if
|
15
|
+
if follow_up.business.last_follow_up_id == self.follow_up_id
|
16
|
+
follow_up.business.update(return_money: MoneyPlan.where(clazz: '已完成', follow_up_id: self.follow_up_id).sum(:amount))
|
17
|
+
else
|
16
18
|
follow_up.update(return_money: follow_up.money_plans.where(clazz: '已完成').sum(:amount))
|
17
|
-
all_follow_ups_ids = follow_up.business.follow_ups.pluck(:id)
|
18
|
-
follow_up.business.update(return_money: EducodeSales::MoneyPlan.where(clazz: '已完成', follow_up_id: all_follow_ups_ids).sum(:amount))
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
<script type="text/html" id="return_money_select">
|
41
41
|
<div class="layui-input-block table-select">
|
42
|
-
<select name="
|
42
|
+
<select name="clazz" lay-filter="return_money_select">
|
43
43
|
{{# layui.each(['未完成', '已完成'], function(i, data) { }}
|
44
44
|
{{# if (data == d.clazz) { }}
|
45
45
|
<option value="{{data}}" selected="{{d.clazz}}">{{data}}</option>
|
@@ -146,7 +146,7 @@
|
|
146
146
|
|
147
147
|
table.on('tool(return_money_list)', function (obj) {
|
148
148
|
var data = obj.data;
|
149
|
-
data.clazz = clazz;
|
149
|
+
data.clazz = clazz ? clazz : obj.data.clazz;
|
150
150
|
data.plan_id = obj.data.id
|
151
151
|
if (obj.event === 'edit') {
|
152
152
|
request.authPut('educode_sales/follow_ups/' + parent.follow_up_id + "/update_money", data,
|
@@ -154,16 +154,19 @@
|
|
154
154
|
if (res.success) {
|
155
155
|
layer.alert('保存成功');
|
156
156
|
table.reload('return_money_list');
|
157
|
+
table.reload("sale_plan_follow_table");
|
158
|
+
table.reload("businesses_table");
|
157
159
|
} else {
|
158
160
|
layer.alert(res.msg);
|
159
161
|
}
|
160
|
-
|
161
162
|
})
|
162
163
|
} else if (obj.event == 'delete') {
|
163
164
|
layer.confirm('确定删除回款金额为' + data.amount + "的计划", function (index) {
|
164
165
|
request.delete('educode_sales/follow_ups/' + parent.follow_up_id + "/delete_money?plan_id=" + data.id, {}, function (res) {
|
165
166
|
layer.close(index);
|
166
|
-
table.reload("return_money_list")
|
167
|
+
table.reload("return_money_list");
|
168
|
+
table.reload("sale_plan_follow_table");
|
169
|
+
table.reload("businesses_table");
|
167
170
|
})
|
168
171
|
});
|
169
172
|
}
|
@@ -5,7 +5,7 @@ json.data do
|
|
5
5
|
json.area_id d.areas.present? ? d.areas.pluck(:name).join("、") : ''
|
6
6
|
json.businesses_count EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.place_id = #{d.id}").count
|
7
7
|
json.amount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.place_id = #{d.id} AND educode_sales_follow_ups.stage_id IN (?)", @stage_ids).sum(:profit_amount)
|
8
|
-
json.return_mount
|
8
|
+
json.return_mount EducodeSales::Business.joins(:last_follow_up).where("educode_sales_follow_ups.place_id = #{d.id}").sum(:return_money)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
@@ -7,7 +7,7 @@
|
|
7
7
|
</div>
|
8
8
|
</script>
|
9
9
|
<!--搜索-->
|
10
|
-
<div class="layuimini-main
|
10
|
+
<div class="layuimini-main min-height-table" id="monthly_table_wraper">
|
11
11
|
<form class="layui-form layui-form-pane edit-table" lay-filter="monthly_form_fiter">
|
12
12
|
<div class="layui-form-item">
|
13
13
|
<div class="layui-inline">
|
@@ -7,7 +7,7 @@
|
|
7
7
|
</div>
|
8
8
|
</script>
|
9
9
|
<!--搜索-->
|
10
|
-
<div class="layuimini-main
|
10
|
+
<div class="layuimini-main min-height-table" id="week_table_wraper">
|
11
11
|
<div class="layui-form layui-form-pane edit-table" lay-filter="week_plan_form_filter">
|
12
12
|
<div class="layui-form-item">
|
13
13
|
<div class="layui-inline">
|
@@ -7,7 +7,7 @@
|
|
7
7
|
</div>
|
8
8
|
</script>
|
9
9
|
<!--搜索-->
|
10
|
-
<div class="layuimini-main
|
10
|
+
<div class="layuimini-main min-height-table" id="sales_weelky_table">
|
11
11
|
<form class="layui-form layui-form-pane edit-table" lay-filter="weekly_form_search">
|
12
12
|
<div class="layui-form-item">
|
13
13
|
<div class="layui-inline">
|
@@ -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
|
@@ -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
|
@@ -86,7 +86,7 @@
|
|
86
86
|
elem: '#user_search',
|
87
87
|
name: 'user_id', // 渲染的input的name值
|
88
88
|
layFilter: 'user_id', //同layui form参数lay-filter
|
89
|
-
layVerify: 'required', //同layui form参数lay-verify
|
89
|
+
// layVerify: 'required', //同layui form参数lay-verify
|
90
90
|
layVerType: 'tips', // 同layui form参数lay-verType
|
91
91
|
layReqText: '请填写文本', //同layui form参数lay-ReqText
|
92
92
|
initValue: '', // 渲染初始化默认值
|
data/config/routes.rb
CHANGED
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.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|