educode_sales 0.9.73 → 0.9.74

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/educode_sales/contracts_controller.rb +309 -0
  3. data/app/controllers/educode_sales/follow_ups_controller.rb +1 -1
  4. data/app/controllers/educode_sales/home_controller.rb +7 -0
  5. data/app/controllers/educode_sales/ideas_controller.rb +146 -76
  6. data/app/controllers/educode_sales/roles_controller.rb +2 -1
  7. data/app/controllers/educode_sales/upload_files_controller.rb +3 -0
  8. data/app/models/educode_sales/assign_staff.rb +6 -0
  9. data/app/models/educode_sales/contract_date_list.rb +6 -0
  10. data/app/models/educode_sales/follow_up.rb +6 -0
  11. data/app/models/educode_sales/idea.rb +16 -5
  12. data/app/models/educode_sales/idea_follow.rb +11 -0
  13. data/app/models/educode_sales/permission.rb +2 -1
  14. data/app/models/educode_sales/role_area.rb +2 -1
  15. data/app/views/educode_sales/businesses/_contract_list.html.erb +160 -0
  16. data/app/views/educode_sales/contracts/_follows.html.erb +323 -0
  17. data/app/views/educode_sales/contracts/_list.html.erb +596 -0
  18. data/app/views/educode_sales/contracts/follow_ups.json.jbuilder +23 -0
  19. data/app/views/educode_sales/contracts/index.html.erb +50 -0
  20. data/app/views/educode_sales/contracts/index.json.jbuilder +74 -0
  21. data/app/views/educode_sales/contracts/list.js.erb +1 -0
  22. data/app/views/educode_sales/contracts/new_follow_up.html.erb +671 -0
  23. data/app/views/educode_sales/home/staff_business.json.jbuilder +9 -0
  24. data/app/views/educode_sales/idea_recycles/detail.html.erb +4 -4
  25. data/app/views/educode_sales/idea_recycles/index.html.erb +5 -5
  26. data/app/views/educode_sales/ideas/_follows.html.erb +258 -0
  27. data/app/views/educode_sales/ideas/_index.html.erb +544 -0
  28. data/app/views/educode_sales/ideas/detail.html.erb +7 -7
  29. data/app/views/educode_sales/ideas/edit.html.erb +77 -15
  30. data/app/views/educode_sales/ideas/files.html.erb +157 -0
  31. data/app/views/educode_sales/ideas/files.json.jbuilder +13 -0
  32. data/app/views/educode_sales/ideas/follow_ups.json.jbuilder +14 -0
  33. data/app/views/educode_sales/ideas/index.html.erb +12 -353
  34. data/app/views/educode_sales/ideas/index.json.jbuilder +7 -1
  35. data/app/views/educode_sales/ideas/new.html.erb +81 -25
  36. data/app/views/educode_sales/ideas/new_follow_up.html.erb +105 -0
  37. data/app/views/educode_sales/ideas/search_new.html.erb +1 -1
  38. data/app/views/educode_sales/ideas/show_schools.html.erb +84 -0
  39. data/app/views/educode_sales/ideas/show_schools.json.jbuilder +12 -0
  40. data/app/views/educode_sales/ideas/show_teachers.html.erb +372 -0
  41. data/app/views/educode_sales/ideas/upload_file.html.erb +43 -0
  42. data/app/views/educode_sales/projects/detail.html.erb +1 -1
  43. data/app/views/educode_sales/projects/edit.html.erb +1 -1
  44. data/app/views/educode_sales/roles/edit.html.erb +16 -0
  45. data/app/views/layouts/educode_sales/application.html.erb +5 -5
  46. data/config/routes.rb +19 -0
  47. data/db/migrate/20230227061043_create_educode_sales_ideas.rb +2 -2
  48. data/db/migrate/20230430023424_add_plan_signed_date_to_follow_ups.rb +21 -0
  49. data/db/migrate/20230430040332_create_educode_sales_contract_date_lists.rb +15 -0
  50. data/db/migrate/20230430104708_create_idea_follows.rb +25 -0
  51. data/db/migrate/20230430121335_add_permissions_for_ideas.rb +16 -0
  52. data/db/migrate/20230430134710_create_educode_sales_assign_staffs.rb +11 -0
  53. data/lib/educode_sales/version.rb +1 -1
  54. metadata +30 -2
@@ -1,355 +1,14 @@
1
- <div style="margin: 10px 10px 10px 10px">
2
- <form class="layui-form layui-form-pane" lay-filter="search_ideas">
3
- <div class="layui-form-item">
4
- <div class="layui-inline ">
5
- <label class="layui-form-label">创建时间</label>
6
- <div class="layui-input-inline">
7
- <input type="text" class="layui-input" id="created_at" name="created_at" placeholder=" - " autocomplete="off">
8
- </div>
9
- </div>
10
- <div class="layui-inline">
11
- <label class="layui-form-label">发布人</label>
12
- <div class="layui-input-inline">
13
- <%= select_tag "creator_id", options_for_select(@creator_arr, ""), { include_blank: true } %>
14
- </div>
15
- </div>
16
- <div class="layui-inline">
17
- <label class="layui-form-label">方案指派人</label>
18
- <div class="layui-input-inline">
19
- <%= select_tag "staff_id", options_for_select(@staff_arr, ""), { include_blank: true } %>
20
- </div>
21
- </div>
22
- <div class="layui-inline">
23
- <label class="layui-form-label">状态</label>
24
- <div class="layui-input-inline">
25
- <%= select_tag "status", options_for_select(EducodeSales::Idea.statuses.keys, ""), { include_blank: true } %>
26
- </div>
27
- </div>
28
- <div class="layui-inline">
29
- <label class="layui-form-label">类型</label>
30
- <div class="layui-input-inline">
31
- <%= select_tag "types", options_for_select(EducodeSales::Idea.types.keys, ""), { include_blank: true } %>
32
- </div>
33
- </div>
34
- <div class="layui-inline">
35
- <label class="layui-form-label">部署模式</label>
36
- <div class="layui-input-inline">
37
- <%= select_tag "model", options_for_select(EducodeSales::Idea.models.keys, ""), { include_blank: true } %>
38
- </div>
39
- </div>
40
- <div class="layui-inline">
41
- <label class="layui-form-label">历史合作</label>
42
- <div class="layui-input-inline">
43
- <%= select_tag "history_type", options_for_select([["无", 0], ["有", 1]], ""), { include_blank: true } %>
44
- </div>
45
- </div>
46
- <div class="layui-inline">
47
- <label class="layui-form-label">优先级</label>
48
- <div class="layui-input-inline">
49
- <%= select_tag "level", options_for_select(EducodeSales::Idea.levels.keys, ""), { include_blank: true } %>
50
- </div>
51
- </div>
52
- <div class="layui-inline">
53
- <label class="layui-form-label">项目名称</label>
54
- <div class="layui-input-inline">
55
- <input type="text" class="layui-input" id="name" name="name" placeholder=" - " autocomplete="off">
56
- </div>
57
- </div>
58
- <div class="layui-inline">
59
- <label class="layui-form-label">学校/单位</label>
60
- <div class="layui-input-inline">
61
- <input type="text" class="layui-input" id="school" name="school" placeholder=" - " autocomplete="off">
62
- </div>
63
- </div>
64
-
65
- <div class="layui-inline">
66
- <button type="reset" class="layui-btn layui-btn-primary" lay-submit lay-filter="reset_business_search">重置
67
- </button>
68
- <button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="search_ideas">搜 索
69
- </button>
70
- </div>
1
+ <div class="layui-tab" lay-filter="operation_tab">
2
+ <ul class="layui-tab-title">
3
+ <li class="layui-this follows_li">跟进动态</li>
4
+ <li class="businesses_list_li">方案列表</li>
5
+ </ul>
6
+ <div class="layui-tab-content">
7
+ <div class="layui-tab-item layui-show">
8
+ <%= render 'follows' %>
9
+ </div>
10
+ <div class="layui-tab-item follows_div">
11
+ <%= render 'index' %>
71
12
  </div>
72
- </form>
73
- </div>
74
-
75
- <script type="text/html" id="toolbarDemo">
76
- <div class="layui-btn-container">
77
- <span class="table-label">方案管理</span>
78
- <% if can? :create, EducodeSales::Idea %>
79
- <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn pull-right" lay-event="add">新增项目方案</button>
80
- <% end %>
81
13
  </div>
82
- </script>
83
- <div class="">
84
- <table class="layui-hide" id="ideas_table" style="min-height: 300px;" lay-filter="ideas_table"></table>
85
- </div>
86
- <script type="text/html" id="currentTableBar">
87
- <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edita" lay-event="add_event">详情</a>
88
- <% if can? :update, EducodeSales::Idea %>
89
- <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="idea_edit">编辑</a>
90
- <% end %>
91
- <% if can? :destroy, EducodeSales::Idea %>
92
- <a class="layui-btn layui-btn-danger layui-btn-xs data-count-edit" lay-event="idea_recycle">移除</a>
93
- <% end %>
94
- </script>
95
- <script type="text/html" id="statusTpl">
96
- {{# if(d.status === '已完成'){ }}
97
- <span style="color: #22bf18;">{{ d.status }}</span>
98
- {{# } else { }}
99
- <span style="color: #e60505;">{{ d.status }}</span>
100
- {{# } }}
101
- </script>
102
-
103
- <script>
104
- layui.use(['form', 'table', 'miniPage', 'element', 'request', 'laydate'], function () {
105
- var $ = layui.jquery,
106
- form = layui.form,
107
- request = layui.request,
108
- dropdown = layui.dropdown,
109
- miniPage = layui.miniPage,
110
- laydate = layui.laydate;
111
-
112
- var laydate = layui.laydate;
113
-
114
- laydate.render({
115
- elem: '#created_at',
116
- range: true
117
- });
118
-
119
- table = layui.table;
120
- table.render({
121
- elem: '#ideas_table',
122
- url: '/missions/ideas',
123
- where: {q: form.val('search_form')},
124
- toolbar: '#toolbarDemo',
125
- totalRow: true,
126
- defaultToolbar: ['filter'],
127
- cols: [
128
- [
129
- {
130
- field: 'school',
131
- width: 160,
132
- title: '学校/单位名称'
133
- },
134
- {
135
- field: 'name',
136
- width: 160,
137
- title: '项目名称'
138
- },
139
- {
140
- field: 'level',
141
- width: 100,
142
- title: '优先级'
143
- },
144
- {
145
- field: 'staff',
146
- title: '方案指派人',
147
- width: 100
148
- },
149
- {
150
- field: 'status',
151
- width: 100,
152
- title: '状态',
153
- templet: '#statusTpl'
154
- },
155
- {
156
- field: 'types',
157
- width: 100,
158
- title: '类型',
159
- },
160
- {
161
- field: 'model',
162
- width: 100,
163
- title: '部署模式',
164
- },
165
- {
166
- field: 'hardware',
167
- width: 150,
168
- title: '硬件规模(万)'
169
- },
170
- {
171
- field: 'project',
172
- width: 150,
173
- title: '并发规模(人)'
174
- },
175
- {
176
- field: 'money',
177
- width: 150,
178
- title: '项目预算(万)'
179
- },
180
- {
181
- field: 'creator',
182
- width: 100,
183
- title: '发布人'
184
- },
185
- {
186
- field: 'end_time',
187
- width: 200,
188
- title: '截止时间'
189
- },
190
- {
191
- field: 'history_type',
192
- width: 150,
193
- title: '历史合作'
194
- },
195
- {
196
- field: 'created_at',
197
- width: 150,
198
- title: '创建时间'
199
- },
200
- {
201
- field: 'content',
202
- width: 200,
203
- title: '反馈情况'
204
- },
205
- {
206
- title: '操作',
207
- minWidth: 170,
208
- toolbar: '#currentTableBar',
209
- align: "center",
210
- fixed: 'right'
211
- }
212
- ]
213
- ],
214
- limit: 20,
215
- limits: [10, 15, 20, 30, 40, 50, 60, 70, 80, 90],
216
- page: true,
217
- done: function (res) {
218
- }
219
- });
220
-
221
- function deleteBusiness(id, name) {
222
- layer.confirm('确定删除' + name, function (index) {
223
- request.delete('missions/ideas/' + id, {}, function (res) {
224
- layer.close(index);
225
- table.reload("ideas_table")
226
- })
227
- });
228
- }
229
-
230
- var sort = {}, search = {};
231
- table.on('sort(ideas_table)', function (obj) {
232
- sort.field = obj.field;
233
- sort.order = obj.type;
234
- table.reload('ideas_table', {
235
- initSort: obj,
236
- where: {
237
- sort: sort,
238
- q: search
239
- }
240
- });
241
- })
242
-
243
- // 监听搜索操作
244
- form.on('submit(search_ideas)', function (data) {
245
- search = data.field
246
- table.reload('ideas_table', {
247
- page: {
248
- curr: 1
249
- },
250
- where: {q: search, sort: sort}
251
- }, 'data');
252
- return false;
253
- });
254
-
255
- form.on('submit(reset_business_search)', function (data) {
256
- var field = data.field;
257
- form.val('search_ideas', {
258
- created_at: "",
259
- creator_id: "",
260
- staff_id: "",
261
- name: "",
262
- school: "",
263
- status: "",
264
- model: "",
265
- types: "",
266
- level: "",
267
- history_type: ""
268
- })
269
- return false;
270
- });
271
- // form.on('submit(show_hide)', function (data) {
272
- // $(".show_item").toggle()
273
- // return false;
274
- // });
275
- /**
276
- * toolbar事件监听
277
- */
278
- table.on('toolbar(ideas_table)', function (obj) {
279
- if (obj.event === 'add') { // 手动添加
280
- var content = miniPage.getHrefContent('/missions/ideas/new');
281
- var openWH = miniPage.getOpenWidthHeight();
282
- add_idea_index = layer.open({
283
- title: '新建',
284
- type: 1,
285
- shade: 0.2,
286
- maxmin: true,
287
- shadeClose: true,
288
- area: [openWH[0] + 'px', openWH[1] + 'px'],
289
- offset: [openWH[2] + 'px', openWH[3] + 'px'],
290
- content: content,
291
- });
292
- $(window).on("resize", function () {
293
- layer.full(index);
294
- });
295
- }
296
- });
297
-
298
- //监听表格复选框选择
299
- // table.on('checkbox(ideas_table)', function (obj) {
300
- // console.log(obj)
301
- // });
302
-
303
- table.on('tool(ideas_table)', function (obj) {
304
- var data = obj.data;
305
- id = data.id
306
- if (obj.event === 'add_event') { // 监听添加操作
307
- var content = miniPage.getHrefContent('/missions/ideas/detail?id=' + data.id);
308
- var openWH = miniPage.getOpenWidthHeight();
309
- show_index = layer.open({
310
- title: '详情',
311
- type: 1,
312
- shade: 0.2,
313
- maxmin: true,
314
- shadeClose: true,
315
- area: [openWH[0] + 'px', openWH[1] + 'px'],
316
- offset: [openWH[2] + 'px', openWH[3] + 'px'],
317
- content: content
318
- });
319
- $(window).on("resize", function () {
320
- layer.full(show_index);
321
- });
322
- } else if (obj.event === 'idea_recycle') {
323
- layer.confirm('确定删除' + data.name, function (index) {
324
- request.delete('missions/ideas/' + id, {}, function (res) {
325
- layer.close(index);
326
- table.reload("ideas_table")
327
- })
328
- });
329
- } else if (obj.event === 'idea_edit') { // 监听添加操作
330
- var content = miniPage.getHrefContent('/missions/ideas/' + id + '/edit');
331
- var openWH = miniPage.getOpenWidthHeight();
332
- edit_index = layer.open({
333
- title: '编辑',
334
- type: 1,
335
- shade: 0.2,
336
- maxmin: true,
337
- shadeClose: true,
338
- area: [openWH[0] + 'px', openWH[1] + 'px'],
339
- offset: [openWH[2] + 'px', openWH[3] + 'px'],
340
- content: content
341
- });
342
- $(window).on("resize", function () {
343
- layer.full(edit_index);
344
- });
345
- }
346
- });
347
-
348
- });
349
- </script>
350
- <style>
351
- .layui-table-tool-temp {
352
- padding-right: 30px;
353
- !important;
354
- }
355
- </style>
14
+ </div>
@@ -1,6 +1,6 @@
1
1
  json.data do
2
2
  json.array! @ideas do |d|
3
- json.(d, :id, :name, :level, :status, :types, :model, :content)
3
+ json.(d, *d.attributes.keys)
4
4
  json.school d.school&.name
5
5
  json.staff d.staff&.user&.real_name
6
6
  json.hardware d.hardware
@@ -11,6 +11,12 @@ json.data do
11
11
  json.deleter d.deleter&.user&.real_name
12
12
  json.created_at d.created_at.to_s(:date)
13
13
  json.history_type EducodeSales::Idea.where(school_id: d.school_id).size.to_i >= 2 ? "有" : "无"
14
+ json.is_deleted @is_deleted
15
+ json.sale_staff d.sale_staff&.user&.real_name
16
+ json.f_staff d.last_idea_follow&.staff&.user&.real_name
17
+ json.f_last_time d.last_idea_follow&.created_at.to_s
18
+ json.name d.business&.name || d.name
19
+ json.advise d.advise.to_s
14
20
  end
15
21
  end
16
22
  json.code 0
@@ -5,15 +5,15 @@
5
5
  <div class="layui-row">
6
6
  <h2 style="padding-left: 25px">方案信息</h2>
7
7
  </div>
8
- <div class="layui-row" style="padding-top: 15px">
8
+ <div class="layui-row" style="padding-top: 15px;display: none">
9
9
  <div class="layui-col-md6">
10
- <labeL class="layui-form-label required">学校/单位:</labeL>
10
+ <labeL class="layui-form-label required">单位:</labeL>
11
11
  <div class="layui-input-block">
12
12
  <div id="school_id" style="width: 600px;"></div>
13
13
  </div>
14
14
  </div>
15
15
  <div class="layui-col-md6">
16
- <labeL class="layui-form-label">院系/部门:</labeL>
16
+ <labeL class="layui-form-label">部门:</labeL>
17
17
  <div class="layui-input-block">
18
18
  <div id="department_id" style="width: 600px;"></div>
19
19
  </div>
@@ -21,9 +21,9 @@
21
21
  </div>
22
22
  <div class="layui-row" style="padding-top: 15px">
23
23
  <div class="layui-col-md6">
24
- <labeL class="layui-form-label">学校负责人:</labeL>
24
+ <labeL class="layui-form-label">单位联系人:</labeL>
25
25
  <div class="layui-input-block">
26
- <input type="text" name="manager_name" autocomplete="off" placeholder="请输入学校负责人" value="<%= @idea&.manager_name %>" class="layui-input">
26
+ <input type="text" name="manager_name" autocomplete="off" placeholder="请输入单位联系人" value="<%= @idea&.manager_name %>" class="layui-input">
27
27
  </div>
28
28
  </div>
29
29
  <div class="layui-col-md6">
@@ -35,7 +35,7 @@
35
35
  </div>
36
36
  <div class="layui-row" style="padding-top: 15px">
37
37
  <div class="layui-col-md6">
38
- <labeL class="layui-form-label required">销售负责人:</labeL>
38
+ <labeL class="layui-form-label required">销售经理:</labeL>
39
39
  <div class="layui-input-block">
40
40
  <div id="sale_staff_id"></div>
41
41
  </div>
@@ -51,11 +51,11 @@
51
51
  <div class="layui-col-md6">
52
52
  <labeL class="layui-form-label required">项目名称:</labeL>
53
53
  <div class="layui-input-block">
54
- <input type="text" name="name" autocomplete="off" lay-verify="required" lay-reqtext="项目名称不能为空" placeholder="请输入项目名称" value="<%= @idea&.name %>" class="layui-input">
54
+ <div id="business_id" style="width: 600px;"></div>
55
55
  </div>
56
56
  </div>
57
57
  <div class="layui-col-md6">
58
- <labeL class="layui-form-label">方案指派人:</labeL>
58
+ <labeL class="layui-form-label">方案经理:</labeL>
59
59
  <div class="layui-input-block">
60
60
  <div id="new_staff_id"></div>
61
61
  </div>
@@ -77,7 +77,7 @@
77
77
  </div>
78
78
  <div class="layui-row" style="padding-top: 15px">
79
79
  <div class="layui-col-md6">
80
- <labeL class="layui-form-label">类型:</labeL>
80
+ <labeL class="layui-form-label">定制类型:</labeL>
81
81
  <div class="layui-input-block">
82
82
  <%= select_tag "types", options_for_select(EducodeSales::Idea.types.keys, @idea&.types), { 'lay-filter': 'types', include_blank: false } %>
83
83
  </div>
@@ -89,11 +89,25 @@
89
89
  </div>
90
90
  </div>
91
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
+ <%= select_tag "idea_type", options_for_select(EducodeSales::Idea.idea_types.keys, @idea&.idea_type), { 'lay-filter': 'idea_type', include_blank: false } %>
97
+ </div>
98
+ </div>
99
+ <div class="layui-col-md6">
100
+ <labeL class="layui-form-label">指派人:</labeL>
101
+ <div class="layui-input-block">
102
+ <div id="other_staff_ids"></div>
103
+ </div>
104
+ </div>
105
+ </div>
92
106
  <div class="layui-row" style="padding-top: 15px">
93
107
  <div class="layui-col-md6">
94
108
  <labeL class="layui-form-label">硬件规模(万):</labeL>
95
109
  <div class="layui-input-block">
96
- <input type="number" name="hardware" autocomplete="off" placeholder="请输入硬件规模" value="<%= @idea&.hardware %>" class="layui-input">
110
+ <input type="number" name="hardware" autocomplete="off" placeholder="请输入硬件规模" value="<%= @idea&.hardware %>" class="layui-input">
97
111
  </div>
98
112
  </div>
99
113
  <div class="layui-col-md6">
@@ -126,9 +140,9 @@
126
140
  </div>
127
141
  </div>
128
142
  <div class="layui-row" style="padding-top: 15px">
129
- <labeL class="layui-form-label">反馈情况:</labeL>
143
+ <labeL class="layui-form-label">需求说明:</labeL>
130
144
  <div class="layui-input-block">
131
- <textarea name="content" placeholder="反馈情况" class="layui-textarea"><%= @idea&.content.to_s %></textarea>
145
+ <textarea name="content" placeholder="需求说明" class="layui-textarea"><%= @idea&.content.to_s %></textarea>
132
146
  </div>
133
147
  </div>
134
148
  <div class="layui-row" style="padding-top: 15px">
@@ -182,15 +196,15 @@
182
196
 
183
197
  layui.use(['form', 'upload', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput', 'xmSelect'], function () {
184
198
  var form = layui.form,
185
- layer = layui.layer,
186
- request = layui.request,
187
- laydate = layui.laydate,
188
- table = layui.table,
189
- laytpl = layui.laytpl,
190
- request = layui.request,
191
- xmSelect = layui.xmSelect,
192
- upload = layui.upload,
193
- $ = layui.$;
199
+ layer = layui.layer,
200
+ request = layui.request,
201
+ laydate = layui.laydate,
202
+ table = layui.table,
203
+ laytpl = layui.laytpl,
204
+ request = layui.request,
205
+ xmSelect = layui.xmSelect,
206
+ upload = layui.upload,
207
+ $ = layui.$;
194
208
  selectInput = layui.selectInput;
195
209
 
196
210
  form.render();
@@ -200,6 +214,40 @@
200
214
  });
201
215
  form.render();
202
216
 
217
+ var business_list = xmSelect.render({
218
+ el: '#business_id',
219
+ remoteSearch: true,
220
+ autoRow: true,
221
+ radio: true,
222
+ delay: 1000,
223
+ tips: '支持名称搜索,请至少输入一个字符',
224
+ searchTips: '支持名称搜索,请至少输入一个字符',
225
+ paging: true,
226
+ pageRemote: true,
227
+ filterable: true,
228
+ remoteMethod: function (val, cb, show, pageIndex) {
229
+ if (!val) {
230
+ return cb([]);
231
+ }
232
+ $.ajax('/missions/staff_business', {
233
+ method: 'get',
234
+ data: {
235
+ q: val,
236
+ page: pageIndex
237
+ },
238
+ dataType: 'json',
239
+ success: function (res) {
240
+ var data = res.data;
241
+ if (res.code == 0) {
242
+ cb(res.data, res.count);
243
+ } else {
244
+ layer.msg(res.msg, {time: 2000, icon: 2, shade: 0.01});
245
+ }
246
+ }
247
+ })
248
+ }
249
+ })
250
+
203
251
  var school_list = xmSelect.render({
204
252
  el: '#school_id',
205
253
  remoteSearch: true,
@@ -330,6 +378,12 @@
330
378
  filterable: true,
331
379
  multiple: true
332
380
  })
381
+ var other_staff_list = xmSelect.render({
382
+ el: '#other_staff_ids',
383
+ data: gon.staffs,
384
+ filterable: true,
385
+ multiple: true
386
+ })
333
387
 
334
388
  var attachment_list = xmSelect.render({
335
389
  el: '#attachment_ids',
@@ -367,10 +421,6 @@
367
421
  school_list.getValue().forEach(function (d) {
368
422
  schools.push(d.value);
369
423
  })
370
- if (schools.length == 0) {
371
- layer.alert("请选择学校");
372
- return false;
373
- }
374
424
  data.field.school_id = schools[0];
375
425
 
376
426
  var departments = [];
@@ -378,9 +428,15 @@
378
428
  departments.push(d.value);
379
429
  })
380
430
  data.field.department_id = departments[0];
431
+ var business = [];
432
+ business_list.getValue().forEach(function (d) {
433
+ business.push(d.value);
434
+ })
435
+ data.field.business_id = business[0];
381
436
  data.field.staff_id = staff_list.getValue('valueStr');
382
437
  data.field.sale_staff_id = sale_staff_list.getValue('valueStr');
383
438
  data.field.assist_staff_ids = assist_staff_list.getValue('valueStr');
439
+ data.field.other_staff_ids = other_staff_list.getValue('valueStr');
384
440
  data.field.attachment_ids = attachment_list.getValue('valueStr');
385
441
  request.authPost("missions/ideas/", data.field, function (res) {
386
442
  if (res.success == false) {