Browse Source

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

Arison 9 years ago
parent
commit
a731eef10b
19 changed files with 851 additions and 63 deletions
  1. 34 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/User.java
  2. 498 27
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/BaseInfoActivity.java
  3. 5 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
  4. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessLessActivity.java
  5. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java
  6. 48 6
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java
  7. 4 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerDetailActivity.java
  8. 10 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerListActivity.java
  9. 68 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/UpdateSexActivity.java
  10. 53 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/UpdateSingleTextActivity.java
  11. 3 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java
  12. 2 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectListActivity.java
  13. 2 4
      WeiChat/src/main/res/layout/activity_customer_detail.xml
  14. 52 7
      WeiChat/src/main/res/layout/activity_update_sex.xml
  15. 19 3
      WeiChat/src/main/res/layout/activity_update_single_text.xml
  16. 41 0
      WeiChat/src/main/res/layout/layout_select_head.xml
  17. 8 0
      WeiChat/src/main/res/menu/main_btn_certain.xml
  18. 0 1
      WeiChat/src/main/res/menu/menu_manage_subscribe.xml
  19. 1 1
      WeiChat/src/main/res/values/styles.xml

+ 34 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/User.java

@@ -221,7 +221,7 @@ public class User implements Serializable, Cloneable {
 		equals &= level == other.level;
 		equals &= money == other.money;
 		equals &= moneyTotal == other.moneyTotal;
-		equals &= offlineTime == other.offlineTime;
+//		equals &= offlineTime == other.offlineTime;
 		equals &= vip == other.vip;
 		equals &= friendsCount == other.friendsCount;
 		equals &= fansCount == other.fansCount;
@@ -476,4 +476,37 @@ public class User implements Serializable, Cloneable {
 			return friends.getBlacklist();
 		}
 	}
+
+	@Override
+	public String toString() {
+		return "User{" +
+				"userId='" + userId + '\'' +
+				", userType=" + userType +
+				", nickName='" + nickName + '\'' +
+				", telephone='" + telephone + '\'' +
+				", password='" + password + '\'' +
+				", description='" + description + '\'' +
+				", birthday=" + birthday +
+				", sex=" + sex +
+				", countryId=" + countryId +
+				", provinceId=" + provinceId +
+				", cityId=" + cityId +
+				", areaId=" + areaId +
+				", integral=" + integral +
+				", integralTotal=" + integralTotal +
+				", level=" + level +
+				", money=" + money +
+				", moneyTotal=" + moneyTotal +
+				", vip=" + vip +
+				", friendsCount=" + friendsCount +
+				", fansCount=" + fansCount +
+				", attCount=" + attCount +
+				", isAuth=" + isAuth +
+				", status=" + status +
+				", offlineTime=" + offlineTime +
+				", company=" + company +
+				", friends=" + friends +
+				", loginLog=" + loginLog +
+				'}';
+	}
 }

+ 498 - 27
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/BaseInfoActivity.java

@@ -1,36 +1,79 @@
 package com.xzjmyk.pm.activity.ui.erp.activity;
 
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.DatePickerDialog;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.Gravity;
 import android.view.View;
+import android.view.WindowManager;
+import android.widget.DatePicker;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
+import com.loopj.android.http.AsyncHttpClient;
+import com.loopj.android.http.AsyncHttpResponseHandler;
+import com.loopj.android.http.RequestParams;
+import com.nostra13.universalimageloader.core.ImageLoader;
 import com.xzjmyk.pm.activity.AppConstant;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.Area;
 import com.xzjmyk.pm.activity.bean.User;
+import com.xzjmyk.pm.activity.db.dao.UserDao;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.helper.LoginHelper;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.cardcast.CardcastActivity;
 import com.xzjmyk.pm.activity.ui.circle.BusinessCircleActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.me.UpdateSexActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.me.UpdateSingleTextActivity;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.me.BasicInfoEditActivity;
 import com.xzjmyk.pm.activity.ui.me.LocalVideoActivity;
+import com.xzjmyk.pm.activity.ui.tool.SelectAreaActivity;
+import com.xzjmyk.pm.activity.util.CameraUtil;
+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.TimeUtils;
+import com.xzjmyk.pm.activity.util.ToastUtil;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
+import com.xzjmyk.pm.activity.view.crouton.LifecycleCallback;
+import com.xzjmyk.pm.activity.volley.ObjectResult;
+import com.xzjmyk.pm.activity.volley.Result;
+import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
+
+import org.apache.http.Header;
 
 import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
 import java.util.List;
 
+/**
+ * 个人资料页面
+ */
 public class BaseInfoActivity extends BaseActivity implements View.OnClickListener {
 
     @ViewInject(R.id.me_heard_tv)
@@ -51,6 +94,16 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
     private TextView tv_depart;
     @ViewInject(R.id.tv_position_value)
     private TextView tv_position;
+    @ViewInject(R.id.me_heard)
+    private RelativeLayout rl_me_heard;
+    @ViewInject(R.id.me_nickname)
+    private RelativeLayout rl_me_nickname;
+    @ViewInject(R.id.me_sex)
+    private RelativeLayout rl_me_sex;
+    @ViewInject(R.id.me_birthday)
+    private RelativeLayout rl_me_birthday;
+    @ViewInject(R.id.me_address)
+    private RelativeLayout rl_me_address;
 
     private User mUser;
     // Temp
@@ -58,25 +111,15 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
     // 选择头像的数据
     private File mCurrentFile;
     private boolean isError = false;
-    
+
     private final int update_brithday=0;
     private final int update_address=1;
-    
-    
-    private Handler mHandler=new Handler(){
-        @Override
-        public void handleMessage(Message msg) {
-           switch (msg.what){
-               case update_brithday:
-                   
-                   break;
-               case update_address:
-                   
-                   break;
-           }
-        }
-    };
-    
+
+    private PopupWindow mHeadPopupWindow;
+    private String mNickname,mSex;
+
+    private ProgressDialog mProgressDialog;
+    public static final String UPHEAD = "UPHEAD";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -88,20 +131,30 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         findViewById(R.id.my_space_rl).setOnClickListener(this);
         findViewById(R.id.local_video_rl).setOnClickListener(this);
         ViewUtils.inject(this);
-        
+
         initView();
     }
-    
+
     private void initView(){
+        mProgressDialog = ProgressDialogUtil.init(mContext, null, getString(R.string.please_wait));
         mUser = MyApplication.getInstance().mLoginUser;
         if (!LoginHelper.isUserValidation(mUser)) {
             isError = true;
             return;
         }
+        initEvent();
         initData();
-        
+
     }
-    
+
+    private void initEvent() {
+        rl_me_heard.setOnClickListener(this);
+        rl_me_nickname.setOnClickListener(this);
+        rl_me_sex.setOnClickListener(this);
+        rl_me_birthday.setOnClickListener(this);
+        rl_me_address.setOnClickListener(this);
+    }
+
     public void initData(){
         // clone一份临时数据,用来存数变化的值,返回的时候对比有无变化
         try {
@@ -111,10 +164,11 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         }
         if (mTempData.getSex() == 1) {
 //            rbBoy.setChecked(true);
-          tv_sex.setText("男");
-
+            tv_sex.setText("男");
+            mSex = "男";
         } else {
             tv_sex.setText("女");
+            mSex = "女";
           //  rbGrid.setChecked(true);
         }
         tv_birthday.setText(TimeUtils.sk_time_s_long_2_str(mTempData.getBirthday()));
@@ -125,14 +179,14 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
         List<EmployeesEntity> entities= dbManager.select_getEmployee(new String[]{userId, whichsys}, "em_imid=? and whichsys=?");
         if (ListUtils.isEmpty(entities)){
             tv_nickname.setText(mTempData.getNickName());
-
+            mNickname = mTempData.getNickName();
         }else{
             tv_nickname.setText(entities.get(0).getEM_NAME());
             tv_name.setText(entities.get(0).getEM_NAME());
             tv_tel.setText(mTempData.getTelephone());
             tv_depart.setText(entities.get(0).getEM_DEFAULTORNAME());
             tv_position.setText(entities.get(0).getEM_POSITION());
-         
+            mNickname = entities.get(0).getEM_NAME();
         }
         // mNameEdit.setText(mTempData.getNickName());
         tv_address.setText(Area.getProvinceCityString(mTempData.getProvinceId(), mTempData.getCityId()));
@@ -157,7 +211,424 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
             case R.id.local_video_rl:// 本地视频
                 startActivity(new Intent(this, LocalVideoActivity.class));
                 break;
+            case R.id.me_heard://切换头像
+                WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
+                View headSelectView = View.inflate(BaseInfoActivity.this,R.layout.layout_select_head,null);
+
+                mHeadPopupWindow = new PopupWindow(headSelectView,
+                        LinearLayout.LayoutParams.MATCH_PARENT,
+                        LinearLayout.LayoutParams.WRAP_CONTENT);
+                mHeadPopupWindow.setAnimationStyle(R.style.Animation_CustomPopup);
+                mHeadPopupWindow.setFocusable(true);
+                mHeadPopupWindow.setOutsideTouchable(true);
+                DisplayUtil.backgroundAlpha(this, 0.5f);
+                mHeadPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+                    @Override
+                    public void onDismiss() {
+                        closePopupWindow();
+                    }
+                });
+                mHeadPopupWindow.showAtLocation(View.inflate(this, R.layout.activity_base_info, null), Gravity.BOTTOM, 0, 0);
+                TextView takePicTv = (TextView) headSelectView.findViewById(R.id.head_take_picture);
+                TextView selectPicTv = (TextView) headSelectView.findViewById(R.id.head_select_photos);
+                TextView cancelTv = (TextView) headSelectView.findViewById(R.id.head_cancel);
+
+                takePicTv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        takePhoto();
+                        closePopupWindow();
+                    }
+                });
+
+                selectPicTv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        selectPhoto();
+                        closePopupWindow();
+                    }
+                });
+
+                cancelTv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        closePopupWindow();
+                    }
+                });
+                break;
+            case R.id.me_nickname://修改昵称
+                intent = new Intent(BaseInfoActivity.this, UpdateSingleTextActivity.class);
+                intent.putExtra("nickname",tv_nickname.getText().toString().trim());
+                startActivityForResult(intent, UPDATE_NICKNAME);
+                break;
+            case R.id.me_sex://切换性别
+                intent = new Intent(BaseInfoActivity.this, UpdateSexActivity.class);
+                intent.putExtra("sex",tv_sex.getText().toString().trim());
+                startActivityForResult(intent,UPDATE_SEX);
+                break;
+            case R.id.me_birthday://修改生日
+                showSelectBirthdayDialog();
+                break;
+            case R.id.me_address://修改地区
+                intent = new Intent(BaseInfoActivity.this, SelectAreaActivity.class);
+                intent.putExtra(SelectAreaActivity.EXTRA_AREA_TYPE, Area.AREA_TYPE_PROVINCE);
+                intent.putExtra(SelectAreaActivity.EXTRA_AREA_PARENT_ID, Area.AREA_DATA_CHINA_ID);// 直接选择中国,
+                intent.putExtra(SelectAreaActivity.EXTRA_AREA_DEEP, Area.AREA_TYPE_COUNTY);
+                startActivityForResult(intent, SELECT_ADDRESS);
+                break;
+        }
+    }
+
+    private void closePopupWindow(){
+        if (mHeadPopupWindow != null){
+            mHeadPopupWindow.dismiss();
+            mHeadPopupWindow = null;
+            DisplayUtil.backgroundAlpha(this,1f);
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    private void showSelectBirthdayDialog() {
+        Date date = new Date(mTempData.getBirthday() * 1000);
+        DatePickerDialog dialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
+            @Override
+            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
+                GregorianCalendar calendar = new GregorianCalendar(year, monthOfYear, dayOfMonth);
+                mTempData.setBirthday(TimeUtils.getSpecialBeginTime(tv_birthday, calendar.getTime().getTime() / 1000));
+                long currentTime = System.currentTimeMillis() / 1000;
+                long birthdayTime = calendar.getTime().getTime() / 1000;
+                if (birthdayTime > currentTime) {
+                    ToastUtil.showToast(mContext, "亲!您的出生日期已经超过现在了哦!");
+                }
+            }
+        }, date.getYear() + 1900, date.getMonth(), date.getDate());
+        dialog.show();
+    }
+
+    private static final int REQUEST_CODE_CAPTURE_CROP_PHOTO = 1;
+    private static final int REQUEST_CODE_PICK_CROP_PHOTO = 2;
+    private static final int REQUEST_CODE_CROP_PHOTO = 3;
+    private static final int SELECT_ADDRESS = 4;
+    private static final int UPDATE_NICKNAME = 5;
+    private static final int UPDATE_SEX = 6;
+    private Uri mNewPhotoUri;
+
+    private void takePhoto() {
+        mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, CameraUtil.MEDIA_TYPE_IMAGE);
+        CameraUtil.captureImage(this, mNewPhotoUri, REQUEST_CODE_CAPTURE_CROP_PHOTO);
+    }
+
+
+    private void selectPhoto() {
+        CameraUtil.pickImageSimple(this, REQUEST_CODE_PICK_CROP_PHOTO);
+    }
+
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == REQUEST_CODE_CAPTURE_CROP_PHOTO) {// 拍照返回再去裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    Uri o = mNewPhotoUri;
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, CameraUtil.MEDIA_TYPE_IMAGE);
+                    mCurrentFile = new File(mNewPhotoUri.getPath());
+                    CameraUtil.cropImage(this, o, mNewPhotoUri, REQUEST_CODE_CROP_PHOTO, 1, 1, 300, 300);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        } else if (requestCode == REQUEST_CODE_PICK_CROP_PHOTO) {// 选择一张图片,然后立即调用裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (data != null && data.getData() != null) {
+                    String path = CameraUtil.getImagePathFromUri(this, data.getData());
+                    Uri o = Uri.fromFile(new File(path));
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, CameraUtil.MEDIA_TYPE_IMAGE);
+                    mCurrentFile = new File(mNewPhotoUri.getPath());
+                    CameraUtil.cropImage(this, o, mNewPhotoUri, REQUEST_CODE_CROP_PHOTO, 1, 1, 300, 300);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        } else if (requestCode == REQUEST_CODE_CROP_PHOTO) {
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    mCurrentFile = new File(mNewPhotoUri.getPath());
+                    ImageLoader.getInstance().displayImage(mNewPhotoUri.toString(), iv_headImage);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_crop_failed);
+                }
+            }
+
+        } else if (requestCode == SELECT_ADDRESS) {// 选择城市
+            if (resultCode == RESULT_OK && data != null) {
+                int countryId = data.getIntExtra(SelectAreaActivity.EXTRA_COUNTRY_ID, 0);
+                int provinceId = data.getIntExtra(SelectAreaActivity.EXTRA_PROVINCE_ID, 0);
+                int cityId = data.getIntExtra(SelectAreaActivity.EXTRA_CITY_ID, 0);
+                int countyId = data.getIntExtra(SelectAreaActivity.EXTRA_COUNTY_ID, 0);
+
+                // String country_name = data.getStringExtra(Constant.EXTRA_COUNTRY_NAME);
+                String province_name = data.getStringExtra(SelectAreaActivity.EXTRA_PROVINCE_NAME);
+                String city_name = data.getStringExtra(SelectAreaActivity.EXTRA_CITY_NAME);
+                tv_address.setText(province_name + "-" + city_name);
+
+                mTempData.setCountryId(countryId);
+                mTempData.setProvinceId(provinceId);
+                mTempData.setCityId(cityId);
+                mTempData.setAreaId(countyId);
+            }
+        } else if (requestCode == UPDATE_NICKNAME && data != null){
+            mNickname = data.getStringExtra("newnickname");
+            if (mNickname != null){
+                tv_nickname.setText(mNickname);
+//                mTempData.setNickName(mNickname);
+            }
+        } else if (requestCode == UPDATE_SEX && data != null){
+            mSex = data.getStringExtra("newsex");
+            if (mSex != null){
+                tv_sex.setText(mSex);
+                if (mSex.equals("男")){
+                    mTempData.setSex(1);
+                }else if (mSex.equals("女")){
+                    mTempData.setSex(0);
+                }
+            }
+        }
+
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+    }
+
+    private void updateData() {
+        HashMap<String, String> params = new HashMap<String, String>();
+        params.put("access_token", MyApplication.getInstance().mAccessToken);
+        if (!mUser.getNickName().equals(mTempData.getNickName())) {
+            params.put("nickname", mTempData.getNickName());
+
+        }
+        if (mUser.getSex() != mTempData.getSex()) {
+            params.put("sex", String.valueOf(mTempData.getSex()));
+        }
+        if (mUser.getBirthday() != mTempData.getBirthday()) {
+            params.put("birthday", String.valueOf(mTempData.getBirthday()));
+        }
+        if (mUser.getCountryId() != mTempData.getCountryId()) {
+            params.put("countryId", String.valueOf(mTempData.getCountryId()));
+        }
+        if (mUser.getProvinceId() != mTempData.getProvinceId()) {
+            params.put("provinceId", String.valueOf(mTempData.getProvinceId()));
         }
+        if (mUser.getCityId() != mTempData.getCityId()) {
+            params.put("cityId", String.valueOf(mTempData.getCityId()));
+        }
+        if (mUser.getAreaId() != mTempData.getAreaId()) {
+            params.put("areaId", String.valueOf(mTempData.getAreaId()));
+        }
+        ProgressDialogUtil.show(mProgressDialog);
+        StringJsonObjectRequest<Void> request = new StringJsonObjectRequest<Void>(mConfig.USER_UPDATE, new Response.ErrorListener() {
+            @Override
+            public void onErrorResponse(VolleyError arg0) {
+                ProgressDialogUtil.dismiss(mProgressDialog);
+                ToastUtil.showErrorNet(BaseInfoActivity.this);
+            }
+        }, new StringJsonObjectRequest.Listener<Void>() {
+
+            @Override
+            public void onResponse(ObjectResult<Void> result) {
+                boolean success = Result.defaultParser(mContext, result, true);
+                if (success) {
+                    saveData();
+
+                } else {
+                    ProgressDialogUtil.dismiss(mProgressDialog);
+                }
+            }
+        }, Void.class, params);
+        addDefaultRequest(request);
+    }
+
+    private void saveData() {
+        if (!mUser.getNickName().equals(mTempData.getNickName())) {
+            Log.d("wang", "更新数据库" + mTempData.getNickName());
+            MyApplication.getInstance().mLoginUser.setNickName(mTempData.getNickName());
+            UserDao.getInstance().updateNickName(mTempData.getUserId(), mTempData.getNickName());// 更新数据库
+        }
+        if (mUser.getSex() != mTempData.getSex()) {
+            MyApplication.getInstance().mLoginUser.setSex(mTempData.getSex());
+            UserDao.getInstance().updateSex(mTempData.getUserId(), mTempData.getSex() + "");// 更新数据库
+        }
+        if (mUser.getBirthday() != mTempData.getBirthday()) {
+            MyApplication.getInstance().mLoginUser.setBirthday(mTempData.getBirthday());
+            UserDao.getInstance().updateBirthday(mTempData.getUserId(), mTempData.getBirthday() + "");// 更新数据库
+        }
+
+        if (mUser.getCountryId() != mTempData.getCountryId()) {
+            MyApplication.getInstance().mLoginUser.setCountryId(mTempData.getCountryId());
+            UserDao.getInstance().updateCountryId(mTempData.getUserId(), mTempData.getCountryId());
+        }
+        if (mUser.getProvinceId() != mTempData.getProvinceId()) {
+            MyApplication.getInstance().mLoginUser.setProvinceId(mTempData.getProvinceId());
+            UserDao.getInstance().updateProvinceId(mTempData.getUserId(), mTempData.getProvinceId());
+        }
+        if (mUser.getCityId() != mTempData.getCityId()) {
+            MyApplication.getInstance().mLoginUser.setCityId(mTempData.getCityId());
+            UserDao.getInstance().updateCityId(mTempData.getUserId(), mTempData.getCityId());
+        }
+        if (mUser.getAreaId() != mTempData.getAreaId()) {
+            MyApplication.getInstance().mLoginUser.setAreaId(mTempData.getAreaId());
+            UserDao.getInstance().updateAreaId(mTempData.getUserId(), mTempData.getAreaId());
+        }
+        if (mCurrentFile != null && mCurrentFile.exists()) {
+            uploadAvatar(mCurrentFile);
+        } else {
+            ProgressDialogUtil.dismiss(mProgressDialog);
+            Crouton crouton = Crouton.makeText(this, "保存成功", 0xffff4444, 1000);
+            crouton.setLifecycleCallback(new LifecycleCallback() {
+                @Override
+                public void onDisplayed() {
+
+                }
+
+                @Override
+                public void onRemoved() {
+                    finish();
+                }
+            });
+            crouton.show();
+        }
+
+    }
+
+
+    private void uploadAvatar(File file) {
+        if (!file.exists()) {// 文件不存在
+            return;
+        }
+        // 显示正在上传的ProgressDialog
+        ProgressDialogUtil.show(mProgressDialog, getString(R.string.upload_avataring));
+        RequestParams params = new RequestParams();
+        final String loginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+        params.put("userId", loginUserId);
+        try {
+            params.put("file1", file);
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        }
+
+        AsyncHttpClient client = new AsyncHttpClient();
+
+        client.post(mConfig.AVATAR_UPLOAD_URL, params, new AsyncHttpResponseHandler() {
+            @Override
+            public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
+                boolean success = false;
+                if (arg0 == 200) {
+                    Result result = null;
+                    try {
+                        result = JSON.parseObject(new String(arg2), Result.class);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    if (result != null && result.getResultCode() == Result.CODE_SUCCESS) {
+                        success = true;
+                    }
+                }
+
+                ProgressDialogUtil.dismiss(mProgressDialog);
+                if (success) {
+                    Intent intent = new Intent(UPHEAD);
+                    intent.putExtra(UPHEAD, "updata");
+                    BaseInfoActivity.this.sendBroadcast(intent);
+                    AvatarHelper.getInstance().deleteAvatar(loginUserId);
+                    ToastUtil.showToast(BaseInfoActivity.this, R.string.upload_avatar_success);
+
+                } else {
+                    ToastUtil.showToast(BaseInfoActivity.this, R.string.upload_avatar_failed);
+                }
+
+                finish();
+            }
+
+            @Override
+            public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
+                ProgressDialogUtil.dismiss(mProgressDialog);
+                ToastUtil.showToast(BaseInfoActivity.this, R.string.upload_avatar_failed);
+            }
+        });
+    }
+
+    @Override
+    public void onBackPressed() {
+        doBack();
+    }
+
+
+    @Override
+    protected boolean onHomeAsUp() {
+        doBack();
+        return true;
+    }
+
+    private void doBack() {
+        if (isError) {
+            super.onBackPressed();
+            return;
+        }
+        loadPageData();
+        Log.d("raomeng",mUser.toString());
+        Log.d("raomeng",mTempData.toString());
+
+        if ((mUser != null && !mUser.equals(mTempData)) || (mCurrentFile != null && mCurrentFile.exists())) {
+            showBackDialog();
+        } else {
+            finish();
+        }
+
+    }
+    private void loadPageData() {
+        mTempData.setNickName(tv_nickname.getText().toString().trim());
+    }
+
+
+    private void showBackDialog() {
+        AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle(R.string.prompt_title).setMessage("确定保存当前内容吗?")
+                .setNegativeButton(getString(R.string.no), null).setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
+
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        if (!MyApplication.getInstance().isNetworkActive()) {
+                            ToastUtil.showToast(BaseInfoActivity.this, "网络异常,更新失败");
+                            return;
+                        }
+                        loadPageData();
+                        if (TextUtils.isEmpty(mTempData.getNickName())) {
+                            tv_nickname.requestFocus();
+                            tv_nickname.setError(StringUtils.editTextHtmlErrorTip(BaseInfoActivity.this, R.string.name_empty_error));
+                            return;
+                        }
+
+                        if (mTempData.getCityId() <= 0) {
+                            ToastUtil.showToast(mContext, R.string.live_address_empty_error);
+                            return;
+                        }
+
+                        if (mUser != null && !mUser.equals(mTempData)) {// 数据改变了,提交数据
+                            Log.d("wang", "数据改变了,提交数据");
+                            updateData();
+                        }
+                        if (mCurrentFile != null && mCurrentFile.exists()) {
+                            Log.d("wang", "uploadAvatar");
+                            uploadAvatar(mCurrentFile);
+                        }
+                    }
+                });
+        builder.create().show();
     }
 
 }

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

@@ -264,6 +264,11 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                             break;*/
                         case 4:
                             startActivity(new Intent(BusinessDetailInfoActivity.this, CustomerAddActivity.class)
+                                    .putExtra("companyname",bc_custname.getText().toString().trim())
+                                    .putExtra("companyaddress",bc_address.getText().toString().trim())
+                                    .putExtra("contact",bc_contact.getText().toString().trim())
+                                    .putExtra("position",bc_position.getText().toString().trim())
+                                    .putExtra("telephone",bt_tel.getText().toString().trim())
                             );
                             break;
                         case 5:

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

@@ -113,7 +113,7 @@ public class BusinessLessActivity extends BaseActivity implements View.OnClickLi
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.main_btn_submit, menu);
+        getMenuInflater().inflate(R.menu.main_btn_certain, menu);
         return true;
     }
 

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

@@ -794,8 +794,8 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                         ydata1[4] = root.getIntValue("salecount");
                         ydata1[3] = root.getIntValue("nichechangecount");
                         ydata1[2] = root.getIntValue("nichecount");
-                        ydata1[5] = root.getJSONArray("visit").getIntValue(0);
-                        ydata1[6] = root.getJSONArray("visit").getIntValue(1);
+                        ydata1[5] = root.getJSONArray("visit").getIntValue(1);
+                        ydata1[6] = root.getJSONArray("visit").getIntValue(0);
                         tv_chuhuo.setText("出货" + root.getFloatValue("saleamount") + "万元");
                         tv_huikuan.setText("回款" + root.getFloatValue("backamount") + "万元");
                         for (int i = 0; i < ydata1.length; i++) {

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

@@ -6,6 +6,7 @@ import android.os.Handler;
 import android.os.Message;
 import android.support.v7.widget.PopupMenu;
 import android.text.Editable;
+import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.Log;
 import android.view.Menu;
@@ -109,6 +110,9 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
     private String cu_code;
     private String cu_status;
 
+    private String mCompanyName,mCompanyAddress,mContact,mPosition,mTelephone;
+
+    public final static int RESULT_CUSTOMER_LIST = 55;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -165,7 +169,12 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
     }
 
     private void initData() {
-        getCodeByNet();
+        et_cu_sellername.setText(MyApplication.getInstance().mLoginUser.getNickName());
+        if (cu_code != null){
+            et_cu_code.setText(cu_code);
+        }else {
+            getCodeByNet();
+        }
         loadParams(FORM_TYPE);//判断预录入
     }
 
@@ -177,6 +186,18 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
             type = intent.getIntExtra("type", 0);
             cu_code = intent.getStringExtra("code");
             cu_status = intent.getStringExtra("status");
+
+            mCompanyName = intent.getStringExtra("companyname");
+            mCompanyAddress = intent.getStringExtra("companyaddress");
+            mContact = intent.getStringExtra("contact");
+            mPosition = intent.getStringExtra("position");
+            mTelephone = intent.getStringExtra("telephone");
+
+            if ("已提交".equals(cu_status)){
+                disableEdit(false);
+            }else {
+                disableEdit(true);
+            }
             if (type == 1) {
                 ll_infomal.setVisibility(View.VISIBLE);
                 getSupportActionBar().setTitle("正式客户");
@@ -189,8 +210,22 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
             } else {
                 ll_infomal.setVisibility(View.GONE);
                 getSupportActionBar().setTitle("客户预录入");
-              
-                
+            }
+
+            if (mCompanyName != null){
+                et_cu_name.setText(mCompanyName);
+            }
+            if (mCompanyAddress != null){
+                tv_cu_address.setText(mCompanyAddress);
+            }
+            if (mContact != null){
+                tv_cu_contact.setText(mContact);
+            }
+            if (mPosition != null){
+                tv_cu_degree.setText(mPosition);
+            }
+            if (mTelephone != null){
+                tv_cu_mobile.setText(mTelephone);
             }
         }
     }
@@ -202,7 +237,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         getMenuInflater().inflate(R.menu.main_btn_submit, menu);
         mMenu = menu;
         if (type == 1){
-            if (cu_code != null){
+            if (cu_code != null && !"已提交".equals(cu_status)){
                 menu.findItem(R.id.btn_save).setVisible(true);
 
             }else {
@@ -222,7 +257,9 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         switch (item.getItemId()) {
             case R.id.btn_save:
                 createStore();
-                update(UPDATE, formStore);
+                if (!TextUtils.isEmpty(formStore)){
+                    update(UPDATE, formStore);
+                }
                 break;
             case android.R.id.home:
                 onBackPressed();
@@ -385,7 +422,9 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                         tv_cu_currency.setText(jsonArray.getString("cu_currency"));
                         tv_cu_taxrate.setText(jsonArray.getString("cu_taxrate"));
                         tv_cu_nichestep.setText(jsonArray.getString("cu_nichestep"));
-                        
+
+                        et_cu_sellercode = jsonArray.getString("cu_sellercode");
+                        pa_code = jsonArray.getString("cu_paymentscode");
                         mCuId=jsonArray.getString("cu_id");
                         bt_save.setVisibility(View.GONE);
                         
@@ -434,6 +473,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                     break;
                 case codeWhat://获取编号
                     progressDialog.dismiss();
+                    Log.d("code",msg.getData().getString("result"));
                     tv_code = JSON.parseObject(msg.getData().getString("result")).getString("code");
                     et_cu_code.setText(tv_code);
                     break;
@@ -530,6 +570,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                     mMenu.findItem(R.id.btn_save).setVisible(false);
                     //bt_save.setVisibility(View.GONE);
                     disableEdit(false);
+                    setResult(RESULT_CUSTOMER_LIST);
                     break;
                 case UNCOMMIT:
                     progressDialog.dismiss();
@@ -541,6 +582,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                     mMenu.findItem(R.id.btn_save).setVisible(true);
                     //bt_save.setVisibility(View.GONE);
                     disableEdit(true);
+                    setResult(RESULT_CUSTOMER_LIST);
                     break;
             }
         }

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

@@ -83,6 +83,9 @@ public class CustomerDetailActivity extends BaseActivity {
     private StepsView mStepsView;
     @ViewInject(R.id.customer_detail_add_plan)
     private Button mAddPlanBtn;
+    @ViewInject(R.id.tv_money_kind)
+    private TextView tv_money_kind;
+
     String falg;
 
     private Context ct;
@@ -198,8 +201,7 @@ public class CustomerDetailActivity extends BaseActivity {
                         tv_modifyRecord.setText(jsonArray.getString("cu_remark"));
                         tv_feilv.setText(jsonArray.getString("cu_taxrate"));
                         tv_feiyonged.setText(jsonArray.getString("bxamount"));
-                                
-                   
+                        tv_money_kind.setText(jsonArray.getString("cu_currency"));
                     }
 
                     break;

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

@@ -86,6 +86,8 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
 
     private EmptyLayout mEmptyLayout;
     private DBManager dbManager;
+
+    private final static int FLAG_ADD_CUSTOMER = 44;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -138,12 +140,12 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
                     startActivity(new Intent(ct, CustomerDetailActivity.class).putExtra("code", viewHolder.tv_code
                             .getText().toString()).putExtra("falg",falg));
                 }else{
-                    startActivity(new Intent(ct, CustomerAddActivity.class)
+                    startActivityForResult(new Intent(ct, CustomerAddActivity.class)
                             .putExtra("type", 1)
                             .putExtra("status", viewHolder.tv_auditstatus.getText().toString()).
                                     putExtra("code", viewHolder.tv_code
-                                    .getText().toString())
-                    );
+                                            .getText().toString())
+                    ,FLAG_ADD_CUSTOMER);
                 }
               
             }
@@ -499,8 +501,7 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (data == null) return;
-        if (requestCode == 0x11 && 0x11 == resultCode) {
+        if (requestCode == 0x11 && 0x11 == resultCode && data !=null) {
             Employees entity = data.getParcelableExtra("data");
             if (entity == null || entity.getEm_code() == null) return;
             isSelected = 1;
@@ -513,6 +514,10 @@ public class CustomerListActivity extends BaseActivity implements View.OnClickLi
             AvatarHelper.getInstance().displayAvatar(String.valueOf(entity.getEm_id()), iv_head, false);
             sendHttpResquest(Constants.HTTP_SUCCESS_INIT, kind, page, isSelected, em_code);
         }
+
+        if (requestCode == FLAG_ADD_CUSTOMER && resultCode == CustomerAddActivity.RESULT_CUSTOMER_LIST){
+            initData();
+        }
     }
 
     private void loadParams(int what) {

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

@@ -1,19 +1,85 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.me;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.LinearLayout;
 
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
+import com.xzjmyk.pm.activity.view.crouton.LifecycleCallback;
 
 /**
   * @desc:更新性别
   * @author:Arison on 2016/9/27
   */
-public class UpdateSexActivity extends BaseActivity {
-
+public class UpdateSexActivity extends BaseActivity implements View.OnClickListener {
+    private LinearLayout mMaleLinearLayout,mFeMaleLinearLayout;
+    private CheckBox mMaleCheckBox,mFemaleCheckBox;
+    private String mSex;
+    private Intent intent;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_update_sex);
+        initViews();
+
+        intent = getIntent();
+        mSex = intent.getStringExtra("sex");
+        if ("男".equals(mSex)){
+            mMaleCheckBox.setChecked(true);
+            mFemaleCheckBox.setChecked(false);
+        }else if ("女".equals(mSex)){
+            mMaleCheckBox.setChecked(false);
+            mFemaleCheckBox.setChecked(true);
+        }
+
+        initEvents();
+
+    }
+
+    private void initEvents() {
+        mMaleCheckBox.setOnClickListener(this);
+        mFemaleCheckBox.setOnClickListener(this);
+    }
+
+    private void initViews() {
+        mMaleLinearLayout = (LinearLayout) findViewById(R.id.update_sex_male_ll);
+        mFeMaleLinearLayout = (LinearLayout) findViewById(R.id.update_sex_female_ll);
+        mMaleCheckBox = (CheckBox) findViewById(R.id.update_sex_male_cb);
+        mFemaleCheckBox = (CheckBox) findViewById(R.id.update_sex_female_cb);
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()){
+            case R.id.update_sex_male_cb:
+                mMaleCheckBox.setChecked(true);
+                mFemaleCheckBox.setChecked(false);
+                intent.putExtra("newsex", "男");
+                break;
+            case R.id.update_sex_female_cb:
+                mMaleCheckBox.setChecked(false);
+                mFemaleCheckBox.setChecked(true);
+                intent.putExtra("newsex", "女");
+                break;
+        }
+        setResult(22, intent);
+        Crouton crouton = Crouton.makeText(UpdateSexActivity.this, "切换成功", 0xff99cc00, 1000);
+        crouton.setLifecycleCallback(new LifecycleCallback() {
+            @Override
+            public void onDisplayed() {
+                mMaleCheckBox.setClickable(false);
+                mFemaleCheckBox.setClickable(false);
+            }
+
+            @Override
+            public void onRemoved() {
+                UpdateSexActivity.this.finish();
+            }
+        });
+        crouton.show();
     }
 }

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

@@ -1,19 +1,72 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.me;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
 
+import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
 /**
   * @desc:更新单个编辑框的值
   * @author:Arison on 2016/9/27
   */
 public class UpdateSingleTextActivity extends BaseActivity {
+    @ViewInject(R.id.update_nickname_et)
+    private EditText mNickEditText;
+    @ViewInject(R.id.update_nickname_calcel_iv)
+    private ImageView mCancelImageView;
+
+    private String mNickname;
+    private Intent intent;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_update_single_text);
+        ViewUtils.inject(this);
+
+        intent = getIntent();
+        if (intent != null){
+            mNickname = intent.getStringExtra("nickname");
+        }
+        if (mNickname != null){
+            mNickEditText.setText(mNickname);
+        }
+        mCancelImageView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mNickEditText.setText(null);
+            }
+        });
+    }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.menu_apply_subscribe,menu);
+        return super.onCreateOptionsMenu(menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()){
+            case R.id.subscribe_apply:
+                if (mNickEditText.getText().toString().trim() != null){
+                    intent.putExtra("newnickname",mNickEditText.getText().toString().trim());
+                    setResult(11, intent);
+                    finish();
+                }else {
+                    Crouton.makeText(UpdateSingleTextActivity.this,"请输入昵称", 0xffff4444,1500).show();
+                }
+                break;
+        }
+        return super.onOptionsItemSelected(item);
     }
 }

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

@@ -311,11 +311,11 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
     }
 
     private void initView() {
-        chaneTAG(false);
         mEmptyLayout = new EmptyLayout(this, listview);
         mEmptyLayout.setShowLoadingButton(false);
         mEmptyLayout.setShowEmptyButton(false);
         mEmptyLayout.setShowErrorButton(false);
+        chaneTAG(false);
         initData();
         setListener();
         selectDay = picker.getDownIndex();
@@ -530,6 +530,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
      */
     private void chaneTAG(boolean isMy) {
         if (isMy) {
+            mEmptyLayout.setEmptyMessage("多见一个客户就多一个机会哦");
             showOtherBeans = null;
             if (!my_client_log.getText().toString().trim().equals("下属工作日历")) {
                 my_client_log.setText("下属工作日历");
@@ -543,6 +544,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                 setTaskDay(meBeans);
             }
         } else {
+            mEmptyLayout.setEmptyMessage("无拜访计划");
             tag = 2;
             ok_scale.setVisibility(View.VISIBLE);
             my_client_log_tag.setBackgroundResource(R.color.darkorange);

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

@@ -4,6 +4,7 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -94,6 +95,7 @@ public class SelectListActivity extends BaseActivity {
                     break;
                 case VISIT_NICHECODES:
                     message = msg.getData().getString("result");
+                    Log.d("handlemessage:",message);
                     if (JSON.parseObject(message) != null ||
                             JSON.parseObject(message).containsKey("success") || JSON.parseObject(message).getBoolean("success")
                             && JSON.parseObject(message).containsKey("stages")) {

+ 2 - 4
WeiChat/src/main/res/layout/activity_customer_detail.xml

@@ -402,12 +402,10 @@
                         android:text="币别" />
 
                     <TextView
-
+                        android:id="@+id/tv_money_kind"
                         style="@style/TextView_VerticalCenter"
-
                         android:layout_gravity="center"
-                        android:layout_margin="10dp"
-                        android:text="人民币" />
+                        android:layout_margin="10dp" />
                 </LinearLayout>
 
                 <LinearLayout

+ 52 - 7
WeiChat/src/main/res/layout/activity_update_sex.xml

@@ -1,10 +1,55 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
-    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
-    android:paddingRight="@dimen/activity_horizontal_margin"
-    android:paddingTop="@dimen/activity_vertical_margin"
-    android:paddingBottom="@dimen/activity_vertical_margin"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
     tools:context="com.xzjmyk.pm.activity.ui.erp.activity.me.UpdateSexActivity">
 
-</RelativeLayout>
+    <LinearLayout
+        android:id="@+id/update_sex_male_ll"
+        android:layout_width="match_parent"
+        android:layout_height="60dp"
+        android:orientation="horizontal"
+        android:padding="5dp">
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:layout_gravity="center_vertical"
+            android:textSize="20sp"
+            android:layout_marginLeft="15dp"
+            android:text="男"/>
+        <CheckBox
+            android:id="@+id/update_sex_male_cb"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginRight="10dp"/>
+    </LinearLayout>
+    <View
+        style="@style/app_line_gray_1dp"/>
+    <LinearLayout
+        android:id="@+id/update_sex_female_ll"
+        android:layout_width="match_parent"
+        android:layout_height="60dp"
+        android:orientation="horizontal"
+        android:padding="5dp">
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:layout_gravity="center_vertical"
+            android:textSize="20sp"
+            android:layout_marginLeft="15dp"
+            android:text="女"/>
+        <CheckBox
+            android:id="@+id/update_sex_female_cb"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginRight="10dp"/>
+    </LinearLayout>
+    <View
+        style="@style/app_line_gray_1dp"/>
+</LinearLayout>

+ 19 - 3
WeiChat/src/main/res/layout/activity_update_single_text.xml

@@ -1,10 +1,26 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
-    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingBottom="@dimen/activity_vertical_margin"
+    android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
-    android:paddingBottom="@dimen/activity_vertical_margin"
     tools:context="com.xzjmyk.pm.activity.ui.erp.activity.me.UpdateSingleTextActivity">
 
+    <EditText
+        android:id="@+id/update_nickname_et"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:hint="请输入昵称"
+        android:textColorHint="@color/gray"/>
+    <ImageView
+        android:id="@+id/update_nickname_calcel_iv"
+        android:layout_width="18dp"
+        android:layout_height="18dp"
+        android:layout_centerVertical="true"
+        android:src="@drawable/search_clear"
+        android:layout_marginRight="8dp"
+        android:layout_alignParentRight="true"/>
 </RelativeLayout>

+ 41 - 0
WeiChat/src/main/res/layout/layout_select_head.xml

@@ -0,0 +1,41 @@
+<?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="match_parent"
+    android:orientation="vertical"
+    android:background="@color/white"
+    android:paddingTop="10dp"
+    android:paddingBottom="10dp">
+
+    <TextView
+        android:id="@+id/head_take_picture"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:gravity="center"
+        android:textColor="@color/black"
+        android:textSize="20sp"
+        android:text="拍照"/>
+    <View
+        style="@style/app_line_gray_1dp"
+        />
+    <TextView
+        android:id="@+id/head_select_photos"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:gravity="center"
+        android:textColor="@color/black"
+        android:textSize="20sp"
+        android:text="从手机相册选择"/>
+    <View
+        style="@style/app_line_gray_1dp"
+        android:layout_height="5dp"
+        />
+    <TextView
+        android:id="@+id/head_cancel"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:gravity="center"
+        android:textColor="@color/black"
+        android:textSize="20sp"
+        android:text="取消"/>
+</LinearLayout>

+ 8 - 0
WeiChat/src/main/res/menu/main_btn_certain.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+    <item
+        android:id="@+id/btn_save"
+        android:title="确定"
+        app:showAsAction="ifRoom" />
+</menu>

+ 0 - 1
WeiChat/src/main/res/menu/menu_manage_subscribe.xml

@@ -6,7 +6,6 @@
     <item
         android:id="@+id/subscribe_manage"
         android:title="订阅管理"
-        android:textSize="18sp"
         app:showAsAction="ifRoom" />
 
 </menu>

+ 1 - 1
WeiChat/src/main/res/values/styles.xml

@@ -755,7 +755,7 @@
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_gravity">center_vertical</item>
-        <item name="android:gravity">center</item>
+        <item name="android:gravity">left</item>
     </style>
 
     <style name="TextView_Basic">