diff --git a/.idea/misc.xml b/.idea/misc.xml index 219b34f..8a8f75b 100755 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 755ad02..8c0eba2 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -47,14 +47,29 @@ android:supportsRtl="true" android:theme="@style/AppTheme" tools:ignore="GoogleAppIndexingWarning"> - - - - + + + + + + - diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java index 9a1fe04..41b7f91 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java @@ -6,7 +6,6 @@ import android.provider.Settings; import android.support.v7.app.AlertDialog; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; -import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; @@ -29,18 +28,16 @@ import com.sucstepsoft.cm_utils.utils.PermissionUtils; import com.sucstepsoft.cm_utils.utils.ToastUtils; import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.sucstepsoft.txrealtimelocation.R; -import com.sucstepsoft.txrealtimelocation.ScreenManager; +import com.sucstepsoft.txrealtimelocation.activitys.lawlib.LawLibActivity; import com.sucstepsoft.txrealtimelocation.activitys.companylib.CompanyLibActivity; +import com.sucstepsoft.txrealtimelocation.activitys.issue.CheckOptionsActivity; import com.sucstepsoft.txrealtimelocation.activitys.issue.IssueCheckActivity; import com.sucstepsoft.txrealtimelocation.activitys.issue.IssueMineActivity; import com.sucstepsoft.txrealtimelocation.activitys.mine.UserActivity; import com.sucstepsoft.txrealtimelocation.activitys.notice.NoticeActivity; import com.sucstepsoft.txrealtimelocation.activitys.trouble.TroubleReportActivity; import com.sucstepsoft.txrealtimelocation.adapters.FunctionAdapter; -import com.sucstepsoft.txrealtimelocation.beans.AppTokenUser; -import com.sucstepsoft.txrealtimelocation.beans.SignTimeBean; import com.sucstepsoft.txrealtimelocation.beans.VersionBean; -import com.sucstepsoft.txrealtimelocation.broadcasts.ScreenBroadCastListener; import com.sucstepsoft.txrealtimelocation.net.LocationApiService; import java.io.File; @@ -56,15 +53,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; -//import com.sucstepsoft.txrealtimelocation.services.LocationService; - -//import com.sucstepsoft.txrealtimelocation.activitys.issue.IssueReportActivity; -//import com.sucstepsoft.txrealtimelocation.activitys.locus.LocusMapActivity; -//import com.sucstepsoft.txrealtimelocation.utils.PointUtils; public class MainActivity extends BaseActivity { - private static final int GPS_REQUEST_CODE = 1234; - public static boolean isForeground = false; @BindView(R.id.rlv_funcs) RecyclerView mRlvBtns; @BindView(R.id.iv_user_icon) @@ -87,8 +77,6 @@ public class MainActivity extends BaseActivity { TextView mTvAvisoNum; @BindView(R.id.ll_day_aviso) LinearLayout mLlDayAviso; - @BindView(R.id.ll_issue_dis) - LinearLayout mLlIssueDis; @BindView(R.id.tv_mine_issue_num) TextView mTvMineIssueNum; @BindView(R.id.ll_mine_issue) @@ -106,7 +94,6 @@ public class MainActivity extends BaseActivity { PermissionConstants.MICROPHONE, }; private Unbinder mBind; - private int userType = 2;//1是N员 2是片长 private List mFuncs = new ArrayList<>(); private String[] mBtnStrs = new String[]{"企业信息", "隐患上报", "隐患复查", "法律法规"}; private int[] mBtnIds = new int[]{R.drawable.ic_issue_report, @@ -114,8 +101,6 @@ public class MainActivity extends BaseActivity { R.drawable.ic_issue_disp, R.drawable.ic_work_path}; private Gson mGson = null; - private int mPrecisionDefault = 70; - private AlertDialog mGpsSettingDialog; private AlertDialog mGpsWeakDialog; @Override @@ -176,8 +161,10 @@ public class MainActivity extends BaseActivity { intent = new Intent(this, TroubleReportActivity.class); break; case "隐患复查": + intent = new Intent(this, CheckOptionsActivity.class); break; case "法律法规": + intent = new Intent(this, LawLibActivity.class); break; } startActivity(intent); @@ -290,7 +277,6 @@ public class MainActivity extends BaseActivity { * report 案件上报 */ @OnClick({ - R.id.ll_issue_dis, R.id.ll_mine_issue, R.id.tv_sign, R.id.tv_rule, diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyDetailActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyDetailActivity.java index 5299606..2f989cb 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyDetailActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyDetailActivity.java @@ -1,5 +1,8 @@ package com.sucstepsoft.txrealtimelocation.activitys.companylib; +import android.content.Intent; +import android.view.View; + import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; import com.sucstepsoft.txrealtimelocation.R; @@ -22,7 +25,10 @@ public class CompanyDetailActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mTvBaseTitle.setText("企业详情"); - refreshView(STATE_LOAD_LOADING); + refreshView(STATE_LOAD_SUCCESS); + mTvPublish.setVisibility(View.VISIBLE); + mTvPublish.setText("修改"); + mTvPublish.setOnClickListener(v -> startActivity(new Intent(this, CompanyInfoEditActivity.class))); String mId = getIntent().getStringExtra("id"); getCompanyDetailById(mId); } @@ -31,6 +37,7 @@ public class CompanyDetailActivity extends BaseActivity { } + @Override protected void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyInfoEditActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyInfoEditActivity.java index 92d8c35..fe2ad31 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyInfoEditActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/CompanyInfoEditActivity.java @@ -1,10 +1,50 @@ package com.sucstepsoft.txrealtimelocation.activitys.companylib; -import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; -import com.sucstepsoft.txrealtimelocation.R; +import android.content.Intent; +import android.database.Cursor; +import android.graphics.Color; +import android.net.Uri; +import android.os.Build; +import android.provider.MediaStore; +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.widget.Button; +import android.widget.EditText; +import android.widget.TextView; +import com.bigkoo.pickerview.builder.OptionsPickerBuilder; +import com.bigkoo.pickerview.view.OptionsPickerView; +import com.sucstepsoft.cm_utils.constant.PathConfig; +import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean; +import com.sucstepsoft.cm_utils.core.beans.DictionaryBean; +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.RegexUtils; +import com.sucstepsoft.cm_utils.utils.ToastUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; +import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.activitys.common.PhotoActivity; +import com.sucstepsoft.txrealtimelocation.beans.TypeListBean; +import com.sucstepsoft.txrealtimelocation.net.LocationApiService; + +import java.io.File; +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.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; /** * 企业信息编辑 @@ -15,6 +55,61 @@ public class CompanyInfoEditActivity extends BaseActivity { private String mId; + @BindView(R.id.tv_issue_base_info) + TextView mTvIssueBaseInfo; + @BindView(R.id.et_company_name) + EditText mEtCompanyName; + @BindView(R.id.tv_com_type) + TextView mTvComType; + @BindView(R.id.et_register_address) + EditText mEtRegisterAddress; + @BindView(R.id.et_detail_address) + EditText mEtDetailAddress; + @BindView(R.id.tv_trade) + TextView mTvTrade; + @BindView(R.id.et_peo_count) + EditText mEtPeoCount; + @BindView(R.id.tv_risk) + TextView mTvRisk; + @BindView(R.id.et_pre) + EditText mEtPre; + @BindView(R.id.et_phone) + EditText mEtPhone; + @BindView(R.id.tv_issue_detail_info) + TextView mTvIssueDetailInfo; + @BindView(R.id.rlv_door) + RecyclerView mRlvDoor; + @BindView(R.id.rlv_place) + RecyclerView mRlvPlace; + @BindView(R.id.btn_submit) + Button mBtnSubmit; + private List mDoorPhotos; + private List mPlacePhotos; + private AddPhotoBean mCurrentBean; + private String mPicPath; + private String mDoorPhotoIds = ""; + private String mPlacePhotoIds = ""; + private OptionsPickerView mTypePicker;//单位类型 + private OptionsPickerView mTradePicker;//管理行业 + private OptionsPickerView mCountyPicker;//旗县 + private OptionsPickerView mStreetPicker;//街道 + private OptionsPickerView mTraitPicker;//风险特点 + private List mTypeList = new ArrayList<>();//单位类型 + private List mTradeList = new ArrayList<>();//管理行业 + private List mCountyList = new ArrayList<>();//旗县 + private List mStreetList = new ArrayList<>();//街道 + private List mTraitList = new ArrayList<>();//风险特点 + private String mSelTypeId = "";//单位类型ID + private String mSelTradeId = "";//管理行业ID + private String mSelCountyId = "";//旗县ID + private String mSelStreetId = "";//街道ID + private String mTraitId = "";//风险特点ID + private String companyName = "";//企业名称 + private String regisAddress = "";//注册地址 + private String detailAddress = "";//详细地址 + private String praceNum = "";//从业人员数量 + private String people = "";//主要负责人 + private String phone = "";//联系电话 @Override protected int setLayoutId() { return R.layout.activity_company_info_edit; @@ -31,6 +126,339 @@ public class CompanyInfoEditActivity extends BaseActivity { private void getCompanyDetail(String id) { + } + private void initPhotoView() { + mDoorPhotos = new ArrayList<>(); + mPlacePhotos = new ArrayList<>(); + mDoorPhotos.add(new AddPhotoBean()); + mPlacePhotos.add(new AddPhotoBean()); + AddPhotoAdapter mDoorPhotoAdapter = new AddPhotoAdapter(this, mDoorPhotos); + mRlvDoor.setLayoutManager(new GridLayoutManager(mActivity, 4)); + mRlvDoor.setAdapter(mDoorPhotoAdapter); + //删除上传的相片 + mDoorPhotoAdapter.addOnDeleteListener(((bean, i) -> { + mDoorPhotoAdapter.removeItem(bean); + mDoorPhotoIds = mDoorPhotoIds.replace(bean.getId() + ",", ""); + })); + mDoorPhotoAdapter.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); + } + }); + + AddPhotoAdapter mPlacePhotoAdapter = new AddPhotoAdapter(this, mPlacePhotos); + mRlvPlace.setLayoutManager(new GridLayoutManager(mActivity, 4)); + mRlvPlace.setAdapter(mPlacePhotoAdapter); + //删除上传的相片 + mPlacePhotoAdapter.addOnDeleteListener(((bean, i) -> { + mDoorPhotoAdapter.removeItem(bean); + mPlacePhotoIds = mPlacePhotoIds.replace(bean.getId() + ",", ""); + })); + mPlacePhotoAdapter.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; + mPicPath = PathConfig.CATCH_PATH + 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(); + } + + /** + * 显示单位类型 + */ + private void onShowTypePicker() { + hideSoftKeyboard(); + if (mTypeList != null && mTypeList.size() > 0) { + if (mTypePicker == null) { + mTypePicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> { + DictionaryBean bean = mTypeList.get(options1); + mSelTypeId = bean.getId(); + mTvComType.setText(bean.getName()); + }).setTitleText("请选择企业类型") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mTypePicker.setPicker(mTypeList); + } + mTypePicker.show(); + } else { + getDicList("", 1); + } + } + + private void doSubmit() { + if (checkParams()) { + //提交 + } + } + + private boolean checkParams() { + companyName = mEtCompanyName.getText().toString().trim(); + if (TextUtils.isEmpty(companyName)) { + ToastUtils.showShort("请输入企业名称"); + return false; + } + regisAddress = mEtRegisterAddress.getText().toString().trim(); + if (TextUtils.isEmpty(regisAddress)) { + ToastUtils.showShort("请输入企业注册地址"); + return false; + } + detailAddress = mEtDetailAddress.getText().toString().trim(); + if (TextUtils.isEmpty(detailAddress)) { + ToastUtils.showShort("请输入企业详细地址"); + return false; + } + praceNum = mEtPeoCount.getText().toString().trim(); + if (TextUtils.isEmpty(praceNum)) { + ToastUtils.showShort("请输入从业人员数量"); + return false; + } + people = mEtPre.getText().toString().trim(); + if (TextUtils.isEmpty(people)) { + ToastUtils.showShort("请输入企业负责人"); + return false; + } + phone = mEtPhone.getText().toString().trim(); + if (TextUtils.isEmpty(phone) || !RegexUtils.isMobileSimple(phone)) { + ToastUtils.showShort("请输入合法的联系电话"); + return false; + } + if (TextUtils.isEmpty(mSelTypeId)) { + ToastUtils.showShort("请选择企业类型"); + return false; + } + if (TextUtils.isEmpty(mSelTradeId)) { + ToastUtils.showShort("请选择企业所属行业"); + return false; + } + if (TextUtils.isEmpty(mSelStreetId)) { + ToastUtils.showShort("请选择企业所属街道"); + return false; + } + if (TextUtils.isEmpty(mTraitId)) { + ToastUtils.showShort("请选择企业风险特点"); + return false; + } + return true; + } + + /** + * 显示管理行业选项 + */ + private void getDicList(String id, int type) { + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getDictListAll(id, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(List dictionaryBeans) { + + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }); + } + + + @Override + protected void onActivityResult(int requestCode, int resultCode, 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; + } + } + super.onActivityResult(requestCode, resultCode, data); + } + + /** + * 上传文件 + * + * @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(); +// Luban.with(mActivity) +// .load(picPath) +// .ignoreBy(100) +// .setTargetDir(PathConfig.CATCH_PATH) +// .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(); } @Override diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java index 54e1e96..dd24365 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java @@ -2,6 +2,7 @@ package com.sucstepsoft.txrealtimelocation.activitys.companylib; import android.content.Intent; import android.database.Cursor; +import android.graphics.Color; import android.net.Uri; import android.os.Build; import android.provider.MediaStore; @@ -14,15 +15,25 @@ import android.widget.Button; import android.widget.EditText; import android.widget.TextView; +import com.bigkoo.pickerview.builder.OptionsPickerBuilder; +import com.bigkoo.pickerview.view.OptionsPickerView; import com.sucstepsoft.cm_utils.constant.PathConfig; import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean; +import com.sucstepsoft.cm_utils.core.beans.DictionaryBean; 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.LogUtils; import com.sucstepsoft.cm_utils.utils.ProiderUtil; +import com.sucstepsoft.cm_utils.utils.RegexUtils; +import com.sucstepsoft.cm_utils.utils.ToastUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.sucstepsoft.txrealtimelocation.R; import com.sucstepsoft.txrealtimelocation.activitys.common.PhotoActivity; +import com.sucstepsoft.txrealtimelocation.beans.TypeListBean; +import com.sucstepsoft.txrealtimelocation.net.LocationApiService; import java.io.File; import java.util.ArrayList; @@ -31,6 +42,10 @@ 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.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; /** * 录入企业信息页面 @@ -72,6 +87,27 @@ public class EnterCompanyInfoActivity extends BaseActivity { private String mPicPath; private String mDoorPhotoIds = ""; private String mPlacePhotoIds = ""; + private OptionsPickerView mTypePicker;//单位类型 + private OptionsPickerView mTradePicker;//管理行业 + private OptionsPickerView mCountyPicker;//旗县 + private OptionsPickerView mStreetPicker;//街道 + private OptionsPickerView mTraitPicker;//风险特点 + private List mTypeList = new ArrayList<>();//单位类型 + private List mTradeList = new ArrayList<>();//管理行业 + private List mCountyList = new ArrayList<>();//旗县 + private List mStreetList = new ArrayList<>();//街道 + private List mTraitList = new ArrayList<>();//风险特点 + private String mSelTypeId = "";//单位类型ID + private String mSelTradeId = "";//管理行业ID + private String mSelCountyId = "";//旗县ID + private String mSelStreetId = "";//街道ID + private String mTraitId = "";//风险特点ID + private String companyName = "";//企业名称 + private String regisAddress = "";//注册地址 + private String detailAddress = "";//详细地址 + private String praceNum = "";//从业人员数量 + private String people = "";//主要负责人 + private String phone = "";//联系电话 @Override protected int setLayoutId() { @@ -84,7 +120,7 @@ public class EnterCompanyInfoActivity extends BaseActivity { refreshView(STATE_LOAD_SUCCESS); mBind = ButterKnife.bind(this); initPhotoView(); - + mBtnSubmit.setOnClickListener(v -> doSubmit()); } private void initPhotoView() { @@ -197,6 +233,120 @@ public class EnterCompanyInfoActivity extends BaseActivity { buttomDialogView.show(); } + /** + * 显示单位类型 + */ + private void onShowTypePicker() { + hideSoftKeyboard(); + if (mTypeList != null && mTypeList.size() > 0) { + if (mTypePicker == null) { + mTypePicker = new OptionsPickerBuilder(EnterCompanyInfoActivity.this, (options1, options2, options3, v) -> { + DictionaryBean bean = mTypeList.get(options1); + mSelTypeId = bean.getId(); + mTvComType.setText(bean.getName()); + }).setTitleText("请选择企业类型") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); + mTypePicker.setPicker(mTypeList); + } + mTypePicker.show(); + } else { + getDicList("", 1); + } + } + + private void doSubmit() { + if (checkParams()) { + //提交 + } + } + + private boolean checkParams() { + companyName = mEtCompanyName.getText().toString().trim(); + if (TextUtils.isEmpty(companyName)) { + ToastUtils.showShort("请输入企业名称"); + return false; + } + regisAddress = mEtRegisterAddress.getText().toString().trim(); + if (TextUtils.isEmpty(regisAddress)) { + ToastUtils.showShort("请输入企业注册地址"); + return false; + } + detailAddress = mEtDetailAddress.getText().toString().trim(); + if (TextUtils.isEmpty(detailAddress)) { + ToastUtils.showShort("请输入企业详细地址"); + return false; + } + praceNum = mEtPeoCount.getText().toString().trim(); + if (TextUtils.isEmpty(praceNum)) { + ToastUtils.showShort("请输入从业人员数量"); + return false; + } + people = mEtPre.getText().toString().trim(); + if (TextUtils.isEmpty(people)) { + ToastUtils.showShort("请输入企业负责人"); + return false; + } + phone = mEtPhone.getText().toString().trim(); + if (TextUtils.isEmpty(phone) || !RegexUtils.isMobileSimple(phone)) { + ToastUtils.showShort("请输入合法的联系电话"); + return false; + } + if (TextUtils.isEmpty(mSelTypeId)) { + ToastUtils.showShort("请选择企业类型"); + return false; + } + if (TextUtils.isEmpty(mSelTradeId)) { + ToastUtils.showShort("请选择企业所属行业"); + return false; + } + if (TextUtils.isEmpty(mSelStreetId)) { + ToastUtils.showShort("请选择企业所属街道"); + return false; + } + if (TextUtils.isEmpty(mTraitId)) { + ToastUtils.showShort("请选择企业风险特点"); + return false; + } + return true; + } + + /** + * 显示管理行业选项 + */ + private void getDicList(String id, int type) { + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getDictListAll(id, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(List dictionaryBeans) { + + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }); + } + + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { @@ -306,6 +456,7 @@ public class EnterCompanyInfoActivity extends BaseActivity { // }) // .launch(); } + @Override protected void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java index c63d506..70c0f35 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java @@ -1,7 +1,6 @@ package com.sucstepsoft.txrealtimelocation.activitys.issue; -import android.app.ProgressDialog; import android.content.Intent; import android.database.Cursor; import android.net.Uri; @@ -10,25 +9,18 @@ import android.provider.MediaStore; import android.support.v4.content.FileProvider; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.text.TextUtils; import android.view.Gravity; 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.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.txrealtimelocation.R; import com.sucstepsoft.txrealtimelocation.activitys.common.PhotoActivity; import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.Options; import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.OptionsAdapter; -import com.sucstepsoft.txrealtimelocation.beans.BaseUserBean; -import com.sucstepsoft.txrealtimelocation.net.LocationApiService; import java.io.File; import java.util.ArrayList; @@ -37,15 +29,6 @@ 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.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 CheckOptionsActivity extends BaseActivity { Unbinder mBind; diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java index fabcae6..6109925 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java @@ -7,6 +7,8 @@ import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.RadioGroup; import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean; import com.sucstepsoft.cm_utils.core.widget.base.AddPhotoAdapter; @@ -40,45 +42,73 @@ public class OptionsAdapter extends BaseRecyclerAdapter oHolder.mScvOptions.setOnClickListener(v -> { EmStateCheck state = oHolder.mScvOptions.getViewState(); switch (state) { - case NORMAL: + case NORMAL://未检查 oHolder.mScvOptions.setCheckState(EmStateCheck.CHECK); mData.get(i).setState(EmStateCheck.CHECK); - oHolder.mRlvPhotos.setVisibility(View.GONE); + initContentView(oHolder, mData.get(i), i); break; - case CHECK: + case CHECK://合格 oHolder.mScvOptions.setCheckState(EmStateCheck.UNCHECK); mData.get(i).setState(EmStateCheck.UNCHECK); - oHolder.mRlvPhotos.setVisibility(View.VISIBLE); - initPhotosView(oHolder.mRlvPhotos, mData.get(i), i); + initContentView(oHolder, mData.get(i), i); break; - case UNCHECK: - oHolder.mRlvPhotos.setVisibility(View.GONE); + case UNCHECK://有隐患 oHolder.mScvOptions.setCheckState(EmStateCheck.NORMAL); mData.get(i).setState(EmStateCheck.NORMAL); + oHolder.mLlContent.setVisibility(View.GONE); + oHolder.mRlvPhotos.setVisibility(View.GONE); break; } }); - if (mData.get(i).getState() == EmStateCheck.UNCHECK) { - oHolder.mRlvPhotos.setVisibility(View.VISIBLE); - initPhotosView(oHolder.mRlvPhotos, mData.get(i), i); + if (mData.get(i).getState() == EmStateCheck.UNCHECK || mData.get(i).getState() == EmStateCheck.CHECK) { + initContentView(oHolder, mData.get(i), i); } else { + oHolder.mLlContent.setVisibility(View.GONE); oHolder.mRlvPhotos.setVisibility(View.GONE); } oHolder.mTvTitle.setText(mData.get(i).getTitle()); } - public void initPhotosView(RecyclerView rlv, Options op, int index) { + private void initContentView(OptionsHolder oHolder, Options op, int index) { + //1.合格只要相片 + //2.存在隐患 + // 立即整改 当天 立即 rg 图片 + // 限期增改 1 5 10 15 20 25 30天 选择spinner 图片 + oHolder.mRlvPhotos.setVisibility(View.VISIBLE); + EmStateCheck state = mData.get(index).getState(); + //合格 + if (state == EmStateCheck.CHECK) { + oHolder.mLlContent.setVisibility(View.GONE); + + } else { + oHolder.mLlContent.setVisibility(View.VISIBLE); + + //立即整改 + String[] defaultArray = mContext.getResources().getStringArray(R.array.limit); + ArrayAdapter defaultApater = new ArrayAdapter<>(mContext, R.layout.item_pop_text, defaultArray); + oHolder.mSpinner.setAdapter(defaultApater); + oHolder.mRg.setOnCheckedChangeListener((radioGroup, i) -> { + if (i == R.id.rb_now) { + //立即整改 + oHolder.mSpinner.setAdapter(defaultApater); + } else { + //限期整改 + String[] stringArray = mContext.getResources().getStringArray(R.array.timeLimit); + ArrayAdapter adapter = new ArrayAdapter<>(mContext, R.layout.item_pop_text, stringArray); + oHolder.mSpinner.setAdapter(adapter); + } + }); + } AddPhotoAdapter photoAdapter = new AddPhotoAdapter(mContext, op.getPhotos()); - rlv.setAdapter(photoAdapter); - rlv.setLayoutManager(new GridLayoutManager(mContext, 4)); + oHolder.mRlvPhotos.setAdapter(photoAdapter); + oHolder.mRlvPhotos.setLayoutManager(new GridLayoutManager(mContext, 4)); photoAdapter.addOnItemClickListener(bean -> { if (mSelectPhotoListener != null) { if (TextUtils.isEmpty(bean.getPath())) { //空数据,选择图片 - mSelectPhotoListener.onSelectPhoto(bean, op, index,1); + mSelectPhotoListener.onSelectPhoto(bean, op, index, 1); } else { - mSelectPhotoListener.onSelectPhoto(bean,op,index,2); - + mSelectPhotoListener.onSelectPhoto(bean, op, index, 2); } } }); @@ -91,6 +121,6 @@ public class OptionsAdapter extends BaseRecyclerAdapter } public interface SelectPhoto { - void onSelectPhoto(AddPhotoBean bean, Options options, int i,int type); + void onSelectPhoto(AddPhotoBean bean, Options options, int i, int type); } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java index ea71788..43300be 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java @@ -1,8 +1,11 @@ package com.sucstepsoft.txrealtimelocation.activitys.issue.demo; import android.support.annotation.NonNull; +import android.support.v7.widget.AppCompatSpinner; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.widget.LinearLayout; +import android.widget.RadioGroup; import android.widget.TextView; import com.sucstepsoft.txrealtimelocation.R; @@ -18,11 +21,17 @@ public class OptionsHolder extends RecyclerView.ViewHolder { public TextView mTvTitle; public StateCheckView mScvOptions; public RecyclerView mRlvPhotos; + public LinearLayout mLlContent; + public AppCompatSpinner mSpinner; + public RadioGroup mRg; public OptionsHolder(@NonNull View itemView) { super(itemView); mTvTitle = itemView.findViewById(R.id.tv_title); mScvOptions = itemView.findViewById(R.id.scv_options); mRlvPhotos = itemView.findViewById(R.id.rlv_photos); + mLlContent = itemView.findViewById(R.id.ll_content); + mSpinner = itemView.findViewById(R.id.sp_term); + mRg = itemView.findViewById(R.id.rg_term); } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/lawlib/LawLibActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/lawlib/LawLibActivity.java new file mode 100644 index 0000000..0fb25ef --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/lawlib/LawLibActivity.java @@ -0,0 +1,88 @@ +package com.sucstepsoft.txrealtimelocation.activitys.lawlib; + +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.jcodecraeer.xrecyclerview.XRecyclerView; +import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.txrealtimelocation.R; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; + +public class LawLibActivity extends BaseActivity { + private static final int STATE_LO = 833; + private static final int STATE_SU = 933; + private static final int STATE_ER = 1033; + private static final int STATE_EM = 1133; + @BindView(R.id.et_law_name) + EditText mEtLawName; + @BindView(R.id.btn_search) + Button mBtnSearch; + @BindView(R.id.pb_loading) + ProgressBar mPbLoading; + @BindView(R.id.iv_empty) + ImageView mIvEmpty; + @BindView(R.id.tv_error_hint) + TextView mTvErrorHint; + @BindView(R.id.xlv_com_lib) + XRecyclerView mXlvComLib; + private Unbinder mBind; + + @Override + protected int setLayoutId() { + return R.layout.activity_law_lib; + } + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + refreshView(STATE_LOAD_SUCCESS); + mTvBaseTitle.setText("法律法规"); + reStateView(STATE_LO); + } + + private void reStateView(int state) { + switch (state) { + case STATE_LO: + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("数据加载中..."); + mIvEmpty.setVisibility(View.GONE); + mXlvComLib.setVisibility(View.GONE); + mPbLoading.setVisibility(View.VISIBLE); + break; + case STATE_SU: + mTvErrorHint.setVisibility(View.GONE); + mIvEmpty.setVisibility(View.GONE); + mXlvComLib.setVisibility(View.VISIBLE); + mPbLoading.setVisibility(View.GONE); + break; + case STATE_ER: + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("数据加载失败,请稍后重试"); + mIvEmpty.setVisibility(View.VISIBLE); + mXlvComLib.setVisibility(View.GONE); + mPbLoading.setVisibility(View.GONE); + break; + case STATE_EM: + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("未找到相关内容"); + mIvEmpty.setVisibility(View.VISIBLE); + mXlvComLib.setVisibility(View.GONE); + mPbLoading.setVisibility(View.GONE); + break; + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + mBind.unbind(); + } + +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/SelCompanyActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/SelCompanyActivity.java index 524cda1..23028f1 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/SelCompanyActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/SelCompanyActivity.java @@ -1,11 +1,29 @@ package com.sucstepsoft.txrealtimelocation.activitys.trouble; -import android.support.v7.app.AppCompatActivity; +import android.content.Intent; import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.jcodecraeer.xrecyclerview.ProgressStyle; +import com.jcodecraeer.xrecyclerview.XRecyclerView; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.cm_utils.utils.ToastUtils; import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.activitys.companylib.CompanyDetailActivity; +import com.sucstepsoft.txrealtimelocation.adapters.CompanyCheckAdapter; +import com.sucstepsoft.txrealtimelocation.beans.CompanyBean; +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; @@ -13,9 +31,27 @@ import butterknife.Unbinder; * 选择企业 */ public class SelCompanyActivity extends BaseActivity { - - + private static final int STATE_LO = 433; + private static final int STATE_SU = 533; + private static final int STATE_ER = 633; + private static final int STATE_EM = 733; + @BindView(R.id.et_company_name) + EditText mEtCompanyName; + @BindView(R.id.tv_com_type) + TextView mTvComType; + @BindView(R.id.btn_search) + Button mBtnSearch; + @BindView(R.id.pb_loading) + ProgressBar mPbLoading; + @BindView(R.id.iv_empty) + ImageView mIvEmpty; + @BindView(R.id.tv_error_hint) + TextView mTvErrorHint; + @BindView(R.id.xlv_com_lib) + XRecyclerView mXlvComLib; private Unbinder mBind; + private List mDatas = new ArrayList<>(); + private CompanyCheckAdapter mAdapter; @Override protected int setLayoutId() { @@ -26,7 +62,88 @@ public class SelCompanyActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mTvBaseTitle.setText("选择企业"); + mTvPublish.setVisibility(View.VISIBLE); + mTvPublish.setText("确定"); + mTvPublish.setOnClickListener(v -> { + String selDataId = mAdapter.getSelDataId(); + if (TextUtils.isEmpty(selDataId)) { + ToastUtils.showShort("请选择企业"); + } else { + Intent intent = new Intent(); + intent.putExtra("id", selDataId); + setResult(123, intent); + finish(); + } + }); refreshView(STATE_LOAD_SUCCESS); + reStateView(STATE_LO); + getCompanyList(); + } + + private void getCompanyList() { + for (int i = 0; i < 100; i++) { + CompanyBean bean = new CompanyBean(); + bean.setId(i + ""); + bean.setName(i + " 测试标题测试标题测试标题测试标题"); + bean.setAddress("测试地址测试地址测试地址测试地址测试地址"); + bean.setPeople("测试"); + mDatas.add(bean); + } + mAdapter = new CompanyCheckAdapter(mActivity, mDatas); + mXlvComLib.setAdapter(mAdapter); + LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity); + layoutManager.setOrientation(LinearLayoutManager.VERTICAL); + mAdapter.addOnItemClickListener(bean -> startActivity(new Intent(this, CompanyDetailActivity.class))); + mXlvComLib.setLayoutManager(layoutManager); +// mXlvComLib.setAdapter(mAdapter); +// mXlvComLib.addOnItemClickListener(bean -> showIssueDetail(bean)); + mXlvComLib.setNoMore(true); + mXlvComLib.setRefreshProgressStyle(ProgressStyle.BallGridBeat); + mXlvComLib.setLoadingMoreProgressStyle(ProgressStyle.Pacman); + mXlvComLib.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + + } + + @Override + public void onLoadMore() { + + } + }); + reStateView(STATE_SU); + } + + private void reStateView(int state) { + switch (state) { + case STATE_LO: + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("数据加载中..."); + mIvEmpty.setVisibility(View.GONE); + mXlvComLib.setVisibility(View.GONE); + mPbLoading.setVisibility(View.VISIBLE); + break; + case STATE_SU: + mTvErrorHint.setVisibility(View.GONE); + mIvEmpty.setVisibility(View.GONE); + mXlvComLib.setVisibility(View.VISIBLE); + mPbLoading.setVisibility(View.GONE); + break; + case STATE_ER: + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("数据加载失败,请稍后重试"); + mIvEmpty.setVisibility(View.VISIBLE); + mXlvComLib.setVisibility(View.GONE); + mPbLoading.setVisibility(View.GONE); + break; + case STATE_EM: + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("未找到相关内容"); + mIvEmpty.setVisibility(View.VISIBLE); + mXlvComLib.setVisibility(View.GONE); + mPbLoading.setVisibility(View.GONE); + break; + } } @Override @@ -34,4 +151,5 @@ public class SelCompanyActivity extends BaseActivity { super.onDestroy(); mBind.unbind(); } + } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/TroubleReportActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/TroubleReportActivity.java index cb4b49b..98ef2db 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/TroubleReportActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/trouble/TroubleReportActivity.java @@ -1,11 +1,14 @@ package com.sucstepsoft.txrealtimelocation.activitys.trouble; import android.content.Intent; +import android.provider.CallLog; +import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.cm_utils.utils.LogUtils; import com.sucstepsoft.txrealtimelocation.R; import butterknife.BindView; @@ -31,7 +34,19 @@ public class TroubleReportActivity extends BaseActivity { mBind = ButterKnife.bind(this); refreshView(STATE_LOAD_SUCCESS); mTvBaseTitle.setText("企业隐患上报"); - mTvSelCompany.setOnClickListener(v -> startActivity(new Intent(this, SelCompanyActivity.class))); + + mTvSelCompany.setOnClickListener(v -> startActivityForResult(new Intent(this, SelCompanyActivity.class), 223)); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == 223) { + if (resultCode == 123) { + String id = data.getStringExtra("id"); + LogUtils.e(id); + } + } } @Override diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CompanyCheckAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CompanyCheckAdapter.java new file mode 100644 index 0000000..91d9283 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CompanyCheckAdapter.java @@ -0,0 +1,68 @@ +package com.sucstepsoft.txrealtimelocation.adapters; + +import android.content.Context; +import android.os.Handler; +import android.text.TextUtils; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CompoundButton; + +import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; +import com.sucstepsoft.cm_utils.utils.LogUtils; +import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.activitys.lawlib.LawLibActivity; +import com.sucstepsoft.txrealtimelocation.adapters.holders.CompanyCheckHolder; +import com.sucstepsoft.txrealtimelocation.beans.CompanyBean; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/3/30 - 12:35 PM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class CompanyCheckAdapter extends BaseRecyclerAdapter { + private int mCheckIndex = 0; + private String mCheckId = ""; + private boolean onBind; + + public CompanyCheckAdapter(Context ctx, List list) { + super(ctx, list); + } + + @Override + public CompanyCheckHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_company_check, parent, false); + return new CompanyCheckHolder(itemView); + } + + @Override + public void bindHolder(CompanyCheckHolder holder, int i) { + holder.itemView.setOnClickListener(v -> { + mCheckId = mData.get(i).getId(); + notifyDataSetChanged(); + }); +// holder.mCbCheck.setOnCheckedChangeListener((compoundButton, b) -> { +// mCheckId = mData.get(i).getId(); +// LogUtils.e(b + "===" + mCheckId); +//// if (!onBind) { +//// notifyDataSetChanged(); +//// } +// }); + if (!TextUtils.isEmpty(mCheckId) && mData.get(i).getId().equals(mCheckId)) { + holder.mCbCheck.setChecked(true); + } else { + holder.mCbCheck.setChecked(false); + } + holder.mTvName.setText(mData.get(i).getName()); + holder.mTvAddress.setText("地址:" + mData.get(i).getAddress()); + holder.mTvPeo.setText("负责人:" + mData.get(i).getPeople()); + } + + public String getSelDataId() { + return mCheckId; + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/CompanyCheckHolder.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/CompanyCheckHolder.java new file mode 100644 index 0000000..445de46 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/CompanyCheckHolder.java @@ -0,0 +1,31 @@ +package com.sucstepsoft.txrealtimelocation.adapters.holders; + +import android.support.annotation.NonNull; +import android.support.v7.view.menu.MenuBuilder; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.CheckBox; +import android.widget.TextView; + +import com.sucstepsoft.txrealtimelocation.R; + +/** + * 作者: adam + * 日期: 2020/3/30 - 12:30 PM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class CompanyCheckHolder extends RecyclerView.ViewHolder { + public TextView mTvName; + public TextView mTvAddress; + public TextView mTvPeo; + public CheckBox mCbCheck; + + public CompanyCheckHolder(@NonNull View itemView) { + super(itemView); + mTvName = itemView.findViewById(R.id.tv_name); + mTvAddress = itemView.findViewById(R.id.tv_address); + mTvPeo = itemView.findViewById(R.id.tv_peo); + mCbCheck = itemView.findViewById(R.id.cb_check); + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CompanyBean.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CompanyBean.java new file mode 100644 index 0000000..720a319 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CompanyBean.java @@ -0,0 +1,46 @@ +package com.sucstepsoft.txrealtimelocation.beans; + +/** + * 作者: adam + * 日期: 2020/3/30 - 12:38 PM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class CompanyBean { + private String name; + private String address; + private String people; + private String id; + + 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 getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getPeople() { + return people; + } + + public void setPeople(String people) { + this.people = people; + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/EmStateCheck.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/EmStateCheck.java index 16f62c5..bc7ccb4 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/EmStateCheck.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/EmStateCheck.java @@ -4,8 +4,9 @@ package com.sucstepsoft.txrealtimelocation.widget; * 作者: adam * 日期: 2020-03-26 - 12:53 * 邮箱: itgaojian@163.com - * 描述: + * 描述: 未检查,合格, + * 存在隐患: 立即整改,限期整改 */ public enum EmStateCheck { - UNCHECK, NORMAL, CHECK + NORMAL, CHECK, UNCHECK } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/StateCheckView.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/StateCheckView.java index 9f8cef0..920849d 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/StateCheckView.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/widget/StateCheckView.java @@ -20,7 +20,6 @@ public class StateCheckView extends LinearLayout { private static final int[] STATE_NORMAL = new int[]{R.attr.state_normal}; private static final int[] STATE_CHECK = new int[]{R.attr.state_check}; private static final int[] STATE_UNCHECK = new int[]{R.attr.state_uncheck}; - private EmStateCheck mState = EmStateCheck.NORMAL; private TextView mTvState; @@ -71,10 +70,10 @@ public class StateCheckView extends LinearLayout { mTvState.setText("未检查"); break; case CHECK: - mTvState.setText("已检查"); + mTvState.setText("合格"); break; case UNCHECK: - mTvState.setText("不合格"); + mTvState.setText("存在隐患"); break; } } diff --git a/app/src/main/res/drawable-xhdpi/ic_check_blue.png b/app/src/main/res/drawable-xhdpi/ic_check_blue.png new file mode 100644 index 0000000..ad62739 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_check_blue.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_check_exist.png b/app/src/main/res/drawable-xhdpi/ic_check_exist.png new file mode 100644 index 0000000..87f60e0 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_check_exist.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_search.png b/app/src/main/res/drawable-xhdpi/ic_search.png new file mode 100644 index 0000000..3caab00 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_search.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_search_blue.png b/app/src/main/res/drawable-xhdpi/ic_search_blue.png new file mode 100644 index 0000000..ca22732 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_search_blue.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_uncheck_blue.png b/app/src/main/res/drawable-xhdpi/ic_uncheck_blue.png new file mode 100644 index 0000000..bc6b3d1 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_uncheck_blue.png differ diff --git a/app/src/main/res/drawable/sel_check_blue.xml b/app/src/main/res/drawable/sel_check_blue.xml new file mode 100644 index 0000000..f3060c8 --- /dev/null +++ b/app/src/main/res/drawable/sel_check_blue.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_check_options_ce.xml b/app/src/main/res/layout/activity_check_options_ce.xml index a9ff9f9..21dd9d2 100644 --- a/app/src/main/res/layout/activity_check_options_ce.xml +++ b/app/src/main/res/layout/activity_check_options_ce.xml @@ -3,11 +3,16 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" + android:background="@color/gray" + android:orientation="vertical" tools:context=".activitys.issue.CheckOptionsActivity"> + + android:layout_height="wrap_content" + tools:layoutManager="LinearLayoutManager" + tools:listitem="@layout/item_options" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_company_detail.xml b/app/src/main/res/layout/activity_company_detail.xml index f587e54..34f5dd7 100644 --- a/app/src/main/res/layout/activity_company_detail.xml +++ b/app/src/main/res/layout/activity_company_detail.xml @@ -1,9 +1,148 @@ - + android:background="@color/white"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_company_info_edit.xml b/app/src/main/res/layout/activity_company_info_edit.xml index 477f9ab..200007d 100644 --- a/app/src/main/res/layout/activity_company_info_edit.xml +++ b/app/src/main/res/layout/activity_company_info_edit.xml @@ -1,9 +1,426 @@ - + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +