educode_sales 1.10.59 → 1.10.70
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/educode_sales/application.js +1 -0
- data/app/assets/javascripts/educode_sales/functions.js +24 -0
- data/app/controllers/educode_sales/application_controller.rb +11 -3
- data/app/controllers/educode_sales/business_courses_controller.rb +19 -8
- data/app/controllers/educode_sales/follow_ups_controller.rb +4 -0
- data/app/controllers/educode_sales/plans_controller.rb +448 -124
- data/app/controllers/educode_sales/shixuns_controller.rb +20 -10
- data/app/controllers/educode_sales/subjects_controller.rb +10 -6
- data/app/controllers/educode_sales/teacher_follows_controller.rb +4 -0
- data/app/controllers/educode_sales/teachers_controller.rb +3 -0
- data/app/models/educode_sales/business.rb +5 -5
- data/app/models/educode_sales/sales_target.rb +10 -0
- data/app/models/educode_sales/sales_target_log.rb +11 -0
- data/app/views/educode_sales/business_courses/index.html.erb +1 -1
- data/app/views/educode_sales/business_courses/new.html.erb +2 -2
- data/app/views/educode_sales/businesses/_follows.html.erb +107 -100
- data/app/views/educode_sales/businesses/index.html.erb +6 -3
- data/app/views/educode_sales/businesses/index.json.jbuilder +2 -2
- data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -1
- data/app/views/educode_sales/contracts/_follows.html.erb +75 -69
- data/app/views/educode_sales/contracts/_list.html.erb +283 -249
- data/app/views/educode_sales/contracts/index.json.jbuilder +1 -1
- data/app/views/educode_sales/follow_ups/index.json.jbuilder +1 -1
- data/app/views/educode_sales/plans/_year_execute.html.erb +294 -159
- data/app/views/educode_sales/plans/_year_target.html.erb +330 -215
- data/app/views/educode_sales/plans/index.html.erb +3 -4
- data/app/views/educode_sales/plans/staff_year_business.html.erb +96 -0
- data/app/views/educode_sales/plans/staff_year_business.json.jbuilder +22 -0
- data/app/views/educode_sales/plans/staff_year_target.json.jbuilder +35 -0
- data/app/views/educode_sales/plans/staff_year_target_log.html.erb +62 -0
- data/app/views/educode_sales/plans/staff_year_target_log.json.jbuilder +34 -0
- data/app/views/educode_sales/plans/years_all_target.json.jbuilder +5 -4
- data/app/views/educode_sales/sales_details/_index.html.erb +6 -3
- data/app/views/educode_sales/shixun_dectects/markdown.html.erb +40 -1
- data/app/views/educode_sales/shixuns/index.html.erb +106 -97
- data/app/views/educode_sales/shixuns/new.html.erb +2 -2
- data/app/views/educode_sales/staffs/index.json.jbuilder +1 -1
- data/app/views/educode_sales/subjects/index.html.erb +1 -1
- data/app/views/educode_sales/subjects/new.html.erb +2 -2
- data/app/views/educode_sales/teachers/_follows.html.erb +24 -17
- data/app/views/educode_sales/teachers/_index.html.erb +6 -0
- data/app/views/layouts/educode_sales/application.html.erb +6 -3
- data/config/environments/development.rb +16 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20230729085359_create_educode_sales_sales_target_histories.rb +1 -1
- data/lib/educode_sales/version.rb +1 -1
- metadata +11 -2
@@ -24,10 +24,8 @@
|
|
24
24
|
<!-- <div class="layui-tab-item">-->
|
25
25
|
<!-- <div id="year_plan_tab_wraper"></div>-->
|
26
26
|
<!-- </div>-->
|
27
|
-
<div class="layui-tab-item layui-show" id="year_execute_tab">
|
28
|
-
|
29
|
-
<div class="layui-tab-item " id="year_target_tab">
|
30
|
-
</div>
|
27
|
+
<div class="layui-tab-item layui-show" id="year_execute_tab"></div>
|
28
|
+
<div class="layui-tab-item" id="year_target_tab"></div>
|
31
29
|
</div>
|
32
30
|
</div>
|
33
31
|
|
@@ -65,6 +63,7 @@
|
|
65
63
|
|
66
64
|
// })
|
67
65
|
loadPage('/missions/plans/year_execute')
|
66
|
+
//loadPage('/missions/plans/year_target')
|
68
67
|
element.render();
|
69
68
|
element.on('tab(sale_tab)', function (data) {
|
70
69
|
if (data.index === 0 && $("#year_execute_wraper").length == 0) {
|
@@ -0,0 +1,96 @@
|
|
1
|
+
<style>
|
2
|
+
/* 添加自定义样式规则来居中对齐表格内容 */
|
3
|
+
.z-index .layui-table-tool{
|
4
|
+
z-index: 10000; !important;
|
5
|
+
}
|
6
|
+
</style>
|
7
|
+
<script type="text/html" id="staff_year_target_log_toolbar">
|
8
|
+
<div class="layui-btn-container">
|
9
|
+
<span class="table-label">
|
10
|
+
</span>
|
11
|
+
</div>
|
12
|
+
</script>
|
13
|
+
<div class="z-index">
|
14
|
+
<table class="layui-hide" id="staff_year_business" lay-filter="staff_year_business"></table>
|
15
|
+
</div>
|
16
|
+
<script>
|
17
|
+
var hide = false;
|
18
|
+
</script>
|
19
|
+
<% if @type == 'plan' %>
|
20
|
+
<% if @target_clazz == '中标' %>
|
21
|
+
<script>
|
22
|
+
var moneyTitle = "计划投标金额";
|
23
|
+
var moneyTime = "计划投标时间";
|
24
|
+
var createTime = "计划创建时间";
|
25
|
+
</script>
|
26
|
+
<% elsif @target_clazz == '商机' %>
|
27
|
+
<script>
|
28
|
+
var moneyTitle = "计划A类金额";
|
29
|
+
var moneyTime = "计划A类时间";
|
30
|
+
var createTime = "计划创建时间";
|
31
|
+
</script>
|
32
|
+
<% elsif @target_clazz == '回款' %>
|
33
|
+
<script>
|
34
|
+
var moneyTitle = "计划回款金额";
|
35
|
+
var moneyTime = "计划回款时间";
|
36
|
+
var createTime = "计划创建时间";
|
37
|
+
</script>
|
38
|
+
<% end %>
|
39
|
+
<% elsif @type == 'finish' %>
|
40
|
+
<% if @target_clazz == '中标' %>
|
41
|
+
<script>
|
42
|
+
var moneyTitle = "合同额";
|
43
|
+
var moneyTime = "中标时间";
|
44
|
+
var createTime = "创建时间";
|
45
|
+
var hide = true;
|
46
|
+
</script>
|
47
|
+
<% elsif @target_clazz == '商机' %>
|
48
|
+
<script>
|
49
|
+
var moneyTitle = "预算额";
|
50
|
+
var moneyTime = "中标时间";
|
51
|
+
var createTime = "创建时间";
|
52
|
+
var hide = true;
|
53
|
+
</script>
|
54
|
+
<% elsif @target_clazz == '回款' %>
|
55
|
+
<script>
|
56
|
+
var moneyTitle = "回款金额";
|
57
|
+
var moneyTime = "回款时间";
|
58
|
+
var createTime = "创建时间";
|
59
|
+
var hide = true;
|
60
|
+
</script>
|
61
|
+
<% end %>
|
62
|
+
<% end %>
|
63
|
+
<script>
|
64
|
+
layui.use(['form', 'table', 'miniPage', 'element'], function () {
|
65
|
+
var $ = layui.jquery,
|
66
|
+
form = layui.form,
|
67
|
+
request =layui.request,
|
68
|
+
miniPage = layui.miniPage;
|
69
|
+
table = layui.table;
|
70
|
+
table.render({
|
71
|
+
elem: '#staff_year_business',
|
72
|
+
url: '/missions/plans/staff_year_business?year=' + parent._year + '&month=' + parent.month
|
73
|
+
+ '&school_tag_id=' + parent.school_tag_id + '&staff_id=' + parent.staff_id
|
74
|
+
+ '&target_clazz=' + parent._target_clazz + '&type=' + parent.type,
|
75
|
+
toolbar: '#staff_year_business_toolbar',
|
76
|
+
defaultToolbar: ['filter', 'exports'],
|
77
|
+
totalRow: true,
|
78
|
+
cols: [[
|
79
|
+
{field: 'id', title: '序号', type: 'numbers', totalRowText: '合计'}
|
80
|
+
, {field: 'name', title: '商机名称'}
|
81
|
+
, {field: 'school', title: '单位'}
|
82
|
+
, {field: 'school_tag_name', title: '客户类型'}
|
83
|
+
, {field: 'target_clazz', title: '目标类别'}
|
84
|
+
, {field: 'clazz', title: '商机类型'}
|
85
|
+
, {field: 'money', title: moneyTitle, totalRow: true}
|
86
|
+
, {field: 'time', title: moneyTime}
|
87
|
+
, {field: 'created_at', title: createTime, hide: hide}
|
88
|
+
, {field: 'staff', title: '销售经理'}
|
89
|
+
]],
|
90
|
+
page: true
|
91
|
+
});
|
92
|
+
});
|
93
|
+
</script>
|
94
|
+
<style>
|
95
|
+
|
96
|
+
</style>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
json.data do
|
2
|
+
json.array! @data do |d|
|
3
|
+
json.id d.id
|
4
|
+
json.name d.name
|
5
|
+
json.clazz_id d.clazz_id
|
6
|
+
json.clazz d.clazz.name
|
7
|
+
json.staff d&.last_follow_up&.assign_follow_ups.present? ? (d&.last_follow_up&.assign_follow_ups.map{ |d| d.staff&.user&.real_name}.join("、")) : d.staff&.user&.real_name
|
8
|
+
json.school_id d.school_id
|
9
|
+
json.school d.department&.school&.name
|
10
|
+
json.school_tag_name d.school_tag_name
|
11
|
+
json.school_tag_id d.school_tag_id
|
12
|
+
json.year @year
|
13
|
+
json.target_clazz @target_clazz
|
14
|
+
json.money d.money
|
15
|
+
json.time d.time
|
16
|
+
json.created_at d.created_at.to_s(:date)
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
json.code 0
|
22
|
+
json.count @data.total_count
|
@@ -0,0 +1,35 @@
|
|
1
|
+
json.data do
|
2
|
+
json.array! @data do |d|
|
3
|
+
json.id d.id
|
4
|
+
json.staff d.staff.user.real_name
|
5
|
+
json.staff_id d.staff_id
|
6
|
+
json.school_tag d.school_tag.name
|
7
|
+
json.school_tag_id d.school_tag_id
|
8
|
+
json.year d.year
|
9
|
+
json.target_clazz d.target_clazz
|
10
|
+
json.year_target d.year_target
|
11
|
+
json.year_finish d.year_finish
|
12
|
+
json.year_diff d.year_diff
|
13
|
+
json.reviewer d.reviewer&.user&.real_name
|
14
|
+
json.comment d.comment
|
15
|
+
json.state d.state
|
16
|
+
json.target_1 d.target_1
|
17
|
+
json.target_2 d.target_2
|
18
|
+
json.target_3 d.target_3
|
19
|
+
json.target_4 d.target_4
|
20
|
+
json.target_5 d.target_5
|
21
|
+
json.target_6 d.target_6
|
22
|
+
json.target_7 d.target_7
|
23
|
+
json.target_8 d.target_8
|
24
|
+
json.target_9 d.target_9
|
25
|
+
json.target_10 d.target_10
|
26
|
+
json.target_11 d.target_11
|
27
|
+
json.target_12 d.target_12
|
28
|
+
json.updated_at d.updated_at.to_s(:date)
|
29
|
+
json.created_at d.created_at.to_s(:date)
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
json.code 0
|
35
|
+
json.count @data.total_count
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<style>
|
2
|
+
/* 添加自定义样式规则来居中对齐表格内容 */
|
3
|
+
.z-index .layui-table-tool{
|
4
|
+
z-index: 10000; !important;
|
5
|
+
}
|
6
|
+
</style>
|
7
|
+
<script type="text/html" id="staff_year_target_log_toolbar">
|
8
|
+
<div class="layui-btn-container">
|
9
|
+
<span class="table-label">
|
10
|
+
</span>
|
11
|
+
</div>
|
12
|
+
</script>
|
13
|
+
<div class="z-index">
|
14
|
+
<table class="layui-hide" id="staff_year_target_log" lay-filter="staff_year_target_log"></table>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<script>
|
18
|
+
layui.use(['form', 'table', 'miniPage', 'element'], function () {
|
19
|
+
var $ = layui.jquery,
|
20
|
+
form = layui.form,
|
21
|
+
request =layui.request,
|
22
|
+
miniPage = layui.miniPage;
|
23
|
+
|
24
|
+
table = layui.table;
|
25
|
+
table.render({
|
26
|
+
elem: '#staff_year_target_log',
|
27
|
+
url: '/missions/plans/staff_year_target_log?target_id=' + parent.id ,
|
28
|
+
toolbar: '#staff_year_target_log_toolbar',
|
29
|
+
defaultToolbar: ['filter', 'exports'],
|
30
|
+
cols: [[
|
31
|
+
{field: 'id', title: '序号', width: 80, type: 'numbers'}
|
32
|
+
, {field: 'staff', title: '姓名', width: 100}
|
33
|
+
, {field: 'school_tag', title: '客户类型', width: 100}
|
34
|
+
, {field: 'target_clazz', title: '目标类别', width: 100}
|
35
|
+
, {field: 'year', title: '年份', width: 100}
|
36
|
+
, {field: 'year_target', title: '年度目标', minWidth: 100}
|
37
|
+
, {field: 'year_finish', title: '年度完成', minWidth: 100}
|
38
|
+
, {field: 'year_diff', title: '年度差额', minWidth: 100}
|
39
|
+
, {field: 'target_1', title: '1月', minWidth: 60}
|
40
|
+
, {field: 'target_2', title: '2月', minWidth: 60}
|
41
|
+
, {field: 'target_3', title: '3月', minWidth: 60}
|
42
|
+
, {field: 'target_4', title: '4月', minWidth: 60}
|
43
|
+
, {field: 'target_5', title: '5月', minWidth: 60}
|
44
|
+
, {field: 'target_6', title: '6月', minWidth: 60}
|
45
|
+
, {field: 'target_7', title: '7月', minWidth: 60}
|
46
|
+
, {field: 'target_8', title: '8月', minWidth: 60}
|
47
|
+
, {field: 'target_9', title: '9月', minWidth: 60}
|
48
|
+
, {field: 'target_10', title: '10月', minWidth: 60}
|
49
|
+
, {field: 'target_11', title: '11月', minWidth: 60}
|
50
|
+
, {field: 'target_12', title: '12月', minWidth: 60}
|
51
|
+
, {field: 'state', title: '状态', width: 100}
|
52
|
+
, {field: 'reviewer', title: '审批人', width: 100}
|
53
|
+
, {field: 'comment', title: '审核意见', width: 150}
|
54
|
+
, {field: 'updated_at', title: '更新时间', width: 180}
|
55
|
+
]],
|
56
|
+
page: true
|
57
|
+
});
|
58
|
+
});
|
59
|
+
</script>
|
60
|
+
<style>
|
61
|
+
|
62
|
+
</style>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
json.data do
|
2
|
+
json.array! @data do |d|
|
3
|
+
json.id d.id
|
4
|
+
json.staff d.staff.user.real_name
|
5
|
+
json.staff_id d.staff_id
|
6
|
+
json.school_tag d.school_tag.name
|
7
|
+
json.school_tag_id d.school_tag_id
|
8
|
+
json.year d.year
|
9
|
+
json.target_clazz d.target_clazz
|
10
|
+
json.year_target d.year_target
|
11
|
+
json.year_finish d.year_finish
|
12
|
+
json.year_diff d.year_diff
|
13
|
+
json.reviewer d.reviewer&.user&.real_name
|
14
|
+
json.comment d.comment
|
15
|
+
json.state d.state
|
16
|
+
json.target_1 d.target_1
|
17
|
+
json.target_2 d.target_2
|
18
|
+
json.target_3 d.target_3
|
19
|
+
json.target_4 d.target_4
|
20
|
+
json.target_5 d.target_5
|
21
|
+
json.target_6 d.target_6
|
22
|
+
json.target_7 d.target_7
|
23
|
+
json.target_8 d.target_8
|
24
|
+
json.target_9 d.target_9
|
25
|
+
json.target_10 d.target_10
|
26
|
+
json.target_11 d.target_11
|
27
|
+
json.target_12 d.target_12
|
28
|
+
json.updated_at d.updated_at.to_s(:db)
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
json.code 0
|
34
|
+
json.count @data.count
|
@@ -1,6 +1,7 @@
|
|
1
1
|
json.data do
|
2
2
|
json.array! @data do |item|
|
3
3
|
json.id item['id']
|
4
|
+
json.staff_id item['staff_id']
|
4
5
|
json.name item['name']
|
5
6
|
json.school_tag_id item['school_tag_id']
|
6
7
|
json.school_tag_name item['school_tag_name']
|
@@ -42,10 +43,10 @@ json.data do
|
|
42
43
|
json.plan_11 item['plan_11'].present? ? item['plan_11'].round(2) : 0
|
43
44
|
json.plan_12 item['plan_12'].present? ? item['plan_12'].round(2) : 0
|
44
45
|
json.year_target 0
|
45
|
-
json.year_clazz_target (item['target_1'].present? ? item['target_1'].round(2) : 0)+(item['target_2'].present? ? item['target_2'].round(2) : 0)+(item['target_3'].present? ? item['target_3'].round(2) : 0)+(item['target_4'].present? ? item['target_4'].round(2) : 0)+(item['target_5'].present? ? item['target_5'].round(2) : 0)+(item['target_6'].present? ? item['target_6'].round(2) : 0)+(item['target_7'].present? ? item['target_7'].round(2) : 0)+(item['target_8'].present? ? item['target_8'].round(2) : 0)+(item['target_9'].present? ? item['target_9'].round(2) : 0)+(item['target_10'].present? ? item['target_10'].round(2) : 0)+(item['target_11'].present? ? item['target_11'].round(2) : 0)+(item['target_12'].present? ? item['target_12'].round(2) : 0)
|
46
|
-
json.year_plan
|
47
|
-
json.year_finish (item['finish_1'].present? ? item['finish_1'].round(2) : 0)+(item['finish_2'].present? ? item['finish_2'].round(2) : 0)+(item['finish_3'].present? ? item['finish_3'].round(2) : 0)+(item['finish_4'].present? ? item['finish_4'].round(2) : 0)+(item['finish_5'].present? ? item['finish_5'].round(2) : 0)+(item['finish_6'].present? ? item['finish_6'].round(2) : 0)+(item['finish_7'].present? ? item['finish_7'].round(2) : 0)+(item['finish_8'].present? ? item['finish_8'].round(2) : 0)+(item['finish_9'].present? ? item['finish_9'].round(2) : 0)+(item['finish_10'].present? ? item['finish_10'].round(2) : 0)+(item['finish_11'].present? ? item['finish_11'].round(2) : 0)+(item['finish_12'].present? ? item['finish_12'].round(2) : 0)
|
48
|
-
json.year_diff ((item['
|
46
|
+
json.year_clazz_target ((item['target_1'].present? ? item['target_1'].round(2) : 0)+(item['target_2'].present? ? item['target_2'].round(2) : 0)+(item['target_3'].present? ? item['target_3'].round(2) : 0)+(item['target_4'].present? ? item['target_4'].round(2) : 0)+(item['target_5'].present? ? item['target_5'].round(2) : 0)+(item['target_6'].present? ? item['target_6'].round(2) : 0)+(item['target_7'].present? ? item['target_7'].round(2) : 0)+(item['target_8'].present? ? item['target_8'].round(2) : 0)+(item['target_9'].present? ? item['target_9'].round(2) : 0)+(item['target_10'].present? ? item['target_10'].round(2) : 0)+(item['target_11'].present? ? item['target_11'].round(2) : 0)+(item['target_12'].present? ? item['target_12'].round(2) : 0)).round(2)
|
47
|
+
json.year_plan item['year_plan'].round(2)
|
48
|
+
json.year_finish ((item['finish_1'].present? ? item['finish_1'].round(2) : 0)+(item['finish_2'].present? ? item['finish_2'].round(2) : 0)+(item['finish_3'].present? ? item['finish_3'].round(2) : 0)+(item['finish_4'].present? ? item['finish_4'].round(2) : 0)+(item['finish_5'].present? ? item['finish_5'].round(2) : 0)+(item['finish_6'].present? ? item['finish_6'].round(2) : 0)+(item['finish_7'].present? ? item['finish_7'].round(2) : 0)+(item['finish_8'].present? ? item['finish_8'].round(2) : 0)+(item['finish_9'].present? ? item['finish_9'].round(2) : 0)+(item['finish_10'].present? ? item['finish_10'].round(2) : 0)+(item['finish_11'].present? ? item['finish_11'].round(2) : 0)+(item['finish_12'].present? ? item['finish_12'].round(2) : 0)).round(2)
|
49
|
+
json.year_diff ((item['target_1'].present? ? item['target_1'].round(2) : 0)+(item['target_2'].present? ? item['target_2'].round(2) : 0)+(item['target_3'].present? ? item['target_3'].round(2) : 0)+(item['target_4'].present? ? item['target_4'].round(2) : 0)+(item['target_5'].present? ? item['target_5'].round(2) : 0)+(item['target_6'].present? ? item['target_6'].round(2) : 0)+(item['target_7'].present? ? item['target_7'].round(2) : 0)+(item['target_8'].present? ? item['target_8'].round(2) : 0)+(item['target_9'].present? ? item['target_9'].round(2) : 0)+(item['target_10'].present? ? item['target_10'].round(2) : 0)+(item['target_11'].present? ? item['target_11'].round(2) : 0)+(item['target_12'].present? ? item['target_12'].round(2) : 0)) - ((item['finish_1'].present? ? item['finish_1'].round(2) : 0)+(item['finish_2'].present? ? item['finish_2'].round(2) : 0)+(item['finish_3'].present? ? item['finish_3'].round(2) : 0)+(item['finish_4'].present? ? item['finish_4'].round(2) : 0)+(item['finish_5'].present? ? item['finish_5'].round(2) : 0)+(item['finish_6'].present? ? item['finish_6'].round(2) : 0)+(item['finish_7'].present? ? item['finish_7'].round(2) : 0)+(item['finish_8'].present? ? item['finish_8'].round(2) : 0)+(item['finish_9'].present? ? item['finish_9'].round(2) : 0)+(item['finish_10'].present? ? item['finish_10'].round(2) : 0)+(item['finish_11'].present? ? item['finish_11'].round(2) : 0)+(item['finish_12'].present? ? item['finish_12'].round(2) : 0)).round(2)
|
49
50
|
end
|
50
51
|
end
|
51
52
|
|
@@ -88,7 +88,7 @@
|
|
88
88
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" id="upload_sales_btn" style="margin-left: 20px;">批量导入销售明细</button>
|
89
89
|
</script>
|
90
90
|
<script>
|
91
|
-
layui.use(['form', 'table', 'miniPage', 'element', 'request', 'laydate', 'dropdown', 'laytpl', 'xmSelect', 'upload'], function() {
|
91
|
+
layui.use(['form', 'table', 'miniPage', 'element', 'request', 'laydate', 'dropdown', 'laytpl', 'xmSelect', 'upload', 'functions'], function() {
|
92
92
|
var $ = layui.jquery,
|
93
93
|
form = layui.form,
|
94
94
|
request = layui.request,
|
@@ -96,7 +96,8 @@
|
|
96
96
|
dropdown = layui.dropdown,
|
97
97
|
xmSelect = layui.xmSelect,
|
98
98
|
upload = layui.upload,
|
99
|
-
laydate = layui.laydate
|
99
|
+
laydate = layui.laydate,
|
100
|
+
functions = layui.functions;
|
100
101
|
var openWH = miniPage.getOpenWidthHeight();
|
101
102
|
laydate.render({
|
102
103
|
elem: '#date',
|
@@ -223,7 +224,7 @@
|
|
223
224
|
}]
|
224
225
|
]
|
225
226
|
|
226
|
-
|
227
|
+
cols_table[0] = functions.initTableColumnsFilter('sales_details_table', cols_table[0]);
|
227
228
|
var sales_details_table = table.render({
|
228
229
|
elem: '#sales_details_table',
|
229
230
|
url: '/missions/sales_details',
|
@@ -244,6 +245,8 @@
|
|
244
245
|
if ($('#upload_sales_btn').length > 0) {
|
245
246
|
uploadSales();
|
246
247
|
}
|
248
|
+
var that = this;
|
249
|
+
functions.observerTableColumnFilter(that);
|
247
250
|
}
|
248
251
|
});
|
249
252
|
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script>
|
16
16
|
layui.config({
|
17
17
|
base: '/markdown/mods/' //存放layui拓展模块的目录位置
|
18
|
-
}).use(['easyeditor','form','table'], function () {
|
18
|
+
}).use(['easyeditor', 'form', 'table'], function () {
|
19
19
|
var table = layui.table
|
20
20
|
var easyeditor = layui.easyeditor;
|
21
21
|
var form = layui.form
|
@@ -26,7 +26,46 @@
|
|
26
26
|
, uploadSize: '1024 * 10' //限制的上传大小 单位kb 默认 1024k
|
27
27
|
|
28
28
|
});
|
29
|
+
var content = document.querySelector("#L_content")
|
30
|
+
content.addEventListener('paste', function (event) {
|
31
|
+
let clipboardData = event.clipboardData || event.originEvent.clipboardData;
|
32
|
+
let items = clipboardData.items;
|
33
|
+
if (items.length > 0 && items[0].kind == 'file') {
|
34
|
+
let blob = items[0].getAsFile();
|
35
|
+
let reader = new FileReader();
|
36
|
+
|
37
|
+
var formData = new FormData();
|
38
|
+
formData.set('file', blob)
|
39
|
+
$.ajax({
|
40
|
+
url: '/api/attachments/', // 上传图片的服务端 URL
|
41
|
+
type: 'POST',
|
42
|
+
data: formData,
|
43
|
+
processData: false, // 因为 FormData 已经将数据处理成了合适的格式,所以不需要再进行处理
|
44
|
+
contentType: false, // 因为 FormData 包含了文件数据,所以需要将 contentType 设为 false,以便浏览器正确处理内容类型
|
45
|
+
success: function(data) {
|
46
|
+
// 上传成功后返回的数据操作
|
47
|
+
console.log(data)
|
48
|
+
console.log('上传成功!');
|
49
|
+
if(data.url){
|
50
|
+
var str = "![图片加载失败]("+data.url+")"
|
51
|
+
content.value = str
|
52
|
+
}
|
53
|
+
},
|
54
|
+
error: function(data) {
|
55
|
+
// 上传失败后返回的数据操作
|
56
|
+
console.log(data)
|
57
|
+
console.log('上传失败!');
|
58
|
+
}
|
59
|
+
});
|
60
|
+
}
|
61
|
+
})
|
62
|
+
|
63
|
+
|
64
|
+
|
29
65
|
form.on('submit(saveBtn)', function (data) {
|
66
|
+
|
67
|
+
|
68
|
+
|
30
69
|
console.log(form.val())
|
31
70
|
var id = localStorage.getItem("reject_id")
|
32
71
|
|