Browse Source

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

Bitliker 7 years ago
parent
commit
9f598a91b6
20 changed files with 483 additions and 54 deletions
  1. 3 3
      WeiChat/version.properties
  2. 2 2
      app_core/common/src/main/java/com/core/base/activity/MvpBaseActivity.java
  3. 12 0
      app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailContract.java
  4. 76 4
      app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailNewActivity.java
  5. 101 0
      app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailPresenterImpl.java
  6. 1 1
      app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessManageHome/BusinessManageHomeActivity.java
  7. 1 1
      app_modular/appworks/src/main/java/com/uas/appworks/adapter/BusinessStageAdapter.java
  8. 2 4
      app_modular/appworks/src/main/java/com/uas/appworks/adapter/BusinessStageMenuAdapter.java
  9. 140 1
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/ContactSearchActivity.java
  10. 8 5
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/ContactsAddActivity.java
  11. 6 10
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/ContactsListActivity.java
  12. 9 5
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/adapter/ContactsLocalAdapter.java
  13. 14 4
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/ContactsListFragment.java
  14. 22 4
      app_modular/appworks/src/main/java/com/uas/appworks/datainquiry/adapter/DataInquiryFlexChildAdapter.java
  15. 12 0
      app_modular/appworks/src/main/res/drawable/shape_round_item_left.xml
  16. 30 1
      app_modular/appworks/src/main/res/layout/activity_business_detail_new.xml
  17. 11 4
      app_modular/appworks/src/main/res/layout/activity_contact_search.xml
  18. 26 0
      app_modular/appworks/src/main/res/layout/activity_contacts_add.xml
  19. 7 4
      app_modular/appworks/src/main/res/layout/fragment_item_contacts_local.xml
  20. 0 1
      app_modular/appworks/src/main/res/layout/item_contacts_me.xml

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Sun Sep 30 16:18:01 CST 2018
-debugName=804
+#Thu Oct 11 08:52:06 CST 2018
+debugName=850
 versionName=647
-debugCode=899
+debugCode=850
 versionCode=187

+ 2 - 2
app_core/common/src/main/java/com/core/base/activity/MvpBaseActivity.java

@@ -20,14 +20,14 @@ public abstract class MvpBaseActivity<P extends MvpPresenter> extends BaseActivi
         super.onCreate(savedInstanceState);
         setContentView(getLayout());
 
-        initView();
-
         mPresenter = initPresenter();
 
         if (mPresenter != null) {
             mPresenter.onMvpAttachView(this, savedInstanceState);
         }
 
+        initView();
+
         initEvent();
 
         initData();

+ 12 - 0
app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailContract.java

@@ -27,6 +27,12 @@ public class BusinessDetailContract {
 
         void requestScheduleListSuccess(JSONArray jsonArray);
 
+        void requestBusinessTypeSuccess(boolean isGra, boolean isDis);
+
+        void canBusinessReceiveSuccess();
+
+        void requestBusinessReceiveSuccess(int type);
+
         void requestFail(int flag, String failStr);
     }
 
@@ -38,5 +44,11 @@ public class BusinessDetailContract {
         void changeDoman(Context context, SelectEmUser user, String bc_code);
 
         void requestScheduleList(Context context, String bc_code, String emname);
+
+        void requestBusinessType(Context context, int bc_id, String admincode);
+
+        void canBusinessReceive(Context context);
+
+        void requestBusinessReceive(Context context, int type, String bc_code, String bc_doman, String bc_domancode);
     }
 }

+ 76 - 4
app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailNewActivity.java

@@ -2,6 +2,7 @@ package com.uas.appworks.activity.businessManage.businessDetailActivity;
 
 import android.content.Intent;
 import android.graphics.drawable.BitmapDrawable;
+import android.os.Handler;
 import android.support.design.widget.TabLayout;
 import android.support.v4.app.Fragment;
 import android.support.v4.view.ViewPager;
@@ -26,6 +27,7 @@ import com.core.model.SelectCollisionTurnBean;
 import com.core.model.SelectEmUser;
 import com.core.utils.CommonUtil;
 import com.dinuscxj.progressbar.CircleProgressBar;
+import com.uas.appworks.CRM.erp.activity.DbfindList2Activity;
 import com.uas.appworks.R;
 import com.uas.appworks.activity.SchedulerCreateActivity;
 import com.uas.appworks.activity.businessManage.businessChangeStage.BusinessChangeStageActivity;
@@ -52,18 +54,19 @@ public class BusinessDetailNewActivity extends MvpBaseActivity<BusinessDetailCon
     private static final int REQUEST_CHANGE_PRINCIPAL = 363;
     private static final int REQUEST_CHANGE_STAGE = 364;
     private static final int FILL_BUSINESS_RECORD = 365;
+    private static final int REQUEST_BUSINESS_DISTRIBUTION = 366;
 
     private RecyclerView mMainRecyclerView;
     private CircleProgressBar mCircleProgressBar;
     private ImageView mStageImageView;
     private TextView mStageContentTextView, mStageIndexTextView,
-            mAddScheduleBtn, mFollowBtn, mAddRecordBtn, mChangeStageBtn, mChangePrincipalBtn;
+            mAddScheduleBtn, mFollowBtn, mAddRecordBtn, mChangeStageBtn, mChangePrincipalBtn, mDistributionBtn, mReceiveBtn;
     private TabLayout mTabLayout;
     private TabViewpagerAdapter mTabViewpagerAdapter;
     private List<String> mTitleStrings;
     private List<Fragment> mFragments;
     private ViewPager mViewPager;
-    private LinearLayout mBottomLayout;
+    private LinearLayout mBottomLayout, mOperateLayout;
     private CommonFormDetailAdapter mCommonFormDetailAdapter;
     private List<CommonFormBean> mCommonFormBeans;
     private List<BusinessStageBean> mBusinessStageBeans;
@@ -97,12 +100,19 @@ public class BusinessDetailNewActivity extends MvpBaseActivity<BusinessDetailCon
 
         mBottomLayout = $(R.id.business_detail_new_bottom_ll);
         mStageImageView = $(R.id.business_detail_new_stage_iv);
+        mOperateLayout = $(R.id.business_detail_new_operate_ll);
+        mDistributionBtn = $(R.id.business_detail_new_distribution_tv);
+        mReceiveBtn = $(R.id.business_detail_new_receive_tv);
         if ("businessCharge".equals(mWhichPage)) {
             mBottomLayout.setVisibility(View.VISIBLE);
             mStageImageView.setVisibility(View.VISIBLE);
+            mOperateLayout.setVisibility(View.GONE);
         } else {
             mBottomLayout.setVisibility(View.GONE);
             mStageImageView.setVisibility(View.GONE);
+            if ("businessCompany".equals(mWhichPage)) {
+                mPresenter.requestBusinessType(this, mId, CommonUtil.getEmcode());
+            }
         }
         mAddScheduleBtn = $(R.id.business_detail_new_add_schedule_tv);
         mFollowBtn = $(R.id.business_detail_new_follow_tv);
@@ -182,6 +192,9 @@ public class BusinessDetailNewActivity extends MvpBaseActivity<BusinessDetailCon
         mAddRecordBtn.setOnClickListener(this);
         mChangeStageBtn.setOnClickListener(this);
         mChangePrincipalBtn.setOnClickListener(this);
+
+        mReceiveBtn.setOnClickListener(this);
+        mDistributionBtn.setOnClickListener(this);
     }
 
     @Override
@@ -266,6 +279,11 @@ public class BusinessDetailNewActivity extends MvpBaseActivity<BusinessDetailCon
                     .setReBackSelect(true);
             intent.putExtra(OAConfig.MODEL_DATA, bean);
             startActivityForResult(intent, REQUEST_CHANGE_PRINCIPAL);
+        } else if (i == R.id.business_detail_new_receive_tv) {
+            mPresenter.canBusinessReceive(this);
+        } else if (i == R.id.business_detail_new_distribution_tv) {
+            startActivityForResult(new Intent(ct, DbfindList2Activity.class)
+                    , REQUEST_BUSINESS_DISTRIBUTION);
         } else {
 
         }
@@ -273,12 +291,20 @@ public class BusinessDetailNewActivity extends MvpBaseActivity<BusinessDetailCon
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (data != null && requestCode == REQUEST_CHANGE_PRINCIPAL) {
+        if (data == null) {
+            return;
+        }
+        if (requestCode == REQUEST_CHANGE_PRINCIPAL) {
             SelectEmUser user = data.getParcelableExtra("data");
             if (user != null && !StringUtil.isEmpty(user.getEmCode())) {
                 mPresenter.changeDoman(mContext, user, mBcCode);
             }
+        } else if (requestCode == REQUEST_BUSINESS_DISTRIBUTION) {
+            String bt_doman = data.getStringExtra("en_name");
+            String en_code = data.getStringExtra("en_code");
+            mPresenter.requestBusinessReceive(this, 1, mBcCode, bt_doman, en_code);
         }
+
         super.onActivityResult(requestCode, resultCode, data);
     }
 
@@ -349,7 +375,13 @@ public class BusinessDetailNewActivity extends MvpBaseActivity<BusinessDetailCon
                     mCurrentBusinessStage = businessStageBean;
                     int stageIndex = i + 1;
                     mCircleProgressBar.setProgress(stageIndex);
-                    mStageIndexTextView.setText("第" + NumberUtils.translateNumber2Chinese(stageIndex) + "阶段");
+                    try {
+                        mStageIndexTextView.setText("第" +
+                                NumberUtils.translateNumber2Chinese(businessStageBean.getBS_DETNO()) + "阶段");
+                    } catch (Exception e) {
+                        mStageIndexTextView.setText("第" +
+                                businessStageBean.getBS_DETNO() + "阶段");
+                    }
 
                     isExist = true;
                     break;
@@ -389,6 +421,46 @@ public class BusinessDetailNewActivity extends MvpBaseActivity<BusinessDetailCon
 
     }
 
+    @Override
+    public void requestBusinessTypeSuccess(boolean isGra, boolean isDis) {
+        if (isGra) {
+            mOperateLayout.setVisibility(View.VISIBLE);
+            mReceiveBtn.setVisibility(View.VISIBLE);
+        }
+        if (isDis) {
+            mOperateLayout.setVisibility(View.VISIBLE);
+            mDistributionBtn.setVisibility(View.VISIBLE);
+        }
+    }
+
+    @Override
+    public void canBusinessReceiveSuccess() {
+        mPresenter.requestBusinessReceive(this, 0, mBcCode
+                , CommonUtil.getSharedPreferences(ct, "erp_emname"),
+                CommonUtil.getSharedPreferences(ct, "erp_username"));
+    }
+
+    @Override
+    public void requestBusinessReceiveSuccess(int type) {
+        String result = getString(R.string.qiang_business_success) + ","
+                + getString(R.string.business_notice1);
+        if (type == 0) {
+            result = getString(R.string.qiang_business_success) + ","
+                    + getString(R.string.business_notice1);
+        } else if (type == 1) {
+            result = getString(R.string.split_business_success);
+        }
+        toast(result);
+        new Handler().postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                if (!BusinessDetailNewActivity.this.isDestroyed()) {
+                    finish();
+                }
+            }
+        }, 1500);
+    }
+
     @Override
     public void requestFail(int flag, String failStr) {
 //        switch (flag) {

+ 101 - 0
app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessDetailActivity/BusinessDetailPresenterImpl.java

@@ -15,6 +15,7 @@ import com.me.network.app.base.HttpCallback;
 import com.me.network.app.base.HttpParams;
 import com.me.network.app.http.HttpRequest;
 import com.me.network.app.http.Method;
+import com.uas.appworks.R;
 import com.uas.appworks.model.bean.BusinessStageBean;
 import com.uas.appworks.model.bean.CommonFormBean;
 
@@ -31,10 +32,16 @@ import java.util.Map;
  */
 public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetailContract.BusinessDetailView>
         implements BusinessDetailContract.BusinessDetailPresenter, HttpCallback {
+    private Context mContext;
+
     public static final int REQUEST_BUSINESS_DETAIL = 744;
     public static final int REQUEST_BUSINESS_STAGE = 745;
     public static final int REQUEST_CHANGE_DOMAN = 746;
     public static final int REQUEST_SCHEDULE_LIST = 747;
+    public static final int REQUEST_BUSINESS_TYPE = 748;
+    public static final int REQUEST_CAN_RECEIVE = 749;
+    public static final int REQUEST_BUSINESS_RECEIVE = 750;
+    public static final int REQUEST_BUSINESS_DISTRIBUTION = 751;
 
     @Override
     public void onMvpAttachView(BusinessDetailContract.BusinessDetailView view, Bundle savedInstanceState) {
@@ -49,6 +56,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
 
     @Override
     public void requestMainDetail(Context context, int ID, String caller) {
+        mContext = context;
         getMvpView().showLoading("");
         HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(context),
                 new HttpParams.Builder()
@@ -65,6 +73,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
 
     @Override
     public void requestStageList(Context context) {
+        mContext = context;
         getMvpView().showLoading("");
 
         HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(context),
@@ -80,6 +89,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
 
     @Override
     public void changeDoman(Context context, SelectEmUser user, String bc_code) {
+        mContext = context;
         getMvpView().showLoading("");
 
         HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(context),
@@ -97,6 +107,7 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
 
     @Override
     public void requestScheduleList(Context context, String bc_code, String emname) {
+        mContext = context;
         getMvpView().showLoading("");
 
         HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(context),
@@ -110,6 +121,60 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
                         .build(), this);
     }
 
+    @Override
+    public void requestBusinessType(Context context, int bc_id, String admincode) {
+        mContext = context;
+        getMvpView().showLoading("");
+        HttpRequest.getInstance().sendRequest("http://192.168.253.35:8080/ERP/",
+                new HttpParams.Builder()
+                        .url("mobile/crm/businessChanceButtonShow.action")
+                        .method(Method.POST)
+                        .flag(REQUEST_BUSINESS_TYPE)
+                        .addParam("bcid", bc_id)
+                        .addParam("admincode", admincode)
+                        .addHeader("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(context, "sessionId"))
+                        .build(), this);
+    }
+
+    @Override
+    public void canBusinessReceive(Context context) {
+        mContext = context;
+        getMvpView().showLoading("");
+        HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(context),
+                new HttpParams.Builder()
+                        .url("mobile/crm/ifoverrecv.action")
+                        .method(Method.POST)
+                        .flag(REQUEST_CAN_RECEIVE)
+                        .addParam("emcode", CommonUtil.getEmcode())
+                        .addHeader("Cookie", CommonUtil.getErpCookie(context))
+                        .build(), this);
+    }
+
+    @Override
+    public void requestBusinessReceive(Context context, int type, String bc_code, String bc_doman, String bc_domancode) {
+        mContext = context;
+        getMvpView().showLoading("");
+
+        int what = REQUEST_BUSINESS_RECEIVE;
+        if (type == 0) {
+            what = REQUEST_BUSINESS_RECEIVE;
+        } else if (type == 1) {
+            what = REQUEST_BUSINESS_DISTRIBUTION;
+        }
+
+        HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(context),
+                new HttpParams.Builder()
+                        .url("mobile/crm/updateBusinessChanceDoman.action")
+                        .method(Method.POST)
+                        .flag(what)
+                        .addParam("bc_code", bc_code)
+                        .addParam("type", type)
+                        .addParam("bc_doman", bc_doman)
+                        .addParam("bc_domancode", bc_domancode)
+                        .addHeader("Cookie", CommonUtil.getErpCookie(context))
+                        .build(), this);
+    }
+
     @Override
     public void onSuccess(int flag, Object o) throws Exception {
         getMvpView().hideLoading();
@@ -142,6 +207,42 @@ public class BusinessDetailPresenterImpl extends BaseMvpPresenter<BusinessDetail
                     getMvpView().requestScheduleListSuccess(new JSONArray());
                 }
                 break;
+            case REQUEST_BUSINESS_TYPE:
+                try {
+                    String result = o.toString();
+                    LogUtil.prinlnLongMsg("raoTypeSuc", result);
+                    JSONObject resultObject = JSON.parseObject(result);
+                    boolean isGra = JSONUtil.getBoolean(resultObject, "grabBc");
+                    boolean isDistribution = JSONUtil.getBoolean(resultObject, "distribution");
+                    getMvpView().requestBusinessTypeSuccess(isGra, isDistribution);
+                } catch (Exception e) {
+                    getMvpView().requestBusinessTypeSuccess(false, false);
+                }
+                break;
+            case REQUEST_CAN_RECEIVE:
+                try {
+                    String result = o.toString();
+                    if (!JSONUtil.validate(result)) {
+                        getMvpView().requestFail(REQUEST_CAN_RECEIVE, result);
+                        return;
+                    }
+                    JSONObject resultObject = JSON.parseObject(result);
+                    String isOk = JSONUtil.getText(resultObject, "isok");
+                    if ("0".equals(isOk)) {
+                        getMvpView().canBusinessReceiveSuccess();
+                    } else if ("1".equals(isOk)) {
+                        getMvpView().requestFail(REQUEST_CAN_RECEIVE, mContext.getString(R.string.business_limit));
+                    }
+                } catch (Exception e) {
+                    getMvpView().requestFail(REQUEST_CAN_RECEIVE, "请求异常");
+                }
+                break;
+            case REQUEST_BUSINESS_RECEIVE:
+                getMvpView().requestBusinessReceiveSuccess(0);
+                break;
+            case REQUEST_BUSINESS_DISTRIBUTION:
+                getMvpView().requestBusinessReceiveSuccess(1);
+                break;
             default:
                 break;
         }

+ 1 - 1
app_modular/appworks/src/main/java/com/uas/appworks/activity/businessManage/businessManageHome/BusinessManageHomeActivity.java

@@ -276,7 +276,7 @@ public class BusinessManageHomeActivity extends MvpBaseActivity<BusinessManageHo
     @Override
     public void hideLoading() {
         if (mRefreshLayout != null && mRefreshLayout.isRefreshing()) {
-            mRefreshLayout.finishRefresh(1000);
+            mRefreshLayout.finishRefresh(0);
         }
         progressDialog.dismiss();
     }

+ 1 - 1
app_modular/appworks/src/main/java/com/uas/appworks/adapter/BusinessStageAdapter.java

@@ -24,7 +24,7 @@ public class BusinessStageAdapter extends BaseQuickAdapter<BusinessStageBean, Ba
     @Override
     protected void convert(BaseViewHolder helper, BusinessStageBean item) {
         int adapterPosition = helper.getAdapterPosition();
-        helper.setText(R.id.item_business_stage_no_tv, "阶段" + (adapterPosition + 1));
+        helper.setText(R.id.item_business_stage_no_tv, "阶段" + item.getBS_DETNO());
         helper.setText(R.id.item_business_stage_name_tv, item.getBS_NAME());
         helper.setText(R.id.item_business_stage_explore_tv, "本阶段可停留" + item.getBS_DAYS() + "天");
         String bs_point = item.getBS_POINT();

+ 2 - 4
app_modular/appworks/src/main/java/com/uas/appworks/adapter/BusinessStageMenuAdapter.java

@@ -4,7 +4,6 @@ import android.support.annotation.Nullable;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
-import com.common.data.NumberUtils;
 import com.uas.appworks.R;
 import com.uas.appworks.model.bean.BusinessStageBean;
 
@@ -23,8 +22,7 @@ public class BusinessStageMenuAdapter extends BaseQuickAdapter<BusinessStageBean
 
     @Override
     protected void convert(BaseViewHolder helper, BusinessStageBean item) {
-        int adapterPosition = helper.getAdapterPosition();
-        String position = NumberUtils.translateNumber2Chinese(adapterPosition + 1);
-        helper.setText(R.id.item_business_stage_tv, "阶段" + position);
+        int position = helper.getAdapterPosition() + 1;
+        helper.setText(R.id.item_business_stage_tv, "阶段" + item.getBS_DETNO() + ":" + item.getBS_NAME());
     }
 }

+ 140 - 1
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/ContactSearchActivity.java

@@ -1,15 +1,149 @@
 package com.uas.appworks.crm3_0.activity;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ListView;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.common.LogUtil;
+import com.common.data.StringUtil;
+import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
+import com.core.utils.CommonUtil;
+import com.me.network.app.http.HttpClient;
+import com.me.network.app.http.Method;
+import com.me.network.app.http.rx.ResultListener;
+import com.me.network.app.http.rx.ResultSubscriber;
+import com.modular.apputils.widget.MenuVoiceSearchView;
+import com.uas.appcontact.model.contacts.Contacts;
+import com.uas.appcontact.model.contacts.ContactsModel;
+import com.uas.appcontact.utils.ContactsUtils;
 import com.uas.appworks.R;
+import com.uas.appworks.crm3_0.adapter.ContactsLocalAdapter;
+import com.uas.appworks.crm3_0.fragment.ContactsListFragment;
+import com.uas.appworks.crm3_0.model.ContactsBean;
 
-public class ContactSearchActivity extends BaseActivity {
+import java.util.ArrayList;
+import java.util.List;
 
+public class ContactSearchActivity extends BaseActivity implements ContactsLocalAdapter.ResultItemsInface {
+
+    private ListView lv_contact;
+    private ListView lv_local;
+    private MenuVoiceSearchView mVoiceSearchView;
+    private ContactsLocalAdapter adapter;
+    ContactsListFragment.ItemContactsMeAdapter iAdapter;
+    private List<ContactsModel> models = new ArrayList<>();
+    List<ContactsBean> datas=new ArrayList<>();
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        
+        iAdapter=new ContactsListFragment().new ItemContactsMeAdapter(ct,datas);
+        adapter=new ContactsLocalAdapter(mContext,models);
+        
+        lv_contact=findViewById(R.id.lv_contact);
+        lv_local=findViewById(R.id.lv_local);
+        
+        
+        lv_contact.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                final ContactsListFragment.ItemContactsMeAdapter.ViewHolder viewHolder= (ContactsListFragment.ItemContactsMeAdapter.ViewHolder) view.getTag();
+                startActivity(new Intent(mContext, ContactsAddActivity.class)
+                        .putExtra("model",viewHolder.bean));
+             
+            }
+        });
+        
+        
+        
+        mVoiceSearchView = findViewById(R.id.mVoiceSearchView);
+        findViewById(R.id.backImg).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                onBackPressed();
+            }
+        });
+        findViewById(R.id.addImg).setVisibility(View.GONE);
+      
+
+
+        mVoiceSearchView.getSearch_edit().addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+                
+            }
+
+            @Override
+            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable editable) {
+                if (!StringUtil.isEmpty(editable.toString())){
+                    //我的联系人
+                    HttpClient httpClient = new HttpClient.Builder("https://mobile.ubtob.com:8443/linkman/")
+                            .isDebug(true)
+                            .build();
+                    httpClient.Api().send(new HttpClient.Builder("mobile/contactList")
+                            .add("key",editable.toString())
+                            .add("imid", MyApplication.getInstance().getLoginUserId())
+                            .method(Method.GET)
+                            .build(),new ResultSubscriber<Object>(new ResultListener<Object>() {
+
+                        @Override
+                        public void onResponse(Object o) {
+                            try {
+                                datas.clear();
+//                                datas= JSON.parseObject(JSON.parseObject(o.toString()).getJSONArray("data").toJSONString()
+//                                        ,new TypeReference<List<ContactsBean>>(){});
+                                datas.addAll(JSON.parseObject(JSON.parseObject(o.toString()).getJSONArray("data").toJSONString()
+                                        ,new TypeReference<List<ContactsBean>>(){}));
+                                lv_contact.setAdapter(iAdapter);
+                                iAdapter.notifyDataSetChanged();
+                                LogUtil.d(TAG,JSON.toJSONString(datas));
+                            }catch (Exception e){
+
+                            }
+                        }
+                    }));
+                    
+                    //本地通讯录
+                    //主要权限问题
+                    models.clear();
+                    List<Contacts> contacts = ContactsUtils.getContacts1();
+                    LogUtil.d(TAG, JSON.toJSONString(contacts));
+                    if (contacts != null) {
+                        for (Contacts entity : contacts) {
+                            ContactsModel model = new ContactsModel();
+                            model.setImid("0");
+                            model.setName(StringUtil.isEmpty(entity.getName()) ? entity.getNickname() : entity.getName());
+                            model.setType(3);
+                            model.setEmail("");
+                            model.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
+                            model.setPhone(entity.getPhone());
+                            model.setWhichsys(CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master"));
+                            model.setCompany("");
+                            if (model.getName().contains(editable.toString())||model.getPhone().equals(editable.toString())){
+                                models.add(model);
+                            }
+                        }
+                    }
+                    LogUtil.d(TAG,"models:"+ JSON.toJSONString( models));
+                    lv_local.setAdapter(adapter);
+                    adapter.notifyDataSetChanged();
+                    
+                    
+                }
+            }
+        });
     }
 
     @Override
@@ -21,4 +155,9 @@ public class ContactSearchActivity extends BaseActivity {
     public int getLayoutRes() {
         return R.layout.activity_contact_search;
     }
+
+    @Override
+    public void onResultForItems(View view, ContactsModel model, int position) {
+        
+    }
 }

+ 8 - 5
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/ContactsAddActivity.java

@@ -36,6 +36,7 @@ import com.common.ui.ImageUtil;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.utils.ToastUtil;
+import com.core.utils.helper.AvatarHelper;
 import com.core.widget.view.ListViewInScroller;
 import com.core.widget.view.SwitchView;
 import com.me.network.app.http.HttpClient;
@@ -210,7 +211,7 @@ public class ContactsAddActivity extends BaseActivity implements OnItemsButtonAd
         tvUpload.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                CardIOActivity.activityStart(ContactsAddActivity.this, 0xFF00C5DC, 70);
+                CardIOActivity.activityStart(ContactsAddActivity.this, 0xFF00C5DC, 100);
             }
         });
 
@@ -241,7 +242,8 @@ public class ContactsAddActivity extends BaseActivity implements OnItemsButtonAd
 //            getEtNotes().setKeyListener(null);
            // getEtNotes().setFocusable(false);
             getEtName().setText(model.getName());
-            
+
+            AvatarHelper.getInstance().display("https://mobile.ubtob.com:8443/linkman/"+model.getImageUrl(),iv_header,true);
             if ("1".equals(model.getSex())){
                 getEtSex().setText("女");
             }else{
@@ -553,7 +555,7 @@ public class ContactsAddActivity extends BaseActivity implements OnItemsButtonAd
             String jsonData = "{" +
                     "\"linkmanId\":" + model.getLinkmanId() + "," +
                     "\"imid\":" + MyApplication.getInstance().mLoginUser.getUserId() + "," +
-                    "\"companyName\":\"" + "深圳市优软科技有限公司" + "\"," +
+                    "\"companyName\":\"" + getEtCompany().getText().toString() + "\"," +
                     "\"name\":\"" + getEtName().getText().toString() + "\"" +
                     ",\"sex\":" + sexTag + "," +
                     "\"age\":" + getEtAge().getText().toString() + "," +
@@ -590,7 +592,7 @@ public class ContactsAddActivity extends BaseActivity implements OnItemsButtonAd
             }));
         }else{
             String jsonData = "{\"imid\":" + MyApplication.getInstance().mLoginUser.getUserId() + "," +
-                    "\"companyName\":\"" + "深圳市优软科技有限公司" + "\"," +
+                    "\"companyName\":\"" +getEtCompany().getText().toString()+ "\"," +
                     "\"name\":\"" + getEtName().getText().toString() + "\"" +
                     ",\"sex\":" + sexTag + "," +
                     "\"age\":" + getEtAge().getText().toString() + "," +
@@ -889,7 +891,8 @@ public class ContactsAddActivity extends BaseActivity implements OnItemsButtonAd
         }
     }
 
-
+    private EditText getEtCompany(){return (EditText)findViewById(R.id.et_company);} 
+    
     private EditText getEtName() {
         return (EditText) findViewById(R.id.et_name);
     }

+ 6 - 10
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/ContactsListActivity.java

@@ -41,7 +41,7 @@ public class ContactsListActivity extends BaseActivity implements  ContactsLocal
      private String[] tabTitle ;
      private TabLayout mTabLayout;
      private ViewPager mViewPager;
-     private ContactsListFragment fragmentMeList,fragmentCusList,fragmentLocal;
+     private ContactsListFragment fragmentMeList,fragmentCusList;
      private LocalContactsListFragment localContactsListFragment;
      private MenuVoiceSearchView mVoiceSearchView;
      
@@ -50,7 +50,7 @@ public class ContactsListActivity extends BaseActivity implements  ContactsLocal
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        tabTitle = new String[]{"我的联系人", "客户联系人", "通讯录"};
+        tabTitle = new String[]{"我的联系人", "通讯录"};
         initView();
     }
 
@@ -61,7 +61,7 @@ public class ContactsListActivity extends BaseActivity implements  ContactsLocal
          mTabLayout.setTabMode(TabLayout.MODE_FIXED);//设置tab模式,当前为系统默认模式
          mTabLayout.addTab(mTabLayout.newTab().setText(tabTitle[0]));//添加tab选项卡
          mTabLayout.addTab(mTabLayout.newTab().setText(tabTitle[1]));
-         mTabLayout.addTab(mTabLayout.newTab().setText(tabTitle[2]));
+//         mTabLayout.addTab(mTabLayout.newTab().setText(tabTitle[2]));
          findViewById(R.id.backImg).setOnClickListener(mOnClickListener);
          findViewById(R.id.addImg).setOnClickListener(mOnClickListener);
          ViewPageAdapter mAdapter = new ViewPageAdapter(getSupportFragmentManager());
@@ -71,6 +71,7 @@ public class ContactsListActivity extends BaseActivity implements  ContactsLocal
          mViewPager.setCurrentItem(getIntent().getIntExtra("tabItem",0));
        
          mVoiceSearchView.getSearch_edit().setKeyListener(null);
+         mVoiceSearchView.getSearch_edit().setFocusable(false);
          mVoiceSearchView.getSearch_edit().setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
@@ -114,16 +115,10 @@ public class ContactsListActivity extends BaseActivity implements  ContactsLocal
                      fragment=fragmentMeList;
                      break;
                  case 1:
-                     if (fragmentCusList==null){
-                         fragmentCusList=ContactsListFragment.newInstance(tabItem);
-                     }
-                     fragment=fragmentCusList;
-                     break;
-                 case 2:
                      if ( localContactsListFragment==null){
                          localContactsListFragment=LocalContactsListFragment.newInstance(tabItem);
                      }
-                   return localContactsListFragment;
+                     return localContactsListFragment;
                   //   break;
              }
              return fragment;
@@ -177,6 +172,7 @@ public class ContactsListActivity extends BaseActivity implements  ContactsLocal
 
                         case 0:
                            startActivity(new Intent(ContactsListActivity.this,ContactsAddActivity.class));
+                           break;
                         case 1:
                             startActivity(new Intent(mContext,
                                     ContactDynamicAddActivity.class)

+ 9 - 5
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/adapter/ContactsLocalAdapter.java

@@ -16,7 +16,7 @@ import com.common.data.StringUtil;
 import com.common.system.SystemUtil;
 import com.core.app.MyApplication;
 import com.core.utils.NotifyUtils;
-import com.core.utils.helper.AvatarHelper;
+import com.core.utils.sortlist.PingYinUtil;
 import com.uas.appcontact.model.contacts.ContactsModel;
 import com.uas.appworks.R;
 
@@ -68,7 +68,7 @@ public class ContactsLocalAdapter extends BaseAdapter {
             holder.name_tv = (TextView) convertView.findViewById(R.id.name_tv);
             holder.sub_tv = (TextView) convertView.findViewById(R.id.sub_tv);
             holder.status_tv = (ImageView) convertView.findViewById(R.id.status_tv);
-            holder.head_img = (ImageView) convertView.findViewById(R.id.head_img);
+            holder.head_img =  convertView.findViewById(R.id.head_img);
             holder.tag_view = convertView.findViewById(R.id.tag_view);
             convertView.setTag(holder);
         }else{
@@ -80,7 +80,11 @@ public class ContactsLocalAdapter extends BaseAdapter {
         holder.targetId=  model.getImid();
         holder.model=model;
         ///设定为每次刷新都会去删除缓存重新获取数据
-        AvatarHelper.getInstance().display(model.getImid() + "", holder.head_img, true, false);
+        //AvatarHelper.getInstance().display(model.getImid() + "", holder.head_img, true, false);
+        
+        String pName= PingYinUtil.getPingYin(model.getName());
+        holder.head_img.setText(pName.substring(0,1));
+        
         holder.name_tv.setText(model.getName());
         holder.sub_tv.setText(model.getPhone());
         holder.status_tv.setOnClickListener(new View.OnClickListener() {
@@ -108,11 +112,11 @@ public class ContactsLocalAdapter extends BaseAdapter {
     }
 
     public class ViewHolder {
-        public     TextView
+        public  TextView
                 name_tv,
                 sub_tv;
         public ImageView status_tv;
-        public ImageView head_img;
+        public TextView head_img;
         public View tag_view;
         public String targetId;
         public ContactsModel model;

+ 14 - 4
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/ContactsListFragment.java

@@ -1,5 +1,6 @@
 package com.uas.appworks.crm3_0.fragment;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -334,7 +335,12 @@ public class ContactsListFragment extends ViewPagerLazyFragment implements OnSma
                      Pattern regex = Pattern.compile(check);
                      Matcher matcher = regex.matcher(phone);
                      if (matcher.matches()) {
-                         SystemUtil.phoneAction(getActivity(), phone);
+                         if (context instanceof Activity){
+                             SystemUtil.phoneAction(context, phone);
+                         }else{
+                             SystemUtil.phoneAction(getActivity(), phone);
+                         }
+                        
                      } else {
                          NotifyUtils.ToastMessage(getActivity(),getString(R.string.not_format_phone));
                      }
@@ -351,7 +357,11 @@ public class ContactsListFragment extends ViewPagerLazyFragment implements OnSma
                      Pattern regex = Pattern.compile(check);
                      Matcher matcher = regex.matcher(phone);
                      if (matcher.matches()) {
-                         SystemUtil.phoneAction(getActivity(), phone);
+                         if (context instanceof Activity){
+                             SystemUtil.phoneAction(context, phone);
+                         }else{
+                             SystemUtil.phoneAction(getActivity(), phone);
+                         }
                      } else {
                          NotifyUtils.ToastMessage(getActivity(),getString(R.string.not_format_phone));
                      }
@@ -362,13 +372,13 @@ public class ContactsListFragment extends ViewPagerLazyFragment implements OnSma
          });
         }
 
-        protected class ViewHolder {
+        public class ViewHolder {
             private TextView tvName;
             private TextView tvPosition;
             private TextView tvCompanyName;
             private TextView tvPhone;
             private ImageView ivIcon;
-            private ContactsBean bean;
+            public ContactsBean bean;
 
             public ViewHolder(View view) {
                 tvName = (TextView) view.findViewById(R.id.tv_name);

+ 22 - 4
app_modular/appworks/src/main/java/com/uas/appworks/datainquiry/adapter/DataInquiryFlexChildAdapter.java

@@ -45,7 +45,7 @@ public class DataInquiryFlexChildAdapter extends BaseAdapter {
     public long getItemId(int position) {
         return position;
     }
-    
+
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
         if (convertView == null) {
@@ -65,15 +65,33 @@ public class DataInquiryFlexChildAdapter extends BaseAdapter {
         if (object.getRowChildBeans().size() == 1) {
             holder.itemDataInquiryChildLl2.setVisibility(View.GONE);
 
-            holder.itemDataInquiryChildCaptionTv1.setText(object.getRowChildBeans().get(0).getCaption() + ":");
+            String caption = object.getRowChildBeans().get(0).getCaption();
+            if ("设备编号".equals(caption)) {
+                holder.itemDataInquiryChildValueTv1.setTextColor(context.getResources().getColor(R.color.md_material_blue_600));
+            } else {
+                holder.itemDataInquiryChildValueTv1.setTextColor(context.getResources().getColor(R.color.data_inquiry_value_textcolor));
+            }
+            holder.itemDataInquiryChildCaptionTv1.setText(caption + ":");
             holder.itemDataInquiryChildValueTv1.setText(object.getRowChildBeans().get(0).getValue());
         } else if (object.getRowChildBeans().size() == 2) {
             holder.itemDataInquiryChildLl2.setVisibility(View.VISIBLE);
 
-            holder.itemDataInquiryChildCaptionTv1.setText(object.getRowChildBeans().get(0).getCaption() + ":");
+            String caption0 = object.getRowChildBeans().get(0).getCaption();
+            if ("设备编号".equals(caption0)) {
+                holder.itemDataInquiryChildValueTv1.setTextColor(context.getResources().getColor(R.color.md_material_blue_600));
+            } else {
+                holder.itemDataInquiryChildValueTv1.setTextColor(context.getResources().getColor(R.color.data_inquiry_value_textcolor));
+            }
+            holder.itemDataInquiryChildCaptionTv1.setText(caption0 + ":");
             holder.itemDataInquiryChildValueTv1.setText(object.getRowChildBeans().get(0).getValue());
 
-            holder.itemDataInquiryChildCaptionTv2.setText(object.getRowChildBeans().get(1).getCaption() + ":");
+            String caption1 = object.getRowChildBeans().get(1).getCaption();
+            if ("设备编号".equals(caption1)) {
+                holder.itemDataInquiryChildValueTv2.setTextColor(context.getResources().getColor(R.color.md_material_blue_600));
+            } else {
+                holder.itemDataInquiryChildValueTv2.setTextColor(context.getResources().getColor(R.color.data_inquiry_value_textcolor));
+            }
+            holder.itemDataInquiryChildCaptionTv2.setText(caption1 + ":");
             holder.itemDataInquiryChildValueTv2.setText(object.getRowChildBeans().get(1).getValue());
         }
     }

+ 12 - 0
app_modular/appworks/src/main/res/drawable/shape_round_item_left.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
+    <corners
+        android:topLeftRadius="100dp"
+        android:topRightRadius="100dp"
+        android:bottomRightRadius="100dp"
+        android:bottomLeftRadius="100dp">
+    </corners>
+    <solid
+        android:color="#00A4EF">
+    </solid>
+</shape>

+ 30 - 1
app_modular/appworks/src/main/res/layout/activity_business_detail_new.xml

@@ -101,7 +101,7 @@
                                 android:layout_width="20dp"
                                 android:layout_height="10dp"
                                 android:src="@drawable/ic_business_eye"
-                                android:visibility="gone"/>
+                                android:visibility="gone" />
                         </LinearLayout>
 
                         <TextView
@@ -166,4 +166,33 @@
             android:text="商 机 跟 进"
             />
     </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/business_detail_new_operate_ll"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:padding="15dp"
+        android:visibility="gone">
+
+        <TextView
+            android:id="@+id/business_detail_new_distribution_tv"
+            style="@style/business_follow_btn"
+            android:layout_weight="1"
+            android:width="0dp"
+            android:text="分 配"
+            android:visibility="gone"
+            />
+
+
+        <TextView
+            android:id="@+id/business_detail_new_receive_tv"
+            style="@style/business_follow_btn"
+            android:layout_marginLeft="40dp"
+            android:layout_weight="1"
+            android:width="0dp"
+            android:text="领 取"
+            android:visibility="gone"
+            />
+    </LinearLayout>
 </LinearLayout>

+ 11 - 4
app_modular/appworks/src/main/res/layout/activity_contact_search.xml

@@ -11,29 +11,36 @@
         android:layout_height="?attr/actionBarSize"
         layout="@layout/action_device_cycle_count"/>
     <TextView
+        android:layout_marginTop="@dimen/dp_10"
         android:id="@+id/tv_contact_header"
         android:layout_below="@+id/cycleCountToolBar"
         android:layout_width="match_parent"
         android:layout_height="30dp" 
+        android:textSize="@dimen/sp_16"
+        android:background="@color/white"
         android:gravity="center_vertical"
         android:paddingLeft="10dp"
         android:text="我的联系人"/>
-    
+    <View style="@style/app_line_horizontal_05p"></View>
     <ListView
         android:id="@+id/lv_contact"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:dividerHeight="0.5dp"
+        android:divider="@color/item_line">
     </ListView>
 
     <TextView
+        android:layout_marginTop="@dimen/dp_10"
         android:id="@+id/tv_local_header"
         android:layout_below="@+id/lv_contact"
         android:layout_width="match_parent"
         android:layout_height="30dp"
+        android:textSize="@dimen/sp_16"
+        android:background="@color/white"
         android:gravity="center_vertical"
         android:paddingLeft="10dp"
-        android:text="我的联系人"/>
-    
+        android:text="通讯录"/>
     <ListView
         android:id="@+id/lv_local"
         android:layout_width="match_parent"

+ 26 - 0
app_modular/appworks/src/main/res/layout/activity_contacts_add.xml

@@ -163,7 +163,33 @@
                       android:gravity="right|center_vertical"
                       android:hint="@string/common_input2" />
               </RelativeLayout>
+              <RelativeLayout
+                  android:layout_marginTop="1dp"
+                  android:background="@color/white"
+                  android:layout_height="40dp"
+                  style="@style/form_relative_customer">
+
+                  <TextView
+                      android:id="@+id/tv_company"
+                      android:layout_width="wrap_content"
+                      android:layout_height="wrap_content"
+                      android:layout_centerVertical="true"
+                      android:layout_marginLeft="10dp"
+                      android:text="公司" />
 
+                  <EditText
+                      android:id="@+id/et_company"
+                      style="@style/form_relative_right_text"
+                      android:layout_marginLeft="10dp"
+                      android:textSize="14sp"
+                      android:layout_marginTop="3dp"
+                      android:layout_marginBottom="3dp"
+                      android:layout_toRightOf="@+id/tv_company"
+                      android:background="@null"
+                      android:gravity="right|center_vertical"
+                      android:hint="@string/common_input2" />
+              </RelativeLayout>
+              
               <RelativeLayout
                   android:layout_marginTop="1dp"
                   android:background="@color/white"

+ 7 - 4
app_modular/appworks/src/main/res/layout/fragment_item_contacts_local.xml

@@ -17,14 +17,17 @@
         android:padding="10dp">
         
 
-        <ImageView
+        <TextView
             android:id="@+id/head_img"
             android:layout_width="40dp"
             android:layout_height="40dp"
             android:layout_marginRight="8dp"
-            android:layout_toRightOf="@+id/cb"
-            android:padding="5dp"
-            android:src="@drawable/default_ptr_flip" />
+            android:background="@drawable/shape_round_item_left"
+            android:text="C"
+            android:gravity="center"
+            android:textSize="27sp"
+            android:textColor="@color/white"
+            android:layout_toRightOf="@+id/cb" />
 
         <TextView
             android:id="@+id/name_tv"

+ 0 - 1
app_modular/appworks/src/main/res/layout/item_contacts_me.xml

@@ -4,7 +4,6 @@
     android:layout_height="70dp"
     android:background="@color/white"
     android:padding="10dp">
-
    <TextView
     android:id="@+id/tv_name"
     android:text="张三"