educode_sales 0.9.68 → 0.9.69

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/educode_sales/indexlogo.png +0 -0
  3. data/app/assets/javascripts/educode_sales/extent/treeTable.js +235 -0
  4. data/app/controllers/educode_sales/customers_controller.rb +107 -0
  5. data/app/controllers/educode_sales/follow_ups_controller.rb +6 -0
  6. data/app/controllers/educode_sales/projects_controller.rb +420 -0
  7. data/app/controllers/educode_sales/roles_controller.rb +4 -1
  8. data/app/controllers/educode_sales/teachers_controller.rb +38 -13
  9. data/app/helpers/educode_sales/application_helper.rb +1 -0
  10. data/app/models/educode_sales/business.rb +21 -5
  11. data/app/models/educode_sales/business_history.rb +8 -0
  12. data/app/models/educode_sales/permission.rb +2 -1
  13. data/app/models/educode_sales/project.rb +53 -0
  14. data/app/models/educode_sales/role_area.rb +2 -1
  15. data/app/views/educode_sales/activities/show_teachers.html.erb +1 -1
  16. data/app/views/educode_sales/businesses/index.html.erb +5 -0
  17. data/app/views/educode_sales/businesses/index.json.jbuilder +3 -0
  18. data/app/views/educode_sales/businesses/time_line.html.erb +9 -5
  19. data/app/views/educode_sales/customers/edit_major.html.erb +872 -0
  20. data/app/views/educode_sales/customers/list.html.erb +602 -0
  21. data/app/views/educode_sales/customers/list.json.jbuilder +33 -0
  22. data/app/views/educode_sales/follow_ups/index.json.jbuilder +2 -2
  23. data/app/views/educode_sales/projects/detail.html.erb +269 -0
  24. data/app/views/educode_sales/projects/edit.html.erb +246 -0
  25. data/app/views/educode_sales/projects/history.html.erb +41 -0
  26. data/app/views/educode_sales/projects/index.html.erb +688 -0
  27. data/app/views/educode_sales/projects/index.json.jbuilder +69 -0
  28. data/app/views/educode_sales/teachers/_index.html.erb +17 -1
  29. data/app/views/educode_sales/teachers/index.json.jbuilder +2 -0
  30. data/app/views/layouts/educode_sales/application.html.erb +25 -0
  31. data/config/routes.rb +12 -0
  32. data/db/migrate/20230411134203_add_realname_to_teacher.rb +5 -0
  33. data/db/migrate/20230412083510_add_p_staff_id_to_businesses.rb +20 -0
  34. data/db/migrate/20230412092000_create_business_histories.rb +10 -0
  35. data/db/migrate/20230413015619_add_permissions_to_projects.rb +11 -0
  36. data/db/migrate/20230413031029_add_pre_time_to_businesses.rb +5 -0
  37. data/lib/educode_sales/version.rb +1 -1
  38. metadata +24 -6
@@ -0,0 +1,269 @@
1
+ <%= Gon::Base.render_data %>
2
+
3
+ <div style=" text-align:left; margin-left: 100px;margin-top: 20px">
4
+ <div class="layui-btn-group">
5
+ <% if can? :read_history, EducodeSales::Idea %>
6
+ <button type="button" class="layui-btn" onclick="pre_follow()">历史记录</button>
7
+ <% end %>
8
+ </div>
9
+ </div>
10
+ <div class="layuimini-main" style="height: 100%;" id="myDiv">
11
+ <div class="layui-form layuimini-form">
12
+ <div class="layui-form-item" style="padding: 25px">
13
+ <div class="layui-row">
14
+ <h2 style="padding-left: 25px"><%= @project.name %></h2>
15
+ </div>
16
+ <div class="layui-row" style="padding-top: 15px">
17
+ <div class="layui-col-md6">
18
+ <labeL class="layui-form-label">学校/单位:</labeL>
19
+ <div class="layui-input-block" style="padding-top: 10px">
20
+ <%= @project.department&.school&.name.to_s %>
21
+ </div>
22
+ </div>
23
+ <div class="layui-col-md6">
24
+ <labeL class="layui-form-label">院系/部门:</labeL>
25
+ <div class="layui-input-block" style="padding-top: 10px">
26
+ <%= @project.department&.name.to_s %>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <div class="layui-row" style="padding-top: 15px">
31
+ <div class="layui-col-md6">
32
+ <labeL class="layui-form-label required">项目阶段:</labeL>
33
+ <div class="layui-input-block">
34
+ <%= select_tag "p_stage", options_for_select(EducodeSales::Project.p_stages.keys, @project&.p_stage), { 'lay-filter': 'p_stage', include_blank: false } %>
35
+ </div>
36
+ </div>
37
+ <div class="layui-col-md6">
38
+ <labeL class="layui-form-label">类型:</labeL>
39
+ <div class="layui-input-block" style="padding-top: 10px">
40
+ <%= EducodeSales::FollowUp::BUSINESS_DEPLOYMENT[1..-1].to_h.invert[@project.last_follow_up&.o_business_deployment] %>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ <div class="layui-row" style="padding-top: 15px">
45
+ <div class="layui-col-md6">
46
+ <labeL class="layui-form-label">难易度:</labeL>
47
+ <div class="layui-input-block">
48
+ <%= select_tag "p_difficulty", options_for_select(EducodeSales::Project.p_difficulties.keys, @project&.p_difficulty), { 'lay-filter': 'p_difficulty', include_blank: false } %>
49
+ </div>
50
+ </div>
51
+ <div class="layui-col-md6">
52
+ <labeL class="layui-form-label required">定制:</labeL>
53
+ <div class="layui-input-block">
54
+ <%= select_tag "p_special", options_for_select(EducodeSales::Project.p_specials.keys, @project&.p_special), { 'lay-filter': 'p_special', include_blank: false } %>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ <div class="layui-row" style="padding-top: 15px">
59
+ <div class="layui-col-md6">
60
+ <labeL class="layui-form-label required">交付准备:</labeL>
61
+ <div class="layui-input-block">
62
+ <%= select_tag "p_status", options_for_select(EducodeSales::Project.p_statuses.keys, @project&.p_status), { 'lay-filter': 'p_status', include_blank: false } %>
63
+ </div>
64
+ </div>
65
+ <div class="layui-col-md6">
66
+ <labeL class="layui-form-label">指派人:</labeL>
67
+ <div class="layui-input-block">
68
+ <div id="edit_p_staff_id"></div>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ <div class="layui-row" style="padding-top: 15px">
73
+ <div class="layui-col-md6">
74
+ <labeL class="layui-form-label required">销售经理:</labeL>
75
+ <div class="layui-input-block">
76
+ <div id="edit_p_sale_staff_id"></div>
77
+ </div>
78
+ </div>
79
+ <div class="layui-col-md6">
80
+ <labeL class="layui-form-label">合同签订时间:</labeL>
81
+ <div class="layui-input-block" style="padding-top: 10px">
82
+ <%= @project.last_follow_up&.signed_date.to_s %>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ <div class="layui-row" style="padding-top: 15px">
87
+ <div class="layui-col-md6">
88
+ <labeL class="layui-form-label">合同交付时间:</labeL>
89
+ <div class="layui-input-block" style="padding-top: 10px">
90
+ <%= @project.last_follow_up&.reception_at.to_s %>
91
+ </div>
92
+ </div>
93
+ <div class="layui-col-md6">
94
+ <labeL class="layui-form-label">中标时间:</labeL>
95
+ <div class="layui-input-block" style="padding-top: 10px">
96
+ <%= @project.last_follow_up&.bidded_date.to_s %>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ <div class="layui-row" style="padding-top: 15px">
101
+ <div class="layui-col-md6">
102
+ <labeL class="layui-form-label">课程交付时间:</labeL>
103
+ <div class="layui-input-block">
104
+ <input type="text" id="p_course_time" name="p_course_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_course_time&.to_s(:date) %>" class="layui-input">
105
+ </div>
106
+ </div>
107
+ <div class="layui-col-md6">
108
+ <labeL class="layui-form-label">平台交付时间:</labeL>
109
+ <div class="layui-input-block">
110
+ <input type="text" id="p_platform_time" name="p_platform_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_platform_time&.to_s(:date) %>" class="layui-input">
111
+ </div>
112
+ </div>
113
+ </div>
114
+ <div class="layui-row" style="padding-top: 5px">
115
+ <div class="layui-col-md6">
116
+ <labeL class="layui-form-label">现场部署时间:</labeL>
117
+ <div class="layui-input-block">
118
+ <input type="text" id="p_deploy_time" name="p_deploy_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_deploy_time&.to_s(:date) %>" class="layui-input">
119
+ </div>
120
+ </div>
121
+ <div class="layui-col-md6">
122
+ <labeL class="layui-form-label">拟定验收时间:</labeL>
123
+ <div class="layui-input-block">
124
+ <input type="text" id="p_pre_accept_time" name="p_pre_accept_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_pre_accept_time&.to_s(:date) %>" class="layui-input">
125
+ </div>
126
+ </div>
127
+ </div>
128
+ <div class="layui-row" style="padding-top: 5px;display: none">
129
+ <div class="layui-col-md6">
130
+ <labeL class="layui-form-label">实际验收时间:</labeL>
131
+ <div class="layui-input-block">
132
+ <input type="text" id="p_accept_time" name="p_accept_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_accept_time&.to_s(:date) %>" class="layui-input">
133
+ </div>
134
+ </div>
135
+ <div class="layui-col-md6">
136
+ <labeL class="layui-form-label">拟定回款时间:</labeL>
137
+ <div class="layui-input-block">
138
+ <input type="text" id="p_pre_money_time" name="p_pre_money_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_pre_money_time&.to_s(:date) %>" class="layui-input">
139
+ </div>
140
+ </div>
141
+ </div>
142
+ <div class="layui-row" style="padding-top: 5px;display: none">
143
+ <div class="layui-col-md6">
144
+ <labeL class="layui-form-label">实际回款时间:</labeL>
145
+ <div class="layui-input-block">
146
+ <input type="text" id="p_actual_money_time" name="p_actual_money_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_actual_money_time&.to_s(:date) %>" class="layui-input">
147
+ </div>
148
+ </div>
149
+ <div class="layui-col-md6">
150
+ <labeL class="layui-form-label">回款:</labeL>
151
+ <div class="layui-input-block">
152
+ <input type="text" name="p_money" autocomplete="off" placeholder="请输入" value="<%= @project&.p_money %>" class="layui-input">
153
+ </div>
154
+ </div>
155
+ </div>
156
+ <div class="layui-row" style="padding-top: 15px">
157
+ <labeL class="layui-form-label">问题备注:</labeL>
158
+ <div class="layui-input-block">
159
+ <textarea name="p_content" placeholder="反馈情况" class="layui-textarea"><%= @project&.p_content.to_s %></textarea>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ </div>
164
+ </div>
165
+ <script>
166
+ layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput', 'xmSelect', 'upload'], function () {
167
+ var form = layui.form,
168
+ layer = layui.layer,
169
+ request = layui.request,
170
+ laydate = layui.laydate,
171
+ table = layui.table,
172
+ laytpl = layui.laytpl,
173
+ request = layui.request,
174
+ xmSelect = layui.xmSelect,
175
+ upload = layui.upload,
176
+ $ = layui.$;
177
+ selectInput = layui.selectInput;
178
+
179
+
180
+ form.render();
181
+ //时间常规用法
182
+ laydate.render({
183
+ elem: '#p_pre_accept_time'
184
+ });
185
+ laydate.render({
186
+ elem: '#p_course_time'
187
+ });
188
+ laydate.render({
189
+ elem: '#p_platform_time'
190
+ });
191
+ laydate.render({
192
+ elem: '#p_deploy_time'
193
+ });
194
+ laydate.render({
195
+ elem: '#p_accept_time'
196
+ });
197
+ laydate.render({
198
+ elem: '#p_pre_money_time'
199
+ });
200
+ laydate.render({
201
+ elem: '#p_actual_money_time'
202
+ });
203
+ form.render();
204
+
205
+
206
+ var staff_list = xmSelect.render({
207
+ el: '#edit_p_staff_id',
208
+ data: gon.staffs,
209
+ filterable: true,
210
+ radio: true,
211
+ })
212
+
213
+ var sale_staff_list = xmSelect.render({
214
+ el: '#edit_p_sale_staff_id',
215
+ data: gon.staffs,
216
+ filterable: true,
217
+ radio: true,
218
+ })
219
+ staff_list.setValue(gon.staff_value)
220
+ sale_staff_list.setValue(gon.sale_staff_value)
221
+ // // 当前弹出层,防止ID被覆盖
222
+ var parentIndex = layer.index;
223
+
224
+ //监听提交
225
+ form.on('submit(saveBtn)', function (data) {
226
+ data.field.p_staff_id = staff_list.getValue('valueStr');
227
+ data.field.p_sale_staff_id = sale_staff_list.getValue('valueStr');
228
+ request.authPut("missions/projects/" + parent.id, data.field, function (res) {
229
+ if (res.success == false) {
230
+ layer.alert(res.msg)
231
+ } else {
232
+ layer.closeAll();
233
+ parent.layer.close(parent.layer.getFrameIndex(window.name))
234
+ parent.table.reload('contact_table', {
235
+ done: function () {
236
+ }
237
+ });
238
+ }
239
+ })
240
+ // }
241
+ return false;
242
+ });
243
+
244
+ });
245
+
246
+ function pre_follow() {
247
+ var content = miniPage.getHrefContent('/missions/projects/history?id=' + <%=@project.id %>);
248
+ var openWH = miniPage.getOpenWidthHeight();
249
+ history_index = layer.open({
250
+ title: '历史记录',
251
+ type: 1,
252
+ shade: 0.2,
253
+ maxmin: true,
254
+ shadeClose: true,
255
+ area: [openWH[0] + 'px', openWH[1] + 'px'],
256
+ offset: [openWH[2] + 'px', openWH[3] + 'px'],
257
+ content: content
258
+ });
259
+ $(window).on("resize", function () {
260
+ layer.full(index);
261
+ });
262
+ }
263
+
264
+ </script>
265
+ <style>
266
+ #myDiv {
267
+ pointer-events: none;
268
+ }
269
+ </style>
@@ -0,0 +1,246 @@
1
+ <%= Gon::Base.render_data %>
2
+ <div class="layuimini-main" style="height: 100%;">
3
+ <div class="layui-form layuimini-form">
4
+ <div class="layui-form-item" style="padding: 25px">
5
+ <div class="layui-row">
6
+ <h2 style="padding-left: 25px"><%= @project.name %></h2>
7
+ </div>
8
+ <div class="layui-row" style="padding-top: 15px">
9
+ <div class="layui-col-md6">
10
+ <labeL class="layui-form-label">学校/单位:</labeL>
11
+ <div class="layui-input-block" style="padding-top: 10px">
12
+ <%= @project.department&.school&.name.to_s %>
13
+ </div>
14
+ </div>
15
+ <div class="layui-col-md6">
16
+ <labeL class="layui-form-label">院系/部门:</labeL>
17
+ <div class="layui-input-block" style="padding-top: 10px">
18
+ <%= @project.department&.name.to_s %>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ <div class="layui-row" style="padding-top: 15px">
23
+ <div class="layui-col-md6">
24
+ <labeL class="layui-form-label required">项目阶段:</labeL>
25
+ <div class="layui-input-block">
26
+ <%= select_tag "p_stage", options_for_select(EducodeSales::Project.p_stages.keys, @project&.p_stage), { 'lay-filter': 'p_stage', include_blank: false } %>
27
+ </div>
28
+ </div>
29
+ <div class="layui-col-md6">
30
+ <labeL class="layui-form-label">类型:</labeL>
31
+ <div class="layui-input-block" style="padding-top: 10px">
32
+ <%= EducodeSales::FollowUp::BUSINESS_DEPLOYMENT[1..-1].to_h.invert[@project.last_follow_up&.o_business_deployment] %>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ <div class="layui-row" style="padding-top: 15px">
37
+ <div class="layui-col-md6">
38
+ <labeL class="layui-form-label">难易度:</labeL>
39
+ <div class="layui-input-block">
40
+ <%= select_tag "p_difficulty", options_for_select(EducodeSales::Project.p_difficulties.keys, @project&.p_difficulty), { 'lay-filter': 'p_difficulty', include_blank: false } %>
41
+ </div>
42
+ </div>
43
+ <div class="layui-col-md6">
44
+ <labeL class="layui-form-label required">定制:</labeL>
45
+ <div class="layui-input-block">
46
+ <%= select_tag "p_special", options_for_select(EducodeSales::Project.p_specials.keys, @project&.p_special), { 'lay-filter': 'p_special', include_blank: false } %>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div class="layui-row" style="padding-top: 15px">
51
+ <div class="layui-col-md6">
52
+ <labeL class="layui-form-label required">交付准备:</labeL>
53
+ <div class="layui-input-block">
54
+ <%= select_tag "p_status", options_for_select(EducodeSales::Project.p_statuses.keys, @project&.p_status), { 'lay-filter': 'p_status', include_blank: false } %>
55
+ </div>
56
+ </div>
57
+ <div class="layui-col-md6">
58
+ <labeL class="layui-form-label">指派人:</labeL>
59
+ <div class="layui-input-block">
60
+ <div id="edit_p_staff_id"></div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ <div class="layui-row" style="padding-top: 15px">
65
+ <div class="layui-col-md6">
66
+ <labeL class="layui-form-label required">销售经理:</labeL>
67
+ <div class="layui-input-block">
68
+ <div id="edit_p_sale_staff_id"></div>
69
+ </div>
70
+ </div>
71
+ <div class="layui-col-md6">
72
+ <labeL class="layui-form-label">合同签订时间:</labeL>
73
+ <div class="layui-input-block" style="padding-top: 10px">
74
+ <%= @project.last_follow_up&.signed_date.to_s %>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ <div class="layui-row" style="padding-top: 15px">
79
+ <div class="layui-col-md6">
80
+ <labeL class="layui-form-label">合同交付时间:</labeL>
81
+ <div class="layui-input-block" style="padding-top: 10px">
82
+ <%= @project.last_follow_up&.reception_at.to_s %>
83
+ </div>
84
+ </div>
85
+ <div class="layui-col-md6">
86
+ <labeL class="layui-form-label">中标时间:</labeL>
87
+ <div class="layui-input-block" style="padding-top: 10px">
88
+ <%= @project.last_follow_up&.bidded_date.to_s %>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ <div class="layui-row" style="padding-top: 15px">
93
+ <div class="layui-col-md6">
94
+ <labeL class="layui-form-label">课程交付时间:</labeL>
95
+ <div class="layui-input-block">
96
+ <input type="text" id="p_course_time" name="p_course_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_course_time&.to_s(:date) %>" class="layui-input">
97
+ </div>
98
+ </div>
99
+ <div class="layui-col-md6">
100
+ <labeL class="layui-form-label">平台交付时间:</labeL>
101
+ <div class="layui-input-block">
102
+ <input type="text" id="p_platform_time" name="p_platform_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_platform_time&.to_s(:date) %>" class="layui-input">
103
+ </div>
104
+ </div>
105
+ </div>
106
+ <div class="layui-row" style="padding-top: 5px">
107
+ <div class="layui-col-md6">
108
+ <labeL class="layui-form-label">现场部署时间:</labeL>
109
+ <div class="layui-input-block">
110
+ <input type="text" id="p_deploy_time" name="p_deploy_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_deploy_time&.to_s(:date) %>" class="layui-input">
111
+ </div>
112
+ </div>
113
+ <div class="layui-col-md6">
114
+ <labeL class="layui-form-label">拟定验收时间:</labeL>
115
+ <div class="layui-input-block">
116
+ <input type="text" id="p_pre_accept_time" name="p_pre_accept_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_pre_accept_time&.to_s(:date) %>" class="layui-input">
117
+ </div>
118
+ </div>
119
+ </div>
120
+ <div class="layui-row" style="padding-top: 5px">
121
+ <div class="layui-col-md6">
122
+ <labeL class="layui-form-label">实际验收时间:</labeL>
123
+ <div class="layui-input-block">
124
+ <input type="text" id="p_accept_time" name="p_accept_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_accept_time&.to_s(:date) %>" class="layui-input">
125
+ </div>
126
+ </div>
127
+ <div class="layui-col-md6">
128
+ <labeL class="layui-form-label">拟定回款时间:</labeL>
129
+ <div class="layui-input-block">
130
+ <input type="text" id="p_pre_money_time" name="p_pre_money_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_pre_money_time&.to_s(:date) %>" class="layui-input">
131
+ </div>
132
+ </div>
133
+ </div>
134
+ <div class="layui-row" style="padding-top: 5px">
135
+ <div class="layui-col-md6">
136
+ <labeL class="layui-form-label">实际回款时间:</labeL>
137
+ <div class="layui-input-block">
138
+ <input type="text" id="edit_p_actual_money_time" name="p_actual_money_time" autocomplete="off" placeholder="请选择时间" value="<%= @project&.p_actual_money_time&.to_s(:date) %>" class="layui-input">
139
+ </div>
140
+ </div>
141
+ <div class="layui-col-md6">
142
+ <labeL class="layui-form-label">回款百分比(%):</labeL>
143
+ <div class="layui-input-block">
144
+ <input type="text" name="p_money" autocomplete="off" placeholder="请输入" value="<%= @project&.p_money %>" class="layui-input">
145
+ </div>
146
+ </div>
147
+ </div>
148
+ <div class="layui-row" style="padding-top: 15px">
149
+ <labeL class="layui-form-label">问题备注:</labeL>
150
+ <div class="layui-input-block">
151
+ <textarea name="p_content" placeholder="反馈情况" class="layui-textarea"><%= @project&.p_content.to_s %></textarea>
152
+ </div>
153
+ </div>
154
+ <div class="layui-row" style="padding-top: 30px; float: left">
155
+ <div class="layui-input-block">
156
+ <button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button>
157
+ </div>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ <script>
163
+ layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput', 'xmSelect', 'upload'], function () {
164
+ var form = layui.form,
165
+ layer = layui.layer,
166
+ request = layui.request,
167
+ laydate = layui.laydate,
168
+ table = layui.table,
169
+ laytpl = layui.laytpl,
170
+ request = layui.request,
171
+ xmSelect = layui.xmSelect,
172
+ upload = layui.upload,
173
+ $ = layui.$;
174
+ selectInput = layui.selectInput;
175
+
176
+
177
+ form.render();
178
+ //时间常规用法
179
+ laydate.render({
180
+ elem: '#p_pre_accept_time'
181
+ });
182
+ laydate.render({
183
+ elem: '#p_course_time'
184
+ });
185
+ laydate.render({
186
+ elem: '#p_platform_time'
187
+ });
188
+ laydate.render({
189
+ elem: '#p_deploy_time'
190
+ });
191
+ laydate.render({
192
+ elem: '#p_accept_time'
193
+ });
194
+ laydate.render({
195
+ elem: '#p_actual_money_time'
196
+ });
197
+ laydate.render({
198
+ elem: '#edit_p_actual_money_time'
199
+ });
200
+ laydate.render({
201
+ elem: '#p_pre_money_time'
202
+ });
203
+
204
+ form.render();
205
+
206
+
207
+ var staff_list = xmSelect.render({
208
+ el: '#edit_p_staff_id',
209
+ data: gon.staffs,
210
+ filterable: true,
211
+ radio: true,
212
+ })
213
+
214
+ var sale_staff_list = xmSelect.render({
215
+ el: '#edit_p_sale_staff_id',
216
+ data: gon.staffs,
217
+ filterable: true,
218
+ radio: true,
219
+ })
220
+ staff_list.setValue(gon.staff_value)
221
+ sale_staff_list.setValue(gon.sale_staff_value)
222
+ // // 当前弹出层,防止ID被覆盖
223
+ var parentIndex = layer.index;
224
+
225
+ //监听提交
226
+ form.on('submit(saveBtn)', function (data) {
227
+ data.field.p_staff_id = staff_list.getValue('valueStr');
228
+ data.field.p_sale_staff_id = sale_staff_list.getValue('valueStr');
229
+ request.authPut("missions/projects/" + parent.id, data.field, function (res) {
230
+ if (res.success == false) {
231
+ layer.alert(res.msg)
232
+ } else {
233
+ layer.closeAll();
234
+ parent.layer.close(parent.layer.getFrameIndex(window.name))
235
+ parent.table.reload('contact_table', {
236
+ done: function () {
237
+ }
238
+ });
239
+ }
240
+ })
241
+ // }
242
+ return false;
243
+ });
244
+
245
+ });
246
+ </script>
@@ -0,0 +1,41 @@
1
+ <div class="layui-btn-container" style="padding-right: 200px;padding-top: 10px">
2
+ </div>
3
+ <div style="padding: 50px">
4
+ <ul class="layui-timeline">
5
+ <% @project.business_histories.order(id: :desc).each do |f| %>
6
+ <li class="layui-timeline-item">
7
+ <i class="layui-icon layui-timeline-axis">&#xe63f;</i>
8
+ <div class="layui-timeline-content layui-text">
9
+ <h3 class="layui-timeline-title"><%= f.created_at.to_s %>---<%= f.staff.user.real_name %></h3>
10
+ <p>
11
+ <% Array(f.content).each do |d| %>
12
+ <%= d %>
13
+ <br>
14
+ <% end %>
15
+ </p>
16
+ </div>
17
+ </li>
18
+ <% end %>
19
+ <li class="layui-timeline-item">
20
+ <i class="layui-icon layui-timeline-axis">&#xe63f;</i>
21
+ <div class="layui-timeline-content layui-text">
22
+ <h3 class="layui-timeline-title"><%= @project.created_at.to_s %>---<%= @project.staff&.user&.real_name %></h3>
23
+ <p>
24
+ 创建该项目
25
+ </p>
26
+ </div>
27
+ </li>
28
+ </ul>
29
+ </div>
30
+
31
+ <script type="text/javascript" charset="utf-8">
32
+
33
+ layui.use(['form', 'table', 'miniPage', 'element', 'request'], function () {
34
+ var $ = layui.jquery,
35
+ form = layui.form,
36
+ table = layui.table,
37
+ request = layui.request,
38
+ miniPage = layui.miniPage;
39
+
40
+ });
41
+ </script>