Browse Source

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

Bitliker 9 years ago
parent
commit
9c70c74d9d
18 changed files with 433 additions and 103 deletions
  1. 1 1
      WeiChat/build.gradle
  2. 30 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionAdapter.java
  3. 97 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionNumbersAdapter.java
  4. 4 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/MySubscriptionAdapter.java
  5. 44 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/SubscriptionNumber.java
  6. 8 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/AllSubscriptonKindMessage.java
  7. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/SubcribeManageActivity.java
  8. 27 9
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessAddActivity.java
  9. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/SubscribeManegeVpAdapter.java
  10. 7 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/BaseFragment.java
  11. 103 43
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java
  12. 41 15
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java
  13. 28 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java
  14. 7 0
      WeiChat/src/main/res/drawable/shape_subscribe_bg.xml
  15. 7 0
      WeiChat/src/main/res/drawable/shape_subscribe_selet_bg.xml
  16. 17 4
      WeiChat/src/main/res/layout/layout_all_subscription_number_list.xml
  17. 9 10
      WeiChat/src/main/res/layout/layout_my_subscribe_list.xml
  18. 1 1
      library-swipemenu_lv/src/main/java/com/baoyz/swipemenulistview/MySwipeMenuListView.java

+ 1 - 1
WeiChat/build.gradle

@@ -4,7 +4,7 @@ apply plugin: 'com.getkeepsafe.dexcount'
 android {
     signingConfigs {
         config {
-            storeFile file('D:/config/applicationsignname[20150409]')
+            storeFile file('E:/CompanyProject/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 30 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionAdapter.java

@@ -8,22 +8,26 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.SubscriptionNumber;
 import com.xzjmyk.pm.activity.bean.message.AllSubscriptonKindMessage;
 import com.xzjmyk.pm.activity.view.MyListView;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
- * Created by PROD on 2016/9/7.
+ * Created by RaoMeng on 2016/9/7.
  */
 public class AllSubscriptionAdapter extends BaseAdapter{
     private Context mContext;
     private List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages;
     private AllSubscriptionNumbersAdapter mAllSubscriptionNumbersAdapter;
+    private List<SubscriptionNumber> subscriptionNumbers;
 
     public AllSubscriptionAdapter(Context mContext, List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages) {
         this.mContext = mContext;
         this.mAllSubscriptonKindMessages = mAllSubscriptonKindMessages;
+        subscriptionNumbers = new ArrayList<>();
     }
 
 
@@ -57,8 +61,31 @@ public class AllSubscriptionAdapter extends BaseAdapter{
         }else {
             viewHolder = (ViewHolder) convertView.getTag();
         }
-
-
+        String subscriptionKind = mAllSubscriptonKindMessages.get(position).getSubscriptionKind();
+        viewHolder.kindNameTextView.setText(subscriptionKind);
+        switch (subscriptionKind){
+            case "财务管理":
+                viewHolder.kindImageView.setImageResource(R.drawable.ic_financial_statement);
+                break;
+            case "销售管理":
+                viewHolder.kindImageView.setImageResource(R.drawable.ic_sales);
+                break;
+            case "库存管理":
+                viewHolder.kindImageView.setImageResource(R.drawable.ic_reserve);
+                break;
+            case "采购管理":
+                viewHolder.kindImageView.setImageResource(R.drawable.ic_purchase);
+                break;
+            case "品质管理":
+                viewHolder.kindImageView.setImageResource(R.drawable.ic_quality);
+                break;
+            case "生产制造管理":
+                viewHolder.kindImageView.setImageResource(R.drawable.ic_production_plan);
+                break;
+        }
+        subscriptionNumbers = mAllSubscriptonKindMessages.get(position).getSubscriptionNumbers();
+        mAllSubscriptionNumbersAdapter = new AllSubscriptionNumbersAdapter(mContext,subscriptionNumbers);
+        viewHolder.numbersListView.setAdapter(mAllSubscriptionNumbersAdapter);
 
         return convertView;
     }

+ 97 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionNumbersAdapter.java

@@ -1,35 +1,54 @@
 package com.xzjmyk.pm.activity.adapter;
 
+import android.annotation.TargetApi;
 import android.content.Context;
+import android.os.Build;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
 import android.widget.TextView;
 
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.SubscriptionNumber;
+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.CustomProgressDialog;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
+import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
- * Created by PROD on 2016/9/7.
+ * Created by RaoMeng on 2016/9/7.
  */
 public class AllSubscriptionNumbersAdapter extends BaseAdapter {
     private Context mContext;
-    private List<String > mStrings;
+    private List<SubscriptionNumber> mSubscriptionNumbers;
+    private int clickPosition;
+    private int status;
+    protected CustomProgressDialog progressDialog;
 
-    public AllSubscriptionNumbersAdapter(Context mContext, List<String> mStrings) {
+    public AllSubscriptionNumbersAdapter(Context mContext, List<SubscriptionNumber> mSubscriptionNumbers) {
         this.mContext = mContext;
-        this.mStrings = mStrings;
+        this.mSubscriptionNumbers = mSubscriptionNumbers;
+
+        progressDialog = CustomProgressDialog.createDialog(mContext);
     }
 
     @Override
     public int getCount() {
-        return mStrings.size();
+        return mSubscriptionNumbers.size();
     }
 
     @Override
     public Object getItem(int position) {
-        return mStrings.get(position);
+        return mSubscriptionNumbers.get(position);
     }
 
     @Override
@@ -37,24 +56,94 @@ public class AllSubscriptionNumbersAdapter extends BaseAdapter {
         return position;
     }
 
+    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
     @Override
-    public View getView(int position, View convertView, ViewGroup parent) {
+    public View getView(final int position, View convertView, ViewGroup parent) {
         ViewHolder viewHolder = null;
         if (convertView == null){
             convertView = View.inflate(mContext, R.layout.layout_all_subscription_number_list,null);
             viewHolder = new ViewHolder();
 
             viewHolder.nameTextView = (TextView) convertView.findViewById(R.id.all_subscription_list_name_tv);
-
+            viewHolder.applyTextView = (TextView) convertView.findViewById(R.id.all_subscription_apply_tv);
             convertView.setTag(viewHolder);
         }else {
             viewHolder = (ViewHolder) convertView.getTag();
         }
 
+        viewHolder.nameTextView.setText(mSubscriptionNumbers.get(position).getTitle());
+        status = mSubscriptionNumbers.get(position).getStatus();
+
+        if (status == 1){
+            viewHolder.nameTextView.setTextColor(mContext.getResources().getColor(R.color.gray));
+            viewHolder.nameTextView.setBackground(mContext.getResources().getDrawable(R.drawable.shape_subscribe_selet_bg));
+            viewHolder.applyTextView.setText("已订阅");
+            viewHolder.applyTextView.setEnabled(false);
+        }else if (status == 3){
+            viewHolder.nameTextView.setTextColor(mContext.getResources().getColor(R.color.white));
+            viewHolder.nameTextView.setBackground(mContext.getResources().getDrawable(R.drawable.shape_subscribe_bg));
+            viewHolder.applyTextView.setText("申请");
+            viewHolder.applyTextView.setEnabled(true);
+        }else if (status == 2){
+            viewHolder.nameTextView.setTextColor(mContext.getResources().getColor(R.color.gray));
+            viewHolder.nameTextView.setBackground(mContext.getResources().getDrawable(R.drawable.shape_subscribe_selet_bg));
+            viewHolder.applyTextView.setText("已申请");
+            viewHolder.applyTextView.setEnabled(false);
+        }
+
+        viewHolder.applyTextView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+//                Intent intent = new Intent();
+//                intent.setClass(mContext, ApplySubscribeActivity.class);
+//                mContext.startActivity(intent);
+
+                clickPosition = position;
+                sendApplySubs(clickPosition);
+            }
+        });
+
         return convertView;
     }
 
+    /**
+     * 申请订阅
+     */
+    private void sendApplySubs(int position) {
+        progressDialog.show();
+        String applyUrl = Constants.getAppBaseUrl(mContext) + "common/charts/vastAddSubsApply.action";
+        Map<String,Object> params = new HashMap<>();
+        params.put("ids",mSubscriptionNumbers.get(position).getId());
+        params.put("caller","VastAddSubsApply");
+
+        LinkedHashMap<String,Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie","JSESSIONID="+ CommonUtil.getSharedPreferences(mContext,"sessionId"));
+        ViewUtil.httpSendRequest(mContext,applyUrl,params,mHandler,headers,APPLY_SUBSCRIPTION,null,null,"post");
+    }
+
     class ViewHolder{
         TextView nameTextView;
+        TextView applyTextView;
     }
+
+    private final static int APPLY_SUBSCRIPTION = 101;
+    private Handler mHandler = new Handler(){
+        @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what){
+                case APPLY_SUBSCRIPTION:
+                    progressDialog.dismiss();
+                    Log.d("applysubscription", msg.getData().getString("result"));
+                    CommonUtil.imageToast(mContext,R.drawable.ic_apply_submit_success,"",2000);
+                    mSubscriptionNumbers.get(clickPosition).setStatus(2);
+                    notifyDataSetChanged();
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    progressDialog.dismiss();
+                    Crouton.makeText(mContext,msg.getData().getString("result"));
+                    break;
+            }
+        }
+    };
 }

+ 4 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/MySubscriptionAdapter.java

@@ -76,16 +76,17 @@ public class MySubscriptionAdapter extends BaseAdapter {
         int itemViewType = getItemViewType(i);
         if (itemViewType == 0){
             viewHolder.lockIv.setVisibility(View.VISIBLE);
+            viewHolder.contentTv.setText("该订阅号不可取消订阅");
         }else if (itemViewType == -1){
             viewHolder.lockIv.setVisibility(View.GONE);
+            viewHolder.contentTv.setText("侧滑可取消订阅");
         }
         viewHolder.subscribeIv.setImageResource(mImageIds.get(i % 5));
         if ("private".equals(mPersonalSubscriptionBeans.get(i).getKIND())){
-            viewHolder.titleTv.setText(mPersonalSubscriptionBeans.get(i).getTITLE()+"私");
+            viewHolder.titleTv.setText(mPersonalSubscriptionBeans.get(i).getTITLE()+"()");
         }else {
-            viewHolder.titleTv.setText(mPersonalSubscriptionBeans.get(i).getTITLE()+"公");
+            viewHolder.titleTv.setText(mPersonalSubscriptionBeans.get(i).getTITLE()+"()");
         }
-        viewHolder.contentTv.setText("该订阅号属于"+mPersonalSubscriptionBeans.get(i).getTYPE()+"类订阅号");
         return view;
     }
 

+ 44 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/SubscriptionNumber.java

@@ -0,0 +1,44 @@
+package com.xzjmyk.pm.activity.bean;
+
+/**
+ * 订阅号实体类
+ * Created by RaoMeng on 2016/9/21.
+ */
+public class SubscriptionNumber {
+    private int id;
+    private String title;
+    private String kind;
+    private int status;
+
+    public int getStatus() {
+        return status;
+    }
+
+    public void setStatus(int status) {
+        this.status = status;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getKind() {
+        return kind;
+    }
+
+    public void setKind(String kind) {
+        this.kind = kind;
+    }
+}

+ 8 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/AllSubscriptonKindMessage.java

@@ -1,13 +1,17 @@
 package com.xzjmyk.pm.activity.bean.message;
 
+import com.xzjmyk.pm.activity.bean.SubscriptionNumber;
+
 import java.util.List;
 
 /**
- * Created by PROD on 2016/9/7.
+ * 所有订阅类实体类
+ * Created by RaoMeng on 2016/9/7.
  */
 public class AllSubscriptonKindMessage {
     private String subscriptionKind;
-    private List<String> subscriptionNumbers;
+    private List<SubscriptionNumber> subscriptionNumbers;
+
 
     public String getSubscriptionKind() {
         return subscriptionKind;
@@ -17,11 +21,11 @@ public class AllSubscriptonKindMessage {
         this.subscriptionKind = subscriptionKind;
     }
 
-    public List<String> getSubscriptionNumbers() {
+    public List<SubscriptionNumber> getSubscriptionNumbers() {
         return subscriptionNumbers;
     }
 
-    public void setSubscriptionNumbers(List<String> subscriptionNumbers) {
+    public void setSubscriptionNumbers(List<SubscriptionNumber> subscriptionNumbers) {
         this.subscriptionNumbers = subscriptionNumbers;
     }
 }

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

@@ -37,6 +37,7 @@ public class SubcribeManageActivity extends BaseActivity{
         mTabPageIndicator = (TabPageIndicator) findViewById(R.id.subscribe_manage_tab);
         mUnderlinePageIndicator = (UnderlinePageIndicator) findViewById(R.id.subscribe_manage_undertab);
         mViewPager = (NoSlideViewpager) findViewById(R.id.subscribe_manage_vp);
+
         mSubscriptionAllFragment = BaseFragment.newInstance(SubscriptionAllFragment.class);
         mSubscriptionMyFragment = BaseFragment.newInstance(SubscriptionMyFragment.class);
 

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

@@ -21,6 +21,7 @@ import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.view.SingleDialog;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.view.wheel.DatePicker;
@@ -81,6 +82,7 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
     private List<String> lists = new ArrayList<String>();
     private int et_business_enterCode;
     private int mBcId;
+    private String enterManCode;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -183,7 +185,8 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
     private static final int LOAD_MANGENJIN = 5;
     private static final int GET_BC_ID = 6;
     private JSONArray jsons;
-
+    private JSONArray enterArray;
+    
     private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -240,10 +243,10 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
                     lists.clear();
                     Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
                     json = msg.getData().getString("result");
-                    array = JSON.parseObject(json).getJSONArray("recorders");
-                    if (!array.isEmpty()) {
-                        for (int i = 0; i < array.size(); i++) {
-                            lists.add(array.getJSONObject(i).getString("BC_DOMAN"));
+                    enterArray = JSON.parseObject(json).getJSONArray("recorders");
+                    if (!enterArray.isEmpty()) {
+                        for (int i = 0; i <enterArray.size(); i++) {
+                            lists.add(enterArray.getJSONObject(i).getString("BC_DOMAN"));
                         }
                     }
                     if (lists.isEmpty()) {
@@ -320,10 +323,15 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
         String bc_position = getEditText(et_company_position); //职位
         String bc_type = getEditText(et_business_type);  //商机类型
         String enterCode = null;
-        if (et_business_enterCode == 0) {
+        if (et_business_enterCode == 0) {//不可编辑  为空
             enterCode = "";
-        } else {
-            enterCode = CommonUtil.getSharedPreferences(ct, "erp_username");
+        } else {//可编辑
+            if(StringUtils.isEmpty(enterManCode)){//跟进人编号为空
+                enterCode = CommonUtil.getSharedPreferences(ct,"erp_username");//默认自己
+            }else{
+                enterCode = enterManCode;
+            }
+           
         }
         LogUtil.e("commonbcid", mBcId + "");
         String formStore =
@@ -443,6 +451,15 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
                     @Override
                     public void onListItemClick(int position, String value) {
                         switch (et.getId()){
+                            case R.id.et_business_enterMan:
+                                et.setText(value);
+                                for (int i = 0; i < enterArray.size(); i++) {
+                                   if (value.equals(enterArray.getJSONObject(i).getString("BC_DOMAN"))){
+                                       //获取跟进人编号
+                                      enterManCode= enterArray.getJSONObject(i).getString("EM_CODE");
+                                   }
+                                }
+                                break;
                             case R.id.et_business_source:
                                 et.setText(value);
                                 break;
@@ -462,7 +479,8 @@ public class BusinessAddActivity extends BaseActivity implements View.OnClickLis
                                             et_business_enterCode = 1;
                                             et_business_enterMan.setEnabled(true);
                                             et_business_enterMan.setClickable(true);
-                                            et_business_enterMan.setText(MyApplication.getInstance().mLoginUser.getNickName());
+                                            jsons.getJSONObject(i).getString("BD_PROP");
+                                           // et_business_enterMan.setText(MyApplication.getInstance().mLoginUser.getNickName());
                                         }
                                     }
                                 }

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

@@ -8,7 +8,7 @@ import android.support.v4.app.FragmentPagerAdapter;
 import java.util.List;
 
 /**
- * Created by PROD on 2016/9/5.
+ * Created by RaoMeng on 2016/9/5.
  */
 public class SubscribeManegeVpAdapter extends FragmentPagerAdapter{
     private Context mContext;

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

@@ -7,11 +7,15 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
+
 /**
- * Created by PROD on 2016/8/19.
+ *
+ * Created by RaoMeng on 2016/8/19.
  */
 public abstract class BaseFragment extends Fragment {
     protected View root;
+    protected CustomProgressDialog progressDialog;
 
     public static <T extends BaseFragment> T newInstance(Class<T> tClass){
         if (tClass != null){
@@ -37,6 +41,8 @@ public abstract class BaseFragment extends Fragment {
     @Override
     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
+        progressDialog = CustomProgressDialog.createDialog(getActivity());
+
         initViews();
         initEvents();
         initDatas();

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

@@ -1,31 +1,43 @@
 package com.xzjmyk.pm.activity.ui.erp.fragment;
 
-import android.content.Intent;
-import android.view.View;
-import android.widget.AdapterView;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
 import android.widget.ListView;
 
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
-import com.xzjmyk.pm.activity.ApplySubscribeActivity;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.adapter.AllSubscriptionAdapter;
-import com.xzjmyk.pm.activity.adapter.AllSubscriptionNumbersAdapter;
+import com.xzjmyk.pm.activity.bean.SubscriptionNumber;
 import com.xzjmyk.pm.activity.bean.message.AllSubscriptonKindMessage;
+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.EmptyLayout;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
+import com.xzjmyk.pm.activity.view.crouton.Style;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
 
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
- * Created by PROD on 2016/9/5.
+ * 所有订阅
+ * Created by RaoMeng on 2016/9/5.
  */
 public class SubscriptionAllFragment extends BaseFragment {
     private PullToRefreshListView mPullToRefreshListView;
     private AllSubscriptionAdapter mAllSubscriptionAdapter;
     private List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages;
-    private AllSubscriptionNumbersAdapter mAllSubscriptionNumbersAdapter;
-    private List<String> mStrings;
+    private EmptyLayout mEmptyLayout;
     @Override
     protected int getLayout() {
         return R.layout.fragment_all_subscription;
@@ -35,16 +47,13 @@ public class SubscriptionAllFragment extends BaseFragment {
     protected void initViews() {
         mPullToRefreshListView = (PullToRefreshListView) root.findViewById(R.id.subscription_all_ptlv);
         mAllSubscriptonKindMessages = new ArrayList<>();
-        mStrings = new ArrayList<>();
-
-        for (int i = 0; i < 10; i++) {
-            AllSubscriptonKindMessage allSubscriptonKindMessage = new AllSubscriptonKindMessage();
-            mAllSubscriptonKindMessages.add(allSubscriptonKindMessage);
-        }
-
-        mAllSubscriptionNumbersAdapter = new AllSubscriptionNumbersAdapter(getActivity(),mStrings);
         mAllSubscriptionAdapter = new AllSubscriptionAdapter(getActivity(),mAllSubscriptonKindMessages);
 
+        mEmptyLayout = new EmptyLayout(getActivity(),mPullToRefreshListView.getRefreshableView());
+        mEmptyLayout.setShowLoadingButton(false);
+        mEmptyLayout.setShowEmptyButton(false);
+        mEmptyLayout.setShowErrorButton(false);
+        mEmptyLayout.setEmptyMessage("没有任何可订阅号");
     }
 
     @Override
@@ -54,28 +63,13 @@ public class SubscriptionAllFragment extends BaseFragment {
         mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
             @Override
             public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
-                Crouton.makeText(getActivity(),"下拉刷新", 0xff99cc00,1500).show();
-                for (int i = 0; i < 10; i++) {
-                    AllSubscriptonKindMessage allSubscriptonKindMessage = new AllSubscriptonKindMessage();
-                    mAllSubscriptonKindMessages.add(allSubscriptonKindMessage);
-                }
-                mAllSubscriptionAdapter.notifyDataSetChanged();
-                mPullToRefreshListView.postDelayed(new Runnable() {
-                    @Override
-                    public void run() {
-                        mPullToRefreshListView.onRefreshComplete();
-
-                    }
-                },1000);
+                mAllSubscriptonKindMessages.clear();
+                sendAllSubscriptionRequest();
             }
 
             @Override
             public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
-                Crouton.makeText(getActivity(),"上拉加载", 0xffff4444,1500).show();
-                AllSubscriptonKindMessage allSubscriptonKindMessage = new AllSubscriptonKindMessage();
-                mAllSubscriptonKindMessages.add(allSubscriptonKindMessage);
-
-                mAllSubscriptionAdapter.notifyDataSetChanged();
+                Crouton.makeText(getActivity(), "上拉加载", 0xffff4444, 1500).show();
                 mPullToRefreshListView.postDelayed(new Runnable() {
                     @Override
                     public void run() {
@@ -85,19 +79,85 @@ public class SubscriptionAllFragment extends BaseFragment {
                 }, 1000);
             }
         });
-
-        mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                Intent intent = new Intent();
-                intent.setClass(getActivity(), ApplySubscribeActivity.class);
-                startActivity(intent);
-            }
-        });
     }
 
     @Override
     protected void initDatas() {
+        sendAllSubscriptionRequest();
+    }
 
+    /**
+     * 获取全部订阅
+     */
+    private void sendAllSubscriptionRequest() {
+        progressDialog.show();
+        String allSubsUrl = Constants.getAppBaseUrl(getActivity()) + "common/charts/getApplySubs.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("em_code", CommonUtil.getSharedPreferences(getActivity(),"erp_username"));
+
+        LinkedHashMap headers = new LinkedHashMap();
+        headers.put("Cookie","JSESSIONID="+CommonUtil.getSharedPreferences(getActivity(),"sessionId"));
+        ViewUtil.httpSendRequest(getActivity(),allSubsUrl,params,mHandler,headers,GET_ALL_SUBSCRIPTION,null,null,"post");
     }
+
+    private final static int GET_ALL_SUBSCRIPTION = 44;
+    private Handler mHandler = new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what){
+                case GET_ALL_SUBSCRIPTION:
+                    progressDialog.dismiss();
+                    String resultJson = msg.getData().getString("result");
+                    Log.d("allsubscriptionResult: ", resultJson);
+                    try {
+                        JSONObject resultObject = new JSONObject(resultJson);
+                        JSONArray datasArray = resultObject.getJSONArray("datas");
+                        JSONObject datasObject = datasArray.getJSONObject(0);
+                        Iterator<String> iterator = datasObject.keys();
+                        if (!iterator.hasNext()){
+                            mEmptyLayout.showEmpty();
+                            if (mPullToRefreshListView.isRefreshing()){
+                                mPullToRefreshListView.onRefreshComplete();
+                                Crouton.makeText(getActivity(),"没有订阅数据", 0xff99cc00,1500).show();
+                            }
+                            return;
+                        }
+                        while (iterator.hasNext()){
+                            String key = iterator.next().toString();
+                            Log.d("allsubskeys: ",key);
+                            AllSubscriptonKindMessage subscriptonKindMessage = new AllSubscriptonKindMessage();
+                            subscriptonKindMessage.setSubscriptionKind(key);
+                            List<SubscriptionNumber> subscriptionNumbers = new ArrayList<>();
+                            JSONArray subsArray = datasObject.getJSONArray(key);
+                            Log.d("allsubsarray: ", subsArray.toString());
+                            for (int i = 0; i < subsArray.length(); i++) {
+                                JSONObject subsObject = subsArray.getJSONObject(i);
+                                SubscriptionNumber subscriptionNumber = new SubscriptionNumber();
+                                subscriptionNumber.setId(subsObject.getInt("id"));
+                                subscriptionNumber.setTitle(subsObject.getString("title"));
+                                subscriptionNumber.setKind(subsObject.getString("kind"));
+                                subscriptionNumber.setStatus(subsObject.getInt("status"));
+                                subscriptionNumbers.add(subscriptionNumber);
+                            }
+                            subscriptonKindMessage.setSubscriptionNumbers(subscriptionNumbers);
+                            mAllSubscriptonKindMessages.add(subscriptonKindMessage);
+                            mAllSubscriptionAdapter.notifyDataSetChanged();
+
+                        }
+                    } catch (JSONException e) {
+                        e.printStackTrace();
+                    }
+                    if (mPullToRefreshListView.isRefreshing()){
+                        mPullToRefreshListView.onRefreshComplete();
+                        Crouton.makeText(getActivity(),"刷新成功", 0xff99cc00,1500).show();
+                    }
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    progressDialog.dismiss();
+                    Crouton.makeText(getActivity(),msg.getData().getString("result"), Style.ALERT).show();
+                    break;
+            }
+        }
+    };
+
 }

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

@@ -22,9 +22,9 @@ import com.xzjmyk.pm.activity.bean.PersonalSubscriptionBean;
 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.EmptyLayout;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
-import com.xzjmyk.pm.activity.view.crouton.Style;
 
 import org.json.JSONArray;
 import org.json.JSONException;
@@ -37,7 +37,8 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Created by PROD on 2016/9/5.
+ * 我的订阅
+ * Created by RaoMeng on 2016/9/5.
  */
 public class SubscriptionMyFragment extends BaseFragment {
     private PullToRefreshScrollView mPullToRefreshScrollView;
@@ -53,6 +54,7 @@ public class SubscriptionMyFragment extends BaseFragment {
     private final static int REMOVE_MY_SUBSCRIPTION = 13;
 
     private int mCanclePosition;
+    private EmptyLayout mEmptyLayout;
     @Override
     protected int getLayout() {
         return R.layout.fragment_my_subscription;
@@ -66,6 +68,12 @@ public class SubscriptionMyFragment extends BaseFragment {
         mMySubscriptionAdapter = new MySubscriptionAdapter(getActivity(),mPersonalSubscriptionBeans);
         mMySwipeMenuCreator = new MySwipeMenuCreator(getActivity());
 
+
+        mEmptyLayout = new EmptyLayout(getActivity(),mSwipeMenuListView);
+        mEmptyLayout.setShowLoadingButton(false);
+        mEmptyLayout.setShowEmptyButton(false);
+        mEmptyLayout.setShowErrorButton(false);
+        mEmptyLayout.setEmptyMessage("您没有任何订阅号");
     }
 
     @Override
@@ -153,6 +161,7 @@ public class SubscriptionMyFragment extends BaseFragment {
      * 获取当前用户的订阅号
      */
     private void sendSubscriptionRequest() {
+        progressDialog.show();
         String subsUrl = Constants.getAppBaseUrl(getActivity()) + "common/charts/getPersonalSubs.action";
         Map<String, Object> params = new HashMap<>();
         params.put("em_code", CommonUtil.getSharedPreferences(getActivity(),"erp_username"));
@@ -166,6 +175,7 @@ public class SubscriptionMyFragment extends BaseFragment {
      * 取消订阅
      */
     private void sendRemoveRequest(int position) {
+        progressDialog.show();
         String subsUrl = Constants.getAppBaseUrl(getActivity()) + "common/charts/removeSubsMans.action";
         Map<String, Object> params = new HashMap<>();
         params.put("em_code", CommonUtil.getSharedPreferences(getActivity(),"erp_username"));
@@ -183,24 +193,38 @@ public class SubscriptionMyFragment extends BaseFragment {
         public void handleMessage(Message msg) {
             switch (msg.what){
                 case GET_MY_SUBSCRIPTION:
+                    progressDialog.dismiss();
                     String resultJson = msg.getData().getString("result");
                     Log.d("subscriptionResult",resultJson);
                     try {
                         JSONObject resultObject = new JSONObject(resultJson);
                         JSONArray resultArray = resultObject.getJSONArray("datas");
-                        for (int i = 0; i < resultArray.length(); i++) {
-                            JSONObject currentObject = resultArray.getJSONObject(i);
-                            PersonalSubscriptionBean personalSubscriptionBean = new PersonalSubscriptionBean();
-                            personalSubscriptionBean.setNUM_ID(currentObject.getInt("NUM_ID"));
-                            personalSubscriptionBean.setTITLE(currentObject.getString("TITLE_"));
-                            personalSubscriptionBean.setKIND(currentObject.getString("KIND_"));
-                            personalSubscriptionBean.setTYPE(currentObject.getString("TYPE_"));
-                            personalSubscriptionBean.setISAPPLED(currentObject.getInt("ISAPPLIED_"));
-
-                            mPersonalSubscriptionBeans.add(personalSubscriptionBean);
+                        if (resultArray != null){
+                            if (resultArray.length() == 0){
+                                mEmptyLayout.showEmpty();
+                                if (mPullToRefreshScrollView.isRefreshing()){
+                                    mPullToRefreshScrollView.onRefreshComplete();
+                                    Crouton.makeText(getActivity(),"您没有任何订阅号", 0xff99cc00, 1500).show();
+                                }
+                            }else {
+                                for (int i = 0; i < resultArray.length(); i++) {
+                                    JSONObject currentObject = resultArray.getJSONObject(i);
+                                    PersonalSubscriptionBean personalSubscriptionBean = new PersonalSubscriptionBean();
+                                    personalSubscriptionBean.setNUM_ID(currentObject.getInt("NUM_ID"));
+                                    personalSubscriptionBean.setTITLE(currentObject.getString("TITLE_"));
+                                    personalSubscriptionBean.setKIND(currentObject.getString("KIND_"));
+                                    personalSubscriptionBean.setTYPE(currentObject.getString("TYPE_"));
+                                    personalSubscriptionBean.setISAPPLED(currentObject.getInt("ISAPPLIED_"));
+
+                                    mPersonalSubscriptionBeans.add(personalSubscriptionBean);
+                                }
+                                mMySubscriptionAdapter.notifyDataSetChanged();
+                                if (mPullToRefreshScrollView.isRefreshing()){
+                                    mPullToRefreshScrollView.onRefreshComplete();
+                                    Crouton.makeText(getActivity(),"刷新成功", 0xff99cc00, 1500).show();
+                                }
+                            }
                         }
-                        mMySubscriptionAdapter.notifyDataSetChanged();
-                        Crouton.makeText(getActivity(),"刷新成功", Style.CONFIRM).show();
                         if (mPullToRefreshScrollView.isRefreshing()){
                             mPullToRefreshScrollView.onRefreshComplete();
                         }
@@ -211,13 +235,15 @@ public class SubscriptionMyFragment extends BaseFragment {
                     break;
 
                 case REMOVE_MY_SUBSCRIPTION:
+                    progressDialog.dismiss();
                     Crouton.makeText(getActivity(), "取消订阅成功", 0xff99cc00, 1500).show();
                     mPersonalSubscriptionBeans.remove(mCanclePosition);
                     mMySubscriptionAdapter.notifyDataSetChanged();
                     break;
 
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
-                    Crouton.makeText(getActivity(), msg.getData().getString("result"), Style.CONFIRM).show();
+                    progressDialog.dismiss();
+                    Crouton.makeText(getActivity(), msg.getData().getString("result"), 0xff99cc00, 1500).show();
                     if (mPullToRefreshScrollView.isRefreshing()){
                         mPullToRefreshScrollView.onRefreshComplete();
                     }

+ 28 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -699,6 +699,34 @@ public class CommonUtil {
     }
 
 
+    /**
+     * @desc:修改textView样式(添加下划线)
+     * @author:Arison on 2016/8/3
+     */
+    public static void textUnderlineForStyle(
+            TextView view,
+            String input,
+            String match,
+            int color) {
+        SpannableStringBuilder style = new SpannableStringBuilder(input);
+        Pattern highlight = Pattern.compile(match);
+        Matcher m = highlight.matcher(style.toString());
+        while (m.find()) {
+            style.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), m.start(), m.end(),
+                    Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+            style.setSpan(new ForegroundColorSpan(color), m.start(), m.end(),
+                    Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+//            style.setSpan(new StrikethroughSpan(), m.start(), m.end(),
+//                    Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+//            style.setSpan(new UnderlineSpan(), m.start(), m.end(),
+//                    Spannable.SPAN_INCLUSIVE_INCLUSIVE);
+        }
+        view.setText(style);
+    }
+
+
+
+
     private static long mLastClickTime;
     private static final long SPACE_TIME = 1000;//重复点击间隔时间
 

+ 7 - 0
WeiChat/src/main/res/drawable/shape_subscribe_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners android:radius="5dp"/>
+    <solid android:color="#885BA1D1"/>
+</shape>

+ 7 - 0
WeiChat/src/main/res/drawable/shape_subscribe_selet_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners android:radius="5dp"/>
+    <solid android:color="#88CECECE"/>
+</shape>

+ 17 - 4
WeiChat/src/main/res/layout/layout_all_subscription_number_list.xml

@@ -1,14 +1,27 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="40dp"
+    android:layout_height="36dp"
     android:padding="5dp">
 
     <TextView
         android:id="@+id/all_subscription_list_name_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_width="200dp"
+        android:layout_height="35dp"
         android:layout_centerInParent="true"
         android:text="XXXXXX"
-        android:textSize="18sp"/>
+        android:textColor="@color/white"
+        android:gravity="center_vertical"
+        android:paddingLeft="10dp"
+        android:singleLine="true"
+        android:background="@drawable/shape_subscribe_bg"
+        android:textSize="16sp"/>
+    <TextView
+        android:id="@+id/all_subscription_apply_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@id/all_subscription_list_name_tv"
+        android:text="添加"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="12dp"/>
 </RelativeLayout>

+ 9 - 10
WeiChat/src/main/res/layout/layout_my_subscribe_list.xml

@@ -1,15 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="80dp"
+    android:layout_height="70dp"
     android:padding="10dp"
     android:gravity="center_vertical">
 
     <ImageView
         android:id="@+id/my_subscribe_iv"
-        android:layout_width="60dp"
-        android:layout_height="60dp"
-        android:src="@drawable/f_static_000"
+        android:layout_width="50dp"
+        android:layout_height="50dp"
         android:scaleType="fitXY"
         />
 
@@ -19,8 +18,8 @@
         android:layout_height="wrap_content"
         android:layout_toRightOf="@id/my_subscribe_iv"
         android:layout_marginLeft="10dp"
-        android:textSize="22sp"
-        android:text="xxxxx"/>
+        android:textSize="16sp"
+        android:text="xxxxxxx"/>
 
     <TextView
         android:id="@+id/my_subscribe_content_tv"
@@ -30,13 +29,13 @@
         android:layout_alignParentBottom="true"
         android:layout_marginLeft="10dp"
         android:layout_marginBottom="5dp"
-        android:textSize="16sp"
-        android:text="YYYYYYYYYYY"/>
+        android:textSize="14sp"
+        android:text="yyyyyy"/>
 
     <ImageView
         android:id="@+id/my_subscribe_lock_iv"
-        android:layout_width="25dp"
-        android:layout_height="25dp"
+        android:layout_width="18dp"
+        android:layout_height="18dp"
         android:layout_alignParentRight="true"
         android:src="@drawable/ic_lock"
         android:layout_marginRight="10dp"

+ 1 - 1
library-swipemenu_lv/src/main/java/com/baoyz/swipemenulistview/MySwipeMenuListView.java

@@ -8,7 +8,7 @@ import android.view.MotionEvent;
 import android.view.View;
 
 /**
- * Created by PROD on 2016/9/7.
+ * Created by RaoMeng on 2016/9/7.
  */
 public class MySwipeMenuListView extends SwipeMenuListView {
     private GestureDetector mGestureDetector;