From 3687d50a8ba682061b195e310ecdb5c6d3feab86 Mon Sep 17 00:00:00 2001 From: itgaojian163 Date: Sun, 19 Apr 2020 17:31:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E6=82=A3=E4=B8=8A=E6=8A=A5=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + .../activitys/base/CatalogActivity.java | 902 ++++++++++++++++++ .../CounterCheckOptionsActivity.java | 7 - .../issue/NewCheckOptionsActivity.java | 5 +- .../activitys/issue/demo/NewOptions.java | 9 + .../issue/demo/NewOptionsAdapter.java | 11 +- .../activitys/mine/MineMissionActivity.java | 115 ++- .../activitys/trouble/SelCompanyActivity.java | 3 +- .../adapters/CounterCheckOptionsAdapter.java | 9 - .../adapters/LeftCatalogAdapter.java | 76 ++ .../adapters/holders/LeftCatalogHolder.java | 26 + .../txrealtimelocation/beans/CatalogBean.java | 79 ++ .../beans/CheckOptionsbean.java | 88 +- .../net/LocationApiService.java | 6 + app/src/main/res/color/col_catalog.xml | 5 + .../res/drawable-xhdpi/ic_hint_dialog.png | Bin 0 -> 981 bytes .../res/drawable-xhdpi/temp_sel_options.png | Bin 0 -> 1270 bytes .../res/drawable-xhdpi/temp_unsel_options.png | Bin 0 -> 1354 bytes app/src/main/res/layout/activity_catalog.xml | 191 ++++ .../layout/activity_mine_mission_activity.xml | 25 - app/src/main/res/layout/dialog_rectify.xml | 123 +++ app/src/main/res/layout/item_catalog_left.xml | 29 + .../widget/base/AddLittlePhotoAdapter.java | 67 ++ .../item_apply_service_photo_little.xml | 28 + 24 files changed, 1709 insertions(+), 96 deletions(-) create mode 100644 app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/CatalogActivity.java create mode 100644 app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/LeftCatalogAdapter.java create mode 100644 app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/LeftCatalogHolder.java create mode 100644 app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CatalogBean.java create mode 100644 app/src/main/res/color/col_catalog.xml create mode 100644 app/src/main/res/drawable-xhdpi/ic_hint_dialog.png create mode 100644 app/src/main/res/drawable-xhdpi/temp_sel_options.png create mode 100644 app/src/main/res/drawable-xhdpi/temp_unsel_options.png create mode 100644 app/src/main/res/layout/activity_catalog.xml create mode 100644 app/src/main/res/layout/dialog_rectify.xml create mode 100644 app/src/main/res/layout/item_catalog_left.xml create mode 100755 cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/base/AddLittlePhotoAdapter.java create mode 100755 cm_utils/src/main/res/layout/item_apply_service_photo_little.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cb30c60..4ca2ad9 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -47,6 +47,7 @@ android:supportsRtl="true" android:theme="@style/AppTheme" tools:ignore="GoogleAppIndexingWarning"> + mDatas = new ArrayList<>(); + private List mCurrentOptions = new ArrayList<>(); + private LeftCatalogAdapter mLeftAdapter; + private NewOptionsAdapter mRightAdapter; + + private String[] mNowStrings; + private String[] mTermStrings; + private AddPhotoBean mCurrentBean; + private String mPicPath; + private AddPhotoAdapter mAddPhotoAdapter; + private List mPhotos; + private NewOptions mCurrentOptionsBean; + private String mPhotoIds = ""; + private ArrayAdapter mTermAdapter; + private ArrayAdapter mNowAdapter; + private int mType = 1;//整改方式 + private String mSelType = "";//整改期限 + private double mCurrentLatitude = 0.0d; + private double mCurrentLongitude = 0.0d; + private int mSelPhotosType = 2; + private int mSelTypeDialog = 0;//用来判断是否对整改信息进行了选择,0未选择 1已选择 + private List mOptions; + private String mCompanyId; + private ProgressDialog mMProgressDialog; + private LocationClient mLocationClient; + private boolean isExist = false;//是否存在选择的错误项,用来弹出整改选项 dialog + + @Override + protected int setLayoutId() { + return R.layout.activity_catalog; + } + + @Override + public void initData() { + super.initData(); + mBind = ButterKnife.bind(this); + mTvBaseTitle.setText("企业检查"); + String nId = getIntent().getStringExtra("nId"); + String id = getIntent().getStringExtra("id"); + String mCompanyId = getIntent().getStringExtra("cId"); + String name = getIntent().getStringExtra("name"); + String peo = getIntent().getStringExtra("peo"); + mTvPublish.setVisibility(View.VISIBLE); + mTvPublish.setText("上报"); + mTvPublish.setOnClickListener(v -> { +// showRectifyDialog(); + Gson gson = new Gson(); + List data = mLeftAdapter.getData(); + String s = gson.toJson(data); + LogUtils.e(s); + }); + initListView(); + startListenerLocation(); + if (TextUtils.isEmpty(nId)) { + ToastUtils.showLong("该企业未关联检查项,请联系管理员进行关联"); + mRlvCatalog.setVisibility(View.GONE); + } else { + mRlvCatalog.setVisibility(View.VISIBLE); + getCheckOptions(id, nId); + } + + } + + /** + * 初始化检查项页面 + */ + private void initListView() { + LinearLayoutManager manager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false) { + @Override + public boolean canScrollVertically() { + return super.canScrollVertically(); + } + }; + LinearLayoutManager rightManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false) { + @Override + public boolean canScrollVertically() { + return super.canScrollVertically(); + } + }; + mLeftAdapter = new LeftCatalogAdapter(mActivity, mDatas); + mRightAdapter = new NewOptionsAdapter(this, mCurrentOptions); + + + mRlvChild.setLayoutManager(rightManager); + mRlvChild.setAdapter(mRightAdapter); + + mRightAdapter.setStateChangeListener(isCheck -> { + if (isCheck) { + //存在检查不合格项 + isExist = true; + } else { + //不存在 + isExist = false; + } + }); + mRightAdapter.addSelectPhotoListener((bean, options, i, type, stat) -> { + mCurrentOptionsBean = options; + mSelPhotosType = stat; + if (type == 1) { + //选择图片 + showSelectPhoto(bean); + } else if (type == 2) { + //预览 + 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); + } else { + //删除 + List photos = mRightAdapter.getData().get(i).getPhotos(); + if (photos.size() == 4) { + boolean isExist = false; + for (int j = 0; j < photos.size(); j++) { + AddPhotoBean photoBean = photos.get(j); + if (TextUtils.isEmpty(photoBean.getId())) { + isExist = true; + } + } + if (!isExist) { + mRightAdapter.getData().get(i).getPhotos().add(new AddPhotoBean()); + } + } + photos.remove(bean); + mRightAdapter.notifyDataSetChanged(); + } + }); + + mRlvCatalog.setLayoutManager(manager); + mRlvCatalog.setAdapter(mLeftAdapter); + + mLeftAdapter.addNotifyChildChangeListener(child -> { + if (child != null && child.size() > 0) { + mRlvChild.setVisibility(View.VISIBLE); + mTvEmptyHint.setVisibility(View.GONE); + mCurrentOptions = child; + mRightAdapter.setData(mCurrentOptions); + } else { + mRlvChild.setVisibility(View.GONE); + mTvEmptyHint.setVisibility(View.VISIBLE); + } + }); + } + + private void showRectifyDialog() { + AlertDialog.Builder builder = new AlertDialog.Builder(mActivity); + View contentView = LayoutInflater.from(mActivity).inflate(R.layout.dialog_rectify, null); + mNowStrings = mActivity.getResources().getStringArray(R.array.limit); + mTermStrings = mActivity.getResources().getStringArray(R.array.timeLimit); + mTermAdapter = new ArrayAdapter<>(mActivity, R.layout.item_pop_text, mTermStrings); + mNowAdapter = new ArrayAdapter<>(mActivity, R.layout.item_pop_text, mNowStrings); + RadioGroup mRgTerm = contentView.findViewById(R.id.rg_term); + AppCompatSpinner mSpTerm = contentView.findViewById(R.id.sp_term); + RecyclerView mRlvPhotos = contentView.findViewById(R.id.rlv_photos); + mSpTerm.setAdapter(mNowAdapter); + mSpTerm.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int i, long l) { + mSelType = mNowStrings[i]; + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + + } + }); + mRgTerm.setOnCheckedChangeListener((radioGroup, i) -> { + switch (i) { + case R.id.rb_now: + //立即整改 + mSpTerm.setVisibility(View.VISIBLE); + mSpTerm.setAdapter(mNowAdapter); + mSpTerm.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int i, long l) { + mSelType = mNowStrings[i]; + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + + } + }); + mType = 1; + break; + case R.id.rb_coor: + //不配合 + mSpTerm.setVisibility(View.GONE); + mType = 3; + break; + case R.id.rb_term: + //限期整改 + mType = 2; + mSpTerm.setVisibility(View.VISIBLE); + mSpTerm.setAdapter(mTermAdapter); + mSpTerm.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int i, long l) { + mSelType = mTermStrings[i]; + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + + } + }); + break; + } + }); + mPhotos = new ArrayList<>(); + mPhotos.add(new AddPhotoBean()); + mAddPhotoAdapter = new AddPhotoAdapter(this, mPhotos); + mRlvPhotos.setLayoutManager(new GridLayoutManager(mActivity, 4)); + mRlvPhotos.setAdapter(mAddPhotoAdapter); + //删除上传的相片 + mAddPhotoAdapter.addOnDeleteListener(((bean, i) -> { + mAddPhotoAdapter.removeItem(bean); + mPhotoIds = mPhotoIds.replace(bean.getId() + ",", ""); + })); + mAddPhotoAdapter.addOnItemClickListener(bean -> { + mSelPhotosType = 2; + 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); + } + }); + + builder.setView(contentView); + builder.setPositiveButton("取消", (dialog, which) -> { + + }).setNegativeButton("确定", (dialog, which) -> { + + }).setCancelable(false) + .setTitle("整改选项") + .setIcon(R.drawable.ic_hint_dialog); + AlertDialog alertDialog = builder.create(); + alertDialog.setCanceledOnTouchOutside(false); + alertDialog.show(); + } + + /** + * 初始化整改项视图 + */ + private void initOptionsView() { + + + } + + /** + * 企业不配合 + */ + private void doUnclaim() { + ProgressDialog dialog = new ProgressDialog(mActivity); + dialog.setMessage("上报中..."); + dialog.setCancelable(false); + dialog.setCanceledOnTouchOutside(false); + dialog.show(); + OptionsSubmitBean submitBean = new OptionsSubmitBean(); + submitBean.setEnterpriseId(mCompanyId); + submitBean.setIsCoordination(0); + Gson gson = new Gson(); + String obj = gson.toJson(submitBean); + RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj); + RetrofitManager.getInstance() + .create(LocationApiService.class) + .doSaveOptions(body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(SuccessBean successBean) { + dialog.dismiss(); + ToastUtils.showShort("检查成功"); + setResult(223); + finish(); + } + + @Override + public void onError(Throwable e) { + ToastUtils.showShort("提交失败,请稍后重试."); + dialog.dismiss(); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 显示选择图片 + * + * @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(); + } + + /** + * 获取检查项 + * + * @param id + * @param nId + */ + private void getCheckOptions(String id, String nId) { + refreshView(STATE_LOAD_LOADING); + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getCheckOptionsList(id, nId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(List checkOptionsbeans) { + if (checkOptionsbeans != null && checkOptionsbeans.size() > 0) { + buildCheckOptions(checkOptionsbeans); + } else { + refreshView(STATE_LOAD_EMPTY); + } + } + + @Override + public void onError(Throwable e) { + refreshView(STATE_LOAD_ERROR); + } + + @Override + public void onComplete() { + + } + }); + } + + + private void buildCheckOptions(List checkOptionsbeans) { + for (int i = 0; i < checkOptionsbeans.size(); i++) { + CheckOptionsbean checkOptionsbean = checkOptionsbeans.get(i); + if (checkOptionsbean.getCheckItemParentId().equals("0")) { + //目录 + CatalogBean bean = new CatalogBean(); + bean.setTitle(checkOptionsbean.getNameJoinByCheckItemId()); + bean.setItemId(checkOptionsbean.getCheckItemId()); + bean.setpId(checkOptionsbean.getCheckItemParentId()); + bean.setTypeByCheckItemId(checkOptionsbean.getTypeJoinByCheckItemId()); + mDatas.add(bean); + } + } + for (int i = 0; i < mDatas.size(); i++) { + List options = new ArrayList<>(); + CatalogBean bean = mDatas.get(i); + for (int k = 0; k < checkOptionsbeans.size(); k++) { + if (bean.getItemId().equals(checkOptionsbeans.get(k).getCheckItemParentId())) { + List mPhotos = new ArrayList<>(); + mPhotos.add(new AddPhotoBean()); + NewOptions o = new NewOptions(); + List beans = new ArrayList<>(); + o.setType(checkOptionsbeans.get(k).getType()); + o.setChild(beans); + o.setId(checkOptionsbeans.get(k).getCheckItemId()); + o.setTitle(checkOptionsbeans.get(k).getNameJoinByCheckItemId()); + o.setPhotos(mPhotos); + o.setIsMust(checkOptionsbeans.get(k).getType()); + //构建选项 + for (int j = 0; j < checkOptionsbeans.get(k).getCheckItemOptions().size(); j++) { + NewOptions.ChildBean oBean = new NewOptions.ChildBean(); + CheckOptionsbean.CheckItemOptionsBean optionsBean = checkOptionsbeans.get(k).getCheckItemOptions().get(j); + oBean.setId(j); + oBean.setpId(optionsBean.getCheckItemId()); + oBean.setItemId(optionsBean.getCheckItemOptionId()); + oBean.setTitle(optionsBean.getName()); + oBean.setType(optionsBean.getType()); + if (checkOptionsbeans.get(k).getCheckItemOptions().get(j).getIsWrong() == 0) { + oBean.setWrong(false); + } else { + oBean.setWrong(true); + } + oBean.setCheck(false); + beans.add(oBean); + } + options.add(o); + } else if (bean.getpId().equals("0") && bean.getTypeByCheckItemId().equals("2") && bean.getItemId().equals(checkOptionsbeans.get(k).getCheckItemId())) { + //一级目录 + List mPhotos = new ArrayList<>(); + mPhotos.add(new AddPhotoBean()); + NewOptions o = new NewOptions(); + List beans = new ArrayList<>(); + o.setType(checkOptionsbeans.get(k).getType()); + o.setChild(beans); + o.setId(checkOptionsbeans.get(k).getCheckItemId()); + o.setTitle(checkOptionsbeans.get(k).getNameJoinByCheckItemId()); + o.setPhotos(mPhotos); + o.setIsMust(checkOptionsbeans.get(k).getType()); + //构建选项 + for (int j = 0; j < checkOptionsbeans.get(k).getCheckItemOptions().size(); j++) { + NewOptions.ChildBean oBean = new NewOptions.ChildBean(); + CheckOptionsbean.CheckItemOptionsBean optionsBean = checkOptionsbeans.get(k).getCheckItemOptions().get(j); + oBean.setId(j); + oBean.setpId(optionsBean.getCheckItemId()); + oBean.setItemId(optionsBean.getCheckItemOptionId()); + oBean.setTitle(optionsBean.getName()); + oBean.setType(optionsBean.getType()); + if (checkOptionsbeans.get(k).getCheckItemOptions().get(j).getIsWrong() == 0) { + oBean.setWrong(false); + } else { + oBean.setWrong(true); + } + oBean.setCheck(false); + beans.add(oBean); + } + options.add(o); + } + bean.setOptions(options); + } + } + mLeftAdapter.setData(mDatas); + mCurrentOptions = mDatas.get(0).getOptions(); + if (mCurrentOptions != null && mCurrentOptions.size() > 0) { + mRlvChild.setVisibility(View.VISIBLE); + mTvEmptyHint.setVisibility(View.GONE); + mRightAdapter.setData(mCurrentOptions); + } else { + mRlvChild.setVisibility(View.GONE); + mTvEmptyHint.setVisibility(View.VISIBLE); + } + refreshView(STATE_LOAD_SUCCESS); + } + + @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); + } + + /** + * 构建提交数据 + * TODO 提交需要parentId + * + * @param data + */ + private void buildConfirmData(List data) { + mMProgressDialog = new ProgressDialog(mActivity); + mMProgressDialog.setMessage("上报中..."); + mMProgressDialog.setCancelable(false); + mMProgressDialog.setCanceledOnTouchOutside(false); + mMProgressDialog.show(); + + if (checkConfirmParams(data)) { + OptionsSubmitBean submitBean = new OptionsSubmitBean(); + submitBean.setEnterpriseId(mCompanyId); + submitBean.setCheckType(1); + submitBean.setIsCoordination(1); + List items = new ArrayList<>(); + for (int i = 0; i < data.size(); i++) { + NewOptions o = data.get(i); + String phIds = ""; + for (int j = 0; j < o.getPhotos().size(); j++) { + if (!TextUtils.isEmpty(o.getPhotos().get(j).getId())) { + phIds += o.getPhotos().get(j).getId() + ","; + } + } + List child = data.get(i).getChild(); + for (int j = 0; j < child.size(); j++) { + if (child.get(j).getType() == 1) { + //选择 + if (child.get(j).isCheck()) { + OptionsSubmitBean.HiddenDangerReportsBean bean = new OptionsSubmitBean.HiddenDangerReportsBean(); + bean.setCheckItemId(o.getId()); + bean.setCheckItemOptionId(child.get(j).getItemId()); + bean.setCheckResult(child.get(j).getItemId()); + bean.setType(child.get(j).getType()); + if (phIds.length() > 10) { + bean.setScenePhotos(phIds); + } + items.add(bean); + } + } else { + //输入 + OptionsSubmitBean.HiddenDangerReportsBean bean = new OptionsSubmitBean.HiddenDangerReportsBean(); + bean.setCheckItemId(o.getId()); + bean.setCheckItemOptionId(child.get(j).getItemId()); + bean.setType(child.get(j).getType()); + if (TextUtils.isEmpty(child.get(j).getInputText())) { + bean.setCheckResult(""); + } else { + bean.setCheckResult(child.get(j).getInputText()); + } + if (phIds.length() > 10) { + bean.setScenePhotos(phIds); + } + items.add(bean); + } + } + } + + + if (mType == 1) { + submitBean.setRectificationType(1); + //立即整改 + if (mSelType.equals("当场整改")) { + submitBean.setImmediatelyChangeType(1); + } else { + submitBean.setImmediatelyChangeType(2); + } + } else { + submitBean.setRectificationType(2); + String strDay = mSelType.substring(0, mSelType.lastIndexOf("天")); + submitBean.setRectificationDays(Integer.parseInt(strDay)); + } + if (!TextUtils.isEmpty(mPhotoIds)) { + submitBean.setScenePhotos(mPhotoIds); + } + submitBean.setHiddenDangerReports(items); + submitBean.setCheckLat(mCurrentLatitude + ""); + submitBean.setCheckLng(mCurrentLongitude + ""); + doSubmit(submitBean); + } else { + mMProgressDialog.dismiss(); + ToastUtils.showShort("检查项中存在未检查的项目"); + } + } + + /** + * 提交检查结果 + * + * @param submitBean + */ + private void doSubmit(OptionsSubmitBean submitBean) { + Gson gson = new Gson(); + String obj = gson.toJson(submitBean); + RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj); + RetrofitManager.getInstance() + .create(LocationApiService.class) + .doSaveOptions(body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(SuccessBean successBean) { + mMProgressDialog.dismiss(); + ToastUtils.showShort("检查成功"); + setResult(223); + finish(); + } + + @Override + public void onError(Throwable e) { + ToastUtils.showShort("提交失败,请稍后重试."); + mMProgressDialog.dismiss(); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 校验参数是否合法 + * + * @return + */ + private boolean checkConfirmParams(List data) { + boolean isComplete = true; + for (int i = 0; i < data.size(); i++) { + if (data.get(i).getState() == EmStateCheck.NORMAL) { + isComplete = false; + break; + } + } + return isComplete; + } + + /** + * 上传文件 + * + * @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("上传成功"); + if (mSelPhotosType == 1) { + mCurrentBean.setId(baseUserBean.getData()); + mCurrentBean.setPath(picPath); + if (mCurrentOptionsBean.getPhotos().size() < 4) { + mCurrentOptionsBean.getPhotos().add(new AddPhotoBean()); + } + mRightAdapter.notifyDataSetChanged(); + mCurrentBean = null; + } else { + mCurrentBean.setId(baseUserBean.getData()); + mPhotoIds += baseUserBean.getData() + ","; + mCurrentBean.setPath(picPath); + if (mPhotos.size() < 9) { + mPhotos.add(new AddPhotoBean()); + } + mAddPhotoAdapter.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 void startListenerLocation() { + mLocationClient = new LocationClient(getApplicationContext()); + LocationClientOption locationOption = new LocationClientOption(); + MyLocationListener myLocationListener = new MyLocationListener(); + mLocationClient.registerLocationListener(myLocationListener); + locationOption.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); + locationOption.setCoorType("bd09ll"); + locationOption.setScanSpan(1000); + locationOption.setIsNeedAddress(true); + locationOption.setIsNeedLocationDescribe(true); + locationOption.setNeedDeviceDirect(false); + locationOption.setLocationNotify(true); + locationOption.setIgnoreKillProcess(true); + locationOption.setIsNeedLocationDescribe(true); + locationOption.setIsNeedLocationPoiList(true); + locationOption.SetIgnoreCacheException(false); + locationOption.setOpenGps(true); + locationOption.setIsNeedAltitude(false); + locationOption.setOpenAutoNotifyMode(); + locationOption.setLocationPurpose(LocationClientOption.BDLocationPurpose.SignIn); + locationOption.setOpenAutoNotifyMode(3000, 1, LocationClientOption.LOC_SENSITIVITY_HIGHT); + mLocationClient.setLocOption(locationOption); + mLocationClient.start(); + } + + /** + * 实现定位回调 + */ + public class MyLocationListener extends BDAbstractLocationListener { + @Override + public void onReceiveLocation(BDLocation location) { + double latitude = location.getLatitude(); + double longitude = location.getLongitude(); + float radius = location.getRadius(); + if (latitude != Double.MIN_VALUE && longitude != Double.MIN_VALUE && radius <= 300) { + mCurrentLatitude = latitude; + mCurrentLongitude = longitude; + mLocationClient.stop(); + } + } + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java index 838a3c8..0c359d3 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java @@ -5,7 +5,6 @@ import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Build; -import android.os.Bundle; import android.provider.MediaStore; import android.support.v4.content.FileProvider; import android.support.v7.widget.AppCompatSpinner; @@ -14,7 +13,6 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.Gravity; -import android.view.TextureView; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; @@ -35,20 +33,15 @@ 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.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.NewCheckOptionsActivity; import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.NewOptions; -import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.NewOptionsAdapter; -import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.Options; import com.sucstepsoft.txrealtimelocation.adapters.CounterCheckOptionsAdapter; import com.sucstepsoft.txrealtimelocation.beans.BaseUserBean; -import com.sucstepsoft.txrealtimelocation.beans.CheckOptionsbean; import com.sucstepsoft.txrealtimelocation.beans.CounterCheckOptionsBean; import com.sucstepsoft.txrealtimelocation.beans.OptionsSubmitBean; import com.sucstepsoft.txrealtimelocation.beans.SuccessBean; diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/NewCheckOptionsActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/NewCheckOptionsActivity.java index 096212c..76dafec 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/NewCheckOptionsActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/NewCheckOptionsActivity.java @@ -102,12 +102,13 @@ public class NewCheckOptionsActivity extends BaseActivity { private LocationClient mLocationClient; private String[] mNowStrings; private String[] mTermStrings; - private ArrayAdapter mTermAdapter; - private ArrayAdapter mNowAdapter; + private AddPhotoAdapter mAddPhotoAdapter; private List mPhotos; private NewOptions mCurrentOptions; private String mPhotoIds = ""; + private ArrayAdapter mTermAdapter; + private ArrayAdapter mNowAdapter; private int mType = 1;//整改方式 private String mSelType = "";//整改期限 private double mCurrentLatitude = 0.0d; diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptions.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptions.java index 789ce80..518ca3d 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptions.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptions.java @@ -120,6 +120,15 @@ public class NewOptions { private int type; private String inputNumber; private String inputText; + private String pId; + + public String getpId() { + return pId; + } + + public void setpId(String pId) { + this.pId = pId; + } public String getInputNumber() { return inputNumber; diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptionsAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptionsAdapter.java index 6f0e637..492be3a 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptionsAdapter.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/NewOptionsAdapter.java @@ -19,6 +19,7 @@ import android.widget.RadioButton; import android.widget.RadioGroup; import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean; +import com.sucstepsoft.cm_utils.core.widget.base.AddLittlePhotoAdapter; import com.sucstepsoft.cm_utils.core.widget.base.AddPhotoAdapter; import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; import com.sucstepsoft.cm_utils.utils.ConvertUtils; @@ -190,11 +191,13 @@ public class NewOptionsAdapter extends BaseRecyclerAdapter { - mSelectPhotoListener.onSelectPhoto(bean, mData.get(index), index, 3, 1); + if (mSelectPhotoListener != null) { + mSelectPhotoListener.onSelectPhoto(bean, mData.get(index), index, 3, 1); + } }); photoAdapter.addOnItemClickListener(bean -> { if (mSelectPhotoListener != null) { @@ -219,7 +222,9 @@ public class NewOptionsAdapter extends BaseRecyclerAdapter onShowTypePicker()); +// mTvComType.setOnClickListener(v -> onShowTypePicker()); } private void showDetail(CounterCheckListBean.RowsBean rowsBean) { @@ -198,7 +197,7 @@ public class MineMissionActivity extends BaseActivity { mTypePicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> { DictBean bean = mTypeList.get(options1); mCompanyType = bean.getDictionaryId(); - mTvComType.setText(bean.getDictionaryName()); +// mTvComType.setText(bean.getDictionaryName()); }).setTitleText("请选择企业类型") .setCancelColor(Color.parseColor("#1189FF")) .setSubmitColor(Color.parseColor("#1189FF")) @@ -500,57 +499,23 @@ public class MineMissionActivity extends BaseActivity { hideSoftKeyboard(); RetrofitManager.getInstance() .create(LocationApiService.class) - .getMineCheckList(currentPage + "", UserLgUtils.getToken()) + .getCheckListOfMine(currentPage + "", UserLgUtils.getToken()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { + .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { - mDis1 = d; + } @Override - public void onNext(CounterCheckListBean companyListDataBean) { - if (isShow) { - mMProgressDialog.dismiss(); - } - if (companyListDataBean != null && companyListDataBean.getRows() != null && companyListDataBean.getRows().size() > 0) { - ++mCurrentPage; - if (currentPage == 1) { - mDatas.clear(); - mDatas.addAll(companyListDataBean.getRows()); - } else { - mDatas.addAll(companyListDataBean.getRows()); - } - reStateView(STATE_LOAD_SUCCESS); - mAdapter.notifyDataSetChanged(); - mXlvComLib.refreshComplete(); - if (mDatas.size() >= companyListDataBean.getTotal()) { - mXlvComLib.loadMoreComplete(); - mXlvComLib.setNoMore(true); - } else { - mXlvComLib.loadMoreComplete(); - mXlvComLib.setNoMore(false); - } - } else { - if (currentPage > 1) { - mXlvComLib.loadMoreComplete(); - mXlvComLib.setNoMore(true); - reStateView(STATE_LOAD_SUCCESS); - } else { - //无数据 - reStateView(STATE_LOAD_EMPTY); - } - } + public void onNext(BaseUserBean baseUserBean) { + } @Override public void onError(Throwable e) { - if (isShow) { - mMProgressDialog.dismiss(); - } - reStateView(STATE_LOAD_ERROR); - ToastUtils.showShort("数据加载失,请稍后重试"); + } @Override @@ -558,6 +523,66 @@ public class MineMissionActivity extends BaseActivity { } }); +// RetrofitManager.getInstance() +// .create(LocationApiService.class) +// .getMineCheckList(currentPage + "", UserLgUtils.getToken()) +// .subscribeOn(Schedulers.io()) +// .observeOn(AndroidSchedulers.mainThread()) +// .subscribe(new Observer() { +// @Override +// public void onSubscribe(Disposable d) { +// mDis1 = d; +// } +// +// @Override +// public void onNext(CounterCheckListBean companyListDataBean) { +// if (isShow) { +// mMProgressDialog.dismiss(); +// } +// if (companyListDataBean != null && companyListDataBean.getRows() != null && companyListDataBean.getRows().size() > 0) { +// ++mCurrentPage; +// if (currentPage == 1) { +// mDatas.clear(); +// mDatas.addAll(companyListDataBean.getRows()); +// } else { +// mDatas.addAll(companyListDataBean.getRows()); +// } +// reStateView(STATE_LOAD_SUCCESS); +// mAdapter.notifyDataSetChanged(); +// mXlvComLib.refreshComplete(); +// if (mDatas.size() >= companyListDataBean.getTotal()) { +// mXlvComLib.loadMoreComplete(); +// mXlvComLib.setNoMore(true); +// } else { +// mXlvComLib.loadMoreComplete(); +// mXlvComLib.setNoMore(false); +// } +// } else { +// if (currentPage > 1) { +// mXlvComLib.loadMoreComplete(); +// mXlvComLib.setNoMore(true); +// reStateView(STATE_LOAD_SUCCESS); +// } else { +// //无数据 +// reStateView(STATE_LOAD_EMPTY); +// } +// } +// } +// +// @Override +// public void onError(Throwable e) { +// if (isShow) { +// mMProgressDialog.dismiss(); +// } +// reStateView(STATE_LOAD_ERROR); +// ToastUtils.showShort("数据加载失,请稍后重试"); +// } +// +// @Override +// public void onComplete() { +// +// } +// }); } private void reStateView(int state) { 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 4353a1f..5106490 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 @@ -25,6 +25,7 @@ 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.base.CatalogActivity; import com.sucstepsoft.txrealtimelocation.activitys.issue.CheckOptionsActivity; import com.sucstepsoft.txrealtimelocation.activitys.issue.NewCheckOptionsActivity; import com.sucstepsoft.txrealtimelocation.adapters.CompanyCheckAdapter; @@ -120,7 +121,7 @@ public class SelCompanyActivity extends BaseActivity { mAdapter = new CompanyCheckAdapter(mActivity, mDatas); mXlvComLib.setAdapter(mAdapter); mAdapter.addOnItemClickListener(bean -> { - Intent intent = new Intent(mActivity, NewCheckOptionsActivity.class); + Intent intent = new Intent(mActivity, CatalogActivity.class); intent.putExtra("nId", bean.getNatureJoinByEnterpriseId()); intent.putExtra("id", bean.getIndustryJoinByEnterpriseId()); intent.putExtra("cId", bean.getEnterpriseId()); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java index 2cf03c1..8435f2d 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java @@ -7,11 +7,8 @@ import android.text.InputType; import android.text.TextUtils; import android.text.TextWatcher; import android.view.LayoutInflater; -import android.view.TextureView; import android.view.View; import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RadioButton; @@ -19,14 +16,8 @@ import android.widget.RadioButton; import com.sucstepsoft.cm_utils.core.beans.AddPhotoBean; import com.sucstepsoft.cm_utils.core.widget.base.AddPhotoAdapter; 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.issue.demo.NewOptions; -import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.NewOptionsAdapter; -import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.NewOptionsHolder; -import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.Options; -import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.OptionsAdapter; -import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.OptionsHolder; import com.sucstepsoft.txrealtimelocation.adapters.holders.CounterCheckOptionHolder; import com.sucstepsoft.txrealtimelocation.widget.EmStateCheck; diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/LeftCatalogAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/LeftCatalogAdapter.java new file mode 100644 index 0000000..b5672b4 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/LeftCatalogAdapter.java @@ -0,0 +1,76 @@ +package com.sucstepsoft.txrealtimelocation.adapters; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; +import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; +import com.sucstepsoft.cm_utils.core.widget.base.GlideRoundTransform; +import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.NewOptions; +import com.sucstepsoft.txrealtimelocation.adapters.holders.LeftCatalogHolder; +import com.sucstepsoft.txrealtimelocation.beans.CatalogBean; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/4/19 - 12:02 PM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class LeftCatalogAdapter extends BaseRecyclerAdapter { + private int mSelectIndex; + private final RequestOptions mIconOptions; + + public LeftCatalogAdapter(Context ctx, List list) { + super(ctx, list); + mIconOptions = new RequestOptions() + .transform(new GlideRoundTransform(mContext, 5)).error(R.drawable.temp_sel_options).placeholder(R.drawable.temp_sel_options); + } + + @Override + public LeftCatalogHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_catalog_left, parent, false); + return new LeftCatalogHolder(itemView); + } + + @Override + public void bindHolder(LeftCatalogHolder leftCatalogHolder, int i) { + leftCatalogHolder.mTvTitle.setText(mData.get(i).getTitle()); + leftCatalogHolder.itemView.setOnClickListener(v -> { + mSelectIndex = i; + notifyDataSetChanged(); + if (mChildChangeListener != null) { + mChildChangeListener.onChangeChild(mData.get(i).getOptions()); + } + }); + + if (mSelectIndex == i) { + leftCatalogHolder.mTvTitle.setSelected(true); + Glide.with(mContext) + .load(R.drawable.temp_unsel_options) + .apply(mIconOptions) + .into(leftCatalogHolder.mIvIcon); + } else { + leftCatalogHolder.mTvTitle.setSelected(false); + Glide.with(mContext) + .load(R.drawable.temp_sel_options) + .apply(mIconOptions) + .into(leftCatalogHolder.mIvIcon); + } + } + + private NotifyChildChangeListener mChildChangeListener; + + public void addNotifyChildChangeListener(NotifyChildChangeListener listener) { + this.mChildChangeListener = listener; + } + + public interface NotifyChildChangeListener { + void onChangeChild(List child); + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/LeftCatalogHolder.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/LeftCatalogHolder.java new file mode 100644 index 0000000..28f7c58 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/LeftCatalogHolder.java @@ -0,0 +1,26 @@ +package com.sucstepsoft.txrealtimelocation.adapters.holders; + +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.sucstepsoft.txrealtimelocation.R; + +/** + * 作者: adam + * 日期: 2020/4/19 - 12:00 PM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class LeftCatalogHolder extends RecyclerView.ViewHolder { + public TextView mTvTitle; + public ImageView mIvIcon; + + public LeftCatalogHolder(@NonNull View itemView) { + super(itemView); + mTvTitle = itemView.findViewById(R.id.tv_title); + mIvIcon = itemView.findViewById(R.id.iv_icon); + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CatalogBean.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CatalogBean.java new file mode 100644 index 0000000..75523c1 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CatalogBean.java @@ -0,0 +1,79 @@ +package com.sucstepsoft.txrealtimelocation.beans; + +import com.sucstepsoft.txrealtimelocation.activitys.issue.demo.NewOptions; + +import java.util.ArrayList; +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/4/19 - 1:55 PM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class CatalogBean { + private String title; + private String pId; + private String itemId; + private String icon; + private String selIcon; + private String typeByCheckItemId; + + public String getTypeByCheckItemId() { + return typeByCheckItemId; + } + + public void setTypeByCheckItemId(String typeByCheckItemId) { + this.typeByCheckItemId = typeByCheckItemId; + } + + private List mOptions = new ArrayList<>(); + + public List getOptions() { + return mOptions; + } + + public void setOptions(List options) { + mOptions = options; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public String getSelIcon() { + return selIcon; + } + + public void setSelIcon(String selIcon) { + this.selIcon = selIcon; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getpId() { + return pId; + } + + public void setpId(String pId) { + this.pId = pId; + } + + public String getItemId() { + return itemId; + } + + public void setItemId(String itemId) { + this.itemId = itemId; + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java index f2fc014..0f89bc2 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java @@ -12,24 +12,40 @@ public class CheckOptionsbean { /** - * industryCheckItemId : a6027f46-8ff0-466a-996b-9198dbfc52c5 + * industryCheckItemId : 47320f89-c211-412b-b6f0-7577b3053dca * natureId : 165aa316-2972-4ed9-9a4b-7f8b9d489986 * natureIdDictionaryName : 商店超市 + * checkItemParentId : 1dd8f43e-5b03-436a-b12e-b32f3aa7a223 * checkItemId : d37491ee-146e-430e-b155-2256fc0c4957 * nameJoinByCheckItemId : 营业执照 * summaryJoinByCheckItemId : 营业执照 - * typeJoinByCheckItemId : + * typeJoinByCheckItemId : 2 + * iconJoinByCheckItemId : + * iconPressJoinByCheckItemId : + * parentNameJoinByCheckItemId : 营业执照 + * parentSummaryJoinByCheckItemId : 营业执照 + * parentTypeJoinByCheckItemId : 1 + * parentIconJoinByCheckItemId : 5796f999-be0c-46e1-87e3-94f57aa6991d + * parentIconPressJoinByCheckItemId : d1d8b21f-815e-4da8-9a59-0153411dbdeb * type : 1 - * checkItemOptions : [{"checkItemOptionId":"6ba68e00-4c67-4974-9d8b-5f7e3f2e7027","checkItemId":"","type":1,"name":"有","unit":"","isWrong":0},{"checkItemOptionId":"675a2ead-c22c-4415-94bb-4c8543a4337a","checkItemId":"","type":1,"name":"无","unit":"","isWrong":1}] + * checkItemOptions : [{"checkItemOptionId":"6ba68e00-4c67-4974-9d8b-5f7e3f2e7027","checkItemId":"d37491ee-146e-430e-b155-2256fc0c4957","type":1,"name":"有","unit":"","isWrong":0},{"checkItemOptionId":"675a2ead-c22c-4415-94bb-4c8543a4337a","checkItemId":"d37491ee-146e-430e-b155-2256fc0c4957","type":1,"name":"无","unit":"","isWrong":1}] */ private String industryCheckItemId; private String natureId; private String natureIdDictionaryName; + private String checkItemParentId; private String checkItemId; private String nameJoinByCheckItemId; private String summaryJoinByCheckItemId; private String typeJoinByCheckItemId; + private String iconJoinByCheckItemId; + private String iconPressJoinByCheckItemId; + private String parentNameJoinByCheckItemId; + private String parentSummaryJoinByCheckItemId; + private String parentTypeJoinByCheckItemId; + private String parentIconJoinByCheckItemId; + private String parentIconPressJoinByCheckItemId; private int type; private List checkItemOptions; @@ -57,6 +73,14 @@ public class CheckOptionsbean { this.natureIdDictionaryName = natureIdDictionaryName; } + public String getCheckItemParentId() { + return checkItemParentId; + } + + public void setCheckItemParentId(String checkItemParentId) { + this.checkItemParentId = checkItemParentId; + } + public String getCheckItemId() { return checkItemId; } @@ -89,6 +113,62 @@ public class CheckOptionsbean { this.typeJoinByCheckItemId = typeJoinByCheckItemId; } + public String getIconJoinByCheckItemId() { + return iconJoinByCheckItemId; + } + + public void setIconJoinByCheckItemId(String iconJoinByCheckItemId) { + this.iconJoinByCheckItemId = iconJoinByCheckItemId; + } + + public String getIconPressJoinByCheckItemId() { + return iconPressJoinByCheckItemId; + } + + public void setIconPressJoinByCheckItemId(String iconPressJoinByCheckItemId) { + this.iconPressJoinByCheckItemId = iconPressJoinByCheckItemId; + } + + public String getParentNameJoinByCheckItemId() { + return parentNameJoinByCheckItemId; + } + + public void setParentNameJoinByCheckItemId(String parentNameJoinByCheckItemId) { + this.parentNameJoinByCheckItemId = parentNameJoinByCheckItemId; + } + + public String getParentSummaryJoinByCheckItemId() { + return parentSummaryJoinByCheckItemId; + } + + public void setParentSummaryJoinByCheckItemId(String parentSummaryJoinByCheckItemId) { + this.parentSummaryJoinByCheckItemId = parentSummaryJoinByCheckItemId; + } + + public String getParentTypeJoinByCheckItemId() { + return parentTypeJoinByCheckItemId; + } + + public void setParentTypeJoinByCheckItemId(String parentTypeJoinByCheckItemId) { + this.parentTypeJoinByCheckItemId = parentTypeJoinByCheckItemId; + } + + public String getParentIconJoinByCheckItemId() { + return parentIconJoinByCheckItemId; + } + + public void setParentIconJoinByCheckItemId(String parentIconJoinByCheckItemId) { + this.parentIconJoinByCheckItemId = parentIconJoinByCheckItemId; + } + + public String getParentIconPressJoinByCheckItemId() { + return parentIconPressJoinByCheckItemId; + } + + public void setParentIconPressJoinByCheckItemId(String parentIconPressJoinByCheckItemId) { + this.parentIconPressJoinByCheckItemId = parentIconPressJoinByCheckItemId; + } + public int getType() { return type; } @@ -108,7 +188,7 @@ public class CheckOptionsbean { public static class CheckItemOptionsBean { /** * checkItemOptionId : 6ba68e00-4c67-4974-9d8b-5f7e3f2e7027 - * checkItemId : + * checkItemId : d37491ee-146e-430e-b155-2256fc0c4957 * type : 1 * name : 有 * unit : diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java index c87638f..84cc620 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java @@ -755,4 +755,10 @@ public interface LocationApiService { @Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"}) @GET("enterpriseofgridoperator/countenterpriseofgridoperatorofmine") Observable getMineEnterpriseCount(@Header("token") String token); + + //我的任务 + //GET /app/taskcheck/listpagetaskcheckofmine + @Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"}) + @GET("taskcheck/listpagetaskcheckofmine") + Observable getCheckListOfMine(@Query("page") String page, @Header("token") String token); } diff --git a/app/src/main/res/color/col_catalog.xml b/app/src/main/res/color/col_catalog.xml new file mode 100644 index 0000000..24b2706 --- /dev/null +++ b/app/src/main/res/color/col_catalog.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/ic_hint_dialog.png b/app/src/main/res/drawable-xhdpi/ic_hint_dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9a1391d002aba8440719c536c834a3268b70ef GIT binary patch literal 981 zcmV;`11kK9P)7h`J*=MaucQ%1ou^_02gzBN9RtxQ=J@jDPTPY+6dNE$~U`nBv zV)W{zLaL-z&l`E466F2 zdv&b>kmQ_z_X|qDon}1l3Xc!lK$fL=kAb&3)kGVBX0=~7IS-WHZSy=ylS`yRDXyBD zXux}6Wp}gz2&Fi0T8+WSZ3VX++PDpPCa5lsqycUg=7#_-1WNBq_AUdMlVYF&%mSDX zl-^HUxrGwjOIWP~AK>}Xvcr^nqWq@-D+i@9>)|-)wlJ)G_Z~*@Uij>bVBGqtt00000NkvXXu0mjf DJw4J^ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/temp_sel_options.png b/app/src/main/res/drawable-xhdpi/temp_sel_options.png new file mode 100644 index 0000000000000000000000000000000000000000..8088901993cdef20ca205721d5fe16aceb7dff88 GIT binary patch literal 1270 zcmVTMzvs++N<^o6`$!0})_)NZ zt>QSoo#1FeV>f}&S(d#aqAMZ9Y~(&mW?rUg`eo$$;Q%0bp67oEAr`plu?M%-K|426 z%1==g;s4HKkOq`e5d3;V!P|nanRzipBTfLqFg(rk{4Z_a&bPD2#Fdot(nT9q06`F3 zF!P@Wy!9@e>#{88_xJY*0G*>3KoA61TKGLKbFZaqB6=6c@#n5xIsrTZ;TxHW=xrB> zodC4iz~-OI=rpGX0JOt?`yXuHc3EpFuoRpW;|0NisJD+XCSG{(^`; zK1IoEncDu)0MHrsd!Okr^WVqE$BQV6ejEa%4jeZ^h-W?fZ<$g9Kq-X``@U--giq7- z;t+zHdn%>CtG-&!`H&C-}zBrh5O zE-^nzk_zkr{bXGWWwVA#aGe_}pt=oy$# zu32~J=3_vNIAcz(CNW}j7Yuj0%tYcu=tLfhm>HqeC7FHz0C@hn?X;-@F!Q@KO(AGC zlv2noFKu#|-{A-3`~G*M`0iXkH2^8)3zOH3jBdBk0K1^x7XT4`VP^39Sy`6Lx=?`+ z#&Nua3<&2iDP~4pjJYa&nX0U(5ExQiv~ZOXEo)s!X6vTqjuyaNCy@1MX2E@A5y zvIag>X+F=Bi(v?frLoFhkgo`*`W>5ID5C>5F0NUh-tH`6YtZJ_bJX1nGE)a!Ix{-zC1 z%hYSy4V^Y_)TNk5Z+|hQw{Ngr-0n)hA*|9geX9YUBJRTyvMl>bMD;sDZv@&ZX!I>1 zoc4OX%Zm640@1_vFoBLnFD-Dql;-v^f2*p)t0{~!)M@L7X7eh>`>gQO7jn~-L!*oE&x4ME|?RBT@Y&&t{ z@AJCxW$ycHK5*0sU3t>PH@&r8-|NhSD6~ru$BywKFl>Yn7rV^H$%M>F+Ofe9r-Pk#mmR;!|dyF-$J8&S+^Oi#e?@VMim34tBiUKeC_<0Qy7XEEFrNEhxgjVQ( gdY-o$E3_%Yzk0jGi8c74jQ{`u07*qoM6N<$fdT_b>%0>LqYp%6 z%jdas<1h>(lYs!_ne_U_pXZrV5xJQc%wPa!#?J1E2!`|h3lX_iRd%*|m>Hh>E+YFP zVh-d|Rq;~w7zDt~e!1bVB66gv7{Bl^Ge8`P$cE2*Ry%1G0N?d15&7f`;P#~tGsCL@ z`6D8`HQwk2U}m`aTtpsl`Mg}MMeCb|XFrR`4^_SH`feuxcP+-BsVcj(wqa&?`KN;@ zQnd&m7|$*&h3iAn*Vxbsz-a^L|C#X#YyiQTctfW*0GxxrMTC&HR@#(2Xk%t%Rbuus$3xGWBv3Lp`DYr&rvL(V zj^hK-LNg;O01`>Cioq^(?pm|4=LwSOlu8i*hV83rF2Wi^!@*vK;c?FUoF>^O0`5Xp zvA5AO7{`v1{SHeZ)6DoBaE**`cPmw&nw2an>=p6s;Wh5m>GhL z0mT~h%O16Bm>DYffXz+-h&<@?V%V&md=XH!YnWLhHK3Y0eV#>Rr%MvoPQE4pg!o$# z836$LoU3Y|E_yc<^0Rj&;2Mw?Az>GNRaM?n6z|7z` zT8E6^T5F_TbsPE;>qLC6D~vit@IozshCUq|I>}$_NMxR{Nc~Ww3jmQR9riw1&G~5( z*@R2=QesfN_7EHoF|L19RU*)Igq9^BkT;AXjXeA}Qi5Hn5p%dRMF$M3&6+gCScCpj z9PA*{d>mSqQOGUkR{@4qY{QDGF ztu0KKAw;OHSkRoXP?vSiWhelc+M*trvhSXz8Ng=o%9&sQf}MZzd3lex-*tdtOjA9^ zk`hWZRnE{Yp6B@xR@2vuJD#1Drg}{D%8U9vRiy*H@)5kr?x%K1?~P3^KJ&K9o4!jQ zk`O)m9wmGZx&+B54DI*n;cjbe(fesC{yvNN+|1x(ZJ%gVJ8z5egjZ_!nZ8w9YY{Iz zcPYV)lQFz@VW#tz?$T=ZX66|)o7BMB9Hr(iM$tT~YVJCpJH4<7eaws;vfC!^{=fEm z@>|X2!eAZ@{6dWleXW$H<>Fnt!-4BB^tjW8^*b+FYA^XnZbX1$=XfD&!SZ(*T5RS5 zqi@bZ06cLey$%@4Ogux#rC6^XW`;6_t+$Qhy!0Y&P8|sg_jE-yn1y|$vAWu@@ZvX%Q M07*qoM6N<$f+{|L5dZ)H literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_catalog.xml b/app/src/main/res/layout/activity_catalog.xml new file mode 100644 index 0000000..4aac2c8 --- /dev/null +++ b/app/src/main/res/layout/activity_catalog.xml @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + +