|
|
@@ -1,9 +1,7 @@
|
|
|
package com.xzjmyk.pm.activity.ui.erp.activity.oa;
|
|
|
|
|
|
-import android.annotation.TargetApi;
|
|
|
import android.content.DialogInterface;
|
|
|
import android.content.Intent;
|
|
|
-import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
@@ -13,19 +11,20 @@ import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
-import android.widget.AdapterView;
|
|
|
-import android.widget.ArrayAdapter;
|
|
|
import android.widget.BaseAdapter;
|
|
|
+import android.widget.ImageView;
|
|
|
import android.widget.LinearLayout;
|
|
|
-import android.widget.PopupMenu;
|
|
|
import android.widget.ScrollView;
|
|
|
-import android.widget.Spinner;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.lidroid.xutils.ViewUtils;
|
|
|
import com.lidroid.xutils.view.annotation.ViewInject;
|
|
|
import com.xzjmyk.pm.activity.R;
|
|
|
import com.xzjmyk.pm.activity.bean.oa.MeetUserEntity;
|
|
|
+import com.xzjmyk.pm.activity.bean.oa.OABean;
|
|
|
import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.ErpMenActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.crm.TaskAddActivity;
|
|
|
@@ -33,31 +32,19 @@ import com.xzjmyk.pm.activity.ui.erp.activity.crm.VisitReportAddActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.crm.VisitReportPlanActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
|
|
|
-import com.xzjmyk.pm.activity.util.JsonUtils;
|
|
|
import com.xzjmyk.pm.activity.util.TimeUtils;
|
|
|
import com.xzjmyk.pm.activity.util.ToastUtil;
|
|
|
import com.xzjmyk.pm.activity.view.CalendarView;
|
|
|
import com.xzjmyk.pm.activity.view.MyListView;
|
|
|
|
|
|
-import org.json.JSONException;
|
|
|
-import org.json.JSONObject;
|
|
|
-
|
|
|
-import java.util.Calendar;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
-import java.util.HashSet;
|
|
|
import java.util.LinkedHashMap;
|
|
|
-import java.util.List;
|
|
|
import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
-
|
|
|
-public class OAActivity extends BaseActivity implements View.OnClickListener, AdapterView.OnItemSelectedListener {
|
|
|
- private static final int whatVisit = 0x10,//拜访报告接口
|
|
|
- whatTask = 0x11, //任务接口
|
|
|
- whatSchedule = 0x12,//日程接口
|
|
|
- whatTaskNum = 0x13;//获取选中日期完成任务情况接口
|
|
|
- private static String[] stateItems = {"确认中", "进行中", "已完成"};
|
|
|
- private static String[] typeItems = {"类型", "任务", "日程", "拜访"};
|
|
|
+
|
|
|
+public class OAActivity extends BaseActivity implements View.OnClickListener {
|
|
|
+ private final int WHAT_LOAD = 0x11;
|
|
|
private static String baseUrl;
|
|
|
@ViewInject(R.id.oa_rl_choose)
|
|
|
private LinearLayout oa_rl_choose;
|
|
|
@@ -67,10 +54,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
private CalendarView picker;
|
|
|
@ViewInject(R.id.oa_listview)
|
|
|
private MyListView listview;
|
|
|
- @ViewInject(R.id.state)
|
|
|
- private Spinner state;
|
|
|
- @ViewInject(R.id.type)
|
|
|
- private Spinner type;
|
|
|
@ViewInject(R.id.all_task_num)
|
|
|
private TextView all_task_num; //所有任务个数
|
|
|
@ViewInject(R.id.ok_task_num)
|
|
|
@@ -83,112 +66,43 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
private TextView date_tv; //当前月份
|
|
|
@ViewInject(R.id.my_client_log)
|
|
|
private TextView my_client_log; //我的下属签到日志
|
|
|
- @ViewInject(R.id.my_log)
|
|
|
- private TextView my_log; //我的工作日志
|
|
|
@ViewInject(R.id.my_client_log_tag)
|
|
|
private View my_client_log_tag;//我的下属工作日志标识
|
|
|
@ViewInject(R.id.my_log_tag)
|
|
|
private View my_log_tag;//我的工作日志标识
|
|
|
- private int typeWhat = -1;
|
|
|
- private Set<Integer> set;
|
|
|
- private String date;
|
|
|
- private List<Map<String, Object>> taskList;//任务列表
|
|
|
- private List<Map<String, Object>> visitList;//拜访列表
|
|
|
- private List<Map<String, Object>> scheduleList;//日程列表
|
|
|
- private MyListViewAdapter adapter; //
|
|
|
|
|
|
+ private MyListViewAdapter adapter;
|
|
|
+ private ArrayList<OABean> beans;
|
|
|
private Handler handler = new Handler() {
|
|
|
@Override
|
|
|
public void handleMessage(Message msg) {
|
|
|
progressDialog.dismiss();
|
|
|
String message = (String) msg.getData().get("result");
|
|
|
switch (msg.what) {
|
|
|
- case whatVisit:
|
|
|
- try {
|
|
|
- JSONObject json = new JSONObject(message);
|
|
|
- if (json.isNull("success") || !json.getBoolean("success")) {
|
|
|
- ToastUtil.showToast(ct, "数据返回错误");
|
|
|
- return;
|
|
|
- }
|
|
|
- visitList = JsonUtils.parseListKeyMaps("visitplan", message);
|
|
|
- addTaskDate("vp_status", visitList);
|
|
|
- updateUI();
|
|
|
- } catch (JSONException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- break;
|
|
|
- case whatTask:
|
|
|
- try {
|
|
|
- JSONObject json = new JSONObject(message);
|
|
|
- if (json.isNull("success") || !json.getBoolean("success")) {
|
|
|
- ToastUtil.showToast(ct, "数据返回错误");
|
|
|
- return;
|
|
|
- }
|
|
|
- taskList = JsonUtils.parseListKeyMaps("taskMsg", message);
|
|
|
- addTaskDate("status", taskList);
|
|
|
- updateUI();
|
|
|
- } catch (JSONException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- break;
|
|
|
- case whatSchedule:
|
|
|
- try {
|
|
|
- JSONObject json = new JSONObject(message);
|
|
|
- if (json.isNull("success") || !json.getBoolean("success")) {
|
|
|
- ToastUtil.showToast(ct, "数据返回错误");
|
|
|
- return;
|
|
|
- }
|
|
|
- scheduleList = JsonUtils.parseListKeyMaps("scheduleMsg", message);
|
|
|
- addTaskDate("status", scheduleList);
|
|
|
- updateUI();
|
|
|
- } catch (JSONException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- break;
|
|
|
- case whatTaskNum:
|
|
|
- try {
|
|
|
- JSONObject json = new JSONObject(message);
|
|
|
- if (json.isNull("success") || !json.getBoolean("success")) return;
|
|
|
- if (!json.isNull("taskAndScheMsg")) {
|
|
|
- JSONObject object = json.getJSONObject("taskAndScheMsg");
|
|
|
- int notcomplnum = object.isNull("notcomplnum") ? 0 : object.getInt("notcomplnum");
|
|
|
- int completenum = object.isNull("completenum") ? 0 : object.getInt("completenum");
|
|
|
- int complrate = object.isNull("complrate") ? 0 : object.getInt("complrate");
|
|
|
- int taskandschenum = object.isNull("taskandschenum") ? 0 : object.getInt("taskandschenum");
|
|
|
- updateUI(notcomplnum, completenum, complrate, taskandschenum);
|
|
|
- }
|
|
|
- } catch (JSONException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
+ case WHAT_LOAD:
|
|
|
+ JSONObject jsonObject = JSON.parseObject(message);
|
|
|
+ if (jsonObject.isEmpty()) return;
|
|
|
+ JSONArray jsonTask = jsonObject.containsKey("task") ? null : jsonObject.getJSONArray("task");
|
|
|
+ JSONArray jsonSchedule = jsonObject.containsKey("schedule") ? null : jsonObject.getJSONArray("schedule");
|
|
|
+ JSONArray jsonVisitPlan = jsonObject.containsKey("visitPlan") ? null : jsonObject.getJSONArray("visitPlan");
|
|
|
+ if (jsonTask != null && jsonTask.size() > 0)
|
|
|
+ beans.addAll(JSON.parseArray(jsonTask.toJSONString(), OABean.class));
|
|
|
+ if (jsonSchedule != null && jsonSchedule.size() > 0)
|
|
|
+ beans.addAll(JSON.parseArray(jsonSchedule.toJSONString(), OABean.class));
|
|
|
+ if (jsonVisitPlan != null && jsonVisitPlan.size() > 0)
|
|
|
+ beans.addAll(JSON.parseArray(jsonVisitPlan.toJSONString(), OABean.class));
|
|
|
+
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- private void addTaskDate(String status, List<Map<String, Object>> list) {
|
|
|
- if (set == null)
|
|
|
- set = new HashSet();
|
|
|
- for (Map<String, Object> en : list) {
|
|
|
- if (en.get(status) == null || "null".equals(en.get(status) + "") || "FINISHED".equals(en.get(status).toString().trim())) {
|
|
|
- if (en.get("enddate") != null && !"null".equals(en.get("enddate"))) {
|
|
|
- String timeStr = (String) en.get("enddate");
|
|
|
- long time = TimeUtils.f_str_2_long(timeStr);
|
|
|
- Calendar c = Calendar.getInstance();
|
|
|
- c.setTimeInMillis(time);
|
|
|
- set.add(c.get(Calendar.DAY_OF_MONTH));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (set != null && set.size() > 0) {
|
|
|
- picker.setTaskDay(set);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
setContentView(R.layout.activity_oa);
|
|
|
ViewUtils.inject(this);
|
|
|
+ getSupportActionBar().setTitle("OA");
|
|
|
initView();
|
|
|
}
|
|
|
|
|
|
@@ -206,205 +120,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
return super.onOptionsItemSelected(item);
|
|
|
}
|
|
|
|
|
|
- private void initView() {
|
|
|
- getSupportActionBar().setTitle("OA");
|
|
|
- chaneTAG(false);
|
|
|
- baseUrl = CommonUtil.getSharedPreferences(this, "erp_baseurl");
|
|
|
- rootScrollView.requestDisallowInterceptTouchEvent(false);
|
|
|
- picker.setCalendarData(new Date());
|
|
|
- picker.setSelectMore(false);
|
|
|
- adapter = new MyListViewAdapter();
|
|
|
- listview.setAdapter(adapter);
|
|
|
- rootScrollView.smoothScrollTo(0, 20);
|
|
|
- date_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "yyyy-MM"));
|
|
|
- bindAdapterForSpinner();
|
|
|
- setListener();
|
|
|
- initData();
|
|
|
- //CRM链入 隐藏菜单
|
|
|
- Intent intent = getIntent();
|
|
|
- int type = 0;
|
|
|
- if (intent != null) {
|
|
|
- type = intent.getIntExtra("type", 0);//默认不隐藏
|
|
|
- if (type == 1) {
|
|
|
- oa_rl_choose.setVisibility(View.GONE);
|
|
|
- } else {
|
|
|
- oa_rl_choose.setVisibility(View.VISIBLE);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private void initData() {
|
|
|
- //先下拉三个列表数据
|
|
|
- loadNetData(whatTask);
|
|
|
- loadNetData(whatVisit);
|
|
|
- loadNetData(whatSchedule);
|
|
|
- }
|
|
|
-
|
|
|
- public void loadNetData(String status) {
|
|
|
- progressDialog.show();
|
|
|
- String url = baseUrl + "mobile/crm/getVisitPlan.action";
|
|
|
- String date = TimeUtils.long2str(System.currentTimeMillis(), "yyyyMM");
|
|
|
- loadNetData(whatTask, url, date, status, 1);
|
|
|
- }
|
|
|
-
|
|
|
- //获取网络数据
|
|
|
- public void loadNetData(int what) {
|
|
|
- progressDialog.show();
|
|
|
- //获取网络数据
|
|
|
- String url = baseUrl + "mobile/crm/getVisitPlan.action";
|
|
|
- String date = TimeUtils.long2str(System.currentTimeMillis(), "yyyyMM");
|
|
|
- switch (what) {
|
|
|
- case whatVisit:
|
|
|
- url = baseUrl + "mobile/crm/getVisitPlan.action";
|
|
|
- break;
|
|
|
- case whatTask:
|
|
|
- url = baseUrl + "mobile/crm/getTaskMsg.action";
|
|
|
- break;
|
|
|
- case whatSchedule:
|
|
|
- url = baseUrl + "mobile/crm/getScheduleMsg.action";
|
|
|
- break;
|
|
|
- case whatTaskNum:
|
|
|
- url = baseUrl + "mobile/crm/getTaskAndScheduleMsg.action";
|
|
|
- date = this.date;
|
|
|
- break;
|
|
|
- }
|
|
|
- loadNetData(what, url, date, "1", 1);
|
|
|
- }
|
|
|
-
|
|
|
- //获取网络数据
|
|
|
- public void loadNetData(int what, String url, String date, String status, int pager) {
|
|
|
- //获取网络数据
|
|
|
- final Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("emcode", CommonUtil.getSharedPreferences(this, "erp_username"));
|
|
|
- param.put("date", date);
|
|
|
- if (what == whatTask)
|
|
|
- param.put("status", status);
|
|
|
- param.put("page", pager);
|
|
|
- param.put("pageSize", 10);
|
|
|
- param.put("sessionId", CommonUtil.getSharedPreferences(this, "sessionId"));
|
|
|
- LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
- headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(this, "sessionId"));
|
|
|
- ViewUtil.httpSendRequest(this, url, param, handler, headers, what, null, null, "get");
|
|
|
- }
|
|
|
-
|
|
|
- private void updateUI() {
|
|
|
- if (adapter == null)
|
|
|
- adapter = new MyListViewAdapter();
|
|
|
- List<Map<String, Object>> mapList = null;
|
|
|
- switch (typeWhat) {
|
|
|
- case whatSchedule:
|
|
|
- if (scheduleList != null)
|
|
|
- mapList = scheduleList;
|
|
|
- break;
|
|
|
- case whatTask:
|
|
|
- if (taskList != null)
|
|
|
- mapList = taskList;
|
|
|
- break;
|
|
|
- case whatVisit:
|
|
|
- if (visitList != null)
|
|
|
- mapList = visitList;
|
|
|
- break;
|
|
|
- }
|
|
|
- if (mapList != null)
|
|
|
- adapter.setData(mapList);
|
|
|
- }
|
|
|
-
|
|
|
- private void updateUI(int i, int completenum, int complrate, int notcomplnum) {
|
|
|
- //TODO 更改数据显示
|
|
|
- all_task_num.setText("我的任务日程:" + i);
|
|
|
- ok_task_num.setText("已完成:" + completenum);
|
|
|
- uok_task_num.setText("未完成:" + complrate);
|
|
|
- ok_scale.setText("完成比例:" + notcomplnum);
|
|
|
- }
|
|
|
-
|
|
|
- private void bindAdapterForSpinner() {
|
|
|
- state.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, stateItems));
|
|
|
- type.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, typeItems));
|
|
|
- state.setOnItemSelectedListener(this);
|
|
|
- type.setOnItemSelectedListener(this);
|
|
|
- }
|
|
|
-
|
|
|
- //设置控件点击事件
|
|
|
- private void setListener() {
|
|
|
- findViewById(R.id.oa_img_people).setOnClickListener(this);
|
|
|
- findViewById(R.id.ll_signin).setOnClickListener(this);
|
|
|
- findViewById(R.id.ll_outside).setOnClickListener(this);
|
|
|
- findViewById(R.id.ll_meeting).setOnClickListener(this);
|
|
|
- findViewById(R.id.ll_worklog).setOnClickListener(this);
|
|
|
- findViewById(R.id.ll_subject).setOnClickListener(this);
|
|
|
- findViewById(R.id.attendance_ll).setOnClickListener(this);//考勤单据
|
|
|
- findViewById(R.id.borrowing_ll).setOnClickListener(this);
|
|
|
- findViewById(R.id.repayment_ll).setOnClickListener(this);//还款
|
|
|
- findViewById(R.id.ll_).setOnClickListener(this);
|
|
|
- findViewById(R.id.ll_attendance).setOnClickListener(this);
|
|
|
- findViewById(R.id.my_client_log).setOnClickListener(this);
|
|
|
- findViewById(R.id.my_log).setOnClickListener(this);
|
|
|
- findViewById(R.id.date_back_img).setOnClickListener(this);
|
|
|
- findViewById(R.id.date_next_img).setOnClickListener(this);
|
|
|
- findViewById(R.id.oa_img_infile).setOnClickListener(this);
|
|
|
- findViewById(R.id.staff_tv).setOnClickListener(this);
|
|
|
- findViewById(R.id.oa_img_add).setOnClickListener(this);
|
|
|
- picker.setOnItemClickListener(new CalendarView.OnItemClickListener() {
|
|
|
- @Override
|
|
|
- public void OnItemClick(Date selectedStartDate, Date selectedEndDate, Date downDate) {
|
|
|
- date = downDate.getYear() + "" + downDate.getMonth() + "" + downDate.getDay();
|
|
|
- loadNetData(whatTaskNum);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
|
|
|
- switch (adapterView.getId()) {
|
|
|
- case R.id.state:
|
|
|
- String status = "1";
|
|
|
- switch (i) {
|
|
|
- case 0:
|
|
|
- status = "UNCONFIRMED";
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- status = "DOING";
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- status = "FINISHED";
|
|
|
- break;
|
|
|
- }
|
|
|
- loadNetData(status);
|
|
|
- case R.id.type:
|
|
|
- switch (i) {
|
|
|
- case 0:
|
|
|
- state.setVisibility(View.GONE);
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- typeWhat = whatTask;
|
|
|
- state.setVisibility(View.VISIBLE);
|
|
|
- if (taskList == null) {//如果前一次请求失败
|
|
|
- loadNetData(whatTask);
|
|
|
- }
|
|
|
- updateUI();
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- state.setVisibility(View.GONE);
|
|
|
- typeWhat = whatSchedule;
|
|
|
- if (scheduleList == null) {
|
|
|
- loadNetData(whatSchedule);
|
|
|
- }
|
|
|
- updateUI();
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- state.setVisibility(View.GONE);
|
|
|
- typeWhat = whatVisit;
|
|
|
- if (visitList == null) {
|
|
|
- loadNetData(whatVisit);
|
|
|
- }
|
|
|
- updateUI();
|
|
|
- break;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
if (data == null) return;
|
|
|
@@ -416,28 +131,17 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void onNothingSelected(AdapterView<?> adapterView) {
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
switch (view.getId()) {
|
|
|
case R.id.oa_img_infile: //筛选
|
|
|
break;
|
|
|
- case R.id.date_back_img://日期返回一个月
|
|
|
- break;
|
|
|
- case R.id.date_next_img://日期前进一个月
|
|
|
- break;
|
|
|
case R.id.ll_signin://打卡签到
|
|
|
startActivity(new Intent(activity, SigninActivity.class));
|
|
|
break;
|
|
|
case R.id.ll_outside: //外勤签到
|
|
|
startActivity(new Intent(activity, OutofficeActivity.class));
|
|
|
break;
|
|
|
- case R.id.oa_img_add: //添加按钮
|
|
|
- popAdd(view);
|
|
|
- break;
|
|
|
case R.id.ll_meeting://会议管理
|
|
|
startActivity(new Intent(activity, MeetingActivity.class));
|
|
|
break;
|
|
|
@@ -446,26 +150,22 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
break;
|
|
|
case R.id.ll_subject://我的行程
|
|
|
//TODO 审批先不做
|
|
|
- ToastUtil.showToast(activity, "该功能暂未开通");
|
|
|
+ ToastUtil.showToast(activity, "该功能还在内测中");
|
|
|
break;
|
|
|
case R.id.attendance_ll://考勤单据
|
|
|
startActivity(new Intent(activity, ErpMenActivity.class));
|
|
|
break;
|
|
|
case R.id.borrowing_ll://借款申请
|
|
|
+ ToastUtil.showToast(activity, "该功能还在内测中");
|
|
|
break;
|
|
|
case R.id.repayment_ll://还款申请
|
|
|
+ ToastUtil.showToast(activity, "该功能还在内测中");
|
|
|
break;
|
|
|
case R.id.ll_://差旅费报销
|
|
|
+ ToastUtil.showToast(activity, "该功能还在内测中");
|
|
|
break;
|
|
|
case R.id.ll_attendance://考勤统计
|
|
|
- startActivity(new Intent(activity, StatisticsActivity.class));
|
|
|
- break;
|
|
|
- case R.id.staff_tv://点击人员
|
|
|
-// startActivity(new Intent(activity, StatisticsActivity.class));
|
|
|
- break;
|
|
|
- case R.id.oa_img_people://点击返回
|
|
|
- setResult(0x12, null);
|
|
|
- finish();
|
|
|
+ ToastUtil.showToast(activity, "该功能还在内测中");
|
|
|
break;
|
|
|
case R.id.my_client_log://我的下属工作日志
|
|
|
chaneTAG(false);
|
|
|
@@ -480,6 +180,76 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void initView() {
|
|
|
+ beans = new ArrayList<>();
|
|
|
+ loadNetData();
|
|
|
+ chaneTAG(false);
|
|
|
+ baseUrl = CommonUtil.getSharedPreferences(this, "erp_baseurl");
|
|
|
+ rootScrollView.requestDisallowInterceptTouchEvent(false);
|
|
|
+ picker.setCalendarData(new Date());
|
|
|
+ picker.setSelectMore(false);
|
|
|
+ adapter = new MyListViewAdapter();
|
|
|
+ listview.setAdapter(adapter);
|
|
|
+ rootScrollView.smoothScrollTo(0, 20);
|
|
|
+ date_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "yyyy-MM"));
|
|
|
+ setListener();
|
|
|
+ //CRM链入 隐藏菜单
|
|
|
+ Intent intent = getIntent();
|
|
|
+ int type = 0;
|
|
|
+ if (intent != null) {
|
|
|
+ type = intent.getIntExtra("type", 0);//默认不隐藏
|
|
|
+ if (type == 1) {
|
|
|
+ oa_rl_choose.setVisibility(View.GONE);
|
|
|
+ } else {
|
|
|
+ oa_rl_choose.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取数据
|
|
|
+ public void loadNetData() {
|
|
|
+ String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/crm/gettaskscheduleandvisitplanmsg.action";
|
|
|
+ //获取网络数据
|
|
|
+ final Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("emcode", CommonUtil.getSharedPreferences(this, "erp_username"));
|
|
|
+ param.put("date", TimeUtils.ym_long_2_str(System.currentTimeMillis()));
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ ViewUtil.httpSendRequest(this, url, param, handler, headers, WHAT_LOAD, null, null, "get");
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置控件点击事件
|
|
|
+ private void setListener() {
|
|
|
+ findViewById(R.id.ll_signin).setOnClickListener(this);
|
|
|
+ findViewById(R.id.ll_outside).setOnClickListener(this);
|
|
|
+ findViewById(R.id.ll_meeting).setOnClickListener(this);
|
|
|
+ findViewById(R.id.ll_worklog).setOnClickListener(this);
|
|
|
+ findViewById(R.id.ll_subject).setOnClickListener(this);
|
|
|
+ findViewById(R.id.attendance_ll).setOnClickListener(this);//考勤单据
|
|
|
+ findViewById(R.id.borrowing_ll).setOnClickListener(this);
|
|
|
+ findViewById(R.id.repayment_ll).setOnClickListener(this);//还款
|
|
|
+ findViewById(R.id.ll_).setOnClickListener(this);
|
|
|
+ findViewById(R.id.ll_attendance).setOnClickListener(this);
|
|
|
+ findViewById(R.id.my_client_log).setOnClickListener(this);
|
|
|
+ findViewById(R.id.my_log).setOnClickListener(this);
|
|
|
+ picker.setOnItemClickListener(new CalendarView.OnItemClickListener() {
|
|
|
+ @Override
|
|
|
+ public void OnItemClick(Date selectedStartDate, Date selectedEndDate, Date downDate) {
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取数据处理
|
|
|
+ *
|
|
|
+ * @param array 获取的json对象数组
|
|
|
+ * @param type 类型,1、任务 2、日程 3、拜访
|
|
|
+ */
|
|
|
+ private void treatedData(JSONArray array, int type) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 点击我和我的下属的工作日志中的标识变化
|
|
|
*
|
|
|
@@ -496,8 +266,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
|
|
|
}
|
|
|
|
|
|
- private PopupMenu poAddMenu;
|
|
|
-
|
|
|
private void popAdd() {
|
|
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
|
|
builder.setTitle("选择");
|
|
|
@@ -529,61 +297,20 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
builder.show();
|
|
|
}
|
|
|
|
|
|
- @TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
|
|
- private void popAdd(View view) {
|
|
|
- //点击添加按钮
|
|
|
- if (poAddMenu == null) {
|
|
|
- poAddMenu = new PopupMenu(this, view);
|
|
|
- poAddMenu.getMenuInflater().inflate(R.menu.oa_pop_add, poAddMenu.getMenu());
|
|
|
- poAddMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
|
|
- @Override
|
|
|
- public boolean onMenuItemClick(MenuItem menuItem) {
|
|
|
- Intent intent = null;
|
|
|
- switch (menuItem.getItemId()) {
|
|
|
- case R.id.add_task:
|
|
|
- intent = new Intent(ct, TaskAddActivity.class);
|
|
|
- intent.putExtra("type", 0);
|
|
|
- break;
|
|
|
- case R.id.add_date:
|
|
|
- intent = new Intent(ct, TaskAddActivity.class);
|
|
|
- intent.putExtra("type", 1);
|
|
|
- break;
|
|
|
- case R.id.add_visit:
|
|
|
- intent = new Intent(ct, VisitReportPlanActivity.class);
|
|
|
- break;
|
|
|
- case R.id.add_visit_item:
|
|
|
- intent = new Intent(ct, VisitReportAddActivity.class);
|
|
|
- break;
|
|
|
- }
|
|
|
- startActivity(intent);
|
|
|
- poAddMenu.dismiss();
|
|
|
- return false;
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- poAddMenu.show();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
class MyListViewAdapter extends BaseAdapter {
|
|
|
- private List<Map<String, Object>> mapList;
|
|
|
|
|
|
public MyListViewAdapter() {
|
|
|
}
|
|
|
|
|
|
- public void setData(List<Map<String, Object>> mapList) {
|
|
|
- this.mapList = mapList;
|
|
|
- notifyDataSetChanged();
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public int getCount() {
|
|
|
- return mapList == null ? 0 : mapList.size();
|
|
|
+ return beans == null ? 0 : beans.size();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Object getItem(int i) {
|
|
|
- return mapList.get(i);
|
|
|
+ return beans.get(i);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -600,70 +327,36 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Ad
|
|
|
viewholder.item_name_tv = (TextView) view.findViewById(R.id.item_name_tv);
|
|
|
viewholder.item_addr_tv = (TextView) view.findViewById(R.id.item_addr_tv);
|
|
|
viewholder.item_object_tv = (TextView) view.findViewById(R.id.item_object_tv);
|
|
|
- viewholder.item_doit_tv = (TextView) view.findViewById(R.id.item_doit_tv);
|
|
|
+ viewholder.item_remak = (TextView) view.findViewById(R.id.item_remak);
|
|
|
+ viewholder.item_doit_tv = (ImageView) view.findViewById(R.id.item_doit_tv);
|
|
|
viewholder.item_status_tv = (TextView) view.findViewById(R.id.item_status_tv);
|
|
|
view.setTag(viewholder);
|
|
|
} else {
|
|
|
viewholder = (Viewholder) view.getTag();
|
|
|
}
|
|
|
- bindItemData(viewholder, i);
|
|
|
viewholder.item_doit_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
Intent intent = new Intent(activity, VisitActivity.class);
|
|
|
- intent.putExtra("id", (int) mapList.get(i).get("vp_id"));
|
|
|
startActivityForResult(intent, 1);
|
|
|
}
|
|
|
});
|
|
|
+ bindData(viewholder, i);
|
|
|
return view;
|
|
|
}
|
|
|
|
|
|
- private void bindItemData(Viewholder viewholder, int postin) {
|
|
|
- //TODO 绑定数据
|
|
|
- String name = "";
|
|
|
- String addr = "";
|
|
|
- String object = "";
|
|
|
- String status = "";
|
|
|
- if (typeWhat == whatSchedule) {
|
|
|
- viewholder.item_doit_tv.setVisibility(View.GONE);
|
|
|
- name = (String) mapList.get(postin).get("schetitle");
|
|
|
- addr = "结束时间:" + mapList.get(postin).get("enddate");
|
|
|
- object = (String) mapList.get(postin).get("handler");
|
|
|
- if (mapList.get(postin).get("status") == null || "null".equals(mapList.get(postin).get("status") + ""))
|
|
|
- status = "未完成";
|
|
|
- else
|
|
|
- status = "" + mapList.get(postin).get("status");
|
|
|
- } else if (typeWhat == whatTask) {
|
|
|
- viewholder.item_doit_tv.setVisibility(View.GONE);
|
|
|
- name = (String) mapList.get(postin).get("taskname");
|
|
|
- addr = "结束时间:" + mapList.get(postin).get("enddate");
|
|
|
- object = (String) mapList.get(postin).get("handler");
|
|
|
- if (mapList.get(postin).get("status") == null || "null".equals(mapList.get(postin).get("status") + ""))
|
|
|
- status = "未完成";
|
|
|
- else
|
|
|
- status = "" + mapList.get(postin).get("status");
|
|
|
- } else {
|
|
|
- viewholder.item_doit_tv.setVisibility(View.VISIBLE);
|
|
|
- name = (String) mapList.get(postin).get("visitman");
|
|
|
- addr = "" + mapList.get(postin).get("address");
|
|
|
- object = mapList.get(postin).get("depart") + ">" + mapList.get(postin).get("custname");
|
|
|
- if (mapList.get(postin).get("vp_status") == null || "null".equals(mapList.get(postin).get("vp_status") + ""))
|
|
|
- status = "未完成";
|
|
|
- else
|
|
|
- status = "" + mapList.get(postin).get("vp_status");
|
|
|
- }
|
|
|
- viewholder.item_name_tv.setText(name);
|
|
|
- viewholder.item_addr_tv.setText(addr);
|
|
|
- viewholder.item_object_tv.setText(object);
|
|
|
- viewholder.item_status_tv.setText(status);
|
|
|
+ private void bindData(Viewholder viewholder, int i) {
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
class Viewholder {
|
|
|
TextView item_name_tv,//名字
|
|
|
item_addr_tv,//地址
|
|
|
item_object_tv,//对象
|
|
|
- item_doit_tv,//去拜访按钮
|
|
|
- item_status_tv;//状态
|
|
|
+ item_status_tv,//状态
|
|
|
+ item_remak;
|
|
|
+ ImageView item_doit_tv;//去拜访按钮
|
|
|
}
|
|
|
}
|
|
|
|