Просмотр исходного кода

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

# Conflicts:
#	WeiChat/build.gradle
Arison 9 лет назад
Родитель
Сommit
c2eacf1fb3

+ 6 - 3
WeiChat/src/main/AndroidManifest.xml

@@ -805,10 +805,13 @@
                 <action android:name="uu.step.destory" />
             </intent-filter>
         </receiver>
-        <activity android:name=".ui.me.SpeechrecognitionActivity"></activity>
+
+        <activity android:name=".ui.me.SpeechrecognitionActivity" />
         <activity android:name=".ui.erp.activity.oa.ErpActivity" />
-        <activity android:name=".ui.erp.activity.oa.SelectAimActivity"
-            android:label="@string/activity_select_aims"/>
+        <activity
+            android:name=".ui.erp.activity.oa.SelectAimActivity"
+            android:label="@string/activity_select_aims" />
+        <activity android:name=".ui.erp.activity.oa.SelectRemarkActivity"></activity>
     </application>
 
 </manifest>

+ 25 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CommonDocDetailsActivity.java

@@ -101,6 +101,7 @@ public class CommonDocDetailsActivity extends BaseActivity {
     private String real_status;
     private String emCode;
     private View hide_above_af;
+    private String last_status;
 
 
     @Override
@@ -180,7 +181,7 @@ public class CommonDocDetailsActivity extends BaseActivity {
         Log.i("mCaller", mCaller);
         Log.isLoggable("keyValue", mkeyValue);
         Log.i("real_status", real_status);
-        SetComDocStatus(real_status);
+
         //当获取到正确的单据caller和单据id时
         if (!TextUtils.isEmpty(mCaller) && mkeyValue != -1) {
             if ("Ask4Leave".equals(mCaller)) {
@@ -385,6 +386,18 @@ public class CommonDocDetailsActivity extends BaseActivity {
                                     Log.i("em_number", em_number);
                                 }
                             }
+
+                            //单据真正的状态
+                            if ((!TextUtils.isEmpty(fd_field) && fd_field.equals("va_status")) ||
+                                    (!TextUtils.isEmpty(fd_field) && fd_field.equals("wo_status")) ||
+                                    (!TextUtils.isEmpty(fd_field) && fd_field.equals("sa_status")) ||
+                                    (!TextUtils.isEmpty(fd_field) && fd_field.equals("FP_status"))) {
+                                if (!fd_field.equals("null")) {
+                                    last_status = formdataArray.getJSONObject(0).getString(fd_field);
+                                }
+                            }
+
+                            SetComDocStatus(real_status); //显示单据提交状态
                             getapplypeomsg(em_number);
                         }
                         mCommonDocMainMsgAdapter.setmFormconfigsBean(mFormconfigsBean);
@@ -436,9 +449,17 @@ public class CommonDocDetailsActivity extends BaseActivity {
                 status_tv.setText("已审批");
                 resanddel_ll.setVisibility(View.GONE);
             } else if (real_status.equals("已提交")) {
-                status_tv.setTextColor(getApplicationContext().getResources().getColor(R.color.no_approval));
-                status_tv.setText("待审批");
-                resanddel_ll.setVisibility(View.VISIBLE);
+
+                if (!TextUtils.isEmpty(last_status) && last_status.equals("已审核")){
+                    status_tv.setTextColor(getApplicationContext().getResources().getColor(R.color.approval));
+                    status_tv.setText("已审批");
+                    resanddel_ll.setVisibility(View.GONE);
+                }else {
+                    status_tv.setTextColor(getApplicationContext().getResources().getColor(R.color.no_approval));
+                    status_tv.setText("待审批");
+                    resanddel_ll.setVisibility(View.VISIBLE);
+                }
+
             } else if (real_status.equals("在录入")) {
                 status_tv.setTextColor(getApplicationContext().getResources().getColor(R.color.titleBlue));
                 status_tv.setText("未提交");

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

@@ -414,8 +414,10 @@ public class MissionActivity extends BaseActivity implements View.OnClickListene
             }
         });
         popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
+        popupWindow.setTouchable(true);
+        popupWindow.setOutsideTouchable(false);
         // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
-        popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_main));
+//        popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_main));
         // 设置好参数之后再show
         popupWindow.showAtLocation(contentView, Gravity.CENTER, 0, 0);
         setbg(0.4f);

+ 17 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectRemarkActivity.java

@@ -0,0 +1,17 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.oa;
+
+import android.os.Bundle;
+import android.support.v7.widget.RecyclerView;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+
+public class SelectRemarkActivity extends BaseActivity {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_select_remark);
+        RecyclerView recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
+    }
+}

+ 14 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/SelectAimAdapter.java

@@ -93,12 +93,16 @@ public class SelectAimAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
         holder.time_tv.setText("上次拜访 " + getNull(model.getTime()));
         holder.times_tv.setText("总拜访 " + getNull(model.getTimes() + " 次"));
         holder.distance_tv.setText(getKm(BaiduMapUtil.getInstence().getDistance(model.getLatLng())));
+        holder.tag_tv.setVisibility(model.isFirst() ? View.VISIBLE : View.GONE);
+        holder.tag_view.setVisibility(model.isFirst() ? View.VISIBLE : View.GONE);
     }
 
     private void bindMapView(MapViewHolder holder, SelectAimModel model) throws Exception {
         holder.title_tv.setText(getNull(model.getName()));
         holder.sub_tv.setText(getNull(model.getAddress()));
         holder.distance_tv.setText(getKm(BaiduMapUtil.getInstence().getDistance(model.getLatLng())));
+        holder.tag_tv.setVisibility(model.isFirst() ? View.VISIBLE : View.GONE);
+        holder.tag_view.setVisibility(model.isFirst() ? View.VISIBLE : View.GONE);
     }
 
     private String getKm(String dis) {
@@ -123,13 +127,17 @@ public class SelectAimAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
     class MapViewHolder extends RecyclerView.ViewHolder {
         TextView distance_tv,
                 title_tv,
-                sub_tv;
+                sub_tv,
+                tag_tv;
+        View tag_view;
 
         public MapViewHolder(View itemView) {
             super(itemView);
             distance_tv = (TextView) itemView.findViewById(R.id.distance_tv);
             title_tv = (TextView) itemView.findViewById(R.id.title_tv);
             sub_tv = (TextView) itemView.findViewById(R.id.sub_tv);
+            tag_tv = (TextView) itemView.findViewById(R.id.tag_tv);
+            tag_view = itemView.findViewById(R.id.tag_view);
         }
     }
 
@@ -138,7 +146,9 @@ public class SelectAimAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
                 title_tv,
                 sub_tv,
                 times_tv,
-                time_tv;
+                time_tv,
+                tag_tv;
+        View tag_view;
 
         public LoadViewHolder(View itemView) {
             super(itemView);
@@ -147,6 +157,8 @@ public class SelectAimAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
             sub_tv = (TextView) itemView.findViewById(R.id.sub_tv);
             times_tv = (TextView) itemView.findViewById(R.id.times_tv);
             time_tv = (TextView) itemView.findViewById(R.id.time_tv);
+            tag_tv = (TextView) itemView.findViewById(R.id.tag_tv);
+            tag_view = itemView.findViewById(R.id.tag_view);
         }
     }
 

+ 23 - 11
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/model/SelectAimModel.java

@@ -10,6 +10,7 @@ import com.baidu.mapapi.model.LatLng;
  */
 
 public class SelectAimModel implements Parcelable {
+    private boolean isFirst;
     private int type;//1.空数据   2.数据库数据  3.地图数据
     private LatLng latLng;
     private String name;
@@ -20,7 +21,9 @@ public class SelectAimModel implements Parcelable {
     public SelectAimModel() {
     }
 
+
     protected SelectAimModel(Parcel in) {
+        isFirst = in.readByte() != 0;
         type = in.readInt();
         latLng = in.readParcelable(LatLng.class.getClassLoader());
         name = in.readString();
@@ -29,6 +32,22 @@ public class SelectAimModel implements Parcelable {
         times = in.readInt();
     }
 
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeByte((byte) (isFirst ? 1 : 0));
+        dest.writeInt(type);
+        dest.writeParcelable(latLng, flags);
+        dest.writeString(name);
+        dest.writeString(address);
+        dest.writeString(time);
+        dest.writeInt(times);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
     public static final Creator<SelectAimModel> CREATOR = new Creator<SelectAimModel>() {
         @Override
         public SelectAimModel createFromParcel(Parcel in) {
@@ -41,19 +60,12 @@ public class SelectAimModel implements Parcelable {
         }
     };
 
-    @Override
-    public int describeContents() {
-        return 0;
+    public boolean isFirst() {
+        return isFirst;
     }
 
-    @Override
-    public void writeToParcel(Parcel parcel, int i) {
-        parcel.writeInt(type);
-        parcel.writeParcelable(latLng, i);
-        parcel.writeString(name);
-        parcel.writeString(address);
-        parcel.writeString(time);
-        parcel.writeInt(times);
+    public void setFirst(boolean first) {
+        isFirst = first;
     }
 
     public int getType() {

+ 36 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectAimPresenter.java

@@ -69,8 +69,23 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
                 }
             }
             keyList = new ArrayList<>();
+            boolean isFirst = true;
             for (SelectAimModel e : models) {
-                if (isIncude(keyWork, e)) keyList.add(e);
+                if (isIncude(keyWork, e)) {
+                    if (isFirst) {
+                        SelectAimModel m = new SelectAimModel();
+                        m.setFirst(true);
+                        m.setLatLng(e.getLatLng());
+                        m.setName(e.getName());
+                        m.setType(e.getType());
+                        m.setAddress(e.getAddress());
+                        m.setTime(e.getTime());
+                        m.setTimes(e.getTimes());
+                        isFirst = false;
+                        keyList.add(m);
+                    } else
+                        keyList.add(e);
+                }
             }
             loadDataByChina();
 //            if (ListUtils.isEmpty(chche)) {
@@ -154,6 +169,7 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
             } else {
                 List<SelectAimModel> models = new ArrayList<>();
                 SelectAimModel model = null;
+                boolean isFirst = true;
                 for (int i = 0; i < chches.size(); i++) {
                     if (StringUtils.isEmpty(chches.get(i).name) || StringUtils.isEmpty(chches.get(i).address)) {
                         chches.remove(i);
@@ -164,6 +180,12 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
                         model.setName(chches.get(i).name);
                         model.setAddress(chches.get(i).address);
                         model.setLatLng(chches.get(i).location);
+                        if (isFirst) {
+                            model.setFirst(true);
+                            isFirst = false;
+                        } else {
+                            model.setFirst(false);
+                        }
                         models.add(model);
                     }
                 }
@@ -172,6 +194,9 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
                 if (ListUtils.isEmpty(models)) {
                     showEmpty();
                 } else {
+                    if (hasEmpty(keyList)) {
+                        keyList = new ArrayList<>();
+                    }
                     keyList.addAll(models);
                     showEmpty();
                 }
@@ -253,12 +278,22 @@ public class SelectAimPresenter implements HttpHandler.OnResultListener {
         if (!StringUtils.isEmpty(keyWork)) {//有搜索
             if (ListUtils.isEmpty(keyList))
                 keyList = new ArrayList<>();
+            if (hasEmpty(keyList)) {
+                keyList = new ArrayList<>();
+            }
             keyList.addAll(models);
             show(keyList);
         } else
             show(models);
     }
 
+    private boolean hasEmpty(List<SelectAimModel> keyList) {
+        if (ListUtils.isEmpty(keyList)) return false;
+        for (SelectAimModel e : keyList)
+            if (e.getType() == 1) return true;
+        return false;
+    }
+
     private void show(List<SelectAimModel> models) {
         if (iSelectAim != null) {
             iSelectAim.showModel(models);

+ 13 - 0
WeiChat/src/main/res/layout/activity_select_remark.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/activity_select_remark"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectRemarkActivity">
+
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/recyclerview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</RelativeLayout>

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

@@ -27,7 +27,7 @@
         android:layout_below="@id/title"
         android:layout_marginTop="5dp"
         android:layout_toRightOf="@id/home_tag"
-        android:text="试试按照公司地址搜索"
-        android:textColor="@color/red"
+        android:text="请搜索地址后完善单位名称"
+        android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine" />
 </RelativeLayout>

+ 19 - 0
WeiChat/src/main/res/layout/item_select_aim_load.xml

@@ -4,11 +4,29 @@
     android:layout_height="match_parent"
     android:padding="10dp">
 
+    <TextView
+        android:id="@+id/tag_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="企业"
+        android:visibility="gone"
+        android:textColor="@color/text_hine"
+        android:textSize="@dimen/text_hine" />
+
+    <View
+        android:visibility="gone"
+        android:id="@+id/tag_view"
+        android:layout_below="@id/tag_tv"
+        android:layout_width="match_parent"
+        android:layout_height="2px"
+        android:background="@color/item_line" />
+
     <TextView
         android:id="@+id/distance_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
+        android:layout_below="@id/tag_view"
         android:text="10km"
         android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine" />
@@ -18,6 +36,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
+        android:layout_alignTop="@id/distance_tv"
         android:layout_toLeftOf="@id/distance_tv"
         android:text="没有符合条件的结果"
         android:textColor="@color/text_main"

+ 19 - 0
WeiChat/src/main/res/layout/item_select_aim_map.xml

@@ -4,11 +4,29 @@
     android:layout_height="match_parent"
     android:padding="10dp">
 
+    <TextView
+        android:id="@+id/tag_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="地图"
+        android:textColor="@color/text_hine"
+        android:textSize="@dimen/text_hine"
+        android:visibility="gone" />
+
+    <View
+        android:id="@+id/tag_view"
+        android:layout_width="match_parent"
+        android:layout_height="2px"
+        android:layout_below="@id/tag_tv"
+        android:background="@color/item_line"
+        android:visibility="gone" />
+
     <TextView
         android:id="@+id/distance_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
+        android:layout_below="@id/tag_view"
         android:text="10km"
         android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine" />
@@ -18,6 +36,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
+        android:layout_alignTop="@id/distance_tv"
         android:layout_toLeftOf="@id/distance_tv"
         android:text="没有符合条件的结果"
         android:textColor="@color/text_main"

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

@@ -3,6 +3,7 @@
     android:layout_width="match_parent"
     android:layout_height="200dp"
     android:gravity="center_horizontal"
+    android:background="@drawable/bg_main"
     android:orientation="vertical"
     android:padding="10dp">