educode_sales 0.6.3 → 0.6.7
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/money_plans.png +0 -0
- data/app/controllers/educode_sales/activities_controller.rb +0 -2
- data/app/controllers/educode_sales/businesses_controller.rb +103 -47
- data/app/controllers/educode_sales/money_plans_controller.rb +65 -0
- data/app/controllers/educode_sales/roles_controller.rb +4 -1
- data/app/controllers/educode_sales/sale_trends_controller.rb +145 -30
- data/app/controllers/educode_sales/staffs_controller.rb +3 -4
- data/app/controllers/educode_sales/teacher_follows_controller.rb +1 -93
- data/app/models/educode_sales/business_export_record.rb +5 -0
- data/app/models/educode_sales/permission.rb +2 -1
- data/app/models/educode_sales/role_area.rb +1 -0
- data/app/views/educode_sales/activities/index.html.erb +7 -1
- data/app/views/educode_sales/activities/new.html.erb +1 -1
- data/app/views/educode_sales/businesses/_follows.html.erb +15 -15
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +13 -4
- data/app/views/educode_sales/businesses/edit_plan.html.erb +5 -2
- data/app/views/educode_sales/businesses/export_records.html.erb +53 -0
- data/app/views/educode_sales/businesses/export_records.json.jbuilder +11 -0
- data/app/views/educode_sales/businesses/file.html.erb +8 -4
- data/app/views/educode_sales/businesses/index.html.erb +121 -14
- data/app/views/educode_sales/businesses/index.json.jbuilder +34 -4
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +10 -5
- data/app/views/educode_sales/businesses/show_follow.html.erb +1 -0
- data/app/views/educode_sales/commons/index.html.erb +7 -1
- data/app/views/educode_sales/customers/edit.html.erb +690 -10
- data/app/views/educode_sales/customers/edit_follow_record.html.erb +1 -1
- data/app/views/educode_sales/customers/index.json.jbuilder +2 -1
- data/app/views/educode_sales/customers/new.html.erb +691 -11
- data/app/views/educode_sales/customers/new_follow_record.html.erb +1 -1
- data/app/views/educode_sales/customers/show_follow.html.erb +1 -1
- data/app/views/educode_sales/money_plans/index.html.erb +222 -0
- data/app/views/educode_sales/money_plans/index.json.jbuilder +21 -0
- data/app/views/educode_sales/places/index.html.erb +16 -2
- data/app/views/educode_sales/places/index.json.jbuilder +3 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +2 -1
- data/app/views/educode_sales/plans/_weekPlan.html.erb +2 -1
- data/app/views/educode_sales/recycles/business.json.jbuilder +2 -2
- data/app/views/educode_sales/roles/edit.html.erb +8 -0
- data/app/views/educode_sales/roles/index.html.erb +7 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +145 -33
- data/app/views/educode_sales/sale_trends/trends.json.jbuilder +4 -14
- data/app/views/educode_sales/sales/index.html.erb +2 -0
- data/app/views/educode_sales/sales/index.json.jbuilder +2 -2
- data/app/views/educode_sales/sales/operations.json.jbuilder +2 -2
- data/app/views/educode_sales/teachers/index.html.erb +15 -7
- data/app/views/layouts/educode_sales/application.html.erb +18 -2
- data/config/routes.rb +4 -0
- data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +10 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +9 -2
@@ -34,114 +34,22 @@ module EducodeSales
|
|
34
34
|
def update
|
35
35
|
follow_up = TeacherFollow.find(params[:id])
|
36
36
|
follow_up.assign_attributes(follow_up_params)
|
37
|
-
# follow_up.profit_amount = follow_up.actual_amount * (100-follow_up.divide_amount.to_i) * 0.01 if follow_up.actual_amount
|
38
37
|
if follow_up.save
|
39
38
|
render_success
|
40
39
|
else
|
41
40
|
render_failure follow_up
|
42
41
|
end
|
43
42
|
end
|
44
|
-
#
|
45
|
-
# def teachers
|
46
|
-
# follow_up = @current_admin.follow_ups.find_by(id: params[:id])
|
47
|
-
# if follow_up.present?
|
48
|
-
# @teachers = follow_up.key_person.includes(:teacher).page(params[:page]).per(params[:limit])
|
49
|
-
# else
|
50
|
-
# @teachers = FollowUp.none
|
51
|
-
# end
|
52
|
-
# end
|
53
|
-
#
|
54
|
-
# def money_plans
|
55
|
-
# follow_up = @current_admin.follow_ups.find_by(id: params[:id])
|
56
|
-
# @money_plans = follow_up.money_plans.page(params[:page]).per(params[:limit])
|
57
|
-
# end
|
58
|
-
#
|
59
|
-
# def add_money
|
60
|
-
# follow_up = @current_admin.follow_ups.find(params[:id])
|
61
|
-
# money_plan = follow_up.money_plans.build(date_at: params[:date_at], amount: params[:amount], clazz: params[:clazz])
|
62
|
-
# money_plan.staff = @current_admin
|
63
|
-
# if money_plan.save
|
64
|
-
# render_success
|
65
|
-
# else
|
66
|
-
# render_failure money_plan
|
67
|
-
# end
|
68
|
-
# end
|
69
|
-
#
|
70
|
-
# def update_money
|
71
|
-
# follow_up = @current_admin.follow_ups.find_by(id: params[:id])
|
72
|
-
# money_plan = follow_up.money_plans.find(params[:plan_id])
|
73
|
-
# if money_plan.update(date_at: params[:date_at], amount: params[:amount], clazz: params[:clazz])
|
74
|
-
# render_success
|
75
|
-
# else
|
76
|
-
# render_failure money_plan
|
77
|
-
# end
|
78
|
-
# end
|
79
|
-
#
|
80
|
-
# def delete_money
|
81
|
-
# follow_up = @current_admin.follow_ups.find_by(id: params[:id])
|
82
|
-
# money_plan = follow_up.money_plans.find(params[:plan_id])
|
83
|
-
# if money_plan.destroy
|
84
|
-
# render_success
|
85
|
-
# else
|
86
|
-
# render_failure money_plan
|
87
|
-
# end
|
88
|
-
# end
|
89
|
-
#
|
90
|
-
# def add_keys
|
91
|
-
# follow_up = @current_admin.follow_ups.find(params[:id])
|
92
|
-
# if params[:name].blank?
|
93
|
-
# return render_failure '请从平台里选择教师'
|
94
|
-
# end
|
95
|
-
#
|
96
|
-
# names = params[:name].split("-")
|
97
|
-
# if names[0] == 't'
|
98
|
-
# # 从教师列表里选择的用户
|
99
|
-
# teacher = Teacher.find(names[1])
|
100
|
-
# key_peprson = KeyPerson.new(teacher_params)
|
101
|
-
# key_peprson.teacher = teacher
|
102
|
-
# else
|
103
|
-
# # 从头歌平台选择的用户
|
104
|
-
# user = User.find(names[1])
|
105
|
-
# teacher = Teacher.new(staff: @current_admin,
|
106
|
-
# professional_title: params[:professional_title],
|
107
|
-
# job: params[:job],
|
108
|
-
# user_id: user.id,
|
109
|
-
# is_key: true,
|
110
|
-
# department_id: user.department_id,
|
111
|
-
# name: user.real_name
|
112
|
-
# )
|
113
|
-
# teacher.save
|
114
|
-
# key_peprson = KeyPerson.new(teacher_params)
|
115
|
-
# key_peprson.teacher = teacher
|
116
|
-
# end
|
117
|
-
#
|
118
|
-
# follow_up.key_person << key_peprson
|
119
|
-
# if follow_up.save!
|
120
|
-
# render_success
|
121
|
-
# else
|
122
|
-
# render_failure follow_up
|
123
|
-
# end
|
124
|
-
# rescue ActiveRecord::RecordInvalid => e
|
125
|
-
# if e.message.include?("Teacher已经被使用") || e.message.include?('Key person是无效的')
|
126
|
-
# render_failure '该老师已在关键人列表中'
|
127
|
-
# else
|
128
|
-
# render_failure e.message
|
129
|
-
# end
|
130
|
-
# end
|
131
43
|
|
132
44
|
private
|
133
45
|
|
134
46
|
def load_teacher
|
135
47
|
@teacher = Teacher.find(params[:teacher_id])
|
136
48
|
end
|
137
|
-
|
49
|
+
|
138
50
|
def follow_up_params
|
139
51
|
params.permit(:attitude_id, :follow_id, :course_plan_id, :course_build_id, :description)
|
140
52
|
end
|
141
|
-
#
|
142
|
-
# def teacher_params
|
143
|
-
# params.permit(:professional_title, :job, :attitude_id, :sex, :birth_date, :remark)
|
144
|
-
# end
|
145
53
|
|
146
54
|
end
|
147
55
|
end
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<div class="layui-inline">
|
13
13
|
<label class="layui-form-label required">活动时间</label>
|
14
14
|
<div class="layui-input-block">
|
15
|
-
<input type="text" name="start_at" required lay-verify="required" class="layui-input" id="new_time" placeholder="请选择时间">
|
15
|
+
<input type="text" name="start_at" autocomplete="off" required lay-verify="required" class="layui-input" id="new_time" placeholder="请选择时间">
|
16
16
|
</div>
|
17
17
|
</div>
|
18
18
|
<div class="layui-inline">
|
@@ -100,10 +100,16 @@
|
|
100
100
|
templet:'<div><span title="{{d.description}}">{{d.description}}</span></div>'
|
101
101
|
},
|
102
102
|
{
|
103
|
-
field: '
|
103
|
+
field: 'business',
|
104
104
|
width: 120,
|
105
|
-
title: '
|
106
|
-
templet:'
|
105
|
+
title: '所属商机',
|
106
|
+
templet:'#business'
|
107
|
+
},
|
108
|
+
{
|
109
|
+
field: 'school',
|
110
|
+
width: 120,
|
111
|
+
title: '单位',
|
112
|
+
templet:'#school'
|
107
113
|
},
|
108
114
|
{
|
109
115
|
field: 'clazz',
|
@@ -117,24 +123,18 @@
|
|
117
123
|
width: 90,
|
118
124
|
templet:'<div><span title="{{d.stage}}">{{d.stage}}</span></div>'
|
119
125
|
},
|
126
|
+
{
|
127
|
+
field: 'advise',
|
128
|
+
width: 120,
|
129
|
+
title: '团队建议',
|
130
|
+
templet:'<div><span title="{{d.advise}}">{{d.advise}}</span></div>'
|
131
|
+
},
|
120
132
|
{
|
121
133
|
field: 'key_people',
|
122
134
|
width: 90,
|
123
135
|
title: '关键人',
|
124
136
|
templet:'<div><span title="{{d.key_people}}">{{d.key_people}}</span></div>'
|
125
137
|
},
|
126
|
-
{
|
127
|
-
field: 'business',
|
128
|
-
width: 120,
|
129
|
-
title: '所属商机',
|
130
|
-
templet:'#business'
|
131
|
-
},
|
132
|
-
{
|
133
|
-
field: 'school',
|
134
|
-
width: 120,
|
135
|
-
title: '单位',
|
136
|
-
templet:'#school'
|
137
|
-
},
|
138
138
|
{
|
139
139
|
field: 'staff',
|
140
140
|
width: 90,
|
@@ -69,25 +69,29 @@
|
|
69
69
|
<div class="layui-input-inline">
|
70
70
|
<input name="total_amount" type="number" class="layui-input" value="<%= @follow_up.total_amount %>">
|
71
71
|
</div>
|
72
|
-
</div>
|
72
|
+
客户采购支出的费用。总额的生命历程:1.在最初阶段,是商机的预算总额;2.在挂网阶段,是项目的挂网预算总额;3.在中标阶段,是项目的中标总额。 </div>
|
73
|
+
<br>
|
73
74
|
<div class="layui-inline">
|
74
75
|
<label class="layui-form-label">合同额(万)</label>
|
75
76
|
<div class="layui-input-inline">
|
76
77
|
<input name="actual_amount" type="number" class="layui-input" placeholder="本单位的签单金额" value="<%= @follow_up.actual_amount %>">
|
77
78
|
</div>
|
79
|
+
客户签给头歌的费用。合同额的生命历程:1.在中标之前,合同额都是0;2.在中标之后,实际与头歌签合同的金额。
|
78
80
|
</div>
|
79
81
|
<br>
|
80
82
|
<div class="layui-inline place_select">
|
81
83
|
<label class="layui-form-label">渠道</label>
|
82
|
-
<div class="layui-input-inline" style="
|
84
|
+
<div class="layui-input-inline" style="">
|
83
85
|
<div id="edit_place" style="width: 190px;"></div>
|
84
86
|
</div>
|
85
87
|
</div>
|
88
|
+
<br>
|
86
89
|
<div class="layui-inline">
|
87
90
|
<label class="layui-form-label">渠道分成(万)</label>
|
88
91
|
<div class="layui-input-inline">
|
89
92
|
<input name="divide_amount" class="layui-input" value="<%= @follow_up.divide_amount%>">
|
90
93
|
</div>
|
94
|
+
总额里,渠道拿到的部分。
|
91
95
|
</div>
|
92
96
|
<div class="layui-form-item">
|
93
97
|
<div class="layui-inline">
|
@@ -95,14 +99,19 @@
|
|
95
99
|
<div class="layui-input-inline">
|
96
100
|
<input type="text" class="layui-input" name="year" lay-verify="required" autocomplete="off" id="edit_year"
|
97
101
|
value="<%= @follow_up&.year%>"
|
98
|
-
placeholder="请选择年度">
|
102
|
+
placeholder="请选择年度">
|
103
|
+
</div>
|
99
104
|
</div>
|
100
105
|
</div>
|
101
106
|
<div class="layui-form-item">
|
102
107
|
<label class="layui-form-label">指定跟进人</label>
|
103
|
-
<div class="layui-input-inline">
|
108
|
+
<div class="layui-input-inline" style="">
|
104
109
|
<div id="edit_assign_follow" style="width: 512px;"></div>
|
105
110
|
</div>
|
111
|
+
<div class="layui-inline" style="padding: 9px 15px;z-index: -1">
|
112
|
+
<label class="layui-form-label" style="padding-left: 220px"></label>
|
113
|
+
指定跟进人和商机创建者,同时拥有对该商机的管理权限
|
114
|
+
</div>
|
106
115
|
</div>
|
107
116
|
<div class="layui-form-item layui-form-text">
|
108
117
|
<label class="layui-form-label required">最新进展</label>
|
@@ -12,12 +12,15 @@
|
|
12
12
|
</div>
|
13
13
|
</div>
|
14
14
|
<div class="layui-input-inline" style="width: 300px;">
|
15
|
-
<label class="layui-form-label required"
|
15
|
+
<label class="layui-form-label required">回款金额</label>
|
16
16
|
<div class="layui-input-block">
|
17
17
|
<input type="number" name="amount" autocomplete="off" lay-verify="required" lay-reqtext="回款金额不能为空"
|
18
18
|
placeholder="请输入回款金额" value="" class="layui-input" id="return_money_amount">
|
19
19
|
</div>
|
20
20
|
</div>
|
21
|
+
<div class="layui-input-inline" style="width: 0;!important;">
|
22
|
+
<label class="layui-form-label" style="padding-left: 0;width: 10px;!important;">万</label>
|
23
|
+
</div>
|
21
24
|
<div class="layui-input-inline" style="width: 300px;" id="professional_title_div">
|
22
25
|
<label class="layui-form-label required">状态</label>
|
23
26
|
<div class="layui-input-block">
|
@@ -115,7 +118,7 @@
|
|
115
118
|
}, {
|
116
119
|
field: 'amount',
|
117
120
|
width: 200,
|
118
|
-
title: '回款金额',
|
121
|
+
title: '回款金额(万)',
|
119
122
|
edit: true
|
120
123
|
}, {
|
121
124
|
field: 'clazz',
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<script type="text/html" id="activity_toolbar">
|
2
|
+
<div class="layui-btn-container">
|
3
|
+
<span class="table-label">导出记录</span>
|
4
|
+
</div>
|
5
|
+
</script>
|
6
|
+
<div class="min-height-table">
|
7
|
+
<table class="layui-hide" id="activities_table" lay-filter="activities_table"></table>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<script type="text/html" id="currentTableBar">
|
11
|
+
</script>
|
12
|
+
|
13
|
+
<script>
|
14
|
+
layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
|
15
|
+
var $ = layui.jquery,
|
16
|
+
form = layui.form,
|
17
|
+
table = layui.table,
|
18
|
+
request = layui.request,
|
19
|
+
miniPage = layui.miniPage;
|
20
|
+
|
21
|
+
table.render({
|
22
|
+
elem: '#activities_table',
|
23
|
+
url: '/missions/businesses/export_records',
|
24
|
+
toolbar: '#activity_toolbar',
|
25
|
+
defaultToolbar: [],
|
26
|
+
cols: [
|
27
|
+
[
|
28
|
+
{
|
29
|
+
field: 'id',
|
30
|
+
title:'序号',type: 'numbers',
|
31
|
+
},
|
32
|
+
{
|
33
|
+
field: 'name',
|
34
|
+
title: '文件名',
|
35
|
+
},
|
36
|
+
{
|
37
|
+
field: 'staff',
|
38
|
+
title: '导出人',
|
39
|
+
},
|
40
|
+
{
|
41
|
+
field: 'created_at',
|
42
|
+
title: '导出时间',
|
43
|
+
},
|
44
|
+
]
|
45
|
+
],
|
46
|
+
limit: 20,
|
47
|
+
limits: [10,15,20,30,40,50,60,70,80,90],
|
48
|
+
page: true
|
49
|
+
});
|
50
|
+
|
51
|
+
|
52
|
+
});
|
53
|
+
</script>
|
@@ -2,9 +2,9 @@
|
|
2
2
|
<script type="text/html" id="toolbarDemo">
|
3
3
|
<div class="layui-btn-container">
|
4
4
|
<span class="table-label">附件信息</span>
|
5
|
-
|
5
|
+
<% if can? :upload_file, EducodeSales::Business %>
|
6
6
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="upload_file">上传文件</button>
|
7
|
-
|
7
|
+
<% end %>
|
8
8
|
</div>
|
9
9
|
</script>
|
10
10
|
|
@@ -12,8 +12,12 @@
|
|
12
12
|
|
13
13
|
<script type="text/html" id="currentTableBar_file">
|
14
14
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="preview">预览</a>
|
15
|
-
|
16
|
-
|
15
|
+
<% if can? :download_file, EducodeSales::Business %>
|
16
|
+
<a href="/missions/upload_files/download?id={{d.id}}" class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="download">下载</a>
|
17
|
+
<% end %>
|
18
|
+
<% if can? :delete_file, EducodeSales::Business %>
|
19
|
+
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
20
|
+
<% end %>
|
17
21
|
</script>
|
18
22
|
|
19
23
|
<script type="text/html" id="showchance">
|
@@ -28,39 +28,45 @@
|
|
28
28
|
</div>
|
29
29
|
</div>
|
30
30
|
<div class="layui-inline">
|
31
|
-
<label class="layui-form-label"
|
31
|
+
<label class="layui-form-label">最新跟进人</label>
|
32
32
|
<div class="layui-input-inline">
|
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">
|
36
|
+
<div class="layui-inline show_item" style="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">
|
42
|
+
<div class="layui-inline show_item" style="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">
|
48
|
+
<div class="layui-inline show_item" style="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">
|
54
|
+
<div class="layui-inline show_item" style="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">
|
61
|
-
<label class="layui-form-label"
|
60
|
+
<div class="layui-inline show_item" style="display:none;">
|
61
|
+
<label class="layui-form-label">创建时间</label>
|
62
62
|
<div class="layui-input-inline">
|
63
|
-
<input type="text" class="layui-input" id="date" name="date" placeholder=" - ">
|
63
|
+
<input type="text" class="layui-input" id="date" name="date" placeholder=" - " autocomplete="off">
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
<div class="layui-inline show_item" style="display:none;">
|
67
|
+
<label class="layui-form-label">招标时间</label>
|
68
|
+
<div class="layui-input-inline">
|
69
|
+
<input type="text" class="layui-input" id="invitation_at" name="invitation_at" placeholder=" - " autocomplete="off">
|
64
70
|
</div>
|
65
71
|
</div>
|
66
72
|
<div class="layui-inline">
|
@@ -68,6 +74,8 @@
|
|
68
74
|
</button>
|
69
75
|
<button type="submit" id="search_bt" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">搜索
|
70
76
|
</button>
|
77
|
+
<a style="padding-left: 20px;color: #0000FF" href="javascript:;" type="submit" class="" lay-submit lay-filter="show_hide">高级搜索
|
78
|
+
</a>
|
71
79
|
</div>
|
72
80
|
</div>
|
73
81
|
</form>
|
@@ -80,6 +88,7 @@
|
|
80
88
|
<script type="text/html" id="bussinessBar">
|
81
89
|
<div class="layui-btn-container">
|
82
90
|
<span class="table-label">商机列表</span>
|
91
|
+
<a class="layui-btn-xs data-count-edit export_more-btn pull-right" style="color: #0000FF;" data-name="export" data-id="export">导出<i class="layui-icon layui-icon-down layui-nav-more"></i></a>
|
83
92
|
<% if can? :create, EducodeSales::Business %>
|
84
93
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add"> 添加商机</button>
|
85
94
|
<% end %>
|
@@ -126,6 +135,10 @@
|
|
126
135
|
elem: '#date',
|
127
136
|
range: true
|
128
137
|
});
|
138
|
+
laydate.render({
|
139
|
+
elem: '#invitation_at',
|
140
|
+
range: true
|
141
|
+
});
|
129
142
|
|
130
143
|
var is_show = <%=params[:name].present? || params[:clazz_id].present? || params[:place_id].present? || params[:school].present? %>
|
131
144
|
if(is_show){
|
@@ -135,6 +148,15 @@
|
|
135
148
|
$('.businesses_list_div').addClass('layui-show');
|
136
149
|
}
|
137
150
|
|
151
|
+
var business_type_list = xmSelect.render({
|
152
|
+
el: '#business_type',
|
153
|
+
data: gon.business_type
|
154
|
+
})
|
155
|
+
business_type_list.setValue(gon.type)
|
156
|
+
var business_step_list = xmSelect.render({
|
157
|
+
el: '#business_step',
|
158
|
+
data: gon.business_step
|
159
|
+
})
|
138
160
|
var index_place_list = xmSelect.render({
|
139
161
|
el: '#index_place',
|
140
162
|
model: {
|
@@ -182,12 +204,13 @@
|
|
182
204
|
|
183
205
|
|
184
206
|
table = layui.table;
|
185
|
-
table.render({
|
207
|
+
var business_table = table.render({
|
186
208
|
elem: '#businesses_table',
|
187
209
|
url: '/missions/businesses',
|
188
210
|
where: {q: form.val('search_form')},
|
189
211
|
defaultToolbar: ['filter'],
|
190
212
|
toolbar: '#bussinessBar',
|
213
|
+
title: '商机数据表',
|
191
214
|
totalRow: true,//开启合并行
|
192
215
|
cols: [
|
193
216
|
[
|
@@ -300,6 +323,18 @@
|
|
300
323
|
sort: true,
|
301
324
|
totalRow: true
|
302
325
|
},
|
326
|
+
{
|
327
|
+
field: 'wait_return_money',
|
328
|
+
width: 100,
|
329
|
+
title: '待回款',
|
330
|
+
sort: true,
|
331
|
+
totalRow: true
|
332
|
+
},
|
333
|
+
{
|
334
|
+
field: 'return_money_days',
|
335
|
+
width: 120,
|
336
|
+
title: '首次回款周期(天)',
|
337
|
+
},
|
303
338
|
{
|
304
339
|
field: 'place',
|
305
340
|
width: 160,
|
@@ -320,12 +355,16 @@
|
|
320
355
|
page: true,
|
321
356
|
skin: 'line',
|
322
357
|
done: function (res) {
|
323
|
-
|
358
|
+
exportData=res.data1;
|
359
|
+
console.log(exportData);
|
360
|
+
drowpdwonRender()
|
361
|
+
export_drowpdwonRender()
|
324
362
|
}
|
325
363
|
|
326
364
|
});
|
327
365
|
|
328
366
|
var dropmenu = gon.menus;
|
367
|
+
var export_dropmenu = gon.export_menus;
|
329
368
|
|
330
369
|
drowpdwonRender = function() {
|
331
370
|
dropdown.render({
|
@@ -358,6 +397,56 @@
|
|
358
397
|
});
|
359
398
|
}
|
360
399
|
|
400
|
+
export_drowpdwonRender = function() {
|
401
|
+
dropdown.render({
|
402
|
+
elem: '.export_more-btn',
|
403
|
+
data: export_dropmenu,
|
404
|
+
click: function(data, othis){
|
405
|
+
var elem = $(this.elem);
|
406
|
+
id = elem.data('id');
|
407
|
+
switch (data.event) {
|
408
|
+
case 'export_csv':
|
409
|
+
export_csv();
|
410
|
+
break;
|
411
|
+
case 'export_excel':
|
412
|
+
export_excel();
|
413
|
+
break;
|
414
|
+
case 'export_records':
|
415
|
+
export_records();
|
416
|
+
break;
|
417
|
+
}
|
418
|
+
}
|
419
|
+
});
|
420
|
+
}
|
421
|
+
|
422
|
+
function export_csv() {
|
423
|
+
table.exportFile(business_table.config.id,exportData, 'csv');
|
424
|
+
request.get('/missions/businesses/add_export_records?type=csv', {}, function (res) {
|
425
|
+
})
|
426
|
+
}
|
427
|
+
function export_excel() {
|
428
|
+
table.exportFile(business_table.config.id,exportData, 'xls');
|
429
|
+
request.get('/missions/businesses/add_export_records?type=excel', {}, function (res) {
|
430
|
+
})
|
431
|
+
}
|
432
|
+
function export_records() {
|
433
|
+
var content = miniPage.getHrefContent('/missions/businesses/export_records')
|
434
|
+
var openWH = miniPage.getOpenWidthHeight();
|
435
|
+
sindex = layer.open({
|
436
|
+
title: '·',
|
437
|
+
type: 1,
|
438
|
+
shade: 0.2,
|
439
|
+
maxmin: true,
|
440
|
+
shadeClose: true,
|
441
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
442
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
443
|
+
content: content
|
444
|
+
});
|
445
|
+
$(window).on("resize", function () {
|
446
|
+
layer.full(sindex);
|
447
|
+
});
|
448
|
+
}
|
449
|
+
|
361
450
|
function week(id) {
|
362
451
|
var content = miniPage.getHrefContent('/missions/plans/new_week?business_id=' + id);
|
363
452
|
var openWH = miniPage.getOpenWidthHeight();
|
@@ -481,7 +570,17 @@
|
|
481
570
|
|
482
571
|
// 监听搜索操作
|
483
572
|
form.on('submit(search_bussiness)', function (data) {
|
573
|
+
var business_type = [];
|
574
|
+
business_type_list.getValue().forEach(function(d) {
|
575
|
+
business_type.push(d.value);
|
576
|
+
})
|
577
|
+
var business_step = [];
|
578
|
+
business_step_list.getValue().forEach(function(d) {
|
579
|
+
business_step.push(d.value);
|
580
|
+
})
|
484
581
|
data.field.place_id = index_place_list.getValue('valueStr');
|
582
|
+
data.field.business_type = business_type.toString();
|
583
|
+
data.field.business_step = business_step.toString();
|
485
584
|
search = data.field
|
486
585
|
console.log(search);
|
487
586
|
table.reload('businesses_table', {
|
@@ -503,13 +602,21 @@
|
|
503
602
|
return false;
|
504
603
|
});
|
505
604
|
|
605
|
+
form.on('submit(show_hide)', function (data) {
|
606
|
+
$(".show_item").toggle()
|
607
|
+
return false;
|
608
|
+
});
|
506
609
|
form.on('submit(reset_business_search)', function (data) {
|
507
610
|
var field = data.field;
|
508
611
|
form.val('search_form', {
|
509
612
|
name: '', department: '', staff_id: '', business_type: '', business_step: '',
|
510
|
-
place_id: '', date: '', area: ''
|
613
|
+
place_id: '', date: '', area: '', invitation_at: ''
|
511
614
|
})
|
512
|
-
|
615
|
+
business_type_list.setValue([])
|
616
|
+
business_step_list.setValue([])
|
617
|
+
index_place_list.setValue([])
|
618
|
+
|
619
|
+
return false;
|
513
620
|
});
|
514
621
|
|
515
622
|
table.on('toolbar(businesses_table)', function (obj) {
|