页面修改

This commit is contained in:
itgaojian163 2024-07-12 17:29:35 +08:00
parent 9d49d84283
commit c296c98562
41 changed files with 865 additions and 217 deletions

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<value>
<entry key="app">
<State />
</entry>
</value>
</component>
</project>

10
.idea/migrations.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectMigrations">
<option name="MigrateToGradleLocalJavaHome">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</component>
</project>

View File

@ -4,10 +4,18 @@
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
</configurations>
</component>
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_13" default="true" project-jdk-name="13" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
<component name="VisualizationToolProject">
<option name="state">
<ProjectState>
<option name="scale" value="0.5" />
</ProjectState>
</option>
</component>
</project>

View File

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":6,"versionName":"1.0.5","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":9,"versionName":"1.0.9","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

View File

@ -39,8 +39,8 @@ ext {
gCompileSdkVersion = 28
gMinSdkVersion = 16
gTargetSdkVersion = 28
gVersionCode = 6
gVersionName = '1.0.5'
gVersionCode = 9
gVersionName = '1.0.9'
//Router编译版本
gRouterApiVersion = '1.4.1'
gRouterCompileVersion = '1.2.2'

View File

@ -122,7 +122,7 @@ public class AddPersonActivity extends BaseActivity {
mKey = getIntent().getIntExtra("key", -1);
//从添加车辆页面进入
mCarId = getIntent().getStringExtra("carId");
initReadCard();
// TODO initReadCard();
}
/**

View File

@ -116,25 +116,25 @@ public class CheckIntoRecordActivity extends BaseActivity {
mTvBaseTitle.setText("进监记录");
refreshView(STATE_LOAD_SUCCESS);
refreshState(123);
uiHandler = new MyHandler(this);
// 设备注册
mNfcAdapter = NfcAdapter.getDefaultAdapter(getApplicationContext());
// 判断设备是否可用
if (mNfcAdapter == null) {
ToastUtils.showShort("该设备不支持nfc!");
return;
}
if ((null != mNfcAdapter) && !mNfcAdapter.isEnabled()) {
ToastUtils.showShort("请在系统设置中先启用NFC功能");
startActivity(new Intent(Settings.ACTION_NFC_SETTINGS));
finish();
return;
}
mNfcPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
mNFCReaderHelper = new NFCReaderHelper(getApplicationContext(), uiHandler, appKey,
appSecret, true);
// TODO uiHandler = new MyHandler(this);
// // 设备注册
// mNfcAdapter = NfcAdapter.getDefaultAdapter(getApplicationContext());
// // 判断设备是否可用
// if (mNfcAdapter == null) {
// ToastUtils.showShort("该设备不支持nfc!");
// return;
// }
// if ((null != mNfcAdapter) && !mNfcAdapter.isEnabled()) {
// ToastUtils.showShort("请在系统设置中先启用NFC功能");
// startActivity(new Intent(Settings.ACTION_NFC_SETTINGS));
// finish();
// return;
// }
// mNfcPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
// getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
//
// mNFCReaderHelper = new NFCReaderHelper(getApplicationContext(), uiHandler, appKey,
// appSecret, true);
mBtnSearch.setOnClickListener(v -> {
String identity = mEtSearch.getText().toString().trim();
if (!TextUtils.isEmpty(identity) && IDCard.IDCardValidate(identity)) {

View File

@ -73,12 +73,14 @@ public class CheckRecordDetailActivity extends BaseActivity {
TextView mTvEndTime;
@BindView(R2.id.tv_manager_user)
TextView mTvManagerUser;
@BindView(R2.id.iv_photo)
ImageView mIvPhoto;
// @BindView(R2.id.iv_photo)
// ImageView mIvPhoto;
// @BindView(R2.id.tv_per)
// TextView mTvPer;
@BindView(R2.id.tv_status)
TextView mTvStatus;
@BindView(R2.id.rlv_photo)
RecyclerView mRlvPhoto;
@BindView(R2.id.rlv_list)
RecyclerView mRlvList;
@BindView(R2.id.tv_field_name)
@ -183,7 +185,7 @@ public class CheckRecordDetailActivity extends BaseActivity {
showCarDetail(bean.getId(), bean.getBatchNumber());
}
});
}else{
} else {
//人员
mAdapter.addOnItemClickListener(bean -> {
ArrayList<String> list = new ArrayList<>();
@ -288,20 +290,37 @@ public class CheckRecordDetailActivity extends BaseActivity {
} else {
mTvPro.setText("无需进入");
}
Glide.with(mActivity)
.load(BaseUrlApi.BASE_URL + data.getPhotoRecordPath())
.apply(new RequestOptions()
.error(R.drawable.ic_car_person_default)
.placeholder(R.drawable.ic_car_person_default))
.into(mIvPhoto);
mIvPhoto.setOnClickListener(v -> {
ArrayList<String> list = new ArrayList<>();
list.add(data.getPhotoRecordPath());
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_CMUTILS_PHOTO_SHOW)
.withStringArrayList("imgUrls", list)
.navigation();
});
// TODO Glide.with(mActivity)
// .load(BaseUrlApi.BASE_URL + data.getPhotoRecordPath())
// .apply(new RequestOptions()
// .error(R.drawable.ic_car_person_default)
// .placeholder(R.drawable.ic_car_person_default))
// .into(mIvPhoto);
// mIvPhoto.setOnClickListener(v -> {
// ArrayList<String> list = new ArrayList<>();
// list.add(data.getPhotoRecordPath());
// ARouter.getInstance()
// .build(PathConfig.PATH_MODULE_CMUTILS_PHOTO_SHOW)
// .withStringArrayList("imgUrls", list)
// .navigation();
// });
if (data.getPhotoRecordIdList() != null && data.getPhotoRecordIdList().size() > 0) {
mRlvPhoto.setVisibility(View.VISIBLE);
List<String> photos = new ArrayList();
for (int i = 0; i < data.getPhotoRecordIdList().size(); i++) {
photos.add(data.getPhotoRecordIdList().get(i).getPath());
}
BaseShowPhotoAdapter photoAdapter = new BaseShowPhotoAdapter(mActivity, photos);
GridLayoutManager manager = new GridLayoutManager(mActivity, 4, GridLayoutManager.VERTICAL,
false);
mRlvPhoto.setLayoutManager(manager);
mRlvPhoto.setAdapter(photoAdapter);
photoAdapter.addOnItemClickListener(photoBean -> ARouter.getInstance().build(PathConfig.PATH_MODULE_CMUTILS_PHOTO_SHOW)
.withSerializable("imgUrls", new ArrayList<>(photoAdapter.getData()))
.navigation());
} else {
mRlvPhoto.setVisibility(View.GONE);
}
if (TextUtils.isEmpty(data.getType())) {
mTvType.setText("未知");
@ -309,12 +328,12 @@ public class CheckRecordDetailActivity extends BaseActivity {
if ("1".equals(data.getType())) {
mLlCop.setVisibility(View.VISIBLE);
mRlvTools.setVisibility(View.GONE);
mTvColHint.setText("驾驶员照片");
mTvTools.setText( data.getCarryTools());//"装载货物 : " +
mTvColHint.setText("车辆以及车辆货物照片");
mTvTools.setText(data.getCarryTools());//"装载货物
mTvType.setText("车辆进出");
if (!TextUtils.isEmpty(data.getCertificatesPhotoPath())) {
mTvColCarHint.setVisibility(View.VISIBLE);
mTvColCarHint.setText("车辆证件照(货物来源证明)");
mTvColCarHint.setText("车辆证件照");
mIvCarCard.setVisibility(View.VISIBLE);
Glide.with(mActivity)
.load(BaseUrlApi.BASE_URL + data.getCertificatesPhotoPath())
@ -335,7 +354,7 @@ public class CheckRecordDetailActivity extends BaseActivity {
mIvCarCard.setVisibility(View.GONE);
}
if (!TextUtils.isEmpty(data.getFollowCarUserName())) {
mTvCop.setText( data.getFollowCarUserName());
mTvCop.setText(data.getFollowCarUserName());
} else {
mTvCop.setText("");
}
@ -344,7 +363,7 @@ public class CheckRecordDetailActivity extends BaseActivity {
mIvCarCard.setVisibility(View.GONE);
mTvColCarHint.setVisibility(View.GONE);
mTvColHint.setText("人员照片");
mTvTools.setText( data.getCarryTools());
mTvTools.setText(data.getCarryTools());
mTvType.setText("人员进出");
mRlvTools.setVisibility(View.VISIBLE);
//TODO 携带工具数据回显

View File

@ -10,6 +10,7 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Switch;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
@ -27,6 +28,7 @@ import com.sucstepsoft.cm_utils.core.retrofit_net.conver.RxTransformer;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.views.ItemSplitDivider;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.TimeUtils;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.R2;
import com.sucstepsoft.modulecheck.data.beans.CheckRecordBean;
@ -36,6 +38,7 @@ import com.sucstepsoft.modulecheck.widget.adapter.enterexamine.CheckRecordAdapte
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -81,6 +84,10 @@ public class CheckRecordListActivity extends BaseActivity {
Button mBtnOpenSearch;
@BindView(R2.id.dl_content)
DrawerLayout mDlContent;
@BindView(R2.id.tv_all)
TextView mTvAll;
@BindView(R2.id.sw_change)
Switch mSwChange;
private Unbinder mBind;
private int mType = -1;
@ -150,6 +157,24 @@ public class CheckRecordListActivity extends BaseActivity {
mDlContent.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mBtnOpenSearch.setOnClickListener(v -> mDlContent.openDrawer(Gravity.RIGHT));
mBtnCancel.setOnClickListener(v -> mDlContent.closeDrawer(Gravity.RIGHT));
mSwChange.setOnCheckedChangeListener((compoundButton, b) -> {
if (b) {
mTvAll.setText("当天");
Date nowDate = TimeUtils.getNowDate();
mStartTime = mDateFormat.format(nowDate);
mEndTime = mStartTime;
requestDatas(-1, mStartTime, mEndTime, "", "1");
} else {
mTvAll.setText("全部");
requestDatas(-1, "", "", "", "1");
}
});
LogUtils.e("测试");
Date nowDate = TimeUtils.getNowDate();
mStartTime = mDateFormat.format(nowDate);
mEndTime = mStartTime;
requestDatas(-1, mStartTime, mEndTime, "", "1");
}
private void resetCondition() {
@ -162,6 +187,7 @@ public class CheckRecordListActivity extends BaseActivity {
mEtSearch.setText("");
mCurrentPageNo = 1;
mDatas.clear();
mSwChange.setChecked(false);
hideSoftKeyboard();
requestDatas(-1, "", "", "", "1");
}
@ -235,8 +261,8 @@ public class CheckRecordListActivity extends BaseActivity {
@Override
protected void onResume() {
super.onResume();
mCurrentPageNo = 1;
requestDatas(-1, "", "", "", "1");
// mCurrentPageNo = 1;
// requestDatas(-1, "", "", "", "1");
}
/**

View File

@ -308,7 +308,7 @@ public class CheckRegisterActivity extends BaseActivity {
mBtnSubmit.setOnClickListener(v -> checkComplete());
mIvPhoto.setOnClickListener(v -> takePhoto());
initTextChange();
initReadCard();
// TODO initReadCard();
//判断是否显示防疫措施
LogUtils.e(UserInfoSPUtils.getPersonIsShow());
if (UserInfoSPUtils.getPersonIsShow()) {

View File

@ -8,6 +8,7 @@ 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.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
@ -61,6 +62,8 @@ import com.sucstepsoft.modulecheck.widget.adapter.enterexamine.PersonShowAdapter
import com.sucstepsoft.modulecheck.widget.adapter.other.MultiCCarAdapter;
import com.sucstepsoft.modulecheck.widget.adapter.other.MultiCLeaderAdapter;
import com.sucstepsoft.modulecheck.widget.adapter.other.MultiCPersonAdapter;
import com.sucstepsoft.modulesupertools.adapter.AddPhotoAdapter;
import com.sucstepsoft.modulesupertools.data.beans.AddPhotoBean;
import java.io.File;
import java.lang.reflect.Type;
@ -117,14 +120,14 @@ public class CheckRegisterCarActivity extends BaseActivity {
Button mBtnCarSubmit;
@BindView(R2.id.tv_car_cop)
TextView mTvCarCop;
@BindView(R2.id.iv_car_person_photo)
ImageView mIvCarPersonPhoto;
@BindView(R2.id.et_car_carry)
EditText mEtCarCarry;
@BindView(R2.id.ic_car_cred)
ImageView mIvCarCard;
@BindView(R2.id.et_car_remark)
EditText mEtInformation;
@BindView(R2.id.rlv_driver)
RecyclerView mRlvDriver;
private Unbinder mBind;
private String startTime = "";
private String endTime = "";
@ -164,6 +167,11 @@ public class CheckRegisterCarActivity extends BaseActivity {
private String mBeanId;
private String isNeedInto = "1";
private List<AddPhotoBean> mPhotos = new ArrayList<>();
private AddPhotoAdapter mPhotoAdapter;
private AddPhotoBean mCurrentBean;
private String mPhotoIds = "";
@Override
protected int setLayoutId() {
return R.layout.activity_check_register_car;
@ -211,6 +219,40 @@ public class CheckRegisterCarActivity extends BaseActivity {
//默认带领人选择当前登录人
mTvCarLeadCop.setText(UserInfoSPUtils.getName());
mLeadId = UserInfoSPUtils.getUserId();
mPhotos.add(new AddPhotoBean());
mPhotoAdapter = new AddPhotoAdapter(mActivity, mPhotos);
GridLayoutManager gridLayoutManager = new GridLayoutManager(mActivity, 4) {
@Override
public boolean canScrollHorizontally() {
return false;
}
@Override
public boolean canScrollVertically() {
return false;
}
};
mRlvDriver.setLayoutManager(gridLayoutManager);
mRlvDriver.setAdapter(mPhotoAdapter);
mPhotoAdapter.addOnDeleteListener(((bean, i) -> {
//TODO 删除照片
mPhotoAdapter.removeItem(bean);
mPhotoIds = mPhotoIds.replace(bean.getId() + ",", "");
}));
mPhotoAdapter.addOnItemClickListener(bean -> {
if (TextUtils.isEmpty(bean.getPath())) {
//空数据
takeDriverPhoto(bean);
} else {
//预览
ArrayList<String> list = new ArrayList<>();
list.add(bean.getPath());
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_CMUTILS_PHOTO_SHOW)
.withStringArrayList("imgUrls", list)
.navigation();
}
});
} else {
refreshView(STATE_LOAD_LOADING);
requestDetailDataById(mBeanId);
@ -229,7 +271,6 @@ public class CheckRegisterCarActivity extends BaseActivity {
mTvCarCop.setOnClickListener(v -> showCarCopPicker());
mBtnCarSubmit.setEnabled(false);
mBtnCarSubmit.setOnClickListener(v -> checkComplete());
mIvCarPersonPhoto.setOnClickListener(v -> takePhoto(1));
mIvCarCard.setOnClickListener(v -> takePhoto(2));
initTextChange();
//是否显示疫情防疫
@ -280,12 +321,12 @@ public class CheckRegisterCarActivity extends BaseActivity {
.into(mIvCarCard);
}
mPhotoCarId = detailBean.getPhotoRecordId();
Glide.with(mActivity)
.load(BaseUrlApi.BASE_URL + detailBean.getPhotoRecordPath())
.apply(new RequestOptions()
.error(R.drawable.ic_car_person_default)
.placeholder(R.drawable.ic_car_person_default))
.into(mIvCarPersonPhoto);
// Glide.with(mActivity)
// .load(BaseUrlApi.BASE_URL + detailBean.getPhotoRecordPath())
// .apply(new RequestOptions()
// .error(R.drawable.ic_car_person_default)
// .placeholder(R.drawable.ic_car_person_default))
// .into(mIvCarPersonPhoto);
}
/**
@ -384,6 +425,26 @@ public class CheckRegisterCarActivity extends BaseActivity {
startActivityForResult(intent, CAMERA_REQUEST);
}
/**
* 拍摄驾驶员相片
*/
private void takeDriverPhoto(AddPhotoBean bean) {
mTakePhotoType = 1;
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, CAMERA_REQUEST);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
@ -446,13 +507,17 @@ public class CheckRegisterCarActivity extends BaseActivity {
if (uploadBean != null) {
ToastUtils.showShort("图片上传成功");
if (mTakePhotoType == 1) {
mPhotoCarId = uploadBean.getId();
Glide.with(mActivity)
.load(BaseUrlApi.BASE_URL + uploadBean.getPath())
.apply(new RequestOptions()
.error(R.drawable.ic_car_person_default)
.placeholder(R.drawable.ic_car_person_default))
.into(mIvCarPersonPhoto);
//TODO 上传驾驶员相片
mPhotoIds += (uploadBean.getId() + ",");
mPhotoCarId = mPhotoIds;
mCurrentBean.setId(uploadBean.getId());
mCurrentBean.setPath(BaseUrlApi.BASE_URL + uploadBean.getPath());
if (mPhotos.size() < 4) {
mPhotos.add(new AddPhotoBean());
}
mPhotoAdapter.notifyDataSetChanged();
mCurrentBean = null;
ToastUtils.showShort("上传成功.");
} else {
mCarCardPhotoId = uploadBean.getId();
Glide.with(mActivity)
@ -467,30 +532,7 @@ public class CheckRegisterCarActivity extends BaseActivity {
}
}
});
// 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) {
//// ToastUtils.showLong(TimeUtils.getNowString());
////
//// }
////
//// @Override
//// public void onError(Throwable e) {
//// dialog.disDialog();
//// ToastUtils.showShort("图片上传失败,请稍后重试");
//// }
//// })
//// .launch();
}
@ -1135,7 +1177,7 @@ public class CheckRegisterCarActivity extends BaseActivity {
return false;
}
if (TextUtils.isEmpty(mPhotoCarId)) {
ToastUtils.showShort("请上传驾驶员照片");
ToastUtils.showShort("请上传车辆以及车辆货物照片");
return false;
}
String trim = mEtCarCarry.getText().toString().trim();
@ -1252,6 +1294,7 @@ public class CheckRegisterCarActivity extends BaseActivity {
String strangCarId = sb.toString();
strangCarId = strangCarId.substring(0, strangCarId.length() - 1);
params.put("strangerOrCarId", strangCarId);
mPhotoCarId = mPhotoCarId.substring(0, mPhotoIds.length() - 1);
params.put("photoRecord", mPhotoCarId);
return params;
}

View File

@ -1,7 +1,9 @@
package com.sucstepsoft.modulecheck.activitys.enteroutexamine;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
@ -19,6 +21,8 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.cjt2325.cameralibrary.videorecord.AudioRecordButton;
import com.jakewharton.rxbinding2.widget.RxTextView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
@ -28,6 +32,10 @@ import com.sucstepsoft.cm_utils.core.retrofit_net.conver.BaseObserver;
import com.sucstepsoft.cm_utils.core.retrofit_net.conver.RxTransformer;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.base.BaseShowPhotoAdapter;
import com.sucstepsoft.cm_utils.core.widget.views.BaseListDialog;
import com.sucstepsoft.cm_utils.core.widget.views.CustomPickerBuilder;
import com.sucstepsoft.cm_utils.core.widget.views.CustomPickerView;
import com.sucstepsoft.cm_utils.core.widget.views.ItemSplitDivider;
import com.sucstepsoft.cm_utils.core.widget.views.LoadingDialog;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
@ -35,20 +43,29 @@ import com.sucstepsoft.cm_utils.utils.UIUtil;
import com.sucstepsoft.cm_utils.utils.UserInfoSPUtils;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.R2;
import com.sucstepsoft.modulecheck.data.beans.CarFollowBean;
import com.sucstepsoft.modulecheck.data.beans.CheckCarBean;
import com.sucstepsoft.modulecheck.data.beans.CheckRecordDetailBean;
import com.sucstepsoft.modulecheck.data.beans.CheckRecordDetailListBean;
import com.sucstepsoft.modulecheck.data.beans.LeadBean;
import com.sucstepsoft.modulecheck.data.beans.ProcessBean;
import com.sucstepsoft.modulecheck.data.net.CheckApiService;
import com.sucstepsoft.modulecheck.widget.adapter.enterexamine.CarFollowAdapter;
import com.sucstepsoft.modulecheck.widget.adapter.enterexamine.FlowProcessAdapter;
import com.sucstepsoft.modulecheck.widget.adapter.enterexamine.RecordDetailAdapter;
import com.sucstepsoft.modulecheck.widget.adapter.other.MultiCLeaderAdapter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
/**
@ -93,8 +110,8 @@ public class FlowTransactActivity extends BaseActivity {
TextView mTvFieldName;
@BindView(R2.id.tv_cop)
TextView mTvCop;
@BindView(R2.id.iv_photo)
ImageView mIvPhoto;
// @BindView(R2.id.iv_photo)
// ImageView mIvPhoto;
@BindView(R2.id.iv_car_card)
ImageView mIvCarCard;
@BindView(R2.id.iv_col_car_hint)
@ -107,16 +124,40 @@ public class FlowTransactActivity extends BaseActivity {
TextView mTvInfo;
@BindView(R2.id.tv_pro)
TextView mTvPro;
@BindView(R2.id.rlv_photo)
RecyclerView mRlvPhoto;
@BindView(R2.id.ll_examine)
LinearLayout mLlExamine;//审核人
@BindView(R2.id.tv_examine)
TextView mTvExamine;
@BindView(R2.id.rlv_list)
RecyclerView mRlvList;
private Unbinder mBind;
private List<ProcessBean> mProcessBeans = new ArrayList<>();
private FlowProcessAdapter mAdapter;
private List<CheckRecordDetailListBean> mData = new ArrayList<>();
private RecordDetailAdapter mCarPersonAdapter;
private String mProcessId;
private String mId;
private Disposable mD;
private Disposable mDisposable;
private int mExamineCurrentPageNo = 1;
private CustomPickerView mExaminePicker;
private XRecyclerView mExamineRlv;
private MultiCLeaderAdapter mExamineAdapter;
private ArrayList<LeadBean> mExamines = new ArrayList<>();
private String mExamineId = "";
private boolean mIsShowExamine = false;
@Override
protected int setLayoutId() {
return R.layout.activity_flow_transact;
}
@Override
public void initData() {
super.initData();
@ -126,6 +167,16 @@ public class FlowTransactActivity extends BaseActivity {
mProcessId = getIntent().getStringExtra("processId");
mId = getIntent().getStringExtra("id");
int type = getIntent().getIntExtra("type", -1);
mCarPersonAdapter = new RecordDetailAdapter(mActivity, mData);
mRlvList.setLayoutManager(new LinearLayoutManager(mActivity) {
@Override
public boolean canScrollVertically() {
return false;
}
});
mRlvList.addItemDecoration(new ItemSplitDivider(mActivity, LinearLayoutManager.VERTICAL));
mRlvList.setAdapter(mCarPersonAdapter);
doRequestProcessById(mProcessId);
doDetailInfoByProcessId(mProcessId);
mAdapter = new FlowProcessAdapter(mActivity, mProcessBeans);
@ -155,10 +206,139 @@ public class FlowTransactActivity extends BaseActivity {
/**
* 选择审核人
*/
@SuppressLint("CheckResult")
private void showExaminePerson() {
mExaminePicker = new CustomPickerBuilder(mActivity, (p1, p2, p3, v) -> {
})
.setLayoutRes(R.layout.picker_custom_car_type, v -> {
TextView mTvFinish = v.findViewById(R.id.tv_finish);
TextView mTvCancel = v.findViewById(R.id.tv_cancel);
EditText mEtSearch = v.findViewById(R.id.et_search);
mExamineRlv = v.findViewById(R.id.rlv_choose);
if (!TextUtils.isEmpty(mExamineId)) {
for (int i = 0; i < mExamines.size(); i++) {
if (mExamines.get(i).getUsername().equals(mExamineId)) {
mExamines.get(i).setCheck(true);
} else {
mExamines.get(i).setCheck(false);
}
}
}
mExamineAdapter = new MultiCLeaderAdapter(mActivity, mExamines, true);
mExamineRlv.setLayoutManager(new LinearLayoutManager(mActivity));
mExamineRlv.addItemDecoration(new ItemSplitDivider(mActivity, LinearLayoutManager.VERTICAL, 3,
Color.parseColor("#F5F5F5")));
mExamineRlv.setAdapter(mExamineAdapter);
mExamineRlv.setPullRefreshEnabled(false);
mExamineRlv.setFootViewText(getResources().getString(R.string.loading),
getResources().getString(R.string.nomore_data));
mExamineRlv.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
LogUtils.e(mExamineCurrentPageNo + "");
String content = mEtSearch.getText().toString().trim();
requestLeadDatas(content, mExamineCurrentPageNo);
}
});
mTvFinish.setOnClickListener(v1 -> {
List<LeadBean> chooseData = mExamineAdapter.getChooseData();
if (chooseData != null && chooseData.size() > 0) {
LeadBean mLeadBean = chooseData.get(0);
mTvExamine.setText(mLeadBean.getName());
mExamineId = mLeadBean.getUsername();
mExaminePicker.dismiss();
} else {
ToastUtils.showShort("请选择审核人.");
}
});
mTvCancel.setText("取消");
mTvCancel.setOnClickListener(v1 -> mExaminePicker.dismiss());
RxTextView.textChanges(mEtSearch)
.debounce(1, TimeUnit.SECONDS)
.skip(1)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(charSequence -> {
if (!TextUtils.isEmpty(charSequence)) {
requestLeadDatas(charSequence.toString(), 1);
} else {
requestLeadDatas("", 1);
}
});
})
.isDialog(true)
.build();
mExaminePicker.show();
if (mExamines.size() <= 0) {
requestLeadDatas("", 1);
}
}
/**
* 获取带领人数据
*/
private void requestLeadDatas(String keyWord, int s) {
mExamineCurrentPageNo = s;
Map<String, String> params = new HashMap<>();
params.put("pageNo", s + "");
params.put("type", "2");
if (!TextUtils.isEmpty(keyWord)) {
params.put("query", keyWord);
}
RetrofitManager.getInstance()
.create(CheckApiService.class)
.getLeadList(params)
.compose(RxTransformer.getListTransformer())
.subscribe(new BaseObserver<List<LeadBean>>() {
@Override
public void error(ApiException e) {
if ("202".equals(e.getCode())) {
reStartApp();
}
LogUtils.e(e.getErrorMsg());
}
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(List<LeadBean> leadBeans) {
LogUtils.e(leadBeans.size());
if (leadBeans != null && leadBeans.size() > 0) {
if (mExamineCurrentPageNo == 1) {
mExamines = new ArrayList<>(leadBeans);
} else {
mExamines.addAll(leadBeans);
}
mExamineAdapter.setData(mExamines);
mExamineRlv.setNoMore(false);
} else {
mExamineRlv.setNoMore(true);
if (mExamineCurrentPageNo == 1) {
ToastUtils.showShort("未查询到相关信息.");
}
}
if (!TextUtils.isEmpty(mExamineId)) {
for (int i = 0; i < mExamines.size(); i++) {
if (mExamines.get(i).getUserId().equals(mExamineId)) {
mExamines.get(i).setCheck(true);
} else {
mExamines.get(i).setCheck(false);
}
}
}
mExamineCurrentPageNo++;
}
});
}
/**
* 完成审批
*
@ -179,7 +359,12 @@ public class FlowTransactActivity extends BaseActivity {
break;
}
}
if ("同意".equals(opinion) && mIsShowExamine) {
if (TextUtils.isEmpty(mExamineId)) {
ToastUtils.showShort("请选择审核人");
return;
}
}
LoadingDialog dialog = new LoadingDialog(mActivity);
dialog.showDialog();
Map<String, String> params = new HashMap<>();
@ -187,6 +372,7 @@ public class FlowTransactActivity extends BaseActivity {
params.put("id", mId);
params.put("opinion", opinion);
params.put("state", i + "");
params.put("assignee", mExamineId);
RetrofitManager.getInstance()
.create(CheckApiService.class)
.doSaveHandle(params)
@ -227,11 +413,12 @@ public class FlowTransactActivity extends BaseActivity {
RetrofitManager.getInstance()
.create(CheckApiService.class)
.getDataByProcessId(processId)
.compose(RxTransformer.getDataTransformer())
.subscribe(new BaseObserver<CheckRecordDetailBean>() {
.compose(RxTransformer.getBaseBeanTransformer())
.subscribe(new BaseObserver<BaseResponseBean<CheckRecordDetailBean, CheckRecordDetailListBean>>() {
@Override
public void error(ApiException e) {
dialog.dismiss();
refreshView(STATE_LOAD_ERROR);
if ("202".equals(e.getCode())) {
reStartApp();
}
@ -244,20 +431,95 @@ public class FlowTransactActivity extends BaseActivity {
}
@Override
public void onNext(CheckRecordDetailBean checkRecordDetailBean) {
public void onNext(BaseResponseBean<CheckRecordDetailBean, CheckRecordDetailListBean> baseBean) {
dialog.dismiss();
setDataToView(checkRecordDetailBean);
setDataToView(baseBean);
if (baseBean.getList() != null && baseBean.getList().size() > 0) {
mData = baseBean.getList();
mCarPersonAdapter.setData(mData);
if ("1".equals(baseBean.getData().getType())) {
//车辆
mCarPersonAdapter.addOnItemClickListener(bean -> {
if (TextUtils.isEmpty(bean.getBatchNumber())) {
ToastUtils.showShort("数据有误");
} else {
showCarDetail(bean.getId(), bean.getBatchNumber());
}
});
} else {
//人员
mCarPersonAdapter.addOnItemClickListener(bean -> {
ArrayList<String> list = new ArrayList<>();
list.add(bean.getFrontPhotoPath());
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_CMUTILS_PHOTO_SHOW)
.withStringArrayList("imgUrls", list)
.navigation();
});
}
}
}
});
}
/**
* 根据批次号获取车辆详情
*
* @param batchNumber
*/
private void showCarDetail(String id, String batchNumber) {
LoadingDialog dialog = new LoadingDialog(mActivity);
dialog.showDialog();
Map<String, String> params = new HashMap<>();
params.put("id", id);
params.put("batchNumber", batchNumber);
RetrofitManager.getInstance()
.create(CheckApiService.class)
.getCarDetailById(params)
.compose(RxTransformer.getBaseBeanTransformer())
.subscribe(new BaseObserver<BaseResponseBean<CheckCarBean, CarFollowBean>>() {
@Override
public void error(ApiException e) {
dialog.disDialog();
mTvPublish.setVisibility(View.GONE);
if ("202".equals(e.getCode())) {
reStartApp();
}
}
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(BaseResponseBean<CheckCarBean, CarFollowBean> beans) {
dialog.disDialog();
if (beans.getList() != null && beans.getList().size() > 0) {
showFollowPerson(beans.getList());
} else {
ToastUtils.showShort("未查询到该车辆信息");
}
}
});
}
private void showFollowPerson(List<CarFollowBean> list) {
CarFollowAdapter adapter = new CarFollowAdapter(mActivity, list);
BaseListDialog detailDialog = new BaseListDialog(mActivity, adapter);
detailDialog.show();
}
/**
* 显示数据
*
* @param baseBean
* @param data
*/
private void setDataToView(CheckRecordDetailBean baseBean) {
if (baseBean != null) {
private void setDataToView(BaseResponseBean<CheckRecordDetailBean, CheckRecordDetailListBean> data) {
if (data != null) {
CheckRecordDetailBean baseBean = data.getData();
mTvCause.setText("进出事由 : " + baseBean.getCause());
mTvEndTime.setText("授权结束时间 : " + baseBean.getEndTime());
mTvStartTime.setText("授权开始时间 : " + baseBean.getStartTime());
@ -269,29 +531,23 @@ public class FlowTransactActivity extends BaseActivity {
mTvPro.setText("是否需要进入生产区域:无需进入");
}
// if (TextUtils.isEmpty(baseBean.getInform())) {
// mTvPer.setText("注意事项 : 未告知");
// } else {
// if ("1".equals(baseBean.getInform())) {
// mTvPer.setText("注意事项 : 已告知");
// } else {
// mTvPer.setText("注意事项 : 未告知");
// }
// }
Glide.with(mActivity)
.load(BaseUrlApi.BASE_URL + baseBean.getPhotoRecordPath())
.apply(new RequestOptions()
.error(R.drawable.ic_car_person_default)
.placeholder(R.drawable.ic_car_person_default))
.into(mIvPhoto);
mIvPhoto.setOnClickListener(v -> {
ArrayList<String> list = new ArrayList<>();
list.add(baseBean.getPhotoRecordPath());
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_CMUTILS_PHOTO_SHOW)
.withStringArrayList("imgUrls", list)
.navigation();
});
if (baseBean.getPhotoRecordIdList() != null && baseBean.getPhotoRecordIdList().size() > 0) {
mRlvPhoto.setVisibility(View.VISIBLE);
List<String> photos = new ArrayList();
for (int i = 0; i < baseBean.getPhotoRecordIdList().size(); i++) {
photos.add(baseBean.getPhotoRecordIdList().get(i).getPath());
}
BaseShowPhotoAdapter photoAdapter = new BaseShowPhotoAdapter(mActivity, photos);
GridLayoutManager manager = new GridLayoutManager(mActivity, 4, GridLayoutManager.VERTICAL,
false);
mRlvPhoto.setLayoutManager(manager);
mRlvPhoto.setAdapter(photoAdapter);
photoAdapter.addOnItemClickListener(photoBean -> ARouter.getInstance().build(PathConfig.PATH_MODULE_CMUTILS_PHOTO_SHOW)
.withSerializable("imgUrls", new ArrayList<>(photoAdapter.getData()))
.navigation());
} else {
mRlvPhoto.setVisibility(View.GONE);
}
if (TextUtils.isEmpty(baseBean.getType())) {
mTvType.setText("进出类型 : 未知");
} else {
@ -299,7 +555,7 @@ public class FlowTransactActivity extends BaseActivity {
mTvFieldName.setVisibility(View.VISIBLE);
mTvFieldName.setText("进入监区 : " + baseBean.getFieldnNames());
mRlvTools.setVisibility(View.GONE);
mTvColHint.setText("驾驶员照片");
mTvColHint.setText("车辆以及车辆货物照片");
mTvType.setText("进出类型 : 车辆进出");
mTvTools.setText("装载货物 : " + baseBean.getCarryTools());
mTvCop.setVisibility(View.VISIBLE);
@ -413,6 +669,14 @@ public class FlowTransactActivity extends BaseActivity {
@Override
public void onNext(List<ProcessBean> processBeans) {
if (processBeans != null && processBeans.size() > 0) {
mIsShowExamine = false;
for (int i = 0; i < processBeans.size(); i++) {
ProcessBean processBean = processBeans.get(i);
if (processBean.getOrder() == 1 && "狱政科审批".equals(processBean.getActName())) {
mIsShowExamine = true;
}
}
mLlExamine.setVisibility(mIsShowExamine ? View.VISIBLE : View.GONE);
refreshView(STATE_LOAD_SUCCESS);
Collections.sort(processBeans, new ProcessBean());
mAdapter.setData(processBeans);
@ -439,10 +703,6 @@ public class FlowTransactActivity extends BaseActivity {
alertDialog.show();
}
@Override
protected int setLayoutId() {
return R.layout.activity_flow_transact;
}
@Override
protected void onDestroy() {

View File

@ -12,6 +12,24 @@ public class AlreadyFlowBean {
private String dgrmResourceName;
private String id;
private String processId;
private String initatorName;
private String assigneeNames;
public String getInitatorName() {
return initatorName;
}
public void setInitatorName(String initatorName) {
this.initatorName = initatorName;
}
public String getAssigneeNames() {
return assigneeNames;
}
public void setAssigneeNames(String assigneeNames) {
this.assigneeNames = assigneeNames;
}
public int getOrder() {
return order;

View File

@ -0,0 +1,38 @@
package com.sucstepsoft.modulecheck.data.beans;
public class CarPhotosListBean {
/**
* path : uploadFiles/20240706/ed1fda12d8324904ac02f17bc0487ed1.jpeg
* id : 1084a5c660f04c629c06d00057fa698d
* type : 1
*/
private String path;
private String id;
private String type;
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}

View File

@ -55,6 +55,15 @@ public class CheckRecordDetailBean implements Serializable {
private String certificatesPhotoId;
private String certificatesPhotoPath;
private String production;
private List<CarPhotosListBean> photoRecordIdList;
public List<CarPhotosListBean> getPhotoRecordIdList() {
return photoRecordIdList;
}
public void setPhotoRecordIdList(List<CarPhotosListBean> photoRecordIdList) {
this.photoRecordIdList = photoRecordIdList;
}
public String getProduction() {
return production;

View File

@ -29,6 +29,25 @@ public class FinishFlowBean {
private String startTime;
private String endTime;
private int order;
private String initatorName;
private String assigneeNames;
public String getInitatorName() {
return initatorName;
}
public void setInitatorName(String initatorName) {
this.initatorName = initatorName;
}
public String getAssigneeNames() {
return assigneeNames;
}
public void setAssigneeNames(String assigneeNames) {
this.assigneeNames = assigneeNames;
}
public String getInitator() {
return initator;

View File

@ -13,6 +13,15 @@ public class WaitFlowBean {
private String dgrmResourceName;
private String id;
private String processId;
private String initatorName;
public String getInitatorName() {
return initatorName;
}
public void setInitatorName(String initatorName) {
this.initatorName = initatorName;
}
public int getOrder() {
return order;

View File

@ -89,7 +89,7 @@ public interface CheckApiService {
@Headers({"base_url_name:check"})
@FormUrlEncoded
@POST("appRegisterRecord/getDataByProcessId")
Observable<BaseResponseBean<CheckRecordDetailBean, Object>> getDataByProcessId(@Field("processId") String id);
Observable<BaseResponseBean<CheckRecordDetailBean, CheckRecordDetailListBean>> getDataByProcessId(@Field("processId") String id);
@Headers({"base_url_name:check"})
@FormUrlEncoded

View File

@ -34,8 +34,8 @@ public class AlreadyFlowAdapter extends BaseRecyclerAdapter<AlreadyFlowBean, Alr
holder.mTvName.setText("流程名称:" + mData.get(i).getPname());
holder.mTvStartTime.setText("开始时间:" + mData.get(i).getStartTime());
holder.mTvEndTime.setText("结束时间:" + mData.get(i).getEndTime());
holder.mTvAssignee.setText("办 理 人:" + mData.get(i).getAssignee());
holder.mTvCreateUser.setText("申 请 人:" + mData.get(i).getInitator());
holder.mTvAssignee.setText("办 理 人:" + mData.get(i).getAssigneeNames());
holder.mTvCreateUser.setText("申 请 人:" + mData.get(i).getInitatorName());
holder.mTvCurrentTask.setText("当前任务:" + mData.get(i).getName());
}

View File

@ -6,6 +6,9 @@ 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.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.data.beans.CheckCarBean;
@ -38,6 +41,13 @@ public class CarLIbAdapter extends BaseRecyclerAdapter<CheckCarBean, CarHolder>
}
holer.mTvName.setText(String.format(mContext.getResources().getString(R.string.car_name), mData.get(i).getCompany()));
holer.mTvCarNumber.setText(String.format(mContext.getResources().getString(R.string.car_number), mData.get(i).getPlateNumber()));
RequestOptions options = new RequestOptions()
.error(com.sucstepsoft.cm_utils.R.drawable.ic_img_default)
.placeholder(com.sucstepsoft.cm_utils.R.drawable.ic_loading);
Glide.with(mContext)
.load(BaseUrlApi.BASE_URL + mData.get(i).getCarFrontPhotoPath())
.apply(options)
.into(holer.mIvImg);
if (mOnItemEditOrDelete != null) {
holer.mBtnDel.setOnClickListener(v -> mOnItemEditOrDelete.onDelete(mData.get(i), i));
holer.mBtnDel.setVisibility(View.GONE);

View File

@ -6,6 +6,9 @@ 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.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.data.beans.CheckCarBean;
@ -48,6 +51,13 @@ public class CarShowAdapter extends BaseRecyclerAdapter<CheckCarBean, CarHolder>
// } else {
// holer.mTvCreateTime.setText(String.format(mContext.getResources().getString(R.string.remark_1), mData.get(i).getRemark()));
// }
RequestOptions options = new RequestOptions()
.error(com.sucstepsoft.cm_utils.R.drawable.ic_img_default)
.placeholder(com.sucstepsoft.cm_utils.R.drawable.ic_loading);
Glide.with(mContext)
.load(BaseUrlApi.BASE_URL + mData.get(i).getCarFrontPhotoPath())
.apply(options)
.into(holer.mIvImg);
holer.mTvName.setText(String.format(mContext.getResources().getString(R.string.car_name), mData.get(i).getCompany()));
holer.mTvCarNumber.setText(String.format(mContext.getResources().getString(R.string.car_number), mData.get(i).getPlateNumber()));
if (mType == 1) {

View File

@ -34,7 +34,7 @@ public class FinishFlowAdapter extends BaseRecyclerAdapter<FinishFlowBean, Finis
@Override
public void bindHolder(FinishFlowHolder holder, int i) {
holder.mTvName.setText("流程名称:" + mData.get(i).getPName());
holder.mTvCreateUser.setText("申 请 人:" + mData.get(i).getInitator());
holder.mTvCreateUser.setText("申 请 人:" + mData.get(i).getInitatorName());
holder.mTvStartTime.setText("开始时间:" + mData.get(i).getStartTime());
holder.mTvEndTime.setText("结束时间:" + mData.get(i).getEndTime());
holder.mTvFinishTime.setText("用 时:" + mData.get(i).getZTime());

View File

@ -6,6 +6,9 @@ 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.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.data.beans.CheckPersonBean;
@ -63,6 +66,13 @@ public class PersonLIbAdapter extends BaseRecyclerAdapter<CheckPersonBean, Perso
holder.mBtnDelete.setOnClickListener(v -> mOnDeleteListener.onDelete(mData.get(i), i));
}
}
RequestOptions options = new RequestOptions()
.error(com.sucstepsoft.cm_utils.R.drawable.ic_img_default)
.placeholder(com.sucstepsoft.cm_utils.R.drawable.ic_loading);
Glide.with(mContext)
.load(BaseUrlApi.BASE_URL + mData.get(i).getFrontPhotoPath())
.apply(options)
.into(holder.mIvImg);
holder.mTvCadNumber.setText(String.format(mContext.getResources().getString(R.string.card_number), mData.get(i).getIdentity()));
}

View File

@ -6,6 +6,9 @@ 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.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.data.beans.CheckPersonBean;
@ -55,7 +58,13 @@ public class PersonShowAdapter extends BaseRecyclerAdapter<CheckPersonBean, Pers
holder.mLlEdit.setVisibility(View.GONE);
holder.mTvRemark.setVisibility(View.GONE);
}
RequestOptions options = new RequestOptions()
.error(com.sucstepsoft.cm_utils.R.drawable.ic_img_default)
.placeholder(com.sucstepsoft.cm_utils.R.drawable.ic_loading);
Glide.with(mContext)
.load(BaseUrlApi.BASE_URL + mData.get(i).getFrontPhotoPath())
.apply(options)
.into(holder.mIvImg);
holder.mTvCadNumber.setText(String.format(mContext.getResources().getString(R.string.card_number), mData.get(i).getIdentity()));
}

View File

@ -33,7 +33,7 @@ public class WaitFlowAdapter extends BaseRecyclerAdapter<WaitFlowBean, WaitFlowH
holder.mTvCurrentTask.setText("当前任务:" + mData.get(i).getName());
holder.mTvName.setText("流程名称:" + mData.get(i).getPname());
holder.mTvCreateTime.setText("创建时间:" + mData.get(i).getCreateTime());
holder.mTvCreateUser.setText("申请人:" + mData.get(i).getInitator());
holder.mTvCreateUser.setText("申请人:" + mData.get(i).getInitatorName());
}
private OnDeleteListener mOnDeleteListener;

View File

@ -5,6 +5,9 @@ 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.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.data.beans.CheckCarBean;
@ -30,6 +33,13 @@ public class MultiCCarAdapter extends BaseRecyclerAdapter<CheckCarBean, MultiCho
holder.mTvName.setText("所属单位/车主 : " + mData.get(i).getCompany());
holder.mTvContent.setText("车牌号 : " + mData.get(i).getPlateNumber());
holder.mCbChoose.setOnCheckedChangeListener((buttonView, isChecked) -> mData.get(i).setCheck(isChecked));
RequestOptions options = new RequestOptions()
.error(com.sucstepsoft.cm_utils.R.drawable.ic_img_default)
.placeholder(com.sucstepsoft.cm_utils.R.drawable.ic_loading);
Glide.with(mContext)
.load(BaseUrlApi.BASE_URL + mData.get(i).getCarFrontPhotoPath())
.apply(options)
.into(holder.mIvImg);
if (mData.get(i).isCheck()) {
holder.mCbChoose.setChecked(true);
}

View File

@ -38,6 +38,7 @@ public class MultiCLeaderAdapter extends BaseRecyclerAdapter<LeadBean, MultiChoo
}
mData.get(i).setCheck(isChecked);
});
holder.mIvImg.setVisibility(View.GONE);
holder.mCbChoose.setChecked(mData.get(i).isCheck());
}

View File

@ -6,6 +6,9 @@ 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.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.modulecheck.R;
import com.sucstepsoft.modulecheck.data.beans.CheckPersonBean;
@ -38,6 +41,14 @@ public class MultiCPersonAdapter extends BaseRecyclerAdapter<CheckPersonBean, Mu
}
mData.get(i).setCheck(isChecked);
});
RequestOptions options = new RequestOptions()
.error(com.sucstepsoft.cm_utils.R.drawable.ic_img_default)
.placeholder(com.sucstepsoft.cm_utils.R.drawable.ic_loading);
Glide.with(mContext)
.load(BaseUrlApi.BASE_URL + mData.get(i).getFrontPhotoPath())
.apply(options)
.into(holder.mIvImg);
holder.mCbChoose.setChecked(mData.get(i).isCheck());
}

View File

@ -4,6 +4,7 @@ import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -17,6 +18,7 @@ public class CarHolder extends RecyclerView.ViewHolder {
public LinearLayout mLlEdit;
public Button mBtnEdit;
public Button mBtnDel;
public ImageView mIvImg;
public CarHolder(@NonNull View itemView) {
super(itemView);
@ -27,5 +29,6 @@ public class CarHolder extends RecyclerView.ViewHolder {
mLlEdit = itemView.findViewById(R.id.ll_edit);
mBtnDel = itemView.findViewById(R.id.btn_del);
mBtnEdit = itemView.findViewById(R.id.btn_edit);
mIvImg = itemView.findViewById(R.id.iv_img);
}
}

View File

@ -4,6 +4,7 @@ import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;
import com.sucstepsoft.modulecheck.R;
@ -13,11 +14,13 @@ public class MultiChooseHolder extends RecyclerView.ViewHolder {
public TextView mTvContent;
public CheckBox mCbChoose;
public TextView mTvName;
public ImageView mIvImg;
public MultiChooseHolder(@NonNull View itemView) {
super(itemView);
mTvContent = itemView.findViewById(R.id.tv_content);
mCbChoose = itemView.findViewById(R.id.cb_choose);
mTvName = itemView.findViewById(R.id.tv_name);
mIvImg = itemView.findViewById(R.id.iv_img);
}
}

View File

@ -4,6 +4,7 @@ import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -18,6 +19,7 @@ public class PersonHolder extends RecyclerView.ViewHolder {
public Button mBtnEdit;
public Button mBtnDel;
public Button mBtnDelete;
public ImageView mIvImg;
public PersonHolder(@NonNull View itemView) {
super(itemView);
@ -29,5 +31,6 @@ public class PersonHolder extends RecyclerView.ViewHolder {
mBtnEdit = itemView.findViewById(R.id.btn_edit);
mBtnDel = itemView.findViewById(R.id.btn_del);
mBtnDelete = itemView.findViewById(R.id.btn_delete);
mIvImg = itemView.findViewById(R.id.iv_img);
}
}

View File

@ -4,6 +4,7 @@ import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -17,6 +18,7 @@ public class PersonShowHolder extends RecyclerView.ViewHolder {
public LinearLayout mLlEdit;
public Button mBtnEdit;
public Button mBtnDel;
public ImageView mIvImg;
public PersonShowHolder(@NonNull View itemView) {
super(itemView);
@ -27,5 +29,6 @@ public class PersonShowHolder extends RecyclerView.ViewHolder {
mLlEdit = itemView.findViewById(R.id.ll_edit);
mBtnEdit = itemView.findViewById(R.id.btn_edit);
mBtnDel = itemView.findViewById(R.id.btn_del);
mIvImg = itemView.findViewById(R.id.iv_img);
}
}

View File

@ -253,21 +253,14 @@
android:paddingTop="10dp"
android:paddingRight="10dp">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:scaleType="centerInside"
android:src="@drawable/ic_car_person_default" />
<TextView
android:id="@+id/iv_col_hint"
android:id="@+id/iv_col_car_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="5dp"
tools:text="请上传司机、随车民警、带领民警、车合照" />
android:textSize="18sp"
android:textColor="@color/black"
android:text="车辆证件照" />
<ImageView
android:id="@+id/ic_car_cred"
@ -278,13 +271,20 @@
android:src="@drawable/ic_car_crad_default" />
<TextView
android:id="@+id/iv_col_car_hint"
android:id="@+id/iv_col_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:gravity="center"
android:padding="5dp"
android:text="车辆证件照" />
android:layout_marginTop="10dp"
android:textSize="18sp"
android:textColor="@color/black"
tools:text="车辆以及车辆货物照片" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_into_hint"

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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"
@ -25,25 +24,60 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn_open_search"
<LinearLayout
android:id="@+id/ll_btns"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/sel_btn_submit"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:text="查 询"
android:textColor="@color/white"
android:textSize="@dimen/text_18" />
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight=".4"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<TextView
android:id="@+id/tv_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当天"
android:textColor="@color/black"
android:textSize="18sp" />
<Switch
android:id="@+id/sw_change"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true" />
</LinearLayout>
<Button
android:id="@+id/btn_open_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/sel_btn_submit"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:text="查 询"
android:textColor="@color/white"
android:textSize="@dimen/text_18" />
</LinearLayout>
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/rlv_record"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/btn_open_search"
android:layout_below="@id/ll_btns"
android:padding="5dp" />
<LinearLayout

View File

@ -94,7 +94,9 @@
</LinearLayout>
<LinearLayout style="@style/item_white_bottom_border" android:visibility="gone">
<LinearLayout
style="@style/item_white_bottom_border"
android:visibility="gone">
<TextView
style="@style/item_title_wrap"
@ -169,21 +171,24 @@
android:paddingLeft="10dp"
android:paddingRight="10dp">
<ImageView
android:id="@+id/iv_car_person_photo"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:minHeight="150dp"
android:src="@drawable/ic_car_person_default" />
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="驾驶员照片"
android:padding="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="车辆证件照"
android:textColor="@color/black"
android:textSize="@dimen/text_18" />
<ImageView
style="@style/style_hint_star"
android:layout_gravity="center_vertical" />
</LinearLayout>
<ImageView
@ -194,26 +199,6 @@
android:minHeight="150dp"
android:src="@drawable/ic_car_crad_default" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="车辆证件照"
android:padding="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="(请将货物来源证明也拍入其中)"
android:textColor="@color/colorRedBg"
android:textSize="12sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
@ -249,6 +234,30 @@
android:minHeight="100dp"
android:textSize="@dimen/text_18" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="车辆以及车辆货物照片"
android:textColor="@color/black"
android:textSize="@dimen/text_18" />
<ImageView
style="@style/style_hint_star"
android:layout_gravity="center_vertical" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_driver"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/et_car_remark"

View File

@ -193,29 +193,30 @@
android:padding="8dp"
android:textSize="@dimen/text_18" />
<TextView
android:id="@+id/iv_col_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:padding="5dp"
tools:text="请上传司机、随车民警、带领民警、车合照" />
<!-- <TextView-->
<!-- android:id="@+id/iv_col_hint"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginLeft="15dp"-->
<!-- android:padding="5dp"-->
<!-- tools:text="请上传司机、随车民警、带领民警、车合照" />-->
<ImageView
android:id="@+id/iv_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:minHeight="100dp"
tools:background="@drawable/ic_car_person_default" />
<!-- <ImageView-->
<!-- android:id="@+id/iv_photo"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_margin="10dp"-->
<!-- android:minHeight="100dp"-->
<!-- tools:background="@drawable/ic_car_person_default" />-->
<TextView
android:id="@+id/iv_col_car_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:padding="5dp"
android:text="车辆证件照" />
android:text="车辆证件照"
android:textColor="@color/black"
android:textSize="@dimen/text_18" />
<ImageView
android:id="@+id/iv_car_card"
@ -224,8 +225,44 @@
android:layout_margin="10dp"
android:minHeight="100dp"
tools:background="@drawable/ic_car_person_default" />
<TextView
android:id="@+id/iv_col_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="18sp"
tools:text="车辆以及车辆货物照片" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView
android:id="@+id/tv_into_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:drawablePadding="10dp"
android:gravity="left"
android:padding="8dp"
android:text="进入人员/进入车辆"
android:textColor="@color/black"
android:textSize="@dimen/text_18" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:minHeight="150dp"
android:padding="5dp"
android:scrollbars="none" />
<LinearLayout
android:layout_width="match_parent"
@ -311,6 +348,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_input_white_bg"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="10dp">
@ -321,6 +359,7 @@
android:textSize="18sp" />
<TextView
android:id="@+id/tv_examine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableRight="@drawable/ic_arrow_sort_gray"

View File

@ -4,10 +4,16 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="10dp">
<ImageView
android:id="@+id/iv_img"
android:layout_width="80dp"
android:layout_height="70dp"
android:scaleType="fitXY"
tools:src="@drawable/app_bg" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -3,10 +3,16 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="8dp">
<ImageView
android:id="@+id/iv_img"
android:layout_width="100dp"
android:layout_height="80dp"
android:scaleType="fitXY"
tools:src="@drawable/app_bg" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -4,10 +4,17 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="10dp">
<ImageView
android:id="@+id/iv_img"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_marginTop="2dp"
android:scaleType="fitXY"
tools:src="@drawable/app_bg" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -4,10 +4,17 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="10dp">
<ImageView
android:id="@+id/iv_img"
android:layout_width="80dp"
android:layout_height="60dp"
android:layout_marginTop="5dp"
android:scaleType="fitXY"
tools:src="@drawable/app_bg" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="#c4c6c8"
@ -26,16 +25,15 @@
android:orientation="horizontal">
<TextView
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:paddingLeft="10dp"
android:text="指定审核人"
android:textColor="@color/text_blue"
android:paddingLeft="10dp"
android:textSize="@dimen/text_18" />
<TextView