educode_sales 0.9.22 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b4fae64ecffcde833caad4eeb11687321dbdca19dfac5341a925a3a4b87dd432
4
- data.tar.gz: d64d6231647df25b5acbcff39343dc47fa4004cee0eabae5f1b445ef992a9042
3
+ metadata.gz: 8c2b7f37f4b1fda07383d7cca772b7ee22fab18ca21a73ea6865f3d09e208dbc
4
+ data.tar.gz: 92ab5c8bd9aa56c678d3f54e7720ba6d851d4745f16c55c6b841dd9810128471
5
5
  SHA512:
6
- metadata.gz: af522a8b74ab3c53caf2829135dce88059fa79dab77e898a56a60e6a6e0f39fc87f730bdff119d490d224bfe9ef4dc2a7e90cd22c02cece971b968b0971a07f9
7
- data.tar.gz: 855b240baed276147aa6130ba441cc7bcffb0ed7e4e3d5dd764c26a0a74c246907aea41263d26aeb25e6bcbc7d2de3cc425d7bff2339c9d6424aa696d9cdd0f9
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].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-已签单商机)"
115
- s_stage_ids = Common.where(clazz: '商机阶段', name: ['已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
116
- if @year == '全部'
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 > ? AND educode_sales_follow_ups.signed_date < ? AND educode_sales_follow_ups.stage_id IN (?)", "#{@year}-01-01", "#{@year}-12-31", s_stage_ids)
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].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-已回款商机)"
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
- year_time = "#{@year}-01-01 00:00:00"
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
- if params[:q].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-应收款商机)"
140
- stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
141
- if @year == '全部'
142
- @businesses = @businesses.joins("
143
- JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
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? && params[:q][:name] != "(销售态势-" + @year + "-已中标商机)" && params[:q][:name] != "(销售态势-" + @year + "-已签单商机)" && params[:q][:name] != "(销售态势-" + @year + "-已回款商机)" && params[:q][:name] != "(销售态势-" + @year + "-现有商机)" && params[:q][:name] != "(销售态势-" + @year + "-应收款商机)"
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[:name].present?
507
- @year = params[:name].split("-")[1].present? ? params[:name].split("-")[1] : ''
508
- end
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.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)
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[:name].present? && params[:name] == "(销售态势-" + @year + "-应收款商机)"
539
- stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
540
- if @year == '全部'
541
- @businesses = @businesses.joins("
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[:name].present? && params[:name] == "(销售态势-" + @year + "-已签单商机)"
553
- s_stage_ids = Common.where(clazz: '商机阶段', name: ['已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
554
- if @year == '全部'
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.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)
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[:name].present? && params[:name] == "(销售态势-" + @year + "-已回款商机)"
566
- x_id = Common.find_by(extras: EducodeSales::Common::XTYPE)&.id
567
- year_time = "#{@year}-01-01 00:00:00"
568
- year_over_time = "#{@year}-12-31 23:59:59"
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?
@@ -102,6 +102,7 @@ module EducodeSales
102
102
  @business.update(last_follow_up_id: follow_up.id)
103
103
  # 增加o商机编号
104
104
  add_business_number
105
+ update_department
105
106
  render_success
106
107
  else
107
108
  render_failure follow_up
@@ -140,6 +141,7 @@ module EducodeSales
140
141
  # 增加o类商机
141
142
  @business = follow_up.business
142
143
  add_business_number
144
+ update_department
143
145
  render_success
144
146
  else
145
147
  render_failure follow_up
@@ -258,6 +260,21 @@ module EducodeSales
258
260
  params.permit(:clazz_id, :stage_id, :invitation_at, :reception_at, :total_amount, :actual_amount, :divide_amount, :divide_rate, :budget_amount, :description, :advise, :place_id, :bidded_date, :signed_date, :year, :o_business_deployment)
259
261
  end
260
262
 
263
+ # 更新部门和部门下老师用户的状态
264
+ def update_department
265
+ clazz = %w[已中标 已签单 已验收 回款中 服务中]
266
+ name = @business.last_follow_up&.stage&.name
267
+ Rails.logger.debug("调试======#{clazz.include?(name)}")
268
+ if clazz.include?(name)
269
+ department = @business.department
270
+ if department
271
+ department.level = 2
272
+ department.save!
273
+ UserExtension.where(department_id:@business.department_id,identity:0).update_all(level:2)
274
+ end
275
+ end
276
+ end
277
+
261
278
  def teacher_params
262
279
  params.permit(:professional_title, :job, :attitude_id, :sex, :birth_date, :remark, :tel)
263
280
  end
@@ -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)
@@ -2,7 +2,6 @@ require_dependency "educode_sales/application_controller"
2
2
 
3
3
  module EducodeSales
4
4
  class StaffsController < ApplicationController
5
-
6
5
  def index
7
6
  respond_to do |format|
8
7
  format.html do
@@ -35,7 +34,9 @@ module EducodeSales
35
34
  def create
36
35
  user = User.find(params[:id])
37
36
  staff = Staff.new(user_id: user.id)
37
+ params[:current_admin] = @current_admin.id
38
38
  if staff.save
39
+ impressionist(staff, params)
39
40
  render_success
40
41
  else
41
42
  render_failure staff
@@ -60,6 +61,8 @@ module EducodeSales
60
61
 
61
62
  def destroy
62
63
  staff = Staff.find(params[:id])
64
+ params[:current_admin] = @current_admin.id
65
+ impressionist(staff, params)
63
66
  staff.update(deleted_at: Time.now, expired_at: Time.now.days_ago(1))
64
67
  render_success
65
68
  # rescue ActiveRecord::DeleteRestrictionError => e
@@ -68,6 +71,8 @@ module EducodeSales
68
71
 
69
72
  def disable
70
73
  staff = Staff.find(params[:id])
74
+ params[:current_admin] = @current_admin.id
75
+ impressionist(staff, params)
71
76
  staff.update(expired_at: Time.now.days_ago(1))
72
77
  render_success
73
78
  end
@@ -89,6 +94,8 @@ module EducodeSales
89
94
  else
90
95
  staff.staff_schools.destroy_all
91
96
  end
97
+ params[:current_admin] = @current_admin.id
98
+ impressionist(staff, params)
92
99
  if staff.save
93
100
  render_success
94
101
  else
@@ -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
@@ -3,6 +3,8 @@ module EducodeSales
3
3
  belongs_to :user
4
4
  belongs_to :role, optional: true
5
5
 
6
+ is_impressionable
7
+
6
8
  has_many :follow_ups, dependent: :destroy
7
9
  has_many :operation_plans, dependent: :destroy
8
10
  has_many :operation_reports, dependent: :destroy
@@ -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="<%=params[:name] %>">
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">创建时间</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="date" name="date" placeholder=" - " autocomplete="off">
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">招标时间</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="invitation_at" name="invitation_at" placeholder=" - " autocomplete="off">
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
- elem: '#date',
186
- range: true
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
- elem: '#invitation_at',
190
- range: true
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[:clazz_id].present? || params[:place_id].present? || params[:school].present? %>
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
- business_type_list.setValue(gon.type)
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.business_type = "<%=params[:clazz_id] %>";
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?clazz_id=<%=EducodeSales::Common.find_by(extras: EducodeSales::Common::ATYPE)&.id %>" style="color: #0000FF;float: right">查看商机</a></h5>
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?clazz_id=<%=EducodeSales::Common.find_by(extras: EducodeSales::Common::BTYPE)&.id %>" style="color: #0000FF;float: right">查看商机</a></h5>
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>
@@ -1,3 +1,3 @@
1
1
  module EducodeSales
2
- VERSION = '0.9.22'
2
+ VERSION = '0.9.24'
3
3
  end
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.22
4
+ version: 0.9.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - anke1460
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-17 00:00:00.000000000 Z
11
+ date: 2022-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails