Browse Source

Merge branch 'feature' of https://gitlab.com/Arisono/SkWeiChat-Baidu into feature_arison

# Conflicts:
#	WeiChat/src/main/res/values-en/strings.xml
#	WeiChat/src/main/res/values-zh-rCN/strings.xml
#	WeiChat/src/main/res/values-zh-rTW/strings.xml
#	WeiChat/version.properties
Arison 7 years ago
parent
commit
2cf3f60113
35 changed files with 623 additions and 350 deletions
  1. 14 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/WorkMenuParentAdapter.java
  2. 213 0
      WeiChat/src/main/res/layout/activity_holidays.xml
  3. 3 2
      WeiChat/src/main/res/values-en/strings.xml
  4. 4 1
      WeiChat/src/main/res/values-zh-rCN/strings.xml
  5. 2 1
      WeiChat/src/main/res/values-zh-rTW/strings.xml
  6. 28 10
      app_core/common/src/main/assets/work_menu.json
  7. 1 1
      app_core/common/src/main/java/com/core/utils/CommonUtil.java
  8. BIN
      app_core/common/src/main/res/drawable-xhdpi/uuu.png
  9. 1 0
      app_core/common/src/main/res/values-en/strings.xml
  10. 1 0
      app_core/common/src/main/res/values-zh-rTW/strings.xml
  11. BIN
      app_core/message/src/main/res/drawable-hdpi/uuu.png
  12. BIN
      app_core/message/src/main/res/drawable-xhdpi/uuu.png
  13. BIN
      app_core/message/src/main/res/drawable-xxhdpi/uuu.png
  14. 3 2
      app_modular/appcontact/src/main/java/com/uas/appcontact/manager/ContactsManager.java
  15. BIN
      app_modular/appme/src/main/res/drawable-hdpi/uuu.png
  16. BIN
      app_modular/appme/src/main/res/drawable-xxhdpi/uuu.png
  17. 3 5
      app_modular/appmessages/src/main/AndroidManifest.xml
  18. 15 5
      app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/ApprovaPresenter.java
  19. 57 35
      app_modular/apputils/src/main/java/com/modular/apputils/activity/SelectNetAcitivty.java
  20. 1 5
      app_modular/apputils/src/main/java/com/modular/apputils/utils/SwitchUtil.java
  21. 9 0
      app_modular/appworks/src/main/AndroidManifest.xml
  22. 4 3
      app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceDataFormAddActivity.java
  23. 4 4
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/DataFormDetailActivity.java
  24. 127 0
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/TravelDataFormDetailActivity.java
  25. 12 3
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/BusinessTravelActivity.java
  26. 31 19
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/adapter/BusinessTravelAdapter.java
  27. 39 22
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/model/BusinessTravel.java
  28. 3 2
      app_modular/appworks/src/main/java/com/uas/appworks/activity/B2BBusinessMainActivity.java
  29. 21 1
      app_modular/appworks/src/main/java/com/uas/appworks/activity/InviteRegisterActivity.java
  30. 1 5
      app_modular/appworks/src/main/java/com/uas/appworks/fragment/B2BBusinessListFragment.java
  31. BIN
      app_modular/appworks/src/main/res/drawable-xhdpi/ic_business_services.png
  32. BIN
      app_modular/appworks/src/main/res/drawable-xxhdpi/ic_business_services.png
  33. 2 2
      app_modular/appworks/src/main/res/layout/item_bus_travel_hotel.xml
  34. 0 200
      app_third/librarytbs/src/main/java/com/yifeng/sample/tbs/TBSFilesActivity.java
  35. 24 20
      app_third/recyclerlibrary/src/main/java/com/module/recyclerlibrary/ui/refresh/BaseRefreshLayout.java

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

@@ -3,6 +3,7 @@ package com.xzjmyk.pm.activity.ui.erp.adapter;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -13,6 +14,7 @@ import android.widget.TextView;
 
 import com.common.LogUtil;
 import com.common.data.StringUtil;
+import com.common.data.TextUtil;
 import com.common.preferences.PreferenceUtils;
 import com.core.api.wxapi.ApiPlatform;
 import com.core.api.wxapi.ApiUAS;
@@ -162,6 +164,15 @@ public class WorkMenuParentAdapter extends BaseAdapter {
                 //上传管理员状态
                 intent.putExtra(AppConfig.IS_ADMIN, isAdmin);
                 break;
+            case "com.modular.form.TravelDataFormDetailActivity":
+                if (ApiUtils.getApiModel() instanceof ApiUAS) {
+                    String travelCaller = CommonUtil.getSharedPreferences(context, Constants.WORK_TRAVEL_CALLER_CACHE);
+                    if (!TextUtils.isEmpty(travelCaller) && "FeePlease!CCSQ!new".equals(travelCaller)) {
+                        intent.putExtra("caller", travelCaller);
+                        break;
+                    }
+                }
+                intent.setAction("com.modular.form.DataFormDetailActivity");
             case "com.modular.form.DataFormDetailActivity":
                 if ("ic_work_special_attendance".equals(menuIcon)) {
                     intent.putExtra("caller", "SpeAttendance");
@@ -195,6 +206,7 @@ public class WorkMenuParentAdapter extends BaseAdapter {
                     }
                 }
                 break;
+
             case "com.modular.oa.StatisticsActivity":
                 PreferenceUtils.putInt(Constants.NEW_FUNCTION_NOTICE, 1);
                 break;
@@ -206,8 +218,8 @@ public class WorkMenuParentAdapter extends BaseAdapter {
                     intent.putExtra("type", 1);
                 }
                 break;
-            case  "com.modular.apputils.activity.SimpleWebActivity":
-          //  case "com.modular.main.WebViewCommActivity":
+            case "com.modular.apputils.activity.SimpleWebActivity":
+                //  case "com.modular.main.WebViewCommActivity":
                 if ("ic_work_b2b_commerce".equals(menuIcon)) {
                     String phone = com.xzjmyk.pm.activity.util.oa.CommonUtil.getSharedPreferences(context, "user_phone");
                     String password = com.xzjmyk.pm.activity.util.oa.CommonUtil.getSharedPreferences(context, "user_password");

+ 213 - 0
WeiChat/src/main/res/layout/activity_holidays.xml

@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/activity_holidays"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/oa_bg"
+    android:orientation="vertical">
+
+    <android.support.v7.widget.AppCompatTextView
+        android:layout_width="match_parent"
+        android:layout_height="80dp"
+        android:gravity="center"
+        android:textColor="@color/titleBlue"
+        android:textSize="20sp"
+        android:text="2018年放假时间安排"/>
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingBottom="6dp"
+                android:paddingLeft="5dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/MyAttendanceRules_newYearsDay"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="@dimen/text_main" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:text="@string/holiday_date1"
+                    android:textColor="@color/text_hine"
+                    android:textSize="@dimen/text_hine" />
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2px"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingBottom="6dp"
+                android:paddingLeft="5dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/MyAttendanceRules_SpringFestival"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="@dimen/text_main" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:text="@string/holiday_date2"
+                    android:textColor="@color/text_hine"
+                    android:textSize="@dimen/text_hine" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2px"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingBottom="6dp"
+                android:paddingLeft="5dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/MyAttendanceRules_QingmingFestival"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="@dimen/text_main" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:text="@string/holiday_date3"
+                    android:textColor="@color/text_hine"
+                    android:textSize="@dimen/text_hine" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2px"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingBottom="6dp"
+                android:paddingLeft="5dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/MyAttendanceRules_LaborDay"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="@dimen/text_main" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:text="@string/holiday_date4"
+                    android:textColor="@color/text_hine"
+                    android:textSize="@dimen/text_hine" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2px"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingBottom="6dp"
+                android:paddingLeft="5dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/MyAttendanceRules_TheDragonBoatFestival"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="@dimen/text_main" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:text="@string/holiday_date5"
+                    android:textColor="@color/text_hine"
+                    android:textSize="@dimen/text_hine" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2px"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingBottom="6dp"
+                android:paddingLeft="5dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:id="@+id/zq_and_gq1"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/MyAttendanceRules_MidAutumnFestival"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="@dimen/text_main" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:text="@string/holiday_date6"
+                    android:textColor="@color/text_hine"
+                    android:textSize="@dimen/text_hine" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2px"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingBottom="6dp"
+                android:paddingLeft="5dp"
+                android:paddingTop="10dp">
+
+                <TextView
+                    android:id="@+id/zq_and_gq"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/MyAttendanceRules_nationalDay"
+                    android:textColor="@color/titleBlue"
+                    android:textSize="@dimen/text_main" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:text="@string/holiday_date7"
+                    android:textColor="@color/text_hine"
+                    android:textSize="@dimen/text_hine" />
+            </LinearLayout>
+
+        </LinearLayout>
+    </ScrollView>
+
+</LinearLayout>

+ 3 - 2
WeiChat/src/main/res/values-en/strings.xml

@@ -1552,10 +1552,11 @@
          <string name = "room_location"> service / site / room </string>
          <string name = "relax_time"> rest time </string>
          <string name = "booking_time_set"> reservation time period setting </string>
-    <string name="book_empty">you have no appointment,do it now!</string>
+         <string name = "enter_details_money"> Please enter the details amount </string>
+         <string name="book_empty">you have no appointment,do it now!</string>
 
 
-    <string-array name="booking_topics">
+      <string-array name="booking_topics">
         <item>Business</item>
         <item>Meeting</item>
         <item>Entertainment</item>

+ 4 - 1
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -1627,6 +1627,9 @@
     <string name="room_set">科室设置</string>
     <string name="person_set">人员设置</string>
     <string name="e_relax_set">员工休息日设置</string>
-    <string name="book_empty">您还没有预约,现在就去约吧!</string>
+    <string name="change_qpw">修改查询密码</string>
 
+    //商旅服务
+    <string name="business_services">商旅服务</string>
+    <string name="book_empty">您还没有预约,现在就去约吧!</string>
 </resources>

+ 2 - 1
WeiChat/src/main/res/values-zh-rTW/strings.xml

@@ -1558,7 +1558,7 @@
     <string name="firstused_setpw">首次使用,請設置密碼</string>
     <string name="input_qpw">請輸入查詢密碼(限20位)</string>
     <string name="next_step">下一步</string>
-    <string name="change_qpw">修改查询密码</string>
+    <string name="change_qpw">修改查詢密碼</string>
     <string name="telephone">手機號碼</string>
 
     <!--start 商家設置-->
@@ -1625,6 +1625,7 @@
         <string name="c_relaxday">企業休息日</string>
         <string name="room_location">服務/場地/房間</string>
         <string name="relax_time">休息時間</string>
+        <string name="enter_details_money">請輸入明細金額</string>
     <string name="book_empty">您还没有预约,现在就去约吧!</string>
     <!--end s商家设置-->
 </resources>

+ 28 - 10
app_core/common/src/main/assets/work_menu.json

@@ -24,6 +24,15 @@
         "caller": "",
         "isHide": false
       },
+      {
+        "isLocalMenu": true,
+        "menuName": "charitable",
+        "menuIcon": "ic_work_charitable_donations",
+        "menuActivity": "com.modular.work.CharitableActivity",
+        "menuUrl": "",
+        "caller": "",
+        "isHide": false
+      },
       {
         "isLocalMenu": true,
         "menuName": "str_work_invite_register",
@@ -127,7 +136,7 @@
         "isLocalMenu": true,
         "menuName": "str_work_travel_request",
         "menuIcon": "ic_work_travel_request",
-        "menuActivity": "com.modular.form.DataFormDetailActivity",
+        "menuActivity": "com.modular.form.TravelDataFormDetailActivity",
         "menuUrl": "",
         "caller": "",
         "isHide": false
@@ -167,6 +176,24 @@
         "menuUrl": "",
         "caller": "",
         "isHide": false
+      },
+      {
+        "isLocalMenu": true,
+        "menuName": "business_services",
+        "menuIcon": "ic_business_services",
+        "menuActivity": "com.modular.work.BusinessTravelActivity",
+        "menuUrl": "",
+        "caller": "",
+        "isHide": false
+      },
+      {
+        "isLocalMenu": true,
+        "menuName": "str_company_salary",
+        "menuIcon": "company_salary",
+        "menuActivity": "com.modular.appme.CheckWagesActivity",
+        "menuUrl": "",
+        "caller": "",
+        "isHide": false
       }
     ]
   },
@@ -266,15 +293,6 @@
         "menuUrl": "",
         "caller": "",
         "isHide": false
-      },
-      {
-        "isLocalMenu": true,
-        "menuName": "str_company_salary",
-        "menuIcon": "company_salary",
-        "menuActivity": "com.modular.appme.CheckWagesActivity",
-        "menuUrl": "",
-        "caller": "",
-        "isHide": false
       }
     ]
   },

+ 1 - 1
app_core/common/src/main/java/com/core/utils/CommonUtil.java

@@ -106,7 +106,7 @@ public class CommonUtil {
         }
         String baseUrl = getSharedPreferences(ct, "erp_baseurl");
 //        if (BaseConfig.isDebug()){
-//            baseUrl="http://192.168.253.203:8090/ERP/";
+//            baseUrl="http://192.168.253.35:8080/ERP/";
 //        }
 //        baseUrl="http://192.168.253.203:8090/ERP/
 

BIN
app_core/common/src/main/res/drawable-xhdpi/uuu.png


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

@@ -1632,4 +1632,5 @@
          <string name = "room_location"> service / site / room </string>
          <string name = "relax_time"> rest time </string>
          <string name = "booking_time_set"> Reservation time period setting </string>
+        <string name = "enter_details_money"> Please enter the details amount </string>
 </resources>

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

@@ -1682,6 +1682,7 @@
         <string name="room_location">服務/場地/房間</string>
         <string name="relax_time">休息時間</string>
     <string name="booking_time_set">預約時間段設置</string>
+    <string name="enter_details_money">請輸入明細金額</string>
     <!--end s商家设置-->
 
 </resources>

BIN
app_core/message/src/main/res/drawable-hdpi/uuu.png


BIN
app_core/message/src/main/res/drawable-xhdpi/uuu.png


BIN
app_core/message/src/main/res/drawable-xxhdpi/uuu.png


+ 3 - 2
app_modular/appcontact/src/main/java/com/uas/appcontact/manager/ContactsManager.java

@@ -52,6 +52,7 @@ import java.util.Map;
  */
 public class ContactsManager {
     private static ContactsManager instance;
+
     public static ContactsManager getInstance() {
         if (instance == null) {
             synchronized (ContactsManager.class) {
@@ -102,8 +103,8 @@ public class ContactsManager {
         } else {
             baseUrl = CommonUtil.getAppBaseUrl(MyApplication.getInstance());
         }
-        if (TextUtils.isEmpty(baseUrl)){
-            baseUrl="http://";
+        if (TextUtils.isEmpty(baseUrl)) {
+            return;
         }
         String url = isB2b ? "mobile/approvalflow/getUsersInfo" : "mobile/getAllHrorgEmps.action";
         String sessionId = CommonUtil.getSharedPreferences(BaseConfig.getContext(), "sessionId");

BIN
app_modular/appme/src/main/res/drawable-hdpi/uuu.png


BIN
app_modular/appme/src/main/res/drawable-xxhdpi/uuu.png


+ 3 - 5
app_modular/appmessages/src/main/AndroidManifest.xml

@@ -21,11 +21,9 @@
         <activity
             android:name=".activity.ProcessMsgActivity"
             android:label="@string/title_activity_process_msg">
-            <intent-filter>
-                <action android:name="com.modular.work.ProcessMsgActivity" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity> <activity
+
+        </activity>
+        <activity
             android:name=".activity.ApprovalListActivity"
             android:label="@string/title_activity_process_msg">
             <intent-filter>

+ 15 - 5
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/ApprovaPresenter.java

@@ -597,6 +597,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                     public void run() {
                         try {
                             handlerFormandGriddataInThread(JSONUtil.getJSONObject(object, "datas"));
+
                         } catch (Exception e) {
                             LogUtil.i("handlerFormandGriddataInThread =" + e.getMessage());
                             loading = false;
@@ -872,13 +873,19 @@ public class ApprovaPresenter implements OnHttpResultListener {
                     approval.setgCaller(gCaller);
                     approval.setCoreKey(coreKey);
                 }
-                if (!StringUtil.isEmpty(renderer) && renderer.contains("formula:")) {
+                if (!StringUtil.isEmpty(renderer) && renderer.contains("formula:")) try {
                     renderer = renderer.substring("formula:".length(), renderer.length());
                     renderer = getOperator(renderer, data);
-                    double val = MathUtil.eval(renderer);
-                    if (val != Double.NEGATIVE_INFINITY && val != Double.POSITIVE_INFINITY) {
-                        newValues = getDecimalFormat(val);
+                    if (renderer.contains("字段需要设置为app显示")) {
+                        newValues = renderer;
+                    } else {
+                        double val = MathUtil.eval(renderer);
+                        if (val != Double.NEGATIVE_INFINITY && val != Double.POSITIVE_INFINITY) {
+                            newValues = getDecimalFormat(val);
+                        }
                     }
+
+                } catch (Exception e) {
                 }
             }
             if (approval.isDftypeEQ("FF") || (record.title.contains("公章用印申请流程") && "附件".equals(caption))) {
@@ -993,8 +1000,11 @@ public class ApprovaPresenter implements OnHttpResultListener {
         for (String str : strs) {
             if (!StringUtil.isEmpty(str)) {
                 String val = JSONUtil.getText(object, str);
-                if (!StringUtil.isEmpty(val)) {
+                if (StringUtil.isEmpty(val)) {
+                    return str + "字段需要设置为app显示";
+                } else {
                     renderer = renderer.replaceAll(str, val);
+
                 }
             }
         }

+ 57 - 35
app_modular/apputils/src/main/java/com/modular/apputils/activity/SelectNetAcitivty.java

@@ -32,6 +32,7 @@ import com.common.config.BaseConfig;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
+import com.common.data.TextUtil;
 import com.common.system.PermissionUtil;
 import com.core.app.MyApplication;
 import com.core.base.OABaseActivity;
@@ -53,6 +54,8 @@ import com.modular.apputils.R;
 import com.uuzuche.lib_zxing.activity.CaptureActivity;
 import com.uuzuche.lib_zxing.activity.CodeUtils;
 
+import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream;
+
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -75,6 +78,7 @@ public class SelectNetAcitivty extends OABaseActivity {
     private String gCaller;//传进来的附表caller,当是明细表时候存在
     private String fieldKey;
     private String corekey;
+    private boolean dataForm;
 
 
     private PullToRefreshListView refreshListView;
@@ -139,6 +143,18 @@ public class SelectNetAcitivty extends OABaseActivity {
     private boolean isDevice;
 
     private void initView() {
+
+        Intent intent = getIntent();
+        if (intent != null) {
+            fieldKey = intent.getStringExtra("fieldKey");
+            caller = intent.getStringExtra("caller");
+            gCaller = intent.getStringExtra("gCaller");
+            dataForm = intent.getBooleanExtra("dataForm", false);
+            corekey = intent.getStringExtra("corekey");
+            isDevice = intent.getBooleanExtra("isDevice", false);
+        }
+
+
         VoiceSearchView voiceSearchView = (VoiceSearchView) findViewById(R.id.voiceSearchView);
         refreshListView = (PullToRefreshListView) findViewById(R.id.refreshListView);
         refreshListView.setMode(PullToRefreshBase.Mode.BOTH);
@@ -151,7 +167,9 @@ public class SelectNetAcitivty extends OABaseActivity {
             @Override
             public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                 lastKey = StringUtil.getText(v);
-                if (isDevice && !TextUtils.isEmpty(lastKey)) {
+                if (dataForm) {
+                    findByLocal();
+                } else if (isDevice && !TextUtils.isEmpty(lastKey)) {
                     loadSearchDevice(lastKey);
                 } else {
                     loadSearch(page = 1, lastKey);
@@ -159,26 +177,24 @@ public class SelectNetAcitivty extends OABaseActivity {
                 return false;
             }
         });
-        refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
-            @Override
-            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
-                loadSearch(page = 1, lastKey);
-            }
 
-            @Override
-            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
-                loadSearch(++page, lastKey);
+        if (dataForm) {
+            refreshListView.setMode(PullToRefreshBase.Mode.DISABLED);
+        } else {
+            refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
+                @Override
+                public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
+                    loadSearch(page = 1, lastKey);
+                }
 
-            }
-        });
-        Intent intent = getIntent();
-        if (intent != null) {
-            fieldKey = intent.getStringExtra("fieldKey");
-            caller = intent.getStringExtra("caller");
-            gCaller = intent.getStringExtra("gCaller");
-            corekey = intent.getStringExtra("corekey");
-            isDevice = intent.getBooleanExtra("isDevice", false);
+                @Override
+                public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
+                    loadSearch(++page, lastKey);
+
+                }
+            });
         }
+
         String baseUrl = CommonUtil.getAppBaseUrl(this);
         String sessionId = CommonUtil.getSharedPreferences(this, "sessionId");
         httpClient = new HttpClient.Builder(baseUrl)
@@ -193,6 +209,23 @@ public class SelectNetAcitivty extends OABaseActivity {
         showLoading();
     }
 
+    private void findByLocal() {
+        List<Bean> showModels = null;
+        if (ListUtils.getSize(allModels) > 0) {
+            if (TextUtils.isEmpty(lastKey)) {
+                showModels = allModels;
+            } else {
+                showModels = new ArrayList<>();
+                for (Bean e : allModels) {
+                    if (e != null && !TextUtils.isEmpty(e.showName) && e.showName.toUpperCase().contains(lastKey)) {
+                        showModels.add(e);
+                    }
+                }
+            }
+            showByAdapter(showModels);
+        }
+    }
+
     private void loadSearchDevice(final String keyWork) {
         refreshListView.setMode(PullToRefreshBase.Mode.DISABLED);
         HttpClient.Builder builder = new HttpClient.Builder();
@@ -241,7 +274,7 @@ public class SelectNetAcitivty extends OABaseActivity {
                 .add("ob", "")
                 .add("_config", "")
                 .add("page", page)
-                .add("pageSize", 20)
+                .add("pageSize", dataForm ? 10000 : 20)
                 .method(Method.GET);
         if (!isForm) {
             builder.add("gridField", fieldKey)
@@ -267,22 +300,6 @@ public class SelectNetAcitivty extends OABaseActivity {
 
     private ListAdapter mAdapter = null;
 
-    private void handleDataDevice(String messgae) throws Exception {
-        JSONObject object = JSON.parseObject(messgae);
-        String dataStr = JSONUtil.getText(object, "data");
-        JSONArray data = JSON.parseArray(dataStr);
-        List<Bean> models = new ArrayList<>();
-        Bean b = null;
-        for (int i = 0; i < data.size(); i++) {
-            JSONObject o = data.getJSONObject(i);
-            b = new Bean();
-            b.name = JSONUtil.getText(o, fieldKey);
-            b.json = o.toJSONString();
-            b.showName = getShowName(o);
-            models.add(b);
-        }
-        showByAdapter(models);
-    }
 
     private void handleData(String messgae) throws Exception {
         JSONObject object = JSON.parseObject(messgae);
@@ -330,9 +347,14 @@ public class SelectNetAcitivty extends OABaseActivity {
             if (!StringUtil.isEmpty(b.name))
                 models.add(b);
         }
+        if (TextUtils.isEmpty(lastKey) && dataForm) {
+            allModels = models;
+        }
         showByAdapter(models);
     }
 
+    private List<Bean> allModels = null;
+
     private void showByAdapter(List<Bean> models) {
         if (mAdapter == null) {
             mAdapter = new ListAdapter(models);

+ 1 - 5
app_modular/apputils/src/main/java/com/modular/apputils/utils/SwitchUtil.java

@@ -9,16 +9,12 @@ import com.common.config.BaseConfig;
 
 public class SwitchUtil {
     public static boolean showYiyuanjuan() {
-        return BaseConfig.isDebug();
+        return false;
     }
 
     public static boolean showShebeiguanli() {
         return false;
     }
 
-    public static boolean newFeePlease() {
-        return BaseConfig.isDebug();
-    }
-
 
 }

+ 9 - 0
app_modular/appworks/src/main/AndroidManifest.xml

@@ -43,6 +43,15 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+        <activity
+            android:name=".OA.erp.activity.form.TravelDataFormDetailActivity"
+            android:hardwareAccelerated="false">
+            <intent-filter>
+                <action android:name="com.modular.form.TravelDataFormDetailActivity" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
         <activity android:name=".OA.erp.activity.form.DataFormFieldActivity" />
         <activity
             android:name=".OA.erp.activity.form.FormListSelectActivity"

+ 4 - 3
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceDataFormAddActivity.java

@@ -193,9 +193,7 @@ public class DeviceDataFormAddActivity extends BaseActivity implements View.OnCl
                                 if (data.getName().equals("申请人名称")) {
                                     data.setValue(CommonUtil.getName());
                                 }
-                                if (data.getType().equals("D")) {
-                                    data.setValue(DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS));
-                                }
+
 
                                 if (data.getField().equals("dc_class")) {
                                     JSONArray combostore = JSONUtil.getJSONArray(items, "COMBOSTORE");
@@ -216,6 +214,9 @@ public class DeviceDataFormAddActivity extends BaseActivity implements View.OnCl
                                 data.setIsDefault(items.getIntValue("mfd_isdefault"));
                                 data.setIsNeed(items.getIntValue("mfd_isdefault"));
                                 data.setType(items.getString("fd_type"));
+                                if (data.getType().equals("D")) {
+                                    data.setValue(DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS));
+                                }
                                 if (!StringUtil.isEmpty(value)) {
                                     if (value.equals(items.getString("fd_group"))) {
                                         if (data.getIsNeed() == -1) {

+ 4 - 4
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/DataFormDetailActivity.java

@@ -662,8 +662,8 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 } else if ("FeePlease!CCSQ".equals(caller) || "FeePlease!CCSQ!new".equals(caller)) {
                     startDate = "fp_prestartdate";
                     endDate = "fp_preenddate";
-                    d_startDate = SwitchUtil.newFeePlease()?"fpd_start_time":"fpd_date1";
-                    d_endDate = SwitchUtil.newFeePlease()?"fpd_end_time":"fpd_date2";
+                    d_startDate = "fpd_date1";
+                    d_endDate = "fpd_date2";
 
                     formidkey = "fp_id";
                     detailkey_id = "fpd_id";//明细id
@@ -1630,10 +1630,10 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
                 for (int i = 0; i < tempLists.size(); i++) {
                     Data tempData = tempLists.get(i);
-                    if (tempData.getField().equals(SwitchUtil.newFeePlease()?"fpd_start_time":"fpd_date1")) {
+                    if (tempData.getField().equals("fpd_date1")) {
                         va_alldays = i + 1;
                     }
-                    if (tempData.getField().equals(SwitchUtil.newFeePlease()?"fpd_end_time":"fpd_date2")) {
+                    if (tempData.getField().equals("fpd_date2")) {
                         va_alltimes = i + 1;
                     }
                 }

File diff suppressed because it is too large
+ 127 - 0
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/form/TravelDataFormDetailActivity.java


+ 12 - 3
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/BusinessTravelActivity.java

@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.common.LogUtil;
 import com.common.config.BaseConfig;
 import com.common.data.JSONUtil;
+import com.common.data.ListUtils;
 import com.core.utils.CommonUtil;
 import com.me.network.app.http.Method;
 import com.modular.apputils.activity.BaseNetActivity;
@@ -99,14 +100,22 @@ public class BusinessTravelActivity extends BaseNetActivity implements OnSmartHt
         JSONObject object = JSON.parseObject(message);
         JSONArray listdata = JSONUtil.getJSONArray(object, "listdata");
         List<BusinessTravel> models = new ArrayList<>();
-        BusinessTravel model = null;
         String cttpid = JSONUtil.getText(object, "em_cttpid");
         for (int i = 0; i < listdata.size(); i++) {
             JSONObject data = listdata.getJSONObject(i);
-            models.add(new BusinessTravel(JSONUtil.getText(data, "FP_ID")));
+            long startTime = JSONUtil.getLong(data, "FP_PRESTARTDATE");
+            long endTime = JSONUtil.getLong(data, "FP_PREENDDATE");
             JSONArray reimbursements = JSONUtil.getJSONArray(data, "reimbursement");
+            List<BusinessTravel> gridModels = new ArrayList<>();
             for (int j = 0; j < reimbursements.size(); j++) {
-                models.add(new BusinessTravel(cttpid, reimbursements.getJSONObject(j)));
+                BusinessTravel e = new BusinessTravel(cttpid, startTime, endTime, reimbursements.getJSONObject(j));
+                if (e.getType() != BusinessTravel.TITLE) {
+                    gridModels.add(e);
+                }
+            }
+            if (!ListUtils.isEmpty(gridModels)) {
+                models.add(new BusinessTravel(JSONUtil.getText(data, "FP_ID")));
+                models.addAll(gridModels);
             }
         }
         setAdapter(models);

+ 31 - 19
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/adapter/BusinessTravelAdapter.java

@@ -11,14 +11,17 @@ import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.common.LogUtil;
+import com.common.config.BaseConfig;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.common.hmac.Md5Util;
 import com.core.app.MyApplication;
+import com.core.net.utils.NetUtils;
 import com.core.utils.CommonUtil;
 import com.core.utils.IntentUtils;
+import com.core.utils.ToastUtil;
 import com.modular.apputils.widget.TravelDirectionView;
 import com.uas.appworks.OA.platform.model.BusinessTravel;
 import com.uas.appworks.R;
@@ -339,7 +342,6 @@ public class BusinessTravelAdapter extends RecyclerView.Adapter<RecyclerView.Vie
                 arrive = model.getTrainDestination();
                 arrivecode = model.getTrainDestinationCode();
                 break;
-
             case BusinessTravel.HOTEL:
                 from = model.getHotelCity();
                 fromcode = model.getHotelCityCode();
@@ -359,7 +361,7 @@ public class BusinessTravelAdapter extends RecyclerView.Adapter<RecyclerView.Vie
         Map<String, String> custinfoMap = new HashMap<>();
         custinfoMap.put("backUrl", CommonUtil.getAppBaseUrl(ct));
         custinfoMap.put("isNeedPush", "1");
-        custinfoMap.put("cusCode", CommonUtil.getMaster());
+        custinfoMap.put("cusCode", /*URY*/CommonUtil.getMaster());
         custinfoMap.put("emCode", CommonUtil.getEmcode());
         custinfoMap.put("outOrderno", String.valueOf(model.getId()));
         map.put("custinfo", custinfoMap);
@@ -384,24 +386,34 @@ public class BusinessTravelAdapter extends RecyclerView.Adapter<RecyclerView.Vie
     }
 
     private void turn2Web(String p) {
-        LogUtil.i("p=" + p);
-        String appkey = "y8gd87dsdkencgzk394k7s5c78io35c";
-        String appSceret = "e212e142a5c9e0590eefb7d9f1bc91d7";
-        String username = CommonUtil.getEmcode();
-        String data = appkey + username.toUpperCase() + appSceret;
-        String key = Md5Util.toMD5(appSceret).toUpperCase();
-        String sign = Md5Util.toMD5(key + data);
-        StringBuilder urlBuilder = new StringBuilder("http://124.254.45.234:8082/oa/caslogin/");
-        urlBuilder.append(appkey + "/");
-        urlBuilder.append(username + "/");
-        urlBuilder.append(sign);
-        try {
-            urlBuilder.append("?p=" + URLEncoder.encode(p, "UTF-8"));
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
+        if (NetUtils.isNetWorkConnected(ct)) {
+            String appkey = "y8gd87dsdkencgzk394k7s5c78io35c";
+            String appSceret = "e212e142a5c9e0590eefb7d9f1bc91d7";
+            String baseUrl="http://124.254.45.234:8082/oa/caslogin/";
+            if (!BaseConfig.isDebug()){
+                appkey = "fjdsfnvg6523fsgjkff879fidsf";
+                appSceret = "9891ca5330271eba81ec1332e740c210";
+                baseUrl="http://h5.auvgo.com/";
+            }
+            String username = CommonUtil.getEmcode();
+            String data = appkey + username.toUpperCase() + appSceret;
+            String key = Md5Util.toMD5(appSceret).toUpperCase();
+            String sign = Md5Util.toMD5(key + data);
+            StringBuilder urlBuilder = new StringBuilder(baseUrl);
+            urlBuilder.append(appkey + "/");
+            urlBuilder.append(username + "/");
+            urlBuilder.append(sign);
+            try {
+                urlBuilder.append("?p=" + URLEncoder.encode(p, "UTF-8"));
+            } catch (UnsupportedEncodingException e) {
+                e.printStackTrace();
+            }
+            LogUtil.i(urlBuilder.toString());
+            IntentUtils.linkCommonWeb(ct, urlBuilder.toString(), "行旅国际", "", "", false, false, false);
+
+        } else {
+            ToastUtil.showToast(ct, R.string.networks_out);
         }
-        LogUtil.i(urlBuilder.toString());
-        IntentUtils.linkCommonWeb(ct, urlBuilder.toString(), "行旅国际", "", "", false, false, false);
     }
 
 }

+ 39 - 22
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/model/BusinessTravel.java

@@ -3,6 +3,7 @@ package com.uas.appworks.OA.platform.model;
 import android.text.TextUtils;
 
 import com.alibaba.fastjson.JSONObject;
+import com.common.config.BaseConfig;
 import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.common.data.StringUtil;
@@ -53,44 +54,58 @@ public class BusinessTravel {
     private String flightCode;
     private String hotelAddress;
 
-    public BusinessTravel() {
-    }
 
     public BusinessTravel(String titleCode) {
         this.type = TITLE;
         code = titleCode;
     }
 
-    public BusinessTravel(String cttpid, JSONObject reimbursement) {
+    public BusinessTravel(String cttpid, long dfStartTime, long dfEndTime, JSONObject reimbursement) {
         try {
             title = JSONUtil.getText(reimbursement, "FPD_RES_TYPE");
+            endTime = JSONUtil.getLong(reimbursement, "FPD_END_TIME");
+            startTime = JSONUtil.getLong(reimbursement, "FPD_START_TIME");
+            if (startTime <= 0 && dfStartTime > 0) {
+                startTime = dfStartTime;
+            }
+            if (endTime <= 0 && dfEndTime > 0) {
+                endTime = dfEndTime;
+            }
             switch (title) {
                 case "火车票":
                     this.type = TRAIN;
                     trainStarting = JSONUtil.getText(reimbursement, "FPD_TRAIN_STARTING");
                     trainDestination = JSONUtil.getText(reimbursement, "FPD_TRAIN_DESTINATION");
-                    trainStartingCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE1");
-                    trainDestinationCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE2");
+                    trainStartingCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE3");
+                    trainDestinationCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE4");
                     break;
                 case "飞机票":
                     this.type = AIR;
                     airStarting = JSONUtil.getText(reimbursement, "FPD_AIR_STARTING");
-                    airStartingCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE3");
                     airDestination = JSONUtil.getText(reimbursement, "FPD_AIR_DESTINATION");
-                    airDestinationCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE4");
+                    airStartingCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE1");
+                    airDestinationCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE2");
                     break;
                 case "住宿":
                     this.type = HOTEL;
                     hotelCity = JSONUtil.getText(reimbursement, "FPD_HOTEL_CITY");
                     hotelCityCode = JSONUtil.getText(reimbursement, "FPD_CITYCODE5");
                     hotelAddress = JSONUtil.getText(reimbursement, "FPD_HOTEL_ADDRESS");
+                    if (BaseConfig.isDebug()) {
+                        hotelCity = "艺龙测试";
+                        hotelCityCode = "5389";
+
+                    }
+                    if (endTime == startTime) {
+                        endTime = startTime + 86400000;
+                    } else if (DateFormatUtil.long2Str(endTime, DateFormatUtil.YMD).equals(DateFormatUtil.long2Str(startTime, DateFormatUtil.YMD))) {
+                        endTime = startTime + 86400000;
+                    }
                     break;
                 default:
                     this.type = TITLE;
             }
             flightCode = JSONUtil.getText(reimbursement, "FPD_FLIGHT_CODE");
-            startTime = JSONUtil.getLong(reimbursement, "FPD_START_TIME");
-            endTime = JSONUtil.getLong(reimbursement, "FPD_END_TIME");
             status = JSONUtil.getText(reimbursement, "FPD_STATUS");
             orderType = JSONUtil.getText(reimbursement, "FPD_ORDER_TYPE");
             seat = JSONUtil.getText(reimbursement, "FPD_SEAT");
@@ -108,8 +123,6 @@ public class BusinessTravel {
             if (TextUtils.isEmpty(allTime)) {
                 allTime = longTime2Time(endTime - startTime);
             }
-
-
         } catch (Exception e) {
         }
     }
@@ -237,14 +250,16 @@ public class BusinessTravel {
     }
 
     public String getAirStartingCode() {
-        return StringUtil.isEmpty(airStartingCode)?(getTestAir(airStarting)):airStartingCode;
+        return StringUtil.isEmpty(airStartingCode) ? (getTestAir(airStarting)) : airStartingCode;
     }
 
-    //TODO 测试数据
-    private String getTestAir(String air){
-        if (air.equals("南宁")){
+
+    private String getTestAir(String air) {
+        if (!BaseConfig.isDebug()) {
+            return "";
+        } else if (air.equals("南宁")) {
             return "NNG";
-        }else if (air.equals("深圳")){
+        } else if (air.equals("深圳")) {
             return "SZX";
         }
         return "";
@@ -255,7 +270,7 @@ public class BusinessTravel {
     }
 
     public String getAirDestinationCode() {
-        return StringUtil.isEmpty(airDestinationCode)?(getTestAir(airDestination)):airDestinationCode;
+        return StringUtil.isEmpty(airDestinationCode) ? (getTestAir(airDestination)) : airDestinationCode;
     }
 
     public String getTrainStarting() {
@@ -263,7 +278,7 @@ public class BusinessTravel {
     }
 
     public String getTrainStartingCode() {
-        return StringUtil.isEmpty(trainStartingCode)?(getTestTrain(trainStarting)):trainStartingCode;
+        return StringUtil.isEmpty(trainStartingCode) ? (getTestTrain(trainStarting)) : trainStartingCode;
     }
 
     public String getTrainDestination() {
@@ -271,13 +286,15 @@ public class BusinessTravel {
     }
 
     public String getTrainDestinationCode() {
-        return StringUtil.isEmpty(trainDestinationCode)?(getTestTrain(trainDestination)):trainDestinationCode;
+        return StringUtil.isEmpty(trainDestinationCode) ? (getTestTrain(trainDestination)) : trainDestinationCode;
     }
 
-    private String getTestTrain(String train){
-        if (train.equals("南宁")){
+    private String getTestTrain(String train) {
+        if (!BaseConfig.isDebug()) {
+            return "";
+        } else if (train.equals("南宁")) {
             return "2102";
-        }else if (train.equals("深圳")){
+        } else if (train.equals("深圳")) {
             return "2003";
         }
         return "";

+ 3 - 2
app_modular/appworks/src/main/java/com/uas/appworks/activity/B2BBusinessMainActivity.java

@@ -308,10 +308,11 @@ public class B2BBusinessMainActivity extends BaseMVPActivity<WorkPlatPresenter>
             mCustomerInquiryAdapter.notifyDataSetChanged();
         } else if (requestCode == REQUEST_PUBLIC_DETAIL
                 && resultCode == Constants.FLAG.RESULT_PUBLIC_INQUIRY) {
-            /*B2BBusinessListBean b2BBusinessListBean = mPublicInquiryBeans.get(mSelectPosition);
+            B2BBusinessListBean b2BBusinessListBean = mPublicInquiryBeans.get(mSelectPosition);
             if (b2BBusinessListBean != null) {
                 b2BBusinessListBean.setBillState(Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE);
-            }*/
+            }
+            mPublicInquiryAdapter.notifyDataSetChanged();
         }
     }
 

+ 21 - 1
app_modular/appworks/src/main/java/com/uas/appworks/activity/InviteRegisterActivity.java

@@ -252,7 +252,27 @@ public class InviteRegisterActivity extends BaseMVPActivity {
                     })
                     .open();
         } else if (android.R.id.home == item.getItemId()) {
-            onBackPressed();
+            int visibility = mSuccessLinearLayout.getVisibility();
+            if (visibility == View.GONE) {
+                new MaterialDialog.Builder(this).title(R.string.common_notice)
+                        .content(R.string.register_unsuccessed_sure_to_exit)
+                        .negativeText(R.string.cancel)
+                        .onNegative(new MaterialDialog.SingleButtonCallback() {
+                            @Override
+                            public void onClick(@NonNull MaterialDialog materialDialog, @NonNull DialogAction dialogAction) {
+                                materialDialog.dismiss();
+                            }
+                        })
+                        .positiveText(R.string.sure)
+                        .onPositive(new MaterialDialog.SingleButtonCallback() {
+                            @Override
+                            public void onClick(@NonNull MaterialDialog materialDialog, @NonNull DialogAction dialogAction) {
+                                InviteRegisterActivity.this.finish();
+                            }
+                        }).build().show();
+            } else {
+                onBackPressed();
+            }
         }
         return true;
     }

+ 1 - 5
app_modular/appworks/src/main/java/com/uas/appworks/fragment/B2BBusinessListFragment.java

@@ -323,11 +323,7 @@ public class B2BBusinessListFragment extends BaseMVPFragment<WorkPlatPresenter>
                 }
             } else if (requestCode == REQUEST_PUBLIC_DETAIL
                     && resultCode == Constants.FLAG.RESULT_PUBLIC_INQUIRY) {
-//                if (TextUtils.isEmpty(mListState)) {
-//                    mB2BBusinessListBeans.remove(mSelectPosition);
-//                } else {
-//                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE);
-//                }
+                    b2BBusinessListBean.setBillState(Constants.FLAG.STATE_PUBLIC_INQUIRY_DONE);
             }
             mB2BBusinessListAdapter.notifyDataSetChanged();
         }

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


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


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

@@ -58,7 +58,7 @@
             android:id="@+id/businessNameTv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_alignBottom="@id/levelTv"
+            android:layout_alignTop="@id/levelTv"
             android:layout_marginLeft="@dimen/padding"
             android:layout_toRightOf="@id/levelTv"
             android:text="香格里拉酒店"
@@ -70,7 +70,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignLeft="@id/levelTv"
-            android:layout_below="@id/levelTv"
+            android:layout_below="@id/businessNameTv"
             android:layout_marginTop="@dimen/padding"
             android:text="入住:12-10     离店:12-12    共两晚"
             android:textColor="@color/white"

+ 0 - 200
app_third/librarytbs/src/main/java/com/yifeng/sample/tbs/TBSFilesActivity.java

@@ -1,200 +0,0 @@
-package com.yifeng.sample.tbs;
-
-import android.app.DownloadManager;
-import android.app.DownloadManager.Request;
-import android.content.ActivityNotFoundException;
-import android.content.Intent;
-import android.database.ContentObserver;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Environment;
-import android.os.Handler;
-import android.support.v7.app.AppCompatActivity;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.ViewGroup.LayoutParams;
-import android.widget.RelativeLayout;
-
-import com.tencent.smtt.sdk.TbsReaderView;
-import com.tencent.smtt.sdk.TbsReaderView.ReaderCallback;
-import com.tencent.smtt.sdk.WebSettings;
-import com.tencent.smtt.sdk.WebView;
-import com.tencent.smtt.sdk.WebViewClient;
-
-import java.io.File;
-
-/**
-  * @desc:接收两个参数 
-  * @author:Arison on 2018/1/16
-  */
-public class TBSFilesActivity extends AppCompatActivity implements ReaderCallback {
-
-  private TbsReaderView mTbsReaderView;
-
-  private String filepath;
-  private WebView webView;
-
-  private DownloadManager mDownloadManager;
-  private long mRequestId;
-  private DownloadObserver mDownloadObserver;
-  private String mFileUrl = "http://www.beijing.gov.cn/zhuanti/ggfw/htsfwbxzzt/shxfl/fw/P020150720516332194302.doc";
-  private String mFileName;
-  private String urlpath;
-
-  @Override
-  protected void onCreate(Bundle savedInstanceState) {
-    super.onCreate(savedInstanceState);
-    setContentView(R.layout.activity_tbsfile);
-    mTbsReaderView = new TbsReaderView(this, this);
-    webView= findViewById(R.id.mSimpleWebView);
-    RelativeLayout rootRl =findViewById(R.id.rl_root);
-    rootRl.addView(mTbsReaderView, new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
-    mFileName = parseName(mFileUrl);
-    Intent intent=getIntent();
-    if (intent!=null){
-      filepath= intent.getStringExtra("filepath");
-      urlpath=intent.getStringExtra("urlpath");
-      if (TextUtils.isEmpty(filepath)) {
-          filepath = "/storage/emulated/0/uu/HTTP权威指南.pdf";
-      }else{
-        try {
-          if (isLocalExist()) {
-             displayFile();
-          } else {
-            //startDownload();//下载功能
-          }
-        } catch (Exception e) {
-          e.printStackTrace();
-        }
-      }
-      
-      if (!TextUtils.isEmpty(urlpath)){
-        webView.getSettings().setJavaScriptEnabled(true);
-        webView.getSettings().setAllowFileAccess(true);
-        webView.getSettings().setDomStorageEnabled(true);
-        webView.getSettings().setDatabaseEnabled(true);
-        webView.getSettings().setAppCacheEnabled(true);
-        webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
-    
-        webView.setWebViewClient(new WebViewClient(){
-          public boolean shouldOverrideUrlLoading(WebView view, String url) {
-            if (url.startsWith(WebView.SCHEME_TEL) || url.startsWith("sms:") || url.startsWith(WebView.SCHEME_MAILTO)) {
-              try {
-                Intent intent = new Intent(Intent.ACTION_VIEW);
-                intent.setData(Uri.parse(url));
-                startActivity(intent);
-              } catch (ActivityNotFoundException ignored) {
-              }
-              return true;
-            }
-            webView.loadUrl(url);
-            return true;
-          }
-
-          public void onPageFinished(WebView view, String url) {
-            super.onPageFinished(view, url);
-          }
-        });
-        webView.loadUrl(urlpath);
-      }
-    }
-  }
-  
-  private void displayFile() {
-    Bundle bundle = new Bundle();
-    bundle.putString("filePath", filepath);
-    bundle.putString("tempPath", Environment.getExternalStorageDirectory().getPath());
-    boolean result = mTbsReaderView.preOpen(parseFormat(filepath), false);
-    if (result) {
-      mTbsReaderView.openFile(bundle);
-    }
-  }
-
-  private String parseFormat(String fileName) {
-    return fileName.substring(fileName.lastIndexOf(".") + 1);
-  }
-
-  private String parseName(String url) {
-    String fileName = null;
-    try {
-      fileName = url.substring(url.lastIndexOf("/") + 1);
-    } finally {
-      if (TextUtils.isEmpty(fileName)) {
-        fileName = String.valueOf(System.currentTimeMillis());
-      }
-    }
-    return fileName;
-  }
-
-  private boolean isLocalExist() {
-    return getLocalFile().exists();
-  }
-
-  private File getLocalFile() {
-    return new File(filepath);
-  }
-
-  
-  
-  private void startDownload() {
-    mDownloadObserver = new DownloadObserver(new Handler());
-    getContentResolver().registerContentObserver(Uri.parse("content://downloads/my_downloads"), true, mDownloadObserver);
-
-    mDownloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
-    DownloadManager.Request request = new DownloadManager.Request(Uri.parse(mFileUrl));
-    request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, mFileName);
-    request.allowScanningByMediaScanner();
-    request.setNotificationVisibility(Request.VISIBILITY_HIDDEN);
-    mRequestId = mDownloadManager.enqueue(request);
-  }
-
-  private void queryDownloadStatus() {
-    DownloadManager.Query query = new DownloadManager.Query().setFilterById(mRequestId);
-    Cursor cursor = null;
-    try {
-      cursor = mDownloadManager.query(query);
-      if (cursor != null && cursor.moveToFirst()) {
-        //已经下载的字节数
-        int currentBytes = cursor.getInt(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR));
-        //总需下载的字节数
-        int totalBytes = cursor.getInt(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
-        //状态所在的列索引
-        int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
-        Log.i("downloadUpdate: ", currentBytes + " " + totalBytes + " " + status);
-       // mDownloadBtn.setText("正在下载:" + currentBytes + "/" + totalBytes);
-      }
-    } finally {
-      if (cursor != null) {
-        cursor.close();
-      }
-    }
-  }
-
-  @Override
-  public void onCallBackAction(Integer integer, Object o, Object o1) {
-
-  }
-
-  @Override
-  protected void onDestroy() {
-    super.onDestroy();
-    mTbsReaderView.onStop();
-    if (mDownloadObserver != null) {
-      getContentResolver().unregisterContentObserver(mDownloadObserver);
-    }
-  }
-
-  private class DownloadObserver extends ContentObserver {
-
-    private DownloadObserver(Handler handler) {
-      super(handler);
-    }
-
-    @Override
-    public void onChange(boolean selfChange, Uri uri) {
-      Log.i("downloadUpdate: ", "onChange(boolean selfChange, Uri uri)");
-      queryDownloadStatus();
-    }
-  }
-}

+ 24 - 20
app_third/recyclerlibrary/src/main/java/com/module/recyclerlibrary/ui/refresh/BaseRefreshLayout.java

@@ -24,7 +24,6 @@ import com.module.recyclerlibrary.R;
 public abstract class BaseRefreshLayout extends ViewGroup {
     private boolean mEnablePullDown;// 是否允许下拉刷新
     private boolean mEnablePullUp;// 是否允许上拉加载
-
     private Drawable mPullBgDrawable = null;// 拉动部分背景(color|drawable)
     private onRefreshListener mListener;// 事件监听接口
 
@@ -48,7 +47,7 @@ public abstract class BaseRefreshLayout extends ViewGroup {
             mEnablePullUp = array.getBoolean(R.styleable.BaseRefreshLayout_enablePullUp, true);
             mPullBgDrawable = array.getDrawable(R.styleable.BaseRefreshLayout_pullBackground);
             mEffectiveScroll = (int) array.getDimension(R.styleable.BaseRefreshLayout_fectiveScroll, dip2px(context, -1));
-            if (mEffectiveScroll < 0) {
+            if (mEffectiveScroll <= 0) {
                 mEffectiveScroll = (int) context.getResources().getDimension(R.dimen.refresh_item_height);
             }
         } finally {
@@ -152,7 +151,7 @@ public abstract class BaseRefreshLayout extends ViewGroup {
     // Layout状态
     private int status = NORMAL;
     // 用于计算滑动距离的Y坐标中介
-    private int mLastYMoved;
+    private int mLastYMoved, mDownYMoved;
     // 用于判断是否拦截触摸事件的Y坐标中介
     private int mLastYIntercept;
 
@@ -166,14 +165,14 @@ public abstract class BaseRefreshLayout extends ViewGroup {
             // Down事件
             case MotionEvent.ACTION_DOWN: {
                 // 记录下本次系列触摸事件的起始点Y坐标
-                mLastYMoved = y;
+                mDownYMoved = mLastYMoved = y;
                 // 不拦截ACTION_DOWN,因为当ACTION_DOWN被拦截,后续所有触摸事件都会被拦截
                 intercept = false;
                 break;
             }
             // Move事件
             case MotionEvent.ACTION_MOVE: {
-                if (y > mLastYIntercept) { // 下滑操作
+                if (y > mLastYIntercept && mEnablePullDown) { // 下滑操作
                     // 获取最顶部的子视图
                     View child = getChildAt(0);
                     if (child instanceof AdapterView) {
@@ -185,7 +184,7 @@ public abstract class BaseRefreshLayout extends ViewGroup {
                     } else if (child instanceof WebView) {
                         intercept = webViewPullDownIntercept(child);
                     }
-                } else if (y < mLastYIntercept) { // 上拉操作
+                } else if (y < mLastYIntercept && mEnablePullUp) { // 上拉操作
                     // 获取最底部的子视图
                     View child = getChildAt(lastChildIndex);
                     if (child instanceof AdapterView) {
@@ -210,10 +209,6 @@ public abstract class BaseRefreshLayout extends ViewGroup {
         return intercept;
     }
 
-    public void setEnablePullDown(boolean mEnablePullDown) {
-        this.mEnablePullDown = mEnablePullDown;
-    }
-
     private boolean avPullDownIntercept(View child) {
         boolean intercept = true;
         AdapterView adapterChild = (AdapterView) child;
@@ -279,7 +274,6 @@ public abstract class BaseRefreshLayout extends ViewGroup {
 
     private boolean rvPullUpIntercept(View child) {
         boolean intercept = false;
-
         RecyclerView recyclerChild = (RecyclerView) child;
         if (recyclerChild.computeVerticalScrollExtent() + recyclerChild.computeVerticalScrollOffset()
                 >= recyclerChild.computeVerticalScrollRange())
@@ -288,6 +282,8 @@ public abstract class BaseRefreshLayout extends ViewGroup {
         return intercept;
     }
 
+    private final float effectiveScrollMultiple = 2.3f;
+
     @Override
     public boolean onTouchEvent(MotionEvent event) {
         int y = (int) event.getY();
@@ -296,12 +292,12 @@ public abstract class BaseRefreshLayout extends ViewGroup {
                 // 计算本次滑动的Y轴增量(距离)
                 int dy = mLastYMoved - y;
                 // 如果滑动增量小于0,即下拉操作
-                if (dy < 0) {
-                    if (mEnablePullDown) {
+                if (dy < 0) {//表示往下滑
+                    if (mEnablePullDown || (mDownYMoved - y > 0 && mEnablePullUp)) {
                         // 如果下拉的距离小于mLayoutHeader1/2的高度,则允许滑动
-                        if (getScrollY() > 0 || Math.abs(getScrollY()) <= headerView.getMeasuredHeight() / 2) {
+                        if (getScrollY() > 0 || Math.abs(getScrollY()) <= mEffectiveScroll * effectiveScrollMultiple) {
                             if (status != TRY_LOAD_MORE && status != LOAD_MORE) {
-                                scrollBy(0, dy);
+                                scrollBy(0, dy / 2);
                                 if (status != REFRESH) {
                                     if (getScrollY() <= 0) {
                                         if (status != TRY_REFRESH) {
@@ -314,7 +310,7 @@ public abstract class BaseRefreshLayout extends ViewGroup {
                             } else {
                                 if (getScrollY() > 0) {
                                     dy = dy > 30 ? 30 : dy;
-                                    scrollBy(0, dy);
+                                    scrollBy(0, dy / 2);
                                     if (getScrollY() < mReachBottomScroll + mEffectiveScroll) {
                                         updateStatus(TRY_LOAD_MORE);
                                     }
@@ -323,11 +319,11 @@ public abstract class BaseRefreshLayout extends ViewGroup {
                         }
                     }
                 } else if (dy > 0) {
-                    if (mEnablePullUp) {
-                        if (getScrollY() <= mReachBottomScroll + footView.getMeasuredHeight() / 2) {
+                    if (mEnablePullUp || (mDownYMoved - y < 0 && mEnablePullDown)) {
+                        if (getScrollY() <= mReachBottomScroll + mEffectiveScroll * effectiveScrollMultiple) {
                             // 进行Y轴上的滑动
                             if (status != TRY_REFRESH && status != REFRESH) {
-                                scrollBy(0, dy);
+                                scrollBy(0, dy / 2);
                                 if (status != LOAD_MORE) {
                                     if (getScrollY() >= mReachBottomScroll) {
                                         if (status != TRY_LOAD_MORE)
@@ -340,7 +336,7 @@ public abstract class BaseRefreshLayout extends ViewGroup {
                             } else {
                                 if (getScrollY() <= 0) {
                                     dy = dy > 30 ? 30 : dy;
-                                    scrollBy(0, dy);
+                                    scrollBy(0, dy / 2);
                                     if (Math.abs(getScrollY()) < mEffectiveScroll)
                                         updateStatus(TRY_REFRESH);
                                 }
@@ -518,6 +514,14 @@ public abstract class BaseRefreshLayout extends ViewGroup {
         }
     }
 
+    public void setEnablePullDown(boolean enablePullDown) {
+        this.mEnablePullDown = enablePullDown;
+        if (!this.mEnablePullDown) {
+            if (headerView != null && headerView.isShown())
+                headerView.setVisibility(View.GONE);
+        }
+    }
+
     public void setOnRefreshListener(onRefreshListener listener) {
         mListener = listener;
     }

Some files were not shown because too many files changed in this diff