فهرست منبع

1.登录页新增checkbox 隐私政策勾选 2.去掉一元捐 3.聊天模块 新增举报页面 4.聊天模块去掉商务群

shuij 4 سال پیش
والد
کامیت
2d7d35252a
25فایلهای تغییر یافته به همراه1361 افزوده شده و 53 حذف شده
  1. 1 1
      WeiChat/src/main/AndroidManifest.xml
  2. 10 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/WorkPlatFragment.java
  3. 10 0
      WeiChat/src/main/res/layout/activity_basic_info.xml
  4. 2 1
      WeiChat/src/main/res/layout/header_fragment_contact.xml
  5. 1 0
      WeiChat/src/main/res/values/strings.xml
  6. 52 0
      app_core/common/src/main/java/com/core/adapter/SaoRaoListAdapter.java
  7. 25 0
      app_core/common/src/main/java/com/core/model/SaoRaoBean.java
  8. 11 0
      app_core/common/src/main/res/layout/activity_basic_info.xml
  9. 186 0
      app_core/common/src/main/res/layout/activity_feedback_saorao.xml
  10. 2 1
      app_core/common/src/main/res/layout/header_fragment_contact.xml
  11. 39 0
      app_core/common/src/main/res/layout/item_saorao.xml
  12. 2 2
      app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/GroupChatFragment.java
  13. 7 1
      app_modular/applogin/src/main/java/com/modular/login/activity/LoginActivity.java
  14. 47 33
      app_modular/applogin/src/main/res/layout/activity_login.xml
  15. 10 0
      app_modular/appme/src/main/AndroidManifest.xml
  16. 14 0
      app_modular/appme/src/main/java/com/uas/appme/other/activity/BasicInfoActivity.java
  17. 932 0
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/FeedbackSaoRaoActivity.java
  18. 1 0
      app_modular/appme/src/main/res/values/strings.xml
  19. 1 1
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/fragment/CharitableListFragment.java
  20. 1 3
      app_modular/appworks/src/main/java/com/uas/appworks/activity/DeviceQueryActivity.java
  21. 2 2
      app_modular/appworks/src/main/java/com/uas/appworks/activity/RealTimeFormActivity.java
  22. 1 3
      app_modular/appworks/src/main/java/com/uas/appworks/activity/ScheduleActivity.java
  23. 2 2
      app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/ContactsListFragment.java
  24. 1 2
      app_modular/appworks/src/main/java/com/uas/appworks/datainquiry/activity/ReportQuerySearchActivity.java
  25. 1 1
      app_modular/appworks/src/main/java/com/uas/appworks/datainquiry/activity/ReportStatisticsBiActivity.java

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

@@ -70,7 +70,7 @@
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
     <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
     <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
-
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
     <!-- 适配Android N系统必需的ContentProvider写权限声明,写权限包含应用包名-->
     <uses-permission android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.xzjmyk.pm.activity" />
     <permission

+ 10 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/WorkPlatFragment.java

@@ -380,6 +380,16 @@ public class WorkPlatFragment extends BaseMVPFragment<WorkPlatPresenter> impleme
             mWorkMenuBeans.clear();
             for (int i = 0; i < mCacheMenuTypeBeans.size(); i++) {
                 WorkMenuBean workMenuBean = mCacheMenuTypeBeans.get(i);
+                List<WorkMenuBean.ModuleListBean> list=workMenuBean.getModuleList();
+                if(list!=null&&list.size()>0&&workMenuBean.getModuleName().equals("str_uu_application")){
+                    List<WorkMenuBean.ModuleListBean> tempList=new ArrayList<WorkMenuBean.ModuleListBean>();
+                     for(int m=0;m<list.size();m++){
+                         if(!list.get(m).getMenuName().equals("charitable")){
+                             tempList.add(list.get(m));
+                         }
+                     }
+                    workMenuBean.setModuleList(tempList);
+                }
                 if (workMenuBean.isModuleVisible()) {
                     mWorkMenuBeans.add(workMenuBean);
                 }

+ 10 - 0
WeiChat/src/main/res/layout/activity_basic_info.xml

@@ -44,6 +44,7 @@
 
 
         <LinearLayout
+            android:id="@+id/ll_content"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
@@ -181,6 +182,15 @@
                 android:layout_height="2px"
                 android:background="@color/item_line" />
         </LinearLayout>
+        <TextView
+            android:id="@+id/tv_sao_rao"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerHorizontal="true"
+            android:layout_below="@+id/ll_content"
+            android:layout_marginTop="50dp"
+            android:text="被骚扰了?举报该用户"
+            android:textColor="@color/bar_pass"/>
 
         <com.core.widget.DataLoadView
             android:id="@+id/data_load_view"

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

@@ -36,7 +36,8 @@
             android:gravity="center"
             android:textSize="12sp"
             android:textColor="#333333"
-            android:text="@string/contact_business" />
+            android:text="@string/contact_business"
+            android:visibility="gone"/>
 
         <RelativeLayout
             android:layout_width="0dp"

+ 1 - 0
WeiChat/src/main/res/values/strings.xml

@@ -94,6 +94,7 @@
     <string name="error_button">再次尝试</string>
 
     <string name="app_name">UU互联</string>
+    <string name="app_name_s">UAS UU互联</string>
     <string name="data_exception">数据异常,请稍后重试</string>
     <string name="net_exception">网络异常,请稍后重试</string>
     <string name="please_wait">请稍等&#8230;</string>

+ 52 - 0
app_core/common/src/main/java/com/core/adapter/SaoRaoListAdapter.java

@@ -0,0 +1,52 @@
+package com.core.adapter;
+
+/**
+ * Created by Arison on 2017/11/8.
+ */
+
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.core.app.R;
+import com.core.model.SaoRaoBean;
+
+public class SaoRaoListAdapter extends BaseQuickAdapter<SaoRaoBean, BaseViewHolder> {
+
+    public SaoRaoListAdapter() {
+        super(R.layout.item_saorao);
+    }
+
+    @Override
+    protected void convert(final BaseViewHolder baseViewHolder, SaoRaoBean saoRaoBean) {
+        RelativeLayout rl_content=baseViewHolder.getView(R.id.rl_content);
+        TextView tv_name=baseViewHolder.getView(R.id.tv_name);
+        ImageView iv_select=baseViewHolder.getView(R.id.iv_select);
+        tv_name.setText(saoRaoBean.getName());
+        if(saoRaoBean.isSelect()){
+            tv_name.setTextColor(mContext.getResources().getColor(R.color.blue_seats_num));
+            iv_select.setVisibility(View.VISIBLE);
+        }else{
+            tv_name.setTextColor(mContext.getResources().getColor(R.color.grey));
+            iv_select.setVisibility(View.GONE);
+        }
+        rl_content.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                int pos=baseViewHolder.getLayoutPosition();
+                for(int i=0;i<getData().size();i++){
+                    if(i==pos){
+                        getData().get(i).setSelect(true);
+                    }else{
+                        getData().get(i).setSelect(false);
+                    }
+                }
+                notifyDataSetChanged();
+            }
+        });
+
+    }
+}

+ 25 - 0
app_core/common/src/main/java/com/core/model/SaoRaoBean.java

@@ -0,0 +1,25 @@
+package com.core.model;
+
+/**
+ * Created by jsxiaoshui on 2021/8/14
+ */
+public class SaoRaoBean {
+    private String name;//数字索引
+    private boolean isSelect=false;//数字索引
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean isSelect() {
+        return isSelect;
+    }
+
+    public void setSelect(boolean select) {
+        isSelect = select;
+    }
+}

+ 11 - 0
app_core/common/src/main/res/layout/activity_basic_info.xml

@@ -44,6 +44,7 @@
 
 
         <LinearLayout
+            android:id="@+id/ll_content"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
@@ -173,6 +174,7 @@
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
                     android:layout_centerVertical="true"
+                    android:layout_marginRight="20dp"
                     android:src="@drawable/email" />
             </RelativeLayout>
 
@@ -182,6 +184,15 @@
                 android:background="@color/item_line" />
         </LinearLayout>
 
+        <TextView
+            android:id="@+id/tv_sao_rao"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerHorizontal="true"
+            android:layout_below="@+id/ll_content"
+            android:layout_marginTop="50dp"
+            android:text="被骚扰了?举报该用户"
+            android:textColor="@color/bar_pass"/>
         <com.xzjmyk.pm.activity.view.DataLoadView
             android:id="@+id/data_load_view"
             android:layout_width="match_parent"

+ 186 - 0
app_core/common/src/main/res/layout/activity_feedback_saorao.xml

@@ -0,0 +1,186 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:background="#EBE9EA">
+
+    <ScrollView
+        android:id="@+id/scroll_view"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        >
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
+            android:layout_alignTop="@+id/reimbursement_title_fet"
+            android:orientation="vertical">
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:background="@color/white">
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:padding="10dp"
+                    android:textColor="@color/black"
+                    android:text="请选择原因:"/>
+
+                <android.support.v7.widget.RecyclerView
+                    android:id="@+id/rv_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    tools:listitem="@layout/item_saorao"
+
+                    />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:background="@color/white">
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:padding="7dp"
+                    android:textColor="@color/black"
+                    android:text="问题描述:"/>
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/full_edit_bg"
+                    android:orientation="horizontal">
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="10dp"
+                        android:src="@drawable/ic_feedback_input"
+                        android:layout_marginLeft="10dp"/>
+
+                    <EditText
+                        android:id="@+id/text_edit"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:background="@null"
+                        android:gravity="top"
+                        android:hint="@string/please_unput_yourP"
+                        android:inputType="textMultiLine"
+                        android:maxLength="400"
+                        android:minHeight="120dp"
+                        android:padding="10dp"
+                        android:textColor="@color/black"
+                        android:textColorHint="@color/grey"
+                        android:textSize="13sp" />
+
+                    <ImageView
+                        android:id="@+id/feedback_voice_iv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="10dp"
+                        android:layout_marginRight="10dp"
+                        android:src="@drawable/ic_feedback_voice" />
+                </LinearLayout>
+            </LinearLayout>
+
+
+
+            <TextView
+                android:id="@+id/select_img_prompt_tv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="3dp"
+                android:layout_marginLeft="10dp"
+                android:layout_marginTop="10dp"
+                android:shadowColor="@color/white"
+                android:shadowRadius="1"
+                android:text="@string/circle_select_image"
+                android:textColor="@color/gray"
+                android:textSize="14sp"
+                android:visibility="gone" />
+
+            <LinearLayout
+                android:id="@+id/select_img_layout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@color/white"
+                android:padding="10dp"
+                android:visibility="visible">
+
+                <com.core.widget.view.MyGridView
+                    android:id="@+id/grid_view"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:horizontalSpacing="3dp"
+                    android:listSelector="#00000000"
+                    android:numColumns="4"
+                    android:stretchMode="columnWidth"
+                    android:verticalSpacing="3dp" />
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="20px"
+                android:background="@color/item_line"
+                android:visibility="gone" />
+
+            <LinearLayout
+                android:id="@+id/display_rl"
+                android:layout_width="match_parent"
+                android:layout_height="50dp"
+                android:clickable="true"
+                android:orientation="horizontal"
+                android:padding="10dp"
+                android:visibility="gone">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginRight="5dp"
+                    android:gravity="center"
+                    android:text="联系电话"
+                    android:textColor="@color/text_hine"
+                    />
+
+                <TextView
+                    android:id="@+id/display_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:text="15814742959" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/bottom_layout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_below="@+id/display_rl"
+                android:layout_marginTop="20dp"
+                android:background="#EBE9EA"
+                android:baselineAligned="false"
+                android:orientation="vertical"
+                android:padding="10dp">
+
+                <Button
+                    android:id="@+id/release_btn"
+                    style="@style/commonButtonStyle"
+                    android:layout_marginLeft="20dp"
+                    android:layout_marginRight="20dp"
+                    android:text="@string/common_submit_button" />
+                <android.support.v4.widget.Space
+                    android:layout_width="match_parent"
+                    android:layout_height="100dp">
+
+                </android.support.v4.widget.Space>
+            </LinearLayout>
+        </LinearLayout>
+    </ScrollView>
+</RelativeLayout>

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

@@ -35,7 +35,8 @@
             android:drawableTop="@drawable/qunliao"
             android:gravity="center"
             android:textSize="16sp"
-            android:text="@string/contact_business" />
+            android:text="@string/contact_business"
+            android:visibility="gone"/>
 
         <RelativeLayout
             android:layout_width="0dp"

+ 39 - 0
app_core/common/src/main/res/layout/item_saorao.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+   android:id="@+id/rl_content"
+    android:layout_width="match_parent"
+    android:layout_height="45dp"
+    android:background="@drawable/selector_me_menu_item_bg"
+    >
+
+    <TextView
+        android:id="@+id/tv_name"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:ellipsize="end"
+        android:lines="1"
+        android:text="hhhh"
+        android:textColor="@color/grey"
+        android:textSize="14sp" />
+     <ImageView
+         android:id="@+id/iv_select"
+         android:layout_width="20dp"
+         android:layout_height="20dp"
+         android:layout_alignParentRight="true"
+         android:layout_centerVertical="true"
+         android:background="@drawable/oa_signin_play_pass"
+         android:layout_marginRight="15dp"
+         android:visibility="visible"/>
+
+ <View
+     android:layout_width="match_parent"
+     android:layout_height="0.2dp"
+     android:background="@color/item_line"
+     android:layout_alignParentBottom="true">
+
+ </View>
+
+</RelativeLayout>

+ 2 - 2
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/fragment/GroupChatFragment.java

@@ -240,7 +240,7 @@ public class GroupChatFragment extends EasyFragment {
                 public void run() {
                     if (imStatus != 3) {
                         //Crouton.makeText(ct, R.string.service_start_failed);
-                        ToastUtil.showToast(ct, R.string.service_start_failed);
+                       // ToastUtil.showToast(ct, R.string.service_start_failed);
                         return;
                     }
                     mPullToRefreshListView.setPullDownRefreshing(200);
@@ -266,7 +266,7 @@ public class GroupChatFragment extends EasyFragment {
     private void requestData(final boolean isPullDwonToRefersh) {
         if (imStatus != 3) {
           //  Crouton.makeText(ct, R.string.service_start_failed, 2000);
-            ToastUtil.showToast(ct, R.string.service_start_failed);
+           // ToastUtil.showToast(ct, R.string.service_start_failed);
             return;
         }
         if (isPullDwonToRefersh) {

+ 7 - 1
app_modular/applogin/src/main/java/com/modular/login/activity/LoginActivity.java

@@ -9,6 +9,7 @@ import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.view.View;
+import android.widget.CheckBox;
 import android.widget.EditText;
 import android.widget.FrameLayout;
 import android.widget.TextView;
@@ -54,7 +55,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
     private FrameLayout mToastLayout;
     private TextView tv_pro_one;
     private TextView tv_pro_two;
-
+    private CheckBox cb_agree;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -85,6 +86,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
         tv_pro_two=findViewById(R.id.tv_pro_two);
         mToastHead = findViewById(R.id.login_toast_head);
         mToastLayout = findViewById(R.id.login_toast_fl);
+        cb_agree=findViewById(R.id.cb_agree);
         StatusBarUtil.setPaddingSmart(this, mToastHead);
 
         mPhoneNumberEdit = (EditText) findViewById(R.id.phone_numer_edit);
@@ -197,6 +199,10 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
             ToastUtil.showToast(this, R.string.login_pwd_empty, mToastLayout);
             return;
         }
+        if(!cb_agree.isChecked()){
+            ToastUtil.showToast(this, "请先勾选协议", mToastLayout);
+            return;
+        }
         // 加密之后的密码
         final String digestPwd = new String(Md5Util.toMD5(password));
         final String requestTag = "login";

+ 47 - 33
app_modular/applogin/src/main/res/layout/activity_login.xml

@@ -83,11 +83,57 @@
                         android:textColorHint="@color/white"
                         android:textCursorDrawable="@drawable/shape_edittext_white_cursor" />
                 </LinearLayout>
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignParentBottom="true"
+                    android:layout_centerHorizontal="true"
+                    android:layout_marginTop="10dp"
+                    android:layout_marginBottom="10dp">
+                    <CheckBox
+                        android:id="@+id/cb_agree"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:button="@null"
+                        android:checked="false"
+                        android:drawableLeft="@drawable/oa_rb_button_bg"
+                        android:padding="10dp"
+                       />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="12sp"
+                        android:text="阅读并同意"
+                        android:textColor="@color/white"/>
 
+                    <TextView
+                        android:id="@+id/tv_pro_one"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="12sp"
+                        android:text="《用户协议》"
+                        android:textColor="@color/blue_seats_num" />
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="12sp"
+                        android:text="和"
+                        android:textColor="@color/white"
+                        />
+                    <TextView
+                        android:id="@+id/tv_pro_two"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="12sp"
+                        android:text="《UU互联隐私政策》"
+                        android:textColor="@color/blue_seats_num"
+                        />
+                </LinearLayout>
                 <TextView
                     android:id="@+id/login_btn"
                     style="@style/commonButtonStyle"
-                    android:layout_marginTop="20dp"
+
                     android:enabled="false"
                     android:text="@string/login_button"
                     />
@@ -111,39 +157,7 @@
                 android:text="@string/login_register"
                 android:textColor="#AADAFB"
                 android:visibility="gone"/>
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentBottom="true"
-                android:layout_centerHorizontal="true"
-                android:layout_marginBottom="20dp">
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="登录即同意"
-                    android:textColor="@color/white"/>
 
-                <TextView
-                    android:id="@+id/tv_pro_one"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="《用户协议》"
-                    android:textColor="@color/blue_seats_num" />
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="和"
-                    android:textColor="@color/white"
-                    />
-                <TextView
-                    android:id="@+id/tv_pro_two"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="《UU互联隐私政策》"
-                    android:textColor="@color/blue_seats_num"
-                   />
-
-            </LinearLayout>
 
         </RelativeLayout>
 

+ 10 - 0
app_modular/appme/src/main/AndroidManifest.xml

@@ -38,6 +38,16 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+        <activity
+            android:name=".settings.activity.FeedbackSaoRaoActivity"
+            android:theme="@style/MainBaseTheme"
+            android:windowSoftInputMode="stateHidden|stateAlwaysHidden">
+            <intent-filter>
+                <action android:name="com.modular.main.FeedbackActivity" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
         <activity
             android:name=".settings.activity.SelectLanguageActivity"
             android:label="@string/set_language"

+ 14 - 0
app_modular/appme/src/main/java/com/uas/appme/other/activity/BasicInfoActivity.java

@@ -71,6 +71,7 @@ import com.uas.appcontact.db.ContactsDao;
 import com.uas.appcontact.db.TopContactsDao;
 import com.uas.appcontact.model.contacts.ContactsModel;
 import com.uas.appme.R;
+import com.uas.appme.settings.activity.FeedbackSaoRaoActivity;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -85,6 +86,7 @@ import java.util.regex.Pattern;
  * @update gongpengming 2016/10/19
  */
 public class BasicInfoActivity extends BaseActivity implements NewFriendListener {
+    private TextView tv_sao_rao;
     private ImageView max_img;
     private ImageView avatar_img;
     private ImageView phone_img;
@@ -467,6 +469,7 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
 
 
     private void initView() {
+        tv_sao_rao=(TextView) findViewById(R.id.tv_sao_rao);
         max_img = (ImageView) findViewById(R.id.max_img);
         avatar_img = (ImageView) findViewById(R.id.avatar_img);
         phone_img = (ImageView) findViewById(R.id.phone_img);
@@ -586,6 +589,17 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                 sub_tv.setText(StringUtil.isEmpty(depart) ? "" : depart + (StringUtil.isEmpty(position) ? "" : position));
             }
         }
+        tv_sao_rao.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent;
+                intent = new Intent(mContext, FeedbackSaoRaoActivity.class);
+                intent.putExtra("type", 1);
+                intent.putExtra(AppConstant.EXTRA_URL, mConfig.help_url);
+                intent.putExtra(AppConstant.EXTRA_TITLE, "举报");
+                startActivity(intent);
+            }
+        });
 
     }
 

+ 932 - 0
app_modular/appme/src/main/java/com/uas/appme/settings/activity/FeedbackSaoRaoActivity.java

@@ -0,0 +1,932 @@
+package com.uas.appme.settings.activity;
+
+import android.Manifest;
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.ProgressDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.common.LogUtil;
+import com.common.data.DateFormatUtil;
+import com.common.data.JSONUtil;
+import com.common.data.ListUtils;
+import com.common.data.StringUtil;
+import com.common.system.PermissionUtil;
+import com.common.system.SystemUtil;
+import com.common.ui.CameraUtil;
+import com.common.ui.ImageUtil;
+import com.common.ui.ProgressDialogUtil;
+import com.core.adapter.SaoRaoListAdapter;
+import com.core.api.wxapi.ApiConfig;
+import com.core.api.wxapi.ApiPlatform;
+import com.core.api.wxapi.ApiUtils;
+import com.core.app.AppConstant;
+import com.core.app.Constants;
+import com.core.app.MyApplication;
+import com.core.base.SupportToolBarActivity;
+import com.core.model.SaoRaoBean;
+import com.core.model.UploadFileResult;
+import com.core.net.http.ViewUtil;
+import com.core.net.volley.ObjectResult;
+import com.core.net.volley.Result;
+import com.core.net.volley.StringJsonObjectRequest;
+import com.core.service.UploadService;
+import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
+import com.core.utils.helper.LoginHelper;
+import com.core.widget.SquareCenterImageView;
+import com.core.widget.view.Activity.ImgFileListActivity;
+import com.core.widget.view.Activity.MultiImagePreviewActivity;
+import com.core.widget.view.MyGridView;
+import com.core.xmpp.model.Area;
+import com.lidroid.xutils.HttpUtils;
+import com.lidroid.xutils.exception.HttpException;
+import com.lidroid.xutils.http.RequestParams;
+import com.lidroid.xutils.http.ResponseInfo;
+import com.lidroid.xutils.http.callback.RequestCallBack;
+import com.lidroid.xutils.http.client.HttpRequest;
+import com.modular.login.activity.LoginActivity;
+import com.nostra13.universalimageloader.core.ImageLoader;
+import com.uas.applocation.UasLocationHelper;
+import com.uas.appme.R;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @desc:用户反馈界面
+ * @author:Arison on 2016/9/27
+ * update : FANGlh on 2017-5-23 关于问题反馈上传文字新增字段,发送图片及更新更新附件ID接口
+ */
+public class FeedbackSaoRaoActivity extends SupportToolBarActivity implements View.OnClickListener {
+    private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
+    private static final int REQUEST_CODE_PICK_PHOTO = 2;// 图库
+    private Uri mNewPhotoUri;// 拍照和图库 获得图片的URI
+
+    private EditText mTextEdit;
+    private TextView mSelectImagePromptTv;
+    private View mSelectImgLayout;
+    private MyGridView mGridView;
+    private ArrayList<String> mPhotoList;
+    private RecyclerView rv_content;
+    private GridViewAdapter mAdapter;
+    private String mImageData;
+    private String cb_emcode;
+    private SaoRaoListAdapter saoRaoListAdapter;
+
+    //添加位置和查阅人员选择
+    private TextView display_tv;
+    public static final int LOCATION = 0x00a, DISPLAY = 0x00b;
+
+    private int mType;
+    private final int http_commit = 0;
+    private final int send_picture_request = 3;
+    private int sended_p = 0;
+    private final int common_id_request = 4;
+    private final int update_ID = 5;
+
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case http_commit:
+                    if (msg.getData() != null) {
+                        String word_result = msg.getData().getString("result");
+                        Log.i(word_result, word_result);
+                        //{"cb_id":14590,"success":true,"cb_code":"2017060066"}
+                        try {
+                            if (JSON.parseObject(word_result).containsKey("success")
+                                    && JSON.parseObject(word_result).getBoolean("success")) {
+                                cb_id = JSON.parseObject(word_result).getInteger("cb_id");
+                                cb_code = JSON.parseObject(word_result).getString("cb_code");
+                                Log.i("cb_id,cb_code", +cb_id + "," + cb_code);
+                                Toast.makeText(ct, getString(R.string.fangkui_success), Toast.LENGTH_LONG).show();
+                                finish();
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                    break;
+                case Constants.HTTP_SUCCESS_INIT:
+                    Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
+                    cb_code = JSON.parseObject(msg.getData().getString("result")).getString("code");
+                    progressDialog.dismiss();
+                    break;
+                case common_id_request:
+                    if (msg.getData() != null) {
+                        String resultStr = msg.getData().getString("result");
+                        JSONObject resultJsonObject = JSON.parseObject(resultStr);
+                        cb_id = resultJsonObject.getInteger("id");
+                        Log.i("resultStr", resultStr + "");
+                    }
+                    break;
+
+                case update_ID:
+                    if (msg.getData() != null) {
+                        String updateID_result = msg.getData().getString("result");
+                        Log.i("updateID_result", updateID_result);
+                        progressDialog.dismiss();
+                        release_btn.setEnabled(true);
+                        Toast.makeText(ct, getString(R.string.fangkui_success), Toast.LENGTH_LONG).show();
+                        new Handler().postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                finish();
+                            }
+                        }, 1000);
+                    }
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    Log.i(TAG, "handleMessage:" + msg.getData().getString("result"));
+                    ToastMessage(msg.getData().getString("result"));
+                    progressDialog.dismiss();
+                    release_btn.setEnabled(true);
+                    break;
+            }
+        }
+    };
+    private Button release_btn;
+
+    private void doUpdateId(String update) {
+        String url = "http://218.18.115.198:8888/ERP/common/attach/change.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("caller", "Commentsback_mobile");
+        params.put("table", "Commentsback_mobile");
+        params.put("update", "cb_attch = '" + update + "'");
+        params.put("condition", "cb_id = '" + cb_id + "'");
+        params.put("type", "添加附件");
+        params.put("master", "USOFTSYS");
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        if (platform) {
+            headers.put("Cookie", "JSESSIONID=" + ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+        } else {
+            headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        }
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, update_ID, null, null, "post");
+    }
+
+
+    private Boolean platform;
+    private int cb_id;
+    private String update = "";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_feedback_saorao);
+        platform = ApiUtils.getApiModel() instanceof ApiPlatform;
+        if (getIntent() != null) {
+            mType = getIntent().getIntExtra("type", 0);
+        }
+        mPhotoList = new ArrayList<String>();
+        mAdapter = new GridViewAdapter();
+        mProgressDialog = ProgressDialogUtil.init(this, null, getString(R.string.please_waitting));
+        initView();
+    }
+
+    private void initView() {
+        rv_content=findViewById(R.id.rv_content);
+        rv_content.setLayoutManager(new LinearLayoutManager(this));
+        saoRaoListAdapter=new SaoRaoListAdapter();
+        rv_content.setAdapter(saoRaoListAdapter);
+        saoRaoListAdapter.setNewData(getDataList());
+        display_tv = (TextView) findViewById(R.id.display_tv);
+        release_btn = (Button) findViewById(R.id.release_btn);
+        findViewById(R.id.release_btn).setOnClickListener(this);
+        //findViewById(R.id.location_rl).setOnClickListener(this);
+        findViewById(R.id.display_rl).setOnClickListener(this);
+
+        if (mType == 0) {
+          setTitle(getString(R.string.send_words));
+        } else {
+            setTitle("举报");
+        }
+        mTextEdit = (EditText) findViewById(R.id.text_edit);
+        mSelectImagePromptTv = (TextView) findViewById(R.id.select_img_prompt_tv);
+        mSelectImgLayout = findViewById(R.id.select_img_layout);
+        mGridView = (MyGridView) findViewById(R.id.grid_view);
+
+//       ToastUtil.addEditTextNumChanged(ct, mTextEdit, 200);//这里复制粘贴过多字数会在有些机型上出现bug
+        mGridView.setAdapter(mAdapter);
+
+        if (mType == 0) {
+            mSelectImagePromptTv.setVisibility(View.GONE);
+            mSelectImgLayout.setVisibility(View.GONE);
+        }
+
+        mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                int viewType = mAdapter.getItemViewType(position);
+
+                if (viewType == 1) {
+                    if (PermissionUtil.lacksPermissions(ct, Manifest.permission.CAMERA)) {
+//                        ToastUtil.showToast(ct, com.uas.appworks.R.string.not_camera_permission);
+                        PermissionUtil.requestPermission(FeedbackSaoRaoActivity.this, PermissionUtil.DEFAULT_REQUEST, Manifest.permission.CAMERA);
+                    } else {
+                        showSelectPictureDialog();//添加
+                    }
+                    //TODO 选择图片页面
+//                    startActivityForResult(new Intent(ct, PhoneSelectActivity.class), 222);
+
+                } else {
+                    showPictureActionDialog(position);
+                }
+            }
+        });
+
+        findViewById(R.id.feedback_voice_iv).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                CommonUtil.getVoiceText(FeedbackSaoRaoActivity.this, mTextEdit, null);
+            }
+        });
+
+        if (!platform) {
+//            getCode();
+        }
+
+        getCommonId();
+    }
+
+    private List<SaoRaoBean> getDataList() {
+        List<SaoRaoBean> list=new ArrayList<>();
+        SaoRaoBean bean0=new SaoRaoBean();
+        bean0.setName("骚扰");
+        list.add(bean0);
+        SaoRaoBean bean1=new SaoRaoBean();
+        bean1.setName("涉黄");
+        list.add(bean1);
+        SaoRaoBean bean2=new SaoRaoBean();
+        bean2.setName("虚假信息");
+        list.add(bean2);
+        SaoRaoBean bean3=new SaoRaoBean();
+        bean3.setName("用户涉嫌欺骗");
+        list.add(bean3);
+        SaoRaoBean bean4=new SaoRaoBean();
+        bean4.setName("含未成年违禁内容");
+        list.add(bean4);
+        SaoRaoBean bean5=new SaoRaoBean();
+        bean5.setName("其他");
+        list.add(bean5);
+        return list;
+    }
+
+    private void getCommonId() {
+//        CommonUtil.getCommonId("http://218.18.115.198:8888/ERP/",ct, "Commentsback_mobile_SEQ", mHandler, common_id_request);
+        cb_emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+    }
+
+    private void getCode() {
+        String url = CommonUtil.getAppBaseUrl(ct) + "common/getCodeString.action";
+//        String url = "http://218.18.115.198:8888/ERP/common/getCodeString.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("caller", "Commentsback_mobile");
+        params.put("type", 2);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, Constants.HTTP_SUCCESS_INIT, null, null, "post");
+    }
+
+    private void getPlatCode() {
+//        String url = CommonUtil.getAppBaseUrl(ct) + "common/getCodeString.action";
+        String url = " http://218.18.115.198:8888/ERP/common/getCodeString.action";
+        Map<String, Object> params = new HashMap<>();
+//        params.put("emuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "b2b_uu"));
+//        params.put("enuu", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getEnuu());
+        params.put("caller", "Commentsback_mobile");
+        params.put("type", 2);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, Constants.HTTP_SUCCESS_INIT, null, null, "post");
+    }
+
+    private void showPictureActionDialog(final int position) {
+        String[] items = new String[]{getString(R.string.look_over), getString(R.string.common_delete)};
+        AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle(R.string.pictures)
+                .setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        if (which == 0) {// 查看
+                            Intent intent = new Intent(ct, MultiImagePreviewActivity.class);
+                            intent.putExtra(AppConstant.EXTRA_IMAGES, mPhotoList);
+                            intent.putExtra(AppConstant.EXTRA_POSITION, position);
+                            intent.putExtra(AppConstant.EXTRA_CHANGE_SELECTED, false);
+                            startActivity(intent);
+                        } else {// 删除
+                            deletePhoto(position);
+                        }
+                        dialog.dismiss();
+                    }
+                });
+        builder.show();
+    }
+
+    private void deletePhoto(final int position) {
+        mPhotoList.remove(position);
+        mAdapter.notifyDataSetInvalidated();
+    }
+
+    private void showSelectPictureDialog() {
+        String[] items = new String[]{getString(R.string.c_take_picture), getString(R.string.c_photo_album)};
+        AlertDialog.Builder builder = new AlertDialog.Builder(this).setSingleChoiceItems(items, 0,
+                new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        if (which == 0) {
+                            try {
+                                takePhoto();
+                            } catch (Exception e) {
+                                String message = e.getMessage();
+                                if (!StringUtil.isEmpty(message) && message.contains("Permission")) {
+                                    ToastUtil.showToast(ct, com.uas.appworks.R.string.not_system_permission);
+                                }
+                            }
+                        } else {
+                            selectPhoto();
+                        }
+                        dialog.dismiss();
+                    }
+                });
+        builder.show();
+    }
+
+    private void takePhoto() {
+        mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+        CameraUtil.captureImage(this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
+    }
+
+    private int Max_Size = 3;
+
+    private void selectPhoto() {
+//        CameraUtil.pickImageSimple(this, REQUEST_CODE_PICK_PHOTO);
+        Intent intent = new Intent();
+        intent.putExtra("MAX_SIZE", Max_Size);
+        intent.putExtra("CURRENT_SIZE", mPhotoList == null ? 0 : mPhotoList.size());
+        intent.setClass(ct, ImgFileListActivity.class);
+        startActivityForResult(intent, 0x01);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == 0x01 && resultCode == 0x02 && data != null) {
+            mPhotoList.addAll(data.getStringArrayListExtra("files"));
+            Log.i("files0x01", data.getStringArrayListExtra("files").toString());
+            Log.i("mPhotoList", mPhotoList.toString());
+            doImageFiltering(mPhotoList);
+//            mAdapter.notifyDataSetInvalidated();
+        }
+        if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    mPhotoList.add(mNewPhotoUri.getPath());
+                    doImageFiltering(mPhotoList);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_take_picture_failed);
+                }
+            }
+        } else if (requestCode == REQUEST_CODE_PICK_PHOTO) {// 选择一张图片,然后立即调用裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (data != null && data.getData() != null) {
+                    String path = CameraUtil.getImagePathFromUri(this, data.getData());
+                    mPhotoList.add(path);
+                    mAdapter.notifyDataSetInvalidated();
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        }
+
+    }
+
+    /**
+     * 某些图片路径获取失败处理方案
+     *
+     * @param mPhotoList
+     */
+    private void doImageFiltering(ArrayList<String> mPhotoList) {
+        for (int i = 0; i < mPhotoList.size(); i++) {
+            File file = new File(mPhotoList.get(i).toString());
+            if (!file.isFile()) {
+//                mPhotoList.remove(i);
+                Toast.makeText(ct, "第" + (i + 1) + "张图片格式不对,可能会上传失败,建议更换", Toast.LENGTH_LONG).show();
+            }
+
+            if (i == mPhotoList.size() - 1) {
+                mAdapter.notifyDataSetInvalidated();
+            }
+        }
+    }
+
+    // 发布一条说说
+    public void sendShuoshuo() {
+        Map<String, String> params = new HashMap<String, String>();
+        params.put("access_token", MyApplication.getInstance().mAccessToken);
+
+        // 消息类型:1=文字消息;2=图文消息;3=语音消息;4=视频消息;
+        if (TextUtils.isEmpty(mImageData)) {
+            params.put("type", "1");
+        } else {
+            params.put("type", "2");
+        }
+
+        // 消息标记:1:求职消息;2:招聘消息;3:普通消息;
+        params.put("flag", "3");
+        // 消息隐私范围 0=不可见;1=朋友可见;2=粉丝可见;3=广场
+        params.put("visible", "3");
+        params.put("text", mTextEdit.getText().toString());// 消息内容
+        if (!TextUtils.isEmpty(mImageData)) {
+            params.put("images", mImageData);
+        }
+
+        // 附加信息
+        params.put("model", SystemUtil.getModel());
+        params.put("osVersion", SystemUtil.getOsVersion());
+        params.put("serialNumber", SystemUtil.getDeviceId(mContext));
+
+        double latitude = UasLocationHelper.getInstance().getUASLocation().getLatitude();
+        double longitude = UasLocationHelper.getInstance().getUASLocation().getLongitude();
+
+        if (latitude != 0)
+            params.put("latitude", String.valueOf(latitude));
+        if (longitude != 0)
+            params.put("longitude", String.valueOf(longitude));
+
+        String address = UasLocationHelper.getInstance().getUASLocation().getAddress();
+
+        if (!TextUtils.isEmpty(address))
+            params.put("location", address);
+
+        Area area = Area.getDefaultCity();
+        if (area != null) {
+            params.put("cityId", String.valueOf(area.getId()));//城市Id
+        } else {
+            params.put("cityId", "0");
+        }
+        ProgressDialogUtil.show(mProgressDialog);
+        StringJsonObjectRequest<String> request = new StringJsonObjectRequest<String>(mConfig.MSG_ADD_URL,
+                new Response.ErrorListener() {
+                    @Override
+                    public void onErrorResponse(VolleyError arg0) {
+                        ToastUtil.showErrorNet(ct);
+                        ProgressDialogUtil.dismiss(mProgressDialog);
+                    }
+                }, new StringJsonObjectRequest.Listener<String>() {
+            @Override
+            public void onResponse(ObjectResult<String> result) {
+                boolean parserResult = Result.defaultParser(ct, result, true);
+                if (parserResult) {
+                    Intent intent = new Intent();
+                    intent.putExtra(AppConstant.EXTRA_MSG_ID, result.getData());
+                    setResult(RESULT_OK, intent);
+                    finish();
+                }
+                ProgressDialogUtil.dismiss(mProgressDialog);
+            }
+        }, String.class, params);
+        addDefaultRequest(request);
+    }
+
+    private ProgressDialog mProgressDialog;
+
+    @Override
+    public void onClick(View view) {
+        if (view.getId() == R.id.release_btn) {
+            if(!isSelect()){
+                showToast("请选择原因");
+                return;
+            }
+            if (ListUtils.isEmpty(mPhotoList)) {
+                ToastMessage(getString(R.string.please_add_image));
+            } else {
+                newSendWord();
+            }
+            LogUtil.prinlnLongMsg("mPhotoList", JSON.toJSONString(mPhotoList) + "hi");
+        }
+    }
+    public boolean isSelect (){
+        boolean isSelect=false;
+        if(saoRaoListAdapter!=null){
+            List<SaoRaoBean> list=saoRaoListAdapter.getData();
+            for(int i=0;i<list.size();i++){
+                if(list.get(i).isSelect()){
+                    isSelect= true;
+                    break;
+                }else{
+                    isSelect=  false;
+                }
+            }
+        }
+        return isSelect;
+    }
+
+    private void sendWord() {
+        if (!StringUtil.isEmpty(mTextEdit.getText().toString())) {
+            String url = "http://192.168.253.252:8080/ERP/mobile/Commentsback_mobile.action";
+            String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+            if (StringUtil.isEmpty(emname)) {
+                emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+            }
+            String formStore = "{\n" +
+                    " \"cb_emcode\":\"" + cb_emcode + "\",\n" +
+                    " \"cb_company\":\"" + CommonUtil.getSharedPreferences(ct, "erp_commpany") + "\",\n" +
+                    " \"cb_whichsys\":\"" + CommonUtil.getSharedPreferences(ct, "erp_master") + "\",\n" +
+                    " \"cb_kind\":\"问题\",\n" +
+                    " \"cb_text\":\"" + mTextEdit.getText().toString() + "(来自ANDROID)" + "\",\n" +
+                    " \"cb_date\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss") + "\",\n" +
+                    " \"cb_person\":\"" + emname + "\",\n" +
+                    " \"cb_tel\":\"" + MyApplication.getInstance().mLoginUser.getTelephone() + "\",\n" +
+                    "}\n";
+            Map<String, Object> params = new HashMap<>();
+            params.put("formStore", formStore);
+            params.put("master", "USOFTSYS");
+            params.put("caller", "Commentsback_mobile");
+            LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+            headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+            ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, http_commit, null, null, "post");
+            release_btn.setEnabled(false);
+        } else {
+            ToastMessage(getString(R.string.suggest_hink));
+        }
+    }
+
+    private void sendPlatWord() {
+        if (!StringUtil.isEmpty(mTextEdit.getText().toString())) {
+            String url = "http://218.18.115.198:8888/ERP/mobile/Commentsback_mobile.action";
+            String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+            if (StringUtil.isEmpty(emname)) {
+                emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+            }
+            String formStore = "{\n" +
+                    " \"cb_emcode\":\"" + cb_emcode + "\",\n" +
+                    " \"cb_company\":\"" + CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "companyName") + "\",\n" +
+                    " \"cb_whichsys\":\"" + "USOFTSYS" + "\",\n" +
+                    " \"cb_kind\":\"问题\",\n" +
+                    " \"cb_text\":\"" + mTextEdit.getText().toString() + "(来自ANDROID)" + "\",\n" +
+                    " \"cb_date\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss") + "\",\n" +
+                    " \"cb_person\":\"" + emname + "\",\n" +
+                    " \"cb_tel\":\"" + MyApplication.getInstance().mLoginUser.getTelephone() + "\",\n" +
+                    "}\n";
+            Map<String, Object> params = new HashMap<>();
+            params.put("formStore", formStore);
+            params.put("master", "USOFTSYS");
+            params.put("caller", "Commentsback_mobile");
+            LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+            headers.put("Cookie", "JSESSIONID=" + ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+            ViewUtil.httpSendRequest(mContext, url, params, mHandler, headers, http_commit, null, null, "post");
+        } else {
+            ToastMessage(getString(R.string.suggest_hink));
+        }
+    }
+
+    private class UploadPhpto extends AsyncTask<Void, Integer, Integer> {
+        @Override
+        protected void onPreExecute() {
+            super.onPreExecute();
+            ProgressDialogUtil.show(mProgressDialog);
+        }
+
+        /**
+         * 上传的结果: <br/>
+         * return 1 Token过期,请重新登陆 <br/>
+         * return 2 上传出错<br/>
+         * return 3 上传成功<br/>
+         */
+        @Override
+        protected Integer doInBackground(Void... params) {
+            if (!LoginHelper.isTokenValidation()) {
+                return 1;
+            }
+            Map<String, String> mapParams = new HashMap<String, String>();
+            mapParams.put("userId", MyApplication.getInstance().mLoginUser.getUserId() + "");
+            mapParams.put("access_token", MyApplication.getInstance().mAccessToken);
+            String result = new UploadService().uploadFile(mConfig.UPLOAD_URL, mapParams, mPhotoList);
+            Log.d("roamer", "上传图片消息:" + result);
+            if (TextUtils.isEmpty(result)) {
+                return 2;
+            }
+
+            UploadFileResult recordResult = JSON.parseObject(result, UploadFileResult.class);
+            boolean success = Result.defaultParser(ct, recordResult, true);
+            if (success) {
+                if (recordResult.getSuccess() != recordResult.getTotal()) {// 上传丢失了某些文件
+                    return 2;
+                }
+                if (recordResult.getData() != null) {
+                    UploadFileResult.Data data = recordResult.getData();
+                    if (data.getImages() != null && data.getImages().size() > 0) {
+                        mImageData = JSON.toJSONString(data.getImages(), UploadFileResult.sImagesFilter);
+                    }
+
+                    Log.d("roamer", "mImageData:" + mImageData);
+                    return 3;
+                } else {// 没有文件数据源,失败
+                    return 2;
+                }
+            } else {
+                return 2;
+            }
+        }
+
+        @Override
+        protected void onPostExecute(Integer result) {
+            super.onPostExecute(result);
+            if (result == 1) {
+                ProgressDialogUtil.dismiss(mProgressDialog);
+                startActivity(new Intent(ct, LoginActivity.class));
+            } else if (result == 2) {
+                ProgressDialogUtil.dismiss(mProgressDialog);
+                ToastUtil.showToast(ct, getString(R.string.qzone_upload_failed));
+            } else {
+                sendShuoshuo();
+            }
+        }
+
+    }
+
+    private class GridViewAdapter extends BaseAdapter {
+
+        @Override
+        public int getCount() {
+            if (mPhotoList.size() >= 3) {
+                return 3;
+            }
+            return mPhotoList.size() + 1;
+        }
+
+        @Override
+        public Object getItem(int position) {
+            return position;
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public int getViewTypeCount() {
+            return 2;
+        }
+
+        @Override
+        public int getItemViewType(int position) {
+            if (mPhotoList.size() == 0) {
+                return 1;// View Type 1代表添加更多的视图
+            } else if (mPhotoList.size() < 9) {
+                if (position < mPhotoList.size()) {
+                    return 0;// View Type 0代表普通的ImageView视图
+                } else {
+                    return 1;
+                }
+            } else {
+                return 0;
+            }
+        }
+
+        @Override
+        public View getView(final int position, View convertView, ViewGroup parent) {
+            if (getItemViewType(position) == 0) {// 普通的视图
+                SquareCenterImageView imageView = new SquareCenterImageView(ct);
+                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+                String url = mPhotoList.get(position);
+                if (url == null) {
+                    url = "";
+                }
+                ImageLoader.getInstance().displayImage(Uri.fromFile(new File(url)).toString(), imageView);
+                return imageView;
+            } else {
+                View view = LayoutInflater.from(ct).inflate(R.layout.layout_circle_add_more_item,
+                        parent, false);
+                ImageView iconImageView = (ImageView) view.findViewById(R.id.icon_image_view);
+                TextView voiceTextTv = (TextView) view.findViewById(R.id.text_tv);
+                iconImageView.setBackgroundResource(R.drawable.add_picture);
+                voiceTextTv.setText(R.string.qzone_add_picture);
+                return view;
+            }
+        }
+
+    }
+
+
+    String cb_code;
+
+
+    private void sendPicture() {
+        if (ListUtils.isEmpty(mPhotoList)) {
+            Toast.makeText(ct, getString(R.string.fangkui_success), Toast.LENGTH_LONG).show();
+            finish();
+        }
+        for (int i = 0; i < mPhotoList.size(); i++) {
+            String path = mPhotoList.get(i);
+            sendPictureRequest(path);
+        }
+    }
+
+    File[] files = null;
+
+    private void newSendWord() {
+        if (!StringUtil.isEmpty(mTextEdit.getText().toString())) {
+            if (!ListUtils.isEmpty(mPhotoList)) {
+                files = new File[mPhotoList.size()];
+                for (int i = 0; i < mPhotoList.size(); i++) {
+                    if (new File(mPhotoList.get(i)).isFile()) {
+                        files[i] = ImageUtil.compressBitmapToFile(mPhotoList.get(i), 100, 360, 480);// TODO 压缩
+//                                files[i] = new File(mPhotoList.get(i));
+                    }
+                }
+            }
+
+//            String url = "http://192.168.253.252:8080/ERP/mobile/Commentsback_mobile.action";
+            String url = "http://218.18.115.198:8888/ERP/mobile/Commentsback_mobile.action"; // 正式账号
+            String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
+            if (StringUtil.isEmpty(emname)) {
+                emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
+            }
+            String formStore = "{\n" +
+                    " \"cb_emcode\":\"" + "U0305" + "\",\n" +
+//                    " \"em_code\":\"" + CommonUtil.getSharedPreferences(ct, "erp_username") + "\",\n" +
+                    " \"em_code\":\"" + "U0305" + "\",\n" +
+                    " \"cb_company\":\"" + CommonUtil.getSharedPreferences(ct, "erp_commpany") + "\",\n" +
+                    " \"cb_whichsys\":\"" + CommonUtil.getSharedPreferences(ct, "erp_master") + "\",\n" +
+                    " \"cb_kind\":\"问题反馈\",\n" +
+                    " \"cb_text\":\"" + mTextEdit.getText().toString() + "(来自ANDROID)" + "\",\n" +
+                    " \"cb_date\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss") + "\",\n" +
+                    " \"cb_person\":\"" + emname + "\",\n" +
+                    " \"cb_tel\":\"" + MyApplication.getInstance().mLoginUser.getTelephone() + "\",\n" +
+                    "}\n";
+            RequestParams params = new RequestParams();
+            params.addQueryStringParameter("master", "USOFTSYS");
+            if (!platform) {
+                params.addHeader("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+            } else {
+                params.addHeader("Cookie", "JSESSIONID=" + ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+            }
+
+            params.addBodyParameter("formStore", formStore);
+            params.addBodyParameter("type", "common");
+            params.addBodyParameter("caller", "Commentsback_mobile");
+            if (files != null && files.length > 0) {
+                for (int i = 0; i < files.length; i++) {
+                    if (files[i] != null) {
+                        params.addBodyParameter("img" + (i + 1), files[i]);
+                    }
+                }
+            }
+            final HttpUtils http = new HttpUtils();
+            Log.i("urlparams", url + params + "");
+            http.send(HttpRequest.HttpMethod.POST, url, params, new RequestCallBack<String>() {
+                @Override
+                public void onStart() {
+                    progressDialog.show();
+                    release_btn.setEnabled(false);
+                    ViewUtil.ToastMessage(ct, getString(R.string.sending_picture) + "...");
+                }
+
+                @Override
+                public void onSuccess(ResponseInfo<String> responseInfo) {
+                    ViewUtil.ToastMessage(ct, getString(R.string.Uploaded_successfully));
+                    release_btn.setEnabled(true);
+                    Log.i("newSendMes", JSON.parseObject(responseInfo.result).toJSONString());
+                    if (JSONUtil.validate(responseInfo.result) && JSON.parseObject(responseInfo.result).getBoolean("success")) {
+
+                    }
+                    progressDialog.dismiss();
+                    release_btn.setEnabled(true);
+                    Toast.makeText(ct, getString(R.string.fangkui_success), Toast.LENGTH_LONG).show();
+                    new Handler().postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            finish();
+                        }
+                    }, 1000);
+                }
+
+                @Override
+                public void onFailure(HttpException error, String msg) {
+                    new Handler().postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            ViewUtil.ToastMessage(ct, getString(R.string.fangkui_success) + "...");
+                            release_btn.setEnabled(true);
+                            progressDialog.dismiss();
+                            new Handler().postDelayed(new Runnable() {
+                                @Override
+                                public void run() {
+                                    finish();
+                                }
+                            }, 1000);
+                        }
+                    }, 3000);
+
+                }
+            });
+        } else {
+            ToastMessage(getString(R.string.suggest_hink));
+        }
+    }
+
+    private void sendPictureRequest(String path) {
+        if (StringUtil.isEmpty(path)) return;
+        if (!new File(path).isFile()) return;
+        File file = ImageUtil.compressBitmapToFile(path, 100, 360, 480);
+        RequestParams params = new RequestParams();
+        if (platform) {
+            params.addQueryStringParameter("master", CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "companyEnUu"));
+            params.addHeader("Cookie", "JSESSIONID=" + ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+            params.addBodyParameter("em_code", CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "b2b_uu"));
+        } else {
+            params.addQueryStringParameter("master", CommonUtil.getSharedPreferences(ct, "erp_master"));
+            params.addHeader("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+            params.addBodyParameter("em_code", CommonUtil.getSharedPreferences(ct, "erp_username"));
+        }
+        params.addBodyParameter("type", "common");
+        params.addBodyParameter("img", file == null ? new File(path) : file);
+        String url = CommonUtil.getAppBaseUrl(ct) + "mobile/uploadEmployeeAttach.action";
+        Log.i("urlparams", url);
+        final HttpUtils http = new HttpUtils();
+        http.send(HttpRequest.HttpMethod.POST, url, params, new RequestCallBack<String>() {
+            @Override
+            public void onStart() {
+                progressDialog.show();
+                ViewUtil.ToastMessage(ct, getString(R.string.sending_picture) + "...");
+            }
+
+            @Override
+            public void onLoading(long total, long current, boolean isUploading) {
+                if (isUploading) {
+                    if (sended_p == mPhotoList.size()) {
+                        release_btn.setEnabled(true);
+                        Toast.makeText(ct, getString(R.string.fangkui_success), Toast.LENGTH_LONG).show();
+                        finish();
+                    }
+                } else {
+                    release_btn.setEnabled(true);
+                }
+            }
+
+            @Override
+            public void onSuccess(ResponseInfo<String> responseInfo) {
+                ViewUtil.ToastMessage(ct, getString(R.string.Uploaded_successfully));
+                if (JSONUtil.validate(responseInfo.result) && JSON.parseObject(responseInfo.result).getBoolean("success")) {
+                    sended_p++;
+                    update = update + getID(JSON.parseObject(responseInfo.result).getString("id")) + ";";
+                    Log.i("update_cb_attch", update + "");
+                    if (sended_p == mPhotoList.size()) {
+                        //TODO 更新附件ID接口
+                        doUpdateId(update);
+                    }
+                }
+            }
+
+
+            @Override
+            public void onFailure(HttpException error, String msg) {
+                ViewUtil.ToastMessage(ct, getString(R.string.common_save_failed) + msg);
+                progressDialog.dismiss();
+            }
+        });
+    }
+
+    private int getID(String chche) {
+        if (StringUtil.isEmpty(chche)) return 0;
+        Pattern p = Pattern.compile("(\\d+)");
+        Matcher m = p.matcher(chche);
+        if (m.find()) {
+            return Integer.parseInt(m.group(0));
+        }
+        return -1;
+    }
+}

+ 1 - 0
app_modular/appme/src/main/res/values/strings.xml

@@ -1572,6 +1572,7 @@
     <string name="Rated_notice1">请您为UU评一个分数吧,只需要花费您很少的时间,感谢您的支持!</string>
     <string name="Rated_now">现在去评分</string>
     <string name="Rated_suggest">用户反馈</string>
+    <string name="jubao">举报</string>
     <string name="Rated_next">下次再说</string>
     <string name="fangkui_success">"提交成功,我们会在第一时间查看您的问题,谢谢您的配合!</string>
     <string name="Uploaded_successfully">上传成功</string>

+ 1 - 1
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/fragment/CharitableListFragment.java

@@ -219,7 +219,7 @@ public class CharitableListFragment extends EasyFragment implements OnPlayListen
                 } catch (Exception e) {
                     if (e != null) {
                         LogUtil.i("e=" + e.getMessage());
-                        ToastUtil.showToast(ct, e.getMessage());
+                      //  ToastUtil.showToast(ct, e.getMessage());
                     }
 
                 }

+ 1 - 3
app_modular/appworks/src/main/java/com/uas/appworks/activity/DeviceQueryActivity.java

@@ -58,8 +58,6 @@ import com.uuzuche.lib_zxing.activity.CaptureActivity;
 import com.uuzuche.lib_zxing.activity.CodeUtils;
 
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -832,7 +830,7 @@ public class DeviceQueryActivity extends BaseMVPActivity<WorkPlatPresenter> impl
     @Override
     public void requestError(int what, String errorMsg) {
         if (what == OBTAIN_DEVICE_LIST) {
-            ToastMessage(errorMsg);
+           // ToastMessage(errorMsg);
             if (mPageIndex > 1) {
                 mPageIndex--;
             }

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

@@ -151,9 +151,9 @@ public class RealTimeFormActivity extends BaseActivity {
             @Override
             public void onFailure(Object t) {
                 progressDialog.dismiss();
-                ToastUtil.showToast(RealTimeFormActivity.this, "数据获取失败");
+                ToastUtil.showToast(RealTimeFormActivity.this, "暂时没有数据~");
                 mEmptyLayout.setVisibility(View.VISIBLE);
-                mEmptyTextView.setText("数据获取失败");
+                mEmptyTextView.setText("空空如也~");
             }
         }));
 //        }

+ 1 - 3
app_modular/appworks/src/main/java/com/uas/appworks/activity/ScheduleActivity.java

@@ -46,11 +46,9 @@ import com.modular.apputils.widget.compactcalender.CompactCalendarView;
 import com.modular.apputils.widget.compactcalender.Lunar;
 import com.modular.apputils.widget.compactcalender.domain.Event;
 import com.modular.booking.activity.business.BBookingDetailActivity;
-import com.modular.booking.activity.services.BServiceAddActivity;
 import com.modular.booking.activity.services.BServicesActivity;
 import com.modular.booking.activity.shares.BBSharesListActivity;
 import com.modular.booking.model.BookingModel;
-import com.modular.booking.model.SBListModel;
 import com.uas.appworks.OA.erp.activity.AddMeetingActivity;
 import com.uas.appworks.OA.erp.activity.CommonDocDetailsActivity;
 import com.uas.appworks.OA.erp.activity.MeetDetailsActivity;
@@ -322,7 +320,7 @@ public class ScheduleActivity extends BaseNetActivity {
     }
 
     private void loadByDay(String dateStr) {
-        showProgress();
+        //showProgress();
         requestHttp(new Parameter.Builder()
                         .addParams("imid", MyApplication.getInstance().getLoginUserId())
                         .addParams("day", dateStr)

+ 2 - 2
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/fragment/ContactsListFragment.java

@@ -193,7 +193,7 @@ public class ContactsListFragment extends ViewPagerLazyFragment implements OnSma
         switch (tabItem){
             case 1:
                 //我的联系人-不分页
-                progressDialog.show();
+                //progressDialog.show();
                 HttpClient httpClient = new HttpClient.Builder("https://mobile.ubtob.net:8443/linkman/")
                         .isDebug(true)
                         .build();
@@ -212,7 +212,7 @@ public class ContactsListFragment extends ViewPagerLazyFragment implements OnSma
                             
                             allDatas=getAllDatas(datas);
                             mAdapter.setData(allDatas);
-                            progressDialog.dismiss();
+                           // progressDialog.dismiss();
 //                            adapter=new ItemContactsMeAdapter(getActivity(),datas);
 //                            mListView.setAdapter(adapter);
 //                            LogUtil.d(TAG,JSON.toJSONString(datas));

+ 1 - 2
app_modular/appworks/src/main/java/com/uas/appworks/datainquiry/activity/ReportQuerySearchActivity.java

@@ -18,7 +18,6 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
-import com.common.LogUtil;
 import com.common.data.StringUtil;
 import com.core.base.BaseActivity;
 import com.core.utils.CommonUtil;
@@ -237,7 +236,7 @@ public class ReportQuerySearchActivity extends BaseActivity {
                     @Override
                     public void onFail(int flag, String failStr) throws Exception {
                         progressDialog.dismiss();
-                        toast(failStr);
+                       // toast(failStr);
                     }
                 });
     }

+ 1 - 1
app_modular/appworks/src/main/java/com/uas/appworks/datainquiry/activity/ReportStatisticsBiActivity.java

@@ -377,7 +377,7 @@ public class ReportStatisticsBiActivity extends BaseActivity {
                         progressDialog.dismiss();
                     if (mMenuListView.isRefreshing())
                         mMenuListView.onRefreshComplete();
-                    ToastMessage(msg.getData().getString("result"));
+                    //ToastMessage(msg.getData().getString("result"));
                     mEmptyLayout.setErrorMessage(msg.getData().getString("result"));
                     mEmptyLayout.showError();
                     break;