Browse Source

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

Arison 10 years ago
parent
commit
f11529fe67
23 changed files with 459 additions and 99 deletions
  1. 1 1
      WeiChat/build.gradle
  2. 71 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionAdapter.java
  3. 60 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionNumbersAdapter.java
  4. 27 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/AllSubscriptonKindMessage.java
  5. 8 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/SubscriptionMessage.java
  6. 8 9
      WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SubscriptionDao.java
  7. 7 6
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/TaskAddActivity.java
  8. 23 24
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java
  9. 6 26
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java
  10. 60 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java
  11. 41 7
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java
  12. 11 11
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SubscriptionActivity.java
  13. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_financial_statement.png
  14. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_production_plan.png
  15. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_purchase.png
  16. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_quality.png
  17. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_reserve.png
  18. BIN
      WeiChat/src/main/res/drawable-hdpi/ic_sales.png
  19. 3 1
      WeiChat/src/main/res/layout/fragment_all_subscription.xml
  20. 14 6
      WeiChat/src/main/res/layout/fragment_my_subscription.xml
  21. 34 0
      WeiChat/src/main/res/layout/layout_all_subscription_list.xml
  22. 14 0
      WeiChat/src/main/res/layout/layout_all_subscription_number_list.xml
  23. 71 0
      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('C:/Users/Arison/Desktop/applicationsignname[20150409]')
+            storeFile file('D:/config/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 71 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionAdapter.java

@@ -0,0 +1,71 @@
+package com.xzjmyk.pm.activity.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.message.AllSubscriptonKindMessage;
+import com.xzjmyk.pm.activity.view.MyListView;
+
+import java.util.List;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class AllSubscriptionAdapter extends BaseAdapter{
+    private Context mContext;
+    private List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages;
+    private AllSubscriptionNumbersAdapter mAllSubscriptionNumbersAdapter;
+
+    public AllSubscriptionAdapter(Context mContext, List<AllSubscriptonKindMessage> mAllSubscriptonKindMessages) {
+        this.mContext = mContext;
+        this.mAllSubscriptonKindMessages = mAllSubscriptonKindMessages;
+    }
+
+
+    @Override
+    public int getCount() {
+        return mAllSubscriptonKindMessages.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return mAllSubscriptonKindMessages.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder viewHolder = null;
+        if (convertView == null){
+            convertView = View.inflate(mContext, R.layout.layout_all_subscription_list,null);
+            viewHolder = new ViewHolder();
+
+            viewHolder.kindImageView = (ImageView) convertView.findViewById(R.id.all_subscription_kind_iv);
+            viewHolder.kindNameTextView = (TextView) convertView.findViewById(R.id.all_subscription_name_tv);
+            viewHolder.numbersListView = (MyListView) convertView.findViewById(R.id.all_subscription_number_lv);
+
+            convertView.setTag(viewHolder);
+        }else {
+            viewHolder = (ViewHolder) convertView.getTag();
+        }
+
+
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        ImageView kindImageView;
+        TextView kindNameTextView;
+        MyListView numbersListView;
+    }
+}

+ 60 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionNumbersAdapter.java

@@ -0,0 +1,60 @@
+package com.xzjmyk.pm.activity.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.R;
+
+import java.util.List;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class AllSubscriptionNumbersAdapter extends BaseAdapter {
+    private Context mContext;
+    private List<String > mStrings;
+
+    public AllSubscriptionNumbersAdapter(Context mContext, List<String> mStrings) {
+        this.mContext = mContext;
+        this.mStrings = mStrings;
+    }
+
+    @Override
+    public int getCount() {
+        return mStrings.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return mStrings.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(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);
+
+            convertView.setTag(viewHolder);
+        }else {
+            viewHolder = (ViewHolder) convertView.getTag();
+        }
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView nameTextView;
+    }
+}

+ 27 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/AllSubscriptonKindMessage.java

@@ -0,0 +1,27 @@
+package com.xzjmyk.pm.activity.bean.message;
+
+import java.util.List;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class AllSubscriptonKindMessage {
+    private String subscriptionKind;
+    private List<String> subscriptionNumbers;
+
+    public String getSubscriptionKind() {
+        return subscriptionKind;
+    }
+
+    public void setSubscriptionKind(String subscriptionKind) {
+        this.subscriptionKind = subscriptionKind;
+    }
+
+    public List<String> getSubscriptionNumbers() {
+        return subscriptionNumbers;
+    }
+
+    public void setSubscriptionNumbers(List<String> subscriptionNumbers) {
+        this.subscriptionNumbers = subscriptionNumbers;
+    }
+}

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

@@ -14,16 +14,16 @@ public class SubscriptionMessage {
     private int STATUS_;      //阅读状态
     private int EMP_ID_;
     private int RN;
-    private String SONTITLE_;
+//    private String SONTITLE_;
     private String SUMDATA_;
 
-    public String getSONTITLE_() {
-        return SONTITLE_;
-    }
-
-    public void setSONTITLE_(String SONTITLE_) {
-        this.SONTITLE_ = SONTITLE_;
-    }
+//    public String getSONTITLE_() {
+//        return SONTITLE_;
+//    }
+//
+//    public void setSONTITLE_(String SONTITLE_) {
+//        this.SONTITLE_ = SONTITLE_;
+//    }
 
     public String getSUMDATA_() {
         return SUMDATA_;

+ 8 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SubscriptionDao.java

@@ -9,7 +9,6 @@ import android.util.Log;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.bean.message.SubscriptionMessage;
 import com.xzjmyk.pm.activity.ui.erp.db.DBOpenHelper;
-import com.xzjmyk.pm.activity.util.TimeUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -56,7 +55,7 @@ public class SubscriptionDao {
                 values.put("status_", message.getSTATUS_());
                 values.put("EMP_ID_", message.getEMP_ID_());
                 values.put("RN_", message.getRN());
-                values.put("SONTITLE_", message.getSONTITLE_());
+//                values.put("SONTITLE_", message.getSONTITLE_());
                 values.put("SUMDATA_", message.getSUMDATA_());
                 values.put("name", name);
                 k += db.insert(titleName, nullColumn, values);
@@ -116,7 +115,7 @@ public class SubscriptionDao {
             values.put("status_", message.getSTATUS_());
             values.put("EMP_ID_", message.getEMP_ID_());
             values.put("RN_", message.getRN());
-            values.put("SONTITLE_", message.getSONTITLE_());
+//            values.put("SONTITLE_", message.getSONTITLE_());
             values.put("SUMDATA_", message.getSUMDATA_());
             values.put("name", name);
             k += db.insert(titleName, nullColumn, values);
@@ -150,7 +149,7 @@ public class SubscriptionDao {
         ArrayList<SubscriptionMessage> messages = new ArrayList<>();
         SQLiteDatabase db = sqliteHelper.getReadableDatabase();
         String[] colums = {"id_", "num_id_", "instance_id_", "createdate_", "title_", "son_title_", "status_", "EMP_ID_"
-                , "RN_", "SONTITLE_", "SUMDATA_"};
+                , "RN_", "SUMDATA_"};
         String selection = null;
         String[] selectionArgs = null;
         try {
@@ -167,8 +166,8 @@ public class SubscriptionDao {
                 message.setSTATUS_(values.getInt(6));
                 message.setEMP_ID_(values.getInt(7));
                 message.setRN(values.getInt(8));
-                message.setSONTITLE_(values.getString(9));
-                message.setSUMDATA_(values.getString(10));
+//                message.setSONTITLE_(values.getString(9));
+                message.setSUMDATA_(values.getString(9));
                 messages.add(message);
             }
         } catch (SQLException e) {
@@ -187,7 +186,7 @@ public class SubscriptionDao {
         ArrayList<SubscriptionMessage> messages = new ArrayList<>();
         SQLiteDatabase db = sqliteHelper.getReadableDatabase();
         String[] colums = {"id_", "num_id_", "instance_id_", "createdate_", "title_", "son_title_", "status_", "EMP_ID_"
-                , "RN_", "SONTITLE_", "SUMDATA_"};
+                , "RN_", "SUMDATA_"};
         String selection = "createdate_>? and createdate_<?" + "  and name=?";
         String[] selectionArgs = {date + "", "" + endDate, name};
         try {
@@ -204,8 +203,8 @@ public class SubscriptionDao {
                 message.setSTATUS_(values.getInt(6));
                 message.setEMP_ID_(values.getInt(7));
                 message.setRN(values.getInt(8));
-                message.setSONTITLE_(values.getString(9));
-                message.setSUMDATA_(values.getString(10));
+//                message.setSONTITLE_(values.getString(9));
+                message.setSUMDATA_(values.getString(9));
                 messages.add(message);
             }
             values.close();

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

@@ -175,12 +175,13 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
                         tv.setText(str);
                     }
                 } else {
-                    start = TimeUtils.f_long_2_str(System.currentTimeMillis());
-                    if (str.compareTo(start) < 0) {
-                        ToastUtil.showToast(ct, "开始时间不能小于当前时间");
-                    } else {
-                        tv.setText(str);
-                    }
+                    tv.setText(str);
+//                    start = TimeUtils.f_long_2_str(System.currentTimeMillis());
+//                    if (str.compareTo(start) < 0) {
+//                        ToastUtil.showToast(ct, "开始时间不能小于当前时间");
+//                    } else {
+//
+//                    }
                 }
             }
         });

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

@@ -88,6 +88,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
     private int tag = 1;
     private ArrayList<OABean> meBeans = null;
     private ArrayList<OABean> otherBeans = null;
+    private List<OABean> showOtherBeans = null;
     private MyListViewAdapter adapter;
     private EmptyLayout mEmptyLayout;
 
@@ -102,7 +103,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                     if (jsonObject.isEmpty())
                         return;
                     loadSuccess(jsonObject);
-                    setTop();
                     break;
             }
         }
@@ -240,7 +240,8 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                 return;
             }
             List<OABean> chche = new ArrayList<>();
-            String name = entity.getName().trim();
+            String name = "," + entity.getName().trim() + ",";
+            Log.i("gongpengming", name);
             if (name == null) return;
             String nameStr;
             for (OABean e : otherBeans) {
@@ -253,12 +254,15 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                 } else if (e.getRecordman() != null) {//拜访
                     if (e.getRecordman() == null || e.getRecordman().length() <= 0) continue;
                     nameStr = "," + e.getRecordman().trim() + ",";
+                    Log.i("gongpengming", nameStr);
                     if (getResult(nameStr, name)) {//是该下属任务日程
+                        Log.i("gongpengming", "是的");
                         chche.add(e);
                     }
                 }
             }
             setTaskDay(chche);
+            showOtherBeans = chche;
             adapter.setBeans(chche);
         }
         if (requestCode == 0x20 && 0x20 == resultCode) {
@@ -378,12 +382,20 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                     Intent intent = null;
                     switch (position) {
                         case 0:
-                            intent = new Intent(ct, TaskAddActivity.class);
-                            intent.putExtra("type", 0);
+                            if (!(getIntent() == null || getIntent().getIntExtra("type", 0) != 1)) {
+                                intent = new Intent(ct, VisitReportPlanActivity.class);
+                            } else {
+                                intent = new Intent(ct, TaskAddActivity.class);
+                                intent.putExtra("type", 0);
+                            }
                             break;
                         case 1:
-                            intent = new Intent(ct, TaskAddActivity.class);
-                            intent.putExtra("type", 1);
+                            if (!(getIntent() == null || getIntent().getIntExtra("type", 0) != 1)) {
+                                intent = new Intent(ct, VisitReportAddActivity.class);
+                            } else {
+                                intent = new Intent(ct, TaskAddActivity.class);
+                                intent.putExtra("type", 1);
+                            }
                             break;
                         case 2:
                             intent = new Intent(ct, VisitReportPlanActivity.class);
@@ -455,16 +467,13 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                 String chche = TimeUtils.long2str(System.currentTimeMillis(), "yyyy-MM") + "-" + (downDate < 10 ? "0" : "") + downDate;
                 date_tv.setText(chche + "  " + TimeUtils.getWeek(chche));
                 Calendar c = Calendar.getInstance();
-                int ok = 0;
-                int noOk = 0;
                 List<OABean> beans = new ArrayList<>();
-                try {// meBeans : otherBeans 可能为空
-//                    for (OABean e : (tag == 1 ? meBeans : otherBeans)) {
+                try {
                     List<OABean> b;
                     if (tag == 1) {
                         b = meBeans == null ? new ArrayList<OABean>() : meBeans;
                     } else {
-                        b = otherBeans == null ? new ArrayList<OABean>() : otherBeans;
+                        b = showOtherBeans == null ? (otherBeans == null ? new ArrayList<OABean>() : otherBeans) : showOtherBeans;
                     }
                     for (OABean e : b) {
                         if (e.getStartdate() == null) continue;
@@ -472,28 +481,17 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                         int day = c.get(Calendar.DAY_OF_MONTH);
                         if (day == downDate) {//选择那天的任务
                             beans.add(e);
-                            if ("已完成".equals(e.getStatus()) || "已拜访".equals(e.getStatus())) {
-                                ok += 1;
-                            } else {
-                                noOk += 1;
-                            }
                         }
                     }
                 } catch (NullPointerException e) {
                     e.printStackTrace();
                 } finally {
                     adapter.setBeans(beans);
-                    setTop();
                 }
             }
         });
     }
 
-    private void setTop() {
-//        rootScrollView.smoothScrollTo(0, 20);
-//        rootScrollView.scrollTo(0, 0);
-    }
-
     private void setPoithNum(List<OABean> beans) {
         int ok = 0, noOk = 0;
         if (!ListUtils.isEmpty(beans)) {
@@ -519,7 +517,8 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
      */
     private void chaneTAG(boolean isMy) {
         if (isMy) {
-            if (!my_client_log.getText().toString().trim().equals("下属工作日志")) {
+            showOtherBeans = null;
+            if (!my_client_log.getText().toString().trim().equals("下属工作日历")) {
                 my_client_log.setText("下属工作日历");
             }
             tag = 1;
@@ -540,7 +539,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
                 setTaskDay(otherBeans);
             }
         }
-        setTop();
     }
 
     //列表适配器
@@ -560,6 +558,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener {
             if (beans == null) return null;
             if (getIntent() == null || getIntent().getIntExtra("type", 0) != 1) {
                 chche = beans;
+
             } else {//crm
                 //只显示拜访
                 for (OABean e : beans)

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

@@ -81,7 +81,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
 
     //变量
     private BaseActivity ct;
-    private boolean isInCompany = false;//当前员工是否配置公司信息
     private double companyX;//当前公司位置经度
     private double companyY;//当前公司位置纬度
     private int companyDistance = -1;//当前规定距离
@@ -109,7 +108,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                     JSONObject jsonObject = JSON.parseObject(message);//返回对象
                     if (jsonObject.containsKey("success") && jsonObject.getBoolean("success")) {//返回正常
                         if (jsonObject.containsKey("comaddressset") ? jsonObject.getBoolean("comaddressset") : false) {//如果有分配公司
-                            isInCompany = true;
                             companyDistance = Integer.parseInt(jsonObject.containsKey("distance") ? jsonObject.getString("distance") : "0");
                             companyX = Double.parseDouble(jsonObject.containsKey("longitude") ? jsonObject.getString("longitude") : "0");
                             companyY = Double.parseDouble(jsonObject.containsKey("latitude") ? jsonObject.getString("latitude") : "0");
@@ -439,36 +437,18 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
             bindClass(beans, object.getJSONObject("Class2"));
         if (object.containsKey("Class1"))
             bindClass(beans, object.getJSONObject("Class1"));
-//        switch (num) {
-//            case 3:
-//                b = new Bean();//上班
-//                b.startTime = object.containsKey("wd_ondutythree") ? object.getString("wd_ondutythree") : "08:30";
-//                b.startSignin = object.containsKey("wd_onbeg3") ? object.getString("wd_onbeg3") : "07:00";
-//                b.endTime = object.containsKey("wd_offdutythree") ? object.getString("wd_offdutythree") : "11:30";
-//                b.endSignnin = object.containsKey("wd_offend3") ? object.getString("wd_offend3") : "12:00";
-//                beans.add(0, b);
-//            case 2:
-//                b = new Bean();
-//                b.startTime = object.containsKey("wd_ondutytwo") ? object.getString("wd_ondutytwo") : "--:--";
-//                b.startSignin = object.containsKey("wd_onbeg2") ? object.getString("wd_onbeg2") : "07:00";
-//                b.endTime = object.containsKey("wd_offdutytwo") ? object.getString("wd_offdutytwo") : "--:--";
-//                b.endSignnin = object.containsKey("wd_offend2") ? object.getString("wd_offend2") : "07:00";
-//                beans.add(0, b);
-//            case 1:
-//                b = new Bean();
-//                b.startTime = object.containsKey("wd_ondutyone") ? object.getString("wd_ondutyone") : "--:--";
-//                b.startSignin = object.containsKey("wd_onbeg1") ? object.getString("wd_onbeg1") : "07:00";
-//                b.endTime = object.containsKey("wd_offdutyone") ? object.getString("wd_offdutyone") : "--:--";
-//                b.endSignnin = object.containsKey("wd_offend1") ? object.getString("wd_offend1") : "07:00";
-//                beans.add(0, b);
-//                break;
-//        }//添加上班签到时间完成
         setDataForAdapter(beans);
     }
 
     //处理数据,获取到用户签到列表
     public void setDataByLogs(JSONArray array) {
         ArrayList<Bean> beans = getDataByAdapter();
+        if (array.size() <= 0) {
+            for (int i = 0; i < beans.size(); i++)
+                beans.get(i).getSigninList().clear();
+            setDataForAdapter(beans);
+            return;
+        }
         String[] logTime = new String[array.size()];
         for (int i = 0; i < array.size(); i++) {//获取打卡记录中的打卡时间
             logTime[i] = clearDay(array.getJSONObject(i).containsKey("cl_time") ? (array.getJSONObject(i).getString("cl_time") == null ? " " : array.getJSONObject(i).getString("cl_time")) : " ");

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

@@ -1,13 +1,27 @@
 package com.xzjmyk.pm.activity.ui.erp.fragment;
 
+import android.widget.ListView;
+
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 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.message.AllSubscriptonKindMessage;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Created by PROD 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;
     @Override
     protected int getLayout() {
         return R.layout.fragment_all_subscription;
@@ -16,11 +30,57 @@ public class SubscriptionAllFragment extends BaseFragment {
     @Override
     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);
+
     }
 
     @Override
     protected void initEvents() {
+        mPullToRefreshListView.setAdapter(mAllSubscriptionAdapter);
+        mPullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
+        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);
+            }
+
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
+                Crouton.makeText(getActivity(),"上拉加载", 0xffff4444,1500).show();
+                AllSubscriptonKindMessage allSubscriptonKindMessage = new AllSubscriptonKindMessage();
+                mAllSubscriptonKindMessages.add(allSubscriptonKindMessage);
+
+                mAllSubscriptionAdapter.notifyDataSetChanged();
+                mPullToRefreshListView.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        mPullToRefreshListView.onRefreshComplete();
 
+                    }
+                }, 1000);
+            }
+        });
     }
 
     @Override

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

@@ -4,10 +4,14 @@ import android.view.Gravity;
 import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.PopupWindow;
+import android.widget.ScrollView;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.baoyz.swipemenulistview.SwipeMenu;
 import com.baoyz.swipemenulistview.SwipeMenuListView;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
 import com.xzjmyk.pm.activity.MySwipeMenuCreator;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.adapter.MySubscriptionAdapter;
@@ -21,11 +25,14 @@ import java.util.List;
  * Created by PROD on 2016/9/5.
  */
 public class SubscriptionMyFragment extends BaseFragment {
+    private PullToRefreshScrollView mPullToRefreshScrollView;
     private SwipeMenuListView mSwipeMenuListView;
     private List<String> mStrings = new ArrayList<>();
     private MySwipeMenuCreator mMySwipeMenuCreator;
     private MySubscriptionAdapter mMySubscriptionAdapter;
     private PopupWindow mCancleWindow;
+    private int mStartSwipe;
+    private int mEndSwipe;
     @Override
     protected int getLayout() {
         return R.layout.fragment_my_subscription;
@@ -33,10 +40,11 @@ public class SubscriptionMyFragment extends BaseFragment {
 
     @Override
     protected void initViews() {
-        for (int i = 0; i < 20; i++) {
+        for (int i = 0; i < 10; i++) {
             mStrings.add("this is item "+i);
         }
 
+        mPullToRefreshScrollView = (PullToRefreshScrollView) root.findViewById(R.id.my_subscription_ptrsv);
         mSwipeMenuListView = (SwipeMenuListView) root.findViewById(R.id.my_subscripton_smlv);
         mMySubscriptionAdapter = new MySubscriptionAdapter(getActivity(),mStrings);
         mMySwipeMenuCreator = new MySwipeMenuCreator(getActivity());
@@ -52,27 +60,29 @@ public class SubscriptionMyFragment extends BaseFragment {
         mSwipeMenuListView.setOnSwipeListener(new SwipeMenuListView.OnSwipeListener() {
             @Override
             public void onSwipeStart(int position) {
+                mStartSwipe = position;
             }
 
             @Override
             public void onSwipeEnd(int position) {
-                if ((position % 2) == 0){
+                mEndSwipe = position;
+                if ((mStartSwipe % 2) == 0) {
                     mSwipeMenuListView.smoothCloseMenu();
-
                 }
+
             }
         });
         mSwipeMenuListView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() {
             @Override
             public boolean onMenuItemClick(int position, SwipeMenu menu, int index) {
-                View cancleView = View.inflate(getActivity(),R.layout.pop_cancle_my_subscribe,null);
+                View cancleView = View.inflate(getActivity(), R.layout.pop_cancle_my_subscribe, null);
                 TextView cancleTextView = (TextView) cancleView.findViewById(R.id.cancel_subscribe_cancle_tv);
                 TextView contineTextView = (TextView) cancleView.findViewById(R.id.cancel_subscribe_contine_tv);
 
                 cancleTextView.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
-                        Crouton.makeText(getActivity(),"取消成功", 0xff99cc00, 1500).show();
+                        Crouton.makeText(getActivity(), "取消成功", 0xff99cc00, 1500).show();
                         closeWarningPopupWindow();
                     }
                 });
@@ -84,9 +94,9 @@ public class SubscriptionMyFragment extends BaseFragment {
                     }
                 });
 
-                mCancleWindow = new PopupWindow(cancleView, LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,true);
+                mCancleWindow = new PopupWindow(cancleView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
                 mCancleWindow.setAnimationStyle(R.style.MenuAnimationFade);
-                mCancleWindow.showAtLocation(mSwipeMenuListView, Gravity.BOTTOM,0,0);
+                mCancleWindow.showAtLocation(mSwipeMenuListView, Gravity.BOTTOM, 0, 0);
                 DisplayUtil.backgroundAlpha(getActivity(), 0.5f);
 
                 mCancleWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@@ -98,6 +108,30 @@ public class SubscriptionMyFragment extends BaseFragment {
                 return false;
             }
         });
+
+        mPullToRefreshScrollView.setMode(PullToRefreshBase.Mode.BOTH);
+        mPullToRefreshScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+                mStrings.clear();
+                for (int i = 0; i < 10; i++) {
+                    mStrings.add("this is item "+i);
+                }
+                mMySubscriptionAdapter.notifyDataSetChanged();
+
+                Toast.makeText(getActivity(), "refresh down success", Toast.LENGTH_SHORT).show();
+                mPullToRefreshScrollView.onRefreshComplete();
+            }
+
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
+                mStrings.add("add item");
+                mMySubscriptionAdapter.notifyDataSetChanged();
+
+                Toast.makeText(getActivity(), "refresh up success", Toast.LENGTH_SHORT).show();
+                mPullToRefreshScrollView.onRefreshComplete();
+            }
+        });
     }
 
     @Override

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

@@ -2,10 +2,10 @@ package com.xzjmyk.pm.activity.ui.message;
 
 import android.app.AlertDialog;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -26,7 +26,6 @@ import com.xzjmyk.pm.activity.bean.message.SortSubsrciprion;
 import com.xzjmyk.pm.activity.bean.message.SubscriptionMessage;
 import com.xzjmyk.pm.activity.db.dao.SubscriptionDao;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.SubcribeManageActivity;
 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;
@@ -66,7 +65,7 @@ public class SubscriptionActivity extends BaseActivity {
             R.drawable.list_04, R.drawable.list_05, R.drawable.list_06,
             R.drawable.list_07, R.drawable.list_08, R.drawable.list_09,
             R.drawable.list_10, R.drawable.list_11, R.drawable.list_12,
-            R.drawable.list_13, R.drawable.list_14, R.drawable.list_15,
+            R.drawable.list_13, R.drawable.list_14, R.drawable.list_15
 
     };
     private int[] srcsBig = {
@@ -82,6 +81,7 @@ public class SubscriptionActivity extends BaseActivity {
             switch (msg.what) {
                 case LOAD_NET:
                     String message =   msg.getData().getString("result");
+                    Log.e("subscribeMsg",message);
                     if (message != null && JSON.parseObject(message).containsKey("data")) {
                         String str = JSON.parseObject(message).getJSONArray("data").toJSONString();
                         SubscriptionMessages = JSON.parseArray(str, SubscriptionMessage.class);
@@ -112,7 +112,7 @@ public class SubscriptionActivity extends BaseActivity {
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_manage_subscribe, menu);
+//        getMenuInflater().inflate(R.menu.menu_manage_subscribe, menu);
         return super.onCreateOptionsMenu(menu);
     }
 
@@ -156,11 +156,11 @@ public class SubscriptionActivity extends BaseActivity {
 
                 break;*/
 
-            case R.id.subscribe_manage:
-                Intent intent = new Intent();
-                intent.setClass(this,SubcribeManageActivity.class);
-                startActivity(intent);
-                break;
+//            case R.id.subscribe_manage:
+//                Intent intent = new Intent();
+//                intent.setClass(this,SubcribeManageActivity.class);
+//                startActivity(intent);
+//                break;
             case android.R.id.home:
                 onBackPressed();
                 break;
@@ -466,9 +466,9 @@ public class SubscriptionActivity extends BaseActivity {
             } else {
                 holder = (VieweHolder) contextView.getTag();
             }
-            String sontitle = beans.get(i).getSONTITLE_() == null ? "" : beans.get(i).getSONTITLE_();
+//            String sontitle = beans.get(i).getSONTITLE_() == null ? "" : beans.get(i).getSONTITLE_();
             String sumdata = beans.get(i).getSUMDATA_() == null ? "" : beans.get(i).getSUMDATA_();
-            String chcheStr = sontitle + " : " + sumdata;
+            String chcheStr = sumdata;
             if (chcheStr.equals(":")) {
                 chcheStr = "";
             }

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


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


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


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


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


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


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

@@ -7,5 +7,7 @@
     <com.handmark.pulltorefresh.library.PullToRefreshListView
         android:id="@+id/subscription_all_ptlv"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
+        android:layout_height="match_parent"
+        android:divider="@color/item_line"
+        android:dividerPadding="1dp"/>
 </LinearLayout>

+ 14 - 6
WeiChat/src/main/res/layout/fragment_my_subscription.xml

@@ -1,13 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.handmark.pulltorefresh.library.PullToRefreshScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/my_subscription_ptrsv"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
 
-    <com.baoyz.swipemenulistview.SwipeMenuListView
-        android:id="@+id/my_subscripton_smlv"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:divider="@color/gray_light"
-        android:dividerHeight="1dp"/>
-</LinearLayout>
+        android:orientation="vertical">
+
+        <com.baoyz.swipemenulistview.MySwipeMenuListView
+            android:id="@+id/my_subscripton_smlv"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:divider="@color/gray_light"
+            android:dividerHeight="1dp"/>
+
+    </LinearLayout>
+</com.handmark.pulltorefresh.library.PullToRefreshScrollView>

+ 34 - 0
WeiChat/src/main/res/layout/layout_all_subscription_list.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:padding="6dp">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:padding="5dp">
+        <ImageView
+            android:id="@+id/all_subscription_kind_iv"
+            android:layout_width="30dp"
+            android:layout_height="30dp"
+            android:src="@drawable/ic_sales"
+            android:layout_marginLeft="6dp"/>
+        <TextView
+            android:id="@+id/all_subscription_name_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:textSize="20sp"
+            android:gravity="center_vertical"
+            android:layout_marginLeft="10dp"
+            android:text="财务报表"/>
+    </LinearLayout>
+    <com.xzjmyk.pm.activity.view.MyListView
+        android:id="@+id/all_subscription_number_lv"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        />
+</LinearLayout>

+ 14 - 0
WeiChat/src/main/res/layout/layout_all_subscription_number_list.xml

@@ -0,0 +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="40dp"
+    android:padding="5dp">
+
+    <TextView
+        android:id="@+id/all_subscription_list_name_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerInParent="true"
+        android:text="XXXXXX"
+        android:textSize="18sp"/>
+</RelativeLayout>

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

@@ -0,0 +1,71 @@
+package com.baoyz.swipemenulistview;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.GestureDetector;
+import android.view.MotionEvent;
+import android.view.View;
+
+/**
+ * Created by PROD on 2016/9/7.
+ */
+public class MySwipeMenuListView extends SwipeMenuListView {
+    private GestureDetector mGestureDetector;
+    private View.OnTouchListener mGestureListener;
+
+    public MySwipeMenuListView(Context context) {
+        super(context);
+        mGestureDetector = new GestureDetector(context,onGestureListener);
+    }
+
+    public MySwipeMenuListView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        mGestureDetector = new GestureDetector(context,onGestureListener);
+    }
+
+    public MySwipeMenuListView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        mGestureDetector = new GestureDetector(context,onGestureListener);
+    }
+
+
+    @Override
+    public boolean onTouchEvent(MotionEvent ev) {
+        boolean b =  mGestureDetector.onTouchEvent(ev);
+        Log.w("MyLog", "-- " + b + " --");
+        return super.onTouchEvent(ev);
+    }
+
+    private GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener(){
+        @Override
+        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
+            if (distanceY != 0 && distanceX != 0) {
+            }
+            if (Math.abs(distanceY) >= Math.abs(distanceX)) {
+                return true;
+            }
+            //当手指触到listview的时候,让父ScrollView交出ontouch权限,也就是让父scrollview 停住不能滚动
+            setParentScrollAble(false);
+
+            return super.onScroll(e1, e2, distanceX, distanceY);
+        }
+    };
+
+    /**
+     * 是否把滚动事件交给父scrollview
+     *
+     * @param flag
+     */
+    private void setParentScrollAble(boolean flag) {
+        //这里的parentScrollView就是listview外面的那个scrollview
+        Log.w("MyLog", "setParentScrollAble -- " + flag);
+        getParent().requestDisallowInterceptTouchEvent(!flag);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2 , MeasureSpec.AT_MOST);
+        super.onMeasure(widthMeasureSpec, expandSpec);
+    }
+}