|
|
@@ -288,29 +288,25 @@ public class AerationDetailFragment extends BaseListFragment<FragmentAerationDet
|
|
288
|
288
|
mBinding.tvSubmit.setText("保存并提交审批");
|
|
289
|
289
|
} else {
|
|
290
|
290
|
// 切换按钮显示
|
|
291
|
|
- String flowId = item.getFlowId();
|
|
292
|
|
- mFinish = true;
|
|
293
|
|
- for (DetailItemBean bean : mAdapter.getData()) {
|
|
294
|
|
- if (bean.getFlowId().equals(flowId)) {
|
|
295
|
|
- // 选中项为空时 是暂存
|
|
296
|
|
- String selectIndex = bean.getSelectIndex();
|
|
297
|
|
- if (selectIndex == null || selectIndex.equals("-1")) {
|
|
298
|
|
- mFinish = false;
|
|
299
|
|
- break;
|
|
300
|
|
- }
|
|
301
|
|
- }
|
|
302
|
|
- }
|
|
|
291
|
+ showButton(item.getFlowId());
|
|
|
292
|
+ }
|
|
|
293
|
+ }
|
|
303
|
294
|
|
|
304
|
|
- if (mFinish) {
|
|
305
|
|
- // 显示提交
|
|
306
|
|
- mBinding.tvSave.setVisibility(View.GONE);
|
|
307
|
|
- mBinding.tvSubmit.setVisibility(View.VISIBLE);
|
|
308
|
|
- mBinding.tvSubmit.setText("保存并提交");
|
|
309
|
|
- } else {
|
|
310
|
|
- // 显示暂存
|
|
311
|
|
- mBinding.tvSave.setVisibility(View.VISIBLE);
|
|
312
|
|
- mBinding.tvSubmit.setVisibility(View.GONE);
|
|
313
|
|
- }
|
|
|
295
|
+ /**
|
|
|
296
|
+ * 根据流程id 判断底部按钮的显示
|
|
|
297
|
+ *
|
|
|
298
|
+ * @param flowId
|
|
|
299
|
+ */
|
|
|
300
|
+ public void showButton(String flowId) {
|
|
|
301
|
+ if (isStepSelectFinish(flowId)) {
|
|
|
302
|
+ // 选项已全选 保存并提交
|
|
|
303
|
+ mBinding.tvSave.setVisibility(View.GONE);
|
|
|
304
|
+ mBinding.tvSubmit.setVisibility(View.VISIBLE);
|
|
|
305
|
+ mBinding.tvSubmit.setText("保存并提交");
|
|
|
306
|
+ } else {
|
|
|
307
|
+ // 选项未全选 暂存
|
|
|
308
|
+ mBinding.tvSave.setVisibility(View.VISIBLE);
|
|
|
309
|
+ mBinding.tvSubmit.setVisibility(View.GONE);
|
|
314
|
310
|
}
|
|
315
|
311
|
}
|
|
316
|
312
|
|
|
|
@@ -334,9 +330,6 @@ public class AerationDetailFragment extends BaseListFragment<FragmentAerationDet
|
|
334
|
330
|
subList.add(map);
|
|
335
|
331
|
}
|
|
336
|
332
|
|
|
337
|
|
- // 流程索引
|
|
338
|
|
- int ongoingStep = mStepAdapter.getMaxClickIndex();
|
|
339
|
|
-
|
|
340
|
333
|
showProgress("正在提交...", false);
|
|
341
|
334
|
if (mPageType.equals("add")) {
|
|
342
|
335
|
ProcessModel.get().add(
|
|
|
@@ -346,31 +339,30 @@ public class AerationDetailFragment extends BaseListFragment<FragmentAerationDet
|
|
346
|
339
|
depotId,
|
|
347
|
340
|
user.getUid(),
|
|
348
|
341
|
user.getUid(),
|
|
349
|
|
- String.valueOf(ongoingStep),
|
|
|
342
|
+ "0",
|
|
350
|
343
|
mDataCallBack);
|
|
351
|
344
|
} else {
|
|
352
|
345
|
|
|
353
|
346
|
// 进行中
|
|
354
|
347
|
String auditState = "3";
|
|
355
|
348
|
// 当前最大可见流程
|
|
356
|
|
- ongoingStep = mStepAdapter.getMaxClickIndex();
|
|
|
349
|
+ String ongoingStep = mBean.getOngoingStep();
|
|
357
|
350
|
|
|
358
|
|
- // 保存并提交时
|
|
359
|
|
- if (mFinish) {
|
|
360
|
|
- if (ongoingStep < mStepAdapter.getData().size() - 1) {
|
|
361
|
|
- // 不是最后一个流程
|
|
|
351
|
+ // 取出最高可见流程id
|
|
|
352
|
+ int maxClickIndex = mStepAdapter.getMaxClickIndex();
|
|
|
353
|
+ String id = mStepAdapter.getData().get(maxClickIndex).id;
|
|
|
354
|
+ if (isStepSelectFinish(id)) {
|
|
|
355
|
+ // 保存并提交 最大可见流程
|
|
362
|
356
|
|
|
363
|
|
- // 状态 3=进行中
|
|
364
|
|
- auditState = "3";
|
|
365
|
|
- // 索引传下个流程索引
|
|
366
|
|
- if (mStepAdapter.getCurrentIndex() == mStepAdapter.getMaxClickIndex())
|
|
367
|
|
- ongoingStep = mStepAdapter.getMaxClickIndex() + 1;
|
|
368
|
|
- } else {
|
|
|
357
|
+ if (Integer.parseInt(ongoingStep) == mStepAdapter.getData().size() - 1) {
|
|
369
|
358
|
// 最后一个流程
|
|
370
|
359
|
// 状态 4=已完成
|
|
371
|
360
|
auditState = "4";
|
|
372
|
|
- // 索引 当前流程
|
|
373
|
|
- ongoingStep = mStepAdapter.getMaxClickIndex();
|
|
|
361
|
+ } else {
|
|
|
362
|
+ // 不是最后一个流程
|
|
|
363
|
+ // 流程索引+1
|
|
|
364
|
+ int index = Integer.parseInt(ongoingStep) + 1;
|
|
|
365
|
+ ongoingStep = String.valueOf(index);
|
|
374
|
366
|
}
|
|
375
|
367
|
}
|
|
376
|
368
|
|
|
|
@@ -385,6 +377,27 @@ public class AerationDetailFragment extends BaseListFragment<FragmentAerationDet
|
|
385
|
377
|
|
|
386
|
378
|
}
|
|
387
|
379
|
|
|
|
380
|
+
|
|
|
381
|
+ /**
|
|
|
382
|
+ * 最高流程的所有选项
|
|
|
383
|
+ * 是否已全部选中
|
|
|
384
|
+ *
|
|
|
385
|
+ * @return true=已全部选中 false=有未选中项
|
|
|
386
|
+ */
|
|
|
387
|
+ public boolean isStepSelectFinish(String flowId) {
|
|
|
388
|
+ // 判断流程是否完成
|
|
|
389
|
+ for (DetailItemBean item : mAdapter.getData()) {
|
|
|
390
|
+ if (item.getFlowId().equals(flowId)) {
|
|
|
391
|
+ // 流程选项
|
|
|
392
|
+ if (item.getSelectIndex() == null)
|
|
|
393
|
+ // 有未选中项
|
|
|
394
|
+ return false;
|
|
|
395
|
+ }
|
|
|
396
|
+ }
|
|
|
397
|
+ // 全部选中
|
|
|
398
|
+ return true;
|
|
|
399
|
+ }
|
|
|
400
|
+
|
|
388
|
401
|
DataCallBack mDataCallBack = new DataCallBack<String>() {
|
|
389
|
402
|
@Override
|
|
390
|
403
|
public void onSuccess(String data) {
|
|
|
@@ -404,10 +417,24 @@ public class AerationDetailFragment extends BaseListFragment<FragmentAerationDet
|
|
404
|
417
|
}
|
|
405
|
418
|
};
|
|
406
|
419
|
|
|
|
420
|
+ /**
|
|
|
421
|
+ * 顶部流程切换监听
|
|
|
422
|
+ *
|
|
|
423
|
+ * @param item
|
|
|
424
|
+ */
|
|
407
|
425
|
@Override
|
|
408
|
426
|
public void onSwitchListener(ProcessStepBean item) {
|
|
409
|
427
|
// 流程切换回调方法
|
|
410
|
428
|
mAdapter.setFlowId(item.id);
|
|
|
429
|
+ mBinding.recyclerView.scrollToPosition(0);
|
|
|
430
|
+
|
|
|
431
|
+ if (mStepAdapter.getCurrentIndex() == 0 && !mPageType.equals("add")) {
|
|
|
432
|
+ // 非新增页 的第一个流程 隐藏提交按钮
|
|
|
433
|
+ mBinding.tvSave.setVisibility(View.GONE);
|
|
|
434
|
+ mBinding.tvSubmit.setVisibility(View.GONE);
|
|
|
435
|
+ } else
|
|
|
436
|
+ // 切换底部按钮的显示
|
|
|
437
|
+ showButton(item.id);
|
|
411
|
438
|
}
|
|
412
|
439
|
|
|
413
|
440
|
|