task-manager 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +136 -1
- data/Rakefile +3 -17
- data/app/assets/javascripts/task-manager/{application.js → extjs.js} +3 -9
- data/app/assets/javascripts/task-manager/extjs/app/controller/Plans.js +29 -264
- data/app/assets/javascripts/task-manager/extjs/app/helper/{application_helper.js → ApplicationHelper.js} +0 -0
- data/app/assets/javascripts/task-manager/extjs/app/model/Assignee.js +16 -0
- data/app/assets/javascripts/task-manager/extjs/app/model/Plan.js +18 -156
- data/app/assets/javascripts/task-manager/extjs/app/store/Assignees.js +37 -30
- data/app/assets/javascripts/task-manager/extjs/app/view/assignee/TreeCombo.js +48 -0
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/Form.js +290 -0
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/{Window.js → FormWindow.js} +7 -5
- data/app/assets/javascripts/task-manager/extjs/lib/ux/Model.js +14 -0
- data/app/assets/javascripts/task-manager/extjs/lib/ux/TreeCombo.js +276 -0
- data/app/controllers/task_manager/api/v1/plans_controller.rb +3 -3
- data/app/controllers/task_manager/api/v1/tasks_controller.rb +1 -1
- data/app/models/task_manager/plan.rb +48 -37
- data/lib/task-manager/deadline_validator.rb +23 -14
- data/lib/task-manager/version.rb +1 -1
- metadata +27 -16
- data/app/assets/javascripts/task-manager/extjs/app/store/AssigneesTree.js +0 -3
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/AssignablesWindow.js +0 -23
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/Edit.js +0 -189
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/EditWindow.js +0 -21
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/New.js +0 -190
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/SelectAssignables.js +0 -22
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/SelectAssignablesGrid.js +0 -22
- data/app/assets/javascripts/task-manager/extjs/app/view/plan/SelectAssignablesTree.js +0 -9
- data/app/assets/stylesheets/task-manager/application.css.scss +0 -13
@@ -1,27 +1,36 @@
|
|
1
|
+
# ActiveModel 必须包含type或class_name_type(plan_type)属性
|
1
2
|
class DeadlineValidator < ActiveModel::EachValidator
|
2
3
|
def validate_each(record, attribute, value)
|
3
4
|
type = get_type(record)
|
4
|
-
|
5
|
-
record.errors[:type] << (options[:message] || 'invalid type')
|
6
|
-
else
|
7
|
-
record.errors[attribute] << (options[:message] || "deadline_hour is required") if value.blank? || value[:deadline_hour].blank?
|
8
|
-
record.errors[attribute] << (options[:message] || "deadline_minute is required") if value.blank? || value[:deadline_minute].blank?
|
5
|
+
return unless type
|
9
6
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
end
|
7
|
+
names = []
|
8
|
+
case type.to_sym
|
9
|
+
when :daily
|
10
|
+
names = [:hour, :minute]
|
11
|
+
when :weekly, :monthly
|
12
|
+
names = [:hour, :minute, :day]
|
13
|
+
when :quarterly, :yearly
|
14
|
+
names = [:hour, :minute, :day, :month]
|
19
15
|
end
|
16
|
+
|
17
|
+
validate_deadline_of(record, attribute, value, names)
|
20
18
|
end
|
21
19
|
|
20
|
+
private
|
22
21
|
def get_type(record)
|
23
22
|
return record.type if record.respond_to?(:type)
|
24
23
|
|
25
24
|
record.send("#{record.class.name.demodulize.underscore}_type")
|
26
25
|
end
|
26
|
+
|
27
|
+
def validate_deadline_of(record, attribute, value, names)
|
28
|
+
names = [names] unless names.is_a? Array
|
29
|
+
|
30
|
+
names.each do |name|
|
31
|
+
name = "deadline_#{name}".to_sym
|
32
|
+
record.errors[attribute] << ("#{name} is required") if value[name].blank?
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
27
36
|
end
|
data/lib/task-manager/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: task-manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -123,6 +123,22 @@ dependencies:
|
|
123
123
|
- - ~>
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: 0.6.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: squeel
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 1.0.13
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 1.0.13
|
126
142
|
- !ruby/object:Gem::Dependency
|
127
143
|
name: pg
|
128
144
|
requirement: !ruby/object:Gem::Requirement
|
@@ -229,15 +245,13 @@ files:
|
|
229
245
|
- app/assets/images/task-manager/icons/add.png
|
230
246
|
- app/assets/images/task-manager/icons/delete.png
|
231
247
|
- app/assets/images/task-manager/icons/edit.png
|
232
|
-
- app/assets/javascripts/task-manager/application.js
|
233
248
|
- app/assets/javascripts/task-manager/extjs/app/controller/Plans.js
|
234
249
|
- app/assets/javascripts/task-manager/extjs/app/controller/Tasks.js
|
235
|
-
- app/assets/javascripts/task-manager/extjs/app/helper/
|
250
|
+
- app/assets/javascripts/task-manager/extjs/app/helper/ApplicationHelper.js
|
236
251
|
- app/assets/javascripts/task-manager/extjs/app/model/Assignee.js
|
237
252
|
- app/assets/javascripts/task-manager/extjs/app/model/Plan.js
|
238
253
|
- app/assets/javascripts/task-manager/extjs/app/model/Task.js
|
239
254
|
- app/assets/javascripts/task-manager/extjs/app/store/Assignees.js
|
240
|
-
- app/assets/javascripts/task-manager/extjs/app/store/AssigneesTree.js
|
241
255
|
- app/assets/javascripts/task-manager/extjs/app/store/Booleans.js
|
242
256
|
- app/assets/javascripts/task-manager/extjs/app/store/Days.js
|
243
257
|
- app/assets/javascripts/task-manager/extjs/app/store/Hours.js
|
@@ -249,23 +263,20 @@ files:
|
|
249
263
|
- app/assets/javascripts/task-manager/extjs/app/store/Tasks.js
|
250
264
|
- app/assets/javascripts/task-manager/extjs/app/store/Types.js
|
251
265
|
- app/assets/javascripts/task-manager/extjs/app/store/WeekDays.js
|
252
|
-
- app/assets/javascripts/task-manager/extjs/app/view/
|
253
|
-
- app/assets/javascripts/task-manager/extjs/app/view/plan/
|
254
|
-
- app/assets/javascripts/task-manager/extjs/app/view/plan/
|
266
|
+
- app/assets/javascripts/task-manager/extjs/app/view/assignee/TreeCombo.js
|
267
|
+
- app/assets/javascripts/task-manager/extjs/app/view/plan/Form.js
|
268
|
+
- app/assets/javascripts/task-manager/extjs/app/view/plan/FormWindow.js
|
255
269
|
- app/assets/javascripts/task-manager/extjs/app/view/plan/Grid.js
|
256
270
|
- app/assets/javascripts/task-manager/extjs/app/view/plan/Index.js
|
257
|
-
- app/assets/javascripts/task-manager/extjs/app/view/plan/New.js
|
258
271
|
- app/assets/javascripts/task-manager/extjs/app/view/plan/Search.js
|
259
|
-
- app/assets/javascripts/task-manager/extjs/app/view/plan/SelectAssignables.js
|
260
|
-
- app/assets/javascripts/task-manager/extjs/app/view/plan/SelectAssignablesGrid.js
|
261
|
-
- app/assets/javascripts/task-manager/extjs/app/view/plan/SelectAssignablesTree.js
|
262
|
-
- app/assets/javascripts/task-manager/extjs/app/view/plan/Window.js
|
263
272
|
- app/assets/javascripts/task-manager/extjs/app/view/task/Grid.js
|
264
273
|
- app/assets/javascripts/task-manager/extjs/app/view/task/Index.js
|
265
274
|
- app/assets/javascripts/task-manager/extjs/app/view/task/Search.js
|
275
|
+
- app/assets/javascripts/task-manager/extjs/lib/ux/Model.js
|
266
276
|
- app/assets/javascripts/task-manager/extjs/lib/ux/MultiSelectablePagingGrid.js
|
267
277
|
- app/assets/javascripts/task-manager/extjs/lib/ux/RowExpander.js
|
268
|
-
- app/assets/
|
278
|
+
- app/assets/javascripts/task-manager/extjs/lib/ux/TreeCombo.js
|
279
|
+
- app/assets/javascripts/task-manager/extjs.js
|
269
280
|
- app/assets/stylesheets/task-manager/extjs.css.scss
|
270
281
|
- app/controllers/task_manager/api/v1/plans_controller.rb
|
271
282
|
- app/controllers/task_manager/api/v1/tasks_controller.rb
|
@@ -308,7 +319,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
308
319
|
version: '0'
|
309
320
|
segments:
|
310
321
|
- 0
|
311
|
-
hash: -
|
322
|
+
hash: -799618091743939836
|
312
323
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
313
324
|
none: false
|
314
325
|
requirements:
|
@@ -317,7 +328,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
317
328
|
version: '0'
|
318
329
|
segments:
|
319
330
|
- 0
|
320
|
-
hash: -
|
331
|
+
hash: -799618091743939836
|
321
332
|
requirements: []
|
322
333
|
rubyforge_project:
|
323
334
|
rubygems_version: 1.8.24
|
@@ -1,23 +0,0 @@
|
|
1
|
-
Ext.define('TM.view.plan.AssignablesWindow', {
|
2
|
-
extend: 'Ext.window.Window',
|
3
|
-
requires: ['TM.view.plan.SelectAssignables'],
|
4
|
-
xtype: 'plan_assignableswindow',
|
5
|
-
|
6
|
-
title: '选择执行人',
|
7
|
-
modal: true,
|
8
|
-
|
9
|
-
action: '',
|
10
|
-
|
11
|
-
width: 480,
|
12
|
-
height: 550,
|
13
|
-
|
14
|
-
layout: {
|
15
|
-
type: 'fit',
|
16
|
-
align: 'stretch'
|
17
|
-
},
|
18
|
-
|
19
|
-
items: [{
|
20
|
-
xtype: 'plan_selectassignables',
|
21
|
-
border: false
|
22
|
-
}]
|
23
|
-
});
|
@@ -1,189 +0,0 @@
|
|
1
|
-
Ext.define('TM.view.plan.Edit', {
|
2
|
-
extend: 'Ext.form.Panel',
|
3
|
-
xtype: 'plan_edit',
|
4
|
-
|
5
|
-
defaults: {
|
6
|
-
xtype: 'fieldset',
|
7
|
-
margin: '5 10'
|
8
|
-
},
|
9
|
-
|
10
|
-
assignees: [],
|
11
|
-
|
12
|
-
items: [{
|
13
|
-
id: 'editFillField',
|
14
|
-
title: '基本信息',
|
15
|
-
layout: {
|
16
|
-
type: 'table',
|
17
|
-
columns: 1
|
18
|
-
},
|
19
|
-
defaults: {
|
20
|
-
xtype: 'textfield',
|
21
|
-
labelAlign: 'right',
|
22
|
-
margin: '10 0',
|
23
|
-
width: 510
|
24
|
-
},
|
25
|
-
|
26
|
-
items: [{
|
27
|
-
fieldLabel: '计划名称',
|
28
|
-
name: 'name',
|
29
|
-
allowBlank: false
|
30
|
-
},{
|
31
|
-
fieldLabel: '计划执行人',
|
32
|
-
name: 'assignables',
|
33
|
-
id: 'editassignables',
|
34
|
-
readOnly: true
|
35
|
-
}, {
|
36
|
-
fieldLabel: '计划类型',
|
37
|
-
name: 'plan_type',
|
38
|
-
store: 'TM.store.Types',
|
39
|
-
editable: false,
|
40
|
-
valueField: 'value',
|
41
|
-
xtype: 'combo',
|
42
|
-
blankText: '请选择计划类型!',
|
43
|
-
allowBlank: false
|
44
|
-
}, {
|
45
|
-
fieldLabel: '横向指标',
|
46
|
-
name: 'dataX'
|
47
|
-
}, {
|
48
|
-
fieldLabel: '纵向指标',
|
49
|
-
name: 'dataY'
|
50
|
-
}, {
|
51
|
-
fieldLabel: '生效时间',
|
52
|
-
xtype: 'datefield',
|
53
|
-
editable: false,
|
54
|
-
anchor: '100%',
|
55
|
-
format: 'Y/m/d',
|
56
|
-
name: 'enabled_at',
|
57
|
-
id: 'editenabled_at'
|
58
|
-
}, {
|
59
|
-
fieldLabel: '完成前几天提醒',
|
60
|
-
id: 'edit_begin_to_remind',
|
61
|
-
emptyText: '计划完成前多少天开始提醒,此处为倒计时。',
|
62
|
-
value: '0',
|
63
|
-
name: 'begin_to_remind'
|
64
|
-
}, {
|
65
|
-
fieldLabel: '是否自动完成',
|
66
|
-
xtype: 'checkbox',
|
67
|
-
name: 'autocompletable'
|
68
|
-
}]
|
69
|
-
}, {
|
70
|
-
xtype: 'fieldset',
|
71
|
-
id: 'editSelectField',
|
72
|
-
title: '计划完成截至时限',
|
73
|
-
layout: {
|
74
|
-
type: 'table',
|
75
|
-
columns: 2
|
76
|
-
},
|
77
|
-
defaults: {
|
78
|
-
labelAlign: 'right',
|
79
|
-
},
|
80
|
-
items: [{
|
81
|
-
fieldLabel: '月',
|
82
|
-
id: 'edit_quarterly_month',
|
83
|
-
name: 'quarterly_month',
|
84
|
-
xtype: 'combo',
|
85
|
-
store: 'TM.store.QuarterlyMonths',
|
86
|
-
valueField: 'value',
|
87
|
-
editable: false
|
88
|
-
}, {
|
89
|
-
fieldLabel: '月',
|
90
|
-
id: 'edit_month',
|
91
|
-
name: 'month',
|
92
|
-
xtype: 'combo',
|
93
|
-
store: 'TM.store.Months',
|
94
|
-
valueField: 'value',
|
95
|
-
editable: false
|
96
|
-
}, {
|
97
|
-
fieldLabel: '日',
|
98
|
-
id: 'edit_weekly_day',
|
99
|
-
name: 'weekly_day',
|
100
|
-
store: 'TM.store.WeekDays',
|
101
|
-
valueField: 'value',
|
102
|
-
xtype: 'combo',
|
103
|
-
editable: false
|
104
|
-
}, {
|
105
|
-
fieldLabel: '日',
|
106
|
-
id: 'edit_day',
|
107
|
-
name: 'day',
|
108
|
-
store: 'TM.store.Days',
|
109
|
-
valueField: 'value',
|
110
|
-
xtype: 'combo',
|
111
|
-
editable: false
|
112
|
-
}, {
|
113
|
-
fieldLabel: '时',
|
114
|
-
id: 'edit_hour',
|
115
|
-
name: 'hour',
|
116
|
-
store: 'TM.store.Hours',
|
117
|
-
valueField: 'value',
|
118
|
-
xtype: 'combo',
|
119
|
-
editable: false
|
120
|
-
}, {
|
121
|
-
fieldLabel: '分',
|
122
|
-
id: 'edit_minute',
|
123
|
-
name: 'minute',
|
124
|
-
store: 'TM.store.Minutes',
|
125
|
-
valueField: 'value',
|
126
|
-
xtype: 'combo',
|
127
|
-
editable: false
|
128
|
-
}]
|
129
|
-
}],
|
130
|
-
|
131
|
-
buttons: [{
|
132
|
-
text: '更新',
|
133
|
-
formBind: true,
|
134
|
-
action: 'update'
|
135
|
-
}, {
|
136
|
-
text: '关闭',
|
137
|
-
action: 'close'
|
138
|
-
}],
|
139
|
-
|
140
|
-
showYearlyField: function() {
|
141
|
-
var fieldSet = this.getComponent('editSelectField');
|
142
|
-
fieldSet.getComponent('edit_quarterly_month').hide();
|
143
|
-
fieldSet.getComponent('edit_weekly_day').hide();
|
144
|
-
fieldSet.getComponent('edit_month').show();
|
145
|
-
fieldSet.getComponent('edit_day').show();
|
146
|
-
fieldSet.getComponent('edit_hour').show();
|
147
|
-
fieldSet.getComponent('edit_minute').show();
|
148
|
-
},
|
149
|
-
|
150
|
-
showMonthlyField: function() {
|
151
|
-
var fieldSet = this.getComponent('editSelectField');
|
152
|
-
fieldSet.getComponent('edit_quarterly_month').hide();
|
153
|
-
fieldSet.getComponent('edit_weekly_day').hide();
|
154
|
-
fieldSet.getComponent('edit_month').hide();
|
155
|
-
fieldSet.getComponent('edit_day').show();
|
156
|
-
fieldSet.getComponent('edit_hour').show();
|
157
|
-
fieldSet.getComponent('edit_minute').show();
|
158
|
-
},
|
159
|
-
|
160
|
-
showQuarterlyField: function() {
|
161
|
-
var fieldSet = this.getComponent('editSelectField');
|
162
|
-
fieldSet.getComponent('edit_quarterly_month').show();
|
163
|
-
fieldSet.getComponent('edit_weekly_day').hide();
|
164
|
-
fieldSet.getComponent('edit_month').hide();
|
165
|
-
fieldSet.getComponent('edit_day').show();
|
166
|
-
fieldSet.getComponent('edit_hour').show();
|
167
|
-
fieldSet.getComponent('edit_minute').show();
|
168
|
-
},
|
169
|
-
|
170
|
-
showWeeklyField: function() {
|
171
|
-
var fieldSet = this.getComponent('editSelectField');
|
172
|
-
fieldSet.getComponent('edit_quarterly_month').hide();
|
173
|
-
fieldSet.getComponent('edit_weekly_day').show();
|
174
|
-
fieldSet.getComponent('edit_month').hide();
|
175
|
-
fieldSet.getComponent('edit_day').hide();
|
176
|
-
fieldSet.getComponent('edit_hour').show();
|
177
|
-
fieldSet.getComponent('edit_minute').show();
|
178
|
-
},
|
179
|
-
|
180
|
-
showDailyField: function() {
|
181
|
-
var fieldSet = this.getComponent('editSelectField');
|
182
|
-
fieldSet.getComponent('edit_quarterly_month').hide();
|
183
|
-
fieldSet.getComponent('edit_weekly_day').hide();
|
184
|
-
fieldSet.getComponent('edit_month').hide();
|
185
|
-
fieldSet.getComponent('edit_day').hide();
|
186
|
-
fieldSet.getComponent('edit_hour').show();
|
187
|
-
fieldSet.getComponent('edit_minute').show();
|
188
|
-
}
|
189
|
-
});
|
@@ -1,21 +0,0 @@
|
|
1
|
-
Ext.define('TM.view.plan.EditWindow', {
|
2
|
-
extend: 'Ext.window.Window',
|
3
|
-
requires: ['TM.view.plan.Edit'],
|
4
|
-
xtype: 'plan_editwindow',
|
5
|
-
|
6
|
-
title: '修改计划',
|
7
|
-
modal: true,
|
8
|
-
|
9
|
-
width: 600,
|
10
|
-
height: 550,
|
11
|
-
|
12
|
-
layout: {
|
13
|
-
type: 'fit',
|
14
|
-
align: 'stretch'
|
15
|
-
},
|
16
|
-
|
17
|
-
items: [{
|
18
|
-
xtype: 'plan_edit',
|
19
|
-
border: false
|
20
|
-
}]
|
21
|
-
});
|
@@ -1,190 +0,0 @@
|
|
1
|
-
Ext.define('TM.view.plan.New', {
|
2
|
-
extend: 'Ext.form.Panel',
|
3
|
-
xtype: 'plan_new',
|
4
|
-
|
5
|
-
defaults: {
|
6
|
-
xtype: 'fieldset',
|
7
|
-
margin: '5 10'
|
8
|
-
},
|
9
|
-
|
10
|
-
assignees: [],
|
11
|
-
|
12
|
-
items: [{
|
13
|
-
id: 'fillField',
|
14
|
-
title: '基本信息',
|
15
|
-
layout: {
|
16
|
-
type: 'table',
|
17
|
-
columns: 1
|
18
|
-
},
|
19
|
-
defaults: {
|
20
|
-
xtype: 'textfield',
|
21
|
-
labelAlign: 'right',
|
22
|
-
margin: '10 0',
|
23
|
-
width: 510
|
24
|
-
},
|
25
|
-
|
26
|
-
items: [{
|
27
|
-
fieldLabel: '计划名称',
|
28
|
-
name: 'name',
|
29
|
-
allowBlank: false
|
30
|
-
},{
|
31
|
-
fieldLabel: '计划执行人',
|
32
|
-
name: 'assignables',
|
33
|
-
id: 'assignables',
|
34
|
-
readOnly: true
|
35
|
-
}, {
|
36
|
-
fieldLabel: '计划类型',
|
37
|
-
name: 'plan_type',
|
38
|
-
store: 'TM.store.Types',
|
39
|
-
editable: false,
|
40
|
-
valueField: 'value',
|
41
|
-
xtype: 'combo',
|
42
|
-
blankText: '请选择计划类型!',
|
43
|
-
allowBlank: false
|
44
|
-
}, {
|
45
|
-
fieldLabel: '横向指标',
|
46
|
-
name: 'dataX'
|
47
|
-
}, {
|
48
|
-
fieldLabel: '纵向指标',
|
49
|
-
name: 'dataY'
|
50
|
-
}, {
|
51
|
-
fieldLabel: '生效时间',
|
52
|
-
xtype: 'datefield',
|
53
|
-
editable: false,
|
54
|
-
anchor: '100%',
|
55
|
-
format: 'Y/m/d',
|
56
|
-
name: 'enabled_at',
|
57
|
-
id: 'enabled_at',
|
58
|
-
minValue: new Date()
|
59
|
-
}, {
|
60
|
-
fieldLabel: '完成前几天提醒',
|
61
|
-
id: 'new_begin_to_remind',
|
62
|
-
emptyText: '计划完成前多少天开始提醒,此处为倒计时。',
|
63
|
-
value: '0',
|
64
|
-
name: 'begin_to_remind'
|
65
|
-
}, {
|
66
|
-
fieldLabel: '是否自动完成',
|
67
|
-
xtype: 'checkbox',
|
68
|
-
name: 'autocompletable'
|
69
|
-
}]
|
70
|
-
}, {
|
71
|
-
xtype: 'fieldset',
|
72
|
-
id: 'selectField',
|
73
|
-
title: '计划完成截至时限',
|
74
|
-
layout: {
|
75
|
-
type: 'table',
|
76
|
-
columns: 2
|
77
|
-
},
|
78
|
-
defaults: {
|
79
|
-
labelAlign: 'right',
|
80
|
-
},
|
81
|
-
items: [{
|
82
|
-
fieldLabel: '月',
|
83
|
-
id: 'new_quarterly_month',
|
84
|
-
name: 'quarterly_month',
|
85
|
-
xtype: 'combo',
|
86
|
-
store: 'TM.store.QuarterlyMonths',
|
87
|
-
valueField: 'value',
|
88
|
-
editable: false
|
89
|
-
}, {
|
90
|
-
fieldLabel: '月',
|
91
|
-
id: 'new_month',
|
92
|
-
name: 'month',
|
93
|
-
xtype: 'combo',
|
94
|
-
store: 'TM.store.Months',
|
95
|
-
valueField: 'value',
|
96
|
-
editable: false
|
97
|
-
}, {
|
98
|
-
fieldLabel: '日',
|
99
|
-
id: 'new_weekly_day',
|
100
|
-
name: 'weekly_day',
|
101
|
-
store: 'TM.store.WeekDays',
|
102
|
-
valueField: 'value',
|
103
|
-
xtype: 'combo',
|
104
|
-
editable: false
|
105
|
-
}, {
|
106
|
-
fieldLabel: '日',
|
107
|
-
id: 'new_day',
|
108
|
-
name: 'day',
|
109
|
-
store: 'TM.store.Days',
|
110
|
-
valueField: 'value',
|
111
|
-
xtype: 'combo',
|
112
|
-
editable: false
|
113
|
-
}, {
|
114
|
-
fieldLabel: '时',
|
115
|
-
id: 'new_hour',
|
116
|
-
name: 'hour',
|
117
|
-
store: 'TM.store.Hours',
|
118
|
-
valueField: 'value',
|
119
|
-
xtype: 'combo',
|
120
|
-
editable: false
|
121
|
-
}, {
|
122
|
-
fieldLabel: '分',
|
123
|
-
id: 'new_minute',
|
124
|
-
name: 'minute',
|
125
|
-
store: 'TM.store.Minutes',
|
126
|
-
valueField: 'value',
|
127
|
-
xtype: 'combo',
|
128
|
-
editable: false
|
129
|
-
}]
|
130
|
-
}],
|
131
|
-
|
132
|
-
buttons: [{
|
133
|
-
text: '保存',
|
134
|
-
formBind: true,
|
135
|
-
action: 'save'
|
136
|
-
}, {
|
137
|
-
text: '重置',
|
138
|
-
action: 'reset'
|
139
|
-
}],
|
140
|
-
|
141
|
-
showYearlyField: function() {
|
142
|
-
var fieldSet = this.getComponent('selectField');
|
143
|
-
fieldSet.getComponent('new_quarterly_month').hide();
|
144
|
-
fieldSet.getComponent('new_weekly_day').hide();
|
145
|
-
fieldSet.getComponent('new_month').show();
|
146
|
-
fieldSet.getComponent('new_day').show();
|
147
|
-
fieldSet.getComponent('new_hour').show();
|
148
|
-
fieldSet.getComponent('new_minute').show();
|
149
|
-
},
|
150
|
-
|
151
|
-
showMonthlyField: function() {
|
152
|
-
var fieldSet = this.getComponent('selectField');
|
153
|
-
fieldSet.getComponent('new_quarterly_month').hide();
|
154
|
-
fieldSet.getComponent('new_weekly_day').hide();
|
155
|
-
fieldSet.getComponent('new_month').hide();
|
156
|
-
fieldSet.getComponent('new_day').show();
|
157
|
-
fieldSet.getComponent('new_hour').show();
|
158
|
-
fieldSet.getComponent('new_minute').show();
|
159
|
-
},
|
160
|
-
|
161
|
-
showQuarterlyField: function() {
|
162
|
-
var fieldSet = this.getComponent('selectField');
|
163
|
-
fieldSet.getComponent('new_quarterly_month').show();
|
164
|
-
fieldSet.getComponent('new_weekly_day').hide();
|
165
|
-
fieldSet.getComponent('new_month').hide();
|
166
|
-
fieldSet.getComponent('new_day').show();
|
167
|
-
fieldSet.getComponent('new_hour').show();
|
168
|
-
fieldSet.getComponent('new_minute').show();
|
169
|
-
},
|
170
|
-
|
171
|
-
showWeeklyField: function() {
|
172
|
-
var fieldSet = this.getComponent('selectField');
|
173
|
-
fieldSet.getComponent('new_quarterly_month').hide();
|
174
|
-
fieldSet.getComponent('new_weekly_day').show();
|
175
|
-
fieldSet.getComponent('new_month').hide();
|
176
|
-
fieldSet.getComponent('new_day').hide();
|
177
|
-
fieldSet.getComponent('new_hour').show();
|
178
|
-
fieldSet.getComponent('new_minute').show();
|
179
|
-
},
|
180
|
-
|
181
|
-
showDailyField: function() {
|
182
|
-
var fieldSet = this.getComponent('selectField');
|
183
|
-
fieldSet.getComponent('new_quarterly_month').hide();
|
184
|
-
fieldSet.getComponent('new_weekly_day').hide();
|
185
|
-
fieldSet.getComponent('new_month').hide();
|
186
|
-
fieldSet.getComponent('new_day').hide();
|
187
|
-
fieldSet.getComponent('new_hour').show();
|
188
|
-
fieldSet.getComponent('new_minute').show();
|
189
|
-
}
|
190
|
-
});
|