educode_sales 0.9.23 → 0.9.24
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 +65 -127
- data/app/controllers/educode_sales/sale_trends_controller.rb +1 -1
- data/app/models/educode_sales/business.rb +17 -0
- data/app/views/educode_sales/businesses/index.html.erb +63 -20
- data/app/views/educode_sales/sale_trends/trends.html.erb +9 -9
- data/lib/educode_sales/version.rb +1 -1
- metadata +6 -7
- data/app/assets/images/educode_sales/indexlogo.png +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c2b7f37f4b1fda07383d7cca772b7ee22fab18ca21a73ea6865f3d09e208dbc
|
4
|
+
data.tar.gz: 92ab5c8bd9aa56c678d3f54e7720ba6d851d4745f16c55c6b841dd9810128471
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f823e988d77eb4aff8ad1999a4ef058beb639bba844948144e444cd70065d0835e6865801537aabe4d03c3835f7db686edec6844de218afd925a14a2134801d
|
7
|
+
data.tar.gz: 6009835052d5b11ce9d9609d16e2cb5e26d0cda5afb6f9bbeb3c2d8b7acd61e4a1ea1be955e9d6873143e25d5ec48e79903d3485ed42d7c4e7a8a348546f79f4
|
@@ -16,13 +16,42 @@ module EducodeSales
|
|
16
16
|
gon.menus = []
|
17
17
|
gon.export_menus = []
|
18
18
|
gon.place = params[:place_id].present? ? [{ value: params[:place_id], name: EducodeSales::Place.find(params[:place_id]).name }] : []
|
19
|
+
|
20
|
+
bussiness_type = []
|
21
|
+
if params[:type]
|
22
|
+
# 项目类型
|
23
|
+
bussiness_type = EducodeSales::Business.include_types(params[:type]) || []
|
24
|
+
end
|
25
|
+
|
26
|
+
business_step = []
|
27
|
+
if params[:step]
|
28
|
+
# 项目阶段
|
29
|
+
business_step = EducodeSales::Business.include_steps(params[:step]) || []
|
30
|
+
end
|
31
|
+
|
32
|
+
if params[:business_year].present? && params[:business_year] != '全部'
|
33
|
+
gon.business_year = params[:business_year]
|
34
|
+
end
|
35
|
+
|
36
|
+
if params[:bidded_date_year].present? && params[:bidded_date_year] != '全部'
|
37
|
+
gon.bidded_date = Time.new(params[:bidded_date_year]).strftime("%Y-%m-%d") + " - " + Time.new(params[:bidded_date_year]).end_of_year.strftime("%Y-%m-%d")
|
38
|
+
end
|
39
|
+
|
40
|
+
if params[:signed_date_year].present? && params[:signed_date_year] != '全部'
|
41
|
+
gon.signed_date = Time.new(params[:signed_date_year]).strftime("%Y-%m-%d") + " - " + Time.new(params[:signed_date_year]).end_of_year.strftime("%Y-%m-%d")
|
42
|
+
end
|
43
|
+
|
44
|
+
if params[:date_at].present? && params[:date_at] != '全部'
|
45
|
+
# 回款时间
|
46
|
+
gon.date_at = Time.new(params[:date_at]).strftime("%Y-%m-%d") + " - " + Time.new(params[:date_at]).end_of_year.strftime("%Y-%m-%d")
|
47
|
+
end
|
48
|
+
|
19
49
|
gon.business_type = Common.where(clazz: 'business_type').map do |d|
|
20
|
-
{value: d.id, name: d.name}
|
50
|
+
{value: d.id, name: d.name, selected: bussiness_type.include?(d.extras)}
|
21
51
|
end
|
22
52
|
|
23
|
-
gon.type = params[:clazz_id].present? ? [{ value: params[:clazz_id], name: Common.find(params[:clazz_id]).name }] : []
|
24
53
|
gon.business_step = Common.where(clazz: 'business_step').order("position").map do |d|
|
25
|
-
{value: d.id, name: d.name}
|
54
|
+
{value: d.id, name: d.name, selected: business_step.include?(d.name)}
|
26
55
|
end
|
27
56
|
|
28
57
|
if can?(:create, EducodeSales::SalePlan)
|
@@ -81,81 +110,34 @@ module EducodeSales
|
|
81
110
|
@year = params[:q][:name].split("-")[1].present? ? params[:q][:name].split("-")[1] : ''
|
82
111
|
end
|
83
112
|
|
84
|
-
@budget_stage_ids = Common.where(clazz: '商机阶段', name: ['初步接洽', '准备方案','已交方案', '已立项']).pluck(:id)
|
85
|
-
|
86
|
-
if params[:q].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-现有商机)"
|
87
|
-
ids = Common.where(extras: %w[a_class b_class c_class d_class e_class o_class]).pluck(:id)
|
88
|
-
if @year == '全部'
|
89
|
-
@businesses = @businesses.joins("
|
90
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
91
|
-
").where("educode_sales_follow_ups.clazz_id in (?)",ids)
|
92
|
-
else
|
93
|
-
@businesses = @businesses.joins("
|
94
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
95
|
-
").where("educode_sales_follow_ups.clazz_id in (?)",ids).where("educode_sales_follow_ups.year = ?",@year)
|
96
|
-
end
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
if params[:q].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-已中标商机)"
|
101
|
-
stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
102
|
-
if @year == '全部'
|
103
|
-
@businesses = @businesses.joins("
|
104
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
105
|
-
").where("educode_sales_follow_ups.stage_id IN (?)",stage_ids)
|
106
|
-
else
|
107
|
-
@businesses = @businesses.joins("
|
108
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
109
|
-
").where("educode_sales_follow_ups.bidded_date > ? AND educode_sales_follow_ups.bidded_date < ? AND educode_sales_follow_ups.stage_id IN (?)", "#{@year}-01-01", "#{@year}-12-31", stage_ids)
|
110
|
-
end
|
113
|
+
# @budget_stage_ids = Common.where(clazz: '商机阶段', name: ['初步接洽', '准备方案','已交方案', '已立项']).pluck(:id)
|
111
114
|
|
112
|
-
end
|
113
115
|
|
114
|
-
if params[:q]
|
115
|
-
|
116
|
-
|
117
|
-
@businesses = @businesses.joins("
|
118
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
119
|
-
").where("educode_sales_follow_ups.stage_id IN (?)",s_stage_ids)
|
120
|
-
else
|
121
|
-
@businesses = @businesses.joins("
|
116
|
+
if params[:q] && params[:q][:signed_date].present?
|
117
|
+
date = params[:q][:signed_date].split(" - ")
|
118
|
+
@businesses = @businesses.joins("
|
122
119
|
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
123
|
-
").where("educode_sales_follow_ups.signed_date
|
124
|
-
end
|
120
|
+
").where("educode_sales_follow_ups.signed_date >= ? AND educode_sales_follow_ups.signed_date <= ?", date[0], date[1])
|
125
121
|
end
|
126
122
|
|
127
|
-
if params[:q]
|
123
|
+
if params[:q]&& params[:q][:date_at].present?
|
124
|
+
date = params[:q][:date_at].split(" - ")
|
128
125
|
x_id = Common.find_by(extras: EducodeSales::Common::XTYPE)&.id
|
129
|
-
|
130
|
-
year_over_time = "#{@year}-12-31 23:59:59"
|
131
|
-
money_plan_clazz = 1
|
132
|
-
if @year == '全部'
|
133
|
-
@businesses = @businesses.joins(follow_ups: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x_id).where.not("educode_sales_money_plans.clazz!= ?", money_plan_clazz).distinct
|
134
|
-
else
|
135
|
-
@businesses = @businesses.joins(follow_ups: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x_id).where.not("educode_sales_money_plans.clazz!= ?", money_plan_clazz).where("educode_sales_money_plans.date_at >= ? AND educode_sales_money_plans.date_at <= ? ", year_time, year_over_time).distinct
|
136
|
-
end
|
126
|
+
@businesses = @businesses.joins(follow_ups: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x_id).where.not("educode_sales_money_plans.clazz!= 1").where("educode_sales_money_plans.date_at >= ? AND educode_sales_money_plans.date_at <= ? ", date[0] + " 00:00:00", date[1] + " 23:59:59").distinct
|
137
127
|
end
|
138
128
|
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
").where("educode_sales_follow_ups.stage_id IN (?)", stage_ids)
|
145
|
-
else
|
146
|
-
@businesses = @businesses.joins("
|
147
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
148
|
-
").where("educode_sales_follow_ups.bidded_date <= ? AND educode_sales_follow_ups.stage_id IN (?)", "#{@year}-12-31", stage_ids)
|
149
|
-
end
|
150
|
-
|
129
|
+
if params[:q] && params[:q][:bidded_date].present?
|
130
|
+
date = params[:q][:bidded_date].split(" - ")
|
131
|
+
@businesses = @businesses.joins("
|
132
|
+
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
133
|
+
").where("educode_sales_follow_ups.bidded_date >= ? AND educode_sales_follow_ups.bidded_date <= ?", date[0], date[1])
|
151
134
|
end
|
152
135
|
|
153
|
-
|
154
136
|
if params[:q].present? && params[:q][:all].present?
|
155
137
|
@businesses = @businesses
|
156
138
|
end
|
157
139
|
|
158
|
-
if params[:q].present? && params[:q][:name].present?
|
140
|
+
if params[:q].present? && params[:q][:name].present?
|
159
141
|
@businesses = @businesses.where("educode_sales_businesses.name like ?", "%#{params[:q][:name]}%")
|
160
142
|
end
|
161
143
|
if params[:q].present? && params[:q][:department].present?
|
@@ -294,12 +276,12 @@ module EducodeSales
|
|
294
276
|
JOIN educode_sales_businesses ON educode_sales_businesses.id = educode_sales_follow_ups.business_id
|
295
277
|
JOIN educode_sales_follow_ups AS last_up ON last_up.id = educode_sales_businesses.last_follow_up_id
|
296
278
|
").where("educode_sales_businesses.staff_id = ? AND educode_sales_follow_ups.staff_id = ? AND last_up.clazz_id IN (?) AND last_up.staff_id = #{@current_admin.id}", @current_admin.id, @current_admin.id, ab)
|
297
|
-
|
279
|
+
|
298
280
|
|
299
281
|
@month = business.where("educode_sales_follow_ups.created_at >= ?", Time.now.beginning_of_month).count("DISTINCT(educode_sales_follow_ups.business_id)")
|
300
282
|
@quarter = business.where("educode_sales_follow_ups.created_at >= ?", Time.now.beginning_of_quarter).count("DISTINCT(educode_sales_follow_ups.business_id)")
|
301
283
|
@year = business.where("educode_sales_follow_ups.created_at >= ?", Time.now.beginning_of_year).count("DISTINCT(educode_sales_follow_ups.business_id)")
|
302
|
-
|
284
|
+
|
303
285
|
render layout: false
|
304
286
|
end
|
305
287
|
|
@@ -503,74 +485,30 @@ module EducodeSales
|
|
503
485
|
end
|
504
486
|
end
|
505
487
|
|
506
|
-
if params[:
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
if params[:name].present? && params[:name] == "(销售态势-" + @year + "-现有商机)"
|
511
|
-
ids = Common.where(extras: %w[a_class b_class c_class d_class e_class o_class]).pluck(:id)
|
512
|
-
if @year == '全部'
|
513
|
-
@businesses = @businesses.joins("
|
514
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
515
|
-
").where("educode_sales_follow_ups.clazz_id in (?)",ids)
|
516
|
-
else
|
517
|
-
@businesses = @businesses.joins("
|
518
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
519
|
-
").where("educode_sales_follow_ups.clazz_id in (?)",ids).where("educode_sales_follow_ups.year = ?",@year)
|
520
|
-
end
|
521
|
-
|
522
|
-
end
|
523
|
-
|
524
|
-
if params[:name].present? && params[:name] == "(销售态势-" + @year + "-已中标商机)"
|
525
|
-
stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
526
|
-
if @year == '全部'
|
527
|
-
@businesses = @businesses.joins("
|
528
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
529
|
-
").where("educode_sales_follow_ups.stage_id IN (?)",stage_ids)
|
530
|
-
else
|
531
|
-
@businesses = @businesses.joins("
|
488
|
+
if params[:signed_date].present?
|
489
|
+
date = params[:signed_date].split(" - ")
|
490
|
+
@businesses = @businesses.joins("
|
532
491
|
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
533
|
-
").where("educode_sales_follow_ups.
|
534
|
-
end
|
535
|
-
|
492
|
+
").where("educode_sales_follow_ups.signed_date >= ? AND educode_sales_follow_ups.signed_date <= ?", date[0], date[1])
|
536
493
|
end
|
537
494
|
|
538
|
-
if params[:
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
543
|
-
").where("educode_sales_follow_ups.stage_id IN (?)",stage_ids)
|
544
|
-
else
|
545
|
-
@businesses = @businesses.joins("
|
546
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
547
|
-
").where("educode_sales_follow_ups.bidded_date <= ? AND educode_sales_follow_ups.stage_id IN (?)", "#{@year}-12-31", stage_ids)
|
548
|
-
end
|
549
|
-
|
495
|
+
if params[:date_at].present?
|
496
|
+
date = params[:date_at].split(" - ")
|
497
|
+
x_id = Common.find_by(extras: EducodeSales::Common::XTYPE)&.id
|
498
|
+
@businesses = @businesses.joins(follow_ups: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x_id).where.not("educode_sales_money_plans.clazz!= 1").where("educode_sales_money_plans.date_at >= ? AND educode_sales_money_plans.date_at <= ? ", date[0] + " 00:00:00", date[1] + " 23:59:59").distinct
|
550
499
|
end
|
551
500
|
|
552
|
-
if params[:
|
553
|
-
|
554
|
-
|
555
|
-
@businesses = @businesses.joins("
|
556
|
-
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
557
|
-
").where("educode_sales_follow_ups.stage_id IN (?)",s_stage_ids)
|
558
|
-
else
|
559
|
-
@businesses = @businesses.joins("
|
501
|
+
if params[:bidded_date].present?
|
502
|
+
date = params[:bidded_date].split(" - ")
|
503
|
+
@businesses = @businesses.joins("
|
560
504
|
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
561
|
-
").where("educode_sales_follow_ups.
|
562
|
-
end
|
505
|
+
").where("educode_sales_follow_ups.bidded_date >= ? AND educode_sales_follow_ups.bidded_date <= ?", date[0], date[1])
|
563
506
|
end
|
564
507
|
|
565
|
-
if params[:
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
if @year == '全部'
|
570
|
-
@businesses = @businesses.joins(follow_ups: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x_id).where.not("educode_sales_money_plans.clazz!= ?", 1).distinct
|
571
|
-
else
|
572
|
-
@businesses = @businesses.joins(follow_ups: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x_id).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).distinct
|
573
|
-
end
|
508
|
+
if params[:business_year].present?
|
509
|
+
@businesses = @businesses.joins("
|
510
|
+
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
511
|
+
").where("educode_sales_follow_ups.year = ?", params[:business_year])
|
574
512
|
end
|
575
513
|
|
576
514
|
if params[:all].present?
|
@@ -589,7 +527,7 @@ module EducodeSales
|
|
589
527
|
end
|
590
528
|
|
591
529
|
@businesses = @businesses
|
592
|
-
if params[:name].present? && params[:name] != "(销售态势-" + @year + "-已中标商机)" && params[:name] != "(销售态势-" + @year + "-已签单商机)" && params[:name] != "(销售态势-" + @year + "-已回款商机)" && params[:name] != "(销售态势-" + @year + "-现有商机)"&& params[:name] != "(销售态势-" + @year + "-应收款商机)"
|
530
|
+
if params[:name].present? # && params[:name] != "(销售态势-" + @year + "-已中标商机)" && params[:name] != "(销售态势-" + @year + "-已签单商机)" && params[:name] != "(销售态势-" + @year + "-已回款商机)" && params[:name] != "(销售态势-" + @year + "-现有商机)"&& params[:name] != "(销售态势-" + @year + "-应收款商机)"
|
593
531
|
@businesses = @businesses.where("educode_sales_businesses.name like ?", "%#{params[:name]}%")
|
594
532
|
end
|
595
533
|
if params[:department].present?
|
@@ -57,7 +57,7 @@ module EducodeSales
|
|
57
57
|
# @former_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 <= ? ", year_over_time).sum(:amount).round(2)
|
58
58
|
# @receivable_amount = @former_goal_amount - @former_return_amount
|
59
59
|
|
60
|
-
@receivable_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).select("(SUM(educode_sales_follow_ups.actual_amount) - SUM(educode_sales_businesses.return_money)) AS num")
|
60
|
+
@receivable_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.bidded_date <= ? AND educode_sales_follow_ups.stage_id IN (?)", "#{@year}-01-01", "#{@year}-12-31", stage_ids).select("(SUM(educode_sales_follow_ups.actual_amount) - SUM(educode_sales_businesses.return_money)) AS num")
|
61
61
|
@receivable_amount = @receivable_amount.present? && @receivable_amount[0]['num'] ? @receivable_amount[0]['num'].round(2) : 0
|
62
62
|
|
63
63
|
a = Common.where(clazz: '商机类型', name: Common.find_by(extras: EducodeSales::Common::ATYPE)&.name).pluck(:id)
|
@@ -25,5 +25,22 @@ module EducodeSales
|
|
25
25
|
self.follow_ups.update_all(deleted_at: Time.now)
|
26
26
|
EducodeSales::Recycle.create(source: self, deleter_id: user_id)
|
27
27
|
end
|
28
|
+
|
29
|
+
|
30
|
+
def self.include_types(type)
|
31
|
+
{
|
32
|
+
'1' => %w[a_class b_class c_class d_class e_class o_class],
|
33
|
+
'a' => ['a_class'],
|
34
|
+
'b' => ['b_class'],
|
35
|
+
}[type]
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.include_steps(type)
|
39
|
+
{
|
40
|
+
'已中标' => ['已中标','已签单','已验收','回款中', '服务中','已结束'],
|
41
|
+
'已签单' => ['已签单','已验收','回款中', '服务中','已结束'],
|
42
|
+
'应收款' => ['已中标','已签单','已验收','回款中', '服务中','已结束']
|
43
|
+
}[type]
|
44
|
+
end
|
28
45
|
end
|
29
46
|
end
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<div class="layui-inline">
|
18
18
|
<label class="layui-form-label">商机名称</label>
|
19
19
|
<div class="layui-input-inline">
|
20
|
-
<input type="text" name="name" class="layui-input" value="
|
20
|
+
<input type="text" name="name" class="layui-input" value="">
|
21
21
|
<input type="text" style="display: none" name="place_id" class="layui-input" value="<%=params[:place_id] %>">
|
22
22
|
</div>
|
23
23
|
</div>
|
@@ -33,49 +33,67 @@
|
|
33
33
|
<%= select_tag "staff_id", options_for_select(@staffs, params[:staff_id]), { 'lay-filter': 'staff_id', include_blank: true } %>
|
34
34
|
</div>
|
35
35
|
</div>
|
36
|
-
<div class="layui-inline show_item" style="display:none;">
|
36
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
37
37
|
<label class="layui-form-label">项目类型</label>
|
38
38
|
<div class="layui-input-inline">
|
39
39
|
<div id="business_type" style="width: 190px;"></div>
|
40
40
|
</div>
|
41
41
|
</div>
|
42
|
-
<div class="layui-inline show_item" style="display:none;">
|
42
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
43
43
|
<label class="layui-form-label">项目阶段</label>
|
44
44
|
<div class="layui-input-inline">
|
45
45
|
<div id="business_step" style="width: 190px;"></div>
|
46
46
|
</div>
|
47
47
|
</div>
|
48
|
-
<div class="layui-inline show_item" style="display:none;">
|
48
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
49
49
|
<label class="layui-form-label">渠道名称</label>
|
50
50
|
<div class="layui-input-inline">
|
51
51
|
<div id="index_place" style="width: 190px;"></div>
|
52
52
|
</div>
|
53
53
|
</div>
|
54
|
-
<div class="layui-inline show_item" style="display:none;">
|
54
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
55
55
|
<label class="layui-form-label">区域</label>
|
56
56
|
<div class="layui-input-inline">
|
57
57
|
<%= select_tag "area", options_for_select(EducodeSales::Common.where(clazz: 'area').pluck(:name, :id)), { include_blank: true } %>
|
58
58
|
</div>
|
59
59
|
</div>
|
60
|
-
<div class="layui-inline show_item" style="display:none;">
|
60
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
61
61
|
<label class="layui-form-label">所属年度</label>
|
62
62
|
<div class="layui-input-inline">
|
63
63
|
<%= select_tag "business_year", options_for_select((2015..Time.now.year).to_a.reverse, params[:business_year]), { include_blank: true } %>
|
64
64
|
</div>
|
65
65
|
</div>
|
66
|
-
<div class="layui-inline show_item" style="display:none;">
|
67
|
-
<label class="layui-form-label"
|
66
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
67
|
+
<label class="layui-form-label">招标时间</label>
|
68
68
|
<div class="layui-input-inline">
|
69
|
-
<input type="text" class="layui-input" id="
|
69
|
+
<input type="text" class="layui-input" id="invitation_at" name="invitation_at" placeholder=" - " autocomplete="off">
|
70
70
|
</div>
|
71
71
|
</div>
|
72
|
-
<div class="layui-inline show_item" style="display:none;">
|
73
|
-
<label class="layui-form-label"
|
72
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
73
|
+
<label class="layui-form-label">中标时间</label>
|
74
74
|
<div class="layui-input-inline">
|
75
|
-
<input type="text" class="layui-input" id="
|
75
|
+
<input type="text" class="layui-input" id="bidded_date" name="bidded_date" placeholder=" - " autocomplete="off">
|
76
76
|
</div>
|
77
77
|
</div>
|
78
|
-
<div class="layui-inline show_item" style="display:none;">
|
78
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
79
|
+
<label class="layui-form-label">签单时间</label>
|
80
|
+
<div class="layui-input-inline">
|
81
|
+
<input type="text" class="layui-input" id="signed_date" name="signed_date" placeholder=" - " autocomplete="off">
|
82
|
+
</div>
|
83
|
+
</div>
|
84
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
85
|
+
<label class="layui-form-label">回款时间</label>
|
86
|
+
<div class="layui-input-inline">
|
87
|
+
<input type="text" class="layui-input" id="date_at" name="date_at" placeholder=" - " autocomplete="off">
|
88
|
+
</div>
|
89
|
+
</div>
|
90
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
91
|
+
<label class="layui-form-label">创建时间</label>
|
92
|
+
<div class="layui-input-inline">
|
93
|
+
<input type="text" class="layui-input" id="date" name="date" placeholder=" - " autocomplete="off">
|
94
|
+
</div>
|
95
|
+
</div>
|
96
|
+
<div class="layui-inline show_item" style="<%= params[:name] || params[:type] ? '' : 'display:none;' %>">
|
79
97
|
<label class="layui-form-label">编号</label>
|
80
98
|
<div class="layui-input-inline">
|
81
99
|
<input type="text" class="layui-input" id="number" name="number" placeholder=" - " autocomplete="off">
|
@@ -182,14 +200,33 @@
|
|
182
200
|
laydate = layui.laydate;
|
183
201
|
var openWH = miniPage.getOpenWidthHeight();
|
184
202
|
laydate.render({
|
185
|
-
|
186
|
-
|
203
|
+
elem: '#date',
|
204
|
+
range: true
|
205
|
+
});
|
206
|
+
laydate.render({
|
207
|
+
elem: '#invitation_at',
|
208
|
+
range: true
|
187
209
|
});
|
210
|
+
|
211
|
+
laydate.render({
|
212
|
+
elem: '#bidded_date',
|
213
|
+
range: true,
|
214
|
+
value: gon.bidded_date
|
215
|
+
});
|
216
|
+
laydate.render({
|
217
|
+
elem: '#signed_date',
|
218
|
+
range: true,
|
219
|
+
value: gon.signed_date
|
220
|
+
});
|
221
|
+
|
188
222
|
laydate.render({
|
189
|
-
|
190
|
-
|
223
|
+
elem: '#date_at',
|
224
|
+
range: true,
|
225
|
+
value: gon.date_at
|
191
226
|
});
|
192
227
|
|
228
|
+
|
229
|
+
|
193
230
|
// $('#businesses_table_wraper .layui-table-body').on('scroll', function(e) {
|
194
231
|
// var leftPx = $(e.target).scrollLeft(); //获取表格body,滚动条距离左边的长度
|
195
232
|
// var left = 'translateX(-' + leftPx + 'px)';
|
@@ -197,7 +234,7 @@
|
|
197
234
|
// });
|
198
235
|
|
199
236
|
var is_show =
|
200
|
-
<%=params[:name].present? || params[:
|
237
|
+
<%=params[:name].present? || params[:type].present? || params[:place_id].present? || params[:school].present? %>
|
201
238
|
if (is_show) {
|
202
239
|
$('.follows_li').removeClass('layui-this');
|
203
240
|
$('.follows_div').removeClass('layui-show');
|
@@ -209,7 +246,7 @@
|
|
209
246
|
el: '#business_type',
|
210
247
|
data: gon.business_type
|
211
248
|
})
|
212
|
-
|
249
|
+
|
213
250
|
var business_step_list = xmSelect.render({
|
214
251
|
el: '#business_step',
|
215
252
|
data: gon.business_step
|
@@ -261,8 +298,10 @@
|
|
261
298
|
|
262
299
|
|
263
300
|
var data = form.val("search_form");
|
264
|
-
data.
|
301
|
+
data.business_year = gon.business_year;
|
265
302
|
|
303
|
+
data.business_type = business_type_list.getValue('valueStr')
|
304
|
+
data.business_step = business_step_list.getValue('valueStr');
|
266
305
|
|
267
306
|
table = layui.table;
|
268
307
|
var cols_table = [
|
@@ -653,6 +692,10 @@
|
|
653
692
|
place_id: data.place_id,
|
654
693
|
select: data.select,
|
655
694
|
staff_id: data.staff_id,
|
695
|
+
signed_date: data.signed_date,
|
696
|
+
date_at: data.date_at,
|
697
|
+
bidded_date: data.bidded_date,
|
698
|
+
business_year: data.business_year,
|
656
699
|
mine: search['clazz'] == 'me' ? true : '',
|
657
700
|
is_follow: search['clazz'] == 'followes' ? true : '',
|
658
701
|
}, function (res) {
|
@@ -98,7 +98,7 @@
|
|
98
98
|
<div class="panel layui-bg-number">
|
99
99
|
<div class="panel-body">
|
100
100
|
<div class="panel-title">
|
101
|
-
<h5>现有商机<a href="/missions/businesses?name=(销售态势-<%=@year %>-现有商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
101
|
+
<h5>现有商机<a href="/missions/businesses?name=(销售态势-<%=@year %>-现有商机)&type=1&business_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
102
102
|
</div>
|
103
103
|
<div class="panel-content y-t-10">
|
104
104
|
<h1 class="no-margins"><%= @business_amount.round(2) %>万</h1>
|
@@ -111,7 +111,7 @@
|
|
111
111
|
<div class="panel layui-bg-number">
|
112
112
|
<div class="panel-body">
|
113
113
|
<div class="panel-title">
|
114
|
-
<h5>已中标(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
114
|
+
<h5>已中标(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)&step=已中标&bidded_date_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
115
115
|
</div>
|
116
116
|
<div class="panel-content y-t-10">
|
117
117
|
<h1 class="no-margins"><%= @goal_amount %>万</h1>
|
@@ -124,7 +124,7 @@
|
|
124
124
|
<div class="panel layui-bg-number">
|
125
125
|
<div class="panel-body">
|
126
126
|
<div class="panel-title">
|
127
|
-
<h5>已签单(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
127
|
+
<h5>已签单(总额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)&step=已签单&signed_date_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
128
128
|
</div>
|
129
129
|
<div class="panel-content y-t-10">
|
130
130
|
<h1 class="no-margins"><%= @service_amount %>万</h1>
|
@@ -137,7 +137,7 @@
|
|
137
137
|
<div class="panel layui-bg-number">
|
138
138
|
<div class="panel-body">
|
139
139
|
<div class="panel-title">
|
140
|
-
<h5>已回款<a href="/missions/businesses?name=(销售态势-<%=@year %>-已回款商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
140
|
+
<h5>已回款<a href="/missions/businesses?name=(销售态势-<%=@year %>-已回款商机)&date_at=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
141
141
|
</div>
|
142
142
|
<div class="panel-content y-t-10">
|
143
143
|
<h1 class="no-margins"><%= @return_amount %>万</h1>
|
@@ -150,7 +150,7 @@
|
|
150
150
|
<div class="panel layui-bg-number">
|
151
151
|
<div class="panel-body">
|
152
152
|
<div class="panel-title">
|
153
|
-
<h5>A类商机<a href="/missions/businesses?
|
153
|
+
<h5>A类商机<a href="/missions/businesses?type=a&business_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
154
154
|
</div>
|
155
155
|
<div class="panel-content y-t-10">
|
156
156
|
<h1 class="no-margins"><%= @a_amount %>万</h1>
|
@@ -162,7 +162,7 @@
|
|
162
162
|
<div class="panel layui-bg-number">
|
163
163
|
<div class="panel-body">
|
164
164
|
<div class="panel-title">
|
165
|
-
<h5>已中标(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
165
|
+
<h5>已中标(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已中标商机)&step=已中标&bidded_date_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
166
166
|
</div>
|
167
167
|
<div class="panel-content y-t-10">
|
168
168
|
<h1 class="no-margins"><%= @actual_goal_amount %>万</h1>
|
@@ -175,7 +175,7 @@
|
|
175
175
|
<div class="panel layui-bg-number">
|
176
176
|
<div class="panel-body">
|
177
177
|
<div class="panel-title">
|
178
|
-
<h5>已签单(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
178
|
+
<h5>已签单(合同额)<a href="/missions/businesses?name=(销售态势-<%=@year %>-已签单商机)&step=已签单&signed_date_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
179
179
|
</div>
|
180
180
|
<div class="panel-content y-t-10">
|
181
181
|
<h1 class="no-margins"><%= @actual_service_amount %>万</h1>
|
@@ -188,7 +188,7 @@
|
|
188
188
|
<div class="panel layui-bg-number">
|
189
189
|
<div class="panel-body">
|
190
190
|
<div class="panel-title">
|
191
|
-
<h5>应收款<a href="/missions/businesses?name=(销售态势-<%=@year %>-应收款商机)" style="color: #0000FF;float: right">查看商机</a></h5>
|
191
|
+
<h5>应收款<a href="/missions/businesses?name=(销售态势-<%=@year %>-应收款商机)&step=应收款&bidded_date_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
192
192
|
</div>
|
193
193
|
<div class="panel-content y-t-10">
|
194
194
|
<h1 class="no-margins"><%= @receivable_amount.round(2) %>万</h1>
|
@@ -201,7 +201,7 @@
|
|
201
201
|
<div class="panel layui-bg-number">
|
202
202
|
<div class="panel-body">
|
203
203
|
<div class="panel-title">
|
204
|
-
<h5>B类商机<a href="/missions/businesses?
|
204
|
+
<h5>B类商机<a href="/missions/businesses?type=b&business_year=<%= @year %>" style="color: #0000FF;float: right">查看商机</a></h5>
|
205
205
|
</div>
|
206
206
|
<div class="panel-content y-t-10">
|
207
207
|
<h1 class="no-margins"><%= @b_amount %>万</h1>
|
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.9.
|
4
|
+
version: 0.9.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-12-
|
11
|
+
date: 2022-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -105,7 +105,6 @@ 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
|
109
108
|
- app/assets/images/educode_sales/loading-0.gif
|
110
109
|
- app/assets/images/educode_sales/loading-1.gif
|
111
110
|
- app/assets/images/educode_sales/loading-2.gif
|
@@ -489,7 +488,7 @@ homepage: https://www.educoder.net
|
|
489
488
|
licenses:
|
490
489
|
- MIT
|
491
490
|
metadata: {}
|
492
|
-
post_install_message:
|
491
|
+
post_install_message:
|
493
492
|
rdoc_options: []
|
494
493
|
require_paths:
|
495
494
|
- lib
|
@@ -504,8 +503,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
504
503
|
- !ruby/object:Gem::Version
|
505
504
|
version: '0'
|
506
505
|
requirements: []
|
507
|
-
rubygems_version: 3.0.
|
508
|
-
signing_key:
|
506
|
+
rubygems_version: 3.0.0
|
507
|
+
signing_key:
|
509
508
|
specification_version: 4
|
510
509
|
summary: Summary of EducodeSales.
|
511
510
|
test_files: []
|
Binary file
|