educode_sales 0.9.70 → 0.9.71
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 +16 -2
- data/app/controllers/educode_sales/customers_controller.rb +45 -13
- data/app/controllers/educode_sales/plans_controller.rb +69 -19
- data/app/controllers/educode_sales/teachers_controller.rb +7 -0
- data/app/models/educode_sales/customer_follow.rb +1 -0
- data/app/models/educode_sales/sale_plan.rb +2 -0
- data/app/views/educode_sales/businesses/index.html.erb +37 -12
- data/app/views/educode_sales/customers/list.html.erb +67 -23
- data/app/views/educode_sales/customers/list.json.jbuilder +22 -10
- data/app/views/educode_sales/customers/show_customer_follow.html.erb +175 -0
- data/app/views/educode_sales/customers/show_customer_follow.json.jbuilder +13 -0
- data/app/views/educode_sales/customers/show_majors.html.erb +146 -0
- data/app/views/educode_sales/plans/_yearPlan.html.erb +6 -3
- data/app/views/educode_sales/plans/business_infos.json.jbuilder +10 -4
- data/app/views/educode_sales/plans/edit_bussiness_info.html.erb +13 -8
- data/app/views/educode_sales/plans/edit_bussiness_info_extra.html.erb +16 -73
- data/app/views/educode_sales/plans/edit_year_plan.html.erb +64 -5
- data/app/views/educode_sales/plans/new_year.html.erb +51 -3
- data/app/views/educode_sales/plans/plan_business_infos.json.jbuilder +7 -0
- data/app/views/educode_sales/plans/years_plan.json.jbuilder +43 -3
- data/app/views/educode_sales/teachers/_index.html.erb +15 -5
- data/app/views/educode_sales/teachers/index.json.jbuilder +7 -0
- data/config/routes.rb +3 -0
- data/lib/educode_sales/version.rb +1 -1
- metadata +9 -7
- data/app/assets/images/educode_sales/indexlogo.png +0 -0
@@ -0,0 +1,175 @@
|
|
1
|
+
<h1 style="padding: 20px">客户:<%=@school_name %></h1>
|
2
|
+
<div style="padding-left: 20px">
|
3
|
+
<span>区域:<%=@area %></span>
|
4
|
+
<span style="padding-left: 100px" id="demo"></span>
|
5
|
+
<span style="padding-left: 100px">负责人:<%=@staff %></span>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<!--计划回款计划列表-->
|
9
|
+
<script type="text/html" id="unfinish_toolbar">
|
10
|
+
<div class="layui-btn-container">
|
11
|
+
<span class="table-label">跟进记录</span>
|
12
|
+
<% if can? :create_follow, EducodeSales::Customer %>
|
13
|
+
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="addFollow"> 添加跟进记录
|
14
|
+
<%end %>
|
15
|
+
</button>
|
16
|
+
</div>
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<table class="layui-hide" id="unfinish_table" lay-filter="unfinish_table"></table>
|
20
|
+
|
21
|
+
<script type="text/html" id="currentTableBar1234">
|
22
|
+
<% if can? :read_follow, EducodeSales::Customer %>
|
23
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="show">查看</a>
|
24
|
+
<% end %>
|
25
|
+
<% if can? :update_follow, EducodeSales::Customer %>
|
26
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
27
|
+
<% end %>
|
28
|
+
<% if can? :destroy_follow, EducodeSales::Customer %>
|
29
|
+
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
30
|
+
<% end %>
|
31
|
+
</script>
|
32
|
+
|
33
|
+
|
34
|
+
<script>
|
35
|
+
document.getElementById("demo").innerHTML = "最后跟进时间:" + parent.time;
|
36
|
+
layui.use(['form', 'table', 'miniPage', 'element'], function () {
|
37
|
+
var $ = layui.jquery,
|
38
|
+
form = layui.form,
|
39
|
+
table = layui.table,
|
40
|
+
request = layui.request,
|
41
|
+
miniPage = layui.miniPage;
|
42
|
+
|
43
|
+
table.render({
|
44
|
+
elem: '#unfinish_table',
|
45
|
+
url: '/missions/customers/show_customer_follow?id=' + parent.id + "&department_id=" + parent.department_id ,
|
46
|
+
toolbar: '#unfinish_toolbar',
|
47
|
+
defaultToolbar: [],
|
48
|
+
cols: [
|
49
|
+
[
|
50
|
+
{
|
51
|
+
field: 'id',
|
52
|
+
width: 100,
|
53
|
+
title:'序号',type: 'numbers',
|
54
|
+
},
|
55
|
+
{
|
56
|
+
field: 'created_at',
|
57
|
+
width: 180,
|
58
|
+
title: '时间',
|
59
|
+
sort: true
|
60
|
+
},
|
61
|
+
{
|
62
|
+
field: 'staff',
|
63
|
+
width: 100,
|
64
|
+
title: '跟进人'
|
65
|
+
},
|
66
|
+
{
|
67
|
+
field: 'department',
|
68
|
+
width: 100,
|
69
|
+
title: '跟进部门'
|
70
|
+
},
|
71
|
+
{
|
72
|
+
field: 'content',
|
73
|
+
title: '跟进内容',
|
74
|
+
templet:'<div><span title="{{d.content}}">{{d.content}}</span></div>'
|
75
|
+
},
|
76
|
+
{
|
77
|
+
title: '操作',
|
78
|
+
width: 300,
|
79
|
+
toolbar: '#currentTableBar1234',
|
80
|
+
align: "center"
|
81
|
+
}
|
82
|
+
]
|
83
|
+
],
|
84
|
+
page: true,
|
85
|
+
skin: 'line'
|
86
|
+
});
|
87
|
+
table.on('toolbar(unfinish_table)', function (obj) {
|
88
|
+
if (obj.event === 'addFollow') { // 监听添加操作
|
89
|
+
var content = miniPage.getHrefContent('/missions/customers/new_follow_record?id=' + parent.id)
|
90
|
+
var openWH = miniPage.getOpenWidthHeight();
|
91
|
+
addFollowIndex = layer.open({
|
92
|
+
title: '添加跟进记录',
|
93
|
+
type: 1,
|
94
|
+
shade: 0.2,
|
95
|
+
maxmin: true,
|
96
|
+
shadeClose: true,
|
97
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
98
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
99
|
+
content: content,
|
100
|
+
success: function (layero, index) {
|
101
|
+
// 重新渲染弹层中的下拉选择框select
|
102
|
+
form.render('select');
|
103
|
+
}
|
104
|
+
});
|
105
|
+
$(window).on("resize", function () {
|
106
|
+
layer.full(index);
|
107
|
+
});
|
108
|
+
} else if (obj.event === 'delete') { // 监听删除操作
|
109
|
+
var checkStatus = table.checkStatus('currentTableId'),
|
110
|
+
data = checkStatus.data;
|
111
|
+
layer.alert(JSON.stringify(data));
|
112
|
+
}
|
113
|
+
});
|
114
|
+
|
115
|
+
|
116
|
+
table.on('tool(unfinish_table)', function (obj) {
|
117
|
+
var data = obj.data;
|
118
|
+
var id = data.id
|
119
|
+
if (obj.event === 'delete') {
|
120
|
+
layer.confirm('确定删除ID为' + data.id + "的记录", function (index) {
|
121
|
+
request.authDelete("missions/customer_follows/" + data.id, {}, function() {
|
122
|
+
obj.del();
|
123
|
+
parent.table.reload('customers_table')
|
124
|
+
layer.close(index);
|
125
|
+
})
|
126
|
+
|
127
|
+
});
|
128
|
+
} else if (obj.event === 'show') {
|
129
|
+
content = miniPage.getHrefContent('/missions/customers/show_follow_record?id=' + data.id);
|
130
|
+
openWH = miniPage.getOpenWidthHeight();
|
131
|
+
index = layer.open({
|
132
|
+
title: '查看跟进记录',
|
133
|
+
type: 1,
|
134
|
+
shade: 0.2,
|
135
|
+
maxmin: true,
|
136
|
+
shadeClose: true,
|
137
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
138
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
139
|
+
content: content
|
140
|
+
});
|
141
|
+
$(window).on("resize", function () {
|
142
|
+
layer.full(index);
|
143
|
+
});
|
144
|
+
return false;
|
145
|
+
} else if (obj.event === 'edit') {
|
146
|
+
content = miniPage.getHrefContent('/missions/customers/edit_follow_record?id=' + data.id);
|
147
|
+
openWH = miniPage.getOpenWidthHeight();
|
148
|
+
editFollowIndex = layer.open({
|
149
|
+
title: '编辑跟进记录',
|
150
|
+
type: 1,
|
151
|
+
shade: 0.2,
|
152
|
+
maxmin: true,
|
153
|
+
shadeClose: true,
|
154
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
155
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
156
|
+
content: content,
|
157
|
+
success: function (layero, index) {
|
158
|
+
// 重新渲染弹层中的下拉选择框select
|
159
|
+
form.render('select');
|
160
|
+
},
|
161
|
+
});
|
162
|
+
$(window).on("resize", function () {
|
163
|
+
layer.full(sindex);
|
164
|
+
});
|
165
|
+
return false;
|
166
|
+
}
|
167
|
+
});
|
168
|
+
|
169
|
+
});
|
170
|
+
</script>
|
171
|
+
<style>
|
172
|
+
.z-index .layui-table-tool{
|
173
|
+
z-index: 10000; !important;
|
174
|
+
}
|
175
|
+
</style>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
json.data do
|
2
|
+
json.array! @follow_ups do |d|
|
3
|
+
json.id d.id
|
4
|
+
json.created_at d.created_at.to_s
|
5
|
+
json.staff d.staff.user.real_name
|
6
|
+
json.department d.department&.name || ''
|
7
|
+
json.content d.content
|
8
|
+
json.is_latest d.id == @latest.id
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
json.code 0
|
13
|
+
json.count @follow_ups.total_count
|
@@ -0,0 +1,146 @@
|
|
1
|
+
<div class="layuimini-main">
|
2
|
+
<form class="layui-form layuimini-form" action="">
|
3
|
+
<div class="layui-form-item" style="padding: 25px">
|
4
|
+
部门:<%=@department.name %>
|
5
|
+
</div>
|
6
|
+
</form>
|
7
|
+
<div>
|
8
|
+
<table class="layui-hide" id="major_table" lay-filter="major_table"></table>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
<script type="text/html" id="add_major">
|
12
|
+
<div class="layui-btn-container">
|
13
|
+
<span class="table-label">专业列表</span>
|
14
|
+
<% if can? :create_department, EducodeSales::Customer %>
|
15
|
+
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add">添加专业</button>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
</script>
|
19
|
+
<script type="text/html" id="tab_major">
|
20
|
+
<% if can? :update_department, EducodeSales::Customer %>
|
21
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
22
|
+
<a class="layui-btn layui-btn-normal layui-btn-xs layui-btn-danger data-count-delete" lay-event="del">删除</a>
|
23
|
+
<% end %>
|
24
|
+
</script>
|
25
|
+
|
26
|
+
<script>
|
27
|
+
|
28
|
+
layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
|
29
|
+
var form = layui.form,
|
30
|
+
layer = layui.layer,
|
31
|
+
table = layui.table,
|
32
|
+
transfer = layui.transfer,
|
33
|
+
laytpl = layui.laytpl,
|
34
|
+
request = layui.request,
|
35
|
+
laydate = layui.laydate,
|
36
|
+
$ = layui.$;
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
form.render();
|
41
|
+
|
42
|
+
// 当前弹出层,防止ID被覆盖
|
43
|
+
var parentIndex = layer.index;
|
44
|
+
|
45
|
+
table.render({
|
46
|
+
elem: '#major_table',
|
47
|
+
url: '/missions/customers/majors?id=' + parent.department_id ,
|
48
|
+
toolbar: '#add_major',
|
49
|
+
defaultToolbar: [],
|
50
|
+
cols: [
|
51
|
+
[
|
52
|
+
{
|
53
|
+
field: 'id',
|
54
|
+
width: 100,
|
55
|
+
title:'序号',type: 'numbers',
|
56
|
+
},
|
57
|
+
{
|
58
|
+
field: 'name',
|
59
|
+
title: '专业',
|
60
|
+
},
|
61
|
+
{
|
62
|
+
title: '操作',
|
63
|
+
width: 190,
|
64
|
+
toolbar: '#tab_major',
|
65
|
+
align: "center",
|
66
|
+
fixed: 'right'
|
67
|
+
}
|
68
|
+
]
|
69
|
+
],
|
70
|
+
});
|
71
|
+
|
72
|
+
table.on('toolbar(major_table)', function (obj) {
|
73
|
+
if (obj.event === 'add') {
|
74
|
+
department_id = parent.department_id;
|
75
|
+
var content = miniPage.getHrefContent('/missions/customers/new_major?id=' + parent.department_id);
|
76
|
+
var openWH = miniPage.getOpenWidthHeight();
|
77
|
+
new_major_index = layer.open({
|
78
|
+
title: '添加专业',
|
79
|
+
type: 1,
|
80
|
+
shade: 0.2,
|
81
|
+
maxmin: true,
|
82
|
+
shadeClose: true,
|
83
|
+
area: [openWH[0] + 'px', openWH[1] + 'px'],
|
84
|
+
offset: [openWH[2] + 'px', openWH[3] + 'px'],
|
85
|
+
content: content,
|
86
|
+
success: function (layero, index) {
|
87
|
+
form.render('select');
|
88
|
+
}
|
89
|
+
});
|
90
|
+
$(window).on("resize", function () {
|
91
|
+
layer.full(index);
|
92
|
+
});
|
93
|
+
}
|
94
|
+
});
|
95
|
+
table.on('tool(major_table)', function (obj) {
|
96
|
+
if (obj.event == 'edit') {
|
97
|
+
var index = layer.open({
|
98
|
+
title: '修改专业名称',
|
99
|
+
closeBtn: 0,
|
100
|
+
type: 1,
|
101
|
+
area: '400px;',
|
102
|
+
id: 'LAY_layuipro',
|
103
|
+
content: '<div class="layui-form" lay-filter="edit_data" style="padding: 20px;"><input autocomplete="off" type="text" name="name" lay-verify="required" class="layui-input" value="' + obj.data.name +'"/></div>' ,
|
104
|
+
btn: ['保存', '取消'],
|
105
|
+
btn1: function(index, l) {
|
106
|
+
if (l.find("input").val().trim() == '') {
|
107
|
+
layer.msg('名称不能为空')
|
108
|
+
return false;
|
109
|
+
} else {
|
110
|
+
request.authPut("missions/customers/" + parent.department_id + "/update_major", {name: l.find("input").val().trim(), major_id: obj.data.id}, function(res) {
|
111
|
+
if (res.success == false) {
|
112
|
+
layer.alert(res.msg);
|
113
|
+
} else {
|
114
|
+
table.reload('major_table');
|
115
|
+
parent.table.reload('customers_table');
|
116
|
+
layer.close(index);
|
117
|
+
}
|
118
|
+
})
|
119
|
+
}
|
120
|
+
|
121
|
+
return false
|
122
|
+
},
|
123
|
+
btn2: function(index, l) {
|
124
|
+
layer.close(index)
|
125
|
+
}
|
126
|
+
});
|
127
|
+
} else if (obj.event == 'del') {
|
128
|
+
var index = layer.open({
|
129
|
+
content: '确定删除该专业 ' + obj.data.name + ' 吗',
|
130
|
+
yes: function(index, layero){
|
131
|
+
request.authDelete("missions/customers/" + parent.department_id + "/delete_major?major_id=" + obj.data.id, {}, function(res) {
|
132
|
+
if (res.success == false) {
|
133
|
+
layer.alert(res.msg)
|
134
|
+
} else {
|
135
|
+
table.reload('major_table');
|
136
|
+
parent.table.reload('customers_table');
|
137
|
+
layer.close(index);
|
138
|
+
}
|
139
|
+
})
|
140
|
+
}
|
141
|
+
});
|
142
|
+
}
|
143
|
+
})
|
144
|
+
|
145
|
+
});
|
146
|
+
</script>
|
@@ -51,6 +51,7 @@
|
|
51
51
|
rate = layui.rate,
|
52
52
|
miniPage = layui.miniPage;
|
53
53
|
|
54
|
+
|
54
55
|
laydate.render({
|
55
56
|
elem: '#year_plan_date',
|
56
57
|
type: 'year'
|
@@ -122,16 +123,15 @@
|
|
122
123
|
},
|
123
124
|
{
|
124
125
|
title: '操作',
|
125
|
-
width:
|
126
|
+
width: 300,
|
126
127
|
toolbar: '#currentYearTableBar',
|
127
128
|
align: "center",
|
128
129
|
fixed: 'right'
|
129
130
|
}
|
130
131
|
]
|
131
132
|
],
|
132
|
-
|
133
133
|
limit: 20,
|
134
|
-
|
134
|
+
limits: [10,15,20,30,40,50,60,70,80,90],
|
135
135
|
page: true,
|
136
136
|
});
|
137
137
|
|
@@ -197,6 +197,9 @@
|
|
197
197
|
var data = obj.data;
|
198
198
|
if (obj.event === 'edit') {
|
199
199
|
year = data.year;
|
200
|
+
sale_id = data.id;
|
201
|
+
staff_id = data.staff_id;
|
202
|
+
clazz = data.clazz_id;
|
200
203
|
content = miniPage.getHrefContent('/missions/plans/edit_year_plan?id=' + data.id);
|
201
204
|
openWH = miniPage.getOpenWidthHeight();
|
202
205
|
from_sales = true;
|
@@ -12,10 +12,16 @@ json.data do
|
|
12
12
|
json.created_at d.created_at.to_s
|
13
13
|
json.sale_way d.business.last_follow_up&.place&.name.present? ? '渠道' : '直销'
|
14
14
|
json.budget_amount d.business&.last_follow_up ? d.business.last_follow_up.budget_amount.to_f.round(2) : 0
|
15
|
-
json.plan_bid_on d.plan_bid_on
|
16
|
-
json.plan_sign_on d.plan_sign_on
|
17
|
-
json.prepayment_plan_on d.prepayment_plan_on
|
18
|
-
json.prepayment_amount d.prepayment_amount
|
15
|
+
json.plan_bid_on d.plan_bid_on || ''
|
16
|
+
json.plan_sign_on d.plan_sign_on || ''
|
17
|
+
json.prepayment_plan_on d.prepayment_plan_on || ''
|
18
|
+
json.prepayment_amount d.prepayment_amount || ''
|
19
|
+
json.business_clazz d.business.clazz&.name || ""
|
20
|
+
if d.business&.department&.school
|
21
|
+
json.property d.business.department.school.school_tags.where(for_missions: true).pluck(:name).join("、")
|
22
|
+
else
|
23
|
+
json.property ''
|
24
|
+
end
|
19
25
|
end
|
20
26
|
end
|
21
27
|
|
@@ -3,25 +3,25 @@
|
|
3
3
|
<div class="layui-inline">
|
4
4
|
<label class="layui-form-label required" style="width: 180px;">计划投标时间</label>
|
5
5
|
<div class="layui-input-inline">
|
6
|
-
<input type="text" class="layui-input" id="
|
6
|
+
<input type="text" class="layui-input" id="plan_bid_on_date" autocomplete="off" name="plan_bid_on" <%= ['回款目标', '签单目标', '商机目标'].include?(EducodeSales::SalePlan::CLAZZ_NAME.invert[@business_info.clazz]) ? 'disabled' : '' %>>
|
7
7
|
</div>
|
8
8
|
</div>
|
9
9
|
<div class="layui-inline">
|
10
10
|
<label class="layui-form-label required" style="width: 180px;">计划签单时间</label>
|
11
11
|
<div class="layui-input-inline">
|
12
|
-
<input type="text" class="layui-input" id="
|
12
|
+
<input type="text" class="layui-input" id="plan_sign_on_date" autocomplete="off" name="plan_sign_on" <%= ['回款目标', '中标目标', '商机目标'].include?(EducodeSales::SalePlan::CLAZZ_NAME.invert[@business_info.clazz]) ? 'disabled' : '' %>>
|
13
13
|
</div>
|
14
14
|
</div>
|
15
15
|
<div class="layui-inline">
|
16
16
|
<label class="layui-form-label required" style="width: 180px;">计划回款时间</label>
|
17
17
|
<div class="layui-input-inline">
|
18
|
-
<input type="text" class="layui-input" id="
|
18
|
+
<input type="text" class="layui-input" id="prepayment_plan_on_date" autocomplete="off" name="prepayment_plan_on" <%= ['中标目标', '签单目标', '商机目标'].include?(EducodeSales::SalePlan::CLAZZ_NAME.invert[@business_info.clazz]) ? 'disabled' : '' %>>
|
19
19
|
</div>
|
20
20
|
</div>
|
21
21
|
<div class="layui-inline">
|
22
|
-
<label class="layui-form-label required"
|
22
|
+
<label class="layui-form-label required" style="width: 180px;">计划回款额</label>
|
23
23
|
<div class="layui-input-inline">
|
24
|
-
<input type="text" class="layui-input"
|
24
|
+
<input type="text" class="layui-input" autocomplete="off" name="prepayment_amount" value="<%= @business_info.prepayment_amount %>" <%= ['中标目标', '签单目标', '商机目标'].include?(EducodeSales::SalePlan::CLAZZ_NAME.invert[@business_info.clazz]) ? 'disabled' : '' %>>
|
25
25
|
</div>
|
26
26
|
</div>
|
27
27
|
|
@@ -32,6 +32,11 @@
|
|
32
32
|
</div>
|
33
33
|
</div>
|
34
34
|
</form>
|
35
|
+
<style>
|
36
|
+
input:disabled {
|
37
|
+
background: #eee;
|
38
|
+
}
|
39
|
+
</style>
|
35
40
|
<script>
|
36
41
|
layui.use(['form', 'table', 'laytpl', 'request', 'laydate'], function () {
|
37
42
|
var form = layui.form,
|
@@ -42,18 +47,18 @@
|
|
42
47
|
$ = layui.$;
|
43
48
|
|
44
49
|
laydate.render({
|
45
|
-
elem: '#
|
50
|
+
elem: '#plan_bid_on_date',
|
46
51
|
value: "<%= @business_info.plan_bid_on.to_s %>",
|
47
52
|
type: 'date'
|
48
53
|
});
|
49
54
|
|
50
55
|
laydate.render({
|
51
|
-
elem: '#
|
56
|
+
elem: '#plan_sign_on_date',
|
52
57
|
value: "<%= @business_info.plan_sign_on.to_s %>",
|
53
58
|
type: 'date'
|
54
59
|
});
|
55
60
|
laydate.render({
|
56
|
-
elem: '#
|
61
|
+
elem: '#prepayment_plan_on_date',
|
57
62
|
value: "<%= @business_info.prepayment_plan_on.to_s %>",
|
58
63
|
type: 'date'
|
59
64
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<form class="layui-form ">
|
2
|
-
<div class="layui-form-item">
|
2
|
+
<div class="layui-form-item" style="padding: 25px">
|
3
3
|
<div class="layui-inline">
|
4
4
|
<label class="layui-form-label required" style="width: 180px;">计划投标时间</label>
|
5
5
|
<div class="layui-input-inline">
|
@@ -7,29 +7,23 @@
|
|
7
7
|
</div>
|
8
8
|
</div>
|
9
9
|
<div class="layui-inline">
|
10
|
-
<label class="layui-form-label required" style="width: 180px;"
|
10
|
+
<label class="layui-form-label required" style="width: 180px;">计划签单时间</label>
|
11
11
|
<div class="layui-input-inline">
|
12
|
-
<input type="text" class="layui-input" id="
|
12
|
+
<input type="text" class="layui-input" id="plan_sign_on" autocomplete="off" name="plan_sign_on">
|
13
13
|
</div>
|
14
14
|
</div>
|
15
15
|
<div class="layui-inline">
|
16
|
-
<label class="layui-form-label required" style="width: 180px;"
|
16
|
+
<label class="layui-form-label required" style="width: 180px;">计划验收时间</label>
|
17
17
|
<div class="layui-input-inline">
|
18
|
-
<input type="text" class="layui-input"
|
18
|
+
<input type="text" class="layui-input" id="plan_check_on" autocomplete="off" name="plan_check_on">
|
19
19
|
</div>
|
20
20
|
</div>
|
21
21
|
</div>
|
22
22
|
<div class="layui-form-item">
|
23
23
|
<div class="layui-inline">
|
24
|
-
<label class="layui-form-label required" style="width: 180px;"
|
24
|
+
<label class="layui-form-label required" style="width: 180px;">计划金额</label>
|
25
25
|
<div class="layui-input-inline">
|
26
|
-
<input type="text" class="layui-input"
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
<div class="layui-inline">
|
30
|
-
<label class="layui-form-label required" style="width: 180px;">实际签单时间</label>
|
31
|
-
<div class="layui-input-inline">
|
32
|
-
<input type="text" class="layui-input" id="actual_sign_on" autocomplete="off" name="actual_sign_on">
|
26
|
+
<input type="text" class="layui-input" autocomplete="off" name="bidded_amount" value="<%= @business_info.bidded_amount %>">
|
33
27
|
</div>
|
34
28
|
</div>
|
35
29
|
<div class="layui-inline">
|
@@ -38,54 +32,15 @@
|
|
38
32
|
<input type="text" class="layui-input" autocomplete="off" name="sign_amount" value="<%= @business_info.sign_amount %>">
|
39
33
|
</div>
|
40
34
|
</div>
|
35
|
+
|
41
36
|
</div>
|
42
|
-
<div class="layui-form-item">
|
43
|
-
<div class="layui-inline">
|
44
|
-
<label class="layui-form-label required" style="width: 180px;">计划部署时间</label>
|
45
|
-
<div class="layui-input-inline">
|
46
|
-
<input type="text" class="layui-input" id="plan_deploy_on" autocomplete="off" name="plan_deploy_on">
|
47
|
-
</div>
|
48
|
-
</div>
|
49
|
-
<div class="layui-inline">
|
50
|
-
<label class="layui-form-label required" style="width: 180px;">实际部署时间</label>
|
51
|
-
<div class="layui-input-inline">
|
52
|
-
<input type="text" class="layui-input" id="actual_deploy_on" autocomplete="off" name="actual_deploy_on">
|
53
|
-
</div>
|
54
|
-
</div>
|
55
|
-
<div class="layui-inline">
|
56
|
-
<label class="layui-form-label required" style="width: 180px;">计划验收时间</label>
|
57
|
-
<div class="layui-input-inline">
|
58
|
-
<input type="text" class="layui-input" id="plan_check_on" autocomplete="off" name="plan_check_on">
|
59
|
-
</div>
|
60
|
-
</div>
|
61
|
-
</div>
|
62
37
|
<div class="layui-form-item">
|
63
|
-
<div class="layui-inline">
|
64
|
-
<label class="layui-form-label required" style="width: 180px;">实际验收时间</label>
|
65
|
-
<div class="layui-input-inline">
|
66
|
-
<input type="text" class="layui-input" id="actual_check_on" autocomplete="off" name="actual_check_on">
|
67
|
-
</div>
|
68
|
-
</div>
|
69
38
|
<div class="layui-inline">
|
70
39
|
<label class="layui-form-label required" style="width: 180px;">预收款计划回款时间</label>
|
71
40
|
<div class="layui-input-inline">
|
72
41
|
<input type="text" class="layui-input" id="prepayment_plan_on" autocomplete="off" name="prepayment_plan_on">
|
73
42
|
</div>
|
74
43
|
</div>
|
75
|
-
<div class="layui-inline">
|
76
|
-
<label class="layui-form-label required" style="width: 180px;">预收款实际回款时间</label>
|
77
|
-
<div class="layui-input-inline">
|
78
|
-
<input type="text" class="layui-input" id="prepayment_actual_on" autocomplete="off" name="prepayment_actual_on">
|
79
|
-
</div>
|
80
|
-
</div>
|
81
|
-
</div>
|
82
|
-
<div class="layui-form-item">
|
83
|
-
<div class="layui-inline">
|
84
|
-
<label class="layui-form-label required" style="width: 180px;">预收款</label>
|
85
|
-
<div class="layui-input-inline">
|
86
|
-
<input type="text" class="layui-input" autocomplete="off" name="prepayment_amount" value="<%= @business_info.prepayment_amount %>">
|
87
|
-
</div>
|
88
|
-
</div>
|
89
44
|
<div class="layui-inline">
|
90
45
|
<label class="layui-form-label required" style="width: 180px;">验收款计划回款时间</label>
|
91
46
|
<div class="layui-input-inline">
|
@@ -93,45 +48,33 @@
|
|
93
48
|
</div>
|
94
49
|
</div>
|
95
50
|
<div class="layui-inline">
|
96
|
-
<label class="layui-form-label required" style="width: 180px;"
|
51
|
+
<label class="layui-form-label required" style="width: 180px;">质保金计划回款时间</label>
|
97
52
|
<div class="layui-input-inline">
|
98
|
-
<input type="text" class="layui-input" id="
|
53
|
+
<input type="text" class="layui-input" id="qa_plan_on" autocomplete="off" name="qa_plan_on">
|
99
54
|
</div>
|
100
55
|
</div>
|
101
56
|
</div>
|
102
57
|
<div class="layui-form-item">
|
103
58
|
<div class="layui-inline">
|
104
|
-
<label class="layui-form-label required" style="width: 180px;"
|
59
|
+
<label class="layui-form-label required" style="width: 180px;">计划预收款</label>
|
105
60
|
<div class="layui-input-inline">
|
106
|
-
<input type="text" class="layui-input" autocomplete="off" name="
|
61
|
+
<input type="text" class="layui-input" autocomplete="off" name="prepayment_amount" value="<%= @business_info.prepayment_amount %>">
|
107
62
|
</div>
|
108
63
|
</div>
|
109
64
|
<div class="layui-inline">
|
110
|
-
<label class="layui-form-label required" style="width: 180px;"
|
65
|
+
<label class="layui-form-label required" style="width: 180px;">计划验收款</label>
|
111
66
|
<div class="layui-input-inline">
|
112
|
-
<input type="text" class="layui-input"
|
67
|
+
<input type="text" class="layui-input" autocomplete="off" name="check_fee" value="<%= @business_info.check_fee %>">
|
113
68
|
</div>
|
114
69
|
</div>
|
115
70
|
<div class="layui-inline">
|
116
|
-
<label class="layui-form-label required" style="width: 180px;"
|
71
|
+
<label class="layui-form-label required" style="width: 180px;">计划质保金</label>
|
117
72
|
<div class="layui-input-inline">
|
118
|
-
<input type="text" class="layui-input"
|
73
|
+
<input type="text" class="layui-input" autocomplete="off" name="qa_amount" value="<%= @business_info.qa_amount %>">
|
119
74
|
</div>
|
120
75
|
</div>
|
121
76
|
</div>
|
122
77
|
<div class="layui-form-item">
|
123
|
-
<div class="layui-inline">
|
124
|
-
<label class="layui-form-label required" style="width: 180px;">质保金</label>
|
125
|
-
<div class="layui-input-inline">
|
126
|
-
<input type="text" class="layui-input" autocomplete="off" name="qa_amount" value="<%= @business_info.qa_amount %>">
|
127
|
-
</div>
|
128
|
-
</div>
|
129
|
-
<div class="layui-inline">
|
130
|
-
<label class="layui-form-label required" style="width: 180px;">应收款</label>
|
131
|
-
<div class="layui-input-inline">
|
132
|
-
<input type="text" class="layui-input" autocomplete="off" name="account_receivable" value="<%= @business_info.account_receivable %>">
|
133
|
-
</div>
|
134
|
-
</div>
|
135
78
|
<div class="layui-form-item m-t-20">
|
136
79
|
<div class="layui-input-block">
|
137
80
|
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="update_bussiness_info">提交</button>
|