diff --git a/app/build.gradle b/app/build.gradle
index ced5e53..baf917d 100755
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -107,5 +107,7 @@ dependencies {
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
testImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
+ //流布局
+ implementation "com.beloo.widget:ChipsLayoutManager:0.3.7@aar"
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5ad702b..f8999ef 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,16 @@
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
-
+
+
mFragments = new ArrayList<>();
@Override
@@ -53,20 +54,17 @@ public class BuildingViewPageActivity extends BaseActivity {
CommunityManageFragment communityFragment = new CommunityManageFragment();
BuildingManageFragment buildingManageFragment = new BuildingManageFragment();
HouseManageNewFragment houseManageNewFragment = new HouseManageNewFragment();
-// HireHouseManageFragment hireHouseManageFragment = new HireHouseManageFragment();
+ HireHouseManageFragment hireHouseManageFragment = new HireHouseManageFragment();
mFragments.add(communityFragment);
mFragments.add(buildingManageFragment);
mFragments.add(houseManageNewFragment);
-// mFragments.add(hireHouseManageFragment);
+ mFragments.add(hireHouseManageFragment);
VpNoticeAdapter adapter = new VpNoticeAdapter(getSupportFragmentManager());
mVpContent.setAdapter(adapter);
mTablayout.setxTabDisplayNum(4);
mTablayout.setupWithViewPager(mVpContent);
mTvPublish.setOnClickListener(v -> onAddPage());
-// if (!TextUtils.isEmpty("type")) {
-// mVpContent.setCurrentItem(2);
-// }
}
/**
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/activitys/NewHireHouseAddActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/activitys/NewHireHouseAddActivity.java
new file mode 100644
index 0000000..556c240
--- /dev/null
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/activitys/NewHireHouseAddActivity.java
@@ -0,0 +1,760 @@
+package com.sucstepsoft.realtimelocation.activitys.census.newhouse.activitys;
+
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.database.Cursor;
+import android.graphics.Color;
+import android.net.Uri;
+import android.os.Build;
+import android.os.Environment;
+import android.provider.MediaStore;
+import android.support.annotation.Nullable;
+import android.support.v4.content.FileProvider;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.ZoomControls;
+
+import com.baidu.mapapi.map.BaiduMap;
+import com.baidu.mapapi.map.BitmapDescriptor;
+import com.baidu.mapapi.map.BitmapDescriptorFactory;
+import com.baidu.mapapi.map.MapStatus;
+import com.baidu.mapapi.map.MapStatusUpdate;
+import com.baidu.mapapi.map.MapStatusUpdateFactory;
+import com.baidu.mapapi.map.MarkerOptions;
+import com.baidu.mapapi.map.OverlayOptions;
+import com.baidu.mapapi.map.TextureMapView;
+import com.baidu.mapapi.model.LatLng;
+import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
+import com.bigkoo.pickerview.builder.TimePickerBuilder;
+import com.bigkoo.pickerview.view.OptionsPickerView;
+import com.bigkoo.pickerview.view.TimePickerView;
+import com.google.gson.Gson;
+import com.sucstepsoft.cm_utils.constant.PathConfig;
+import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean;
+import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
+import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
+import com.sucstepsoft.cm_utils.core.widget.base.AddPhotoAdapter;
+import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
+import com.sucstepsoft.cm_utils.core.widget.views.ButtomDialogView;
+import com.sucstepsoft.cm_utils.utils.ProiderUtil;
+import com.sucstepsoft.cm_utils.utils.ToastUtils;
+import com.sucstepsoft.cm_utils.utils.UIUtil;
+import com.sucstepsoft.cm_utils.utils.UserLgUtils;
+import com.sucstepsoft.realtimelocation.R;
+import com.sucstepsoft.realtimelocation.activitys.common.PhotoActivity;
+import com.sucstepsoft.realtimelocation.activitys.issue.TakePointActivity;
+import com.sucstepsoft.realtimelocation.beans.BaseUserBean;
+import com.sucstepsoft.realtimelocation.beans.DicBean;
+import com.sucstepsoft.realtimelocation.beans.HireHouseDetailBean;
+import com.sucstepsoft.realtimelocation.beans.SaveHireHouseBean;
+import com.sucstepsoft.realtimelocation.beans.SuccessBean;
+import com.sucstepsoft.realtimelocation.net.LocationApiService;
+import com.sucstepsoft.realtimelocation.utils.ExceptionHandler;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.Unbinder;
+import io.reactivex.Observer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.annotations.NonNull;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
+import top.zibin.luban.Luban;
+import top.zibin.luban.OnCompressListener;
+
+/**
+ * 房屋添加
+ */
+public class NewHireHouseAddActivity extends BaseActivity {
+
+
+ @BindView(R.id.et_owner_name)
+ EditText mEtOwnerName;
+ @BindView(R.id.et_owner_phone)
+ EditText mEtOwnerPhone;
+ @BindView(R.id.et_house_count)
+ EditText mEtHouseCount;
+ @BindView(R.id.tv_house_frame)
+ TextView mTvHouseFrame;
+ @BindView(R.id.tv_register_date)
+ TextView mTvRegisterDate;
+ @BindView(R.id.tv_hire_type)
+ TextView mTvHireType;
+ @BindView(R.id.tv_manage_level)
+ TextView mTvManageLevel;
+ @BindView(R.id.et_hire_area)
+ EditText mEtHireArea;
+ @BindView(R.id.tv_lend_date)
+ TextView mTvLendDate;
+ @BindView(R.id.tv_loc_lng)
+ TextView mTvLocLng;
+ @BindView(R.id.mp_view)
+ TextureMapView mMpView;
+ @BindView(R.id.tv_point)
+ TextView mTvPoint;
+ @BindView(R.id.rlv_photo)
+ RecyclerView mRlvPhoto;
+ @BindView(R.id.ll_content)
+ LinearLayout mLlContent;
+ @BindView(R.id.btn_confirm)
+ Button mBtnConfirm;
+ @BindView(R.id.et_address)
+ EditText mEtAddress;
+ private Unbinder mBind;
+
+ private OptionsPickerView mDicPicker;
+ private List mDicBeanList;
+
+
+ private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ private String mId = "";
+ private BaiduMap mBaiduMap;
+ private LatLng mDefaultPoint;
+ private BitmapDescriptor mBitmapDescriptor;
+ private List mPhotos = new ArrayList<>();
+ private AddPhotoBean mCurrentBean;
+ private String mPicPath;
+ private String mPhotoIds = "";//相片Id
+ private AddPhotoAdapter mPhotoAdapter;
+ private String mSelLat;
+ private String mSelLng;
+ private DicBean mSelFrame;
+ private DicBean mSelType;
+ private DicBean mSelLevel;
+
+ @Override
+ protected int setLayoutId() {
+ return R.layout.activity_add_new_hire_house;
+ }
+
+ @Override
+ public void initData() {
+ mBind = ButterKnife.bind(this);
+ String title = getIntent().getStringExtra("title");
+ mTvBaseTitle.setText(title);
+ mId = getIntent().getStringExtra("id");
+ if (!TextUtils.isEmpty(mId)) {
+ refreshView(STATE_LOAD_LOADING);
+ getDetailById();
+ } else {
+ refreshView(STATE_LOAD_SUCCESS);
+ }
+ initContentView();
+ initPhoto();
+ initBaiduMap();
+ }
+
+ private void doSubmit() {
+ if (checkParams()) {
+ if (!TextUtils.isEmpty(mId)) {
+ doEdit();
+ } else {
+ doSave();
+ }
+ }
+
+ }
+
+ /**
+ * 保存编辑
+ */
+ private void doEdit() {
+ hideSoftKeyboard();
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "修改中...");
+ dialog.show();
+ RequestBody body = buildParams();
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .doEditHireHouse(mId, body, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull SuccessBean successBean) {
+ dialog.dismiss();
+ ToastUtils.showShort("修改成功");
+ setResult(RESULT_OK);
+ finish();
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void initContentView() {
+ mTvHouseFrame.setOnClickListener(v -> onShowDicPicker(PathConfig.DIC_BUILDING_HOUSE_FRAME, 2, 1));//结构类型
+ mTvRegisterDate.setOnClickListener(v -> onShowDate(mTvRegisterDate));//登记日期
+ mTvHireType.setOnClickListener(v -> onShowDicPicker(PathConfig.DIC_HIRE_TYPE, 2, 2));//群租房类型
+ mTvManageLevel.setOnClickListener(v -> onShowDicPicker(PathConfig.DIC_MANAGE_TYPE, 2, 3));//管理级别
+ mTvLendDate.setOnClickListener(v -> onShowDate(mTvLendDate));//出租日期
+ mBtnConfirm.setOnClickListener(v -> doSubmit());
+ }
+
+ private void onShowDate(TextView tvItem) {
+ hideSoftKeyboard();
+ TimePickerView mTimePickerView = new TimePickerBuilder(mActivity, (date, v) -> {
+ tvItem.setText(mDateFormat.format(date));
+ })
+ .setTitleText("请选日期")
+ .setCancelColor(Color.parseColor("#1189FF"))
+ .setSubmitColor(Color.parseColor("#1189FF"))
+ .setType(new boolean[]{true, true, true, false, false, false})
+ .setTitleColor(Color.parseColor("#1189FF"))
+ .build();
+ mTimePickerView.show();
+ }
+
+
+ private void initBaiduMap() {
+ mDefaultPoint = new LatLng(PathConfig.LA, PathConfig.LO);
+ mBaiduMap = mMpView.getMap();
+ MapStatus ms = new MapStatus.Builder().zoom(14).target(mDefaultPoint).build();
+ MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms);
+ View child = mMpView.getChildAt(1);
+ if (child != null && (child instanceof ImageView || child instanceof ZoomControls)) {
+ child.setVisibility(View.GONE);
+ }
+ mMpView.showZoomControls(false);
+ mBaiduMap.animateMapStatus(u);
+ mTvLocLng.setOnClickListener(v -> {
+ Intent intent = new Intent(mActivity, TakePointActivity.class);
+ startActivityForResult(intent, 1234);
+ });
+ }
+
+ /**
+ * 添加marker
+ *
+ * @param latLng
+ */
+ private void addMarker(LatLng latLng) {
+ mBaiduMap.clear();
+ mBitmapDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_marker);
+ OverlayOptions option = new MarkerOptions()
+ .position(latLng)
+ .icon(mBitmapDescriptor)
+ .animateType(MarkerOptions.MarkerAnimateType.drop);
+ mBaiduMap.addOverlay(option);
+ MapStatus ms = new MapStatus.Builder().zoom(14).target(latLng).build();
+ MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms);
+ mBaiduMap.animateMapStatus(u);
+ }
+
+
+ private void initPhoto() {
+ mPhotos.add(new AddPhotoBean());
+ mPhotoAdapter = new AddPhotoAdapter(mActivity, mPhotos);
+ mRlvPhoto.setLayoutManager(new GridLayoutManager(mActivity, 4));
+ mRlvPhoto.setAdapter(mPhotoAdapter);
+ //删除上传的相片
+ mPhotoAdapter.addOnDeleteListener(((bean, i) -> {
+ mPhotoAdapter.removeItem(bean);
+ mPhotoIds = mPhotoIds.replace(bean.getId() + ",", "");
+ }));
+ mPhotoAdapter.addOnItemClickListener(bean -> {
+ if (TextUtils.isEmpty(bean.getPath())) {
+ //空数据
+ showSelectPhoto(bean);
+ } else {
+ //预览
+ ArrayList list = new ArrayList<>();
+ list.add(bean.getPath());
+ Intent intent = new Intent();
+ intent.putExtra(PhotoActivity.TAG_IMGURL, list);
+ intent.setClass(mActivity, PhotoActivity.class);
+ startActivity(intent);
+ }
+ });
+ }
+
+ /**
+ * 显示选择图片
+ *
+ * @param bean
+ */
+ private void showSelectPhoto(AddPhotoBean bean) {
+ hideSoftKeyboard();
+ ButtomDialogView buttomDialogView = new ButtomDialogView.DialogBuilder(mActivity)
+ .setIsBackCancelable(true)
+ .setIscancelable(true)
+ .setShowLocation(Gravity.BOTTOM)
+ .setIsShowFile(false)
+ .build();
+ buttomDialogView.addOnChoseListener(new ButtomDialogView.OnChoseListener() {
+ @Override
+ public void choseFile() {
+ }
+
+ @Override
+ public void choseAlbum() {
+ mCurrentBean = bean;
+ Intent intent = new Intent(Intent.ACTION_PICK, null);
+ intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
+ "image/*");
+ startActivityForResult(intent, BaseUrlApi.PHOTO_REQUEST);
+ buttomDialogView.dismiss();
+ }
+
+ @Override
+ public void choseShoot() {
+ mCurrentBean = bean;
+ String pathStr = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + PathConfig.CATCH_PATH;
+ mPicPath = pathStr + System.currentTimeMillis() + ".jpg";
+ File file = new File(mPicPath);
+ Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
+ // 下面这句指定调用相机拍照后的照片存储的路径
+ Uri uri;
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
+ uri = Uri.fromFile(file);
+ } else {
+ uri = FileProvider.getUriForFile(mActivity, ProiderUtil.getFileProviderName(mActivity), file);
+ }
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
+ startActivityForResult(intent, BaseUrlApi.CAMERA_REQUEST);
+ }
+
+ @Override
+ public void loginOut() {
+
+ }
+
+ @Override
+ public void changePwd() {
+
+ }
+ });
+ buttomDialogView.show();
+ }
+
+ /**
+ * 上传文件
+ *
+ * @param picPath
+ */
+ private void uploadImg(String picPath, int src) {
+ File file = new File(picPath);
+ if (!file.exists()) {
+ showToast("图片路径错误.");
+ return;
+ }
+ ProgressDialog progressDialog = UIUtil.initDialog(mActivity, "正在上传...");
+ progressDialog.show();
+ String pathStr = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + PathConfig.CATCH_PATH;
+ Luban.with(mActivity)
+ .load(picPath)
+ .ignoreBy(100)
+ .setTargetDir(pathStr)
+ .filter(path -> !(TextUtils.isEmpty(path) || path.toLowerCase().endsWith(".gif")))
+ .setCompressListener(new OnCompressListener() {
+ @Override
+ public void onStart() {
+
+ }
+
+ @Override
+ public void onSuccess(File file) {
+ RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("image", file.getName(), requestFile);
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .uploadImage(body, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(BaseUserBean baseUserBean) {
+ if (progressDialog != null && progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ ToastUtils.showShort("上传成功");
+ mPhotoIds += (baseUserBean.getData() + ",");
+ mCurrentBean.setId(baseUserBean.getData());
+ mCurrentBean.setPath(picPath);
+ if (mPhotos.size() < 4) {
+ mPhotos.add(new AddPhotoBean());
+ }
+ mPhotoAdapter.notifyDataSetChanged();
+ mCurrentBean = null;
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (progressDialog != null && progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ ToastUtils.showShort("上传失败,请稍后重试.");
+ if (file.exists()) {
+ file.delete();
+ }
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ ToastUtils.showShort("图片上传失败,请稍后重试");
+ }
+ })
+ .launch();
+ }
+
+
+ private boolean checkParams() {
+ String name = mEtOwnerName.getText().toString().trim();
+ if (TextUtils.isEmpty(name)) {
+ ToastUtils.showShort("请输入房主姓名");
+ return false;
+ }
+ String phone = mEtOwnerPhone.getText().toString().trim();
+ if (TextUtils.isEmpty(phone)) {
+ ToastUtils.showShort("请输入房主联系方式");
+ return false;
+ }
+ if (mSelFrame == null) {
+ ToastUtils.showShort("请选择房屋结构");
+ return false;
+ }
+ if (mSelType == null) {
+ ToastUtils.showShort("请选择群租房类型");
+ return false;
+ }
+ if (mSelLevel == null) {
+ ToastUtils.showShort("请选择管理级别");
+ return false;
+ }
+
+ return true;
+ }
+
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case BaseUrlApi.CAMERA_REQUEST://相机
+ uploadImg(mPicPath, 1);
+ break;
+ case BaseUrlApi.PHOTO_REQUEST://相册
+ try {
+ if (data == null) return;
+ Uri uri = data.getData();
+ String[] proj = {MediaStore.Images.Media.DATA};
+ Cursor cursor = managedQuery(uri, proj, null, null, null);
+ int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
+ cursor.moveToFirst();
+ String srcPath = cursor.getString(column_index);
+ uploadImg(srcPath, 2);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ break;
+ case 1234:
+ String lo = data.getStringExtra("lo");
+ String la = data.getStringExtra("la");
+ String address = data.getStringExtra("address");
+ mSelLat = la;
+ mSelLng = lo;
+ mTvPoint.setText("经纬度:" + mSelLat + "-" + mSelLng);
+ Double laD = Double.parseDouble(la);
+ Double loD = Double.parseDouble(lo);
+ addMarker(new LatLng(laD, loD));
+ mEtAddress.setText(address);
+ break;
+ }
+ }
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+
+
+ private void onShowDicPicker(String id, int type, int source) {
+ hideSoftKeyboard();
+ if (type == 1) {
+ mDicPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> {
+ DicBean bean = mDicBeanList.get(o1);
+ chooseDic(bean, source);
+ })
+ .setTitleText("请选择")
+ .setCancelColor(Color.parseColor("#1189FF"))
+ .setSubmitColor(Color.parseColor("#1189FF"))
+ .setTitleColor(Color.parseColor("#1189FF"))
+ .build();
+ mDicPicker.setPicker(mDicBeanList);
+ mDicPicker.show();
+ } else {
+ getDicListByType(id, type, source);
+ }
+ }
+
+ private void chooseDic(DicBean bean, int source) {
+ switch (source) {
+ case 1://房屋结构
+ mSelFrame = bean;
+ mTvHouseFrame.setText(bean.getDictionaryName());
+ break;
+ case 2://类型
+ mSelType = bean;
+ mTvHireType.setText(bean.getDictionaryName());
+ break;
+ case 3://级别
+ mSelLevel = bean;
+ mTvManageLevel.setText(bean.getDictionaryName());
+ break;
+ }
+ }
+
+
+ private void getDicListByType(String pId, int i, int source) {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "获取中...");
+ dialog.show();
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .getDictListAllByPid(pId, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull List l) {
+ dialog.dismiss();
+ if (l != null && l.size() > 0) {
+ mDicBeanList = l;
+ onShowDicPicker(pId, 1, source);
+ } else {
+ ToastUtils.showShort("暂无数据");
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+
+ }
+
+
+ /**
+ * 提交数据
+ */
+ private void doSave() {
+ hideSoftKeyboard();
+ RequestBody bean = buildParams();
+ ProgressDialog progressDialog = UIUtil.initDialog(NewHireHouseAddActivity.this, "添加中...");
+ progressDialog.show();
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .doSaveHireHouse(bean, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(SuccessBean s) {
+ progressDialog.dismiss();
+ ToastUtils.showShort("添加成功");
+ setResult(RESULT_OK);
+ finish();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ progressDialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ private void getDetailById() {
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .getHireHouseDetail(mId, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(HireHouseDetailBean newCommunityDetailBean) {
+ setDataToView(newCommunityDetailBean);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void setDataToView(HireHouseDetailBean bean) {
+ mEtOwnerName.setText(bean.getHomeowner());
+ mEtOwnerPhone.setText(bean.getPhone());
+ mEtHouseCount.setText(bean.getRoomCount() + "");
+ if (!TextUtils.isEmpty(bean.getStructureId())) {
+ mSelFrame = new DicBean();
+ mSelFrame.setDictionaryId(bean.getStructureId());
+ mSelFrame.setDictionaryName(bean.getStructureName());
+ mTvHouseFrame.setText(bean.getStructureName());
+ }
+ mTvRegisterDate.setText(bean.getRegistrationDate());
+ if (!TextUtils.isEmpty(bean.getManageLevelId())) {
+ mSelLevel = new DicBean();
+ mSelLevel.setDictionaryId(bean.getManageLevelId());
+ mSelLevel.setDictionaryName(bean.getManageLevelName());
+ mTvManageLevel.setText(bean.getManageLevelName());
+ }
+ if (!TextUtils.isEmpty(bean.getGroupTypeId())) {
+ mSelType = new DicBean();
+ mSelType.setDictionaryId(bean.getGroupTypeId());
+ mSelType.setDictionaryName(bean.getGroupTypeName());
+ mTvHireType.setText(bean.getGroupTypeName());
+ }
+ mEtHireArea.setText(bean.getRentalArea());
+ mTvLendDate.setText(bean.getRentalDate());
+ mEtAddress.setText(bean.getAddress());
+ if (!TextUtils.isEmpty(bean.getLatitude()) && !TextUtils.isEmpty(bean.getLongitude())) {
+ mSelLat = bean.getLatitude();
+ mSelLng = bean.getLongitude();
+ Double lat = Double.parseDouble(bean.getLatitude());
+ Double lng = Double.parseDouble(bean.getLongitude());
+ mTvPoint.setText("经纬度:" + mSelLat + "-" + mSelLng);
+ addMarker(new LatLng(lat, lng));
+ }
+ if (!TextUtils.isEmpty(bean.getImage())) {
+ String[] photos = bean.getImage().split(",");
+ mPhotos.clear();
+ for (int i = 0; i < photos.length; i++) {
+ AddPhotoBean pBean = new AddPhotoBean();
+ pBean.setId(photos[i]);
+ pBean.setPath(BaseUrlApi.BASE_IMG_URL + photos[i]);
+ mPhotos.add(pBean);
+ }
+ if (mPhotos.size() < 9) {
+ mPhotos.add(new AddPhotoBean());
+ }
+ mPhotoAdapter.setData(mPhotos);
+ }
+
+ refreshView(STATE_LOAD_SUCCESS);
+ }
+
+
+ /**
+ * 构建提交参数
+ *
+ * @return
+ */
+ private RequestBody buildParams() {
+ SaveHireHouseBean bean = new SaveHireHouseBean();
+ String name = mEtOwnerName.getText().toString().trim();
+ bean.setHomeowner(name);
+ String phone = mEtOwnerPhone.getText().toString().trim();
+ bean.setPhone(phone);
+ String count = mEtHouseCount.getText().toString().trim();
+ bean.setRoomCount(TextUtils.isEmpty(count) ? 0 : Integer.parseInt(count));
+
+ bean.setStructureId(mSelFrame.getDictionaryId());
+ bean.setStructureName(mSelFrame.getDictionaryName());
+ String registerDate = mTvRegisterDate.getText().toString().trim();
+ bean.setRegistrationDate(registerDate);
+ bean.setManageLevelId(mSelLevel.getDictionaryId());
+ bean.setManageLevelName(mSelLevel.getDictionaryName());
+ bean.setGroupTypeId(mSelType.getDictionaryId());
+ bean.setGroupTypeName(mSelType.getDictionaryName());
+ String hireArea = mEtHireArea.getText().toString().trim();
+ bean.setRentalArea(hireArea);
+ String lendDate = mTvLendDate.getText().toString().trim();
+ bean.setRentalDate(lendDate);
+ String addres = mEtAddress.getText().toString().trim();
+ bean.setAddress(addres);
+ bean.setLatitude(mSelLat);
+ bean.setLongitude(mSelLng);
+ String ids = "";
+ for (int i = 0; i < mPhotoAdapter.getData().size(); i++) {
+ if (!TextUtils.isEmpty(mPhotoAdapter.getData().get(i).getId())) {
+ ids += mPhotoAdapter.getData().get(i).getId() + ",";
+ }
+ }
+ if (ids.endsWith(",")) {
+ ids = ids.substring(0, ids.length() - 1);
+ }
+ bean.setImage(ids);
+ Gson gson = new Gson();
+ String obj = gson.toJson(bean);
+ RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
+ return requestBody;
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/activitys/NewHireHouseDetailActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/activitys/NewHireHouseDetailActivity.java
new file mode 100644
index 0000000..5caaf0d
--- /dev/null
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/activitys/NewHireHouseDetailActivity.java
@@ -0,0 +1,309 @@
+package com.sucstepsoft.realtimelocation.activitys.census.newhouse.activitys;
+
+import android.app.AlertDialog;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.ZoomControls;
+
+import com.baidu.mapapi.map.BaiduMap;
+import com.baidu.mapapi.map.BitmapDescriptor;
+import com.baidu.mapapi.map.BitmapDescriptorFactory;
+import com.baidu.mapapi.map.MapStatus;
+import com.baidu.mapapi.map.MapStatusUpdate;
+import com.baidu.mapapi.map.MapStatusUpdateFactory;
+import com.baidu.mapapi.map.MarkerOptions;
+import com.baidu.mapapi.map.OverlayOptions;
+import com.baidu.mapapi.map.TextureMapView;
+import com.baidu.mapapi.model.LatLng;
+import com.sucstepsoft.cm_utils.constant.PathConfig;
+import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean;
+import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
+import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
+import com.sucstepsoft.cm_utils.core.widget.base.AddPhotoAdapter;
+import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
+import com.sucstepsoft.cm_utils.utils.ToastUtils;
+import com.sucstepsoft.cm_utils.utils.UIUtil;
+import com.sucstepsoft.cm_utils.utils.UserLgUtils;
+import com.sucstepsoft.realtimelocation.R;
+import com.sucstepsoft.realtimelocation.activitys.common.PhotoActivity;
+import com.sucstepsoft.realtimelocation.beans.HireHouseDetailBean;
+import com.sucstepsoft.realtimelocation.beans.SuccessBean;
+import com.sucstepsoft.realtimelocation.net.LocationApiService;
+import com.sucstepsoft.realtimelocation.utils.ExceptionHandler;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.Unbinder;
+import io.reactivex.Observer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.annotations.NonNull;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * 出租房详情
+ */
+public class NewHireHouseDetailActivity extends BaseActivity {
+
+
+ @BindView(R.id.tv_owner_name)
+ TextView mTvOwnerName;
+ @BindView(R.id.tv_owner_phone)
+ TextView mTvOwnerPhone;
+ @BindView(R.id.tv_house_count)
+ TextView mTvHouseCount;
+ @BindView(R.id.tv_house_frame)
+ TextView mTvHouseFrame;
+ @BindView(R.id.tv_register_date)
+ TextView mTvRegisterDate;
+ @BindView(R.id.tv_hire_type)
+ TextView mTvHireType;
+ @BindView(R.id.tv_manage_level)
+ TextView mTvManageLevel;
+
+ @BindView(R.id.tv_lend_date)
+ TextView mTvLendDate;
+ @BindView(R.id.tv_loc_lng)
+ TextView mTvLocLng;
+ @BindView(R.id.mp_view)
+ TextureMapView mMpView;
+ @BindView(R.id.tv_point)
+ TextView mTvPoint;
+ @BindView(R.id.rlv_photo)
+ RecyclerView mRlvPhoto;
+ @BindView(R.id.btn_del)
+ Button mBtnDel;
+ @BindView(R.id.btn_edit)
+ Button mBtnEdit;
+ @BindView(R.id.ll_btns)
+ LinearLayout mLlBtns;
+ @BindView(R.id.tv_hire_area)
+ TextView mTvHireArea;
+ @BindView(R.id.tv_address)
+ TextView mTvAddress;
+
+ private Unbinder mBind;
+
+
+ private BaiduMap mBaiduMap;
+ private LatLng mDefaultPoint;
+ private BitmapDescriptor mBitmapDescriptor;
+ private List mPhotos = new ArrayList<>();
+ private AddPhotoAdapter mPhotoAdapter;
+
+ private String mId;
+
+ @Override
+ protected int setLayoutId() {
+ return R.layout.activity_detail_new_hire_house;
+ }
+
+ @Override
+ public void initData() {
+ mBind = ButterKnife.bind(this);
+ mTvBaseTitle.setText("详情");
+ refreshView(STATE_LOAD_LOADING);
+ mId = getIntent().getStringExtra("id");
+ initContentView();
+ initBaiduMap();
+ getDetailById();
+ }
+
+ /**
+ * 获取详情
+ */
+ private void getDetailById() {
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .getHireHouseDetail(mId, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(HireHouseDetailBean newCommunityDetailBean) {
+ setDataToView(newCommunityDetailBean);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 显示内容
+ */
+ private void setDataToView(HireHouseDetailBean bean) {
+ mTvOwnerName.setText(bean.getHomeowner());
+ mTvOwnerPhone.setText(bean.getPhone());
+ mTvHouseCount.setText(bean.getRoomCount() + "");
+ mTvHouseFrame.setText(bean.getStructureName());
+ mTvRegisterDate.setText(bean.getRegistrationDate());
+ mTvManageLevel.setText(bean.getManageLevelName());
+ mTvHireType.setText(bean.getGroupTypeName());
+ mTvHireArea.setText(bean.getRentalArea());
+ mTvLendDate.setText(bean.getRentalDate());
+ mTvAddress.setText(bean.getAddress());
+
+ if (!TextUtils.isEmpty(bean.getLatitude())) {
+ Double lat = Double.parseDouble(bean.getLatitude());
+ Double lng = Double.parseDouble(bean.getLongitude());
+ mTvPoint.setText("经纬度:" + bean.getLatitude() + "-" + bean.getLongitude());
+ addMarker(new LatLng(lat, lng));
+ }
+ if (!TextUtils.isEmpty(bean.getImage())) {
+ String[] photos = bean.getImage().split(",");
+ mPhotos.clear();
+ for (int i = 0; i < photos.length; i++) {
+ AddPhotoBean pBean = new AddPhotoBean();
+ pBean.setId(photos[i]);
+ pBean.setPath(BaseUrlApi.BASE_IMG_URL + photos[i]);
+ mPhotos.add(pBean);
+ }
+ mPhotoAdapter.setData(mPhotos);
+ }
+ if (UserLgUtils.getUserId().equals(bean.getCreator())) {
+ mLlBtns.setVisibility(View.VISIBLE);
+ } else {
+ mLlBtns.setVisibility(View.GONE);
+ }
+ refreshView(STATE_LOAD_SUCCESS);
+ }
+
+ private void initContentView() {
+ mPhotoAdapter = new AddPhotoAdapter(mActivity, mPhotos);
+ mRlvPhoto.setLayoutManager(new GridLayoutManager(mActivity, 4));
+ mRlvPhoto.setAdapter(mPhotoAdapter);
+
+ mPhotoAdapter.addOnItemClickListener(bean -> {
+ if (TextUtils.isEmpty(bean.getPath())) {
+ //空数据
+ } else {
+ //预览
+ ArrayList list = new ArrayList<>();
+ list.add(bean.getPath());
+ Intent intent = new Intent();
+ intent.putExtra(PhotoActivity.TAG_IMGURL, list);
+ intent.setClass(mActivity, PhotoActivity.class);
+ startActivity(intent);
+ }
+ });
+ mBtnEdit.setOnClickListener(v -> {
+ Intent intent = new Intent(mActivity, NewHireHouseAddActivity.class);
+ intent.putExtra("id", mId);
+ intent.putExtra("title", "出租房信息编辑");
+ startActivityForResult(intent, 1234);
+ });
+ mBtnDel.setOnClickListener(v -> doDel());
+ }
+
+ private void doDel() {
+ AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
+ builder.setTitle("提示")
+ .setMessage("确定要删除该小区信息吗?")
+ .setPositiveButton("确定", (dialog, which) -> {
+ dialog.dismiss();
+ ProgressDialog dialog1 = UIUtil.initDialog(mActivity, "删除中...");
+ dialog1.show();
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .doDelHireHouse(mId, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull SuccessBean successBean) {
+ ToastUtils.showShort("删除成功");
+ dialog1.dismiss();
+ setResult(RESULT_OK);
+ finish();
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ dialog1.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ })
+ .setNegativeButton("取消", (dialog, which) -> dialog.dismiss())
+ .create()
+ .show();
+ }
+
+
+ private void initBaiduMap() {
+ mDefaultPoint = new LatLng(PathConfig.LA, PathConfig.LO);
+ mBaiduMap = mMpView.getMap();
+ MapStatus ms = new MapStatus.Builder().zoom(14).target(mDefaultPoint).build();
+ MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms);
+ View child = mMpView.getChildAt(1);
+ if (child != null && (child instanceof ImageView || child instanceof ZoomControls)) {
+ child.setVisibility(View.GONE);
+ }
+ mMpView.showZoomControls(false);
+ mBaiduMap.animateMapStatus(u);
+
+ }
+
+ /**
+ * 添加marker
+ *
+ * @param latLng
+ */
+ private void addMarker(LatLng latLng) {
+ mBaiduMap.clear();
+ mBitmapDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_marker);
+ OverlayOptions option = new MarkerOptions()
+ .position(latLng)
+ .icon(mBitmapDescriptor)
+ .animateType(MarkerOptions.MarkerAnimateType.drop);
+ mBaiduMap.addOverlay(option);
+ MapStatus ms = new MapStatus.Builder().zoom(14).target(latLng).build();
+ MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms);
+ mBaiduMap.animateMapStatus(u);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ if (resultCode == RESULT_OK) {
+ refreshView(STATE_LOAD_LOADING);
+ getDetailById();
+ }
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/fragments/HireHouseManageFragment.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/fragments/HireHouseManageFragment.java
index b1e231d..5fe9d50 100644
--- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/fragments/HireHouseManageFragment.java
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/newhouse/fragments/HireHouseManageFragment.java
@@ -1,7 +1,6 @@
package com.sucstepsoft.realtimelocation.activitys.census.newhouse.fragments;
import android.app.Activity;
-import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
@@ -15,12 +14,11 @@ import com.sucstepsoft.cm_utils.core.widget.base.LazyFragment;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.realtimelocation.R;
-import com.sucstepsoft.realtimelocation.activitys.census.newhouse.activitys.NewHouseAddActivity;
+import com.sucstepsoft.realtimelocation.activitys.census.newhouse.activitys.NewHireHouseAddActivity;
+import com.sucstepsoft.realtimelocation.activitys.census.newhouse.activitys.NewHireHouseDetailActivity;
import com.sucstepsoft.realtimelocation.activitys.census.newhouse.activitys.NewHouseDetailActivity;
import com.sucstepsoft.realtimelocation.adapters.HireHouseAdapter;
-import com.sucstepsoft.realtimelocation.adapters.NewHouseAdapter;
import com.sucstepsoft.realtimelocation.beans.HireHouseBean;
-import com.sucstepsoft.realtimelocation.beans.NewHouseBean;
import com.sucstepsoft.realtimelocation.net.LocationApiService;
import java.util.ArrayList;
@@ -89,7 +87,7 @@ public class HireHouseManageFragment extends LazyFragment {
private void showIssueDetail(HireHouseBean.RowsBean bean) {
Intent intent = new Intent();
intent.putExtra("id", bean.getRentalId());
- intent.setClass(mActivity, NewHouseDetailActivity.class);
+ intent.setClass(mActivity, NewHireHouseDetailActivity.class);
startActivityForResult(intent, 1234);
}
@@ -129,8 +127,8 @@ public class HireHouseManageFragment extends LazyFragment {
@Override
public void startAddActivity(String id) {
- Intent intent = new Intent(mActivity, NewHouseAddActivity.class);
- intent.putExtra("title", "房屋信息录入");
+ Intent intent = new Intent(mActivity, NewHireHouseAddActivity.class);
+ intent.putExtra("title", "出租房信息录入");
startActivityForResult(intent, 1234);
}
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterAddActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterAddActivity.java
index 398f41b..0c05c83 100644
--- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterAddActivity.java
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterAddActivity.java
@@ -2,6 +2,7 @@ package com.sucstepsoft.realtimelocation.activitys.census.normal;
import android.app.ProgressDialog;
import android.graphics.Color;
+import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.widget.Button;
import android.widget.EditText;
@@ -10,6 +11,7 @@ import android.widget.RadioGroup;
import android.widget.Switch;
import android.widget.TextView;
+import com.beloo.widget.chipslayoutmanager.ChipsLayoutManager;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.view.OptionsPickerView;
@@ -19,12 +21,15 @@ import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.views.AreaChooseDialog;
+import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.RegexUtils;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UIUtil;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.realtimelocation.R;
+import com.sucstepsoft.realtimelocation.adapters.PersonTagAdapter;
import com.sucstepsoft.realtimelocation.beans.DicBean;
+import com.sucstepsoft.realtimelocation.beans.PersonTag;
import com.sucstepsoft.realtimelocation.beans.SuccessBean;
import com.sucstepsoft.realtimelocation.beans.person.BaseRegisterDetailBean;
import com.sucstepsoft.realtimelocation.beans.person.CensusmsgBean;
@@ -32,6 +37,7 @@ import com.sucstepsoft.realtimelocation.net.LocationApiService;
import com.sucstepsoft.realtimelocation.utils.ExceptionHandler;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
@@ -189,6 +195,10 @@ public class CensusRegisterAddActivity extends BaseActivity {
EditText mEtDangqitashuoming;
@BindView(R.id.btn_confirm)
Button mBtnConfirm;
+ @BindView(R.id.rlv_tags)
+ RecyclerView mRlvTags;
+ @BindView(R.id.rb_retire)
+ RadioButton mRbRetire;
private Unbinder mBind;
private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd");
private int mCurrentHealthType = -1;//当前选择的那个健康状况
@@ -288,6 +298,7 @@ public class CensusRegisterAddActivity extends BaseActivity {
private String mSelAreaName = "";
private String mSelAreaCode = "";
private String mId;
+ private PersonTagAdapter mTagAdapter;
@Override
protected int setLayoutId() {
@@ -299,6 +310,7 @@ public class CensusRegisterAddActivity extends BaseActivity {
mBind = ButterKnife.bind(this);
mId = getIntent().getStringExtra("id");
String title = getIntent().getStringExtra("title");
+ getPersonTags();
if (!TextUtils.isEmpty(mId)) {
//编辑
refreshView(STATE_LOAD_LOADING);
@@ -311,6 +323,43 @@ public class CensusRegisterAddActivity extends BaseActivity {
initContentView();
}
+ /**
+ * 获取人员信息标签
+ */
+ private void getPersonTags() {
+ RetrofitManager.getInstance()
+ .create(LocationApiService.class)
+ .getPersonTags(UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(List tags) {
+ if (tags != null && tags.size() > 0) {
+ mTags = tags;
+ mTagAdapter.setData(mTags);
+ } else {
+
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
private String mSelGetJob = "已就业";
/**
@@ -358,11 +407,21 @@ public class CensusRegisterAddActivity extends BaseActivity {
} else if (checkedId == R.id.rb_so) {
//灵活就业
mSelGetJob = "灵活就业";
+ } else if (checkedId == R.id.rb_retire) {
+ mSelGetJob = "退休";
}
});
mBtnConfirm.setOnClickListener(v -> doSubmit());
+ ChipsLayoutManager chipsLayoutManager = ChipsLayoutManager.newBuilder(mActivity)
+ .setOrientation(ChipsLayoutManager.HORIZONTAL)
+ .build();
+ mTagAdapter = new PersonTagAdapter(mActivity, mTags, true);
+ mRlvTags.setLayoutManager(chipsLayoutManager);
+ mRlvTags.setAdapter(mTagAdapter);
}
+ private List mTags = new ArrayList<>();
+
/**
* 显示字典选项
*/
@@ -631,6 +690,8 @@ public class CensusRegisterAddActivity extends BaseActivity {
mRbDiss2.setChecked(true);
} else if ("灵活就业".equals(bean.getDepartmentType())) {
mRbSo.setChecked(true);
+ } else if ("退休".equals(bean.getDepartmentType())) {
+ mRbRetire.setChecked(true);
}
// String workplace = mEtWorkplace.getText().toString().trim();
// bean.setDepartment(workplace);//工作单位
@@ -768,6 +829,12 @@ public class CensusRegisterAddActivity extends BaseActivity {
// String qitashuoming = mEtDangqitashuoming.getText().toString().trim();
// bean.setOthertext(qitashuoming);//其他说明
mEtDangqitashuoming.setText(bean.getOthertext());
+ for (int i = 0; i < mTags.size(); i++) {
+ if (bean.getLabel().contains(mTags.get(i).getId())) {
+ mTags.get(i).setCheck(true);
+ }
+ }
+ mTagAdapter.setData(mTags);
refreshView(STATE_LOAD_SUCCESS);
}
@@ -1058,6 +1125,18 @@ public class CensusRegisterAddActivity extends BaseActivity {
bean.setPartyTime(rudangshijian);//入党时间
String qitashuoming = mEtDangqitashuoming.getText().toString().trim();
bean.setOthertext(qitashuoming);//其他说明
+ List data = mTagAdapter.getData();
+ LogUtils.e(data);
+ String tags = "";
+ for (int i = 0; i < data.size(); i++) {
+ if(data.get(i).isCheck()){
+ tags += data.get(i).getId() + ",";
+ }
+ }
+ if (tags.endsWith(",")) {
+ tags = tags.substring(0, tags.length() - 1);
+ }
+ bean.setLabel(tags);
Gson gson = new Gson();
String obj = gson.toJson(bean);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterDetailActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterDetailActivity.java
index 123a944..d3bd507 100644
--- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterDetailActivity.java
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/normal/CensusRegisterDetailActivity.java
@@ -1,13 +1,14 @@
package com.sucstepsoft.realtimelocation.activitys.census.normal;
import android.content.Intent;
+import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RadioButton;
-import android.widget.RadioGroup;
import android.widget.Switch;
import android.widget.TextView;
+import com.beloo.widget.chipslayoutmanager.ChipsLayoutManager;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
@@ -19,7 +20,9 @@ import com.sucstepsoft.realtimelocation.activitys.census.special.CensusHeresyLis
import com.sucstepsoft.realtimelocation.activitys.census.special.CensusPetitionListActivity;
import com.sucstepsoft.realtimelocation.activitys.census.special.CensusSecurityListActivity;
import com.sucstepsoft.realtimelocation.activitys.census.special.CensusSpecialCriminalListActivity;
+import com.sucstepsoft.realtimelocation.adapters.PersonTagAdapter;
import com.sucstepsoft.realtimelocation.beans.OperateBean;
+import com.sucstepsoft.realtimelocation.beans.PersonTag;
import com.sucstepsoft.realtimelocation.beans.person.BaseRegisterDetailBean;
import com.sucstepsoft.realtimelocation.net.LocationApiService;
import com.sucstepsoft.realtimelocation.utils.ExceptionHandler;
@@ -81,8 +84,8 @@ public class CensusRegisterDetailActivity extends BaseActivity {
RadioButton mRbDiss2;
@BindView(R.id.rb_so)
RadioButton mRbSo;
- @BindView(R.id.rg_gtv_job)
- RadioGroup mRgGtvJob;
+ @BindView(R.id.rb_retire)
+ RadioButton mRbRetire;
@BindView(R.id.tv_workplace)
TextView mTvWorkplace;
@BindView(R.id.tv_job_title)
@@ -177,6 +180,8 @@ public class CensusRegisterDetailActivity extends BaseActivity {
TextView mTvRudangshijian;
@BindView(R.id.tv_dangqitashuoming)
TextView mTvDangqitashuoming;
+ @BindView(R.id.rlv_tags)
+ RecyclerView mRlvTags;
@BindView(R.id.ll_into_content)
LinearLayout mLlIntoContent;
private Unbinder mBind;
@@ -233,9 +238,20 @@ public class CensusRegisterDetailActivity extends BaseActivity {
mControls.add(b5);
mControls.add(b6);
mControls.add(b7);
+ ChipsLayoutManager chipsLayoutManager = ChipsLayoutManager.newBuilder(mActivity)
+ .setOrientation(ChipsLayoutManager.HORIZONTAL)
+ .build();
+ mTagAdapter = new PersonTagAdapter(mActivity, mTags,false);
+ mRlvTags.setLayoutManager(chipsLayoutManager);
+ mRlvTags.setAdapter(mTagAdapter);
+
getDetailData(id);
+
}
+ private PersonTagAdapter mTagAdapter;
+ private List mTags = new ArrayList<>();
+
/**
* 操作
*/
@@ -373,6 +389,8 @@ public class CensusRegisterDetailActivity extends BaseActivity {
mRbDiss2.setChecked(true);
} else if ("灵活就业".equals(mRegisterDetailBean.getDepartmentType())) {
mRbSo.setChecked(true);
+ } else if ("退休".equals(mRegisterDetailBean.getDepartmentType())) {
+ mRbRetire.setChecked(true);
}
// String workplace = mEtWorkplace.getText().toString().trim();
// bean.setDepartment(workplace);//工作单位
@@ -501,6 +519,13 @@ public class CensusRegisterDetailActivity extends BaseActivity {
mTvRudangshijian.setText(mRegisterDetailBean.getPartyTime());
// bean.setOthertext(qitashuoming);//其他说明
mTvDangqitashuoming.setText(mRegisterDetailBean.getOthertext());
+ mTags = mRegisterDetailBean.getLabelList();
+ if (mTags != null && mTags.size() > 0) {
+ for (int i = 0; i < mTags.size(); i++) {
+ mTags.get(i).setCheck(true);
+ }
+ }
+ mTagAdapter.setData(mTags);
refreshView(STATE_LOAD_SUCCESS);
}
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/PersonTagAdapter.java b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/PersonTagAdapter.java
new file mode 100755
index 0000000..c87dd49
--- /dev/null
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/PersonTagAdapter.java
@@ -0,0 +1,48 @@
+package com.sucstepsoft.realtimelocation.adapters;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
+import com.sucstepsoft.realtimelocation.R;
+import com.sucstepsoft.realtimelocation.adapters.holders.PersonTagHolder;
+import com.sucstepsoft.realtimelocation.beans.PersonTag;
+
+import java.util.List;
+
+/**
+ * 作者: Adam
+ * 日期: 2019/8/14 - 16:01
+ * 邮箱: itgaojian@163.com
+ * 描述:
+ */
+public class PersonTagAdapter extends BaseRecyclerAdapter {
+ private boolean isEdit = false;
+
+ public PersonTagAdapter(Context ctx, List list, boolean edit) {
+ super(ctx, list);
+ this.isEdit = edit;
+ }
+
+ @Override
+ public PersonTagHolder createHolder(ViewGroup parent, int viewType) {
+ View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_person_tag, parent, false);
+ return new PersonTagHolder(itemView);
+ }
+
+ @Override
+ public void bindHolder(PersonTagHolder holder, int i) {
+ holder.mTvName.setText(mData.get(i).getName());
+ holder.mTvName.setChecked(mData.get(i).isCheck());
+ holder.mTvName.setTextColor(Color.parseColor(mData.get(i).getColor()));
+ if (isEdit) {
+ holder.mTvName.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ holder.mTvName.setChecked(isChecked);
+ mData.get(i).setCheck(isChecked);
+ });
+ }
+ }
+}
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/PersonTagHolder.java b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/PersonTagHolder.java
new file mode 100644
index 0000000..5ed4205
--- /dev/null
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/PersonTagHolder.java
@@ -0,0 +1,25 @@
+package com.sucstepsoft.realtimelocation.adapters.holders;
+
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.TextView;
+
+import com.sucstepsoft.realtimelocation.R;
+
+/**
+ * 作者: adam
+ * 日期: 2022/8/11 - 10:54
+ * 邮箱: itgaojian@163.com
+ * 描述:
+ */
+public class PersonTagHolder extends RecyclerView.ViewHolder {
+ public CheckBox mTvName;
+
+
+ public PersonTagHolder(@NonNull View itemView) {
+ super(itemView);
+ mTvName = itemView.findViewById(R.id.tv_type_name);
+ }
+}
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/beans/PersonTag.java b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/PersonTag.java
new file mode 100644
index 0000000..63bb71c
--- /dev/null
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/PersonTag.java
@@ -0,0 +1,61 @@
+package com.sucstepsoft.realtimelocation.beans;
+
+public class PersonTag {
+
+ private String id;
+ private String name;
+ private String color;
+ private String order;
+ private boolean isCheck;
+
+ public boolean isCheck() {
+ return isCheck;
+ }
+
+ public void setCheck(boolean check) {
+ isCheck = check;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getColor() {
+ return color;
+ }
+
+ public void setColor(String color) {
+ this.color = color;
+ }
+
+ public String getOrder() {
+ return order;
+ }
+
+ public void setOrder(String order) {
+ this.order = order;
+ }
+
+ @Override
+ public String toString() {
+ return "PersonTag{" +
+ "id='" + id + '\'' +
+ ", name='" + name + '\'' +
+ ", color='" + color + '\'' +
+ ", order='" + order + '\'' +
+ ", isCheck=" + isCheck +
+ '}';
+ }
+}
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/BaseRegisterDetailBean.java b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/BaseRegisterDetailBean.java
index 6dddad9..0c887ff 100644
--- a/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/BaseRegisterDetailBean.java
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/BaseRegisterDetailBean.java
@@ -1,5 +1,9 @@
package com.sucstepsoft.realtimelocation.beans.person;
+import com.sucstepsoft.realtimelocation.beans.PersonTag;
+
+import java.util.List;
+
/**
* 作者: adam
* 日期: 2020/11/25 - 9:34 AM
@@ -8,9 +12,10 @@ package com.sucstepsoft.realtimelocation.beans.person;
*/
public class BaseRegisterDetailBean {
-
private String populationInfoId;
private String name;
+ private String label;
+ private List labelList;
private String idcard;
private String idcardType;
private String birthday;
@@ -102,6 +107,22 @@ public class BaseRegisterDetailBean {
this.name = name;
}
+ public String getLabel() {
+ return label;
+ }
+
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ public List getLabelList() {
+ return labelList;
+ }
+
+ public void setLabelList(List labelList) {
+ this.labelList = labelList;
+ }
+
public String getIdcard() {
return idcard;
}
@@ -693,4 +714,6 @@ public class BaseRegisterDetailBean {
public void setCreator(String creator) {
this.creator = creator;
}
+
+
}
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/CensusmsgBean.java b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/CensusmsgBean.java
index 9ab926c..9de1ec8 100644
--- a/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/CensusmsgBean.java
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/CensusmsgBean.java
@@ -83,6 +83,15 @@ public class CensusmsgBean {
private String succourDifficulty;
private String succourHelp;
private String succourSubsidy;
+ private String label;
+
+ public String getLabel() {
+ return label;
+ }
+
+ public void setLabel(String label) {
+ this.label = label;
+ }
public String getBirthday() {
return birthday;
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java b/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java
index e429812..c98a396 100755
--- a/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java
@@ -37,6 +37,7 @@ import com.sucstepsoft.realtimelocation.beans.PenLineBean;
import com.sucstepsoft.realtimelocation.beans.PenNewLineBean;
import com.sucstepsoft.realtimelocation.beans.PersonBaseInfoBean;
import com.sucstepsoft.realtimelocation.beans.PersonBean;
+import com.sucstepsoft.realtimelocation.beans.PersonTag;
import com.sucstepsoft.realtimelocation.beans.SearchBaseInfoBean;
import com.sucstepsoft.realtimelocation.beans.SearchHouseBean;
import com.sucstepsoft.realtimelocation.beans.SignDataBean;
@@ -325,6 +326,14 @@ public interface LocationApiService {
@POST("app/file/uploadimage")
Observable uploadImage(@Part MultipartBody.Part file, @Header("token") String token);
+ /**
+ * 上传图片 到 人口系统
+ */
+ @Headers({"base_url_name:person"})
+ @Multipart
+ @POST("app/file/uploadimage")
+ Observable uploadImageToPerson(@Part MultipartBody.Part file, @Header("token") String token);
+
/**
* 修改个人信息
*
@@ -800,6 +809,13 @@ public interface LocationApiService {
@GET("app/populationinfo/query/{idcard}")
Observable getBaseInfoByIdCard(@Path("idcard") String idCard, @Header("token") String token);
/*===========================================户籍信息===========================================*/
+
+ /**
+ * 获取人口标签
+ */
+ @Headers({"base_url_name:person", "Content-Type: application/json", "Accept: application/json"})
+ @GET("app/populationinfo/labelrelease")
+ Observable> getPersonTags(@Header("token") String token);
//================新版基础人员信息====================
/**
@@ -1509,7 +1525,7 @@ public interface LocationApiService {
@Headers({"base_url_name:person", "Content-Type: application/json", "Accept: application/json"})
@GET("app/residential/listpage")
Observable getNewCommunityList(
- @Query("street")String streetId,
+ @Query("street") String streetId,
@Query("community") String community,
@Query("page") String page,
@Query("keywords") String keywords,
@@ -1625,7 +1641,7 @@ public interface LocationApiService {
@Query("street") String street,
@Query("community") String community,
@Query("residentialId") String rId,
- @Query("buildingId")String bId,
+ @Query("buildingId") String bId,
@Query("page") String page,
@Query("keywords") String keywords,
@Header("token") String token);
@@ -1677,9 +1693,9 @@ public interface LocationApiService {
@Headers({"base_url_name:person", "Content-Type: application/json", "Accept: application/json"})
@GET("app/building/listpage")
Observable getNewBuildingList(
- @Query("street")String streetId,
- @Query("community")String community,
- @Query("residentialId")String rId,
+ @Query("street") String streetId,
+ @Query("community") String community,
+ @Query("residentialId") String rId,
@Query("page") String page,
@Query("keywords") String keywords,
@Header("token") String token);
diff --git a/app/src/main/res/color/col_red_yellow.xml b/app/src/main/res/color/col_red_yellow.xml
new file mode 100755
index 0000000..318cbce
--- /dev/null
+++ b/app/src/main/res/color/col_red_yellow.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/sel_service_type.xml b/app/src/main/res/drawable/sel_service_type.xml
new file mode 100755
index 0000000..a06614c
--- /dev/null
+++ b/app/src/main/res/drawable/sel_service_type.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_service_type_selected.xml b/app/src/main/res/drawable/shape_service_type_selected.xml
new file mode 100755
index 0000000..b6648ca
--- /dev/null
+++ b/app/src/main/res/drawable/shape_service_type_selected.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_service_type_unselected.xml b/app/src/main/res/drawable/shape_service_type_unselected.xml
new file mode 100755
index 0000000..116f8b5
--- /dev/null
+++ b/app/src/main/res/drawable/shape_service_type_unselected.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_add_new_hire_house.xml b/app/src/main/res/layout/activity_add_new_hire_house.xml
new file mode 100644
index 0000000..70760fa
--- /dev/null
+++ b/app/src/main/res/layout/activity_add_new_hire_house.xml
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_census_register_add.xml b/app/src/main/res/layout/activity_census_register_add.xml
index ab83d15..0037176 100644
--- a/app/src/main/res/layout/activity_census_register_add.xml
+++ b/app/src/main/res/layout/activity_census_register_add.xml
@@ -209,6 +209,22 @@
android:inputType="number" />
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_census_register_detail.xml b/app/src/main/res/layout/activity_census_register_detail.xml
index a62a6b0..4847d3c 100644
--- a/app/src/main/res/layout/activity_census_register_detail.xml
+++ b/app/src/main/res/layout/activity_census_register_detail.xml
@@ -164,6 +164,23 @@
/>
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -591,8 +617,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -694,8 +720,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -859,8 +885,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -916,8 +942,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -931,8 +957,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -945,8 +971,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -959,8 +985,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -973,8 +999,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
@@ -1005,8 +1031,8 @@
+ style="@style/item_switch"
+ android:enabled="false" />
diff --git a/app/src/main/res/layout/activity_detail_new_hire_house.xml b/app/src/main/res/layout/activity_detail_new_hire_house.xml
new file mode 100644
index 0000000..dc00143
--- /dev/null
+++ b/app/src/main/res/layout/activity_detail_new_hire_house.xml
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_person_tag.xml b/app/src/main/res/layout/item_person_tag.xml
new file mode 100755
index 0000000..5077e10
--- /dev/null
+++ b/app/src/main/res/layout/item_person_tag.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java
index 4a3a9ee..b28469b 100755
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java
+++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java
@@ -304,4 +304,6 @@ public class PathConfig {
public static final String DIC_BUILDING_HOUSE_TROUBLE = "34950d66-88dc-4028-9c40-8e580bf24f1a";//隐患类型
public static final String DIC_RENTING_TYPE = "df35f694-dc5d-4224-b64a-a381249b325d";//租住类型
+ public static final String DIC_HIRE_TYPE = "dd58f6fd-1144-4e8a-a38e-2fcc70733b9b";
+ public static final String DIC_MANAGE_TYPE = "e4c205d5-0617-4726-8b90-565f54a3a3f0";
}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java
index a74b06e..345a4f9 100755
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java
+++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java
@@ -9,8 +9,8 @@ import com.sucstepsoft.cm_utils.constant.PathConfig;
*/
public class BaseUrlApi {
- public static final String IP = "http://219.147.99.164:8082/usercenter/"; /*正式统一用户*/
-// public static final String IP = "http://192.168.0.15:7021/usercenter/"; /*测试统一用户*/
+// public static final String IP = "http://219.147.99.164:8082/usercenter/"; /*正式统一用户*/
+ public static final String IP = "http://192.168.0.15:7021/usercenter/"; /*测试统一用户*/
// public static final String IP = "http://175.24.42.217:7000/usercenter/"; /*测试统一用户*/
public static final String BASE_URL = IP;
public static final String APP_VERSION = BASE_URL + "appCmVersionManagement/getAppVersion";
@@ -18,13 +18,13 @@ public class BaseUrlApi {
public static final String FIELD_SAFETY = BASE_URL + "appFieldSafety/goFloorPlan";
public static final int PHOTO_REQUEST = 233;
public static final int CAMERA_REQUEST = 123;
- public static final String BASE_IP_P = "http://219.147.99.164:8082/"; /*正式IP*/
+ public static final String BASE_IP_P = "http://219.147.99.164:8082/"; /*正式IP*/
// public static final String BASE_IP_P = "http://175.24.42.217"; /*演示IP*/
// public static final String BASE_IP_P = "http://192.168.0.15:7022/"; /*测试IP*/
public static final String BASE_IP = BASE_IP_P + "servicecity/";/*网格系统*/
// public static final String BASE_IP = "http://192.168.0.109:8083/servicecity/";/*测试网格系统*/
- public static final String BASE_POPULATION_IP = BASE_IP_P + "population/";/*人口系统*/
-// public static final String BASE_POPULATION_IP = "http://192.168.0.15:7023/population/";/*人口系统 测试*/
+// public static final String BASE_POPULATION_IP = BASE_IP_P + "population/";/*人口系统*/
+ public static final String BASE_POPULATION_IP = "http://192.168.0.115:7023/population/";/*人口系统 测试*/
// public static final String BASE_POPULATION_IP = "http://192.168.0.15:7023/population/";/*人口系统*/
public static final String BASE_IMG_URL = BASE_IP + "route/file/downloadfile/true/";
public static final String SOCKET_IP = BASE_IP_P + "social/appws";/*SocketIP*/