educode_sales 0.9.51 → 0.9.53
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.
- checksums.yaml +4 -4
- data/app/assets/images/educode_sales/indexlogo.png +0 -0
- data/app/views/educode_sales/idea_recycles/index.html.erb +8 -3
- data/app/views/educode_sales/idea_recycles/index.json.jbuilder +2 -1
- data/app/views/educode_sales/ideas/edit.html.erb +12 -12
- data/app/views/educode_sales/ideas/index.html.erb +8 -3
- data/app/views/educode_sales/ideas/index.json.jbuilder +2 -1
- data/app/views/educode_sales/ideas/new.html.erb +11 -11
- data/app/views/educode_sales/teachers/edit.html.erb +7 -0
- data/db/migrate/20230227061043_create_educode_sales_ideas.rb +3 -3
- data/lib/educode_sales/version.rb +1 -1
- metadata +7 -10
- data/db/migrate/20221025094655_delete_business_number.rb +0 -5
- data/db/migrate/20230227070206_change_to_educode_sales_ideas.rb +0 -5
- data/db/migrate/20230227125936_add_follow_at_to_teachers.rb +0 -6
- data/db/migrate/20230302074324_change_manager_for_ideas.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67243841093d2b85c0eefb02d4fc8bb4f7acaafc2870f68d4ec03975dcfd56ba
|
4
|
+
data.tar.gz: 4e7361e3aea55d0e979ee3d876a0674d9f397007e8eab83414971f0e93f67f9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e82bd4139fc5341ced74482ec6bf79c08c750f9e74cda9d762062f112c60d13579c541bec2c696f38690d5c2e24281dec271f09e0357f6ec579d5ea8519af128
|
7
|
+
data.tar.gz: c7d052d54a7d3270e02a64f8fec5325bef6a39f5608f164b1ffe067f3ea3451b5dc50f0903f798efb975d94f4b826e9e5fd8c808400405c16440ac353ef9df7e
|
Binary file
|
@@ -147,17 +147,17 @@
|
|
147
147
|
},
|
148
148
|
{
|
149
149
|
field: 'hardware',
|
150
|
-
width:
|
150
|
+
width: 150,
|
151
151
|
title: '硬件规模(万)'
|
152
152
|
},
|
153
153
|
{
|
154
154
|
field: 'project',
|
155
|
-
width:
|
155
|
+
width: 150,
|
156
156
|
title: '项目规模(人)'
|
157
157
|
},
|
158
158
|
{
|
159
159
|
field: 'money',
|
160
|
-
width:
|
160
|
+
width: 150,
|
161
161
|
title: '项目预算(万)'
|
162
162
|
},
|
163
163
|
{
|
@@ -175,6 +175,11 @@
|
|
175
175
|
width: 150,
|
176
176
|
title: '历史合作'
|
177
177
|
},
|
178
|
+
{
|
179
|
+
field: 'created_at',
|
180
|
+
width: 150,
|
181
|
+
title: '创建时间'
|
182
|
+
},
|
178
183
|
{
|
179
184
|
field: 'content',
|
180
185
|
width: 200,
|
@@ -9,7 +9,8 @@ json.data do
|
|
9
9
|
json.end_time d.end_time.to_s
|
10
10
|
json.creator d.creator&.user&.real_name
|
11
11
|
json.deleter d.deleter&.user&.real_name
|
12
|
-
json.
|
12
|
+
json.created_at d.created_at.to_s
|
13
|
+
json.history_type EducodeSales::Idea.where(school_id: d.school_id).size.to_i >= 2 ? "有" : "无"
|
13
14
|
end
|
14
15
|
end
|
15
16
|
json.code 0
|
@@ -27,13 +27,13 @@
|
|
27
27
|
</div>
|
28
28
|
<div class="layui-row" style="padding-top: 15px">
|
29
29
|
<div class="layui-col-md6">
|
30
|
-
<labeL class="layui-form-label required"
|
30
|
+
<labeL class="layui-form-label required">项目名称:</labeL>
|
31
31
|
<div class="layui-input-block">
|
32
32
|
<input type="text" name="name" autocomplete="off" lay-verify="required" lay-reqtext="项目名称不能为空" placeholder="请输入项目名称" value="<%= @idea&.name %>" class="layui-input">
|
33
33
|
</div>
|
34
34
|
</div>
|
35
35
|
<div class="layui-col-md6">
|
36
|
-
<labeL class="layui-form-label required"
|
36
|
+
<labeL class="layui-form-label required">指派人:</labeL>
|
37
37
|
<div class="layui-input-block">
|
38
38
|
<%= select_tag "staff_id", options_for_select(EducodeSales::Staff.all.map { |d| [d.user&.real_name, d.id] }, @idea&.staff_id), { 'lay-filter': 'staff_id', include_blank: false } %>
|
39
39
|
</div>
|
@@ -41,13 +41,13 @@
|
|
41
41
|
</div>
|
42
42
|
<div class="layui-row" style="padding-top: 15px">
|
43
43
|
<div class="layui-col-md6">
|
44
|
-
<labeL class="layui-form-label required"
|
44
|
+
<labeL class="layui-form-label required">优先级:</labeL>
|
45
45
|
<div class="layui-input-block">
|
46
46
|
<%= select_tag "level", options_for_select(EducodeSales::Idea.levels.keys, @idea&.level), { 'lay-filter': 'level', include_blank: false } %>
|
47
47
|
</div>
|
48
48
|
</div>
|
49
49
|
<div class="layui-col-md6">
|
50
|
-
<labeL class="layui-form-label required"
|
50
|
+
<labeL class="layui-form-label required">状态:</labeL>
|
51
51
|
<div class="layui-input-block">
|
52
52
|
<%= select_tag "status", options_for_select(EducodeSales::Idea.statuses.keys, @idea&.status), { 'lay-filter': 'status', include_blank: false } %>
|
53
53
|
</div>
|
@@ -55,13 +55,13 @@
|
|
55
55
|
</div>
|
56
56
|
<div class="layui-row" style="padding-top: 15px">
|
57
57
|
<div class="layui-col-md6">
|
58
|
-
<labeL class="layui-form-label required"
|
58
|
+
<labeL class="layui-form-label required">类型:</labeL>
|
59
59
|
<div class="layui-input-block">
|
60
60
|
<%= select_tag "types", options_for_select(EducodeSales::Idea.types.keys, @idea&.types), { 'lay-filter': 'types', include_blank: false } %>
|
61
61
|
</div>
|
62
62
|
</div>
|
63
63
|
<div class="layui-col-md6">
|
64
|
-
<labeL class="layui-form-label required"
|
64
|
+
<labeL class="layui-form-label required">部署模式:</labeL>
|
65
65
|
<div class="layui-input-block">
|
66
66
|
<%= select_tag "model", options_for_select(EducodeSales::Idea.models.keys, @idea&.model), { 'lay-filter': 'model', include_blank: false } %>
|
67
67
|
</div>
|
@@ -71,11 +71,11 @@
|
|
71
71
|
<div class="layui-col-md6">
|
72
72
|
<labeL class="layui-form-label required">硬件规模(万):</labeL>
|
73
73
|
<div class="layui-input-block">
|
74
|
-
<input type="number" name="hardware" autocomplete="off" placeholder="请输入硬件规模" value="<%= @idea&.hardware %>" class="layui-input">
|
74
|
+
<input type="number" name="hardware" autocomplete="off" lay-verify="required" lay-reqtext="硬件规模不能为空" placeholder="请输入硬件规模" value="<%= @idea&.hardware %>" class="layui-input">
|
75
75
|
</div>
|
76
76
|
</div>
|
77
77
|
<div class="layui-col-md6">
|
78
|
-
<labeL class="layui-form-label required"
|
78
|
+
<labeL class="layui-form-label required">项目预算(万):</labeL>
|
79
79
|
<div class="layui-input-block">
|
80
80
|
<input type="number" name="money" autocomplete="off" lay-verify="required" lay-reqtext="项目预算不能为空" placeholder="请输入项目预算" value="<%= @idea&.money %>" class="layui-input">
|
81
81
|
</div>
|
@@ -83,22 +83,22 @@
|
|
83
83
|
</div>
|
84
84
|
<div class="layui-row" style="padding-top: 5px">
|
85
85
|
<div class="layui-col-md6">
|
86
|
-
<labeL class="layui-form-label required"
|
86
|
+
<labeL class="layui-form-label required">项目规模(人):</labeL>
|
87
87
|
<div class="layui-input-block">
|
88
88
|
<input type="number" name="project" autocomplete="off" lay-verify="required" lay-reqtext="项目规模不能为空" placeholder="请输入项目规模" value="<%= @idea&.project %>" class="layui-input">
|
89
89
|
</div>
|
90
90
|
</div>
|
91
91
|
<div class="layui-col-md6">
|
92
|
-
<labeL class="layui-form-label required"
|
92
|
+
<labeL class="layui-form-label required">截止时间:</labeL>
|
93
93
|
<div class="layui-input-block">
|
94
94
|
<input type="text" id="new_time" name="end_time" autocomplete="off" lay-verify="required" lay-reqtext="截止时间不能为空" placeholder="请选择截止时间" value="<%= @idea&.end_time&.to_s(:date) %>" class="layui-input">
|
95
95
|
</div>
|
96
96
|
</div>
|
97
97
|
</div>
|
98
98
|
<div class="layui-row" style="padding-top: 15px">
|
99
|
-
<labeL class="layui-form-label
|
99
|
+
<labeL class="layui-form-label">反馈情况:</labeL>
|
100
100
|
<div class="layui-input-block">
|
101
|
-
<textarea name="content"
|
101
|
+
<textarea name="content" placeholder="反馈情况" class="layui-textarea"><%= @idea&.content.to_s %></textarea>
|
102
102
|
</div>
|
103
103
|
</div>
|
104
104
|
<div class="layui-row" style="padding-top: 30px; float: left">
|
@@ -149,17 +149,17 @@
|
|
149
149
|
},
|
150
150
|
{
|
151
151
|
field: 'hardware',
|
152
|
-
width:
|
152
|
+
width: 150,
|
153
153
|
title: '硬件规模(万)'
|
154
154
|
},
|
155
155
|
{
|
156
156
|
field: 'project',
|
157
|
-
width:
|
157
|
+
width: 150,
|
158
158
|
title: '项目规模(人)'
|
159
159
|
},
|
160
160
|
{
|
161
161
|
field: 'money',
|
162
|
-
width:
|
162
|
+
width: 150,
|
163
163
|
title: '项目预算(万)'
|
164
164
|
},
|
165
165
|
{
|
@@ -177,6 +177,11 @@
|
|
177
177
|
width: 150,
|
178
178
|
title: '历史合作'
|
179
179
|
},
|
180
|
+
{
|
181
|
+
field: 'created_at',
|
182
|
+
width: 150,
|
183
|
+
title: '创建时间'
|
184
|
+
},
|
180
185
|
{
|
181
186
|
field: 'content',
|
182
187
|
width: 200,
|
@@ -9,7 +9,8 @@ json.data do
|
|
9
9
|
json.end_time d.end_time.to_s
|
10
10
|
json.creator d.creator&.user&.real_name
|
11
11
|
json.deleter d.deleter&.user&.real_name
|
12
|
-
json.
|
12
|
+
json.created_at d.created_at.to_s
|
13
|
+
json.history_type EducodeSales::Idea.where(school_id: d.school_id).size.to_i >= 2 ? "有" : "无"
|
13
14
|
end
|
14
15
|
end
|
15
16
|
json.code 0
|
@@ -27,13 +27,13 @@
|
|
27
27
|
</div>
|
28
28
|
<div class="layui-row" style="padding-top: 15px">
|
29
29
|
<div class="layui-col-md6">
|
30
|
-
<labeL class="layui-form-label required"
|
30
|
+
<labeL class="layui-form-label required">项目名称:</labeL>
|
31
31
|
<div class="layui-input-block">
|
32
32
|
<input type="text" name="name" autocomplete="off" lay-verify="required" lay-reqtext="项目名称不能为空" placeholder="请输入项目名称" value="<%= @idea&.name %>" class="layui-input">
|
33
33
|
</div>
|
34
34
|
</div>
|
35
35
|
<div class="layui-col-md6">
|
36
|
-
<labeL class="layui-form-label required"
|
36
|
+
<labeL class="layui-form-label required">指派人:</labeL>
|
37
37
|
<div class="layui-input-block">
|
38
38
|
<%= select_tag "staff_id", options_for_select(EducodeSales::Staff.all.map { |d| [d.user&.real_name, d.id] }, @idea&.staff_id), { 'lay-filter': 'staff_id', include_blank: false } %>
|
39
39
|
</div>
|
@@ -41,13 +41,13 @@
|
|
41
41
|
</div>
|
42
42
|
<div class="layui-row" style="padding-top: 15px">
|
43
43
|
<div class="layui-col-md6">
|
44
|
-
<labeL class="layui-form-label required"
|
44
|
+
<labeL class="layui-form-label required">优先级:</labeL>
|
45
45
|
<div class="layui-input-block">
|
46
46
|
<%= select_tag "level", options_for_select(EducodeSales::Idea.levels.keys, @idea&.level), { 'lay-filter': 'level', include_blank: false } %>
|
47
47
|
</div>
|
48
48
|
</div>
|
49
49
|
<div class="layui-col-md6">
|
50
|
-
<labeL class="layui-form-label required"
|
50
|
+
<labeL class="layui-form-label required">状态:</labeL>
|
51
51
|
<div class="layui-input-block">
|
52
52
|
<%= select_tag "status", options_for_select(EducodeSales::Idea.statuses.keys, @idea&.status), { 'lay-filter': 'status', include_blank: false } %>
|
53
53
|
</div>
|
@@ -55,13 +55,13 @@
|
|
55
55
|
</div>
|
56
56
|
<div class="layui-row" style="padding-top: 15px">
|
57
57
|
<div class="layui-col-md6">
|
58
|
-
<labeL class="layui-form-label required"
|
58
|
+
<labeL class="layui-form-label required">类型:</labeL>
|
59
59
|
<div class="layui-input-block">
|
60
60
|
<%= select_tag "types", options_for_select(EducodeSales::Idea.types.keys, @idea&.types), { 'lay-filter': 'types', include_blank: false } %>
|
61
61
|
</div>
|
62
62
|
</div>
|
63
63
|
<div class="layui-col-md6">
|
64
|
-
<labeL class="layui-form-label required"
|
64
|
+
<labeL class="layui-form-label required">部署模式:</labeL>
|
65
65
|
<div class="layui-input-block">
|
66
66
|
<%= select_tag "model", options_for_select(EducodeSales::Idea.models.keys, @idea&.model), { 'lay-filter': 'model', include_blank: false } %>
|
67
67
|
</div>
|
@@ -75,7 +75,7 @@
|
|
75
75
|
</div>
|
76
76
|
</div>
|
77
77
|
<div class="layui-col-md6">
|
78
|
-
<labeL class="layui-form-label required"
|
78
|
+
<labeL class="layui-form-label required">项目预算(万):</labeL>
|
79
79
|
<div class="layui-input-block">
|
80
80
|
<input type="number" name="money" autocomplete="off" lay-verify="required" lay-reqtext="项目预算不能为空" placeholder="请输入项目预算" value="<%= @idea&.money %>" class="layui-input">
|
81
81
|
</div>
|
@@ -83,22 +83,22 @@
|
|
83
83
|
</div>
|
84
84
|
<div class="layui-row" style="padding-top: 5px">
|
85
85
|
<div class="layui-col-md6">
|
86
|
-
<labeL class="layui-form-label required"
|
86
|
+
<labeL class="layui-form-label required">项目规模(人):</labeL>
|
87
87
|
<div class="layui-input-block">
|
88
88
|
<input type="number" name="project" autocomplete="off" lay-verify="required" lay-reqtext="项目规模不能为空" placeholder="请输入项目规模" value="<%= @idea&.project %>" class="layui-input">
|
89
89
|
</div>
|
90
90
|
</div>
|
91
91
|
<div class="layui-col-md6">
|
92
|
-
<labeL class="layui-form-label required"
|
92
|
+
<labeL class="layui-form-label required">截止时间:</labeL>
|
93
93
|
<div class="layui-input-block">
|
94
94
|
<input type="text" id="new_time" name="end_time" autocomplete="off" lay-verify="required" lay-reqtext="截止时间不能为空" placeholder="请选择截止时间" value="<%= @idea&.end_time&.to_s(:date) %>" class="layui-input">
|
95
95
|
</div>
|
96
96
|
</div>
|
97
97
|
</div>
|
98
98
|
<div class="layui-row" style="padding-top: 15px">
|
99
|
-
<labeL class="layui-form-label
|
99
|
+
<labeL class="layui-form-label">反馈情况:</labeL>
|
100
100
|
<div class="layui-input-block">
|
101
|
-
<textarea name="content"
|
101
|
+
<textarea name="content" placeholder="反馈情况" class="layui-textarea"><%= @idea&.content.to_s %></textarea>
|
102
102
|
</div>
|
103
103
|
</div>
|
104
104
|
<div class="layui-row" style="padding-top: 30px; float: left">
|
@@ -37,6 +37,13 @@
|
|
37
37
|
</div>
|
38
38
|
</div>
|
39
39
|
<br>
|
40
|
+
<div class="layui-inline">
|
41
|
+
<label class="layui-form-label ">手机号</label>
|
42
|
+
<div class="layui-input-block" style="width: 188px;">
|
43
|
+
<input type="text" name="mobile" autocomplete="off" class="layui-input" placeholder="请输入手机号" value="<%= @teacher.mobile %>">
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<br>
|
40
47
|
<div class="layui-inline">
|
41
48
|
<label class="layui-form-label required">单位部门</label>
|
42
49
|
<div class="layui-input-block" id="add_department2" style="width: 400px"></div>
|
@@ -4,7 +4,7 @@ class CreateEducodeSalesIdeas < ActiveRecord::Migration[5.2]
|
|
4
4
|
t.references :school, index: true, comment: "学校"
|
5
5
|
t.string :name, comment: "名称"
|
6
6
|
t.integer :level, comment: "优先级"
|
7
|
-
t.integer :
|
7
|
+
t.integer :staff_id, comment: "指派人"
|
8
8
|
t.integer :status, comment: "状态"
|
9
9
|
t.integer :types, comment: "类型"
|
10
10
|
t.integer :model, comment: "部署模式"
|
@@ -19,8 +19,8 @@ class CreateEducodeSalesIdeas < ActiveRecord::Migration[5.2]
|
|
19
19
|
t.boolean :is_deleted, default: false, comment: "是否删除"
|
20
20
|
t.datetime :deleted_at, comment: "删除时间"
|
21
21
|
t.references :department, index: true, comment: "部门"
|
22
|
-
t.
|
23
|
-
t.
|
22
|
+
t.string :manager_name, comment: "负责人"
|
23
|
+
t.string :manager_phone, comment: "负责人电话"
|
24
24
|
t.text :history_record, comment: "修改记录"
|
25
25
|
t.timestamps
|
26
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: educode_sales
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.53
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- app/assets/images/educode_sales/icon-login.png
|
106
106
|
- app/assets/images/educode_sales/icon.png
|
107
107
|
- app/assets/images/educode_sales/indexLogo.png
|
108
|
+
- app/assets/images/educode_sales/indexlogo.png
|
108
109
|
- app/assets/images/educode_sales/loading-0.gif
|
109
110
|
- app/assets/images/educode_sales/loading-1.gif
|
110
111
|
- app/assets/images/educode_sales/loading-2.gif
|
@@ -544,7 +545,6 @@ files:
|
|
544
545
|
- db/migrate/20220920080302_add_column_number_to_educode_sales_businesses.rb
|
545
546
|
- db/migrate/20220921131116_add_change_clazz_to_follow_up.rb
|
546
547
|
- db/migrate/20220923084102_create_table_to_busines_number_recoreds.rb
|
547
|
-
- db/migrate/20221025094655_delete_business_number.rb
|
548
548
|
- db/migrate/20221107122147_change_divide_rate_follow_ups.rb
|
549
549
|
- db/migrate/20230115080730_add_origin_business_id_to_follow_ups.rb
|
550
550
|
- db/migrate/20230117144025_create_educode_sales_business_clazz_changes.rb
|
@@ -553,10 +553,7 @@ files:
|
|
553
553
|
- db/migrate/20230215141612_add_mobile_to_teachers.rb
|
554
554
|
- db/migrate/20230220144737_add_clazz_id_to_business.rb
|
555
555
|
- db/migrate/20230227061043_create_educode_sales_ideas.rb
|
556
|
-
- db/migrate/20230227070206_change_to_educode_sales_ideas.rb
|
557
|
-
- db/migrate/20230227125936_add_follow_at_to_teachers.rb
|
558
556
|
- db/migrate/20230228063555_create_educode_sales_idea_histories.rb
|
559
|
-
- db/migrate/20230302074324_change_manager_for_ideas.rb
|
560
557
|
- lib/educode_sales.rb
|
561
558
|
- lib/educode_sales/engine.rb
|
562
559
|
- lib/educode_sales/version.rb
|
@@ -565,7 +562,7 @@ homepage: https://www.educoder.net
|
|
565
562
|
licenses:
|
566
563
|
- MIT
|
567
564
|
metadata: {}
|
568
|
-
post_install_message:
|
565
|
+
post_install_message:
|
569
566
|
rdoc_options: []
|
570
567
|
require_paths:
|
571
568
|
- lib
|
@@ -580,8 +577,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
580
577
|
- !ruby/object:Gem::Version
|
581
578
|
version: '0'
|
582
579
|
requirements: []
|
583
|
-
rubygems_version: 3.0.
|
584
|
-
signing_key:
|
580
|
+
rubygems_version: 3.0.9
|
581
|
+
signing_key:
|
585
582
|
specification_version: 4
|
586
583
|
summary: Summary of EducodeSales.
|
587
584
|
test_files: []
|
@@ -1,6 +0,0 @@
|
|
1
|
-
class AddFollowAtToTeachers < ActiveRecord::Migration[5.2]
|
2
|
-
def change
|
3
|
-
add_column :educode_sales_teachers, :followup_at, :datetime unless column_exists?(:educode_sales_teachers, :followup_at)
|
4
|
-
add_column :educode_sales_teacher_follows, :advise, :text unless column_exists?(:educode_sales_teacher_follows, :advise)
|
5
|
-
end
|
6
|
-
end
|