Browse Source

提交类型 新功能修改
提交内容 修改部分bug

Bitliker 8 years ago
parent
commit
9d868dff26
26 changed files with 269 additions and 149 deletions
  1. 4 6
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java
  2. 6 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java
  3. 0 1
      WeiChat/src/main/res/layout/activity_work.xml
  4. 1 1
      WeiChat/src/main/res/layout/contact_item.xml
  5. 1 1
      WeiChat/src/main/res/menu/menu_signin_set.xml
  6. 3 3
      WeiChat/version.properties
  7. 7 0
      app_core/common/src/main/res/drawable/bg_text_pass.xml
  8. 2 2
      app_core/common/src/main/res/drawable/ic_oa_cb_click_ed.xml
  9. 24 0
      app_core/common/src/main/res/drawable/ic_oa_list.xml
  10. 87 86
      app_core/common/src/main/res/layout/activity_approval.xml
  11. 1 1
      app_core/common/src/main/res/layout/activity_oamain.xml
  12. 1 1
      app_core/common/src/main/res/layout/activity_work.xml
  13. 1 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/ApprovalActivity.java
  14. 25 18
      app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/ApprovalAdapter.java
  15. 2 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/ApprovaPresenter.java
  16. 2 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java
  17. 1 1
      app_modular/appmessages/src/main/res/layout/item_message_header.xml
  18. 8 6
      app_modular/apputils/src/main/java/com/modular/apputils/adapter/ApprovalListAdapter.java
  19. 1 0
      app_modular/apputils/src/main/java/com/modular/apputils/utils/SignUtils.java
  20. BIN
      app_modular/apputils/src/main/res/drawable-hdpi/icon_empty_lamp.png
  21. BIN
      app_modular/apputils/src/main/res/drawable-xhdpi/icon_empty_lamp.png
  22. BIN
      app_modular/apputils/src/main/res/drawable-xxhdpi/icon_empty_lamp.png
  23. 5 2
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/WorkActivity.java
  24. 9 2
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/WorkLogsActivity.java
  25. 38 12
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/adapter/WorkLogsAdapter.java
  26. 40 5
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/model/WorkLogs.java

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

@@ -421,8 +421,6 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
 
             }
         });
-
-        // TODO 在这里写隐藏发布版本的事项
         doReleaeSwitch();
     }
 
@@ -448,7 +446,7 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
             subord_log.setText(getString(R.string.Subordinates_visit));
             my_log.setText(getString(R.string.my_visit));
         } else {
-            title = getString(R.string.oamain_title);
+            title = getString(R.string.work_calender);
         }
         setTitle(title);
         setDateTag(new Date());
@@ -746,9 +744,9 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
             adapter.setModels(showModel);
             adapter.notifyDataSetChanged();
             emptyLayout.showEmpty();
-            CommonUtil.textSpanForStyle(all_task_num, getString(R.string.work_calender) + 0, 0 + "", getResources().getColor(R.color.approval_select_tab));
-            CommonUtil.textSpanForStyle(ok_task_num, getString(R.string.done) + 0, 0 + "", getResources().getColor(R.color.approval_select_tab));
-            CommonUtil.textSpanForStyle(uok_task_num, getString(R.string.undone) + 0, 0 + "", getResources().getColor(R.color.approval_select_tab));
+            CommonUtil.textSpanForStyle(all_task_num, getString(R.string.work_calender) + "   "+0, 0 + "", getResources().getColor(R.color.approval_select_tab));
+            CommonUtil.textSpanForStyle(ok_task_num, getString(R.string.done) + "   "+0, 0 + "", getResources().getColor(R.color.approval_select_tab));
+            CommonUtil.textSpanForStyle(uok_task_num, getString(R.string.undone) +"   "+ 0, 0 + "", getResources().getColor(R.color.approval_select_tab));
             return;
         }
         int ok = 0, size = 0;

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

@@ -36,6 +36,7 @@ import com.core.base.BaseActivity;
 import com.core.base.fragment.SupportToolBarFragment;
 import com.core.model.Friend;
 import com.core.model.WorkModel;
+import com.core.net.utils.NetUtils;
 import com.core.utils.ToastUtil;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.widget.DrawableCenterTextView;
@@ -327,7 +328,11 @@ public class MessageFragment extends SupportToolBarFragment implements IMessageV
                         work = (WorkModel) tag;
                     }
                 }
-                presenter.signWork(work);
+                if (!NetUtils.isNetWorkConnected(ct)) {
+                    presenter.signWork(work);
+                } else {
+                    showToact(R.string.networks_out);
+                }
                 break;
         }
 

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

@@ -12,7 +12,6 @@
         android:background="@color/item_line"
         android:drawableLeft="@drawable/icon_date_nor"
         android:drawablePadding="10dp"
-        android:drawableRight="@drawable/oa_next"
         android:padding="5dp"
         android:textSize="@dimen/text_main" />
 

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

@@ -62,7 +62,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
WeiChat/src/main/res/menu/menu_signin_set.xml

@@ -8,7 +8,7 @@
     <item
         android:id="@+id/oa_leave"
         android:title="查看列表"
-        android:icon="@drawable/xlist"
+        android:icon="@drawable/ic_oa_list"
         app:showAsAction="ifRoom"  />
 
 </menu>

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Fri May 18 09:31:46 CST 2018
-debugName=261
+#Fri May 18 14:01:24 CST 2018
+debugName=262
 versionName=630
-debugCode=261
+debugCode=262
 versionCode=170

+ 7 - 0
app_core/common/src/main/res/drawable/bg_text_pass.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/btn_orange_press" />
+    <corners android:radius="1dp" />
+    <padding android:bottom="0.5dp" android:left="0.5dp" android:right="0.5dp" android:top="0.5dp" />
+
+</shape>

+ 2 - 2
app_core/common/src/main/res/drawable/ic_oa_cb_click_ed.xml

@@ -1,6 +1,6 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="18dp"
-    android:height="18dp"
+    android:width="16dp"
+    android:height="16dp"
     android:viewportHeight="1024"
     android:viewportWidth="1024">
     <path

+ 24 - 0
app_core/common/src/main/res/drawable/ic_oa_list.xml

@@ -0,0 +1,24 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="18dp"
+    android:height="20dp"
+    android:viewportHeight="14"
+    android:viewportWidth="19">
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M0,0h19v2h-19z"
+        android:strokeColor="#00000000"
+        android:strokeWidth="1" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M0,6h19v2h-19z"
+        android:strokeColor="#00000000"
+        android:strokeWidth="1" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M0,12h19v2h-19z"
+        android:strokeColor="#00000000"
+        android:strokeWidth="1" />
+</vector>

+ 87 - 86
app_core/common/src/main/res/layout/activity_approval.xml

@@ -1,84 +1,34 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout 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"
-    android:focusableInTouchMode="true">
+    android:focusableInTouchMode="true"
+    android:orientation="vertical">
 
-    <LinearLayout
-        android:id="@+id/operationLL"
+    <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="45dp"
-        android:layout_alignParentBottom="true"
-        android:background="@color/white"
-        android:orientation="horizontal"
-        android:padding="10dp">
-
-        <TextView
-            android:id="@+id/takeOverTV"
-            style="@style/bottomTextStyle"
-            android:layout_weight="2"
-            android:text="@string/take_over"
-            android:visibility="gone" />
-
-        <Button
-            android:id="@+id/agreeTV"
-            style="@style/bottomTextStyle"
-            android:layout_weight="2"
-            android:background="@drawable/bg_transparent_bule"
-            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" />
-
-        <Button
-            android:id="@+id/disagreeTV"
-            style="@style/bottomTextStyle"
-            android:layout_weight="3"
-            android:background="@drawable/bg_transparent_bule"
-            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" />
-
-        <TextView
-            android:id="@+id/changedealmanTV"
-            style="@style/bottomTextStyle"
-            android:layout_weight="5"
-            android:background="@drawable/bg_transparent_bule"
-            android:text="@string/common_changedealman"
-            android:textColor="@drawable/text_bule_white_bg" />
-
-
-        <View
+        android:layout_height="0dp"
+        android:layout_above="@id/bottom"
+        android:layout_weight="1"
+        android:background="#F2F2F2"
+        android:focusableInTouchMode="true">
 
-            android:layout_width="@dimen/line"
-            android:layout_height="20dp"
-            android:layout_gravity="center_vertical"
-            android:background="@color/item_line" />
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/contentRV"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
+            android:layout_alignParentTop="true"
+            android:focusableInTouchMode="false" />
+    </RelativeLayout>
 
-        <Button
-            android:id="@+id/nextTV"
-            style="@style/bottomTextStyle"
-            android:layout_weight="3"
-            android:background="@drawable/bg_transparent_bule"
-            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
@@ -133,29 +83,80 @@
             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
+    <LinearLayout
+        android:id="@+id/operationLL"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_above="@id/viewOperationtop"
-        android:background="#F2F2F2"
-        android:focusableInTouchMode="true">
+        android:layout_height="45dp"
+        android:layout_alignParentBottom="true"
+        android:background="@color/white"
+        android:orientation="horizontal"
+        android:padding="10dp">
 
-        <android.support.v7.widget.RecyclerView
-            android:id="@+id/contentRV"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentTop="true"
-            android:background="@color/base_bg"
-            android:focusableInTouchMode="false" />
-    </RelativeLayout>
-</RelativeLayout>
+        <TextView
+            android:id="@+id/takeOverTV"
+            style="@style/bottomTextStyle"
+            android:layout_weight="2"
+            android:text="@string/take_over"
+            android:visibility="gone" />
+
+        <Button
+            android:id="@+id/agreeTV"
+            style="@style/bottomTextStyle"
+            android:layout_weight="2"
+            android:background="@drawable/bg_transparent_bule"
+            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" />
+
+        <Button
+            android:id="@+id/disagreeTV"
+            style="@style/bottomTextStyle"
+            android:layout_weight="3"
+            android:background="@drawable/bg_transparent_bule"
+            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" />
+
+        <TextView
+            android:id="@+id/changedealmanTV"
+            style="@style/bottomTextStyle"
+            android:layout_weight="5"
+            android:background="@drawable/bg_transparent_bule"
+            android:text="@string/common_changedealman"
+            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" />
+
+        <Button
+            android:id="@+id/nextTV"
+            style="@style/bottomTextStyle"
+            android:layout_weight="3"
+            android:background="@drawable/bg_transparent_bule"
+            android:text="@string/next_article"
+            android:textColor="@drawable/text_bule_white_bg" />
+    </LinearLayout>
+
+
+</LinearLayout>

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

@@ -4,7 +4,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="#EBE9E9"
+    android:background="@color/white"
     android:fillViewport="true">
 
     <LinearLayout

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

@@ -12,7 +12,7 @@
         android:background="@color/item_line"
         android:drawableLeft="@drawable/icon_date_nor"
         android:drawablePadding="10dp"
-        android:drawableRight="@drawable/oa_next"
+        android:visibility="gone"
         android:padding="5dp"
         android:textSize="@dimen/text_main" />
 

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

@@ -346,6 +346,7 @@ public class ApprovalActivity extends SupportToolBarActivity implements IApprova
 
     @Override
     public void showModels(List<Approval> approvals, List<Approval> historyNodes) {
+        LogUtil.i("gong","showModels="+approvals.size());
         mAdapter = new ApprovalAdapter(this, approvals, historyNodes, mPresenter.isApprovaling());
         contentRV.setHasFixedSize(false);
         contentRV.setItemAnimator(new DefaultItemAnimator());

+ 25 - 18
app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/ApprovalAdapter.java

@@ -57,7 +57,11 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
         this.isApprovaling = isApprovaling;
         this.ct = ct;
         this.approvals = approvals;
-        this.historyNodes = historyNodes;
+        if (historyNodes != null) {
+            this.historyNodes = historyNodes;
+        } else {
+            this.historyNodes = new ArrayList<>();
+        }
     }
 
     public List<Approval> getDbFind() {
@@ -128,23 +132,26 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
 
     @Override
     public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
-//        try {
-        if (holder instanceof TitleViewHolder) {
-            bindTitleView((TitleViewHolder) holder, position);
-        } else if (holder instanceof BaseRVViewHodler) {
-            bindBaseRVView((BaseRVViewHodler) holder, position);
-        } else if (holder instanceof TagViewHolder) {
-            bindTAGView((TagViewHolder) holder, position);
-        } else if (holder instanceof PointsViewHolder) {
-            bindPointsView((PointsViewHolder) holder, position);
-        } else if (holder instanceof NodeViewHolder) {
-            bindNodeView((NodeViewHolder) holder, position);
-        } else if (holder instanceof NodeTagViewHolder) {
-            bindNodeTagView((NodeTagViewHolder) holder, position);
-        }
-//        } catch (Exception e) {
-//
-//        }
+        try {
+            if (holder instanceof TitleViewHolder) {
+                bindTitleView((TitleViewHolder) holder, position);
+            } else if (holder instanceof BaseRVViewHodler) {
+                bindBaseRVView((BaseRVViewHodler) holder, position);
+            } else if (holder instanceof TagViewHolder) {
+                bindTAGView((TagViewHolder) holder, position);
+            } else if (holder instanceof PointsViewHolder) {
+                bindPointsView((PointsViewHolder) holder, position);
+            } else if (holder instanceof NodeViewHolder) {
+                bindNodeView((NodeViewHolder) holder, position);
+            } else if (holder instanceof NodeTagViewHolder) {
+                bindNodeTagView((NodeTagViewHolder) holder, position);
+            }
+        } catch (Exception e) {
+            if (e != null) {
+                LogUtil.i("e=" + e.getMessage());
+            }
+
+        }
     }
 
     private void bindNodeTagView(final NodeTagViewHolder holder, final int position) {

+ 2 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/ApprovaPresenter.java

@@ -1617,6 +1617,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
         approvals.addAll(enclosureList);
         approvals.addAll(pointsList);
         approvals.addAll(nodeList);
+        LogUtil.i("gong","setData2ListThread="+approvals.size());
+
         OAHttpHelper.getInstance().post(new Runnable() {
             @Override
             public void run() {

+ 2 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java

@@ -38,8 +38,10 @@ import com.core.model.XmppMessage;
 import com.core.net.http.http.OAHttpHelper;
 import com.core.net.http.http.OnHttpResultListener;
 import com.core.net.http.http.Request;
+import com.core.net.utils.NetUtils;
 import com.core.utils.CommonUtil;
 import com.core.utils.TimeUtils;
+import com.core.utils.ToastUtil;
 import com.core.utils.sortlist.BaseSortModel;
 import com.core.utils.sortlist.PingYinUtil;
 import com.core.xmpp.dao.ChatMessageDao;

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

@@ -69,7 +69,7 @@
             android:id="@+id/titleTv"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/paddingMin"
+            android:layout_marginTop="2dp"
             android:layout_toLeftOf="@+id/schedule_time_tv"
             android:ellipsize="end"
             android:lines="1"

+ 8 - 6
app_modular/apputils/src/main/java/com/modular/apputils/adapter/ApprovalListAdapter.java

@@ -3,6 +3,7 @@ package com.modular.apputils.adapter;
 
 import android.content.Context;
 import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -29,7 +30,7 @@ public class ApprovalListAdapter extends RecyclerView.Adapter<ApprovalListAdapte
     private List<ApprovalList> allModels;
     private int tabItem;
 
-    public ApprovalListAdapter(Context ct, int tabItem,List<ApprovalList> approvalLists,OnItemClickListener mOnItemClickListener) {
+    public ApprovalListAdapter(Context ct, int tabItem, List<ApprovalList> approvalLists, OnItemClickListener mOnItemClickListener) {
         this.ct = ct;
         this.tabItem = tabItem;
         this.mOnItemClickListener = mOnItemClickListener;
@@ -62,14 +63,14 @@ public class ApprovalListAdapter extends RecyclerView.Adapter<ApprovalListAdapte
     public void onBindViewHolder(ViewHolder viewHolder, int position) {
         ApprovalList model = showModels.get(position);
         String jpName = model.getName() == null ? "" : (model.getName().replace("流程", ""));
-        String name = model.getLauncherName() + "的" + jpName;
+        String name = (!TextUtils.isEmpty(model.getLauncherName()) ? (model.getLauncherName() + "的") : "") + jpName;
         viewHolder.titleTv.setText(name);
         viewHolder.statusTv.setText(DateFormatUtil.long2Str(model.getDealTime(), "MM-dd HH:mm") + "");
         viewHolder.subTitle.setTextColor(ct.getResources().getColor(model.getSubTitleColor()));
         viewHolder.subTitle.setText(model.getSubTitle());
         viewHolder.itemView.setTag(model);
         viewHolder.itemView.setOnClickListener(mOnClickListener);
-        if (viewHolder.headImage.getVisibility()==View.VISIBLE){
+        if (viewHolder.headImage.getVisibility() == View.VISIBLE) {
             if (!StringUtil.isEmpty(model.getImid())) {
                 AvatarHelper.getInstance().displayCircular(model.getImid(), viewHolder.headImage, true, false);//显示圆角图片
             } else {
@@ -87,7 +88,7 @@ public class ApprovalListAdapter extends RecyclerView.Adapter<ApprovalListAdapte
     private View.OnClickListener mOnClickListener = new View.OnClickListener() {
         @Override
         public void onClick(View view) {
-            if (view != null & view.getTag() != null && view.getTag() instanceof ApprovalList&&mOnItemClickListener!=null) {
+            if (view != null & view.getTag() != null && view.getTag() instanceof ApprovalList && mOnItemClickListener != null) {
                 ApprovalList model = (ApprovalList) view.getTag();
                 mOnItemClickListener.itemClick(model);
             }
@@ -96,6 +97,7 @@ public class ApprovalListAdapter extends RecyclerView.Adapter<ApprovalListAdapte
     };
 
     private OnItemClickListener mOnItemClickListener;
+
     public interface OnItemClickListener {
         void itemClick(ApprovalList model);
     }
@@ -138,9 +140,9 @@ public class ApprovalListAdapter extends RecyclerView.Adapter<ApprovalListAdapte
             statusTv = itemView.findViewById(R.id.statusTv);
             titleTv = itemView.findViewById(R.id.titleTv);
             subTitle = itemView.findViewById(R.id.subTitle);
-            if (tabItem==3){
+            if (tabItem == 3) {
                 headImage.setVisibility(View.GONE);
-            }else{
+            } else {
                 headImage.setVisibility(View.VISIBLE);
             }
         }

+ 1 - 0
app_modular/apputils/src/main/java/com/modular/apputils/utils/SignUtils.java

@@ -22,6 +22,7 @@ import com.core.net.http.http.OAHttpHelper;
 import com.core.net.http.http.OnHttpResultListener;
 import com.core.net.http.http.Request;
 import com.core.net.location.BdLocationHelper;
+import com.core.net.utils.NetUtils;
 import com.core.utils.BaiduMapUtil;
 import com.core.utils.CommonInterface;
 import com.modular.apputils.R;

BIN
app_modular/apputils/src/main/res/drawable-hdpi/icon_empty_lamp.png


BIN
app_modular/apputils/src/main/res/drawable-xhdpi/icon_empty_lamp.png


BIN
app_modular/apputils/src/main/res/drawable-xxhdpi/icon_empty_lamp.png


+ 5 - 2
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/WorkActivity.java

@@ -83,7 +83,8 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
 
 	@Override
 	public boolean onCreateOptionsMenu(Menu menu) {
-		getMenuInflater().inflate(R.menu.menu_outoffice, menu);
+		getMenuInflater().inflate(R.menu.menu_signin_set, menu);
+		menu.getItem(0).setVisible(false);
 		return super.onCreateOptionsMenu(menu);
 	}
 
@@ -91,6 +92,8 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
 	public boolean onOptionsItemSelected(MenuItem item) {
 		if (item.getItemId() == R.id.title) {
 			showPopupWindow();
+		}else if(item.getItemId() == R.id.oa_leave){
+			startActivity(new Intent(ct, WorkLogsActivity.class));
 		}
 		return super.onOptionsItemSelected(item);
 	}
@@ -276,7 +279,7 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
 			//TODO UI修改
 //			isShowTocstAble = true;
 //			showDateDialog();
-			startActivity(new Intent(ct, WorkLogsActivity.class));
+
 		} else if (view.getId() == R.id.unoffice_) {
 			isShowTocstAble = true;
 			presenter.gotoLocationActivity(WorkActivity.this);

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

@@ -98,7 +98,6 @@ public class WorkLogsActivity extends BaseNetActivity {
             showToast(R.string.networks_out);
             return;
         }
-
         Parameter.Builder bilder = new Parameter.Builder()
                 .url("mobile/getEffectiveWorkdata.action")
                 .addParams("em_code", CommonUtil.getEmcode())
@@ -135,6 +134,8 @@ public class WorkLogsActivity extends BaseNetActivity {
                 object = listDatas.getJSONObject(i);
                 mWorkLogs = new WorkLogs();
                 mWorkLogs.setDate(JSONUtil.getText(object, "date"));
+                mWorkLogs.setLate(JSONUtil.getInt(object, "late"));
+                mWorkLogs.setEarly(JSONUtil.getInt(object, "early"));
                 mWorkLogs.setWorkDate(JSONUtil.getBoolean(object, "isWorkDate"));
                 findClass(JSONUtil.getJSONObject(object, "class1"), mWorkLogs);
                 findClass(JSONUtil.getJSONObject(object, "class2"), mWorkLogs);
@@ -164,13 +165,19 @@ public class WorkLogsActivity extends BaseNetActivity {
         }
     };
 
+    /**
+     * @param classObject
+     * @param mWorkLogs
+     */
     private void findClass(JSONObject classObject, WorkLogs mWorkLogs) {
         if (classObject != null && !classObject.isEmpty()) {
             String wd_offduty_sign = JSONUtil.getText(classObject, "wd_offduty_sign");
             String wd_onduty = JSONUtil.getText(classObject, "wd_onduty");
             String wd_onduty_sign = JSONUtil.getText(classObject, "wd_onduty_sign");
             String wd_offduty = JSONUtil.getText(classObject, "wd_offduty");
-            mWorkLogs.addShift(wd_onduty, wd_onduty_sign, wd_offduty, wd_offduty_sign);
+            boolean onduty_apprecord = JSONUtil.getBoolean(classObject, "onduty_apprecord");
+            boolean offduty_apprecord = JSONUtil.getBoolean(classObject, "offduty_apprecord");
+            mWorkLogs.addShift(wd_onduty, wd_onduty_sign, wd_offduty, wd_offduty_sign, onduty_apprecord, offduty_apprecord);
         }
 
     }

+ 38 - 12
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/adapter/WorkLogsAdapter.java

@@ -10,7 +10,10 @@ import android.view.ViewGroup;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import com.common.LogUtil;
+import com.common.data.DateFormatUtil;
 import com.common.data.ListUtils;
+import com.common.system.DisplayUtil;
 import com.uas.appworks.OA.erp.activity.ChangeMobileActivity;
 import com.uas.appworks.OA.erp.model.WorkLogs;
 import com.uas.appworks.R;
@@ -20,15 +23,20 @@ import java.util.List;
 public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHolder> {
     private final String LATE = "(迟到)";
     private final String NEGLECT_WORK = "旷工";
+    private final String APPRECORD = "申诉中";
+    private final String TO_APPRECORD = "申诉";
     private final String EARLY_RETREAT = "(早退)";
 
 
     private Context ct;
     private List<WorkLogs> mWorkLogs;
+    private long thisTimes;
 
     public WorkLogsAdapter(Context ct, List<WorkLogs> mWorkLogs) {
         this.ct = ct;
         this.mWorkLogs = mWorkLogs;
+        thisTimes = DateFormatUtil.str2Long(DateFormatUtil.long2Str(DateFormatUtil.YMD), DateFormatUtil.YMD);
+        LogUtil.i("gong", "thisTimes=" + thisTimes);
     }
 
     public void setWorkLogs(List<WorkLogs> mWorkLogs) {
@@ -112,8 +120,9 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
             case 3:
                 setVisibility(View.VISIBLE, viewHolder.off3LL, viewHolder.w3LL);
                 shift = shifts.get(2);
-                setTag(getTag(model.isWorkDate(), true, shift), viewHolder.w3TagTv, viewHolder.w3AllegedlyTv);
-                setTag(getTag(model.isWorkDate(), false, shift), viewHolder.off3TagTv, viewHolder.off3AllegedlyTv);
+
+                setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), true, shift), viewHolder.w3TagTv, viewHolder.w3AllegedlyTv);
+                setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), false, shift), viewHolder.off3TagTv, viewHolder.off3AllegedlyTv);
                 viewHolder.w3SignTv.setText(shift.wSign == null ? "" : shift.wSign);
                 viewHolder.off3SignTv.setText(shift.oSign == null ? "" : shift.oSign);
                 bindOnClick(model, shift.work, viewHolder.w3AllegedlyTv);
@@ -121,8 +130,8 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
             case 2:
                 setVisibility(View.VISIBLE, viewHolder.off2LL, viewHolder.w2LL);
                 shift = shifts.get(1);
-                setTag(getTag(model.isWorkDate(), true, shift), viewHolder.w2TagTv, viewHolder.w2AllegedlyTv);
-                setTag(getTag(model.isWorkDate(), false, shift), viewHolder.off2TagTv, viewHolder.off2AllegedlyTv);
+                setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), true, shift), viewHolder.w2TagTv, viewHolder.w2AllegedlyTv);
+                setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), false, shift), viewHolder.off2TagTv, viewHolder.off2AllegedlyTv);
                 viewHolder.w2SignTv.setText(shift.wSign == null ? "" : shift.wSign);
                 viewHolder.off2SignTv.setText(shift.oSign == null ? "" : shift.oSign);
                 bindOnClick(model, shift.work, viewHolder.w2AllegedlyTv);
@@ -130,8 +139,8 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
             case 1:
                 setVisibility(View.VISIBLE, viewHolder.off1LL, viewHolder.w1LL);
                 shift = shifts.get(0);
-                setTag(getTag(model.isWorkDate(), true, shift), viewHolder.w1TagTv, viewHolder.w1AllegedlyTv);
-                setTag(getTag(model.isWorkDate(), false, shift), viewHolder.off1TagTv, viewHolder.off1AllegedlyTv);
+                setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), true, shift), viewHolder.w1TagTv, viewHolder.w1AllegedlyTv);
+                setTag(getTag(thisTimes == model.getWorkTimes(), model.isWorkDate(), false, shift), viewHolder.off1TagTv, viewHolder.off1AllegedlyTv);
                 viewHolder.w1SignTv.setText(shift.wSign == null ? "" : shift.wSign);
                 viewHolder.off1SignTv.setText(shift.oSign == null ? "" : shift.oSign);
                 bindOnClick(model, shift.work, viewHolder.w1AllegedlyTv);
@@ -142,7 +151,7 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
     }
 
     private void bindOnClick(WorkLogs model, String time, TextView allegedlyTv) {
-        if (allegedlyTv.getVisibility() == View.VISIBLE) {
+        if (allegedlyTv.getVisibility() == View.VISIBLE && TO_APPRECORD.equals(allegedlyTv.getText().toString())) {
             allegedlyTv.setTag(R.id.tag_key, model);
             allegedlyTv.setTag(R.id.tag_key2, time);
             allegedlyTv.setOnClickListener(mOnClickListener);
@@ -186,6 +195,16 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
             tagTv.setVisibility(View.VISIBLE);
             allegedlyTv.setVisibility(View.VISIBLE);
             tagTv.setText(tag);
+            allegedlyTv.setText(TO_APPRECORD);
+            allegedlyTv.setBackgroundResource(R.drawable.bg_bule_btn);
+            allegedlyTv.setPadding(DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2), DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2));
+        } else if (APPRECORD.equals(tag)) {
+            tagTv.setVisibility(View.VISIBLE);
+            allegedlyTv.setVisibility(View.VISIBLE);
+            tagTv.setText(NEGLECT_WORK);
+            allegedlyTv.setText(APPRECORD);
+            allegedlyTv.setBackgroundResource(R.drawable.bg_text_pass);
+            allegedlyTv.setPadding(DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2), DisplayUtil.dip2px(ct, 6), DisplayUtil.dip2px(ct, 2));
         } else if (LATE.equals(tag)) {
             tagTv.setVisibility(View.VISIBLE);
             allegedlyTv.setVisibility(View.GONE);
@@ -203,19 +222,26 @@ public class WorkLogsAdapter extends RecyclerView.Adapter<WorkLogsAdapter.ViewHo
      * @param shift
      * @return
      */
-    private String getTag(boolean isWork, boolean w, WorkLogs.Shift shift) {
-
-
+    private String getTag(boolean isToday, boolean isWork, boolean w, WorkLogs.Shift shift) {
+        if (isToday) return "";
         if (isWork) {
             if (w) {
                 if (TextUtils.isEmpty(shift.wSign)) {
-                    return NEGLECT_WORK;
+                    if (shift.wApprecord) {
+                        return APPRECORD;
+                    } else {
+                        return NEGLECT_WORK;
+                    }
                 } else if (shift.work.compareTo(shift.wSign) < 0) {
                     return LATE;
                 }
             } else {
                 if (TextUtils.isEmpty(shift.oSign)) {
-                    return NEGLECT_WORK;
+                    if (shift.offApprecord) {
+                        return APPRECORD;
+                    } else {
+                        return NEGLECT_WORK;
+                    }
                 } else if (shift.off.compareTo(shift.oSign) > 0) {
                     return EARLY_RETREAT;
                 }

+ 40 - 5
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/model/WorkLogs.java

@@ -2,6 +2,7 @@ package com.uas.appworks.OA.erp.model;
 
 import android.text.TextUtils;
 
+import com.common.LogUtil;
 import com.common.data.CalendarUtil;
 import com.common.data.DateFormatUtil;
 
@@ -15,11 +16,28 @@ public class WorkLogs {
     private String week;
     private List<Shift> shifts;
     private boolean isWorkDate;
+    private int late, early;
 
     public WorkLogs() {
         shifts = new ArrayList<>();
     }
 
+    public int getLate() {
+        return late;
+    }
+
+    public void setLate(int late) {
+        this.late = late;
+    }
+
+    public int getEarly() {
+        return early;
+    }
+
+    public void setEarly(int early) {
+        this.early = early;
+    }
+
     public String getDate() {
         return date;
     }
@@ -27,6 +45,7 @@ public class WorkLogs {
     public void setDate(String date) {
         if (!TextUtils.isEmpty(date)) {
             workTimes = DateFormatUtil.str2Long(date, DateFormatUtil.YMD);
+            LogUtil.i("workTimes="+workTimes);
             this.date = DateFormatUtil.long2Str(workTimes, "MM月dd日");
             this.week = CalendarUtil.getWeek(workTimes);
         }
@@ -53,14 +72,28 @@ public class WorkLogs {
     }
 
 
-    public void addShift(String work, String wSign, String off, String oSign) {
+    public void addShift(String work, String wSign, String off, String oSign, boolean wApprecord, boolean offApprecord) {
         //只要有一个不为空就可以
         if (!TextUtils.isEmpty(work) || !TextUtils.isEmpty(wSign) || !TextUtils.isEmpty(off) || !TextUtils.isEmpty(oSign)) {
             Shift shift = new Shift();
-            shift.work = work;
-            shift.wSign = wSign;
-            shift.off = off;
-            shift.oSign = oSign;
+
+            if (!TextUtils.isEmpty(work)) {
+                shift.work = DateFormatUtil.long2Str(DateFormatUtil.str2Long(DateFormatUtil.long2Str(DateFormatUtil.YMD) + " " + work, DateFormatUtil.YMD_HM) + late * 60000, DateFormatUtil.HM);
+                LogUtil.i("gong"," shift.work="+ shift.work);
+            } else {
+                shift.work = work;
+            }
+
+            if (!TextUtils.isEmpty(off)) {
+                shift.off = DateFormatUtil.long2Str(DateFormatUtil.str2Long(DateFormatUtil.long2Str(DateFormatUtil.YMD) + " " + off, DateFormatUtil.YMD_HM) - late * 60000, DateFormatUtil.HM);
+                LogUtil.i("gong"," shift.off="+ shift.off);
+            } else {
+                shift.off = off;
+            }
+            shift.wSign = wSign.trim();
+            shift.oSign = oSign.trim();
+            shift.offApprecord = offApprecord;
+            shift.wApprecord = wApprecord;
             shifts.add(shift);
         }
 
@@ -75,6 +108,8 @@ public class WorkLogs {
         public String wSign;
         public String off;
         public String oSign;
+        public boolean offApprecord;
+        public boolean wApprecord;
     }
 
 }