educode_sales 0.5.3 → 0.5.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/controllers/educode_sales/businesses_controller.rb +3 -0
- data/app/controllers/educode_sales/follow_ups_controller.rb +57 -0
- data/app/controllers/educode_sales/home_controller.rb +11 -0
- data/app/controllers/educode_sales/sale_trends_controller.rb +108 -84
- data/app/controllers/educode_sales/teachers_controller.rb +36 -14
- data/app/controllers/educode_sales/upload_files_controller.rb +3 -3
- data/app/models/educode_sales/teacher.rb +2 -1
- data/app/models/educode_sales/teacher_assign_follow.rb +6 -0
- data/app/views/educode_sales/activities/index.html.erb +4 -5
- data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
- data/app/views/educode_sales/businesses/_follows.html.erb +233 -0
- data/app/views/educode_sales/businesses/edit_follow_record.html.erb +59 -9
- data/app/views/educode_sales/businesses/file.html.erb +2 -4
- data/app/views/educode_sales/businesses/index.html.erb +137 -62
- data/app/views/educode_sales/businesses/index.json.jbuilder +1 -0
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +58 -7
- data/app/views/educode_sales/businesses/show_follow.html.erb +9 -9
- data/app/views/educode_sales/businesses/show_follow_record.html.erb +1 -1
- data/app/views/educode_sales/businesses/time_line.html.erb +1 -1
- data/app/views/educode_sales/follow_ups/index.json.jbuilder +19 -0
- data/app/views/educode_sales/home/sales_place.json.jbuilder +9 -0
- data/app/views/educode_sales/places/index.html.erb +14 -4
- data/app/views/educode_sales/places/index.json.jbuilder +7 -1
- data/app/views/educode_sales/recycles/index.html.erb +1 -1
- data/app/views/educode_sales/sale_trends/trends.html.erb +56 -20
- data/app/views/educode_sales/sales/operations.html.erb +3 -1
- data/app/views/educode_sales/teachers/course_list.json.jbuilder +1 -1
- data/app/views/educode_sales/teachers/edit.html.erb +53 -7
- data/app/views/educode_sales/teachers/index.html.erb +36 -2
- data/app/views/educode_sales/teachers/index.json.jbuilder +4 -1
- data/app/views/educode_sales/teachers/new.html.erb +55 -17
- data/config/routes.rb +1 -0
- data/db/migrate/20211201023750_create_educode_sales_teacher_assign_follows.rb +11 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +7 -2
@@ -0,0 +1,233 @@
|
|
1
|
+
<div style="margin: 10px 10px 10px 10px">
|
2
|
+
<form class="layui-form layui-form-pane" lay-filter="search_follows">
|
3
|
+
<div class="layui-form-item">
|
4
|
+
<div class="layui-inline">
|
5
|
+
<label class="layui-form-label">所属商机</label>
|
6
|
+
<div class="layui-input-inline">
|
7
|
+
<input type="text" name="follows_business" autocomplete="off" class="layui-input">
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div class="layui-inline">
|
11
|
+
<label class="layui-form-label">单位</label>
|
12
|
+
<div class="layui-input-inline">
|
13
|
+
<input type="text" name="follows_department" autocomplete="off" class="layui-input">
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="layui-inline">
|
17
|
+
<label class="layui-form-label">销售人员</label>
|
18
|
+
<div class="layui-input-inline">
|
19
|
+
<%= select_tag "follows_staff_id", options_for_select(@staffs, params[:follows_staff_id]), { 'lay-filter': 'follows_staff_id', include_blank: true } %>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="layui-inline">
|
23
|
+
<label class="layui-form-label">区域</label>
|
24
|
+
<div class="layui-input-inline">
|
25
|
+
<%= select_tag "follows_area", options_for_select(EducodeSales::Common.where(clazz: 'area').pluck(:name, :id)), { include_blank: true } %>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<div class="layui-inline">
|
29
|
+
<label class="layui-form-label">跟进时间</label>
|
30
|
+
<div class="layui-input-inline">
|
31
|
+
<input type="text" class="layui-input" id="follows_date" name="follows_date" autocomplete="off" placeholder=" - ">
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div class="layui-inline">
|
36
|
+
<button type="reset" class="layui-btn layui-btn-primary" lay-submit lay-filter="reset_follows_search">重置
|
37
|
+
</button>
|
38
|
+
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_follows">搜 索
|
39
|
+
</button>
|
40
|
+
</div>
|
41
|
+
</div>
|
42
|
+
</form>
|
43
|
+
</div>
|
44
|
+
<div class="">
|
45
|
+
<table class="layui-hide" id="teachers_table" style="min-height: 300px;" lay-filter="teachers_table"></table>
|
46
|
+
</div>
|
47
|
+
<script type="text/html" id="toolbarDemo_follows">
|
48
|
+
<div class="layui-btn-container">
|
49
|
+
<span class="table-label">跟进动态</span>
|
50
|
+
</div>
|
51
|
+
</script>
|
52
|
+
<script type="text/html" id="currentTableBar_follows">
|
53
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="add_event">详情</a>
|
54
|
+
</script>
|
55
|
+
<script type="text/html" id="business">
|
56
|
+
<a href="javascript:void(0);" lay-event="business" class="layui-table-link">{{ d.business }}</a>
|
57
|
+
</script>
|
58
|
+
|
59
|
+
|
60
|
+
<script>
|
61
|
+
layui.use(['form', 'table', 'miniPage', 'element', 'request', 'laydate'], function () {
|
62
|
+
var $ = layui.jquery,
|
63
|
+
form = layui.form,
|
64
|
+
request = layui.request,
|
65
|
+
dropdown = layui.dropdown,
|
66
|
+
miniPage = layui.miniPage,
|
67
|
+
laydate = layui.laydate;
|
68
|
+
|
69
|
+
var laydate = layui.laydate;
|
70
|
+
|
71
|
+
laydate.render({
|
72
|
+
elem: '#follows_date',
|
73
|
+
range: true
|
74
|
+
});
|
75
|
+
|
76
|
+
table = layui.table;
|
77
|
+
table.render({
|
78
|
+
elem: '#teachers_table',
|
79
|
+
url: '/missions/follow_ups',
|
80
|
+
// where: {q: form.val('search_form')},
|
81
|
+
toolbar: '#toolbarDemo_follows',
|
82
|
+
defaultToolbar: ['filter'],
|
83
|
+
cols: [
|
84
|
+
[
|
85
|
+
{
|
86
|
+
field: 'id',
|
87
|
+
width: 60,
|
88
|
+
title:'序号',type: 'numbers',
|
89
|
+
},
|
90
|
+
{
|
91
|
+
field: 'description',
|
92
|
+
title: '最新进展',
|
93
|
+
},
|
94
|
+
{
|
95
|
+
field: 'advise',
|
96
|
+
width: 170,
|
97
|
+
title: '团队建议',
|
98
|
+
},
|
99
|
+
{
|
100
|
+
field: 'clazz',
|
101
|
+
width: 80,
|
102
|
+
title: '类型'
|
103
|
+
},
|
104
|
+
{
|
105
|
+
field: 'stage',
|
106
|
+
title: '阶段',
|
107
|
+
width: 90,
|
108
|
+
},
|
109
|
+
{
|
110
|
+
field: 'key_people',
|
111
|
+
width: 90,
|
112
|
+
title: '关键人',
|
113
|
+
|
114
|
+
},
|
115
|
+
{
|
116
|
+
field: 'staff',
|
117
|
+
width: 90,
|
118
|
+
title: '跟进人',
|
119
|
+
},
|
120
|
+
{
|
121
|
+
field: 'created_at',
|
122
|
+
width: 170,
|
123
|
+
title: '跟进时间',
|
124
|
+
sort: true,
|
125
|
+
},
|
126
|
+
{
|
127
|
+
field: 'business',
|
128
|
+
width: 150,
|
129
|
+
title: '所属商机',
|
130
|
+
templet:'#business'
|
131
|
+
},
|
132
|
+
{
|
133
|
+
title: '操作',
|
134
|
+
width: 80,
|
135
|
+
toolbar: '#currentTableBar_follows',
|
136
|
+
align: "center",
|
137
|
+
fixed: 'right'
|
138
|
+
}
|
139
|
+
]
|
140
|
+
],
|
141
|
+
limit: 20,
|
142
|
+
limits: [10,15,20,30,40,50,60,70,80,90],
|
143
|
+
page: true,
|
144
|
+
});
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
var sort = {}, search = {};
|
151
|
+
table.on('sort(teachers_table)', function (obj) {
|
152
|
+
sort.field = obj.field;
|
153
|
+
sort.order = obj.type;
|
154
|
+
table.reload('teachers_table', {
|
155
|
+
initSort: obj,
|
156
|
+
where: {
|
157
|
+
sort: sort,
|
158
|
+
q: search
|
159
|
+
}
|
160
|
+
});
|
161
|
+
})
|
162
|
+
|
163
|
+
// 监听搜索操作
|
164
|
+
form.on('submit(search_follows)', function (data) {
|
165
|
+
search = data.field
|
166
|
+
table.reload('teachers_table', {
|
167
|
+
page: {
|
168
|
+
curr: 1
|
169
|
+
},
|
170
|
+
where: {q: search, sort: sort}
|
171
|
+
}, 'data');
|
172
|
+
return false;
|
173
|
+
});
|
174
|
+
|
175
|
+
form.on('submit(reset_follows_search)', function (data) {
|
176
|
+
var field = data.field;
|
177
|
+
form.val('search_follows', {
|
178
|
+
follows_area: "",
|
179
|
+
follows_date: "",
|
180
|
+
follows_business: "",
|
181
|
+
follows_department: "",
|
182
|
+
follows_staff_id: ""
|
183
|
+
})
|
184
|
+
return false;
|
185
|
+
});
|
186
|
+
table.on('tool(teachers_table)', function (obj) {
|
187
|
+
var data = obj.data;
|
188
|
+
id = data.id
|
189
|
+
if (obj.event === 'add_event') { // 监听添加操作
|
190
|
+
var content = miniPage.getHrefContent('/missions/businesses/show_follow_record?follow_up_id=' + data.id);
|
191
|
+
var openWH = miniPage.getOpenWidthHeight();
|
192
|
+
show_index = layer.open({
|
193
|
+
title: '查看商机跟进记录',
|
194
|
+
type: 1,
|
195
|
+
shade: 0.2,
|
196
|
+
maxmin: true,
|
197
|
+
shadeClose: true,
|
198
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
199
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
200
|
+
content: content
|
201
|
+
});
|
202
|
+
$(window).on("resize", function () {
|
203
|
+
layer.full(index);
|
204
|
+
});
|
205
|
+
} else if (obj.event === 'business') {
|
206
|
+
console.log(data);
|
207
|
+
business_id = data.business_id
|
208
|
+
business_name = data.business
|
209
|
+
content = miniPage.getHrefContent('/missions/businesses/show_follow?id=' + data.business_id);
|
210
|
+
openWH = miniPage.getOpenWidthHeight();
|
211
|
+
index = layer.open({
|
212
|
+
title: '商机列表/' + data.business + '的跟进记录',
|
213
|
+
type: 1,
|
214
|
+
shade: 0.2,
|
215
|
+
maxmin: true,
|
216
|
+
shadeClose: true,
|
217
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
218
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
219
|
+
content: content
|
220
|
+
});
|
221
|
+
$(window).on("resize", function () {
|
222
|
+
layer.full(index);
|
223
|
+
});
|
224
|
+
}
|
225
|
+
});
|
226
|
+
|
227
|
+
});
|
228
|
+
</script>
|
229
|
+
<style>
|
230
|
+
.layui-table-tool-temp{
|
231
|
+
padding-right: 30px; !important;
|
232
|
+
}
|
233
|
+
</style>
|
@@ -65,26 +65,26 @@
|
|
65
65
|
</div>
|
66
66
|
<br>
|
67
67
|
<div class="layui-inline">
|
68
|
-
<label class="layui-form-label"
|
68
|
+
<label class="layui-form-label">总额(万)</label>
|
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
72
|
</div>
|
73
73
|
<div class="layui-inline">
|
74
|
-
<label class="layui-form-label"
|
74
|
+
<label class="layui-form-label">合同额(万)</label>
|
75
75
|
<div class="layui-input-inline">
|
76
76
|
<input name="actual_amount" type="number" class="layui-input" placeholder="本单位的签单金额" value="<%= @follow_up.actual_amount %>">
|
77
77
|
</div>
|
78
78
|
</div>
|
79
79
|
<br>
|
80
|
-
<div class="layui-inline">
|
80
|
+
<div class="layui-inline place_select">
|
81
81
|
<label class="layui-form-label">渠道</label>
|
82
|
-
<div class="layui-input-inline">
|
83
|
-
|
82
|
+
<div class="layui-input-inline" style="z-index: 101">
|
83
|
+
<div id="edit_place" style="width: 190px;"></div>
|
84
84
|
</div>
|
85
85
|
</div>
|
86
86
|
<div class="layui-inline">
|
87
|
-
<label class="layui-form-label"
|
87
|
+
<label class="layui-form-label">渠道分成(万)</label>
|
88
88
|
<div class="layui-input-inline">
|
89
89
|
<input name="divide_amount" class="layui-input" value="<%= @follow_up.divide_amount%>">
|
90
90
|
</div>
|
@@ -174,6 +174,49 @@
|
|
174
174
|
}
|
175
175
|
})
|
176
176
|
sales_list.setValue(gon.sales)
|
177
|
+
var places_list = xmSelect.render({
|
178
|
+
el: '#edit_place',
|
179
|
+
remoteSearch: true,
|
180
|
+
clickClose: true,
|
181
|
+
model: {
|
182
|
+
icon: 'hidden',
|
183
|
+
label: {
|
184
|
+
type: 'text',
|
185
|
+
text: {
|
186
|
+
//左边拼接的字符
|
187
|
+
left: '',
|
188
|
+
//右边拼接的字符
|
189
|
+
right: '',
|
190
|
+
//中间的分隔符
|
191
|
+
separator: ', ',
|
192
|
+
},
|
193
|
+
}
|
194
|
+
},
|
195
|
+
delay: 1000,
|
196
|
+
radio: true,
|
197
|
+
paging: true,
|
198
|
+
pageRemote: true,
|
199
|
+
filterable: true,
|
200
|
+
remoteMethod: function (val, cb, show, pageIndex) {
|
201
|
+
$.ajax( '/missions/sales_place', {
|
202
|
+
method: 'get',
|
203
|
+
data: {
|
204
|
+
q: val,
|
205
|
+
page: pageIndex
|
206
|
+
},
|
207
|
+
dataType: 'json',
|
208
|
+
success: function (res) {
|
209
|
+
var data = res.data;
|
210
|
+
if (res.code == 0) {
|
211
|
+
cb(res.data, res.count);
|
212
|
+
} else {
|
213
|
+
layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
|
214
|
+
}
|
215
|
+
}
|
216
|
+
})
|
217
|
+
}
|
218
|
+
})
|
219
|
+
places_list.setValue(gon.place)
|
177
220
|
|
178
221
|
form.render();
|
179
222
|
form.on('submit(update_follow_up)', function (data) {
|
@@ -181,8 +224,9 @@
|
|
181
224
|
sales_list.getValue().forEach(function(d) {
|
182
225
|
assign_follow.push(d.value);
|
183
226
|
})
|
184
|
-
|
185
|
-
|
227
|
+
data.field.assign_follow_up = assign_follow;
|
228
|
+
data.field.place_id = places_list.getValue()[0].value;
|
229
|
+
request.authPut("missions/follow_ups/<%= @follow_up.id%>", data.field, function (res) {
|
186
230
|
if (res.success == false) {
|
187
231
|
layer.alert(res.msg)
|
188
232
|
} else {
|
@@ -190,6 +234,7 @@
|
|
190
234
|
parent.layer.close(parent.layer.getFrameIndex(window.name))
|
191
235
|
parent.table.reload('sale_plan_follow_table')
|
192
236
|
parent.table.reload('businesses_table')
|
237
|
+
parent.table.reload('teachers_table')
|
193
238
|
}
|
194
239
|
})
|
195
240
|
|
@@ -198,4 +243,9 @@
|
|
198
243
|
});
|
199
244
|
|
200
245
|
});
|
201
|
-
</script>
|
246
|
+
</script>
|
247
|
+
<style>
|
248
|
+
.place_select xm-select > .xm-body{
|
249
|
+
width: 300px; !important;
|
250
|
+
}
|
251
|
+
</style>
|
@@ -118,16 +118,14 @@
|
|
118
118
|
var id = data.id
|
119
119
|
name = data.disk_filename
|
120
120
|
folder = gon.folder
|
121
|
-
console.log(folder);
|
122
121
|
if (obj.event === 'preview') {
|
123
122
|
if (data.content_type.split("/")[0] === "image"){
|
124
123
|
layer.photos({
|
125
|
-
photos: { "data": [{"src": '/
|
124
|
+
photos: { "data": [{"src": '/files/educode_sales/' + name}] }
|
126
125
|
,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机
|
127
126
|
});
|
128
127
|
}else if (data.content_type.split("/")[1] === "pdf"){
|
129
|
-
var pdf = '/
|
130
|
-
console.log(pdf);
|
128
|
+
var pdf = '/files/educode_sales/' + name;
|
131
129
|
var openWH = miniPage.getOpenWidthHeight();
|
132
130
|
layer.open({
|
133
131
|
title: data.name,
|
@@ -1,66 +1,80 @@
|
|
1
|
-
<div class="
|
2
|
-
<
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
1
|
+
<div class="layui-tab" lay-filter="operation_tab">
|
2
|
+
<ul class="layui-tab-title">
|
3
|
+
<li class="layui-this follows_li">跟进动态</li>
|
4
|
+
<li class="businesses_list_li" >商机列表</li>
|
5
|
+
</ul>
|
6
|
+
<div class="layui-tab-content">
|
7
|
+
<div class="layui-tab-item follows_div layui-show">
|
8
|
+
<!-- 跟进动态-->
|
9
|
+
<%=render 'follows' %>
|
10
|
+
</div>
|
11
|
+
<div class="layui-tab-item businesses_list_div">
|
12
|
+
<!--商机列表-->
|
13
|
+
<div class="min-height-table">
|
14
|
+
<div style="margin: 10px 10px 10px 10px">
|
15
|
+
<form class="layui-form layui-form-pane" lay-filter="search_form">
|
16
|
+
<div class="layui-form-item">
|
17
|
+
<div class="layui-inline">
|
18
|
+
<label class="layui-form-label">商机名称</label>
|
19
|
+
<div class="layui-input-inline">
|
20
|
+
<input type="text" name="name" autocomplete="off" class="layui-input" value="<%=params[:name] %>">
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
<div class="layui-inline">
|
24
|
+
<label class="layui-form-label">单位</label>
|
25
|
+
<div class="layui-input-inline">
|
26
|
+
<input type="text" name="department" autocomplete="off" class="layui-input">
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
<div class="layui-inline">
|
30
|
+
<label class="layui-form-label">销售人员</label>
|
31
|
+
<div class="layui-input-inline">
|
32
|
+
<%= select_tag "staff_id", options_for_select(@staffs, params[:staff_id]), { 'lay-filter': 'staff_id', include_blank: true } %>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
<div class="layui-inline">
|
36
|
+
<label class="layui-form-label">项目类型</label>
|
37
|
+
<div class="layui-input-inline">
|
38
|
+
<%= select_tag "business_type", options_for_select(EducodeSales::Common.where(clazz: 'business_type').pluck(:name, :id), params[:clazz_id]), { 'lay-filter': 'clazz_id', include_blank: true } %>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
<div class="layui-inline">
|
42
|
+
<label class="layui-form-label">项目阶段</label>
|
43
|
+
<div class="layui-input-inline">
|
44
|
+
<%= select_tag "business_step", options_for_select(EducodeSales::Common.where(clazz: 'business_step').pluck(:name, :id)), { include_blank: true } %>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
<div class="layui-inline">
|
48
|
+
<label class="layui-form-label">渠道名称</label>
|
49
|
+
<div class="layui-input-inline">
|
50
|
+
<div id="index_place" style="width: 190px;"></div>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
<div class="layui-inline">
|
54
|
+
<label class="layui-form-label">区域</label>
|
55
|
+
<div class="layui-input-inline">
|
56
|
+
<%= select_tag "area", options_for_select(EducodeSales::Common.where(clazz: 'area').pluck(:name, :id)), { include_blank: true } %>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
<div class="layui-inline">
|
60
|
+
<label class="layui-form-label">起止时间</label>
|
61
|
+
<div class="layui-input-inline">
|
62
|
+
<input type="text" class="layui-input" id="date" name="date" placeholder=" - ">
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
<div class="layui-inline">
|
66
|
+
<button type="reset" class="layui-btn layui-btn-primary" lay-submit lay-filter="reset_business_search">重置
|
67
|
+
</button>
|
68
|
+
<button type="submit" id="search_bt" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_bussiness">搜索
|
69
|
+
</button>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
</form>
|
58
73
|
</div>
|
74
|
+
<table class="layui-hide" id="businesses_table" lay-filter="businesses_table"></table>
|
59
75
|
</div>
|
60
|
-
</
|
76
|
+
</div>
|
61
77
|
</div>
|
62
|
-
|
63
|
-
<table class="layui-hide" id="businesses_table" lay-filter="businesses_table"></table>
|
64
78
|
</div>
|
65
79
|
<script type="text/html" id="bussinessBar">
|
66
80
|
<div class="layui-btn-container">
|
@@ -109,6 +123,59 @@
|
|
109
123
|
range: true
|
110
124
|
});
|
111
125
|
|
126
|
+
var is_show = <%=params[:name].present? || params[:clazz_id].present? %>
|
127
|
+
if(is_show){
|
128
|
+
$('.follows_li').removeClass('layui-this');
|
129
|
+
$('.follows_div').removeClass('layui-show');
|
130
|
+
$('.businesses_list_li').addClass('layui-this');
|
131
|
+
$('.businesses_list_div').addClass('layui-show');
|
132
|
+
}
|
133
|
+
|
134
|
+
var index_place_list = xmSelect.render({
|
135
|
+
el: '#index_place',
|
136
|
+
model: {
|
137
|
+
icon: 'hidden',
|
138
|
+
label: {
|
139
|
+
type: 'text',
|
140
|
+
text: {
|
141
|
+
//左边拼接的字符
|
142
|
+
left: '',
|
143
|
+
//右边拼接的字符
|
144
|
+
right: '',
|
145
|
+
//中间的分隔符
|
146
|
+
separator: ', ',
|
147
|
+
},
|
148
|
+
}
|
149
|
+
},
|
150
|
+
remoteSearch: true,
|
151
|
+
clickClose: true,
|
152
|
+
delay: 1000,
|
153
|
+
paging: true,
|
154
|
+
radio: true,
|
155
|
+
pageRemote: true,
|
156
|
+
filterable: true,
|
157
|
+
remoteMethod: function (val, cb, show, pageIndex) {
|
158
|
+
$.ajax( '/missions/sales_place', {
|
159
|
+
method: 'get',
|
160
|
+
data: {
|
161
|
+
q: val,
|
162
|
+
page: pageIndex
|
163
|
+
},
|
164
|
+
dataType: 'json',
|
165
|
+
success: function (res) {
|
166
|
+
var data = res.data;
|
167
|
+
if (res.code == 0) {
|
168
|
+
cb(res.data, res.count);
|
169
|
+
} else {
|
170
|
+
layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
|
171
|
+
}
|
172
|
+
|
173
|
+
}
|
174
|
+
})
|
175
|
+
}
|
176
|
+
})
|
177
|
+
|
178
|
+
|
112
179
|
table = layui.table;
|
113
180
|
table.render({
|
114
181
|
elem: '#businesses_table',
|
@@ -194,6 +261,13 @@
|
|
194
261
|
totalRow: true,
|
195
262
|
sort: true
|
196
263
|
},
|
264
|
+
{
|
265
|
+
field: 'actual_amount',
|
266
|
+
width: 100,
|
267
|
+
title: '合同额',
|
268
|
+
totalRow: true,
|
269
|
+
sort: true
|
270
|
+
},
|
197
271
|
{
|
198
272
|
field: 'return_money',
|
199
273
|
width: 100,
|
@@ -203,7 +277,7 @@
|
|
203
277
|
},
|
204
278
|
{
|
205
279
|
field: 'place',
|
206
|
-
width:
|
280
|
+
width: 160,
|
207
281
|
title: '渠道'
|
208
282
|
},
|
209
283
|
{
|
@@ -396,7 +470,8 @@
|
|
396
470
|
|
397
471
|
// 监听搜索操作
|
398
472
|
form.on('submit(search_bussiness)', function (data) {
|
399
|
-
|
473
|
+
data.field.place_id = index_place_list.getValue('valueStr');
|
474
|
+
search = data.field
|
400
475
|
console.log(search);
|
401
476
|
table.reload('businesses_table', {
|
402
477
|
page: {
|
@@ -17,6 +17,7 @@ json.data do
|
|
17
17
|
json.bidded_date d.last_follow_up&.bidded_date.to_s
|
18
18
|
json.signed_date d.last_follow_up&.signed_date.to_s
|
19
19
|
json.total_amount d.last_follow_up&.total_amount
|
20
|
+
json.actual_amount d.last_follow_up&.actual_amount
|
20
21
|
json.return_money d.return_money
|
21
22
|
json.place d.last_follow_up&.place&.name
|
22
23
|
json.last_follow_person d.last_follow_up.present? ? d.last_follow_up.staff.user.real_name : EducodeSales::Staff.find(d.staff_id).user.real_name
|