Browse Source

Merge branch 'developer' of https://gitlab.com/Arisono/SkWeiChat-Baidu into gitlab_developer

Arison 9 years ago
parent
commit
da907300b4
50 changed files with 791 additions and 2017 deletions
  1. 1 1
      WeiChat/build.gradle
  2. 2 3
      WeiChat/src/main/AndroidManifest.xml
  3. 0 63
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/account/LoginActivity.java
  4. 5 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/calendar/views/DatePicker.java
  5. 3 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/calendar/views/MonthView.java
  6. 0 223
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/calendar/views/OADatePicker.java
  7. 6 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BusinessCircleActivity.java
  8. 76 64
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/BaseInfoActivity.java
  9. 5 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/DetailTaskActivity.java
  10. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
  11. 9 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessTransferActivity.java
  12. 4 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java
  13. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java
  14. 7 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/TaskAddActivity.java
  15. 40 35
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java
  16. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/UpdateSexActivity.java
  17. 18 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/UpdateSingleTextActivity.java
  18. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddMeetTaskActivity.java
  19. 1 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddMeetingActivity.java
  20. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/LocationMapActivity.java
  21. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetDetailsActivity.java
  22. 450 508
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java
  23. 0 684
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAMainActivity.java
  24. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OutLogListActivity.java
  25. 2 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SaveMeetActivity.java
  26. 0 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/WorkLogsActivity.java
  27. 0 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/OAListAdapter.java
  28. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/SigninAdapter.java
  29. 4 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/CalendarFragmet.java
  30. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/OutofficeFragment.java
  31. 11 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java
  32. 2 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java
  33. 3 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java
  34. 2 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/WorksFragment.java
  35. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/HttpClient.java
  36. 5 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/HttpUtil.java
  37. 2 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java
  38. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/util/BaiduMapUtil.java
  39. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/util/TimeUtils.java
  40. 33 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/OACalendarView.java
  41. 0 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/wheel/DatePicker.java
  42. 20 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/wheel/DateTimePicker.java
  43. BIN
      WeiChat/src/main/res/drawable-xxhdpi/icon_answer.png
  44. 12 10
      WeiChat/src/main/res/layout/act_task_detail.xml
  45. 8 4
      WeiChat/src/main/res/layout/activity_base_info.xml
  46. 0 340
      WeiChat/src/main/res/layout/activity_oa.xml
  47. 9 9
      WeiChat/src/main/res/layout/activity_oalist.xml
  48. 1 0
      WeiChat/src/main/res/layout/activity_oamain.xml
  49. 10 3
      WeiChat/src/main/res/layout/activity_visit_report_add.xml
  50. 24 7
      WeiChat/src/main/res/layout/item_outoffice_list.xml

+ 1 - 1
WeiChat/build.gradle

@@ -8,7 +8,7 @@ android {
     }
     signingConfigs {
         config {
-            storeFile file('C:/Users/Arison/Desktop/applicationsignname[20150409]')
+            storeFile file('D:/config/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 2 - 3
WeiChat/src/main/AndroidManifest.xml

@@ -453,7 +453,6 @@
             android:name=".ui.erp.activity.oa.AddMeetingActivity"
             android:label="新建会议"
             android:theme="@style/OAThemeMeet" />
-        <activity android:name=".ui.erp.activity.oa.OAActivity" />
         <activity
             android:name=".ui.erp.activity.oa.StatisticsActivity"
             android:label="考勤统计" />
@@ -593,7 +592,7 @@
             android:label="会议任务"
             android:theme="@style/OAThemeMeet" />
         <activity
-            android:name=".ui.erp.activity.oa.OAListActivity"
+            android:name=".ui.erp.activity.oa.OutLogListActivity"
             android:label="我的外勤"
             android:theme="@style/OAThemeOutOffice" />
         <activity android:name=".ui.erp.activity.oa.OptionActivity" />
@@ -604,7 +603,7 @@
         <activity
             android:name=".ui.erp.activity.me.FeedbackActivity"
             android:windowSoftInputMode="stateHidden|stateAlwaysHidden"/>
-        <activity android:name=".ui.erp.activity.oa.OAMainActivity" />
+        <activity android:name=".ui.erp.activity.oa.OAActivity" />
         
         <!--umeng api key-->
         <meta-data

+ 0 - 63
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/account/LoginActivity.java

@@ -19,22 +19,17 @@ import com.xzjmyk.pm.activity.bean.LoginRegisterResult;
 import com.xzjmyk.pm.activity.helper.LoginHelper;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
-import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
-import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.util.DeviceInfoUtil;
 import com.xzjmyk.pm.activity.util.Md5Util;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
-import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 
 import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
 
 /**
  * 登陆界面
@@ -95,7 +90,6 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.login_btn:// 登陆
-                //TODO 登陆修改
                 login();
                 break;
         }
@@ -174,12 +168,9 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
                     /**@注释:持久化登录信息 */
                     Log.i("url", "login:" + JSON.toJSONString(result));
                     success = LoginHelper.setLoginUser(mContext, phoneNumber, digestPwd, result);// 设置登陆用户信息
-
                 }
                 if (success) {// 登陆IM成功
-
                     login_manage(phoneNumber, password);//登录管理平台
-//                    startActivity(new Intent(ct, MainActivity.class));
                 } else {// 登录失败
                     String message = TextUtils.isEmpty(result.getResultMsg()) ? getString(R.string.login_failed) : result.getResultMsg();
                     ToastUtil.showToast(mContext, message);
@@ -190,28 +181,6 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
         request.setTag(requestTag);
         addDefaultRequest(request);
     }
-
-    Handler handler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            if (msg.what == 0x11) {
-                String s = msg.getData().getString("result");
-            }
-        }
-    };
-
-    private void test() {
-        String url = "http://192.168.253.134/ERP" + "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, 0x11, null, null, "get");
-    }
-
-
     /**
      * @desc:登录管理平台
      * @author:Administrator on 2016/2/18 10:53
@@ -223,38 +192,6 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
         if (TextUtils.isEmpty(password)) {
             return;
         }
-//		String url = Constants.BASE_URL_LOGIN;
-//		Log.i("LoginApp", "管理平台登录 url:" + url);
-//		final String requestTag = "loginManagerSystem";
-//		Map<String, String> params = new HashMap<String, String>();
-//		params.put("user", phone);
-//		params.put("password", password);
-
-//		final ProgressDialog dialog = ProgressDialogUtil.init(mContext, null, getString(R.string.please_wait), true);
-//		ProgressDialogUtil.show(dialog);
-        /*StringJsonObjectRequest<String> mRequest = new StringJsonObjectRequest<String>(
-                Request.Method.GET, url,
-				new ErrorListener() {
-					@Override
-					public void onErrorResponse(VolleyError volleyError) {
-						ProgressDialogUtil.dismiss(dialog);
-						ToastUtil.showErrorNet(mContext);
-					}
-				},
-				new StringJsonObjectRequest.Listener<String>() {
-					@Override
-					public void onResponse(ObjectResult<String> result) {
-						ProgressDialogUtil.dismiss(dialog);
-						Log.i("LoginApp", result.getResultData());
-						ViewUtil.ShowMessageFDialogAutoDismiss(mContext, "登录成功", 3000);
-						//弹出对话框,选择公司
-						LoginSucess(result.getResultData());
-					}
-				}, String.class, params, true);
-		mRequest.setTag(requestTag);
-		addDefaultRequest(mRequest);*/
         ViewUtil.LoginTask(phone, password, mContext);
     }
-
-
 }

+ 5 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/calendar/views/DatePicker.java

@@ -136,7 +136,6 @@ public class DatePicker extends LinearLayout {
             public void onMonthChange(int month) {
                 tvMonth.setText(mLManager.titleMonth()[month - 1]);
             }
-
             @Override
             public void onYearChange(int year) {
                 String tmp = String.valueOf(year);
@@ -146,9 +145,14 @@ public class DatePicker extends LinearLayout {
                 tvYear.setText(tmp);
             }
         });
+
         addView(monthView, llParams);
     }
 
+    public MonthView getMonthView() {
+        return monthView;
+    }
+
     /**
      * 设置初始化年月日期
      *

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/calendar/views/MonthView.java

@@ -63,7 +63,6 @@ public class MonthView extends View {
     private OnDateChangeListener onDateChangeListener;
     private OnDatePickedListener onDatePickedListener;
     private ScaleAnimationListener scaleAnimationListener;
-
     private DPMode mDPMode = DPMode.MULTIPLE;
     private SlideMode mSlideMode;
     private DPDecor mDPDecor;
@@ -97,6 +96,7 @@ public class MonthView extends View {
     private List<String> dateSelected = new ArrayList<>();
 
     public MonthView(Context context) {
+
         super(context);
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
             scaleAnimationListener = new ScaleAnimationListener();
@@ -125,6 +125,8 @@ public class MonthView extends View {
         }
     }
 
+
+
     @Override
     public boolean onTouchEvent(MotionEvent event) {
         switch (event.getAction()) {
@@ -278,13 +280,11 @@ public class MonthView extends View {
     @Override
     protected void onDraw(Canvas canvas) {
         canvas.drawColor(mTManager.colorBG());
-
         draw(canvas, width * indexMonth, (indexYear - 1) * height, topYear, topMonth);
         draw(canvas, width * (indexMonth - 1), height * indexYear, leftYear, leftMonth);
         draw(canvas, width * indexMonth, indexYear * height, centerYear, centerMonth);
         draw(canvas, width * (indexMonth + 1), height * indexYear, rightYear, rightMonth);
         draw(canvas, width * indexMonth, (indexYear + 1) * height, bottomYear, bottomMonth);
-
         drawBGCircle(canvas);
     }
 

+ 0 - 223
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/calendar/views/OADatePicker.java

@@ -1,223 +0,0 @@
-package com.xzjmyk.pm.activity.ui.calendar.views;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.ui.calendar.bizs.decors.DPDecor;
-import com.xzjmyk.pm.activity.ui.calendar.bizs.languages.DPLManager;
-import com.xzjmyk.pm.activity.ui.calendar.bizs.themes.DPTManager;
-import com.xzjmyk.pm.activity.ui.calendar.cons.DPMode;
-import com.xzjmyk.pm.activity.ui.calendar.utils.MeasureUtil;
-import com.xzjmyk.pm.activity.ui.calendar.utils.OnDatePickedListener;
-
-import java.util.List;
-
-import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
-
-/**
- * Created by gongpm on 2016/7/11.
- */
-public class OADatePicker extends LinearLayout implements View.OnClickListener {
-    private DPTManager mTManager;// 主题管理器
-    private DPLManager mLManager;// 语言管理器
-
-    private MonthView monthView;// 月视图
-
-    private int year = 2015, month = 7;
-    private OnDateSelectedListener onDateSelectedListener;// 日期多选后监听
-    private TextView year_tv;
-    private TextView month_tv;
-
-    @Override
-    public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.back_img:
-                month--;
-                if (month <= 0) {
-                    month = 12;
-                    year--;
-                }
-                year_tv.setText(year + "年");
-                month_tv.setText(month + "月");
-                setDate(year, month);
-                break;
-            case R.id.next_img:
-                month++;
-                if (month >= 12) {
-                    month = 1;
-                    year++;
-                }
-                year_tv.setText(year + "年");
-                month_tv.setText(month + "月");
-                setDate(year, month);
-                break;
-            case R.id.content_ll:
-                break;
-        }
-    }
-
-
-    /**
-     * 日期多选监听器
-     */
-    public interface OnDateSelectedListener {
-        void onDateSelected(List<String> date);
-    }
-
-    public OADatePicker(Context context) {
-        this(context, null);
-    }
-
-    public OADatePicker(Context context, AttributeSet attrs) {
-
-
-        super(context, attrs);
-        mTManager = DPTManager.getInstance();
-        mLManager = DPLManager.getInstance();
-
-        // 设置排列方向为竖向
-        setOrientation(VERTICAL);
-
-        LayoutParams llParams =
-                new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
-
-        // 标题栏根布局
-        View view = LayoutInflater.from(context).inflate(R.layout.datepicker_title, null);
-        RelativeLayout rlTitle = (RelativeLayout) view.findViewById(R.id.root_view);
-        rlTitle.setBackgroundColor(mTManager.colorTitleBG());
-
-        initTitleView(view);
-
-
-        addView(rlTitle, llParams);
-
-        // 周视图根布局
-        LinearLayout llWeek = new LinearLayout(context);
-        llWeek.setBackgroundColor(mTManager.colorTitleBG());
-        llWeek.setOrientation(HORIZONTAL);
-        int llWeekPadding = MeasureUtil.dp2px(context, 5);
-        llWeek.setPadding(0, llWeekPadding, 0, llWeekPadding);
-        LayoutParams lpWeek = new LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
-        lpWeek.weight = 1;
-        // --------------------------------------------------------------------------------周视图
-        for (int i = 0; i < mLManager.titleWeek().length; i++) {
-            TextView tvWeek = new TextView(context);
-            tvWeek.setText(mLManager.titleWeek()[i]);
-            tvWeek.setGravity(Gravity.CENTER);
-            tvWeek.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
-            tvWeek.setTextColor(mTManager.colorTitle());
-            llWeek.addView(tvWeek, lpWeek);
-        }
-        addView(llWeek, llParams);
-
-        // ------------------------------------------------------------------------------------月视图
-        monthView = new MonthView(context);
-        monthView.setOnDateChangeListener(new MonthView.OnDateChangeListener() {
-            @Override
-            public void onMonthChange(int month) {
-                month_tv.setText(mLManager.titleMonth()[month - 1]);
-            }
-
-            @Override
-            public void onYearChange(int year) {
-                String tmp = String.valueOf(year);
-                if (tmp.startsWith("-")) {
-                    tmp = tmp.replace("-", mLManager.titleBC());
-                }
-                year_tv.setText(tmp);
-            }
-        });
-        addView(monthView, llParams);
-    }
-
-    private void initTitleView(View view) {
-        view.findViewById(R.id.back_img).setOnClickListener(this);
-        view.findViewById(R.id.next_img).setOnClickListener(this);
-        view.findViewById(R.id.content_ll).setOnClickListener(this);
-        year_tv = (TextView) view.findViewById(R.id.year_tv);
-        month_tv = (TextView) view.findViewById(R.id.month_tv);
-    }
-
-    /**
-     * 设置初始化年月日期
-     *
-     * @param year  ...
-     * @param month ...
-     */
-    public void setDate(int year, int month) {
-        if (month < 1) {
-            month = 1;
-        }
-        if (month > 12) {
-            month = 12;
-        }
-        this.year = year;
-        this.month = month;
-        monthView.setDate(year, month);
-    }
-
-    public void setDPDecor(DPDecor decor) {
-        monthView.setDPDecor(decor);
-    }
-
-    /**
-     * 设置日期选择模式
-     *
-     * @param mode ...
-     */
-    public void setMode(DPMode mode) {
-        if (mode != DPMode.MULTIPLE) {
-        }
-        monthView.setDPMode(mode);
-    }
-
-    public void setFestivalDisplay(boolean isFestivalDisplay) {
-        monthView.setFestivalDisplay(isFestivalDisplay);
-    }
-
-    public void setTodayDisplay(boolean isTodayDisplay) {
-        monthView.setTodayDisplay(isTodayDisplay);
-    }
-
-    public void setHolidayDisplay(boolean isHolidayDisplay) {
-        monthView.setHolidayDisplay(isHolidayDisplay);
-    }
-
-    public void setDeferredDisplay(boolean isDeferredDisplay) {
-        monthView.setDeferredDisplay(isDeferredDisplay);
-    }
-
-    /**
-     * 设置单选监听器
-     *
-     * @param onDatePickedListener ...
-     */
-    public void setOnDatePickedListener(OnDatePickedListener onDatePickedListener) {
-        if (monthView.getDPMode() != DPMode.SINGLE) {
-            throw new RuntimeException(
-                    "Current DPMode does not SINGLE! Please call setMode set DPMode to SINGLE!");
-        }
-        monthView.setOnDatePickedListener(onDatePickedListener);
-    }
-
-    /**
-     * 设置多选监听器
-     *
-     * @param onDateSelectedListener ...
-     */
-    public void setOnDateSelectedListener(OnDateSelectedListener onDateSelectedListener) {
-        if (monthView.getDPMode() != DPMode.MULTIPLE) {
-            throw new RuntimeException(
-                    "Current DPMode does not MULTIPLE! Please call setMode set DPMode to MULTIPLE!");
-        }
-        this.onDateSelectedListener = onDateSelectedListener;
-    }
-}

+ 6 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BusinessCircleActivity.java

@@ -66,6 +66,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static com.xzjmyk.pm.activity.AppConstant.CIRCLE_TYPE_MY_BUSINESS;
+
 /**
  * 我的商务圈
  */
@@ -120,7 +122,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
         }
 
         if (getIntent() != null) {
-            mType = getIntent().getIntExtra(AppConstant.EXTRA_CIRCLE_TYPE, AppConstant.CIRCLE_TYPE_MY_BUSINESS);// 默认的为查看我的商务圈
+            mType = getIntent().getIntExtra(AppConstant.EXTRA_CIRCLE_TYPE, CIRCLE_TYPE_MY_BUSINESS);// 默认的为查看我的商务圈
             mUserId = getIntent().getStringExtra(AppConstant.EXTRA_USER_ID);
             mNickName = getIntent().getStringExtra(AppConstant.EXTRA_NICK_NAME);
         }
@@ -143,7 +145,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
      * @return
      */
     private boolean isMyBusiness() {
-        return mType == AppConstant.CIRCLE_TYPE_MY_BUSINESS;
+        return mType == CIRCLE_TYPE_MY_BUSINESS;
     }
 
     /**
@@ -187,7 +189,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
         if (isMySpace()) {
             mAdapter.setType(AppConstant.CIRCLE_TYPE_PERSONAL_SPACE);
         } else {
-            mAdapter.setType(AppConstant.CIRCLE_TYPE_MY_BUSINESS);
+            mAdapter.setType(CIRCLE_TYPE_MY_BUSINESS);
         }
 
         setListenerAudio(mAdapter); //设置借口回调
@@ -577,6 +579,7 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
         params.put("access_token", MyApplication.getInstance().mAccessToken);
         params.put("pageSize", "" + 10);
         params.put("type", "0");
+        params.put("flag", 1+"");
         StringJsonArrayRequest<PublicMessage> request = new StringJsonArrayRequest<PublicMessage>(
                 mConfig.MSG_LIST, new Response.ErrorListener() {
             @Override

+ 76 - 64
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/BaseInfoActivity.java

@@ -1,11 +1,8 @@
 package com.xzjmyk.pm.activity.ui.erp.activity;
 
 import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.DatePickerDialog;
 import android.app.ProgressDialog;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
@@ -14,7 +11,6 @@ import android.util.Log;
 import android.view.Gravity;
 import android.view.View;
 import android.view.WindowManager;
-import android.widget.DatePicker;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.PopupWindow;
@@ -58,6 +54,7 @@ import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.view.crouton.LifecycleCallback;
+import com.xzjmyk.pm.activity.view.wheel.DateTimePicker;
 import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
@@ -112,11 +109,11 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
     private File mCurrentFile;
     private boolean isError = false;
 
-    private final int update_brithday=0;
-    private final int update_address=1;
+    private final int update_brithday = 0;
+    private final int update_address = 1;
 
     private PopupWindow mHeadPopupWindow;
-    private String mNickname,mSex;
+    private String mNickname, mSex;
 
     private ProgressDialog mProgressDialog;
     public static final String UPHEAD = "UPHEAD";
@@ -135,7 +132,7 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         initView();
     }
 
-    private void initView(){
+    private void initView() {
         mProgressDialog = ProgressDialogUtil.init(mContext, null, getString(R.string.please_wait));
         mUser = MyApplication.getInstance().mLoginUser;
         if (!LoginHelper.isUserValidation(mUser)) {
@@ -155,7 +152,7 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         rl_me_address.setOnClickListener(this);
     }
 
-    public void initData(){
+    public void initData() {
         // clone一份临时数据,用来存数变化的值,返回的时候对比有无变化
         try {
             mTempData = (User) mUser.clone();
@@ -169,18 +166,18 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         } else {
             tv_sex.setText("女");
             mSex = "女";
-          //  rbGrid.setChecked(true);
+            //  rbGrid.setChecked(true);
         }
         tv_birthday.setText(TimeUtils.sk_time_s_long_2_str(mTempData.getBirthday()));
         //查询数据库
-        DBManager dbManager=new DBManager(this);
-        String userId= mUser.getUserId();
-        String whichsys= CommonUtil.getSharedPreferences(this, "erp_master");
-        List<EmployeesEntity> entities= dbManager.select_getEmployee(new String[]{userId, whichsys}, "em_imid=? and whichsys=?");
-        if (ListUtils.isEmpty(entities)){
+        DBManager dbManager = new DBManager(this);
+        String userId = mUser.getUserId();
+        String whichsys = CommonUtil.getSharedPreferences(this, "erp_master");
+        List<EmployeesEntity> entities = dbManager.select_getEmployee(new String[]{userId, whichsys}, "em_imid=? and whichsys=?");
+        if (ListUtils.isEmpty(entities)) {
             tv_nickname.setText(mTempData.getNickName());
             mNickname = mTempData.getNickName();
-        }else{
+        } else {
             tv_nickname.setText(entities.get(0).getEM_NAME());
             tv_name.setText(entities.get(0).getEM_NAME());
             tv_tel.setText(mTempData.getTelephone());
@@ -213,7 +210,7 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
                 break;
             case R.id.me_heard://切换头像
                 WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
-                View headSelectView = View.inflate(BaseInfoActivity.this,R.layout.layout_select_head,null);
+                View headSelectView = View.inflate(BaseInfoActivity.this, R.layout.layout_select_head, null);
 
                 mHeadPopupWindow = new PopupWindow(headSelectView,
                         LinearLayout.LayoutParams.MATCH_PARENT,
@@ -258,13 +255,13 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
                 break;
             case R.id.me_nickname://修改昵称
                 intent = new Intent(BaseInfoActivity.this, UpdateSingleTextActivity.class);
-                intent.putExtra("nickname",tv_nickname.getText().toString().trim());
+                intent.putExtra("nickname", tv_nickname.getText().toString().trim());
                 startActivityForResult(intent, UPDATE_NICKNAME);
                 break;
             case R.id.me_sex://切换性别
                 intent = new Intent(BaseInfoActivity.this, UpdateSexActivity.class);
-                intent.putExtra("sex",tv_sex.getText().toString().trim());
-                startActivityForResult(intent,UPDATE_SEX);
+                intent.putExtra("sex", tv_sex.getText().toString().trim());
+                startActivityForResult(intent, UPDATE_SEX);
                 break;
             case R.id.me_birthday://修改生日
                 showSelectBirthdayDialog();
@@ -279,21 +276,27 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         }
     }
 
-    private void closePopupWindow(){
-        if (mHeadPopupWindow != null){
+    private void closePopupWindow() {
+        if (mHeadPopupWindow != null) {
             mHeadPopupWindow.dismiss();
             mHeadPopupWindow = null;
-            DisplayUtil.backgroundAlpha(this,1f);
+            DisplayUtil.backgroundAlpha(this, 1f);
         }
     }
 
     @SuppressWarnings("deprecation")
     private void showSelectBirthdayDialog() {
         Date date = new Date(mTempData.getBirthday() * 1000);
-        DatePickerDialog dialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
+        DateTimePicker picker = new DateTimePicker(this, DateTimePicker.YEAR_MONTH_DAY);
+        picker.setRange(1900, 2030);
+        picker.setSelectedItem(date.getYear() + 1900,
+                date.getMonth()+1,
+                date.getDate());
+        picker.setOnDateTimePickListener(new DateTimePicker.OnYearMonthDayTimePickListener() {
             @Override
-            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
-                GregorianCalendar calendar = new GregorianCalendar(year, monthOfYear, dayOfMonth);
+            public void onDateTimePicked(String year, String month, String day, String hour, String minute) {
+                Log.i(TAG, "onDateTimePicked:" + year + "-" + month + "-" + day + " " + hour + ":" + minute + ":00");
+                GregorianCalendar calendar = new GregorianCalendar(Integer.parseInt(year), Integer.parseInt(month) - 1, Integer.parseInt(day));
                 mTempData.setBirthday(TimeUtils.getSpecialBeginTime(tv_birthday, calendar.getTime().getTime() / 1000));
                 long currentTime = System.currentTimeMillis() / 1000;
                 long birthdayTime = calendar.getTime().getTime() / 1000;
@@ -301,8 +304,9 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
                     ToastUtil.showToast(mContext, "亲!您的出生日期已经超过现在了哦!");
                 }
             }
-        }, date.getYear() + 1900, date.getMonth(), date.getDate());
-        dialog.show();
+        });
+        picker.show();
+
     }
 
     private static final int REQUEST_CODE_CAPTURE_CROP_PHOTO = 1;
@@ -376,19 +380,19 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
                 mTempData.setCityId(cityId);
                 mTempData.setAreaId(countyId);
             }
-        } else if (requestCode == UPDATE_NICKNAME && data != null){
+        } else if (requestCode == UPDATE_NICKNAME && data != null) {
             mNickname = data.getStringExtra("newnickname");
-            if (mNickname != null){
+            if (mNickname != null) {
                 tv_nickname.setText(mNickname);
 //                mTempData.setNickName(mNickname);
             }
-        } else if (requestCode == UPDATE_SEX && data != null){
+        } else if (requestCode == UPDATE_SEX && data != null) {
             mSex = data.getStringExtra("newsex");
-            if (mSex != null){
+            if (mSex != null) {
                 tv_sex.setText(mSex);
-                if (mSex.equals("男")){
+                if (mSex.equals("男")) {
                     mTempData.setSex(1);
-                }else if (mSex.equals("女")){
+                } else if (mSex.equals("女")) {
                     mTempData.setSex(0);
                 }
             }
@@ -489,7 +493,7 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
             uploadAvatar(mCurrentFile);
         } else {
             ProgressDialogUtil.dismiss(mProgressDialog);
-            Crouton crouton = Crouton.makeText(this, "保存成功", 0xffff4444, 1000);
+            Crouton crouton = Crouton.makeText(this, "保存成功", 0xff99cc00, 1000);
             crouton.setLifecycleCallback(new LifecycleCallback() {
                 @Override
                 public void onDisplayed() {
@@ -581,8 +585,8 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
             return;
         }
         loadPageData();
-        Log.d("raomeng",mUser.toString());
-        Log.d("raomeng",mTempData.toString());
+        Log.d("raomeng", mUser.toString());
+        Log.d("raomeng", mTempData.toString());
 
         if ((mUser != null && !mUser.equals(mTempData)) || (mCurrentFile != null && mCurrentFile.exists())) {
             showBackDialog();
@@ -591,44 +595,52 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         }
 
     }
+
     private void loadPageData() {
         mTempData.setNickName(tv_nickname.getText().toString().trim());
     }
 
 
     private void showBackDialog() {
-        AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle(R.string.prompt_title).setMessage("确定保存当前内容吗?")
-                .setNegativeButton(getString(R.string.no), null).setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
+        /*AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle(R.string.prompt_title).setMessage("个人资料发生改变,是否保存当前内容?")
+                .setNegativeButton(getString(R.string.no), new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        finish();
+                    }
+                }).setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
 
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
-                        if (!MyApplication.getInstance().isNetworkActive()) {
-                            ToastUtil.showToast(BaseInfoActivity.this, "网络异常,更新失败");
-                            return;
-                        }
-                        loadPageData();
-                        if (TextUtils.isEmpty(mTempData.getNickName())) {
-                            tv_nickname.requestFocus();
-                            tv_nickname.setError(StringUtils.editTextHtmlErrorTip(BaseInfoActivity.this, R.string.name_empty_error));
-                            return;
-                        }
-
-                        if (mTempData.getCityId() <= 0) {
-                            ToastUtil.showToast(mContext, R.string.live_address_empty_error);
-                            return;
-                        }
-
-                        if (mUser != null && !mUser.equals(mTempData)) {// 数据改变了,提交数据
-                            Log.d("wang", "数据改变了,提交数据");
-                            updateData();
-                        }
-                        if (mCurrentFile != null && mCurrentFile.exists()) {
-                            Log.d("wang", "uploadAvatar");
-                            uploadAvatar(mCurrentFile);
-                        }
+
                     }
                 });
-        builder.create().show();
+        builder.create().show();*/
+
+        if (!MyApplication.getInstance().isNetworkActive()) {
+            ToastUtil.showToast(BaseInfoActivity.this, "网络异常,更新失败");
+            return;
+        }
+        loadPageData();
+        if (TextUtils.isEmpty(mTempData.getNickName())) {
+            tv_nickname.requestFocus();
+            tv_nickname.setError(StringUtils.editTextHtmlErrorTip(BaseInfoActivity.this, R.string.name_empty_error));
+            return;
+        }
+
+        if (mTempData.getCityId() <= 0) {
+            ToastUtil.showToast(mContext, R.string.live_address_empty_error);
+            return;
+        }
+
+        if (mUser != null && !mUser.equals(mTempData)) {// 数据改变了,提交数据
+            Log.d("wang", "数据改变了,提交数据");
+            updateData();
+        }
+        if (mCurrentFile != null && mCurrentFile.exists()) {
+            Log.d("wang", "uploadAvatar");
+            uploadAvatar(mCurrentFile);
+        }
     }
 
 }

+ 5 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/DetailTaskActivity.java

@@ -60,6 +60,8 @@ public class DetailTaskActivity extends BaseActivity implements OnClickListener
     private Button bt_task_bohui;
     @ViewInject(R.id.ll_bt_task)
     private LinearLayout ll_bt_task;
+    @ViewInject(R.id.reply_ll)
+    private LinearLayout reply_ll;
     @ViewInject(R.id.et_task_name)
     private EditText et_task_name;
 
@@ -177,7 +179,9 @@ public class DetailTaskActivity extends BaseActivity implements OnClickListener
         bt_task_huifu.setOnClickListener(this);
         bt_task_queren.setOnClickListener(this);
         iv_recode.setOnClickListener(this);
-
+        if (getIntent() != null && !getIntent().getBooleanExtra("isMe", true)) {
+            reply_ll.setVisibility(View.GONE);
+        }
     }
 
     public void initData() {

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java

@@ -199,7 +199,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                 startActivityForResult(new Intent(ct, DbfindListActivity.class), 1);
                 break;
             case R.id.bt_zhuanyi:
-                startActivity(new Intent(ct, BusinessTransferActivity.class).putExtra("code", bt_code));
+                startActivity(new Intent(ct, BusinessTransferActivity.class).putExtra("code", bt_code).putExtra("name", bc_nichehouse.getText().toString().trim()));
                 break;
         }
     }

+ 9 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessTransferActivity.java

@@ -90,12 +90,14 @@ public class BusinessTransferActivity extends BaseActivity {
 
     private String nicehouse;
     private String code;
+    private String currentHouse;
     private final int BUSSINE_TRANSFER = 3;
 
     private void initData() {
         sendHttpResquest(Constants.HTTP_SUCCESS_INIT);
         if (getIntent() != null) {
             code = getIntent().getStringExtra("code");
+            currentHouse = getIntent().getStringExtra("name");
         }
         for (int i = 0; i < 22; i++) {
             Business model = new Business();
@@ -236,10 +238,13 @@ public class BusinessTransferActivity extends BaseActivity {
                     JSONArray items = root.getJSONArray("combos");
                     if (!items.isEmpty()) {
                         for (int i = 0; i < items.size(); i++) {
-                            Business model = new Business();
-                            model.setName(items.getJSONObject(i).getString("BD_NAME"));
-                            // model.setNum(items.getJSONObject(i).getString("DLC_DISPLAY"));
-                            mData.add(model);
+                            if (!items.getJSONObject(i).getString("BD_NAME").equals(currentHouse)){
+                                Business model = new Business();
+                                model.setName(items.getJSONObject(i).getString("BD_NAME"));
+                                // model.setNum(items.getJSONObject(i).getString("DLC_DISPLAY"));
+                                mData.add(model);
+
+                            }
                         }
                     }
                     mAdapter = new BussinessDetailAdapter(ct, mData);

+ 4 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java

@@ -39,7 +39,7 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAMainActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
@@ -336,6 +336,8 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         sChart.getAxisRight().setEnabled(false);
         sChart.getAxisLeft().setEnabled(true);
         sChart.setMaxVisibleValueCount(10);
+        sChart.setDoubleTapToZoomEnabled(false);
+
         ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
         ArrayList<String> xVals = new ArrayList<String>();
         BarDataSet set1 = new BarDataSet(yVals1, "日销售额");
@@ -521,8 +523,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                 break;
 
             case R.id.ib_customer_vistor:
-//                startActivity(new Intent(this, OAActivity.class).putExtra("type", 1));
-                startActivity(new Intent(this, OAMainActivity.class).putExtra("type", 1));
+                startActivity(new Intent(this, OAActivity.class).putExtra("type", 1));
                 break;
             case R.id.ib_waller:
                 startActivity(new Intent(this, SalesRankingActivity.class));

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java

@@ -186,7 +186,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
     }
 
     private void initData() {
-        et_cu_sellername.setText(MyApplication.getInstance().mLoginUser.getNickName());
+        et_cu_sellername.setText(MyApplication.getInstance().mLoginUser.getNickName().trim());
         if (cu_code != null) {
             et_cu_code.setText(cu_code);
         } else {
@@ -209,7 +209,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
             mContact = intent.getStringExtra("contact");
             mPosition = intent.getStringExtra("position");
             mTelephone = intent.getStringExtra("telephone");
-
+            et_cu_sellercode = CommonUtil.getSharedPreferences(ct,"erp_username");
             if ("已提交".equals(cu_status)) {
                 disableEdit(false);
             } else {

+ 7 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/TaskAddActivity.java

@@ -39,8 +39,6 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import static com.xzjmyk.pm.activity.xmpp.CoreService.getIntent;
-
 public class TaskAddActivity extends BaseActivity implements View.OnClickListener {
     @ViewInject(R.id.tv_name)
     private FormEditText tv_name;
@@ -68,6 +66,13 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        if (getIntent() != null) {
+            int reid = getIntent().getIntExtra("reid", -1);
+            if (reid != -1) {
+                int theme = getSharedPreferences("cons", MODE_PRIVATE).getInt("theme", reid);
+                setTheme(theme);
+            }
+        }
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_task_add);
         initView();

+ 40 - 35
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java

@@ -23,11 +23,11 @@ import com.xzjmyk.pm.activity.bean.oa.OABean;
 import com.xzjmyk.pm.activity.bean.oa.SelectListBean;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectListActivity;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CodeUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
-import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.SingleDialog;
 import com.xzjmyk.pm.activity.util.BaiduMapUtil;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
@@ -84,7 +84,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
     private void initView() {
         ViewUtils.inject(this);
         getSupportActionBar().setTitle("拜访报告");
-//        tv_address_login.setText(MyApplication.getInstance().getBdLocationHelper().getAddress());
+
     }
 
     private void initListener() {
@@ -98,7 +98,19 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         tv_relate_business.setKeyListener(null);
         tv_visit_steps.setOnClickListener(this);
         tv_relate_business.setOnClickListener(this);
-
+        if (!getIntent().getBooleanExtra("isMe", true)) {
+            //当不可编辑tv_date_end
+            tv_date_start.setFocusable(false);
+            tv_date_end.setFocusable(false);
+            tv_address_refresh.setFocusable(false);
+            tv_customer_login.setFocusable(false);
+            tv_visit_steps.setFocusable(false);
+            tv_relate_business.setFocusable(false);
+            tv_visit_content.setFocusable(false);
+            tv_visit_theme.setFocusable(false);
+            tv_address_login.setFocusable(false);
+            tv_linksman_login.setFocusable(false);
+        }
     }
 
     private void initData() {
@@ -174,19 +186,18 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
                 progressDialog.dismiss();
             switch (msg.what) {
                 case Constants.HTTP_SUCCESS_INIT:
-
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
                     ToastMessage("保存成功!");
-
-                    mHandler.postDelayed(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (vp_id != -1)//更新接口
-                                updataCode();
-                            else
-                                endActivity();
-                        }
-                    }, 3000);
+                    if (vp_id != -1)//更新接口
+                        updataCode();
+                    else
+                        endActivity();
+//                    mHandler.postDelayed(new Runnable() {
+//                        @Override
+//                        public void run() {
+//
+//                        }
+//                    }, 3000);
                     break;
                 case 0x16://更新状态接口
                     ToastMessage("更新成功!");
@@ -328,12 +339,6 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             case R.id.tv_date_end:
                 showDateDialog((FormEditText) v.findViewById(R.id.tv_date_end));
                 break;
-           /* case R.id.tv_startTim_login:
-                showDateDialog((EditText) v.findViewById(R.id.tv_startTim_login));
-                break;
-            case R.id.tv_endTime_login:
-                showDateDialog((EditText) v.findViewById(R.id.tv_endTime_login));
-                break;*/
             case R.id.tv_address_refresh:
                 BaiduMapUtil.getInstence().getPoiInfo(ct, new BaiduMapUtil.OnLocationListener() {
                     @Override
@@ -379,6 +384,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             if (validator.validate(b.getObject())) {
                 com.alibaba.fastjson.JSONObject object = JSON.parseObject(b.getObject());
                 cu_code = object.containsKey("CU_CODE") ? object.getString("CU_CODE") : "";
+                Log.i("gongpengming", "cu_code=" + (StringUtils.isEmpty(cu_code) ? "空的" : cu_code));
                 tv_customer_login.setText(object.containsKey("CU_NAME") ? object.getString("CU_NAME") : " ");
                 tv_linksman_login.setText(object.containsKey("CU_CONTACT") ? object.getString("CU_CONTACT") : " ");
                 tv_address_login.setText(object.containsKey("CU_ADD1") ? object.getString("CU_ADD1") : " ");
@@ -445,7 +451,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         param.put("bc_nichecode", StringUtils.isEmpty(nichecode) ? "" : nichecode);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(this, "sessionId"));
-        com.xzjmyk.pm.activity.ui.erp.net.ViewUtil.httpSendRequest(this, url, param, mHandler, headers, 0x16, null, null, "post");
+        ViewUtil.httpSendRequest(this, url, param, mHandler, headers, 0x16, null, null, "post");
     }
 
 
@@ -459,21 +465,20 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             if (singleDialog.isShowing())
                 return;
         }
-        singleDialog = new SingleDialog(ct, title,
-                new SingleDialog.PickDialogListener() {
-                    @Override
-                    public void onListItemClick(int position, String value) {
-                        et.setText(value);
-                        for (int i = 0; i < array.size(); i++) {
-                            if (value.equals(array.getJSONObject(i).getString("CU_NAME"))) {
-                                if (StringUtils.isEmpty(vp_code))
-                                    vp_code = array.getJSONObject(i).getString("CU_CODE");
-                                tv_linksman_login.setText(array.getJSONObject(i).getString("CU_CONTACT"));
-                                tv_address_login.setText(array.getJSONObject(i).getString("CU_ADD1"));
-                            }
-                        }
+        singleDialog = new SingleDialog(ct, title, new SingleDialog.PickDialogListener() {
+            @Override
+            public void onListItemClick(int position, String value) {
+                et.setText(value);
+                for (int i = 0; i < array.size(); i++) {
+                    if (value.equals(array.getJSONObject(i).getString("CU_NAME"))) {
+                        if (StringUtils.isEmpty(vp_code))
+                            vp_code = array.getJSONObject(i).getString("CU_CODE");
+                        tv_linksman_login.setText(array.getJSONObject(i).getString("CU_CONTACT"));
+                        tv_address_login.setText(array.getJSONObject(i).getString("CU_ADD1"));
                     }
-                });
+                }
+            }
+        });
         singleDialog.show();
         singleDialog.initViewData(lists);
        /* } else {

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/UpdateSexActivity.java

@@ -24,6 +24,7 @@ public class UpdateSexActivity extends BaseActivity implements View.OnClickListe
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_update_sex);
+        getSupportActionBar().setTitle("性别");
         initViews();
 
         intent = getIntent();

+ 18 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/UpdateSingleTextActivity.java

@@ -1,10 +1,12 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.me;
 
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
 import android.widget.ImageView;
 
@@ -14,6 +16,9 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
+import java.util.Timer;
+import java.util.TimerTask;
+
 /**
   * @desc:更新单个编辑框的值
   * @author:Arison on 2016/9/27
@@ -32,6 +37,18 @@ public class UpdateSingleTextActivity extends BaseActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_update_single_text);
         ViewUtils.inject(this);
+        mNickEditText.setFocusable(true);
+        mNickEditText.setFocusableInTouchMode(true);
+        mNickEditText.requestFocus();
+
+        Timer timer = new Timer();
+        timer.schedule(new TimerTask() {
+            @Override
+            public void run() {
+                InputMethodManager inputMethodManager = (InputMethodManager) mNickEditText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+                inputMethodManager.showSoftInput(mNickEditText,0);
+            }
+        },200);
 
         intent = getIntent();
         if (intent != null){
@@ -39,6 +56,7 @@ public class UpdateSingleTextActivity extends BaseActivity {
         }
         if (mNickname != null){
             mNickEditText.setText(mNickname);
+            mNickEditText.setSelection(mNickname.length());
         }
         mCancelImageView.setOnClickListener(new View.OnClickListener() {
             @Override

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddMeetTaskActivity.java

@@ -70,6 +70,7 @@ public class AddMeetTaskActivity extends BaseActivity {
     public boolean onOptionsItemSelected(MenuItem item) {
         if (R.id.add_item == item.getItemId()) {
             Intent intent = new Intent(ct, TaskAddActivity.class);
+            intent.putExtra("reid",R.style.OAThemeMeet);
             intent.putExtra("type", 2);
             intent.putExtra("meetname", meetName);
             startActivityForResult(intent, 0x11);

+ 1 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddMeetingActivity.java

@@ -306,12 +306,11 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
     private void getMeetRoom() {
         HashMap<String, Object> param = new HashMap<>();
         param.put("caller", "MeetingRoom");
-        param.put("condition", "1=1");
+        param.put("condition", "mr_statuscode='AUDITED'");
         param.put("currentMaster", CommonUtil.getSharedPreferences(this, "erp_master"));
         param.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
         param.put("page", 1);
         param.put("pageSize", 30);
-
         Bundle bundle = new Bundle();
         bundle.putSerializable("param", param);
         Intent intent = new Intent(ct, SelectActivity.class);

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/LocationMapActivity.java

@@ -1,6 +1,7 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.Menu;

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetDetailsActivity.java

@@ -370,8 +370,8 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
                 }
                 break;
             case R.id.location_tag://点击重新定位
-                intent=new Intent(ct, LocationMapActivity.class);
-                intent.putExtra("action","MeetDetailsActivity");
+                intent = new Intent(ct, LocationMapActivity.class);
+                intent.putExtra("action", "MeetDetailsActivity");
                 startActivityForResult(intent, 0x11);
 //                getPoinfo();
                 break;

+ 450 - 508
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java

@@ -3,10 +3,13 @@ package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+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.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -15,16 +18,15 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.widget.AdapterView;
-import android.widget.BaseAdapter;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.PopupWindow;
-import android.widget.ScrollView;
 import android.widget.SimpleAdapter;
 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;
@@ -36,23 +38,24 @@ import com.xzjmyk.pm.activity.ui.erp.activity.ErpMenActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.crm.TaskAddActivity;
 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.adapter.OAListAdapter;
+import com.xzjmyk.pm.activity.ui.erp.fragment.CalendarFragmet;
 import com.xzjmyk.pm.activity.ui.erp.model.Employees;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
-import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
-import com.xzjmyk.pm.activity.util.CalendarUtils;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 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 com.xzjmyk.pm.activity.view.crouton.Crouton;
 
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -60,153 +63,120 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import static com.alibaba.fastjson.JSON.parseObject;
+
+/**
+ * Created by pengminggong on 2016/9/27.
+ */
+
 public class OAActivity extends BaseActivity implements View.OnClickListener {
-    private final int WHAT_LOAD = 0x11;
     @ViewInject(R.id.oa_rl_choose)
     private LinearLayout oa_rl_choose;
-    @ViewInject(R.id.oa_picker)
-    private CalendarView picker;
-    @ViewInject(R.id.oa_listview)
-    private MyListView listview;
+    @ViewInject(R.id.yeas_tv)
+    private TextView yeas_tv;
+    @ViewInject(R.id.day_tv)
+    private TextView day_tv;
+    @ViewInject(R.id.viewPager)
+    private ViewPager viewPager;
     @ViewInject(R.id.all_task_num)
-    private TextView all_task_num;  //所有任务个数
+    private TextView all_task_num;
     @ViewInject(R.id.ok_task_num)
-    private TextView ok_task_num;//完成任务个数
+    private TextView ok_task_num;
     @ViewInject(R.id.uok_task_num)
-    private TextView uok_task_num;//未完成个数
-    @ViewInject(R.id.ok_scale)
-    private ImageView ok_scale;//完成比例
-    @ViewInject(R.id.date_tv)
-    private TextView date_tv;  //当前月份
-    @ViewInject(R.id.my_client_log)
-    private TextView my_client_log;  //我的下属签到日志
-    @ViewInject(R.id.my_client_log_tag)
-    private View my_client_log_tag;//我的下属工作日志标识
+    private TextView uok_task_num;
+    @ViewInject(R.id.week_tv)
+    private TextView week_tv;
+    @ViewInject(R.id.oa_listview)
+    private MyListView oa_listview;
+
+    @ViewInject(R.id.subord_log)
+    private TextView subord_log;
+    @ViewInject(R.id.my_log)
+    private TextView my_log;
+    @ViewInject(R.id.subord_log_tag)
+    private View subord_log_tag;
     @ViewInject(R.id.my_log_tag)
-    private View my_log_tag;//我的工作日志标识
-    private int tag = 2;
-    private int selectDay = -1;
-    private ArrayList<OABean> meBeans = null;
-    private ArrayList<OABean> otherBeans = null;
-    private List<OABean> showOtherBeans = null;
-    private MyListViewAdapter adapter;
-    private EmptyLayout mEmptyLayout;
-
+    private View my_log_tag;
+    @ViewInject(R.id.ok_scale)
+    private ImageView ok_scale;
+    private EmptyLayout emptyLayout;
+
+    private boolean isCrm = false;
+    private boolean isMe = false;
+    private boolean hasOther = true;
+    private JSONArray meArray;    //当月我的数组
+    private JSONArray otherArray; //当月我的下属的数组
+    private OAListAdapter adapter; //当前列表的数据
+    private PagerAdapter pagerAdapter;//当前Viewpager适配器
+    private Date curDate;    //当前显示的日期  包含年月日信息
+
+    private Set<Integer> meInt;     //我的任务
+    private Set<Integer> otherInt;  //我的下属的任务
+    private int posItem;           //当前为滑动到的哪个Viewpager
     private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
-            progressDialog.dismiss();
+            if (progressDialog.isShowing())
+                progressDialog.dismiss();
             String message = (String) msg.getData().get("result");
             switch (msg.what) {
-                case WHAT_LOAD:
-                    JSONObject jsonObject = JSON.parseObject(message);
-                    if (jsonObject.isEmpty())
+                case 0x11:
+                    JSONObject jsonObject = parseObject(message);
+                    if (!jsonObject.containsKey("success") || !jsonObject.getBoolean("success") || jsonObject.isEmpty()) {
+                        emptyLayout.showEmpty();
                         return;
-                    loadSuccess(jsonObject);
+                    }
+                    JSONObject chche = null;
+                    meArray = new JSONArray();
+                    otherArray = new JSONArray();
+                    //处理我的
+                    if (jsonObject.containsKey("me")) {
+                        chche = jsonObject.getJSONObject("me");
+                        addJsonToArray(meArray, chche);
+                        meInt.clear();
+                        if (meArray != null && meArray.size() > 0) {
+                            meInt.addAll(getDay(meArray));
+                        }
+                    }
+                    //处理下属
+                    if (jsonObject.containsKey("other")) {
+                        chche = jsonObject.getJSONObject("other");
+                        addJsonToArray(otherArray, chche);
+                        otherInt.clear();
+                        if (otherArray != null && otherArray.size() > 0) {
+                            otherInt.addAll(getDay(otherArray));
+                        }
+                    }
+                    loadSuccess();
+                    break;
+                case 0x12:
+                    JSONArray array = JSON.parseObject(message).getJSONArray("datas");//获取到数据
+                    if (array == null || array.size() <= 0) {//无下属
+                        hasOther = false;
+                        chaneTAG(true);
+                    }
                     break;
             }
         }
     };
 
-    /**
-     * 下拉网络数据成功
-     *
-     * @param jsonObject
-     */
-    private void loadSuccess(JSONObject jsonObject) {
-        Map<Integer, String> map = null;
-        //获取下属数据
-        JSONObject jsonOther = jsonObject.containsKey("other") ? jsonObject.getJSONObject("other") : null;
-        if (jsonOther != null) {
-            map = new HashMap<>();
-            map.put(1, jsonOther.containsKey("task") ? jsonOther.getJSONArray("task").toString() : null);
-            map.put(2, jsonOther.containsKey("schedule") ? jsonOther.getJSONArray("schedule").toString() : null);
-            map.put(3, jsonOther.containsKey("visitPlan") ? jsonOther.getJSONArray("visitPlan").toString() : null);
-            otherBeans = dealingData(map);
-        }
-        //我的数据
-        JSONObject jsonMe = jsonObject.containsKey("me") ? jsonObject.getJSONObject("me") : null;
-        if (jsonOther != null) {
-            map = new HashMap<>();
-            map.put(1, jsonMe.containsKey("task") ? jsonMe.getJSONArray("task").toString() : null);
-            map.put(2, jsonMe.containsKey("schedule") ? jsonMe.getJSONArray("schedule").toString() : null);
-            map.put(3, jsonMe.containsKey("visitPlan") ? jsonMe.getJSONArray("visitPlan").toString() : null);
-            meBeans = dealingData(map);
-        }
-        Calendar c = Calendar.getInstance();
-        ArrayList<OABean> chche = new ArrayList<>();
-        for (OABean b : tag == 1 ? meBeans : otherBeans) {
-            String time = b.getStartdate() == null ? b.getEnddate() : b.getStartdate();
-            if (time == null) continue;
-            c.setTimeInMillis(TimeUtils.f_str_2_long(time));
-            if (c.get(Calendar.DAY_OF_MONTH) == CalendarUtils.getCurrentDate()) {//当前天的任务
-                chche.add(b);
-            }
-        }
-        if (adapter == null) {
-            adapter = new MyListViewAdapter(chche);
-            listview.setAdapter(adapter);
-        } else {
-            adapter.setBeans(chche);
-        }
-        setTaskDay(tag == 1 ? meBeans : otherBeans);
-    }
-
-    private void setTaskDay(List<OABean> beans) {
+    private Set<Integer> getDay(JSONArray array) {
+        JSONObject object = null;
+        Set<Integer> integers = new HashSet<>();
         Calendar c = Calendar.getInstance();
-        ArrayList<Integer> tasks = new ArrayList<>();
-        for (OABean b : beans) {
-            String time = b.getStartdate() == null ? b.getEnddate() : b.getStartdate();
-            if (time == null) continue;
-            if (getIntent() == null || getIntent().getIntExtra("type", 0) != 1) {//非crm
-                c.setTimeInMillis(TimeUtils.f_str_2_long(time));
-                tasks.add(c.get(Calendar.DAY_OF_MONTH));
-            } else {//crm
-                if (b != null && b.getClient() != null) {
-                    c.setTimeInMillis(TimeUtils.f_str_2_long(time));
-                    tasks.add(c.get(Calendar.DAY_OF_MONTH));
-                }
+        String chche = null;
+        for (int i = 0; i < array.size(); i++) {
+            object = array.getJSONObject(i);
+            chche = (object.containsKey("startdate") && !StringUtils.isEmpty(object.getString("startdate"))) ? object.getString("startdate") : ((
+                    object.containsKey("vr_visittime") && !StringUtils.isEmpty(object.getString("vr_visittime"))) ? object.getString("vr_visittime") : null);
+            if (!StringUtils.isEmpty(chche)) {
+                c.setTimeInMillis(TimeUtils.f_str_2_long(chche));
+                integers.add(c.get(Calendar.DAY_OF_MONTH));
             }
         }
-        int[] t = new int[tasks.size()];
-        for (int i = 0; i < tasks.size(); i++) {
-            t[i] = tasks.get(i);
-        }
-        picker.setTaskDay(t);
-    }
-
-    /**
-     * 设置数据到对象中
-     *
-     * @param map 数据对象
-     */
-    private ArrayList<OABean> dealingData(Map<Integer, String> map) {
-        if (map.isEmpty()) return null;
-        ArrayList<OABean> beans = new ArrayList<>();
-        Set<Integer> key = map.keySet();
-        for (int k : key) {
-            if (!map.containsKey(k) || map.get(k) == null || map.get(k).length() <= 0)
-                continue;//如果获取没有数据   退出
-            List<OABean> chche = JSON.parseArray(map.get(k), OABean.class);
-            if (chche == null || chche.size() <= 0) continue;
-            for (int i = 0; i < chche.size(); i++)
-                chche.get(i).setType(k);
-            beans.addAll(chche);
-        }
-        return beans;
+        return integers;
     }
 
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        if (getIntent() != null && getIntent().getIntExtra("type", 0) == 1)
-            setTheme(R.style.CrmThemeVisit);
-        super.onCreate(savedInstanceState);
-        Log.i(TAG, "onCreate:");
-        setContentView(R.layout.activity_oa);
-        ViewUtils.inject(this);
-        getSupportActionBar().setTitle("办公自动化");
-        initView();
-    }
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
@@ -222,153 +192,276 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
         return super.onOptionsItemSelected(item);
     }
 
-
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (data == null) return;
-        if (requestCode == 0x11 && 0x11 == resultCode) {
+        if (requestCode == 0x20) {
+            loadNetData(TimeUtils.ym_format.format(curDate));
+        } else if (requestCode == 0x11 && resultCode == 0x11) {
+            if (data == null) return;
             Employees entity = data.getParcelableExtra("data");
-            if (entity == null || entity.getEm_name() == null) return;
-            my_client_log.setText(entity.getEm_name());
-            //下属选项
-            if (otherBeans == null) {
-                adapter.setBeans(new ArrayList<OABean>());
-                return;
-            }
-            List<OABean> chche = new ArrayList<>();
-            String name = "," + entity.getEm_name().trim() + ",";
-            if (name == null) return;
-            String nameStr;
-            for (OABean e : otherBeans) {
-                if (e.getHandler() != null) {//任务日程
-                    if (e.getHandler() == null || e.getHandler().length() <= 0) continue;
-                    nameStr = "," + e.getHandler().trim() + ",";
-                    if (getResult(nameStr, name)) {//是该下属任务日程
-                        chche.add(e);
-                    }
-                } else if (e.getRecordman() != null) {//拜访
-                    if (e.getRecordman() == null || e.getRecordman().length() <= 0) continue;
-                    nameStr = "," + e.getRecordman().trim() + ",";
-                    if (getResult(nameStr, name)) {//是该下属任务日程
-                        chche.add(e);
+            if (entity == null) return;
+            //TODO 选择下属后返回
+            String otherName = entity.getEm_name();
+            if (!StringUtils.isEmpty(otherName)) {
+                JSONArray array = new JSONArray();
+                for (int i = 0; i < otherArray.size(); i++) {
+                    JSONObject object = otherArray.getJSONObject(i);
+                    String name = "," + (object.containsKey("handler") ? object.getString("handler") :
+                            (object.containsKey("recordman") ? object.getString("recordman") :
+                                    (object.containsKey("visitman") ? object.getString("visitman") : ""))) + ",";
+                    if (StringUtils.isEmpty(otherName)//没有选择下属
+                            || getIsDecorat(name, "," + otherName + ",")) {
+                        array.add(object);
                     }
                 }
+                Set<Integer> aa = getDay(array);
+                setDateToListener(aa);
+                setAdapterBeans(array);
             }
-            setTaskDay(chche);
-            showOtherBeans = chche;
-            adapter.setBeans(chche);
-        }
-        if (requestCode == 0x20 && 0x20 == resultCode) {
-            loadNetData();
         }
     }
 
     @Override
-    public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.ok_scale:  //筛选
-                Intent intent = new Intent(ct, UserSelectActivity.class);
-                intent.putExtra("single", true);
-                intent.putExtra("net", true);
-                startActivityForResult(intent, 0x11);
-                break;
-            case R.id.signin://打卡签到
-                startActivity(new Intent(activity, SigninActivity.class));
-                break;
-            case R.id.outoffice:  //外勤签到
-                startActivity(new Intent(activity, OutofficeActivity.class));
-                break;
-            case R.id.meeting://会议管理
-                startActivity(new Intent(activity, MeetingActivity.class));
-                break;
-            case R.id.worklog://工作日志
-                startActivity(new Intent(activity, WorkLogsActivity.class));
-                break;
-            case R.id.stroke://我的行程
-                //TODO 审批先不做
-                ToastUtil.showToast(activity, "该功能还在内测中");
-                break;
-            case R.id.erp://考勤单据
-                startActivity(new Intent(activity, ErpMenActivity.class));
-                break;
-            case R.id.outoffice_task://差旅费报销
-                ToastUtil.showToast(activity, "该功能还在内测中");
-                break;
-            case R.id.statistics://考勤统计
-                ToastUtil.showToast(activity, "该功能还在内测中");
-                break;
-            case R.id.my_client_log://我的下属工作日志
-                if (tag == 1)
-                    chaneTAG(false);
-                break;
-            case R.id.my_log://我的工作日志
-                if (tag == 2)
-                    chaneTAG(true);
-                break;
-        }
+    protected void onCreate(Bundle savedInstanceState) {
+        setCustomTheme();
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_oamain);
+        ViewUtils.inject(this);
+        initView();
+        initEvent();
     }
 
-    private void initView() {
-        mEmptyLayout = new EmptyLayout(this, listview);
-        mEmptyLayout.setShowLoadingButton(false);
-        mEmptyLayout.setShowEmptyButton(false);
-        mEmptyLayout.setShowErrorButton(false);
-        chaneTAG(false);
-        initData();
-        setListener();
-        selectDay = picker.getDownIndex();
-        Log.i("gongpengming", "selectDay=" + selectDay);
-        loadNetData();
-        listview.setFocusable(false);
+    private void setCustomTheme() {
+        isCrm = getIntent() == null ? false : (getIntent().getIntExtra("type", 0) == 1);
+        if (isCrm) {//crm
+            setTheme(R.style.CrmThemeVisit);
+        }
     }
 
-    private void initData() {
-//        rootScrollView.requestDisallowInterceptTouchEvent(false);
-        picker.setCalendarData(new Date());
-        picker.setSelectMore(false);
-        adapter = new MyListViewAdapter();
-        listview.setAdapter(adapter);
-        date_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "yyyy-MM-dd") + "  " + TimeUtils.getWeek(System.currentTimeMillis()));
-        //CRM链入 隐藏菜单
-        if (getIntent() == null || getIntent().getIntExtra("type", 0) != 1) return;
-        oa_rl_choose.setVisibility(View.GONE);
-        getSupportActionBar().setTitle("客户拜访");
+    private void initEvent() {
+        findViewById(R.id.signin).setOnClickListener(this);
+        findViewById(R.id.outoffice).setOnClickListener(this);
+        findViewById(R.id.meeting).setOnClickListener(this);
+        findViewById(R.id.worklog).setOnClickListener(this);
+        findViewById(R.id.erp).setOnClickListener(this);
+        findViewById(R.id.stroke).setOnClickListener(this);
+        findViewById(R.id.outtask).setOnClickListener(this);
+        findViewById(R.id.signinlog).setOnClickListener(this);
+        findViewById(R.id.subord_log).setOnClickListener(this);
+        findViewById(R.id.my_log).setOnClickListener(this);
+        findViewById(R.id.ok_scale).setOnClickListener(this);
+        oa_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                JSONArray array = adapter.getArray();
+                JSONObject object = array.getJSONObject(i);
+                Intent intent = null;
+                if (adapter.isTask(object)) {
+                    intent = new Intent(ct, DetailTaskActivity.class);
+                    intent.putExtra("description", object.getString("department"));
+                    intent.putExtra("isMe", isMe);
+                    intent.putExtra("duration", object.getString("department"));
+                    intent.putExtra("status", object.getString("status"));
+                    intent.putExtra("taskname", object.getString("name"));//名称
+                    intent.putExtra("taskemcode", object.getString("recorder"));//发起人
+                    intent.putExtra("tasktime", object.getString("startdate"));//发起时间
+                    intent.putExtra("performer", object.getString("handler"));//处理人编号
+                    intent.putExtra("taskcode", object.getString("taskcode"));//处理人编号
+                    intent.putExtra("ra_taskid", String.valueOf(object.getIntValue("ra_taskid")));//取回复内容id
+                    intent.putExtra("taskid", String.valueOf(object.getIntValue("ra_id")));//编号
+                    intent.putExtra("endtime", object.getString("enddate"));
+                    startActivityForResult(intent, isMe ? 0x20 : 0x21);
+                } else if (adapter.isVisit(object)) {
+                    intent = new Intent(activity, VisitReportAddActivity.class);
+                    intent.putExtra("type", 1);
+                    String chche = object.containsKey("status") ? object.getString("status") == null ? "" : object.getString("status") : "";
+                    Log.i("gongpengming","chche="+chche);
+                    boolean me = (isMe && !"已拜访".equals(chche));
+                    Log.i("gongpengming", "me=" + me);
+                    intent.putExtra("isMe", me);
+                    intent.putExtra("isAgen", true);
+                    OABean bean = JSON.parseObject(object.toString(), OABean.class);
+                    intent.putExtra("data", bean);
+                    startActivityForResult(intent, isMe ? 0x20 : 0x21);
+                } else if (adapter.isVisitRecord(object)) {
+                    intent = new Intent(activity, VisitReportAddActivity.class);
+                    intent.putExtra("type", 2);
+                    String chche = object.containsKey("status") ? object.getString("status") == null ? "" : object.getString("status") : "";
+                  Log.i("gongpengming","chche="+chche);
+                    boolean me = (isMe && !"已拜访".equals(chche) && !"".equals(chche));
+                    Log.i("gongpengming", "me=" + me);
+                    intent.putExtra("isMe", me);
+                    intent.putExtra("isAgen", true);
+                    intent.putExtra("data", object.toString());
+                    startActivityForResult(intent, isMe ? 0x20 : 0x21);
+                }
+            }
+        });
+        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+            }
+
+            @Override
+            public void onPageSelected(int position) {
+                posItem = position;
+                curDate = date[position];
+                Calendar c = Calendar.getInstance();
+                c.setTime(curDate);
+                setDateTag(curDate);
+                loadNetData(TimeUtils.ym_format.format(curDate));
+            }
 
+            @Override
+            public void onPageScrollStateChanged(int state) {
+            }
+        });
+    }
+
+    private void initView() {
+        //设置为空显示列表
+        emptyLayout = new EmptyLayout(ct, oa_listview);
+        emptyLayout.setShowLoadingButton(false);
+        emptyLayout.setShowEmptyButton(false);
+        emptyLayout.setShowErrorButton(false);
+        emptyLayout.setEmptyViewRes(R.layout.oa_empty_list);
+
+        listenerMap = new HashMap<>();
+        curDate = new Date();
+        meInt = new HashSet<>();
+        otherInt = new HashSet<>();
+        String title = "";
+        if (isCrm) {
+            oa_rl_choose.setVisibility(View.GONE);
+            title = "客户拜访";
+            subord_log.setText("下属拜访");
+            my_log.setText("我的拜访");
+        } else {
+            title = "办公自动化";
+        }
+        getSupportActionBar().setTitle(title);
+        adapter = new OAListAdapter(ct);
+        oa_listview.setAdapter(adapter);
+        setDateTag(new Date());
+        getDataByNet();
+        loadNetData(String.valueOf(TimeUtils.ym_long_2_str(System.currentTimeMillis())));
+        //TODO 以下待优化代码
+        posItem = MAX_PAGER / 2;
+        setDate();
+        LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) viewPager.getLayoutParams(); // 取控件mGrid当前的布局参数   搜索
+        linearParams.height = (getResources().getDisplayMetrics().heightPixels * 1 / 3);// 当控件的高强制设成50象素
+        viewPager.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件myGrid
+        pagerAdapter = new PagerAdapter(getSupportFragmentManager());
+        viewPager.setAdapter(pagerAdapter);
+        viewPager.setCurrentItem(MAX_PAGER / 2);
     }
 
-    //获取数据
-    public void loadNetData() {
+    /**
+     * 获取数据
+     *
+     * @param date 月份 yyyyMM
+     */
+    public void loadNetData(String date) {
+        progressDialog.show();
         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()));
+        param.put("date", date);
         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");
+        ViewUtil.httpSendRequest(this, url, param, handler, headers, 0x11, null, null, "get");
     }
 
-    //判断是否管理员
-    private void judgeManager() {
-        Map<String, Object> param = new HashMap<>();
-        String emcode = CommonUtil.getSharedPreferences(ct, "erp_username");
-        String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/ifadmin.action";
-        param.put("emcode", emcode);
+    private void getDataByNet() {
+        progressDialog.show();
+        //获取网络数据
+        String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/crm/getstaffmsg.action";
+        final Map<String, Object> param = new HashMap<>();
+        param.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
         param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x12, null, null, "get");
     }
 
+    /**
+     * @param array 填充的对象
+     * @param chche
+     */
+    private void addJsonToArray(JSONArray array, JSONObject chche) {
+        array.addAll(addJsonToArray(chche, "schedule"));
+        array.addAll(addJsonToArray(chche, "visitPlan"));
+        array.addAll(addJsonToArray(chche, "task"));
+        array.addAll(addJsonToArray(chche, "visitRecord"));
+    }
 
-    private boolean getResult(String text, String str) {
-        Pattern p = Pattern.compile(str);
-        Matcher m = p.matcher(text);
-        return m.find();
+    /*添加json数据到数组里面   区别crm和oa*/
+    private JSONArray addJsonToArray(JSONObject chche, String key) {
+        JSONArray chcheArray = new JSONArray();
+        if (chche.containsKey(key) && chche.getJSONArray(key).size() > 0) {
+            JSONArray a = chche.getJSONArray(key);
+            if (isCrm) {
+                JSONObject o = null;
+                if (adapter == null)
+                    adapter = new OAListAdapter(ct);
+                for (int i = 0; i < a.size(); i++) {
+                    o = a.getJSONObject(i);
+                    if (adapter.isVisit(o) || adapter.isVisitRecord(o))
+                        chcheArray.add(o);
+                }
+            } else {
+                chcheArray = a;
+            }
+        }
+        return chcheArray;
+    }
+
+    private void loadSuccess() {//下拉成功后添加到适配器
+        setAdapterBeans();
+        if (isMe) {
+            setDateToListener(meInt);
+        } else {
+            setDateToListener(otherInt);
+        }
     }
 
+    private void setAdapterBeans() {
+        setAdapterBeans(isMe ? meArray : otherArray);
+    }
 
-    //需要抽取的代码
+    private void setAdapterBeans(JSONArray array) {
+        if (array == null) return;
+        int ok = 0, size = 0;
+        JSONObject object = null;
+        JSONArray chche = new JSONArray();
+        String time = null;
+        for (int i = 0; i < array.size(); i++) {
+            object = array.getJSONObject(i);
+            time = (object.containsKey("startdate") && !StringUtils.isEmpty(object.getString("startdate"))) ? object.getString("startdate") :
+                    ((object.containsKey("vr_visittime") && !StringUtils.isEmpty(object.getString("vr_visittime"))) ? object.getString("vr_visittime") : "");
+            if (!StringUtils.isEmpty(time) && getIsDecorat(time, TimeUtils.s_format.format(curDate))) {//该时间为选择时间
+                //判断是否为该下属
+                chche.add(object);
+                size++;
+                if (!object.containsKey("status") || (object.containsKey("status") && !StringUtils.isEmpty(object.getString("status")) && "已拜访".equals(object.getString("status")) || "已完成".equals(object.getString("status")))) {
+                    ok++;
+                }
+            }
+        }
+        if (chche.size() <= 0) {
+            emptyLayout.showEmpty();
+        }
+        all_task_num.setText("工作日历 " + size);
+        ok_task_num.setText("已完成 " + ok);
+        uok_task_num.setText("未完成 " + (size - ok));
+        adapter.setArray(chche, isMe);
+        adapter.notifyDataSetChanged();
+
+    }
+
+
+    //弹出菜单
     private PopupWindow popupWindow = null;
 
     public void showPopupWindow(View parent) {
@@ -378,11 +471,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
             LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             view = layoutInflater.inflate(R.layout.pop_crm_list, null);
             ListView plist = (ListView) view.findViewById(R.id.mList);
-            SimpleAdapter adapter = new SimpleAdapter(
-                    this,
-                    getPopData(),
-                    R.layout.item_pop_list,
-                    new String[]{"item_name"}, new int[]{R.id.tv_item_name});
+            SimpleAdapter adapter = new SimpleAdapter(ct, getPopData(), R.layout.item_pop_list, new String[]{"item_name"}, new int[]{R.id.tv_item_name});
             plist.setAdapter(adapter);
             plist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                 @Override
@@ -456,297 +545,150 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
         return list;
     }
 
-    //设置控件点击事件
-    private void setListener() {
-        findViewById(R.id.signin).setOnClickListener(this);
-        findViewById(R.id.outoffice).setOnClickListener(this);
-        findViewById(R.id.meeting).setOnClickListener(this);
-        findViewById(R.id.worklog).setOnClickListener(this);
-        findViewById(R.id.erp).setOnClickListener(this);
-        findViewById(R.id.stroke).setOnClickListener(this);
-        findViewById(R.id.outoffice_task).setOnClickListener(this);
-        findViewById(R.id.statistics).setOnClickListener(this);
-        findViewById(R.id.my_client_log).setOnClickListener(this);
-        findViewById(R.id.my_log).setOnClickListener(this);
-        findViewById(R.id.ok_scale).setOnClickListener(this);
-
-        picker.setOnItemClickListener(new CalendarView.OnItemClickListener() {
-            @Override
-            public void OnItemClick(int downDate) {
-                selectDay = downDate;
-                String chche = TimeUtils.long2str(System.currentTimeMillis(), "yyyy-MM") + "-" + (downDate < 10 ? "0" : "") + downDate;
-                date_tv.setText(chche + "  " + TimeUtils.getWeek(chche));
-                Calendar c = Calendar.getInstance();
-                selectDay = downDate;
-                List<OABean> beans = new ArrayList<>();
-                try {
-                    List<OABean> b;
-                    if (tag == 1) {
-                        b = meBeans == null ? new ArrayList<OABean>() : meBeans;
-                    } else {
-                        b = showOtherBeans == null ? (otherBeans == null ? new ArrayList<OABean>() : otherBeans) : showOtherBeans;
-                    }
-                    for (OABean e : b) {
-                        if (e.getStartdate() == null) continue;
-                        c.setTimeInMillis(TimeUtils.f_str_2_long(e.getStartdate()));
-                        int day = c.get(Calendar.DAY_OF_MONTH);
-                        if (day == downDate) {//选择那天的任务
-                            beans.add(e);
-                        }
-                    }
-                } catch (NullPointerException e) {
-                    e.printStackTrace();
-                } finally {
-                    adapter.setBeans(beans);
-                }
-            }
-        });
-        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
-                if (tag!=1) return;
-                List<OABean> beans = adapter.getBeans();
-
-
-
-            }
-        });
-    }
-
-    private void setPoithNum(List<OABean> beans) {
-        int ok = 0, noOk = 0;
-        if (!ListUtils.isEmpty(beans)) {
-            for (OABean b : beans) {
-                if (StringUtils.isEmpty(b.getStatus())) continue;
-                if ("已完成".equals(b.getStatus()) || "已拜访".equals(b.getStatus())) {
-                    ok++;
-                } else {
-                    noOk++;
-                }
+    //设置标签
+    private void chaneTAG(boolean isMe) {
+        this.isMe = isMe;
+        if (isMe) {
+            if (!subord_log.getText().toString().trim().equals("下属工作日历")) {
+                subord_log.setText("下属工作日历");
             }
-        }
-        all_task_num.setText("工作日历:" + (ok + noOk));
-        ok_task_num.setText("已完成:" + ok);
-        uok_task_num.setText("未完成:" + noOk);
-    }
-
-
-    /**
-     * 点击我和我的下属的工作日志中的标识变化
-     *
-     * @param isMy 是否是 我的工作日志
-     */
-    private void chaneTAG(boolean isMy) {
-        if (isMy) {
-            mEmptyLayout.setEmptyMessage("多见一个客户就多一个机会哦");
-            showOtherBeans = null;
-            if (!my_client_log.getText().toString().trim().equals("下属工作日历")) {
-                my_client_log.setText("下属工作日历");
-            }
-            tag = 1;
+            setDateToListener(meInt);
             ok_scale.setVisibility(View.GONE);
             my_log_tag.setBackgroundResource(R.color.darkorange);
-            my_client_log_tag.setBackgroundDrawable(null);
-            if (adapter != null && meBeans != null) {
-                adapter.setBeans(meBeans);
-                setTaskDay(meBeans);
-            }
+            subord_log_tag.setBackgroundDrawable(null);
         } else {
-            mEmptyLayout.setEmptyMessage("无拜访计划");
-            tag = 2;
+            setDateToListener(otherInt);
             ok_scale.setVisibility(View.VISIBLE);
-            my_client_log_tag.setBackgroundResource(R.color.darkorange);
+            subord_log_tag.setBackgroundResource(R.color.darkorange);
             my_log_tag.setBackgroundDrawable(null);
-            if (adapter != null && otherBeans != null) {
-                adapter.setBeans(otherBeans);
-                setTaskDay(otherBeans);
-            }
         }
+        setAdapterBeans();
     }
 
-    //列表适配器
-    class MyListViewAdapter extends BaseAdapter {
-        private List<OABean> beans;//适配器使用
+    private int MAX_PAGER = 30;
+    private Date[] date = new Date[MAX_PAGER];
 
-        public MyListViewAdapter() {
-        }
+    private void setDateTag(Date date) {
+        Calendar c = Calendar.getInstance();
+        c.setTime(date);
+        int yeas = c.get(Calendar.YEAR);
+        int month = c.get(Calendar.MONTH) + 1;
+        int day = c.get(Calendar.DAY_OF_MONTH);
+        yeas_tv.setText(yeas + "年" + month + "月");
+        day_tv.setText(day + "日");
+        week_tv.setText(TimeUtils.getWeek(TimeUtils.s_format.format(date)));
+    }
 
-        public MyListViewAdapter(List<OABean> beans) {
-            if (ListUtils.isEmpty(beans) && tag == 1) mEmptyLayout.showEmpty();
-            this.beans = getBeans(beans);
+    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();
         }
+    }
 
-        private List<OABean> getBeans(List<OABean> beans) {
-            List<OABean> chche = new ArrayList<>();
-            if (beans == null) return null;
-            Calendar c = Calendar.getInstance();
-            int day = 0;
-            if (getIntent() == null || getIntent().getIntExtra("type", 0) != 1) {
-                if (selectDay > 0) {
-                    for (OABean e : beans) {
-                        if (e.getStartdate() == null) continue;
-                        c.setTimeInMillis(TimeUtils.f_str_2_long(e.getStartdate()));
-                        day = c.get(Calendar.DAY_OF_MONTH);
-                        if (day == selectDay) {//选择那天的任务
-                            chche.add(e);
-                        }
-                    }
-                } else {
-                    chche = beans;
-                }
-            } else {//crm
-                //只显示拜访
-                for (OABean e : beans) {
-                    if (e.getStartdate() == null) continue;
-                    c.setTimeInMillis(TimeUtils.f_str_2_long(e.getStartdate()));
-                    day = c.get(Calendar.DAY_OF_MONTH);
-                    if (e != null && e.getClient() != null) {
-                        if (selectDay <= 0 || day == selectDay)
-                            chche.add(e);
+    @Override
+    public void onClick(View view) {
+        switch (view.getId()) {
+            case R.id.ok_scale:  //筛选
+                Intent intent = new Intent(ct, UserSelectActivity.class);
+                intent.putExtra("single", true);
+                intent.putExtra("net", true);
+                startActivityForResult(intent, 0x11);
+                break;
+            case R.id.signin://打卡签到
+                startActivity(new Intent(activity, SigninActivity.class));
+                break;
+            case R.id.outoffice:  //外勤签到
+                startActivity(new Intent(activity, OutofficeActivity.class));
+                break;
+            case R.id.meeting://会议管理
+                startActivity(new Intent(activity, MeetingActivity.class));
+                break;
+            case R.id.worklog://工作日志
+                startActivity(new Intent(activity, WorkLogsActivity.class));
+                break;
+            case R.id.stroke://我的行程
+                //TODO 审批先不做
+                ToastUtil.showToast(activity, "该功能还在内测中");
+                break;
+            case R.id.erp://考勤单据
+                startActivity(new Intent(activity, ErpMenActivity.class));
+                break;
+            case R.id.outtask://差旅费报销
+                ToastUtil.showToast(activity, "该功能还在内测中");
+                break;
+            case R.id.signinlog://考勤统计
+                ToastUtil.showToast(activity, "该功能还在内测中");
+                break;
+            case R.id.subord_log://我的下属工作日志
+                if (isMe)
+                    if (hasOther) {
+                        chaneTAG(false);
+                    } else {
+                        Crouton.makeText(ct, "当前账号没有下属,如有问题请联系系统管理员");
                     }
-                }
-            }
-            setPoithNum(chche);
-            return chche;
+                break;
+            case R.id.my_log://我的工作日志
+                if (!isMe)
+                    chaneTAG(true);
+                break;
         }
+    }
 
-        public List<OABean> getBeans() {
-            return beans;
-        }
+    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);
+    }
 
-        public void setBeans(List<OABean> beans) {
-            this.beans = getBeans(beans);
-            if (ListUtils.isEmpty(beans)) mEmptyLayout.showEmpty();
-            notifyDataSetChanged();
-        }
+    class PagerAdapter extends FragmentPagerAdapter {
 
-        @Override
-        public int getCount() {
-            return beans == null ? 0 : beans.size();
+        public PagerAdapter(FragmentManager fm) {
+            super(fm);
         }
 
         @Override
-        public Object getItem(int i) {
-            return beans.get(i);
+        public Fragment getItem(int position) {
+            return CalendarFragmet.getInstance(date[position]);
         }
 
         @Override
-        public long getItemId(int i) {
-            return i;
-        }
-
-        @Override
-        public View getView(final int i, View view, ViewGroup viewGroup) {
-            Viewholder viewholder = null;
-            if (view == null) {
-                viewholder = new Viewholder();
-                view = LayoutInflater.from(activity).inflate(R.layout.oa_mylistview_item, null);
-                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_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();
-            }
-            viewholder.item_doit_tv.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    Intent intent = null;
-                    chche = beans.get(i);
-                    if (chche.getType() == 3) {
-                        intent = new Intent(activity, VisitReportAddActivity.class);
-                        intent.putExtra("data", chche);
-                        startActivityForResult(intent, 0x20);
-                    } else if (chche.getType() == 1 || chche.getType() == 2) {
-                        intent = new Intent(ct, DetailTaskActivity.class);
-                        intent.putExtra("description", chche.getDescription());
-                        intent.putExtra("duration", chche.getDescription());
-                        intent.putExtra("status", chche.getStatus() + "");
-                        intent.putExtra("taskname", chche.getName());//名称
-                        intent.putExtra("taskemcode", chche.getRecorder());//发起人
-                        intent.putExtra("tasktime", chche.getStartdate());//发起时间
-                        intent.putExtra("performer", chche.getHandler());//处理人编号
-                        intent.putExtra("taskcode", chche.getTaskcode());//处理人编号
-                        intent.putExtra("ra_taskid", chche.getRa_taskid());//取回复内容id
-                        intent.putExtra("taskid", chche.getRa_id() + "");//编号
-                        intent.putExtra("endtime", chche.getEnddate());
-                        startActivityForResult(intent, 0x20);
-                    }
-                }
-            });
-            bindData(viewholder, i);
-            return view;
+        public int getCount() {
+            return MAX_PAGER;
         }
+    }
 
-        private OABean chche;//临时数据
-
-        private void bindData(Viewholder viewholder, int i) {
-            chche = beans.get(i);
-            //处理 viewholder.item_doit_tv 去拜访、补拜访、去显示
-            if (tag == 1) {
-                if (!StringUtils.isEmpty(chche.getStatus()) && ("已拜访".equals(chche.getStatus()) || "已完成".equals(chche.getStatus()))) {
-                    viewholder.item_doit_tv.setVisibility(View.GONE);
-                } else {
-                    viewholder.item_doit_tv.setVisibility(View.VISIBLE);
-                }
-            } else {
-                viewholder.item_doit_tv.setVisibility(View.GONE);
-            }
-            viewholder.item_status_tv.setText(StringUtils.isEmpty(chche.getStatus()) ? "" : chche.getStatus());
-            if (!StringUtils.isEmpty(chche.getName())) {//名字
-                viewholder.item_name_tv.setText(chche.getName());
-                viewholder.item_doit_tv.setImageResource(R.drawable.oa_next);
-            } else if (!StringUtils.isEmpty(chche.getClient())) {
-                viewholder.item_name_tv.setText(chche.getClient());
-                if (!StringUtils.isEmpty(chche.getVisitdate()) && chche.getVisitdate().compareTo(TimeUtils.f_long_2_str(System.currentTimeMillis())) < 0) {
-                    viewholder.item_doit_tv.setImageResource(R.drawable.oa_doit_agen);
-                } else {
-                    viewholder.item_doit_tv.setImageResource(R.drawable.oa_doit);
-                }
-            }
-            if (chche.getDescription() != null) {//备注
-                viewholder.item_remak.setText(chche.getDepartment());
-            } else if (chche.getRemark() != null) {
-                viewholder.item_remak.setText(chche.getRemark());
-                viewholder.item_remak.setVisibility(View.GONE);
-            } else {
-                viewholder.item_remak.setText("");
-            }
-            if (chche.getAddress() != null) {//地址
-                viewholder.item_addr_tv.setText(chche.getAddress());
-                Drawable drawable = getResources().getDrawable(R.drawable.oa_signin);
-                drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
-                viewholder.item_addr_tv.setCompoundDrawables(drawable, null, null, null);
-            } else if (chche.getStartdate() != null) {//开始时间
-                viewholder.item_addr_tv.setText(chche.getStartdate() == null ? "未填写" : chche.getStartdate());
-                viewholder.item_addr_tv.setCompoundDrawables(null, null, null, null);
-            } else {
-                viewholder.item_addr_tv.setText("");
-            }
-
-            if (chche.getHandler() != null) {//对象
-                viewholder.item_object_tv.setText(chche.getHandler());
-            } else if (chche.getDepartment() != null || chche.getRecordman() != null) {
-                String str = chche.getDepartment() == null ? "" : chche.getDepartment() + " -> " + chche.getRecordman() == null ? "" : chche.getRecordman();
-                viewholder.item_object_tv.setText(str);
-            } else {
-                viewholder.item_object_tv.setText("");
-            }
+    /*当点击了指定日期(点击日期、滑动时候触发)*/
+    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();
+    }
 
-        class Viewholder {
-            TextView item_name_tv,//名字
-                    item_addr_tv,//地址
-                    item_object_tv,//对象
-                    item_status_tv,//状态
-                    item_remak;//备注
-            ImageView item_doit_tv;//去拜访按钮
-        }
+    /*判断*/
+    private boolean getIsDecorat(String text, String chche) {
+        Pattern p = Pattern.compile(chche);//遍历对象
+        Matcher m = p.matcher(text);//遍历源
+        return m.find();
     }
 
+    private Map<String, OnTaskChangeListener> listenerMap;
+
+    public void setListener(String key, OnTaskChangeListener listener) {
+        listenerMap.put(key, listener);
+    }
 
+    public interface OnTaskChangeListener {
+        void onChange(Set<Integer> in);
+    }
 }

+ 0 - 684
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAMainActivity.java

@@ -1,684 +0,0 @@
-package com.xzjmyk.pm.activity.ui.erp.activity.oa;
-
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.drawable.BitmapDrawable;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-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;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.AdapterView;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.PopupWindow;
-import android.widget.SimpleAdapter;
-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.OABean;
-import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.DetailTaskActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.ErpMenActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.crm.TaskAddActivity;
-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.adapter.OAListAdapter;
-import com.xzjmyk.pm.activity.ui.erp.fragment.CalendarFragmet;
-import com.xzjmyk.pm.activity.ui.erp.model.Employees;
-import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
-import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
-import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
-import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
-import com.xzjmyk.pm.activity.util.DisplayUtil;
-import com.xzjmyk.pm.activity.util.TimeUtils;
-import com.xzjmyk.pm.activity.util.ToastUtil;
-import com.xzjmyk.pm.activity.view.MyListView;
-import com.xzjmyk.pm.activity.view.crouton.Crouton;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-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;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static com.alibaba.fastjson.JSON.parseObject;
-
-/**
- * Created by pengminggong on 2016/9/27.
- */
-
-public class OAMainActivity extends BaseActivity implements View.OnClickListener {
-    @ViewInject(R.id.oa_rl_choose)
-    private LinearLayout oa_rl_choose;
-    @ViewInject(R.id.yeas_tv)
-    private TextView yeas_tv;
-    @ViewInject(R.id.day_tv)
-    private TextView day_tv;
-    @ViewInject(R.id.viewPager)
-    private ViewPager viewPager;
-    @ViewInject(R.id.all_task_num)
-    private TextView all_task_num;
-    @ViewInject(R.id.ok_task_num)
-    private TextView ok_task_num;
-    @ViewInject(R.id.uok_task_num)
-    private TextView uok_task_num;
-    @ViewInject(R.id.week_tv)
-    private TextView week_tv;
-    @ViewInject(R.id.oa_listview)
-    private MyListView oa_listview;
-
-    @ViewInject(R.id.subord_log)
-    private TextView subord_log;
-    @ViewInject(R.id.my_log)
-    private TextView my_log;
-    @ViewInject(R.id.subord_log_tag)
-    private View subord_log_tag;
-    @ViewInject(R.id.my_log_tag)
-    private View my_log_tag;
-    @ViewInject(R.id.ok_scale)
-    private ImageView ok_scale;
-    private EmptyLayout emptyLayout;
-
-    private boolean isCrm = false;
-    private boolean isMe = false;
-    private boolean hasOther = true;
-    private JSONArray meArray;    //当月我的数组
-    private JSONArray otherArray; //当月我的下属的数组
-    private OAListAdapter adapter; //当前列表的数据
-    private PagerAdapter pagerAdapter;//当前Viewpager适配器
-    private Date curDate;    //当前显示的日期  包含年月日信息
-
-    private Set<Integer> meInt;     //我的任务
-    private Set<Integer> otherInt;  //我的下属的任务
-    private int posItem;           //当前为滑动到的哪个Viewpager
-    private Handler handler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            if (progressDialog.isShowing())
-                progressDialog.dismiss();
-            String message = (String) msg.getData().get("result");
-            switch (msg.what) {
-                case 0x11:
-                    JSONObject jsonObject = parseObject(message);
-                    if (!jsonObject.containsKey("success") || !jsonObject.getBoolean("success") || jsonObject.isEmpty()) {
-                        emptyLayout.showEmpty();
-                        return;
-                    }
-                    JSONObject chche = null;
-                    meArray = new JSONArray();
-                    otherArray = new JSONArray();
-                    //处理我的
-                    if (jsonObject.containsKey("me")) {
-                        chche = jsonObject.getJSONObject("me");
-                        addJsonToArray(meArray, chche);
-                        meInt.clear();
-                        if (meArray != null && meArray.size() > 0) {
-                            meInt.addAll(getDay(meArray));
-                        }
-                    }
-                    //处理下属
-                    if (jsonObject.containsKey("other")) {
-                        chche = jsonObject.getJSONObject("other");
-                        addJsonToArray(otherArray, chche);
-                        otherInt.clear();
-                        if (otherArray != null && otherArray.size() > 0) {
-                            otherInt.addAll(getDay(otherArray));
-                        }
-                    }
-                    loadSuccess();
-                    break;
-                case 0x12:
-                    JSONArray array = JSON.parseObject(message).getJSONArray("datas");//获取到数据
-                    if (array == null || array.size() <= 0) {//无下属
-                        hasOther = false;
-                        chaneTAG(true);
-                    }
-                    break;
-            }
-        }
-    };
-
-    private Set<Integer> getDay(JSONArray array) {
-        JSONObject object = null;
-        Set<Integer> integers = new HashSet<>();
-        Calendar c = Calendar.getInstance();
-        String chche = null;
-        for (int i = 0; i < array.size(); i++) {
-            object = array.getJSONObject(i);
-            chche = (object.containsKey("startdate") && !StringUtils.isEmpty(object.getString("startdate"))) ? object.getString("startdate") : ((
-                    object.containsKey("vr_visittime") && !StringUtils.isEmpty(object.getString("vr_visittime"))) ? object.getString("vr_visittime") : null);
-            if (!StringUtils.isEmpty(chche)) {
-                c.setTimeInMillis(TimeUtils.f_str_2_long(chche));
-                integers.add(c.get(Calendar.DAY_OF_MONTH));
-            }
-        }
-        return integers;
-    }
-
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_add_icon, menu);
-        return super.onCreateOptionsMenu(menu);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        if (item.getItemId() == R.id.add_item) {
-            showPopupWindow(getWindow().findViewById(R.id.add_item));
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == 0x20) {
-            loadNetData(TimeUtils.ym_format.format(curDate));
-        } else if (requestCode == 0x11 && resultCode == 0x11) {
-            if (data == null) return;
-            Employees entity = data.getParcelableExtra("data");
-            if (entity == null) return;
-            //TODO 选择下属后返回
-            String otherName = entity.getEm_name();
-            if (!StringUtils.isEmpty(otherName)) {
-                JSONArray array = new JSONArray();
-                for (int i = 0; i < otherArray.size(); i++) {
-                    JSONObject object = otherArray.getJSONObject(i);
-                    String name = "," + (object.containsKey("handler") ? object.getString("handler") :
-                            (object.containsKey("recordman") ? object.getString("recordman") :
-                                    (object.containsKey("visitman") ? object.getString("visitman") : ""))) + ",";
-                    if (StringUtils.isEmpty(otherName)//没有选择下属
-                            || getIsDecorat(name, "," + otherName + ",")) {
-                        array.add(object);
-                    }
-                }
-                Set<Integer> aa = getDay(array);
-                setDateToListener(aa);
-                setAdapterBeans(array);
-            }
-        }
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        setCustomTheme();
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_oamain);
-        ViewUtils.inject(this);
-        initView();
-        initEvent();
-    }
-
-    private void setCustomTheme() {
-        isCrm = getIntent() == null ? false : (getIntent().getIntExtra("type", 0) == 1);
-        if (isCrm) {//crm
-            setTheme(R.style.CrmThemeVisit);
-        }
-    }
-
-    private void initEvent() {
-        findViewById(R.id.signin).setOnClickListener(this);
-        findViewById(R.id.outoffice).setOnClickListener(this);
-        findViewById(R.id.meeting).setOnClickListener(this);
-        findViewById(R.id.worklog).setOnClickListener(this);
-        findViewById(R.id.erp).setOnClickListener(this);
-        findViewById(R.id.stroke).setOnClickListener(this);
-        findViewById(R.id.outtask).setOnClickListener(this);
-        findViewById(R.id.signinlog).setOnClickListener(this);
-        findViewById(R.id.subord_log).setOnClickListener(this);
-        findViewById(R.id.my_log).setOnClickListener(this);
-        findViewById(R.id.ok_scale).setOnClickListener(this);
-        oa_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
-                JSONArray array = adapter.getArray();
-                JSONObject object = array.getJSONObject(i);
-                Intent intent = null;
-                if (adapter.isTask(object)) {
-                    intent = new Intent(ct, DetailTaskActivity.class);
-                    intent.putExtra("description", object.getString("department"));
-                    intent.putExtra("duration", object.getString("department"));
-                    intent.putExtra("status", object.getString("status"));
-                    intent.putExtra("taskname", object.getString("name"));//名称
-                    intent.putExtra("taskemcode", object.getString("recorder"));//发起人
-                    intent.putExtra("tasktime", object.getString("startdate"));//发起时间
-                    intent.putExtra("performer", object.getString("handler"));//处理人编号
-                    intent.putExtra("taskcode", object.getString("taskcode"));//处理人编号
-                    intent.putExtra("ra_taskid", String.valueOf(object.getIntValue("ra_taskid")));//取回复内容id
-                    intent.putExtra("taskid", String.valueOf(object.getIntValue("ra_id")));//编号
-                    intent.putExtra("endtime", object.getString("enddate"));
-                    startActivityForResult(intent, 0x20);
-                } else if (adapter.isVisit(object)) {
-                    intent = new Intent(activity, VisitReportAddActivity.class);
-                    intent.putExtra("type", 1);
-                    intent.putExtra("isMe", isMe);
-                    intent.putExtra("isAgen", true);
-                    OABean bean = JSON.parseObject(object.toString(), OABean.class);
-                    intent.putExtra("data", bean);
-                    startActivityForResult(intent, 0x20);
-                } else if (adapter.isVisitRecord(object)) {
-                    intent = new Intent(activity, VisitReportAddActivity.class);
-                    intent.putExtra("type", 2);
-                    intent.putExtra("isMe", isMe);
-                    intent.putExtra("isAgen", true);
-                    intent.putExtra("data", object.toString());
-                    startActivityForResult(intent, 0x20);
-                }
-            }
-        });
-        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
-            @Override
-            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-            }
-
-            @Override
-            public void onPageSelected(int position) {
-                posItem = position;
-                curDate = date[position];
-                Calendar c = Calendar.getInstance();
-                c.setTime(curDate);
-                setDateTag(curDate);
-                loadNetData(TimeUtils.ym_format.format(curDate));
-            }
-
-            @Override
-            public void onPageScrollStateChanged(int state) {
-            }
-        });
-    }
-
-    private void initView() {
-        //设置为空显示列表
-        emptyLayout = new EmptyLayout(ct, oa_listview);
-        emptyLayout.setShowLoadingButton(false);
-        emptyLayout.setShowEmptyButton(false);
-        emptyLayout.setShowErrorButton(false);
-        emptyLayout.setEmptyViewRes(R.layout.oa_empty_list);
-
-        listenerMap = new HashMap<>();
-        curDate = new Date();
-        meInt = new HashSet<>();
-        otherInt = new HashSet<>();
-        String title = "";
-        if (isCrm) {
-            oa_rl_choose.setVisibility(View.GONE);
-            title = "客户拜访";
-            subord_log.setText("下属拜访");
-            my_log.setText("我的拜访");
-        } else {
-            title = "办公自动化";
-        }
-        getSupportActionBar().setTitle(title);
-        adapter = new OAListAdapter(ct);
-        oa_listview.setAdapter(adapter);
-        setDateTag(new Date());
-        getDataByNet();
-        loadNetData(String.valueOf(TimeUtils.ym_long_2_str(System.currentTimeMillis())));
-        //TODO 以下待优化代码
-        posItem = MAX_PAGER / 2;
-        setDate();
-        LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) viewPager.getLayoutParams(); // 取控件mGrid当前的布局参数   搜索
-        linearParams.height = (getResources().getDisplayMetrics().heightPixels * 1 / 3);// 当控件的高强制设成50象素
-        viewPager.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件myGrid
-        pagerAdapter = new PagerAdapter(getSupportFragmentManager());
-        viewPager.setAdapter(pagerAdapter);
-        viewPager.setCurrentItem(MAX_PAGER / 2);
-    }
-
-    /**
-     * 获取数据
-     *
-     * @param date 月份 yyyyMM
-     */
-    public void loadNetData(String date) {
-        progressDialog.show();
-        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", date);
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(this, url, param, handler, headers, 0x11, null, null, "get");
-    }
-
-    private void getDataByNet() {
-        progressDialog.show();
-        //获取网络数据
-        String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/crm/getstaffmsg.action";
-        final Map<String, Object> param = new HashMap<>();
-        param.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
-        param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x12, null, null, "get");
-    }
-
-    /**
-     * @param array 填充的对象
-     * @param chche
-     */
-    private void addJsonToArray(JSONArray array, JSONObject chche) {
-        array.addAll(addJsonToArray(chche, "schedule"));
-        array.addAll(addJsonToArray(chche, "visitPlan"));
-        array.addAll(addJsonToArray(chche, "task"));
-        array.addAll(addJsonToArray(chche, "visitRecord"));
-    }
-
-    /*添加json数据到数组里面   区别crm和oa*/
-    private JSONArray addJsonToArray(JSONObject chche, String key) {
-        JSONArray chcheArray = new JSONArray();
-        if (chche.containsKey(key) && chche.getJSONArray(key).size() > 0) {
-            JSONArray a = chche.getJSONArray(key);
-            if (isCrm) {
-                JSONObject o = null;
-                if (adapter == null)
-                    adapter = new OAListAdapter(ct);
-                for (int i = 0; i < a.size(); i++) {
-                    o = a.getJSONObject(i);
-                    if (adapter.isVisit(o) || adapter.isVisitRecord(o))
-                        chcheArray.add(o);
-                }
-            } else {
-                chcheArray = a;
-            }
-        }
-        return chcheArray;
-    }
-
-    private void loadSuccess() {//下拉成功后添加到适配器
-        setAdapterBeans();
-        if (isMe) {
-            setDateToListener(meInt);
-        } else {
-            setDateToListener(otherInt);
-        }
-    }
-
-    private void setAdapterBeans() {
-        setAdapterBeans(isMe ? meArray : otherArray);
-    }
-
-    private void setAdapterBeans(JSONArray array) {
-        if (array == null) return;
-        int ok = 0, size = 0;
-        JSONObject object = null;
-        JSONArray chche = new JSONArray();
-        String time = null;
-        for (int i = 0; i < array.size(); i++) {
-            object = array.getJSONObject(i);
-            time = (object.containsKey("startdate") && !StringUtils.isEmpty(object.getString("startdate"))) ? object.getString("startdate") :
-                    ((object.containsKey("vr_visittime") && !StringUtils.isEmpty(object.getString("vr_visittime"))) ? object.getString("vr_visittime") : "");
-            if (!StringUtils.isEmpty(time) && getIsDecorat(time, TimeUtils.s_format.format(curDate))) {//该时间为选择时间
-                //判断是否为该下属
-                chche.add(object);
-                size++;
-                if (!object.containsKey("status")||(object.containsKey("status") && !StringUtils.isEmpty(object.getString("status")) && "已拜访".equals(object.getString("status")) || "已完成".equals(object.getString("status")))) {
-                    ok++;
-                }
-            }
-        }
-        if (chche.size() <= 0) {
-            emptyLayout.showEmpty();
-        }
-        all_task_num.setText("工作日历 " + size);
-        ok_task_num.setText("已完成 " + ok);
-        uok_task_num.setText("未完成 " + (size - ok));
-        adapter.setArray(chche, isMe);
-        adapter.notifyDataSetChanged();
-
-    }
-
-
-    //弹出菜单
-    private PopupWindow popupWindow = null;
-
-    public void showPopupWindow(View parent) {
-        View view = null;
-        WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
-        if (popupWindow == null) {
-            LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-            view = layoutInflater.inflate(R.layout.pop_crm_list, null);
-            ListView plist = (ListView) view.findViewById(R.id.mList);
-            SimpleAdapter adapter = new SimpleAdapter(ct, getPopData(), R.layout.item_pop_list, new String[]{"item_name"}, new int[]{R.id.tv_item_name});
-            plist.setAdapter(adapter);
-            plist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-                @Override
-                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                    Intent intent = null;
-                    popupWindow.dismiss();
-                    switch (position) {
-                        case 0:
-                            if (!(getIntent() == null || getIntent().getIntExtra("type", 0) != 1)) {
-                                intent = new Intent(ct, VisitReportPlanActivity.class);
-                            } else {
-                                intent = new Intent(ct, TaskAddActivity.class);
-                                intent.putExtra("type", 0);
-                            }
-                            break;
-                        case 1:
-                            if (!(getIntent() == null || getIntent().getIntExtra("type", 0) != 1)) {
-                                intent = new Intent(ct, VisitReportAddActivity.class);
-                            } else {
-                                intent = new Intent(ct, TaskAddActivity.class);
-                                intent.putExtra("type", 1);
-                            }
-                            break;
-                        case 2:
-                            intent = new Intent(ct, VisitReportPlanActivity.class);
-                            break;
-                        case 3:
-                            intent = new Intent(ct, VisitReportAddActivity.class);
-                            break;
-                    }
-                    if (intent != null)
-                        startActivityForResult(intent, 0x20);
-                }
-            });
-            popupWindow = new PopupWindow(view, windowManager.getDefaultDisplay().getWidth() / 3, windowManager.getDefaultDisplay().getHeight() / 3);
-        }
-        // 使其聚集
-        popupWindow.setFocusable(true);
-        // 设置允许在外点击消失
-        popupWindow.setOutsideTouchable(true);
-        popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
-            @Override
-            public void onDismiss() {
-                DisplayUtil.backgroundAlpha(OAMainActivity.this, 1f);
-            }
-        });
-        DisplayUtil.backgroundAlpha(this, 1f);
-        // 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景
-        popupWindow.setBackgroundDrawable(new BitmapDrawable());
-        popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
-        // 显示的位置为:屏幕的宽度的一半-PopupWindow的高度的一半
-        popupWindow.showAsDropDown(parent, windowManager.getDefaultDisplay().getWidth(), 0);
-    }
-
-    private List<Map<String, Object>> getPopData() {
-        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
-        Map<String, Object> map = new HashMap<String, Object>();
-        if (getIntent() == null || getIntent().getIntExtra("type", 0) != 1) {
-            map.put("item_name", "创建任务");
-            list.add(map);
-            map = new HashMap<>();
-            map.put("item_name", "创建日程");
-            list.add(map);
-            map = new HashMap<>();
-        }
-        map.put("item_name", "新增拜访计划");
-        list.add(map);
-        map = new HashMap<>();
-        map.put("item_name", "新增拜访报告");
-        list.add(map);
-        return list;
-    }
-
-    //设置标签
-    private void chaneTAG(boolean isMe) {
-        this.isMe = isMe;
-        if (isMe) {
-            if (!subord_log.getText().toString().trim().equals("下属工作日历")) {
-                subord_log.setText("下属工作日历");
-            }
-            setDateToListener(meInt);
-            ok_scale.setVisibility(View.GONE);
-            my_log_tag.setBackgroundResource(R.color.darkorange);
-            subord_log_tag.setBackgroundDrawable(null);
-        } else {
-            setDateToListener(otherInt);
-            ok_scale.setVisibility(View.VISIBLE);
-            subord_log_tag.setBackgroundResource(R.color.darkorange);
-            my_log_tag.setBackgroundDrawable(null);
-        }
-        setAdapterBeans();
-    }
-
-    private int MAX_PAGER = 30;
-    private Date[] date = new Date[MAX_PAGER];
-
-    private void setDateTag(Date date) {
-        Calendar c = Calendar.getInstance();
-        c.setTime(date);
-        int yeas = c.get(Calendar.YEAR);
-        int month = c.get(Calendar.MONTH) + 1;
-        int day = c.get(Calendar.DAY_OF_MONTH);
-        yeas_tv.setText(yeas + "年" + month + "月");
-        day_tv.setText(day + "日");
-        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) {
-        switch (view.getId()) {
-            case R.id.ok_scale:  //筛选
-                Intent intent = new Intent(ct, UserSelectActivity.class);
-                intent.putExtra("single", true);
-                intent.putExtra("net", true);
-                startActivityForResult(intent, 0x11);
-                break;
-            case R.id.signin://打卡签到
-                startActivity(new Intent(activity, SigninActivity.class));
-                break;
-            case R.id.outoffice:  //外勤签到
-                startActivity(new Intent(activity, OutofficeActivity.class));
-                break;
-            case R.id.meeting://会议管理
-                startActivity(new Intent(activity, MeetingActivity.class));
-                break;
-            case R.id.worklog://工作日志
-                startActivity(new Intent(activity, WorkLogsActivity.class));
-                break;
-            case R.id.stroke://我的行程
-                //TODO 审批先不做
-                ToastUtil.showToast(activity, "该功能还在内测中");
-                break;
-            case R.id.erp://考勤单据
-                startActivity(new Intent(activity, ErpMenActivity.class));
-                break;
-            case R.id.outoffice_task://差旅费报销
-                ToastUtil.showToast(activity, "该功能还在内测中");
-                break;
-            case R.id.statistics://考勤统计
-                ToastUtil.showToast(activity, "该功能还在内测中");
-                break;
-            case R.id.subord_log://我的下属工作日志
-                if (isMe)
-                    if (hasOther) {
-                        chaneTAG(false);
-                    } else {
-                        Crouton.makeText(ct, "当前账号没有下属,如有问题请联系系统管理员");
-                    }
-                break;
-            case R.id.my_log://我的工作日志
-                if (!isMe)
-                    chaneTAG(true);
-                break;
-        }
-    }
-
-    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);
-    }
-
-    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();
-    }
-
-    /*判断*/
-    private boolean getIsDecorat(String text, String chche) {
-        Pattern p = Pattern.compile(chche);//遍历对象
-        Matcher m = p.matcher(text);//遍历源
-        return m.find();
-    }
-
-    private Map<String, OnTaskChangeListener> listenerMap;
-
-    public void setListener(String key, OnTaskChangeListener listener) {
-        listenerMap.put(key, listener);
-    }
-
-    public interface OnTaskChangeListener {
-        void onChange(Set<Integer> in);
-    }
-}

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAListActivity.java → WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OutLogListActivity.java

@@ -40,7 +40,7 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-public class OAListActivity extends BaseActivity {
+public class OutLogListActivity extends BaseActivity {
     @ViewInject(R.id.rili_tv)
     private TextView rili_tv;
     @ViewInject(R.id.name_tv)

+ 2 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SaveMeetActivity.java

@@ -50,7 +50,7 @@ public class SaveMeetActivity extends BaseActivity {
                     ToastUtil.showToast(SaveMeetActivity.this, "保存会议纪要失败");
                 }
             } else if (msg.what == 0x12) {
-               Crouton.makeText(SaveMeetActivity.this, "保存会议纪要成功");
+                Crouton.makeText(SaveMeetActivity.this, "保存会议纪要成功");
                 finish();
             } else if (msg.what == 0x16) {
                 if (JSON.parseObject(message).containsKey("success") && JSON.parseObject(message).getBoolean("success")) {
@@ -146,7 +146,7 @@ public class SaveMeetActivity extends BaseActivity {
     }
 
     /**
-     * @param fileno
+     * @param fileno   文号、编号
      * @param strChche 会议纪要填写内容
      * @param id
      */
@@ -161,7 +161,6 @@ public class SaveMeetActivity extends BaseActivity {
         bean.setMd_fileno(fileno);
         bean.setMd_id(id);
         bean.setMd_recorderdate(TimeUtils.f_long_2_str(System.currentTimeMillis()));
-
         String url = CommonUtil.getSharedPreferences(this, "erp_baseurl") + "oa/meeting/saveMeetingDoc.action";
         final Map<String, Object> param = new HashMap<>();
         String formStore = FlexJsonUtil.toJson(bean);

+ 0 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/WorkLogsActivity.java

@@ -187,11 +187,9 @@ public class WorkLogsActivity extends BaseActivity {
         context_rv.setAdapter(mAdapter);
         initData();
     }
-
     private void initData() {
         requestMyBusiness(true);
     }
-
     private void requestMyBusiness(final boolean isPullDwonToRefersh) {
         if (!StringUtils.isEmpty(search_edit.getText().toString())) {
             search_edit.setText("");

+ 0 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/OAListAdapter.java

@@ -30,11 +30,9 @@ public class OAListAdapter extends BaseAdapter {
     public OAListAdapter(Context ct) {
         this.ct = ct;
     }
-
     public JSONArray getArray() {
         return array;
     }
-
     public void setArray(JSONArray array, boolean isMe) {
         this.isMe = isMe;
         this.array = array;

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/SigninAdapter.java

@@ -65,7 +65,7 @@ public class SigninAdapter extends RecyclerView.Adapter<SigninAdapter.ViewHoler>
             holder.signin.setText("");
             holder.signin2.setText("");
             if (isToday) {
-                if (time.compareTo(b.getStartTime()) < 0) {//当前时间小于打卡时间
+                if (b.getStartTime()!=null&&time.compareTo(b.getStartTime()) < 0) {//当前时间小于打卡时间
                     holder.tag.setVisibility(View.GONE);
                 } else if (time.compareTo(getNext90(b.getStartTime(), true)) < 0 && time.compareTo(b.getStartTime()) > 0) {
                     holder.tag.setVisibility(View.VISIBLE);
@@ -74,7 +74,7 @@ public class SigninAdapter extends RecyclerView.Adapter<SigninAdapter.ViewHoler>
                     holder.tag.setVisibility(View.VISIBLE);
                     holder.tag.setText("缺勤");
                 }
-                if (time.compareTo(b.getEndSignnin()) < 0) {//当前时间小于打卡时间
+                if (b.getEndSignnin()!=null&&time.compareTo(b.getEndSignnin()) < 0) {//当前时间小于打卡时间
                     holder.tag2.setVisibility(View.GONE);
                 } else {
                     holder.tag2.setVisibility(View.VISIBLE);

+ 4 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/CalendarFragmet.java

@@ -4,13 +4,12 @@ import android.content.Context;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
 import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAMainActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAActivity;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.view.OACalendarView;
 
@@ -22,7 +21,7 @@ import java.util.Set;
  */
 
 public class CalendarFragmet extends Fragment {
-    private OAMainActivity activity;
+    private OAActivity activity;
     private OACalendarView calendarView;
 
     /**
@@ -40,7 +39,7 @@ public class CalendarFragmet extends Fragment {
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        activity = (OAMainActivity) context;
+        activity = (OAActivity) context;
     }
 
     @Nullable
@@ -53,7 +52,7 @@ public class CalendarFragmet extends Fragment {
         //判断是否是当月
         calendarView.getCurDate();
         if (activity != null) {
-            activity.setListener(TimeUtils.ym_format.format(date), new OAMainActivity.OnTaskChangeListener() {
+            activity.setListener(TimeUtils.ym_format.format(date), new OAActivity.OnTaskChangeListener() {
                 @Override
                 public void onChange(Set<Integer> in) {
                     calendarView.setDecoratDays(in);

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/OutofficeFragment.java

@@ -26,7 +26,7 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.ui.base.EasyFragment;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.LocationMapActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAListActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.oa.OutLogListActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.OutSigninOKActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.OutofficeActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.OutofficeSetActivity;
@@ -133,7 +133,7 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.num_tv:
-                Intent list = new Intent(ct, OAListActivity.class);
+                Intent list = new Intent(ct, OutLogListActivity.class);
                 list.putExtra("data", json);
                 startActivity(list);
                 break;

+ 11 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java

@@ -10,6 +10,7 @@ import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.text.Html;
 import android.text.Spanned;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageView;
@@ -93,7 +94,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     private boolean isSignining = false;
     private boolean onActivityResult = false;//返回
     private long time = System.currentTimeMillis();
-    private long signinTime = -1;
+    private String signinTime;
     BdLocationHelper locationHelper = null;//
     private Handler handler = new Handler() {
         @Override
@@ -113,7 +114,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                         } else {
                             Crouton.makeText(ct, "当前账号没有分配公司地址,请联系管理员!!");
                         }
-                        if (jsonObject.containsKey("wd_degree") ) {//当该用户有排班
+                        if (jsonObject.containsKey("wd_degree")) {//当该用户有排班
                             //用户有排班时候
                             setDataByDegree(jsonObject);
                         } else {
@@ -258,7 +259,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                     URLConnection uc = url.openConnection();
                     uc.connect();
                     long id = uc.getDate();
-                    signinTime = id;
                     date = new Date(id);// 转换为标准时间对象
                 } catch (MalformedURLException e) {
                     e.printStackTrace();
@@ -317,6 +317,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     }
 
     private void initView() {
+        signinTime = TimeUtils.f_long_2_str(time);
         title.setText(TimeUtils.day_long_2_str(System.currentTimeMillis()) + "  " + TimeUtils.getWeek(System.currentTimeMillis()));
         listview.setLayoutManager(new LinearLayoutManager(ct));
         adapter = new SigninAdapter(ct);
@@ -394,7 +395,12 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
             }
         }, 5000);
         ArrayList<Bean> beans = getDataByAdapter();
-        String time = TimeUtils.long2str(signinTime == -1 ? System.currentTimeMillis() : selectTime, "HH:mm");
+        String time =null;
+        if (!StringUtils.isEmpty(signinTime)) {
+            time= TimeUtils.long2str(TimeUtils.f_str_2_long(signinTime),"HH:mm");
+        }else{
+            time= TimeUtils.long2str(this.time,"HH:mm");
+        }
         for (int i = 0; i < beans.size(); i++) {
             Bean b = beans.get(i);
             if (!StringUtils.isEmpty(b.startSignin) && !StringUtils.isEmpty(b.endSignnin) && time.compareTo(b.startSignin) > 0 && time.compareTo(b.endSignnin) < 0) {
@@ -557,6 +563,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     //签到
     private void doSignin(String code, String time) {
         isSignining = true;
+        signinTime = time;
         signin_btn.setFocusable(false);
         String url = "mobile/saveCardLog.action";
         final Map<String, Object> param = new HashMap<>();

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java

@@ -153,7 +153,8 @@ public class SubscriptionAllFragment extends BaseFragment {
                         e.printStackTrace();
                     }
                     if (mPullToRefreshListView.isRefreshing()){
-                        mPullToRefreshListView.onRefreshComplete();                        Crouton.makeText(getActivity(),"刷新成功", 0xff99cc00,1500).show();
+                        mPullToRefreshListView.onRefreshComplete();
+                        Crouton.makeText(getActivity(),"刷新成功", 0xff99cc00,1500).show();
                     }
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:

+ 3 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java

@@ -11,6 +11,7 @@ import android.widget.ScrollView;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.baoyz.swipemenulistview.MySwipeMenuListView;
 import com.baoyz.swipemenulistview.SwipeMenu;
 import com.baoyz.swipemenulistview.SwipeMenuListView;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
@@ -42,7 +43,7 @@ import java.util.Map;
  */
 public class SubscriptionMyFragment extends BaseFragment {
     private PullToRefreshScrollView mPullToRefreshScrollView;
-    private SwipeMenuListView mSwipeMenuListView;
+    private MySwipeMenuListView mSwipeMenuListView;
     private List<PersonalSubscriptionBean> mPersonalSubscriptionBeans;
     private MySwipeMenuCreator mMySwipeMenuCreator;
     private MySubscriptionAdapter mMySubscriptionAdapter;
@@ -64,7 +65,7 @@ public class SubscriptionMyFragment extends BaseFragment {
     protected void initViews() {
         mPersonalSubscriptionBeans = new ArrayList<>();
         mPullToRefreshScrollView = (PullToRefreshScrollView) root.findViewById(R.id.my_subscription_ptrsv);
-        mSwipeMenuListView = (SwipeMenuListView) root.findViewById(R.id.my_subscripton_smlv);
+        mSwipeMenuListView = (MySwipeMenuListView) root.findViewById(R.id.my_subscripton_smlv);
         mMySubscriptionAdapter = new MySubscriptionAdapter(getActivity(),mPersonalSubscriptionBeans);
         mMySwipeMenuCreator = new MySwipeMenuCreator(getActivity());
 

+ 2 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/WorksFragment.java

@@ -20,7 +20,7 @@ import com.xzjmyk.pm.activity.ui.base.XutilsFragment;
 import com.xzjmyk.pm.activity.ui.circle.BusinessCircleActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.ErpMenActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.crm.ClientActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAMainActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
@@ -118,8 +118,7 @@ public class WorksFragment extends XutilsFragment implements View.OnClickListene
                 break;
             case R.id.rl_uas_sys:
                 if (falg.equals("1")){
-                    getActivity().startActivityForResult(new Intent(ct, OAMainActivity.class), 0x11);
-//                    getActivity().startActivityForResult(new Intent(ct, OAActivity.class), 0x11);
+                    getActivity().startActivityForResult(new Intent(ct, OAActivity.class), 0x11);
                 }else{
                     startActivity(new Intent(ct, ErpMenActivity.class));
                 }

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/HttpClient.java

@@ -194,6 +194,7 @@ public class HttpClient {
             } else
                 buf.deleteCharAt(buf.length() - 1);
         }
+//        Log.i("gongpengming", "网址:" + buf.toString());
         HttpGet httpGet = new HttpGet(buf.toString());
         httpclient.getParams().setParameter(
                 CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");

+ 5 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/HttpUtil.java

@@ -62,11 +62,7 @@ public class HttpUtil {
                 for (Map.Entry<String, Object> entry : entrys) {
                     buf.append(entry.getKey())
                             .append("=")
-                            .append(
-                                    URLEncoder.encode(
-                                            entry.getValue().toString()
-                                            , "UTF-8")
-                            )
+                            .append(URLEncoder.encode(entry.getValue().toString(), "UTF-8"))
                             .append("&");
                 }
             }
@@ -166,12 +162,15 @@ public class HttpUtil {
     public static class Response {
         public int statusCode;
         public String responseText;
+
         public int getStatusCode() {
             return statusCode;
         }
+
         public String getResponseText() {
             return responseText;
         }
+
         public Response(HttpResponse response) throws Exception {
             this.statusCode = response.getStatusLine().getStatusCode();
             this.responseText = HttpUtil.read2String(response.getEntity()
@@ -186,6 +185,7 @@ public class HttpUtil {
             return null;
         }
     }
+
     /**
      * @author Administrator
      * @功能:待封装

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java

@@ -162,6 +162,7 @@ public class ViewUtil {
                 if (isNetHas) {
                     /** @注释:处理网络请求返回结果 */
                     String result = getDataFromServer(url, params, request);
+                    Log.i("result", "url:" + (StringUtils.isEmpty(url) ? "" : url));
                     Log.i("result", "result:" + result);
                     if (result != null) {
                         if (bundle == null || message == null) {
@@ -605,7 +606,7 @@ public class ViewUtil {
                     Log.i("result", "parms:" + params.toString());
                     if (result != null) {
                         Log.i("result", "statusCode:" + result.getStatusCode());
-                       // Log.i("result", "statusCode:" +result.getResponseText());
+                        // Log.i("result", "statusCode:" +result.getResponseText());
                         LogUtil.prinlnLongMsg("result", result.getResponseText());
                         Log.i("result", "http 接收响应-----------------------------------------");
                         if (result.getStatusCode() == 200) {

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/BaiduMapUtil.java

@@ -119,7 +119,7 @@ public class BaiduMapUtil {
      * @param neerPoiListener 接口回调
      */
     public void getNearInfo(int radius, int pagerNum, LatLng location, PoiSearch mPoiSearch, OnNeerPoiListener neerPoiListener) {
-        getNearInfo(radius, pagerNum, location, mPoiSearch, "写字楼", neerPoiListener);
+        getNearInfo(radius, pagerNum, location, mPoiSearch, "公司名称", neerPoiListener);
     }
 
     public void getNearInfo(int radius, int pagerNum, LatLng location, PoiSearch mPoiSearch, String keyword, final OnNeerPoiListener neerPoiListener) {

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/TimeUtils.java

@@ -62,7 +62,7 @@ public class TimeUtils {
         int week = c.get(Calendar.DAY_OF_WEEK);
         switch (week) {
             case 1:
-                src = "星期";
+                src = "星期";
                 break;
             case 2:
                 src = "星期一";

+ 33 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/OACalendarView.java

@@ -197,8 +197,19 @@ public class OACalendarView extends View implements View.OnTouchListener {
     private void drawDay(Canvas canvas) {
         float dayTextY = surface.weekHeight + surface.cellHeight * (1 - (1 - surface.dateScale) / 2);
         String chche = "";
+        //画上个月日期
+        calendar.setTime(curDate);
+        calendar.add(Calendar.MONTH, -1);
+        int startItem = calendar.getActualMaximum(Calendar.DATE) - startIndex;//获取当月有多少天
+        calendar.set(Calendar.DAY_OF_MONTH, startItem);
+        for (int i = 0; i < startIndex; i++) {
+            float dayTextX = i * surface.cellWidth + (surface.cellWidth - surface.hineDatePaint.measureText("今")) / 2f;
+            canvas.drawText(calendar.get(Calendar.DAY_OF_MONTH) + "", dayTextX, dayTextY, surface.hineDatePaint);
+            calendar.add(Calendar.DAY_OF_MONTH, 1);
+        }
+        //画当月
         for (int i = startIndex; i < date.length; i++) {
-            int item = i % 7;
+            int item = i % surface.weekText.length;
             if (i != 0 && item == 0) {
                 dayTextY += surface.cellHeight;
             }
@@ -220,6 +231,16 @@ public class OACalendarView extends View implements View.OnTouchListener {
                 drawDecorat(canvas, i, surface.decorPaint);
             }
         }
+        //画下个月日期
+        calendar.setTime(curDate);
+        calendar.add(Calendar.MONTH, 1);
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
+        int next = date.length % 7 == 0 ? 0 : (date.length + (7 - date.length % 7));
+        for (int i = date.length; i < next; i++) {
+            float dayTextX = surface.cellWidth * (i % surface.weekText.length) + (surface.cellWidth - surface.datePaint.measureText("今")) / 2f;
+            canvas.drawText(calendar.get(Calendar.DAY_OF_MONTH) + "", dayTextX, dayTextY, surface.hineDatePaint);
+            calendar.add(Calendar.DAY_OF_MONTH, 1);
+        }
     }
 
     /*判断*/
@@ -338,20 +359,23 @@ public class OACalendarView extends View implements View.OnTouchListener {
         private int height;   //整个控件高度
         private float weekHeight;//周的方框高度
         private float cellWidth; // 日期方框宽度
-        private float cellHeight; // 日期方框高度
+        private float cellHeight; // 日期方框高度\
 
         private int bgColor = 0xEBE9E9;
+
         private int weekColor = Color.BLACK;//周视图的画笔颜色
         private int dateColor = Color.BLACK;//月视图的画笔颜色x
         private int selectColor = Color.WHITE;//选择中的画笔颜色
         private int selectBgColor = Color.RED;//选择中的画笔颜色
         private int todayColor = Color.RED;//选择中的画笔颜色
         private int decorColor = Color.RED;//装饰画笔颜色
+        private int hineDateColor = Color.parseColor("#BFD3D3D3");//装饰画笔颜色
 
         private Paint weekPaint;//周视图的画笔
         private Paint datePaint;//月视图的画笔
         private Paint selectPaint;//选择中的画笔
         private Paint decorPaint;//装饰画笔
+        private Paint hineDatePaint;//非本月日期
 
         private float weekScale = 0.60f;//周字体大小所占的周的方框的比例
         private float downScale = 0.40f;//点击后所画的圆占框的比例
@@ -359,6 +383,7 @@ public class OACalendarView extends View implements View.OnTouchListener {
         private String[] weekText = {"日", "一", "二", "三", "四", "五", "六"};
 
         private void init() {
+
             //计算周框的高度 1.获取日期共多少行
             int dateRowNum = date.length / 7 + (date.length % 7 > 0 ? 1 : 0);
             cellHeight = weekHeight = height / (dateRowNum + 1);
@@ -382,6 +407,12 @@ public class OACalendarView extends View implements View.OnTouchListener {
             datePaint.setAntiAlias(true);
             datePaint.setTextSize(cellHeight * dateScale);
 
+            hineDatePaint = new Paint();//日期视图的画笔
+            hineDatePaint.setColor(hineDateColor);
+            hineDatePaint.setAntiAlias(true);
+            hineDatePaint.setTextSize(cellHeight * dateScale);
+
+
         }
     }
 

+ 0 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/wheel/DatePicker.java

@@ -8,9 +8,7 @@ import android.view.Gravity;
 import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.TextView;
-
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;

+ 20 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/wheel/DateTimePicker.java

@@ -175,6 +175,14 @@ public class DateTimePicker extends WheelPicker {
             yearView.setVisibility(View.GONE);
             yearTextView.setVisibility(View.GONE);
         }
+
+        if (mode == YEAR_MONTH_DAY){
+            hourView.setVisibility(View.GONE);
+            minuteView.setVisibility(View.GONE);
+            hourTextView.setVisibility(View.GONE);
+            minuteTextView.setVisibility(View.GONE);
+        }
+
         if (mode != MONTH_DAY) {
             if (!TextUtils.isEmpty(yearLabel)) {
                 yearTextView.setText(yearLabel);
@@ -402,6 +410,18 @@ public class DateTimePicker extends WheelPicker {
         }
     }
 
+    /**
+     * @param year
+     * @param month
+     * @param day
+     */
+    public void setSelectedItem(int year, int month, int day) {
+        selectedYearIndex = findItemIndex(years, year);
+        selectedMonthIndex = findItemIndex(months, month);
+        selectedDayIndex = findItemIndex(days, day);
+    }
+
+
     /**
      * Sets selected item.
      *

BIN
WeiChat/src/main/res/drawable-xxhdpi/icon_answer.png


+ 12 - 10
WeiChat/src/main/res/layout/act_task_detail.xml

@@ -14,7 +14,9 @@
             android:layout_height="match_parent"
             android:orientation="vertical">
 
-            <LinearLayout style="@style/form_linear_customer">
+            <LinearLayout
+                android:id="@+id/reply_ll"
+                style="@style/form_linear_customer">
 
                 <View
                     android:layout_width="match_parent"
@@ -77,8 +79,8 @@
                     android:layout_height="5dp"
                     android:layout_gravity="center_vertical"
                     android:layout_marginLeft="10dp"
-                    android:layerType="software"
-                    android:background="@drawable/shape_textview_line" />
+                    android:background="@drawable/shape_textview_line"
+                    android:layerType="software" />
 
                 <TextView
                     android:id="@+id/textView1"
@@ -94,8 +96,8 @@
                     android:layout_height="5dp"
                     android:layout_gravity="center_vertical"
                     android:layout_marginLeft="10dp"
-                    android:layerType="software"
-                    android:background="@drawable/shape_textview_line" />
+                    android:background="@drawable/shape_textview_line"
+                    android:layerType="software" />
             </LinearLayout>
 
             <LinearLayout
@@ -336,8 +338,8 @@
                     android:layout_height="5dp"
                     android:layout_gravity="center_vertical"
                     android:layout_marginLeft="10dp"
-                    android:layerType="software"
-                    android:background="@drawable/shape_textview_line" />
+                    android:background="@drawable/shape_textview_line"
+                    android:layerType="software" />
 
                 <TextView
                     android:layout_width="wrap_content"
@@ -352,8 +354,8 @@
                     android:layout_height="5dp"
                     android:layout_gravity="center_vertical"
                     android:layout_marginLeft="10dp"
-                    android:layerType="software"
-                    android:background="@drawable/shape_textview_line" />
+                    android:background="@drawable/shape_textview_line"
+                    android:layerType="software" />
             </LinearLayout>
 
             <com.xzjmyk.pm.activity.ui.erp.view.CustomerListView
@@ -366,7 +368,7 @@
                 android:fadingEdge="none"
                 android:listSelector="#00000000"
                 android:padding="5dp"
-                android:scrollbars="none"/>
+                android:scrollbars="none" />
         </LinearLayout>
     </com.xzjmyk.pm.activity.ui.erp.view.CustomerScrollView>
 </LinearLayout>

+ 8 - 4
WeiChat/src/main/res/layout/activity_base_info.xml

@@ -364,7 +364,8 @@
                 android:layout_centerVertical="true"
                 android:alpha="0.26"
                 android:background="@drawable/set_list_next"
-                android:contentDescription="@string/app_name" />
+                android:contentDescription="@string/app_name"
+                android:visibility="gone"/>
         </RelativeLayout>
 
         <View
@@ -401,7 +402,8 @@
                 android:alpha="0.26"
                 android:background="@drawable/set_list_next"
                 android:contentDescription="@string/app_name"
-                android:id="@+id/iv_tel" />
+                android:id="@+id/iv_tel"
+                android:visibility="gone"/>
         </RelativeLayout>
 
         <View
@@ -438,7 +440,8 @@
                 android:alpha="0.26"
                 android:background="@drawable/set_list_next"
                 android:contentDescription="@string/app_name"
-                android:id="@+id/iv_depart" />
+                android:id="@+id/iv_depart"
+                android:visibility="gone"/>
         </RelativeLayout>
 
         <View
@@ -476,7 +479,8 @@
                 android:alpha="0.26"
                 android:background="@drawable/set_list_next"
                 android:contentDescription="@string/app_name"
-                android:id="@+id/iv_position" />
+                android:id="@+id/iv_position"
+                android:visibility="gone"/>
         </RelativeLayout>
 
         <View

+ 0 - 340
WeiChat/src/main/res/layout/activity_oa.xml

@@ -1,340 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/oa_rootview"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#EBE9E9"
-    android:focusable="true"
-    android:focusableInTouchMode="true">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
-
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="@color/text_black"
-            android:gravity="center_horizontal"
-            android:text="O A"
-            android:textColor="@color/white"
-            android:textSize="35dp"
-            android:visibility="gone" />
-
-        <LinearLayout
-            android:id="@+id/oa_rl_choose"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_below="@+id/toobar"
-            android:background="#6A6A6A"
-            android:orientation="vertical"
-            android:paddingTop="10dp">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:id="@+id/signin"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_1"
-                    android:gravity="center"
-                    android:text="打卡签到"
-                    android:textColor="@color/white" />
-
-                <TextView
-                    android:id="@+id/outoffice"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_2"
-                    android:gravity="center"
-                    android:text="外勤签到"
-                    android:textColor="@color/white" />
-
-                <TextView
-                    android:id="@+id/meeting"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_3"
-                    android:gravity="center"
-                    android:text="会议管理"
-                    android:textColor="@color/white" />
-
-                <TextView
-                    android:id="@+id/worklog"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_4"
-                    android:gravity="center"
-                    android:text="工作日志"
-                    android:textColor="@color/white" />
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:id="@+id/erp"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_5"
-                    android:gravity="center"
-                    android:text="考勤单据"
-                    android:textColor="@color/white" />
-
-                <TextView
-                    android:id="@+id/stroke"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_6"
-                    android:gravity="center"
-                    android:text="我的行程"
-                    android:textColor="@color/white" />
-
-                <TextView
-                    android:id="@+id/outoffice_task"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_7"
-                    android:gravity="center"
-                    android:text="出差报销"
-                    android:textColor="@color/white" />
-
-                <TextView
-                    android:id="@+id/statistics"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_8"
-                    android:gravity="center"
-                    android:text="考勤统计"
-                    android:textColor="@color/white" />
-            </LinearLayout>
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="40dp"
-            android:orientation="horizontal">
-
-            <TextView
-                android:id="@+id/my_client_log"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:text="下属工作日历"
-                android:textSize="16dp" />
-
-            <View
-                android:layout_width="2px"
-                android:layout_height="match_parent"
-                android:layout_margin="5dp"
-                android:background="@color/default_shadow_color" />
-
-            <TextView
-                android:id="@+id/my_log"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:text="我的工作日历"
-                android:textCursorDrawable="@color/yellow_home"
-                android:textSize="16dp" />
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="10dp"
-            android:paddingRight="10dp">
-
-            <View
-                android:id="@+id/my_client_log_tag"
-                android:layout_width="0dp"
-                android:layout_height="4px"
-                android:layout_marginRight="20dp"
-                android:layout_weight="1"
-                android:background="@color/darkorange" />
-
-            <View
-                android:id="@+id/my_log_tag"
-                android:layout_width="0dp"
-                android:layout_height="4px"
-                android:layout_marginLeft="20dp"
-                android:layout_weight="1"
-                android:background="@null" />
-        </LinearLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="2px"
-            android:background="@color/item_line" />
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:padding="6dp">
-
-            <TextView
-                android:id="@+id/date_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerHorizontal="true"
-                android:textColor="@color/text_main"
-                android:textSize="@dimen/text_main" />
-
-        </RelativeLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="2px"
-            android:background="@color/item_line" />
-
-
-        <LinearLayout
-            android:id="@+id/oa_choose_ll"
-            android:layout_width="match_parent"
-            android:layout_height="30dp"
-            android:layout_alignParentBottom="true"
-            android:orientation="horizontal"
-            android:visibility="gone">
-
-            <View
-                android:layout_width="1px"
-                android:layout_height="match_parent"
-                android:background="@color/item_line" />
-
-            <ImageView
-                android:id="@+id/oa_img_infile"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:clickable="true"
-                android:padding="5dp"
-                android:src="@drawable/filter" />
-        </LinearLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/item_line" />
-
-        <GridView
-            android:id="@+id/gridview"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:numColumns="7"
-            android:visibility="gone" />
-
-        <com.xzjmyk.pm.activity.view.CalendarView
-            android:id="@+id/oa_picker"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/item_line" />
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
-
-            <TextView
-                android:id="@+id/all_task_num"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="5dp"
-                android:layout_marginRight="3dp"
-                android:gravity="center"
-                android:text="工作日历:0"
-                android:textSize="@dimen/text_main" />
-
-            <View
-                android:layout_width="2px"
-                android:layout_height="match_parent"
-                android:background="@color/item_line" />
-
-            <TextView
-                android:id="@+id/ok_task_num"
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:text="已完成:0"
-                android:textSize="@dimen/text_main" />
-
-            <View
-                android:layout_width="1px"
-                android:layout_height="match_parent"
-                android:background="@color/item_line" />
-
-            <TextView
-                android:id="@+id/uok_task_num"
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:text="未完成:0"
-                android:textSize="@dimen/text_main" />
-
-            <View
-                android:layout_width="1px"
-                android:layout_height="match_parent"
-                android:background="@color/item_line" />
-
-            <ImageView
-                android:id="@+id/ok_scale"
-                android:layout_width="wrap_content"
-                android:layout_height="22dp"
-                android:layout_marginRight="8dp"
-                android:gravity="center"
-                android:src="@drawable/filter" />
-        </LinearLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/item_line" />
-
-        <com.xzjmyk.pm.activity.view.MyListView
-            android:id="@+id/oa_listview"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="30dp"
-            android:divider="@color/item_line"
-            android:dividerHeight="2px"
-            android:focusableInTouchMode="false" />
-
-    </LinearLayout>
-</ScrollView>

+ 9 - 9
WeiChat/src/main/res/layout/activity_oalist.xml

@@ -4,7 +4,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    tools:context="com.xzjmyk.pm.activity.ui.erp.activity.oa.OAListActivity">
+    tools:context="com.xzjmyk.pm.activity.ui.erp.activity.oa.OutLogListActivity">
 
     <FrameLayout
         android:id="@+id/top_fl"
@@ -18,9 +18,9 @@
             android:clickable="false" />
 
         <RelativeLayout
-            android:background="#09000000"
             android:layout_width="match_parent"
-            android:layout_height="match_parent">
+            android:layout_height="match_parent"
+            android:background="#09000000">
 
             <TextView
                 android:id="@+id/rili_tv"
@@ -36,10 +36,10 @@
                 android:id="@+id/head_img"
                 android:layout_width="60dp"
                 android:layout_height="60dp"
-                android:background="@drawable/round_bg"
-                android:scaleType="fitXY"
                 android:layout_alignParentBottom="true"
-                android:layout_margin="10dp" />
+                android:layout_margin="10dp"
+                android:scaleType="fitXY" />
+
             <TextView
                 android:id="@+id/name_tv"
                 android:layout_width="wrap_content"
@@ -55,8 +55,8 @@
                 android:layout_alignLeft="@id/name_tv"
                 android:layout_below="@id/name_tv"
                 android:layout_marginTop="5dp"
-                android:visibility="gone"
-                android:textColor="@color/text_hine" />
+                android:textColor="@color/text_hine"
+                android:visibility="gone" />
 
             <TextView
                 android:id="@+id/prot_tv"
@@ -75,5 +75,5 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:divider="@color/item_line"
-        android:dividerHeight="10px" />
+        android:dividerHeight="1px" />
 </LinearLayout>

+ 1 - 0
WeiChat/src/main/res/layout/activity_oamain.xml

@@ -296,6 +296,7 @@
 
         <com.xzjmyk.pm.activity.view.MyListView
             android:id="@+id/oa_listview"
+            android:layout_marginTop="6dp"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginBottom="30dp"

+ 10 - 3
WeiChat/src/main/res/layout/activity_visit_report_add.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:editTextFormExample="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -221,13 +222,19 @@
                 android:layout_marginLeft="20dp"
                 android:layout_toRightOf="@+id/tv_id6"
                 android:text="*"
-                android:textColor="@color/red" />
+                android:textColor="@color/red"
+                android:id="@+id/textView" />
 
-            <com.andreabaccega.widget.FormEditText xmlns:editTextFormExample="http://schemas.android.com/apk/res-auto"
+            <com.andreabaccega.widget.FormEditText
                 android:id="@+id/tv_visit_theme"
                 style="@style/form_relative_right_text"
                 android:hint="请输入"
-                editTextFormExample:testType="nocheck" />
+                editTextFormExample:testType="nocheck"
+                android:layout_centerVertical="true"
+                android:layout_toRightOf="@+id/textView"
+                android:layout_toEndOf="@+id/textView"
+                android:layout_marginLeft="11dp"
+                android:layout_marginStart="11dp" />
         </RelativeLayout>
 
         <RelativeLayout

+ 24 - 7
WeiChat/src/main/res/layout/item_outoffice_list.xml

@@ -51,24 +51,41 @@
             android:textColor="@color/text_main"
             android:textSize="@dimen/text_main" />
 
-        <TextView
-            android:id="@+id/addr"
+        <ImageView
+            android:id="@+id/addr_img"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignLeft="@id/location"
             android:layout_below="@id/location"
-            android:layout_marginTop="6dp"
-            android:drawableLeft="@drawable/addr"
-            android:drawablePadding="4dp"
-            android:textSize="@dimen/text_main" />
+            android:src="@drawable/addr" />
+
+
+        <TextView
+            android:id="@+id/addr"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignTop="@id/addr_img"
+            android:layout_marginLeft="8dp"
+            android:layout_toRightOf="@id/addr_img"
+            android:textSize="@dimen/text_hine" />
+
+        <ImageView
+            android:id="@+id/remark_img"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignLeft="@id/addr_img"
+            android:layout_below="@id/addr_img"
+            android:layout_marginTop="5dp"
+            android:src="@drawable/icon_answer" />
 
         <TextView
             android:id="@+id/remark"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignLeft="@id/addr"
+            android:layout_alignTop="@id/remark_img"
             android:layout_below="@id/addr"
-            android:layout_marginTop="6dp" />
+            android:textSize="@dimen/text_hine" />
 
         <ImageView
             android:id="@+id/image"