|
|
@@ -8,9 +8,6 @@ import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
import android.support.annotation.NonNull;
|
|
|
import android.support.annotation.Nullable;
|
|
|
-import android.support.v4.app.Fragment;
|
|
|
-import android.support.v4.app.FragmentManager;
|
|
|
-import android.support.v4.app.FragmentPagerAdapter;
|
|
|
import android.support.v4.view.ViewPager;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.Menu;
|
|
|
@@ -50,7 +47,7 @@ import com.xzjmyk.pm.activity.ui.erp.activity.WorkExtraActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.crm.VisitReportAddActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.form.DataFormDetailActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.adapter.oa.OAAdapter;
|
|
|
-import com.xzjmyk.pm.activity.ui.erp.fragment.CalendarFragmet;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.adapter.oa.OACalenderViewPagerAdapter;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.model.Employees;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.model.oa.OAModel;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
|
|
|
@@ -70,6 +67,7 @@ import com.xzjmyk.pm.activity.util.DisplayUtil;
|
|
|
import com.xzjmyk.pm.activity.util.PreferenceUtils;
|
|
|
import com.xzjmyk.pm.activity.util.TimeUtils;
|
|
|
import com.xzjmyk.pm.activity.view.MyListView;
|
|
|
+import com.xzjmyk.pm.activity.view.OACalendarView;
|
|
|
import com.xzjmyk.pm.activity.view.crouton.Crouton;
|
|
|
import com.xzjmyk.pm.activity.view.crouton.Style;
|
|
|
import com.xzjmyk.pm.activity.wxapi.ApiConfig;
|
|
|
@@ -160,7 +158,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
private List<OAModel> otherModels;
|
|
|
|
|
|
private OAAdapter adapter; //当前列表的数据
|
|
|
- private PagerAdapter pagerAdapter;//当前Viewpager适配器
|
|
|
+ private OACalenderViewPagerAdapter pagerAdapter;//当前Viewpager适配器
|
|
|
private Date curDate; //当前显示的日期 包含年月日信息
|
|
|
private Set<Integer> meInt; //我的任务
|
|
|
private Set<Integer> otherInt; //我的下属的任务
|
|
|
@@ -264,6 +262,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
private float moveY;
|
|
|
private boolean isB2b;
|
|
|
private String workDailyAdd;
|
|
|
+ private OACalendarView calendarView;
|
|
|
|
|
|
@Override
|
|
|
public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
@@ -430,10 +429,19 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
|
|
|
@Override
|
|
|
public void onPageSelected(int position) {
|
|
|
- posItem = position;
|
|
|
- curDate = date[position];
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
c.setTime(curDate);
|
|
|
+ int day = c.get(Calendar.DAY_OF_MONTH);
|
|
|
+ calendarView = pagerAdapter.getmViews().get(position);
|
|
|
+ calendarView.setDateListener(new OACalendarView.OnSelectDateListener() {
|
|
|
+ @Override
|
|
|
+ public void result(Date date) {
|
|
|
+ setClickDay(date);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ posItem = position;
|
|
|
+ calendarView.setDownIndex(day);
|
|
|
+ curDate = calendarView.getDownDate();
|
|
|
setDateTag(curDate);
|
|
|
if (CommonUtil.isNetWorkConnected(getApplication())) {
|
|
|
loadNetData(TimeUtils.ym_format.format(curDate));
|
|
|
@@ -479,8 +487,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
emptyLayout.setEmptyViewRes(R.layout.oa_empty_list);
|
|
|
adapter = new OAAdapter(ct, util, new ArrayList<OAModel>());
|
|
|
oa_listview.setAdapter(adapter);
|
|
|
- listenerMap = new HashMap<>();
|
|
|
- listenerDay = new HashMap<>();
|
|
|
curDate = new Date(System.currentTimeMillis());
|
|
|
meInt = new HashSet<>();
|
|
|
otherInt = new HashSet<>();
|
|
|
@@ -503,14 +509,13 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
//没有下属
|
|
|
}
|
|
|
loadNetData(String.valueOf(TimeUtils.ym_long_2_str(System.currentTimeMillis())));
|
|
|
- posItem = MAX_PAGER / 2;
|
|
|
- setDate();
|
|
|
+ posItem = OACalenderViewPagerAdapter.MAX_NUM / 2;
|
|
|
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) viewPager.getLayoutParams(); // 取控件mGrid当前的布局参数 搜索
|
|
|
linearParams.height = (getResources().getDisplayMetrics().heightPixels * 1 / 3);// 当控件的高强制设成50象素
|
|
|
viewPager.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件myGrid
|
|
|
- pagerAdapter = new PagerAdapter(getSupportFragmentManager());
|
|
|
+ pagerAdapter = new OACalenderViewPagerAdapter(ct);
|
|
|
viewPager.setAdapter(pagerAdapter);
|
|
|
- viewPager.setCurrentItem(MAX_PAGER / 2);
|
|
|
+ viewPager.setCurrentItem(OACalenderViewPagerAdapter.MAX_NUM / 2);
|
|
|
//判断是否是管理员
|
|
|
CommonInterface.getInstance().judgeManager(this);
|
|
|
CommonInterface.getInstance().getOutSetInfo(this);
|
|
|
@@ -778,8 +783,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
setAdapterBeans();
|
|
|
}
|
|
|
|
|
|
- private int MAX_PAGER = 30;
|
|
|
- private Date[] date = new Date[MAX_PAGER];
|
|
|
|
|
|
private void setDateTag(Date date) {
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
@@ -792,17 +795,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
week_tv.setText(TimeUtils.getWeek(TimeUtils.s_format.format(date)));
|
|
|
}
|
|
|
|
|
|
- private void setDate() {
|
|
|
- //当前天在 MAX_PAGER/2 位置
|
|
|
- Calendar c = Calendar.getInstance();
|
|
|
- Date date = new Date();
|
|
|
- for (int i = 0; i < MAX_PAGER; i++) {
|
|
|
- c.setTime(date);
|
|
|
- c.add(Calendar.MONTH, i - (MAX_PAGER / 2));
|
|
|
- c.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
- this.date[i] = c.getTime();
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
@@ -912,8 +904,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
}
|
|
|
|
|
|
public void setDateToListener(Set<Integer> in) {
|
|
|
- if (listenerMap.containsKey(TimeUtils.ym_format.format(curDate)) && listenerMap.get(TimeUtils.ym_format.format(curDate)) != null)
|
|
|
- listenerMap.get(TimeUtils.ym_format.format(curDate)).onChange(in);
|
|
|
+ if (calendarView == null) {
|
|
|
+ calendarView = pagerAdapter.getmViews().get(posItem);
|
|
|
+ }
|
|
|
+ calendarView.setDecoratDays(in);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -930,39 +924,9 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- class PagerAdapter extends FragmentPagerAdapter {
|
|
|
-
|
|
|
- public PagerAdapter(FragmentManager fm) {
|
|
|
- super(fm);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Fragment getItem(int position) {
|
|
|
- return CalendarFragmet.getInstance(date[position]);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setPrimaryItem(ViewGroup container, int position, Object object) {
|
|
|
- super.setPrimaryItem(container, position, object);
|
|
|
-// if (listenerDay.containsKey(TimeUtils.ym_format.format(curDate)) && listenerDay.get(TimeUtils.ym_format.format(curDate)) != null)
|
|
|
-// listenerDay.get(TimeUtils.ym_format.format(curDate)).onChange(in);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getCount() {
|
|
|
- return MAX_PAGER;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
/*当点击了指定日期(点击日期、滑动时候触发)*/
|
|
|
public void setClickDay(Date date) {
|
|
|
- if (this.date != null && this.date.length > posItem) {
|
|
|
- this.date[posItem] = date;
|
|
|
- Calendar c = Calendar.getInstance();
|
|
|
- c.setTime(this.date[posItem]);
|
|
|
- }
|
|
|
curDate = date;
|
|
|
setDateTag(date);
|
|
|
setAdapterBeans();
|
|
|
@@ -976,16 +940,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
}
|
|
|
|
|
|
|
|
|
- private Map<String, OnTaskChangeListener> listenerMap;
|
|
|
-
|
|
|
- public void setListener(String key, OnTaskChangeListener listener) {
|
|
|
- listenerMap.put(key, listener);
|
|
|
- }
|
|
|
- private Map<String, OnDayChangeListener> listenerDay;
|
|
|
- public void selectDayListener(String key, OnDayChangeListener listener){
|
|
|
- listenerDay.put(key,listener);
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public boolean dispatchTouchEvent(MotionEvent ev) {
|
|
|
if (scrollable) {
|
|
|
@@ -1017,7 +971,5 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
public interface OnTaskChangeListener {
|
|
|
void onChange(Set<Integer> in);
|
|
|
}
|
|
|
- public interface OnDayChangeListener {
|
|
|
- void onChange(int day);
|
|
|
- }
|
|
|
+
|
|
|
}
|