educode_sales 0.9.30 → 0.9.31
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 +12 -0
- data/app/models/educode_sales/staff.rb +4 -0
- data/app/views/educode_sales/businesses/edit.html.erb +29 -2
- data/app/views/educode_sales/businesses/search.json.jbuilder +6 -0
- data/app/views/educode_sales/staffs/index.html.erb +5 -0
- data/app/views/educode_sales/staffs/index.json.jbuilder +1 -0
- data/config/routes.rb +1 -0
- data/db/migrate/20210902064109_create_educode_sales_role_permissions.rb +2 -0
- data/db/migrate/20230115080730_add_origin_business_id_to_follow_ups.rb +6 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e90cfebc689f75a8729f824db95f6dd3fe8a6c1c2f97edfec4d7d8ac8c6ad17d
|
4
|
+
data.tar.gz: b517a994b1be4ac595f8c8664526d1ba0eb7785c60df9ddb0373348cde0b4a5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4169878b95d9f6ab1f53165587e783b7a85f8be05295187b7f070466bad23645b5c2801d49827265337004a60fa8380bf2fae9f15a345e2a7f188cfc3bc46c7c
|
7
|
+
data.tar.gz: 7050ecd4233c2ae9b835542187b57f82a3ad305fb008f0e6ef31fc3beeab367862fcad099b8c6c7b108f4b708863dfed3dea5c1d3238cd6390dd84474becaae2
|
@@ -321,6 +321,14 @@ module EducodeSales
|
|
321
321
|
business = Business.find(params[:id])
|
322
322
|
department = Department.find(params[:department_id])
|
323
323
|
if business.update(name: params[:name], department_id: department.id, source: params[:source], school_id: department.school_id)
|
324
|
+
if params[:merge_business_ids].present?
|
325
|
+
merge_business = Business.where(id: params[:merge_business_ids].split(","))
|
326
|
+
merge_business.each do |b|
|
327
|
+
b.follow_ups.update_all(origin_business_id: b.id, business_id: business.id)
|
328
|
+
b.update(deleted_at: Time.now)
|
329
|
+
end
|
330
|
+
business.update(follow_ups_count: EducodeSales::FollowUp.where(business_id: business.id).size)
|
331
|
+
end
|
324
332
|
render_success
|
325
333
|
else
|
326
334
|
render_failure business
|
@@ -691,6 +699,10 @@ module EducodeSales
|
|
691
699
|
end
|
692
700
|
end
|
693
701
|
|
702
|
+
def search
|
703
|
+
@business = Business.where.not(id: params[:id]).order("created_at desc")
|
704
|
+
@business = @business.where("educode_sales_businesses.name like ?", "%#{params[:q]}%").limit(30) if params[:q].present?
|
705
|
+
end
|
694
706
|
|
695
707
|
private
|
696
708
|
|
@@ -22,6 +22,17 @@
|
|
22
22
|
<div class="layui-inline" style="padding-top: 20px">
|
23
23
|
<p style="padding-left: 40px">请填写提供本商机的人名(如‘张明’);如果为非头歌用户,请增加单位信息(如‘张明,华为公司’)</p>
|
24
24
|
</div>
|
25
|
+
<% if can?(:merge_business, EducodeSales::Business) %>
|
26
|
+
<div class="layui-inline-block" style="padding-top: 20px">
|
27
|
+
<label class="layui-form-label ">合并商机</label>
|
28
|
+
<div class="layui-input-inline" style="width: 300px">
|
29
|
+
<div class="layui-input-block confirm-select" id="merge_business" style="width: 300px; margin-left: 0px"></div>
|
30
|
+
</div>
|
31
|
+
<div class="layui-inline" style="padding-top: 10px">
|
32
|
+
<p style="padding-left: 40px">选择的商机及其下的跟进记录将会合并到该编辑的商机中</p>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
<% end %>
|
25
36
|
<div class="layui-form-item m-t-20">
|
26
37
|
<div class="layui-input-block">
|
27
38
|
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="edit_business">提交</button>
|
@@ -30,12 +41,13 @@
|
|
30
41
|
</div>
|
31
42
|
</div>
|
32
43
|
<script>
|
33
|
-
layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput'], function () {
|
44
|
+
layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput', 'xmSelect'], function () {
|
34
45
|
var form = layui.form,
|
35
46
|
layer = layui.layer,
|
36
47
|
table = layui.table,
|
37
48
|
laytpl = layui.laytpl,
|
38
49
|
request = layui.request,
|
50
|
+
xmSelect = layui.xmSelect,
|
39
51
|
$ = layui.$;
|
40
52
|
selectInput = layui.selectInput;
|
41
53
|
|
@@ -64,6 +76,20 @@
|
|
64
76
|
}
|
65
77
|
});
|
66
78
|
|
79
|
+
var merge_business_select = xmSelect.render({
|
80
|
+
el: '#merge_business',
|
81
|
+
filterable: true,
|
82
|
+
name: 'merge_business_ids',
|
83
|
+
remoteSearch: true,
|
84
|
+
remoteMethod: function(val, cb, show){
|
85
|
+
request.get('missions/businesses/search?id=' + parent.id + "&q=" + val, {},
|
86
|
+
function(res) {
|
87
|
+
cb(res.data)
|
88
|
+
})
|
89
|
+
},
|
90
|
+
data: []
|
91
|
+
})
|
92
|
+
|
67
93
|
// 当前弹出层,防止ID被覆盖
|
68
94
|
var parentIndex = layer.index;
|
69
95
|
|
@@ -76,7 +102,8 @@
|
|
76
102
|
request.authPut("missions/businesses/" + parent.id, {
|
77
103
|
department_id: department.getValue() || department_id,
|
78
104
|
name: data.field.name,
|
79
|
-
source: data.field.source
|
105
|
+
source: data.field.source,
|
106
|
+
merge_business_ids: data.field.merge_business_ids,
|
80
107
|
}, function (res) {
|
81
108
|
if (res.success == false) {
|
82
109
|
layer.alert(res.msg)
|
@@ -9,6 +9,7 @@ json.data do
|
|
9
9
|
json.month d.month
|
10
10
|
json.enabled_at d.enabled_at ? d.enabled_at.to_s(:date) : ''
|
11
11
|
json.expired_at d.enabled_at ? "#{d.enabled_at.to_s(:date)}-#{d.expired_at.to_s(:date)}" : ''
|
12
|
+
json.enabled d.is_enabled ? '启用' : '禁用'
|
12
13
|
if d.areas.present?
|
13
14
|
if d.areas.ids.sort.to_s == area_ids
|
14
15
|
json.area '全国'
|
data/config/routes.rb
CHANGED
@@ -28,6 +28,8 @@ class CreateEducodeSalesRolePermissions < ActiveRecord::Migration[5.2]
|
|
28
28
|
EducodeSales::Permission.create(name: '添加跟进记录(本人商机)', subject: 'Business', action: 'self_add_follow', clazz: 'business', position: '8')
|
29
29
|
EducodeSales::Permission.create(name: '编辑跟进记录(本人创建)', subject: 'Business', action: 'self_edit_follow', clazz: 'business', position: '9')
|
30
30
|
EducodeSales::Permission.create(name: '删除跟进记录(本人创建)', subject: 'Business', action: 'self_delete_follow', clazz: 'business', position: '10')
|
31
|
+
|
32
|
+
EducodeSales::Permission.create(name: '合并商机', subject: 'Business', action: 'merge_business', clazz: 'business', position: '12')
|
31
33
|
#回款管理权限
|
32
34
|
EducodeSales::Permission.create(name: '查看回款列表', subject: 'MoneyPlan', action: 'read', clazz: 'money_plan', position: '15')
|
33
35
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: educode_sales
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.31
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -249,6 +249,7 @@ files:
|
|
249
249
|
- app/views/educode_sales/businesses/index.json.jbuilder
|
250
250
|
- app/views/educode_sales/businesses/new.html.erb
|
251
251
|
- app/views/educode_sales/businesses/new_follow_record.html.erb
|
252
|
+
- app/views/educode_sales/businesses/search.json.jbuilder
|
252
253
|
- app/views/educode_sales/businesses/show_follow.html.erb
|
253
254
|
- app/views/educode_sales/businesses/show_follow.json.jbuilder
|
254
255
|
- app/views/educode_sales/businesses/show_follow_record.html.erb
|
@@ -482,6 +483,7 @@ files:
|
|
482
483
|
- db/migrate/20220923084102_create_table_to_busines_number_recoreds.rb
|
483
484
|
- db/migrate/20221025094655_delete_business_number.rb
|
484
485
|
- db/migrate/20221107122147_change_divide_rate_follow_ups.rb
|
486
|
+
- db/migrate/20230115080730_add_origin_business_id_to_follow_ups.rb
|
485
487
|
- lib/educode_sales.rb
|
486
488
|
- lib/educode_sales/engine.rb
|
487
489
|
- lib/educode_sales/version.rb
|