瀏覽代碼

功能完整1.0

gongpm 9 年之前
父節點
當前提交
165ea2eef6

+ 6 - 11
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/account/LoginActivity.java

@@ -2,7 +2,6 @@ package com.xzjmyk.pm.activity.ui.account;
 
 import android.app.ProgressDialog;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -18,7 +17,6 @@ import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.LoginRegisterResult;
 import com.xzjmyk.pm.activity.helper.LoginHelper;
-import com.xzjmyk.pm.activity.ui.MainActivity;
 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.Constants;
@@ -94,10 +92,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
         switch (v.getId()) {
             case R.id.login_btn:// 登陆
                 //TODO 登陆修改
-//                login();
-                final String phoneNumber = "18565605807";
-                final String password = "111111";
-                login_manage(phoneNumber, password);
+                login();
                 break;
         }
     }
@@ -121,11 +116,11 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
             ToastMessage("密码不能为空");
             return;
         }
-        if (true) {
-            login_manage(phoneNumber, password);//登录管理平台
-            return;
-        }
-       
+//        if (true) {
+//            login_manage(phoneNumber, password);//登录管理平台
+//            return;
+//        }
+
         // 加密之后的密码
         final String digestPwd = new String(Md5Util.toMD5(password));
         final String requestTag = "login";

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

@@ -51,23 +51,21 @@ public class AddLogActivity extends BaseActivity {
         findViewById(R.id.release_btn).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                //TODO 发表工作日志
                 sendAble();
             }
         });
     }
-
     private void sendAble() {
         Log.i("gongpengming", "判断是否能发表日志能力");
         StringBuilder builder = new StringBuilder();
         if (sum_tv.getText().toString().length() > 0) {
-            builder.append("工作总结:\n" + sum_tv.getText().toString()+"\n");
+            builder.append("工作总结:\n" + sum_tv.getText().toString() + "\n");
         }
         if (plan_tv.getText().toString().length() > 0) {
-            builder.append("工作计划:\n" + plan_tv.getText().toString()+"\n");
+            builder.append("工作计划:\n" + plan_tv.getText().toString() + "\n");
         }
         if (learned_tv.getText().toString().length() > 0) {
-            builder.append("心得体会:\n" + learned_tv.getText().toString()+"\n");
+            builder.append("心得体会:\n" + learned_tv.getText().toString() + "\n");
         }
         sendWorkLog(builder.toString());
     }

+ 72 - 46
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/WorkLogsActivity.java

@@ -4,15 +4,17 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.text.Editable;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.util.Log;
-import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
-import android.view.View;
 import android.widget.ListView;
 
 import com.alibaba.fastjson.JSON;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.adapter.WorkLogAdapter;
@@ -20,8 +22,8 @@ import com.xzjmyk.pm.activity.bean.circle.Comment;
 import com.xzjmyk.pm.activity.bean.circle.PublicMessage;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.view.ClearEditText;
 import com.xzjmyk.pm.activity.view.PMsgBottomView;
-import com.xzjmyk.pm.activity.view.SuperSwipeRefreshLayout;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -36,9 +38,8 @@ import java.util.regex.Pattern;
 public class WorkLogsActivity extends BaseActivity {
     private static final int PAGER_SIZE = 10;
     private WorkLogsActivity ct;
-    private SuperSwipeRefreshLayout root_view;
-    private ListView context_rv;
     private List<PublicMessage> mMessages;//消息对象
+    private List<PublicMessage> messages;//消息对象
     private PMsgBottomView bottom_view;
     private CommentItemChche itemChche;
     private static int requestCode = 0x21;
@@ -54,7 +55,19 @@ public class WorkLogsActivity extends BaseActivity {
             String message = msg.getData().getString("result");
             switch (msg.what) {
                 case LOAD_WHAT:
-                    mMessages = JSON.parseArray(JSON.parseObject(message).getJSONArray("data").toString(), PublicMessage.class);
+                    if (mMessages == null) {
+                        mMessages = new ArrayList<>();
+                    }
+                    if (messages == null) {
+                        messages = new ArrayList<>();
+                    }
+                    if (isRefersh) {
+                        mMessages.clear();
+                        messages.clear();
+                    }
+                    context_rv.setRefreshing(false);
+                    mMessages.addAll(JSON.parseArray(JSON.parseObject(message).getJSONArray("data").toString(), PublicMessage.class));
+                    messages.addAll(JSON.parseArray(JSON.parseObject(message).getJSONArray("data").toString(), PublicMessage.class));
                     upDataUi();
                     break;
                 case ADD_WHAT:
@@ -71,6 +84,8 @@ public class WorkLogsActivity extends BaseActivity {
             }
         }
     };
+    private ClearEditText search_edit;
+    private PullToRefreshListView context_rv;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -102,34 +117,36 @@ public class WorkLogsActivity extends BaseActivity {
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == this.requestCode) {
             if (resultCode == this.resultCode) {
-                requestSpace();
+                requestSpace(true);
             }
         }
     }
 
     //获取数据后更新界面
     private void upDataUi() {
-        mAdapter.setData(mMessages);
+        mAdapter.setData(messages);
         mAdapter.notifyDataSetChanged();
     }
 
-    private static void getStrings() {
-        String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfdasdaa654645aafrrwerqq84461378qqasfdaa654646aaasdfrrwerqq84461379qqasfdasdfrrwerqq84461376qqasfdasdf";
-        Pattern p = Pattern.compile("qq(.*?)qq");
-        Matcher m = p.matcher(str);
-        ArrayList<String> strs = new ArrayList<String>();
-        while (m.find()) {
-            strs.add(m.group(1));
-        }
-        for (String s : strs){
-           Log.i("gongepngming",s);
-        }
+    //正则
+    private static boolean getResult(String text, String str) {
+        Pattern p = Pattern.compile(str);
+        Matcher m = p.matcher(text);
+//        ArrayList<String> strs = new ArrayList<String>();
+        return m.find();
+//        while (m.find()) {
+//            strs.add(m.group(1));
+//        }
+//        for (String s : strs) {
+//            Log.i("gongepngming", s);
+//        }
     }
+
     private void initView() {
         bottom_view = (PMsgBottomView) findViewById(R.id.bottom_view);
-        root_view = (SuperSwipeRefreshLayout) findViewById(R.id.root_view);
-        context_rv = (ListView) findViewById(R.id.context_rv);
-        root_view.setHeaderView(getHeaderView());
+        search_edit = (ClearEditText) findViewById(R.id.search_edit);
+        context_rv = (PullToRefreshListView) findViewById(R.id.context_rv);
+        context_rv.setMode(PullToRefreshBase.Mode.BOTH);
         bottom_view.setPMsgBottomListener(new PMsgBottomView.PMsgBottomListener() {
             @Override
             public void sendText(String text) {
@@ -140,25 +157,42 @@ public class WorkLogsActivity extends BaseActivity {
                 bottom_view.hide();
             }
         });
-        //下拉刷新,上拉加载控件
-        root_view.setOnPullRefreshListener(new SuperSwipeRefreshLayout.OnPullRefreshListener() {
+        search_edit.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+            }
+
             @Override
-            public void onRefresh() {
-                //TODO 开始刷新
-                Log.i("gongpengming", "onRefresh");
+            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
             }
 
             @Override
-            public void onPullDistance(int distance) {
-                //TODO 下拉距离
-                Log.i("gongpengming", "onPullDistance=" + distance);
+            public void afterTextChanged(Editable editable) {
+                String strChche = editable.toString();
+                //TODO 正则
+                messages.clear();
 
+                for (PublicMessage e : mMessages) {
+                    boolean b = getResult(e.getNickName() + e.getBody().getText(), strChche);
+                    if (b) {
+                        messages.add(e);
+                    }
+                }
+                mAdapter.setData(messages);
+                mAdapter.notifyDataSetChanged();
+            }
+        });
+        context_rv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
+                requestSpace(true);
             }
 
             @Override
-            public void onPullEnable(boolean enable) {
-                //TODO 下拉过程中,下拉的距离是否足够出发刷新
-                Log.i("gongpengming", "enable=" + enable);
+            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
+                requestSpace(false);
             }
         });
         if (mMessages == null)
@@ -182,31 +216,23 @@ public class WorkLogsActivity extends BaseActivity {
     }
 
     private void initData() {
-        requestSpace();
+        requestSpace(true);
     }
 
-    /**
-     * 获取头视图
-     *
-     * @return
-     */
-    private View getHeaderView() {
-        View headerView = LayoutInflater.from(ct).inflate(R.layout.space_cover_view, null);
-        //TODO 对于头视图的操作
-        return headerView;
-    }
+    private boolean isRefersh = false;
 
     /**
      * 获取工作日志(朋友圈)数据接口
      */
-    private void requestSpace() {
+    private void requestSpace(boolean isRefersh) {
+        this.isRefersh = isRefersh;
         //参数
         HashMap<String, Object> params = new HashMap<>();
         params.put("access_token", MyApplication.getInstance().mAccessToken);
         params.put("userId", MyApplication.getInstance().mLoginUser.getUserId());
         params.put("flag", PublicMessage.FLAG_APPLY_JOB);
         String messageId = null;
-        if (mMessages.size() > 0) {
+        if (!isRefersh && mMessages.size() > 0) {//不是
             messageId = mMessages.get(mMessages.size() - 1).getMessageId();
         }
         if (!TextUtils.isEmpty(messageId)) {

+ 31 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/OutofficeFragment.java

@@ -1,6 +1,7 @@
 package com.xzjmyk.pm.activity.ui.erp.fragment;
 
 import android.content.Intent;
+import android.os.AsyncTask;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -34,7 +35,6 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
     private LatLng point;//位置
     private static int requestCode = 0x11;
     private int sigNum;//签到次数
-
     @ViewInject(R.id.num_tv)
     private TextView num_tv; //签到次数
     @ViewInject(R.id.out_add_name_tv)
@@ -87,12 +87,14 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
 
     private void initview() {
         num_tv.setText("" + sigNum);
+        String name = MyApplication.getInstance().mLoginUser.getNickName();
+        name_img.setText(name.substring(0, 1));
         name_tv.setText(MyApplication.getInstance().mLoginUser.getNickName());
         com_tv.setText(CommonUtil.getSharedPreferences(ct, "erp_commpany"));
         long timeLong = System.currentTimeMillis();
         date_tag.setText(TimeUtils.getWeek(timeLong) + ":");//星期
         out_date_tv.setText(TimeUtils.s_long_2_str(timeLong));//日期
-        out_time_tv.setText(TimeUtils.long2str(timeLong, "HH:mm"));//时间点
+        timeTask.execute();
         BdLocationHelper locationHelper = MyApplication.getInstance().getBdLocationHelper();
         double latitude = locationHelper.getLatitude();
         double longitude = locationHelper.getLongitude();
@@ -105,6 +107,33 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
 
     }
 
+    private AsyncTask<Void, Void, Void> timeTask = new AsyncTask() {
+        @Override
+        protected Object doInBackground(Object[] objects) {
+            try {
+                while (true) {
+                    Thread.sleep(1000);
+                    publishProgress();
+                }
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            return false;
+        }
+
+        @Override
+        protected void onPreExecute() {
+            super.onPreExecute();
+            out_time_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "HH:mm:ss"));//时间点
+        }
+
+        @Override
+        protected void onProgressUpdate(Object[] values) {
+            super.onProgressUpdate(values);
+            out_time_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "HH:mm:ss"));//时间点
+        }
+    };
+
     @Override
     public void onClick(View view) {
         switch (view.getId()) {

+ 1 - 1
WeiChat/src/main/res/layout/activity_out_signin_ok.xml

@@ -59,7 +59,7 @@
         android:layout_below="@+id/top_tag"
         android:background="@drawable/full_edit_bg"
         android:gravity="top"
-        android:hint="请填写备注(不能超过8个字)"
+        android:hint="请填写备注(不超过100个字)"
         android:inputType="textMultiLine"
         android:minHeight="150dp"
         android:padding="10dp"

+ 47 - 11
WeiChat/src/main/res/layout/activity_work_logs.xml

@@ -1,22 +1,58 @@
 <?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="match_parent"
     android:background="@color/white">
 
-    <com.xzjmyk.pm.activity.view.SuperSwipeRefreshLayout
-        android:id="@+id/root_view"
+    <RelativeLayout
+        android:id="@+id/seach_top"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="48dp"
+        android:background="@drawable/bg_bar"
+        android:orientation="horizontal"
+        android:paddingBottom="5dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="15dp"
+        android:paddingTop="5dp">
+
+        <com.xzjmyk.pm.activity.view.ClearEditText
+            android:id="@+id/search_edit"
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent"
+            android:layout_centerVertical="true"
+            android:layout_marginLeft="10dp"
+            android:layout_marginRight="10dp"
+            android:background="@drawable/search_input"
+            android:drawableLeft="@drawable/search"
+            android:drawableRight="@drawable/search_clear"
+            android:hint="@string/search"
+            android:textColor="@color/dark_grey"
+            android:textColorHint="@color/grey"
+            android:textSize="15sp" />
+    </RelativeLayout>
+
+    <com.handmark.pulltorefresh.library.PullToRefreshListView
+        android:id="@+id/context_rv"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@id/seach_top"
+        android:background="@color/item_line"
+        android:dividerHeight="2px"
+        android:scrollbars="none" />
+
+    <!--<com.xzjmyk.pm.activity.view.SuperSwipeRefreshLayout-->
+    <!--android:id="@+id/root_view"-->
+    <!--android:layout_width="match_parent"-->
+    <!--android:layout_height="match_parent"-->
+    <!--android:layout_below="@id/seach_top">-->
 
-        <ListView
-            android:id="@+id/context_rv"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:divider="@color/item_line"
-            android:dividerHeight="2px" />
-    </com.xzjmyk.pm.activity.view.SuperSwipeRefreshLayout>
+    <!--<ListView-->
+    <!--android:id="@+id/context_rv"-->
+    <!--android:layout_width="match_parent"-->
+    <!--android:layout_height="match_parent"-->
+    <!--android:divider="@color/item_line"-->
+    <!--android:dividerHeight="2px" />-->
+    <!--</com.xzjmyk.pm.activity.view.SuperSwipeRefreshLayout>-->
 
     <com.xzjmyk.pm.activity.view.PMsgBottomView
         android:id="@+id/bottom_view"

+ 2 - 2
WeiChat/src/main/res/layout/fragment_outoffice.xml

@@ -11,7 +11,8 @@
         android:background="@drawable/text_button_stye3"
         android:gravity="center"
         android:scaleType="fitXY"
-        android:textSize="25dp" />
+        android:textColor="@color/white"
+        android:textSize="40sp" />
 
     <TextView
         android:id="@+id/name_tv"
@@ -98,7 +99,6 @@
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
         android:layout_alignTop="@+id/date_tag"
-        android:text="20:24"
         android:textSize="@dimen/text_hine" />
 
     <TextView