Browse Source

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

# Conflicts:
#	WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/WorksFragment.java
Bitliker 9 years ago
parent
commit
bee80264ac
43 changed files with 1069 additions and 303 deletions
  1. 8 8
      WeiChat/build.gradle
  2. 9 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/BaseActivity.java
  3. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/LeaveActivity.java
  4. 6 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/NewsTwoActivity.java
  5. 9 7
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/NoticesActivity.java
  6. 0 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/TravelActivity.java
  7. 35 7
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessActivity.java
  8. 7 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailActivty.java
  9. 35 36
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
  10. 37 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java
  11. 16 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerDetailActivity.java
  12. 107 113
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/HListViewAdapter.java
  13. 112 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/HListViewOneAdapter.java
  14. 17 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/HttpUtil.java
  15. 2 19
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java
  16. 18 25
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/Constants.java
  17. 0 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/view/ListViewInScroller.java
  18. 13 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/util/DisplayUtil.java
  19. 0 10
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/FunnelView.java
  20. 160 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/shadow/ShadowLayout.java
  21. 140 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/steps/StepsView.java
  22. 184 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/steps/StepsViewIndicator.java
  23. BIN
      WeiChat/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_base_v4_0_0.so
  24. BIN
      WeiChat/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_cloud_v4_0_0.so
  25. BIN
      WeiChat/src/main/jniLibs/arm64-v8a/liblocSDK6a.so
  26. 2 1
      WeiChat/src/main/res/layout/act_notice_list.xml
  27. 1 3
      WeiChat/src/main/res/layout/activity_business.xml
  28. 28 0
      WeiChat/src/main/res/layout/activity_business_detail_info.xml
  29. 0 1
      WeiChat/src/main/res/layout/activity_business_qiang_activty.xml
  30. 14 2
      WeiChat/src/main/res/layout/activity_client.xml
  31. 6 0
      WeiChat/src/main/res/layout/activity_customer_detail.xml
  32. 1 6
      WeiChat/src/main/res/layout/activity_main.xml
  33. 22 32
      WeiChat/src/main/res/layout/inculde_grid_view.xml
  34. 2 0
      WeiChat/src/main/res/layout/item_business_detail.xml
  35. 11 0
      WeiChat/src/main/res/layout/item_grid_list.xml
  36. 9 0
      WeiChat/src/main/res/layout/item_grid_tv.xml
  37. 1 0
      WeiChat/src/main/res/layout/item_pop_list.xml
  38. 3 3
      WeiChat/src/main/res/layout/layout_main_tab_radio_group.xml
  39. 12 2
      WeiChat/src/main/res/layout/pop_crm_list.xml
  40. 21 0
      WeiChat/src/main/res/layout/widget_steps_view.xml
  41. 12 0
      WeiChat/src/main/res/values/attrs.xml
  42. 5 3
      WeiChat/src/main/res/values/colors.xml
  43. 3 2
      WeiChat/src/main/res/values/dimens.xml

+ 8 - 8
WeiChat/build.gradle

@@ -3,12 +3,12 @@ apply plugin: 'com.getkeepsafe.dexcount'
 
 android {
     signingConfigs {
-        config {
-            keyPassword '13237658359'
-            storeFile file('D:/config/applicationsignname[20150409]')
-            storePassword '13237658359'
-            keyAlias 'jie-20150409'
-        }
+//        config {
+//            keyPassword '13237658359'
+//            storeFile file('D:/config/applicationsignname[20150409]')
+//            storePassword '13237658359'
+//            keyAlias 'jie-20150409'
+//        }
     }
     compileSdkVersion 22
     buildToolsVersion "22.0.1"
@@ -31,9 +31,9 @@ android {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
         }
-        debug {
+        /*debug {
             signingConfig signingConfigs.config
-        }
+        }*/
     }
 }
 

+ 9 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/BaseActivity.java

@@ -1,5 +1,7 @@
 package com.xzjmyk.pm.activity.ui.base;
 
+import android.app.Activity;
+import android.content.Context;
 import android.content.pm.ActivityInfo;
 import android.os.Bundle;
 
@@ -8,6 +10,7 @@ import com.android.volley.RetryPolicy;
 import com.umeng.analytics.MobclickAgent;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 import com.xzjmyk.pm.activity.util.Constants;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.volley.FastVolley;
@@ -21,6 +24,9 @@ public abstract class BaseActivity extends ActionBackActivity {
 
     private FastVolley mFastVolley;
     private String HASHCODE;
+    public CustomProgressDialog progressDialog;
+    public Context ct;
+    public Activity activity;
 
     public BaseActivity() {
         super();
@@ -42,9 +48,12 @@ public abstract class BaseActivity extends ActionBackActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        ct=this;
+        activity=this;
         setNotTouchEvent(true);
         mFastVolley = MyApplication.getInstance().getFastVolley();
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
+        progressDialog= CustomProgressDialog.createDialog(this);
     }
 
     public void setTouch(boolean b) {

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

@@ -640,7 +640,7 @@ public class LeaveActivity extends BaseActivity implements OnClickListener {
         params.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, params, handler, headers, SUCCESS_SAVE, null, null, "get");
+        ViewUtil.httpSendRequest(ct, url, params, handler, headers, SUCCESS_SAVE, null, null, "post");
     }
 
     private LeaveEntity getSaveJsonData() {

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

@@ -115,6 +115,8 @@ public class NewsTwoActivity extends BaseActivity {
     }
 
     public void initData() {
+        mlist.setVisibility(View.GONE);
+        progress_bar.setVisibility(View.VISIBLE);
         String url = Constants.getAppBaseUrl(ct) + "common/desktop/news/getNews.action";
         final Map<String, Object> param = new HashMap<>();
         param.put("count", 1000);
@@ -132,11 +134,14 @@ public class NewsTwoActivity extends BaseActivity {
                     if (adapter == null) {
                         adapter = new CardItemAdapter(ct, newsEntity);
                         mlist.getRefreshableView().setAdapter(adapter);
+                        mlist.setVisibility(View.VISIBLE);
                         progress_bar.setVisibility(View.GONE);
                     } else {
                         adapter.notifyDataSetChanged();
                     }
-
+                    if(adapter.getCount()==0){
+                        mEmptyLayout.showEmpty();
+                    }
                     Log.i(TAG, result);
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:

+ 9 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/NoticesActivity.java

@@ -62,6 +62,7 @@ public class NoticesActivity extends BaseActivity {
     public void initView() {
         TAG = "NoticesActivity";
         ct = this;
+
         getSupportActionBar().setTitle("通知");
         mEmptyLayout = new EmptyLayout(this, mlist.getRefreshableView());
         mEmptyLayout.setShowEmptyButton(false);
@@ -119,7 +120,9 @@ public class NoticesActivity extends BaseActivity {
 
 
     public void initData() {
-        String url = Constants.getAppBaseUrl(ct) + "common/desktop/note/notice.action";
+        mlist.setVisibility(View.GONE);
+        progress_bar.setVisibility(View.VISIBLE);
+        String url =null;
         final Map<String, Object> param = new HashMap<>();
         param.put("count", "1000");
         param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
@@ -164,12 +167,15 @@ public class NoticesActivity extends BaseActivity {
 //                        newsEntity.setData(fiterdata);
                         adapter = new CardItemAdapter(ct, newsEntity);
                         mlist.getRefreshableView().setAdapter(adapter);
+                        mlist.setVisibility(View.VISIBLE);
                         progress_bar.setVisibility(View.GONE);
-                        TextView text;
+
                     } else {
-                        adapter.setDatas(newsEntity);
                         adapter.notifyDataSetChanged();
                     }
+                    if(adapter.getCount()==0){
+                        mEmptyLayout.showEmpty();
+                    }
                     Log.i(TAG, result);
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
@@ -197,10 +203,6 @@ public class NoticesActivity extends BaseActivity {
             this.inflater = LayoutInflater.from(ct);
         }
 
-        public void setDatas(NoticeEntity list) {
-            newsEntities = list;
-        }
-
         @Override
         public int getCount() {
             return newsEntities == null ? 0 : newsEntities.getData().size();

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

@@ -652,8 +652,6 @@ public class TravelActivity extends BaseActivity implements OnClickListener {
 		params.put("caller", "FeePlease!CCSQ");
 		params.put("sessionId",
 				CommonUtil.getSharedPreferences(ct, "sessionId"));
-
-
 		LinkedHashMap<String , Object> headers=new LinkedHashMap<>();
 		headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
 		ViewUtil.httpSendRequest(ct, url, params, handler, headers, SUCCESS_DELETE, null, null, "get");

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

@@ -4,6 +4,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.BitmapDrawable;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -23,6 +24,8 @@ import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.adapter.HListViewAdapter;
+import com.xzjmyk.pm.activity.ui.erp.adapter.HListViewOneAdapter;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.ListViewInScroller;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.view.FunnelView;
@@ -34,7 +37,7 @@ import java.util.Map;
 
 public class BusinessActivity extends BaseActivity implements View.OnClickListener {
 
-
+    private static final String TAG = "BusinessActivity";
     @ViewInject(R.id.bt_qiang)
     private Button bt_qiang;
     @ViewInject(R.id.bt_create)
@@ -43,16 +46,38 @@ public class BusinessActivity extends BaseActivity implements View.OnClickListen
     private Button bt_manage;
     @ViewInject(R.id.bt_go)
     private Button bt_go;
-
     @ViewInject(R.id.funnelview)
     private FunnelView funnelView;
     @ViewInject(R.id.layout)
     private HorizontalScrollView layout;
     @ViewInject(R.id.lv_grid_dispaly)
     private ListViewInScroller lv_grid_dispaly;
-    private HListViewAdapter hl_adapter;
+    private HListViewOneAdapter hl_adapter;
     private ArrayList<ArrayList<String>> gridlists = new ArrayList<ArrayList<String>>();
-    private String gridData = "[[\"颜色\",\"序号\",\"商机阶段\",\"商机数量\",\"商机转化率\"],[\"1\",\"胜芳\",\"152,002\",\"1223\",\"22\"],[\"2\",\"B2B平台\",\"8,775\",\"22\",\"323\"],[\"3\",\"峰闵\",\"2,000\",\"232\",\"43242\"],[\"4\",\"扬宇\",\"11\",\"12312\",\"232\"]]";
+/*    private String gridData = "[" +
+            "[\"颜色\",\"序号\",\"商机阶段\",\"商机数量\",\"商机转化率\",\"账套\",\"公司\",\"客户名称\"],\n" +
+            "[\"#FF0000\",\"1\",\"152,002\",\"1223\",\"22\",\"UAS\",\"深圳优软科技\",\"xxxxx\"],\n" +
+            "[\"#00CCFF\",\"2\",\"8,775\",\"22\",\"323\",\"UAS\",\"深圳优软科技\",\"xxxxx\"],\n" +
+            "[\"#FFFF00\",\"3\",\"2,000\",\"232\",\"43242\",\"UAS\",\"深圳优软科技\",\"xxxxx\"],\n" +
+            "[\"#00FF00\",\"4\",\"11\",\"12312\",\"232433432\",\"UAS\",\"深圳优软技\",\"xxxxx\"],\n" +
+            "[\"#FF00FF\",\"5\",\"11\",\"12312\",\"232433432\",\"UAS\",\"深圳优软技\",\"xxxxx\"],\n" +
+            "[\"#FF9900\",\"6\",\"11\",\"12312\",\"232433432\",\"UAS\",\"深圳优软技\",\"xxxxx\"],\n" +
+            "[\"#993366\",\"7\",\"11\",\"12312\",\"232433432\",\"UAS\",\"深圳优软技\",\"xxxxx\"],\n" +
+            "[\"#C0C0C0\",\"8\",\"11\",\"12312\",\"232433432\",\"UAS\",\"深圳优软技\",\"xxxxx\"],\n" +
+            "[\"#FFCC99\",\"9\",\"11\",\"12312\",\"232433432\",\"UAS\",\"深圳优软技\",\"xxxxx\"]\n" +
+            "]"*/;
+    private String gridData ="  [\n" +
+            "[\"颜色\",\"序号\",\"商机阶段\",\"商机数量\",\"商机转化率\"],\n" +
+            "[\"#FF0000\",\"1\",\"152,002\",\"1223\",\"22\"],\n" +
+            "[\"#00CCFF\",\"2\",\"8,775\",\"22\",\"323\"],\n" +
+            "[\"#FFFF00\",\"3\",\"2,000\",\"232\",\"43242\"],\n" +
+            "[\"#00FF00\",\"4\",\"11\",\"12312\",\"232433432\"],\n" +
+            "[\"#FF00FF\",\"5\",\"11\",\"12312\",\"232433432\"],\n" +
+            "[\"#FF9900\",\"6\",\"11\",\"12312\",\"232433432\"],\n" +
+            "[\"#993366\",\"7\",\"11\",\"12312\",\"232433432\"],\n" +
+            "[\"#C0C0C0\",\"8\",\"11\",\"12312\",\"232433432\"],\n" +
+            "[\"#FFCC99\",\"9\",\"11\",\"12312\",\"232433432\"]\n" +
+            "]";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -66,19 +91,18 @@ public class BusinessActivity extends BaseActivity implements View.OnClickListen
     public void initView() {
         getSupportActionBar().setTitle("商机");
         ViewUtils.inject(this);
-
-
     }
 
     private void initListener() {
         bt_qiang.setOnClickListener(this);
         bt_manage.setOnClickListener(this);
         bt_go.setOnClickListener(this);
+        bt_create.setOnClickListener(this);
     }
 
     public void initData() {
         gridlists = (ArrayList) JSON.parseArray(gridData, ArrayList.class);
-        hl_adapter = new HListViewAdapter(this, gridlists);
+        hl_adapter = new HListViewOneAdapter(this, gridlists);
         lv_grid_dispaly.setAdapter(hl_adapter);
         layout.setVisibility(View.VISIBLE);
 
@@ -125,6 +149,7 @@ public class BusinessActivity extends BaseActivity implements View.OnClickListen
             case android.R.id.home:
                 onBackPressed();
                 break;
+
         }
         return true;
     }
@@ -132,6 +157,9 @@ public class BusinessActivity extends BaseActivity implements View.OnClickListen
     @Override
     public void onClick(View v) {
         switch (v.getId()) {
+            case R.id.bt_create:
+                startActivity(new Intent(this, BusinessAddActivity.class));
+                break;
             case R.id.bt_qiang:
                 startActivity(new Intent(this, BusinessDetailActivty.class).putExtra("bt_type", 1));
                 break;

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

@@ -67,7 +67,9 @@ public class BusinessDetailActivty extends BaseActivity {
         mlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                startActivity(new Intent(BusinessDetailActivty.this, BusinessDetailInfoActivity.class));
+                final BussinessDetailAdapter.ViewHolder holder = (BussinessDetailAdapter.ViewHolder) view.getTag();
+                startActivity(new Intent(BusinessDetailActivty.this, BusinessDetailInfoActivity.class)
+                        .putExtra("type", holder.type));
             }
         });
     }
@@ -150,6 +152,7 @@ public class BusinessDetailActivty extends BaseActivity {
             } else {
                 holder = (ViewHolder) convertView.getTag();
             }
+            holder.type = mdata.get(position).getType();
             holder.tv_num.setText(mdata.get(position).getNum());
             holder.tv_name.setText(mdata.get(position).getName());
             holder.tv_date.setText(mdata.get(position).getDate());
@@ -171,11 +174,9 @@ public class BusinessDetailActivty extends BaseActivity {
                 @Override
                 public void onClick(View v) {
                     if (mdata.get(position).getType() == 1) {
-//                        holder.bt_event.setVisibility(View.VISIBLE);
-//                        holder.bt_event.setText("抢");
+                        startActivity(new Intent(BusinessDetailActivty.this, BusinessDetailInfoActivity.class));
                     } else if (mdata.get(position).getType() == 2) {
-//                        holder.bt_event.setVisibility(View.VISIBLE);
-//                        holder.bt_event.setText("分配");
+                        startActivity(new Intent(BusinessDetailActivty.this, BusinessDetailInfoActivity.class));
                     }
                 }
             });
@@ -193,6 +194,7 @@ public class BusinessDetailActivty extends BaseActivity {
             TextView tv_datetv;
             TextView tv_date;
             Button bt_event;
+            int type;
         }
     }
 }

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

@@ -14,6 +14,7 @@ import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.widget.AdapterView;
 import android.widget.Button;
+import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.PopupWindow;
 import android.widget.SimpleAdapter;
@@ -27,6 +28,7 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
+import com.xzjmyk.pm.activity.view.steps.StepsView;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -45,6 +47,13 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
     private Button bt_manage_date;
     @ViewInject(R.id.bt_manage_go)
     private Button bt_manage_go;
+    @ViewInject(R.id.crm_ll_followup)
+    private LinearLayout crm_ll_followup;
+
+    @ViewInject(R.id.crm_ll_qiang)
+    private LinearLayout crm_ll_qiang;
+    @ViewInject(R.id.crm_ll_manage)
+    private LinearLayout crm_ll_manage;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -55,10 +64,35 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         initListener();
     }
 
+    private int type = 0;
 
     private void initView() {
         ViewUtils.inject(this);
         getSupportActionBar().setTitle("商机详情");
+        Intent intent = getIntent();
+        if (intent != null) {
+            type = intent.getIntExtra("type", 0);
+        }
+        switch (type) {
+            case 0:
+                //跟进
+                crm_ll_followup.setVisibility(View.VISIBLE);
+                crm_ll_qiang.setVisibility(View.GONE);
+                crm_ll_manage.setVisibility(View.GONE);
+                break;
+            case 1:
+                //抢
+                crm_ll_followup.setVisibility(View.GONE);
+                crm_ll_qiang.setVisibility(View.VISIBLE);
+                crm_ll_manage.setVisibility(View.GONE);
+                break;
+            case 2:
+                //分配
+                crm_ll_followup.setVisibility(View.GONE);
+                crm_ll_qiang.setVisibility(View.GONE);
+                crm_ll_manage.setVisibility(View.VISIBLE);
+                break;
+        }
     }
 
     private void initListener() {
@@ -75,43 +109,8 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         switch (v.getId()) {
             case R.id.bt_manage_go:
                 showPopupWindow(v.findViewById(R.id.bt_manage_go));
-             /*   new MaterialDialog.Builder(this)
-                        .items(R.array.crm_dialog_followup)
-                        .itemsGravity(GravityEnum.CENTER)
-                        .dividerColorRes(R.color.yellow_home)
-                        .backgroundColorRes(R.color.gray)
-                        .itemColorRes(R.color.yellow_home)
-                        .itemsCallback(new MaterialDialog.ListCallback() {
-                            @Override
-                            public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
-//                                showToast(which + ": " + text);
-                                switch (which) {
-                                    case 0:
-                                        ViewUtil.ToastMessage(BusinessDetailInfoActivity.this, text.toString());
-                                        break;
-                                    case 1:
-                                        startActivity(new Intent(BusinessDetailInfoActivity.this, BusinessLessActivity.class).putExtra("type", 1));
-                                        break;
-                                    case 2:
-                                        startActivity(new Intent(BusinessDetailInfoActivity.this, BusinessLessActivity.class).putExtra("type", 2));
-                                        break;
-                                    case 3:
-                                        startActivity(new Intent(BusinessDetailInfoActivity.this, BusinessTransferActivity.class));
-                                        break;
-                                    case 4:
-                                        ViewUtil.ToastMessage(BusinessDetailInfoActivity.this, text.toString());
-                                        break;
-                                    case 5:
-                                        startActivity(new Intent(BusinessDetailInfoActivity.this, BusinessSelectCustomerActivity.class));
-                                        break;
-                                }
-                            }
-                        })
-                        .show().getListView().setDivider(getResources().getDrawable(R.color.yellow_home));
-*/
                 break;
             case R.id.bt_manage_date:
-
                 break;
         }
     }
@@ -158,7 +157,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                 }
             });
 
-            popupWindow = new PopupWindow(view, parent.getWidth(), ViewUtil.setListViewHeightBasedOnChildren1(plist));
+            popupWindow = new PopupWindow(view, parent.getWidth(), ViewUtil.setListViewHeightBasedOnChildren1(plist)+DisplayUtil.dip2px(this,10));
         }
         // 使其聚集
         popupWindow.setFocusable(true);

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

@@ -6,6 +6,8 @@ import android.graphics.Color;
 import android.graphics.Typeface;
 import android.graphics.drawable.BitmapDrawable;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -37,11 +39,15 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.DetailTaskActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.crm.BusinessActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.crm.CustomerListActivity;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.view.MyMarkerView;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -93,6 +99,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
     }
 
     private void initData() {
+        sendHttpResquest();
         setData(5, 50);
     }
 
@@ -235,8 +242,36 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         }
     }
 
-    private PopupWindow popupWindow = null;
 
+
+
+    private Handler mHandler=new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what){
+                case Constants.HTTP_SUCCESS_INIT:
+                    progressDialog.dismiss();
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    progressDialog.dismiss();
+                    break;
+            }
+        }
+    };
+    //url,param,get,header,handler,
+    private void sendHttpResquest(){
+        progressDialog.setMessage("初始化数据...");
+        progressDialog.show();
+        String url= Constants.getAppBaseUrl(ct)+"";
+        Map<String,Object> params=new HashMap<>();
+        params.put("", "");
+        LinkedHashMap<String , Object> headers=new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, Constants.HTTP_SUCCESS_INIT, null, null, "get");
+    }
+
+    //需要抽取的代码
+    private PopupWindow popupWindow = null;
     public void showPopupWindow(View parent) {
         View view = null;
         WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
@@ -281,7 +316,7 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                 DisplayUtil.backgroundAlpha(ClientActivity.this, 1f);
             }
         });
-        DisplayUtil.backgroundAlpha(this, 0.5f);
+        DisplayUtil.backgroundAlpha(this, 1f);
         // 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景
         popupWindow.setBackgroundDrawable(new BitmapDrawable());
         popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
@@ -307,12 +342,9 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
         map = new HashMap<String, Object>();
         map.put("item_name", "新增任务");
         list.add(map);
-
         map = new HashMap<String, Object>();
         map.put("item_name", "新增分享");
         list.add(map);
-
-
         return list;
     }
 }

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

@@ -1,13 +1,16 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.crm;
 
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuItem;
 
 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.steps.StepsView;
 
 /**
  * @功能:客户详情
@@ -16,7 +19,11 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
  * @return:
  */
 public class CustomerDetailActivity extends BaseActivity {
-
+    @ViewInject(R.id.stepsView)
+    private StepsView mStepsView;
+    private Context ct;
+    private final String[] labels = {"Step 1", "Step 2", "Step 3", "Step 4", "Step 5"
+            ,"进度6" ,"进度7" ,"进度8" ,"进度9" };
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -28,6 +35,7 @@ public class CustomerDetailActivity extends BaseActivity {
 
     private void initView() {
         ViewUtils.inject(this);
+        ct=this;
         getSupportActionBar().setTitle("客户详情");
     }
 
@@ -36,7 +44,13 @@ public class CustomerDetailActivity extends BaseActivity {
     }
 
     private void initData() {
-
+        mStepsView.setCompletedPosition(5 % labels.length)
+                .setLabels(labels)
+                .setBarColorIndicator(
+                       ct.getResources().getColor(R.color.material_blue_grey_800))
+                .setProgressColorIndicator(ct.getResources().getColor(R.color.orange))
+                .setLabelColorIndicator(ct.getResources().getColor(R.color.orange))
+                .drawView();
     }
 
     @Override

+ 107 - 113
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/HListViewAdapter.java

@@ -21,117 +21,111 @@ import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 @SuppressLint("NewApi")
 public class HListViewAdapter extends BaseAdapter {
 
-	private Context ct;
-	private LayoutInflater inflater;
-	private ArrayList<ArrayList<String>> lists;
-	
-	public HListViewAdapter(Context context, ArrayList<ArrayList<String>> lists) {
-		super();
-		this.lists = lists;
-		this.ct=context;
-		inflater = LayoutInflater.from(context);
-	}
-
-	@Override
-	public int getCount() {
-		return lists!=null?lists.size():0;
-	}
-
-	@Override
-	public Object getItem(int arg0) {
-		return arg0;
-	}
-
-	@Override
-	public long getItemId(int arg0) {
-		return arg0;
-	}
-
-	@SuppressWarnings("deprecation")
-	@Override
-	public View getView(int index, View view, ViewGroup arg2) {
-		ArrayList<String> list = lists.get(index);
-		TextView [] views=new TextView[list.size()];
-		if(view == null){
-			view = inflater.inflate(R.layout.list_item_empty, null);
-			LinearLayout topview =(LinearLayout) view.findViewById(R.id.ly_top_view);
-			//根部布局
-			LinearLayout ly_grid = new LinearLayout(ct);
-			LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(
-					LayoutParams.MATCH_PARENT,
-					LayoutParams.MATCH_PARENT);
-			ly_grid.setLayoutParams(lp);
-			ly_grid.setOrientation(LinearLayout.HORIZONTAL);
-			//水平线条
-			View horizontal=new View(ct);
-			ViewGroup.LayoutParams hp = new ViewGroup.LayoutParams( 
-	                ViewGroup.LayoutParams.MATCH_PARENT, 
-	                CommonUtil.dip2px(ct, 1));
-			horizontal.setLayoutParams(hp);
-			horizontal.setBackground(ct.getResources().getDrawable(R.drawable.filemanagermenubg_w));
-			
-			/**@注释:创建textview  */
-			for (int i = 0; i < list.size(); i++) {
-				//垂直线条
-				View vertical=new View(ct);
-				ViewGroup.LayoutParams vp = new ViewGroup.LayoutParams(CommonUtil.dip2px(ct, 1),
-						ViewGroup.LayoutParams.MATCH_PARENT);
-				vertical.setLayoutParams(vp);
-				vertical.setBackground(ct.getResources().getDrawable(R.drawable.domo_toolbar_bg));
-				
-				TextView tView=new TextView(ct);
-				LinearLayout.LayoutParams tp=new LinearLayout.LayoutParams(
-						LayoutParams.WRAP_CONTENT,
-						LayoutParams.MATCH_PARENT);
-				if (i==0) {
-					tView.setWidth(CommonUtil.dip2px(ct, 55));
-
-				}else{
-					tView.setWidth(CommonUtil.dip2px(ct, 70));
-				}
-				tView.setMaxLines(8);
-				//tView.setLines(1);
-				//tView.setBackgroundColor(ct.getResources().getColor(R.color.red));
-				tView.setLayoutParams(tp);
-				tView.setGravity(Gravity.CENTER);
-			
-				tView.setPadding(CommonUtil.dip2px(ct, 10),CommonUtil.dip2px(ct, 10),
-						CommonUtil.dip2px(ct, 10), CommonUtil.dip2px(ct, 10));
-				
-				tView.setTextColor(ct.getResources().getColor(R.color.black));
-				tView.setTextSize(CommonUtil.dip2px(ct, 8));
-				views[i]=tView;
-				
-				//ly_grid.setGravity(Gravity.CENTER);
-				ly_grid.addView(vertical);
-				ly_grid.addView(tView);
-			}
-			
-			topview.addView(ly_grid);
-			topview.addView(horizontal);
-			
-			view.setTag(views);
-		}else{
-			views=(TextView[]) view.getTag();
-		}
-		view.setBackgroundColor(Color.WHITE);
-		
-		for (int i = 0; i < views.length; i++) {
-		   
-			views[i].setText(list.get(i));
-			views[i].setTextColor(ct.getResources().getColor(R.color.black));
-		}
-		
-		if(index == 0){
-			//view.setBackgroundResource(R.color.head_bg);
-		}else{
-			if(index%2 != 0){
-				view.setBackgroundColor(Color.argb(250 ,  255 ,  255 ,  255 )); 
-			}else{
-				view.setBackgroundColor(Color.argb(250 ,  224 ,  243 ,  250 ));    
-			}
-		}
-		
-		return view;
-	}
+    private Context ct;
+    private LayoutInflater inflater;
+    private ArrayList<ArrayList<String>> lists;
+
+    public HListViewAdapter(Context context, ArrayList<ArrayList<String>> lists) {
+        super();
+        this.lists = lists;
+        this.ct = context;
+        inflater = LayoutInflater.from(context);
+    }
+
+    @Override
+    public int getCount() {
+        return lists != null ? lists.size() : 0;
+    }
+
+    @Override
+    public Object getItem(int arg0) {
+        return lists.get(arg0);
+    }
+
+    @Override
+    public long getItemId(int arg0) {
+        return arg0;
+    }
+
+    @SuppressWarnings("deprecation")
+    @Override
+    public View getView(int index, View view, ViewGroup arg2) {
+        ArrayList<String> list = lists.get(index);
+        TextView[] views = new TextView[list.size()];
+        
+        if (view == null) {
+            view = inflater.inflate(R.layout.list_item_empty, null);
+
+            LinearLayout topview = (LinearLayout) view.findViewById(R.id.ly_top_view); //根部布局
+            LinearLayout ly_grid = new LinearLayout(ct);
+            LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
+                    LayoutParams.MATCH_PARENT,
+                    LayoutParams.MATCH_PARENT);
+            ly_grid.setLayoutParams(lp);
+            ly_grid.setOrientation(LinearLayout.HORIZONTAL);
+            //水平线条
+            View horizontal = new View(ct);
+            ViewGroup.LayoutParams hp = new ViewGroup.LayoutParams(
+                    ViewGroup.LayoutParams.MATCH_PARENT,
+                    CommonUtil.dip2px(ct, 1));
+            horizontal.setLayoutParams(hp);
+            horizontal.setBackground(ct.getResources().getDrawable(R.color.light_gray));
+
+            /**@注释:创建textview  */
+            for (int i = 0; i < list.size(); i++) {
+                //垂直线条
+                View vertical = new View(ct);
+                ViewGroup.LayoutParams vp = new ViewGroup.LayoutParams(CommonUtil.dip2px(ct, 1),
+                        ViewGroup.LayoutParams.MATCH_PARENT);
+                vertical.setLayoutParams(vp);
+                vertical.setBackground(ct.getResources().getDrawable(R.color.light_gray));
+
+                TextView tView = new TextView(ct);
+                LinearLayout.LayoutParams tp = new LinearLayout.LayoutParams(
+                        LayoutParams.WRAP_CONTENT,
+                        LayoutParams.MATCH_PARENT);
+                if (i == 0) {
+                    tView.setWidth(CommonUtil.dip2px(ct, 55));
+                } else {
+                    tView.setWidth(CommonUtil.dip2px(ct, 70));
+                }
+                tView.setMaxLines(8);
+                //tView.setLines(1);
+                //tView.setBackgroundColor(ct.getResources().getColor(R.color.red));
+                tView.setLayoutParams(tp);
+                tView.setGravity(Gravity.CENTER);
+                tView.setPadding(CommonUtil.dip2px(ct, 10), CommonUtil.dip2px(ct, 10),
+                        CommonUtil.dip2px(ct, 10), CommonUtil.dip2px(ct, 10));
+                tView.setTextColor(ct.getResources().getColor(R.color.black));
+                tView.setTextSize(12);
+                views[i] = tView;
+                //ly_grid.setGravity(Gravity.CENTER);
+                ly_grid.addView(vertical);
+                ly_grid.addView(tView);
+            }
+
+            topview.addView(ly_grid);
+            topview.addView(horizontal);
+
+            view.setTag(views);
+        } else {
+            views = (TextView[]) view.getTag();
+        }
+        view.setBackgroundColor(Color.WHITE);
+        for (int i = 0; i < views.length; i++) {
+            views[i].setText(list.get(i));
+            views[i].setTextColor(ct.getResources().getColor(R.color.black));
+        }
+
+        if (index == 0) {
+            //view.setBackgroundResource(R.color.head_bg);
+        } else {
+            if (index % 2 != 0) {
+                view.setBackgroundColor(Color.argb(250, 255, 255, 255));
+            } else {
+                view.setBackgroundColor(Color.argb(250, 224, 243, 250));
+            }
+        }
+        return view;
+    }
 }

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

@@ -0,0 +1,112 @@
+package com.xzjmyk.pm.activity.ui.erp.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.graphics.Color;
+import android.util.TypedValue;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout.LayoutParams;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.util.DisplayUtil;
+
+import java.util.ArrayList;
+
+@SuppressLint("NewApi")
+public class HListViewOneAdapter extends BaseAdapter {
+    private Context ct;
+    private LayoutInflater inflater;
+    private ArrayList<ArrayList<String>> lists;
+
+    public HListViewOneAdapter(Context context, ArrayList<ArrayList<String>> lists) {
+        super();
+        this.lists = lists;
+        this.ct = context;
+        this.inflater = LayoutInflater.from(context);
+    }
+
+    @Override
+    public int getCount() {
+        return lists != null ? lists.size() : 0;
+    }
+
+    @Override
+    public Object getItem(int arg0) {
+        return lists.get(arg0);
+    }
+
+    @Override
+    public long getItemId(int arg0) {
+        return arg0;
+    }
+
+    @Override
+    public View getView(int index, View view, ViewGroup arg2) {
+        ArrayList<String> items=lists.get(index);
+        ViewHolder holder=null;
+        if (view == null) {
+            holder = new ViewHolder();
+            view = inflater.inflate(R.layout.item_grid_tv, null);
+            holder.ll_root= (LinearLayout) view.findViewById(R.id.ll_root);
+            holder.tv_item=new TextView[items.size()];
+            for (int j=0;j<items.size();j++){
+                TextView tv= CreateTextView(ct);
+                holder.tv_item[j]=tv;
+                holder.ll_root.addView(tv);
+            }
+            view.setTag(holder);
+        } else {
+            holder = (ViewHolder) view.getTag();
+        }
+        for (int i=0;i<holder.tv_item.length;i++){
+            if (!StringUtils.isEmpty(items.get(i))) {
+                holder.tv_item[i].setText(items.get(i));
+                if (i!=0) {
+
+                   // holder.tv_item[i].setMinWidth(CommonUtil.dip2px(ct, 50));
+                }else{
+                    if (index!=0){
+                        holder.tv_item[i].setText("▇");
+                        holder.tv_item[i].setTextColor(Color.parseColor(items.get(i)));
+                      //  holder.tv_item[i].setMinWidth(CommonUtil.dip2px(ct, 105));
+                    }else{
+                        holder.tv_item[i].setTextColor(ct.getResources().getColor(R.color.black));
+                      //  holder.tv_item[i].setBackgroundColor(ct.getResources().getColor(R.color.yellow_home));
+                    }
+                }
+            }
+        }
+        return view;
+    }
+
+    class ViewHolder {
+        TextView[] tv_item;
+        LinearLayout ll_root;
+    }
+
+    public TextView CreateTextView(Context ct){
+        TextView tView=new TextView(ct);
+        LinearLayout.LayoutParams tp = new LinearLayout.LayoutParams(CommonUtil.dip2px(ct, 72), LayoutParams.MATCH_PARENT);
+       // tView.setMaxLines(8);
+        //tView.setWidth(CommonUtil.dip2px(ct, 45));
+       // tView.setMaxWidth(CommonUtil.dip2px(ct, 90));
+        tView.setMinHeight(CommonUtil.dip2px(ct, 40));
+       // tView.setPadding(CommonUtil.dip2px(ct, 0),CommonUtil.dip2px(ct, 0),CommonUtil.dip2px(ct, 10),CommonUtil.dip2px(ct, 0));
+        //tp.setMargins(CommonUtil.dip2px(ct, 2), CommonUtil.dip2px(ct, 0), CommonUtil.dip2px(ct, 10), CommonUtil.dip2px(ct, 0));
+        tView.setLayoutParams(tp);
+        tView.setGravity(Gravity.CENTER);
+        tView.setBackground(ct.getResources().getDrawable(R.drawable.shape_btn_nomargin));
+        tView.setTextColor(ct.getResources().getColor(R.color.black));
+        //DisplayUtil.sp2px(ct,6f)
+        tView.setTextSize(TypedValue.COMPLEX_UNIT_SP,10);
+        return tView;
+    }
+}

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

@@ -14,6 +14,7 @@ import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.DefaultHttpClient;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.params.CoreProtocolPNames;
+import org.apache.http.protocol.HTTP;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -27,6 +28,7 @@ import java.net.ProtocolException;
 import java.net.SocketException;
 import java.net.SocketTimeoutException;
 import java.net.URL;
+import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -66,7 +68,11 @@ public class HttpUtil {
                 for (Map.Entry<String, Object> entry : entrys) {
                     buf.append(entry.getKey())
                             .append("=")
-                            .append(URLEncoder.encode(entry.getValue().toString(), "UTF-8"))
+                            .append(
+                                    URLEncoder.encode(
+                                            entry.getValue().toString()
+                                            , "UTF-8")
+                            )
                             .append("&");
                 }
             }
@@ -77,13 +83,15 @@ public class HttpUtil {
             } else
                 buf.deleteCharAt(buf.length() - 1);
             HttpGet httpGet = new HttpGet(buf.toString());
+//            httpGet.setHeader(key, headers.get(key).toString());
+            httpGet.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
             if (headers != null) {
                 for (String key : headers.keySet()) {
                     System.out.println("add header:" + key + " value:" + headers.get(key).toString());
                     httpGet.setHeader(key, headers.get(key).toString());
                 }
             }
-            httpClient.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");
+          //  httpClient.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");
             response = httpClient.execute(httpGet);
             return Response.getResponse(response);
         } finally {
@@ -114,17 +122,21 @@ public class HttpUtil {
             if (params != null && !params.isEmpty()) {
                 Set<Entry<String, Object>> entrys = params.entrySet();
                 for (Map.Entry<String, Object> entry : entrys) {
-                    nvps.add(new BasicNameValuePair(entry.getKey(), URLEncoder
-                            .encode(entry.getValue().toString(), "utf-8")));
+                    nvps.add(new BasicNameValuePair(entry.getKey(),
+                            URLDecoder.decode(
+                                    entry.getValue().toString()
+                                    , "utf-8")
+                    ));
                 }
             }
-            httpPost.setEntity(new UrlEncodedFormEntity(nvps));
+            httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
             if (headers != null) {
                 for (String key : headers.keySet()) {
                     System.out.println("add header:" + key + " value:" + headers.get(key).toString());
                     httpPost.setHeader(key, headers.get(key).toString());
                 }
             }
+            httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
             response = httpClient.execute(httpPost);
             return Response.getResponse(response);
         } finally {

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

@@ -143,23 +143,6 @@ public class ViewUtil {
                 .show();
     }
 
-/*	public static void ShowBasicNoTitle(Context ct) {
-        new MaterialDialog.Builder(ct).title(""
-				+ "信息提示").content("您还未登录,请登录!")
-				.positiveText("确定").negativeText("取消").autoDismiss(false)
-				.callback(new ButtonCallback() {
-					@Override
-					public void onPositive(MaterialDialog dialog) {
-						ShowLoginDialog(dialog.getContext());
-						dialog.dismiss();
-					}
-
-					@Override
-					public void onNegative(MaterialDialog dialog) {
-						dialog.dismiss();
-					}
-				}).show();
-	}*/
 
     public static void ShowMessageTitle(Context ct, String msg) {
         final MaterialDialog messageDialog = new MaterialDialog.Builder(ct).title("系統提示").content(msg)
@@ -531,7 +514,7 @@ public class ViewUtil {
             for (int i = 0; i < logMsg.size(); i++) {
                 LoginEntity map = logMsg.get(i);
                 if (map.getPlatform().equals("ERP")) {
-                    erpEntities.add(map);//ERP账户累加到数组
+                    erpEntities.add(map);
                 } else if (map.getPlatform().equals("B2B")) {
                     b2b_uu = map.getAccount();
                     erp_phone = phone;
@@ -721,7 +704,7 @@ public class ViewUtil {
                 response = HttpUtil.sendGetRequest(url, params, headers, false);
             }
             if (method.equals("post")) {
-                response = HttpUtil.sendGetRequest(url, params, headers, false);
+                response = HttpUtil.sendPostRequest(url, params, headers, false);
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 18 - 25
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/Constants.java

@@ -9,27 +9,9 @@ import android.net.NetworkInfo;
  */
 public class Constants {
 
-    /**
-     * @注释:非IM类接口
-     */
-    //登录管理平台
-    public static final String
-            BASE_URL_LOGIN = "http://manage.ubtob.com/public/account";
-    /**
-     * @注释:B2B平台
-     */
-    public static final String basicURL = "http://www.ubtob.com/";
-    public static final String serviceURL =
-            "http://www.ubtob.com/j_spring_security_check";
-
-    public final static int LOAD_SUCCESS = 1;
-    public final static int SocketTimeoutException=0;//ERP登录成功
-    public final static int SUCCESS_LOGIN=3;//获取用户开通的平台信息
-    public final static int SUCCESS_B2B=4;//B2B登录成功
-    public final static int SUCCESS_ERP=5;//ERP登录成功
-    public final static int SUCCESS_INITDATA =7;
-    public final static int APP_SOCKETIMEOUTEXCEPTION=99;//网络请求超时,错误,404响应
-
+    public static final String BASE_URL_LOGIN = "http://manage.ubtob.com/public/account";
+    //public static final String basicURL = "http://www.ubtob.com/";
+    public static final String serviceURL = "http://www.ubtob.com/j_spring_security_check";
 
     //组织架构 员工信息
     public static final String SQL_EMPLOYEES_CREATETABLE = "CREATE TABLE EMPLOYEES "
@@ -85,7 +67,6 @@ public class Constants {
 
     /**
      * 检测网络是否可用
-     *
      * @return
      */
     public static boolean isNetworkConnected(Context ct) {
@@ -94,7 +75,6 @@ public class Constants {
         NetworkInfo ni = cm.getActiveNetworkInfo();
         return ni != null && ni.isConnectedOrConnecting();
     }
-
     /**
      * @desc:获取erp的根路径
      * @author:Administrator on 2016/2/18 15:12
@@ -103,11 +83,24 @@ public class Constants {
         String baseUrl = CommonUtil.getSharedPreferences(ct, "erp_baseurl");
         return baseUrl;
     }
-    
     /**
      * @desc:常量
      * @author:Administrator on 2016/5/13 10:21
      */
     public final static int TYPE_CHAT_MANAGE=2;
     public final static int TYPE_CHAT_All=1;
-}
+
+   /**
+     * @desc:http 请求状态码
+     * @author:Arison on 2016/7/18
+     */
+    public static final int HTTP_SUCCESS_INIT = 1;
+    public final static int APP_SOCKETIMEOUTEXCEPTION=99;//网络请求超时,错误,404响应
+
+    public final static int LOAD_SUCCESS = 1;
+    public final static int SocketTimeoutException=0;//ERP登录成功
+    public final static int SUCCESS_LOGIN=3;//获取用户开通的平台信息
+    public final static int SUCCESS_B2B=4;//B2B登录成功
+    public final static int SUCCESS_ERP=5;//ERP登录成功
+    public final static int SUCCESS_INITDATA =7;
+}

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

@@ -15,12 +15,10 @@ public class ListViewInScroller extends ListView {
 		super(context, attrs, defStyleAttr);
 	}
 
-
 	public ListViewInScroller(Context context, AttributeSet attrs) {
 		super(context, attrs);
 	}
 
-
 	/**注释:解决只显示一行的问题 */
 	@Override
 	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

+ 13 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/DisplayUtil.java

@@ -40,6 +40,19 @@ public class DisplayUtil {
 		return (int) (pxValue / fontScale + 0.5f);
 	}
 
+	/**
+	 * 将sp值转换为px值,保证文字大小不变
+	 *
+	 * @param spValue
+	 * @param fontScale
+	 *            (DisplayMetrics类中属性scaledDensity)
+	 * @return
+	 */
+	public static int sp2px(Context context, float spValue) {
+		final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
+		return (int) (spValue * fontScale + 0.5f);
+	}
+
 	/**
 	 * 设置添加屏幕的背景透明度
 	 *

+ 0 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/FunnelView.java

@@ -119,11 +119,8 @@ public class FunnelView extends View implements ValueAnimator.AnimatorUpdateList
     public void setData(List<Integer> moneys, int maxMoney) {
         this.mMoneys = moneys;
         this.maxMoney = maxMoney;
-
         calculate();
-
         //int averageHeight = (int) (mTotalHeight / 5);
-
         invalidate();
     }
 
@@ -496,31 +493,24 @@ public class FunnelView extends View implements ValueAnimator.AnimatorUpdateList
         super.onDraw(canvas);
         draw1(canvas);
         // drawText1(canvas);
-
-
         draw2(canvas);
         // drawText2(canvas);
 
         draw3(canvas);
         // drawLine3(canvas);
         //  drawText3(canvas);
-
         draw4(canvas);
         //  drawLine4(canvas);
         //  drawText4(canvas);
-
         draw5(canvas);
         //  drawLine5(canvas);
         //  drawText5(canvas);
-
-
         draw6(canvas);
         draw7(canvas);
         draw8(canvas);
         draw9(canvas);
         drawText9(canvas);
         //  draw10(canvas);
-
     }
 
     public void animateY() {

+ 160 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/shadow/ShadowLayout.java

@@ -0,0 +1,160 @@
+package com.xzjmyk.pm.activity.view.shadow;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.*;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Build;
+import android.util.AttributeSet;
+import android.widget.FrameLayout;
+
+import com.xzjmyk.pm.activity.R;
+
+
+public class ShadowLayout extends FrameLayout {
+
+    private int mShadowColor;
+    private float mShadowRadius;
+    private float mCornerRadius;
+    private float mDx;
+    private float mDy;
+
+    private boolean mInvalidateShadowOnSizeChanged = true;
+    private boolean mForceInvalidateShadow = false;
+
+    public ShadowLayout(Context context) {
+        super(context);
+        initView(context, null);
+    }
+
+    public ShadowLayout(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initView(context, attrs);
+    }
+
+    public ShadowLayout(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initView(context, attrs);
+    }
+
+    @Override
+    protected int getSuggestedMinimumWidth() {
+        return 0;
+    }
+
+    @Override
+    protected int getSuggestedMinimumHeight() {
+        return 0;
+    }
+
+    @Override
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+        if(w > 0 && h > 0 && (getBackground() == null || mInvalidateShadowOnSizeChanged || mForceInvalidateShadow)) {
+            mForceInvalidateShadow = false;
+            setBackgroundCompat(w, h);
+        }
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+        super.onLayout(changed, left, top, right, bottom);
+        if (mForceInvalidateShadow) {
+            mForceInvalidateShadow = false;
+            setBackgroundCompat(right - left, bottom - top);
+        }
+    }
+
+    public void setInvalidateShadowOnSizeChanged(boolean invalidateShadowOnSizeChanged) {
+        mInvalidateShadowOnSizeChanged = invalidateShadowOnSizeChanged;
+    }
+
+    public void invalidateShadow() {
+        mForceInvalidateShadow = true;
+        requestLayout();
+        invalidate();
+    }
+
+    private void initView(Context context, AttributeSet attrs) {
+        initAttributes(context, attrs);
+
+        int xPadding = (int) (mShadowRadius + Math.abs(mDx));
+        int yPadding = (int) (mShadowRadius + Math.abs(mDy));
+        setPadding(xPadding, yPadding, xPadding, yPadding);
+    }
+
+    @SuppressWarnings("deprecation")
+    private void setBackgroundCompat(int w, int h) {
+        Bitmap bitmap = createShadowBitmap(w, h, mCornerRadius, mShadowRadius, mDx, mDy, mShadowColor, Color.TRANSPARENT);
+        BitmapDrawable drawable = new BitmapDrawable(getResources(), bitmap);
+        if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN) {
+            setBackgroundDrawable(drawable);
+        } else {
+            setBackground(drawable);
+        }
+    }
+
+
+    private void initAttributes(Context context, AttributeSet attrs) {
+        TypedArray attr = getTypedArray(context, attrs, R.styleable.ShadowLayout);
+        if (attr == null) {
+            return;
+        }
+
+        try {
+            mCornerRadius = attr.getDimension( R.styleable.ShadowLayout_sl_cornerRadius, getResources().getDimension(R.dimen.default_corner_radius));
+            mShadowRadius = attr.getDimension(R.styleable.ShadowLayout_sl_shadowRadius, getResources().getDimension(R.dimen.default_shadow_radius));
+            mDx = attr.getDimension(R.styleable.ShadowLayout_sl_dx, 0);
+            mDy = attr.getDimension(R.styleable.ShadowLayout_sl_dy, 0);
+            mShadowColor = attr.getColor(R.styleable.ShadowLayout_sl_shadowColor, getResources().getColor(R.color.default_shadow_color));
+        } finally {
+            attr.recycle();
+        }
+    }
+
+    private TypedArray getTypedArray(Context context, AttributeSet attributeSet, int[] attr) {
+        return context.obtainStyledAttributes(attributeSet, attr, 0, 0);
+    }
+
+    private Bitmap createShadowBitmap(int shadowWidth, int shadowHeight, float cornerRadius, float shadowRadius,
+                                      float dx, float dy, int shadowColor, int fillColor) {
+
+        Bitmap output = Bitmap.createBitmap(shadowWidth, shadowHeight, Bitmap.Config.ALPHA_8);
+        Canvas canvas = new Canvas(output);
+
+        RectF shadowRect = new RectF(
+                shadowRadius,
+                shadowRadius,
+                shadowWidth - shadowRadius,
+                shadowHeight - shadowRadius);
+
+        if (dy > 0) {
+            shadowRect.top += dy;
+            shadowRect.bottom -= dy;
+        } else if (dy < 0) {
+            shadowRect.top += Math.abs(dy);
+            shadowRect.bottom -= Math.abs(dy);
+        }
+
+        if (dx > 0) {
+            shadowRect.left += dx;
+            shadowRect.right -= dx;
+        } else if (dx < 0) {
+            shadowRect.left += Math.abs(dx);
+            shadowRect.right -= Math.abs(dx);
+        }
+
+        Paint shadowPaint = new Paint();
+        shadowPaint.setAntiAlias(true);
+        shadowPaint.setColor(fillColor);
+        shadowPaint.setStyle(Paint.Style.FILL);
+
+        if (!isInEditMode()) {
+            shadowPaint.setShadowLayer(shadowRadius, dx, dy, shadowColor);
+        }
+
+        canvas.drawRoundRect(shadowRect, cornerRadius, cornerRadius, shadowPaint);
+
+        return output;
+    }
+
+}

+ 140 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/steps/StepsView.java

@@ -0,0 +1,140 @@
+package com.xzjmyk.pm.activity.view.steps;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.Typeface;
+import android.util.AttributeSet;
+import android.util.TypedValue;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+
+import java.util.List;
+
+
+public class StepsView extends LinearLayout implements StepsViewIndicator.OnDrawListener {
+
+    private StepsViewIndicator mStepsViewIndicator;
+    private FrameLayout mLabelsLayout;
+    private String[] mLabels;
+    private int mProgressColorIndicator = Color.YELLOW;
+    private int mLabelColorIndicator = Color.BLACK;
+    private int mBarColorIndicator = Color.BLACK;
+    private int mCompletedPosition = 0;
+
+    public StepsView(Context context) {
+        this(context, null);
+    }
+
+    public StepsView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+
+    public StepsView(Context context, AttributeSet attrs,
+            int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    private void init() {
+        View rootView = LayoutInflater.from(getContext()).inflate(R.layout.widget_steps_view, this);
+        mStepsViewIndicator = (StepsViewIndicator) rootView.findViewById(R.id.steps_indicator_view);
+        mStepsViewIndicator.setDrawListener(this);
+        mLabelsLayout = (FrameLayout) rootView.findViewById(R.id.labels_container);
+    }
+
+    public String[] getLabels() {
+        return mLabels;
+    }
+
+    public StepsView setLabels(String[] labels) {
+        mLabels = labels;
+        mStepsViewIndicator.setStepSize(labels.length);
+        return this;
+    }
+
+    public int getProgressColorIndicator() {
+        return mProgressColorIndicator;
+    }
+
+    public StepsView setProgressColorIndicator(int progressColorIndicator) {
+        mProgressColorIndicator = progressColorIndicator;
+        mStepsViewIndicator.setProgressColor(mProgressColorIndicator);
+        return this;
+    }
+
+    public int getLabelColorIndicator() {
+        return mLabelColorIndicator;
+    }
+
+    public StepsView setLabelColorIndicator(int labelColorIndicator) {
+        mLabelColorIndicator = labelColorIndicator;
+        return this;
+    }
+
+    public int getBarColorIndicator() {
+        return mBarColorIndicator;
+    }
+
+    public StepsView setBarColorIndicator(int barColorIndicator) {
+        mBarColorIndicator = barColorIndicator;
+        mStepsViewIndicator.setBarColor(mBarColorIndicator);
+        return this;
+    }
+
+    public int getCompletedPosition() {
+        return mCompletedPosition;
+    }
+
+    public StepsView setCompletedPosition(int completedPosition) {
+        mCompletedPosition = completedPosition;
+        mStepsViewIndicator.setCompletedPosition(mCompletedPosition);
+        return this;
+    }
+
+    public void drawView() {
+        if (mLabels == null) {
+            throw new IllegalArgumentException("labels must not be null.");
+        }
+
+        if (mCompletedPosition < 0 || mCompletedPosition > mLabels.length - 1) {
+            throw new IndexOutOfBoundsException(String.format("Index : %s, Size : %s", mCompletedPosition, mLabels.length));
+        }
+
+        mStepsViewIndicator.invalidate();
+    }
+
+    @Override
+    public void onReady() {
+        drawLabels();
+    }
+
+    private void drawLabels() {
+        List<Float> indicatorPosition = mStepsViewIndicator.getThumbContainerXPosition();
+
+        if (mLabels != null) {
+            for (int i = 0; i < mLabels.length; i++) {
+                TextView textView = new TextView(getContext());
+                textView.setText(mLabels[i]);
+                textView.setTextColor(mLabelColorIndicator);
+                textView.setX(indicatorPosition.get(i));
+                textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10);
+                textView.setLayoutParams(
+                        new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
+                                ViewGroup.LayoutParams.WRAP_CONTENT));
+
+                if (i <= mCompletedPosition) {
+                    textView.setTypeface(null, Typeface.BOLD);
+                }
+
+                mLabelsLayout.addView(textView);
+            }
+        }
+    }
+}

+ 184 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/steps/StepsViewIndicator.java

@@ -0,0 +1,184 @@
+package com.xzjmyk.pm.activity.view.steps;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.util.AttributeSet;
+import android.view.View;
+
+import com.xzjmyk.pm.activity.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class StepsViewIndicator extends View {
+
+    private static final int THUMB_SIZE = 50;
+
+    private Paint paint = new Paint();
+    private Paint selectedPaint = new Paint();
+    private int mNumOfStep = 2;
+    private float mLineHeight;
+    private float mThumbRadius;
+    private float mCircleRadius;
+    private float mPadding;
+    private int mProgressColor = Color.YELLOW;
+    private int mBarColor = Color.BLACK;
+
+    private float mCenterY;
+    private float mLeftX;
+    private float mLeftY;
+    private float mRightX;
+    private float mRightY;
+    private float mDelta;
+    private List<Float> mThumbContainerXPosition = new ArrayList<>();
+    private int mCompletedPosition;
+    private OnDrawListener mDrawListener;
+
+    public StepsViewIndicator(Context context) {
+        this(context, null);
+    }
+
+    public StepsViewIndicator(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public StepsViewIndicator(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        TypedArray a = context.obtainStyledAttributes(attrs,
+                R.styleable.StepsViewIndicator);
+        mNumOfStep = a.getInt(R.styleable.StepsViewIndicator_numOfSteps, 0);
+        a.recycle();
+
+        init();
+    }
+
+    private void init() {
+        mLineHeight = 0.2f * THUMB_SIZE;
+        mThumbRadius = 0.4f * THUMB_SIZE;
+        mCircleRadius = 0.7f * mThumbRadius;
+        mPadding = 0.5f * THUMB_SIZE;
+    }
+
+    public void setStepSize(int size) {
+        mNumOfStep = size;
+        invalidate();
+    }
+
+    public void setDrawListener(OnDrawListener drawListener) {
+        mDrawListener = drawListener;
+    }
+
+    public List<Float> getThumbContainerXPosition() {
+        return mThumbContainerXPosition;
+    }
+
+    @Override
+    public void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+
+        mCenterY = 0.5f * getHeight();
+        mLeftX = mPadding;
+        mLeftY = mCenterY - (mLineHeight / 2);
+        mRightX = getWidth() - mPadding;
+        mRightY = 0.5f * (getHeight() + mLineHeight);
+        mDelta = (mRightX - mLeftX) / (mNumOfStep - 1);
+
+        mThumbContainerXPosition.add(mLeftX);
+        for (int i = 1; i < mNumOfStep - 1; i++) {
+            mThumbContainerXPosition.add(mLeftX + (i * mDelta));
+        }
+        mThumbContainerXPosition.add(mRightX);
+        mDrawListener.onReady();
+    }
+
+    @Override
+    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int width = 200;
+        if (MeasureSpec.UNSPECIFIED != MeasureSpec.getMode(widthMeasureSpec)) {
+            width = MeasureSpec.getSize(widthMeasureSpec);
+        }
+        int height = THUMB_SIZE + 20;
+        if (MeasureSpec.UNSPECIFIED != MeasureSpec.getMode(heightMeasureSpec)) {
+            height = Math.min(height, MeasureSpec.getSize(heightMeasureSpec));
+        }
+        setMeasuredDimension(width, height);
+    }
+
+    public void setCompletedPosition(int position) {
+        mCompletedPosition = position;
+    }
+
+    public void reset() {
+        setCompletedPosition(0);
+    }
+
+    public void setProgressColor(int progressColor) {
+        mProgressColor = progressColor;
+    }
+
+    public void setBarColor(int barColor) {
+        mBarColor = barColor;
+    }
+
+    @Override
+    protected synchronized void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+        mDrawListener.onReady();
+        // Draw rect bounds
+        paint.setAntiAlias(true);
+        paint.setColor(mBarColor);
+        paint.setStyle(Paint.Style.STROKE);
+        paint.setStrokeWidth(2);
+
+        selectedPaint.setAntiAlias(true);
+        selectedPaint.setColor(mProgressColor);
+        selectedPaint.setStyle(Paint.Style.STROKE);
+        selectedPaint.setStrokeWidth(2);
+
+        // Draw rest of the circle'Bounds
+        for (int i = 0; i < mThumbContainerXPosition.size(); i++) {
+            canvas.drawCircle(mThumbContainerXPosition.get(i), mCenterY, mCircleRadius,
+                    (i <= mCompletedPosition) ? selectedPaint : paint);
+        }
+
+        paint.setStyle(Paint.Style.FILL);
+        selectedPaint.setStyle(Paint.Style.FILL);
+        for (int i = 0; i < mThumbContainerXPosition.size() - 1; i++) {
+            final float pos = mThumbContainerXPosition.get(i);
+            final float pos2 = mThumbContainerXPosition.get(i + 1);
+            canvas.drawRect(pos, mLeftY, pos2, mRightY,
+                    (i < mCompletedPosition) ? selectedPaint : paint);
+        }
+
+        // Draw rest of circle
+        for (int i = 0; i < mThumbContainerXPosition.size(); i++) {
+            final float pos = mThumbContainerXPosition.get(i);
+            canvas.drawCircle(pos, mCenterY, mCircleRadius,
+                    (i <= mCompletedPosition) ? selectedPaint : paint);
+
+            if (i == mCompletedPosition) {
+                selectedPaint.setColor(getColorWithAlpha(mProgressColor, 0.2f));
+                canvas.drawCircle(pos, mCenterY, mCircleRadius * 1.8f, selectedPaint);
+            }
+        }
+    }
+
+    public static int getColorWithAlpha(int color, float ratio) {
+        int newColor = 0;
+        int alpha = Math.round(Color.alpha(color) * ratio);
+        int r = Color.red(color);
+        int g = Color.green(color);
+        int b = Color.blue(color);
+        newColor = Color.argb(alpha, r, g, b);
+        return newColor;
+    }
+
+    public interface OnDrawListener {
+
+        public void onReady();
+    }
+}

BIN
WeiChat/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_base_v4_0_0.so


BIN
WeiChat/src/main/jniLibs/arm64-v8a/libBaiduMapSDK_cloud_v4_0_0.so


BIN
WeiChat/src/main/jniLibs/arm64-v8a/liblocSDK6a.so


+ 2 - 1
WeiChat/src/main/res/layout/act_notice_list.xml

@@ -18,5 +18,6 @@
         android:divider="@null"
         android:fadingEdge="none"
         android:listSelector="#00000000"
-        android:scrollbars="none"></com.handmark.pulltorefresh.library.PullToRefreshListView>
+        android:scrollbars="none">
+    </com.handmark.pulltorefresh.library.PullToRefreshListView>
 </RelativeLayout>

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

@@ -3,19 +3,17 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:fillViewport="true"
     android:background="@color/crm_basic_bg">
-
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         tools:context="com.xzjmyk.pm.activity.ui.erp.activity.crm.BusinessActivity">
-
         <LinearLayout
             android:id="@+id/ll_funnel"
             android:layout_width="match_parent"
             android:layout_height="250dp"
             android:orientation="vertical">
-
             <com.xzjmyk.pm.activity.view.FunnelView
                 android:id="@+id/funnelview"
                 android:layout_width="match_parent"

+ 28 - 0
WeiChat/src/main/res/layout/activity_business_detail_info.xml

@@ -290,6 +290,7 @@
             android:layout_height="wrap_content">
 
             <LinearLayout
+                android:id="@+id/crm_ll_followup"
                 style="@style/LinearLayout_horizontal"
                 android:weightSum="2">
 
@@ -305,6 +306,33 @@
                     android:text="跟进"
                     style="@style/crm_business_btn_nomargin" />
             </LinearLayout>
+
+            <LinearLayout
+                android:visibility="gone"
+                android:id="@+id/crm_ll_qiang"
+                style="@style/LinearLayout_horizontal"
+                android:weightSum="2">
+
+                <Button
+                    android:layout_weight="1"
+                    android:text="抢"
+                    style="@style/crm_business_btn_nomargin" />
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:visibility="gone"
+                android:id="@+id/crm_ll_manage"
+                style="@style/LinearLayout_horizontal"
+                android:weightSum="2">
+
+                <Button
+                    android:layout_weight="1"
+                    android:text="分配"
+                    style="@style/crm_business_btn_nomargin" />
+
+            </LinearLayout>
         </LinearLayout>
     </LinearLayout>
 

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

@@ -86,7 +86,6 @@
         android:layout_marginLeft="10dp"
         android:layout_marginRight="10dp"
         style="@style/ListViewBasic">
-
     </com.handmark.pulltorefresh.library.PullToRefreshListView>
 
 </LinearLayout>

+ 14 - 2
WeiChat/src/main/res/layout/activity_client.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/crm_basic_bg"
@@ -106,7 +107,18 @@
             </LinearLayout>
         </LinearLayout>
         <!--我的排名-->
-        <LinearLayout style="@style/crm_ll_card">
+        <com.xzjmyk.pm.activity.view.shadow.ShadowLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_margin="5dp"
+            app:sl_shadowRadius="8dp"
+            app:sl_shadowColor="@color/shadow"
+            app:sl_dx="0dp"
+            app:sl_dy="2dp"
+            app:sl_cornerRadius="12dp">
+        <LinearLayout
+            android:layout_margin="0dp"
+            style="@style/crm_ll_card">
 
             <RelativeLayout
                 android:layout_width="match_parent"
@@ -195,7 +207,7 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+        </com.xzjmyk.pm.activity.view.shadow.ShadowLayout>
         <LinearLayout style="@style/crm_ll_card">
 
             <RelativeLayout

+ 6 - 0
WeiChat/src/main/res/layout/activity_customer_detail.xml

@@ -220,6 +220,12 @@
                     android:textColor="#FF8E57"
                     android:text="商机阶段" />
             </LinearLayout>
+            <com.xzjmyk.pm.activity.view.steps.StepsView
+                android:id="@+id/stepsView"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="10dp"
+                android:layout_marginTop="0dp" />
         </LinearLayout>
 
         <LinearLayout

+ 1 - 6
WeiChat/src/main/res/layout/activity_main.xml

@@ -1,21 +1,16 @@
 <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:layout_height="match_parent">
     <FrameLayout
         android:id="@+id/main_content"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_above="@+id/main_tab_radio_group" >
     </FrameLayout>
-
     <include
         android:id="@+id/main_tab_radio_group"
         android:layout_width="match_parent"
         android:layout_height="60dp"
         android:layout_alignParentBottom="true"
         layout="@layout/layout_main_tab_radio_group" />
-
 </RelativeLayout>

+ 22 - 32
WeiChat/src/main/res/layout/inculde_grid_view.xml

@@ -1,48 +1,38 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
-    <!-- 统计信息表格展示控件 -->
     <HorizontalScrollView
         android:id="@+id/layout"
         android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:layout_margin="5dp"
+        android:layout_height="match_parent"
         android:fillViewport="true"
-        android:visibility="invisible">
-
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:orientation="horizontal">
-
-            <LinearLayout
-                android:layout_width="fill_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:orientation="vertical">
-
-                <View style="@style/horizontal_layout" />
-
-                <View style="@style/horizontal_layout" />
-                <!--    android:layout_marginLeft="10dp"-->
-                <!--android:layout_marginBottom="10dp"-->
-                <!--android:layout_marginTop="10dp"-->-->
-
+        android:scrollbars="none">
+        <!-- <LinearLayout
+                 android:layout_width="wrap_content"
+                 android:layout_height="wrap_content"
+                 android:layout_gravity="center"
+                 android:orientation="horizontal">-->
+        <!--     <LinearLayout
+                       android:layout_width="fill_parent"
+                       android:layout_height="wrap_content"
+                       android:layout_gravity="center"
+                       android:orientation="vertical">-->
+        <!--            <View style="@style/horizontal_layout" />
+                    <View style="@style/horizontal_layout" />-->
                 <com.xzjmyk.pm.activity.ui.erp.view.ListViewInScroller
                     android:id="@+id/lv_grid_dispaly"
                     android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
+                    android:layout_height="match_parent"
+                    android:scrollbars="none"
                     android:layout_gravity="center"
-
                     android:cacheColorHint="#00000000"
-                    android:divider="@drawable/scanframeline" />
-
-                <View style="@style/horizontal_layout" />
+                    android:dividerHeight="0.5dp"
+                    android:divider="#e3e3e3" />
+          <!--      <View style="@style/horizontal_layout" />
             </LinearLayout>
-
             <View style="@style/vertical_layout" />
-        </LinearLayout>
+        </LinearLayout>-->
     </HorizontalScrollView>
 </LinearLayout>

+ 2 - 0
WeiChat/src/main/res/layout/item_business_detail.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:descendantFocusability="blocksDescendants"
     android:layout_height="wrap_content"
 
     style="@style/crm_ll_card">
@@ -87,6 +88,7 @@
             android:layout_width="80dp"
             android:layout_gravity="center_vertical|right"
             style="@style/crm_business_btn_single"
+            android:focusable="false"
             android:gravity="center" />
     </RelativeLayout>
 

+ 11 - 0
WeiChat/src/main/res/layout/item_grid_list.xml

@@ -0,0 +1,11 @@
+<?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" >
+  <ListView
+      android:id="@+id/lv_item"
+      style="@style/GridViewBasic">
+  </ListView>
+</LinearLayout>

+ 9 - 0
WeiChat/src/main/res/layout/item_grid_tv.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/ll_root"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/gray_light"
+    android:orientation="horizontal" >
+</LinearLayout>

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

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
 

+ 3 - 3
WeiChat/src/main/res/layout/layout_main_tab_radio_group.xml

@@ -1,4 +1,5 @@
-<com.xzjmyk.pm.activity.view.DivideRadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
+<com.xzjmyk.pm.activity.view.DivideRadioGroup
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="60dp"
     android:background="@drawable/bg_bar"
@@ -7,7 +8,6 @@
     android:orientation="horizontal"
     android:paddingBottom="4dp"
     android:paddingTop="4dp">
-
     <FrameLayout
         android:layout_width="0dip"
         android:layout_height="match_parent"
@@ -145,4 +145,4 @@
             android:visibility="invisible" />
     </FrameLayout>
 
-</com.xzjmyk.pm.activity.view.DivideRadioGroup>
+</com.xzjmyk.pm.activity.view.DivideRadioGroup>

+ 12 - 2
WeiChat/src/main/res/layout/pop_crm_list.xml

@@ -1,14 +1,24 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.xzjmyk.pm.activity.view.shadow.ShadowLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    app:sl_shadowRadius="3dp"
+    app:sl_shadowColor="@color/shadow"
+    app:sl_dx="-1dp"
+    app:sl_dy="3dp"
+    app:sl_cornerRadius="0dp">
+<LinearLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="@drawable/shape_pop_ll"
     android:padding="0.5dp"
     android:orientation="vertical">
-
     <ListView
         android:layout_height="wrap_content"
         android:dividerHeight="0dp"
         android:id="@+id/mList"
         style="@style/ListViewBasic"></ListView>
 </LinearLayout>
+</com.xzjmyk.pm.activity.view.shadow.ShadowLayout>

+ 21 - 0
WeiChat/src/main/res/layout/widget_steps_view.xml

@@ -0,0 +1,21 @@
+<?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">
+
+    <FrameLayout
+        android:id="@+id/labels_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="20dp" />
+
+    <com.xzjmyk.pm.activity.view.steps.StepsViewIndicator
+        android:id="@+id/steps_indicator_view"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:layout_marginTop="5dp" />
+
+</LinearLayout>

+ 12 - 0
WeiChat/src/main/res/values/attrs.xml

@@ -1,5 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
+    <!--shadow Arison-->
+    <declare-styleable name="ShadowLayout">
+        <attr name="sl_cornerRadius" format="dimension"/>
+        <attr name="sl_shadowRadius" format="dimension"/>
+        <attr name="sl_shadowColor" format="color"/>
+        <attr name="sl_dx" format="dimension"/>
+        <attr name="sl_dy" format="dimension"/>
+    </declare-styleable>
+    <!--steps Airsono-->
+    <declare-styleable name="StepsViewIndicator">
+        <attr name="numOfSteps" format="integer" />
+    </declare-styleable>
     <!-- Defines the custom XML attributes supported for a ChatFaceView(表情布局) -->
     <declare-styleable name="ChatFaceView">
         <attr name="hasGif" format="boolean" />

+ 5 - 3
WeiChat/src/main/res/values/colors.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="crm_basic_bg">#4B4B57</color>
+
     <!--by gongpengming-->
     <color name="subscrip_text">#60a0a0a0</color>
     <color name="item_color1">#30a0a0a0</color>
@@ -22,8 +22,10 @@
     <color name="btn_login_press">#B9D2E3</color>
 
     <!--end gongpengming-->
-
-
+    <color name="shadow">#AA000000</color>
+    <color name="default_shadow_color">#88757575</color>
+    <color name="default_fill_color">#ffffff</color>
+    <color name="crm_basic_bg">#4B4B57</color>
     <color name="indexnormal">#98FB98</color>
     <color name="indexpress">#3ACF6C</color>
     <color name="blend_item_theme_color">#ff005092</color>

+ 3 - 2
WeiChat/src/main/res/values/dimens.xml

@@ -1,11 +1,12 @@
 <resources>
+    <!--view show-->
+    <dimen name="default_corner_radius">4dp</dimen>
+    <dimen name="default_shadow_radius">4dp</dimen>
     <!-- oa 考勤统计页面-->
     <dimen name="oa_statistics_line">15dp</dimen>
     <dimen name="oa_statistics_date_minWidth">100dp</dimen>
     <dimen name="oa_statistics_date_minheight">30dp</dimen>
     <!-- end oa 考勤统计页面-->
-
-
     <dimen name="next_width">5.0dip</dimen>
     <dimen name="line">1px</dimen>
     <dimen name="line_big">7.0dip</dimen>