Browse Source

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

FANGLH 9 years ago
parent
commit
2a71a5d296
61 changed files with 2101 additions and 1451 deletions
  1. 1 1
      WeiChat/build.gradle
  2. 8 18
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/oa/OABean.java
  3. 3 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java
  4. 99 22
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BasicInfoActivity.java
  5. 15 15
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendShuoshuoActivity.java
  6. 92 16
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/view/CardInfoActivity.java
  7. 47 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CompanyContactsActivity.java
  8. 54 17
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewCommActivity.java
  9. 5 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailActivty.java
  10. 16 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
  11. 154 155
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessLessActivity.java
  12. 41 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java
  13. 8 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java
  14. 4 6
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java
  15. 27 24
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/FeedbackActivity.java
  16. 20 10
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AlarmaActivity.java
  17. 5 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/ChangeMobileActivity.java
  18. 101 11
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java
  19. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OutSigninOKActivity.java
  20. 0 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SaveMeetActivity.java
  21. 2 6
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/ContactFragment.java
  22. 26 16
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java
  23. 0 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/UUFriendFragment.java
  24. 0 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmManage.java
  25. 6 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmReceiver.java
  26. 23 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmService.java
  27. 126 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/ReckonAlarmTimeUtil.java
  28. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/CustomProgressDialog.java
  29. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java
  30. 26 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SubscriptionActivity.java
  31. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_dot_more.png
  32. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_outoffice_addr.png
  33. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_outoffice_msg.png
  34. BIN
      WeiChat/src/main/res/drawable-xhdpi/ic_dot_more.png
  35. BIN
      WeiChat/src/main/res/drawable-xhdpi/ic_outoffice_addr.png
  36. BIN
      WeiChat/src/main/res/drawable-xhdpi/ic_outoffice_msg.png
  37. BIN
      WeiChat/src/main/res/drawable-xxhdpi/ic_dot_more.png
  38. BIN
      WeiChat/src/main/res/drawable-xxhdpi/ic_outoffice_addr.png
  39. BIN
      WeiChat/src/main/res/drawable-xxhdpi/ic_outoffice_msg.png
  40. 5 5
      WeiChat/src/main/res/drawable/oa_signin_tv_bg.xml
  41. 8 0
      WeiChat/src/main/res/drawable/selector_me_menu_item_bg.xml
  42. 3 1
      WeiChat/src/main/res/layout/act_staff_query_list.xml
  43. 13 12
      WeiChat/src/main/res/layout/activity_basic_info.xml
  44. 511 613
      WeiChat/src/main/res/layout/activity_client.xml
  45. 38 48
      WeiChat/src/main/res/layout/activity_oa_alarma.xml
  46. 40 31
      WeiChat/src/main/res/layout/activity_oalist.xml
  47. 356 339
      WeiChat/src/main/res/layout/activity_oamain.xml
  48. 10 8
      WeiChat/src/main/res/layout/activity_out_signin_ok.xml
  49. 4 1
      WeiChat/src/main/res/layout/activity_select.xml
  50. 29 12
      WeiChat/src/main/res/layout/fragment_me.xml
  51. 1 1
      WeiChat/src/main/res/layout/fragment_message.xml
  52. 7 7
      WeiChat/src/main/res/layout/fragment_outoffice.xml
  53. 1 1
      WeiChat/src/main/res/layout/item_activity_workdaily.xml
  54. 4 3
      WeiChat/src/main/res/layout/item_outoffice_list.xml
  55. 1 0
      WeiChat/src/main/res/layout/item_staff_tree.xml
  56. 65 0
      WeiChat/src/main/res/layout/layout_menu_person_info.xml
  57. 39 5
      WeiChat/src/main/res/layout/message_header.xml
  58. 1 0
      WeiChat/src/main/res/layout/row_nearly_message.xml
  59. 10 4
      WeiChat/src/main/res/menu/menu_basic_info.xml
  60. 4 0
      WeiChat/src/main/res/values/colors.xml
  61. 37 0
      pullToRefershLibraryMy/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java

+ 1 - 1
WeiChat/build.gradle

@@ -13,7 +13,7 @@ android {
     }
     signingConfigs {
         config {
-            storeFile file('C:/Users/FANGlh/Desktop/UU5.5.1/applicationsignname[20150409]')
+            storeFile file('E:/CompanyProject/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 8 - 18
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/oa/OABean.java

@@ -39,13 +39,13 @@ public class OABean implements Parcelable {
     private String vp_visitmancode;
     private String vp_custcode;//联系人编号
     private String nichestep;//沟通阶段
-    private String vp_contact;//联系人
-    private String vp_cucontact;//联系人
+    private String vr_cucontact;//联系人
 
 
     public OABean() {
     }
 
+
     public int getType() {
         return type;
     }
@@ -254,20 +254,12 @@ public class OABean implements Parcelable {
         this.nichestep = nichestep;
     }
 
-    public String getVp_contact() {
-        return vp_contact;
-    }
-
-    public void setVp_contact(String vp_contact) {
-        this.vp_contact = vp_contact;
-    }
-
-    public String getVp_cucontact() {
-        return vp_cucontact;
+    public String getVr_cucontact() {
+        return vr_cucontact;
     }
 
-    public void setVp_cucontact(String vp_cucontact) {
-        this.vp_cucontact = vp_cucontact;
+    public void setVr_cucontact(String vr_cucontact) {
+        this.vr_cucontact = vr_cucontact;
     }
 
     protected OABean(Parcel in) {
@@ -297,8 +289,7 @@ public class OABean implements Parcelable {
         vp_visitmancode = in.readString();
         vp_custcode = in.readString();
         nichestep = in.readString();
-        vp_contact = in.readString();
-        vp_cucontact = in.readString();
+        vr_cucontact = in.readString();
     }
 
     @Override
@@ -329,8 +320,7 @@ public class OABean implements Parcelable {
         dest.writeString(vp_visitmancode);
         dest.writeString(vp_custcode);
         dest.writeString(nichestep);
-        dest.writeString(vp_contact);
-        dest.writeString(vp_cucontact);
+        dest.writeString(vr_cucontact);
     }
 
     @Override

+ 3 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -43,6 +43,7 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.circle.BusinessCircleFragment;
 import com.xzjmyk.pm.activity.ui.erp.fragment.ContactFragment;
 import com.xzjmyk.pm.activity.ui.erp.fragment.WorksFragment;
+import com.xzjmyk.pm.activity.ui.erp.util.alarm.AlarmService;
 import com.xzjmyk.pm.activity.ui.find.MyFriendFragment;
 import com.xzjmyk.pm.activity.ui.groupchat.GroupChatFragment;
 import com.xzjmyk.pm.activity.ui.me.MeFragment;
@@ -50,7 +51,6 @@ import com.xzjmyk.pm.activity.ui.me.ScreenListener;
 import com.xzjmyk.pm.activity.ui.message.MessageFragment;
 import com.xzjmyk.pm.activity.util.Constants;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
-import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.view.DivideRadioGroup;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
 import com.xzjmyk.pm.activity.volley.FastVolley;
@@ -391,7 +391,8 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         super.onCreate(savedInstanceState);
         getSupportActionBar().setDisplayShowHomeEnabled(false);
         getSupportActionBar().setDisplayHomeAsUpEnabled(false);
-
+        Intent alarmService = new Intent(ct, AlarmService.class);
+        startService(alarmService);
         setContentView(R.layout.activity_main);
         SIP_USERNAME = MyApplication.getInstance().mLoginUser.getUserId();
         String host = mConfig.MeetingHost;

+ 99 - 22
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BasicInfoActivity.java

@@ -8,6 +8,7 @@ import android.content.ComponentName;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.ServiceConnection;
+import android.graphics.drawable.BitmapDrawable;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
@@ -15,6 +16,7 @@ import android.os.IBinder;
 import android.text.InputFilter;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.Gravity;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
@@ -22,6 +24,8 @@ import android.view.ViewGroup;
 import android.view.Window;
 import android.widget.EditText;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
 import android.widget.TextView;
 
 import com.afollestad.materialdialogs.MaterialDialog;
@@ -49,6 +53,7 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.AddTaskActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.message.ChatActivity;
+import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
@@ -118,6 +123,13 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
     private String userId;
     private String userName;
     private String phone;
+    private PopupWindow mMoreWindow;
+    private View mMoreMenuView;
+    private TextView mRemarkNameTv;
+    private TextView mRemoveBlackTv;
+    private TextView mAddBlackTv;
+    private TextView mCancelAttentionTv;
+    private TextView mDeleteAllTv;
 
     @TargetApi(Build.VERSION_CODES.HONEYCOMB)
     @SuppressLint("NewApi")
@@ -175,12 +187,12 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
             if (mFriend.getStatus() != Friend.STATUS_BLACKLIST && mFriend.getStatus() == Friend.STATUS_ATTENTION
                     && mFriend.getStatus() == Friend.STATUS_FRIEND) {
             } else {
-                getMenuInflater().inflate(R.menu.menu_basic_info, menu);
+                getMenuInflater().inflate(R.menu.menu_basic_info, menu);/*
                 if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
                     menu.findItem(R.id.add_blacklist).setVisible(false);
                 } else {
                     menu.findItem(R.id.remove_blacklist).setVisible(false);
-                }
+                }*/
             }
         }
         return super.onPrepareOptionsMenu(menu);
@@ -193,23 +205,16 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                     && mFriend.getStatus() == Friend.STATUS_FRIEND) {
             } else {
                 getMenuInflater().inflate(R.menu.menu_basic_info, menu);
-                if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
+                /*if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
                     menu.findItem(R.id.add_blacklist).setVisible(false);
                 } else {
                     menu.findItem(R.id.remove_blacklist).setVisible(false);
-                }
+                }*/
             }
         }
         return super.onCreateOptionsMenu(menu);
     }
 
-    @Override
-    public void onBackPressed() {
-        Intent intent = new Intent();
-        setResult(0x20, intent);
-        super.onBackPressed();
-    }
-
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == android.R.id.home) {
@@ -224,18 +229,10 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                 && mFriend.getStatus() == Friend.STATUS_FRIEND) {
             return super.onOptionsItemSelected(item);
         }
-        CharSequence[] items = new CharSequence[5];
-        items[0] = getString(R.string.set_remark_name);// 设置备注名
-        if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
-            items[1] = getString(R.string.remove_blacklist);
-        } else {
-            items[1] = getString(R.string.add_blacklist);
-        }
-        items[3] = getString(R.string.cancel_attention);
-        items[4] = getString(R.string.delete_all);
+
         int itemId = item.getItemId();
         switch (itemId) {
-            case R.id.set_remark_name:// 设置备注名
+            /*case R.id.set_remark_name:// 设置备注名
                 showRemarkDialog(mFriend);
                 break;
             case R.id.remove_blacklist:// 加入黑名单,或者移除黑名单
@@ -249,14 +246,42 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                 break;
             case R.id.delete_all:// 设置备注名
                 showDeleteAllDialog(mFriend);
-                break;
+                break;*/
+            case R.id.basic_info_more:
 
+                if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
+                    mAddBlackTv.setVisibility(View.GONE);
+                    mRemoveBlackTv.setVisibility(View.VISIBLE);
+                } else {
+                    mAddBlackTv.setVisibility(View.VISIBLE);
+                    mRemoveBlackTv.setVisibility(View.GONE);
+                }
+
+                mMoreWindow.showAtLocation(BasicInfoActivity.this.findViewById(R.id.basic_info_ll), Gravity.BOTTOM, 0, 0);
+                DisplayUtil.backgroundAlpha(mContext, 0.5f);
+                break;
             default:
                 break;
         }
         return super.onOptionsItemSelected(item);
     }
 
+    private void closeMorePopupWindow() {
+        if (mMoreWindow != null) {
+            mMoreWindow.dismiss();
+//            mMoreWindow = null;
+            DisplayUtil.backgroundAlpha(mContext, 1f);
+
+        }
+
+    }
+    @Override
+    public void onBackPressed() {
+        Intent intent = new Intent();
+        setResult(0x20, intent);
+        super.onBackPressed();
+    }
+
     /**
      * 懒得判断操作的用户到底属于好友、企业、还是公司,直接发广播,让所有的名片盒页面都更新
      */
@@ -458,6 +483,58 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                 sub_tv.setText(StringUtils.isEmpty(depart) ? "" : depart + (StringUtils.isEmpty(position) ? "" : position));
             }
         }
+        mMoreMenuView = View.inflate(getApplicationContext(), R.layout.layout_menu_person_info, null);
+        mRemarkNameTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_set_remark_name);
+        mRemoveBlackTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_remove_blacklist);
+        mAddBlackTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_add_blacklist);
+        mCancelAttentionTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_cancel_attention);
+        mDeleteAllTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_delete_all);
+
+        mRemarkNameTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showRemarkDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mRemoveBlackTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showBlacklistDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mAddBlackTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showBlacklistDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mCancelAttentionTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showCancelAttentionDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mDeleteAllTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showDeleteAllDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mMoreWindow = new PopupWindow(mMoreMenuView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        mMoreWindow.setAnimationStyle(R.style.MenuAnimationFade);
+        mMoreWindow.setBackgroundDrawable(new BitmapDrawable());
+        mMoreWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeMorePopupWindow();
+            }
+        });
+
     }
 
     public void phoneAction(final String phone) {

+ 15 - 15
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendShuoshuoActivity.java

@@ -72,7 +72,7 @@ public class SendShuoshuoActivity extends BaseActivity implements View.OnClickLi
     public static final int LOCATION = 0x00a, DISPLAY = 0x00b;
 
     private int mType;
-    private String dailyexperience;
+    private String dailyexperience = null;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -113,10 +113,7 @@ public class SendShuoshuoActivity extends BaseActivity implements View.OnClickLi
         dailyexperience = intent.getStringExtra("Experience");
         if(!TextUtils.isEmpty(dailyexperience)){
             mTextEdit.setText(dailyexperience);
-        }else{
-            return;
         }
-
         if (mType == 0) {
             mSelectImagePromptTv.setVisibility(View.GONE);
             mSelectImgLayout.setVisibility(View.GONE);
@@ -237,7 +234,12 @@ public class SendShuoshuoActivity extends BaseActivity implements View.OnClickLi
         // 消息隐私范围 0=不可见;1=朋友可见;2=粉丝可见;3=广场
         params.put("visible", "3");
 
-        params.put("text", mTextEdit.getText().toString()+"[来自:工作日报>工作心得分享]");// 消息内容
+        if(!TextUtils.isEmpty(dailyexperience)){
+            params.put("text", mTextEdit.getText().toString()+"[来自:工作日报>工作心得分享]");// 消息内容
+        }else{
+            params.put("text", mTextEdit.getText().toString());// 消息内容
+        }
+
         if (!TextUtils.isEmpty(mImageData)) {
             params.put("images", mImageData);
         }
@@ -284,14 +286,14 @@ public class SendShuoshuoActivity extends BaseActivity implements View.OnClickLi
                     setResult(RESULT_OK, intent);
 
                     if(!TextUtils.isEmpty(dailyexperience)){
-                        finish();
-                        Toast.makeText(getApplication(),"工作心得分享成功,稍后可到工作圈查看",Toast.LENGTH_LONG).show();
-                      /* new AlertDialog
+                        //Toast.makeText(getApplication(),"工作心得分享成功,稍后可到工作圈查看",Toast.LENGTH_LONG).show();
+                        //ToastMessage("工作心得分享成功,稍后可到工作圈查看");
+                       new AlertDialog
                                .Builder(mContext)
                                .setCancelable(false)  //设置点击对话框之外的对话框不消失
                                .setTitle("分享成功")
                                .setMessage("是否立即进入朋友圈查看")
-                               .setNegativeButton("不了,返回日报详情", new DialogInterface.OnClickListener() {
+                               .setNegativeButton("不了,继续编写日报", new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        finish();
@@ -303,12 +305,10 @@ public class SendShuoshuoActivity extends BaseActivity implements View.OnClickLi
                                        Intent intent1 = new Intent(ct,BusinessCircleActivity.class);
                                        startActivity(intent1);
                                    }
-                               }).show();*/
-                   }
-
-                   else{
-                       finish();
-                   }
+                               }).show();
+                   }else{
+                        finish();
+                    }
                 }
                 ProgressDialogUtil.dismiss(mProgressDialog);
             }

+ 92 - 16
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/view/CardInfoActivity.java

@@ -8,6 +8,7 @@ import android.content.ComponentName;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.ServiceConnection;
+import android.graphics.drawable.BitmapDrawable;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
@@ -15,6 +16,7 @@ import android.os.IBinder;
 import android.text.InputFilter;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.Gravity;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
@@ -22,6 +24,8 @@ import android.view.ViewGroup;
 import android.view.Window;
 import android.widget.EditText;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
 import android.widget.TextView;
 
 import com.afollestad.materialdialogs.MaterialDialog;
@@ -50,6 +54,7 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.AddTaskActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.message.ChatActivity;
+import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
@@ -122,6 +127,9 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
     private String userId;
     private String userName;
 
+    private PopupWindow mMoreWindow;
+    private View mMoreMenuView;
+    private TextView mRemarkNameTv, mRemoveBlackTv, mAddBlackTv, mCancelAttentionTv, mDeleteAllTv;
     @TargetApi(Build.VERSION_CODES.HONEYCOMB)
     @SuppressLint("NewApi")
     @Override
@@ -199,11 +207,11 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
                     && mFriend.getStatus() == Friend.STATUS_FRIEND) {
             } else {
                 getMenuInflater().inflate(R.menu.menu_basic_info, menu);
-                if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
+                /*if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
                     menu.findItem(R.id.add_blacklist).setVisible(false);
                 } else {
                     menu.findItem(R.id.remove_blacklist).setVisible(false);
-                }
+                }*/
             }
         }
         return super.onPrepareOptionsMenu(menu);
@@ -216,24 +224,28 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
                     && mFriend.getStatus() == Friend.STATUS_FRIEND) {
             } else {
                 getMenuInflater().inflate(R.menu.menu_basic_info, menu);
-                if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
+                /*if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
                     menu.findItem(R.id.add_blacklist).setVisible(false);
                 } else {
                     menu.findItem(R.id.remove_blacklist).setVisible(false);
-                }
+                }*/
             }
         }
         return super.onCreateOptionsMenu(menu);
     }
 
-    @Override
+    /*@Override
     public void onBackPressed() {
         super.onBackPressed();
         finish();
-    }
+    }*/
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == android.R.id.home) {
+            onBackPressed();
+            return true;
+        }
         if (mFriend == null) {
             return super.onOptionsItemSelected(item);
         }
@@ -242,19 +254,10 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
                 && mFriend.getStatus() == Friend.STATUS_FRIEND) {
             return super.onOptionsItemSelected(item);
         }
-        CharSequence[] items = new CharSequence[4];
-        items[0] = getString(R.string.set_remark_name);// 设置备注名
-        if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
-            items[1] = getString(R.string.remove_blacklist);
-        } else {
-            items[1] = getString(R.string.add_blacklist);
-        }
 
-        items[2] = getString(R.string.cancel_attention);
-        items[3] = getString(R.string.delete_all);
         int itemId = item.getItemId();
         switch (itemId) {
-            case R.id.set_remark_name:// 设置备注名
+            /*case R.id.set_remark_name:// 设置备注名
                 showRemarkDialog(mFriend);
                 break;
             case R.id.remove_blacklist:// 加入黑名单,或者移除黑名单
@@ -268,13 +271,34 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
                 break;
             case R.id.delete_all:// 设置备注名
                 showDeleteAllDialog(mFriend);
+                break;*/
+            case R.id.basic_info_more:
+
+                if (mFriend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
+                    mAddBlackTv.setVisibility(View.GONE);
+                    mRemoveBlackTv.setVisibility(View.VISIBLE);
+                } else {
+                    mAddBlackTv.setVisibility(View.VISIBLE);
+                    mRemoveBlackTv.setVisibility(View.GONE);
+                }
+
+                mMoreWindow.showAtLocation(CardInfoActivity.this.findViewById(R.id.basic_info_ll), Gravity.BOTTOM, 0, 0);
+                DisplayUtil.backgroundAlpha(mContext, 0.5f);
                 break;
             default:
                 break;
         }
         return super.onOptionsItemSelected(item);
     }
+    private void closeMorePopupWindow() {
+        if (mMoreWindow != null) {
+            mMoreWindow.dismiss();
+//            mMoreWindow = null;
+            DisplayUtil.backgroundAlpha(mContext, 1f);
+
+        }
 
+    }
     /**
      * 懒得判断操作的用户到底属于好友、企业、还是公司,直接发广播,让所有的名片盒页面都更新
      */
@@ -468,6 +492,58 @@ public class CardInfoActivity extends BaseActivity implements NewFriendListener
             }
         });
 
+        mMoreMenuView = View.inflate(getApplicationContext(), R.layout.layout_menu_person_info, null);
+        mRemarkNameTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_set_remark_name);
+        mRemoveBlackTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_remove_blacklist);
+        mAddBlackTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_add_blacklist);
+        mCancelAttentionTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_cancel_attention);
+        mDeleteAllTv = (TextView) mMoreMenuView.findViewById(R.id.basic_info_delete_all);
+
+        mRemarkNameTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showRemarkDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mRemoveBlackTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showBlacklistDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mAddBlackTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showBlacklistDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mCancelAttentionTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showCancelAttentionDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mDeleteAllTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showDeleteAllDialog(mFriend);
+                closeMorePopupWindow();
+            }
+        });
+        mMoreWindow = new PopupWindow(mMoreMenuView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        mMoreWindow.setAnimationStyle(R.style.MenuAnimationFade);
+        mMoreWindow.setBackgroundDrawable(new BitmapDrawable());
+        mMoreWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeMorePopupWindow();
+            }
+        });
+
     }
 
     public void phoneAction(final String phone) {

+ 47 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CompanyContactsActivity.java

@@ -117,7 +117,7 @@ public class CompanyContactsActivity extends BaseActivity {
     private final int LOAD_SUCCESS_LEAFHRORG_RIGHTANDLEFT = 6;
     private final int LOAD_SUCCESS_EMPLOYEE = 4;
     private final int LOAD_SUCCESS_EMPLOYEEINFO = 3;
-
+    private String depart;//当前所处部门
     private Handler mHandler = new Handler() {
         public void handleMessage(android.os.Message msg) {
             HrorgsEntity hEntity;
@@ -512,7 +512,8 @@ public class CompanyContactsActivity extends BaseActivity {
                     }
                     LoadLeafHrorgFromServer(or_id, LOAD_SUCCESS_LEAFHRORG_RIGHT);
                 } else {
-                    EnterChatAction(item);
+                    enterToBasicInfo(item);
+//                    EnterChatAction(item);
                 }
             }
         });
@@ -530,7 +531,8 @@ public class CompanyContactsActivity extends BaseActivity {
                     hrorgs_parent_position = position;// 记住父级菜单的位置
                     LoadLeafHrorgFromServer(or_id, LOAD_SUCCESS_LEAFHRORG_RIGHTANDLEFT);/** @注释:还需要改变左侧列表 */
                 } else {
-                    EnterChatAction(item);
+                    enterToBasicInfo(item);
+//                    EnterChatAction(item);
                 }
             }
         });
@@ -606,12 +608,33 @@ public class CompanyContactsActivity extends BaseActivity {
 
     }
 
+    //create by bitliker
+    private void enterToBasicInfo(DetailItemAdapter.ModelItem item) {
+        Friend friend = new Friend();
+        friend.setTimeCreate((int) (System.currentTimeMillis() / 1000));
+        friend.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
+        friend.setUserId(String.valueOf(item.imid));
+        friend.setNickName(item.tv_name.getText().toString());
+        friend.setPhone(item.mobile);
+        friend.setDepart("");
+        friend.setPosition(item.position);
+        friend.setEmCode(item.em_code);
+        friend.setPrivacy(item.email);
+        friend.setCompanyId(0);
+        friend.setRoomFlag(0);// 0朋友 1群组
+        friend.setStatus(Friend.STATUS_UNKNOW);
+        Intent intent = new Intent(ct, BasicInfoActivity.class);
+        intent.putExtra(AppConstant.EXTRA_NICK_CODE, friend.getPhone());
+        intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
+        intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
+        intent.putExtra("friend", friend);
+        startActivity(intent);
+    }
 
     private void EnterChatAction(DetailItemAdapter.ModelItem item) {
         Friend friendOne = FriendDao.getInstance().getFriend(MyApplication.getInstance().mLoginUser.getUserId(),
                 String.valueOf(item.imid));
         Friend friend = new Friend();
-
         friend.setUserId(String.valueOf(item.imid));
         friend.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
         friend.setRemarkName(item.tv_name.getText().toString());//备注
@@ -1057,6 +1080,12 @@ public class CompanyContactsActivity extends BaseActivity {
                     item.add_friend.setVisibility(View.GONE);
                     item.phone.setVisibility(View.GONE);
                 } else {
+                    //gongpengming
+                    item.mobile = employees.get(position - lists.size()).em_mobile;
+                    item.position = employees.get(position - lists.size()).em_position;
+                    item.em_code = employees.get(position - lists.size()).em_code;
+                    item.email = employees.get(position - lists.size()).em_email;
+
                     item.tv_name.setText(employees.get(position - lists.size()).em_name);
                     item.or_id = employees.get(position - lists.size()).getEm_id();
                     item.isleaf = 1;
@@ -1087,6 +1116,12 @@ public class CompanyContactsActivity extends BaseActivity {
                 item.add_friend.setVisibility(View.GONE);
                 item.phone.setVisibility(View.GONE);
             } else if (employees != null) {
+                //gongpengming
+                item.mobile = employees.get(position - lists.size()).em_mobile;
+                item.position = employees.get(position - lists.size()).em_position;
+                item.em_code = employees.get(position - lists.size()).em_code;
+                item.email = employees.get(position - lists.size()).em_email;
+
                 item.add_friend.setVisibility(View.VISIBLE);
                 item.phone.setVisibility(View.VISIBLE);
                 item.tv_name.setText(employees.get(position).em_name);
@@ -1122,7 +1157,7 @@ public class CompanyContactsActivity extends BaseActivity {
                     }
                     item.iv_enter.setVisibility(View.GONE);
                 } else {
-                    convertView.setBackgroundColor(Color.parseColor("#FFFFFF"));
+                    convertView.setBackgroundColor(Color.parseColor("#f3f3f3"));
                 }
             }
             return convertView;
@@ -1132,6 +1167,13 @@ public class CompanyContactsActivity extends BaseActivity {
             public int imid;
             public int or_id;
             public int isleaf;
+
+            public String mobile;
+            public String position;//职位
+            public String em_code;
+            public String email;
+
+
             public TextView tv_type;
             public ImageView iv_falg;
             public TextView tv_name;

+ 54 - 17
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewCommActivity.java

@@ -39,6 +39,7 @@ import org.json.JSONObject;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -64,6 +65,8 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
     private String mSubsurl;
     private TextView mPreTv;
     private TextView mNextTv;
+    private List<Object> mReadSubs;
+
     private  Handler hander = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -107,6 +110,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         mPreTv = (TextView) findViewById(R.id.web_previous_tv);
         mNextTv = (TextView) findViewById(R.id.web_next_tv);
 
+        mReadSubs = new ArrayList<>();
         isStartApp = false;
         pb = (ProgressBar) findViewById(R.id.pb);
         pb.setMax(100);
@@ -234,26 +238,51 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
                 mPosition++;
                 break;
         }
-        getSupportActionBar().setTitle(mSubscriptionMessages.get(mPosition).getTITLE_());
-        if (mPosition == 0){
-            mPreTv.setVisibility(View.GONE);
-            mNextTv.setVisibility(View.VISIBLE);
-        }else if (mPosition == mSubscriptionMessages.size() - 1){
-            mPreTv.setVisibility(View.VISIBLE);
-            mNextTv.setVisibility(View.GONE);
-        }else {
-            mPreTv.setVisibility(View.VISIBLE);
-            mNextTv.setVisibility(View.VISIBLE);
+        if (mSubscriptionMessages != null){
+            mReadSubs.add(mPosition);
+            getSupportActionBar().setTitle(mSubscriptionMessages.get(mPosition).getTITLE_());
+            if (mPosition == 0){
+                mPreTv.setVisibility(View.GONE);
+                mNextTv.setVisibility(View.VISIBLE);
+            }else if (mPosition == mSubscriptionMessages.size() - 1){
+                mPreTv.setVisibility(View.VISIBLE);
+                mNextTv.setVisibility(View.GONE);
+            }else {
+                mPreTv.setVisibility(View.VISIBLE);
+                mNextTv.setVisibility(View.VISIBLE);
+            }
+            url = mSubsurl  + "?numId=" + mSubscriptionMessages.get(mPosition).getNUM_ID_()
+                    + "&mainId=" + mSubscriptionMessages.get(mPosition).getINSTANCE_ID_()
+                    + "&insId=" + mSubscriptionMessages.get(mPosition).getID_()
+                    + "&title=" + mSubscriptionMessages.get(mPosition).getTITLE_();
+            Map<String,String> headers=new HashMap<>();
+            headers.put("client-name","uasClient");
+            webView.getRefreshableView().loadUrl(url,headers);
         }
-        url = mSubsurl  + "?numId=" + mSubscriptionMessages.get(mPosition).getNUM_ID_()
-                + "&mainId=" + mSubscriptionMessages.get(mPosition).getINSTANCE_ID_()
-                + "&insId=" + mSubscriptionMessages.get(mPosition).getID_()
-                + "&title=" + mSubscriptionMessages.get(mPosition).getTITLE_();
-        Map<String,String> headers=new HashMap<>();
-        headers.put("client-name","uasClient");
-        webView.getRefreshableView().loadUrl(url,headers);
     }
 
+    @Override
+    protected void onPause() {
+        super.onPause();
+        if (!mReadSubs.isEmpty()){
+            List<Integer> singleElement = (List)CommonUtil.getSingleElement(mReadSubs);
+            ArrayList<Integer> readIntegers = new ArrayList<>();
+            readIntegers.addAll(singleElement);
+            Intent intent = new Intent();
+            intent.putIntegerArrayListExtra("readsubs", readIntegers);
+            setResult(22, intent);
+        }
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+    }
 
     public class WebChromeClient extends android.webkit.WebChromeClient {
         @Override
@@ -304,6 +333,14 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
 
     @Override
     public void onBackPressed() {
+        if (!mReadSubs.isEmpty()){
+            List<Integer> singleElement = (List)CommonUtil.getSingleElement(mReadSubs);
+            ArrayList<Integer> readIntegers = new ArrayList<>();
+            readIntegers.addAll(singleElement);
+            Intent intent = new Intent();
+            intent.putIntegerArrayListExtra("readsubs", readIntegers);
+            setResult(22, intent);
+        }
         if (isStartApp) {
             Intent intent = new Intent(WebViewCommActivity.this, MainActivity.class);
             startActivity(intent);

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

@@ -33,7 +33,6 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.crm.Business;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.DbfindList2Activity;
-import com.xzjmyk.pm.activity.ui.erp.activity.DbfindListActivity;
 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;
@@ -521,7 +520,11 @@ public class BusinessDetailActivty extends BaseActivity {
         String url = Constants.getAppBaseUrl(ct) + "mobile/crm/updateBusinessChanceDoman.action";
         Map<String, Object> params = new HashMap<>();
         params.put("bc_code", bc_code);//商机编号
-        params.put("bc_doman", bc_doman);//商机跟进人
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
+        params.put("bc_doman", emname);//商机跟进人
         params.put("bc_domancode",en_code);//商机跟进人编号
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));

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

@@ -33,6 +33,7 @@ import com.xzjmyk.pm.activity.ui.erp.activity.DbfindList2Activity;
 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.DisplayUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
@@ -463,7 +464,11 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         String url = Constants.getAppBaseUrl(ct) + "mobile/crm/updateBusinessChanceDoman.action";
         Map<String, Object> params = new HashMap<>();
         params.put("bc_code", bc_code);
-        params.put("bc_doman", MyApplication.getInstance().mLoginUser.getNickName());
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
+        params.put("bc_doman",emname);
         params.put("bc_domancode", CommonUtil.getSharedPreferences(ct, "erp_username"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
@@ -491,7 +496,11 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         progressDialog.show();
         Map<String, Object> params = new HashMap<>();
         params.put("bccode", bt_code);
-        params.put("emname", MyApplication.getInstance().mLoginUser.getNickName());
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
+        params.put("emname", emname);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
@@ -529,7 +538,11 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         String url = Constants.getAppBaseUrl(ct) + "mobile/crm/updateBusinessChanceDoman.action";
         Map<String, Object> params = new HashMap<>();
         params.put("bc_code", bt_code);
-        params.put("bc_doman", bt_doman);
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
+        params.put("bc_doman", emname);
         params.put("bc_domancode", en_code);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));

+ 154 - 155
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessLessActivity.java

@@ -65,14 +65,14 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
     @ViewInject(R.id.tv_date)
     private TextView tv_date;
 
-    private  ArrayList<Data> datas=new ArrayList<>();
+    private ArrayList<Data> datas = new ArrayList<>();
     @ViewInject(R.id.lv_datas)
     private ListViewInScroller mList;
 
-    private  JSONArray array;//商机阶段全局变量
+    private JSONArray array;//商机阶段全局变量
     private String bcd_code = "";
     //动态创建编辑框
-    private HashMap<Integer,String> mEditText=new HashMap<>();
+    private HashMap<Integer, String> mEditText = new HashMap<>();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -105,7 +105,7 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
 //        //创建一个功能数组  
 //        DataAdapter adapter=new DataAdapter(ct,datas);
 //        mList.setAdapter(adapter);
-        
+
     }
 
     int type = 1;
@@ -115,7 +115,7 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
 
     private void initData() {
         loadLeader(2);
-        tv_date.setText(DateFormatUtil.getStrDate4Date(new Date(),"yyyy-MM-dd HH:mm:ss"));
+        tv_date.setText(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss"));
         Intent intent = getIntent();
         if (intent != null) {
             type = intent.getIntExtra("type", 1);
@@ -161,24 +161,24 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
 
                 }
                 if (type == 2) {
-                    boolean falg=true;
-                    for (int i=0;i<datas.size();i++){
-                        if (datas.get(i).getIsNeed()==1&&mEditText.get(i)==null){
-                                falg = false;
-                                ToastMessage(datas.get(i).getName() + "为必填项");
-                        }else{
-                            if(mEditText.get(i)!=null){
-                            if (StringUtils.isEmpty(mEditText.get(i).toString())) {
-                                falg = false;
-                                ToastMessage(datas.get(i).getName() + "为必填项");
-                            }
+                    boolean falg = true;
+                    for (int i = 0; i < datas.size(); i++) {
+                        if (datas.get(i).getIsNeed() == 1 && mEditText.get(i) == null) {
+                            falg = false;
+                            ToastMessage(datas.get(i).getName() + "为必填项");
+                        } else {
+                            if (mEditText.get(i) != null) {
+                                if (StringUtils.isEmpty(mEditText.get(i).toString())) {
+                                    falg = false;
+                                    ToastMessage(datas.get(i).getName() + "为必填项");
+                                }
                             }
                         }
                     }
-                    if (falg){
+                    if (falg) {
                         sendHttpResquest(Constants.HTTP_SUCCESS_INIT, "继续跟进");
                     }
-                    for (int i=0;i<mEditText.size();i++){
+                    for (int i = 0; i < mEditText.size(); i++) {
                         Log.i(TAG, "onOptionsItemSelected:" + datas.get(i).getFormStoreKey() + ":" + mEditText.get(i));
                     }
                 }
@@ -186,7 +186,7 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
             case android.R.id.home:
                 onBackPressed();
                 break;
-          
+
         }
         return true;
     }
@@ -199,16 +199,16 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
                 case Constants.HTTP_SUCCESS_INIT:
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
-                    Crouton.makeText(activity,30,"操作成功!",getResources().getColor(R.color.light_green),2000).show();
+                    Crouton.makeText(activity, 30, "操作成功!", getResources().getColor(R.color.light_green), 2000).show();
                     if (type == 2) {
                         updataSchedule(0x16);
-                    }else{
-                      mHandler.postDelayed(new Runnable() {
-                          @Override
-                          public void run() {
-                              jumpToStateActivity();
-                          }
-                      },3000);
+                    } else {
+                        mHandler.postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                jumpToStateActivity();
+                            }
+                        }, 3000);
                     }
                     break;
                 case 0x16:
@@ -217,7 +217,7 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
-                    Crouton.makeText(activity, 30, msg.getData().getString("result"), 
+                    Crouton.makeText(activity, 30, msg.getData().getString("result"),
                             getResources().getColor(R.color.red), 2000).show();
                     break;
                 case 2:
@@ -244,11 +244,11 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
                     }
                     showSimpleDialog(tv_business_state, "商机阶段");
                     break;
-                 
+
             }
         }
     };
-   
+
     private void jumpToStateActivity() {
         /*Intent intent = new Intent();
         intent.setClass(BusinessLessActivity.this, BusinessStateActivity.class);
@@ -270,37 +270,40 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
     private void sendHttpResquest(int what, String typeStr) {
         progressDialog.show();
         String remark = et_remark.getText().toString();
-        String gridSoreData= "{\n";
-        for (int i=0;i<datas.size();i++){
-            String value= mEditText.get(i)==null?"":mEditText.get(i).toString();
-         gridSoreData=gridSoreData+   "\"BCD_COLUMN" + datas.get(i).getFormStoreKey()+ "\":\"" + value+ "\",\n" ;
+        String gridSoreData = "{\n";
+        for (int i = 0; i < datas.size(); i++) {
+            String value = mEditText.get(i) == null ? "" : mEditText.get(i).toString();
+            gridSoreData = gridSoreData + "\"BCD_COLUMN" + datas.get(i).getFormStoreKey() + "\":\"" + value + "\",\n";
+        }
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
         }
-        String gridSore = gridSoreData+
+        String gridSore = gridSoreData +
                 "\"bcd_bccode\":\"" + code + "\",\n" +
                 "\"bcd_remark\":\"" + remark + "\",\n" +
                 "\"bcd_leader\":\"" + tv_leader.getText().toString() + "\",\n" +
                 "\"bcd_date\":\"" + tv_date.getText().toString() + "\",\n" +
                 "\"bcd_bsname\":\"" + tv_business_state.getText() + "\",\n" +
                 "\"bcd_type\":\"" + typeStr + "\",\n" +
-                "\"bcd_man\":\"" + MyApplication.getInstance().mLoginUser.getNickName()+ "\"" + (this.type == 1 ? ",\n\"bcd_code\":\"" + bcd_code + "\"\n" : "") +
+                "\"bcd_man\":\"" + emname + "\"" + (this.type == 1 ? ",\n\"bcd_code\":\"" + bcd_code + "\"\n" : "") +
                 "}";
-        Log.i(TAG, "sendHttpResquest:"+gridSore);
+        Log.i(TAG, "sendHttpResquest:" + gridSore);
         String url = Constants.getAppBaseUrl(ct) + "mobile/crm/updatebusinessChanceData.action";
         Map<String, Object> params = new HashMap<>();
         params.put("gridStore", gridSore);
-        if (type==1){
+        if (type == 1) {
             params.put("caller", "BusinessChanceData");//BusinessChance
-        }else{
+        } else {
             params.put("caller", "BusinessChanceData");
         }
-       
+
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
     }
 
-    
-    
+
     private void loadLeader(int what) {
         String url = Constants.getAppBaseUrl(ct) + "mobile/crm/getheadmanmsg.action";
         Map<String, Object> params = new HashMap<>();
@@ -323,7 +326,6 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
             public void onDatePicked(String year, String month, String day) {
                 switch (resId) {
                     case R.id.tv_date://排名
-
                         tv_date.setText(year + "-" + month + "-" + day);
                         break;
                 }
@@ -333,7 +335,6 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
     }
 
 
-
     /**
      * @desc:加载阶段
      * @author:Arison on 2016/7/20
@@ -351,9 +352,9 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
     }
 
     /**
-      * @desc:动态加载编辑框
-      * @author:Arison on 2016/10/19
-      */
+     * @desc:动态加载编辑框
+     * @author:Arison on 2016/10/19
+     */
   /*  public void loadEditData(int what,String bs_code){
         progressDialog.show();
         String url = Constants.getAppBaseUrl(ct) + "crm/chance/getpoint.action";
@@ -363,7 +364,6 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
     }*/
-
     @Override
     public void onClick(View v) {
         switch (v.getId()) {
@@ -371,13 +371,14 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
                 loadLeader(2);
                 break;
             case R.id.tv_date:
-               // showDateWheel(R.id.tv_date);
+                // showDateWheel(R.id.tv_date);
                 break;
             case R.id.tv_business_state:
                 loadJieDuan(5);
                 break;
         }
     }
+
     private List<String> lists = new ArrayList<String>();
 
     private SingleDialog singleDialog;
@@ -398,35 +399,34 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
                         et.setText(value);
                         if (!array.isEmpty()) {
                             for (int i = 0; i < array.size(); i++) {
-                                if (value.equals(array.getJSONObject(i).getString("BS_NAME")))
-                                {
-                                 String bs_posint=  array.getJSONObject(i).getString("BS_POINT");
-                                 String bs_poiniflag= array.getJSONObject(i).getString("BS_POINTFLAG");
-                                 String bs_pointdeino= array.getJSONObject(i).getString("BS_POINTDETNO");
-                                  if (!StringUtils.isEmpty(bs_posint)&&!StringUtils.isEmpty(bs_poiniflag)&&!StringUtils.isEmpty(bs_pointdeino)){
-                                     String [] names=  bs_posint.split("#");
-                                     String [] falgs=bs_poiniflag.split("#");
-                                     String [] keys=bs_pointdeino.split("#");
-                                      for (int j=0;j<names.length;j++){
-                                          Data data=new Data();
-                                          data.setName(names[j]);
-                                          data.setIsNeed(Integer.valueOf(falgs[j]));
-                                          data.setFormStoreKey(keys[j]);
-                                          datas.add(data);
-                                      }
-                                      //创建一个功能数组  
-                                      DataAdapter adapter=new DataAdapter(ct,datas);
-                                      mList.setAdapter(adapter);
-                                      
-                                  } else {
-                                      //创建一个功能数组  
-                                      datas.clear();
-                                      DataAdapter adapter=new DataAdapter(ct,datas);
-                                      mList.setAdapter(adapter);
-                                  }
-                                    
+                                if (value.equals(array.getJSONObject(i).getString("BS_NAME"))) {
+                                    String bs_posint = array.getJSONObject(i).getString("BS_POINT");
+                                    String bs_poiniflag = array.getJSONObject(i).getString("BS_POINTFLAG");
+                                    String bs_pointdeino = array.getJSONObject(i).getString("BS_POINTDETNO");
+                                    if (!StringUtils.isEmpty(bs_posint) && !StringUtils.isEmpty(bs_poiniflag) && !StringUtils.isEmpty(bs_pointdeino)) {
+                                        String[] names = bs_posint.split("#");
+                                        String[] falgs = bs_poiniflag.split("#");
+                                        String[] keys = bs_pointdeino.split("#");
+                                        for (int j = 0; j < names.length; j++) {
+                                            Data data = new Data();
+                                            data.setName(names[j]);
+                                            data.setIsNeed(Integer.valueOf(falgs[j]));
+                                            data.setFormStoreKey(keys[j]);
+                                            datas.add(data);
+                                        }
+                                        //创建一个功能数组
+                                        DataAdapter adapter = new DataAdapter(ct, datas);
+                                        mList.setAdapter(adapter);
+
+                                    } else {
+                                        //创建一个功能数组
+                                        datas.clear();
+                                        DataAdapter adapter = new DataAdapter(ct, datas);
+                                        mList.setAdapter(adapter);
+                                    }
+
                                 }
-                               
+
                             }
                         }
                     }
@@ -438,61 +438,61 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
             singleDialog.initViewData(lists);
         }*/
     }
-    
-     public class Data{
-         private String name;//字段名
-         private int isNeed;//必填
-         private String value;//编辑值
-         private String  formStoreKey;//formstore key 
-
-         public String getName() {
-             return name;
-         }
-
-         public void setName(String name) {
-             this.name = name;
-         }
-
-         public int getIsNeed() {
-             return isNeed;
-         }
-
-         public void setIsNeed(int isNeed) {
-             this.isNeed = isNeed;
-         }
-
-         public String getFormStoreKey() {
-             return formStoreKey;
-         }
-
-         public void setFormStoreKey(String formStoreKey) {
-             this.formStoreKey = formStoreKey;
-         }
-
-         public String getValue() {
-             return value;
-         }
-
-         public void setValue(String value) {
-             this.value = value;
-         }
-     }
-
-    
-    public  class DataAdapter extends BaseAdapter{
+
+    public class Data {
+        private String name;//字段名
+        private int isNeed;//必填
+        private String value;//编辑值
+        private String formStoreKey;//formstore key
+
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public int getIsNeed() {
+            return isNeed;
+        }
+
+        public void setIsNeed(int isNeed) {
+            this.isNeed = isNeed;
+        }
+
+        public String getFormStoreKey() {
+            return formStoreKey;
+        }
+
+        public void setFormStoreKey(String formStoreKey) {
+            this.formStoreKey = formStoreKey;
+        }
+
+        public String getValue() {
+            return value;
+        }
+
+        public void setValue(String value) {
+            this.value = value;
+        }
+    }
+
+
+    public class DataAdapter extends BaseAdapter {
         private Context ct;
         private LayoutInflater inflater;
         private ArrayList<Data> mData;
-        
-        public DataAdapter(Context ct,ArrayList<Data> data){
-            this.ct=ct;
-            this.mData=data;
-            this.inflater=LayoutInflater.from(ct);
+
+        public DataAdapter(Context ct, ArrayList<Data> data) {
+            this.ct = ct;
+            this.mData = data;
+            this.inflater = LayoutInflater.from(ct);
         }
 
         @Override
         public int getCount() {
-            return mData==null?0:mData.size();
+            return mData == null ? 0 : mData.size();
         }
 
         @Override
@@ -507,54 +507,53 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
 
         @Override
         public View getView(final int position, View convertView, ViewGroup parent) {
-            ViewModel model=null;
-            if (true){
-                convertView=inflater.inflate(R.layout.listitem_businessless_edit,parent,false);
-                model=new ViewModel();
-                model.text= (TextView) convertView.findViewById(R.id.tv_less_key);
-                model.editText= (EditText) convertView.findViewById(R.id.tv_less_value);
+            ViewModel model = null;
+            if (true) {
+                convertView = inflater.inflate(R.layout.listitem_businessless_edit, parent, false);
+                model = new ViewModel();
+                model.text = (TextView) convertView.findViewById(R.id.tv_less_key);
+                model.editText = (EditText) convertView.findViewById(R.id.tv_less_value);
                 convertView.setTag(model);
-            }else{
+            } else {
                 //model= (ViewModel) convertView.getTag();
             }
             model.text.setText(mData.get(position).getName());
-            if (mData.get(position).getIsNeed()==0){
+            if (mData.get(position).getIsNeed() == 0) {
                 model.editText.setHint("");
-            }else{
+            } else {
                 model.editText.setHint("必填");
             }
-           
-           model.editText.addTextChangedListener(new TextWatcher() {
-               @Override
-               public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 
-               }
+            model.editText.addTextChangedListener(new TextWatcher() {
+                @Override
+                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 
-               @Override
-               public void onTextChanged(CharSequence s, int start, int before, int count) {
+                }
 
-               }
+                @Override
+                public void onTextChanged(CharSequence s, int start, int before, int count) {
 
-               @Override
-               public void afterTextChanged(Editable s) {
-                   Log.i(TAG, "afterTextChanged:" + position);
-                   mEditText.put(position, s.toString());
-                   // datas.get(position).setValue(s.toString());
-               }
-           });
+                }
+
+                @Override
+                public void afterTextChanged(Editable s) {
+                    Log.i(TAG, "afterTextChanged:" + position);
+                    mEditText.put(position, s.toString());
+                    // datas.get(position).setValue(s.toString());
+                }
+            });
             //如果hashMap不为空,就设置的editText  
-            if(mEditText.get(position) != null){
+            if (mEditText.get(position) != null) {
                 model.editText.setText(mEditText.get(position));
             }
             return convertView;
         }
-        
-        class ViewModel{
+
+        class ViewModel {
             TextView text;
             EditText editText;
         }
     }
-    
-    
-    
+
+
 }

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

@@ -20,6 +20,7 @@ import android.widget.ImageButton;
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.PopupWindow;
+import android.widget.ScrollView;
 import android.widget.SimpleAdapter;
 import android.widget.TextView;
 
@@ -35,6 +36,8 @@ import com.github.mikephil.charting.data.BarDataSet;
 import com.github.mikephil.charting.data.BarEntry;
 import com.github.mikephil.charting.utils.LargeValueFormatter;
 import com.github.mikephil.charting.utils.ValueFormatter;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
@@ -48,6 +51,7 @@ import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
+import com.xzjmyk.pm.activity.view.crouton.Style;
 import com.xzjmyk.pm.activity.view.wheel.DatePicker;
 
 import java.math.BigDecimal;
@@ -188,8 +192,8 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
     private JSONArray subs;
     private String date;
     private JSONArray custs;
-
-
+    @ViewInject(R.id.client_ptrsv)
+    private PullToRefreshScrollView mPullToRefreshScrollView;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -215,6 +219,25 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         ib_index_condition.setOnClickListener(this);
         ll_data_more.setOnClickListener(this);
         ll_data_empty.setOnClickListener(this);
+
+        mPullToRefreshScrollView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
+        mPullToRefreshScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+                if (CommonUtil.isNetWorkConnected(ClientActivity.this)){
+                    mHttpCount = 0;
+                    initData();
+                }else {
+                    ViewUtil.ToastMessage(ClientActivity.this,"网络未连接",Style.holoRedLight,2000);
+                    mPullToRefreshScrollView.onRefreshComplete(1000);
+                }
+            }
+
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+
+            }
+        });
     }
 
     private void initData() {
@@ -560,16 +583,18 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         }
     }
 
-
+    private int mHttpCount = 0;
     private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case Constants.HTTP_SUCCESS_INIT:
+                    mHttpCount++;
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
                     break;
                 case INIT_PersonalRank://排行
+                    mHttpCount++;
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage PersonalRank:" + msg.getData().getString("result"));
                     JSONObject root = JSON.parseObject(msg.getData().getString("result")).getJSONObject("datas");
@@ -750,6 +775,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                     }
                     break;
                 case INIT_SalesKit://销售
+                    mHttpCount++;
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage SalesKit:" + msg.getData().getString("result"));
                     root = JSON.parseObject(msg.getData().getString("result")).getJSONObject("datas");
@@ -781,6 +807,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                     }
                     break;
                 case INIT_Targets://指标
+                    mHttpCount++;
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage Targets:" + msg.getData().getString("result"));
                     root = JSON.parseObject(msg.getData().getString("result")).getJSONObject("datas");
@@ -867,6 +894,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                     }
                     break;
                 case INIT_InactionCusts:
+                    mHttpCount++;
                     progressDialog.dismiss();
                     Log.i(TAG, "handleMessage InactionCusts:" + msg.getData().getString("result"));
                     String message = msg.getData().getString("result");
@@ -901,8 +929,12 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
                     progressDialog.dismiss();
+                    if (mPullToRefreshScrollView.isRefreshing()){
+                        mPullToRefreshScrollView.onRefreshComplete();
+                    }
                     break;
                 case 6:
+                    mHttpCount++;
                     JSONArray array = JSON.parseObject(msg.getData().getString("result")).getJSONArray("datas");
                     if (array != null) {
                         if (array.size() > 0) {
@@ -916,7 +948,12 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                         }
                     }
                     break;
-
+            }
+            if (mHttpCount > 4){
+                if (mPullToRefreshScrollView.isRefreshing()){
+                    ViewUtil.ToastMessage(ClientActivity.this,"刷新成功", Style.holoGreenLight,2000);
+                    mPullToRefreshScrollView.onRefreshComplete();
+                }
             }
         }
     };

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

@@ -304,6 +304,10 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
     }
 
     public void createStore() {
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
         Log.i("commoncuid", mCuId + "");
         if (type == 1) {
             if (et_cu_code.testValidity() && et_cu_name.testValidity()
@@ -315,10 +319,11 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                     && tv_cu_businesscode.testValidity() && tv_cu_currency.testValidity()
                     && tv_cu_taxrate.testValidity() && tv_cu_nichestep.testValidity()
                     ) {
-                //  
+                //
+
                 formStore = "{\n" +
                         " \"cu_id\":" + mCuId + ",\n" +
-                        " \"cu_recordman\":\"" + MyApplication.getInstance().mLoginUser.getNickName() + "\",\n" +
+                        " \"cu_recordman\":\"" + emname + "\",\n" +
                         " \"cu_recorddate\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss") + "\",\n" +
                         " \"cu_status\":" + "\"长期\"" + ",\n" +
                         " \"cu_arcode\":" + "\"\"" + ",\n" +
@@ -374,7 +379,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                         " \"cu_email\":\"" + CommonUtil.getNoMarkEditText(tv_cu_email) + "\",\n" +
                         " \"cu_remark\":\"" + CommonUtil.getNoMarkEditText(tv_cu_remark) + "\",\n" +
                         " \"cu_sellercode\":\"" + et_cu_sellercode + "\",\n" +
-                        " \"cu_recordman\":\"" + MyApplication.getInstance().mLoginUser.getNickName() + "\",\n" +
+                        " \"cu_recordman\":\"" + emname + "\",\n" +
                         " \"cu_recorddate\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss") + "\",\n" +
                         " \"cu_auditstatus\":\"" + "在录入" + "\",\n" +
                         " \"cu_auditstatuscode\":\"" + "ENTERING" + "\",\n" +

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

@@ -128,7 +128,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             tv_date_start.setText(bean.getStartdate() == null ? "未填写" : bean.getStartdate());
             tv_date_end.setText(bean.getEnddate() == null ? "未填写" : bean.getEnddate());
             tv_customer_login.setText(bean.getClient() == null ? "未填写" : bean.getClient());
-            tv_linksman_login.setText(StringUtils.isEmpty(bean.getVp_contact()) ? (StringUtils.isEmpty(bean.getVp_cucontact()) ? "未填写" : bean.getVp_cucontact()) : bean.getVp_contact());
+            tv_linksman_login.setText(StringUtils.isEmpty(bean.getVr_cucontact()) ? "未填写" : bean.getVr_cucontact());
             tv_address_login.setText(bean.getAddress() == null ? "未填写" : bean.getAddress());
             tv_visit_theme.setText(bean.getRemark() == null ? "未填写" : bean.getRemark());
             tv_visit_steps.setText(bean.getNichestep() == null ? "" : bean.getNichestep());
@@ -142,7 +142,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             tv_date_start.setText(getJSONString(object, "vr_visittime"));
             tv_date_end.setText(getJSONString(object, "vr_visitend"));
             tv_customer_login.setText(getJSONString(object, "custname"));
-            tv_linksman_login.setText(getJSONString(object, "vr_contact"));
+            tv_linksman_login.setText(getJSONString(object, "vr_cucontact"));
             tv_address_login.setText(getJSONString(object, "address"));
             tv_visit_theme.setText(getJSONString(object, "vr_title"));
             tv_visit_steps.setText(getJSONString(object, "vr_nichestep"));
@@ -278,10 +278,8 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
     }
 
     private void sendHttpResquest(int what, String code) {
-        String emname = "";
-        if (!StringUtils.isEmpty(CommonUtil.getSharedPreferences(ct, "erp_emname"))) {
-            emname = CommonUtil.getSharedPreferences(ct, "erp_emname").trim();
-        } else {
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
             emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
         }
         String formStore = "";

+ 27 - 24
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/FeedbackActivity.java

@@ -58,10 +58,10 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
-  * @desc:用户反馈界面
-  * @author:Arison on 2016/9/27
-  */
-public class FeedbackActivity extends BaseActivity  implements View.OnClickListener{
+ * @desc:用户反馈界面
+ * @author:Arison on 2016/9/27
+ */
+public class FeedbackActivity extends BaseActivity implements View.OnClickListener {
     private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
     private static final int REQUEST_CODE_PICK_PHOTO = 2;// 图库
     private Uri mNewPhotoUri;// 拍照和图库 获得图片的URI
@@ -79,12 +79,12 @@ public class FeedbackActivity extends BaseActivity  implements View.OnClickListe
     public static final int LOCATION = 0x00a, DISPLAY = 0x00b;
 
     private int mType;
-    private final int http_commit=0;
-    
-    private Handler mHandler=new Handler(){
+    private final int http_commit = 0;
+
+    private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
-            switch (msg.what){
+            switch (msg.what) {
                 case http_commit:
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
                     progressDialog.dismiss();
@@ -92,8 +92,8 @@ public class FeedbackActivity extends BaseActivity  implements View.OnClickListe
                     break;
                 case Constants.HTTP_SUCCESS_INIT:
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
-                    cb_code=JSON.parseObject(msg.getData().getString("result")).getString("code");
-                     progressDialog.dismiss();
+                    cb_code = JSON.parseObject(msg.getData().getString("result")).getString("code");
+                    progressDialog.dismiss();
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
@@ -464,25 +464,28 @@ public class FeedbackActivity extends BaseActivity  implements View.OnClickListe
         }
 
     }
-    
-    
-    private  void getCode(){
-        String url=Constants.getAppBaseUrl(ct)+"common/getCodeString.action";
+
+
+    private void getCode() {
+        String url = Constants.getAppBaseUrl(ct) + "common/getCodeString.action";
         Map<String, Object> params = new HashMap<>();
-        params.put("caller","Commentsback_mobile");
-        params.put("type",2);
+        params.put("caller", "Commentsback_mobile");
+        params.put("type", 2);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, Constants.HTTP_SUCCESS_INIT, null, null, "post");
     }
-    
-    
-    
+
+
     String cb_code;
-    private void commit(){
+
+    private void commit() {
         if (!StringUtils.isEmpty(mTextEdit.getText().toString())) {
             String url = "http://218.18.115.198:8888/ERP/mobile/Commentsback_mobile.action";
-
+            String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+            if (StringUtils.isEmpty(emname)) {
+                emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+            }
             String formStore = "{\n" +
                     " \"cb_code\":\"" + cb_code + "\",\n" +
                     " \"cb_company\":\"" + CommonUtil.getSharedPreferences(ct, "erp_commpany") + "\",\n" +
@@ -490,17 +493,17 @@ public class FeedbackActivity extends BaseActivity  implements View.OnClickListe
                     " \"cb_kind\":\"问题\",\n" +
                     " \"cb_text\":\"" + mTextEdit.getText().toString() + "\",\n" +
                     " \"cb_date\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss") + "\",\n" +
-                    " \"cb_person\":\"" + MyApplication.getInstance().mLoginUser.getNickName() + "\",\n" +
+                    " \"cb_person\":\"" + emname + "\",\n" +
                     " \"cb_tel\":\"" + MyApplication.getInstance().mLoginUser.getTelephone() + "\",\n" +
                     "}\n";
             Map<String, Object> params = new HashMap<>();
             params.put("formStore", formStore);
-            params.put("master","USOFTSYS");
+            params.put("master", "USOFTSYS");
             params.put("caller", "Commentsback_mobile");
             LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
             headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
             ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, http_commit, null, null, "post");
-        }else{
+        } else {
             ToastMessage("请输入您的问题!");
         }
     }

+ 20 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AlarmaActivity.java

@@ -1,8 +1,11 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
+import android.annotation.TargetApi;
 import android.content.Intent;
+import android.os.Build;
 import android.os.Bundle;
 import android.view.View;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.lidroid.xutils.ViewUtils;
@@ -34,7 +37,10 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
 
     @ViewInject(R.id.tv_ualar)
     private TextView tv_ualar;//下班时间
-
+    @ViewInject(R.id.ualar_rl)
+    private RelativeLayout ualar_rl;//下班时间
+    @ViewInject(R.id.alar_rl)
+    private RelativeLayout alar_rl;
     private boolean isAlarm;//判断是否为提醒
     private boolean isAuto;//判断是否为自动
     private AlarmManage manage;
@@ -52,6 +58,7 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         isAuto = CommonUtil.getSharedPreferencesBoolean(ct, AUTO_SIGNIN, false);
         isalarma_sw.setChecked(isAlarm);
         auto_signin_sw.setChecked(isAuto);
+        setTextColor(isAlarm);
         manage = new AlarmManage();
         manage.setSigninAlarm(ct);
         tv_alar.setOnClickListener(this);
@@ -68,6 +75,7 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
 
     @Override
     public void onClick(View view) {
+        if (!isAlarm) return;
         String pre = null;
         String[] time = getResources().getStringArray(R.array.alarm_time);
         int requestCode = 0;
@@ -104,6 +112,7 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
     public void onCheckedChanged(View view, boolean isChecked) {
         switch (view.getId()) {
             case R.id.isalarma_sw:
+                isAlarm = isChecked;
                 CommonUtil.setSharedPreferences(ct, ALARMA_CLICK, isChecked);
                 setTextColor(isChecked);
                 break;
@@ -149,17 +158,18 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
         return -1;
     }
 
+    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
     public void setTextColor(boolean clicked) {
-        int id = 0;
-        if (clicked) {
-            id = R.color.text_color;
-        } else {
-            id = R.color.hintColor;
-        }
         tv_alar.setFocusable(clicked);
         tv_ualar.setFocusable(clicked);
-        tv_alar.setTextColor(getResources().getColor(id));
-        tv_ualar.setTextColor(getResources().getColor(id));
-
+        if (Build.VERSION.SDK_INT >= 9) {
+            if (clicked) {
+                alar_rl.setAlpha(1f);
+                ualar_rl.setAlpha(1f);
+            } else {
+                alar_rl.setAlpha(0.26f);
+                ualar_rl.setAlpha(0.26f);
+            }
+        }
     }
 }

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

@@ -112,7 +112,11 @@ public class ChangeMobileActivity extends BaseActivity {
         Map<String, Object> param = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
         params.put("mm_emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
-        params.put("mm_emname", MyApplication.getInstance().mLoginUser.getNickName());
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
+        params.put("mm_emname", emname);
         params.put("mm_macaddress", mac_tv.getText().toString());
         params.put("mm_remark", sum_tv.getText().toString());
         String addr = MyApplication.getInstance().getBdLocationHelper().getAddress();

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

@@ -10,9 +10,11 @@ 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;
 import android.view.MenuItem;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
@@ -30,6 +32,8 @@ import android.widget.TextView;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
@@ -46,6 +50,7 @@ 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.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
@@ -54,6 +59,7 @@ 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 com.xzjmyk.pm.activity.view.crouton.Style;
 
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -104,8 +110,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
     @ViewInject(R.id.ok_scale)
     private ImageView ok_scale;
 
-    @ViewInject(R.id.oa_main_sv)
-    private ScrollView mScrollView;
     @ViewInject(R.id.oa_more_menu_ll)
     private LinearLayout mMoreMenuLl;
     @ViewInject(R.id.more_menu_tv)
@@ -116,7 +120,8 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
     private ImageView mMoreMenuIv;
     @ViewInject(R.id.oa_more_cancel_ll)
     private LinearLayout mCancleMoreMenuLl;
-
+    @ViewInject(R.id.oamain_ptrsv)
+    private PullToRefreshScrollView mPullToRefreshScrollView;
     private Animation mAnimation;
 
     private int mMenuFlag = 0;
@@ -168,6 +173,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                         }
                     }
                     loadSuccess();
+                    if (mPullToRefreshScrollView.isRefreshing()) {
+                        ViewUtil.ToastMessage(OAActivity.this, "刷新成功", Style.holoGreenLight, 2000);
+                        mPullToRefreshScrollView.onRefreshComplete();
+                    }
                     break;
                 case 0x12:
                     JSONArray array = JSON.parseObject(message).getJSONArray("datas");//获取到数据
@@ -177,7 +186,15 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                     }
                     break;
                 default:
+                    if (mPullToRefreshScrollView.isRefreshing()) {
+                        loadSuccess();
+                        mPullToRefreshScrollView.onRefreshComplete();
+                    }
                     try {
+                        if (!StringUtils.isEmpty(message) && StringUtils.isInclude(message, "会话已断开")) {
+                            returnLogin();
+                            return;
+                        }
                         JsonValidator validator = new JsonValidator();
                         if (validator.validate(message)) {
                             JSONObject object1 = JSON.parseObject(message);
@@ -185,13 +202,16 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                         } else {
                             Crouton.makeText(ct, StringUtils.isEmpty(message) ? "程序错误" : StringUtils.getChinese(message));
                         }
-                    }catch (Exception e){
+                    } catch (Exception e) {
 
                     }
                     break;
             }
         }
     };
+    private boolean scrollable = true;
+    private float downY;
+    private float moveY;
 
     private Set<Integer> getDay(JSONArray array) {
         JSONObject object = null;
@@ -338,18 +358,46 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
 
             @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));
+                if (CommonUtil.isNetWorkConnected(getApplication())) {
+                    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) {
             }
         });
+
+        mPullToRefreshScrollView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
+        mPullToRefreshScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+//                meInt.clear();
+//                otherInt.clear();
+//                meArray = new JSONArray();
+//                otherArray = new JSONArray();
+                if (CommonUtil.isNetWorkConnected(getApplicationContext())) {
+                    loadNetData(TimeUtils.ym_format.format(curDate));
+                } else {
+                    ViewUtil.ToastMessage(OAActivity.this, "网络未连接", Style.holoRedLight, 2000);
+                    if (mPullToRefreshScrollView.isRefreshing()) {
+//                        loadSuccess();
+                        mPullToRefreshScrollView.onRefreshComplete(1000);
+                    }
+                }
+            }
+
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+
+            }
+        });
     }
 
     private void initView() {
@@ -361,7 +409,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
         emptyLayout.setEmptyViewRes(R.layout.oa_empty_list);
 
         listenerMap = new HashMap<>();
-        curDate = new Date();
+        curDate = new Date(System.currentTimeMillis());
         meInt = new HashSet<>();
         otherInt = new HashSet<>();
         String title = "";
@@ -407,6 +455,18 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
         ViewUtil.httpSendRequest(this, url, param, handler, headers, 0x11, null, null, "get");
     }
 
+    int loginNum = 0;
+
+    /**
+     * 重新登陆
+     */
+    private void returnLogin() {
+        loginNum++;
+        if (loginNum > 1) return;
+        ViewUtil.ct = ct;
+        ViewUtil.LoginERPTask(ct, handler, 0x16);
+    }
+
     private void getDataByNet() {
         progressDialog.show();
         //获取网络数据
@@ -663,10 +723,12 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                     mAnimation = AnimationUtils.loadAnimation(this, R.anim.anim_rotate_button);
                     mMoreMenuLl.setVisibility(View.VISIBLE);
                     mMoreMenuTv.setText("收起");
+                    scrollable = false;
                 } else {
                     mAnimation = AnimationUtils.loadAnimation(this, R.anim.anim_rotate_button2);
                     mMoreMenuLl.setVisibility(View.GONE);
                     mMoreMenuTv.setText("更多");
+                    scrollable = true;
                 }
                 mMoreMenuIv.startAnimation(mAnimation);
                 mMenuFlag++;
@@ -676,6 +738,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                 mMoreMenuIv.startAnimation(mAnimation);
                 mMoreMenuTv.setText("更多");
                 mMoreMenuLl.setVisibility(View.GONE);
+                scrollable = true;
                 mMenuFlag++;
                 break;
             case R.id.stroke://我的行程
@@ -749,6 +812,33 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
         listenerMap.put(key, listener);
     }
 
+
+    @Override
+    public boolean dispatchTouchEvent(MotionEvent ev) {
+        if (scrollable){
+            return super.dispatchTouchEvent(ev);
+        }else {
+            int action = ev.getAction();
+            switch (action){
+                case MotionEvent.ACTION_DOWN:
+                    downY = ev.getRawY();
+                    break;
+                case MotionEvent.ACTION_UP:
+                    if (Math.abs(moveY - downY) > 0){
+                        return true;
+                    }
+                    break;
+                case MotionEvent.ACTION_MOVE:
+                    moveY = ev.getRawY();
+                    if (Math.abs(moveY - downY) > 0){
+                        return true;
+                    }
+                    break;
+            }
+        }
+        return super.dispatchTouchEvent(ev);
+    }
+
     public interface OnTaskChangeListener {
         void onChange(Set<Integer> in);
     }

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

@@ -95,10 +95,10 @@ public class OutSigninOKActivity extends BaseActivity {
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == R.id.push) {
-            if (StringUtils.isEmpty(text_edit.getText().toString())) {
+            /*if (StringUtils.isEmpty(text_edit.getText().toString())) {
                 Crouton.makeText(ct, "请填写备注");
                 return true;
-            }
+            }*/
             if (!StringUtils.isEmpty(path) && new File(path).isFile())
                 uploadFile(path);
             else

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

@@ -4,7 +4,6 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
-import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.widget.EditText;
@@ -54,8 +53,6 @@ public class SaveMeetActivity extends BaseActivity {
         public void handleMessage(Message msg) {
             progressDialog.dismiss();
             String message = (String) msg.getData().get("result");
-            Log.i("gongpengming","进来"+message);
-            Log.i("gongpengming","msg.what"+msg.what);
             switch (msg.what) {
                 case 0x11://提交会议纪要保存
                     JSONObject json = parseObject(message);

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

@@ -10,7 +10,6 @@ import android.os.Message;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -70,7 +69,6 @@ import java.util.Map;
 /**
  * Created by pengminggong on 2016/10/12.
  */
-
 public class ContactFragment extends EasyFragment implements View.OnClickListener {
     @ViewInject(R.id.sidebar)
     private SideBar sidebar;
@@ -103,7 +101,6 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
         @Override
         public void onReceive(Context context, Intent intent) {
             if ("home".equals(intent.getStringExtra("falg"))) {
-                Log.i("gongpengming", "hhhhh ");
                 loadDataInThread();
             }
         }
@@ -256,7 +253,7 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
     }
 
     //将企业架构写入数据库
-    public void writeData(android.os.Message msg) {
+    public void writeData(Message msg) {
         String result = msg.getData().getString("result");
         JSONObject jsonobject = JSON.parseObject(result);
         String server_time = jsonobject.getString("sysdate");//服务器系统时间
@@ -270,8 +267,7 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
             isFristLoad = false;
         }
         if (!hrorgsEntities.isEmpty() || !employeesEntities.isEmpty()) {
-            insertDataSqlite(isFristLoad, hrorgsEntities, employeesEntities,
-                    server_time);
+            insertDataSqlite(isFristLoad, hrorgsEntities, employeesEntities, server_time);
         }
     }
 

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

@@ -228,18 +228,22 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                     }
                     break;
                 default:
-                    JsonValidator validator = new JsonValidator();
-                    if (validator.validate(message)) {
-                        ViewUtil.ToastMessage(ct, message, Style.holoRedLight, 3000);
-                    }
-                    if (loginNum < 3 && StringUtils.isInclude(message, getResources().getString(R.string.session_out)) || StringUtils.isInclude(message, "程序错误")) {
-                        returnLogin();
-                    } else if (StringUtils.isInclude(message, getString(R.string.mac_other))) {
-                        macError = getResources().getString(R.string.mac_other);
-                    } else if (StringUtils.isInclude(message, "该设备不是考勤打卡常用设备")) {
-                        showError(getString(R.string.other_phone_error));
-                    } else if (StringUtils.isInclude(message, "设备正处于申请变更绑定阶段")) {
-                        macError = getResources().getString(R.string.mac_changing);
+                    try {
+                        JsonValidator validator = new JsonValidator();
+                        if (validator.validate(message)) {
+                            ViewUtil.ToastMessage(ct, message, Style.holoRedLight, 3000);
+                        }
+                        if (loginNum < 3 && StringUtils.isInclude(message, getResources().getString(R.string.session_out)) || StringUtils.isInclude(message, "程序错误")) {
+                            returnLogin();
+                        } else if (StringUtils.isInclude(message, getString(R.string.mac_other))) {
+                            macError = getResources().getString(R.string.mac_other);
+                        } else if (StringUtils.isInclude(message, "该设备不是考勤打卡常用设备")) {
+                            showError(getString(R.string.other_phone_error));
+                        } else if (StringUtils.isInclude(message, "设备正处于申请变更绑定阶段")) {
+                            macError = getResources().getString(R.string.mac_changing);
+                        }
+                    } catch (Exception e) {
+
                     }
                     break;
             }
@@ -369,8 +373,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     }
 
     private boolean isOpenGps() {
-        LocationManager locationManager = (LocationManager) getContext().
-                getSystemService(Context.LOCATION_SERVICE);
+        LocationManager locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE);
         return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
     }
 
@@ -749,6 +752,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
      */
     //获取打卡时间
     private void loadNetData(long time) {
+        ct.progressDialog.show();
         selectTime = time;
         //获取网络数据
         String url = "mobile/getWorkDate.action";
@@ -776,6 +780,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
 
     //获取mac地址
     private void getMacByNet() {
+        ct.progressDialog.show();
         //获取网络数据
         String url = "mobile/queryMobileMac.action";
         Map<String, Object> param = new HashMap<>();
@@ -784,6 +789,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     }
 
     private void validatorMac() {
+        ct.progressDialog.show();
         //获取网络数据
         String url = "mobile/addMobileMac.action";
         Map<String, Object> param = new HashMap<>();
@@ -802,7 +808,12 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
         form.put("cl_address", addr);
         form.put("cl_phone", MyApplication.getInstance().mLoginUser.getTelephone());
         form.put("cl_emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
-        form.put("cl_emname", MyApplication.getInstance().mLoginUser.getNickName());
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
+
+        form.put("cl_emname", emname);
         form.put("cl_location", loaction);
         form.put("cl_distance", distance);
         String formStore = StringUtils.mapToJson(form);
@@ -813,7 +824,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
 
     //请求合并,抽取共同代码
     private void loadNet(String urlCheche, Map<String, Object> param, int what) {
-        ct.progressDialog.show();
         String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + urlCheche;
         if (StringUtils.isEmpty(code)) {
             code = CommonUtil.getSharedPreferences(ct, "erp_username");

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

@@ -98,7 +98,6 @@ public class UUFriendFragment extends EasyFragment {
         mBaseComparator = new BaseComparator<>();
         mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
         initView();
-        Log.i("gongpengming", "进来了");
     }
 
     private void upDataFriend() {

+ 0 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmManage.java

@@ -4,7 +4,6 @@ import android.app.AlarmManager;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
-import android.util.Log;
 import android.widget.Toast;
 
 import com.xzjmyk.pm.activity.AppConfig;
@@ -90,7 +89,6 @@ public class AlarmManage {
         if (isWork) {
             for (int i : workTimes) {
                 time = getTimeByHHmm(bean.getWorkTime()) - i * 60000;
-                Log.i("gongpengming", "time=" + TimeUtils.f_long_2_str(time));
                 if (System.currentTimeMillis() < time) {
                     //ok
                     ok = true;
@@ -104,7 +102,6 @@ public class AlarmManage {
         } else {
             for (int i : offTimes) {
                 time = getTimeByHHmm(bean.getOffTime()) + i * 60000;
-                Log.i("gongpengming", "time=" + TimeUtils.f_long_2_str(time));
                 if (System.currentTimeMillis() < time) {
                     //ok
                     ok = true;

+ 6 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmReceiver.java

@@ -107,7 +107,12 @@ public class AlarmReceiver extends BroadcastReceiver {
         form.put("cl_code", code);
         form.put("cl_phone", MyApplication.getInstance().mLoginUser.getTelephone());
         form.put("cl_emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
-        form.put("cl_emname", MyApplication.getInstance().mLoginUser.getNickName());
+
+        String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+        if (StringUtils.isEmpty(emname)) {
+            emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+        }
+        form.put("cl_emname", emname);
         boolean isp = isPlay(ct, form);
         if (!isp) return;//不符合打卡
         String formStore = StringUtils.mapToJson(form);

+ 23 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmService.java

@@ -3,6 +3,15 @@ package com.xzjmyk.pm.activity.ui.erp.util.alarm;
 import android.app.Service;
 import android.content.Intent;
 import android.os.IBinder;
+import android.util.Log;
+
+import com.xzjmyk.pm.activity.util.TimeUtils;
+import com.xzjmyk.pm.activity.util.ToastUtil;
+
+import java.util.Date;
+import java.util.Timer;
+import java.util.TimerTask;
+
 
 public class AlarmService extends Service {
     @Override
@@ -17,7 +26,8 @@ public class AlarmService extends Service {
 
     @Override
     public int onStartCommand(Intent intent, int flags, int startId) {//每次启动服务
-
+        Log.i("gongpengmingss", "onStartCommand");
+        alarm();
         return super.onStartCommand(intent, flags, startId);
     }
 
@@ -33,9 +43,17 @@ public class AlarmService extends Service {
     }
 
     public void alarm() {
-
-
+        ReckonAlarmTimeUtil util = new ReckonAlarmTimeUtil();
+        long time = util.reckoAlarmAndAuto(getApplicationContext());
+        if (time==0)return;
+        Log.i("gongpengming", TimeUtils.f_long_2_str(time));
+        Timer timer = new Timer();
+        timer.schedule(new TimerTask() {
+            @Override
+            public void run() {
+                Log.i("gongpengming", "进来了");
+                ToastUtil.showToast(getApplicationContext(), "进来了");
+            }
+        }, new Date(time));
     }
-
-
 }

+ 126 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/ReckonAlarmTimeUtil.java

@@ -0,0 +1,126 @@
+package com.xzjmyk.pm.activity.ui.erp.util.alarm;
+
+import android.content.Context;
+
+import com.xzjmyk.pm.activity.bean.oa.SigninBean;
+import com.xzjmyk.pm.activity.db.dao.SigninDao;
+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.util.TimeUtils;
+
+import java.util.List;
+
+import static com.xzjmyk.pm.activity.AppConfig.ALARMA_CLICK;
+import static com.xzjmyk.pm.activity.AppConfig.AUTO_SIGNIN;
+
+/**
+ * Created by pengminggong on 2016/11/10.
+ */
+
+public class ReckonAlarmTimeUtil {
+
+
+    public long reckoAlarmAndAuto(Context ct) {
+        boolean isAlarm = CommonUtil.getSharedPreferencesBoolean(ct, ALARMA_CLICK, false);//是否自动打卡
+        boolean isAuto = CommonUtil.getSharedPreferencesBoolean(ct, AUTO_SIGNIN, false);//是否提醒
+        if (!isAlarm && !isAuto) {
+            return 0;
+        }
+        if (isAuto) {
+            nextAuto(ct);
+        } else if (isAlarm) {
+            nextAlarm(ct);
+        }
+        return 0;
+    }
+
+    //获取下一个自动打卡时间
+    private long nextAuto(Context ct) {
+        SigninBean bean = frontOfSignin(ct);
+        if (bean == null) return 0;
+        long time = 0;
+        long autoTime = -1;
+        //上班
+        time = getTimeByHHmm(bean.getWorkTime());
+        if (time != 0 && System.currentTimeMillis() < time) {//当前时间小于上班时间
+            for (int i = 10; i >= 0; i -= 2) {
+                autoTime = time - i * 60000;//上班自动打卡时间
+                if (System.currentTimeMillis() < autoTime) {//当前时间小于自动打卡时间
+                    return autoTime;
+                }
+            }
+        }
+        //下班
+        time = getTimeByHHmm(bean.getOffTime());
+        if (time != 0 && System.currentTimeMillis() < (time + 12 * 60000)) {
+            for (int i = 4; i <= 12; i += 2) {
+                autoTime = time + i * 60000;//下班自动打卡时间
+                if (System.currentTimeMillis() < autoTime) {
+                    return autoTime;
+                }
+            }
+        }
+        return 0;
+    }
+
+    //获取下一个提醒时间
+    private long nextAlarm(Context ct) {
+        int u = CommonUtil.getSharedPreferencesInt(ct, "ALARM_WORK_TIME", 5);//上班提前xx分钟
+        int d = CommonUtil.getSharedPreferencesInt(ct, "ALARM_OFFWORK_TIME", 5);//下班延迟xx分钟
+        SigninBean bean = frontOfAlarm(ct, d);
+        if (bean == null) return 0;
+        //上班
+        long time = getTimeByHHmm(bean.getWorkTime()) - u * 60000;
+        if (time > 0 && System.currentTimeMillis() < time) {//当前时间小于提醒时间
+            return time;
+        }
+        //下班
+        time = getTimeByHHmm(bean.getOffTime()) + d * 60000;
+        if (time > 0 && System.currentTimeMillis() < time) {
+            return time;
+        }
+        return 0;
+    }
+
+
+    //获取当前时间在那个班次之前,判断下班提醒时间
+    private SigninBean frontOfAlarm(Context ct, int offMin) {
+        SigninDao dao = new SigninDao(ct);
+        List<SigninBean> beans = dao.queryByEmcode();
+        if (ListUtils.isEmpty(beans)) return null;
+        for (SigninBean bean : beans) {
+            //当前时间在下班打卡时间之前
+            if (!StringUtils.isEmpty(bean.getOffTime()) && System.currentTimeMillis() < (getTimeByHHmm(bean.getOffTime()) + offMin * 60000)) {
+                return bean;
+            }
+        }
+        return null;
+    }
+
+    //获取当前时间在那个班次之前,只判断下班后 12分钟之前
+    private SigninBean frontOfSignin(Context ct) {
+        SigninDao dao = new SigninDao(ct);
+        return frontOfSignin(dao.queryByEmcode());
+    }
+
+
+    private SigninBean frontOfSignin(List<SigninBean> beans) {
+        if (ListUtils.isEmpty(beans)) return null;
+        //获取当前时间往后的12分钟
+        for (SigninBean bean : beans) {
+            //下班时间不为空且当前时间在下班后12分钟之前,判断为属于这个时间
+            if (!StringUtils.isEmpty(bean.getOffTime()) && System.currentTimeMillis() < (getTimeByHHmm(bean.getOffTime()) + 12 * 60000)) {
+                return bean;
+            }
+        }
+        return null;
+    }
+
+    /*通过时分获取当天改时间时间戳*/
+    private long getTimeByHHmm(String time) {
+        if (StringUtils.isEmpty(time)) return 0;
+        String che = TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + time + ":00";//当天下班时间
+        return TimeUtils.f_str_2_long(che);
+    }
+}

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/CustomProgressDialog.java

@@ -32,7 +32,7 @@ public class CustomProgressDialog extends Dialog {
 
     @Override
     public void dismiss() {
-        if (this != null)
+        if (context==null&&this != null)
             super.dismiss();
     }
 

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java

@@ -512,7 +512,7 @@ public class MessageFragment extends EasyFragment {
             if (convertView == null) {
                 convertView = createConvertView(position);
             }
-            if (rl_b2b != null && rl_b2b.getVisibility() == View.VISIBLE) {//商务显示
+           /* if (rl_b2b != null && rl_b2b.getVisibility() == View.VISIBLE) {//商务显示
                 if (position % 2 == 0) {
                     convertView.setBackgroundColor(mActivity.getResources().getColor(R.color.item_color2));
                 } else {
@@ -524,7 +524,7 @@ public class MessageFragment extends EasyFragment {
                 } else {
                     convertView.setBackgroundColor(mActivity.getResources().getColor(R.color.item_color2));
                 }
-            }
+            }*/
 
             ImageView avatar_img = ViewHolder.get(convertView, R.id.avatar_img);
             TextView num_tv = ViewHolder.get(convertView, R.id.num_tv);

+ 26 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SubscriptionActivity.java

@@ -72,7 +72,8 @@ public class SubscriptionActivity extends BaseActivity {
             R.drawable.uu_dy_image1, R.drawable.uu_dy_image2, R.drawable.uu_dy_image3, R.drawable.uu_dy_image4, R.drawable.uu_dy_image5, R.drawable.uu_dy_image6, R.drawable.uu_dy_image7
 
     };
-
+    private int mClickPos;
+    private final static int REQUEST_SUBS_DETAIL = 101;
     private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -330,6 +331,26 @@ public class SubscriptionActivity extends BaseActivity {
         ViewUtil.httpSendRequest(this, url, param, handler, headers, LOAD_NET, null, null, "get");
     }
 
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (requestCode == REQUEST_SUBS_DETAIL && resultCode == 22 && data != null){
+            ArrayList<Integer> readSubs = data.getIntegerArrayListExtra("readsubs");
+            SortSubsrciprion sortSubsrciprion = sortSubsrciprions.get(mClickPos);
+            sortSubsrciprions.remove(mClickPos);
+            ArrayList<SubscriptionMessage> subscriptionMessages = sortSubsrciprion.beans;
+            for (int i = 0; i < readSubs.size(); i++) {
+                subscriptionMessages.get(readSubs.get(i)).setSTATUS_(1);
+                SubscriptionDao.getInstance().UpdateStatus(subscriptionMessages.get(readSubs.get(i)).getID_() + "", true);
+            }
+            sortSubsrciprions.add(mClickPos, sortSubsrciprion);
+            adapter.notifyDataSetChanged();
+        }
+    }
+
+    private ArrayList<SubscriptionMessage> mSubscriptionMessages = new ArrayList<>();
+    private ListAdapter listAdapter = null;
+
     //外层list
     class SubscriptionAdapter extends BaseAdapter {
         List<SortSubsrciprion> sortSubsrciprions;
@@ -343,8 +364,6 @@ public class SubscriptionActivity extends BaseActivity {
             notifyDataSetChanged();
         }
 
-        private ListAdapter listAdapter = null;
-
         @Override
         public int getCount() {
             return ListUtils.isEmpty(sortSubsrciprions) ? 0 : sortSubsrciprions.size();
@@ -374,7 +393,8 @@ public class SubscriptionActivity extends BaseActivity {
                 viewholder = (Viewholder) contextView.getTag();
             }
             viewholder.tvTime.setText(sortSubsrciprions.get(position).time);
-            listAdapter = new ListAdapter(sortSubsrciprions.get(position).beans, position);
+            mSubscriptionMessages = sortSubsrciprions.get(position).beans;
+            listAdapter = new ListAdapter(mSubscriptionMessages, position);
             viewholder.listview.setAdapter(listAdapter);
             return contextView;
         }
@@ -482,6 +502,7 @@ public class SubscriptionActivity extends BaseActivity {
             contextView.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {
+                    mClickPos = position;
                     SubscriptionMessage bean = sortSubsrciprions.get(position).beans.get(i);
                     String url = baseUrl + "common/charts/mobileCharts.action";
                     Log.i("weburl: ", url);
@@ -501,7 +522,7 @@ public class SubscriptionActivity extends BaseActivity {
                     intent_web.putExtra("subsact", "subsDetail");
                     intent_web.putExtra("position", i);
                     intent_web.putExtra("subsdata", beans);
-                    ct.startActivity(intent_web);
+                    SubscriptionActivity.this.startActivityForResult(intent_web,REQUEST_SUBS_DETAIL);
 
                     if (bean.getSTATUS_() == 0) {//当点击未读消息
                         SubscriptionDao.getInstance().UpdateStatus(bean.getID_() + "", true);

BIN
WeiChat/src/main/res/drawable-hdpi/ic_dot_more.png


BIN
WeiChat/src/main/res/drawable-hdpi/ic_outoffice_addr.png


BIN
WeiChat/src/main/res/drawable-hdpi/ic_outoffice_msg.png


BIN
WeiChat/src/main/res/drawable-xhdpi/ic_dot_more.png


BIN
WeiChat/src/main/res/drawable-xhdpi/ic_outoffice_addr.png


BIN
WeiChat/src/main/res/drawable-xhdpi/ic_outoffice_msg.png


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


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


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


+ 5 - 5
WeiChat/src/main/res/drawable/oa_signin_tv_bg.xml

@@ -8,13 +8,13 @@
         android:width="0.5dp"
         android:color="@android:color/black" />
     <!-- 圆角 -->
-    <corners android:radius="9dp" />
+    <corners android:radius="15dp" />
     <!-- 边距 -->
     <padding
-        android:bottom="10dp"
-        android:left="10dp"
-        android:right="10dp"
-        android:top="10dp" />
+        android:bottom="5dp"
+        android:left="5dp"
+        android:right="5dp"
+        android:top="5dp" />
     <!-- 渐变 -->
     <!--<gradient-->
     <!--android:angle="270"-->

+ 8 - 0
WeiChat/src/main/res/drawable/selector_me_menu_item_bg.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@color/me_menu_item_press" android:state_checked="true"/>
+    <item android:drawable="@color/me_menu_item_press" android:state_pressed="true"/>
+    <item android:drawable="@color/me_menu_item_press" android:state_selected="true"/>
+
+    <item android:drawable="@color/me_menu_item_normal"/>
+</selector>

+ 3 - 1
WeiChat/src/main/res/layout/act_staff_query_list.xml

@@ -54,7 +54,7 @@
                     android:id="@+id/hv_head_view"
                     android:layout_width="fill_parent"
                     android:layout_height="40dip"
-                    android:background="#F2F2F2"
+                    android:background="#ffffff"
                     android:fadingEdge="none"
                     android:scrollbars="none">
 
@@ -104,6 +104,8 @@
                         android:layout_width="0dp"
                         android:layout_height="match_parent"
                         android:layout_weight="5"
+                        android:divider="#dfdede"
+                        android:dividerHeight="0.5dp"
                         android:scrollbars="none" />
                 </LinearLayout>
             </LinearLayout>

+ 13 - 12
WeiChat/src/main/res/layout/activity_basic_info.xml

@@ -2,6 +2,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/bg_main"
+    android:id="@+id/basic_info_ll"
     android:orientation="vertical">
 
     <RelativeLayout
@@ -24,7 +25,7 @@
                 android:drawableTop="@drawable/add_friend"
                 android:gravity="center"
                 android:textColor="@color/text_hine"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_hine" />
 
             <TextView
                 android:id="@+id/push_task_tv"
@@ -36,7 +37,7 @@
                 android:gravity="center"
                 android:text="发任务"
                 android:textColor="@color/text_hine"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_hine" />
         </LinearLayout>
 
 
@@ -47,7 +48,7 @@
 
             <FrameLayout
                 android:layout_width="match_parent"
-                android:layout_height="250dp">
+                android:layout_height="220dp">
 
                 <ImageView
                     android:id="@+id/max_img"
@@ -77,8 +78,8 @@
                         android:layout_below="@id/avatar_img"
                         android:layout_centerHorizontal="true"
                         android:layout_marginTop="10dp"
-                        android:textColor="@color/text_main"
-                        android:textSize="@dimen/text_main" />
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/text_hine" />
 
                     <TextView
                         android:id="@+id/sub_tv"
@@ -87,8 +88,8 @@
                         android:layout_below="@id/name_tv"
                         android:layout_centerHorizontal="true"
                         android:layout_marginTop="10dp"
-                        android:textColor="@color/text_main"
-                        android:textSize="@dimen/text_main" />
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/text_hine" />
 
 
                 </RelativeLayout>
@@ -101,7 +102,7 @@
 
             <RelativeLayout
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/item_height"
+                android:layout_height="45dp"
                 android:paddingLeft="20dp"
                 android:paddingRight="20dp">
 
@@ -129,7 +130,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
-                    android:layout_alignTop="@id/phone_tag"
+                    android:layout_centerVertical="true"
                     android:src="@drawable/info_phone" />
             </RelativeLayout>
 
@@ -141,7 +142,7 @@
 
             <RelativeLayout
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/item_height"
+                android:layout_height="45dp"
                 android:paddingLeft="20dp"
                 android:paddingRight="20dp">
 
@@ -150,7 +151,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_centerVertical="true"
-                    android:text="邮箱"
+                    android:text="Email"
                     android:textColor="@color/text_main"
                     android:textSize="@dimen/text_main" />
 
@@ -169,7 +170,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
-                    android:layout_alignTop="@id/email_tag"
+                    android:layout_centerVertical="true"
                     android:src="@drawable/email" />
             </RelativeLayout>
 

File diff suppressed because it is too large
+ 511 - 613
WeiChat/src/main/res/layout/activity_client.xml


+ 38 - 48
WeiChat/src/main/res/layout/activity_oa_alarma.xml

@@ -4,77 +4,71 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:layout_marginRight="10dp"
-    android:layout_marginLeft="10dp"
     tools:context=".ui.erp.activity.oa.AlarmaActivity">
 
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:layout_margin="2dp"
-        android:padding="8dp">
+        android:padding="10dp">
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
             android:text="自动打卡"
-            android:textSize="@dimen/text_main" />
+            android:textSize="14sp" />
 
         <com.xzjmyk.pm.activity.ui.erp.view.SwitchView
             android:id="@+id/auto_signin_sw"
-            android:layout_width="40dp"
-            android:layout_height="25dp"
+            android:layout_width="50dp"
+            android:layout_height="35dp"
             android:layout_alignParentRight="true"
             android:layout_centerVertical="true" />
     </RelativeLayout>
+
     <View
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/line"
-        android:background="@color/lightgrey" />
+        android:layout_width="match_parent"
+        android:layout_height="1px"
+        android:background="@color/item_line" />
+
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:layout_margin="2dp"
-        android:padding="8dp">
+        android:padding="10dp">
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
             android:text="考勤提醒"
-            android:textSize="@dimen/text_main" />
+            android:textSize="14sp" />
 
         <com.xzjmyk.pm.activity.ui.erp.view.SwitchView
             android:id="@+id/isalarma_sw"
-            android:layout_width="40dp"
-            android:layout_height="25dp"
+            android:layout_width="50dp"
+            android:layout_height="35dp"
             android:layout_alignParentRight="true"
             android:layout_centerVertical="true" />
     </RelativeLayout>
 
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1px"
+        android:background="@color/item_line" />
+
     <RelativeLayout
+        android:id="@+id/alar_rl"
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:layout_margin="2dp"
-        android:padding="8dp">
+        android:padding="10dp">
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
             android:text="上班打卡提醒"
-            android:textSize="@dimen/text_main" />
-
-        <!--<ImageView-->
-        <!--android:id="@+id/image_alar"-->
-        <!--android:clickable="true"-->
-        <!--android:layout_width="wrap_content"-->
-        <!--android:layout_height="wrap_content"-->
-        <!--android:layout_alignParentRight="true"-->
-        <!--android:layout_centerVertical="true"-->
-        <!--android:layout_marginRight="5dp"-->
-        <!--android:src="@drawable/alar" />-->
+            android:textSize="14sp" />
+
 
         <TextView
             android:id="@+id/tv_alar"
@@ -84,47 +78,43 @@
             android:layout_centerVertical="true"
             android:drawableRight="@drawable/oa_next"
             android:text="提前5分钟"
-            android:textSize="@dimen/text_main" />
+            android:textColor="@color/text_color"
+            android:textSize="14sp" />
     </RelativeLayout>
+
     <View
         android:layout_width="match_parent"
-        android:layout_height="@dimen/line"
-        android:background="@color/lightgrey" />
+        android:layout_height="1px"
+        android:background="@color/item_line" />
+
     <RelativeLayout
-        android:layout_width="wrap_content"
+        android:id="@+id/ualar_rl"
+        android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:layout_margin="2dp"
-        android:padding="8dp">
+        android:padding="10dp">
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
             android:text="下班打卡提醒"
-            android:textSize="@dimen/text_main" />
-
-        <!--<ImageView-->
-        <!--android:id="@+id/image_ualar"-->
-        <!--android:layout_width="wrap_content"-->
-        <!--android:layout_height="wrap_content"-->
-        <!--android:layout_alignParentRight="true"-->
-        <!--android:layout_centerVertical="true"-->
-        <!--android:layout_marginRight="5dp"-->
-        <!--android:src="@drawable/alar" />-->
+            android:textSize="14sp" />
 
         <TextView
-            android:id="@+id/tv_ualar"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignParentRight="true"
             android:layout_centerVertical="true"
             android:drawableRight="@drawable/oa_next"
             android:text="延迟5分钟"
-            android:textSize="@dimen/text_main" />
+            android:id="@+id/tv_ualar"
+            android:textColor="@color/text_color"
+            android:textSize="14sp" />
     </RelativeLayout>
 
     <View
         android:layout_width="match_parent"
-        android:layout_height="@dimen/line"
-        android:background="@color/lightgrey" />
+        android:layout_height="1px"
+        android:background="@color/item_line" />
+
 </LinearLayout>

+ 40 - 31
WeiChat/src/main/res/layout/activity_oalist.xml

@@ -32,41 +32,50 @@
                 android:drawableRight="@drawable/oa_next"
                 android:text="2016-07-01" />
 
-            <ImageView
-                android:id="@+id/head_img"
-                android:layout_width="60dp"
-                android:layout_height="60dp"
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="80dp"
                 android:layout_alignParentBottom="true"
-                android:layout_margin="10dp"
-                android:scaleType="fitXY" />
+                android:background="#60000000">
+                <ImageView
+                    android:id="@+id/head_img"
+                    android:layout_width="60dp"
+                    android:layout_height="60dp"
+                    android:layout_margin="10dp"
+                    android:scaleType="fitXY" />
 
-            <TextView
-                android:id="@+id/name_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignTop="@id/head_img"
-                android:layout_toRightOf="@id/head_img"
-                android:textColor="@color/text_main" />
+                <TextView
+                    android:id="@+id/name_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignTop="@id/head_img"
+                    android:layout_toRightOf="@id/head_img"
+                    android:textSize="12dp"
+                    android:textColor="@color/white" />
 
-            <TextView
-                android:id="@+id/num_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignLeft="@id/name_tv"
-                android:layout_below="@id/name_tv"
-                android:layout_marginTop="5dp"
-                android:textColor="@color/text_hine"
-                android:visibility="gone" />
+                <TextView
+                    android:id="@+id/num_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignLeft="@id/name_tv"
+                    android:layout_below="@id/name_tv"
+                    android:layout_marginTop="5dp"
+                    android:textSize="12dp"
+                    android:textColor="@color/white"
+                    android:visibility="gone" />
+
+                <TextView
+                    android:id="@+id/prot_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignLeft="@id/num_tv"
+                    android:layout_below="@id/num_tv"
+                    android:layout_marginTop="5dp"
+                    android:textSize="12dp"
+                    android:text="name"
+                    android:textColor="@color/white" />
+            </RelativeLayout>
 
-            <TextView
-                android:id="@+id/prot_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignLeft="@id/num_tv"
-                android:layout_below="@id/num_tv"
-                android:layout_marginTop="5dp"
-                android:text="name"
-                android:textColor="@color/text_hine" />
         </RelativeLayout>
     </FrameLayout>
 

+ 356 - 339
WeiChat/src/main/res/layout/activity_oamain.xml

@@ -1,405 +1,422 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/rootScroll"
+<com.handmark.pulltorefresh.library.PullToRefreshScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/oamain_ptrsv"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="#EBE9E9">
+    android:background="#EBE9E9"
+    android:fillViewport="true">
 
     <LinearLayout
-        android:id="@+id/oamain_head_menu_ll"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:focusable="true"
-        android:focusableInTouchMode="true"
+        android:layout_height="match_parent"
         android:orientation="vertical">
-        <!--头布局-->
+
         <LinearLayout
-            android:id="@+id/oa_rl_choose"
+            android:id="@+id/oamain_head_menu_ll"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_below="@+id/toobar"
-            android:background="#6A6A6A"
-            android:orientation="vertical"
-            android:paddingTop="10dp">
-
+            android:focusable="true"
+            android:focusableInTouchMode="true"
+            android:orientation="vertical">
+            <!--头布局-->
             <LinearLayout
+                android:id="@+id/oa_rl_choose"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:paddingBottom="10dp"
-                android:orientation="horizontal">
+                android:layout_below="@+id/toobar"
+                android:background="#6A6A6A"
+                android:orientation="vertical"
+                android:paddingTop="10dp">
 
-                <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/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
-                    android:id="@+id/oamain_more_menu_ll"
-                    android:layout_width="0dp"
+                    android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_weight="1"
-                    android:layout_marginTop="2dp"
-                    android:orientation="vertical">
-                    <ImageView
-                        android:id="@+id/oamain_more_menu_iv"
-                        android:layout_width="match_parent"
+                    android:orientation="horizontal"
+                    android:paddingBottom="10dp">
+
+                    <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:src="@drawable/ic_oa_more"/>
+                        android:text="打卡签到"
+                        android:textColor="@color/white" />
+
                     <TextView
-                        android:id="@+id/more_menu_tv"
-                        android:layout_width="match_parent"
+                        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:layout_marginTop="5dp"
-                        android:text="更多"
+                        android:text="外勤签到"
                         android:textColor="@color/white" />
-                </LinearLayout>
 
-            </LinearLayout>
+                    <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
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:paddingBottom="10dp"
-                android:orientation="horizontal">
+                    <LinearLayout
+                        android:id="@+id/oamain_more_menu_ll"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="2dp"
+                        android:layout_weight="1"
+                        android:orientation="vertical">
+
+                        <ImageView
+                            android:id="@+id/oamain_more_menu_iv"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:gravity="center"
+                            android:src="@drawable/ic_oa_more" />
+
+                        <TextView
+                            android:id="@+id/more_menu_tv"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="5dp"
+                            android:gravity="center"
+                            android:text="更多"
+                            android:textColor="@color/white" />
+                    </LinearLayout>
 
+                </LinearLayout>
 
-                <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/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/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/outtask"
-                    android:layout_width="0dp"
+                <LinearLayout
+                    android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="2dp"
-                    android:layout_weight="1"
-                    android:drawablePadding="@dimen/drawable_padding"
-                    android:drawableTop="@drawable/oa_chuchai"
-                    android:gravity="center"
-                    android:text="出差申请"
-                    android:textColor="@color/white" />
+                    android:orientation="horizontal"
+                    android:paddingBottom="10dp">
 
-            </LinearLayout>
 
-        </LinearLayout>
+                    <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" />
 
-    </LinearLayout>
-    <!--end 头布局-->
-    <!--标签布局-->
-    <ScrollView
-        android:id="@+id/oa_main_sv"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_below="@id/oamain_head_menu_ll">
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="40dp"
-                android:orientation="horizontal">
+                    <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/subord_log"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:text="下属工作日历"
-                    android:textSize="16dp" />
+                    <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" />
 
-                <View
-                    android:layout_width="2px"
-                    android:layout_height="match_parent"
-                    android:layout_margin="5dp"
-                    android:background="@color/default_shadow_color" />
+                    <TextView
+                        android:id="@+id/outtask"
+                        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_chuchai"
+                        android:gravity="center"
+                        android:text="出差申请"
+                        android:textColor="@color/white" />
+
+                </LinearLayout>
 
-                <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">
+        </LinearLayout>
+        <!--end 头布局-->
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
 
-                <View
-                    android:id="@+id/subord_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>
-            <!--end 标签布局-->
-
-            <!--年月日布局-->
             <LinearLayout
                 android:layout_width="match_parent"
-                android:layout_height="35dp"
-                android:layout_gravity="center_horizontal"
-                android:gravity="center">
+                android:layout_height="match_parent"
+                android:orientation="vertical">
 
-                <TextView
-                    android:id="@+id/yeas_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textColor="@color/text_main"
-                    android:textSize="@dimen/text_main" />
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="40dp"
+                    android:orientation="horizontal">
 
-                <TextView
-                    android:id="@+id/day_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textColor="@color/text_main"
-                    android:textSize="@dimen/text_main" />
+                    <TextView
+                        android:id="@+id/subord_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/week_tv"
-                    android:layout_width="wrap_content"
+                    <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:layout_marginLeft="10dp"
-                    android:textColor="@color/text_main"
-                    android:textSize="@dimen/text_main" />
-            </LinearLayout>
+                    android:orientation="horizontal"
+                    android:paddingLeft="10dp"
+                    android:paddingRight="10dp">
+
+                    <View
+                        android:id="@+id/subord_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>
+                <!--end 标签布局-->
 
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="2px"
-                android:background="@color/item_line" />
+                <!--年月日布局-->
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="35dp"
+                    android:layout_gravity="center_horizontal"
+                    android:gravity="center">
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/viewPager"
-                android:layout_width="match_parent"
-                android:layout_height="230dp" />
+                    <TextView
+                        android:id="@+id/yeas_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textColor="@color/text_main"
+                        android:textSize="@dimen/text_main" />
 
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="1px"
-                android:background="@color/item_line" />
-            <!--end 年月日布局-->
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
+                    <TextView
+                        android:id="@+id/day_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textColor="@color/text_main"
+                        android:textSize="@dimen/text_main" />
 
-                <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" />
-
-                <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" />
+                    <TextView
+                        android:id="@+id/week_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="10dp"
+                        android:textColor="@color/text_main"
+                        android:textSize="@dimen/text_main" />
+                </LinearLayout>
 
                 <View
-                    android:layout_width="2px"
-                    android:layout_height="match_parent"
+                    android:layout_width="match_parent"
+                    android:layout_height="2px"
                     android:background="@color/item_line" />
 
+                <android.support.v4.view.ViewPager
+                    android:id="@+id/viewPager"
+                    android:layout_width="match_parent"
+                    android:layout_height="230dp" />
+
                 <View
-                    android:layout_width="1px"
-                    android:layout_height="match_parent"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
                     android:background="@color/item_line" />
-
-                <TextView
-                    android:id="@+id/uok_task_num"
-                    android:layout_width="0dp"
+                <!--end 年月日布局-->
+                <LinearLayout
+                    android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:text="未完成:0"
-                    android:textSize="@dimen/text_main" />
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:id="@+id/all_task_num"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="10dp"
+                        android:layout_marginRight="10dp"
+                        android:gravity="center"
+                        android:text="工作日历:0"
+                        android:textSize="@dimen/text_hine" />
+
+                    <View
+                        android:layout_width="1px"
+                        android:layout_height="match_parent"
+                        android:background="#f17e21" />
+
+                    <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_hine" />
+
+                    <View
+                        android:layout_width="1px"
+                        android:layout_height="match_parent"
+                        android:background="#f17e21" />
+
+                    <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_hine" />
+
+                    <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="1px"
-                    android:layout_height="match_parent"
+                    android:layout_width="match_parent"
+                    android:layout_height="2px"
                     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" />
+                <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>
 
-            <View
+            <LinearLayout
+                android:id="@+id/oa_more_menu_ll"
                 android:layout_width="match_parent"
-                android:layout_height="2px"
-                android:background="@color/item_line" />
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:visibility="gone">
 
-            <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>
-    <LinearLayout
-        android:id="@+id/oa_more_menu_ll"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_below="@id/oamain_head_menu_ll"
-        android:orientation="vertical"
-        android:visibility="gone">
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingBottom="10dp"
-            android:background="#6A6A6A"
-            android:orientation="horizontal">
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="#6A6A6A"
+                    android:orientation="horizontal"
+                    android:paddingBottom="10dp">
 
-            <TextView
-                android:id="@+id/oamain_overtime_apply_tv"
-                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_jiaban"
-                android:gravity="center"
-                android:text="加班申请"
-                android:visibility="gone"
-                android:textColor="@color/white" />
-
-            <TextView
-                android:id="@+id/oamain_special_attendance_tv"
-                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" />
-
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="2dp"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:textColor="@color/white" />
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="2dp"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:textColor="@color/white" />
-            
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="2dp"
-                android:layout_weight="1"
-                android:gravity="center" />
-        </LinearLayout>
-        <LinearLayout
-            android:id="@+id/oa_more_cancel_ll"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical"
-            android:background="#30000000">
+                    <TextView
+                        android:id="@+id/oamain_overtime_apply_tv"
+                        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_jiaban"
+                        android:gravity="center"
+                        android:text="加班申请"
+                        android:textColor="@color/white"
+                        android:visibility="gone" />
 
-        </LinearLayout>
+                    <TextView
+                        android:id="@+id/oamain_special_attendance_tv"
+                        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" />
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="2dp"
+                        android:layout_weight="1"
+                        android:gravity="center"
+                        android:textColor="@color/white" />
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="2dp"
+                        android:layout_weight="1"
+                        android:gravity="center"
+                        android:textColor="@color/white" />
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="2dp"
+                        android:layout_weight="1"
+                        android:gravity="center" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/oa_more_cancel_ll"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:background="#40000000"
+                    android:orientation="horizontal">
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </FrameLayout>
     </LinearLayout>
 
-</RelativeLayout>
+
+</com.handmark.pulltorefresh.library.PullToRefreshScrollView>

+ 10 - 8
WeiChat/src/main/res/layout/activity_out_signin_ok.xml

@@ -26,7 +26,7 @@
                 android:drawableLeft="@drawable/outffice_com"
                 android:drawablePadding="6dp"
                 android:text="当前企业:"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_hine" />
 
             <TextView
                 android:id="@+id/com_tv"
@@ -36,7 +36,7 @@
                 android:layout_toRightOf="@+id/com_tag"
                 android:ellipsize="end"
                 android:lines="1"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_hine" />
         </RelativeLayout>
 
         <RelativeLayout
@@ -54,7 +54,7 @@
                 android:drawableLeft="@drawable/outoffice_time"
                 android:drawablePadding="6dp"
                 android:text="签到时间:"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_hine" />
 
             <TextView
                 android:id="@+id/time_tv"
@@ -62,7 +62,8 @@
                 android:layout_height="wrap_content"
                 android:layout_alignBottom="@id/time_tag"
                 android:layout_toRightOf="@id/time_tag"
-                android:textStyle="bold" />
+                android:textStyle="bold"
+                android:textSize="@dimen/text_hine" />
 
             <TextView
                 android:id="@+id/addr_tag"
@@ -74,7 +75,7 @@
                 android:drawableLeft="@drawable/outffice_addr"
                 android:drawablePadding="6dp"
                 android:text="签到地点:"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_hine" />
 
             <TextView
                 android:id="@+id/addr_tv"
@@ -83,7 +84,8 @@
                 android:layout_alignTop="@id/addr_tag"
                 android:layout_toRightOf="@+id/addr_tag"
                 android:maxLines="2"
-                android:textStyle="bold" />
+                android:textStyle="bold"
+                android:textSize="@dimen/text_hine"/>
         </RelativeLayout>
 
         <View
@@ -105,10 +107,10 @@
                 android:layout_height="wrap_content"
                 android:background="@null"
                 android:gravity="top"
-                android:hint="请填写备注(不超过60个字)"
+                android:hint="请填写备注(必填)"
                 android:inputType="textMultiLine"
                 android:minLines="6"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_hine" />
 
             <RelativeLayout
                 android:layout_width="match_parent"

+ 4 - 1
WeiChat/src/main/res/layout/activity_select.xml

@@ -35,6 +35,9 @@
     <ListView
         android:id="@+id/listview"
         android:layout_width="match_parent"
-        android:layout_height="match_parent" />
+        android:layout_height="match_parent"
+        android:divider="@color/item_line"
+        android:dividerHeight="1px"
+        android:listSelector="@color/item_color1" />
 
 </LinearLayout>

+ 29 - 12
WeiChat/src/main/res/layout/fragment_me.xml

@@ -1,7 +1,7 @@
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@drawable/bg_main">
+    android:background="#ebe9e9">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -10,7 +10,8 @@
 
         <RelativeLayout
             android:id="@+id/info_rl"
-            style="@style/IMTbleLine_UP_">
+            style="@style/IMTbleLine_UP_"
+            android:background="@drawable/selector_me_menu_item_bg">
 
             <ImageView
                 android:id="@+id/avatar_img"
@@ -58,7 +59,7 @@
                 android:layout_height="@dimen/next_height"
                 android:layout_alignParentRight="true"
                 android:layout_centerVertical="true"
-
+                android:layout_marginRight="8dp"
                 android:background="@drawable/oa_next"
                 android:contentDescription="@string/app_name" />
         </RelativeLayout>
@@ -192,11 +193,14 @@
         <View
             android:layout_width="match_parent"
             android:layout_height="@dimen/line"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
             android:background="@color/item_line" />
 
         <RelativeLayout
             android:id="@+id/my_friend_rl"
-            style="@style/IMTbleLine">
+            style="@style/IMTbleLine"
+            android:background="@drawable/selector_me_menu_item_bg">
 
             <TextView
                 android:id="@+id/tv_zone"
@@ -224,7 +228,7 @@
                 android:layout_height="@dimen/next_height"
                 android:layout_alignParentRight="true"
                 android:layout_centerVertical="true"
-
+                android:layout_marginRight="8dp"
                 android:background="@drawable/oa_next"
                 android:contentDescription="@string/app_name" />
         </RelativeLayout>
@@ -238,12 +242,15 @@
             android:layout_width="match_parent"
             android:layout_height="@dimen/line"
             android:layout_marginTop="7dp"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
             android:background="@color/item_line" />
         <!--公司-->
         <!--账套-->
         <RelativeLayout
             android:id="@+id/rl_company_change"
-            style="@style/IMTbleLine_UP_Me">
+            style="@style/IMTbleLine_UP_Me"
+            android:background="@drawable/selector_me_menu_item_bg">
 
             <TextView
                 android:id="@+id/company_text"
@@ -271,17 +278,20 @@
                 android:layout_height="@dimen/next_height"
                 android:layout_alignParentRight="true"
                 android:layout_centerVertical="true"
-
+                android:layout_marginRight="8dp"
                 android:background="@drawable/oa_next"
                 android:contentDescription="@string/app_name" />
         </RelativeLayout>
         <View
             android:layout_width="match_parent"
             android:layout_height="@dimen/line"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
             android:background="@color/item_line" />
         <RelativeLayout
             android:id="@+id/rl_master_change"
-            style="@style/IMTbleLine_UP_Me">
+            style="@style/IMTbleLine_UP_Me"
+            android:background="@drawable/selector_me_menu_item_bg">
 
             <TextView
                 android:id="@+id/master_text"
@@ -309,7 +319,7 @@
                 android:layout_height="@dimen/next_height"
                 android:layout_alignParentRight="true"
                 android:layout_centerVertical="true"
-
+                android:layout_marginRight="8dp"
                 android:background="@drawable/oa_next"
                 android:contentDescription="@string/app_name" />
         </RelativeLayout>
@@ -317,11 +327,14 @@
         <View
             android:layout_width="match_parent"
             android:layout_height="@dimen/line"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
             android:background="@color/item_line" />
 
         <RelativeLayout
             android:id="@+id/app_scan_code_rl"
             style="@style/IMTbleLine_UP_Me"
+            android:background="#faf9f9"
             android:visibility="gone">
 
             <TextView
@@ -360,7 +373,7 @@
 
         <RelativeLayout
             android:id="@+id/app_drafts_rl"
-
+            android:background="#faf9f9"
             style="@style/IMTbleLine_UP_Me"
             android:visibility="gone">
 
@@ -404,6 +417,7 @@
             android:id="@+id/my_b2b_rl"
             style="@style/IMTbleLine_UP_Me"
             android:layout_marginTop="7dp"
+            android:background="#faf9f9"
             android:visibility="gone">
 
             <TextView
@@ -442,7 +456,8 @@
         <RelativeLayout
             android:id="@+id/setting_rl"
             style="@style/IMTbleLine_UP_Me"
-            android:layout_marginTop="7dp">
+            android:layout_marginTop="7dp"
+            android:background="@drawable/selector_me_menu_item_bg">
 
             <TextView
                 android:layout_width="wrap_content"
@@ -460,7 +475,7 @@
                 android:layout_height="@dimen/next_height"
                 android:layout_alignParentRight="true"
                 android:layout_centerVertical="true"
-
+                android:layout_marginRight="8dp"
                 android:background="@drawable/oa_next"
                 android:contentDescription="@string/app_name" />
         </RelativeLayout>
@@ -468,6 +483,8 @@
         <View
             android:layout_width="match_parent"
             android:layout_height="@dimen/line"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
             android:background="@color/item_line" />
     </LinearLayout>
 

+ 1 - 1
WeiChat/src/main/res/layout/fragment_message.xml

@@ -3,7 +3,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@drawable/bg_main"
+    android:background="#ebe9e9"
     android:orientation="vertical" >
 
     <RelativeLayout

+ 7 - 7
WeiChat/src/main/res/layout/fragment_outoffice.xml

@@ -2,7 +2,7 @@
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/bg_main">
+    android:background="#EBE9E9">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -97,7 +97,7 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_below="@id/tv"
-            android:background="@color/white"
+            android:background="#faf9f9"
             android:padding="10dp">
 
             <com.baidu.mapapi.map.MapView
@@ -124,7 +124,7 @@
                 android:layout_marginLeft="5dp"
                 android:layout_toRightOf="@id/tag_img"
                 android:gravity="center_vertical"
-                android:textSize="@dimen/text_hine" />
+                android:textSize="@dimen/text_min" />
 
             <ImageView
                 android:id="@+id/tag_img2"
@@ -144,7 +144,7 @@
                 android:layout_below="@+id/date_tv"
                 android:gravity="center_vertical"
                 android:textColor="@color/text_main"
-                android:textSize="@dimen/text_main" />
+                android:textSize="@dimen/text_min" />
 
             <TextView
                 android:id="@+id/addr_tv"
@@ -155,7 +155,7 @@
                 android:layout_marginTop="5dp"
                 android:maxLines="3"
                 android:textColor="@color/text_hine"
-                android:textSize="@dimen/text_hine" />
+                android:textSize="@dimen/text_min" />
 
             <TextView
                 android:id="@+id/do_trim"
@@ -166,8 +166,8 @@
                 android:layout_marginTop="10dp"
                 android:maxLines="1"
                 android:text="地点微调"
-                android:textColor="@color/green"
-                android:textSize="@dimen/text_hine" />
+                android:textColor="#f17e21"
+                android:textSize="@dimen/text_min" />
         </RelativeLayout>
 
         <View

+ 1 - 1
WeiChat/src/main/res/layout/item_activity_workdaily.xml

@@ -87,7 +87,7 @@
 </LinearLayout>
     <View
         android:layout_width="match_parent"
-        android:layout_height="10dp"
+        android:layout_height="8dp"
         android:background="@color/gainsboro"
         />
 

+ 4 - 3
WeiChat/src/main/res/layout/item_outoffice_list.xml

@@ -34,7 +34,7 @@
             android:id="@+id/time"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
+            android:layout_marginTop="20dp"
             android:text="10:45"
             android:textColor="@color/text_main"
             android:textSize="20dp" />
@@ -56,7 +56,8 @@
             android:layout_height="wrap_content"
             android:layout_alignLeft="@id/location"
             android:layout_below="@id/location"
-            android:src="@drawable/addr" />
+            android:layout_marginTop="5dp"
+            android:src="@drawable/ic_outoffice_addr" />
 
 
         <TextView
@@ -75,7 +76,7 @@
             android:layout_alignLeft="@id/addr_img"
             android:layout_below="@id/addr"
             android:layout_marginTop="5dp"
-            android:src="@drawable/icon_answer" />
+            android:src="@drawable/ic_outoffice_msg" />
 
         <TextView
             android:id="@+id/remark"

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

@@ -70,6 +70,7 @@
         android:layout_centerVertical="true"
         android:layout_toLeftOf="@id/add_friend"
         android:padding="5dp"
+        android:layout_marginRight="5dp"
         android:src="@drawable/info_phone" />
 
 </RelativeLayout>

+ 65 - 0
WeiChat/src/main/res/layout/layout_menu_person_info.xml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:background="@color/white">
+
+    <TextView
+        android:id="@+id/basic_info_set_remark_name"
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:gravity="center"
+        android:text="@string/set_remark_name"
+        android:textColor="@color/black"
+        android:textSize="15sp"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0.3dp"
+        android:background="@color/button_invalid"/>
+    <TextView
+        android:id="@+id/basic_info_remove_blacklist"
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:gravity="center"
+        android:text="@string/remove_blacklist"
+        android:textColor="@color/black"
+        android:textSize="15sp"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0.3dp"
+        android:background="@color/button_invalid"/>
+    <TextView
+        android:id="@+id/basic_info_add_blacklist"
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:gravity="center"
+        android:textColor="@color/black"
+        android:text="@string/add_blacklist"
+        android:textSize="15sp"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0.3dp"
+        android:background="@color/button_invalid"/>
+    <TextView
+        android:id="@+id/basic_info_cancel_attention"
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:gravity="center"
+        android:textColor="@color/black"
+        android:text="@string/cancel_attention"
+        android:textSize="15sp"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0.3dp"
+        android:background="@color/button_invalid"/>
+    <TextView
+        android:id="@+id/basic_info_delete_all"
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        android:gravity="center"
+        android:text="@string/delete_all"
+        android:textColor="@color/red"
+        android:textSize="15sp"/>
+
+</LinearLayout>

+ 39 - 5
WeiChat/src/main/res/layout/message_header.xml

@@ -2,13 +2,14 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="#ebe9e9"
     android:orientation="vertical">
 
     <RelativeLayout
         android:id="@+id/schedule_rl"
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:background="@color/item_color1"
+        android:background="@drawable/selector_me_menu_item_bg"
         android:descendantFocusability="blocksDescendants"
         android:minHeight="@dimen/item_height"
         android:paddingLeft="15dp"
@@ -89,11 +90,18 @@
 
     </RelativeLayout>
 
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:background="@color/item_line" />
+
     <RelativeLayout
         android:id="@+id/task_rl"
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:background="@color/item_color2"
+        android:background="@drawable/selector_me_menu_item_bg"
         android:descendantFocusability="blocksDescendants"
         android:minHeight="@dimen/item_height"
         android:paddingLeft="15dp"
@@ -173,11 +181,18 @@
 
     </RelativeLayout>
 
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:background="@color/item_line" />
+
     <RelativeLayout
         android:id="@+id/notice_rl"
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:background="@color/item_color1"
+        android:background="@drawable/selector_me_menu_item_bg"
         android:descendantFocusability="blocksDescendants"
         android:minHeight="@dimen/item_height"
         android:paddingLeft="15dp"
@@ -257,11 +272,18 @@
 
     </RelativeLayout>
 
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:background="@color/item_line" />
+
     <RelativeLayout
         android:id="@+id/_rl"
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:background="@color/item_color2"
+        android:background="@drawable/selector_me_menu_item_bg"
         android:descendantFocusability="blocksDescendants"
         android:minHeight="@dimen/item_height"
         android:paddingLeft="15dp"
@@ -341,12 +363,18 @@
 
     </RelativeLayout>
 
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:background="@color/item_line" />
 
     <RelativeLayout
         android:id="@+id/rl_b2b_business"
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:background="@color/item_color1"
+        android:background="@drawable/selector_me_menu_item_bg"
         android:descendantFocusability="blocksDescendants"
         android:minHeight="@dimen/item_height"
         android:paddingLeft="15dp"
@@ -425,4 +453,10 @@
         </RelativeLayout>
 
     </RelativeLayout>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:background="@color/item_line" />
 </LinearLayout>

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

@@ -5,6 +5,7 @@
     android:descendantFocusability="blocksDescendants"
     android:minHeight="@dimen/item_height"
     android:paddingLeft="15dp"
+    android:background="@drawable/selector_me_menu_item_bg"
     android:paddingRight="15dp">
     <!--android:background="@color/item_color1"-->
     <FrameLayout

+ 10 - 4
WeiChat/src/main/res/menu/menu_basic_info.xml

@@ -1,8 +1,14 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     tools:context="com.xzjmyk.pm.activity.MainActivity">
 
     <item
+        android:id="@+id/basic_info_more"
+        android:icon="@drawable/ic_dot_more"
+        android:title="更多"
+        app:showAsAction="ifRoom"/>
+    <!--<item
         android:id="@+id/set_remark_name"
         android:title="@string/set_remark_name" />
     <item
@@ -11,14 +17,14 @@
     <item
         android:id="@+id/add_blacklist"
         android:title="@string/add_blacklist" />
-    <!--<item-->
-        <!--android:id="@+id/set_more_attention"-->
-        <!--android:title="@string/more_attention" />-->
+    &lt;!&ndash;<item&ndash;&gt;
+        &lt;!&ndash;android:id="@+id/set_more_attention"&ndash;&gt;
+        &lt;!&ndash;android:title="@string/more_attention" />&ndash;&gt;
     <item
         android:id="@+id/cancel_attention"
         android:title="@string/cancel_attention" />
     <item
         android:id="@+id/delete_all"
-        android:title="@string/delete_all" />
+        android:title="@string/delete_all" />-->
 
 </menu>

+ 4 - 0
WeiChat/src/main/res/values/colors.xml

@@ -293,4 +293,8 @@
     <color name="button_invalid">#C0C0C0</color>
     <color name="button_focus">#2475FB</color>
     <color name="text_normal">#808A87</color>
+
+    <color name="me_menu_item_normal">#FAF9F9</color>
+    <color name="me_menu_item_press">#DFDEDE</color>
+    <color name="bg_underlying">#ebe9e9</color>
 </resources>

+ 37 - 0
pullToRefershLibraryMy/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java

@@ -20,26 +20,42 @@ import android.content.Context;
 import android.os.Build.VERSION;
 import android.os.Build.VERSION_CODES;
 import android.util.AttributeSet;
+import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewConfiguration;
 import android.widget.ScrollView;
 
 public class PullToRefreshScrollView extends PullToRefreshBase<ScrollView> {
+	private boolean scrollable = true;
+	private float downY;
+	private int mTouchSlop;
 
 	public PullToRefreshScrollView(Context context) {
 		super(context);
+		mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
 	}
 
 	public PullToRefreshScrollView(Context context, AttributeSet attrs) {
 		super(context, attrs);
+		mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
 	}
 
 	public PullToRefreshScrollView(Context context, Mode mode) {
 		super(context, mode);
+		mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
 	}
 
 	public PullToRefreshScrollView(Context context, Mode mode, AnimationStyle style) {
 		super(context, mode, style);
+		mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
 	}
+	/*public boolean isScrollable() {
+		return scrollable;
+	}
+
+	public void setScrollable(boolean scrollable) {
+		this.scrollable = scrollable;
+	}*/
 
 	@Override
 	public final Orientation getPullToRefreshScrollDirection() {
@@ -105,5 +121,26 @@ public class PullToRefreshScrollView extends PullToRefreshBase<ScrollView> {
 			}
 			return scrollRange;
 		}
+
+		@Override
+		public boolean onInterceptTouchEvent(MotionEvent ev) {
+			if (scrollable){
+				return super.onInterceptTouchEvent(ev);
+			}else {
+				int action = ev.getAction();
+				switch (action){
+					case MotionEvent.ACTION_DOWN:
+						downY = ev.getRawY();
+						break;
+					case MotionEvent.ACTION_MOVE:
+						float moveY = ev.getRawY();
+						if (Math.abs(moveY - downY) > mTouchSlop){
+							return true;
+						}
+						break;
+				}
+			}
+			return super.onInterceptTouchEvent(ev);
+		}
 	}
 }

Some files were not shown because too many files changed in this diff