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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/educode_sales/application.js +1 -0
  3. data/app/assets/javascripts/educode_sales/functions.js +24 -0
  4. data/app/controllers/educode_sales/application_controller.rb +11 -3
  5. data/app/controllers/educode_sales/business_courses_controller.rb +19 -8
  6. data/app/controllers/educode_sales/follow_ups_controller.rb +4 -0
  7. data/app/controllers/educode_sales/plans_controller.rb +448 -124
  8. data/app/controllers/educode_sales/shixuns_controller.rb +20 -10
  9. data/app/controllers/educode_sales/subjects_controller.rb +10 -6
  10. data/app/controllers/educode_sales/teacher_follows_controller.rb +4 -0
  11. data/app/controllers/educode_sales/teachers_controller.rb +3 -0
  12. data/app/models/educode_sales/business.rb +5 -5
  13. data/app/models/educode_sales/sales_target.rb +10 -0
  14. data/app/models/educode_sales/sales_target_log.rb +11 -0
  15. data/app/views/educode_sales/business_courses/index.html.erb +1 -1
  16. data/app/views/educode_sales/business_courses/new.html.erb +2 -2
  17. data/app/views/educode_sales/businesses/_follows.html.erb +107 -100
  18. data/app/views/educode_sales/businesses/index.html.erb +6 -3
  19. data/app/views/educode_sales/businesses/index.json.jbuilder +2 -2
  20. data/app/views/educode_sales/businesses/show_follow.json.jbuilder +1 -1
  21. data/app/views/educode_sales/contracts/_follows.html.erb +75 -69
  22. data/app/views/educode_sales/contracts/_list.html.erb +283 -249
  23. data/app/views/educode_sales/contracts/index.json.jbuilder +1 -1
  24. data/app/views/educode_sales/follow_ups/index.json.jbuilder +1 -1
  25. data/app/views/educode_sales/plans/_year_execute.html.erb +294 -159
  26. data/app/views/educode_sales/plans/_year_target.html.erb +330 -215
  27. data/app/views/educode_sales/plans/index.html.erb +3 -4
  28. data/app/views/educode_sales/plans/staff_year_business.html.erb +96 -0
  29. data/app/views/educode_sales/plans/staff_year_business.json.jbuilder +22 -0
  30. data/app/views/educode_sales/plans/staff_year_target.json.jbuilder +35 -0
  31. data/app/views/educode_sales/plans/staff_year_target_log.html.erb +62 -0
  32. data/app/views/educode_sales/plans/staff_year_target_log.json.jbuilder +34 -0
  33. data/app/views/educode_sales/plans/years_all_target.json.jbuilder +5 -4
  34. data/app/views/educode_sales/sales_details/_index.html.erb +6 -3
  35. data/app/views/educode_sales/shixun_dectects/markdown.html.erb +40 -1
  36. data/app/views/educode_sales/shixuns/index.html.erb +106 -97
  37. data/app/views/educode_sales/shixuns/new.html.erb +2 -2
  38. data/app/views/educode_sales/staffs/index.json.jbuilder +1 -1
  39. data/app/views/educode_sales/subjects/index.html.erb +1 -1
  40. data/app/views/educode_sales/subjects/new.html.erb +2 -2
  41. data/app/views/educode_sales/teachers/_follows.html.erb +24 -17
  42. data/app/views/educode_sales/teachers/_index.html.erb +6 -0
  43. data/app/views/layouts/educode_sales/application.html.erb +6 -3
  44. data/config/environments/development.rb +16 -0
  45. data/config/routes.rb +7 -0
  46. data/db/migrate/20230729085359_create_educode_sales_sales_target_histories.rb +1 -1
  47. data/lib/educode_sales/version.rb +1 -1
  48. 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
- </div>
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 (item['plan_1'].present? ? item['plan_1'].round(2) : 0)+(item['plan_2'].present? ? item['plan_2'].round(2) : 0)+(item['plan_3'].present? ? item['plan_3'].round(2) : 0)+(item['plan_4'].present? ? item['plan_4'].round(2) : 0)+(item['plan_5'].present? ? item['plan_5'].round(2) : 0)+(item['plan_6'].present? ? item['plan_6'].round(2) : 0)+(item['plan_7'].present? ? item['plan_7'].round(2) : 0)+(item['plan_8'].present? ? item['plan_8'].round(2) : 0)+(item['plan_9'].present? ? item['plan_9'].round(2) : 0)+(item['plan_10'].present? ? item['plan_10'].round(2) : 0)+(item['plan_11'].present? ? item['plan_11'].round(2) : 0)+(item['plan_12'].present? ? item['plan_12'].round(2) : 0)
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['plan_1'].present? ? item['plan_1'].round(2) : 0)+(item['plan_2'].present? ? item['plan_2'].round(2) : 0)+(item['plan_3'].present? ? item['plan_3'].round(2) : 0)+(item['plan_4'].present? ? item['plan_4'].round(2) : 0)+(item['plan_5'].present? ? item['plan_5'].round(2) : 0)+(item['plan_6'].present? ? item['plan_6'].round(2) : 0)+(item['plan_7'].present? ? item['plan_7'].round(2) : 0)+(item['plan_8'].present? ? item['plan_8'].round(2) : 0)+(item['plan_9'].present? ? item['plan_9'].round(2) : 0)+(item['plan_10'].present? ? item['plan_10'].round(2) : 0)+(item['plan_11'].present? ? item['plan_11'].round(2) : 0)+(item['plan_12'].present? ? item['plan_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))
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