Explorar o código

对接 企业认证接口

ZhangXinYu %!s(int64=6) %!d(string=hai) anos
pai
achega
c6964c2a2d

+ 5 - 0
app/src/main/java/com/webrain/dailypay/http/Api.java

@@ -38,6 +38,11 @@ public class Api {
         Observable<ApiResultBean<ApiNormalBean>> uploadUserAudit(@Body MultipartBody img);
 
     }
+    public interface AnterpriseInterface{
+        //企业认证
+        @POST("api/anterprise/anterpriseAuth")
+        Observable<ApiResultBean<ApiNormalBean>> uploadAnterpriseAuth(@Body MultipartBody img);
+    }
 
     public interface PositionInterface {
         //发布全职岗位

+ 32 - 0
app/src/main/java/com/webrain/dailypay/http/subscribe/AnterpriseSubscribe.java

@@ -0,0 +1,32 @@
+package com.webrain.dailypay.http.subscribe;
+
+import android.content.Context;
+
+import com.webrain.dailypay.bean.api.ApiNormalBean;
+import com.webrain.dailypay.bean.api.ApiResultBean;
+import com.webrain.dailypay.http.Api;
+import com.webrain.dailypay.http.ApiObserver;
+import com.webrain.dailypay.http.ServiceGenerator;
+
+import io.reactivex.Observable;
+import okhttp3.MultipartBody;
+
+public class AnterpriseSubscribe extends BaseSubscribe {
+    public AnterpriseSubscribe(Context context) {
+        super(context);
+    }
+
+
+    /**
+     * 团队认证
+     *
+     * @param mObservable
+     */
+    public void requestAnterpriseAuth(MultipartBody params, ApiObserver<ApiNormalBean> mObservable) {
+        Api.AnterpriseInterface apiService = ServiceGenerator.createService(Api.AnterpriseInterface.class);
+        Observable<ApiResultBean<ApiNormalBean>> observable = apiService.uploadAnterpriseAuth(params);
+        subscribe(observable, mObservable);
+    }
+
+
+}

+ 127 - 363
app/src/main/java/com/webrain/dailypay/ui/activity/identity/IdentityCompanyActivity.java

@@ -1,35 +1,39 @@
 package com.webrain.dailypay.ui.activity.identity;
 
-import android.content.Context;
+import android.Manifest;
 import android.content.Intent;
-import android.graphics.Color;
 import android.os.Bundle;
+import android.os.StrictMode;
+import android.support.annotation.Nullable;
 import android.support.v7.widget.CardView;
-import android.view.MotionEvent;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
 import android.widget.RelativeLayout;
 import android.widget.ScrollView;
+import android.widget.TextView;
 
-import com.bigkoo.pickerview.adapter.NumericWheelAdapter;
-import com.contrarywind.listener.OnItemSelectedListener;
-import com.contrarywind.view.WheelView;
+import com.webrain.baselibrary.IntentConstant;
+import com.webrain.baselibrary.imageloader.ImageLoaderUtil;
+import com.webrain.baselibrary.utils.PermissionsUtils;
 import com.webrain.baselibrary.utils.PxUtils;
 import com.webrain.dailypay.R;
+import com.webrain.dailypay.ui.activity.image.PickImageActivity;
 import com.webrain.dailypay.ui.base.BaseActivity;
-import com.webrain.dailypay.ui.base.BaseViewHolder;
 import com.webrain.dailypay.ui.mvp.contacts.IdentityCompanyContacts;
 import com.webrain.dailypay.ui.mvp.presenter.IdentityCompanyPresenter;
-
-import java.util.Arrays;
-import java.util.List;
+import com.webrain.dailypay.ui.viewholder.TimePickViewHolder;
+import com.webrain.dailypay.ui.widget.ShrinkAnimationLayout;
+import com.webrain.dailypay.utils.PhotoUtils;
 
 import butterknife.BindView;
 import butterknife.OnClick;
+import io.reactivex.functions.Consumer;
 
 /**
  * 企业用户身份认证
@@ -49,17 +53,31 @@ public class IdentityCompanyActivity extends BaseActivity<IdentityCompanyPresent
     @BindView(R.id.rl_head)
     RelativeLayout rlHead;
     @BindView(R.id.te_company_name)
-    EditText teCompanyName;
-    @BindView(R.id.et_expiration_time)
-    EditText etExpirationTime;
+    EditText etCompanyName;
+    @BindView(R.id.tv_expiration_time)
+    TextView tvExpirationTime;
     @BindView(R.id.sv)
     ScrollView sv;
-    @BindView(R.id.ll_time_pick)
-    LinearLayout llTimePick;
-
+    @BindView(R.id.sal_time_pick)
+    ShrinkAnimationLayout salTimePick;
+    @BindView(R.id.rb_long_valid)
+    RadioButton rbLongValid;
+    @BindView(R.id.rb_no_long_valid)
+    RadioButton rbNoLongValid;
+    @BindView(R.id.rg_valid)
+    RadioGroup rgValid;
+    @BindView(R.id.rb_yes)
+    RadioButton rbYes;
+    @BindView(R.id.rb_no)
+    RadioButton rbNo;
+    @BindView(R.id.rg_humen)
+    RadioGroup rgHumen;
+    @BindView(R.id.ll_time_over)
+    LinearLayout llTimeOver;
 
     TimePickViewHolder timePickViewHolder;
 
+
     @Override
     public int getLayoutId() {
         return R.layout.activity_identity_company;
@@ -75,6 +93,11 @@ public class IdentityCompanyActivity extends BaseActivity<IdentityCompanyPresent
         super.onCreate(savedInstanceState);
         setBackColor(R.color.white);
         initView();
+
+        // android 7.0系统解决拍照的问题
+        StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
+        StrictMode.setVmPolicy(builder.build());
+        builder.detectFileUriExposure();
     }
 
     @Override
@@ -82,9 +105,27 @@ public class IdentityCompanyActivity extends BaseActivity<IdentityCompanyPresent
         return true;
     }
 
-    @OnClick(R.id.btn_submit)
+    @OnClick({R.id.btn_submit, R.id.iv_front, R.id.iv_reverse, R.id.tv_expiration_time})
     public void onClick(View view) {
-        startActivity(new Intent(mContext, IdentityResultActivity.class));
+        switch (view.getId()) {
+            case R.id.iv_front:
+                mvpPresenter.getImageType(0);
+                break;
+            case R.id.iv_reverse:
+                mvpPresenter.getImageType(1);
+                break;
+            case R.id.btn_submit:
+                mvpPresenter.realAuthentication(etCompanyName.getText().toString(), tvExpirationTime.getText().toString(), rgValid.getCheckedRadioButtonId() == R.id.rb_long_valid ? 1 : 0, rgHumen.getCheckedRadioButtonId() == R.id.rb_yes ? 1 : 0);
+                break;
+            case R.id.tv_expiration_time:
+                if (timePickViewHolder == null) {
+                    timePickViewHolder = new TimePickViewHolder(mContext, sv, onDateChangeListener);
+                    salTimePick.addView(timePickViewHolder.getView());
+                }
+                salTimePick.toggleExpand();
+                break;
+        }
+
     }
 
     private void initView() {
@@ -96,370 +137,93 @@ public class IdentityCompanyActivity extends BaseActivity<IdentityCompanyPresent
         cvTitleLayoutParams.width = PxUtils.getDeviceWidth() + PxUtils.dip2px(54);
         cvTitle.setLayoutParams(cvTitleLayoutParams);
 
-        timePickViewHolder = new TimePickViewHolder(mContext);
-        llTimePick.addView(timePickViewHolder.getView());
-
-    }
-
-    class TimePickViewHolder extends BaseViewHolder {
-        private final int DEFAULT_START_YEAR = 1900;
-        private final int DEFAULT_END_YEAR = 2100;
-        private final int DEFAULT_START_MONTH = 1;
-        private final int DEFAULT_END_MONTH = 12;
-        private final int DEFAULT_START_DAY = 1;
-        private final int DEFAULT_END_DAY = 31;
+        rgValid.setOnCheckedChangeListener(onCheckedChangeListener);
 
+        salTimePick.initExpand(false);
 
-        private int startYear = DEFAULT_START_YEAR;
-        private int endYear = DEFAULT_END_YEAR;
-        private int startMonth = DEFAULT_START_MONTH;
-        private int endMonth = DEFAULT_END_MONTH;
-        private int startDay = DEFAULT_START_DAY;
-        private int endDay = DEFAULT_END_DAY; //表示31天的
-        private int currentYear;
 
-        @BindView(R.id.wv_year)
-        WheelView wvYear;
-        @BindView(R.id.wv_month)
-        WheelView wvMonth;
-        @BindView(R.id.wv_day)
-        WheelView wvDay;
-
-        public TimePickViewHolder(Context mContext) {
-            super(mContext);
-            init();
-        }
+    }
 
+    RadioGroup.OnCheckedChangeListener onCheckedChangeListener = new RadioGroup.OnCheckedChangeListener() {
         @Override
-        public int bindViewLayoutId() {
-            return R.layout.view_time_picker;
-        }
-
-        private void init() {
-            wvYear.setTextSize(14);
-            wvYear.setTextColorCenter(Color.WHITE);
-            wvYear.setTextColorOut(mContext.getResources().getColor(R.color.time_picker_out));
-            wvYear.setDividerColor(Color.TRANSPARENT);
-            wvYear.setOnTouchListener(onTouchListener);
-
-            wvMonth.setTextSize(14);
-            wvMonth.setTextColorCenter(Color.WHITE);
-            wvMonth.setTextColorOut(mContext.getResources().getColor(R.color.time_picker_out));
-            wvMonth.setDividerColor(Color.TRANSPARENT);
-            wvMonth.setOnTouchListener(onTouchListener);
-
-            wvDay.setTextSize(14);
-            wvDay.setTextColorCenter(Color.WHITE);
-            wvDay.setTextColorOut(mContext.getResources().getColor(R.color.time_picker_out));
-            wvDay.setDividerColor(Color.TRANSPARENT);
-            wvDay.setOnTouchListener(onTouchListener);
-
-            setSolar(2019, 5, 29);
-        }
-
-        /**
-         * 拦截ScrollView滚动冲突
-         */
-        View.OnTouchListener onTouchListener = new View.OnTouchListener() {
-            @Override
-            public boolean onTouch(View v, MotionEvent event) {
-                if (event.getAction() == MotionEvent.ACTION_UP) {
-                    sv.requestDisallowInterceptTouchEvent(false);
-                } else {
-                    sv.requestDisallowInterceptTouchEvent(true);
-                }
-                return false;
-            }
-        };
-
-        /**
-         * 设置公历
-         *
-         * @param year
-         * @param month
-         * @param day
-         */
-        private void setSolar(int year, final int month, int day) {
-            // 添加大小月月份并将其转换为list,方便之后的判断
-            String[] months_big = {"1", "3", "5", "7", "8", "10", "12"};
-            String[] months_little = {"4", "6", "9", "11"};
-
-            final List<String> list_big = Arrays.asList(months_big);
-            final List<String> list_little = Arrays.asList(months_little);
-
-            wvYear.setAdapter(new NumericWheelAdapter(startYear, endYear));// 设置"年"的显示数据
-
-            wvYear.setCurrentItem(year - startYear);// 初始化时显示的数据
-            // 月
-            if (startYear == endYear) {//开始年等于终止年
-                wvMonth.setAdapter(new NumericWheelAdapter(startMonth, endMonth));
-                wvMonth.setCurrentItem(month + 1 - startMonth);
-            } else if (year == startYear) {
-                //起始日期的月份控制
-                wvMonth.setAdapter(new NumericWheelAdapter(startMonth, 12));
-                wvMonth.setCurrentItem(month + 1 - startMonth);
-            } else if (year == endYear) {
-                //终止日期的月份控制
-                wvMonth.setAdapter(new NumericWheelAdapter(1, endMonth));
-                wvMonth.setCurrentItem(month);
+        public void onCheckedChanged(RadioGroup group, int checkedId) {
+            if (checkedId == R.id.rb_long_valid) {
+                llTimeOver.setVisibility(View.GONE);
             } else {
-                wvMonth.setAdapter(new NumericWheelAdapter(1, 12));
-                wvMonth.setCurrentItem(month);
+                llTimeOver.setVisibility(View.VISIBLE);
             }
-            // 日
-            if (startYear == endYear && startMonth == endMonth) {
-                if (list_big.contains(String.valueOf(month + 1))) {
-                    if (endDay > 31) {
-                        endDay = 31;
-                    }
-                    wvDay.setAdapter(new NumericWheelAdapter(startDay, endDay));
-                } else if (list_little.contains(String.valueOf(month + 1))) {
-                    if (endDay > 30) {
-                        endDay = 30;
-                    }
-                    wvDay.setAdapter(new NumericWheelAdapter(startDay, endDay));
-                } else {
-                    // 闰年
-                    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
-                        if (endDay > 29) {
-                            endDay = 29;
-                        }
-                        wvDay.setAdapter(new NumericWheelAdapter(startDay, endDay));
-                    } else {
-                        if (endDay > 28) {
-                            endDay = 28;
-                        }
-                        wvDay.setAdapter(new NumericWheelAdapter(startDay, endDay));
-                    }
-                }
-                wvDay.setCurrentItem(day - startDay);
-            } else if (year == startYear && month + 1 == startMonth) {
-                // 起始日期的天数控制
-                if (list_big.contains(String.valueOf(month + 1))) {
-
-                    wvDay.setAdapter(new NumericWheelAdapter(startDay, 31));
-                } else if (list_little.contains(String.valueOf(month + 1))) {
-
-                    wvDay.setAdapter(new NumericWheelAdapter(startDay, 30));
-                } else {
-                    // 闰年
-                    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
-
-                        wvDay.setAdapter(new NumericWheelAdapter(startDay, 29));
-                    } else {
-
-                        wvDay.setAdapter(new NumericWheelAdapter(startDay, 28));
-                    }
-                }
-                wvDay.setCurrentItem(day - startDay);
-            } else if (year == endYear && month + 1 == endMonth) {
-                // 终止日期的天数控制
-                if (list_big.contains(String.valueOf(month + 1))) {
-                    if (endDay > 31) {
-                        endDay = 31;
-                    }
-                    wvDay.setAdapter(new NumericWheelAdapter(1, endDay));
-                } else if (list_little.contains(String.valueOf(month + 1))) {
-                    if (endDay > 30) {
-                        endDay = 30;
-                    }
-                    wvDay.setAdapter(new NumericWheelAdapter(1, endDay));
-                } else {
-                    // 闰年
-                    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
-                        if (endDay > 29) {
-                            endDay = 29;
-                        }
-                        wvDay.setAdapter(new NumericWheelAdapter(1, endDay));
-                    } else {
-                        if (endDay > 28) {
-                            endDay = 28;
-                        }
-                        wvDay.setAdapter(new NumericWheelAdapter(1, endDay));
-                    }
-                }
-                wvDay.setCurrentItem(day - 1);
-            } else {
-                // 判断大小月及是否闰年,用来确定"日"的数据
-                if (list_big.contains(String.valueOf(month + 1))) {
-
-                    wvDay.setAdapter(new NumericWheelAdapter(1, 31));
-                } else if (list_little.contains(String.valueOf(month + 1))) {
-
-                    wvDay.setAdapter(new NumericWheelAdapter(1, 30));
-                } else {
-                    // 闰年
-                    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
+        }
+    };
 
-                        wvDay.setAdapter(new NumericWheelAdapter(1, 29));
-                    } else {
+    TimePickViewHolder.OnDateChangeListener onDateChangeListener = new TimePickViewHolder.OnDateChangeListener() {
+        @Override
+        public void onChangeDate(String date) {
+            tvExpirationTime.setText(date);
+        }
+    };
 
-                        wvDay.setAdapter(new NumericWheelAdapter(1, 28));
-                    }
-                }
-                wvDay.setCurrentItem(day - 1);
-            }
 
-            // 添加"年"监听
-            wvYear.setOnItemSelectedListener(new OnItemSelectedListener() {
+    /**
+     * 拍照选择回调
+     *
+     * @param type
+     */
+    @Override
+    public void onImageType(String type, final int clickPosition) {
+        if (type.equals(getString(R.string.take_photo))) {
+            PermissionsUtils.requestPermissionToast((BaseActivity) mContext, new Consumer<Boolean>() {
                 @Override
-                public void onItemSelected(int index) {
-                    int year_num = index + startYear;
-                    currentYear = year_num;
-                    int currentMonthItem = wvMonth.getCurrentItem();//记录上一次的item位置
-                    // 判断大小月及是否闰年,用来确定"日"的数据
-                    if (startYear == endYear) {
-                        //重新设置月份
-                        wvMonth.setAdapter(new NumericWheelAdapter(startMonth, endMonth));
-
-                        if (currentMonthItem > wvMonth.getAdapter().getItemsCount() - 1) {
-                            currentMonthItem = wvMonth.getAdapter().getItemsCount() - 1;
-                            wvMonth.setCurrentItem(currentMonthItem);
-                        }
-
-                        int monthNum = currentMonthItem + startMonth;
-
-                        if (startMonth == endMonth) {
-                            //重新设置日
-                            setReDay(year_num, monthNum, startDay, endDay, list_big, list_little);
-                        } else if (monthNum == startMonth) {
-                            //重新设置日
-                            setReDay(year_num, monthNum, startDay, 31, list_big, list_little);
-                        } else if (monthNum == endMonth) {
-                            setReDay(year_num, monthNum, 1, endDay, list_big, list_little);
-                        } else {//重新设置日
-                            setReDay(year_num, monthNum, 1, 31, list_big, list_little);
-                        }
-                    } else if (year_num == startYear) {//等于开始的年
-                        //重新设置月份
-                        wvMonth.setAdapter(new NumericWheelAdapter(startMonth, 12));
-
-                        if (currentMonthItem > wvMonth.getAdapter().getItemsCount() - 1) {
-                            currentMonthItem = wvMonth.getAdapter().getItemsCount() - 1;
-                            wvMonth.setCurrentItem(currentMonthItem);
-                        }
-
-                        int month = currentMonthItem + startMonth;
-                        if (month == startMonth) {
-                            //重新设置日
-                            setReDay(year_num, month, startDay, 31, list_big, list_little);
-                        } else {
-                            //重新设置日
-                            setReDay(year_num, month, 1, 31, list_big, list_little);
-                        }
-
-                    } else if (year_num == endYear) {
-                        //重新设置月份
-                        wvMonth.setAdapter(new NumericWheelAdapter(1, endMonth));
-                        if (currentMonthItem > wvMonth.getAdapter().getItemsCount() - 1) {
-                            currentMonthItem = wvMonth.getAdapter().getItemsCount() - 1;
-                            wvMonth.setCurrentItem(currentMonthItem);
-                        }
-                        int monthNum = currentMonthItem + 1;
-
-                        if (monthNum == endMonth) {
-                            //重新设置日
-                            setReDay(year_num, monthNum, 1, endDay, list_big, list_little);
-                        } else {
-                            //重新设置日
-                            setReDay(year_num, monthNum, 1, 31, list_big, list_little);
-                        }
-
-                    } else {
-                        //重新设置月份
-                        wvMonth.setAdapter(new NumericWheelAdapter(1, 12));
-                        //重新设置日
-                        setReDay(year_num, wvMonth.getCurrentItem() + 1, 1, 31, list_big, list_little);
+                public void accept(Boolean aBoolean) {
+                    if (aBoolean) {
+                        Intent cameraIntent = new Intent(
+                                "android.media.action.IMAGE_CAPTURE");
+                        cameraIntent.putExtra("output", PhotoUtils
+                                .getCameraStrImgCachePathUri(mContext));
+                        cameraIntent.putExtra(
+                                "android.intent.extra.videoQuality", 1);
+                        startActivityForResult(cameraIntent, 1);
                     }
                 }
-            });
-
-
-            // 添加"月"监听
-            wvMonth.setOnItemSelectedListener(new OnItemSelectedListener() {
+            }, Manifest.permission.CAMERA);
+        } else {
+            PermissionsUtils.requestPermissionToast((BaseActivity) mContext, new Consumer<Boolean>() {
                 @Override
-                public void onItemSelected(int index) {
-                    int month_num = index + 1;
-
-                    if (startYear == endYear) {
-                        month_num = month_num + startMonth - 1;
-                        if (startMonth == endMonth) {
-                            //重新设置日
-                            setReDay(currentYear, month_num, startDay, endDay, list_big, list_little);
-                        } else if (startMonth == month_num) {
-
-                            //重新设置日
-                            setReDay(currentYear, month_num, startDay, 31, list_big, list_little);
-                        } else if (endMonth == month_num) {
-                            setReDay(currentYear, month_num, 1, endDay, list_big, list_little);
-                        } else {
-                            setReDay(currentYear, month_num, 1, 31, list_big, list_little);
-                        }
-                    } else if (currentYear == startYear) {
-                        month_num = month_num + startMonth - 1;
-                        if (month_num == startMonth) {
-                            //重新设置日
-                            setReDay(currentYear, month_num, startDay, 31, list_big, list_little);
-                        } else {
-                            //重新设置日
-                            setReDay(currentYear, month_num, 1, 31, list_big, list_little);
-                        }
-
-                    } else if (currentYear == endYear) {
-                        if (month_num == endMonth) {
-                            //重新设置日
-                            setReDay(currentYear, wvMonth.getCurrentItem() + 1, 1, endDay, list_big, list_little);
-                        } else {
-                            setReDay(currentYear, wvMonth.getCurrentItem() + 1, 1, 31, list_big, list_little);
-                        }
-
-                    } else {
-                        //重新设置日
-                        setReDay(currentYear, month_num, 1, 31, list_big, list_little);
+                public void accept(Boolean aBoolean) {
+                    if (aBoolean) {
+                        Intent intent = new Intent(mContext, PickImageActivity.class);
+                        intent.putExtra(IntentConstant.CROPPER, false);
+                        startActivityForResult(intent, 0);
                     }
-
                 }
-            });
+            }, Manifest.permission.READ_EXTERNAL_STORAGE);
         }
+    }
 
-        private void setReDay(int year_num, int monthNum, int startD, int endD, List<String> list_big, List<String> list_little) {
-            int currentItem = wvDay.getCurrentItem();
-
-//        int maxItem;
-            if (list_big.contains(String.valueOf(monthNum))) {
-                if (endD > 31) {
-                    endD = 31;
-                }
-                wvDay.setAdapter(new NumericWheelAdapter(startD, endD));
-//            maxItem = endD;
-            } else if (list_little.contains(String.valueOf(monthNum))) {
-                if (endD > 30) {
-                    endD = 30;
-                }
-                wvDay.setAdapter(new NumericWheelAdapter(startD, endD));
-//            maxItem = endD;
-            } else {
-                if ((year_num % 4 == 0 && year_num % 100 != 0)
-                        || year_num % 400 == 0) {
-                    if (endD > 29) {
-                        endD = 29;
-                    }
-                    wvDay.setAdapter(new NumericWheelAdapter(startD, endD));
-//                maxItem = endD;
-                } else {
-                    if (endD > 28) {
-                        endD = 28;
-                    }
-                    wvDay.setAdapter(new NumericWheelAdapter(startD, endD));
-//                maxItem = endD;
-                }
-            }
-
-            if (currentItem > wvDay.getAdapter().getItemsCount() - 1) {
-                currentItem = wvDay.getAdapter().getItemsCount() - 1;
-                wvDay.setCurrentItem(currentItem);
-            }
+    /**
+     * 当获取到图片
+     *
+     * @param position
+     */
+    @Override
+    public void onImageTake(String imageUrl, int position) {
+        if (position == 0) {
+            ImageLoaderUtil.getInstance().loadRoundImage(imageUrl, 6, ivFront);
+        }
+        if (position == 1) {
+            ImageLoaderUtil.getInstance().loadRoundImage(imageUrl, 6, ivReverse);
         }
     }
 
+    /**
+     * activity回调
+     *
+     * @param requestCode
+     * @param resultCode
+     * @param data
+     */
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        mvpPresenter.onActivityForResult(requestCode, resultCode, data);
+    }
 }

+ 45 - 0
app/src/main/java/com/webrain/dailypay/ui/adapter/IntTagWheelAdapter.java

@@ -0,0 +1,45 @@
+package com.webrain.dailypay.ui.adapter;
+
+import com.contrarywind.adapter.WheelAdapter;
+
+public class IntTagWheelAdapter implements WheelAdapter<String> {
+    private int minValue;
+    private int maxValue;
+    private String tag;
+
+    /**
+     * Constructor
+     *
+     * @param minValue the wheel min value
+     * @param maxValue the wheel max value
+     */
+    public IntTagWheelAdapter(int minValue, int maxValue, String tag) {
+        this.minValue = minValue;
+        this.maxValue = maxValue;
+        this.tag = tag;
+    }
+
+    @Override
+    public String getItem(int index) {
+        if (index >= 0 && index < getItemsCount()) {
+            int value = minValue + index;
+            return value + tag;
+        }
+        return 0 + tag;
+    }
+
+    @Override
+    public int getItemsCount() {
+        return maxValue - minValue + 1;
+    }
+
+    @Override
+    public int indexOf(String o) {
+        try {
+            return Integer.parseInt(o.replace(tag, "")) - minValue;
+        } catch (Exception e) {
+            return -1;
+        }
+
+    }
+}

+ 13 - 0
app/src/main/java/com/webrain/dailypay/ui/fragment/MeFragment.java

@@ -1,5 +1,6 @@
 package com.webrain.dailypay.ui.fragment;
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -8,10 +9,14 @@ import android.view.View;
 import android.view.ViewGroup;
 
 import com.webrain.dailypay.R;
+import com.webrain.dailypay.ui.activity.identity.IdentityCompanyActivity;
 import com.webrain.dailypay.ui.base.BaseFragment;
+import com.webrain.dailypay.ui.mvp.contacts.IdentityCompanyContacts;
 import com.webrain.dailypay.ui.mvp.contacts.MeFragmentContacts;
 import com.webrain.dailypay.ui.mvp.presenter.MeFragmentPresenter;
 
+import butterknife.OnClick;
+
 
 public class MeFragment extends BaseFragment<MeFragmentPresenter> implements MeFragmentContacts.IMeFragmentView {
 
@@ -49,4 +54,12 @@ public class MeFragment extends BaseFragment<MeFragmentPresenter> implements MeF
         super.onDestroyView();
     }
 
+    @OnClick(R.id.ll_company)
+    public void onClick(View view) {
+        switch (view.getId()) {
+            case R.id.ll_company:
+                startActivity(new Intent(mContext, IdentityCompanyActivity.class));
+                break;
+        }
+    }
 }

+ 20 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/contacts/IdentityCompanyContacts.java

@@ -1,15 +1,35 @@
 package com.webrain.dailypay.ui.mvp.contacts;
 
+import android.content.Intent;
+
+import com.webrain.dailypay.callback.MvpDataCallBack;
 import com.webrain.dailypay.ui.base.IPresenter;
 import com.webrain.dailypay.ui.base.IView;
 
 public class IdentityCompanyContacts {
     public interface IIdentityCompanyView extends IView {
+        void onImageType(String type, int clickPosition);
+
+        void onImageTake(String imageUrl, int position);
     }
 
     public interface IIdentityCompanyPresenter extends IPresenter {
+        void getImageType(int clickPosition);
+
+        void onActivityForResult(int requestCode, int resultCode, Intent data);
+
+        boolean isValid(String name, String date, int isLong);
+
+        void realAuthentication(String name, String date, int isLong, int isHuman);
     }
 
     public interface IIdentityCompanyModel {
+        void getImageType(MvpDataCallBack<String> mvpDataCallBack, int clickPosition);
+
+        void onActivityForResult(int requestCode, int resultCode, Intent data, MvpDataCallBack<Integer> callBack);
+
+        void httpRealAuthentication(String name, String date, int isHuman, MvpDataCallBack<Boolean> callBack);
+
+        String getImagePath(int position);
     }
 }

+ 139 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/model/IdentityCompanyModel.java

@@ -1,12 +1,151 @@
 package com.webrain.dailypay.ui.mvp.model;
 
 import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.widget.Toast;
 
+import com.webrain.baselibrary.IntentConstant;
+import com.webrain.baselibrary.utils.CommonUtils;
+import com.webrain.baselibrary.utils.SharedPreferencesUtils;
+import com.webrain.baselibrary.utils.ToastUtils;
+import com.webrain.dailypay.R;
+import com.webrain.dailypay.bean.api.ApiNormalBean;
+import com.webrain.dailypay.callback.MvpDataCallBack;
+import com.webrain.dailypay.http.ApiObserver;
+import com.webrain.dailypay.http.RetrofitHttpParams;
+import com.webrain.dailypay.http.subscribe.AnterpriseSubscribe;
+import com.webrain.dailypay.http.subscribe.LoginSubscribe;
+import com.webrain.dailypay.ui.activity.identity.IdentityCompanyActivity;
+import com.webrain.dailypay.ui.activity.identity.IdentityRecruitersActivity;
+import com.webrain.dailypay.ui.activity.image.CropperImageActivity;
 import com.webrain.dailypay.ui.base.BaseModel;
 import com.webrain.dailypay.ui.mvp.contacts.IdentityCompanyContacts;
+import com.webrain.dailypay.utils.AlertDialogUtils;
+import com.webrain.dailypay.utils.FileUtils;
+
+import java.io.File;
+
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
 
 public class IdentityCompanyModel extends BaseModel implements IdentityCompanyContacts.IIdentityCompanyModel {
+    private int clickPosition;
+    private String imagePathPositive, imagePathReverse;
+
     public IdentityCompanyModel(Context mContext) {
         super(mContext);
     }
+
+    /**
+     * 选择获取图片类型
+     *
+     * @param mvpDataCallBack
+     * @param clickPosition
+     */
+    @Override
+    public void getImageType(final MvpDataCallBack<String> mvpDataCallBack, int clickPosition) {
+        this.clickPosition = clickPosition;
+        AlertDialogUtils.itemSelectDialog(mContext, mContext.getString(R.string.picture), new String[]{mContext.getString(R.string.take_photo), mContext.getString(R.string.take_photo_from_album)}, new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                mvpDataCallBack.onData(which == 0 ? mContext.getString(R.string.take_photo) : mContext.getString(R.string.take_photo_from_album));
+            }
+        });
+    }
+
+    /**
+     * 图片返回结果
+     *
+     * @param requestCode
+     * @param resultCode
+     * @param data
+     * @param callBack
+     */
+    @Override
+    public void onActivityForResult(int requestCode, int resultCode, Intent data, MvpDataCallBack<Integer> callBack) {
+        if (((IdentityCompanyActivity) mContext).RESULT_OK == resultCode) {
+            String imagePath = "";
+            if (requestCode == 1) {//拍照
+                imagePath = SharedPreferencesUtils.getCameraImageFile(mContext);
+                if (imagePath == null) {
+                    Toast.makeText(mContext, R.string.op_error, Toast.LENGTH_SHORT).show();
+                }
+                if (!TextUtils.isEmpty(imagePath))
+                    imagePath = imagePath.replace("file://", "");
+                if (FileUtils.isFileExit(imagePath)) {
+                    if (clickPosition == 0) {
+                        imagePathPositive = imagePath;
+                    } else if (clickPosition == 1) {
+                        imagePathReverse = imagePath;
+                    }
+                    callBack.onData(clickPosition);
+                }
+            } else if (requestCode == 0) {//选择图片
+                imagePath = data.getStringExtra(IntentConstant.IMAGE_PATH);
+                if (!TextUtils.isEmpty(imagePath))
+                    imagePath = imagePath.replace("file://", "");
+                if (FileUtils.isFileExit(imagePath)) {
+                    if (clickPosition == 0) {
+                        imagePathPositive = imagePath;
+                    } else if (clickPosition == 1) {
+                        imagePathReverse = imagePath;
+                    }
+                    callBack.onData(clickPosition);
+                }
+            }
+        }
+    }
+
+    /**
+     * 认证
+     *
+     * @param name
+     * @param date
+     * @param isHuman
+     * @param callBack
+     */
+    @Override
+    public void httpRealAuthentication(String name, String date, int isHuman, final MvpDataCallBack<Boolean> callBack) {
+        MultipartBody.Builder builder = new RetrofitHttpParams(mContext).getRequestMultipartBody();
+        if (FileUtils.isFileExit(imagePathPositive)) {
+            File file = new File(imagePathPositive.replace("file://", ""));
+            RequestBody requestBody = RequestBody.create(
+                    MediaType.parse("multipart/form-data;charset=UTF-8"), file);
+            builder.addFormDataPart("licenseFront", file.getName(), requestBody);
+        }
+        if (FileUtils.isFileExit(imagePathReverse)) {
+            File file = new File(imagePathReverse.replace("file://", ""));
+            RequestBody requestBody = RequestBody.create(
+                    MediaType.parse("multipart/form-data;charset=UTF-8"), file);
+            builder.addFormDataPart("otherLicense", file.getName(), requestBody);
+        }
+        builder.addFormDataPart("isHumanResource", isHuman + "");
+        builder.addFormDataPart("expiryDate", date);
+        builder.addFormDataPart("enterpriseName", name);
+        new AnterpriseSubscribe(mContext).requestAnterpriseAuth(builder.build(), new ApiObserver<ApiNormalBean>(mContext, true, false) {
+            @Override
+            public void onSuccess(ApiNormalBean data) {
+                callBack.onData(true);
+            }
+
+            @Override
+            public void onFinish() {
+            }
+        });
+    }
+
+    /**
+     * 获取图片地址
+     *
+     * @param position
+     * @return
+     */
+    @Override
+    public String getImagePath(int position) {
+        return position == 0 ? imagePathPositive : imagePathReverse;
+    }
+
 }

+ 96 - 0
app/src/main/java/com/webrain/dailypay/ui/mvp/presenter/IdentityCompanyPresenter.java

@@ -1,10 +1,22 @@
 package com.webrain.dailypay.ui.mvp.presenter;
 
+import android.content.Intent;
+import android.text.TextUtils;
+
+import com.webrain.baselibrary.AppConstant;
+import com.webrain.baselibrary.EventConstant;
+import com.webrain.baselibrary.utils.ToastUtils;
+import com.webrain.dailypay.AppCacheManager;
+import com.webrain.dailypay.R;
+import com.webrain.dailypay.callback.MvpDataCallBack;
+import com.webrain.dailypay.event.StringEvent;
 import com.webrain.dailypay.ui.activity.identity.IdentityCompanyActivity;
 import com.webrain.dailypay.ui.base.BasePresenter;
 import com.webrain.dailypay.ui.mvp.contacts.IdentityCompanyContacts;
 import com.webrain.dailypay.ui.mvp.model.IdentityCompanyModel;
 
+import org.greenrobot.eventbus.EventBus;
+
 public class IdentityCompanyPresenter extends BasePresenter<IdentityCompanyActivity> implements IdentityCompanyContacts.IIdentityCompanyPresenter {
     private IdentityCompanyModel mIdentityCompanyModel;
 
@@ -12,4 +24,88 @@ public class IdentityCompanyPresenter extends BasePresenter<IdentityCompanyActiv
         super(view);
         this.mIdentityCompanyModel = new IdentityCompanyModel(mvpReference.get());
     }
+
+    /**
+     * 获取图片方式类型
+     *
+     * @param clickPosition
+     */
+    @Override
+    public void getImageType(final int clickPosition) {
+        if (isViewAttach()) {
+            mIdentityCompanyModel.getImageType(new MvpDataCallBack<String>() {
+                @Override
+                public void onData(String type) {
+                    if (isViewAttach())
+                        mvpReference.get().onImageType(type, clickPosition);
+                }
+            }, clickPosition);
+        }
+    }
+
+    /**
+     * activity回调数据
+     *
+     * @param requestCode
+     * @param resultCode
+     * @param data
+     */
+    @Override
+    public void onActivityForResult(int requestCode, int resultCode, Intent data) {
+        if (isViewAttach()) {
+            mIdentityCompanyModel.onActivityForResult(requestCode, resultCode, data, new MvpDataCallBack<Integer>() {
+                @Override
+                public void onData(Integer data) {
+                    if (isViewAttach()) {
+                        mvpReference.get().onImageTake(mIdentityCompanyModel.getImagePath(data), data);
+                    }
+                }
+            });
+        }
+    }
+
+    /**
+     * 检查数据合法性
+     *
+     * @param name
+     * @param date
+     * @param isLong
+     * @return
+     */
+    @Override
+    public boolean isValid(String name, String date, int isLong) {
+        if (TextUtils.isEmpty(name)) {
+            ToastUtils.show(mvpReference.get(), R.string.toast_input_company_name);
+            return false;
+        }
+        if (isLong == 0 && TextUtils.isEmpty(date)) {
+            ToastUtils.show(mvpReference.get(), R.string.toast_choose_get_date);
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * 招聘者认证
+     *
+     * @param name
+     */
+    @Override
+    public void realAuthentication(String name, String date, int isLong, int isHuman) {
+        if (isViewAttach() && isValid(name, date, isLong)) {
+            String uploadDate = isLong == 1 ? "2100-01-01" : date.replace("年", "-").replace("月", "-").replace("日", "-");
+            mIdentityCompanyModel.httpRealAuthentication(name, uploadDate, isHuman,
+                    new MvpDataCallBack<Boolean>() {
+                        @Override
+                        public void onData(Boolean data) {
+                            if (AppCacheManager.getInstance().isLogin()) {//todo
+//                                AppCacheManager.getInstance().getLoginModel().setAuthenticationStatus(AppConstant.APPROVE_WAIT);
+//                                AppCacheManager.getInstance().setLoginModel(AppCacheManager.getInstance().getLoginModel());//刷新本地缓存数据更新状态
+//                                EventBus.getDefault().post(new StringEvent(EventConstant.EVENT_USER_AUTHENTICATION_STATUS_CHANGE));
+//                                mvpReference.get().finish();
+                            }
+                        }
+                    });
+        }
+    }
 }

+ 200 - 0
app/src/main/java/com/webrain/dailypay/ui/viewholder/TimePickViewHolder.java

@@ -0,0 +1,200 @@
+package com.webrain.dailypay.ui.viewholder;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.ScrollView;
+
+import com.contrarywind.listener.OnItemSelectedListener;
+import com.contrarywind.view.WheelView;
+import com.webrain.dailypay.R;
+import com.webrain.dailypay.ui.adapter.IntTagWheelAdapter;
+import com.webrain.dailypay.ui.base.BaseViewHolder;
+
+import java.util.Arrays;
+import java.util.List;
+
+import butterknife.BindView;
+
+public class TimePickViewHolder extends BaseViewHolder {
+    private final int DEFAULT_START_YEAR = 1900;
+    private final int DEFAULT_END_YEAR = 2100;
+    private final int DEFAULT_START_MONTH = 1;
+    private final int DEFAULT_END_MONTH = 12;
+    private final int DEFAULT_START_DAY = 1;
+    private final int DEFAULT_END_DAY = 31;
+
+
+    private int startYear = DEFAULT_START_YEAR;
+    private int endYear = DEFAULT_END_YEAR;
+    private int startMonth = DEFAULT_START_MONTH;
+    private int endMonth = DEFAULT_END_MONTH;
+    private int startDay = DEFAULT_START_DAY;
+    private int endDay = DEFAULT_END_DAY; //表示31天的
+    private int currentYear;
+
+    @BindView(R.id.wv_year)
+    WheelView wvYear;
+    @BindView(R.id.wv_month)
+    WheelView wvMonth;
+    @BindView(R.id.wv_day)
+    WheelView wvDay;
+    ScrollView scrollView;
+
+    OnDateChangeListener onDateChangeListener;
+
+    public TimePickViewHolder(Context mContext, ScrollView scrollView, OnDateChangeListener onDateChangeListener) {
+        super(mContext);
+        this.scrollView = scrollView;
+        this.onDateChangeListener = onDateChangeListener;
+        init();
+    }
+
+    @Override
+    public int bindViewLayoutId() {
+        return R.layout.view_time_picker;
+    }
+
+    private void init() {
+        wvYear.setTextSize(14);
+        wvYear.setTextColorCenter(Color.WHITE);
+        wvYear.setTextColorOut(mContext.getResources().getColor(R.color.time_picker_out));
+        wvYear.setDividerColor(Color.TRANSPARENT);
+        wvYear.setOnTouchListener(onTouchListener);
+
+        wvMonth.setTextSize(14);
+        wvMonth.setTextColorCenter(Color.WHITE);
+        wvMonth.setTextColorOut(mContext.getResources().getColor(R.color.time_picker_out));
+        wvMonth.setDividerColor(Color.TRANSPARENT);
+        wvMonth.setOnTouchListener(onTouchListener);
+
+        wvDay.setTextSize(14);
+        wvDay.setTextColorCenter(Color.WHITE);
+        wvDay.setTextColorOut(mContext.getResources().getColor(R.color.time_picker_out));
+        wvDay.setDividerColor(Color.TRANSPARENT);
+        wvDay.setOnTouchListener(onTouchListener);
+
+        setSolar();
+    }
+
+    /**
+     * 拦截ScrollView滚动冲突
+     */
+    View.OnTouchListener onTouchListener = new View.OnTouchListener() {
+        @Override
+        public boolean onTouch(View v, MotionEvent event) {
+            if (event.getAction() == MotionEvent.ACTION_UP) {
+                scrollView.requestDisallowInterceptTouchEvent(false);
+            } else {
+                scrollView.requestDisallowInterceptTouchEvent(true);
+            }
+            return false;
+        }
+    };
+
+    /**
+     * 设置公历
+     */
+    private void setSolar() {
+        // 添加大小月月份并将其转换为list,方便之后的判断
+        String[] months_big = {"1", "3", "5", "7", "8", "10", "12"};
+        String[] months_little = {"4", "6", "9", "11"};
+
+        final List<String> list_big = Arrays.asList(months_big);
+        final List<String> list_little = Arrays.asList(months_little);
+
+        wvYear.setAdapter(new IntTagWheelAdapter(startYear, endYear, "年"));// 设置"年"的显示数据
+        wvYear.setCurrentItem(2019 - startYear);// 初始化时显示的数据
+        // 月
+        wvMonth.setAdapter(new IntTagWheelAdapter(startMonth, endMonth, "月"));
+        wvMonth.setCurrentItem(0);
+        // 日
+        wvDay.setAdapter(new IntTagWheelAdapter(startDay, endDay, "日"));
+        wvDay.setCurrentItem(0);
+
+        if (onDateChangeListener != null)
+            onDateChangeListener.onChangeDate(getDate());
+        // 添加"年"监听
+        wvYear.setOnItemSelectedListener(new OnItemSelectedListener() {
+            @Override
+            public void onItemSelected(int index) {
+                int year_num = index + startYear;
+                currentYear = year_num;
+                //重新设置日
+                setReDay(currentYear, wvMonth.getCurrentItem() + 1, 1, 31, list_big, list_little);
+                if (onDateChangeListener != null)
+                    onDateChangeListener.onChangeDate(getDate());
+            }
+        });
+
+
+        // 添加"月"监听
+        wvMonth.setOnItemSelectedListener(new OnItemSelectedListener() {
+            @Override
+            public void onItemSelected(int index) {
+                //重新设置日
+                setReDay(currentYear, index + 1, 1, 31, list_big, list_little);
+                if (onDateChangeListener != null)
+                    onDateChangeListener.onChangeDate(getDate());
+            }
+        });
+        // 添加"日"监听
+        wvDay.setOnItemSelectedListener(new OnItemSelectedListener() {
+            @Override
+            public void onItemSelected(int index) {
+                if (onDateChangeListener != null)
+                    onDateChangeListener.onChangeDate(getDate());
+            }
+        });
+    }
+
+    private void setReDay(int year_num, int monthNum, int startD, int endD, List<String> list_big, List<String> list_little) {
+        int currentItem = wvDay.getCurrentItem();
+
+//        int maxItem;
+        if (list_big.contains(String.valueOf(monthNum))) {
+            if (endD > 31) {
+                endD = 31;
+            }
+            wvDay.setAdapter(new IntTagWheelAdapter(startD, endD, "日"));
+//            maxItem = endD;
+        } else if (list_little.contains(String.valueOf(monthNum))) {
+            if (endD > 30) {
+                endD = 30;
+            }
+            wvDay.setAdapter(new IntTagWheelAdapter(startD, endD, "日"));
+//            maxItem = endD;
+        } else {
+            if ((year_num % 4 == 0 && year_num % 100 != 0)
+                    || year_num % 400 == 0) {
+                if (endD > 29) {
+                    endD = 29;
+                }
+                wvDay.setAdapter(new IntTagWheelAdapter(startD, endD, "日"));
+//                maxItem = endD;
+            } else {
+                if (endD > 28) {
+                    endD = 28;
+                }
+                wvDay.setAdapter(new IntTagWheelAdapter(startD, endD, "日"));
+//                maxItem = endD;
+            }
+        }
+
+        if (currentItem > wvDay.getAdapter().getItemsCount() - 1) {
+            currentItem = wvDay.getAdapter().getItemsCount() - 1;
+            wvDay.setCurrentItem(currentItem);
+        }
+    }
+
+    public interface OnDateChangeListener {
+        void onChangeDate(String date);
+    }
+
+    private String getDate() {
+        int month = wvMonth.getCurrentItem() + 1;
+        int day = wvDay.getCurrentItem() + 1;
+        return (wvYear.getCurrentItem() + startYear) + "年" + (month > 9 ? month : "0" + month) + "月" + (day > 9 ? day : "0" + day) + "日";
+    }
+}

+ 51 - 34
app/src/main/res/layout/activity_identity_company.xml

@@ -71,6 +71,7 @@
                                 android:layout_height="72dp"
                                 android:layout_gravity="center_horizontal"
                                 android:layout_marginLeft="10dp"
+                                android:scaleType="fitXY"
                                 android:src="@mipmap/ic_business_license" />
 
                             <TextView
@@ -114,6 +115,7 @@
                                 android:layout_height="68dp"
                                 android:layout_gravity="center_horizontal"
                                 android:layout_marginLeft="10dp"
+                                android:scaleType="fitXY"
                                 android:src="@mipmap/ic_business_license" />
 
                             <TextView
@@ -158,9 +160,9 @@
                             android:background="@null"
                             android:drawableRight="@mipmap/ic_icon_edit"
                             android:drawablePadding="7dp"
+                            android:hint="@string/hint_click_here_input_same"
                             android:minWidth="190dp"
                             android:singleLine="true"
-                            android:text="索尼电子(无锡)有限公司"
                             android:textColor="@color/text_black"
                             android:textColorHint="@color/edit_input_gray"
                             android:textSize="@dimen/px36_12sp" />
@@ -183,11 +185,13 @@
                             android:textSize="@dimen/px36_12sp" />
 
                         <RadioGroup
+                            android:id="@+id/rg_valid"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
                             android:orientation="horizontal">
 
                             <RadioButton
+                                android:id="@+id/rb_long_valid"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_marginRight="20dp"
@@ -198,9 +202,11 @@
                                 android:textSize="@dimen/px36_12sp" />
 
                             <RadioButton
+                                android:id="@+id/rb_no_long_valid"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:button="@drawable/radio_select"
+                                android:checked="true"
                                 android:paddingLeft="5dp"
                                 android:text="@string/no_long_time_valid"
                                 android:textColor="@color/text_black"
@@ -209,43 +215,51 @@
                     </LinearLayout>
 
                     <LinearLayout
+                        android:id="@+id/ll_time_over"
                         android:layout_width="match_parent"
-                        android:layout_height="30dp"
-                        android:layout_marginLeft="25dp"
-                        android:layout_marginRight="54dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical">
 
-                        <TextView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginRight="10dp"
-                            android:text="@string/identity_expiration_time_title"
-                            android:textColor="@color/text_gray"
-                            android:textSize="@dimen/px36_12sp" />
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="30dp"
+                            android:layout_marginLeft="25dp"
+                            android:layout_marginRight="54dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
 
-                        <EditText
-                            android:id="@+id/et_expiration_time"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:background="@null"
-                            android:drawableRight="@mipmap/ic_icon_edit"
-                            android:drawablePadding="7dp"
-                            android:hint="@string/hint_click_input_business_license_expiration_time"
-                            android:minWidth="151dp"
-                            android:singleLine="true"
-                            android:textColor="@color/text_black"
-                            android:textColorHint="@color/edit_input_gray"
-                            android:textSize="@dimen/px36_12sp" />
-                    </LinearLayout>
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginRight="10dp"
+                                android:text="@string/identity_expiration_time_title"
+                                android:textColor="@color/text_gray"
+                                android:textSize="@dimen/px36_12sp" />
 
-                    <LinearLayout
-                        android:id="@+id/ll_time_pick"
-                        android:layout_width="match_parent"
-                        android:layout_height="141dp"
-                        android:layout_marginRight="54dp"
-                        android:background="@color/main_purple"
-                        android:orientation="horizontal" />
+                            <TextView
+                                android:id="@+id/tv_expiration_time"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@null"
+                                android:drawableRight="@mipmap/ic_icon_edit"
+                                android:drawablePadding="7dp"
+                                android:focusable="false"
+                                android:hint="@string/hint_click_input_business_license_expiration_time"
+                                android:minWidth="151dp"
+                                android:singleLine="true"
+                                android:textColor="@color/text_black"
+                                android:textColorHint="@color/edit_input_gray"
+                                android:textSize="@dimen/px36_12sp" />
+                        </LinearLayout>
+
+                        <com.webrain.dailypay.ui.widget.ShrinkAnimationLayout
+                            android:id="@+id/sal_time_pick"
+                            android:layout_width="match_parent"
+                            android:layout_height="141dp"
+                            android:layout_marginRight="54dp"
+                            android:background="@color/main_purple"
+                            android:orientation="horizontal" />
+                    </LinearLayout>
 
                     <LinearLayout
                         android:layout_width="match_parent"
@@ -265,11 +279,13 @@
                             android:textSize="@dimen/px36_12sp" />
 
                         <RadioGroup
+                            android:id="@+id/rg_humen"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
                             android:orientation="horizontal">
 
                             <RadioButton
+                                android:id="@+id/rb_yes"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_marginRight="20dp"
@@ -281,6 +297,7 @@
                                 android:textSize="@dimen/px36_12sp" />
 
                             <RadioButton
+                                android:id="@+id/rb_no"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:button="@drawable/radio_select"

+ 3 - 0
app/src/main/res/values/strings.xml

@@ -211,6 +211,7 @@
     <string name="hint_click_choose_interview_address">点击选择面试地点</string>
     <string name="hint_click_input_interview_contact">点击输入面试联系人</string>
     <string name="hint_click_input_interview_contact_phone">点击输入面试联系人的联系方式</string>
+    <string name="hint_click_here_input_same">点击此处填写(请与执照上名称一致)</string>
 
     <string name="toast_refresh">刷新成功</string>
     <string name="toast_please_input_phone_num">请输入正确手机号</string>
@@ -229,6 +230,7 @@
     <string name="toast_input_contact_person">请输入招聘联系人</string>
     <string name="toast_input_contact_person_phone">请输入招聘联系电话</string>
     <string name="toast_input_salary">请输入薪资金额</string>
+    <string name="toast_input_company_name">请输入企业全称</string>
     <string name="toast_choose_position_address">请选择工作地点</string>
     <string name="toast_choose_salary_period">请选择薪资结算周期</string>
     <string name="toast_choose_position_salary">请选择基本薪资</string>
@@ -236,6 +238,7 @@
     <string name="toast_choose_age_range">请选择年龄要求</string>
     <string name="toast_choose_work_experience">请选择工龄要求</string>
     <string name="toast_choose_end_date">请选择截止日期</string>
+    <string name="toast_choose_get_date">请选择到期日期</string>
 
 
     <string name="tab_resume">简历</string>