educode_sales 1.10.33 → 1.10.35
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/businesses_controller.rb +13 -1
- data/app/controllers/educode_sales/ideas_controller.rb +16 -8
- data/app/controllers/educode_sales/sale_trends_controller.rb +14 -2
- data/app/views/educode_sales/ideas/_index.html.erb +2 -2
- data/app/views/educode_sales/ideas/edit.html.erb +16 -2
- data/app/views/educode_sales/ideas/new.html.erb +17 -20
- data/lib/educode_sales/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 733d10f3f04531daa5d9aed3a9a9d8d34e41c74ca57ce61b817360147b914d61
|
|
4
|
+
data.tar.gz: 80527d327ad6f4cee282df6608140f1df12edac667b9882559d52e405ad0f14c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 82c1b9e3da991893900a0b5b28ff034ee6b818128f491fe3c9eb8b3b26025cdd283ce365c5ec5f495340d4fef314e78167941c6f89ced2533b0e6f08e7dd6f75
|
|
7
|
+
data.tar.gz: e710d633ca97617cb7c946d56c071f16d8339d208e851ef24b2a905c3d027aabf7dfbd38d1158793eadca1286af25fee759bc128e0e8de2b542de9649cd5bfa6
|
|
Binary file
|
|
@@ -133,7 +133,19 @@ module EducodeSales
|
|
|
133
133
|
elsif params[:q][:clazz] == 'delete_list'
|
|
134
134
|
@businesses = Business.unscoped.where(state_id: [1, 3])
|
|
135
135
|
elsif params[:q][:clazz] == 'plan_year'
|
|
136
|
-
@
|
|
136
|
+
if @current_admin.is_admin?
|
|
137
|
+
@businesses = Business
|
|
138
|
+
else
|
|
139
|
+
# 年度计划,按负责区域和专项客户类型查看对应的年度商机
|
|
140
|
+
school_ids = School.where(province: @current_admin.areas.pluck(:name)).pluck(:id) + StaffSchool.where(staff_id: @current_admin.id).pluck(:school_id)
|
|
141
|
+
if @current_admin.staff_school_tags.present?
|
|
142
|
+
# 如果设置专项客户类型,则视为专项经理,根据专项客户查看对应商机
|
|
143
|
+
school_ids += School.joins(:school_tags).where("school_tags.id in (?)", @current_admin.staff_school_tags.pluck(:school_tag_id)).pluck(:id)
|
|
144
|
+
end
|
|
145
|
+
@businesses = Business.joins("JOIN departments ON educode_sales_businesses.department_id = departments.id").where("departments.school_id in (?) ", school_ids.uniq)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
@businesses = @businesses.joins(:last_follow_up).where("educode_sales_follow_ups.plan_a_date > :year OR educode_sales_follow_ups.plan_return_date > :year OR educode_sales_follow_ups.invitation_at > :year", year: Time.now.beginning_of_year)
|
|
137
149
|
end
|
|
138
150
|
else
|
|
139
151
|
if @current_admin.is_admin?
|
|
@@ -139,9 +139,13 @@ module EducodeSales
|
|
|
139
139
|
assist_staff_ids = Array(params[:assist_staff_ids].to_s.split(","))
|
|
140
140
|
attachment_ids = Array(params[:attachment_ids].to_s.split(","))
|
|
141
141
|
other_staff_ids = Array(params[:other_staff_ids].to_s.split(","))
|
|
142
|
-
if
|
|
143
|
-
idea.
|
|
144
|
-
|
|
142
|
+
if params[:business_id].present?
|
|
143
|
+
idea.business_id = params[:business_id]
|
|
144
|
+
elsif params[:school_id].present?
|
|
145
|
+
idea.name = params[:project_name]
|
|
146
|
+
end
|
|
147
|
+
if params[:school_id].present?
|
|
148
|
+
idea.school_id = params[:school_id]
|
|
145
149
|
end
|
|
146
150
|
idea.attachment_ids = attachment_ids
|
|
147
151
|
|
|
@@ -174,9 +178,13 @@ module EducodeSales
|
|
|
174
178
|
@idea.attachment_ids = attachment_ids
|
|
175
179
|
other_staff_ids = Array(params[:other_staff_ids].to_s.split(","))
|
|
176
180
|
# @idea.other_staff_ids = other_staff_ids
|
|
177
|
-
if
|
|
178
|
-
@idea.
|
|
179
|
-
|
|
181
|
+
if params[:business_id].present?
|
|
182
|
+
@idea.business_id = params[:business_id]
|
|
183
|
+
elsif params[:school_id].present?
|
|
184
|
+
@idea.name = params[:project_name]
|
|
185
|
+
end
|
|
186
|
+
if params[:school_id].present?
|
|
187
|
+
@idea.school_id = params[:school_id]
|
|
180
188
|
end
|
|
181
189
|
check_changes
|
|
182
190
|
@idea.save
|
|
@@ -348,8 +356,8 @@ module EducodeSales
|
|
|
348
356
|
def idea_params
|
|
349
357
|
params.permit(:name, :level, :staff_id,
|
|
350
358
|
:status, :types, :model, :hardware, :project,
|
|
351
|
-
:money, :end_time, :content, :department_id,
|
|
352
|
-
:manager_name, :manager_phone, :school_name, :department_name, :attachment_id, :idea_type
|
|
359
|
+
:money, :end_time, :content, :department_id,
|
|
360
|
+
:manager_name, :manager_phone, :school_name, :department_name, :attachment_id, :idea_type)
|
|
353
361
|
end
|
|
354
362
|
|
|
355
363
|
def find_idea
|
|
@@ -24,7 +24,13 @@ module EducodeSales
|
|
|
24
24
|
@actual_service_amount = Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", x).where("educode_sales_follow_ups.stage_id IN (?)", s_stage_ids).sum(:actual_amount).round(2)
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
@return_amount = EducodeSales::MoneyPlanRecord.
|
|
27
|
+
@return_amount = EducodeSales::MoneyPlanRecord.from("(
|
|
28
|
+
SELECT distinct(educode_sales_money_plan_records.id), educode_sales_money_plan_records.amount
|
|
29
|
+
FROM educode_sales_money_plan_records
|
|
30
|
+
JOIN educode_sales_money_plan_claims ON educode_sales_money_plan_claims.money_plan_record_id = educode_sales_money_plan_records.id
|
|
31
|
+
GROUP BY educode_sales_money_plan_records.id
|
|
32
|
+
) AS educode_sales_money_plan_records
|
|
33
|
+
").sum("amount").round(2)
|
|
28
34
|
# @return_amount = Business.joins(last_follow_up: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x).where.not("educode_sales_money_plans.clazz!= ?", 1).sum(:amount).round(2)
|
|
29
35
|
# # @return_amount = total_return[0]['return_money']&.round(2) || 0
|
|
30
36
|
# @receivable_amount = @goal_amount - @return_amount
|
|
@@ -54,7 +60,13 @@ module EducodeSales
|
|
|
54
60
|
@actual_service_amount = Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", x).where("educode_sales_follow_ups.signed_date >= ? AND educode_sales_follow_ups.signed_date <= ? AND educode_sales_follow_ups.stage_id IN (?)", "#{@year}-01-01", "#{@year}-12-31", s_stage_ids).sum(:actual_amount).round(2)
|
|
55
61
|
# @return_amount = Business.joins(last_follow_up: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x).where.not("educode_sales_money_plans.clazz!= ?", 1).where("educode_sales_money_plans.date_at >= ? AND educode_sales_money_plans.date_at <= ? ", year_time, year_over_time).sum(:amount).round(2)
|
|
56
62
|
|
|
57
|
-
@return_amount = EducodeSales::MoneyPlanRecord.
|
|
63
|
+
@return_amount = EducodeSales::MoneyPlanRecord.from("(
|
|
64
|
+
SELECT distinct(educode_sales_money_plan_records.id), educode_sales_money_plan_records.amount, date_at
|
|
65
|
+
FROM educode_sales_money_plan_records
|
|
66
|
+
JOIN educode_sales_money_plan_claims ON educode_sales_money_plan_claims.money_plan_record_id = educode_sales_money_plan_records.id
|
|
67
|
+
GROUP BY educode_sales_money_plan_records.id
|
|
68
|
+
) AS educode_sales_money_plan_records
|
|
69
|
+
").where("educode_sales_money_plan_records.date_at >= ? AND educode_sales_money_plan_records.date_at <= ? ", year_time, year_over_time).sum(:amount).round(2)
|
|
58
70
|
# 往年累计已中标合同
|
|
59
71
|
# @former_goal_amount = Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", x).where("educode_sales_follow_ups.bidded_date <= ? AND educode_sales_follow_ups.stage_id IN (?)", "#{@year}-12-31", stage_ids).sum(:actual_amount).round(2)
|
|
60
72
|
# # 往年累计已回款
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</div>
|
|
57
57
|
</div>
|
|
58
58
|
<div class="layui-inline">
|
|
59
|
-
<label class="layui-form-label"
|
|
59
|
+
<label class="layui-form-label">商机名称</label>
|
|
60
60
|
<div class="layui-input-inline">
|
|
61
61
|
<input type="text" class="layui-input" id="name" name="name" placeholder=" - " autocomplete="off">
|
|
62
62
|
</div>
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
{
|
|
168
168
|
field: 'name',
|
|
169
169
|
width: 160,
|
|
170
|
-
title: '
|
|
170
|
+
title: '商机名称',
|
|
171
171
|
hide: gon.filter.name
|
|
172
172
|
},
|
|
173
173
|
{
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div class="layui-col-md6">
|
|
10
10
|
<labeL class="layui-form-label required">单位:</labeL>
|
|
11
11
|
<div class="layui-input-block">
|
|
12
|
-
<div id="
|
|
12
|
+
<div id="" style="width: 600px;"></div>
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
<div class="layui-col-md6">
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
43
|
<div class="layui-col-md6">
|
|
44
|
-
<labeL class="layui-form-label"
|
|
44
|
+
<labeL class="layui-form-label">商机名称:</labeL>
|
|
45
45
|
<div class="layui-input-block">
|
|
46
46
|
<div id="business_id" style="width: 600px;"></div>
|
|
47
47
|
</div>
|
|
@@ -53,6 +53,20 @@
|
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
56
|
+
<div class="layui-row" style="padding-top: 15px;">
|
|
57
|
+
<div class="layui-col-md6">
|
|
58
|
+
<labeL class="layui-form-label">单位:</labeL>
|
|
59
|
+
<div class="layui-input-block">
|
|
60
|
+
<div id="school_id"></div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="layui-col-md6">
|
|
64
|
+
<labeL class="layui-form-label">项目名称:</labeL>
|
|
65
|
+
<div class="layui-input-block">
|
|
66
|
+
<input type="text" name="project_name" value="<%= @idea&.name %>" autocomplete="off" placeholder="请输入项目名称" class="layui-input">
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
56
70
|
<div class="layui-row" style="padding-top: 15px;display: none">
|
|
57
71
|
<div class="layui-col-md6" style="display: none">
|
|
58
72
|
<labeL class="layui-form-label">方案经理:</labeL>
|
|
@@ -5,20 +5,6 @@
|
|
|
5
5
|
<div class="layui-row">
|
|
6
6
|
<h2 style="padding-left: 25px">方案信息</h2>
|
|
7
7
|
</div>
|
|
8
|
-
<div class="layui-row" style="padding-top: 15px;display: none">
|
|
9
|
-
<div class="layui-col-md6">
|
|
10
|
-
<labeL class="layui-form-label required">单位:</labeL>
|
|
11
|
-
<div class="layui-input-block">
|
|
12
|
-
<div id="school_id" style="width: 600px;"></div>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="layui-col-md6">
|
|
16
|
-
<labeL class="layui-form-label">部门:</labeL>
|
|
17
|
-
<div class="layui-input-block">
|
|
18
|
-
<div id="department_id" style="width: 600px;"></div>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
8
|
<div class="layui-row" style="padding-top: 15px">
|
|
23
9
|
<div class="layui-col-md6">
|
|
24
10
|
<labeL class="layui-form-label">单位联系人:</labeL>
|
|
@@ -41,9 +27,9 @@
|
|
|
41
27
|
</div>
|
|
42
28
|
</div>
|
|
43
29
|
<div class="layui-col-md6">
|
|
44
|
-
<labeL class="layui-form-label"
|
|
30
|
+
<labeL class="layui-form-label">商机名称:</labeL>
|
|
45
31
|
<div class="layui-input-block">
|
|
46
|
-
<div id="business_id"
|
|
32
|
+
<div id="business_id"></div>
|
|
47
33
|
</div>
|
|
48
34
|
</div>
|
|
49
35
|
<div class="layui-col-md6" style="display: none">
|
|
@@ -53,6 +39,20 @@
|
|
|
53
39
|
</div>
|
|
54
40
|
</div>
|
|
55
41
|
</div>
|
|
42
|
+
<div class="layui-row" style="padding-top: 15px;">
|
|
43
|
+
<div class="layui-col-md6">
|
|
44
|
+
<labeL class="layui-form-label">单位:</labeL>
|
|
45
|
+
<div class="layui-input-block">
|
|
46
|
+
<div id="school_id"></div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="layui-col-md6">
|
|
50
|
+
<labeL class="layui-form-label">项目名称:</labeL>
|
|
51
|
+
<div class="layui-input-block">
|
|
52
|
+
<input type="text" name="project_name" autocomplete="off" placeholder="请输入项目名称" class="layui-input">
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
56
|
<div class="layui-row" style="padding-top: 15px;display: none">
|
|
57
57
|
<div class="layui-col-md6" style="display: none">
|
|
58
58
|
<labeL class="layui-form-label">方案经理:</labeL>
|
|
@@ -412,10 +412,6 @@
|
|
|
412
412
|
|
|
413
413
|
//监听提交
|
|
414
414
|
form.on('submit(saveBtn)', function (data) {
|
|
415
|
-
// if (department.getValue() == "" && department_id == "") {
|
|
416
|
-
// layer.alert("请选择单位部门")
|
|
417
|
-
// return false;
|
|
418
|
-
// } else {
|
|
419
415
|
|
|
420
416
|
var schools = [];
|
|
421
417
|
school_list.getValue().forEach(function (d) {
|
|
@@ -438,6 +434,7 @@
|
|
|
438
434
|
data.field.assist_staff_ids = assist_staff_list.getValue('valueStr');
|
|
439
435
|
data.field.other_staff_ids = other_staff_list.getValue('valueStr');
|
|
440
436
|
data.field.attachment_ids = attachment_list.getValue('valueStr');
|
|
437
|
+
data.field.school_id = school_list.getValue('valueStr');
|
|
441
438
|
request.authPost("missions/ideas/", data.field, function (res) {
|
|
442
439
|
if (res.success == false) {
|
|
443
440
|
layer.alert(res.msg)
|
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: 1.10.
|
|
4
|
+
version: 1.10.35
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- anke1460
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-07-
|
|
11
|
+
date: 2023-07-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -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
|
|
@@ -757,7 +758,7 @@ homepage: https://www.educoder.net
|
|
|
757
758
|
licenses:
|
|
758
759
|
- MIT
|
|
759
760
|
metadata: {}
|
|
760
|
-
post_install_message:
|
|
761
|
+
post_install_message:
|
|
761
762
|
rdoc_options: []
|
|
762
763
|
require_paths:
|
|
763
764
|
- lib
|
|
@@ -772,8 +773,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
772
773
|
- !ruby/object:Gem::Version
|
|
773
774
|
version: '0'
|
|
774
775
|
requirements: []
|
|
775
|
-
rubygems_version: 3.0.
|
|
776
|
-
signing_key:
|
|
776
|
+
rubygems_version: 3.0.9
|
|
777
|
+
signing_key:
|
|
777
778
|
specification_version: 4
|
|
778
779
|
summary: Summary of EducodeSales.
|
|
779
780
|
test_files: []
|