页面优化

This commit is contained in:
高健 2021-12-14 09:37:55 +08:00
parent 513f5a6d87
commit 1ce363ee40
78 changed files with 2843 additions and 956 deletions

View File

@ -196,12 +196,17 @@ public class PathConfig {
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CHECK_LIST = "/modulecommon/activity/incidentCheckList";//事件核查
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CHECK_DETAIL = "/modulecommon/activity/incidentCheckDetail";//事件核查详情
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE = "/modulecommon/activity/incidentDeferExamine";//延期审核
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL = "/modulecommon/activity/incidentDeferExamineDetail";//延期审核
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEPT_SPECIAL = "/modulecommon/activity/incidentDeptSpecial";//部门端特殊事件 预警和超时
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEPT_TIME_OUT = "/modulecommon/fragment/incidentDeptTimeOut";//部门端超时事件
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEPT_EARLY_WARN = "/modulecommon/fragment/incidentDeptEarlyWarn";//部门端预警事件
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_CENTER_SPECIAL = "/modulecommon/activity/incidentCenterSpecial";//中心端特殊事件 预警和超时
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_CENTER_TIME_OUT = "/modulecommon/fragment/incidentCenterTimeOut";//中心端超时事件
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEFER = "/modulecommon/fragment/incidentDefer";//事件延期列表
public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_CENTER_EARLY_WARN = "/modulecommon/fragment/incidentCenterEarlyWarn";//中心端预警事件
public static final String PATH_MODULE_COMMON_ACTIVITY_INCIDENT_OVERSEE = "/modulecommon/activity/incidentOversee";//事件督办
@ -346,6 +351,7 @@ public class PathConfig {
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_DETAIL = "/modulegrid/activity/taskDetail";//任务详情
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_REPORT = "/modulegrid/activity/taskReport";//任务详情
public static final String PATH_MODULE_GRID_ACTIVITY_INSPECTION_PATROL = "/modulegrid/activity/inspectionPatrol";//巡查巡检
public static final String PATH_MODULE_GRID_ACTIVITY_TASK_BUSINESS_LIST = "/modulegrid/activity/taskBusinessList";//任务业务列表
@ -487,8 +493,7 @@ public class PathConfig {
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DISPATCH_LIST = "/modulecommand/activity/incidentDispatchList";//事件派遣列表
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DISPATCH_DETAIL = "/modulecommand/activity/incidentDispatchDetail";//事件派遣
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_SEL_DEPT = "/modulecommand/activity/incidentDeptSel";//选择组织机构
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DEFER_EXAMINE = "/modulecommand/activity/incidentDeferExamine";//延期审核
public static final String PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL = "/modulecommand/activity/incidentDeferExamineDetail";//延期审核
/*=========================================部门端========================================*/
public static final String PATH_MODULE_SUPERVISION_INCIDENT_DISTRIBUTION_LIST_ACTIVITY = "/modulesupervision/activity/incidentDeptDistributionList";//事件分拨列表

View File

@ -10,6 +10,7 @@ import com.tenlionsoft.baselib.constant.PathConfig;
*/
public class BaseUrlApi {
// public static final String IP = "http://192.168.0.103:7011/";/* 测试IP */
public static final String IP = "http://192.168.0.155:7011/";/* 测试IP */
public static final String SYS_USERCENTER = "usercenter/";
public static final String SYS_POPULATION = "population/";/*人口系统*/

View File

@ -261,8 +261,12 @@ public abstract class BaseActivity extends AppCompatActivity {
clearSearch();
}
/**
* 关闭标题搜索
*/
private void closeSearchContent() {
mEtAppSearchContent.setText("");
clearSearch();
hideSoftKeyboard();
collapse(mLlAppSearchContent);
}

View File

@ -25,16 +25,8 @@
<application
android:maxAspectRatio="2.4"
android:resizeableActivity="true">
<activity
android:name=".activitys.incident.IncidentDeferExamineDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".activitys.incident.IncidentDeferExamineListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".activitys.incident.DeptSelActivity"
android:launchMode="singleTop"

View File

@ -62,6 +62,7 @@ public class IncidentAcceptListActivity extends BaseActivity {
private List<IncidentListBean.RowsBean> mDatas;
private IncidentListAdapter mAdapter;
private int mCurrentPage = 1;
private String mRows = "10";
private String mKeywords = "";
@Override
@ -124,7 +125,7 @@ public class IncidentAcceptListActivity extends BaseActivity {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(CenterApis.class)
.getIncidentUnAcceptList(mKeywords, mCurrentPage + "", UserLgUtils.getToken())
.getIncidentUnAcceptList(mKeywords, mCurrentPage + "", mRows, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<IncidentListBean>() {

View File

@ -1,266 +0,0 @@
package com.tengshisoft.commandmodule.activitys.incident;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.hjq.toast.ToastUtils;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.tengshisoft.commandmodule.R;
import com.tengshisoft.commandmodule.R2;
import com.tengshisoft.commonmodule.adapters.IncidentListAdapter;
import com.tengshisoft.commonmodule.beans.IncidentListBean;
import com.tengshisoft.commonmodule.nets.CenterApis;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.util.ArrayList;
import java.util.List;
/**
* 作者: Adam
* 日期: 2021年11月02日18:39:58
* 邮箱: itgaojian@163.com
* 描述: 事件延期审核
*/
@Route(path = PathConfig.PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DEFER_EXAMINE)
public class IncidentDeferExamineListActivity extends BaseActivity {
@BindView(R2.id.rlv_components)
RecyclerView mRlvComponents;
@BindView(R2.id.srl_content)
SmartRefreshLayout mSrlContent;
@BindView(R2.id.pb_loading)
ProgressBar mPbLoading;
@BindView(R2.id.iv_empty_data)
ImageView mIvEmptyData;
@BindView(R2.id.tv_error_hint)
TextView mTvErrorHint;
private Unbinder mBind;
private List<IncidentListBean.RowsBean> mDatas;
private IncidentListAdapter mAdapter;
private int mCurrentPage = 1;
private String mKeywords = "";
@Override
protected int setLayoutId() {
return R.layout.activity_incident_defer_examine_list;
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
mKeywords = "";
doRefresh();
}
@Override
protected void doSearchByTitle() {
doSearch();
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("延期审核");
mEtAppSearchContent.setHint("请输入事件编码(分类名称)");
mIvAppSearchIcon.setVisibility(View.VISIBLE);
refreshView(STATE_LOAD_SUCCESS);
mDatas = new ArrayList<>();
mAdapter = new IncidentListAdapter(mActivity, mDatas);
mRlvComponents.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvComponents.setAdapter(mAdapter);
mSrlContent.setOnRefreshListener(v -> doRefresh());
mSrlContent.setOnLoadMoreListener(v -> doLoadMore());
setStateView(13);
getIncidentDispatchList(mCurrentPage);
mAdapter.addOnItemClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL)
.withString("reportId", v.getReportId())
.withString("taskId", v.getTaskId())
.withString("deferApplyId", v.getDelayApplyId())
.navigation(mActivity, 12));
}
/**
* 获取待派遣的事件
*/
private void getIncidentDispatchList(int currentPage) {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(CenterApis.class)
.getDeferIncidentList(mKeywords, mCurrentPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<IncidentListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull IncidentListBean communityListBean) {
if (communityListBean.getRows() != null && communityListBean.getRows().size() > 0) {
++mCurrentPage;
if (currentPage == 1) {
mDatas.clear();
mDatas.addAll(communityListBean.getRows());
} else {
mDatas.addAll(communityListBean.getRows());
}
setStateView(14);
mAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= communityListBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
} else {
if (currentPage > 1) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
setStateView(14);
} else {
if (TextUtils.isEmpty(mKeywords)) {
//无数据
setStateView(15);
} else {
setStateView(15);
ToastUtils.show("未查询到相关内容");
}
}
}
}
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
ExceptionHandler.handleException(e);
setStateView(16);
}
@Override
public void onComplete() {
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12) {
if (resultCode == 13) {
doRefresh();
}
}
}
//加载更多
private void doLoadMore() {
getIncidentDispatchList(mCurrentPage);
}
//刷新
private void doRefresh() {
mDatas.clear();
mAdapter.setData(mDatas);
getIncidentDispatchList(1);
}
/**
*
*/
private void doSearch() {
String searchContent = mEtAppSearchContent.getText().toString().trim();
if (!TextUtils.isEmpty(searchContent)) {
hideSoftKeyboard();
setStateView(13);
mKeywords = searchContent;
mCurrentPage = 1;
getIncidentDispatchList(mCurrentPage);
} else {
ToastUtils.show("请输入要查询的内容");
}
}
/**
* 根据状态显示
* 12 默认
* 13 搜索中
* 14 搜索完成有数据
* 15 搜索完成没有数据
* 16 搜索失败
*
* @param state
*/
private void setStateView(int state) {
switch (state) {
case 12://默认
case 15://默认
mPbLoading.setVisibility(View.GONE);
mSrlContent.setVisibility(View.GONE);
mIvEmptyData.setVisibility(View.VISIBLE);
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("暂无数据");
break;
case 13://搜索中
mPbLoading.setVisibility(View.VISIBLE);
mSrlContent.setVisibility(View.GONE);
mIvEmptyData.setVisibility(View.GONE);
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("加载中...");
break;
case 14://搜索完成有数据
mPbLoading.setVisibility(View.GONE);
mSrlContent.setVisibility(View.VISIBLE);
mIvEmptyData.setVisibility(View.GONE);
mTvErrorHint.setVisibility(View.GONE);
break;
case 16://搜索失败
mPbLoading.setVisibility(View.GONE);
mSrlContent.setVisibility(View.GONE);
mIvEmptyData.setVisibility(View.VISIBLE);
mTvErrorHint.setVisibility(View.VISIBLE);
mTvErrorHint.setText("加载失败,请稍后重试");
break;
}
}
}

View File

@ -1,57 +0,0 @@
<?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"
android:background="@color/gray_bg"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp">
<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/srl_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rlv_components"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<ProgressBar
android:id="@+id/pb_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/anim_loading" />
<ImageView
android:id="@+id/iv_empty_data"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@drawable/ic_empty_data" />
<TextView
android:id="@+id/tv_error_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:clickable="true"
android:textColor="@color/black"
tools:text="加载数据失败" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>

View File

@ -3,7 +3,7 @@
package="com.tengshisoft.commonmodule">
<application>
<activity android:name=".activitys.cases.IncidentSpecialDeptActivity"></activity>
<activity android:name=".activitys.cases.IncidentSpecialDeptActivity" />
<activity android:name=".activitys.cases.IncidentOverseeDetailOrReplyActivity" />
<activity android:name=".activitys.cases.IncidentOverseeActivity" />
<activity android:name=".activitys.cases.IncidentSpecialActivity" />
@ -12,6 +12,11 @@
<activity android:name=".activitys.repository.KnowLedgeManageListActivity" />
<activity android:name=".activitys.repository.KnowLedgeAskListActivity" />
<activity android:name=".activitys.repository.KnowLedgeAskDetailActivity" />
<activity
android:name=".activitys.cases.IncidentDeferExamineDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".activitys.department.ChooseDeptKnowLedgeActivity"
android:launchMode="singleTop"
@ -27,6 +32,11 @@
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".activitys.cases.IncidentDeferExamineListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".activitys.logs.StatisticsDeptActivity"
android:launchMode="singleTop"

View File

@ -185,9 +185,9 @@ public class IncidentCheckDetailActivity extends BaseActivity {
mTvPublish.setVisibility(View.VISIBLE);
mTvPublish.setText("日志");
mTvPublish.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_LOG)
.withString("businessId", mDetailBean.getBusinessId())
.navigation());
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_LOG)
.withString("businessId", mDetailBean.getBusinessId())
.navigation());
initViews();
initMap();
getDetailData();
@ -240,35 +240,35 @@ public class IncidentCheckDetailActivity extends BaseActivity {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
RetrofitManager.getInstance()
.create(GridApis.class)
.doSaveIncidentCheckUnPass(mId, body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(GridApis.class)
.doSaveIncidentCheckUnPass(mId, body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull SuccessBean successBean) {
dialog.dismiss();
ToastUtils.show("核查成功");
setResult(13);
finish();
}
@Override
public void onNext(@NonNull SuccessBean successBean) {
dialog.dismiss();
ToastUtils.show("核查成功");
setResult(13);
finish();
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
}
@ -282,35 +282,35 @@ public class IncidentCheckDetailActivity extends BaseActivity {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
RetrofitManager.getInstance()
.create(GridApis.class)
.doSaveIncidentCheckPass(mId, body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(GridApis.class)
.doSaveIncidentCheckPass(mId, body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull SuccessBean successBean) {
dialog.dismiss();
ToastUtils.show("核查成功");
setResult(13);
finish();
}
@Override
public void onNext(@NonNull SuccessBean successBean) {
dialog.dismiss();
ToastUtils.show("核查成功");
setResult(13);
finish();
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
}
@ -388,11 +388,11 @@ public class IncidentCheckDetailActivity extends BaseActivity {
*/
private void showSelectPhoto(AddPhotoBean bean) {
ButtomDialogView buttomDialogView = new ButtomDialogView.DialogBuilder(mActivity)
.setIsBackCancelable(true)
.setIscancelable(true)
.setShowLocation(Gravity.BOTTOM)
.setIsShowFile(false)
.build();
.setIsBackCancelable(true)
.setIscancelable(true)
.setShowLocation(Gravity.BOTTOM)
.setIsShowFile(false)
.build();
buttomDialogView.addOnChoseListener(new ButtomDialogView.OnChoseListener() {
@Override
public void choseFile() {
@ -403,7 +403,7 @@ public class IncidentCheckDetailActivity extends BaseActivity {
mCurrentBean = bean;
Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
"image/*");
"image/*");
startActivityForResult(intent, BaseUrlApi.PHOTO_REQUEST);
buttomDialogView.dismiss();
}
@ -412,10 +412,10 @@ public class IncidentCheckDetailActivity extends BaseActivity {
public void choseShoot() {
mCurrentBean = bean;
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_BASELIB_TAKE_PHOTO)
.withString("path", getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath())
.withString("type", "photo")
.navigation(mActivity, BaseUrlApi.CAMERA_REQUEST);
.build(PathConfig.PATH_MODULE_BASELIB_TAKE_PHOTO)
.withString("path", getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath())
.withString("type", "photo")
.navigation(mActivity, BaseUrlApi.CAMERA_REQUEST);
buttomDialogView.dismiss();
}
@ -475,45 +475,45 @@ public class IncidentCheckDetailActivity extends BaseActivity {
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("image", file.getName(), requestFile);
RetrofitManager.getInstance()
.create(BaseApiService.class)
.uploadImage(body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
.create(BaseApiService.class)
.uploadImage(body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(BaseSuccessBean baseUserBean) {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
@Override
public void onNext(BaseSuccessBean baseUserBean) {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
ToastUtils.show("上传成功");
mPhotoIds += (baseUserBean.getData() + ",");
mCurrentBean.setId(baseUserBean.getData());
mCurrentBean.setPath(picPath);
if (mPhotos.size() < 4) {
mPhotos.add(new AddPhotoBean());
}
mAddPhotoAdapter.notifyDataSetChanged();
mCurrentBean = null;
ToastUtils.show("上传成功");
mPhotoIds += (baseUserBean.getData() + ",");
mCurrentBean.setId(baseUserBean.getData());
mCurrentBean.setPath(picPath);
if (mPhotos.size() < 4) {
mPhotos.add(new AddPhotoBean());
}
mAddPhotoAdapter.notifyDataSetChanged();
mCurrentBean = null;
}
@Override
public void onError(Throwable e) {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
ExceptionHandler.handleException(e);
@Override
public void onError(Throwable e) {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
/**
@ -521,32 +521,32 @@ public class IncidentCheckDetailActivity extends BaseActivity {
*/
private void getDetailData() {
RetrofitManager.getInstance()
.create(GridApis.class)
.getIncidentDetailById(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<IncidentDetailBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(GridApis.class)
.getIncidentDetailById(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<IncidentDetailBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull IncidentDetailBean incidentListBean) {
setDataToView(incidentListBean);
}
@Override
public void onNext(@NonNull IncidentDetailBean incidentListBean) {
setDataToView(incidentListBean);
}
@Override
public void onError(@NonNull Throwable e) {
ExceptionHandler.handleException(e);
refreshView(STATE_LOAD_ERROR);
}
@Override
public void onError(@NonNull Throwable e) {
ExceptionHandler.handleException(e);
refreshView(STATE_LOAD_ERROR);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
/**
@ -574,10 +574,10 @@ public class IncidentCheckDetailActivity extends BaseActivity {
mBitMap = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_location_marker);
}
MarkerOptions markerOptions = new MarkerOptions()
.position(new LatLng(lat, lng))//mark出现的位置
.icon(mBitMap) //mark图标
.draggable(false)//mark可拖拽
.animateType(MarkerOptions.MarkerAnimateType.none);
.position(new LatLng(lat, lng))//mark出现的位置
.icon(mBitMap) //mark图标
.draggable(false)//mark可拖拽
.animateType(MarkerOptions.MarkerAnimateType.none);
mBaiduMap.addOverlay(markerOptions);
if (!TextUtils.isEmpty(b.getReportPhotos())) {
//有图片
@ -592,10 +592,10 @@ public class IncidentCheckDetailActivity extends BaseActivity {
mRlvPhotos.setLayoutManager(new GridLayoutManager(mActivity, 4));
mRlvPhotos.setAdapter(mAdapter);
mAdapter.setOnItemClickListener((data, pos) -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG)
.withStringArrayList("imgUrls", paths)
.withInt("curItem", pos)
.navigation());
.build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG)
.withStringArrayList("imgUrls", paths)
.withInt("curItem", pos)
.navigation());
for (String doorId : doorIds) {
if (!TextUtils.isEmpty(doorId)) {
paths.add(BaseUrlApi.BASE_IMG_URL + doorId);
@ -613,11 +613,11 @@ public class IncidentCheckDetailActivity extends BaseActivity {
mLlVideo.setVisibility(View.VISIBLE);
mTvVideoHint.setVisibility(View.GONE);
mLlVideo.setOnClickListener(v -> //播放视频
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO)
.withString("url", BaseUrlApi.BASE_IMG_URL + b.getReportVideo())
.withString("title", "事件视频")
.navigation());
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO)
.withString("url", BaseUrlApi.BASE_IMG_URL + b.getReportVideo())
.withString("title", "事件视频")
.navigation());
} else {
//没有视频
mLlVideo.setVisibility(View.GONE);
@ -632,11 +632,11 @@ public class IncidentCheckDetailActivity extends BaseActivity {
AnimationDrawable animationDrawable = (AnimationDrawable) mTvVoiceAnim.getBackground();
animationDrawable.start();
MediaManager.playSound(path,
mp -> {
animationDrawable.selectDrawable(0);//显示动画第一帧
animationDrawable.stop();
MediaManager.destroy();
});
mp -> {
animationDrawable.selectDrawable(0);//显示动画第一帧
animationDrawable.stop();
MediaManager.destroy();
});
}
});
} else {
@ -651,59 +651,54 @@ public class IncidentCheckDetailActivity extends BaseActivity {
private void getHandleList(int page) {
mCurrentPage = page;
RetrofitManager.getInstance()
.create(GridApis.class)
.getHandleListByReportId(mId, page + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<HandleListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(GridApis.class)
.getHandleLNewListByReportId(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<HandleListBean.RowsBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull HandleListBean handleListBean) {
if (handleListBean.getRows() != null && handleListBean.getRows().size() > 0) {
++mCurrentPage;
mCvHandle.setVisibility(View.VISIBLE);
if (page == 1) {
mDatas.clear();
mDatas.addAll(handleListBean.getRows());
} else {
mDatas.addAll(handleListBean.getRows());
}
mHandleRecordAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= handleListBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
@Override
public void onNext(@NonNull List<HandleListBean.RowsBean> handleListBean) {
if (handleListBean != null && handleListBean.size() > 0) {
++mCurrentPage;
mCvHandle.setVisibility(View.VISIBLE);
if (page == 1) {
mDatas.clear();
mDatas.addAll(handleListBean);
} else {
mDatas.addAll(handleListBean);
}
mHandleRecordAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
if (page > 1) {
mCvHandle.setVisibility(View.VISIBLE);
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
if (page > 1) {
mCvHandle.setVisibility(View.VISIBLE);
mSrlContent.setNoMoreData(true);
} else {
mCvHandle.setVisibility(View.GONE);
}
mCvHandle.setVisibility(View.GONE);
}
}
}
@Override
public void onError(@NonNull Throwable e) {
@Override
public void onError(@NonNull Throwable e) {
}
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
/**

View File

@ -1,9 +1,10 @@
package com.tengshisoft.commandmodule.activitys.incident;
package com.tengshisoft.commonmodule.activitys.cases;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
@ -27,11 +28,12 @@ import com.baidu.mapapi.map.TextureMapView;
import com.baidu.mapapi.model.LatLng;
import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commandmodule.R;
import com.tengshisoft.commandmodule.R2;
import com.tengshisoft.commonmodule.R;
import com.tengshisoft.commonmodule.R2;
import com.tengshisoft.commonmodule.adapters.IncidentTagListAdapter;
import com.tengshisoft.commonmodule.beans.DeferDetailBean;
import com.tengshisoft.commonmodule.beans.DelayApplyBean;
import com.tengshisoft.commonmodule.beans.DispatchDetailBean;
import com.tengshisoft.commonmodule.beans.IncidentDetailBean;
import com.tengshisoft.commonmodule.beans.SaveIncidentStateBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
@ -42,6 +44,7 @@ import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.beans.OperateBean;
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.base.BaseShowPhotoAdapter;
import com.tenlionsoft.baselib.core.widget.videorecord.MediaManager;
@ -55,6 +58,7 @@ import java.util.Iterator;
import java.util.List;
import androidx.appcompat.widget.SwitchCompat;
import androidx.cardview.widget.CardView;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
@ -76,7 +80,7 @@ import okhttp3.RequestBody;
* 邮箱: itgaojian@163.com
* 描述: 事件延期审核-详情
*/
@Route(path = PathConfig.PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL)
@Route(path = PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL)
public class IncidentDeferExamineDetailActivity extends BaseActivity {
@BindView(R2.id.tv_grid)
TextView mTvGrid;
@ -124,6 +128,24 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
EditText mEtCheckSummary;
@BindView(R2.id.btn_undefer)
Button mBtnUndefer;
@BindView(R2.id.tv_dispatch_user)
TextView mTvDispatchUser;
@BindView(R2.id.tv_dispatch_username)
TextView mTvDispatchUsername;
@BindView(R2.id.tv_dispatch_dept)
TextView mTvDispatchDept;
@BindView(R2.id.tv_dispatch_end)
TextView mTvDispatchEnd;
@BindView(R2.id.tv_dispatch_content)
TextView mTvDispatchContent;
@BindView(R2.id.tv_dispatch_time)
TextView mTvDispatchTime;
@BindView(R2.id.cv_dispatch)
CardView mCvDispatch;
@BindView(R2.id.tv_apply_user)
TextView mTvApplyUser;
@BindView(R2.id.tv_apply_time)
TextView mTvApplyTime;
private Unbinder mBind;
private String mDeferApplyId;
@ -133,6 +155,7 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
private String mReportId;
private List<OperateBean> mOperates;
private IncidentDetailBean mDetailBean;
private DispatchDetailBean mDispatchDetailBean;
@Override
protected int setLayoutId() {
@ -179,25 +202,25 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
OperateBean logBean = new OperateBean();
logBean.setId("LOG");
logBean.setName("事件日志");
logBean.setResId(com.tengshisoft.commonmodule.R.drawable.ic_log_icon_gray);
logBean.setResId(R.drawable.ic_log_icon_gray);
logBean.setSel(false);
OperateBean flagBean = new OperateBean();////标杆案件
flagBean.setId("SAMPLE");
flagBean.setName("标杆事件");
flagBean.setResId(com.tengshisoft.commonmodule.R.drawable.ic_flag_icon_gray);
flagBean.setResId(R.drawable.ic_flag_icon_gray);
flagBean.setSel(false);
OperateBean warnBean = new OperateBean();
warnBean.setName("预警事件");
warnBean.setId("WARNING");
warnBean.setResId(com.tengshisoft.commonmodule.R.drawable.ic_warning_icon_gray);
warnBean.setResId(R.drawable.ic_warning_icon_gray);
OperateBean collectBean = new OperateBean();
collectBean.setResId(com.tengshisoft.commonmodule.R.drawable.ic_collect_icon_gray);
collectBean.setResId(R.drawable.ic_collect_icon_gray);
collectBean.setId("COLLECT");
collectBean.setName("收藏事件");
OperateBean diffBean = new OperateBean();
diffBean.setName("疑难事件");
diffBean.setId("DIFFICULT");
diffBean.setResId(com.tengshisoft.commonmodule.R.drawable.ic_difficult_icon_gray);
diffBean.setResId(R.drawable.ic_difficult_icon_gray);
mOperates.add(logBean);
mOperates.add(flagBean);
mOperates.add(warnBean);
@ -449,6 +472,52 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
getApplyDetail();
}
/**
* 获取派遣信息
*/
private void getDispatchDetail(String id) {
RetrofitManager.getInstance()
.create(GridApis.class)
.getDispatchDetailByDispatchId(id, UserLgUtils.getToken())
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<DispatchDetailBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull DispatchDetailBean dispatchDetailBean) {
mDispatchDetailBean = dispatchDetailBean;
if (!TextUtils.isEmpty(mDispatchDetailBean.getDispatchUserId())) {
setDispatchToView();
} else {
mCvDispatch.setVisibility(View.GONE);
}
}
@Override
public void onError(@NonNull Throwable e) {
mCvDispatch.setVisibility(View.GONE);
}
@Override
public void onComplete() {
}
});
}
private void setDispatchToView() {
mCvDispatch.setVisibility(View.VISIBLE);
mTvDispatchContent.setText(Html.fromHtml(mDispatchDetailBean.getDispatchSummary()));
mTvDispatchUser.setText(mDispatchDetailBean.getCreatorName());
mTvDispatchDept.setText(mDispatchDetailBean.getDispatchUserDeptName());
mTvDispatchTime.setText(mDispatchDetailBean.getGmtCreate());
mTvDispatchEnd.setText(mDispatchDetailBean.getDispatchHandleTime());
mTvDispatchUsername.setText(mDispatchDetailBean.getDispatchUserName());
}
/**
* 获取延期申请详情
*/
@ -468,6 +537,14 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
public void onNext(@NonNull DeferDetailBean deferDetailBean) {
mTvDeferSummary.setText(deferDetailBean.getDelayApplyReason());
mTvDeferDate.setText(deferDetailBean.getDelayExpireTime());
mTvApplyTime.setText(deferDetailBean.getGmtCreate());
mTvApplyUser.setText(deferDetailBean.getCreatorName());
if (!TextUtils.isEmpty(deferDetailBean.getDispatchId())) {
//获取派遣信息
getDispatchDetail(deferDetailBean.getDispatchId());
} else {
mCvDispatch.setVisibility(View.GONE);
}
}
@Override
@ -552,7 +629,7 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
bean1.setSel(false);
bean1.setId("SAMPLE");
bean1.setName("标杆事件");
bean1.setResId(com.tengshisoft.commonmodule.R.drawable.ic_flag_icon_gray);
bean1.setResId(R.drawable.ic_flag_icon_gray);
mOperates.remove(bean1);
}
@ -595,7 +672,7 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
bean1.setSel(false);
bean1.setId("COLLECT");
bean1.setName("收藏事件");
bean1.setResId(com.tengshisoft.commonmodule.R.drawable.ic_collect_icon_gray);
bean1.setResId(R.drawable.ic_collect_icon_gray);
mOperates.remove(bean1);
}
@ -638,7 +715,7 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
bean1.setSel(false);
bean1.setId("WARNING");
bean1.setName("预警事件");
bean1.setResId(com.tengshisoft.commonmodule.R.drawable.ic_warning_icon_gray);
bean1.setResId(R.drawable.ic_warning_icon_gray);
mOperates.remove(bean1);
}
@ -681,7 +758,7 @@ public class IncidentDeferExamineDetailActivity extends BaseActivity {
bean1.setSel(false);
bean1.setId("DIFFICULT");
bean1.setName("疑难事件");
bean1.setResId(com.tengshisoft.commonmodule.R.drawable.ic_difficult_icon_gray);
bean1.setResId(R.drawable.ic_difficult_icon_gray);
mOperates.remove(bean1);
}

View File

@ -0,0 +1,124 @@
package com.tengshisoft.commonmodule.activitys.cases;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.R;
import com.tengshisoft.commonmodule.R2;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.base.BaseFragment;
import com.tenlionsoft.baselib.core.widget.base.BaseViewPage2Adapter;
import com.tenlionsoft.baselib.core.widget.base.ViewPageNavigatorAdapter;
import com.tenlionsoft.baselib.utils.UIUtil;
import net.lucode.hackware.magicindicator.MagicIndicator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import androidx.annotation.Nullable;
import androidx.viewpager2.widget.ViewPager2;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
/**
* 作者: Adam
* 日期: 2021年11月02日18:39:58
* 邮箱: itgaojian@163.com
* 描述: 事件延期审核
*/
@Route(path = PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE)
public class IncidentDeferExamineListActivity extends BaseActivity {
@BindView(R2.id.mi_tabs)
MagicIndicator mMiTabs;
@BindView(R2.id.vp_content)
ViewPager2 mVpContent;
private Unbinder mBind;
private List<BaseFragment> mFragments;
private List<String> mTitles = Arrays.asList("待审批", "审批历史");
private String mSelCondition;
@Override
protected int setLayoutId() {
return R.layout.activity_incident_defer_examine_list;
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("延期审核");
mEtAppSearchContent.setHint("请输入事件编码(分类名称)");
mIvAppSearchIcon.setVisibility(View.VISIBLE);
refreshView(STATE_LOAD_SUCCESS);
initViews();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12) {
if (resultCode == 13) {
mFragments.get(mVpContent.getCurrentItem()).refreshContentView("", "");
}
}
}
private void initViews() {
mFragments = new ArrayList<>();
BaseFragment timeOutFragment = (BaseFragment) ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEFER)
.withBoolean("isHistory", false)
.navigation();
BaseFragment warnFragment = (BaseFragment) ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEFER)
.withBoolean("isHistory", true)
.navigation();
mFragments.add(timeOutFragment);
mFragments.add(warnFragment);
mVpContent.setAdapter(new BaseViewPage2Adapter(this, mFragments));
CommonNavigator commonNavigator = new CommonNavigator(this);
commonNavigator.setAdapter(new ViewPageNavigatorAdapter(this, mTitles, mVpContent));
commonNavigator.setAdjustMode(true);
mMiTabs.setNavigator(commonNavigator);
UIUtil.bindViewPager2(mMiTabs, mVpContent, null);
}
@Override
protected void doSearchByTitle() {
String searchContent = mEtAppSearchContent.getText().toString().trim();
if (!TextUtils.isEmpty(searchContent)) {
hideSoftKeyboard();
doSearch();
} else {
ToastUtils.show("请输入要查询的内容");
}
}
private void doSearch() {
int currentItem = mVpContent.getCurrentItem();
BaseFragment fragment = mFragments.get(currentItem);
fragment.refreshContentView(mSelCondition, mEtAppSearchContent.getText().toString().trim());
}
@Override
protected void clearSearch() {
mEtAppSearchContent.setText("");
mSelCondition = "";
int currentItem = mVpContent.getCurrentItem();
BaseFragment baseFragment = mFragments.get(currentItem);
baseFragment.refreshContentView("", "");
}
}

View File

@ -12,7 +12,6 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.ZoomControls;
@ -34,6 +33,7 @@ import com.tengshisoft.commonmodule.R;
import com.tengshisoft.commonmodule.R2;
import com.tengshisoft.commonmodule.adapters.HandleRecordAdapter;
import com.tengshisoft.commonmodule.adapters.IncidentTagListAdapter;
import com.tengshisoft.commonmodule.beans.DeferDetailBean;
import com.tengshisoft.commonmodule.beans.HandleListBean;
import com.tengshisoft.commonmodule.beans.IncidentAppraiseDetailBean;
import com.tengshisoft.commonmodule.beans.IncidentDetailBean;
@ -75,7 +75,6 @@ import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
@ -148,6 +147,20 @@ public class IncidentDetailActivity extends BaseActivity {
CardView mCvAppraise;
@BindView(R2.id.btn_save)
Button mBtnSave;
@BindView(R2.id.tv_apply_user)
TextView mTvApplyUser;
@BindView(R2.id.tv_apply_time)
TextView mTvApplyTime;
@BindView(R2.id.tv_defer_summary)
TextView mTvDeferSummary;
@BindView(R2.id.tv_defer_date)
TextView mTvDeferDate;
@BindView(R2.id.tv_defer_state)
TextView mTvDeferState;
@BindView(R2.id.tv_defer_content)
TextView mTvDeferContent;
@BindView(R2.id.cv_defer)
CardView mCvDefer;
private Unbinder mBind;
private String mId;
private BaiduMap mBaiduMap;
@ -176,6 +189,15 @@ public class IncidentDetailActivity extends BaseActivity {
mId = getIntent().getStringExtra("id");
mTaskId = getIntent().getStringExtra("taskId");
mCollectId = getIntent().getStringExtra("collectId");
String type = getIntent().getStringExtra("type");
if ("defer".equals(type)) {
mCvDefer.setVisibility(View.VISIBLE);
//延期页面跳转
String deferApplyId = getIntent().getStringExtra("deferApplyId");
getDeferDetail(deferApplyId);
} else {
mCvDefer.setVisibility(View.GONE);
}
mIsCanAppraise = getIntent().getBooleanExtra("isCanAppraise", false);
mTvPublish.setVisibility(View.VISIBLE);
mTvPublish.setText("操作");
@ -185,6 +207,48 @@ public class IncidentDetailActivity extends BaseActivity {
getDetailData();
}
/**
* 获取延期信息
*/
private void getDeferDetail(String deferApplyId) {
RetrofitManager.getInstance()
.create(CenterApis.class)
.getDeferDetailById(deferApplyId, UserLgUtils.getToken())
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<DeferDetailBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull DeferDetailBean deferDetailBean) {
if (TextUtils.isEmpty(deferDetailBean.getCreator())) {
mCvDefer.setVisibility(View.GONE);
} else {
mCvDefer.setVisibility(View.VISIBLE);
}
mTvDeferSummary.setText(deferDetailBean.getDelayApplyReason());
mTvDeferDate.setText(deferDetailBean.getDelayExpireTime());
mTvApplyTime.setText(deferDetailBean.getGmtCreate());
mTvApplyUser.setText(deferDetailBean.getCreatorName());
mTvDeferContent.setText(deferDetailBean.getDelayApplyExamineContent());
mTvDeferState.setText(deferDetailBean.getDelayApplyExamineStatusText());
}
@Override
public void onError(@NonNull Throwable e) {
mCvDefer.setVisibility(View.GONE);
}
@Override
public void onComplete() {
}
});
}
/**
* 初始化列表
*/
@ -888,35 +952,30 @@ public class IncidentDetailActivity extends BaseActivity {
mCurrentPage = page;
RetrofitManager.getInstance()
.create(GridApis.class)
.getHandleListByReportId(mId, page + "", UserLgUtils.getToken())
.getHandleLNewListByReportId(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<HandleListBean>() {
.subscribe(new Observer<List<HandleListBean.RowsBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull HandleListBean handleListBean) {
if (handleListBean.getRows() != null && handleListBean.getRows().size() > 0) {
public void onNext(@NonNull List<HandleListBean.RowsBean> handleListBean) {
if (handleListBean != null && handleListBean.size() > 0) {
++mCurrentPage;
mCvHandle.setVisibility(View.VISIBLE);
if (page == 1) {
mDatas.clear();
mDatas.addAll(handleListBean.getRows());
mDatas.addAll(handleListBean);
} else {
mDatas.addAll(handleListBean.getRows());
mDatas.addAll(handleListBean);
}
mHandleRecordAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= handleListBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();

View File

@ -9,6 +9,7 @@ import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.Html;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.MotionEvent;
@ -50,6 +51,7 @@ import com.tenlionsoft.baselib.core.beans.BaseSuccessBean;
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.retrofit_net.api.BaseApiService;
import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
import com.tenlionsoft.baselib.core.widget.PhotoActivity;
import com.tenlionsoft.baselib.core.widget.base.AddPhotoAdapter;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
@ -140,6 +142,26 @@ public class IncidentHandleActivity extends BaseActivity {
CardView mCvDefer;
@BindView(R2.id.rlv_applys)
RecyclerView mRlvApplys;
@BindView(R2.id.tv_dispatch_user)
TextView mTvDispatchUser;
@BindView(R2.id.tv_dispatch_dept)
TextView mTvDispatchDept;
@BindView(R2.id.tv_dispatch_end)
TextView mTvDispatchEnd;
@BindView(R2.id.tv_dispatch_content)
TextView mTvDispatchContent;
@BindView(R2.id.tv_dispatch_time)
TextView mTvDispatchTime;
@BindView(R2.id.cv_dispatch)
CardView mCvDispatch;
@BindView(R2.id.tv_dispatch_username)
TextView mTvDispatchUsername;
@BindView(R2.id.tv_defer)
TextView mTvDefer;
@BindView(R2.id.tv_defer_time)
TextView mTvDeferTime;
@BindView(R2.id.ll_defer_time)
LinearLayout mLlDeferTime;
private Unbinder mBind;
private String mReportId;
private IncidentDetailBean mIncidentDetailBean;
@ -213,9 +235,9 @@ public class IncidentHandleActivity extends BaseActivity {
* @param content
*/
private void doRollBack(String content) {
hideSoftKeyboard();
IncidentRebackBean bean = new IncidentRebackBean();
bean.setReportId(mReportId);
bean.setExplain(content);
bean.setSummary(content);
bean.setTaskId(mTaskId);
Gson gson = new Gson();
String obj = gson.toJson(bean);
@ -225,8 +247,7 @@ public class IncidentHandleActivity extends BaseActivity {
RetrofitManager.getInstance()
.create(GridApis.class)
.doRollBack(mDispatchDetailBean.getDispatchId(), requestBody, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@ -654,7 +675,7 @@ public class IncidentHandleActivity extends BaseActivity {
}
/**
* 获取
* 获取派遣信息
*/
private void getDispatchDetail() {
RetrofitManager.getInstance()
@ -671,11 +692,16 @@ public class IncidentHandleActivity extends BaseActivity {
@Override
public void onNext(@NonNull DispatchDetailBean dispatchDetailBean) {
mDispatchDetailBean = dispatchDetailBean;
if (!TextUtils.isEmpty(mDispatchDetailBean.getDispatchUserId())) {
setDispatchToView();
} else {
mCvDispatch.setVisibility(View.GONE);
}
}
@Override
public void onError(@NonNull Throwable e) {
mCvDispatch.setVisibility(View.GONE);
}
@Override
@ -685,6 +711,24 @@ public class IncidentHandleActivity extends BaseActivity {
});
}
private void setDispatchToView() {
mCvDispatch.setVisibility(View.VISIBLE);
mTvDispatchContent.setText(Html.fromHtml(mDispatchDetailBean.getDispatchSummary()));
mTvDispatchUser.setText(mDispatchDetailBean.getCreatorName());
mTvDispatchDept.setText(mDispatchDetailBean.getDispatchUserDeptName());
mTvDispatchTime.setText(mDispatchDetailBean.getGmtCreate());
mTvDispatchEnd.setText(mDispatchDetailBean.getDispatchHandleTime());
mTvDispatchUsername.setText(mDispatchDetailBean.getDispatchUserName());
if (1 == mDispatchDetailBean.getIsAllowDelay()) {
mTvDefer.setText("");
mLlDeferTime.setVisibility(View.VISIBLE);
mTvDeferTime.setText(mDispatchDetailBean.getDelayExpireTime());
} else {
mTvDefer.setText("");
mLlDeferTime.setVisibility(View.GONE);
}
}
/**
* 回显事件信息

View File

@ -45,6 +45,7 @@ import com.tengshisoft.commonmodule.beans.CaseTypeBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
import com.tengshisoft.commonmodule.nets.GridApis;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.constant.PermissionConstants;
import com.tenlionsoft.baselib.core.beans.AddPhotoBean;
import com.tenlionsoft.baselib.core.beans.BaseSuccessBean;
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
@ -58,6 +59,7 @@ import com.tenlionsoft.baselib.core.widget.videorecord.MediaManager;
import com.tenlionsoft.baselib.core.widget.views.AreaChooseDialog;
import com.tenlionsoft.baselib.core.widget.views.ButtomDialogView;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.PermissionUtils;
import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.baselib.utils.UserLgUtils;
@ -253,7 +255,7 @@ public class IncidentReportActivity extends BaseActivity {
.navigation(mActivity, 16));
//录音
mArbAudio.setHasRecordPromission(true);
mArbAudio.setAudioFinishRecorderListener((seconds, filePath) -> uploadVoice(filePath));
mLlVoice.setOnClickListener(v -> {
if (!TextUtils.isEmpty(mAudioPath)) {
@ -305,6 +307,30 @@ public class IncidentReportActivity extends BaseActivity {
}
});
mBtnSubmit.setOnClickListener(v -> doSubmit());
checkAuthority();
}
/**
* 校验权限
*/
private void checkAuthority() {
PermissionUtils.permission(PermissionConstants.STORAGE,
PermissionConstants.LOCATION,
PermissionConstants.CAMERA,
PermissionConstants.MICROPHONE)
.callback(new PermissionUtils.SimpleCallback() {
@Override
public void onGranted() {
mArbAudio.setHasRecordPromission(true);
}
@Override
public void onDenied() {
ToastUtils.show("App需要读取SD的权限,和定位的权限,请前往设置里授权.");
mArbAudio.setHasRecordPromission(false);
finish();
}
}).request();
}
/**

View File

@ -57,11 +57,12 @@ public class HandleRecordAdapter extends BaseRecyclerAdapter<HandleListBean.Rows
holder.mRlvPhotos.setAdapter(adapter);
holder.mTvTime.setText("处理时间:" + bean.getGmtCreate());
holder.mTvUser.setText("处理人:" + bean.getCreatorName());
holder.mTvDept.setText("处理部门:" + bean.getHandleUnitName());
adapter.setOnItemClickListener((data, pos) -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG)
.withStringArrayList("imgUrls", paths)
.withInt("curItem", pos)
.navigation());
.build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG)
.withStringArrayList("imgUrls", paths)
.withInt("curItem", pos)
.navigation());
}
public void setCheckId(String id) {

View File

@ -0,0 +1,43 @@
package com.tengshisoft.commonmodule.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.tengshisoft.commonmodule.R;
import com.tengshisoft.commonmodule.beans.IncidentDeferListBean;
import com.tengshisoft.commonmodule.beans.IncidentHandleListBean;
import com.tengshisoft.commonmodule.holders.IncidentDeferListHolder;
import com.tengshisoft.commonmodule.holders.IncidentHandleListHolder;
import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter;
import java.util.List;
/**
* 作者: adam
* 日期: 2020/11/17 - 1:22 PM
* 邮箱: itgaojian@163.com
* 描述: 延期列表
*/
public class IncidentDeferListAdapter extends BaseRecyclerAdapter<IncidentDeferListBean.RowsBean, IncidentDeferListHolder> {
public IncidentDeferListAdapter(Context ctx, List<IncidentDeferListBean.RowsBean> list) {
super(ctx, list);
}
@Override
public IncidentDeferListHolder createHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_incident_defer_list, parent, false);
return new IncidentDeferListHolder(itemView);
}
@Override
public void bindHolder(IncidentDeferListHolder holder, int i) {
IncidentDeferListBean.RowsBean bean = mData.get(i);
holder.mTvSummary.setText(bean.getDelayApplyReason());
holder.mTvDept.setText("申请人:" + bean.getCreatorName());
holder.mTvDelayTime.setText("延期时间:" + bean.getDelayExpireTime());
holder.mTvTime.setText("申请时间:" + bean.getGmtCreate());
holder.mTvState.setText(bean.getDelayApplyExamineStatusText());
}
}

View File

@ -6,9 +6,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.tengshisoft.commonmodule.R;
import com.tengshisoft.commonmodule.beans.FamilyMemberListBean;
import com.tengshisoft.commonmodule.beans.IncidentLogBean;
import com.tengshisoft.commonmodule.holders.HireRecordMemberHolder;
import com.tengshisoft.commonmodule.holders.IncidentLogHolder;
import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter;
@ -61,7 +59,6 @@ public class IncidentLogAdapter extends BaseRecyclerAdapter<IncidentLogBean, Inc
holder.mTvHandleTime.setText(bean.getNodeTimeConsuming());
holder.mTvHandleSummary.setText(bean.getNodeSummary());
holder.mTvHandleStatus.setText("1".equals(bean.getNodeState()) ? "完成" : "进行中");
holder.mTvHandleDept.setText(bean.getNodeUserDeptName());
}
}

View File

@ -42,7 +42,7 @@ public class KeyPlaceAdapter extends BaseRecyclerAdapter<KeyPlaceListBean.RowsBe
holder.mTvType.setText(bean.getPlaceTypeName());
//TODO 重点场所巡查
holder.mTvPatrol.setVisibility(View.GONE);
// holder.mTvPatrol.setVisibility(View.GONE);
if (mPatrolListener != null) {
holder.mTvPatrol.setOnClickListener(v -> mPatrolListener.onPatrol(bean));
}

View File

@ -38,7 +38,7 @@ public class TaskBusinessListAdapter extends BaseRecyclerAdapter<TaskBusinessLis
holder.mTvName.setText(bean.getName());
holder.mTvUser.setText("相关人员:" + bean.getMan());
holder.mTvPhone.setText("联系电话:" + bean.getPhone());
holder.mTvTime.setText(bean.getTime());
holder.mTvTime.setText("下派时间:" + bean.getGmtCreate());
}
private OnPatrolListener mPatrolListener;

View File

@ -60,9 +60,26 @@ public class TaskListAdapter extends BaseRecyclerAdapter<TaskListBean.RowsBean,
} else {
holder.mIvHint.setVisibility(View.GONE);
}
if (bean.getIsReceive() != 0) {
holder.mBtnSubmit.setVisibility(View.VISIBLE);
holder.mBtnSubmit.setOnClickListener(v -> mTaskListener.doSubmit(bean, i));
} else {
holder.mBtnSubmit.setVisibility(View.GONE);
}
} else {
holder.mIvHint.setVisibility(View.GONE);
holder.mBtnSubmit.setVisibility(View.GONE);
}
}
private OnSubmitTaskListener mTaskListener;
public void addOnSubmitTaskListener(OnSubmitTaskListener listener) {
this.mTaskListener = listener;
}
public interface OnSubmitTaskListener {
void doSubmit(TaskListBean.RowsBean bean, int pos);
}
}

View File

@ -12,12 +12,14 @@ public class DeferDetailBean {
private String creatorName;
private String delayApplyExamineContent;
private String delayApplyExamineStatus;
private String delayApplyExamineStatusText;
private String delayApplyId;
private String delayApplyReason;
private String delayApplyUserId;
private String delayExpireTime;
private String dispatchId;
private String gmtCreate;
private String reportCode;
private String reportId;
public String getCreator() {
@ -52,6 +54,14 @@ public class DeferDetailBean {
this.delayApplyExamineStatus = delayApplyExamineStatus;
}
public String getDelayApplyExamineStatusText() {
return delayApplyExamineStatusText;
}
public void setDelayApplyExamineStatusText(String delayApplyExamineStatusText) {
this.delayApplyExamineStatusText = delayApplyExamineStatusText;
}
public String getDelayApplyId() {
return delayApplyId;
}
@ -100,6 +110,14 @@ public class DeferDetailBean {
this.gmtCreate = gmtCreate;
}
public String getReportCode() {
return reportCode;
}
public void setReportCode(String reportCode) {
this.reportCode = reportCode;
}
public String getReportId() {
return reportId;
}

View File

@ -47,6 +47,16 @@ public class HandleListBean {
private String handleSummary;
private String reportId;
private String creatorName;
private String handleUnitName;
public String getHandleUnitName() {
return handleUnitName;
}
public void setHandleUnitName(String handleUnitName) {
this.handleUnitName = handleUnitName;
}
public String getCreatorName() {
return creatorName;

View File

@ -0,0 +1,160 @@
package com.tengshisoft.commonmodule.beans;
import java.util.List;
/**
* 作者: adam
* 日期: 2021/12/10 - 11:37 上午
* 邮箱: itgaojian@163.com
* 描述:延期审核列表
*/
public class IncidentDeferListBean {
private int page;
private int total;
private List<RowsBean> rows;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List<RowsBean> getRows() {
return rows;
}
public void setRows(List<RowsBean> rows) {
this.rows = rows;
}
public static class RowsBean {
private String creator;
private String creatorName;
private String delayApplyExamineContent;
private String delayApplyExamineStatus;
private String delayApplyExamineStatusText;
private String delayApplyId;
private String delayApplyReason;
private String delayApplyUserId;
private String delayExpireTime;
private String dispatchId;
private String gmtCreate;
private String reportCode;
private String reportId;
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getDelayApplyExamineContent() {
return delayApplyExamineContent;
}
public void setDelayApplyExamineContent(String delayApplyExamineContent) {
this.delayApplyExamineContent = delayApplyExamineContent;
}
public String getDelayApplyExamineStatus() {
return delayApplyExamineStatus;
}
public void setDelayApplyExamineStatus(String delayApplyExamineStatus) {
this.delayApplyExamineStatus = delayApplyExamineStatus;
}
public String getDelayApplyExamineStatusText() {
return delayApplyExamineStatusText;
}
public void setDelayApplyExamineStatusText(String delayApplyExamineStatusText) {
this.delayApplyExamineStatusText = delayApplyExamineStatusText;
}
public String getDelayApplyId() {
return delayApplyId;
}
public void setDelayApplyId(String delayApplyId) {
this.delayApplyId = delayApplyId;
}
public String getDelayApplyReason() {
return delayApplyReason;
}
public void setDelayApplyReason(String delayApplyReason) {
this.delayApplyReason = delayApplyReason;
}
public String getDelayApplyUserId() {
return delayApplyUserId;
}
public void setDelayApplyUserId(String delayApplyUserId) {
this.delayApplyUserId = delayApplyUserId;
}
public String getDelayExpireTime() {
return delayExpireTime;
}
public void setDelayExpireTime(String delayExpireTime) {
this.delayExpireTime = delayExpireTime;
}
public String getDispatchId() {
return dispatchId;
}
public void setDispatchId(String dispatchId) {
this.dispatchId = dispatchId;
}
public String getGmtCreate() {
return gmtCreate;
}
public void setGmtCreate(String gmtCreate) {
this.gmtCreate = gmtCreate;
}
public String getReportCode() {
return reportCode;
}
public void setReportCode(String reportCode) {
this.reportCode = reportCode;
}
public String getReportId() {
return reportId;
}
public void setReportId(String reportId) {
this.reportId = reportId;
}
}
}

View File

@ -16,6 +16,16 @@ public class IncidentLogBean {
private String nodeSummary;
private String nodeTimeConsuming;
private String nodeUserName;
private String nodeUserDeptName;
public String getNodeUserDeptName() {
return nodeUserDeptName;
}
public void setNodeUserDeptName(String nodeUserDeptName) {
this.nodeUserDeptName = nodeUserDeptName;
}
public String getNodeEndTime() {
return nodeEndTime;

View File

@ -7,24 +7,16 @@ package com.tengshisoft.commonmodule.beans;
* 描述:
*/
public class IncidentRebackBean {
private String reportId;
private String explain;
private String summary;
private String taskId;
public String getReportId() {
return reportId;
public String getSummary() {
return summary;
}
public void setReportId(String reportId) {
this.reportId = reportId;
}
public String getExplain() {
return explain;
}
public void setExplain(String explain) {
this.explain = explain;
public void setSummary(String summary) {
this.summary = summary;
}
public String getTaskId() {

View File

@ -8,9 +8,13 @@ package com.tengshisoft.commonmodule.beans;
*/
public class PatrolKeyPlaceDetailBean {
private String homicideId;
private String homicidePatrolId;
private String creator;
private String gmtCreate;
private String gmtModified;
private int isDelete;
private String keyPlaceId;
private String keyPlacePatrolId;
private String modifier;
private String patrolContent;
private String patrolPhoto;
private String patrolResult;
@ -18,20 +22,60 @@ public class PatrolKeyPlaceDetailBean {
private String patrolVideo;
private String remake;
public String getHomicideId() {
return homicideId;
public String getCreator() {
return creator;
}
public void setHomicideId(String homicideId) {
this.homicideId = homicideId;
public void setCreator(String creator) {
this.creator = creator;
}
public String getHomicidePatrolId() {
return homicidePatrolId;
public String getGmtCreate() {
return gmtCreate;
}
public void setHomicidePatrolId(String homicidePatrolId) {
this.homicidePatrolId = homicidePatrolId;
public void setGmtCreate(String gmtCreate) {
this.gmtCreate = gmtCreate;
}
public String getGmtModified() {
return gmtModified;
}
public void setGmtModified(String gmtModified) {
this.gmtModified = gmtModified;
}
public int getIsDelete() {
return isDelete;
}
public void setIsDelete(int isDelete) {
this.isDelete = isDelete;
}
public String getKeyPlaceId() {
return keyPlaceId;
}
public void setKeyPlaceId(String keyPlaceId) {
this.keyPlaceId = keyPlaceId;
}
public String getKeyPlacePatrolId() {
return keyPlacePatrolId;
}
public void setKeyPlacePatrolId(String keyPlacePatrolId) {
this.keyPlacePatrolId = keyPlacePatrolId;
}
public String getModifier() {
return modifier;
}
public void setModifier(String modifier) {
this.modifier = modifier;
}
public String getPatrolContent() {

View File

@ -43,8 +43,8 @@ public class PatrolKeyPlaceListBean {
private String gmtCreate;
private String gmtModified;
private int isDelete;
private String logisticsSafeId;
private String logisticsSafePatrolId;
private String keyPlaceId;
private String keyPlacePatrolId;
private String modifier;
private String patrolContent;
private String patrolPhoto;
@ -85,20 +85,20 @@ public class PatrolKeyPlaceListBean {
this.isDelete = isDelete;
}
public String getLogisticsSafeId() {
return logisticsSafeId;
public String getKeyPlaceId() {
return keyPlaceId;
}
public void setLogisticsSafeId(String logisticsSafeId) {
this.logisticsSafeId = logisticsSafeId;
public void setKeyPlaceId(String keyPlaceId) {
this.keyPlaceId = keyPlaceId;
}
public String getLogisticsSafePatrolId() {
return logisticsSafePatrolId;
public String getKeyPlacePatrolId() {
return keyPlacePatrolId;
}
public void setLogisticsSafePatrolId(String logisticsSafePatrolId) {
this.logisticsSafePatrolId = logisticsSafePatrolId;
public void setKeyPlacePatrolId(String keyPlacePatrolId) {
this.keyPlacePatrolId = keyPlacePatrolId;
}
public String getModifier() {

View File

@ -8,7 +8,7 @@ package com.tengshisoft.commonmodule.beans;
*/
public class SavePatrolKeyPlaceBean {
private String keyAreaCheckRenovationId;
private String keyPlaceId;
private String patrolContent;
private String patrolPhoto;
private String patrolResult;
@ -16,12 +16,12 @@ public class SavePatrolKeyPlaceBean {
private String patrolVideo;
private String remake;
public String getKeyAreaCheckRenovationId() {
return keyAreaCheckRenovationId;
public String getKeyPlaceId() {
return keyPlaceId;
}
public void setKeyAreaCheckRenovationId(String keyAreaCheckRenovationId) {
this.keyAreaCheckRenovationId = keyAreaCheckRenovationId;
public void setKeyPlaceId(String keyPlaceId) {
this.keyPlaceId = keyPlaceId;
}
public String getPatrolContent() {

View File

@ -0,0 +1,28 @@
package com.tengshisoft.commonmodule.beans;
/**
* 作者: adam
* 日期: 2021/12/13 - 10:35 上午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class SaveTaskStateBean {
private String executeStatus;//: '完成',
private String isReceive;//: 1
public String getExecuteStatus() {
return executeStatus;
}
public void setExecuteStatus(String executeStatus) {
this.executeStatus = executeStatus;
}
public String getIsReceive() {
return isReceive;
}
public void setIsReceive(String isReceive) {
this.isReceive = isReceive;
}
}

View File

@ -0,0 +1,165 @@
package com.tengshisoft.commonmodule.fragments;
import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.tengshisoft.commonmodule.R;
import com.tengshisoft.commonmodule.R2;
import com.tengshisoft.commonmodule.adapters.IncidentDeferListAdapter;
import com.tengshisoft.commonmodule.beans.IncidentDeferListBean;
import com.tengshisoft.commonmodule.beans.IncidentListBean;
import com.tengshisoft.commonmodule.nets.CenterApis;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
import com.tenlionsoft.baselib.core.widget.base.BaseFragment;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.util.ArrayList;
import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
/**
* 作者: adam
* 日期: 2021/11/26 - 5:16 下午
* 邮箱: itgaojian@163.com
* 描述: 延期列表
*/
@Route(path = PathConfig.PATH_MODULE_COMMON_FRAGMENT_INCIDENT_DEFER)
public class IncidentDeferFragment extends BaseFragment {
@BindView(R2.id.rlv_content)
RecyclerView mRlvContent;
private Unbinder mBind;
private String mType;
private List<IncidentDeferListBean.RowsBean> mDatas;
private IncidentDeferListAdapter mAdapter;
private int mCurrentPage = 1;
private String mKeywords = "";
private boolean mIsHistory;// true 历史 false 待审核
@Override
protected void setDataToView(View dataView) {
mBind = ButterKnife.bind(this, dataView);
mIsHistory = getArguments().getBoolean("isHistory", false);
mDatas = new ArrayList<>();
mAdapter = new IncidentDeferListAdapter(mActivity, mDatas);
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvContent.setAdapter(mAdapter);
mSrlView.setOnRefreshListener(v -> doRefresh());
mSrlView.setOnLoadMoreListener(v -> loadMoreData());
setStateView(13);
getIncidentDispatchList(mCurrentPage);
if (mIsHistory) {
mAdapter.addOnItemClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DETAIL)
.withString("id", v.getReportId())
.withString("deferApplyId", v.getDelayApplyId())
.withString("type", "defer")
.navigation());
} else {
mAdapter.addOnItemClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE_DETAIL)
.withString("reportId", v.getReportId())
.withString("deferApplyId", v.getDelayApplyId())
.navigation(mActivity, 12));
}
}
private void getIncidentDispatchList(int page) {
mCurrentPage = page;
RetrofitManager.getInstance()
.create(CenterApis.class)
.getDeferIncidentList(mIsHistory, mKeywords, page + "", UserLgUtils.getToken())
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<IncidentDeferListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull IncidentDeferListBean taskListBean) {
++mCurrentPage;
mSrlView.finishRefresh();
mSrlView.finishLoadMore();
if (page == 1) {
if (taskListBean.getRows() != null && taskListBean.getRows().size() > 0) {
mDatas.clear();
mDatas.addAll(taskListBean.getRows());
setStateView(STATE_SUCCESS);
} else {
setStateView(STATE_EMPTY);
}
} else {
if (taskListBean.getRows() != null && taskListBean.getRows().size() > 0) {
mDatas.addAll(taskListBean.getRows());
mSrlView.setNoMoreData(false);
} else {
mSrlView.setNoMoreData(true);
}
}
mAdapter.notifyDataSetChanged();
}
@Override
public void onError(@NonNull Throwable e) {
ExceptionHandler.handleException(e);
if (page == 1) {
//首次
mSrlView.finishLoadMore();
mSrlView.finishRefresh();
setStateView(STATE_ERROR);
} else {
//首次
mSrlView.finishLoadMore();
mSrlView.finishRefresh();
mSrlView.setNoMoreData(false);
}
}
@Override
public void onComplete() {
}
});
}
@Override
public void refreshContentView(String... data) {
mKeywords = data[1];
refreshView();
}
@Override
protected void refreshView() {
mCurrentPage = 1;
mDatas.clear();
getIncidentDispatchList(mCurrentPage);
}
@Override
protected void loadMoreData() {
getIncidentDispatchList(mCurrentPage);
}
public void doRefresh() {
refreshView();
}
@Override
protected int getContentViewId() {
return R.layout.fragment_incident_center_time_out;
}
}

View File

@ -22,6 +22,7 @@ public class HandleRecordHolder extends RecyclerView.ViewHolder {
public RecyclerView mRlvPhotos;
public TextView mTvTime;
public TextView mTvUser;
public TextView mTvDept;
public HandleRecordHolder(@NonNull @NotNull View itemView) {
super(itemView);
@ -29,5 +30,6 @@ public class HandleRecordHolder extends RecyclerView.ViewHolder {
mRlvPhotos = itemView.findViewById(R.id.rlv_photos);
mTvTime = itemView.findViewById(R.id.tv_time);
mTvUser = itemView.findViewById(R.id.tv_user);
mTvDept = itemView.findViewById(R.id.tv_dept);
}
}

View File

@ -0,0 +1,34 @@
package com.tengshisoft.commonmodule.holders;
import android.view.View;
import android.widget.TextView;
import com.tengshisoft.commonmodule.R;
import org.jetbrains.annotations.NotNull;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
/**
* 作者: adam
* 日期: 2021年10月18日14:19:22
* 邮箱: itgaojian@163.com
* 描述: 延期列表
*/
public class IncidentDeferListHolder extends RecyclerView.ViewHolder {
public TextView mTvState;//状态
public TextView mTvSummary;//派遣描述
public TextView mTvTime;//派遣时间
public TextView mTvDelayTime;//延期到期时间
public TextView mTvDept;//派遣部门
public IncidentDeferListHolder(@NonNull @NotNull View itemView) {
super(itemView);
mTvState = itemView.findViewById(R.id.tv_state);
mTvSummary = itemView.findViewById(R.id.tv_summary);
mTvTime = itemView.findViewById(R.id.tv_time);
mTvDelayTime = itemView.findViewById(R.id.tv_delay_time);
mTvDept = itemView.findViewById(R.id.tv_dept);
}
}

View File

@ -31,6 +31,7 @@ public class IncidentLogHolder extends RecyclerView.ViewHolder {
public LinearLayout mLlHandleTime;
public LinearLayout mLlEndTime;
public LinearLayout mLlSummary;
public TextView mTvHandleDept;
public IncidentLogHolder(@NonNull @NotNull View itemView) {
super(itemView);
@ -46,5 +47,6 @@ public class IncidentLogHolder extends RecyclerView.ViewHolder {
mLlSummary = itemView.findViewById(R.id.ll_handle_summary);
mLlHandleTime = itemView.findViewById(R.id.ll_handle_time);
mLlEndTime = itemView.findViewById(R.id.ll_end_time);
mTvHandleDept = itemView.findViewById(R.id.tv_handle_dept);
}
}

View File

@ -26,6 +26,7 @@ public class TaskHolder extends RecyclerView.ViewHolder {
public TextView mTvType;
public TextView mTvState;
public TextView mTvTaskType;
public TextView mBtnSubmit;
public TaskHolder(@NonNull View itemView) {
super(itemView);
@ -37,5 +38,6 @@ public class TaskHolder extends RecyclerView.ViewHolder {
mTvType = itemView.findViewById(R.id.tv_type);
mTvState = itemView.findViewById(R.id.tv_state);
mTvTaskType = itemView.findViewById(R.id.tv_task_type);
mBtnSubmit = itemView.findViewById(R.id.btn_submit);
}
}

View File

@ -9,6 +9,7 @@ import com.tengshisoft.commonmodule.beans.IncidentCenterEarlyWarnListBean;
import com.tengshisoft.commonmodule.beans.IncidentCenterTimeOutCount;
import com.tengshisoft.commonmodule.beans.IncidentCenterTimeOutListBean;
import com.tengshisoft.commonmodule.beans.IncidentCountBean;
import com.tengshisoft.commonmodule.beans.IncidentDeferListBean;
import com.tengshisoft.commonmodule.beans.IncidentListBean;
import com.tengshisoft.commonmodule.beans.IncidentMineOverseeListBean;
import com.tengshisoft.commonmodule.beans.IncidentOverseeDetailBean;
@ -100,7 +101,7 @@ public interface CenterApis {
*/
@Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"})
@GET("app/taskbase/listpage-task-accept")
Observable<IncidentListBean> getIncidentUnAcceptList(@Query("keywords") String key, @Query("page") String page, @Header("token") String token);
Observable<IncidentListBean> getIncidentUnAcceptList(@Query("keywords") String key, @Query("page") String page, @Query("rows") String rows, @Header("token") String token);
/**
* 事件受理-废除
@ -148,8 +149,8 @@ public interface CenterApis {
* 申请延期
*/
@Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"})
@GET("app/delayapply/listpage-auditme")
Observable<IncidentListBean> getDeferIncidentList(@Query("keywords") String key, @Query("page") String page, @Header("token") String token);
@GET("app/delayapply/listpage")
Observable<IncidentDeferListBean> getDeferIncidentList(@Query("historyData") boolean isHistroy, @Query("keywords") String key, @Query("page") String page, @Header("token") String token);
/**
* 获取延期申请详情

View File

@ -1152,6 +1152,13 @@ public interface GridApis {
@GET("app/dispatch/get-bytaskId/{taskId}")
Observable<DispatchDetailBean> getDispatchDetailById(@Path("taskId") String id, @Header("token") String token);
/**
* 获取事件派遣详情
*/
@Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"})
@GET("app/dispatch/get/{dispatchId}")
Observable<DispatchDetailBean> getDispatchDetailByDispatchId(@Path("dispatchId") String id, @Header("token") String token);
/**
* 延期申请
*/
@ -1187,6 +1194,13 @@ public interface GridApis {
@GET("app/handle/listpage-report/{reportId}")
Observable<HandleListBean> getHandleListByReportId(@Path("reportId") String id, @Query("page") String page, @Header("token") String token);
/**
* 获取事件处理记录最新列表
*/
@Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"})
@GET("app/handle/list-news/{reportId}")
Observable<List<HandleListBean.RowsBean>> getHandleLNewListByReportId(@Path("reportId") String id, @Header("token") String token);
/**
* 获取事件处理详情
*/
@ -1382,11 +1396,19 @@ public interface GridApis {
/**
*
* @Query("matterIdx") String idx,
* 获取任务详细列表
*/
@Headers({"base_url_name:task", "Content-Type: application/json", "Accept: application/json"})
@GET("app/distribute/listpagematter")
Observable<TaskBusinessListBean> getTaskBusinessList(@Query("distributeId") String taskId, @Query("matterIdx") String idx, @Query("business") String business, @Query("keywords") String key, @Query("page") String page, @Header("token") String token);
Observable<TaskBusinessListBean> getTaskBusinessList(@Query("distributeId") String taskId, @Query("business") String business, @Query("keywords") String key, @Query("page") String page, @Header("token") String token);
/**
* 上报任务状态
*/
@Headers({"base_url_name:task", "Content-Type: application/json", "Accept: application/json"})
@PUT("app/receiveruser/updatereceiveruser/{receiverUserId}")
Observable<BaseSuccessBean> doSaveTaskState(@Path("receiverUserId") String id, @Body RequestBody body, @Header("token") String token);
/*=========================================9+x=========================================*/
/*重点区域*/
@ -1587,7 +1609,7 @@ public interface GridApis {
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@GET("app/homicidesuspect/listpagehomicidesuspect")
Observable<PenalSuspicionListBean> getPenalSuspicionList(@Query("keywords") String key, @Query("page") String page, @Header("token") String token);
Observable<PenalSuspicionListBean> getPenalSuspicionList(@Query("keywords") String key, @Query("homicideId") String caseId, @Query("page") String page, @Header("token") String token);
/**
* 新增命案基本信息
@ -1623,7 +1645,7 @@ public interface GridApis {
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@GET("app/homicidevictim/listpagehomicidevictim")
Observable<VictimListBean> getPenalVictimList(@Query("keywords") String key, @Query("page") String page, @Header("token") String token);
Observable<VictimListBean> getPenalVictimList(@Query("keywords") String key, @Query("homicideId") String caseId, @Query("page") String page, @Header("token") String token);
/**
* 新增受害人信息
@ -1809,36 +1831,36 @@ public interface GridApis {
* 重点场所记录列表
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@GET("app/logisticssafepatrol/listpagelogisticssafepatrol")
Observable<PatrolKeyPlaceListBean> getKeyPlacePatrolList(@Query("logisticsSafeId") String id, @Query("keywords") String key, @Query("page") String page, @Header("token") String token);
@GET("app/keyplacepatrol/listpagekeyplacepatrol")
Observable<PatrolKeyPlaceListBean> getKeyPlacePatrolList(@Query("keyPlaceId") String id, @Query("keywords") String key, @Query("page") String page, @Header("token") String token);
/**
* 保存重点场所巡查记录
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@POST("app/logisticssafepatrol/save")
@POST("app/keyplacepatrol/save")
Observable<SuccessBean> doSaveKeyPlacePatrol(@Body RequestBody body, @Header("token") String token);
/**
* 编辑重点场所巡查记录
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@PUT("app/logisticssafepatrol/updatelogisticssafepatrol/{logisticsSafePatrolId}")
Observable<SuccessBean> doEditKeyPlacePatrol(@Path("logisticsSafePatrolId") String id, @Body RequestBody body, @Header("token") String token);
@PUT("app/keyplacepatrol/updatekeyplacepatrol/{keyPlacePatrolId}")
Observable<SuccessBean> doEditKeyPlacePatrol(@Path("keyPlacePatrolId") String id, @Body RequestBody body, @Header("token") String token);
/**
* 删除重点场所巡查记录
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@DELETE("app/logisticssafepatrol/remove/{ids}")
@DELETE("app/keyplacepatrol/remove/{ids}")
Observable<SuccessBean> doDelKeyPlacePatrol(@Path("ids") String id, @Header("token") String token);
/**
* 获取重点场所巡查记录
*/
@Headers({"base_url_name:security", "Content-Type: application/json", "Accept: application/json"})
@GET("app/logisticssafepatrol/get/{logisticsSafePatrolId}")
Observable<PatrolKeyPlaceDetailBean> getKeyPlacePatrolDetailById(@Path("logisticsSafePatrolId") String id, @Header("token") String token);
@GET("app/keyplacepatrol/get/{keyPlacePatrolId}")
Observable<PatrolKeyPlaceDetailBean> getKeyPlacePatrolDetailById(@Path("keyPlacePatrolId") String id, @Header("token") String token);

View File

@ -26,7 +26,7 @@
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false"
tools:visibility="visible">
tools:visibility="gone">
<LinearLayout
@ -321,7 +321,130 @@
</com.tenlionsoft.baselib.core.widget.views.ExpandableLinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<!--派遣详情-->
<!--派遣信息-->
<androidx.cardview.widget.CardView
android:id="@+id/cv_dispatch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="8dp">
<TextView
style="@style/issue_report_title"
android:padding="8dp"
android:text="派遣信息"
android:textStyle="bold" />
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣人" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_user"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣用户" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_username"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣部门" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_dept"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="截止时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_end"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:layout_marginLeft="8dp"
android:text="派遣描述" />
<TextView
android:id="@+id/tv_dispatch_content"
style="@style/item_content_ver"
android:layout_marginLeft="8dp"
tools:text="测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣日期" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_time"
style="@style/item_content" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<!--延期申请信息-->
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -342,6 +465,32 @@
android:text="延期申请信息"
android:textStyle="bold" />
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="申请人" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_apply_user"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="申请时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_apply_time"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView

View File

@ -0,0 +1,22 @@
<?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"
android:background="@color/gray_bg"
android:orientation="vertical">
<net.lucode.hackware.magicindicator.MagicIndicator
android:id="@+id/mi_tabs"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/shp_bottom_shadow_white_no_radius" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

View File

@ -156,7 +156,7 @@
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false"
tools:visibility="visible">
tools:visibility="gone">
<LinearLayout
@ -452,6 +452,117 @@
</LinearLayout>
</androidx.cardview.widget.CardView>
<!--延期申请信息-->
<androidx.cardview.widget.CardView
android:id="@+id/cv_defer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:orientation="vertical">
<TextView
style="@style/issue_report_title"
android:padding="8dp"
android:text="延期申请信息"
android:textStyle="bold" />
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="申请人" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_apply_user"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="申请时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_apply_time"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:text="延期原因" />
<TextView
android:id="@+id/tv_defer_summary"
style="@style/item_content_ver"
android:gravity="left"
android:minLines="2"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="申请延期到" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_defer_date"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="审核状态" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_defer_state"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:text="审批内容" />
<TextView
android:id="@+id/tv_defer_content"
style="@style/item_content_ver"
android:gravity="left"
android:minLines="2"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView

View File

@ -4,8 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_bg"
>
android:background="@color/gray_bg">
<androidx.core.widget.NestedScrollView
android:id="@+id/nsv_content"
@ -36,7 +35,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:defaultItemCount="3"
app:defaultItemCount="5"
app:expandText="点击展开"
app:hideText="点击收起"
app:useDefaultBottom="true"
@ -306,6 +305,167 @@
</LinearLayout>
</androidx.cardview.widget.CardView>
<!--派遣信息-->
<androidx.cardview.widget.CardView
android:id="@+id/cv_dispatch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="8dp">
<TextView
style="@style/issue_report_title"
android:padding="8dp"
android:text="派遣信息"
android:textStyle="bold" />
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣人" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_user"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣用户" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_username"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣部门" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_dept"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="截止时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_end"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:layout_marginLeft="8dp"
android:text="派遣描述" />
<TextView
android:id="@+id/tv_dispatch_content"
style="@style/item_content_ver"
android:layout_marginLeft="8dp"
tools:text="测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣日期" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_time"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="是否延期" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_defer"
style="@style/item_content" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_defer_time"
style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="延期时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_defer_time"
style="@style/item_content" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<!--延期信息-->
<androidx.cardview.widget.CardView
android:id="@+id/cv_defer"
android:layout_width="match_parent"

View File

@ -16,7 +16,7 @@
<net.lucode.hackware.magicindicator.MagicIndicator
android:id="@+id/mi_tabs"
android:layout_width="match_parent"
android:layout_height="40dp" />
android:layout_height="50dp" />
<TextView
android:id="@+id/tv_condition"

View File

@ -18,11 +18,29 @@
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="事件统计"
android:textColor="@color/black"
android:textSize="15sp"
android:textStyle="bold" />
<com.github.mikephil.charting.charts.HorizontalBarChart
android:id="@+id/hbc_task"
android:layout_width="match_parent"
android:layout_height="300dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="任务统计"
android:textColor="@color/black"
android:textSize="15sp"
android:textStyle="bold" />
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/bc_task"
android:layout_width="match_parent"

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rlv_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.recyclerview.widget.RecyclerView>

View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/shape_rectangle_white"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingLeft="5dp">
<TextView
android:id="@+id/tv_summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:textColor="#ff353535"
android:textSize="14sp"
tools:text="派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息派遣描述信息" />
<TextView
android:id="@+id/tv_dept"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="12sp"
tools:text="派遣部门:测试" />
<TextView
android:id="@+id/tv_delay_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="12sp"
tools:text="延期到期:2021-12-21 2:1" />
</LinearLayout>
<TextView
android:id="@+id/tv_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shp_status_blue"
android:gravity="center"
android:textColor="@color/text_blue"
tools:text="未受理" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginTop="5dp"
android:background="@drawable/shp_line_dotted"
android:layerType="software" />
<TextView
android:id="@+id/tv_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:drawableLeft="@drawable/ic_clock_blue"
android:drawablePadding="5dp"
android:ellipsize="end"
android:maxLines="2"
android:textColor="#ff1189ff"
android:textSize="12sp"
tools:text="派遣处理时间:2021-12-12 20:33:33" />
</LinearLayout>

View File

@ -8,6 +8,13 @@
android:orientation="vertical"
android:padding="5dp">
<TextView
android:id="@+id/tv_dept"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ff353535"
tools:text="处理部门" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -18,7 +25,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/red_ff"
android:textColor="#ff353535"
android:textSize="13sp"
tools:text="处理时间:2021-12-12 33:33:33" />
@ -33,6 +40,7 @@
</LinearLayout>
<TextView
android:id="@+id/tv_summary"
android:layout_width="match_parent"
@ -44,6 +52,12 @@
android:id="@+id/rlv_photos"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:itemCount="3"
tools:listitem="@layout/item_show_photo" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@drawable/shp_line_dotted" />
</LinearLayout>

View File

@ -53,9 +53,9 @@
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="描述:"
android:layout_weight=".3"
android:gravity="left"
android:text="描述"
android:textColor="@color/black"
android:textSize="12sp" />
@ -73,17 +73,17 @@
<LinearLayout
android:layout_width="match_parent"
android:background="@drawable/shp_bottom_line"
android:layout_height="wrap_content"
android:background="@drawable/shp_bottom_line"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="开始时间:"
android:layout_weight=".3"
android:gravity="left"
android:text="开始时间"
android:textColor="@color/black"
android:textSize="12sp" />
@ -103,16 +103,16 @@
android:id="@+id/ll_end_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/shp_bottom_line"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="结束时间:"
android:layout_weight=".3"
android:gravity="left"
android:text="结束时间"
android:textColor="@color/black"
android:textSize="12sp" />
@ -130,18 +130,18 @@
<LinearLayout
android:id="@+id/ll_handle_time"
android:background="@drawable/shp_bottom_line"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shp_bottom_line"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="耗时:"
android:layout_weight=".3"
android:gravity="left"
android:text="耗时"
android:textColor="@color/black"
android:textSize="12sp" />
@ -167,9 +167,9 @@
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="处理人:"
android:layout_weight=".3"
android:gravity="left"
android:text="处理人"
android:textColor="@color/black"
android:textSize="12sp" />
@ -184,20 +184,47 @@
tools:text="处理人" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/shp_bottom_line"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="处理状态:"
android:layout_weight=".3"
android:gravity="left"
android:text="处理区域(部门)"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_handle_dept"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:paddingLeft="10dp"
android:textColor="@color/black"
android:textSize="12sp"
tools:text="处理人" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shp_bottom_line"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".3"
android:gravity="left"
android:text="处理状态"
android:textColor="@color/black"
android:textSize="12sp" />
@ -217,16 +244,16 @@
android:id="@+id/ll_handle_summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/shp_bottom_line"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="说明:"
android:layout_weight=".3"
android:gravity="left"
android:text="说明"
android:textColor="@color/black"
android:textSize="12sp" />

View File

@ -12,7 +12,8 @@
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/ic_nofify_point_red"
android:visibility="gone" />
android:visibility="gone"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/ll_content"
@ -83,6 +84,21 @@
</LinearLayout>
<Button
android:id="@+id/btn_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@drawable/sel_btn_submit_no_size"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingLeft="5dp"
android:paddingTop="3dp"
android:paddingRight="5dp"
android:paddingBottom="3dp"
android:text="任务完成"
android:textColor="@color/white" />
</LinearLayout>
@ -124,9 +140,12 @@
android:layout_marginLeft="15dp"
android:background="@drawable/shp_status_red"
android:gravity="center"
android:padding="5dp"
tools:text="任务状态"
tools:textColor="@color/red_ff" />
android:paddingLeft="5dp"
android:paddingTop="1dp"
android:paddingRight="5dp"
android:paddingBottom="1dp"
android:textColor="@color/red_ff"
tools:text="任务状态" />
</LinearLayout>
</RelativeLayout>

View File

@ -4,36 +4,161 @@
package="com.tengshisoft.gridmodule">
<application>
<activity android:name=".incident.activitys.building.CommunityDescEditActivity"></activity>
<activity android:name=".incident.activitys.building.CommunityDescAddActivity" />
<activity android:name=".incident.activitys.building.CommunityAreaDescEditActivity" />
<activity android:name=".incident.activitys.building.CommunityAreaDescAddActivity" />
<activity android:name=".incident.activitys.building.CommunityAreaEditActivity" />
<activity android:name=".incident.activitys.building.CommunityAreaDetailActivity" />
<activity android:name=".incident.activitys.building.CommunityAreaAddActivity" />
<activity android:name=".incident.activitys.building.CommunityAreaListActivity" />
<activity android:name=".incident.activitys.patrols.KeyRoadCaseDetailActivity" />
<activity android:name=".incident.activitys.patrols.KeyRoadCaseEditActivity" />
<activity android:name=".incident.activitys.patrols.KeyRoadCaseAddActivity" />
<activity android:name=".incident.activitys.patrols.KeyRoadCaseListActivity" />
<activity android:name=".incident.activitys.security.KeyRoadEditActivity" />
<activity android:name=".incident.activitys.security.KeyRoadDetailActivity" />
<activity android:name=".incident.activitys.security.KeyRoadAddActivity" />
<activity android:name=".incident.activitys.security.KeyRoadListActivity" />
<activity android:name=".incident.activitys.patrols.EnterprisePatrolEditActivity" />
<activity android:name=".incident.activitys.patrols.EnterprisePatrolDetailActivity" />
<activity android:name=".incident.activitys.patrols.EnterprisePatrolAddActivity" />
<activity android:name=".incident.activitys.patrols.EnterprisePatrolListActivity" />
<activity android:name=".incident.activitys.patrols.KeyPlacePatrolDetailActivity" />
<activity android:name=".incident.activitys.patrols.KeyPlacePatrolEditActivity" />
<activity android:name=".incident.activitys.patrols.KeyPlacePatrolAddActivity" />
<activity android:name=".incident.activitys.patrols.KeyPlacePatrolListActivity" />
<activity android:name=".incident.activitys.security.KeyPlaceDetailActivity" />
<activity android:name=".incident.activitys.security.KeyPlaceEditActivity" />
<activity android:name=".incident.activitys.security.KeyPlaceAddActivity" />
<activity android:name=".incident.activitys.tasks.TaskBusinessListActivity" />
<activity android:name=".incident.activitys.security.KeyPlaceListActivity" />
<activity android:name=".incident.activitys.cars.CarPersonEditActivity" />
<activity
android:name=".incident.activitys.tasks.InspectionPatrolActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityDescEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityDescAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityAreaDescEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityAreaDescAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityAreaEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityAreaDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityAreaAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.building.CommunityAreaListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyRoadCaseDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyRoadCaseEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyRoadCaseAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyRoadCaseListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyRoadEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyRoadDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyRoadAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyRoadListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.EnterprisePatrolEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.EnterprisePatrolDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.EnterprisePatrolAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.EnterprisePatrolListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyPlacePatrolDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyPlacePatrolEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyPlacePatrolAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.patrols.KeyPlacePatrolListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyPlaceDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyPlaceEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyPlaceAddActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.tasks.TaskBusinessListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.security.KeyPlaceListActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.cars.CarPersonEditActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name=".incident.activitys.cars.CarManageDetailActivity"
android:launchMode="singleTop"

View File

@ -25,6 +25,10 @@ import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.DistanceUtil;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.view.TimePickerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.bumptech.glide.request.RequestOptions;
import com.gyf.immersionbar.ImmersionBar;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.adapters.LocusStepAdapter;
import com.tengshisoft.commonmodule.beans.DrawMapLineBean;
@ -35,9 +39,12 @@ import com.tengshisoft.gridmodule.R;
import com.tengshisoft.gridmodule.R2;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.constant.TimeConstants;
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.views.AfxTextView;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.LogUtils;
import com.tenlionsoft.baselib.utils.TimeUtils;
import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.baselib.utils.UserLgUtils;
@ -97,8 +104,10 @@ public class WorkLocusActivity extends BaseActivity {
CardView mCvCard;
@BindView(R2.id.rlv_step)
RecyclerView mRlvStep;
@BindView(R2.id.tv_start_date)
TextView mTvStartDate;
@BindView(R2.id.btn_time)
Button mBtnTime;
@BindView(R2.id.btn_back)
Button mBtnBack;
private Unbinder mBind;
@ -115,27 +124,18 @@ public class WorkLocusActivity extends BaseActivity {
return R.layout.activity_work_locus;
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
}
@Override
protected void doSearchByTitle() {
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
ImmersionBar.with(mActivity)
.statusBarColor(R.color.transparent)
.statusBarDarkFont(true)
.init();
mTvBaseTitle.setText("工作轨迹");
refreshView(STATE_LOAD_SUCCESS);
mTvStartDate.setOnClickListener(v -> showPickerView());
mRlTitleBar.setVisibility(View.GONE);
mBtnTime.setOnClickListener(v -> showPickerView());
mNowDate = TimeUtils.getCurrentDate();
initMap();
initViews();
@ -161,12 +161,20 @@ public class WorkLocusActivity extends BaseActivity {
setMapType(id);
}
});
mTvStartDate.setText(TimeUtils.getCurrentDate());
mBtnTime.setText(mNowDate);
mBtnBack.setOnClickListener(v -> finish());
setCurrentShowView();
List<LocusTextBean> mStep = new ArrayList<>();
mAdapter = new LocusStepAdapter(this, mStep);
mRlvStep.setLayoutManager(new LinearLayoutManager(this));
mRlvStep.setAdapter(mAdapter);
mTvUserName.setText(UserLgUtils.getName());
Glide.with(mActivity)
.load(BaseUrlApi.BASE_IMG_URL + UserLgUtils.getAvatar())
.apply(RequestOptions.bitmapTransform(new CircleCrop())
.error(R.drawable.ic_user_default)
.placeholder(R.drawable.ic_user_default))
.into(mIvUserIcon);
getLocusList();
}
@ -231,7 +239,7 @@ public class WorkLocusActivity extends BaseActivity {
ToastUtils.show("请选择当前时间之前的日期.");
} else {
mNowDate = TimeUtils.dateToString(date);
mTvStartDate.setText(mNowDate);
mBtnTime.setText(mNowDate);
getLocusList();
}
})
@ -691,4 +699,19 @@ public class WorkLocusActivity extends BaseActivity {
}
});
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
}
@Override
protected void doSearchByTitle() {
}
}

View File

@ -22,7 +22,7 @@ import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.view.TimePickerView;
import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.beans.SavePatrolKeyAreaBean;
import com.tengshisoft.commonmodule.beans.SavePatrolKeyPlaceBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
import com.tengshisoft.commonmodule.nets.GridApis;
import com.tengshisoft.gridmodule.R;
@ -198,7 +198,7 @@ public class KeyPlacePatrolAddActivity extends BaseActivity {
dialog.show();
RetrofitManager.getInstance()
.create(GridApis.class)
.doSaveKeyAreaPatrol(body, UserLgUtils.getToken())
.doSaveKeyPlacePatrol(body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@ -250,8 +250,8 @@ public class KeyPlacePatrolAddActivity extends BaseActivity {
}
private RequestBody buildParams() {
SavePatrolKeyAreaBean bean = new SavePatrolKeyAreaBean();
bean.setKeyAreaCheckRenovationId(mAreaId);
SavePatrolKeyPlaceBean bean = new SavePatrolKeyPlaceBean();
bean.setKeyPlaceId(mAreaId);
String time = mTvTime.getText().toString().trim();
bean.setPatrolTime(time);
String content = mEtContent.getText().toString().trim();

View File

@ -100,7 +100,7 @@ public class KeyPlacePatrolDetailActivity extends BaseActivity {
private void doEdit() {
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_EDIT)
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_EDIT)
.withString("id", mId)
.withString("areaId", mAreaId)
.navigation(mActivity, 12);
@ -116,7 +116,7 @@ public class KeyPlacePatrolDetailActivity extends BaseActivity {
dialog1.show();
RetrofitManager.getInstance()
.create(GridApis.class)
.doDelKeyAreaPatrol(mId, UserLgUtils.getToken())
.doDelKeyPlacePatrol(mId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@ -151,7 +151,7 @@ public class KeyPlacePatrolDetailActivity extends BaseActivity {
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12) {
if (resultCode == 13) {

View File

@ -3,9 +3,11 @@ package com.tengshisoft.gridmodule.incident.activitys.patrols;
import android.app.ProgressDialog;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Color;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.Html;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
@ -17,11 +19,12 @@ import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.view.TimePickerView;
import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.beans.PatrolKeyPlaceDetailBean;
import com.tengshisoft.commonmodule.beans.PatrolPenalDetailBean;
import com.tengshisoft.commonmodule.beans.SavePatrolPenalBean;
import com.tengshisoft.commonmodule.beans.SavePatrolKeyPlaceBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
import com.tengshisoft.commonmodule.nets.GridApis;
import com.tengshisoft.gridmodule.R;
@ -37,6 +40,7 @@ import com.tenlionsoft.baselib.core.widget.base.AddPhotoAdapter;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.views.ButtomDialogView;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.TimeUtils;
import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.baselib.utils.UserLgUtils;
@ -156,9 +160,9 @@ public class KeyPlacePatrolEditActivity extends BaseActivity {
private void setDataToView() {
refreshView(STATE_LOAD_SUCCESS);
mTvTime.setText(mDetailBean.getPatrolTime());
mEtContent.setText(mDetailBean.getPatrolContent());
mEtResult.setText(mDetailBean.getPatrolResult());
mEtRemark.setText(mDetailBean.getRemake());
mEtContent.setText(Html.fromHtml(mDetailBean.getPatrolContent()));
mEtResult.setText(Html.fromHtml(mDetailBean.getPatrolResult()));
mEtRemark.setText(Html.fromHtml(mDetailBean.getRemake()));
//图片
if (!TextUtils.isEmpty(mDetailBean.getPatrolPhoto())) {
mPhotos.clear();
@ -237,10 +241,26 @@ public class KeyPlacePatrolEditActivity extends BaseActivity {
.navigation();
}
});
mTvTime.setOnClickListener(v -> onShowTime());
mBtnSubmit.setOnClickListener(v -> doSubmit());
getDetailData();
}
/**
* 时间选择
*/
private void onShowTime() {
hideSoftKeyboard();
TimePickerView mTimePickerView = new TimePickerBuilder(mActivity, (date, v) -> mTvTime.setText(TimeUtils.date2String(date)))
.setTitleText("请选时间")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setType(new boolean[]{true, true, true, true, true, true})
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mTimePickerView.show();
}
private void doSubmit() {
if (checkParams()) {
RequestBody body = buildParams();
@ -248,7 +268,7 @@ public class KeyPlacePatrolEditActivity extends BaseActivity {
dialog.show();
RetrofitManager.getInstance()
.create(GridApis.class)
.doEditPenalPatrol(mId, body, UserLgUtils.getToken())
.doEditKeyPlacePatrol(mId, body, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@ -300,8 +320,8 @@ public class KeyPlacePatrolEditActivity extends BaseActivity {
}
private RequestBody buildParams() {
SavePatrolPenalBean bean = new SavePatrolPenalBean();
bean.setHomicideId(mPenalId);
SavePatrolKeyPlaceBean bean = new SavePatrolKeyPlaceBean();
bean.setKeyPlaceId(mPenalId);
String time = mTvTime.getText().toString().trim();
bean.setPatrolTime(time);
String content = mEtContent.getText().toString().trim();

View File

@ -1,19 +1,6 @@
package com.tengshisoft.gridmodule.incident.activitys.patrols;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import android.content.Intent;
import android.text.Html;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
@ -24,11 +11,8 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.hjq.toast.ToastUtils;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.tengshisoft.commonmodule.adapters.PatrolKeyAreaListAdapter;
import com.tengshisoft.commonmodule.adapters.PatrolKeyPlaceListAdapter;
import com.tengshisoft.commonmodule.beans.KeyAreaDetailBean;
import com.tengshisoft.commonmodule.beans.KeyPlaceDetailBean;
import com.tengshisoft.commonmodule.beans.PatrolKeyAreaListBean;
import com.tengshisoft.commonmodule.beans.PatrolKeyPlaceListBean;
import com.tengshisoft.commonmodule.nets.GridApis;
import com.tengshisoft.gridmodule.R;
@ -42,6 +26,18 @@ import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
/**
* 作者: Adam
* 日期: 2021年11月10日14:20:49
@ -50,8 +46,24 @@ import java.util.List;
*/
@Route(path = PathConfig.PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_LIST)
public class KeyPlacePatrolListActivity extends BaseActivity {
@BindView(R2.id.srl_content)
SmartRefreshLayout mSrlContent;
@BindView(R2.id.tv_name)
TextView mTvName;
@BindView(R2.id.tv_type)
TextView mTvType;
@BindView(R2.id.tv_area)
TextView mTvArea;
@BindView(R2.id.tv_address)
TextView mTvAddress;
@BindView(R2.id.tv_grid)
TextView mTvGrid;
@BindView(R2.id.tv_master)
TextView mTvMaster;
@BindView(R2.id.tv_master_phone)
TextView mTvMasterPhone;
@BindView(R2.id.tv_phone)
TextView mTvPhone;
@BindView(R2.id.rlv_buildings)
RecyclerView mRlvBuildings;
@BindView(R2.id.pb_loading)
@ -60,23 +72,8 @@ public class KeyPlacePatrolListActivity extends BaseActivity {
ImageView mIvEmptyData;
@BindView(R2.id.tv_error_hint)
TextView mTvErrorHint;
@BindView(R2.id.tv_name)
TextView mTvName;
@BindView(R2.id.tv_extrude)
TextView mTvExtrude;
@BindView(R2.id.tv_area_type)
TextView mTvAreaType;
@BindView(R2.id.tv_area_scope)
TextView mTvAreaScope;
@BindView(R2.id.tv_leader_dept)
TextView mTvLeaderDept;
@BindView(R2.id.tv_leader)
TextView mTvLeader;
@BindView(R2.id.tv_leader_phone)
TextView mTvLeaderPhone;
@BindView(R2.id.tv_into_dept)
TextView mTvIntoDept;
@BindView(R2.id.srl_content)
SmartRefreshLayout mSrlContent;
private Unbinder mBind;
private int mCurrentPage = 1;//当前页数
private List<PatrolKeyPlaceListBean.RowsBean> mDatas = new ArrayList<>();
@ -108,9 +105,7 @@ public class KeyPlacePatrolListActivity extends BaseActivity {
mRlvBuildings.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvBuildings.setAdapter(mAdapter);
mAdapter.addOnItemClickListener(this::showDetail);
refreshView(STATE_LOAD_SUCCESS);
setStateView(13);
getPatrolList(1);
getKeyPlaceDetail();
}
@ -148,6 +143,7 @@ public class KeyPlacePatrolListActivity extends BaseActivity {
@Override
public void onError(@NonNull Throwable e) {
refreshView(STATE_LOAD_ERROR);
ExceptionHandler.handleException(e);
}
@ -159,29 +155,30 @@ public class KeyPlacePatrolListActivity extends BaseActivity {
}
/**
* TODO 回显重点区域数据
* 回显重点区域数据
*/
private void setAreaDataToView() {
// mTvName.setText(mAreaDetailBean.getSecurityArea());
// mTvExtrude.setText(mAreaDetailBean.getSecurityQuestionName());
// mTvAreaType.setText(mAreaDetailBean.getInvolveAreaTypeName());
// mTvAreaScope.setText(Html.fromHtml(mAreaDetailBean.getInvolveAreaRange()));
// mTvLeaderDept.setText(Html.fromHtml(mAreaDetailBean.getRenovationLeadDept()));
// mTvLeader.setText(mAreaDetailBean.getLeadDeptMan());
// mTvLeaderPhone.setText(mAreaDetailBean.getLeadDeptPhone());
// mTvIntoDept.setText(Html.fromHtml(mAreaDetailBean.getRenovationJoinDept()));
refreshView(STATE_LOAD_SUCCESS);
mTvName.setText(mAreaDetailBean.getPlaceName());
mTvType.setText(mAreaDetailBean.getPlaceTypeName() + "/" + mAreaDetailBean.getDetailTypeName());
mTvArea.setText(mAreaDetailBean.getAreaName());
mTvAddress.setText(mAreaDetailBean.getAddress());
mTvGrid.setText(mAreaDetailBean.getGridName());
mTvMaster.setText(mAreaDetailBean.getLinkMan());
mTvMasterPhone.setText(mAreaDetailBean.getLinkPhone());
mTvPhone.setText(mAreaDetailBean.getPhone());
getPatrolList(1);
}
/**
* TODO 显示详情
* 显示详情
*/
private void showDetail(PatrolKeyPlaceListBean.RowsBean b) {
// ARouter.getInstance()
// .build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_AREA_DETAIL)
// .withString("id", b.getKeyAreaCheckRenovationPatrolId())
// .withString("areaId", b.getKeyAreaCheckRenovationId())
// .navigation(mActivity, 12);
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PATROL_KEY_PLACE_DETAIL)
.withString("id", b.getKeyPlacePatrolId())
.withString("placeId", b.getKeyPlaceId())
.navigation(mActivity, 12);
}
@Override

View File

@ -74,7 +74,7 @@ public class CensusExpandableMainActivity extends BaseActivity {
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("户籍人口");
mTvBaseTitle.setText("人口");
refreshView(STATE_LOAD_SUCCESS);
mTvBase.setOnClickListener(v -> startPage(PathConfig.PATH_MODULE_GRID_ACTIVITY_POPULACE_BASE_LIST));//基础信息
mTvRegister.setOnClickListener(v -> startPage(PathConfig.PATH_MODULE_GRID_ACTIVITY_POPULACE_REGISTER_LIST));//户籍信息

View File

@ -72,7 +72,7 @@ public class KeyPlaceListActivity extends BaseActivity {
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("护路护线");
mTvBaseTitle.setText("重点场所");
mTvPublish.setVisibility(View.VISIBLE);
mIvAppSearchIcon.setVisibility(View.VISIBLE);
mTvPublish.setText("新增");

View File

@ -77,7 +77,7 @@ public class KeyRoadListActivity extends BaseActivity {
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("重点场所");
mTvBaseTitle.setText("护路护线");
mTvPublish.setVisibility(View.VISIBLE);
mIvAppSearchIcon.setVisibility(View.VISIBLE);
mTvPublish.setText("新增");

View File

@ -65,6 +65,10 @@ public class PenalDetailActivity extends BaseActivity {
Button mBtnDel;
@BindView(R2.id.tv_grid)
TextView mTvGrid;
@BindView(R2.id.btn_suspect)
Button mBtnSuspect;
@BindView(R2.id.btn_victim)
Button mBtnVictim;
private Unbinder mBind;
private String mId;
private PenalDetailBean mDetailBean;
@ -74,20 +78,6 @@ public class PenalDetailActivity extends BaseActivity {
return R.layout.activity_penal_detail;
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
}
@Override
protected void doSearchByTitle() {
}
@Override
public void initData() {
@ -97,6 +87,28 @@ public class PenalDetailActivity extends BaseActivity {
getDetailById();
mBtnDel.setOnClickListener(v -> doDel());
mBtnEdit.setOnClickListener(v -> doEdit());
mBtnSuspect.setOnClickListener(v -> doSuspects());
mBtnVictim.setOnClickListener(v -> doShowVictim());
}
/**
* 显示嫌疑人列表
*/
private void doSuspects() {
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_LIST)
.withString("caseId", mId)
.navigation();
}
/**
* 显示受害人列表
*/
private void doShowVictim() {
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_LIST)
.withString("caseId", mId)
.navigation();
}
private void doEdit() {
@ -107,7 +119,7 @@ public class PenalDetailActivity extends BaseActivity {
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12) {
if (resultCode == 13) {
@ -206,4 +218,19 @@ public class PenalDetailActivity extends BaseActivity {
mTvDesc.setText(Html.fromHtml(mDetailBean.getBriefInformation()));
mTvGrid.setText(mDetailBean.getGridName());
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
}
@Override
protected void doSearchByTitle() {
}
}

View File

@ -64,7 +64,7 @@ public class PenalSuspicionListActivity extends BaseActivity {
private List<PenalSuspicionListBean.RowsBean> mDatas = new ArrayList<>();
private PenalSuspicionListAdapter mAdapter;
private String mKeywords = "";
private String mCaseId;
@Override
protected int setLayoutId() {
@ -95,6 +95,7 @@ public class PenalSuspicionListActivity extends BaseActivity {
mTvPublish.setVisibility(View.VISIBLE);
mIvAppSearchIcon.setVisibility(View.VISIBLE);
mTvPublish.setText("录入");
mCaseId = getIntent().getStringExtra("caseId");
mTvPublish.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_ADD)
.navigation(mActivity, 12));
@ -138,7 +139,7 @@ public class PenalSuspicionListActivity extends BaseActivity {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(GridApis.class)
.getPenalSuspicionList(mKeywords, mCurrentPage + "", UserLgUtils.getToken())
.getPenalSuspicionList(mKeywords, mCaseId, mCurrentPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<PenalSuspicionListBean>() {

View File

@ -65,6 +65,7 @@ public class PenalVictimListActivity extends BaseActivity {
private List<VictimListBean.RowsBean> mDatas = new ArrayList<>();
private PenalVictimListAdapter mAdapter;
private String mKeywords = "";
private String mCaseId;
@Override
@ -95,6 +96,7 @@ public class PenalVictimListActivity extends BaseActivity {
mTvPublish.setVisibility(View.VISIBLE);
mIvAppSearchIcon.setVisibility(View.VISIBLE);
mTvPublish.setText("录入");
mCaseId = getIntent().getStringExtra("caseId");
mTvPublish.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_ADD)
.navigation(mActivity, 12));
@ -138,7 +140,7 @@ public class PenalVictimListActivity extends BaseActivity {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(GridApis.class)
.getPenalVictimList(mKeywords, mCurrentPage + "", UserLgUtils.getToken())
.getPenalVictimList(mKeywords, mCaseId, mCurrentPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<VictimListBean>() {

View File

@ -0,0 +1,134 @@
package com.tengshisoft.gridmodule.incident.activitys.tasks;
import android.content.Intent;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.tengshisoft.gridmodule.R;
import com.tengshisoft.gridmodule.R2;
import com.tengshisoft.gridmodule.incident.activitys.tasks.fragments.TaskFragment;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.beans.ConditionBean;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.base.BaseFragment;
import com.tenlionsoft.baselib.core.widget.base.BaseViewPage2Adapter;
import com.tenlionsoft.baselib.core.widget.base.ViewPageNavigatorAdapter;
import com.tenlionsoft.baselib.core.widget.views.ConditionPopup;
import com.tenlionsoft.baselib.utils.UIUtil;
import net.lucode.hackware.magicindicator.MagicIndicator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import androidx.annotation.Nullable;
import androidx.viewpager2.widget.ViewPager2;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
/**
* 作者: Adam
* 日期: 2021年10月20日10:08:26
* 邮箱: itgaojian@163.com
* 描述: 巡查巡检
*/
@Route(path = PathConfig.PATH_MODULE_GRID_ACTIVITY_INSPECTION_PATROL)
public class InspectionPatrolActivity extends BaseActivity {
@BindView(R2.id.mi_tabs)
MagicIndicator mMiTabs;
@BindView(R2.id.vp_content)
ViewPager2 mVpContent;
private String mSelCondition;
private Unbinder mBind;
private List<BaseFragment> mFragments;
private List<String> mTitles = Arrays.asList("待办巡查", "督办巡查", "预警巡查", "已办巡查");
@Override
protected int setLayoutId() {
return R.layout.activity_inspection_patrol;
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("巡查巡检");
refreshView(STATE_LOAD_SUCCESS);
initViews();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12) {
if (resultCode == 13) {
int currentItem = mVpContent.getCurrentItem();
if (currentItem == 0 || currentItem == 1 || currentItem == 2) {
TaskFragment fragment = (TaskFragment) mFragments.get(currentItem);
fragment.doRefresh();
}
}
}
}
/**
* 初始化视图
*/
private void initViews() {
mFragments = new ArrayList<>();
BaseFragment waitFragment = (BaseFragment) ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_FRAGMENT_TASK)
.withString("title", "待办任务")
.withString("state", "未完成")
.navigation();
BaseFragment superviseFragment = (BaseFragment) ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_FRAGMENT_TASK)
.withString("title", "督办任务")
.withString("isSupervision", "1")
.navigation();
BaseFragment warnFragment = (BaseFragment) ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_FRAGMENT_TASK)
.withString("title", "预警任务")
.withString("isWarning", "1")
.navigation();
BaseFragment doneFragment = (BaseFragment) ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_FRAGMENT_TASK)
.withString("title", "已办任务")
.withString("state", "完成")
.navigation();
mFragments.add(waitFragment);
mFragments.add(superviseFragment);
mFragments.add(warnFragment);
mFragments.add(doneFragment);
mVpContent.setAdapter(new BaseViewPage2Adapter(this, mFragments));
CommonNavigator commonNavigator = new CommonNavigator(this);
commonNavigator.setAdapter(new ViewPageNavigatorAdapter(this, mTitles, mVpContent));
commonNavigator.setAdjustMode(true);
mMiTabs.setNavigator(commonNavigator);
UIUtil.bindViewPager2(mMiTabs, mVpContent, null);
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
}
@Override
protected void doSearchByTitle() {
}
}

View File

@ -1,17 +1,5 @@
package com.tengshisoft.gridmodule.incident.activitys.tasks;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
@ -37,6 +25,18 @@ import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
/**
* 作者: Adam
* 日期: 2021年11月10日10:16:49
@ -145,16 +145,12 @@ public class TaskBusinessListActivity extends BaseActivity {
}
}
/**
* 获取小区列表
*
* @param currentPage
*/
private void getTaskBusinessList(int currentPage) {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(GridApis.class)
.getTaskBusinessList(mTaskId, mUserIdx + "", mBusiness, mKeywords, mCurrentPage + "", UserLgUtils.getToken())
.getTaskBusinessList(mTaskId, mBusiness, mKeywords, mCurrentPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<TaskBusinessListBean>() {

View File

@ -59,20 +59,6 @@ public class TaskManageActivity extends BaseActivity {
return R.layout.activity_task_manage;
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
}
@Override
protected void doSearchByTitle() {
}
@Override
public void initData() {
@ -156,4 +142,18 @@ public class TaskManageActivity extends BaseActivity {
popup.showPopupWindow(mTvCondition);
}
@Override
protected void doShowOptions() {
}
@Override
protected void clearSearch() {
}
@Override
protected void doSearchByTitle() {
}
}

View File

@ -10,6 +10,7 @@ import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.tengshisoft.commonmodule.adapters.TaskListAdapter;
import com.tengshisoft.commonmodule.beans.SaveGetTaskBean;
import com.tengshisoft.commonmodule.beans.SaveTaskStateBean;
import com.tengshisoft.commonmodule.beans.TaskListBean;
import com.tengshisoft.commonmodule.nets.GridApis;
import com.tengshisoft.gridmodule.R;
@ -17,6 +18,7 @@ import com.tengshisoft.gridmodule.R2;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.beans.BaseSuccessBean;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
import com.tenlionsoft.baselib.core.widget.base.BaseFragment;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.LogUtils;
@ -72,9 +74,12 @@ public class TaskFragment extends BaseFragment {
mState = getArguments().getString("state");
isWarning = getArguments().getString("isWarning");
isSupervision = getArguments().getString("isSupervision");
String taskType = getArguments().getString("taskType");//巡查任务 普通任务 中文
mDatas = new ArrayList<>();
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity));
mAdapter = new TaskListAdapter(mActivity, mDatas);
mAdapter.addOnSubmitTaskListener((bean, pos) -> doSaveState(bean.getReceiverUserId()));
mRlvContent.setAdapter(mAdapter);
mCurrentPage = 1;
getTaskList(mCurrentPage, mType);
@ -105,6 +110,48 @@ public class TaskFragment extends BaseFragment {
}
}
/**
* 保存任务状态
*/
private void doSaveState(String id) {
SaveTaskStateBean bean = new SaveTaskStateBean();
bean.setExecuteStatus("完成");
bean.setIsReceive("1");
ProgressDialog dialog = UIUtil.initDialog(mActivity, "保存中...");
dialog.show();
Gson gson = new Gson();
String obj = gson.toJson(bean);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(GridApis.class)
.doSaveTaskState(id, requestBody, UserLgUtils.getToken())
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseSuccessBean baseSuccessBean) {
dialog.dismiss();
doRefresh();
ToastUtils.show("保存成功");
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 显示领取任务弹框
*/

View File

@ -0,0 +1,21 @@
<?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"
android:background="@color/gray_bg"
android:orientation="vertical">
<net.lucode.hackware.magicindicator.MagicIndicator
android:id="@+id/mi_tabs"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/shp_bottom_shadow_white_no_radius" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

View File

@ -20,7 +20,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:paddingBottom="8dp">
<RelativeLayout
android:layout_width="match_parent"

View File

@ -30,7 +30,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:paddingBottom="8dp">
<RelativeLayout
android:layout_width="match_parent"

View File

@ -30,7 +30,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:paddingBottom="8dp">
<TextView
android:id="@+id/tv_issue_base_info"

View File

@ -61,7 +61,7 @@
<TextView
style="@style/item_title"
android:text="治安重点地区" />
android:text="场所名称" />
<View style="@style/vertical_line" />
@ -78,12 +78,12 @@
<TextView
style="@style/item_title"
android:text="治安突出问题" />
android:text="场所类型" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_extrude"
android:id="@+id/tv_type"
style="@style/item_content" />
</LinearLayout>
@ -95,12 +95,12 @@
<TextView
style="@style/item_title"
android:text="涉及区域类型" />
android:text="所在地区" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_area_type"
android:id="@+id/tv_area"
style="@style/item_content" />
</LinearLayout>
@ -112,12 +112,12 @@
<TextView
style="@style/item_title"
android:text="涉及区域范围" />
android:text="详细地址" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_area_scope"
android:id="@+id/tv_address"
style="@style/item_content" />
</LinearLayout>
@ -129,12 +129,12 @@
<TextView
style="@style/item_title"
android:text="整治牵头单位" />
android:text="所在网格" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_leader_dept"
android:id="@+id/tv_grid"
style="@style/item_content" />
</LinearLayout>
@ -146,12 +146,29 @@
<TextView
style="@style/item_title"
android:text="联系人" />
android:text="负责人" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_leader"
android:id="@+id/tv_master"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="负责人电话" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_master_phone"
style="@style/item_content" />
</LinearLayout>
@ -168,26 +185,10 @@
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_leader_phone"
android:id="@+id/tv_phone"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="整治参与单位" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_into_dept"
style="@style/item_content" />
</LinearLayout>
</com.tenlionsoft.baselib.core.widget.views.ExpandableLinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:orientation="vertical">
@ -30,7 +29,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:paddingBottom="8dp">
<RelativeLayout
android:layout_width="match_parent"
@ -214,6 +214,42 @@
android:minLines="3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:gravity="right"
android:orientation="horizontal">
<Button
android:id="@+id/btn_suspect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sel_btn_blue_gray_re_5"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingLeft="3dp"
android:paddingTop="5dp"
android:paddingRight="3dp"
android:paddingBottom="5dp"
android:text="涉及嫌疑人"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_victim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="@drawable/sel_btn_red_gray_re_5"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingLeft="3dp"
android:paddingTop="5dp"
android:paddingRight="3dp"
android:paddingBottom="5dp"
android:text="涉及受害人"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>

View File

@ -8,7 +8,6 @@
android:orientation="vertical"
tools:context=".incident.activitys.building.CommunityManageActivity">
<include layout="@layout/item_base_search" />
<RelativeLayout
android:layout_width="match_parent"

View File

@ -8,7 +8,6 @@
android:orientation="vertical"
tools:context=".incident.activitys.building.CommunityManageActivity">
<include layout="@layout/item_base_search" />
<RelativeLayout
android:layout_width="match_parent"

View File

@ -85,11 +85,11 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginTop="45dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
app:cardCornerRadius="10dp"
app:cardElevation="3dp"
app:cardCornerRadius="1dp"
app:cardElevation="2dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false"
app:contentPadding="5dp">
@ -100,69 +100,97 @@
android:layout_centerHorizontal="true"
android:background="@color/white"
android:gravity="center"
android:orientation="vertical">
<RadioGroup
android:id="@+id/rg_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sel_btn_submit_gray_left"
android:button="@null"
android:checked="true"
android:paddingLeft="40dp"
android:paddingTop="8dp"
android:paddingRight="40dp"
android:paddingBottom="8dp"
android:text="地图"
android:textColor="@drawable/sel_btn_text_white_black" />
<RadioButton
android:id="@+id/rb_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sel_btn_submit_gray_right"
android:button="@null"
android:paddingLeft="40dp"
android:paddingTop="8dp"
android:paddingRight="40dp"
android:paddingBottom="8dp"
android:text="文本"
android:textColor="@drawable/sel_btn_text_white_black" />
</RadioGroup>
android:orientation="vertical"
android:padding="5dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn_back"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerVertical="true"
android:background="@drawable/ic_arrow_left_gray"
android:scaleType="centerInside" />
<RadioGroup
android:id="@+id/rg_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sel_btn_submit_gray_left"
android:button="@null"
android:checked="true"
android:paddingLeft="40dp"
android:paddingTop="8dp"
android:paddingRight="40dp"
android:paddingBottom="8dp"
android:text="地图"
android:textColor="@drawable/sel_btn_text_white_black" />
<RadioButton
android:id="@+id/rb_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sel_btn_submit_gray_right"
android:button="@null"
android:paddingLeft="40dp"
android:paddingTop="8dp"
android:paddingRight="40dp"
android:paddingBottom="8dp"
android:text="文本"
android:textColor="@drawable/sel_btn_text_white_black" />
</RadioGroup>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@color/white"
android:orientation="horizontal"
android:padding="5dp">
<ImageView
android:id="@+id/iv_user_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:src="@drawable/ic_user_default" />
<LinearLayout
android:layout_width="42dp"
android:layout_height="42dp"
android:background="@drawable/shp_circle_main_theme"
android:gravity="center">
<ImageView
android:id="@+id/iv_user_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_user_default" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/iv_user_icon"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="16sp"
tools:text="当前登录人" />
<TextView
@ -171,43 +199,22 @@
android:layout_height="wrap_content"
tools:text="距片区距离:" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
<Button
android:id="@+id/btn_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="选择时间:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_start_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:clickable="true"
android:drawableRight="@drawable/ic_arrow_gray_down"
android:drawablePadding="2dp"
android:focusable="true"
android:gravity="center_vertical"
android:hint="请选择开始日期"
tools:text="2019年12月11日" />
android:background="@color/white"
android:drawableRight="@drawable/ic_arrow_down_circle_32"
android:minWidth="0dp"
android:minHeight="0dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
tools:text="2019-12-12" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -70,7 +70,6 @@ public class GridMainFragment extends BaseFragment {
"事件上报",
"事件处理",
"事件核查",
"归档事件",
"学校管理",
"知识库",
"部件采集",
@ -99,7 +98,6 @@ public class GridMainFragment extends BaseFragment {
R.drawable.ic_notify_ad,
R.drawable.ic_notify_ad,
R.drawable.ic_notify_ad,
R.drawable.ic_notify_ad,
R.drawable.ic_case_record,
R.drawable.ic_notify_ad,
R.drawable.ic_case_dispose,
@ -283,6 +281,11 @@ public class GridMainFragment extends BaseFragment {
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_GRID_STATISTICS)
.navigation();
break;
case "巡查巡检":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_INSPECTION_PATROL)
.navigation();
break;
default:
break;
}
@ -365,11 +368,13 @@ public class GridMainFragment extends BaseFragment {
case "命案犯罪嫌疑人":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PENAL_SUSPICION_LIST)
.withString("caseId", "")
.navigation();
break;
case "命案受害人":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_GRID_ACTIVITY_PENAL_VICTIM_LIST)
.withString("caseId", "")
.navigation();
break;
}

View File

@ -68,7 +68,6 @@ public class LeaderMainFragment extends BaseFragment {
private String[] mBtnStrs = new String[]{
"事件受理",
"事件派遣",
"延期审核",
"超时预警事件",
"督办消息",
"归档事件",
@ -78,7 +77,6 @@ public class LeaderMainFragment extends BaseFragment {
R.drawable.ic_case_record,
R.drawable.ic_case_dispose,
R.drawable.ic_case_dispose,
R.drawable.ic_case_dispose,
R.drawable.ic_work_path,
R.drawable.ic_work_path,
R.drawable.ic_address_list};
@ -126,14 +124,17 @@ public class LeaderMainFragment extends BaseFragment {
Observable<IncidentCenterTimeOutCount> timeOutCount = RetrofitManager.getInstance()
.create(CenterApis.class)
.getCenterIncidentTimeOutCount(UserLgUtils.getUserAreaCode(), UserLgUtils.getToken());
.getCenterIncidentTimeOutCount(UserLgUtils.getUserAreaCode(), UserLgUtils.getToken())
.compose(RxTransformer.getTransformer());
Observable<IncidentCenterEarlyWarnCount> earlyWarnCount = RetrofitManager.getInstance()
.create(CenterApis.class)
.getCenterIncidentEarlyWarnCount(UserLgUtils.getUserAreaCode(), UserLgUtils.getToken());
.getCenterIncidentEarlyWarnCount(UserLgUtils.getUserAreaCode(), UserLgUtils.getToken())
.compose(RxTransformer.getTransformer());
Observable<IncidentCountBean> incidentCount = RetrofitManager.getInstance()
.create(CenterApis.class)
.getIncidentCount(UserLgUtils.getToken());
.getIncidentCount(UserLgUtils.getToken())
.compose(RxTransformer.getTransformer());
Observable.mergeDelayError(timeOutCount, earlyWarnCount, incidentCount)
.compose(RxTransformer.getTransformer())
@ -245,11 +246,11 @@ public class LeaderMainFragment extends BaseFragment {
.build(PathConfig.PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DISPATCH_LIST)
.navigation();
break;
case "延期审核":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DEFER_EXAMINE)
.navigation();
break;
// case "延期审核":
// ARouter.getInstance()
// .build(PathConfig.PATH_MODULE_COMMAND_ACTIVITY_INCIDENT_DEFER_EXAMINE)
// .navigation();
// break;
case "归档事件":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_ARCHIVE_LIST)

View File

@ -21,6 +21,7 @@ import com.tenlionsoft.baselib.core.widget.base.BaseFragment;
import com.tenlionsoft.baselib.core.widget.base.FunctionNumAdapter;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import org.aspectj.lang.annotation.Around;
import org.jetbrains.annotations.NotNull;
import org.json.JSONArray;
import org.json.JSONObject;
@ -62,7 +63,7 @@ public class SupervisionMainFragment extends BaseFragment {
LinearLayout mLlPlan;
private Unbinder mBind;
private List<FuncBean> mFuncs = new ArrayList<>();
private String[] mBtnStrs = new String[]{"事件受理", "事件派遣", "超时预警事件", "事件核查", "督办消息", "归档事件", "知识库", "统计分析"};
private String[] mBtnStrs = new String[]{"事件受理", "事件派遣", "超时预警事件", "事件核查", "延期审核", "督办消息", "知识库", "统计分析"};
private int[] mBtnIds = new int[]{
R.drawable.ic_case_report,
R.drawable.ic_case_record,
@ -207,6 +208,8 @@ public class SupervisionMainFragment extends BaseFragment {
bean.setType("TASK_ALLOCATE_SURE");
} else if ("事件派遣".equals(mBtnStrs[i])) {
bean.setType("TASK_DISPATCH");
} else if ("延期审核".equals(mBtnStrs[i])) {
bean.setType("DELAY_APPLY");
} else if ("事件核查".equals(mBtnStrs[i])) {
bean.setType("TASK_DISPATCH_HANDLING_EXAMINE");
} else {
@ -251,6 +254,11 @@ public class SupervisionMainFragment extends BaseFragment {
.withString("type", "dept")
.navigation();
break;
case "延期审核":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_DEFER_EXAMINE)
.navigation();
break;
case "督办消息":
ARouter.getInstance()
.build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_INCIDENT_OVERSEE)

View File

@ -493,7 +493,7 @@ public class IncidentAcceptDeptDetailActivity extends BaseActivity {
private boolean checkParams() {
String content = mEtContent.getText().toString().trim();
if (TextUtils.isEmpty(content)) {
ToastUtils.show("请输入分拨描述");
ToastUtils.show("请输入受理描述");
return false;
}
return true;

View File

@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
@ -30,19 +31,21 @@ import com.hjq.toast.ToastUtils;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.tengshisoft.commonmodule.adapters.IncidentTagListAdapter;
import com.tengshisoft.commonmodule.beans.AcceptSaveBean;
import com.tengshisoft.commonmodule.beans.DispatchDetailBean;
import com.tengshisoft.commonmodule.beans.IncidentDetailBean;
import com.tengshisoft.commonmodule.beans.IncidentHandleDetailBean;
import com.tengshisoft.commonmodule.beans.SaveIncidentStateBean;
import com.tengshisoft.commonmodule.beans.SuccessBean;
import com.tengshisoft.commonmodule.beans.TagListBean;
import com.tengshisoft.commonmodule.nets.GridApis;
import com.tengshisoft.commonmodule.nets.DeptApis;
import com.tengshisoft.commonmodule.nets.GridApis;
import com.tengshisoft.supervisionmodule.R;
import com.tengshisoft.supervisionmodule.R2;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.beans.OperateBean;
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.base.BaseShowPhotoAdapter;
import com.tenlionsoft.baselib.core.widget.videorecord.MediaManager;
@ -132,6 +135,30 @@ public class IncidentCheckDeptDetailActivity extends BaseActivity {
Button mBtnRollBack;
@BindView(R2.id.rlv_tags)
RecyclerView mRlvTags;
@BindView(R2.id.tv_handler_user)
TextView mTvHandlerUser;
@BindView(R2.id.tv_handler_time)
TextView mTvHandlerTime;
@BindView(R2.id.tv_dispatch_user)
TextView mTvDispatchUser;
@BindView(R2.id.tv_dispatch_dept)
TextView mTvDispatchDept;
@BindView(R2.id.tv_dispatch_end)
TextView mTvDispatchEnd;
@BindView(R2.id.tv_dispatch_content)
TextView mTvDispatchContent;
@BindView(R2.id.tv_dispatch_time)
TextView mTvDispatchTime;
@BindView(R2.id.cv_dispatch)
CardView mCvDispatch;
@BindView(R2.id.tv_dispatch_username)
TextView mTvDispatchUsername;
@BindView(R2.id.tv_defer)
TextView mTvDefer;
@BindView(R2.id.tv_defer_time)
TextView mTvDeferTime;
@BindView(R2.id.ll_defer_time)
LinearLayout mLlDeferTime;
private Unbinder mBind;
private IncidentDetailBean mIncidentDetailBean;
private BaiduMap mBaiduMap;
@ -140,6 +167,7 @@ public class IncidentCheckDeptDetailActivity extends BaseActivity {
private String mTaskId;
private IncidentHandleDetailBean mHandleDetail;
private List<OperateBean> mOperates;
private DispatchDetailBean mDispatchInfo;
@Override
protected int setLayoutId() {
@ -530,15 +558,25 @@ public class IncidentCheckDeptDetailActivity extends BaseActivity {
return requestBody;
}
/**
* 获取详情
*/
private void getDetailData() {
Observable<IncidentHandleDetailBean> dispatch = RetrofitManager.getInstance().create(GridApis.class).getHandleDetailByHandleId(mTaskId, UserLgUtils.getToken());
Observable<IncidentDetailBean> incidentDetail = RetrofitManager.getInstance().create(GridApis.class).getIncidentDetailById(mReportId, UserLgUtils.getToken());
Observable.merge(dispatch, incidentDetail)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
Observable<DispatchDetailBean> dispatchInfo = RetrofitManager.getInstance()
.create(GridApis.class)
.getDispatchDetailById(mTaskId, UserLgUtils.getToken())
.compose(RxTransformer.getTransformer());
Observable<IncidentHandleDetailBean> handleInfo = RetrofitManager.getInstance()
.create(GridApis.class)
.getHandleDetailByHandleId(mTaskId, UserLgUtils.getToken())
.compose(RxTransformer.getTransformer());
Observable<IncidentDetailBean> incidentDetail = RetrofitManager.getInstance()
.create(GridApis.class)
.getIncidentDetailById(mReportId, UserLgUtils.getToken())
.compose(RxTransformer.getTransformer());
Observable.mergeDelayError(dispatchInfo, handleInfo, incidentDetail)
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<Object>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@ -548,11 +586,18 @@ public class IncidentCheckDeptDetailActivity extends BaseActivity {
@Override
public void onNext(@NonNull Object o) {
if (o instanceof IncidentHandleDetailBean) {
//处理详情
mHandleDetail = (IncidentHandleDetailBean) o;
setHandleDetail();
} else if (o instanceof IncidentDetailBean) {
//事件详情
mIncidentDetailBean = (IncidentDetailBean) o;
setIncidentDetailToView();
} else if (o instanceof DispatchDetailBean) {
//派遣信息
mDispatchInfo = (DispatchDetailBean) o;
setDispatchInfoToView();
}
refreshView(STATE_LOAD_SUCCESS);
}
@ -571,11 +616,38 @@ public class IncidentCheckDeptDetailActivity extends BaseActivity {
}
/**
* 回显派遣信息
*/
private void setDispatchInfoToView() {
if (mDispatchInfo != null && !TextUtils.isEmpty(mDispatchInfo.getCreator())) {
mCvDispatch.setVisibility(View.VISIBLE);
mTvDispatchContent.setText(Html.fromHtml(mDispatchInfo.getDispatchSummary()));
mTvDispatchUser.setText(mDispatchInfo.getCreatorName());
mTvDispatchDept.setText(mDispatchInfo.getDispatchUserDeptName());
mTvDispatchTime.setText(mDispatchInfo.getGmtCreate());
mTvDispatchEnd.setText(mDispatchInfo.getDispatchHandleTime());
mTvDispatchUsername.setText(mDispatchInfo.getDispatchUserName());
if (1 == mDispatchInfo.getIsAllowDelay()) {
mTvDefer.setText("");
mLlDeferTime.setVisibility(View.VISIBLE);
mTvDeferTime.setText(mDispatchInfo.getDelayExpireTime());
} else {
mTvDefer.setText("");
mLlDeferTime.setVisibility(View.GONE);
}
} else {
mCvDispatch.setVisibility(View.GONE);
}
}
/**
* 回显处理信息
*/
private void setHandleDetail() {
mTvHandleSummary.setText(mHandleDetail.getHandleSummary());
mTvHandlerUser.setText(mHandleDetail.getCreatorName());
mTvHandlerTime.setText(mHandleDetail.getGmtCreate());
if (!TextUtils.isEmpty(mHandleDetail.getHandlePhotos())) {
String[] doorIds = mHandleDetail.getHandlePhotos().split(",");
ArrayList<String> paths = new ArrayList<>();

View File

@ -32,7 +32,7 @@
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false"
tools:visibility="visible">
tools:visibility="gone">
<LinearLayout
@ -68,6 +68,7 @@
android:layout_alignParentRight="true"
android:layout_centerVertical="true" />
</RelativeLayout>
<LinearLayout style="@style/item_gray">
<ImageView
@ -326,7 +327,166 @@
</LinearLayout>
</androidx.cardview.widget.CardView>
<!--派遣信息-->
<androidx.cardview.widget.CardView
android:id="@+id/cv_dispatch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="8dp">
<TextView
style="@style/issue_report_title"
android:padding="8dp"
android:text="派遣信息"
android:textStyle="bold" />
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣人" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_user"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣用户" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_username"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣部门" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_dept"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="截止时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_end"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView
style="@style/item_title_vertical"
android:layout_marginLeft="8dp"
android:text="派遣描述" />
<TextView
android:id="@+id/tv_dispatch_content"
style="@style/item_content_ver"
android:layout_marginLeft="8dp"
tools:text="测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="派遣日期" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_dispatch_time"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="是否延期" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_defer"
style="@style/item_content" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_defer_time"
style="@style/item_gray">
<ImageView
style="@style/style_hint_star"
android:visibility="invisible" />
<TextView
style="@style/item_title"
android:text="延期时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_defer_time"
style="@style/item_content" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/cv_handle"
@ -349,6 +509,33 @@
android:text="处理详情"
android:textStyle="bold" />
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="处理人员" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_handler_user"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray">
<TextView
style="@style/item_title"
android:text="处理时间" />
<View style="@style/vertical_line" />
<TextView
android:id="@+id/tv_handler_time"
style="@style/item_content" />
</LinearLayout>
<LinearLayout style="@style/item_gray_vertical">
<TextView