educode_sales 1.10.48 → 1.10.49

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/educode_sales/modules/easyeditor/easyeditor.css +130 -0
  3. data/app/assets/stylesheets/educode_sales/modules/easyeditor/fangge-style.css +4 -0
  4. data/app/controllers/educode_sales/application_controller.rb +12 -0
  5. data/app/controllers/educode_sales/business_courses_controller.rb +230 -0
  6. data/app/controllers/educode_sales/home_controller.rb +7 -0
  7. data/app/controllers/educode_sales/shixun_dectects_controller.rb +111 -0
  8. data/app/controllers/educode_sales/shixuns_controller.rb +157 -0
  9. data/app/controllers/educode_sales/subject_trends_controller.rb +937 -0
  10. data/app/controllers/educode_sales/subjects_controller.rb +202 -0
  11. data/app/helpers/educode_sales/application_helper.rb +8 -0
  12. data/app/helpers/educode_sales/business_courses_helper.rb +37 -0
  13. data/app/helpers/educode_sales/subject_helper.rb +29 -0
  14. data/app/models/educode_sales/business.rb +22 -0
  15. data/app/models/educode_sales/business_deliver_subject.rb +48 -0
  16. data/app/models/educode_sales/business_subject.rb +62 -0
  17. data/app/models/educode_sales/business_subject_shixun.rb +46 -0
  18. data/app/models/educode_sales/business_subject_staff.rb +35 -0
  19. data/app/models/educode_sales/permission.rb +2 -1
  20. data/app/models/educode_sales/shixun_dectect.rb +12 -0
  21. data/app/views/educode_sales/business_courses/edit.html.erb +148 -0
  22. data/app/views/educode_sales/business_courses/index.html.erb +312 -0
  23. data/app/views/educode_sales/business_courses/index.json.jbuilder +16 -0
  24. data/app/views/educode_sales/business_courses/list_shixuns.html.erb +224 -0
  25. data/app/views/educode_sales/business_courses/list_shixuns.json.jbuilder +17 -0
  26. data/app/views/educode_sales/business_courses/list_subjects.html.erb +217 -0
  27. data/app/views/educode_sales/business_courses/list_subjects.json.jbuilder +12 -0
  28. data/app/views/educode_sales/business_courses/new.html.erb +212 -0
  29. data/app/views/educode_sales/shixun_dectects/index.html.erb +466 -0
  30. data/app/views/educode_sales/shixun_dectects/index.json.jbuilder +22 -0
  31. data/app/views/educode_sales/shixun_dectects/markdown.html.erb +60 -0
  32. data/app/views/educode_sales/shixuns/edit.html.erb +186 -0
  33. data/app/views/educode_sales/shixuns/index.html.erb +513 -0
  34. data/app/views/educode_sales/shixuns/index.json.jbuilder +22 -0
  35. data/app/views/educode_sales/shixuns/new.html.erb +251 -0
  36. data/app/views/educode_sales/subject_trends/trends.html.erb +1074 -0
  37. data/app/views/educode_sales/subjects/edit.html.erb +86 -0
  38. data/app/views/educode_sales/subjects/index.html.erb +247 -0
  39. data/app/views/educode_sales/subjects/index.json.jbuilder +16 -0
  40. data/app/views/educode_sales/subjects/list_shixuns.html.erb +228 -0
  41. data/app/views/educode_sales/subjects/list_shixuns.json.jbuilder +17 -0
  42. data/app/views/educode_sales/subjects/new.html.erb +254 -0
  43. data/app/views/layouts/educode_sales/application.html.erb +38 -0
  44. data/config/routes.rb +37 -0
  45. data/lib/educode_sales/version.rb +1 -1
  46. metadata +37 -1
@@ -0,0 +1,251 @@
1
+ <%= Gon::Base.render_data %>
2
+ <style>
3
+ .inner_div {
4
+ display: flex;
5
+ }
6
+ </style>
7
+ <form class="layui-form" action="" style="width: 90%;margin-top: 20px" lay-filter='test'>
8
+ <div class="layui-form-item inner_div">
9
+ <div>
10
+ <label class="layui-form-label">任务类型:<span style="color: red"> *</span></label>
11
+ <div class="layui-input-block">
12
+ <%= select_tag "category", options_for_select(
13
+ [["管培", 1], ["全职", 2], ["专职", 3]]
14
+ ), { include_blank: true } %>
15
+ </div>
16
+ </div>
17
+ <div>
18
+ <label class="layui-form-label">项目类型:<span style="color: red"> *</span></label>
19
+ <div class="layui-input-block">
20
+ <%= select_tag "type", options_for_select(
21
+ [["实践项目", 1], ["非实践项目", 2]]
22
+ ), { include_blank: true } %>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="layui-form-item inner_div">
27
+ <div>
28
+ <label class="layui-form-label">项目级别:<span style="color: red"> *</span></label>
29
+ <div class="layui-input-block">
30
+ <%= select_tag "level", options_for_select(
31
+ [ ["不明确", 1], ["重要紧急", 2], ["重要不紧急", 3],
32
+ ["不重要紧急", 4], ["不重要不紧急", 5]]
33
+ ), { include_blank: true } %>
34
+ </div>
35
+ </div>
36
+ <div>
37
+ <label class="layui-form-label">项目状态:<span style="color: red"> *</span></label>
38
+ <div class="layui-input-block">
39
+ <%= select_tag "status", options_for_select(
40
+ [["待建设", 1], ["已签协议", 2], ["建设中", 3],
41
+ ["审核中", 4], ["返修中", 5], ["已内部发布", 6], ["已公开发布", 7]]
42
+ ), { include_blank: true } %>
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="layui-form-item">
48
+ <label class="layui-form-label" style="width: 100px">项目关联链接:</label>
49
+ <div class="layui-input-block">
50
+ <input type="text" name="link" class="layui-input" style="width: 49%;">
51
+ </div>
52
+ </div>
53
+ <div class="layui-form-item">
54
+ <label class="layui-form-label" style="width: 100px">项目名称:<span style="color: red"> *</span></label>
55
+ <div class="layui-input-block">
56
+ <input type="text" class="layui-input" name="name" style="width: 49%;">
57
+ </div>
58
+ </div>
59
+ <div class="layui-form-item">
60
+ <label class="layui-form-label" style="width: 90px">项目制作人:<span style="color: red"> *</span></label>
61
+ <div class="layui-input-block">
62
+ <div id="producer_id" style="width: 50%;"></div>
63
+ </div>
64
+ </div>
65
+ <div class="layui-form-item">
66
+ <label class="layui-form-label" style="width: 90px">交付单位:<span style="color: red"> *</span></label>
67
+ <div class="layui-input-block">
68
+ <div id="school_id" style="width: 50%;"></div>
69
+ </div>
70
+ </div>
71
+ <div class="layui-form-item">
72
+ <label class="layui-form-label" style="width: 100px">制作完成时间:<span style="color: red"> *</span></label>
73
+ <div class="layui-input-block">
74
+ <input type="text" class="layui-input" name="time"
75
+ id="ID-laydate-demo" placeholder="yyyy-MM-dd"
76
+ style="width: 49%;">
77
+ </div>
78
+ </div>
79
+ <div class="layui-form-item">
80
+ <label class="layui-form-label">交付金额:<span style="color: red"> *</span></label>
81
+ <div class="layui-input-block">
82
+ <input type="number" class="layui-input" name="money" style="width: 50%;" >
83
+ </div>
84
+ </div>
85
+ <div class="layui-form-item">
86
+ <label class="layui-form-label">课程组长:<span style="color: red"> *</span></label>
87
+ <div class="layui-input-block">
88
+ <div id="manage_id" style="width: 50%;"></div>
89
+ </div>
90
+ </div>
91
+ <div class="layui-form-item">
92
+ <label class="layui-form-label">销售: </label>
93
+ <div class="layui-input-block">
94
+ <div id="staff_id" style="width: 50%;"></div>
95
+ </div>
96
+ </div>
97
+
98
+ <div class="layui-form-item">
99
+ <label class="layui-form-label"></label>
100
+ <div class="layui-input-block">
101
+ <button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button>
102
+ </div>
103
+ </div>
104
+ </form>
105
+ <script>
106
+ layui.use(['form', 'layer', 'laytpl', 'xmSelect', 'table'], function () {
107
+ var form = layui.form,
108
+ layer = layui.layer,
109
+ table = layui.table,
110
+ laydate = layui.laydate,
111
+ xmSelect = layui.xmSelect,
112
+ $ = layui.$
113
+
114
+ laydate.render({
115
+ elem: '#ID-laydate-demo'
116
+ });
117
+ // 解决form表单中的select无法渲染的问题
118
+ form.render();
119
+ form.render('select', 'test')
120
+
121
+ var manage_id = xmSelect.render({
122
+ el: '#manage_id',
123
+ name: 'manage_id',
124
+ data: gon.manage,
125
+ filterable: true,
126
+ paging: true,
127
+ tips: '- -',
128
+ multiple: true
129
+ })
130
+ var staff_id = xmSelect.render({
131
+ el: '#staff_id',
132
+ name: 'staff_id',
133
+ data: gon.staffs,
134
+ filterable: true,
135
+ paging: true,
136
+ tips: '- -',
137
+ multiple: true
138
+ })
139
+
140
+ var school_id = xmSelect.render({
141
+ el: '#school_id',
142
+ name: "school_id",
143
+ remoteSearch: true,
144
+ autoRow: true,
145
+ delay: 1000,
146
+ tips: '- -',
147
+ radio: true,
148
+ searchTips: '支持名称搜索,请至少输入一个字符',
149
+ filterable: true,
150
+ remoteMethod: function (val, cb, show, pageIndex) {
151
+ if (!val) {
152
+ return cb([]);
153
+ }
154
+ $.ajax('/api/schools/search', {
155
+ method: 'get',
156
+ data: {
157
+ keyword: val
158
+ },
159
+ dataType: 'json',
160
+ success: function (res) {
161
+ console.log(res)
162
+ var data = res.schools;
163
+ data.forEach((item)=>{
164
+ item.value = item.id
165
+ })
166
+ if (res.status === 0) {
167
+ cb(data);
168
+ }
169
+ }
170
+ })
171
+ }
172
+ })
173
+ var producer_id = xmSelect.render({
174
+ el: '#producer_id',
175
+ name: 'producer_id',
176
+ data: gon.manage,
177
+ filterable: true,
178
+ paging: true,
179
+ tips: '- -',
180
+ multiple: true
181
+ })
182
+ function isNull(str){
183
+ return str === "" || str === null
184
+ }
185
+ form.on('submit(saveBtn)', function (data) {
186
+ var new_data = data.field
187
+ console.log(new_data)
188
+
189
+ if(isNull(new_data.category)){
190
+ layer.msg('任务类型未选择');
191
+ return false
192
+ }
193
+ if(isNull(new_data.level)){
194
+ layer.msg('项目级别未选择');
195
+ return false
196
+ }
197
+ if(isNull(new_data.manage_id)){
198
+ layer.msg('课程组长未选择');
199
+ return false
200
+ }
201
+ if(isNull(new_data.money)){
202
+ layer.msg('交付金额未选择');
203
+ return false
204
+ }
205
+ if(isNull(new_data.name)){
206
+ layer.msg('项目名称未选择');
207
+ return false
208
+ }
209
+ if(isNull(new_data.producer_id)){
210
+ layer.msg('项目制作人未选择');
211
+ return false
212
+ }
213
+ if(isNull(new_data.school_id)){
214
+ layer.msg('交付单位未选择');
215
+ return false
216
+ }
217
+ if(isNull(new_data.status)){
218
+ layer.msg('项目状态未选择');
219
+ return false
220
+ }
221
+ if(isNull(new_data.time)){
222
+ layer.msg('制作完成时间未选择');
223
+ return false
224
+ }
225
+ $.ajax('/missions/shixuns/', {
226
+ method: 'POST',
227
+ data: new_data,
228
+ dataType: 'json',
229
+ success: function (res) {
230
+ console.log(res)
231
+ if (res.success) {
232
+ layer.closeAll();
233
+ table.reload('shixuns_table', {
234
+ done: function () {
235
+ }
236
+ });
237
+ } else {
238
+ }
239
+ },
240
+ error:function (res) {
241
+ }
242
+ })
243
+ return false;
244
+ });
245
+ });
246
+ </script>
247
+ <style>
248
+ .input_width {
249
+ width: 50%;
250
+ }
251
+ </style>