Browse Source

提交分类 修复BUG;
提交内容 服务预约数据加减控件输入问题;左右图标大小问题;
当前版本 正式版本V6.1.1(测试版本6.1.1)
是否冲突 否

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

# Conflicts:
# WeiChat/version.properties

Arison 8 years ago
parent
commit
b73eedf469
43 changed files with 924 additions and 318 deletions
  1. 0 34
      WeiChat/src/main/res/drawable/shape_process_item.xml
  2. 1 1
      app_core/common/src/main/java/com/core/app/Constants.java
  3. 16 26
      app_core/common/src/main/res/drawable/shape_process_item.xml
  4. 4 3
      app_core/common/src/main/res/layout/input_error_msg.xml
  5. 1 2
      app_core/common/src/main/res/layout/process_header.xml
  6. 7 0
      app_core/common/src/main/res/menu/wage_error.xml
  7. 1 1
      app_core/common/src/main/res/values-en/strings.xml
  8. 1 1
      app_core/common/src/main/res/values-zh-rTW/strings.xml
  9. 1 1
      app_core/common/src/main/res/values/strings.xml
  10. BIN
      app_modular/appbooking/src/main/res/drawable-mdpi/icon_add.png
  11. BIN
      app_modular/appbooking/src/main/res/drawable-mdpi/icon_remove.png
  12. 6 2
      app_modular/appme/src/main/AndroidManifest.xml
  13. 1 0
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/BRestActivity.java
  14. 31 12
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/CheckWagesActivity.java
  15. 54 9
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/PersonSettingActivity.java
  16. 103 50
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/WagesDetailsActivity.java
  17. BIN
      app_modular/appme/src/main/res/drawable-xxhdpi/wage_nodata.png
  18. 2 2
      app_modular/appme/src/main/res/layout/business_hours_setting_activity.xml
  19. 43 3
      app_modular/appme/src/main/res/layout/wages_details_activity.xml
  20. 1 1
      app_modular/appme/src/main/res/values/strings.xml
  21. 1 1
      app_modular/apputils/src/main/java/com/modular/apputils/utils/SwitchUtil.java
  22. 0 0
      app_modular/apputils/src/main/res/drawable-hdpi/ic_advanced_filter.png
  23. 0 0
      app_modular/apputils/src/main/res/drawable-xhdpi/ic_advanced_filter.png
  24. 0 0
      app_modular/apputils/src/main/res/drawable-xxhdpi/ic_advanced_filter.png
  25. 0 0
      app_modular/apputils/src/main/res/layout/action_data_inquiry_list.xml
  26. 32 0
      app_modular/apputils/src/main/res/layout/action_search_condition.xml
  27. 13 0
      app_modular/apputils/src/main/res/layout/common_refresh_recycler.xml
  28. 1 1
      app_modular/appworks/src/main/AndroidManifest.xml
  29. 181 0
      app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceCycleCountActivity.java
  30. 0 109
      app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceInputListActivity.java
  31. 20 30
      app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceManageActivity.java
  32. 105 7
      app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/ScanDetailActivity.java
  33. 24 0
      app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/model/DeviceManage.java
  34. 1 0
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/PlatWDdetailyActivity.java
  35. 35 11
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/fragment/ActivityFragment.java
  36. 5 9
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/fragment/CharitableListFragment.java
  37. 3 1
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/fragment/UserFragment.java
  38. 34 0
      app_modular/appworks/src/main/res/layout/action_device_cycle_count.xml
  39. 69 0
      app_modular/appworks/src/main/res/layout/device_scan_head.xml
  40. 1 1
      app_modular/appworks/src/main/res/layout/handler_join_project.xml
  41. 5 0
      app_modular/appworks/src/main/res/layout/item_device_find.xml
  42. 98 0
      app_modular/appworks/src/main/res/layout/menu_device_scan.xml
  43. 23 0
      app_modular/appworks/src/main/res/layout/pop_device_add.xml

+ 0 - 34
WeiChat/src/main/res/drawable/shape_process_item.xml

@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_selected="true">
-        <shape  android:shape="rectangle">
-            <corners
-                android:topLeftRadius="100dp"
-                android:topRightRadius="100dp"
-                android:bottomRightRadius="100dp"
-                android:bottomLeftRadius="100dp">
-            </corners>
-            <stroke
-                android:width="1dp"
-                android:color="#fbfbfb">
-            </stroke>
-            <solid
-                android:color="#ffffff">
-            </solid>
-        </shape>
-        </item>
-    <item>
-        <shape  android:shape="rectangle">
-            <corners
-                android:topLeftRadius="100dp"
-                android:topRightRadius="100dp"
-                android:bottomRightRadius="100dp"
-                android:bottomLeftRadius="100dp">
-            </corners>
-            <solid
-                android:color="@color/antionbarcolor">
-            </solid>
-        </shape>
-        </item>
-</selector>

+ 1 - 1
app_core/common/src/main/java/com/core/app/Constants.java

@@ -16,7 +16,7 @@ public class Constants {
     public static String IM_BASE_URL() {
         String url = "";
         if (BaseConfig.isDebug()) {
-            url = IM_BASE_URL_TEST;
+            url = IM_BASE_URL;
         } else {
             url = IM_BASE_URL;
         }

+ 16 - 26
app_core/common/src/main/res/drawable/shape_process_item.xml

@@ -2,33 +2,23 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 
     <item android:state_selected="true">
-        <shape  android:shape="rectangle">
-            <corners
-                android:topLeftRadius="100dp"
-                android:topRightRadius="100dp"
-                android:bottomRightRadius="100dp"
-                android:bottomLeftRadius="100dp">
-            </corners>
-            <stroke
-                android:width="1dp"
-                android:color="#fbfbfb">
-            </stroke>
-            <solid
-                android:color="#ffffff">
-            </solid>
+        <shape android:shape="rectangle">
+            <corners android:bottomLeftRadius="100dp" android:bottomRightRadius="100dp" android:topLeftRadius="100dp" android:topRightRadius="100dp"></corners>
+            <stroke android:width="1dp" android:color="#fbfbfb"></stroke>
+            <solid android:color="#ffffff"></solid>
         </shape>
-        </item>
+    </item>
+    <item android:state_checked="true">
+        <shape android:shape="rectangle">
+            <corners android:bottomLeftRadius="100dp" android:bottomRightRadius="100dp" android:topLeftRadius="100dp" android:topRightRadius="100dp"></corners>
+            <stroke android:width="1dp" android:color="#fbfbfb"></stroke>
+            <solid android:color="#ffffff"></solid>
+        </shape>
+    </item>
     <item>
-        <shape  android:shape="rectangle">
-            <corners
-                android:topLeftRadius="100dp"
-                android:topRightRadius="100dp"
-                android:bottomRightRadius="100dp"
-                android:bottomLeftRadius="100dp">
-            </corners>
-            <solid
-                android:color="@color/antionbarcolor">
-            </solid>
+        <shape android:shape="rectangle">
+            <corners android:bottomLeftRadius="100dp" android:bottomRightRadius="100dp" android:topLeftRadius="100dp" android:topRightRadius="100dp"></corners>
+            <solid android:color="@color/antionbarcolor"></solid>
         </shape>
-        </item>
+    </item>
 </selector>

+ 4 - 3
app_core/common/src/main/res/layout/input_error_msg.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
+    android:layout_height="wrap_content"
     android:gravity="center_horizontal"
     android:orientation="vertical"
     android:paddingLeft="10dp"
@@ -35,14 +35,15 @@
         <EditText
             android:id="@+id/msg_et"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
+            android:layout_height="150dp"
             android:background="@null"
             android:maxLines="3"
             android:maxLength="100"
             android:hint="@string/common_input"
             android:textColor="@color/text_main"
             android:textSize="@dimen/text_main"
-            android:gravity="center_horizontal"
+            android:gravity="left"
+            android:padding="10dp"
             />
         <EditText
             android:id="@+id/editname_et2"

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

@@ -52,8 +52,7 @@
             android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
-            android:background="@drawable/shape_process_item"
-            >
+            android:background="@drawable/shape_process_item">
             <TextView
                 android:id="@+id/tv_process_already"
                 android:layout_width="wrap_content"

+ 7 - 0
app_core/common/src/main/res/menu/wage_error.xml

@@ -3,6 +3,13 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:context="com.xzjmyk.pm.activity.MainActivity">
 
+    <item
+        android:tooltipText="2017年12月工资"
+        android:id="@+id/wage_date"
+        android:title="工资日期"
+        app:showAsAction="ifRoom"
+        android:visible="false"
+        />
     <item
         android:tooltipText="报错"
         android:id="@+id/wage_error"

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

@@ -37,7 +37,7 @@
         <string name = "common_noinput"> not filled in </string>
         <string name = "common_camera"> take pictures </string>
         <string name = "common_photo"> select </string> from the album
-        <string name = "common_notlinknet"> The network is not connected </string>
+        <string name = "common_notlinknet">The current network is not available, please try again later</string>
         <string name = "common_notice"> Warm Tips </string>
         <string name = "common_save_failed"> save failed </string>
         <string name = "common_save_success"> save successfully </string>

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

@@ -34,7 +34,7 @@
     <string name="common_agree">同意</string>
     <string name="common_disagree">不同意</string>
     <string name="common_changedealman">變更處理人</string>
-    <string name="common_notlinknet">網絡未連接</string>
+    <string name="common_notlinknet">當前網絡不可用,請稍後重試!</string>
     <string name="common_notice">溫馨提示</string>
     <string name="common_save_failed">保存失敗</string>
     <string name="common_save_success">保存成功</string>

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

@@ -582,7 +582,7 @@
     <string name="common_noinput">未填写</string>
     <string name="common_camera">拍照</string>
     <string name="common_photo">从相册选择</string>
-    <string name="common_notlinknet">网络未连接</string>
+    <string name="common_notlinknet">当前网络不可用,请稍后重试!</string>
     <string name="common_notice">温馨提示</string>
     <string name="common_save_failed">保存失败</string>
     <string name="common_save_success">保存成功</string>

BIN
app_modular/appbooking/src/main/res/drawable-mdpi/icon_add.png


BIN
app_modular/appbooking/src/main/res/drawable-mdpi/icon_remove.png


+ 6 - 2
app_modular/appme/src/main/AndroidManifest.xml

@@ -71,8 +71,12 @@
             android:screenOrientation="landscape"
             />
         <activity android:name=".settings.activity.CheckWagesActivity"
-            android:windowSoftInputMode="stateUnspecified|adjustNothing"
-            />
+            android:windowSoftInputMode="stateUnspecified|adjustNothing">
+            <intent-filter>
+                <action android:name="com.modular.appme.CheckWagesActivity"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+            </intent-filter>
+        </activity>
         <activity android:name=".settings.activity.WagesDetailsActivity"
             />
         <activity android:name=".settings.activity.TableSetActivity"/>

+ 1 - 0
app_modular/appme/src/main/java/com/uas/appme/settings/activity/BRestActivity.java

@@ -147,6 +147,7 @@ public class BRestActivity extends BaseActivity implements BRestAdapter.OnItemCl
 	public void onClick(View v) {
 		if (!CommonUtil.isNetWorkConnected(ct)) {
 			ToastMessage(getString(R.string.common_notlinknet));
+			ToastMessage(getString(R.string.networks_out));
 			return;
 		}
 		if (v.getId() == R.id.saveBtn) {

+ 31 - 12
app_modular/appme/src/main/java/com/uas/appme/settings/activity/CheckWagesActivity.java

@@ -21,7 +21,6 @@ import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
 import com.andreabaccega.widget.FormEditText;
-import com.baidu.cyberplayer.utils.G;
 import com.common.LogUtil;
 import com.common.config.BaseConfig;
 import com.common.data.DateFormatUtil;
@@ -32,7 +31,6 @@ import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.utils.CommonUtil;
 import com.core.utils.time.wheel.DatePicker;
-import com.iflytek.cloud.thirdparty.V;
 import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.Method;
 import com.me.network.app.http.rx.ResultListener;
@@ -65,6 +63,8 @@ public class CheckWagesActivity extends BaseActivity implements View.OnClickList
     private TextView seconds_tv;
     private long SecondT = 59;
     private boolean isRun = false;
+    private Boolean codeTimeOut = false;
+
     private Handler timeHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -73,6 +73,7 @@ public class CheckWagesActivity extends BaseActivity implements View.OnClickList
                 SecondT--;
                 seconds_tv.setText(SecondT+"");
                 if (SecondT==0) {
+                    codeTimeOut = true;
                     seconds_tv.setVisibility(View.INVISIBLE);
                     mWagesCodeBtn.setVisibility(View.VISIBLE);
                     isRun = false;
@@ -220,6 +221,7 @@ public class CheckWagesActivity extends BaseActivity implements View.OnClickList
                     if (!JSONUtil.validate(o.toString()) || o == null) return;
                     if (o.toString().contains("success") && JSON.parseObject(o.toString()).getBoolean("success")) {
                         Toast.makeText(ct,"短信发送成功,请在一分钟内完成输入查询",Toast.LENGTH_LONG).show();
+                        codeTimeOut = false;
                         mWagesCodeBtn.setVisibility(View.INVISIBLE);
                         seconds_tv.setVisibility(View.VISIBLE);
                         mWagesCodeEt.setText(JSON.parseObject(o.toString()).getString("vecode")+"");
@@ -299,6 +301,10 @@ public class CheckWagesActivity extends BaseActivity implements View.OnClickList
     }
 
     private void searchWage() {
+        if (codeTimeOut){
+            ToastMessage("验证码超时,请重新获取");
+            return;
+        }
         //        HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL()).isDebug(true).build(true);
         HttpClient httpClient = new HttpClient.Builder("http://192.168.253.58:8080/ERP/").isDebug(true).build(true);
         httpClient.Api().send(new HttpClient.Builder()
@@ -315,16 +321,29 @@ public class CheckWagesActivity extends BaseActivity implements View.OnClickList
             public void onResponse(Object o) {
                 LogUtil.prinlnLongMsg("getEmSalary", o.toString()+"");
                 if (!JSONUtil.validate(o.toString()) || o == null) return;
-                if (o.toString().contains("success") && JSON.parseObject(o.toString()).getBoolean("success")){
-                    startActivity(new Intent(ct,WagesDetailsActivity.class)
-                            .putExtra("checkYear",checkYear)
-                            .putExtra("checkMonth",checkMonth)
-                            .putExtra("WageDatas",o.toString()));
-                    finish();
-                }else if (o.toString().contains("reason")){
-                    ToastMessage(JSON.parseObject(o.toString()).getString("reason"));
-                }else if (o.toString().contains("exceptionInfo")){
-                    ToastMessage(JSON.parseObject(o.toString()).getString("exceptionInfo"));
+                try {
+                    if (o.toString().contains("success") && JSON.parseObject(o.toString()).getBoolean("success")){
+                        Log.i("HttpLogs","success = true1");
+                        String ps = mWagesPasswordEt.getText().toString();
+                        String vc = mWagesCodeEt.getText().toString();
+                        String p = mTel.getText().toString();
+                        startActivity(new Intent(ct,WagesDetailsActivity.class)
+                                .putExtra("checkYear",checkYear)
+                                .putExtra("checkMonth",checkMonth)
+                                .putExtra("WageDatas",o.toString())
+                                .putExtra("password",ps)
+                                .putExtra("vecode",vc)
+                                .putExtra("phone",p));
+                        Log.i("HttpLogs","success = true2");
+                        finish();
+                    }else if (o.toString().contains("reason")){
+                        ToastMessage(JSON.parseObject(o.toString()).getString("reason"));
+                    }else if (o.toString().contains("exceptionInfo")){
+                        ToastMessage(JSON.parseObject(o.toString()).getString("exceptionInfo"));
+                    }
+                } catch (Exception e) {
+                    LogUtil.prinlnLongMsg("HttpLogs",e.toString());
+                    e.printStackTrace();
                 }
 
             }

+ 54 - 9
app_modular/appme/src/main/java/com/uas/appme/settings/activity/PersonSettingActivity.java

@@ -92,6 +92,9 @@ public class PersonSettingActivity extends BaseActivity implements View.OnClickL
     private Uri mNewPhotoUri;// 拍照和图库 获得图片的URI
     private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
     private static final int REQUEST_CODE_PICK_PHOTO = 2;//单选照片
+    private static final int REQUEST_CODE_CAPTURE_CROP_PHOTO = 1;
+    private static final int REQUEST_CODE_PICK_CROP_PHOTO = 2;
+    private static final int REQUEST_CODE_CROP_PHOTO = 3;
     private String photoselect=null;
     private ProgressDialog mProgressDialog;
     private Boolean updateChangeP = false; //更新是否更换了头像,若没换
@@ -265,7 +268,8 @@ public class PersonSettingActivity extends BaseActivity implements View.OnClickL
                                 }
                             }
                         } else {
-                            CameraUtil.pickImageSimple(PersonSettingActivity.this, REQUEST_CODE_PICK_PHOTO);  //传统单选方式
+//                            CameraUtil.pickImageSimple(PersonSettingActivity.this, REQUEST_CODE_PICK_PHOTO);  //传统单选方式
+                            CameraUtil.pickImageSimple(PersonSettingActivity.this, REQUEST_CODE_PICK_CROP_PHOTO);
                         }
                         dialog.dismiss();
                     }
@@ -273,12 +277,15 @@ public class PersonSettingActivity extends BaseActivity implements View.OnClickL
         builder.show();
     }
     private void takePhoto() {
-        try {
-            mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, MyApplication.getInstance().getLoginUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
-            CameraUtil.captureImage(this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+//        try {
+//            mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, MyApplication.getInstance().getLoginUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+//            CameraUtil.captureImage(this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+
+        mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+        CameraUtil.captureImage(this, mNewPhotoUri, REQUEST_CODE_CAPTURE_CROP_PHOTO);
     }
     private void doDelete() {
         HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL()).isDebug(true).build(true);
@@ -337,7 +344,7 @@ public class PersonSettingActivity extends BaseActivity implements View.OnClickL
         intent.putExtra("title", title);
         startActivityForResult(intent, requestCode);
     }
-
+    private File mCurrentFile;
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
@@ -350,7 +357,7 @@ public class PersonSettingActivity extends BaseActivity implements View.OnClickL
                 mUserDepartmentEv.setText(department);
             }
         }
-        if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
+       /* if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
             if (resultCode == Activity.RESULT_OK) {
                 if (mNewPhotoUri != null) {
                     photoselect = mNewPhotoUri.getPath();
@@ -371,6 +378,44 @@ public class PersonSettingActivity extends BaseActivity implements View.OnClickL
                     updateChangeP = true;
                 }
             }
+        }*/
+
+
+        else  if (requestCode == REQUEST_CODE_CAPTURE_CROP_PHOTO) {// 拍照返回再去裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    Uri o = mNewPhotoUri;
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+                    mCurrentFile = new File(mNewPhotoUri.getPath());
+                    CameraUtil.cropImage(this, o, mNewPhotoUri, REQUEST_CODE_CROP_PHOTO, 1, 1, 300, 300);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        } else if (requestCode == REQUEST_CODE_PICK_CROP_PHOTO) {// 选择一张图片,然后立即调用裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (data != null && data.getData() != null) {
+                    String path = CameraUtil.getImagePathFromUri(this, data.getData());
+                    Uri o = Uri.fromFile(new File(path));
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+                    mCurrentFile = new File(mNewPhotoUri.getPath());
+                    CameraUtil.cropImage(this, o, mNewPhotoUri, REQUEST_CODE_CROP_PHOTO, 1, 1, 300, 300);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        } else if (requestCode == REQUEST_CODE_CROP_PHOTO) {
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    mCurrentFile = new File(mNewPhotoUri.getPath());
+                    ImageLoader.getInstance().displayImage(mNewPhotoUri.toString(), image_im);
+                    photoselect = mCurrentFile.getPath();
+                    updateChangeP = true;
+                } else {
+                    ToastUtil.showToast(this, R.string.c_crop_failed);
+                }
+            }
+
         }
     }
 

+ 103 - 50
app_modular/appme/src/main/java/com/uas/appme/settings/activity/WagesDetailsActivity.java

@@ -1,6 +1,7 @@
 package com.uas.appme.settings.activity;
 
 import android.app.Activity;
+import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.os.Bundle;
@@ -19,12 +20,14 @@ import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.PopupWindow;
+import android.widget.TextView;
 import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.common.LogUtil;
+import com.common.data.DateFormatUtil;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
@@ -34,6 +37,7 @@ import com.core.api.wxapi.ApiUtils;
 import com.core.base.BaseActivity;
 import com.core.net.http.ViewUtil;
 import com.core.utils.CommonUtil;
+import com.core.utils.time.wheel.DatePicker;
 import com.core.widget.EmptyLayout;
 import com.core.widget.MyListView;
 import com.lidroid.xutils.HttpUtils;
@@ -55,6 +59,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Calendar;
 
 /**
  * Created by FANGlh on 2017/11/10.
@@ -78,6 +83,12 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
     private String emcode;
     private EditText msg_et;
     private ImageView received_im;
+    private String password;
+    private String vecode;
+    private String phone;
+    private TextView wageDateTv;
+    private LinearLayout noWageLl;
+    private Boolean haveData = false;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -112,6 +123,8 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
                             myAdapter.setModeList(kvModeList);
                             myAdapter.notifyDataSetChanged();
                             LogUtil.prinlnLongMsg("fanglh",JSON.toJSONString(kvModeList));
+                            if (ListUtils.isEmpty(kvModeList))
+                                showEnty();
                         }
                     }
                 }else{
@@ -124,23 +137,24 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
         } catch (Exception e) {
             e.printStackTrace();
         }
-    }
+
+
+        if (!haveData)
+            mBtnSignature.setVisibility(View.VISIBLE);
+        else
+            mBtnSignature.setVisibility(View.GONE);
+}
 
     private void showEnty() {
-        received_im.setVisibility(View.GONE);
-        mEmptyLayout.showEmpty();
+        haveData = false;
+        noWageLl.setVisibility(View.VISIBLE);
     }
 
-    private EmptyLayout mEmptyLayout;
     private void initView() {
         //        emcode = MyApplication.getInstance().getLoginUserId();
         emcode = "U0747";
         master = CommonUtil.getSharedPreferences(ct, "erp_master");
-        checkYear = getIntent().getStringExtra("checkYear");
-        checkMonth = getIntent().getStringExtra("checkMonth");
-        String title = checkYear + "年" + checkMonth + "月"+"工资";
-        if (!StringUtil.isEmpty(checkYear) && !StringUtil.isEmpty(checkMonth))
-        getSupportActionBar().setTitle(title);
+        getSupportActionBar().setTitle("工资查询");
 
         mWagesLv = (MyListView) findViewById(R.id.wages_lv);
         mBtnSignature = (Button) findViewById(R.id.btn_signature); mBtnSignature.setOnClickListener(this);
@@ -150,16 +164,26 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
         //设置适配器
         mWagesLv.setAdapter(myAdapter);
 
-        mEmptyLayout = new EmptyLayout(this, mWagesLv);
-        mEmptyLayout.setShowEmptyButton(false);
-        mEmptyLayout.setShowErrorButton(false);
-        mEmptyLayout.setShowLoadingButton(false);
         received_im = (ImageView) findViewById(R.id.received_im);
-//        findViewById(R.id.h_sign_tv).setOnClickListener(this);
+        wageDateTv = (TextView) findViewById(R.id.wage_date_tv);
+        wageDateTv.setOnClickListener(this);
+        noWageLl = (LinearLayout) findViewById(R.id.wage_nodata_ll);
+
 
-        String result = getIntent().getStringExtra("WageDatas");
+//        findViewById(R.id.h_sign_tv).setOnClickListener(this);
+        Intent hh =  getIntent();
+        String result = hh.getStringExtra("WageDatas");
+        checkYear = hh.getStringExtra("checkYear");
+        checkMonth = hh.getStringExtra("checkMonth");
+        String title = checkYear + "年" + checkMonth + "月"+"工资";
+        if (!StringUtil.isEmpty(checkYear) && !StringUtil.isEmpty(checkMonth))
+            wageDateTv.setText(title);
         showDatas(result);
 
+        password = hh.getStringExtra("password");
+        vecode = hh.getStringExtra("vecode");
+        phone = hh.getStringExtra("phone");
+
     }
 //    @Override
 //    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -214,9 +238,55 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
             doErrorMsgHandle();
         }else if (v.getId() == R.id.cancel1_tv){
             popupWindow.dismiss();
+        }else if (v.getId() == R.id.wage_date_tv){
+            DatePicker picker = new DatePicker(this, DatePicker.YEAR_MONTH);
+            picker.setRange(2016, CommonUtil.getNumByString(DateFormatUtil.long2Str(System.currentTimeMillis(), "yyyy")));
+            picker.setSelectedItem(
+                    Calendar.getInstance().get(Calendar.YEAR),
+                    Calendar.getInstance().get(Calendar.MONTH) + 1);
+            picker.setOnDatePickListener(new DatePicker.OnYearMonthPickListener() {
+                @Override
+                public void onDatePicked(String year, String month) {
+                    String myearmonth =  year + "年" + month+"月";
+                    checkYear = year;
+                    checkMonth = month;
+                    wageDateTv.setText(myearmonth+"工资");
+                    searchWage();
+                }
+            });
+            picker.show();
         }
     }
 
+    private void searchWage() {
+        //        HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL()).isDebug(true).build(true);
+        HttpClient httpClient = new HttpClient.Builder("http://192.168.253.58:8080/ERP/").isDebug(true).build(true);
+        httpClient.Api().send(new HttpClient.Builder()
+                .url("mobile/salary/getEmSalary.action")
+                .add("emcode", emcode)
+                .add("password",password)
+                .add("phone",phone)
+                .add("vecode",vecode)
+                .add("date",checkYear+"-"+checkMonth)
+                .add("master",master)
+                .method(Method.POST)
+                .build(),new ResultSubscriber<>(new ResultListener<Object>() {
+            @Override
+            public void onResponse(Object o) {
+                LogUtil.prinlnLongMsg("getEmSalary", o.toString()+"");
+                if (!JSONUtil.validate(o.toString()) || o == null) return;
+                if (o.toString().contains("success") && JSON.parseObject(o.toString()).getBoolean("success")){
+                   showDatas(o.toString());
+                }else if (o.toString().contains("reason")){
+                    ToastMessage(JSON.parseObject(o.toString()).getString("reason"));
+                }else if (o.toString().contains("exceptionInfo")){
+                    ToastMessage(JSON.parseObject(o.toString()).getString("exceptionInfo"));
+                }
+
+            }
+        }));
+    }
+
     private void doErrorMsgHandle() {
 //        HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL()).isDebug(true).build(true);
         HttpClient httpClient = new HttpClient.Builder("http://192.168.253.58:8080/ERP/").isDebug(true).build(true);
@@ -266,6 +336,8 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
                 Log.i("doNewSubmit",JSON.parseObject(responseInfo.result).toJSONString());
                 if (JSONUtil.validate(responseInfo.result) && JSON.parseObject(responseInfo.result).getBoolean("success")) {
                     Toast.makeText(ct,"工资条签名提交成功",Toast.LENGTH_LONG).show();
+                    received_im.setVisibility(View.VISIBLE);
+                    mBtnSignature.setText("已收签");
                     closePopupWindow();
                 }
                 progressDialog.dismiss();
@@ -385,46 +457,27 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
         contentView.findViewById(R.id.cancel1_tv).setOnClickListener(this);
         contentView.findViewById(R.id.sure_tv).setOnClickListener(this);
 
-        DisplayMetrics dm = getResources().getDisplayMetrics();
-        int w_screen = dm.widthPixels;
-        int h_screen = dm.heightPixels;
-        w_screen = DisplayUtil.dip2px(this, 300);
-        h_screen = DisplayUtil.dip2px(this, 300);
-
-        popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
-        popupWindow.setTouchable(true);
-        popupWindow.setOutsideTouchable(false);
-        // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
-        popupWindow.setBackgroundDrawable(getResources().getDrawable(com.uas.appworks.R.drawable.pop_round_bg));
-        // 设置好参数之后再show
-        popupWindow.showAtLocation(contentView, Gravity.CENTER, 0, 0);
-        setbg(0.4f);
-    }
-    private void setbg(float alpha) {
-        setBackgroundAlpha(this, alpha);
-        if (popupWindow == null) return;
+//        DisplayMetrics dm = getResources().getDisplayMetrics();
+//        int w_screen = dm.widthPixels;
+//        int h_screen = dm.heightPixels;
+//        w_screen = DisplayUtil.dip2px(this, 300);
+//        h_screen = DisplayUtil.dip2px(this, 250);
+//
+//        popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
+        popupWindow = new PopupWindow(contentView,
+                LinearLayout.LayoutParams.MATCH_PARENT,
+                LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        popupWindow.setAnimationStyle(R.style.MenuAnimationFade);
+        popupWindow.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.bg_popuwin));
         popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
             @Override
             public void onDismiss() {
-                setBackgroundAlpha(WagesDetailsActivity.this, 1f);
+                closePopupWindow();
             }
         });
-    }
-    /**
-     * 设置页面的透明度
-     * 兼容华为手机(在个别华为手机上 设置透明度会不成功)
-     *
-     * @param bgAlpha 透明度   1表示不透明
-     */
-    public void setBackgroundAlpha(Activity activity, float bgAlpha) {
-        WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
-        lp.alpha = bgAlpha;
-        if (bgAlpha == 1) {
-            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug
-        } else {
-            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug
-        }
-        activity.getWindow().setAttributes(lp);
+        popupWindow.showAtLocation(getWindow().getDecorView().
+                findViewById(android.R.id.content), Gravity.BOTTOM, 0, 0);
+        DisplayUtil.backgroundAlpha(this, 0.4f);
     }
 
 }

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


+ 2 - 2
app_modular/appme/src/main/res/layout/business_hours_setting_activity.xml

@@ -33,14 +33,14 @@
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_vertical"
                     style="@style/crm_business_btn"
-                    android:text="00:00"/>
+                    />
                 <TextView
                     android:id="@+id/tv_endTime"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_vertical"
                     style="@style/crm_business_btn"
-                    android:text="23:59"/>
+                    />
             </LinearLayout>
 
             <LinearLayout

+ 43 - 3
app_modular/appme/src/main/res/layout/wages_details_activity.xml

@@ -3,7 +3,34 @@
     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:padding="10dp"
+        android:background="@color/bg_main"
+        android:layout_gravity="center_horizontal">
+
+        <ImageView
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:background="@drawable/icon_date_nor"
+            android:layout_gravity="center"
+            />
+        <TextView
+            android:id="@+id/wage_date_tv"
+            android:layout_width="match_parent"
+            android:layout_height="30dp"
+            android:drawablePadding="5dp"
+            android:drawableRight="@drawable/rili"
+            android:gravity="center|left"
+            android:paddingRight="20dp"
+            android:text=""
+            android:layout_marginLeft="10dp"
+            />
+    </LinearLayout>
     <TextView
+        android:textSize="12sp"
         android:background="@color/white"
         android:padding="10dp"
         android:layout_width="match_parent"
@@ -30,12 +57,12 @@
                 android:layout_height="wrap_content">
 
                 <com.core.widget.MyListView
-
                     android:id="@+id/wages_lv"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
                     android:padding="10dp"
-                    android:background="@color/white">
+                    android:background="@color/white"
+                    >
                 </com.core.widget.MyListView>
                 <ImageView
                     android:id="@+id/received_im"
@@ -45,9 +72,22 @@
                     android:layout_height="100dp"
                     android:src="@drawable/received"
                     android:layout_margin="30dp"
+                    android:visibility="gone"
                     />
             </RelativeLayout>
-
+            <LinearLayout
+                android:id="@+id/wage_nodata_ll"
+                android:layout_width="match_parent"
+                android:layout_height="300dp"
+                android:gravity="center"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:layout_width="100dp"
+                    android:layout_height="100dp"
+                    android:src="@drawable/wage_nodata"
+                    />
+            </LinearLayout>
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"

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

@@ -581,7 +581,7 @@
     <string name="common_noinput">未填写</string>
     <string name="common_camera">拍照</string>
     <string name="common_photo">从相册选择</string>
-    <string name="common_notlinknet">网络未连接</string>
+    <string name="common_notlinknet">当前网络不可用,请稍后重试!</string>
     <string name="common_notice">温馨提示</string>
     <string name="common_save_failed">保存失败</string>
     <string name="common_save_success">保存成功</string>

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

@@ -13,7 +13,7 @@ public class SwitchUtil {
     }
 
     public static boolean showShebeiguanli() {
-        return false;
+        return true;
     }
 
 

+ 0 - 0
WeiChat/src/main/res/drawable-hdpi/ic_advanced_filter.png → app_modular/apputils/src/main/res/drawable-hdpi/ic_advanced_filter.png


+ 0 - 0
WeiChat/src/main/res/drawable-xhdpi/ic_advanced_filter.png → app_modular/apputils/src/main/res/drawable-xhdpi/ic_advanced_filter.png


+ 0 - 0
WeiChat/src/main/res/drawable-xxhdpi/ic_advanced_filter.png → app_modular/apputils/src/main/res/drawable-xxhdpi/ic_advanced_filter.png


+ 0 - 0
WeiChat/src/main/res/layout/action_data_inquiry_list.xml → app_modular/apputils/src/main/res/layout/action_data_inquiry_list.xml


+ 32 - 0
app_modular/apputils/src/main/res/layout/action_search_condition.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/top"
+    android:layout_width="match_parent"
+    android:layout_height="?attr/actionBarSize"
+    android:background="@color/antionbarcolor">
+
+    <ImageView
+        android:id="@+id/back"
+        android:layout_width="24dp"
+        android:layout_height="24dp"
+        android:layout_centerVertical="true"
+        android:src="@drawable/ic_action_back" />
+
+    <ImageView
+        android:id="@+id/data_inquiry_filter_iv"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_alignParentRight="true"
+        android:layout_centerVertical="true"
+        android:src="@drawable/ic_advanced_filter" />
+
+    <com.core.widget.VoiceSearchView
+        android:id="@+id/mVoiceSearchView"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_centerInParent="true"
+        android:layout_marginLeft="40dp"
+        android:layout_marginRight="40dp" />
+
+
+</RelativeLayout>

+ 13 - 0
app_modular/apputils/src/main/res/layout/common_refresh_recycler.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.module.recyclerlibrary.ui.refresh.simlpe.SimpleRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/mRefreshLayout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    app:fectiveScroll="30dp">
+
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/mRecyclerView"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</com.module.recyclerlibrary.ui.refresh.simlpe.SimpleRefreshLayout>

+ 1 - 1
app_modular/appworks/src/main/AndroidManifest.xml

@@ -307,7 +307,7 @@
             android:name=".CRM.erp.activity.ScanDetailActivity"
             android:label="@string/text_scan_device" />
         <activity
-            android:name=".CRM.erp.activity.DeviceInputListActivity"
+            android:name=".CRM.erp.activity.DeviceCycleCountActivity"
             android:label="@string/title_device_manage" />
         <activity android:name=".OA.platform.activity.BusinessTravelActivity"></activity>
     </application>

+ 181 - 0
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceCycleCountActivity.java

@@ -0,0 +1,181 @@
+package com.uas.appworks.CRM.erp.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.app.ActionBar;
+import android.support.v7.widget.DefaultItemAnimator;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.Editable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+
+import com.common.LogUtil;
+import com.common.config.BaseConfig;
+import com.core.app.MyApplication;
+import com.core.base.BaseActivity;
+import com.core.net.http.ViewUtil;
+import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
+import com.core.widget.ClearEditText;
+import com.core.widget.VoiceSearchView;
+import com.core.widget.listener.EditChangeListener;
+import com.core.xmpp.utils.audio.voicerecognition.JsonParser;
+import com.iflytek.cloud.RecognizerResult;
+import com.iflytek.cloud.SpeechConstant;
+import com.iflytek.cloud.SpeechError;
+import com.iflytek.cloud.ui.RecognizerDialog;
+import com.iflytek.cloud.ui.RecognizerDialogListener;
+import com.me.network.app.http.HttpClient;
+import com.me.network.app.http.Method;
+import com.me.network.app.http.rx.ResultListener;
+import com.me.network.app.http.rx.ResultSubscriber;
+import com.modular.apputils.widget.RecycleViewDivider;
+import com.module.recyclerlibrary.ui.refresh.BaseRefreshLayout;
+import com.uas.appworks.R;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Created by Bitlike on 2017/11/22.
+ */
+
+public class DeviceCycleCountActivity extends BaseActivity implements View.OnClickListener {
+    private HttpClient httpClient = null;
+
+    private BaseRefreshLayout mRefreshLayout;
+    private RecyclerView contantRv;
+
+    private int mPageIndex;
+    private int mSchemeId;
+    private String mCaller;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.common_refresh_recycler);
+        initView();
+        initData();
+    }
+
+    private void initView() {
+        initActionbar();
+        mRefreshLayout = (BaseRefreshLayout) findViewById(R.id.mRefreshLayout);
+        contantRv = (RecyclerView) findViewById(R.id.mRecyclerView);
+        contantRv.setLayoutManager(new LinearLayoutManager(ct));
+        contantRv.setItemAnimator(new DefaultItemAnimator());
+        contantRv.addItemDecoration(new RecycleViewDivider(ct, LinearLayoutManager.VERTICAL));
+        mRefreshLayout.setEnabledPullUp(true);
+        mRefreshLayout.setOnRefreshListener(new BaseRefreshLayout.onRefreshListener() {
+            @Override
+            public void onRefresh() {
+                loadData(mPageIndex = 1);
+            }
+
+            @Override
+            public void onLoadMore() {
+                loadData(++mPageIndex);
+            }
+        });
+    }
+
+    private void initActionbar() {
+        View view = LayoutInflater.from(ct).inflate(R.layout.action_device_cycle_count, null);
+        view.findViewById(R.id.addImg).setOnClickListener(this);
+        view.findViewById(R.id.backImg).setOnClickListener(this);
+        VoiceSearchView mVoiceSearchView = view.findViewById(R.id.mVoiceSearchView);
+        mVoiceSearchView.addTextChangedListener(new EditChangeListener() {
+            @Override
+            public void afterTextChanged(Editable s) {
+                try {
+                    changedText(s.toString());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.backImg) {
+            onBackPressed();
+        } else if (R.id.addImg == id) {
+            showAddPop();
+        }
+    }
+
+    private void initData() {
+        mPageIndex = 1;
+        Intent intent = getIntent();
+        if (intent == null) {
+            ToastUtil.showToast(ct, R.string.data_exception);
+            finish();
+        } else {
+            this.mSchemeId = intent.getIntExtra("id", 0);
+            this.mCaller = intent.getStringExtra("caller");
+            if (BaseConfig.isDebug()) {
+                this.mSchemeId = 3285;
+                this.mCaller = "SalePrice!query";
+
+            }
+            String sessionId = CommonUtil.getSharedPreferences(ct, "sessionId");
+            String emCode = CommonUtil.getSharedPreferences(ct, "sessionId");
+            httpClient = new HttpClient.Builder(CommonUtil.getAppBaseUrl(MyApplication.getInstance()))
+                    .isDebug(true)
+                    .add("sessionId", sessionId)
+                    .add("master", CommonUtil.getSharedPreferences(ct, "erp_master"))
+                    .add("sessionUser", emCode)
+                    .add("sessionId", sessionId)
+                    .header("Cookie", "JSESSIONID=" + sessionId)
+                    .header("sessionUser", emCode)
+                    .build();
+            loadData(mPageIndex);
+        }
+    }
+
+    private void loadData(int mPageIndex) {
+        if (!mRefreshLayout.isRefreshing()) {
+            progressDialog.show();
+        }
+        httpClient.Api().send(new HttpClient.Builder()
+                .url("mobile/qry/schemeResult.action")
+                .add("caller", mCaller)
+                .add("id", mSchemeId)
+                .add("pageIndex", mPageIndex)
+                .add("pageSize", 30)
+                .add("condition", "1=1")
+                .method(Method.GET)
+                .build(), new ResultSubscriber<>(new ResultListener<Object>() {
+            @Override
+            public void onResponse(Object o) {
+                try {
+                    handleData(o.toString());
+                } catch (Exception e) {
+                    if (e != null) {
+                        LogUtil.i("e=" + e.getMessage());
+                    }
+                }
+                mRefreshLayout.stopRefresh();
+                progressDialog.dismiss();
+            }
+        }));
+    }
+
+    private void changedText(String message) throws Exception {
+
+    }
+
+    private void handleData(String message) throws Exception {
+
+    }
+
+    private void showAddPop() {
+
+    }
+
+}

+ 0 - 109
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceInputListActivity.java

@@ -1,109 +0,0 @@
-package com.uas.appworks.CRM.erp.activity;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v7.widget.DefaultItemAnimator;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.util.AttributeSet;
-import android.view.View;
-
-import com.common.LogUtil;
-import com.core.app.Constants;
-import com.core.app.MyApplication;
-import com.core.base.BaseActivity;
-import com.core.utils.CommonUtil;
-import com.core.utils.ToastUtil;
-import com.me.network.app.http.HttpClient;
-import com.me.network.app.http.Method;
-import com.me.network.app.http.rx.ResultListener;
-import com.me.network.app.http.rx.ResultSubscriber;
-import com.modular.apputils.widget.RecycleViewDivider;
-import com.uas.appworks.R;
-
-/**
- * Created by Bitlike on 2017/11/22.
- */
-
-public class DeviceInputListActivity extends BaseActivity {
-    private HttpClient httpClient = null;
-
-    private RecyclerView contantRv;
-
-    private int id;
-    private String caller;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_device_manage);
-        initView();
-        initData();
-    }
-
-    private void initData() {
-        Intent intent = getIntent();
-        if (intent == null) {
-            ToastUtil.showToast(ct, R.string.data_exception);
-            finish();
-        } else {
-            this.id = intent.getIntExtra("id", 0);
-            this.caller = intent.getStringExtra("caller");
-            //tODO ....添加剩下数据
-            String sessionId = CommonUtil.getSharedPreferences(ct, "sessionId");
-            String emCode = CommonUtil.getSharedPreferences(ct, "sessionId");
-            httpClient = new HttpClient.Builder(CommonUtil.getAppBaseUrl(MyApplication.getInstance()))
-                    .isDebug(true)
-                    .add("sessionId", sessionId)
-                    .add("master", CommonUtil.getSharedPreferences(ct, "erp_master"))
-                    .add("sessionUser", emCode)
-                    .add("sessionId", sessionId)
-                    .header("Cookie", "JSESSIONID=" + sessionId)
-                    .header("sessionUser", emCode)
-                    .build();
-            loadData();
-        }
-    }
-
-    private void initView() {
-        contantRv = (RecyclerView) findViewById(R.id.contantRv);
-        contantRv.setLayoutManager(new LinearLayoutManager(ct));
-        contantRv.setItemAnimator(new DefaultItemAnimator());
-        contantRv.addItemDecoration(new RecycleViewDivider(ct, LinearLayoutManager.VERTICAL));
-    }
-
-
-    private void loadData() {
-        progressDialog.show();
-        String action = null;
-        if (this.id == 0) {
-            action = "mobile/common/getformandgriddetail.action";
-        } else {
-            action = "mobile/getformandgriddetail.action";
-        }
-        httpClient.Api().send(new HttpClient.Builder()
-                .url(action)
-                .add("condition", "1=1")
-                .add("caller", this.caller)
-                .add("id", id)
-                .method(Method.GET)
-                .build(), new ResultSubscriber<>(new ResultListener<Object>() {
-            @Override
-            public void onResponse(Object o) {
-                try {
-                    handleData(o.toString());
-                } catch (Exception e) {
-                    if (e != null) {
-                        LogUtil.i("e=" + e.getMessage());
-                    }
-                }
-                progressDialog.dismiss();
-            }
-        }));
-    }
-
-    private void handleData(String message) throws Exception {
-
-    }
-}

+ 20 - 30
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceManageActivity.java

@@ -1,13 +1,10 @@
 package com.uas.appworks.CRM.erp.activity;
 
 import android.content.Intent;
-import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 
-import com.common.LogUtil;
 import com.common.data.StringUtil;
 import com.core.base.BaseActivity;
 import com.uas.appworks.CRM.erp.adapter.DeviceManageAdapter;
@@ -32,47 +29,40 @@ public class DeviceManageActivity extends BaseActivity {
         contantRv = (RecyclerView) findViewById(R.id.contantRv);
         contantRv.setLayoutManager(new GridLayoutManager(ct, 4));
         List<DeviceManage> models = new ArrayList<>();
-        models.add(new DeviceManage(1, R.drawable.icon_scan_device, StringUtil.getMessage(R.string.text_scan_device)));
+        //扫一扫
+        models.add(new DeviceManage(1, R.drawable.icon_scan_device, StringUtil.getMessage(R.string.text_scan_device)).setCazz(ScanDetailActivity.class));
+        //设备查询
         models.add(new DeviceManage(2, R.drawable.icon_device_query, StringUtil.getMessage(R.string.text_device_query)));
+        //通用配置表单
         models.add(new DeviceManage(3, R.drawable.icon_application_use, StringUtil.getMessage(R.string.text_application_use)));
         models.add(new DeviceManage(4, R.drawable.icon_scrap_application, StringUtil.getMessage(R.string.text_scrap_application)));
         models.add(new DeviceManage(5, R.drawable.icon_maintenance, StringUtil.getMessage(R.string.text_maintenance)));
         models.add(new DeviceManage(6, R.drawable.icon_fault_inspection, StringUtil.getMessage(R.string.text_fault_inspection)));
-        models.add(new DeviceManage(7, R.drawable.icon_cycle_count, StringUtil.getMessage(R.string.text_cycle_count)));
+        //周期盘点
+        models.add(new DeviceManage(7, R.drawable.icon_cycle_count, StringUtil.getMessage(R.string.text_cycle_count)).setCazz(DeviceCycleCountActivity.class));
         DeviceManageAdapter adapter = new DeviceManageAdapter(this, models);
         contantRv.setAdapter(adapter);
         adapter.setItemClickListener(new DeviceManageAdapter.ItemClickListener() {
             @Override
             public void itemClick(DeviceManage manage) {
-                LogUtil.i("manage=" + manage.getName());
-                selectItem(manage.getId());
+                try {
+                    clickDevice(manage);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
         });
     }
 
-
-    private void selectItem(int i) {
-        LogUtil.i("i=" + i);
-        switch (i) {
-            case 1:
-                startActivity(new Intent(ct, ScanDetailActivity.class));
-                break;
-            case 2:
-                startActivity(new Intent(ct, DeviceInputListActivity.class));
-                break;
-            case 3:
-                startActivity(new Intent(ct, DeviceInputListActivity.class));
-                break;
-            case 4:
-                startActivity(new Intent(ct, DeviceInputListActivity.class));
-                break;
-            case 5:
-                startActivity(new Intent(ct, DeviceInputListActivity.class));
-                break;
-            case 6:
-                break;
-            case 7:
-                break;
+    private void clickDevice(DeviceManage manage) throws Exception {
+        if (manage != null) {
+            Class cazz = manage.getCazz();
+            Intent intent = new Intent(ct, cazz);
+            Bundle bundle = manage.getBundle();
+            if (bundle != null) {
+                intent.putExtra("data", bundle);
+            }
+            startActivity(intent);
         }
     }
 }

+ 105 - 7
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/ScanDetailActivity.java

@@ -1,10 +1,18 @@
 package com.uas.appworks.CRM.erp.activity;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.support.v7.app.ActionBar;
 import android.support.v7.widget.DefaultItemAnimator;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.PopupWindow;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
 
+import com.common.system.DisplayUtil;
 import com.core.base.BaseActivity;
 import com.modular.apputils.widget.RecycleViewDivider;
 import com.uas.appworks.R;
@@ -13,21 +21,111 @@ import com.uas.appworks.R;
  * Created by Bitlike on 2017/11/22.
  */
 
-public class ScanDetailActivity extends BaseActivity {
+public class ScanDetailActivity extends BaseActivity implements View.OnClickListener {
 
-    private RecyclerView contantRv;
+    private RecyclerView mRecyclerView;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_device_manage);
+        setContentView(R.layout.common_refresh_recycler);
         initView();
     }
 
     private void initView() {
-        contantRv = (RecyclerView) findViewById(R.id.contantRv);
-        contantRv.setLayoutManager(new LinearLayoutManager(ct));
-        contantRv.setItemAnimator(new DefaultItemAnimator());
-        contantRv.addItemDecoration(new RecycleViewDivider(ct, LinearLayoutManager.VERTICAL));
+        mRecyclerView = (RecyclerView) findViewById(R.id.mRecyclerView);
+        mRecyclerView.setLayoutManager(new LinearLayoutManager(ct));
+        mRecyclerView.setItemAnimator(new DefaultItemAnimator());
+        mRecyclerView.addItemDecoration(new RecycleViewDivider(ct, LinearLayoutManager.VERTICAL));
+        initActionBar();
+    }
+
+    private void initActionBar() {
+        View view = LayoutInflater.from(ct).inflate(R.layout.device_scan_head, null);
+        ActionBar bar = this.getSupportActionBar();
+        bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
+        bar.setCustomView(view);
+        view.findViewById(R.id.backImg).setOnClickListener(this);
+        view.findViewById(R.id.doneTv).setOnClickListener(this);
+
+        RadioGroup selectRg = view.findViewById(R.id.selectRg);
+
+        selectRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(RadioGroup group, int checkedId) {
+                if (checkedId == R.id.baseInfoRb) {
+                    ToastMessage("选择基础信息");
+                } else if (checkedId == R.id.moreInfoRb) {
+                    ToastMessage("选择详细信息");
+
+                } else if (checkedId == R.id.historyRb) {
+                    ToastMessage("选择设备履历");
+
+                }
+            }
+        });
+        RadioButton baseInfoRb = view.findViewById(R.id.baseInfoRb);
+        baseInfoRb.setChecked(true);
+    }
+
+    private PopupWindow menuPop = null;
+
+    private void showMuenPop(View v) {
+        if (menuPop == null) {
+            View view = LayoutInflater.from(ct).inflate(R.layout.menu_device_scan, null);
+            menuPop = new PopupWindow(ct);
+            menuPop.setContentView(view);
+            menuPop.setBackgroundDrawable(ct.getResources().getDrawable(R.drawable.pop_round_bg));
+            menuPop.setTouchable(true);
+            DisplayUtil.backgroundAlpha(ct, 0.4f);
+            menuPop.setOutsideTouchable(false);
+            menuPop.setFocusable(true);
+            menuPop.setWidth(DisplayUtil.dip2px(ct, 100));
+            menuPop.setHeight(DisplayUtil.dip2px(ct, 295));
+            menuPop.setOnDismissListener(new PopupWindow.OnDismissListener() {
+                @Override
+                public void onDismiss() {
+                    DisplayUtil.backgroundAlpha(ct, 1.0f);
+                }
+            });
+            view.findViewById(R.id.popFindBtn).setOnClickListener(this);
+            view.findViewById(R.id.popUseApplyBtn).setOnClickListener(this);
+            view.findViewById(R.id.popScrapApplyBtn).setOnClickListener(this);
+            view.findViewById(R.id.popMaintenanceBtn).setOnClickListener(this);
+            view.findViewById(R.id.popInspectBtn).setOnClickListener(this);
+            view.findViewById(R.id.popCycleCountBtn).setOnClickListener(this);
+        }
+        DisplayUtil.backgroundAlpha(ct, 0.4f);
+        menuPop.showAsDropDown(v, 0, DisplayUtil.dip2px(ct, 10));
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (R.id.backImg == id) {
+            onBackPressed();
+        } else if (R.id.doneTv == id) {
+            showMuenPop(v);
+        } else if (R.id.popFindBtn == id) {
+            dismissMenuPop();
+        } else if (R.id.popUseApplyBtn == id) {
+            dismissMenuPop();
+        } else if (R.id.popScrapApplyBtn == id) {
+            dismissMenuPop();
+        } else if (R.id.popMaintenanceBtn == id) {
+            dismissMenuPop();
+        } else if (R.id.popInspectBtn == id) {
+            dismissMenuPop();
+        } else if (R.id.popCycleCountBtn == id) {
+            dismissMenuPop();
+            startActivity(new Intent(ct,DeviceCycleCountActivity.class));
+        }
+
+    }
+
+    private void dismissMenuPop() {
+        if (menuPop != null) {
+            menuPop.dismiss();
+        }
     }
 }

+ 24 - 0
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/model/DeviceManage.java

@@ -1,5 +1,7 @@
 package com.uas.appworks.CRM.erp.model;
 
+import android.os.Bundle;
+
 /**
  * Created by Bitlike on 2017/11/22.
  */
@@ -8,6 +10,10 @@ public class DeviceManage {
     private int id;
     private int reId;
     private String name;
+    private Class cazz;
+    private Bundle bundle;
+
+
 
     public DeviceManage(int id, int reId, String name) {
         this.id = id;
@@ -43,4 +49,22 @@ public class DeviceManage {
     public void setName(String name) {
         this.name = name;
     }
+
+    public Class getCazz() {
+        return cazz;
+    }
+
+    public DeviceManage setCazz(Class cazz) {
+        this.cazz = cazz;
+        return this;
+    }
+
+    public Bundle getBundle() {
+        return bundle;
+    }
+
+    public DeviceManage setBundle(Bundle bundle) {
+        this.bundle = bundle;
+        return this;
+    }
 }

+ 1 - 0
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/PlatWDdetailyActivity.java

@@ -151,6 +151,7 @@ public class PlatWDdetailyActivity extends BaseActivity {
         name_tv = (TextView) findViewById(R.id.common_docui_name_tv);
         section_tv = (TextView) findViewById(R.id.common_docui_Section_tv);
         common_docdata_rl = (RelativeLayout) findViewById(R.id.common_docdata_rl);
+        wdd_status = (TextView) findViewById(R.id.work_daily_detail_status_tv);
 
     }
 

+ 35 - 11
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/fragment/ActivityFragment.java

@@ -25,10 +25,12 @@ import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.common.preferences.PreferenceUtils;
 import com.common.system.DisplayUtil;
+import com.common.thread.ThreadPool;
 import com.core.app.Constants;
 import com.core.app.MyApplication;
 import com.core.base.BaseActivity;
 import com.core.base.EasyFragment;
+import com.core.net.http.http.OAHttpHelper;
 import com.core.net.utils.NetUtils;
 import com.core.utils.IntentUtils;
 import com.core.utils.ToastUtil;
@@ -128,7 +130,7 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
                 initData();
             }
         });
-        setAdapter(null);
+//        setAdapter(null);
         initData();
     }
 
@@ -192,12 +194,12 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
     private List<CharitActModel> allModels;
     private List<String> selectStage = new ArrayList<>();
 
-    private void handlerData(String message, String status) throws Exception {
+
+    private void handlerDataThread(String message, String status) throws Exception {
         if (JSONUtil.validateJSONObject(message)) {
             JSONObject object = JSON.parseObject(message);
             JSONArray array = JSONUtil.getJSONArray(object, "activityList");
             allModels = JSON.parseArray(array.toString(), CharitActModel.class);
-            setAdapter(status, allModels);
             selectStage.clear();
             boolean have;
             selectStage.add("全部");
@@ -214,15 +216,27 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
                 }
             }
         } else {
-            setAdapter(null);
+            allModels = new ArrayList<>();
         }
-
+        setAdapter(status, allModels);
         PreferenceUtils.putString("activitys", message);
     }
 
+    private void handlerData(final String message, final String status) throws Exception {
+        ThreadPool.getThreadPool().addTask(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    handlerDataThread(message, status);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+
     private void setAdapter(String status, List<CharitActModel> models) {
-//		String newtime = DateFormatUtil.long2Str("yyyy.MM.dd HH:mm");
-        List<CharitActModel> showModels = new ArrayList<>();
+        final List<CharitActModel> showModels = new ArrayList<>();
         if (!"全部".equals(status)) {
             for (CharitActModel model : models) {
                 if (status.equals(model.getStage())) {
@@ -230,9 +244,14 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
                 }
             }
         } else {
-            showModels = allModels;
+            showModels.addAll(allModels);
         }
-        setAdapter(showModels);
+        OAHttpHelper.getInstance().post(new Runnable() {
+            @Override
+            public void run() {
+                setAdapter(showModels);
+            }
+        });
     }
 
     private void setAdapter(List<CharitActModel> models) {
@@ -303,13 +322,18 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
     }
 
 
-    private void selectStatus(String message) {
+    private void selectStatus(final String message) {
         if (message == null || message.length() <= 0) {
             ToastUtil.showToast(ct, "选择错误");
         } else if (ListUtils.isEmpty(allModels)) {
             loadData("", message);
         } else {
-            setAdapter(message, allModels);
+            ThreadPool.getThreadPool().addTask(new Runnable() {
+                @Override
+                public void run() {
+                    setAdapter(message, allModels);
+                }
+            });
         }
     }
 }

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

@@ -203,7 +203,7 @@ public class CharitableListFragment extends EasyFragment implements OnPlayListen
                 char c = showTop.charAt(i);
                 TextView textView = new TextView(ct);
                 textView.setTextSize(textSize);
-                textView.setPadding(2, 3, 2, 3);
+                textView.setPadding(3, 2, 3, 2);
                 textView.setText(String.valueOf(c));
                 textView.setGravity(Gravity.CENTER_VERTICAL);
                 textView.setBackgroundResource(R.drawable.text_frame_hint_bg);
@@ -306,17 +306,13 @@ public class CharitableListFragment extends EasyFragment implements OnPlayListen
                 }
             });
             typeGv.setItemAnimator(new DefaultItemAnimator());
-            GridLayoutManager layoutManager = new GridLayoutManager(ct, 18);
+            GridLayoutManager layoutManager = new GridLayoutManager(ct, 360);
             layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                 @Override
                 public int getSpanSize(int position) {
-                    if (areaList.get(position).length() < 3) {
-                        return 3;
-                    } else if (areaList.get(position).length() < 5) {
-                        return 5;
-                    } else {
-                        return areaList.get(position).length();
-                    }
+                    int spanSize =32+(areaList.get(position).length())*14;
+                    LogUtil.i("spanSize="+spanSize);
+                    return spanSize;
                 }
             });
             typeGv.setLayoutManager(layoutManager);

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

@@ -87,9 +87,11 @@ public class UserFragment extends EasyFragment implements View.OnClickListener {
             }
             return;
         }
+        String imid = MyApplication.getInstance().mLoginUser.getUserId();
+        LogUtil.i("imid="+imid);
         httpClient.Api().send(new HttpClient.Builder()
                 .url("center")
-                .add("imid", MyApplication.getInstance().getLoginUserId())
+                .add("imid", imid)
                 .method(Method.GET)
                 .build(), new ResultSubscriber<>(new ResultListener<Object>() {
             @Override

+ 34 - 0
app_modular/appworks/src/main/res/layout/action_device_cycle_count.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="?attr/actionBarSize"
+    android:paddingBottom="10dp"
+    android:paddingTop="10dp">
+
+    <ImageView
+        android:id="@+id/backImg"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:src="@drawable/back" />
+
+    <ImageView
+        android:id="@+id/addImg"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_alignParentRight="true"
+        android:gravity="center"
+        android:src="@drawable/ic_work_module_add"
+        android:textColor="@color/white" />
+
+    <com.core.widget.VoiceSearchView
+        android:id="@+id/mVoiceSearchView"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_centerInParent="true"
+        android:layout_marginLeft="50dp"
+        android:layout_marginRight="50dp"
+        android:background="@drawable/shape_process_linear"
+        android:orientation="horizontal"/>
+
+
+</RelativeLayout>

+ 69 - 0
app_modular/appworks/src/main/res/layout/device_scan_head.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="?attr/actionBarSize"
+    android:paddingBottom="10dp"
+    android:paddingTop="10dp">
+
+    <ImageView
+        android:id="@+id/backImg"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:src="@drawable/back" />
+
+    <TextView
+        android:id="@+id/doneTv"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_alignParentRight="true"
+        android:gravity="center"
+        android:src="@drawable/back"
+        android:text="操作"
+        android:textColor="@color/white" />
+
+    <RadioGroup
+        android:id="@+id/selectRg"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_centerInParent="true"
+        android:layout_marginLeft="50dp"
+        android:layout_marginRight="50dp"
+        android:background="@drawable/shape_process_linear"
+        android:orientation="horizontal">
+
+        <RadioButton
+            android:id="@+id/baseInfoRb"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_margin="1dp"
+            android:layout_weight="1"
+            android:background="@drawable/shape_process_item"
+            android:button="@null"
+            android:checked="true"
+            android:gravity="center"
+            android:text="基础信息" />
+
+        <RadioButton
+            android:id="@+id/moreInfoRb"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_margin="1dp"
+            android:layout_weight="1"
+            android:background="@drawable/shape_process_item"
+            android:button="@null"
+            android:gravity="center"
+            android:text="详细配置" />
+
+        <RadioButton
+            android:id="@+id/historyRb"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_margin="1dp"
+            android:layout_weight="1"
+            android:background="@drawable/shape_process_item"
+            android:button="@null"
+            android:gravity="center"
+            android:text="设备履历" />
+
+    </RadioGroup>
+</RelativeLayout>

+ 1 - 1
app_modular/appworks/src/main/res/layout/handler_join_project.xml

@@ -14,7 +14,7 @@
         android:layout_marginTop="@dimen/padding"
         android:drawablePadding="10dp"
         android:gravity="center"
-        android:text="共参与活动"
+        android:text="共参与项目"
         android:textColor="@color/hintColor"
         android:textSize="@dimen/text_main" />
 

+ 5 - 0
app_modular/appworks/src/main/res/layout/item_device_find.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent" android:layout_height="match_parent">
+
+</RelativeLayout>

+ 98 - 0
app_modular/appworks/src/main/res/layout/menu_device_scan.xml

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="100dp"
+    android:layout_height="294dp"
+    android:gravity="center_horizontal"
+    android:orientation="vertical">
+
+    <Button
+        android:id="@+id/popFindBtn"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:gravity="center"
+        android:text="设备查找"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_hine" />
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:background="@color/item_line" />
+
+    <Button
+        android:id="@+id/popUseApplyBtn"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:gravity="center"
+        android:text="使用申请"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_hine" />
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:background="@color/item_line" />
+
+    <Button
+        android:id="@+id/popScrapApplyBtn"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:gravity="center"
+        android:text="报废申请"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_hine" />
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:background="@color/item_line" />
+
+    <Button
+        android:id="@+id/popMaintenanceBtn"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:gravity="center"
+        android:text="保养维护"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_hine" />
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:background="@color/item_line" />
+
+    <Button
+        android:id="@+id/popInspectBtn"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:gravity="center"
+        android:text="故障送检"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_hine" />
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/line"
+        android:background="@color/item_line" />
+
+    <Button
+        android:id="@+id/popCycleCountBtn"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:gravity="center"
+        android:text="周期盘点"
+        android:textColor="@color/text_main"
+        android:textSize="@dimen/text_hine" />
+</LinearLayout>

+ 23 - 0
app_modular/appworks/src/main/res/layout/pop_device_add.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/white"
+    android:padding="@dimen/padding">
+
+    <TextView
+        android:id="@+id/codeTag"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="盘点单号" />
+
+    <EditText
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:layout_constraintBottom_toBottomOf="@id/codeTag"
+        app:layout_constraintLeft_toRightOf="@id/codeTag"
+        app:layout_constraintTop_toTopOf="@id/codeTag" />
+
+
+</android.support.constraint.ConstraintLayout>