educode_sales 1.0.9 → 1.10.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/controllers/educode_sales/businesses_controller.rb +2 -0
- data/app/controllers/educode_sales/follow_ups_controller.rb +10 -2
- data/app/controllers/educode_sales/home_controller.rb +1 -1
- data/app/controllers/educode_sales/money_plan_records_controller.rb +1 -0
- data/app/controllers/educode_sales/money_plans_controller.rb +13 -1
- data/app/models/educode_sales/money_plan.rb +1 -1
- data/app/views/educode_sales/businesses/index.html.erb +39 -91
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +54 -51
- data/app/views/educode_sales/home/search_money_plans.json.jbuilder +1 -1
- data/app/views/educode_sales/money_plans/_index.html.erb +12 -8
- data/app/views/educode_sales/money_plans/add.html.erb +25 -9
- data/app/views/educode_sales/money_plans/edit.html.erb +1 -1
- data/lib/educode_sales/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20755b572d19ee3c58ffca868b9fc6d5e3829024f1c34863ed6707c83009af41
|
4
|
+
data.tar.gz: 4289012ab4ee0794bdf7c0cc49b57ae46305b16f0b724ec135f82d04e9662b91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62d94ce651961ec7a4a41e40b5993bcd0dfb400d2bf53f66ba0b8d25b81015962f5a8e0553935a854cd40779a9eb710a6f842ba85ada1e349248b786e58390cb
|
7
|
+
data.tar.gz: 95517fc542d7c80d8c40513fcb612a4efa422f9697b7168b4151b599419d999b56dfd0dcab077935abb0c6facf2174b0a1497bcae1952d2ed81b29258c57ad38
|
@@ -70,6 +70,8 @@ module EducodeSales
|
|
70
70
|
gon.menus << { title: '添加年计划', event: 'year' }
|
71
71
|
end
|
72
72
|
|
73
|
+
gon.menus << { title: '添加回款计划', event: 'money_plan' }
|
74
|
+
|
73
75
|
gon.menus << { title: '关注', event: 'following' }
|
74
76
|
gon.menus << { title: '跟进时间线', event: 'time_line' }
|
75
77
|
if can?(:show_file, EducodeSales::Business)
|
@@ -85,7 +85,12 @@ module EducodeSales
|
|
85
85
|
|
86
86
|
def create
|
87
87
|
load_business
|
88
|
-
|
88
|
+
if @business.last_follow_up
|
89
|
+
follow_up = @business.last_follow_up.dup
|
90
|
+
follow_up.assign_attributes(follow_up_params)
|
91
|
+
else
|
92
|
+
follow_up = @business.follow_ups.build(follow_up_params)
|
93
|
+
end
|
89
94
|
if params[:service_time].present?
|
90
95
|
date = params[:service_time].split(" - ")
|
91
96
|
follow_up.service_start_time = date[0]
|
@@ -123,7 +128,8 @@ module EducodeSales
|
|
123
128
|
money.follow_up_id = follow_up.id
|
124
129
|
money.save
|
125
130
|
end
|
126
|
-
|
131
|
+
# 合同里签到日期全同步到最新跟进
|
132
|
+
last_follow_up.contract_date_lists.update_all(follow_up_id: follow_up.id)
|
127
133
|
end
|
128
134
|
@business.update(last_follow_up_id: follow_up.id, clazz_id: follow_up.clazz_id, p_deploy_time: params[:deploy_time])
|
129
135
|
# 增加o商机编号
|
@@ -144,6 +150,8 @@ module EducodeSales
|
|
144
150
|
business.clazz_id = business.follow_ups.last&.clazz_id
|
145
151
|
end
|
146
152
|
business.update(last_follow_up: business.follow_ups.last, return_money: MoneyPlan.where(clazz: '实际回款', follow_up_id: business.follow_ups.last&.id).sum(:amount))
|
153
|
+
# 合同里签到日期全同步到最新跟进
|
154
|
+
follow_up.contract_date_lists.update_all(follow_up: business.follow_ups.last) if business.follow_ups.last.present?
|
147
155
|
end
|
148
156
|
render_success
|
149
157
|
else
|
@@ -80,7 +80,7 @@ module EducodeSales
|
|
80
80
|
def search_contracts
|
81
81
|
@data = Business
|
82
82
|
if params[:q].present?
|
83
|
-
@data = @data.where("name like :q ", q: "%#{params[:q]}%").limit(20)
|
83
|
+
@data = @data.joins(:school).where("educode_sales_businesses.name like :q OR educode_sales_businesses.number like :q OR schools.name like :q ", q: "%#{params[:q]}%").limit(20)
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
@@ -42,7 +42,7 @@ module EducodeSales
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def list
|
45
|
-
follow_up_ids = Business.pluck(:last_follow_up_id)
|
45
|
+
# follow_up_ids = Business.pluck(:last_follow_up_id)
|
46
46
|
authorize! :read, MoneyPlan
|
47
47
|
respond_to do |format|
|
48
48
|
format.html do
|
@@ -54,6 +54,12 @@ module EducodeSales
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def add
|
57
|
+
if params[:business_id].present?
|
58
|
+
@business = Business.find(params[:business_id])
|
59
|
+
gon.business_id_source = @business.id
|
60
|
+
else
|
61
|
+
gon.business_id_source = ""
|
62
|
+
end
|
57
63
|
render layout: false
|
58
64
|
end
|
59
65
|
|
@@ -82,6 +88,12 @@ module EducodeSales
|
|
82
88
|
render_success
|
83
89
|
end
|
84
90
|
|
91
|
+
def destroy
|
92
|
+
money_plan = MoneyPlan.find(params[:id])
|
93
|
+
money_plan.destroy
|
94
|
+
render_success
|
95
|
+
end
|
96
|
+
|
85
97
|
private
|
86
98
|
def money_plan_params
|
87
99
|
params.permit(:category, :amount, :payment_clause, :date_at)
|
@@ -397,13 +397,7 @@
|
|
397
397
|
totalRowText: '合计',
|
398
398
|
fixed: "left"
|
399
399
|
},
|
400
|
-
|
401
|
-
field: 'number',
|
402
|
-
width: 120,
|
403
|
-
title: '编号',
|
404
|
-
fixed: 'left',
|
405
|
-
hide: gon.filter.number
|
406
|
-
},
|
400
|
+
|
407
401
|
{
|
408
402
|
field: 'name',
|
409
403
|
width: 170,
|
@@ -522,48 +516,12 @@
|
|
522
516
|
hide: gon.filter.invitation_at
|
523
517
|
},
|
524
518
|
{
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
},
|
531
|
-
{
|
532
|
-
field: 'signed_date',
|
533
|
-
width: 105,
|
534
|
-
title: '签单时间',
|
535
|
-
sort: true,
|
536
|
-
hide: gon.filter.signed_date
|
537
|
-
},
|
538
|
-
{
|
539
|
-
field: 'reception_at',
|
540
|
-
width: 105,
|
541
|
-
title: '验收时间',
|
542
|
-
sort: true,
|
543
|
-
hide: gon.filter.reception_at
|
544
|
-
},
|
545
|
-
{
|
546
|
-
field: 'service_end_time',
|
547
|
-
width: 200,
|
548
|
-
title: '服务期',
|
549
|
-
sort: true,
|
550
|
-
hide: gon.filter.service_end_time
|
551
|
-
},
|
552
|
-
{
|
553
|
-
field: 'o_business_deployment',
|
554
|
-
width: 150,
|
555
|
-
title: '部署类型',
|
556
|
-
sort: true,
|
557
|
-
hide: gon.filter.o_business_deployment
|
558
|
-
},
|
559
|
-
{
|
560
|
-
field: 'p_deploy_time',
|
561
|
-
width: 150,
|
562
|
-
title: '部署时间',
|
563
|
-
sort: true,
|
564
|
-
hide: gon.filter.p_deploy_time
|
519
|
+
field: 'bidded_date',
|
520
|
+
width: 105,
|
521
|
+
title: '中标时间',
|
522
|
+
sort: true,
|
523
|
+
hide: gon.filter.bidded_date
|
565
524
|
},
|
566
|
-
|
567
525
|
{
|
568
526
|
field: 'budget_amount',
|
569
527
|
width: 105,
|
@@ -573,42 +531,12 @@
|
|
573
531
|
hide: gon.filter.budget_amount
|
574
532
|
},
|
575
533
|
{
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
},
|
583
|
-
{
|
584
|
-
field: 'actual_amount',
|
585
|
-
width: 100,
|
586
|
-
title: '合同额',
|
587
|
-
totalRow: true,
|
588
|
-
sort: true,
|
589
|
-
hide: gon.filter.actual_amount
|
590
|
-
},
|
591
|
-
{
|
592
|
-
field: 'return_money',
|
593
|
-
width: 100,
|
594
|
-
title: '回款',
|
595
|
-
sort: true,
|
596
|
-
totalRow: true,
|
597
|
-
hide: gon.filter.return_money
|
598
|
-
},
|
599
|
-
{
|
600
|
-
field: 'wait_return_money',
|
601
|
-
width: 100,
|
602
|
-
title: '待回款',
|
603
|
-
sort: true,
|
604
|
-
totalRow: true,
|
605
|
-
hide: gon.filter.wait_return_money
|
606
|
-
},
|
607
|
-
{
|
608
|
-
field: 'return_money_days',
|
609
|
-
width: 150,
|
610
|
-
title: '首次回款周期(天)',
|
611
|
-
hide: gon.filter.return_money_days
|
534
|
+
field: 'total_amount',
|
535
|
+
width: 100,
|
536
|
+
title: '中标额',
|
537
|
+
totalRow: true,
|
538
|
+
sort: true,
|
539
|
+
hide: gon.filter.total_amount
|
612
540
|
},
|
613
541
|
{
|
614
542
|
field: 'divide_rate',
|
@@ -617,13 +545,7 @@
|
|
617
545
|
sort: true,
|
618
546
|
hide: gon.filter.divide_rate
|
619
547
|
},
|
620
|
-
|
621
|
-
field: 'divide_money',
|
622
|
-
width: 160,
|
623
|
-
title: '渠道分成金额',
|
624
|
-
sort: true,
|
625
|
-
hide: gon.filter.divide_money
|
626
|
-
},
|
548
|
+
|
627
549
|
{
|
628
550
|
field: 'place',
|
629
551
|
width: 160,
|
@@ -751,6 +673,9 @@
|
|
751
673
|
case 'following':
|
752
674
|
following(id);
|
753
675
|
break;
|
676
|
+
case 'money_plan':
|
677
|
+
money_plan(id);
|
678
|
+
break;
|
754
679
|
}
|
755
680
|
}
|
756
681
|
});
|
@@ -786,6 +711,9 @@
|
|
786
711
|
case 'following':
|
787
712
|
following(id);
|
788
713
|
break;
|
714
|
+
case 'money_plan':
|
715
|
+
money_plan(id);
|
716
|
+
break;
|
789
717
|
}
|
790
718
|
}
|
791
719
|
});
|
@@ -808,7 +736,9 @@
|
|
808
736
|
case 'export_records':
|
809
737
|
export_records();
|
810
738
|
break;
|
739
|
+
|
811
740
|
}
|
741
|
+
|
812
742
|
}
|
813
743
|
});
|
814
744
|
}
|
@@ -1005,6 +935,24 @@
|
|
1005
935
|
});
|
1006
936
|
}
|
1007
937
|
|
938
|
+
function money_plan(business_id) {
|
939
|
+
var content = miniPage.getHrefContent('/missions/money_plans/add?business_id=' + business_id);
|
940
|
+
var openWH = miniPage.getOpenWidthHeight();
|
941
|
+
sindex = layer.open({
|
942
|
+
title: '添加回款计划',
|
943
|
+
type: 1,
|
944
|
+
shade: 0.2,
|
945
|
+
maxmin: true,
|
946
|
+
shadeClose: true,
|
947
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
948
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
949
|
+
content: content,
|
950
|
+
});
|
951
|
+
$(window).on("resize", function () {
|
952
|
+
layer.full(sindex);
|
953
|
+
});
|
954
|
+
}
|
955
|
+
|
1008
956
|
function month(id) {
|
1009
957
|
var content = miniPage.getHrefContent('/missions/plans/new_month?business_id=' + id);
|
1010
958
|
var openWH = miniPage.getOpenWidthHeight();
|
@@ -46,7 +46,7 @@
|
|
46
46
|
placeholder="请选择日期">
|
47
47
|
</div>
|
48
48
|
</div>
|
49
|
-
|
49
|
+
<div class="layui-inline">
|
50
50
|
<label class="layui-form-label">中标时间</label>
|
51
51
|
<div class="layui-input-inline">
|
52
52
|
<input type="text" class="layui-input" name="bidded_date" autocomplete="off" id="invitation_at_add"
|
@@ -55,6 +55,7 @@
|
|
55
55
|
</div>
|
56
56
|
</div>
|
57
57
|
<br>
|
58
|
+
<!--
|
58
59
|
<div class="layui-inline">
|
59
60
|
<label class="layui-form-label">签单时间</label>
|
60
61
|
<div class="layui-input-inline">
|
@@ -62,14 +63,15 @@
|
|
62
63
|
value="<%= @last_follow_up&.signed_date %>"
|
63
64
|
placeholder="请选择日期">
|
64
65
|
</div>
|
65
|
-
</div>
|
66
|
+
</div> -->
|
66
67
|
<input type="hidden" class="layui-input" name="reception_at" value="<%= @last_follow_up&.reception_at %>">
|
67
|
-
<
|
68
|
+
<input type="hidden" class="layui-input" name="deploy_time" value="<%= @last_follow_up&.deploy_time %>">
|
69
|
+
<!-- <div class="layui-inline">
|
68
70
|
<label class="layui-form-label">部署时间</label>
|
69
71
|
<div class="layui-input-inline">
|
70
72
|
<input type="text" class="layui-input" name="deploy_time" value="<%= @last_follow_up&.deploy_time %>" id="p_deploy_time" placeholder="请选择日期">
|
71
73
|
</div>
|
72
|
-
</div>
|
74
|
+
</div> -->
|
73
75
|
<br>
|
74
76
|
<div class="layui-inline service_show layui-hide">
|
75
77
|
<label class="layui-form-label required">服务期</label>
|
@@ -78,12 +80,12 @@
|
|
78
80
|
</div>
|
79
81
|
</div>
|
80
82
|
|
81
|
-
<div class="layui-inline deployment_type layui-hide">
|
83
|
+
<!-- <div class="layui-inline deployment_type layui-hide">
|
82
84
|
<label class="layui-form-label required">部署类型</label>
|
83
85
|
<div class="layui-input-inline">
|
84
86
|
<%= select_tag "o_business_deployment", options_for_select(@deployment_type, @last_follow_up&.o_business_deployment), class: 'required' %>
|
85
87
|
</div>
|
86
|
-
</div>
|
88
|
+
</div> -->
|
87
89
|
|
88
90
|
<br class="service_show layui-hide">
|
89
91
|
<div class="layui-inline">
|
@@ -94,8 +96,9 @@
|
|
94
96
|
</div>
|
95
97
|
客户采购支出的费用。中标额的生命历程:1.在最初阶段,是商机的预算总额;2.在挂网阶段,是项目的挂网预算总额;3.在中标阶段,是项目的中标总额。
|
96
98
|
</div>
|
97
|
-
<br>
|
98
|
-
|
99
|
+
<br>
|
100
|
+
<!--
|
101
|
+
<div class="layui-inline">
|
99
102
|
<label class="layui-form-label">合同额(万)</label>
|
100
103
|
<div class="layui-input-inline">
|
101
104
|
<input name="actual_amount" type="number" class="layui-input" autocomplete="off" placeholder="本单位的签单金额"
|
@@ -104,13 +107,15 @@
|
|
104
107
|
客户签给头歌的费用。合同额的生命历程:1.在中标之前,合同额都是0;2.在中标之后,实际与头歌签合同的金额。
|
105
108
|
</div>
|
106
109
|
<br>
|
110
|
+
-->
|
107
111
|
<div class="layui-inline new_place_select">
|
108
112
|
<label class="layui-form-label">渠道</label>
|
109
113
|
<div class="layui-input-inline" style="">
|
110
114
|
<div id="place" style="width: 190px;"></div>
|
111
115
|
</div>
|
112
116
|
</div>
|
113
|
-
|
117
|
+
<br>
|
118
|
+
<!--
|
114
119
|
<div class="layui-inline">
|
115
120
|
<label class="layui-form-label">渠道分成(万)</label>
|
116
121
|
<div class="layui-input-inline">
|
@@ -119,6 +124,7 @@
|
|
119
124
|
中标额里,渠道拿到的部分。
|
120
125
|
</div>
|
121
126
|
<br>
|
127
|
+
-->
|
122
128
|
<div class="layui-inline">
|
123
129
|
<label class="layui-form-label">预算金额(万)</label>
|
124
130
|
<div class="layui-input-inline">
|
@@ -269,49 +275,46 @@
|
|
269
275
|
})
|
270
276
|
}
|
271
277
|
})
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
} else {
|
308
|
-
layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
|
309
|
-
}
|
278
|
+
var place_list = xmSelect.render({
|
279
|
+
el: '#place',
|
280
|
+
remoteSearch: true,
|
281
|
+
model: {
|
282
|
+
icon: 'hidden',
|
283
|
+
label: {
|
284
|
+
type: 'text',
|
285
|
+
text: {
|
286
|
+
left: '',
|
287
|
+
right: '',
|
288
|
+
separator: ', ',
|
289
|
+
},
|
290
|
+
}
|
291
|
+
},
|
292
|
+
clickClose: true,
|
293
|
+
delay: 1000,
|
294
|
+
paging: true,
|
295
|
+
radio: true,
|
296
|
+
pageRemote: true,
|
297
|
+
filterable: true,
|
298
|
+
remoteMethod: function (val, cb, show, pageIndex) {
|
299
|
+
$.ajax('/missions/sales_place', {
|
300
|
+
method: 'get',
|
301
|
+
data: {
|
302
|
+
q: val,
|
303
|
+
page: pageIndex
|
304
|
+
},
|
305
|
+
dataType: 'json',
|
306
|
+
success: function (res) {
|
307
|
+
var data = res.data;
|
308
|
+
if (res.code == 0) {
|
309
|
+
cb(res.data, res.count);
|
310
|
+
} else {
|
311
|
+
layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
|
312
|
+
}
|
310
313
|
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
314
|
+
}
|
315
|
+
})
|
316
|
+
}
|
317
|
+
})
|
315
318
|
|
316
319
|
sales_list.setValue(gon.sales);
|
317
320
|
place_list.setValue(gon.place);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
json.data do
|
2
2
|
json.array! @data do |d|
|
3
3
|
json.value d.id
|
4
|
-
json.name "#{d.business.number} / #{d.business.department&.school&.name.to_s}#{d.business.department&.name.to_s} / #{d.business.name} / #{d.business.last_follow_up&.actual_amount}万 /
|
4
|
+
json.name "#{d.business.number} / #{d.business.department&.school&.name.to_s}#{d.business.department&.name.to_s} / #{d.business.name} / #{d.business.last_follow_up&.actual_amount}万 / #{d.business.last_follow_up&.return_money}万 /#{d.date_at.to_s(:date)}"
|
5
5
|
end
|
6
6
|
end
|
7
7
|
json.count @data.size
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<form class="layui-form layui-form-pane" lay-filter="search_plans">
|
3
3
|
<div class="layui-form-item">
|
4
4
|
<div class="layui-inline">
|
5
|
-
<label class="layui-form-label"
|
5
|
+
<label class="layui-form-label">商机名称</label>
|
6
6
|
<div class="layui-input-inline">
|
7
7
|
<input type="text" name="business" class="layui-input">
|
8
8
|
</div>
|
@@ -33,6 +33,7 @@
|
|
33
33
|
</script>
|
34
34
|
<script type="text/html" id="currentTableBarmoney_plan">
|
35
35
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
36
|
+
<a class="layui-btn layui-btn-danger layui-btn-xs data-count-edit" lay-event="delete">删除</a>
|
36
37
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="apply">开票申请</a>
|
37
38
|
<!-- <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">催款提醒</a> -->
|
38
39
|
|
@@ -76,7 +77,7 @@
|
|
76
77
|
}, {
|
77
78
|
field: 'business_name',
|
78
79
|
width: 150,
|
79
|
-
title: '
|
80
|
+
title: '商机名称'
|
80
81
|
}, {
|
81
82
|
field: 'school',
|
82
83
|
width: 180,
|
@@ -130,6 +131,7 @@
|
|
130
131
|
field: 'created_at',
|
131
132
|
width: 170,
|
132
133
|
title: '添加计划时间',
|
134
|
+
sort: true,
|
133
135
|
}, {
|
134
136
|
title: '操作',
|
135
137
|
minWidth: 200,
|
@@ -174,12 +176,7 @@
|
|
174
176
|
|
175
177
|
form.on('submit(reset_business_search)', function(data) {
|
176
178
|
var field = data.field;
|
177
|
-
form.val('
|
178
|
-
area: "",
|
179
|
-
date: "",
|
180
|
-
staff_id: "",
|
181
|
-
clazz: "",
|
182
|
-
professional_title: "",
|
179
|
+
form.val('search_plans', {
|
183
180
|
school: "",
|
184
181
|
business: ""
|
185
182
|
});
|
@@ -245,6 +242,13 @@
|
|
245
242
|
$(window).on("resize", function() {
|
246
243
|
layer.full(sindex);
|
247
244
|
});
|
245
|
+
} else if (obj.event == 'delete') {
|
246
|
+
layer.confirm('确定删除商机' + data.business_name + "的回款计划", function (index) {
|
247
|
+
request.delete('missions/money_plans/' + data.id, {}, function (res) {
|
248
|
+
layer.close(index);
|
249
|
+
table.reload("money_plan_table");
|
250
|
+
})
|
251
|
+
});
|
248
252
|
}
|
249
253
|
});
|
250
254
|
|
@@ -1,10 +1,18 @@
|
|
1
|
+
<%= Gon::Base.render_data %>
|
1
2
|
<div style="padding:10px">
|
2
3
|
<div class="layui-form layuimini-form" lay-filter="searchform">
|
3
4
|
<div class="layui-form-item">
|
4
|
-
<label class="layui-form-label required" style="width: 80px !important;"
|
5
|
+
<label class="layui-form-label required" style="width: 80px !important;">商机名称:</label>
|
6
|
+
<% if @business.present? %>
|
7
|
+
<div class="layui-input-inline" style="line-height: 38px;">
|
8
|
+
<%= @business.name %>
|
9
|
+
</div>
|
10
|
+
<% else %>
|
5
11
|
<div class="layui-input-inline">
|
6
12
|
<div id="business" style="width:600px;"></div>
|
7
13
|
</div>
|
14
|
+
<% end %>
|
15
|
+
|
8
16
|
</div>
|
9
17
|
<div class="layui-form-item">
|
10
18
|
<div class="layui-inline">
|
@@ -22,7 +30,7 @@
|
|
22
30
|
<div class="layui-inline">
|
23
31
|
<label class="layui-form-label required" style="width: 110px;">计划回款时间:</label>
|
24
32
|
<div class="layui-input-inline">
|
25
|
-
<input type="text" name="date_at[0]" value="" class="layui-input" lay-verify="required" id="
|
33
|
+
<input type="text" name="date_at[0]" value="" class="layui-input" lay-verify="required" id="money_plan_date_at">
|
26
34
|
</div>
|
27
35
|
</div>
|
28
36
|
<div class="layui-inline">
|
@@ -86,19 +94,22 @@
|
|
86
94
|
form.render();
|
87
95
|
|
88
96
|
laydate.render({
|
89
|
-
elem: '#
|
97
|
+
elem: '#money_plan_date_at',
|
90
98
|
});
|
91
99
|
|
92
|
-
|
93
|
-
|
94
|
-
|
100
|
+
|
101
|
+
if (gon.business_id_source) {
|
102
|
+
var business_id = gon.business_id_source;
|
103
|
+
} else {
|
104
|
+
var business_id = "";
|
105
|
+
var business_select = selectInput.render({
|
95
106
|
elem: '#business',
|
96
107
|
name: 'bussiness_name', // 渲染的input的name值
|
97
108
|
layFilter: 'test', //同layui form参数lay-filter
|
98
109
|
layVerType: 'tips', // 同layui form参数lay-verType
|
99
110
|
layReqText: '请填写文本', //同layui form参数lay-ReqText
|
100
111
|
hasSelectIcon: false,
|
101
|
-
placeholder: '
|
112
|
+
placeholder: '请输入商机名称、客户名称或合同编号', // 渲染的inputplaceholder值
|
102
113
|
remoteSearch: true, // 是否启用远程搜索 默认是false,和远程搜索回调保存同步
|
103
114
|
remoteMethod: function (value, cb) { // 远程搜索的回调函数
|
104
115
|
if (!value) {
|
@@ -114,7 +125,7 @@
|
|
114
125
|
})
|
115
126
|
}
|
116
127
|
});
|
117
|
-
|
128
|
+
}
|
118
129
|
|
119
130
|
var num = 0;
|
120
131
|
$("#addInput").on("click", function() {
|
@@ -132,7 +143,12 @@
|
|
132
143
|
|
133
144
|
form.on('submit(saveBtn)', function(data) {
|
134
145
|
data.field.num = num;
|
135
|
-
|
146
|
+
if (gon.business_id_source == "") {
|
147
|
+
data.field.business_id = business_select.getValue() || business_id;
|
148
|
+
} else {
|
149
|
+
data.field.business_id = business_id;
|
150
|
+
}
|
151
|
+
|
136
152
|
if (data.field.business_id == '') {
|
137
153
|
layer.msg('请选择合同')
|
138
154
|
return false;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div style="padding:10px">
|
3
3
|
<div class="layui-form layuimini-form" lay-filter="searchform">
|
4
4
|
<div class="layui-form-item">
|
5
|
-
<label class="layui-form-label required" style="width: 80px !important;"
|
5
|
+
<label class="layui-form-label required" style="width: 80px !important;">商机名称:</label>
|
6
6
|
<div class="layui-input-inline">
|
7
7
|
<%= hidden_field_tag :id, @money_plan.id %>
|
8
8
|
<div id="business" style="line-height:38px;">
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: educode_sales
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
@@ -742,7 +742,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
742
742
|
- !ruby/object:Gem::Version
|
743
743
|
version: '0'
|
744
744
|
requirements: []
|
745
|
-
rubygems_version: 3.0.
|
745
|
+
rubygems_version: 3.0.9
|
746
746
|
signing_key:
|
747
747
|
specification_version: 4
|
748
748
|
summary: Summary of EducodeSales.
|