educode_sales 0.5.0 → 0.5.1
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//345/233/236/346/224/266/347/253/231.png +0 -0
- data/app/controllers/educode_sales/businesses_controller.rb +9 -5
- data/app/controllers/educode_sales/follow_ups_controller.rb +1 -1
- data/app/controllers/educode_sales/plans_controller.rb +1 -1
- data/app/controllers/educode_sales/recycles_controller.rb +95 -0
- data/app/controllers/educode_sales/sale_reports_controller.rb +1 -1
- data/app/controllers/educode_sales/staffs_controller.rb +4 -4
- data/app/models/concerns/deletable.rb +8 -0
- data/app/models/educode_sales/application_record.rb +2 -0
- data/app/models/educode_sales/business.rb +15 -2
- data/app/models/educode_sales/follow_up.rb +4 -2
- data/app/models/educode_sales/recycle.rb +5 -0
- data/app/models/educode_sales/sale_plan.rb +3 -0
- data/app/models/educode_sales/sale_report.rb +2 -0
- data/app/views/educode_sales/businesses/edit_plan.html.erb +2 -2
- data/app/views/educode_sales/businesses/index.html.erb +12 -2
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +5 -1
- data/app/views/educode_sales/businesses/show_follow.html.erb +7 -2
- data/app/views/educode_sales/businesses/upload_file.html.erb +4 -4
- data/app/views/educode_sales/operation_reports/audit.html.erb +9 -3
- data/app/views/educode_sales/operation_reports/show.html.erb +9 -3
- data/app/views/educode_sales/recycles/_business.html.erb +122 -0
- data/app/views/educode_sales/recycles/_monthPlan.html.erb +123 -0
- data/app/views/educode_sales/recycles/_monthly.html.erb +121 -0
- data/app/views/educode_sales/recycles/_weekPlan.html.erb +128 -0
- data/app/views/educode_sales/recycles/_weekly.html.erb +122 -0
- data/app/views/educode_sales/recycles/business.json.jbuilder +16 -0
- data/app/views/educode_sales/recycles/index.html.erb +58 -0
- data/app/views/educode_sales/recycles/monthPlan.json.jbuilder +16 -0
- data/app/views/educode_sales/recycles/monthly.json.jbuilder +15 -0
- data/app/views/educode_sales/recycles/weekPlan.json.jbuilder +16 -0
- data/app/views/educode_sales/recycles/weekly.json.jbuilder +15 -0
- data/app/views/educode_sales/sale_reports/audit.html.erb +12 -3
- data/app/views/educode_sales/sale_reports/show.html.erb +8 -2
- data/app/views/educode_sales/teachers/add_keys.html.erb +2 -2
- data/app/views/educode_sales/teachers/index.html.erb +1 -1
- data/app/views/layouts/educode_sales/application.html.erb +3 -0
- data/config/routes.rb +15 -0
- data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +6 -0
- data/db/migrate/20211109015617_create_educode_sales_recycles.rb +25 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 249bcf8612e073c689b8c6f696cc3590aeffb4271b6eef3ed7b95ecc2033aba5
|
4
|
+
data.tar.gz: 1efd466f3e9630b9908c94d7fe6184979ab775c75946b77987a8f07e67618b64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f189282b2df2c5bbae317f6ed513862721dc280885791fe5dfda7b2245894d511d0d303a2d5caaab304adb855de8f9d8e65f2c014f4212b34b347e3126854fd0
|
7
|
+
data.tar.gz: 6848e0f74872c5b7e53e05104a224abd58a6a4b8b374393e918ad09c20a34d83b7aa78789bc9e6c2d1091d5f06f6d057400ed0eeeaa9605637bd0abe592ffdd8
|
@@ -82,15 +82,17 @@ module EducodeSales
|
|
82
82
|
end
|
83
83
|
|
84
84
|
if params[:q].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-已中标商机)"
|
85
|
+
stage_ids = Common.where(clazz: '商机阶段', name: ['已中标','已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
85
86
|
@businesses = @businesses.joins("
|
86
87
|
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
87
|
-
").where("educode_sales_follow_ups.bidded_date > ? AND educode_sales_follow_ups.bidded_date < ?", "#{@year}-01-01", "#{@year}-12-31")
|
88
|
+
").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)
|
88
89
|
end
|
89
90
|
|
90
91
|
if params[:q].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-已签单商机)"
|
92
|
+
s_stage_ids = Common.where(clazz: '商机阶段', name: ['已签单','已验收','回款中', '服务中','已结束']).pluck(:id)
|
91
93
|
@businesses = @businesses.joins("
|
92
94
|
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
93
|
-
").where("educode_sales_follow_ups.signed_date > ? AND educode_sales_follow_ups.signed_date < ?", "#{@year}-01-01", "#{@year}-12-31")
|
95
|
+
").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)
|
94
96
|
end
|
95
97
|
|
96
98
|
if params[:q].present? && params[:q][:name].present? && params[:q][:name] == "(销售态势-" + @year + "-已回款商机)"
|
@@ -122,10 +124,10 @@ module EducodeSales
|
|
122
124
|
@businesses = @businesses.joins(:department).where("departments.id in (?)", departments_ids)
|
123
125
|
end
|
124
126
|
if params[:q].present? && params[:q][:staff_id].present?
|
125
|
-
part_a_ids = @businesses.where("educode_sales_businesses.last_follow_up_id is null AND staff_id = ?",params[:q][:staff_id]).ids
|
127
|
+
part_a_ids = @businesses.where("educode_sales_businesses.last_follow_up_id is null AND educode_sales_businesses.staff_id = ?",params[:q][:staff_id]).ids
|
126
128
|
part_b_ids = @businesses.where("educode_sales_businesses.last_follow_up_id is not null").joins("
|
127
129
|
JOIN educode_sales_follow_ups ON educode_sales_businesses.last_follow_up_id = educode_sales_follow_ups.id
|
128
|
-
").where("educode_sales_follow_ups.staff_id = ?", params[:q][:staff_id]).
|
130
|
+
").where("educode_sales_follow_ups.staff_id = ?", params[:q][:staff_id]).ids
|
129
131
|
business_ids = part_a_ids + part_b_ids
|
130
132
|
@businesses = EducodeSales::Business.where(id:business_ids)
|
131
133
|
end
|
@@ -172,6 +174,8 @@ module EducodeSales
|
|
172
174
|
educode_sales_businesses.*,
|
173
175
|
last_follow.invitation_at,
|
174
176
|
last_follow.reception_at,
|
177
|
+
last_follow.bidded_date,
|
178
|
+
last_follow.signed_date,
|
175
179
|
last_follow.total_amount").joins("
|
176
180
|
LEFT JOIN educode_sales_follow_ups AS last_follow ON educode_sales_businesses.last_follow_up_id = last_follow.id
|
177
181
|
").page(params[:page]).per(params[:limit])
|
@@ -221,7 +225,7 @@ module EducodeSales
|
|
221
225
|
|
222
226
|
def destroy
|
223
227
|
business = Business.find(params[:id])
|
224
|
-
business.
|
228
|
+
business.soft_destroy(@current_admin.id)
|
225
229
|
render_success
|
226
230
|
rescue ActiveRecord::DeleteRestrictionError => e
|
227
231
|
render_failure '该商机已其它关联数据产生,暂不能删除'
|
@@ -36,7 +36,7 @@ module EducodeSales
|
|
36
36
|
def destroy
|
37
37
|
follow_up = FollowUp.find(params[:id])
|
38
38
|
business = follow_up.business
|
39
|
-
if follow_up.
|
39
|
+
if follow_up.soft_destroy(@current_admin.id)
|
40
40
|
if follow_up.id == business.last_follow_up_id
|
41
41
|
business.update(last_follow_up: business.follow_ups.last, return_money: MoneyPlan.where(clazz: '已完成', follow_up_id: business.follow_ups.last&.id).sum(:amount))
|
42
42
|
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require_dependency "educode_sales/application_controller"
|
2
|
+
|
3
|
+
module EducodeSales
|
4
|
+
class RecyclesController < ApplicationController
|
5
|
+
|
6
|
+
def destroy
|
7
|
+
@recycle = Recycle.find(params[:id])
|
8
|
+
@recycle.destroy
|
9
|
+
render_success
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
def restore_reports
|
15
|
+
@recycle = Recycle.find(params[:id])
|
16
|
+
report_id = @recycle.source_id
|
17
|
+
EducodeSales::SaleReport.unscoped.find(report_id).update(deleted_at: nil)
|
18
|
+
@recycle.destroy
|
19
|
+
render_success
|
20
|
+
end
|
21
|
+
|
22
|
+
def restore_plans
|
23
|
+
@recycle = Recycle.find(params[:id])
|
24
|
+
plan = EducodeSales::SalePlan.unscoped.find(@recycle.source_id)
|
25
|
+
business = EducodeSales::Business.unscoped.find(plan.business_id)
|
26
|
+
Recycle.find_by(source_id: business.id).destroy if Recycle.find_by(source_id: business.id).present?
|
27
|
+
business.update(deleted_at: nil)
|
28
|
+
follow_ups = EducodeSales::FollowUp.unscoped.where(business_id: business.id)
|
29
|
+
follow_ups.update_all(deleted_at: nil)
|
30
|
+
plan.update(deleted_at: nil)
|
31
|
+
@recycle.destroy
|
32
|
+
render_success
|
33
|
+
end
|
34
|
+
|
35
|
+
def restore_businesses
|
36
|
+
@recycle = Recycle.find(params[:id])
|
37
|
+
business_id = @recycle.source_id
|
38
|
+
EducodeSales::Business.unscoped.find(business_id).update(deleted_at: nil)
|
39
|
+
follow_ups = EducodeSales::FollowUp.unscoped.where(business_id: business_id)
|
40
|
+
follow_ups.update_all(deleted_at: nil)
|
41
|
+
@recycle.destroy
|
42
|
+
render_success
|
43
|
+
end
|
44
|
+
|
45
|
+
def business
|
46
|
+
@businesses = Recycle.where(source_type:"EducodeSales::Business")
|
47
|
+
if params[:sort].present? && params[:sort][:field]
|
48
|
+
@businesses = @businesses.order("created_at #{params[:sort][:order]}")
|
49
|
+
else
|
50
|
+
@businesses = @businesses.order("educode_sales_recycles.created_at desc")
|
51
|
+
end
|
52
|
+
@businesses = @businesses.page(params[:page]).per(params[:limit])
|
53
|
+
end
|
54
|
+
|
55
|
+
def weekly
|
56
|
+
@weekly = Recycle.where(source_type:"EducodeSales::SaleReport").order(created_at: :desc).page(params[:page]).per(params[:limit])
|
57
|
+
if params[:sort].present? && params[:sort][:field]
|
58
|
+
@weekly = @weekly.order("created_at #{params[:sort][:order]}")
|
59
|
+
else
|
60
|
+
@weekly = @weekly.order("educode_sales_recycles.created_at desc")
|
61
|
+
end
|
62
|
+
@weekly = @weekly.page(params[:page]).per(params[:limit])
|
63
|
+
end
|
64
|
+
|
65
|
+
def monthly
|
66
|
+
@monthly = Recycle.where(source_type:"EducodeSales::SaleReport")
|
67
|
+
if params[:sort].present? && params[:sort][:field]
|
68
|
+
@monthly = @monthly.order("created_at #{params[:sort][:order]}")
|
69
|
+
else
|
70
|
+
@monthly = @monthly.order("educode_sales_recycles.created_at desc")
|
71
|
+
end
|
72
|
+
@monthly = @monthly.page(params[:page]).per(params[:limit])
|
73
|
+
end
|
74
|
+
|
75
|
+
def weekPlan
|
76
|
+
@weekPlans = Recycle.where(source_type:"EducodeSales::SalePlan")
|
77
|
+
if params[:sort].present? && params[:sort][:field]
|
78
|
+
@weekPlans = @weekPlans.order("created_at #{params[:sort][:order]}")
|
79
|
+
else
|
80
|
+
@weekPlans = @weekPlans.order("educode_sales_recycles.created_at desc")
|
81
|
+
end
|
82
|
+
@weekPlans = @weekPlans.page(params[:page]).per(params[:limit])
|
83
|
+
end
|
84
|
+
|
85
|
+
def monthPlan
|
86
|
+
@monthPlans = Recycle.where(source_type:"EducodeSales::SalePlan")
|
87
|
+
if params[:sort].present? && params[:sort][:field]
|
88
|
+
@monthPlans = @monthPlans.order("created_at #{params[:sort][:order]}")
|
89
|
+
else
|
90
|
+
@monthPlans = @monthPlans.order("educode_sales_recycles.created_at desc")
|
91
|
+
end
|
92
|
+
@monthPlans = @monthPlans.page(params[:page]).per(params[:limit])
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -8,7 +8,7 @@ module EducodeSales
|
|
8
8
|
format.html do
|
9
9
|
end
|
10
10
|
format.json do
|
11
|
-
@staffs = Staff.where(is_admin: false).page(params[:page]).per(params[:limit])
|
11
|
+
@staffs = Staff.where(is_admin: false, deleted_at: nil).page(params[:page]).per(params[:limit])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -37,10 +37,10 @@ module EducodeSales
|
|
37
37
|
|
38
38
|
def destroy
|
39
39
|
staff = Staff.find(params[:id])
|
40
|
-
staff.
|
40
|
+
staff.update(deleted_at: Time.now, expired_at: Time.now.days_ago(1))
|
41
41
|
render_success
|
42
|
-
rescue ActiveRecord::DeleteRestrictionError => e
|
43
|
-
|
42
|
+
# rescue ActiveRecord::DeleteRestrictionError => e
|
43
|
+
# render_failure '该用户已有数据产生,暂不能删除'
|
44
44
|
end
|
45
45
|
|
46
46
|
def disable
|
@@ -1,10 +1,23 @@
|
|
1
1
|
module EducodeSales
|
2
2
|
class Business < ApplicationRecord
|
3
|
+
|
3
4
|
belongs_to :staff
|
4
5
|
belongs_to :department
|
5
6
|
belongs_to :last_follow_up, class_name: 'FollowUp', optional: true
|
6
7
|
|
7
|
-
has_many :sale_plans
|
8
|
-
has_many :follow_ups
|
8
|
+
has_many :sale_plans
|
9
|
+
has_many :follow_ups
|
10
|
+
|
11
|
+
default_scope -> {where(deleted_at: nil)}
|
12
|
+
|
13
|
+
def soft_destroy(user_id)
|
14
|
+
self.update(deleted_at: Time.now)
|
15
|
+
self.sale_plans.each do |d|
|
16
|
+
d.soft_destroy(user_id)
|
17
|
+
end
|
18
|
+
self.follow_ups.update_all(deleted_at: Time.now)
|
19
|
+
EducodeSales::Recycle.create(source: self, deleter_id: user_id)
|
20
|
+
end
|
21
|
+
|
9
22
|
end
|
10
23
|
end
|
@@ -1,14 +1,16 @@
|
|
1
1
|
module EducodeSales
|
2
2
|
class FollowUp < ApplicationRecord
|
3
|
+
include ::Deletable
|
3
4
|
belongs_to :business, counter_cache: true
|
4
5
|
belongs_to :place, optional: true
|
5
|
-
has_many :money_plans
|
6
|
+
has_many :money_plans
|
6
7
|
has_many :key_person
|
7
8
|
has_many :teachers, through: :key_person
|
8
|
-
has_many :assign_follow_ups
|
9
|
+
has_many :assign_follow_ups
|
9
10
|
belongs_to :staff
|
10
11
|
belongs_to :stage, class_name: 'Common'
|
11
12
|
belongs_to :clazz, class_name: 'Common'
|
13
|
+
default_scope -> {where(deleted_at: nil)}
|
12
14
|
|
13
15
|
|
14
16
|
end
|
@@ -1,9 +1,12 @@
|
|
1
1
|
module EducodeSales
|
2
2
|
class SalePlan < ApplicationRecord
|
3
|
+
include ::Deletable
|
3
4
|
belongs_to :business
|
4
5
|
belongs_to :staff
|
5
6
|
validates :business_id, presence: true
|
6
7
|
|
7
8
|
validates :month, presence: true
|
9
|
+
|
10
|
+
default_scope -> {where(deleted_at: nil)}
|
8
11
|
end
|
9
12
|
end
|
@@ -56,13 +56,13 @@
|
|
56
56
|
</div>
|
57
57
|
</script>
|
58
58
|
<script type="text/html" id="return_money_tabar">
|
59
|
-
{{# if(parent.is_latest){ }}
|
59
|
+
{{# if(parent.is_latest && parent.flag){ }}
|
60
60
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">保存</a>
|
61
61
|
<a class="layui-btn layui-btn-danger layui-btn-xs data-count-edit" lay-event="delete">删除</a>
|
62
62
|
{{# } }}
|
63
63
|
</script>
|
64
64
|
<script>
|
65
|
-
if(!parent.is_latest){
|
65
|
+
if(!parent.is_latest || !parent.flag){
|
66
66
|
document.getElementById("show_plan_box").style.display="none";//隐藏
|
67
67
|
}
|
68
68
|
layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'laydate'], function () {
|
@@ -53,7 +53,7 @@
|
|
53
53
|
<div class="layui-inline">
|
54
54
|
<button type="reset" class="layui-btn layui-btn-primary" lay-submit lay-filter="reset_business_search">重置
|
55
55
|
</button>
|
56
|
-
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">搜索
|
56
|
+
<button type="submit" id="search_bt" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">搜索
|
57
57
|
</button>
|
58
58
|
</div>
|
59
59
|
</div>
|
@@ -173,11 +173,13 @@
|
|
173
173
|
field: 'bidded_date',
|
174
174
|
width: 105,
|
175
175
|
title: '中标时间',
|
176
|
+
sort: true
|
176
177
|
},
|
177
178
|
{
|
178
179
|
field: 'signed_date',
|
179
180
|
width: 105,
|
180
181
|
title: '签单时间',
|
182
|
+
sort: true
|
181
183
|
},
|
182
184
|
{
|
183
185
|
field: 'reception_at',
|
@@ -371,6 +373,13 @@
|
|
371
373
|
});
|
372
374
|
}
|
373
375
|
|
376
|
+
function hn(){
|
377
|
+
$("#search_bt").trigger("click");
|
378
|
+
}
|
379
|
+
$(document).ready(function(){
|
380
|
+
window.onload=hn;
|
381
|
+
});
|
382
|
+
|
374
383
|
|
375
384
|
var sort = {}, search = {};
|
376
385
|
table.on('sort(businesses_table)', function (obj) {
|
@@ -388,7 +397,8 @@
|
|
388
397
|
// 监听搜索操作
|
389
398
|
form.on('submit(search_bussiness)', function (data) {
|
390
399
|
search = data.field
|
391
|
-
|
400
|
+
console.log(search);
|
401
|
+
table.reload('businesses_table', {
|
392
402
|
page: {
|
393
403
|
curr: 1
|
394
404
|
},
|
@@ -97,9 +97,13 @@
|
|
97
97
|
</div>
|
98
98
|
<div class="layui-form-item">
|
99
99
|
<label class="layui-form-label">指定跟进人</label>
|
100
|
-
<div class="layui-input-inline">
|
100
|
+
<div class="layui-input-inline" style="z-index: 10000">
|
101
101
|
<div id="assign_follow" style="width: 512px;"></div>
|
102
102
|
</div>
|
103
|
+
<div class="layui-inline" style="padding: 9px 15px">
|
104
|
+
<label class="layui-form-label" style="padding-left: 220px"></label>
|
105
|
+
指定跟进人和商机创建者,同时拥有对该商机的管理权限
|
106
|
+
</div>
|
103
107
|
</div>
|
104
108
|
<div class="layui-form-item layui-form-text">
|
105
109
|
<label class="layui-form-label required">最新进展</label>
|
@@ -1,7 +1,6 @@
|
|
1
1
|
<script type="text/html" id="toolbarDemo_follow">
|
2
2
|
<div class="layui-btn-container">
|
3
3
|
<span class="table-label">跟进记录</span>
|
4
|
-
<span class="table-label" style="padding-left: 200px">温馨提示:仅可以在24小时之内,编辑/删除最新的跟进记录</span>
|
5
4
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="time_line"> 时间线视图>></button>
|
6
5
|
<% if can? :add_follow, EducodeSales::Business %>
|
7
6
|
<% if @current_admin.is_admin %>
|
@@ -10,9 +9,10 @@
|
|
10
9
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加跟进记录</button>
|
11
10
|
<% end %>
|
12
11
|
<% end %>
|
12
|
+
<span class="table-label pull-right" style="padding-right: 20px">温馨提示:仅可以在24小时之内,编辑/删除最新的跟进记录</span>
|
13
13
|
</div>
|
14
14
|
</script>
|
15
|
-
<div class="edit-table">
|
15
|
+
<div class="edit-table tool">
|
16
16
|
<div class="z-index">
|
17
17
|
<table class="layui-hide" id="sale_plan_follow_table" lay-filter="sale_plan_follow_table"></table>
|
18
18
|
</div>
|
@@ -289,6 +289,7 @@
|
|
289
289
|
content = miniPage.getHrefContent('/missions/teachers/add_keys?follow_up_id=' + obj.data.id);
|
290
290
|
openWH = miniPage.getOpenWidthHeight();
|
291
291
|
is_latest = obj.data.is_latest
|
292
|
+
flag = obj.data.flag
|
292
293
|
keyindex = layer.open({
|
293
294
|
title: '关键人',
|
294
295
|
type: 1,
|
@@ -310,6 +311,7 @@
|
|
310
311
|
content = miniPage.getHrefContent('/missions/businesses/edit_plan');
|
311
312
|
openWH = miniPage.getOpenWidthHeight();
|
312
313
|
is_latest = obj.data.is_latest
|
314
|
+
flag = obj.data.flag
|
313
315
|
plan_index = layer.open({
|
314
316
|
title: '回款计划',
|
315
317
|
type: 1,
|
@@ -533,4 +535,7 @@
|
|
533
535
|
.z-index .layui-table-tool{
|
534
536
|
z-index: 10000; !important;
|
535
537
|
}
|
538
|
+
.tool .layui-table-tool-temp{
|
539
|
+
padding-right: 30px; !important;
|
540
|
+
}
|
536
541
|
</style>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div style="padding-left: 50px">
|
2
|
-
<button type="button" class="layui-btn" id="
|
2
|
+
<button type="button" class="layui-btn" id="get_file"><i class="layui-icon"></i>选择文件</button>
|
3
3
|
</div>
|
4
4
|
<script>
|
5
5
|
layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput'], function () {
|
@@ -17,7 +17,7 @@
|
|
17
17
|
//指定允许上传的文件类型
|
18
18
|
var business_id = parent.id
|
19
19
|
var renderObj = upload.render({
|
20
|
-
elem: '#
|
20
|
+
elem: '#get_file'
|
21
21
|
,url: '/missions/upload_files?business_id='+business_id //此处配置你自己的上传接口即可
|
22
22
|
,accept: 'file' //普通文件
|
23
23
|
,headers: {
|
@@ -28,12 +28,12 @@
|
|
28
28
|
}
|
29
29
|
,done: function(res){
|
30
30
|
layer.msg('导入成功');
|
31
|
-
table.reload('
|
31
|
+
table.reload('file');
|
32
32
|
layer.closeAll('loading'); //关闭loading
|
33
33
|
layer.close(parent.import_index)
|
34
34
|
}
|
35
35
|
,error: function(index, upload){
|
36
|
-
table.reload('
|
36
|
+
table.reload('file');
|
37
37
|
layer.closeAll('loading'); //关闭loading
|
38
38
|
layer.alert('导入失败,请检查文件格式')
|
39
39
|
layer.close(parent.import_index)
|
@@ -32,7 +32,8 @@
|
|
32
32
|
3、补充说明需要上级解决的问题和挑战。" disabled class="layui-textarea autosize"><%= @sale_report.content %></textarea>
|
33
33
|
</div>
|
34
34
|
</div>
|
35
|
-
|
35
|
+
<% if can? :level1_audit, EducodeSales::OperationReport %>
|
36
|
+
<div class="layui-form-item layui-form-text" style="margin-bottom: 0px">
|
36
37
|
<label class="layui-form-label">大区意见</label>
|
37
38
|
<div class="layui-input-block">
|
38
39
|
<textarea name="level1_opinion" placeholder="给出评价、提醒、建议、办法等。"
|
@@ -40,7 +41,9 @@
|
|
40
41
|
</div>
|
41
42
|
</div>
|
42
43
|
<div id="weekStar4" style="margin-bottom: 40px"></div>
|
43
|
-
|
44
|
+
<%end %>
|
45
|
+
<% if can? :level2_audit, EducodeSales::OperationReport %>
|
46
|
+
<div class="layui-form-item layui-form-text" style="margin-bottom: 0px">
|
44
47
|
<label class="layui-form-label">总监意见</label>
|
45
48
|
<div class="layui-input-block">
|
46
49
|
<textarea name="level2_opinion" placeholder="给出评价、提醒、建议、办法等。"
|
@@ -48,7 +51,9 @@
|
|
48
51
|
</div>
|
49
52
|
</div>
|
50
53
|
<div id="weekStar5" style="margin-bottom: 40px"></div>
|
51
|
-
|
54
|
+
<%end %>
|
55
|
+
<% if can? :level3_audit, EducodeSales::OperationReport %>
|
56
|
+
<div class="layui-form-item layui-form-text" style="margin-bottom: 0px">
|
52
57
|
<label class="layui-form-label">副总意见</label>
|
53
58
|
<div class="layui-input-block">
|
54
59
|
<textarea name="level3_opinion" placeholder="给出评价、提醒、建议、办法等。"
|
@@ -56,6 +61,7 @@
|
|
56
61
|
</div>
|
57
62
|
</div>
|
58
63
|
<div id="weekStar6" style="margin-bottom: 40px"></div>
|
64
|
+
<%end %>
|
59
65
|
<br>
|
60
66
|
<div class="layui-inline m-t-10">
|
61
67
|
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="audit_weekly_report"
|
@@ -31,7 +31,8 @@
|
|
31
31
|
3、补充说明需要上级解决的问题和挑战。" disabled class="layui-textarea autosize"><%= @sale_report.content %></textarea>
|
32
32
|
</div>
|
33
33
|
</div>
|
34
|
-
|
34
|
+
<% if @sale_report.level1_opinion.present? || @sale_report.level1_score %>
|
35
|
+
<div class="layui-form-item layui-form-text" style="margin-bottom: 0px">
|
35
36
|
<label class="layui-form-label">大区意见</label>
|
36
37
|
<div class="layui-input-block">
|
37
38
|
<textarea name="desc" placeholder="给出评价、提醒、建议、办法等。" disabled
|
@@ -39,7 +40,9 @@
|
|
39
40
|
</div>
|
40
41
|
</div>
|
41
42
|
<div id="weekStar4" style="margin-bottom: 40px"></div>
|
42
|
-
|
43
|
+
<%end %>
|
44
|
+
<% if @sale_report.level2_opinion.present? || @sale_report.level2_score %>
|
45
|
+
<div class="layui-form-item layui-form-text" style="margin-bottom: 0px">
|
43
46
|
<label class="layui-form-label">总监意见</label>
|
44
47
|
<div class="layui-input-block">
|
45
48
|
<textarea name="desc" placeholder="给出评价、提醒、建议、办法等。" disabled
|
@@ -47,7 +50,9 @@
|
|
47
50
|
</div>
|
48
51
|
</div>
|
49
52
|
<div id="weekStar5" style="margin-bottom: 40px"></div>
|
50
|
-
|
53
|
+
<%end %>
|
54
|
+
<% if @sale_report.level3_opinion.present? || @sale_report.level3_score %>
|
55
|
+
<div class="layui-form-item layui-form-text" style="margin-bottom: 0px">
|
51
56
|
<label class="layui-form-label">副总意见</label>
|
52
57
|
<div class="layui-input-block">
|
53
58
|
<textarea name="desc" placeholder="给出评价、提醒、建议、办法等。" disabled
|
@@ -55,6 +60,7 @@
|
|
55
60
|
</div>
|
56
61
|
</div>
|
57
62
|
<div id="weekStar6" style="margin-bottom: 40px"></div>
|
63
|
+
<%end %>
|
58
64
|
<br>
|
59
65
|
</div>
|
60
66
|
</form>
|