24
24
import net .coding .program .message .JSONUtils ;
25
25
import net .coding .program .model .AccountInfo ;
26
26
import net .coding .program .model .ProjectObject ;
27
+ import net .coding .program .model .ProjectTaskCountModel ;
28
+ import net .coding .program .model .ProjectTaskUserCountModel ;
27
29
import net .coding .program .model .TaskLabelModel ;
28
30
import net .coding .program .model .TaskObject ;
29
31
import net .coding .program .model .TaskProjectCountModel ;
32
+ import net .coding .program .model .UserObject ;
30
33
import net .coding .program .task .TaskListParentUpdate ;
31
34
import net .coding .program .task .TaskListUpdate ;
32
35
import net .coding .program .task .add .TaskAddActivity ;
@@ -77,6 +80,7 @@ public class ProjectTaskFragment extends TaskFilterFragment implements TaskListP
77
80
MemberTaskCount mMemberTask = new MemberTaskCount ();
78
81
private MyPagerAdapter adapter ;
79
82
private DrawerLayout drawer ;
83
+ private UserObject account ;
80
84
81
85
@ AfterViews
82
86
protected final void initProjectTaskFragment () {
@@ -87,11 +91,29 @@ protected final void initProjectTaskFragment() {
87
91
tabs .setLayoutInflater (mInflater );
88
92
tabs .setVisibility (View .INVISIBLE );
89
93
94
+ account = AccountInfo .loadAccount (getActivity ());
95
+
90
96
HOST_TASK_MEMBER = String .format (HOST_TASK_MEMBER , mProjectObject .getId ());
91
97
refresh ();
92
98
93
99
adapter = new MyPagerAdapter (getChildFragmentManager ());
94
100
pager .setAdapter (adapter );
101
+ pager .addOnPageChangeListener (new ViewPager .OnPageChangeListener () {
102
+ @ Override
103
+ public void onPageScrolled (int position , float positionOffset , int positionOffsetPixels ) {
104
+
105
+ }
106
+
107
+ @ Override
108
+ public void onPageSelected (int position ) {
109
+ loadData (position );
110
+ }
111
+
112
+ @ Override
113
+ public void onPageScrollStateChanged (int state ) {
114
+
115
+ }
116
+ });
95
117
96
118
// 必须添加,否则回收恢复的时候,TaskListFragment 的 actionmenu 会显示几个出来
97
119
setHasOptionsMenu (true );
@@ -106,10 +128,51 @@ protected void initFilterViews() {
106
128
toolBarTitle .setOnClickListener (v -> {
107
129
meActionFilter ();
108
130
});
109
- toolBarTitle .setText ("我的任务" );
131
+ toolBarTitle .setText ("全部任务" );
132
+ }
133
+
134
+
135
+ loadData (0 );
136
+ }
137
+
138
+ @ Override
139
+ protected boolean isProjectInner () {
140
+ return true ;
141
+ }
142
+
143
+ private void loadData (int index ) {
144
+
145
+ mTaskProjectCountModel = new TaskProjectCountModel ();
146
+
147
+ if (index == 0 ) {
148
+ //全部成员
149
+ //「全部任务」数量 - 进行中,已完成的 「我创建的」数量 = create
150
+ getNetwork (String .format (urlProjectTaskCount , mProjectObject .getId ()), urlProjectTaskCount );
151
+ getNetwork (String .format (urlALL_Count , mProjectObject .getId ()), urlALL_Count );
152
+ getNetwork (String .format (urlALL_WATCH_Count , mProjectObject .getId (), account .id ), urlALL_WATCH_Count );
153
+
154
+ loadAllLabels ();
155
+ } else {
156
+ TaskObject .Members members = mMembersAll .get (index );
157
+
158
+ //某个成员
159
+ getNetwork (String .format (urlSome_Count , mProjectObject .getId (), members .user_id ), urlSome_Count );
160
+ getNetwork (String .format (urlSome_Label , mProjectObject .getId (), members .user_id ), urlSome_Label );
161
+ }
162
+ }
163
+
164
+ private void loadAllLabels () {
165
+ int cur = tabs .getCurrentPosition ();
166
+ if (cur != 0 ) {
167
+ TaskObject .Members members = mMembersAll .get (cur );
168
+ getNetwork (String .format (urlSome_Label , mProjectObject .getId (), members .user_id ), urlSome_Label );
169
+ } else {
170
+ if (statusIndex == 0 ) {
171
+ getNetwork (String .format (urlALL_Label , mProjectObject .owner_user_name , mProjectObject .name ), urlALL_Label );
172
+ } else {
173
+ getNetwork (String .format (urlProjectTaskLabels , mProjectObject .getId ()) + getRole (), urlProjectTaskLabels );
174
+ }
110
175
}
111
- getNetwork (String .format (urlProjectTaskCount , mProjectObject .getId ()), urlProjectTaskCount );
112
- getNetwork (String .format (urlProjectTaskLabels , mProjectObject .getId ()) + getRole (), urlProjectTaskLabels );
113
176
}
114
177
115
178
private void refresh () {
@@ -173,7 +236,29 @@ public void parseJson(int code, JSONObject respanse, String tag, int pos, Object
173
236
} else if (tag .equals (urlProjectTaskCount )) {
174
237
showLoading (false );
175
238
if (code == 0 ) {
176
- mTaskProjectCountModel = JSONUtils .getData (respanse .getString ("data" ), TaskProjectCountModel .class );
239
+ TaskProjectCountModel projectTaskCountModel = JSONUtils .getData (respanse .getString ("data" ), TaskProjectCountModel .class );
240
+ mTaskProjectCountModel .creatorDone = projectTaskCountModel .creatorDone ;
241
+ mTaskProjectCountModel .creatorProcessing = projectTaskCountModel .creatorProcessing ;
242
+ mTaskProjectCountModel .watcherDone = projectTaskCountModel .watcherDone ;
243
+ mTaskProjectCountModel .watcherProcessing = projectTaskCountModel .watcherProcessing ;
244
+ } else {
245
+ showErrorMsg (code , respanse );
246
+ }
247
+ } else if (tag .equals (urlALL_Count )) {
248
+ showLoading (false );
249
+ if (code == 0 ) {
250
+ ProjectTaskCountModel projectTaskCountModel = JSONUtils .getData (respanse .getString ("data" ), ProjectTaskCountModel .class );
251
+ mTaskProjectCountModel .owner = projectTaskCountModel .done + projectTaskCountModel .processing ;
252
+ mTaskProjectCountModel .ownerDone = projectTaskCountModel .done ;
253
+ mTaskProjectCountModel .ownerProcessing = projectTaskCountModel .processing ;
254
+ mTaskProjectCountModel .creator = projectTaskCountModel .create ;
255
+ } else {
256
+ showErrorMsg (code , respanse );
257
+ }
258
+ } else if (tag .equals (urlALL_WATCH_Count )) {
259
+ showLoading (false );
260
+ if (code == 0 ) {
261
+ mTaskProjectCountModel .watcher = JSONUtils .getJSONLong ("totalRow" , respanse .getString ("data" ));
177
262
} else {
178
263
showErrorMsg (code , respanse );
179
264
}
@@ -185,6 +270,41 @@ public void parseJson(int code, JSONObject respanse, String tag, int pos, Object
185
270
} else {
186
271
showErrorMsg (code , respanse );
187
272
}
273
+ } else if (tag .equals (urlALL_Label )) {
274
+ showLoading (false );
275
+ if (code == 0 ) {
276
+ taskLabelModels = JSONUtils .getList (respanse .getString ("data" ), TaskLabelModel .class );
277
+ Collections .sort (taskLabelModels , new PinyinComparator ());
278
+ } else {
279
+ showErrorMsg (code , respanse );
280
+ }
281
+ } else if (tag .equals (urlSome_Count )) {
282
+ showLoading (false );
283
+ if (code == 0 ) {
284
+ ProjectTaskUserCountModel item = JSONUtils .getData (respanse .getString ("data" ), ProjectTaskUserCountModel .class );
285
+
286
+ mTaskProjectCountModel .owner = item .memberDone + item .memberProcessing ;
287
+ mTaskProjectCountModel .ownerDone = item .memberDone ;
288
+ mTaskProjectCountModel .ownerProcessing = item .memberProcessing ;
289
+
290
+ mTaskProjectCountModel .creatorDone = item .creatorDone ;
291
+ mTaskProjectCountModel .creator = item .creatorDone + item .creatorProcessing ;
292
+ mTaskProjectCountModel .creatorProcessing = item .creatorProcessing ;
293
+
294
+ mTaskProjectCountModel .watcher = item .watcherDone + item .watcherProcessing ;
295
+ mTaskProjectCountModel .watcherDone = item .watcherDone ;
296
+ mTaskProjectCountModel .watcherProcessing = item .watcherProcessing ;
297
+ } else {
298
+ showErrorMsg (code , respanse );
299
+ }
300
+ } else if (tag .equals (urlSome_Label )) {
301
+ showLoading (false );
302
+ if (code == 0 ) {
303
+ taskLabelModels = JSONUtils .getList (respanse .getString ("data" ), TaskLabelModel .class );
304
+ Collections .sort (taskLabelModels , new PinyinComparator ());
305
+ } else {
306
+ showErrorMsg (code , respanse );
307
+ }
188
308
}
189
309
190
310
}
@@ -311,9 +431,17 @@ public Fragment getItem(int position) {
311
431
bundle .putSerializable ("mMembersArray" , mUsersInfo );
312
432
bundle .putSerializable ("mMemberPos" , position );
313
433
bundle .putBoolean ("mShowAdd" , true );
314
- // bundle.putString("mMeAction", "");
315
- // bundle.putString("mStatus", "");
316
- // bundle.putString("mLabel", "");
434
+
435
+ bundle .putString ("mMeAction" , mMeActions [statusIndex ]);
436
+ if (mFilterModel != null ) {
437
+ bundle .putString ("mStatus" , mFilterModel .status + "" );
438
+ bundle .putString ("mLabel" , mFilterModel .label );
439
+ bundle .putString ("mKeyword" , mFilterModel .keyword );
440
+ } else {
441
+ bundle .putString ("mStatus" , "" );
442
+ bundle .putString ("mLabel" , "" );
443
+ bundle .putString ("mKeyword" , "" );
444
+ }
317
445
fragment .setParent (ProjectTaskFragment .this );
318
446
319
447
fragment .setArguments (bundle );
@@ -346,6 +474,6 @@ protected final void action_filter() {
346
474
@ Override
347
475
protected void sureFilter () {
348
476
super .sureFilter ();
349
- getNetwork ( String . format ( urlProjectTaskLabels , mProjectObject . getId ()) + getRole (), urlProjectTaskLabels );
477
+ loadAllLabels ( );
350
478
}
351
479
}
0 commit comments