فهرست منبع

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

Arison 10 سال پیش
والد
کامیت
a091c02c7e

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

@@ -7,15 +7,21 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
+import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.nostra13.universalimageloader.core.ImageLoader;
+import com.nostra13.universalimageloader.core.imageaware.ImageAware;
+import com.nostra13.universalimageloader.core.imageaware.ImageViewAware;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.util.ImageUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 
 import java.util.HashMap;
@@ -102,6 +108,7 @@ public class OAListActivity extends BaseActivity {
                 holder.time = (TextView) view.findViewById(R.id.time);
                 holder.name = (TextView) view.findViewById(R.id.name);
                 holder.addr = (TextView) view.findViewById(R.id.addr);
+                holder.image = (ImageView) view.findViewById(R.id.image);
                 holder.company = (TextView) view.findViewById(R.id.company);
                 view.setTag(holder);
             } else {
@@ -112,14 +119,23 @@ public class OAListActivity extends BaseActivity {
             holder.name.setText(object.getString("mo_man") == null ? "" : object.getString("mo_man"));
             holder.addr.setText(object.getString("mo_remark") == null ? "" : object.getString("mo_remark"));
             holder.company.setText(object.getString("mo_company") == null ? "" : object.getString("mo_company"));
+            if (object.containsKey("mo_attachid") && object.getInteger("mo_attachid") > 1000) {
+                ImageLoader.getInstance().displayImage(getImageUrl(object.getInteger("mo_attachid")), holder.image);
+            }
             return view;
         }
 
+        private String getImageUrl(int id) {
+            return Constants.getAppBaseUrl(ct) + "common/downloadbyId.action?id=" + id;
+        }
+
         class ViewHolder {
             TextView time,//时间
                     name,//签到人
                     addr, //地址
                     company;//签到公司
+
+            ImageView image;
         }
     }
 }

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

@@ -1,20 +1,33 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
+import android.app.Activity;
+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.app.AlertDialog;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
 import android.widget.EditText;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.lidroid.xutils.HttpUtils;
 import com.lidroid.xutils.ViewUtils;
+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.lidroid.xutils.view.annotation.ViewInject;
+import com.nostra13.universalimageloader.core.ImageLoader;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.OutSigninBean;
@@ -24,13 +37,19 @@ import com.xzjmyk.pm.activity.ui.erp.util.CodeUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.util.CameraUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
-import com.xzjmyk.pm.activity.view.MyListView;
+import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
+import java.io.File;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 //外勤签到
 public class OutSigninOKActivity extends BaseActivity {
@@ -42,9 +61,12 @@ public class OutSigninOKActivity extends BaseActivity {
     private TextView com_tv;
     @ViewInject(R.id.text_edit)
     private EditText text_edit;
-    @ViewInject(R.id.listview)
-    private MyListView listview;
+    @ViewInject(R.id.image_tag)
+    private ImageView image_tag;
+    @ViewInject(R.id.image)
+    private ImageView image;
     private String baseUrl;
+    private Uri mNewPhotoUri;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -64,10 +86,15 @@ public class OutSigninOKActivity extends BaseActivity {
             CodeUtil.getInstance().getCode(ct, "mobile_outsign", new CodeUtil.OnCodeLinstener() {
                 @Override
                 public void callBack(String code) {
-                    doSignin(code);
+                    doSignin(code, 0);
                 }
             });
         }
+//            if (!StringUtils.isEmpty(path) && new File(path).isFile())
+//                uploadFile(path);
+//            else
+//
+//        }
         return super.onOptionsItemSelected(item);
     }
 
@@ -90,31 +117,132 @@ public class OutSigninOKActivity extends BaseActivity {
         com_tv.setText(com);
         task.execute();
         addr_tv.setText(addr);
-//        if (json != null)
-//            listview.setAdapter(new SigninAdapter(json));
-//        else
-//            loadLog();
+        image_tag.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                showPopup();
+            }
+        });
     }
 
-    //获取打卡记录 date:yyyy-MM-dd
-    private void loadLog() {
-        progressDialog.show();
-        //获取网络数据
-        String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/common/list.action";
-        String emcode = CommonUtil.getSharedPreferences(ct, "erp_username");
-        final Map<String, Object> param = new HashMap<>();
-        param.put("currentMaster", CommonUtil.getSharedPreferences(ct, "erp_master"));
-        param.put("page", 1);
-        param.put("pageSize", 1000);
-        param.put("emcode", emcode);
-        param.put("condition", "mo_mancode='" + emcode + "' and to_char(mo_signtime,'yyyy-MM-dd')='" + TimeUtils.s_long_2_str(System.currentTimeMillis()) + "'");
-        param.put("caller", "Mobile_outsign");
-        param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x13, null, null, "get");
+    private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
+    private static final int REQUEST_CODE_PICK_PHOTO = 2;// 图库
+    private String path = null;
+
+    private void showPopup() {
+        AlertDialog.Builder builder = new AlertDialog.Builder(ct);
+        String[] items = {"拍照", "从照片中选择"};
+        builder.setTitle("选择操作");
+        builder.setItems(items, new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialogInterface, int i) {
+                if (i == 0) {
+                    //调用拍照
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(OutSigninOKActivity.this, CameraUtil.MEDIA_TYPE_IMAGE);
+                    CameraUtil.captureImage(OutSigninOKActivity.this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
+                } else if (i == 1) {
+                    if (!CommonUtil.setSharedPreferences(ct, "isImage", false)) {
+                        Crouton.makeText(ct, "您没有被允许使用系统相册,请使用拍照");
+                    } else {
+                        //调用系统相册
+                        CameraUtil.pickImageSimple(OutSigninOKActivity.this, REQUEST_CODE_PICK_PHOTO);
+                    }
+                }
+            }
+        });
+        builder.show();
+    }
+
+    private int getID(String chche) {
+        if (StringUtils.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;
+    }
+
+    int id = 0;
+
+    private void uploadFile(String path) {
+        if (StringUtils.isEmpty(path)) return;
+        File finalFile = new File(path);
+        if (!finalFile.isFile()) return;
+        RequestParams params = new RequestParams();
+        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", finalFile);
+        String url = Constants.getAppBaseUrl(ct) + "mobile/uploadEmployeeAttach.action";
+        final HttpUtils http = new HttpUtils();
+        http.send(HttpRequest.HttpMethod.POST, url, params, new RequestCallBack<String>() {
+            @Override
+            public void onStart() {
+                progressDialog.show();
+                ViewUtil.ToastMessage(ct, "正在上传图片...");
+            }
+
+            @Override
+            public void onLoading(long total, long current, boolean isUploading) {
+                if (isUploading) {
+
+                } else {
+
+                }
+            }
+
+            @Override
+            public void onSuccess(ResponseInfo<String> responseInfo) {
+                progressDialog.dismiss();
+                ViewUtil.ToastMessage(ct, "上传成功:");
+                JsonValidator validator = new JsonValidator();
+                if (validator.validate(responseInfo.result) && JSON.parseObject(responseInfo.result).getBoolean("success")) {
+                    id = getID(JSON.parseObject(responseInfo.result).getString("id"));
+                }
+                CodeUtil.getInstance().getCode(ct, "mobile_outsign", new CodeUtil.OnCodeLinstener() {
+                    @Override
+                    public void callBack(String code) {
+                        doSignin(code, id);
+                    }
+                });
+            }
+
+            @Override
+            public void onFailure(HttpException error, String msg) {
+                ViewUtil.ToastMessage(ct, "上传失败:" + msg);
+            }
+        });
     }
 
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    path = mNewPhotoUri.getPath();
+                    path = CameraUtil.getImagePathFromUri(ct, mNewPhotoUri);
+                    if (StringUtils.isEmpty(path)) return;
+                    ImageLoader.getInstance().displayImage(Uri.fromFile(new File(path)).toString(), image);
+                } 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) {
+                    path = CameraUtil.getImagePathFromUri(ct, data.getData());
+                    if (StringUtils.isEmpty(path)) return;
+                    ImageLoader.getInstance().displayImage(Uri.fromFile(new File(path)).toString(), image);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        }
+    }
+
+
     private final int whatSignin = 0x12;
     private Handler handler = new Handler() {
         @Override
@@ -134,9 +262,6 @@ public class OutSigninOKActivity extends BaseActivity {
                         ToastUtil.showToast(ct, "签到失败");
                     }
                     break;
-                case 0x13:
-//                    listview.setAdapter(new SigninAdapter(JSON.parseObject(message).getJSONArray("listdata")));
-                    break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     ToastUtil.showToast(ct, message == null ? "" : message);
                     break;
@@ -169,7 +294,7 @@ public class OutSigninOKActivity extends BaseActivity {
      *
      * @param code 编号
      */
-    private void doSignin(String code) {
+    private void doSignin(String code, int id) {
         progressDialog.show();
         //获取网络数据
         String url = baseUrl + "mobile/oa/saveOutSign.action";
@@ -180,7 +305,7 @@ public class OutSigninOKActivity extends BaseActivity {
         bean.setMo_mancode(CommonUtil.getSharedPreferences(this, "erp_username"));
         bean.setMo_man(MyApplication.getInstance().mLoginUser.getNickName());
         bean.setMo_remark(text_edit.getText().toString());
-        bean.setMo_attachid(201);
+        bean.setMo_attachid(id);
         bean.setMo_company(com_tv.getText().toString().trim());
         bean.setMo_signtime(TimeUtils.f_long_2_str(System.currentTimeMillis()));
         String formStore = FlexJsonUtil.toJson(bean);

+ 11 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OutofficeSetActivity.java

@@ -26,6 +26,8 @@ public class OutofficeSetActivity extends BaseActivity {
     private RelativeLayout location_rl;
     @ViewInject(R.id.allow_chance_location)
     private SwitchView allow_chance_location;
+    @ViewInject(R.id.isImage)
+    private SwitchView isImage;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -36,12 +38,19 @@ public class OutofficeSetActivity extends BaseActivity {
     }
 
     private void initview() {
+        isImage.setChecked(CommonUtil.setSharedPreferences(ct, "isImage", false));
+        isImage.setOnCheckedChangeListener(new SwitchView.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(View view, boolean isChecked) {
+                CommonUtil.setSharedPreferences(ct, "isImage", isChecked);
+            }
+        });
         allow_chance_location.setOnCheckedChangeListener(new SwitchView.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(View view, boolean isChecked) {
                 setClickAble(isChecked);
-                CommonUtil.setSharedPreferences(OutofficeSetActivity.this, OA_LOCATION_DISTANCE, location_tv.getText().toString().trim());
-                CommonUtil.setSharedPreferences(OutofficeSetActivity.this, OA_LOCATION_IS, isChecked);
+                CommonUtil.setSharedPreferences(ct, OA_LOCATION_DISTANCE, location_tv.getText().toString().trim());
+                CommonUtil.setSharedPreferences(ct, OA_LOCATION_IS, isChecked);
             }
         });
         location_rl.setOnClickListener(new View.OnClickListener() {

+ 11 - 31
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java

@@ -1,7 +1,6 @@
 package com.xzjmyk.pm.activity.ui.erp.fragment;
 
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
@@ -9,6 +8,7 @@ import android.os.Message;
 import android.support.v7.app.AlertDialog;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.Toolbar;
 import android.text.Html;
 import android.text.Spanned;
 import android.view.View;
@@ -69,6 +69,8 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     private ImageView seting;
     @ViewInject(R.id.title)
     private TextView title;
+    @ViewInject(R.id.toobar)
+    private Toolbar toolbar;
     @ViewInject(R.id.back)
     private ImageView back;
     @ViewInject(R.id.signin_btn)
@@ -108,9 +110,9 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                     JSONObject jsonObject = JSON.parseObject(message);//返回对象
                     if (jsonObject.containsKey("success") && jsonObject.getBoolean("success")) {//返回正常
                         if (jsonObject.containsKey("comaddressset") ? jsonObject.getBoolean("comaddressset") : false) {//如果有分配公司
-                            companyDistance = Integer.parseInt(jsonObject.containsKey("distance") ? jsonObject.getString("distance") : "0");
-                            companyX = Double.parseDouble(jsonObject.containsKey("longitude") ? jsonObject.getString("longitude") : "0");
-                            companyY = Double.parseDouble(jsonObject.containsKey("latitude") ? jsonObject.getString("latitude") : "0");
+                            companyDistance = Integer.parseInt(jsonObject.containsKey("distance") ?(StringUtils.isEmpty(jsonObject.getString("distance") )?"0":jsonObject.getString("distance")) : "0");
+                            companyX = Double.parseDouble(jsonObject.containsKey("longitude") ? (StringUtils.isEmpty(jsonObject.getString("longitude") )?"0":jsonObject.getString("longitude")) : "0");
+                            companyY = Double.parseDouble(jsonObject.containsKey("latitude") ? (StringUtils.isEmpty(jsonObject.getString("latitude") )?"0":jsonObject.getString("latitude")) : "0");
                             unoffice_mm.setText(setDistance());
                         } else {
                             Crouton.makeText(ct, "当前账号没有分配公司地址,请联系管理员!!");
@@ -164,6 +166,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     public void onAttach(Context ct) {
         super.onAttach(ct);
         this.ct = (BaseActivity) ct;
+
     }
 
     @Override
@@ -179,7 +182,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
             if (poi == null) return;
             loaction = poi.name == null ? "" : poi.name;
             addr = poi.address == null ? "" : poi.address;
-            office_addr.setText("考勤地点:" + loaction);
+            office_addr.setText(Html.fromHtml("<font color=\'#575757\'>当前位置  " + "</font><font color=\'#000000\'>" + loaction + "</font>"));
             latitude = poi.location.latitude;
             longitude = poi.location.longitude;
             unoffice_mm.setText(setDistance());
@@ -220,6 +223,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     @Override
     protected void onCreateView(Bundle savedInstanceState, boolean createView) {
         ViewUtils.inject(getmRootView());
+        ct.setSupportActionBar(toolbar);
         init();
         initView();
         listener();
@@ -273,7 +277,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
         listview.setLayoutManager(new LinearLayoutManager(ct));
         adapter = new SigninAdapter(ct);
         listview.setAdapter(adapter);
-        office_addr.setText("考勤地点:" + (StringUtils.isEmpty(loaction) ? "" : loaction));
+        office_addr.setText(Html.fromHtml("<font color=\'#575757\'>当前位置  " + "</font><font color=\'#000000\'>" + loaction + "</font>"));
         loadNetData(System.currentTimeMillis());//获取打卡班次信息
     }
 
@@ -295,27 +299,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
         picker.show();
     }
 
-    private void showPopMenu() {
-        //显示选择日期窗口
-        for (int i = 0; i < timeList.length; i++)
-            timeList[i] = TimeUtils.day_long_2_str(System.currentTimeMillis() - (DAY_TIME * i)) + "  " + TimeUtils.getWeek(System.currentTimeMillis() - (DAY_TIME * i));
-        title.setText(TimeUtils.day_long_2_str(System.currentTimeMillis()) + "  " + TimeUtils.getWeek(System.currentTimeMillis()));
-        if (builder == null) {
-            builder = new AlertDialog.Builder(ct);
-            builder.setItems(timeList, new DialogInterface.OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialogInterface, int i) {
-                    isToday = i == 0 ? true : false;
-                    title.setText(timeList[i]);
-                    if (adapter != null && adapter.getBeans() != null && adapter.getBeans().size() > 0)
-                        adapter.getBeans().clear();
-                    loadNetData(System.currentTimeMillis() - (DAY_TIME * i));
-                }
-            });
-        }
-        builder.show();
-    }
-
     private boolean isPlay() {
         if (companyDistance == -1) {
             Crouton.makeText(ct, "您当前账号没有设置打卡地址信息,请联系管理员");
@@ -340,16 +323,13 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
         return false;
     }
 
-    /**
-     * setData
-     */
     private Spanned setDistance() {
         String dis = BaiduMapUtil.getInstence().getDistance(companyX, companyY, latitude, longitude);
         Spanned re = null;
         try {
             if (!StringUtils.isEmpty(dis)) {
                 distance = (int) Double.parseDouble(dis);
-                re = Html.fromHtml("<font color=\'#858585\'>距离考勤地点: " + (distance == -1 ? -1 : distance) + "米     " + "</font><font color=\'#f02387\'><U>地点微调</U></font>");
+                re = Html.fromHtml("<font color=\'#575757\'>距离考勤地点" + (distance == -1 ? -1 : distance) + "米&#160&#160&#160&#160&#160" + "</font><font color=\'#000000\'><U>地点微调</U></font>");
             }
         } catch (ClassCastException e) {
             e.printStackTrace();

+ 9 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/CameraUtil.java

@@ -23,7 +23,7 @@ public final class CameraUtil {
 
 	/**
 	 * Create a file Uri for saving an image or video
-	 * 
+	 *
 	 * @param context
 	 * @param type
 	 *            the type of the file you want saved {@link #MEDIA_TYPE_IMAGE}
@@ -41,7 +41,7 @@ public final class CameraUtil {
 	/**
 	 * Create a file for saving an image or video,is default in the
 	 * ../Pictures/[you app PackageName] directory
-	 * 
+	 *
 	 * @param context
 	 * @param type
 	 *            the type of the file you want saved {@link #MEDIA_TYPE_IMAGE}
@@ -67,7 +67,7 @@ public final class CameraUtil {
 	/**
 	 * invoke the system Camera app and capture a image。 you can received the
 	 * successed,you can use the outputUri to get the image
-	 * 
+	 *
 	 * @param activity
 	 * @param outputUri
 	 *            拍照后图片的存储路径
@@ -81,7 +81,7 @@ public final class CameraUtil {
 
 	/**
 	 * 调用系统裁减功能,裁减某张指定的图片,并输出到指定的位置
-	 * 
+	 *
 	 * @param activity
 	 * @param originalFileUri
 	 *            原始图片位置
@@ -115,7 +115,7 @@ public final class CameraUtil {
 	/**
 	 * 调用系统图库选择照片 使用 {@link }方法从
 	 * onActivityResult的data.getData()中解析获得的Uri
-	 * 
+	 *
 	 * @param activity
 	 * @param requestCode
 	 * @return
@@ -137,7 +137,7 @@ public final class CameraUtil {
 
 	/**
 	 * 4.4以下
-	 * 
+	 *
 	 * @param context
 	 * @param uri
 	 */
@@ -151,7 +151,7 @@ public final class CameraUtil {
 
 	/**
 	 * 4.4以上的Document Uri
-	 * 
+	 *
 	 * @param context
 	 * @param uri
 	 * @return
@@ -183,7 +183,7 @@ public final class CameraUtil {
 	/**
 	 * 调用系统图库选择照片,裁减后返回
 	 * ,4.4上无法确定用户是否是在图库里选择的照片,所以不使用该方法,使用pickImageSimple,返回后在调用裁减
-	 * 
+	 *
 	 * @param activity
 	 * @param filePath
 	 *            拍照后图片的存储路径
@@ -254,7 +254,7 @@ public final class CameraUtil {
 
 	/**
 	 * 查询某张图片有没有被扫描到媒体库
-	 * 
+	 *
 	 * @param activity
 	 * @param filePath
 	 * @return 返回这个图片在媒体库的Uri,如果没有扫描到媒体库,则返回null

+ 10 - 0
WeiChat/src/main/res/anim/push_bottom_in.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 上下滑入式 -->
+<set xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <translate
+        android:duration="200"
+        android:fromYDelta="100%p"
+        android:toYDelta="0"
+    />
+</set>

+ 8 - 0
WeiChat/src/main/res/anim/push_buttom_out.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 上下滑出式 -->
+<set xmlns:android="http://schemas.android.com/apk/res/android" >
+    <translate
+        android:duration="200"
+        android:fromYDelta="0"
+        android:toYDelta="50%p" />
+</set>

BIN
WeiChat/src/main/res/drawable-xhdpi/oa_signin.png


BIN
WeiChat/src/main/res/drawable-xxhdpi/oa_signin.png


+ 9 - 11
WeiChat/src/main/res/layout/activity_out_signin_ok.xml

@@ -116,9 +116,16 @@
                 android:visibility="gone">
 
                 <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
+                    android:id="@+id/image"
+                    android:layout_width="50dp"
+                    android:layout_height="50dp" />
+
+                <ImageView
+                    android:id="@+id/image_tag"
+                    android:layout_width="50dp"
+                    android:layout_height="50dp"
                     android:layout_alignParentRight="true"
+                    android:background="@null"
                     android:src="@drawable/picture" />
             </RelativeLayout>
         </LinearLayout>
@@ -132,15 +139,6 @@
             android:textSize="@dimen/text_main"
             android:visibility="gone" />
 
-        <com.xzjmyk.pm.activity.view.MyListView
-            android:id="@+id/listview"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:background="@color/white"
-            android:divider="@color/item_line"
-            android:dividerHeight="2px"
-            android:visibility="gone" />
 
     </LinearLayout>
 </ScrollView>

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

@@ -20,6 +20,7 @@
             android:textSize="@dimen/text_main" />
 
         <com.xzjmyk.pm.activity.ui.erp.view.SwitchView
+            android:id="@+id/isImage"
             android:layout_width="50dp"
             android:layout_height="35dp"
             android:layout_alignParentRight="true"

+ 40 - 32
WeiChat/src/main/res/layout/fragment_signin.xml

@@ -4,44 +4,52 @@
     android:layout_height="match_parent"
     android:background="@color/oa_main">
 
-    <RelativeLayout
-        android:id="@+id/top"
+    <android.support.v7.widget.Toolbar
+        android:id="@+id/toobar"
         android:layout_width="match_parent"
         android:layout_height="?attr/actionBarSize"
         android:background="#7292f8">
 
-        <ImageView
-            android:id="@+id/back"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:padding="10dp"
-            android:src="@drawable/back" />
+        <RelativeLayout
+            android:id="@+id/top"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
 
-        <TextView
-            android:id="@+id/title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerInParent="true"
-            android:drawableRight="@drawable/down"
-            android:textColor="@color/white"
-            android:textSize="@dimen/text_main" />
+            <ImageView
+                android:id="@+id/back"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:padding="10dp"
+                android:src="@drawable/back" />
+
+            <TextView
+                android:id="@+id/title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerInParent="true"
+                android:drawableRight="@drawable/down"
+                android:textColor="@color/white"
+                android:textSize="@dimen/text_main" />
+
+            <ImageView
+                android:id="@+id/seting"
+                android:layout_width="40dp"
+                android:layout_height="match_parent"
+                android:layout_alignParentRight="true"
+                android:padding="8dp"
+                android:src="@drawable/setting" />
+        </RelativeLayout>
+    </android.support.v7.widget.Toolbar>
 
-        <ImageView
-            android:id="@+id/seting"
-            android:layout_width="40dp"
-            android:layout_height="match_parent"
-            android:layout_alignParentRight="true"
-            android:padding="8dp"
-            android:src="@drawable/setting" />
-    </RelativeLayout>
 
     <LinearLayout
         android:id="@+id/oa_range_addr_rl"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
-        android:layout_marginBottom="8dp"
+        android:layout_marginBottom="15dp"
         android:orientation="vertical"
+
         android:padding="5dp">
 
         <TextView
@@ -50,9 +58,8 @@
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
             android:drawableLeft="@drawable/oa_signin"
-            android:drawablePadding="10dp"
+            android:drawablePadding="5dp"
             android:gravity="center_horizontal"
-            android:text="考勤地点:"
             android:textColor="@color/text_hine" />
 
         <TextView
@@ -60,8 +67,10 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
+            android:layout_marginTop="5dp"
             android:text="地点微调"
-            android:textColor="@color/cadetblue" />
+            android:textColor="@color/text_hine"
+            android:textSize="15dp" />
     </LinearLayout>
 
     <ImageView
@@ -79,7 +88,7 @@
         android:layout_width="2px"
         android:layout_height="match_parent"
         android:layout_above="@+id/signin_btn"
-        android:layout_below="@+id/top"
+        android:layout_below="@+id/toobar"
         android:layout_centerHorizontal="true"
         android:background="@color/item_line" />
 
@@ -88,14 +97,13 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_above="@id/signin_btn"
-        android:layout_below="@id/top"
+        android:layout_below="@id/toobar"
         android:layout_marginTop="5dp"
         android:clickable="false"
         android:divider="@null"
         android:dividerHeight="0dp"
         android:focusable="false"
-        android:longClickable="false"
-        android:minHeight="100dp" />
+        android:longClickable="false" />
 
 
 </RelativeLayout>

+ 12 - 1
WeiChat/src/main/res/layout/item_outoffice_list.xml

@@ -4,10 +4,18 @@
     android:layout_height="80dp"
     android:padding="8dp">
 
+    <ImageView
+        android:id="@+id/image"
+        android:layout_width="80dp"
+        android:layout_height="80dp"
+  />
+
     <TextView
         android:id="@+id/name"
+        android:layout_marginLeft="10dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_toRightOf="@+id/image"
         android:text="签到人" />
 
     <TextView
@@ -15,12 +23,14 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
-        android:text="签到企业" />
+        android:text="签到企业"
+      />
 
     <TextView
         android:id="@+id/time"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_alignLeft="@id/name"
         android:layout_below="@+id/name"
         android:layout_marginTop="8dp"
         android:text="签到地点" />
@@ -29,6 +39,7 @@
         android:id="@+id/addr"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_alignLeft="@id/name"
         android:layout_below="@+id/time"
         android:layout_marginTop="8dp"
         android:text="签到地点" />

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

@@ -119,4 +119,5 @@
     </style><!--end Style-->
 
     <dimen name="drawable_padding">5dp</dimen>
+
 </resources>