فهرست منبع

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

raomeng 7 سال پیش
والد
کامیت
fcc05919b9
40فایلهای تغییر یافته به همراه809 افزوده شده و 606 حذف شده
  1. 2 1
      WeiChat/src/main/AndroidManifest.xml
  2. 101 101
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java
  3. 7 7
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java
  4. 0 163
      WeiChat/src/main/res/layout/layout_main_tab_radio_group.xml
  5. 2 0
      app_core/common/src/main/java/com/core/app/MyApplication.java
  6. 4 0
      app_core/common/src/main/java/com/core/base/SupportToolBarActivity.java
  7. 1 1
      app_core/common/src/main/res/drawable/bg_transparent_bule.xml
  8. 40 30
      app_core/common/src/main/res/layout/activity_approval.xml
  9. 1 1
      app_core/common/src/main/res/layout/contact_item.xml
  10. 1 1
      app_core/common/src/main/res/layout/item_approval_node.xml
  11. 4 3
      app_core/common/src/main/res/layout/item_message.xml
  12. 3 3
      app_core/common/src/main/res/layout/item_secondmsgs.xml
  13. 153 143
      app_core/common/src/main/res/layout/layout_main_tab_radio_group.xml
  14. 1 1
      app_core/common/src/main/res/values-zh-rCN/strings.xml
  15. 1 1
      app_core/common/src/main/res/values/strings.xml
  16. 21 17
      app_modular/appcontact/src/main/java/com/uas/appcontact/adapter/FriendSortAdapter.java
  17. 2 1
      app_modular/appmessages/src/main/AndroidManifest.xml
  18. 1 4
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/ApprovalActivity.java
  19. 3 5
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MsgsSecondCommonActivity.java
  20. 6 6
      app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/MessageAdapter.java
  21. 289 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/MessageNewAdapter.java
  22. 10 6
      app_modular/appmessages/src/main/java/com/modular/appmessages/fragment/ApprovalListFragment.java
  23. 0 33
      app_modular/appmessages/src/main/java/com/modular/appmessages/fragment/MessageNewFragment.java
  24. 4 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/fragment/ViewPagerLazyFragment.java
  25. 61 28
      app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java
  26. 2 2
      app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/imp/IMessageView.java
  27. 31 7
      app_modular/appmessages/src/main/res/layout/fragment_message.xml
  28. 18 20
      app_modular/appmessages/src/main/res/layout/item_message_header.xml
  29. 3 3
      app_modular/appmessages/src/main/res/layout/refresh_sign_header.xml
  30. 0 1
      app_modular/appmessages/src/main/res/layout/refresh_simple_header.xml
  31. 3 3
      app_modular/apputils/src/main/res/layout/item_approval_list.xml
  32. 1 0
      app_modular/apputils/src/main/res/values/style.xml
  33. 8 2
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/WorkLogsActivity.java
  34. 9 4
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/adapter/WorkLogsAdapter.java
  35. 8 2
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/model/WorkLogs.java
  36. BIN
      app_modular/appworks/src/main/res/drawable-hdpi/ic_white_down.png
  37. BIN
      app_modular/appworks/src/main/res/drawable-xhdpi/ic_white_down.png
  38. BIN
      app_modular/appworks/src/main/res/drawable-xxhdpi/ic_white_down.png
  39. 6 6
      app_modular/appworks/src/main/res/layout/item_work_logs.xml
  40. 2 0
      app_modular/appworks/src/main/res/layout/menu_work_logs.xml

+ 2 - 1
WeiChat/src/main/AndroidManifest.xml

@@ -299,7 +299,8 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
-        <activity android:name=".ui.message.MucChatActivity">
+        <activity android:name=".ui.message.MucChatActivity"
+            android:theme="@style/MainBaseTheme">
             <intent-filter>
                 <action android:name="com.modular.message.MucChatActivity" />
                 <category android:name="android.intent.category.DEFAULT" />

+ 101 - 101
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java

@@ -1,12 +1,14 @@
 package com.xzjmyk.pm.activity.ui.message;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.support.v7.widget.AppCompatTextView;
-import android.text.Editable;
+import android.support.v7.widget.DividerItemDecoration;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.Toolbar;
 import android.text.TextUtils;
 import android.view.Gravity;
 import android.view.LayoutInflater;
@@ -15,7 +17,6 @@ import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.AdapterView;
 import android.widget.BaseAdapter;
 import android.widget.ImageButton;
 import android.widget.ImageView;
@@ -38,15 +39,13 @@ import com.core.model.WorkModel;
 import com.core.utils.ToastUtil;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.widget.DrawableCenterTextView;
-import com.core.widget.MyListView;
 import com.core.widget.RedView;
-import com.core.widget.VoiceSearchView;
-import com.core.widget.listener.EditChangeListener;
 import com.modular.appmessages.activity.ProcessB2BActivity;
 import com.modular.appmessages.activity.ProcessMsgActivity;
 import com.modular.appmessages.activity.Subscription2Activity;
-import com.modular.appmessages.adapter.MessageAdapter;
+import com.modular.appmessages.adapter.MessageNewAdapter;
 import com.modular.appmessages.model.MessageHeader;
+import com.modular.appmessages.model.MessageNew;
 import com.modular.appmessages.presenter.MessagePresenter;
 import com.modular.appmessages.presenter.imp.IMessageView;
 import com.modular.appmessages.widget.SignRefreshLayout;
@@ -55,6 +54,7 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.platform.task.TaskActivity;
 import com.xzjmyk.pm.activity.ui.platform.task.TaskB2BActivity;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -64,28 +64,24 @@ import java.util.List;
  */
 public class MessageFragment extends SupportToolBarFragment implements IMessageView, View.OnClickListener {
 
-    private VoiceSearchView voiceSearchView;
     private DrawableCenterTextView message_net_set;
     private SignRefreshLayout mSignRefreshLayout;
-    private MyListView headerLV;
-    private MyListView contentLV;
-    private View handerAndContentLine;
+    private RecyclerView mRecyclerView;
 
+    //打卡界面
     private View signView;
     private ImageButton itemSignImage;
     private AppCompatTextView itemWorkTv;
     private AppCompatTextView itemOffkTv;
 
+    private MessageNewAdapter mAdapter;
     private BaseActivity mContext;
     private MessagePresenter presenter;
-    private MessageAdapter mAdapter;
     private PopupWindow setWindow;
     private int clickPosition = 0;
     private Boolean platform;
 
     private Comparator<BaseSortModel<Friend>> comparator;
-
-    private HeadAdapter headAdapter;
     private MessagePresenter.UnReaderListener unReaderListener;
 
     @Override
@@ -122,7 +118,7 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
 
     @Override
     protected int inflateLayoutId() {
-        return R.layout.fragment_new_message;
+        return R.layout.fragment_message;
     }
 
     @Override
@@ -145,15 +141,38 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
         }
     }
 
+    private MessageNewAdapter.ItemTouchListener mItemTouchListener = new MessageNewAdapter.ItemTouchListener() {
+        @Override
+        public void longClick(int id) {
+
+
+            clickPosition = id - mAdapter.getHeaderSize();
+            if (clickPosition < 0) clickPosition = 0;
+            showPopupWindow();
+        }
+
+        @Override
+        public void click(int id, MessageNew messageNew) {
+            if (messageNew != null && messageNew.getT() != null) {
+                if (messageNew.getT() instanceof MessageHeader) {
+                    MessageHeader model = (MessageHeader) messageNew.getT();
+                    if (model != null) {
+                        if (!model.isHideRed()) {//如果没有被隐藏,需要更新
+                            model.hideRed();
+                            mAdapter.notifyItemChanged(id);
+                        }
+                        presenter.turn2ActByHeader(ct, model);
+                    }
+                } else {
+                    presenter.turn2NextAct(mContext, id - mAdapter.getHeaderSize());
+                }
+            }
+        }
+    };
+
 
     private void initEvent() {
         message_net_set.setOnClickListener(this);
-        voiceSearchView.addTextChangedListener(new EditChangeListener() {
-            @Override
-            public void afterTextChanged(Editable s) {
-                presenter.search(s.toString());
-            }
-        });
         mSignRefreshLayout.setOnRefreshListener(new SignRefreshLayout.onRefreshListener() {
             @Override
             public void onRefresh() {
@@ -161,47 +180,20 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
             }
         });
 
-        contentLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                if (mAdapter == null || ListUtils.isEmpty(mAdapter.getmFriendList()) || mAdapter.getCount() <= id || id < 0)
-                    return;
-                try {
-                    presenter.turn2NextAct(mContext, (int) id);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-        });
-        contentLV.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
-            @Override
-            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
-                if (mAdapter == null || ListUtils.isEmpty(mAdapter.getmFriendList()) || mAdapter.getCount() <= id)
-                    return true;
-                clickPosition = (int) id;
-                if (clickPosition < 0) clickPosition = 0;
-                showPopupWindow();
-                return true;
-            }
-        });
     }
 
 
     private void initView() {
-        android.support.v7.widget.Toolbar toolbar = getCommonToolBar();
+        Toolbar toolbar = getCommonToolBar();
         if (toolbar != null) {
             toolbar.setBackgroundResource(R.drawable.common_toolbar_message_bg);
         }
         setTitle(R.string.contact_title);
-        voiceSearchView = findViewById(R.id.voiceSearchView);
         message_net_set = findViewById(R.id.message_net_set);
         mSignRefreshLayout = findViewById(R.id.mSignRefreshLayout);
-        headerLV = findViewById(R.id.headerLV);
-        contentLV = findViewById(R.id.contentLV);
-        handerAndContentLine = findViewById(R.id.handerAndContentLine);
-
-        mAdapter = new MessageAdapter(null, mContext);
-        contentLV.setAdapter(mAdapter);
+        mRecyclerView = findViewById(R.id.mRecyclerView);
+        mRecyclerView.setLayoutManager(new LinearLayoutManager(ct));
+        mRecyclerView.addItemDecoration(new DividerItemDecoration(ct, LinearLayout.VERTICAL));
         presenter = new MessagePresenter(mContext, this, unReaderListener);
         signView = mSignRefreshLayout.getSignView();
         if (signView != null) {
@@ -348,15 +340,24 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
         if (mSignRefreshLayout.isEnablePullDown() && mSignRefreshLayout.isRefreshing()) {
             mSignRefreshLayout.stopRefresh();
         }
+        List<MessageNew> messageNews = new ArrayList<>();
+        if (!ListUtils.isEmpty(models)) {
+            for (BaseSortModel<Friend> e : models) {
+                MessageNew<BaseSortModel<Friend>> t = new MessageNew<>();
+                t.setT(e);
+                t.setType(1);
+                messageNews.add(t);
+            }
+        }
         if (mAdapter == null) {
-            mAdapter = new MessageAdapter(models, mContext);
-            contentLV.setAdapter(mAdapter);
+            mAdapter = new MessageNewAdapter(ct);
+            mAdapter.setContentModels(messageNews);
+            mAdapter.setItemTouchListener(mItemTouchListener);
+            mRecyclerView.setAdapter(mAdapter);
         } else {
-            mAdapter.setmFriendList(models);
+            mAdapter.setContentModels(messageNews);
             mAdapter.notifyDataSetChanged();
         }
-        headerLV.setSelection(0);
-        handerAndContentLine.setVisibility(ListUtils.isEmpty(models) ? View.GONE : View.VISIBLE);
     }
 
     private void sortModels(List<BaseSortModel<Friend>> models) {
@@ -374,49 +375,53 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
 
     @Override
     public void clearSearch() {
-        voiceSearchView.setText("");
     }
 
 
     @Override
     public void updateHeaderView(int type, int num, String subTitle, String time) {
-        if (headAdapter != null && !ListUtils.isEmpty(headAdapter.getModels())) {
+        if (mAdapter != null && !ListUtils.isEmpty(mAdapter.getModels())) {
             boolean isUpdated = false;
             if (type != MessagePresenter.REAL_TIME_FORM && type != MessagePresenter.BUSINESS_STATISTICS) {
-                for (MessageHeader e : headAdapter.getModels()) {
-                    if (e.getType() == type) {
-                        isUpdated = true;
-                        e.setSubDoc(subTitle);
-                        e.setRedNum(num);
-                        e.setTime(time);
+                for (int i = 0; i < mAdapter.getModels().size(); i++) {
+                    MessageNew e = mAdapter.getModels().get(i);
+                    if (e != null && e.getT() != null && e.getT() instanceof MessageHeader) {
+                        MessageHeader h = (MessageHeader) e.getT();
+                        if (h.getType() == type) {
+                            isUpdated = true;
+                            h.setSubDoc(subTitle);
+                            h.setRedNum(num);
+                            h.setTime(time);
+                            mAdapter.notifyItemChanged(i, e);
+                            break;
+                        }
                     }
                 }
             }
-
             if (type == MessagePresenter.REAL_TIME_FORM || type == MessagePresenter.BUSINESS_STATISTICS) {
-                isUpdated = updateHideOrDisplay(num, isUpdated, type);
-            }
-
-            if (isUpdated) {
-                headAdapter.notifyDataSetChanged();
+                updateHideOrDisplay(num, isUpdated, type);
             }
-
         }
         if (mSignRefreshLayout.isEnablePullDown() && mSignRefreshLayout.isRefreshing()) {
             mSignRefreshLayout.stopRefresh();
         }
     }
 
+    //更新是否显示红点
     private boolean updateHideOrDisplay(int num, boolean isUpdated, int type) {
         boolean isExist = false;
         int position = -1;
-        for (int i = 0; i < headAdapter.getModels().size(); i++) {
-            MessageHeader messageHeader = headAdapter.getModels().get(i);
-            if (messageHeader.getType() == type) {
-                position = i;
-                isExist = true;
-                break;
+        for (int i = 0; i < mAdapter.getModels().size(); i++) {
+            MessageNew model = mAdapter.getModels().get(i);
+            if (model != null && model.getT() != null && model.getT() instanceof MessageHeader) {
+                MessageHeader messageHeader = (MessageHeader) model.getT();
+                if (messageHeader.getType() == type) {
+                    position = i;
+                    isExist = true;
+                    break;
+                }
             }
+
         }
         if (num > 0) {
             if (!isExist) {
@@ -426,21 +431,28 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
                     model.setIcon(R.drawable.ic_real_time_form);
                     model.setRedKey(Constants.MESSAGE_REAL_TIME);
                     model.setType(MessagePresenter.REAL_TIME_FORM);
-                    headAdapter.getModels().add(2, model);
+                    MessageNew news = new MessageNew();
+                    news.setT(model);
+                    mAdapter.addHeadModel(2, news);
                 } else if (type == MessagePresenter.BUSINESS_STATISTICS) {
                     MessageHeader model = new MessageHeader(StringUtil.getMessage(R.string.business_statistics));
                     model.setIcon(R.drawable.ic_business_statistics);
                     model.setRedKey(Constants.MESSAGE_BUSINESS_STATISTICS);
                     model.setType(MessagePresenter.BUSINESS_STATISTICS);
-                    headAdapter.getModels().add(headAdapter.getModels().size() - 1, model);
+                    MessageNew news = new MessageNew();
+                    news.setT(model);
+                    mAdapter.getModels().add(1000, news);
                 }
             }
         } else {
             isUpdated = true;
-            if (position >= 0 && position <= headAdapter.getModels().size()) {
-                headAdapter.getModels().remove(position);
+            if (position >= 0 && position <= mAdapter.getModels().size()) {
+                mAdapter.getModels().remove(position);
             }
         }
+        if (isUpdated) {
+            mAdapter.notifyDataSetChanged();
+        }
         return isUpdated;
     }
 
@@ -456,25 +468,14 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
     }
 
     @Override
-    public void updateHeader(List<MessageHeader> models) {
-        if (headAdapter == null) {
-            headAdapter = new HeadAdapter(models);
-            headerLV.setAdapter(headAdapter);
-            headerLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-                @Override
-                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                    MessageHeader model = headAdapter.getItemModel(position);
-                    if (model != null) {
-                        if (!model.isHideRed()) {//如果没有被隐藏,需要更新
-                            model.hideRed();
-                            headAdapter.notifyDataSetChanged();
-                        }
-                        presenter.turn2ActByHeader((Activity) ct, model);
-                    }
-                }
-            });
+    public void updateHeader(List<MessageNew> models) {
+        if (mAdapter == null) {
+            mAdapter = new MessageNewAdapter(ct);
+            mAdapter.setItemTouchListener(mItemTouchListener);
+            mAdapter.setHeaderModels(models);
+            mRecyclerView.setAdapter(mAdapter);
         } else {
-            headAdapter.setModels(models);
+            mAdapter.setHeaderModels(models);
         }
     }
 
@@ -586,7 +587,6 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
                 }
             }
         }
-
     }
 
 

+ 7 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java

@@ -31,7 +31,9 @@ import com.android.volley.VolleyError;
 import com.common.data.CalendarUtil;
 import com.common.preferences.PreferenceUtils;
 import com.common.ui.CameraUtil;
+import com.core.app.AppConstant;
 import com.core.app.MyApplication;
+import com.core.base.SupportToolBarActivity;
 import com.core.broadcast.MsgBroadcast;
 import com.core.model.Friend;
 import com.core.model.User;
@@ -52,16 +54,14 @@ import com.core.xmpp.listener.MucListener;
 import com.core.xmpp.model.ChatMessage;
 import com.core.xmpp.model.MucRoom;
 import com.core.xmpp.model.MucRoomMember;
-import com.core.app.AppConstant;
 import com.core.xmpp.widget.ChatBottomView;
 import com.core.xmpp.widget.ChatContentView;
 import com.core.xmpp.widget.PullDownListView;
 import com.ipaulpro.afilechooser.FileUtils;
+import com.nostra13.universalimageloader.core.ImageLoader;
 import com.uas.appme.other.activity.BasicInfoActivity;
 import com.uas.appme.other.activity.RoomInfoActivity;
-import com.nostra13.universalimageloader.core.ImageLoader;
 import com.xzjmyk.pm.activity.R;
-import com.core.app.ActionBackActivity;
 import com.xzjmyk.pm.activity.ui.circle.SendBaiDuLocate;
 import com.xzjmyk.pm.activity.ui.me.LocalVideoActivity;
 import com.xzjmyk.pm.activity.util.im.Constants;
@@ -78,7 +78,7 @@ import java.util.UUID;
 /**
  * 聊天主界面
  */
-public class MucChatActivity extends ActionBackActivity
+public class MucChatActivity extends SupportToolBarActivity
         implements ChatContentView.MessageEventListener, ChatBottomView.ChatBottomListener, ChatMessageListener, MucListener {
 
     @SuppressWarnings("unused")
@@ -128,7 +128,7 @@ public class MucChatActivity extends ActionBackActivity
             mUseId = bundle.getString(AppConstant.EXTRA_USER_ID);
             mNickName = bundle.getString(AppConstant.EXTRA_NICK_NAME);
             isGroupChat = bundle.getBoolean(AppConstant.EXTRA_IS_GROUP_CHAT, false);
-            getSupportActionBar().setTitle(mNickName);
+            setTitle(mNickName);
             noticeFriendList = bundle.getStringArray(Constants.GROUP_JOIN_NOTICE);// 获得加入群新朋友的列表
         }
         if (TextUtils.isEmpty(mUseId) || TextUtils.isEmpty(mNickName)) {
@@ -300,10 +300,10 @@ public class MucChatActivity extends ActionBackActivity
     public void updateUi(String roomName) {
         if (TextUtils.isEmpty(roomName)) {
             Log.d("wang", "mNickName");
-            getSupportActionBar().setTitle(mNickName);
+            setTitle(mNickName);
         } else {
             Log.d("wang", "roomName");
-            getSupportActionBar().setTitle(roomName);
+            setTitle(roomName);
         }
     }
 

+ 0 - 163
WeiChat/src/main/res/layout/layout_main_tab_radio_group.xml

@@ -1,163 +0,0 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="45dp"
-    android:background="@color/white">
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/line"
-        android:background="@color/item_line" />
-
-    <com.xzjmyk.pm.activity.view.DivideRadioGroup
-        android:layout_width="match_parent"
-        android:id="@+id/mDivideRadioGroup"
-        android:layout_height="match_parent"
-        android:baselineAligned="false"
-        android:orientation="horizontal"
-        android:paddingBottom="2dp"
-        android:paddingTop="2dp">
-
-        <FrameLayout
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@null">
-
-            <TextView
-                android:id="@+id/main_tab_one_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="top|right"
-                android:layout_marginRight="16dp"
-                android:background="@drawable/tab_unread_bg"
-                android:gravity="center"
-                android:textColor="@android:color/white"
-                android:textSize="7sp"
-                android:visibility="invisible" />
-
-            <RadioButton
-                android:id="@+id/main_tab_one"
-                style="@style/IMTabButton"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:checked="true"
-                android:paddingTop="3dp"
-                android:textSize="9sp"
-                android:drawableTop="@drawable/tab_job_bg"
-                android:text="@string/message" />
-        </FrameLayout>
-
-        <FrameLayout
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1">
-
-            <RadioButton
-                android:id="@+id/main_tab_two"
-                style="@style/IMTabButton"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:textSize="9sp"
-                android:paddingTop="3dp"
-                android:drawableTop="@drawable/tab_found_bg"
-                android:text="@string/find" />
-
-            <TextView
-                android:id="@+id/main_tab_two_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="top|right"
-                android:layout_marginRight="16dp"
-                android:background="@drawable/tab_unread_bg"
-                android:gravity="center"
-                android:textColor="@android:color/white"
-                android:textSize="7sp"
-                android:visibility="invisible" />
-        </FrameLayout>
-
-        <FrameLayout
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@null">
-
-            <RadioButton
-                android:id="@+id/main_tab_three"
-                style="@style/IMTabButton"
-                android:paddingTop="3dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:drawableTop="@drawable/tab_interview"
-                android:textSize="9sp"
-                android:text="@string/nearby" />
-
-            <TextView
-                android:id="@+id/main_tab_three_tv"
-                android:layout_width="10dp"
-                android:layout_height="10dp"
-                android:layout_gravity="top|right"
-                android:layout_marginRight="20dp"
-                android:background="@drawable/hongdian"
-                android:gravity="center"
-                android:textColor="@android:color/white"
-                android:textSize="7sp"
-                android:visibility="invisible" />
-        </FrameLayout>
-
-        <!--   <FrameLayout
-               android:layout_width="0dip"
-               android:layout_height="match_parent"
-               android:layout_weight="1"
-               android:background="@null" >
-
-               <RadioButton
-                   android:id="@+id/main_tab_four"
-                   style="@style/IMTabButton"
-                   android:layout_width="match_parent"
-                   android:layout_height="match_parent"
-                   android:drawableTop="@drawable/tab_message"
-                   android:text="@string/group_chat" />
-
-               <TextView
-                   android:id="@+id/main_tab_four_tv"
-                   android:layout_width="wrap_content"
-                   android:layout_height="wrap_content"
-                   android:layout_gravity="top|right"
-                   android:layout_marginRight="10dp"
-                   android:background="@drawable/tab_unread_bg"
-                   android:gravity="center"
-                   android:textColor="@android:color/white"
-                   android:textSize="10dp"
-                   android:visibility="invisible" />
-           </FrameLayout>-->
-
-        <FrameLayout
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@null">
-
-            <RadioButton
-                android:paddingTop="3dp"
-                android:id="@+id/main_tab_five"
-                style="@style/IMTabButton"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:drawableTop="@drawable/tab_more"
-                android:textSize="9sp"
-                android:text="@string/me" />
-
-            <TextView
-                android:id="@+id/main_tab_five_tv"
-                android:layout_width="10dp"
-                android:layout_height="10dp"
-                android:layout_gravity="top|right"
-                android:layout_marginRight="20dp"
-                android:background="@drawable/hongdian"
-                android:gravity="center"
-                android:textColor="@android:color/white"
-                android:textSize="7sp"
-                android:visibility="invisible" />
-        </FrameLayout>
-    </com.xzjmyk.pm.activity.view.DivideRadioGroup>
-</RelativeLayout>

+ 2 - 0
app_core/common/src/main/java/com/core/app/MyApplication.java

@@ -36,6 +36,7 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
 import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
+import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
 import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.umeng.analytics.MobclickAgent;
@@ -298,6 +299,7 @@ public class MyApplication extends BaseApplication {
                 .bitmapConfig(Bitmap.Config.RGB_565).
                         cacheInMemory(true)
                 .cacheOnDisc(true)
+                .displayer(new RoundedBitmapDisplayer(10))
 //                .displayer(new RoundedBitmapDisplayer(10))
                 .resetViewBeforeLoading(true)
                 .showImageForEmptyUri(R.drawable.avatar_normal)

+ 4 - 0
app_core/common/src/main/java/com/core/base/SupportToolBarActivity.java

@@ -13,6 +13,7 @@ import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewStub;
+import android.view.WindowManager;
 import android.widget.FrameLayout;
 import android.widget.TextView;
 
@@ -32,6 +33,9 @@ public class SupportToolBarActivity extends BaseActivity {
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
+        getWindow().setSoftInputMode
+                (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN |
+                        WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
         super.onCreate(savedInstanceState);
         super.setContentView(R.layout.base_bar_layout);
         contentFl = findViewById(R.id.contentFl);

+ 1 - 1
app_core/common/src/main/res/drawable/bg_transparent_bule.xml

@@ -18,6 +18,6 @@
             </solid>
         </shape>
     </item>
-    <item android:drawable="@color/transparent"/>
+    <item android:drawable="@null"/>
 
 </selector>

+ 40 - 30
app_core/common/src/main/res/layout/activity_approval.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:whatever="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -20,43 +19,43 @@
             style="@style/bottomTextStyle"
             android:layout_weight="2"
             android:text="@string/take_over"
-            android:visibility="gone"/>
+            android:visibility="gone" />
 
         <Button
             android:id="@+id/agreeTV"
             style="@style/bottomTextStyle"
             android:layout_weight="2"
-            android:text="@string/agree"
             android:background="@drawable/bg_transparent_bule"
-            android:textColor="@drawable/text_bule_white_bg"/>
+            android:text="@string/agree"
+            android:textColor="@drawable/text_bule_white_bg" />
 
         <View
             android:layout_width="@dimen/line"
             android:layout_height="20dp"
             android:layout_gravity="center_vertical"
-            android:background="@color/item_line"/>
+            android:background="@color/item_line" />
 
         <Button
             android:id="@+id/disagreeTV"
             style="@style/bottomTextStyle"
             android:layout_weight="3"
-            android:text="@string/common_disagree"
             android:background="@drawable/bg_transparent_bule"
-            android:textColor="@drawable/text_bule_white_bg"/>
+            android:text="@string/common_disagree"
+            android:textColor="@drawable/text_bule_white_bg" />
 
         <View
             android:layout_width="@dimen/line"
             android:layout_height="20dp"
             android:layout_gravity="center_vertical"
-            android:background="@color/item_line"/>
+            android:background="@color/item_line" />
 
         <TextView
             android:id="@+id/changedealmanTV"
             style="@style/bottomTextStyle"
             android:layout_weight="5"
-            android:text="@string/common_changedealman"
             android:background="@drawable/bg_transparent_bule"
-            android:textColor="@drawable/text_bule_white_bg"/>
+            android:text="@string/common_changedealman"
+            android:textColor="@drawable/text_bule_white_bg" />
 
 
         <View
@@ -64,36 +63,41 @@
             android:layout_width="@dimen/line"
             android:layout_height="20dp"
             android:layout_gravity="center_vertical"
-            android:background="@color/item_line"/>
+            android:background="@color/item_line" />
 
         <Button
             android:id="@+id/nextTV"
             style="@style/bottomTextStyle"
             android:layout_weight="3"
-            android:text="@string/next_article"
             android:background="@drawable/bg_transparent_bule"
-            android:textColor="@drawable/text_bule_white_bg"/>
+            android:text="@string/next_article"
+            android:textColor="@drawable/text_bule_white_bg" />
     </LinearLayout>
 
+    <View
+        android:id="@+id/viewOperation"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/padding"
+        android:layout_above="@id/operationLL"
+        android:background="#f2f2f2" />
+
     <RelativeLayout
         android:id="@+id/opinionRL"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_above="@id/operationLL"
-        android:layout_marginBottom="@dimen/paddingApp"
-        android:layout_marginTop="@dimen/paddingApp"
+        android:layout_above="@id/viewOperation"
         android:background="@color/white">
 
         <ImageView
             android:id="@+id/commonWordsIV"
             android:layout_width="20dp"
             android:layout_height="20dp"
+            android:layout_alignParentEnd="true"
+            android:layout_alignParentRight="true"
+            android:layout_alignTop="@+id/voiceIV"
             android:layout_gravity="center_vertical"
             android:src="@drawable/changyongyu"
-            android:visibility="visible"
-            android:layout_alignTop="@+id/voiceIV"
-            android:layout_alignParentRight="true"
-            android:layout_alignParentEnd="true" />
+            android:visibility="visible" />
 
         <ImageView
             android:id="@+id/voiceIV"
@@ -104,8 +108,7 @@
             android:layout_marginTop="3dp"
             android:layout_toLeftOf="@+id/commonWordsIV"
             android:src="@drawable/btn_yuyin_nor"
-            android:visibility="visible"
-            />
+            android:visibility="visible" />
 
         <ImageView
             android:id="@+id/inputTagIV"
@@ -113,28 +116,35 @@
             android:layout_height="15dp"
             android:layout_marginLeft="10dp"
             android:layout_marginTop="5dp"
-            android:src="@drawable/shuru"/>
+            android:src="@drawable/shuru" />
 
         <com.andreabaccega.widget.FormEditText
             android:id="@+id/opinionET"
             style="@style/form_relative_right_text2"
             android:layout_alignParentTop="true"
+            android:layout_toLeftOf="@+id/voiceIV"
+            android:layout_toRightOf="@+id/inputTagIV"
             android:hint="请输入审批意见..."
             android:minHeight="50dp"
             android:paddingLeft="10dp"
             android:paddingTop="5dp"
             whatever:customRegexp="^[\\s\\S]{0,30}$"
             whatever:testErrorString="输入错误或内容超长"
-            whatever:testType="regexp"
-            android:layout_toLeftOf="@+id/voiceIV"
-            android:layout_toRightOf="@+id/inputTagIV"
-            />
+            whatever:testType="regexp" />
     </RelativeLayout>
 
+
+    <View
+        android:id="@+id/viewOperationtop"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/padding"
+        android:layout_above="@id/opinionRL"
+        android:background="#f2f2f2" />
+
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_above="@id/opinionRL"
+        android:layout_above="@id/viewOperationtop"
         android:background="#F2F2F2"
         android:focusableInTouchMode="true">
 
@@ -146,6 +156,6 @@
             android:layout_alignParentStart="true"
             android:layout_alignParentTop="true"
             android:background="@color/base_bg"
-            android:focusableInTouchMode="false"/>
+            android:focusableInTouchMode="false" />
     </RelativeLayout>
 </RelativeLayout>

+ 1 - 1
app_core/common/src/main/res/layout/contact_item.xml

@@ -61,7 +61,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="优软产品规划部>部长"
-        android:textColor="@color/text_hine"
+        android:textColor="#999999"
         android:layout_marginTop="2dp"
         android:textSize="12sp" />
 </LinearLayout>

+ 1 - 1
app_core/common/src/main/res/layout/item_approval_node.xml

@@ -35,7 +35,7 @@
                 android:id="@+id/timeTv"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textSize="10sp" />
+                android:textSize="14sp" />
         </LinearLayout>
 
         <ImageView

+ 4 - 3
app_core/common/src/main/res/layout/item_message.xml

@@ -33,14 +33,14 @@
             android:gravity="center"
             android:text="999"
             android:textColor="@android:color/white"
-            android:textSize="10.0dip" />
+            android:textSize="10sp" />
     </FrameLayout>
 
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_centerVertical="true"
-        android:layout_marginLeft="3dp"
+        android:layout_marginLeft="1dp"
         android:layout_toRightOf="@id/schedule_head_area"
         android:gravity="center_vertical">
 
@@ -51,6 +51,7 @@
             android:layout_toLeftOf="@+id/time_tv"
             android:ellipsize="end"
             android:lines="1"
+            android:layout_marginTop="2dp"
             android:text="我的审批"
             android:textColor="#333333"
             android:textSize="15sp" />
@@ -69,7 +70,7 @@
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_below="@id/nick_name_tv"
-            android:layout_marginTop="8dp"
+            android:layout_marginTop="@dimen/paddingMin"
             android:ellipsize="end"
             android:lines="1"
             android:textColor="#999999"

+ 3 - 3
app_core/common/src/main/res/layout/item_secondmsgs.xml

@@ -21,15 +21,15 @@
         <!--android:background="@color/item_color1"-->
         <FrameLayout
             android:id="@+id/msgs_area"
-            android:layout_width="57dp"
+            android:layout_width="53dp"
             android:layout_height="65dp"
             android:layout_centerVertical="true">
 
 
             <ImageView
                 android:id="@+id/msgs_img"
-                android:layout_width="@dimen/item_img_height"
-                android:layout_height="@dimen/item_img_width"
+                android:layout_width="42dp"
+                android:layout_height="42dp"
                 android:layout_gravity="center_vertical"
                 android:background="@color/transparent"
                 android:contentDescription="@string/app_name"

+ 153 - 143
app_core/common/src/main/res/layout/layout_main_tab_radio_group.xml

@@ -1,153 +1,163 @@
-<com.xzjmyk.pm.activity.view.DivideRadioGroup
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="60dp"
-    android:background="#FFFFFF"
-    android:baselineAligned="false"
-    android:gravity="bottom"
-    android:orientation="horizontal"
-    android:paddingBottom="4dp"
-    android:paddingTop="4dp">
-    <FrameLayout
-        android:layout_width="0dip"
+    android:layout_height="45dp"
+    android:background="@color/white">
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:background="@color/item_line" />
+
+    <com.xzjmyk.pm.activity.view.DivideRadioGroup
+        android:id="@+id/mDivideRadioGroup"
+        android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:background="@null" >
-
-        <TextView
-            android:id="@+id/main_tab_one_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="top|right"
-            android:layout_marginRight="10dp"
-            android:background="@drawable/tab_unread_bg"
-            android:gravity="center"
-            android:textColor="@android:color/white"
-            android:textSize="10dp"
-            android:visibility="invisible" />
-
-        <RadioButton
-            android:id="@+id/main_tab_one"
-            style="@style/IMTabButton"
-            android:layout_width="match_parent"
+        android:baselineAligned="false"
+        android:orientation="horizontal"
+        android:paddingBottom="2dp"
+        android:paddingTop="2dp">
+
+        <FrameLayout
+            android:layout_width="0dip"
             android:layout_height="match_parent"
-            android:checked="true"
-            android:drawableTop="@drawable/tab_job_bg"
-            android:paddingTop="3dp"
-            android:text="@string/message" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-         >
+            android:layout_weight="1"
+            android:background="@null">
+
+            <RadioButton
+                android:id="@+id/main_tab_one"
+                style="@style/IMTabButton"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:checked="true"
+                android:drawableTop="@drawable/tab_job_bg"
+                android:paddingTop="7dp"
+                android:text="@string/message"
+                android:textSize="9sp" />
 
-        <RadioButton
-            android:id="@+id/main_tab_two"
-            style="@style/IMTabButton"
-            android:layout_width="match_parent"
+            <TextView
+                android:id="@+id/main_tab_one_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="top|right"
+                android:layout_marginRight="20dp"
+                android:background="@drawable/tab_unread_bg"
+                android:gravity="center"
+                android:textColor="@android:color/white"
+                android:textSize="7sp"
+                android:visibility="invisible" />
+        </FrameLayout>
+
+        <FrameLayout
+            android:layout_width="0dip"
             android:layout_height="match_parent"
-            android:drawableTop="@drawable/tab_found_bg"
-            android:text="@string/find"
-            android:paddingTop="3dp"/>
-
-        <TextView
-            android:id="@+id/main_tab_two_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="top|right"
-            android:layout_marginRight="10dp"
-            android:background="@drawable/tab_unread_bg"
-            android:gravity="center"
-            android:textColor="@android:color/white"
-            android:textSize="10dp"
-            android:visibility="invisible" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:background="@null" >
+            android:layout_weight="1">
+
+            <RadioButton
+                android:id="@+id/main_tab_two"
+                style="@style/IMTabButton"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:drawableTop="@drawable/tab_found_bg"
+                android:paddingTop="7dp"
+                android:text="@string/find"
+                android:textSize="9sp" />
+
+            <TextView
+                android:id="@+id/main_tab_two_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="top|right"
+                android:layout_marginRight="20dp"
+                android:background="@drawable/tab_unread_bg"
+                android:gravity="center"
+                android:textColor="@android:color/white"
+                android:textSize="7sp"
+                android:visibility="invisible" />
+        </FrameLayout>
 
-        <RadioButton
-            android:id="@+id/main_tab_three"
-            style="@style/IMTabButton"
-            android:layout_width="match_parent"
+        <FrameLayout
+            android:layout_width="0dip"
             android:layout_height="match_parent"
-            android:drawableTop="@drawable/tab_interview"
-            android:text="@string/nearby"
-            android:paddingTop="3dp"/>
-
-        <TextView
-            android:id="@+id/main_tab_three_tv"
-            android:layout_width="10dp"
-            android:layout_height="10dp"
-            android:layout_gravity="top|right"
-            android:layout_marginRight="20dp"
-            android:layout_marginTop="5dp"
-            android:background="@drawable/hongdian"
-            android:gravity="center"
-            android:textColor="@android:color/white"
-            android:textSize="10dp"
-            android:visibility="invisible" />
-    </FrameLayout>
-
-    <!--   <FrameLayout
-           android:layout_width="0dip"
-           android:layout_height="match_parent"
-           android:layout_weight="1"
-           android:background="@null" >
-
-           <RadioButton
-               android:id="@+id/main_tab_four"
-               style="@style/IMTabButton"
-               android:layout_width="match_parent"
+            android:layout_weight="1"
+            android:background="@null">
+
+            <RadioButton
+                android:id="@+id/main_tab_three"
+                style="@style/IMTabButton"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:drawableTop="@drawable/tab_interview"
+                android:paddingTop="7dp"
+                android:text="@string/nearby"
+                android:textSize="9sp" />
+
+            <TextView
+                android:id="@+id/main_tab_three_tv"
+                android:layout_width="10dp"
+                android:layout_height="10dp"
+                android:layout_gravity="top|right"
+                android:layout_marginRight="28dp"
+                android:background="@drawable/hongdian"
+                android:gravity="center"
+                android:textColor="@android:color/white"
+                android:textSize="7sp"
+                android:visibility="invisible" />
+        </FrameLayout>
+
+        <!--   <FrameLayout
+               android:layout_width="0dip"
                android:layout_height="match_parent"
-               android:drawableTop="@drawable/tab_message"
-               android:text="@string/group_chat" />
-
-           <TextView
-               android:id="@+id/main_tab_four_tv"
-               android:layout_width="wrap_content"
-               android:layout_height="wrap_content"
-               android:layout_gravity="top|right"
-               android:layout_marginRight="10dp"
-               android:background="@drawable/tab_unread_bg"
-               android:gravity="center"
-               android:textColor="@android:color/white"
-               android:textSize="10dp"
-               android:visibility="invisible" />
-       </FrameLayout>-->
-
-    <FrameLayout
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:background="@null" >
+               android:layout_weight="1"
+               android:background="@null" >
 
-        <RadioButton
-            android:id="@+id/main_tab_five"
-            style="@style/IMTabButton"
-            android:layout_width="match_parent"
+               <RadioButton
+                   android:id="@+id/main_tab_four"
+                   style="@style/IMTabButton"
+                   android:layout_width="match_parent"
+                   android:layout_height="match_parent"
+                   android:drawableTop="@drawable/tab_message"
+                   android:text="@string/group_chat" />
+
+               <TextView
+                   android:id="@+id/main_tab_four_tv"
+                   android:layout_width="wrap_content"
+                   android:layout_height="wrap_content"
+                   android:layout_gravity="top|right"
+                   android:layout_marginRight="10dp"
+                   android:background="@drawable/tab_unread_bg"
+                   android:gravity="center"
+                   android:textColor="@android:color/white"
+                   android:textSize="10dp"
+                   android:visibility="invisible" />
+           </FrameLayout>-->
+
+        <FrameLayout
+            android:layout_width="0dip"
             android:layout_height="match_parent"
-            android:drawableTop="@drawable/tab_more"
-            android:text="@string/me"
-            android:paddingTop="3dp"/>
-
-        <TextView
-            android:id="@+id/main_tab_five_tv"
-            android:layout_width="10dp"
-            android:layout_height="10dp"
-            android:layout_gravity="top|right"
-            android:layout_marginRight="20dp"
-            android:layout_marginTop="5dp"
-            android:background="@drawable/hongdian"
-            android:gravity="center"
-            android:textColor="@android:color/white"
-            android:textSize="10dp"
-            android:visibility="invisible"/>
-    </FrameLayout>
-
-</com.xzjmyk.pm.activity.view.DivideRadioGroup>
+            android:layout_weight="1"
+            android:background="@null">
+
+            <RadioButton
+                android:id="@+id/main_tab_five"
+                style="@style/IMTabButton"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:drawableTop="@drawable/tab_more"
+                android:paddingTop="7dp"
+                android:text="@string/me"
+                android:textSize="9sp" />
+
+            <TextView
+                android:id="@+id/main_tab_five_tv"
+                android:layout_width="10dp"
+                android:layout_height="10dp"
+                android:layout_gravity="top|right"
+                android:layout_marginRight="28dp"
+                android:background="@drawable/hongdian"
+                android:gravity="center"
+                android:textColor="@android:color/white"
+                android:textSize="7sp"
+                android:visibility="invisible" />
+        </FrameLayout>
+    </com.xzjmyk.pm.activity.view.DivideRadioGroup>
+</RelativeLayout>

+ 1 - 1
app_core/common/src/main/res/values-zh-rCN/strings.xml

@@ -956,7 +956,7 @@
     <!--我的审批-->
     <string name="task_unconfim">待审批</string>
     <string name="task_confimed">已审批</string>
-    <string name="task_request_me">我发起</string>
+    <string name="task_request_me">我发起</string>
     <!--待办工作-->
     <!--添加任务-->
     <string name="task_add">新增任务</string>

+ 1 - 1
app_core/common/src/main/res/values/strings.xml

@@ -1299,7 +1299,7 @@
     <!--我的审批-->
     <string name="task_unconfim">待审批</string>
     <string name="task_confimed">已审批</string>
-    <string name="task_request_me">我发起</string>
+    <string name="task_request_me">我发起</string>
     <!--待办工作-->
     <!--添加任务-->
     <string name="task_add">新增任务</string>

+ 21 - 17
app_modular/appcontact/src/main/java/com/uas/appcontact/adapter/FriendSortAdapter.java

@@ -14,10 +14,12 @@ import com.alibaba.fastjson.JSON;
 import com.common.LogUtil;
 import com.common.data.StringUtil;
 import com.common.system.SystemUtil;
+import com.core.app.MyApplication;
 import com.core.model.Friend;
 import com.core.utils.helper.AvatarHelper;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.widget.crouton.Crouton;
+import com.nostra13.universalimageloader.core.ImageLoader;
 import com.uas.appcontact.R;
 import com.uas.appcontact.db.TopContactsDao;
 
@@ -31,7 +33,7 @@ import java.util.regex.Pattern;
 import se.emilsjolander.stickylistheaders.StickyListHeadersAdapter;
 
 
-public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,StickyListHeadersAdapter {
+public class FriendSortAdapter extends BaseAdapter implements SectionIndexer, StickyListHeadersAdapter {
 
     private Context mContext;
     private List<BaseSortModel<Friend>> mSortFriends;
@@ -100,7 +102,7 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
 //        } else {
 //            holder.tag_tv.setVisibility(View.GONE);
 //        }
-       final Friend friend = mSortFriends.get(position).getBean();
+        final Friend friend = mSortFriends.get(position).getBean();
         final String phone = friend.getPhone();
         if (!StringUtil.isEmpty(phone)) {
             String check = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
@@ -118,17 +120,22 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
         /*头像*/
         if (friend.getRoomFlag() == 0) {// 这是单个人
             if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 系统消息的头像
-                holder.header_img.setImageResource(R.drawable.im_notice);
+//                holder.header_img.setImageResource(R.drawable.im_notice);
+                ImageLoader.getInstance().displayImage("drawable://" + R.drawable.im_notice, holder.header_img, MyApplication.mAvatarRoundImageOptions);
+
             } else if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友的头像
-                holder.header_img.setImageResource(R.drawable.im_new_friends);
+//                holder.header_img.setImageResource(R.drawable.im_new_friends);
+                ImageLoader.getInstance().displayImage("drawable://" + R.drawable.im_new_friends, holder.header_img, MyApplication.mAvatarRoundImageOptions);
             } else if (Integer.valueOf(friend.getUserId()) == 0) {
-                holder.header_img.setImageResource(R.drawable.avatar_normal);
+//                holder.header_img.setImageResource(R.drawable.avatar_normal);
+                ImageLoader.getInstance().displayImage("drawable://" + R.drawable.avatar_normal, holder.header_img, MyApplication.mAvatarRoundImageOptions);
+
             } else {// 其他
                 if (isRefeshed) {
                     AvatarHelper.getInstance().display(friend.getUserId(), holder.header_img, true, true);//设定为每次刷新都会去删除缓存重新获取数据
                     isRefeshed = false;
                 } else {
-                    AvatarHelper.getInstance().displayAvatar(friend.getUserId(), holder.header_img, true);//不会删除缓存
+                    AvatarHelper.getInstance().display(friend.getUserId(), holder.header_img, true, true);//不会删除缓存
                 }
             }
         } else {// 这是1个房间
@@ -142,7 +149,7 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
         String name = friend.getShowName();
         holder.name_tv.setText(name);
         /*个性签名*/
-        holder.sub_tv.setText(TextUtils.isEmpty(friend.getPhone())?"":friend.getPhone());
+        holder.sub_tv.setText(TextUtils.isEmpty(friend.getPhone()) ? "" : friend.getPhone());
         final View finalConvertView = convertView;
         holder.phone_img.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -153,9 +160,9 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
                     Matcher matcher = regex.matcher(phone.toString());
                     if (matcher.matches()) {
 //                        selectByPhone(phone, finalConvertView);
-                        SystemUtil.phoneAction(mContext,phone);
-                        LogUtil.i("通讯录界面 拨打电话\n"+ JSON.toJSONString(friend));
-                        if (friend!=null){
+                        SystemUtil.phoneAction(mContext, phone);
+                        LogUtil.i("通讯录界面 拨打电话\n" + JSON.toJSONString(friend));
+                        if (friend != null) {
                             friend.setPhone(phone);
                         }
                         TopContactsDao.api().addGoodFriend(friend);
@@ -171,9 +178,6 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
     }
 
 
-
-   
-
     /**
      * 根据ListView的当前位置获取分类的首字母的Char ascii值
      */
@@ -203,12 +207,12 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
     @Override
     public View getHeaderView(int position, View convertView, ViewGroup parent) {
         HeaderViewHolder viewHolder = null;
-        if (convertView == null){
-            convertView = LayoutInflater.from(mContext).inflate(R.layout.layout_head,parent,false);
+        if (convertView == null) {
+            convertView = LayoutInflater.from(mContext).inflate(R.layout.layout_head, parent, false);
             viewHolder = new HeaderViewHolder();
             viewHolder.cityLetterTextView = (TextView) convertView.findViewById(R.id.head);
             convertView.setTag(viewHolder);
-        }else {
+        } else {
             viewHolder = (HeaderViewHolder) convertView.getTag();
         }
         viewHolder.cityLetterTextView.setText(mSortFriends.get(position).getFirstLetter());
@@ -221,7 +225,7 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
         return mSortFriends.get(position).getFirstLetter().charAt(0);
     }
 
-    class HeaderViewHolder{
+    class HeaderViewHolder {
         TextView cityLetterTextView;
     }
 

+ 2 - 1
app_modular/appmessages/src/main/AndroidManifest.xml

@@ -6,7 +6,8 @@
         android:allowBackup="true"
         android:label="@string/app_name"
         android:supportsRtl="true">
-        <activity android:name=".activity.MsgsSecondCommonActivity" />
+        <activity android:name=".activity.MsgsSecondCommonActivity"
+            android:theme="@style/MainBaseTheme"/>
         <activity android:name=".activity.PlatMsgThirdActivity" />
         <activity android:name=".activity.MsgThirdWebActivity" />
         <activity android:name=".activity.ProcessB2BActivity">

+ 1 - 4
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/ApprovalActivity.java

@@ -12,7 +12,6 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.WindowManager;
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
 import android.widget.ImageView;
@@ -187,9 +186,7 @@ public class ApprovalActivity extends SupportToolBarActivity implements IApprova
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
-        getWindow().setSoftInputMode
-                (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN |
-                        WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
+
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_approval);
         ViewUtils.inject(this);

+ 3 - 5
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MsgsSecondCommonActivity.java

@@ -18,7 +18,6 @@ import android.widget.AdapterView;
 import android.widget.BaseAdapter;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
-import android.widget.ListView;
 import android.widget.PopupWindow;
 import android.widget.TextView;
 
@@ -34,13 +33,12 @@ import com.core.api.wxapi.ApiConfig;
 import com.core.api.wxapi.ApiPlatform;
 import com.core.api.wxapi.ApiUtils;
 import com.core.app.MyApplication;
-import com.core.base.BaseActivity;
+import com.core.base.SupportToolBarActivity;
 import com.core.dao.MessageDao;
 import com.core.model.MessageModel;
 import com.core.net.http.ViewUtil;
 import com.core.utils.CommonUtil;
 import com.core.utils.IntentUtils;
-import com.core.utils.TimeUtils;
 import com.core.widget.EmptyLayout;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
@@ -57,7 +55,7 @@ import java.util.Map;
  * Created by FANGlh on 2017/2/24.
  * function: 消息第二层 通用界面
  */
-public class MsgsSecondCommonActivity extends BaseActivity implements View.OnClickListener {
+public class MsgsSecondCommonActivity extends SupportToolBarActivity implements View.OnClickListener {
     private static final int GET_SECOND_MSGS = 17022801;
     private static final int MSG_MARKED_READED = 0x35;
     private static final int SECOND_MSG_DETAILY = 0x329;
@@ -234,7 +232,7 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
         mark_time = intent.getStringExtra("readTime");
         Log.i("mark_time,msg_type", mark_time + msg_type + "");
         if (!StringUtil.isEmpty(msg_title)) {
-            getSupportActionBar().setTitle(msg_title);
+            setTitle(msg_title);
         }
         if (platform && MyApplication.getInstance().isNetworkActive() && !"kpi".equals(msg_type)) {
             progressDialog.show();

+ 6 - 6
app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/MessageAdapter.java

@@ -65,13 +65,13 @@ public class MessageAdapter extends BaseAdapter {
         Friend friend = (Friend) getItem(position);
         ViewHolder holder = null;
         if (convertView == null) {
-            convertView = LayoutInflater.from(mContext).inflate(R.layout.item_message, null);
+            convertView = LayoutInflater.from(mContext).inflate(R.layout.item_message_header, null);
             holder = new ViewHolder();
-            holder.avatar_img = (ImageView) convertView.findViewById(R.id.avatar_img);
-            holder.num_tv = (TextView) convertView.findViewById(R.id.num_tv);
-            holder.nick_name_tv = (TextView) convertView.findViewById(R.id.nick_name_tv);
-            holder.content_tv = (TextView) convertView.findViewById(R.id.content_tv);
-            holder.time_tv = (TextView) convertView.findViewById(R.id.time_tv);
+            holder.avatar_img = (ImageView) convertView.findViewById(R.id.headerImg);
+            holder.num_tv = (TextView) convertView.findViewById(R.id.headerNumTv);
+            holder.nick_name_tv = (TextView) convertView.findViewById(R.id.titleTv);
+            holder.content_tv = (TextView) convertView.findViewById(R.id.headerSubTv);
+            holder.time_tv = (TextView) convertView.findViewById(R.id.timeTv);
             convertView.setTag(holder);
         } else {
             holder = (ViewHolder) convertView.getTag();

+ 289 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/MessageNewAdapter.java

@@ -0,0 +1,289 @@
+package com.modular.appmessages.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.text.Html;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.common.data.ListUtils;
+import com.common.data.StringUtil;
+import com.core.app.MyApplication;
+import com.core.model.Friend;
+import com.core.model.XmppMessage;
+import com.core.utils.TimeUtils;
+import com.core.utils.helper.AvatarHelper;
+import com.core.utils.sortlist.BaseSortModel;
+import com.core.widget.RedView;
+import com.core.xmpp.utils.HtmlUtils;
+import com.modular.appmessages.R;
+import com.modular.appmessages.model.MessageHeader;
+import com.modular.appmessages.model.MessageNew;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MessageNewAdapter extends RecyclerView.Adapter<MessageNewAdapter.ViewHolder> {
+    private Context ct;
+    private List<MessageNew> models;
+    private List<MessageNew> headerModels, contentModels;
+
+
+    public List<MessageNew> getModels() {
+        return models;
+    }
+
+    public MessageNewAdapter(Context ct) {
+        this.ct = ct;
+        this.models = new ArrayList<>();
+        this.headerModels = new ArrayList<>();
+        this.contentModels = new ArrayList<>();
+    }
+
+    public void addHeadModel(int item, MessageNew model) {
+        if (model == null) {
+            return;
+        }
+        if (this.headerModels == null) {
+            this.headerModels = new ArrayList<>();
+        }
+        if (ListUtils.getSize(this.headerModels) > item) {
+            this.headerModels.add(item, model);
+        } else {
+            this.headerModels.add(model);
+        }
+
+    }
+
+    public void setContentModels(List<MessageNew> contentModels) {
+        if (contentModels != null) {
+            this.models.clear();
+            this.contentModels = contentModels;
+            this.models.addAll(this.headerModels);
+            this.models.addAll(this.contentModels);
+        }
+    }
+
+    public int getHeaderSize() {
+        return ListUtils.getSize(headerModels);
+    }
+
+    public void setHeaderModels(List<MessageNew> models) {
+        if (models != null) {
+            this.models.clear();
+            this.headerModels = models;
+            this.models.addAll(this.headerModels);
+            this.models.addAll(this.contentModels);
+        }
+    }
+
+
+    @Override
+    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
+        return new ViewHolder(LayoutInflater.from(ct).inflate(R.layout.item_message_header, viewGroup, false));
+    }
+
+
+    @Override
+    public int getItemCount() {
+        return ListUtils.getSize(models);
+    }
+
+    protected class ViewHolder extends RecyclerView.ViewHolder {
+        private ImageView headerImg;
+        private TextView headerNumTv, titleTv, headerSubTv, timeTv;
+        private RedView headerRv;
+
+        public ViewHolder(View convertView) {
+            super(convertView);
+            headerImg = (ImageView) convertView.findViewById(R.id.headerImg);
+            headerNumTv = (TextView) convertView.findViewById(R.id.headerNumTv);
+            headerRv = (RedView) convertView.findViewById(R.id.headerRv);
+            titleTv = (TextView) convertView.findViewById(R.id.titleTv);
+            headerSubTv = (TextView) convertView.findViewById(R.id.headerSubTv);
+            timeTv = (TextView) convertView.findViewById(R.id.timeTv);
+        }
+    }
+
+
+    @Override
+    public void onBindViewHolder(ViewHolder viewHolder, int i) {
+        MessageNew model = models.get(i);
+        viewHolder.itemView.setTag(R.id.tag_key,i);
+        viewHolder.itemView.setTag(R.id.tag_key2,model);
+        if (model != null && model.getT() != null) {
+            if (model.getT() instanceof MessageHeader) {
+                bindHeader((MessageHeader) model.getT(), viewHolder);
+            } else if (model.getT() instanceof BaseSortModel) {
+                BaseSortModel baseSortModel = (BaseSortModel) model.getT();
+                if (baseSortModel.getBean() instanceof Friend) {
+                    bindView(viewHolder, (Friend) baseSortModel.getBean());
+                }
+            }
+        }
+    }
+
+
+    private void bindHeader(MessageHeader model, ViewHolder hodler) {
+        hodler.itemView.setOnLongClickListener(null);
+        hodler.itemView.setOnClickListener(mOnClickListener);
+        if (model != null) {
+            hodler.headerImg.setImageResource(model.getIcon());
+            if (model.getRedNum() > 0) {
+                hodler.headerNumTv.setVisibility(View.VISIBLE);
+                hodler.headerNumTv.setText(String.valueOf(model.getRedNum()));
+            } else {
+                hodler.headerNumTv.setVisibility(View.GONE);
+                hodler.headerNumTv.setText("");
+            }
+            hodler.titleTv.setText(model.getName());
+            hodler.headerSubTv.setText(model.getSubDoc());
+            if (model.isHideRed()) {
+                hodler.headerRv.setVisibility(View.GONE);
+                hodler.timeTv.setVisibility(View.VISIBLE);
+                hodler.timeTv.setText(model.getTime());
+            } else {
+                hodler.headerRv.setVisibility(View.VISIBLE);
+                hodler.headerRv.setName(model.getRedMessage());
+                hodler.timeTv.setVisibility(View.GONE);
+            }
+        }
+    }
+
+    private View.OnLongClickListener mOnLongClickListener = new View.OnLongClickListener() {
+        @Override
+        public boolean onLongClick(View view) {
+
+            if (mItemTouchListener != null && view != null) {
+                Object tag = view.getTag(R.id.tag_key);
+                if (tag != null && tag instanceof Integer) {
+                    int id = (int) tag;
+                    mItemTouchListener.longClick(id);
+                }
+            }
+            return false;
+        }
+    };
+    private View.OnClickListener mOnClickListener = new View.OnClickListener() {
+        @Override
+        public void onClick(View view) {
+            if (mItemTouchListener != null && view != null) {
+                Object tag = view.getTag(R.id.tag_key);
+                Object tag2 = view.getTag(R.id.tag_key2);
+                if (tag != null && tag instanceof Integer && tag2 != null && tag2 instanceof MessageNew) {
+                    int id = (int) tag;
+                    MessageNew model = (MessageNew) tag2;
+                    mItemTouchListener.click(id, model);
+                }
+            }
+        }
+    };
+
+    private void bindView(ViewHolder holder, Friend friend) {
+        holder.itemView.setOnLongClickListener(mOnLongClickListener);
+        holder.itemView.setOnClickListener(mOnClickListener);
+        holder.headerImg.setBackgroundResource(R.color.transparent);
+        //设置头像
+        if (friend.getType() == XmppMessage.TYPE_ERP) {
+            doShowMsgPhotos(holder, friend);
+            holder.timeTv.setText(TimeUtils.getFriendlyTimeDesc(MyApplication.getInstance(), friend.getTimeSend()));
+        } else if (friend.getType() == XmppMessage.TYPE_UUHELPER) {
+            holder.timeTv.setText(TimeUtils.getFriendlyTimeDesc(MyApplication.getInstance(), friend.getTimeSend()));
+            holder.headerImg.setImageResource(R.drawable.icon_uuhelper);
+        } else {
+            if (friend.getRoomFlag() == 0) {// 这是单个人
+                AvatarHelper.getInstance().display(friend.getUserId(), holder.headerImg, false, false);//每次刷新都会去删除此人缓存
+            } else {
+                if (TextUtils.isEmpty(friend.getRoomCreateUserId())) {
+                    holder.headerImg.setImageResource(R.drawable.qunliao);
+                } else {
+                    AvatarHelper.getInstance().displayAvatarPng(friend.getRoomCreateUserId(), holder.headerImg, true);// 目前在备注名放房间的创建者Id
+                }
+            }
+            holder.timeTv.setText(TimeUtils.getFriendlyTimeDesc(MyApplication.getInstance(), friend.getTimeSend()));
+        }
+
+        //设置名字和时间
+        holder.titleTv.setText(friend.getRemarkName() != null ? friend.getRemarkName() : friend.getNickName());
+        //设置内容数据显示
+        CharSequence content = "";
+        if (friend.getType() == XmppMessage.TYPE_TEXT) {
+            String s = StringUtil.replaceSpecialChar(friend.getContent());
+            content = HtmlUtils.transform200SpanString(s.replaceAll("\n", "\r\n"), true);
+        } else {
+            content = friend.getContent();
+        }
+        if (!TextUtils.isEmpty(content)) {
+            holder.headerSubTv.setText(Html.fromHtml(content.toString()));
+        } else {
+            holder.headerSubTv.setText("");
+        }
+        //设置红点显示数量
+        if (friend.getUnReadNum() > 0) {
+            String numStr = friend.getUnReadNum() >= 99 ? "99+" : friend.getUnReadNum() + "";
+            holder.headerNumTv.setText(numStr);
+            holder.headerNumTv.setVisibility(View.VISIBLE);
+        } else {
+            holder.headerNumTv.setVisibility(View.GONE);
+        }
+
+    }
+
+    private void doShowMsgPhotos(ViewHolder holder, Friend friend) {
+        String msg_type = friend.getDescription();
+        if (!TextUtils.isEmpty(msg_type)) {
+            int imageurl = 0;
+            switch (msg_type) {
+                case "note": // 通知公告
+                    imageurl = R.drawable.home_image_03_u;
+                    break;
+                case "common": // 普通知会
+                    imageurl = R.drawable.putongzhihui;
+                    break;
+                case "b2b": // b2b提醒
+                    imageurl = R.drawable.b2btixing;
+                    break;
+                case "crm":  // CRM提醒
+                    imageurl = R.drawable.crmtixing;
+                    break;
+                case "kpi": // 考勤提醒
+                    imageurl = R.drawable.kaoqintixing;
+                    break;
+                case "meeting": // 会议提醒
+                    imageurl = R.drawable.huiyitixing;
+                    break;
+                case "process": // 审批知会
+                    imageurl = R.drawable.shenpizhihui;
+                    break;
+                case "job": // 稽核提醒
+                    imageurl = R.drawable.jihetixing;
+                    break;
+                case "system": // 知会消息
+                    imageurl = R.drawable.zhihuixiaoxi;
+                    break;
+                case "task": // 任务提醒
+                    imageurl = R.drawable.home_image_02_u;
+                    break;
+                default:
+                    imageurl = R.drawable.gongzuotixing;
+            }
+            holder.headerImg.setImageResource(imageurl);
+        }
+    }
+
+    private ItemTouchListener mItemTouchListener;
+
+    public void setItemTouchListener(ItemTouchListener mItemTouchListener) {
+        this.mItemTouchListener = mItemTouchListener;
+    }
+
+    public interface ItemTouchListener {
+        void longClick(int id);
+
+        void click(int id, MessageNew messageNew);
+    }
+}

+ 10 - 6
app_modular/appmessages/src/main/java/com/modular/appmessages/fragment/ApprovalListFragment.java

@@ -56,14 +56,18 @@ public class ApprovalListFragment extends ViewPagerLazyFragment implements OnSma
     @Override
     public void onResume() {
         super.onResume();
-        if (tabItem == 1) {
+        if (isShowing() && tabItem == 1) {
             loadData();
         }
+
     }
 
     @Override
     protected void LazyData() {
         initView();
+        if (tabItem != 1) {
+            loadData();
+        }
     }
 
     @Override
@@ -119,8 +123,6 @@ public class ApprovalListFragment extends ViewPagerLazyFragment implements OnSma
                 ToastUtil.showToast(ct, R.string.networks_out, (ViewGroup) getRootView());
             return;
         }
-
-
         if (!mSimpleRefreshLayout.isRefreshing()) {
             progressDialog.show();
         }
@@ -241,7 +243,7 @@ public class ApprovalListFragment extends ViewPagerLazyFragment implements OnSma
                 if (!StringUtil.isEmpty(jpStatus)) {
                     if (jpStatus.startsWith("不同意") || jpStatus.startsWith("结束流程") || jpStatus.startsWith("未通过")) {
                         jpStatus = "未通过";
-                        statusColor = R.color.red;
+                        statusColor = R.color.done_approval;
                     } else if (jpStatus.startsWith("变更处理人")) {
                         statusColor = R.color.done_approval;
                         if (!StringUtil.isEmpty(e.getOperatedDescription())) {
@@ -262,7 +264,7 @@ public class ApprovalListFragment extends ViewPagerLazyFragment implements OnSma
                         statusColor = R.color.approvaling;
                         jpStatus = "等待" + e.getNodeDealMan() + getString(R.string.approvel);
                     } else if (jpStatus.equals("未通过")) {
-                        statusColor = R.color.red;
+                        statusColor = R.color.done_approval;
                     } else if (jpStatus.equals("已审批")) {
                         statusColor = R.color.titleBlue;
                     }
@@ -287,7 +289,9 @@ public class ApprovalListFragment extends ViewPagerLazyFragment implements OnSma
             if (mUpdateNumListener != null) {
                 mUpdateNumListener.update(ListUtils.getSize(approvalLists));
             }
-            Collections.sort(approvalLists, mComparator);
+            if (!ListUtils.isEmpty(approvalLists)){
+                Collections.sort(approvalLists, mComparator);
+            }
         }
         if (mApprovalListAdapter == null) {
             mApprovalListAdapter = new ApprovalListAdapter(getContext(), tabItem, approvalLists, mOnItemClickListener);

+ 0 - 33
app_modular/appmessages/src/main/java/com/modular/appmessages/fragment/MessageNewFragment.java

@@ -1,33 +0,0 @@
-package com.modular.appmessages.fragment;
-
-import android.os.Bundle;
-import android.support.v7.widget.RecyclerView;
-
-import com.core.base.EasyFragment;
-import com.modular.appmessages.R;
-
-/**
- * Created by Bitlike on 2018/5/2.
- */
-
-public class MessageNewFragment extends EasyFragment {
-    private RecyclerView mRecyclerView;
-
-    @Override
-    protected int inflateLayoutId() {
-        return R.layout.fragment_message;
-    }
-
-    @Override
-    protected void onCreateView(Bundle savedInstanceState, boolean createView) {
-        if (createView) {
-            initView();
-        }
-    }
-
-    private void initView() {
-        mRecyclerView = (RecyclerView) findViewById(R.id.messageRecycler);
-    }
-
-
-}

+ 4 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/fragment/ViewPagerLazyFragment.java

@@ -142,6 +142,10 @@ public abstract class ViewPagerLazyFragment extends Fragment {
         isFirstLoad = false;
     }
 
+    public boolean isShowing() {
+        return isVisible;
+    }
+
     public void requestCompanyHttp(Parameter.Builder builder, final OnSmartHttpListener onHttpListener) {
         if (builder != null) {
             String sessionId = CommonUtil.getSharedPreferences(ct, "sessionId");

+ 61 - 28
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java

@@ -54,6 +54,7 @@ import com.modular.appmessages.activity.Subscription2Activity;
 import com.modular.appmessages.activity.UUHelperActivity;
 import com.modular.appmessages.db.SubsDao;
 import com.modular.appmessages.model.MessageHeader;
+import com.modular.appmessages.model.MessageNew;
 import com.modular.appmessages.model.SubMessage;
 import com.modular.appmessages.presenter.imp.IMessageView;
 import com.modular.appmessages.util.ApprovalUtil;
@@ -719,6 +720,7 @@ public class MessagePresenter implements OnHttpResultListener {
     private void showByEndIm() {
         iMessageView.clearSearch();
         iMessageView.showModel(mFriendList);
+        iMessageView.showModel(mFriendList);
         updateForUnReader();
     }
 
@@ -967,7 +969,7 @@ public class MessagePresenter implements OnHttpResultListener {
      * @param mContext
      * @param position
      */
-    public void turn2NextAct(Activity mContext, int position) throws Exception {
+    public void turn2NextAct(Activity mContext, int position) {
         Friend friend = mFriendList.get(position).getBean();
         if (friend == null) {
             return;
@@ -1079,8 +1081,7 @@ public class MessagePresenter implements OnHttpResultListener {
 
 
     private void initHeaderModels() {
-        List<MessageHeader> models = new ArrayList<>();
-        MessageHeader model = null;
+        List<MessageNew> models = new ArrayList<>();
         String role = CommonUtil.getUserRole();
         if (role.equals("1")) {//个人用户
             models.addAll(getPersonalHeader());
@@ -1089,47 +1090,58 @@ public class MessagePresenter implements OnHttpResultListener {
         } else {
             models.addAll(getErpHeader());
         }
+
         if (PreferenceUtils.getInt("UUSTEP", -1) == 1) {
             //显示UU运动
-            model = new MessageHeader(StringUtil.getMessage(R.string.set_sport));
+            MessageNew h=new MessageNew();
+            MessageHeader  model = new MessageHeader(StringUtil.getMessage(R.string.set_sport));
             model.setIcon(R.drawable.uu_run);
             model.setSubDoc("");
             model.setRedKey(Constants.MESSAGE_RUN);
             model.setType(3);
             model.setTag("");
-            models.add(model);
+            h.setT(model);
+            models.add(h);
         }
 
         if (SwitchUtil.showShebeiguanli()) {
-            model = new MessageHeader("设备管理");
+            MessageNew h=new MessageNew();
+            MessageHeader    model = new MessageHeader("设备管理");
             model.setIcon(R.drawable.uu_run);
             model.setSubDoc("");
             model.setRedKey(Constants.MESSAGE_RUN);
             model.setType(10);
             model.setTag("");
-            models.add(model);
+            h.setT(model);
+            models.add(h);
         }
         iMessageView.updateHeader(models);
     }
 
-    private List<MessageHeader> getErpHeader() {
-        List<MessageHeader> models = new ArrayList<>();
+    private  List<MessageNew> getErpHeader() {
+        List<MessageNew> models = new ArrayList<>();
+
+        MessageNew h=new MessageNew();
         MessageHeader model = new MessageHeader(StringUtil.getMessage(R.string.msg_approval));
         model.setIcon(R.drawable.home_image_01_u);
         model.setSubDoc("");
         model.setRedKey("");
         model.setType(4);
         model.setTag("");
-        models.add(model);
+        h.setT(model);
+        models.add(h);
 
+        h=new MessageNew();
         model = new MessageHeader(StringUtil.getMessage(R.string.msg_work));
         model.setIcon(R.drawable.daibangongzuo);
         model.setSubDoc("");
         model.setRedKey("");
         model.setType(5);
         model.setTag("");
-        models.add(model);
+        h.setT(model);
+        models.add(h);
 
+        h=new MessageNew();
         model = new MessageHeader(StringUtil.getMessage(R.string.msg_subscribe));
         model.setIcon(R.drawable.tingyue);
         model.setSubDoc("");
@@ -1137,80 +1149,96 @@ public class MessagePresenter implements OnHttpResultListener {
         model.setRedMessage(StringUtil.getMessage(R.string.msg_subscribe_data));
         model.setType(6);
         model.setTag("");
-        models.add(model);
-
+        h.setT(model);
+        models.add(h);
 
+        h=new MessageNew();
         model = new MessageHeader(StringUtil.getMessage(R.string.booking_menu));
         model.setIcon(R.drawable.icon_yuyue3);
         model.setSubDoc("");
         model.setRedKey(Constants.MESSAGE_YUYUE);
         model.setType(2);
         model.setTag("");
-        models.add(model);
+        h.setT(model);
+        models.add(h);
         return models;
     }
 
-    private List<MessageHeader> getB2bHeader() {
-        List<MessageHeader> models = new ArrayList<>();
+    private  List<MessageNew> getB2bHeader() {
+        List<MessageNew> models = new ArrayList<>();
+        MessageNew h=new MessageNew();
         MessageHeader model = new MessageHeader(StringUtil.getMessage(R.string.msg_approval));
         model.setIcon(R.drawable.home_image_01_u);
         model.setSubDoc("");
         model.setRedKey("");
         model.setType(4);
         model.setTag("");
-        models.add(model);
+        h.setT(model);
+        models.add(h);
 
+        h=new MessageNew();
         model = new MessageHeader(StringUtil.getMessage(R.string.msg_work));
         model.setIcon(R.drawable.daibangongzuo);
         model.setSubDoc("");
         model.setRedKey("");
         model.setType(5);
         model.setTag("");
-        models.add(model);
+        h.setT(model);
+        models.add(h);
 
+        h=new MessageNew();
         model = new MessageHeader(StringUtil.getMessage(R.string.booking_menu));
         model.setIcon(R.drawable.icon_yuyue3);
         model.setSubDoc("");
         model.setRedKey(Constants.MESSAGE_YUYUE);
         model.setType(2);
         model.setTag("");
-        models.add(model);
+        h.setT(model);
+        models.add(h);
         return models;
     }
 
-    private List<MessageHeader> getPersonalHeader() {
-        List<MessageHeader> models = new ArrayList<>();
+    private List<MessageNew> getPersonalHeader() {
+        List<MessageNew> models = new ArrayList<>();
+        MessageNew header=new MessageNew();
         MessageHeader model = new MessageHeader(StringUtil.getMessage(R.string.booking_menu));
         model.setIcon(R.drawable.icon_yuyue3);
         model.setSubDoc("");
         model.setRedKey(Constants.MESSAGE_YUYUE);
         model.setType(2);
         model.setTag("");
-        models.add(model);
+        header.setT(model);
+        models.add(header);
 
+        header=new MessageNew();
         model = new MessageHeader("餐饮");
         model.setIcon(R.drawable.icon_food);
         model.setSubDoc("美味齐全");
         model.setRedKey(Constants.MESSAGE_FOOD);
         model.setType(1);
         model.setTag("10003");
-        models.add(model);
+        header.setT(model);
+        models.add(header);
 
+        header=new MessageNew();
         model = new MessageHeader("美容美发");
         model.setIcon(R.drawable.icon_hair);
         model.setSubDoc("时尚潮流");
         model.setRedKey(Constants.MESSAGE_HAIR);
         model.setType(1);
         model.setTag("10004");
-        models.add(model);
+        header.setT(model);
+        models.add(header);
 
+        header=new MessageNew();
         model = new MessageHeader("KTV");
         model.setIcon(R.drawable.icon_ktv);
         model.setSubDoc("音乐节");
         model.setRedKey(Constants.MESSAGE_KTV);
         model.setType(1);
         model.setTag("10006");
-        models.add(model);
+        header.setT(model);
+        models.add(header);
 
         model = new MessageHeader("运动健身");
         model.setIcon(R.drawable.icon_sport);
@@ -1218,23 +1246,28 @@ public class MessagePresenter implements OnHttpResultListener {
         model.setRedKey(Constants.MESSAGE_SPORT);
         model.setType(1);
         model.setTag("10002");
-        models.add(model);
+        header.setT(model);
+        models.add(header);
 
+        header=new MessageNew();
         model = new MessageHeader("会所");
         model.setIcon(R.drawable.icon_club);
         model.setSubDoc("预约有优惠");
         model.setRedKey(Constants.MESSAGE_CLUB);
         model.setType(1);
         model.setTag("10005");
-        models.add(model);
+        header.setT(model);
+        models.add(header);
 
+        header=new MessageNew();
         model = new MessageHeader("医院挂号");
         model.setIcon(R.drawable.icon_hospital);
         model.setSubDoc("您的健康助手");
         model.setRedKey(Constants.MESSAGE_HOSPITAL);
         model.setType(1);
         model.setTag("10001");
-        models.add(model);
+        header.setT(model);
+        models.add(header);
         return models;
     }
 

+ 2 - 2
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/imp/IMessageView.java

@@ -2,7 +2,7 @@ package com.modular.appmessages.presenter.imp;
 
 import com.core.model.Friend;
 import com.core.utils.sortlist.BaseSortModel;
-import com.modular.appmessages.model.MessageHeader;
+import com.modular.appmessages.model.MessageNew;
 
 import java.util.List;
 
@@ -20,7 +20,7 @@ public interface IMessageView  {
 
     void changeNet(boolean workConnected);
 
-    void updateHeader(List<MessageHeader> models);
+    void updateHeader(List<MessageNew> models);
 
     void updateSign(String message);
 

+ 31 - 7
app_modular/appmessages/src/main/res/layout/fragment_message.xml

@@ -1,13 +1,37 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/base_bg">
+    android:background="#ebe9e9"
+    android:orientation="vertical">
+
+    <com.core.widget.VoiceSearchView
+        android:id="@+id/voiceSearchView"
+        android:layout_width="match_parent"
+        android:layout_height="48dp"
+        android:visibility="gone" />
+
+    <com.core.widget.DrawableCenterTextView
+        android:id="@+id/message_net_set"
+        android:layout_width="match_parent"
+        android:layout_height="35dp"
+        android:background="#fcd8d8"
+        android:drawableLeft="@drawable/ic_net_noticce"
+        android:drawablePadding="10dp"
+        android:gravity="center_vertical"
+        android:text="当前网络不可用,请检查您的网络设置"
+        android:textColor="@color/black"
+        android:visibility="gone" />
 
-<android.support.v7.widget.RecyclerView
-    android:id="@+id/messageRecycler"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"/>
 
+    <com.modular.appmessages.widget.SignRefreshLayout
+        android:id="@+id/mSignRefreshLayout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
 
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/mRecyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+    </com.modular.appmessages.widget.SignRefreshLayout>
 
-</RelativeLayout>
+</LinearLayout>

+ 18 - 20
app_modular/appmessages/src/main/res/layout/item_message_header.xml

@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-                xmlns:app="http://schemas.android.com/apk/res-auto"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/item_height"
-                android:background="@drawable/selector_item_white_pass"
-                android:descendantFocusability="blocksDescendants"
-                android:minHeight="@dimen/item_height"
-                android:paddingLeft="15dp"
-                android:paddingRight="15dp">
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/item_height"
+    android:background="@drawable/selector_item_white_pass"
+    android:descendantFocusability="blocksDescendants"
+    android:minHeight="@dimen/item_height"
+    android:paddingLeft="15dp"
+    android:paddingRight="15dp">
 
     <FrameLayout
         android:id="@+id/headerFl"
-        android:layout_width="57dp"
-        android:layout_height="65dp"
+        android:layout_width="53dp"
+        android:layout_height="match_parent"
         android:layout_centerVertical="true">
 
         <de.hdodenhof.circleimageview.CircleImageView
@@ -23,7 +23,7 @@
             android:background="@color/transparent"
             android:contentDescription="@string/app_name"
             android:padding="1dp"
-            android:src="@drawable/icon_message_huisuo"/>
+            android:src="@drawable/icon_message_huisuo" />
 
         <TextView
             android:id="@+id/headerNumTv"
@@ -35,7 +35,7 @@
             android:text="999"
             android:textColor="@android:color/white"
             android:textSize="10.0dp"
-            android:visibility="gone"/>
+            android:visibility="visible" />
     </FrameLayout>
 
     <RelativeLayout
@@ -43,7 +43,6 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_centerVertical="true"
-        android:layout_marginLeft="3dp"
         android:layout_toRightOf="@id/headerFl"
         android:gravity="center_vertical">
 
@@ -53,9 +52,9 @@
             android:layout_height="wrap_content"
             android:layout_alignParentRight="true"
             android:layout_marginRight="8dp"
-            app:showImage="false"
             android:visibility="gone"
-            app:text=""/>
+            app:showImage="false"
+            app:text="" />
 
         <TextView
             android:id="@+id/timeTv"
@@ -64,19 +63,19 @@
             android:layout_alignParentRight="true"
             android:textColor="#999999"
             android:textSize="10sp"
-            android:visibility="gone"
-            />
+            android:visibility="visible" />
 
         <TextView
             android:id="@+id/titleTv"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/paddingMin"
             android:layout_toLeftOf="@+id/schedule_time_tv"
             android:ellipsize="end"
             android:lines="1"
             android:text="会所"
             android:textColor="#333333"
-            android:textSize="15sp"/>
+            android:textSize="15sp" />
 
 
         <TextView
@@ -84,13 +83,12 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_below="@id/titleTv"
-            android:layout_marginTop="8dp"
             android:layout_toLeftOf="@+id/schedule_time_tv"
             android:ellipsize="end"
             android:lines="1"
             android:text="预约有优惠"
             android:textColor="#999999"
-            android:textSize="12sp"/>
+            android:textSize="12sp" />
     </RelativeLayout>
 
 </RelativeLayout>

+ 3 - 3
app_modular/appmessages/src/main/res/layout/refresh_sign_header.xml

@@ -44,9 +44,9 @@
 
     <android.support.v7.widget.AppCompatCheckBox
         android:id="@+id/yuyinCb"
-        android:layout_width="20dp"
-        android:layout_height="20dp"
-        android:layout_margin="@dimen/padding"
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+        android:padding="@dimen/padding"
         android:button="@drawable/bg_sign_voice"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintRight_toRightOf="parent" />

+ 0 - 1
app_modular/appmessages/src/main/res/layout/refresh_simple_header.xml

@@ -3,7 +3,6 @@
     android:id="@+id/simplyView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="@color/white"
     android:gravity="center_horizontal|bottom">
 
     <LinearLayout

+ 3 - 3
app_modular/apputils/src/main/res/layout/item_approval_list.xml

@@ -6,9 +6,9 @@
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="60dp"
-        android:layout_marginTop="@dimen/paddingMin"
-        android:layout_marginBottom="@dimen/paddingMin"
+        android:layout_marginTop="@dimen/padding"
         android:layout_marginLeft="@dimen/padding"
+        android:elevation="4dp"
         android:layout_marginRight="@dimen/padding"
         android:padding="@dimen/padding"
         android:background="@drawable/radian_white_utils_bg">
@@ -27,7 +27,7 @@
             android:layout_alignParentRight="true"
             android:layout_alignTop="@id/headImage"
             android:textColor="#FF333333"
-            android:textSize="10sp" />
+            android:textSize="12sp" />
 
         <TextView
             android:id="@+id/titleTv"

+ 1 - 0
app_modular/apputils/src/main/res/values/style.xml

@@ -20,5 +20,6 @@
         <item name="styleLoadingLayout">@style/LoadingLayoutStyle</item>
         <item name="android:homeAsUpIndicator">@drawable/actionbar_up_indicator</item>
         <item name="actionMenuTextColor">#ffffff</item>
+        <item name="android:windowSoftInputMode">stateHidden|adjustResize</item>
     </style>
 </resources>

+ 8 - 2
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/WorkLogsActivity.java

@@ -16,6 +16,7 @@ import com.common.LogUtil;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
+import com.core.net.utils.NetUtils;
 import com.core.utils.CommonUtil;
 import com.core.utils.time.wheel.DatePicker;
 import com.modular.apputils.activity.BaseNetActivity;
@@ -65,7 +66,7 @@ public class WorkLogsActivity extends BaseNetActivity {
         getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
         getSupportActionBar().setCustomView(view);
         monthTv = view.findViewById(R.id.monthTv);
-        monthTv.setText(DateFormatUtil.long2Str("MM")+"月");
+        monthTv.setText(DateFormatUtil.long2Str("MM") + "月");
         monthTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -76,7 +77,7 @@ public class WorkLogsActivity extends BaseNetActivity {
 
     private void showSlelctDate() {
         DatePicker picker = new DatePicker(this, DatePicker.YEAR_MONTH);
-        picker.setRange(1950, 2030);
+        picker.setRange(2017, 2030);
         picker.setSelectedItem(
                 Calendar.getInstance().get(Calendar.YEAR),
                 Calendar.getInstance().get(Calendar.MONTH) + 1);
@@ -93,6 +94,11 @@ public class WorkLogsActivity extends BaseNetActivity {
 
 
     private void loadData(String date) {
+        if (!NetUtils.isNetWorkConnected(ct)) {
+            showToast(R.string.networks_out);
+            return;
+        }
+
         Parameter.Builder bilder = new Parameter.Builder()
                 .url("mobile/getEffectiveWorkdata.action")
                 .addParams("em_code", CommonUtil.getEmcode())

+ 9 - 4
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/adapter/WorkLogsAdapter.java

@@ -10,7 +10,6 @@ import android.view.ViewGroup;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
-import com.common.LogUtil;
 import com.common.data.ListUtils;
 import com.uas.appworks.OA.erp.activity.ChangeMobileActivity;
 import com.uas.appworks.OA.erp.model.WorkLogs;
@@ -19,9 +18,9 @@ import com.uas.appworks.R;
 import java.util.List;
 
 public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHolder> {
-    private final String LATE = "迟到";
+    private final String LATE = "(迟到)";
     private final String NEGLECT_WORK = "旷工";
-    private final String EARLY_RETREAT = "早退";
+    private final String EARLY_RETREAT = "(早退)";
 
 
     private Context ct;
@@ -109,7 +108,6 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
         List<WorkLogs.Shift> shifts = model.getShifts();
         WorkLogs.Shift shift = null;
         setVisibility(View.GONE, viewHolder.off3LL, viewHolder.off2LL, viewHolder.off1LL, viewHolder.w1LL, viewHolder.w2LL, viewHolder.w3LL);
-        LogUtil.i("gong","position="+position +"   ListUtils.getSize(shifts)="+ListUtils.getSize(shifts));
         switch (ListUtils.getSize(shifts)) {
             case 3:
                 setVisibility(View.VISIBLE, viewHolder.off3LL, viewHolder.w3LL);
@@ -199,8 +197,15 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
     /**
      * 1.当工作日,没有打卡记录时候,显示缺勤
      * 2.当工作日,打卡记录不是符合打开时间,显示迟到,早退
+     *
+     * @param isWork 是否是工作日
+     * @param w      是否是上班班次
+     * @param shift
+     * @return
      */
     private String getTag(boolean isWork, boolean w, WorkLogs.Shift shift) {
+
+
         if (isWork) {
             if (w) {
                 if (TextUtils.isEmpty(shift.wSign)) {

+ 8 - 2
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/model/WorkLogs.java

@@ -3,12 +3,14 @@ package com.uas.appworks.OA.erp.model;
 import android.text.TextUtils;
 
 import com.common.data.CalendarUtil;
+import com.common.data.DateFormatUtil;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class WorkLogs {
 
+    private long workTimes;
     private String date;
     private String week;
     private List<Shift> shifts;
@@ -23,11 +25,15 @@ public class WorkLogs {
     }
 
     public void setDate(String date) {
-        this.date = date;
         if (!TextUtils.isEmpty(date)) {
-            this.week = CalendarUtil.getWeek(date);
+            workTimes = DateFormatUtil.str2Long(date, DateFormatUtil.YMD);
+            this.date = DateFormatUtil.long2Str(workTimes, "MM月dd日");
+            this.week = CalendarUtil.getWeek(workTimes);
         }
+    }
 
+    public long getWorkTimes() {
+        return workTimes;
     }
 
     public String getWeek() {

BIN
app_modular/appworks/src/main/res/drawable-hdpi/ic_white_down.png


BIN
app_modular/appworks/src/main/res/drawable-xhdpi/ic_white_down.png


BIN
app_modular/appworks/src/main/res/drawable-xxhdpi/ic_white_down.png


+ 6 - 6
app_modular/appworks/src/main/res/layout/item_work_logs.xml

@@ -44,7 +44,7 @@
                     android:id="@+id/w1TagTv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/paddingMin"
+                    android:layout_marginLeft="2dp"
                     android:textColor="#FF999999"
                     android:textSize="12sp" />
 
@@ -83,7 +83,7 @@
                     android:id="@+id/w2TagTv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/paddingMin"
+                    android:layout_marginLeft="2dp"
                     android:textColor="#FF999999"
                     android:textSize="12sp" />
 
@@ -123,7 +123,7 @@
                     android:id="@+id/w3TagTv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/paddingMin"
+                    android:layout_marginLeft="2dp"
                     android:textColor="#FF999999"
                     android:textSize="12sp" />
 
@@ -168,7 +168,7 @@
                     android:id="@+id/off1TagTv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/paddingMin"
+                    android:layout_marginLeft="2dp"
                     android:textColor="#FF999999"
                     android:textSize="12sp" />
 
@@ -207,7 +207,7 @@
                     android:id="@+id/off2TagTv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/paddingMin"
+                    android:layout_marginLeft="2dp"
                     android:textColor="#FF999999"
                     android:textSize="12sp" />
 
@@ -247,7 +247,7 @@
                     android:id="@+id/off3TagTv"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/paddingMin"
+                    android:layout_marginLeft="2dp"
                     android:textColor="#FF999999"
                     android:textSize="12sp" />
 

+ 2 - 0
app_modular/appworks/src/main/res/layout/menu_work_logs.xml

@@ -11,6 +11,8 @@
         android:layout_alignParentRight="true"
         android:layout_centerVertical="true"
         android:layout_marginRight="@dimen/padding"
+        android:drawablePadding="@dimen/paddingMin"
+        android:drawableRight="@drawable/ic_white_down"
         android:text="5月"
         android:textColor="#FFFFFFFF"
         android:textSize="16sp" />