educode_sales 0.3.9 → 0.4.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/images/educode_sales/indexlogo.png +0 -0
- data/app/assets/images/educode_sales/logo.png +0 -0
- data/app/controllers/educode_sales/businesses_controller.rb +23 -3
- data/app/controllers/educode_sales/follow_ups_controller.rb +2 -2
- data/app/controllers/educode_sales/operation_plans_controller.rb +2 -2
- data/app/controllers/educode_sales/operation_reports_controller.rb +2 -2
- data/app/controllers/educode_sales/places_controller.rb +1 -1
- data/app/controllers/educode_sales/plans_controller.rb +2 -2
- data/app/controllers/educode_sales/sale_reports_controller.rb +2 -2
- data/app/controllers/educode_sales/sale_trends_controller.rb +3 -3
- data/app/controllers/educode_sales/sales_controller.rb +1 -1
- data/app/controllers/educode_sales/teachers_controller.rb +21 -9
- data/app/models/educode_sales/common.rb +2 -0
- data/app/models/educode_sales/teacher.rb +1 -1
- data/app/models/educode_sales/teacher_follow.rb +1 -0
- data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
- data/app/views/educode_sales/businesses/edit.html.erb +2 -2
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +6 -7
- data/app/views/educode_sales/businesses/index.html.erb +40 -5
- data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +8 -8
- data/app/views/educode_sales/businesses/show_follow.html.erb +9 -9
- data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -1
- data/app/views/educode_sales/businesses/show_follow_record.html.erb +16 -4
- data/app/views/educode_sales/operation_plans/new_month.html.erb +2 -0
- data/app/views/educode_sales/plans/new_month.html.erb +1 -0
- data/app/views/educode_sales/teachers/import.html.erb +1 -0
- data/app/views/educode_sales/teachers/index.html.erb +1 -1
- data/app/views/educode_sales/teachers/index.json.jbuilder +2 -3
- data/app/views/educode_sales/teachers/show_follow.json.jbuilder +3 -2
- data/app/views/layouts/educode_sales/application.html.erb +110 -36
- data/app/views/layouts/educode_sales/login.html.erb +1 -1
- data/db/migrate/20211018054256_add_extras_to_commons.rb +6 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb60117f75870a9280a833425b4a29bac7172e70da78b061fa41ea92abc7c985
|
4
|
+
data.tar.gz: 203aaf0c96f4e246ab734cd3dc4844542563404f6939bc2613ae286fe37d8be7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 688e3848050cd08d8598e8434e0039db4aa6fb0972f3bd558ad026b68462080fe898802082f94dfcf67b7e3a765631ecc39befad5382028c30c0b4259fb4e045
|
7
|
+
data.tar.gz: 5ed1048e97b6cf03f127040239eb7a7c8011b72edf8a94deb42d65a829a4e7ed15b98ecb94bdeb662dc6dc66efe3fff6e22cfeef28d819082a8f8ce9879cfeee
|
Binary file
|
Binary file
|
@@ -29,10 +29,12 @@ module EducodeSales
|
|
29
29
|
level = @current_admin.role.role_areas.find_by(clazz: '商机管理').level
|
30
30
|
case level
|
31
31
|
when '自己'
|
32
|
-
|
32
|
+
business_ids = Business.joins(last_follow_up: :assign_follow_ups).where("educode_sales_assign_follow_ups.staff_id = ?", @current_admin.id).pluck(:id)
|
33
|
+
@businesses = Business.where("educode_sales_businesses.staff_id = ? OR educode_sales_businesses.id in (?)", @current_admin.id, business_ids)
|
33
34
|
when '区域'
|
34
35
|
school_ids = School.where(province: @current_admin.areas.pluck(:name)).pluck(:id)
|
35
|
-
|
36
|
+
business_ids = Business.joins(last_follow_up: :assign_follow_ups).where("educode_sales_assign_follow_ups.staff_id = ?", @current_admin.id).pluck(:id)
|
37
|
+
@businesses = Business.joins("JOIN departments ON educode_sales_businesses.department_id = departments.id").where("departments.school_id in (?) OR educode_sales_businesses.staff_id = #{@current_admin.id} OR educode_sales_businesses.id in (?)", school_ids, business_ids)
|
36
38
|
else
|
37
39
|
@businesses = Business
|
38
40
|
end
|
@@ -78,7 +80,6 @@ module EducodeSales
|
|
78
80
|
@businesses = @businesses.where("educode_sales_businesses.created_at > ? AND educode_sales_businesses.created_at < ?", date[0], date[1])
|
79
81
|
end
|
80
82
|
|
81
|
-
|
82
83
|
if params[:sort].present? && params[:sort][:field]
|
83
84
|
@businesses = @businesses.order("#{params[:sort][:field]} #{params[:sort][:order]}")
|
84
85
|
else
|
@@ -87,6 +88,18 @@ module EducodeSales
|
|
87
88
|
|
88
89
|
@business_count = @businesses.count
|
89
90
|
|
91
|
+
if params[:q].present? && params[:q][:all].present?
|
92
|
+
@businesses = Business.all
|
93
|
+
end
|
94
|
+
|
95
|
+
if params[:q].present? && params[:q][:mine].present?
|
96
|
+
ids = AssignFollowUp.where(staff_id: @current_admin.id).pluck(:follow_up_id)
|
97
|
+
ids1 = FollowUp.where(id: ids).pluck(:business_id)
|
98
|
+
ids2 = Business.where(staff_id: @current_admin.id).pluck(:id)
|
99
|
+
# @businesses = Business.where(id: ids1+ids2)
|
100
|
+
@businesses =Business.where("educode_sales_businesses.id in (?) or educode_sales_businesses.staff_id = ?", ids1, @current_admin.id)
|
101
|
+
end
|
102
|
+
|
90
103
|
@businesses = @businesses.select("
|
91
104
|
educode_sales_businesses.*,
|
92
105
|
last_follow.invitation_at,
|
@@ -175,10 +188,16 @@ module EducodeSales
|
|
175
188
|
|
176
189
|
def new_follow_record
|
177
190
|
load_business
|
191
|
+
@o_name = EducodeSales::Common.find_by(extras: EducodeSales::Common::OTYPE)&.name
|
178
192
|
@clazz = Common.where(clazz: 'business_type').order("position").pluck(:name, :id)
|
179
193
|
@stages = Common.where(clazz: 'business_step').order("position").pluck(:name, :id)
|
180
194
|
@places = Place.order("created_at desc").pluck(:name, :id)
|
181
195
|
@last_follow_up = @business.last_follow_up
|
196
|
+
if @last_follow_up
|
197
|
+
gon.sales = @last_follow_up.assign_follow_ups.map do |d|
|
198
|
+
{value: d.staff_id, name: d.staff.user.full_name}
|
199
|
+
end
|
200
|
+
end
|
182
201
|
render layout: false
|
183
202
|
end
|
184
203
|
|
@@ -194,6 +213,7 @@ module EducodeSales
|
|
194
213
|
end
|
195
214
|
|
196
215
|
def edit_follow_record
|
216
|
+
@o_name = EducodeSales::Common.find_by(extras: EducodeSales::Common::OTYPE)&.name
|
197
217
|
@follow_up = FollowUp.find(params[:follow_up_id])
|
198
218
|
@clazz = Common.where(clazz: 'business_type').order("position").pluck(:name, :id)
|
199
219
|
@stages = Common.where(clazz: 'business_step').order("position").pluck(:name, :id)
|
@@ -11,7 +11,7 @@ module EducodeSales
|
|
11
11
|
follow_up.assign_follow_ups.build(staff_id: d)
|
12
12
|
end
|
13
13
|
|
14
|
-
follow_up.profit_amount = follow_up.actual_amount
|
14
|
+
follow_up.profit_amount = follow_up.actual_amount - (follow_up.divide_amount.to_i) if follow_up.actual_amount
|
15
15
|
if follow_up.save
|
16
16
|
if @business.last_follow_up.present?
|
17
17
|
@business.last_follow_up.key_person.each do |d|
|
@@ -54,7 +54,7 @@ module EducodeSales
|
|
54
54
|
assign_follow_ups << follow_up.assign_follow_ups.find_or_initialize_by(staff_id: d)
|
55
55
|
end
|
56
56
|
follow_up.assign_follow_ups = assign_follow_ups
|
57
|
-
follow_up.profit_amount = follow_up.actual_amount
|
57
|
+
follow_up.profit_amount = follow_up.actual_amount - (follow_up.divide_amount.to_i) * 0.01 if follow_up.actual_amount
|
58
58
|
if follow_up.save
|
59
59
|
render_success
|
60
60
|
else
|
@@ -20,8 +20,8 @@ module EducodeSales
|
|
20
20
|
when '自己'
|
21
21
|
@sale_plans = OperationPlan.where(staff_id: @current_admin.id)
|
22
22
|
when '区域'
|
23
|
-
staff_ids = Staff.joins(department: :school).where("
|
24
|
-
@sale_plans = OperationPlan.where("staff_id in ?", staff_ids)
|
23
|
+
staff_ids = Staff.joins(user: [user_extension: [department: :school]]).where("schools.province in (?)", @current_admin.areas.pluck(:name)).pluck(:id)
|
24
|
+
@sale_plans = OperationPlan.where("staff_id in (?)", staff_ids)
|
25
25
|
else
|
26
26
|
@sale_plans = OperationPlan
|
27
27
|
end
|
@@ -17,8 +17,8 @@ module EducodeSales
|
|
17
17
|
when '自己'
|
18
18
|
@sale_reports = OperationReport.where(staff_id: @current_admin.id)
|
19
19
|
when '区域'
|
20
|
-
staff_ids = Staff.joins(department: :school).where("
|
21
|
-
@sale_reports = OperationReport.where("staff_id in ?", staff_ids)
|
20
|
+
staff_ids = Staff.joins(user: [user_extension: [department: :school]]).where("schools.province in (?)", @current_admin.areas.pluck(:name)).pluck(:id)
|
21
|
+
@sale_reports = OperationReport.where("staff_id in (?)", staff_ids)
|
22
22
|
else
|
23
23
|
@sale_reports = OperationReport
|
24
24
|
end
|
@@ -9,7 +9,7 @@ module EducodeSales
|
|
9
9
|
end
|
10
10
|
format.json do
|
11
11
|
@places = Place.page(params[:page]).per(params[:limit])
|
12
|
-
@x = Common.find_by(
|
12
|
+
@x = Common.find_by(extras: EducodeSales::Common::XTYPE)&.id
|
13
13
|
@stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
14
14
|
end
|
15
15
|
end
|
@@ -21,8 +21,8 @@ module EducodeSales
|
|
21
21
|
when '自己'
|
22
22
|
@sale_plans = SalePlan.where(staff_id: @current_admin.id)
|
23
23
|
when '区域'
|
24
|
-
staff_ids = Staff.joins(department: :school).where("
|
25
|
-
@sale_plans = SalePlan.where("staff_id in ?", staff_ids)
|
24
|
+
staff_ids = Staff.joins(user: [user_extension: [department: :school]]).where("schools.province in (?)", @current_admin.areas.pluck(:name)).pluck(:id)
|
25
|
+
@sale_plans = SalePlan.where("staff_id in (?)", staff_ids)
|
26
26
|
else
|
27
27
|
@sale_plans = SalePlan
|
28
28
|
end
|
@@ -50,8 +50,8 @@ module EducodeSales
|
|
50
50
|
when '自己'
|
51
51
|
@sale_reports = SaleReport.where(staff_id: @current_admin.id)
|
52
52
|
when '区域'
|
53
|
-
staff_ids = Staff.joins(department: :school).where("
|
54
|
-
@sale_reports = SaleReport.where("staff_id in ?", staff_ids)
|
53
|
+
staff_ids = Staff.joins(user: [user_extension: [department: :school]]).where("schools.province in (?)", @current_admin.areas.pluck(:name)).pluck(:id)
|
54
|
+
@sale_reports = SaleReport.where("staff_id in (?)", staff_ids)
|
55
55
|
else
|
56
56
|
@sale_reports = SaleReport
|
57
57
|
end
|
@@ -9,15 +9,15 @@ module EducodeSales
|
|
9
9
|
@year = params[:year] ? params[:year] : Time.now.year
|
10
10
|
@years = (1..(Time.now.year - 2020)).map { |d| 2020 + d }
|
11
11
|
year_time = "#{@year}-01-01 00:00:00"
|
12
|
-
x = Common.find_by(
|
13
|
-
o = Common.find_by(
|
12
|
+
x = Common.find_by(extras: EducodeSales::Common::XTYPE)&.id
|
13
|
+
o = Common.find_by(extras: EducodeSales::Common::OTYPE)&.id
|
14
14
|
@sale_trend = SaleTrend.find_or_create_by(year: @year)
|
15
15
|
@business_amount = Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ? AND educode_sales_follow_ups.clazz_id != ?", x, o).where("educode_sales_follow_ups.created_at >= ?", year_time).sum(:total_amount).round(2)
|
16
16
|
stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
17
17
|
@goal_amount = Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", x).where("educode_sales_follow_ups.created_at >= ? AND educode_sales_follow_ups.stage_id IN (?)", year_time, stage_ids).sum(:total_amount).round(2)
|
18
18
|
s_stage_ids = Common.where(clazz: '商机阶段', name: ['已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
19
19
|
@service_amount = Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id != ?", x).where("educode_sales_follow_ups.created_at >= ? AND educode_sales_follow_ups.stage_id IN (?)", year_time, s_stage_ids).sum(:total_amount).round(2)
|
20
|
-
@return_amount = Business.joins(last_follow_up: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x).where("educode_sales_money_plans.date_at >= ?", year_time).sum(:
|
20
|
+
@return_amount = Business.joins(last_follow_up: :money_plans).where("educode_sales_follow_ups.clazz_id != ?", x).where("educode_sales_money_plans.date_at >= ?", year_time).sum(:amount).round(2)
|
21
21
|
a = Common.where(clazz: '商机类型', name: 'A类').pluck(:id)
|
22
22
|
@a_amount = Business.joins(:last_follow_up).where("educode_sales_follow_ups.clazz_id IN (?)", a).sum(:total_amount).round(2)
|
23
23
|
b = Common.where(clazz: '商机类型', name: 'B类').pluck(:id)
|
@@ -14,7 +14,7 @@ module EducodeSales
|
|
14
14
|
common = Common.find_by(clazz: 'staff_type', name: '销售')
|
15
15
|
@a_clazz = Common.find_by(clazz: 'business_type', name: 'A类')
|
16
16
|
@b_clazz = Common.find_by(clazz: 'business_type', name: 'B类')
|
17
|
-
@x = Common.find_by(
|
17
|
+
@x = Common.find_by(extras: EducodeSales::Common::XTYPE)
|
18
18
|
@step_ids = Common.where(name: %w(已中标 已签单 已验收 回款中 服务中 已结束), clazz: 'business_step').pluck(:id)
|
19
19
|
|
20
20
|
@staffs = Staff.where(job_type: common.id).page(params[:page]).per(params[:limit])
|
@@ -61,7 +61,10 @@ module EducodeSales
|
|
61
61
|
@teachers = @teachers.where("educode_sales_teachers.regist_at like ?", "%#{params[:q][:regist_at]}%")
|
62
62
|
end
|
63
63
|
if params[:q].present? && params[:q][:attitude].present?
|
64
|
-
@teachers = @teachers.where("educode_sales_teachers.attitude_id = ?", "#{params[:q][:attitude]}")
|
64
|
+
# @teachers = @teachers.where("educode_sales_teachers.attitude_id = ?", "#{params[:q][:attitude]}")
|
65
|
+
@teachers = @teachers.joins("
|
66
|
+
JOIN educode_sales_teacher_follows ON educode_sales_teachers.follow_up_id = educode_sales_teacher_follows.id
|
67
|
+
").where("educode_sales_teacher_follows.attitude_id = ?", params[:q][:attitude])
|
65
68
|
end
|
66
69
|
if params[:q].present? && params[:q][:teacher_source].present?
|
67
70
|
@teachers = @teachers.where("educode_sales_teachers.source_id = ?", "#{params[:q][:teacher_source]}")
|
@@ -82,10 +85,10 @@ module EducodeSales
|
|
82
85
|
end
|
83
86
|
if params[:q].present? && params[:q][:date].present?
|
84
87
|
date = params[:q][:date].split(" - ")
|
85
|
-
@teachers = @teachers.where("created_at > ? AND created_at < ?", date[0], date[1])
|
88
|
+
@teachers = @teachers.where("educode_sales_teachers.created_at > ? AND educode_sales_teachers.created_at < ?", date[0], date[1])
|
86
89
|
end
|
87
90
|
|
88
|
-
@teachers = @teachers.order("created_at desc").page(params[:page]).per(params[:limit])
|
91
|
+
@teachers = @teachers.order("educode_sales_teachers.created_at desc").page(params[:page]).per(params[:limit])
|
89
92
|
|
90
93
|
end
|
91
94
|
end
|
@@ -111,15 +114,24 @@ module EducodeSales
|
|
111
114
|
teacher.regist_at = Time.now
|
112
115
|
end
|
113
116
|
|
114
|
-
|
117
|
+
unless params[:activity_id].present?
|
118
|
+
return render json: {msg: '该教师已存在', success: false } if EducodeSales::Teacher.find_by(department_id: params[:department_id],name: params[:name])
|
119
|
+
end
|
120
|
+
|
121
|
+
if params[:activity_id].present?
|
122
|
+
if params[:user_id].present?
|
115
123
|
# 把老师添加到活动列表,提取判断下老师列表是否存在
|
116
|
-
|
117
|
-
|
118
|
-
|
124
|
+
find_teacher = Teacher.find_by(user_id: params[:user_id])
|
125
|
+
if find_teacher
|
126
|
+
teacher = find_teacher
|
127
|
+
end
|
128
|
+
else
|
129
|
+
_teacher = EducodeSales::Teacher.find_by(department_id: params[:department_id],name: params[:name])
|
130
|
+
teacher = _teacher if _teacher.present?
|
119
131
|
end
|
132
|
+
return render json: {msg: '该教师已在活动中', success: false } if teacher && teacher.activity_teachers.find_by(activity_id: params[:activity_id]).present?
|
120
133
|
end
|
121
134
|
if params[:activity_id].present?
|
122
|
-
return render json: {msg: '该教师已在活动中', success: false } if teacher.activity_teachers.find_by(activity_id: params[:activity_id]).present?
|
123
135
|
teacher.activity_teachers.build(activity_id: params[:activity_id])
|
124
136
|
end
|
125
137
|
|
@@ -268,7 +280,7 @@ module EducodeSales
|
|
268
280
|
def course_list
|
269
281
|
user = User.find_by(id: params[:user_id])
|
270
282
|
if user
|
271
|
-
@courses = Course.joins(:course_members).where(course_members: {user_id: user.id}).distinct("course_id").page(params[:page]).per(params[:limit])
|
283
|
+
@courses = Course.joins(:course_members).where(course_members: {user_id: user.id}).where("is_delete = 0 and role != 4 and excellent = 0 and is_hidden = 0").where("start_date is null or start_date <= '#{Date.today}'").distinct("course_id").page(params[:page]).per(params[:limit])
|
272
284
|
else
|
273
285
|
@courses = Course.none
|
274
286
|
end
|
@@ -37,7 +37,7 @@ module EducodeSales
|
|
37
37
|
|
38
38
|
def students_count
|
39
39
|
if user_id.present?
|
40
|
-
course_ids =
|
40
|
+
course_ids = Course.joins(:course_members).where(course_members: {user_id: user_id}).where("is_delete = 0 and role != 4 and excellent = 0 and is_hidden = 0").where("start_date is null or start_date <= '#{Date.today}'").distinct("course_id").pluck(:course_id)
|
41
41
|
CourseMember.where(course_id: course_ids, role: "STUDENT").count
|
42
42
|
else
|
43
43
|
0
|
@@ -15,7 +15,7 @@
|
|
15
15
|
{{# if (d.login) { }}
|
16
16
|
<a href="<%= base_url%>/users/{{d.login}}" class="layui-table-link" target="_blank">{{ d.name }}</a>
|
17
17
|
{{# } else {}}
|
18
|
-
<a href="
|
18
|
+
<a href="javascript:;" class="">{{ d.name }}</a>
|
19
19
|
{{# }}}
|
20
20
|
</script>
|
21
21
|
<script type="text/html" id="courses">
|
@@ -2,9 +2,9 @@
|
|
2
2
|
<div class="layui-form layuimini-form">
|
3
3
|
<div class="layui-form-item" style="padding: 25px">
|
4
4
|
<div class="layui-inline">
|
5
|
-
<label class="layui-form-label required"
|
5
|
+
<label class="layui-form-label required">商机名称</label>
|
6
6
|
<div class="layui-input-block">
|
7
|
-
<input type="text" name="name" autocomplete="off" lay-verify="required" class="layui-input"
|
7
|
+
<input type="text" name="name" autocomplete="off" lay-verify="required" class="layui-input" value="<%= @business.name %>" style="width: 300px;">
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
<div class="layui-inline">
|
@@ -17,9 +17,9 @@
|
|
17
17
|
<br>
|
18
18
|
<div class="layui-inline">
|
19
19
|
<label class="layui-form-label required">项目类型</label>
|
20
|
-
<%if EducodeSales::FollowUp.where(business_id: @follow_up.business.id,clazz_id: EducodeSales::Common.find_by(name:
|
20
|
+
<%if EducodeSales::FollowUp.where(business_id: @follow_up.business.id,clazz_id: EducodeSales::Common.find_by(name: @o_name).id).count >= 2 %>
|
21
21
|
<div class="layui-input-inline">
|
22
|
-
<%= select_tag "clazz_id", options_for_select([[
|
22
|
+
<%= select_tag "clazz_id", options_for_select([[@o_name,EducodeSales::Common.find_by(name: @o_name).id]]),:disabled => true, class: 'required' %>
|
23
23
|
</div>
|
24
24
|
<%else %>
|
25
25
|
<div class="layui-input-inline">
|
@@ -56,9 +56,9 @@
|
|
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
|
-
<input name="actual_amount" type="number" class="layui-input" value="<%= @follow_up.actual_amount %>">
|
61
|
+
<input name="actual_amount" type="number" class="layui-input" placeholder="本单位的签单金额" value="<%= @follow_up.actual_amount %>">
|
62
62
|
</div>
|
63
63
|
</div>
|
64
64
|
<br>
|
@@ -69,11 +69,10 @@
|
|
69
69
|
</div>
|
70
70
|
</div>
|
71
71
|
<div class="layui-inline">
|
72
|
-
<label class="layui-form-label"
|
72
|
+
<label class="layui-form-label">渠道分成</label>
|
73
73
|
<div class="layui-input-inline">
|
74
74
|
<input name="divide_rate" class="layui-input" value="<%= @follow_up.divide_rate%>">
|
75
75
|
</div>
|
76
|
-
<span style="margin-top: 10px; float:left;">%</span>
|
77
76
|
</div>
|
78
77
|
<div class="layui-form-item">
|
79
78
|
<label class="layui-form-label">指定跟进人</label>
|
@@ -82,7 +81,7 @@
|
|
82
81
|
</div>
|
83
82
|
</div>
|
84
83
|
<div class="layui-form-item layui-form-text">
|
85
|
-
<label class="layui-form-label required"
|
84
|
+
<label class="layui-form-label required">最新进展</label>
|
86
85
|
<div class="layui-input-block">
|
87
86
|
<textarea name="description" lay-verify="required" placeholder="此处可以填写:
|
88
87
|
1、有无预算;
|
@@ -68,6 +68,8 @@
|
|
68
68
|
<% if can? :create, EducodeSales::Business %>
|
69
69
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加商机</button>
|
70
70
|
<% end %>
|
71
|
+
<button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right" lay-event="mine"> 我的商机</button>
|
72
|
+
<button class="layui-btn layui-btn-primary layui-border-green layui-btn-sm pull-right" lay-event="all"> 全部商机</button>
|
71
73
|
</div>
|
72
74
|
</script>
|
73
75
|
<script type="text/html" id="currentTableBar">
|
@@ -150,7 +152,7 @@
|
|
150
152
|
// },
|
151
153
|
{
|
152
154
|
field: 'clazz',
|
153
|
-
width:
|
155
|
+
width: 120,
|
154
156
|
title: '类型'
|
155
157
|
},
|
156
158
|
{
|
@@ -195,7 +197,12 @@
|
|
195
197
|
{
|
196
198
|
field: 'last_follow_person',
|
197
199
|
width: 120,
|
198
|
-
title: '
|
200
|
+
title: '最新跟进人'
|
201
|
+
},
|
202
|
+
{
|
203
|
+
field: 'latest_time',
|
204
|
+
width: 200,
|
205
|
+
title: '最新跟进时间'
|
199
206
|
},
|
200
207
|
{
|
201
208
|
title: '操作',
|
@@ -237,7 +244,7 @@
|
|
237
244
|
edit(id);
|
238
245
|
break;
|
239
246
|
case 'delete':
|
240
|
-
deleteBusiness(id, elem.data
|
247
|
+
deleteBusiness(id, elem.data('name'));
|
241
248
|
break;
|
242
249
|
}
|
243
250
|
}
|
@@ -300,7 +307,7 @@
|
|
300
307
|
}
|
301
308
|
|
302
309
|
function deleteBusiness(id, name) {
|
303
|
-
|
310
|
+
layer.confirm('确定删除' + name, function (index) {
|
304
311
|
request.delete('missions/businesses/' + id, {}, function (res) {
|
305
312
|
layer.close(index);
|
306
313
|
table.reload("businesses_table")
|
@@ -361,7 +368,35 @@
|
|
361
368
|
$(window).on("resize", function () {
|
362
369
|
layer.full(index);
|
363
370
|
});
|
364
|
-
} else if (obj.event === '
|
371
|
+
} else if (obj.event === 'all') {
|
372
|
+
search = {"all":"1"}
|
373
|
+
table.reload('businesses_table', {
|
374
|
+
page: {
|
375
|
+
curr: 1
|
376
|
+
},
|
377
|
+
where: {q: search, sort: sort}
|
378
|
+
}, 'data');
|
379
|
+
form.val('search_form', {
|
380
|
+
name: '', department: '', staff_id: '', business_type: '', business_step: '',
|
381
|
+
place_id: '', date: '', area: ''
|
382
|
+
})
|
383
|
+
return false;
|
384
|
+
}
|
385
|
+
else if (obj.event === 'mine') {
|
386
|
+
search = {"mine":"1"}
|
387
|
+
table.reload('businesses_table', {
|
388
|
+
page: {
|
389
|
+
curr: 1
|
390
|
+
},
|
391
|
+
where: {q: search, sort: sort}
|
392
|
+
}, 'data');
|
393
|
+
form.val('search_form', {
|
394
|
+
name: '', department: '', staff_id: '', business_type: '', business_step: '',
|
395
|
+
place_id: '', date: '', area: ''
|
396
|
+
})
|
397
|
+
return false;
|
398
|
+
}
|
399
|
+
else if (obj.event === 'delete') {
|
365
400
|
var checkStatus = table.checkStatus('currentTableId'),
|
366
401
|
data = checkStatus.data;
|
367
402
|
layer.alert(JSON.stringify(data));
|
@@ -20,6 +20,7 @@ json.data do
|
|
20
20
|
json.assign_follow_ups d.last_follow_up.present? ? d.last_follow_up.assign_follow_ups.pluck(:staff_id) : []
|
21
21
|
json.current_staff_id @current_admin.id
|
22
22
|
json.staff_id d.staff_id
|
23
|
+
json.latest_time d.last_follow_up.present? ? d.last_follow_up.created_at.to_s : ''
|
23
24
|
end
|
24
25
|
end
|
25
26
|
json.code 0
|
@@ -1,3 +1,4 @@
|
|
1
|
+
<%= Gon::Base.render_data %>
|
1
2
|
<h1 class="m-t-20 text-center"><%= @business.name %></h1>
|
2
3
|
<div class="layui-form layuimini-form">
|
3
4
|
<div class="layui-form-item" style="padding: 25px">
|
@@ -16,9 +17,9 @@
|
|
16
17
|
<br>
|
17
18
|
<div class="layui-inline">
|
18
19
|
<label class="layui-form-label required">项目类型</label>
|
19
|
-
<%if @last_follow_up&.clazz&.name ==
|
20
|
+
<%if @last_follow_up&.clazz&.name == @o_name %>
|
20
21
|
<div class="layui-input-inline">
|
21
|
-
<%= select_tag "clazz_id", options_for_select([[
|
22
|
+
<%= select_tag "clazz_id", options_for_select([[@o_name,EducodeSales::Common.find_by(name: @o_name).id]]),:disabled => true, class: 'required' %>
|
22
23
|
</div>
|
23
24
|
<%else %>
|
24
25
|
<div class="layui-input-inline">
|
@@ -58,9 +59,9 @@
|
|
58
59
|
</div>
|
59
60
|
</div>
|
60
61
|
<div class="layui-inline">
|
61
|
-
<label class="layui-form-label"
|
62
|
+
<label class="layui-form-label">合同额(万)</label>
|
62
63
|
<div class="layui-input-inline">
|
63
|
-
<input name="actual_amount" type="number" class="layui-input" autocomplete="off"
|
64
|
+
<input name="actual_amount" type="number" class="layui-input" autocomplete="off" placeholder="本单位的签单金额"
|
64
65
|
value="<%= @last_follow_up&.actual_amount%>">
|
65
66
|
</div>
|
66
67
|
</div>
|
@@ -72,11 +73,10 @@
|
|
72
73
|
</div>
|
73
74
|
</div>
|
74
75
|
<div class="layui-inline">
|
75
|
-
<label class="layui-form-label"
|
76
|
+
<label class="layui-form-label">渠道分成</label>
|
76
77
|
<div class="layui-input-inline">
|
77
78
|
<input name="divide_rate" class="layui-input" value="<%= @last_follow_up&.divide_rate%>">
|
78
79
|
</div>
|
79
|
-
<span style="margin-top: 10px; float:left;">%</span>
|
80
80
|
</div>
|
81
81
|
<div class="layui-form-item">
|
82
82
|
<label class="layui-form-label">指定跟进人</label>
|
@@ -85,7 +85,7 @@
|
|
85
85
|
</div>
|
86
86
|
</div>
|
87
87
|
<div class="layui-form-item layui-form-text">
|
88
|
-
<label class="layui-form-label required"
|
88
|
+
<label class="layui-form-label required">最新进展</label>
|
89
89
|
<div class="layui-input-block">
|
90
90
|
<textarea name="description" lay-verify="required" placeholder="此处可以填写:
|
91
91
|
1、有无预算;
|
@@ -162,7 +162,7 @@
|
|
162
162
|
}
|
163
163
|
})
|
164
164
|
|
165
|
-
|
165
|
+
sales_list.setValue(gon.sales);
|
166
166
|
form.render();
|
167
167
|
|
168
168
|
form.on('submit(add_follow_up)', function (data) {
|
@@ -86,9 +86,14 @@
|
|
86
86
|
title: '时间',
|
87
87
|
sort: true
|
88
88
|
},
|
89
|
+
{
|
90
|
+
field: 'staff',
|
91
|
+
width: 100,
|
92
|
+
title: '跟进人',
|
93
|
+
},
|
89
94
|
{
|
90
95
|
field: 'clazz',
|
91
|
-
width:
|
96
|
+
width: 120,
|
92
97
|
title: '类型',
|
93
98
|
},
|
94
99
|
{
|
@@ -120,12 +125,12 @@
|
|
120
125
|
{
|
121
126
|
field: 'actual_amount',
|
122
127
|
width: 100,
|
123
|
-
title: '
|
128
|
+
title: '合同额',
|
124
129
|
},
|
125
130
|
{
|
126
131
|
field: 'divide_rate',
|
127
|
-
width:
|
128
|
-
title: '
|
132
|
+
width: 100,
|
133
|
+
title: '渠道分成',
|
129
134
|
},
|
130
135
|
{
|
131
136
|
field: 'money',
|
@@ -138,11 +143,6 @@
|
|
138
143
|
title: '回款计划',
|
139
144
|
templet: '#edit_plan'
|
140
145
|
},
|
141
|
-
{
|
142
|
-
field: 'staff',
|
143
|
-
width: 100,
|
144
|
-
title: '跟进人',
|
145
|
-
},
|
146
146
|
{
|
147
147
|
field: 'place',
|
148
148
|
width: 200,
|
@@ -9,7 +9,7 @@ json.data do
|
|
9
9
|
json.reception_at d.reception_at&.to_s(:date)
|
10
10
|
json.total_amount d.total_amount
|
11
11
|
json.actual_amount d.actual_amount
|
12
|
-
json.divide_rate d.
|
12
|
+
json.divide_rate d.divide_amount ? d.divide_amount : ""
|
13
13
|
json.staff d.staff.user.real_name
|
14
14
|
json.place d.place&.name
|
15
15
|
json.money_plans_count d.money_plans_count
|
@@ -47,7 +47,7 @@
|
|
47
47
|
</div>
|
48
48
|
</div>
|
49
49
|
<div class="layui-inline">
|
50
|
-
<label class="layui-form-label"
|
50
|
+
<label class="layui-form-label">合同额:</label>
|
51
51
|
<div class="layui-input-inline">
|
52
52
|
<%= @follow_up.actual_amount %>万
|
53
53
|
</div>
|
@@ -60,9 +60,9 @@
|
|
60
60
|
</div>
|
61
61
|
</div>
|
62
62
|
<div class="layui-inline">
|
63
|
-
<label class="layui-form-label"
|
63
|
+
<label class="layui-form-label">渠道分成:</label>
|
64
64
|
<div class="layui-input-inline">
|
65
|
-
<%= @follow_up.divide_rate
|
65
|
+
<%= @follow_up.divide_rate %>
|
66
66
|
</div>
|
67
67
|
</div>
|
68
68
|
<div class="ayui-form-item">
|
@@ -72,7 +72,7 @@
|
|
72
72
|
</div>
|
73
73
|
</div>
|
74
74
|
<div class="layui-form-item layui-form-text">
|
75
|
-
<label class="layui-form-label"
|
75
|
+
<label class="layui-form-label">最新进展:</label>
|
76
76
|
<div class="layui-input-block" style="padding-right: 20px;">
|
77
77
|
<pre><%= @follow_up.description %></pre>
|
78
78
|
</div>
|
@@ -83,5 +83,17 @@
|
|
83
83
|
<pre><%= @follow_up.advise %></pre>
|
84
84
|
</div>
|
85
85
|
</div>
|
86
|
+
<div class="layui-form-item layui-form-text">
|
87
|
+
<label class="layui-form-label">时间:</label>
|
88
|
+
<div class="layui-input-block" style="padding-right: 20px;">
|
89
|
+
<pre><%= @follow_up.created_at.to_s %></pre>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
<div class="layui-form-item layui-form-text">
|
93
|
+
<label class="layui-form-label">跟进人:</label>
|
94
|
+
<div class="layui-input-block" style="padding-right: 20px;">
|
95
|
+
<pre><%= @follow_up.staff.user.real_name %></pre>
|
96
|
+
</div>
|
97
|
+
</div>
|
86
98
|
</div>
|
87
99
|
</form>
|
@@ -73,8 +73,10 @@
|
|
73
73
|
layer.close(parent.new_monthly_index)
|
74
74
|
layer.close(parent.monthPlanIndex)
|
75
75
|
layer.close(parent.teacherindex2)
|
76
|
+
layer.close(parent.sindex)
|
76
77
|
table.reload('monthPlanTable')
|
77
78
|
table.reload("newMonthlyTable")
|
79
|
+
table.reload("newWeeklyTable")
|
78
80
|
}
|
79
81
|
})
|
80
82
|
return false;
|
@@ -12,9 +12,8 @@ json.data do
|
|
12
12
|
json.teacher_follows_count d.teacher_follows_count
|
13
13
|
json.activities_count d.activity_teachers_count
|
14
14
|
json.source EducodeSales::Common.teacher_source_name[d.source_id]
|
15
|
-
|
16
|
-
json.
|
17
|
-
json.courses_count d.user_id ? Course.joins(:course_members).where(course_members: {user_id: d.user_id}).distinct("course_id").count : 0
|
15
|
+
json.attitude d.follow_up&.attitude&.name
|
16
|
+
json.courses_count d.user_id ? Course.joins(:course_members).where(course_members: {user_id: d.user_id}).where("is_delete = 0 and role != 4 and excellent = 0 and is_hidden = 0").where("start_date is null or start_date <= '#{Date.today}'").distinct(:course_id).count : 0
|
18
17
|
json.actives d.actives
|
19
18
|
json.students d.students_count
|
20
19
|
json.regist_at d.user.present? ? d.user.created_on.to_s(:date) : ''
|
@@ -8,8 +8,9 @@ json.data do
|
|
8
8
|
json.course_build EducodeSales::Common.find_by(id: d.course_build_id).name
|
9
9
|
json.contact EducodeSales::Common.find_by(id: d.follow_id).name
|
10
10
|
json.staff d.staff.user.real_name
|
11
|
-
json.students_count d.students_count
|
12
|
-
json.courses_count Course.joins(:course_members).where(course_members: {user_id: d.teacher&.user_id}).distinct("course_id").count
|
11
|
+
json.students_count d.teacher&.students_count
|
12
|
+
# json.courses_count Course.joins(:course_members).where(course_members: {user_id: d.teacher&.user_id}).distinct("course_id").count
|
13
|
+
json.courses_count Course.joins(:course_members).where(course_members: {user_id: d.teacher&.user_id}).where("is_delete = 0 and role != 4 and excellent = 0 and is_hidden = 0").where("start_date is null or start_date <= '#{Date.today}'").distinct(:course_id).count
|
13
14
|
json.evaluates_count d.evaluates_count
|
14
15
|
json.course_shixuns_count d.course_shixuns_count
|
15
16
|
json.shixuns_count d.shixuns_count
|
@@ -10,13 +10,19 @@
|
|
10
10
|
<%= stylesheet_link_tag "educode_sales/application", media: "all" %>
|
11
11
|
<%= javascript_include_tag "educode_sales/application" %>
|
12
12
|
</head>
|
13
|
-
<body>
|
14
|
-
<div class="layui-layout layui-layout-admin">
|
13
|
+
<body class="" id="body">
|
14
|
+
<div class="layui-layout layui-layout-admin " >
|
15
15
|
<div class="layui-header">
|
16
|
-
<div class="layui-logo layui-hide-xs layui-bg-black">
|
16
|
+
<div class="layui-logo layui-hide-xs layui-bg-black layuimini-logo">
|
17
17
|
<%= image_tag "educode_sales/logo.png", class: 'header-logo' %>
|
18
18
|
<span class="app-title">营销系统</span>
|
19
19
|
</div>
|
20
|
+
|
21
|
+
<ul class="layui-nav i_class" style="left: 200px">
|
22
|
+
<li class="layui-nav-item layui-show-xs-inline-block " lay-header-event="menuLeft">
|
23
|
+
<a href="javascript:;"> <i id="leftEnumIcon" class="layui-icon layui-icon-shrink-right"></i></a>
|
24
|
+
</li>
|
25
|
+
</ul>
|
20
26
|
<ul class="layui-nav layui-layout-right">
|
21
27
|
<li class="layui-nav-item layui-hide layui-show-md-inline-block">
|
22
28
|
<a href="javascript:;">
|
@@ -41,64 +47,64 @@
|
|
41
47
|
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
42
48
|
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
43
49
|
<li class="layui-nav-item layui-nav-itemed">
|
44
|
-
<a class="" href="javascript:;"><b>销售活动</b></a>
|
50
|
+
<a class="" href="javascript:;"><b><i class="layui-icon layui-icon-template-1" style="font-size: 25px; padding-right: 20px"></i>销售活动</b></a>
|
45
51
|
<dl class="layui-nav-child">
|
46
52
|
<% if can? :trends, EducodeSales::SaleTrend %>
|
47
|
-
|
48
|
-
|
49
|
-
|
53
|
+
<dd>
|
54
|
+
<a href="/missions/sale_trends/trends" class="<%= current?('layui-this', trends_sale_trends_path) %>"><i class="layui-icon layui-icon-chart-screen" style="font-size: 25px; padding-right: 20px"></i>市场态势</a>
|
55
|
+
</dd>
|
50
56
|
<% end %>
|
51
57
|
<% if can? :sales, EducodeSales::Staff %>
|
52
|
-
|
53
|
-
|
58
|
+
<dd><a href="/missions/sales" class="<%= current?('layui-this', sales_path) %>"><i class="layui-icon layui-icon-username" style="font-size: 25px; padding-right: 20px"></i>销售分工</a>
|
59
|
+
</dd>
|
54
60
|
<% end %>
|
55
61
|
<% if can? :read, EducodeSales::Business %>
|
56
|
-
|
57
|
-
|
62
|
+
<dd><a href="/missions/businesses" class="<%= current?('layui-this', businesses_path) %>"><i class="layui-icon layui-icon-component" style="font-size: 25px; padding-right: 20px"></i>商机管理</a>
|
63
|
+
</dd>
|
58
64
|
<% end %>
|
59
65
|
<% if can? :read, EducodeSales::Place %>
|
60
|
-
|
66
|
+
<dd><a href="/missions/places" class="<%= current?('layui-this', places_path) %>"><i class="layui-icon layui-icon-tabs" style="font-size: 25px; padding-right: 20px"></i>渠道管理</a></dd>
|
61
67
|
<% end %>
|
62
68
|
<% if can? :read, EducodeSales::SalePlan %>
|
63
|
-
|
69
|
+
<dd><a href="/missions/plans" class="<%= current?('layui-this', plans_path) %>"><i class="layui-icon layui-icon-form" style="font-size: 25px; padding-right: 20px"></i>销售计划</a></dd>
|
64
70
|
<% end %>
|
65
71
|
</dl>
|
66
72
|
</li>
|
67
73
|
<li class="layui-nav-item layui-nav-itemed">
|
68
|
-
<a class="" href="javascript:;"><b>运营活动</b></a>
|
74
|
+
<a class="" href="javascript:;"><b><i class="layui-icon layui-icon-app" style="font-size: 25px; padding-right: 20px"></i>运营活动</b></a>
|
69
75
|
<dl class="layui-nav-child">
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
76
|
+
<% if can? :read, EducodeSales::OperationTrend %>
|
77
|
+
<dd>
|
78
|
+
<a href="/missions/operations/trends" class="<%= current?('layui-this', trends_operations_path) %>"><i class="layui-icon layui-icon-chart" style="font-size: 25px; padding-right: 20px"></i>运营态势</a>
|
79
|
+
</dd>
|
80
|
+
<% end %>
|
81
|
+
<% if can? :operations, EducodeSales::Staff %>
|
82
|
+
<dd>
|
83
|
+
<a href="/missions/sales/operations" class="<%= current?('layui-this', operations_sales_path) %>"><i class="layui-icon layui-icon-friends" style="font-size: 25px; padding-right: 20px"></i>运营分工</a>
|
84
|
+
</dd>
|
79
85
|
<% end %>
|
80
86
|
<% if can? :read, EducodeSales::Teacher %>
|
81
|
-
|
87
|
+
<dd><a href="/missions/teachers" class="<%= current?('layui-this', teachers_path) %>"><i class="layui-icon layui-icon-release" style="font-size: 25px; padding-right: 20px"></i>教师运营</a></dd>
|
82
88
|
<% end %>
|
83
89
|
<% if can? :read, EducodeSales::Activity %>
|
84
|
-
|
90
|
+
<dd><a href="/missions/activities" class="<%= current?('layui-this', activities_path) %>"><i class="layui-icon layui-icon-engine" style="font-size: 25px; padding-right: 20px"></i>活动运营</a></dd>
|
85
91
|
<% end %>
|
86
92
|
<% if can? :read, EducodeSales::OperationPlan %>
|
87
|
-
|
88
|
-
|
89
|
-
|
93
|
+
<dd>
|
94
|
+
<a href="/missions/operation_plans" class="<%= current?('layui-this', operation_plans_path) %>"><i class="layui-icon layui-icon-log" style="font-size: 25px; padding-right: 20px"></i>运营计划</a>
|
95
|
+
</dd>
|
90
96
|
<% end %>
|
91
97
|
</dl>
|
92
98
|
</li>
|
93
99
|
<% if @current_admin.is_admin %>
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
100
|
+
<li class="layui-nav-item layui-nav-itemed">
|
101
|
+
<a class="" href="javascript:;"><b><i class="layui-icon layui-icon-set-sm" style="font-size: 25px; padding-right: 20px"></i>系统设置</b></a>
|
102
|
+
<dl class="layui-nav-child">
|
103
|
+
<dd><a href="/missions/roles" class="<%= current?('layui-this', roles_path) %>"><i class="layui-icon layui-icon-username" style="font-size: 25px; padding-right: 20px"></i>角色管理</a></dd>
|
104
|
+
<dd><a href="/missions/staffs" class="<%= current?('layui-this', staffs_path) %>"><i class="layui-icon layui-icon-user" style="font-size: 25px; padding-right: 20px"></i>人员管理</a></dd>
|
105
|
+
<dd><a href="/missions/commons" class="<%= current?('layui-this', commons_path) %>"><i class="layui-icon layui-icon-file" style="font-size: 25px; padding-right: 20px"></i>字典列表</a></dd>
|
106
|
+
</dl>
|
107
|
+
</li>
|
102
108
|
<% end %>
|
103
109
|
</ul>
|
104
110
|
</div>
|
@@ -120,3 +126,71 @@
|
|
120
126
|
|
121
127
|
</body>
|
122
128
|
</html>
|
129
|
+
<script type="text/javascript" charset="utf-8">
|
130
|
+
//头部事件
|
131
|
+
layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
|
132
|
+
var $ = layui.jquery,
|
133
|
+
form = layui.form,
|
134
|
+
table = layui.table,
|
135
|
+
request = layui.request,
|
136
|
+
util = layui.util,
|
137
|
+
miniPage = layui.miniPage;
|
138
|
+
|
139
|
+
util.event('lay-header-event', { //util 记得 声明 var util = layui.util
|
140
|
+
//左侧菜单事件
|
141
|
+
menuLeft: function (othis) {
|
142
|
+
var body = $("#body");
|
143
|
+
var btn = $("#leftEnumIcon");
|
144
|
+
if (btn.hasClass('layui-icon-shrink-right')) {
|
145
|
+
menuHide(btn);
|
146
|
+
btn.addClass('btn-index');
|
147
|
+
} else if (btn.has('layui-icon-spread-left')) {
|
148
|
+
btn.removeClass('btn-index');
|
149
|
+
menuShow(btn);
|
150
|
+
|
151
|
+
}
|
152
|
+
|
153
|
+
$(window).resize(function () {
|
154
|
+
var width = $(document.body).width();
|
155
|
+
var btn = $("leftEnumIcon");
|
156
|
+
if (width < 1000) {
|
157
|
+
if (btn.hasClass('layui-icon-shrink-right')) {
|
158
|
+
menuShow(btn);
|
159
|
+
}
|
160
|
+
} else {
|
161
|
+
if (!btn.hasClass('btn-index')) {
|
162
|
+
if (btn.hasClass('layui-icon-spread-left')) {
|
163
|
+
menuHide(btn);
|
164
|
+
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
|
169
|
+
}
|
170
|
+
|
171
|
+
});
|
172
|
+
|
173
|
+
function menuShow(btn) {
|
174
|
+
btn.removeClass('layui-icon-spread-left').addClass('layui-icon-shrink-right');
|
175
|
+
body.removeClass('layuimini-mini')
|
176
|
+
$(".i_class").animate({left: '200px'});
|
177
|
+
// $(".zq-logo").animate({width: 'toggle'});
|
178
|
+
// $(".layui-body").animate({left: '200px'});
|
179
|
+
// $(".layui-footer").animate({left: '200px'});
|
180
|
+
}
|
181
|
+
|
182
|
+
function menuHide(btn) {
|
183
|
+
btn.removeClass('layui-icon-shrink-right').addClass('layui-icon-spread-left');
|
184
|
+
body.addClass('layuimini-mini');
|
185
|
+
// $(".layui-side").animate({width: '50px'}); //toggle如果原来div是隐藏的就会把元素显示,如果原来是显示则隐藏
|
186
|
+
$(".i_class").animate({left: '60px'});
|
187
|
+
// $(".layui-body").animate({left: '0px'});
|
188
|
+
// $(".layui-footer").animate({left: '0px'});
|
189
|
+
}
|
190
|
+
}
|
191
|
+
});
|
192
|
+
});
|
193
|
+
</script>
|
194
|
+
<style>
|
195
|
+
|
196
|
+
</style>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<title><%= @title || '头歌营销系统' %></title>
|
6
6
|
<%= csrf_meta_tags %>
|
7
7
|
<%= csp_meta_tag %>
|
8
|
-
<%= favicon_link_tag "educode_sales/
|
8
|
+
<%= favicon_link_tag "educode_sales/logo.png" %>
|
9
9
|
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
|
10
10
|
<%= stylesheet_link_tag "educode_sales/application", media: "all" %>
|
11
11
|
<%= javascript_include_tag "educode_sales/application" %>
|
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.3
|
4
|
+
version: 0.4.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-10-
|
11
|
+
date: 2021-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -333,6 +333,7 @@ files:
|
|
333
333
|
- db/migrate/20211009031109_add_tel_key_peoples.rb
|
334
334
|
- db/migrate/20211009063423_add_source_businesses.rb
|
335
335
|
- db/migrate/20211013060712_create_educode_sales_assign_follow_ups.rb
|
336
|
+
- db/migrate/20211018054256_add_extras_to_commons.rb
|
336
337
|
- lib/educode_sales.rb
|
337
338
|
- lib/educode_sales/engine.rb
|
338
339
|
- lib/educode_sales/version.rb
|