Browse Source

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

raomeng 8 years ago
parent
commit
95489d5d93

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

@@ -2,7 +2,6 @@ package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
 import android.content.Context;
 import android.content.Intent;
-import android.graphics.drawable.BitmapDrawable;
 import android.os.Bundle;
 import android.support.v4.view.ViewPager;
 import android.view.LayoutInflater;
@@ -192,6 +191,8 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
     private TextView oamain_more_menu_hd_tv;
     private TextView mWorkReport;
     boolean isPlatform = ApiUtils.getApiModel() instanceof ApiPlatform;
+    private View otherEmptyView;
+    private View meEmptyEView;
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
@@ -435,7 +436,10 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
         emptyLayout.setShowLoadingButton(false);
         emptyLayout.setShowEmptyButton(false);
         emptyLayout.setShowErrorButton(false);
-        emptyLayout.setEmptyViewRes(R.layout.oa_empty_list);
+        ViewGroup view= (ViewGroup) LayoutInflater.from(ct).inflate(R.layout.oa_empty_list,null);
+        otherEmptyView = view.findViewById(R.id.otherView);
+        meEmptyEView = view.findViewById(R.id.meView);
+        emptyLayout.setEmptyView(view);
         adapter = new OAAdapter(ct, util, new ArrayList<OAModel>());
         oa_listview.setAdapter(adapter);
         curDate = new Date(System.currentTimeMillis());
@@ -741,11 +745,21 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
         setAdapterBeans(isMe ? meModels : otherModels);
     }
 
+    private void showEmpty(){
+        if (isMe){
+            meEmptyEView.setVisibility(View.VISIBLE);
+            otherEmptyView.setVisibility(View.GONE);
+        }else{
+            meEmptyEView.setVisibility(View.GONE);
+            otherEmptyView.setVisibility(View.VISIBLE);
+        }
+        emptyLayout.showEmpty();
+    }
     private void setAdapterBeans(List<OAModel> showModel) {
         if (ListUtils.isEmpty(showModel)) {
             adapter.setModels(showModel);
             adapter.notifyDataSetChanged();
-            emptyLayout.showEmpty();
+            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));
@@ -761,8 +775,9 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
                     ok++;
             }
         }
-        if (ListUtils.isEmpty(filterModels))
-            emptyLayout.showEmpty();
+        if (ListUtils.isEmpty(filterModels)){
+            showEmpty();
+        }
         CommonUtil.textSpanForStyle(all_task_num, getString(R.string.work_calender) + "   " + size, size + "", getResources().getColor(R.color.approval_select_tab));
         CommonUtil.textSpanForStyle(ok_task_num, getString(R.string.done) + "   " + ok, ok + "", getResources().getColor(R.color.approval_select_tab));
         CommonUtil.textSpanForStyle(uok_task_num, getString(R.string.undone) + "   " + (size - ok), (size - ok) + "", getResources().getColor(R.color.approval_select_tab));
@@ -785,7 +800,7 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
         if (popupWindow == null) {
             LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             view = layoutInflater.inflate(R.layout.pop_crm_list, null);
-            ListView plist = (ListView) view.findViewById(R.id.mList);
+            ListView plist =  view.findViewById(R.id.mList);
             SimpleAdapter adapter = new SimpleAdapter(ct, getPopData(),
                     R.layout.item_pop_list, new String[]{"item_name"}, new int[]{R.id.tv_item_name});
             plist.setAdapter(adapter);
@@ -825,8 +840,11 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
                         startActivityForResult(intent, 0x20);
                 }
             });
-            popupWindow = new PopupWindow(view, windowManager.getDefaultDisplay().getWidth() / 3, windowManager.getDefaultDisplay().getHeight() / 3);
-        }
+            popupWindow =new PopupWindow(view);
+//                    new PopupWindow(view, windowManager.getDefaultDisplay().getWidth() / 3, windowManager.getDefaultDisplay().getHeight() / 3);
+            popupWindow.setWidth(DisplayUtil.dip2px(ct,140));
+            popupWindow.setHeight(DisplayUtil.dip2px(ct,150));
+            }
         // 使其聚集
         popupWindow.setFocusable(true);
         // 设置允许在外点击消失
@@ -837,12 +855,12 @@ public class OAActivity extends SupportToolBarActivity implements View.OnClickLi
                 DisplayUtil.backgroundAlpha(OAActivity.this, 1f);
             }
         });
-        DisplayUtil.backgroundAlpha(this, 1f);
+        DisplayUtil.backgroundAlpha(this, 0.5f);
         // 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景
-        popupWindow.setBackgroundDrawable(new BitmapDrawable());
-        popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
+        popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.top_bubble));
+//        popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
         // 显示的位置为:屏幕的宽度的一半-PopupWindow的高度的一半
-        popupWindow.showAsDropDown(parent, windowManager.getDefaultDisplay().getWidth(), 0);
+        popupWindow.showAsDropDown(parent, windowManager.getDefaultDisplay().getWidth()-DisplayUtil.dip2px(ct,10), 0);
     }
 
     private List<Map<String, Object>> getPopData() {

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

@@ -58,7 +58,6 @@ import com.lidroid.xutils.view.annotation.ViewInject;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.util.oa.CommonUtil;
-import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
 import java.io.File;
 import java.io.IOException;
@@ -111,7 +110,7 @@ public class OutSigninOKActivity extends BaseActivity {
 	public boolean onOptionsItemSelected(MenuItem item) {
 		if (item.getItemId() == R.id.push) {
 			if (StringUtil.isEmpty(text_edit.getText().toString())) {
-				Crouton.makeText(ct, "请填写备注");
+				showToast( "请填写备注");
 				return true;
 			}
 			if (!StringUtil.isEmpty(path) && new File(path).isFile())
@@ -218,7 +217,7 @@ public class OutSigninOKActivity extends BaseActivity {
 			public void onClick(View v) {
 				boolean is = CommonUtil.getSharedPreferencesBoolean(ct, "isImage", false);
 				if (!is) {
-					Crouton.makeText(ct, "您当前未被允许使用相册,请使用拍照");
+					showToast(  "您当前未被允许使用相册,请使用拍照");
 					return;
 				}
 				requestPermission(Manifest.permission.READ_EXTERNAL_STORAGE, new Runnable() {
@@ -470,7 +469,7 @@ public class OutSigninOKActivity extends BaseActivity {
 					});
 					break;
 				case Constants.APP_SOCKETIMEOUTEXCEPTION:
-					Crouton.makeText(ct, message);
+					showToast(  message);
 					break;
 			}
 		}
@@ -502,11 +501,11 @@ public class OutSigninOKActivity extends BaseActivity {
 	private void doSigninn() {
 		Context ct = MyApplication.getInstance();
 		if (!CommonUtil.isNetWorkConnected(ct)) {
-			Crouton.makeText(ct, "当前网络不可用,请检查网络连接");
+			showToast(  "当前网络不可用,请检查网络连接");
 			return;
 		}
 		if (isSubmit) {
-			Crouton.makeText(ct, "当前正在提交");
+			showToast(  "当前正在提交");
 			return;
 		}
 		isSubmit = true;

+ 0 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/platform/task/TaskActivity.java

@@ -264,7 +264,6 @@ public class TaskActivity extends SupportToolBarActivity implements OnClickListe
         mEmptyLayout.setShowEmptyButton(false);
         mEmptyLayout.setShowErrorButton(false);
         mEmptyLayout.setShowLoadingButton(false);
-        mEmptyLayout.showEmpty();
         //加载网络数据
         new Thread(new getallprocess_run()).start();
 //        sendResquestForServer("START", 2);

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

@@ -15,6 +15,7 @@
 
         <android.support.v7.widget.RecyclerView
             android:id="@+id/listView"
+            android:background="@color/white"
             android:layout_width="match_parent"
             android:layout_height="wrap_content" />
 

+ 2 - 1
WeiChat/src/main/res/layout/item_pop_list.xml

@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
+    android:clickable="true"
+    android:background="@drawable/select_weixin_list_item"
     android:layout_height="wrap_content">
     <TextView
         android:id="@+id/tv_item_name"
@@ -11,7 +13,6 @@
         android:textSize="14sp"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@drawable/select_weixin_list_item"
         android:gravity="center"
         android:text="xxx" />
 </LinearLayout>

+ 27 - 13
WeiChat/src/main/res/layout/oa_empty_list.xml

@@ -2,26 +2,40 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:padding="15dp"
+    android:gravity="center_horizontal"
     android:orientation="vertical">
 
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="20dp" />
-
-
     <TextView
-        android:layout_width="match_parent"
+        android:id="@+id/meView"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:gravity="center"
         android:textColor="#999999"
+        android:layout_marginTop="40dp"
         android:text="@string/empty_more_visio"/>
-    <ImageView
-        android:layout_width="match_parent"
+
+
+    <LinearLayout
+        android:id="@+id/otherView"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:visibility="gone"
         android:layout_centerInParent="true"
-        android:src="@drawable/oa_empty" />
+        android:gravity="center_horizontal"
+        android:orientation="vertical">
+
+        <pl.droidsonroids.gif.GifImageView
+            android:id="@+id/view_empty_gif"
+            android:layout_width="110dp"
+            android:layout_height="110dp"
+            android:src="@drawable/gif_empty_view" />
+
+        <TextView
+            android:id="@+id/textViewMessage"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="90dp"
+            android:text="@string/common_list_empty"
+            android:textSize="14sp"
+            />
+    </LinearLayout>
 
 </LinearLayout>

+ 4 - 13
WeiChat/src/main/res/layout/pop_crm_list.xml

@@ -1,23 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     app:cardElevation="@dimen/paddingMin"
-    android:background="@drawable/top_bubble"
     android:layout_height="match_parent">
 
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@drawable/shape_pop_ll"
-        android:orientation="vertical"
-        android:padding="0.5dp">
-
         <ListView
             android:id="@+id/mList"
-            style="@style/ListViewBasic"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:divider="@color/item_line"
-            android:dividerHeight="0.1dp"></ListView>
-    </LinearLayout>
-</android.support.v7.widget.CardView>
+            android:dividerHeight="@dimen/line"/>
+</FrameLayout>

+ 2 - 1
app_core/common/src/main/java/com/core/base/BaseToolBarActivity.java

@@ -33,7 +33,8 @@ public class BaseToolBarActivity extends AppCompatActivity {
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
-        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
+        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
+                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
         super.onCreate(savedInstanceState);
         super.setContentView(R.layout.base_bar_layout);
         contentFl = findViewById(R.id.contentFl);

BIN
app_core/common/src/main/res/drawable-xxhdpi/top_bubble.9.png


+ 2 - 2
app_core/common/src/main/res/layout/act_taskerp_add.xml

@@ -63,8 +63,8 @@
                 android:textColor="@color/red" />
             <ImageView
                 android:id="@+id/voice_search_iv"
-                android:layout_width="20dp"
-                android:layout_height="20dp"
+                android:layout_width="10dp"
+                android:layout_height="16dp"
                 android:layout_alignParentRight="true"
                 android:layout_marginRight="20dp"
                 android:layout_marginTop="8dp"

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

@@ -53,7 +53,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginBottom="90dp"
-            android:text="数据为空"
+            android:text="@string/common_list_empty"
             android:textSize="14sp"
             />
     </LinearLayout>

+ 5 - 3
app_modular/appme/src/main/java/com/uas/appme/settings/activity/SettingActivity.java

@@ -296,9 +296,11 @@ public class SettingActivity extends SupportToolBarActivity implements View.OnCl
                 try {
                     //{"result":"1","url":"http://113.105.74.140:8081/u/0/0/201710/o/48fda5af663f40f795f2dd49e2d8801f.jpg"}
                     if (o.toString().contains("result")) {
-                        if (!CommonUtil.isReleaseVersion()) {
-                            businessmen_setting_rl.setVisibility(View.VISIBLE);
-                        } else if ("1".equals(JSON.parseObject(o.toString()).getString("result"))) {
+//                        if (!CommonUtil.isReleaseVersion()) {
+//                            businessmen_setting_rl.setVisibility(View.VISIBLE);
+//                        } else
+
+                            if ("1".equals(JSON.parseObject(o.toString()).getString("result"))) {
                             businessmen_setting_rl.setVisibility(View.VISIBLE);
                         } else {
                             businessmen_setting_rl.setVisibility(View.GONE);

+ 3 - 2
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/ApprovalActivity.java

@@ -12,6 +12,7 @@ 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;
@@ -35,7 +36,6 @@ import com.common.system.DisplayUtil;
 import com.core.app.AppConfig;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
-import com.core.base.view.AndroidBug5497Workaround;
 import com.core.model.Approval;
 import com.core.model.OAConfig;
 import com.core.model.SelectBean;
@@ -187,8 +187,9 @@ public class ApprovalActivity extends BaseActivity implements IApproval, Approva
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN |
+                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
         setContentView(R.layout.activity_approval);
-        AndroidBug5497Workaround.assistActivity(this);
         initView();
     }
 

+ 1 - 3
app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/ApprovalAdapter.java

@@ -191,7 +191,6 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
 
     private void bindNodeView(NodeViewHolder holder, int position) {
         Approval approval = approvals.get(position);
-        LogUtil.i("gong","approval.idkey="+approval.getIdKey());
         if (position > 0 && approvals.get(position - 1).getType() == Approval.NODES_TAG || approvals.get(position - 1).getType() == Approval.NODES) {
             holder.padding.setVisibility(View.GONE);
         } else {
@@ -212,7 +211,7 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
         int reId = R.drawable.daishenpi;
         String status = "";
         if (!StringUtil.isEmpty(approval.getIdKey())) {
-            holder.valuesTv.setText(approval.getIdKey());
+            holder.valuesTv.setText(StringUtil.getFirstBrackets(approval.getIdKey()));
             if (approval.getIdKey().startsWith("待审批")) {
                 textColor = R.color.approvaling;
                 reId = R.drawable.daishenpi;
@@ -497,7 +496,6 @@ public class ApprovalAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
                     holder.valueEt.addTextChangedListener(new TextChangListener(holder, position));
             }
         } else {
-            LogUtil.i("gong","approval.getValues()="+approval.getValues());
             if (isWeb(approval.getValues())) {
                 setViewShowAble(true, holder.valueWeb);
                 setViewShowAble(false, holder.valueEt, holder.valueTv);

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

@@ -10,10 +10,10 @@
         app:cardElevation="@dimen/paddingMin"
         app:cardCornerRadius="@dimen/paddingMin"
         android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/padding"
+        android:layout_marginBottom="5dp"
         android:layout_marginLeft="@dimen/padding"
         android:layout_marginRight="@dimen/padding"
-        android:layout_marginTop="@dimen/padding">
+        android:layout_marginTop="5dp">
 
         <RelativeLayout
             android:layout_width="match_parent"

+ 103 - 91
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/utils/approvautils/NodeAdapter.java

@@ -1,6 +1,7 @@
 package com.uas.appworks.OA.erp.utils.approvautils;
 
 import android.content.Context;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -22,95 +23,106 @@ import java.util.List;
 
 public class NodeAdapter extends BaseAdapter {
 
-	private Context ct;
-	private List<Approval> approvals;
-
-
-	public NodeAdapter(Context ct, List<Approval> approvals) {
-		this.ct = ct;
-		this.approvals = approvals;
-	}
-
-	@Override
-	public int getCount() {
-		return ListUtils.getSize(approvals);
-	}
-
-	@Override
-	public Object getItem(int position) {
-		return approvals.get(position);
-	}
-
-	@Override
-	public long getItemId(int position) {
-		return position;
-	}
-
-	@Override
-	public View getView(int position, View itemView, ViewGroup parent) {
-		NodeViewHolder holder = null;
-		if (itemView == null) {
-			holder = new NodeViewHolder();
-			itemView = LayoutInflater.from(ct).inflate(R.layout.item_approval_node, parent, false);
-			holder.timeTv = (TextView) itemView.findViewById(R.id.timeTv);
-			holder.keyTv = (TextView) itemView.findViewById(R.id.keyTv);
-			holder.valuesTv = (TextView) itemView.findViewById(R.id.valuesTv);
-			holder.handIv = (ImageView) itemView.findViewById(R.id.handIv);
-			holder.statusIV = (ImageView) itemView.findViewById(R.id.statusIV);
-			holder.padding = itemView.findViewById(R.id.padding);
-			itemView.setTag(holder);
-		} else {
-			holder = (NodeViewHolder) itemView.getTag();
-		}
-		bindNodeView(holder, position);
-		return itemView;
-	}
-
-	private void bindNodeView(NodeViewHolder holder, int position) {
-		Approval approval = approvals.get(position);
-		if (position > 0 && approvals.get(position - 1).getType() != Approval.NODES) {
-			holder.padding.setVisibility(View.VISIBLE);
-		} else {
-			holder.padding.setVisibility(View.GONE);
-		}
-		int textColor = R.color.hintColor;
-		if (!StringUtil.isEmpty(approval.getIdKey())) {
-			holder.valuesTv.setText(approval.getIdKey().replace("\\n", "\n"));
-			if (approval.getIdKey().startsWith("待审批")) {
-				textColor = R.color.approvaling;
-			} else if (approval.getIdKey().startsWith("未通过")) {
-				textColor = R.color.crimson;
-			}
-		} else {
-			holder.valuesTv.setText("");
-		}
-		holder.valuesTv.setTextColor(ct.getResources().getColor(textColor));
-		holder.keyTv.setText(approval.getCaption());
-		int reId = R.drawable.weishenpi;
-		if (!StringUtil.isEmpty(approval.getIdKey())) {
-			String status = approval.getIdKey().split("\\(")[0];
-			if (StringUtil.isEmpty(status)) status = "";
-			if ("已审批".equals(status)) {
-				reId = R.drawable.node_finished3;
-			} else if ("待审批".equals(status)) {
-				reId = R.drawable.daishenpi;
-			} else if ("未通过".equals(status)) {
-				reId = R.drawable.node_delete;
-			} else {
-				reId = R.drawable.weishenpi;
-			}
-		}
-		holder.statusIV.setImageResource(reId);
-		AvatarHelper.getInstance().display(String.valueOf(approval.getId()), holder.handIv, true, false);
-		holder.timeTv.setTextColor(ct.getResources().getColor(R.color.text_normal));
-		holder.timeTv.setText(approval.getValues());
-	}
-
-	private class NodeViewHolder {
-		ImageView handIv, statusIV;
-		TextView timeTv, keyTv, valuesTv;
-		View padding;
-
-
-	}
+    private Context ct;
+    private List<Approval> approvals;
+
+
+    public NodeAdapter(Context ct, List<Approval> approvals) {
+        this.ct = ct;
+        this.approvals = approvals;
+    }
+
+    @Override
+    public int getCount() {
+        return ListUtils.getSize(approvals);
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return approvals.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View itemView, ViewGroup parent) {
+        NodeViewHolder holder = null;
+        if (itemView == null) {
+            holder = new NodeViewHolder();
+            itemView = LayoutInflater.from(ct).inflate(R.layout.item_approval_node, parent, false);
+            holder.timeTv = (TextView) itemView.findViewById(R.id.timeTv);
+            holder.keyTv = (TextView) itemView.findViewById(R.id.keyTv);
+            holder.valuesTv = (TextView) itemView.findViewById(R.id.valuesTv);
+            holder.handIv = (ImageView) itemView.findViewById(R.id.handIv);
+            holder.statusIV = (ImageView) itemView.findViewById(R.id.statusIV);
+            holder.padding = itemView.findViewById(R.id.padding);
+            holder.statusTv = (TextView) itemView.findViewById(R.id.statusTv);
+            holder.dateTv = (TextView) itemView.findViewById(R.id.dateTv);
+            holder.lineBottom = itemView.findViewById(R.id.lineBottom);
+            holder.lineTop = itemView.findViewById(R.id.lineTop);
+            itemView.setTag(holder);
+        } else {
+            holder = (NodeViewHolder) itemView.getTag();
+        }
+        bindNodeView(holder, position);
+        return itemView;
+    }
+
+    private void bindNodeView(NodeViewHolder holder, int position) {
+        Approval approval = approvals.get(position);
+        holder.padding.setVisibility(View.GONE);
+
+        if (position == 0) {
+            holder.lineTop.setVisibility(View.GONE);
+        } else {
+            holder.lineTop.setVisibility(View.VISIBLE);
+
+        }
+        if (position == (getCount() - 1)) {
+            holder.lineBottom.setVisibility(View.GONE);
+        } else {
+            holder.lineBottom.setVisibility(View.VISIBLE);
+
+        }
+
+        int textColor = R.color.hintColor;
+        int reId = R.drawable.daishenpi;
+        String status = "";
+        if (!StringUtil.isEmpty(approval.getIdKey())) {
+            holder.valuesTv.setText(StringUtil.getFirstBrackets(approval.getIdKey()));
+            if (approval.getIdKey().startsWith("待审批")) {
+                textColor = R.color.approvaling;
+                reId = R.drawable.daishenpi;
+                status = "等待" + "" + "审批";
+            } else if (approval.getIdKey().startsWith("未通过") || approval.getIdKey().startsWith("结束") || approval.getIdKey().startsWith("不同意")) {
+                textColor = R.color.done_approval;
+                reId = R.drawable.node_finished3;
+                status = "不同意";
+            } else if (approval.getIdKey().startsWith("已审批") || approval.getIdKey().startsWith("变更") || approval.getIdKey().startsWith("同意")) {
+                reId = R.drawable.node_finished3;
+                status = "已审批";
+            }
+        } else {
+            holder.valuesTv.setText("");
+        }
+        holder.dateTv.setText(TextUtils.isEmpty(approval.getValues()) ? "" : approval.getValues());
+        holder.timeTv.setText(TextUtils.isEmpty(approval.getDbFind()) ? "" : approval.getDbFind());
+        holder.statusTv.setText(status);
+        holder.statusTv.setTextColor(ct.getResources().getColor(textColor));
+        holder.keyTv.setText(approval.getCaption());
+        holder.statusIV.setImageResource(reId);
+        AvatarHelper.getInstance().display(String.valueOf(approval.getId()), holder.handIv, true, false);
+    }
+
+
+    private class NodeViewHolder {
+        ImageView handIv, statusIV;
+        TextView timeTv, keyTv, valuesTv;
+        View padding;
+        TextView statusTv, dateTv;
+        View lineBottom, lineTop;
+    }
 }