|
|
@@ -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,13 +158,13 @@ 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; //我的下属的任务
|
|
|
private int posItem; //当前为滑动到的哪个Viewpager
|
|
|
- List<Map<String, Object>> menusMap=new ArrayList<>();//菜单动态数据
|
|
|
-
|
|
|
+ List<Map<String, Object>> menusMap = new ArrayList<>();//菜单动态数据
|
|
|
+
|
|
|
private Handler handler = new Handler() {
|
|
|
@Override
|
|
|
public void handleMessage(Message msg) {
|
|
|
@@ -205,19 +203,19 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
}
|
|
|
break;
|
|
|
case 0x13:
|
|
|
- array = JSON.parseObject(message).getJSONArray("listdata");//获取到数据
|
|
|
- if (array!=null){
|
|
|
-
|
|
|
- for (int i=0;i<array.size();i++){
|
|
|
- JSONObject object=array.getJSONObject(i);
|
|
|
- String MM_CALLER= object.getString("MM_CALLER");
|
|
|
- String MM_NAME= object.getString("MM_NAME");
|
|
|
- Map<String,Object> temp=new LinkedHashMap<>();
|
|
|
- temp.put("item_name",MM_NAME);
|
|
|
- temp.put("item_caller",MM_CALLER);
|
|
|
+ array = JSON.parseObject(message).getJSONArray("listdata");//获取到数据
|
|
|
+ if (array != null) {
|
|
|
+
|
|
|
+ for (int i = 0; i < array.size(); i++) {
|
|
|
+ JSONObject object = array.getJSONObject(i);
|
|
|
+ String MM_CALLER = object.getString("MM_CALLER");
|
|
|
+ String MM_NAME = object.getString("MM_NAME");
|
|
|
+ Map<String, Object> temp = new LinkedHashMap<>();
|
|
|
+ temp.put("item_name", MM_NAME);
|
|
|
+ temp.put("item_caller", MM_CALLER);
|
|
|
menusMap.add(temp);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
@@ -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,14 @@ 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);
|
|
|
+ setCalenderOnClicklistener();
|
|
|
+ posItem = position;
|
|
|
+ calendarView.setDownIndex(day);
|
|
|
+ curDate = calendarView.getDownDate();
|
|
|
setDateTag(curDate);
|
|
|
if (CommonUtil.isNetWorkConnected(getApplication())) {
|
|
|
loadNetData(TimeUtils.ym_format.format(curDate));
|
|
|
@@ -479,7 +482,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<>();
|
|
|
curDate = new Date(System.currentTimeMillis());
|
|
|
meInt = new HashSet<>();
|
|
|
otherInt = new HashSet<>();
|
|
|
@@ -502,14 +504,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);
|
|
|
@@ -579,7 +580,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
ViewUtil.LoginERPTask(ct, handler, 0x16);
|
|
|
}
|
|
|
|
|
|
- private void getMenuData(){
|
|
|
+ private void getMenuData() {
|
|
|
String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/oa/getmenuconfig.action";
|
|
|
final Map<String, Object> param = new HashMap<>();
|
|
|
param.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
|
|
|
@@ -588,7 +589,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x13, null, null, "get");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
private void getDataByNet() {
|
|
|
progressDialog.show();
|
|
|
String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/crm/getstaffmsg.action";
|
|
|
@@ -603,7 +604,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
private void loadSuccess() {//下拉成功后添加到适配器
|
|
|
setAdapterBeans();
|
|
|
setDateToListener(isMe ? meInt : otherInt);
|
|
|
-
|
|
|
+ setCalenderOnClicklistener();
|
|
|
}
|
|
|
|
|
|
private void setAdapterBeans() {
|
|
|
@@ -611,7 +612,12 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
}
|
|
|
|
|
|
private void setAdapterBeans(List<OAModel> showModel) {
|
|
|
- if (ListUtils.isEmpty(showModel)) return;
|
|
|
+ if (ListUtils.isEmpty(showModel)) {
|
|
|
+ adapter.setModels(showModel);
|
|
|
+ adapter.notifyDataSetChanged();
|
|
|
+ emptyLayout.showEmpty();
|
|
|
+ return;
|
|
|
+ }
|
|
|
int ok = 0, size = 0;
|
|
|
List<OAModel> filterModels = new ArrayList<>();
|
|
|
for (OAModel e : showModel) {
|
|
|
@@ -638,20 +644,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 通过JSONObject获取开始时间,用于筛选
|
|
|
- *
|
|
|
- * @param object
|
|
|
- * @return
|
|
|
- */
|
|
|
- private long getTimeForObject(JSONObject object) {
|
|
|
- if (isB2b) {
|
|
|
- return OACheckUtil.getJsonLong(object, "mp_visittime", "mpd_arrivedate", "recorddate", "vr_startdate", "vr_enddate");
|
|
|
- }
|
|
|
- return TimeUtils.f_str_2_long(OACheckUtil.getJson2Text(object, "startdate", "vr_visittime", "mpd_arrivedate"));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
//弹出菜单
|
|
|
private PopupWindow popupWindow = null;
|
|
|
|
|
|
@@ -690,13 +682,13 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
intent = new Intent(ct, VisitReportAddActivity.class);
|
|
|
break;
|
|
|
default:
|
|
|
- String caller= (String)menusMap.get(position).get("item_caller");
|
|
|
- String name=(String)menusMap.get(position).get("item_name");
|
|
|
- LogUtil.d("caller:"+caller);
|
|
|
- intent=new Intent(ct,DataFormDetailActivity.class)
|
|
|
- .putExtra("caller",caller)
|
|
|
- .putExtra("title",name);
|
|
|
-
|
|
|
+ String caller = (String) menusMap.get(position).get("item_caller");
|
|
|
+ String name = (String) menusMap.get(position).get("item_name");
|
|
|
+ LogUtil.d("caller:" + caller);
|
|
|
+ intent = new Intent(ct, DataFormDetailActivity.class)
|
|
|
+ .putExtra("caller", caller)
|
|
|
+ .putExtra("title", name);
|
|
|
+
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
@@ -737,14 +729,14 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
}
|
|
|
map.put("item_name", "新增拜访报告");
|
|
|
list.add(map);
|
|
|
- if (menusMap!=null) {
|
|
|
+ if (menusMap != null) {
|
|
|
if (menusMap.size() != 0) {
|
|
|
for (int i = 0; i < menusMap.size(); i++) {
|
|
|
list.add(menusMap.get(i));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- menusMap=list;
|
|
|
+ menusMap = list;
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
@@ -772,8 +764,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();
|
|
|
@@ -786,17 +776,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) {
|
|
|
@@ -906,8 +885,27 @@ 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);
|
|
|
+ OACalendarView calendarView = getCalendarView();
|
|
|
+ if (calendarView != null)
|
|
|
+ calendarView.setDecoratDays(in);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setCalenderOnClicklistener() {
|
|
|
+ OACalendarView calendarView = getCalendarView();
|
|
|
+ if (calendarView != null)
|
|
|
+ calendarView.setDateListener(new OACalendarView.OnSelectDateListener() {
|
|
|
+ @Override
|
|
|
+ public void result(Date date) {
|
|
|
+ setClickDay(date);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private OACalendarView getCalendarView() {
|
|
|
+ if (calendarView == null && pagerAdapter != null && pagerAdapter.getmViews() != null) {
|
|
|
+ calendarView = pagerAdapter.getmViews().get(posItem);
|
|
|
+ }
|
|
|
+ return calendarView;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -924,30 +922,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 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();
|
|
|
@@ -961,12 +938,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);
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public boolean dispatchTouchEvent(MotionEvent ev) {
|
|
|
if (scrollable) {
|
|
|
@@ -998,4 +969,5 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
|
|
|
public interface OnTaskChangeListener {
|
|
|
void onChange(Set<Integer> in);
|
|
|
}
|
|
|
+
|
|
|
}
|