土地违规案件处理;投入品列表

This commit is contained in:
tongchao 2025-06-17 14:54:48 +08:00
parent 881cd72134
commit 759287800a
23 changed files with 2602 additions and 29 deletions

View File

@ -198,6 +198,21 @@
android:configChanges="orientation|screenSize|keyboardHidden" android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity
android:name=".ui.land.AddLegalCaseActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.land.LegalCaseDetailActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.input.InputGoodsListActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false"
android:screenOrientation="portrait" />
<activity <activity
android:name=".ui.photoview.PhotoViewActivty" android:name=".ui.photoview.PhotoViewActivty"

View File

@ -65,11 +65,17 @@ public class Api {
public static final String INSPECTION_EDIT = BASE_HOST + "/land-resource/landInspection/update"; public static final String INSPECTION_EDIT = BASE_HOST + "/land-resource/landInspection/update";
public static final String INSPECTION_EDIT_STATUS = BASE_HOST + "/land-resource/landInspection/updateStatus"; public static final String INSPECTION_EDIT_STATUS = BASE_HOST + "/land-resource/landInspection/updateStatus";
public static final String GRID_MEMBER = BASE_HOST + "/land-resource/grid-member/current-user"; public static final String GRID_MEMBER = BASE_HOST + "/land-resource/grid-member/current-user";
public static final String LAND_ILLEGAL_TYPE = BASE_HOST + "/system/dict/data/type/land_inspection_illegal_type";
/* 土地违法 */ /* 土地违法 */
public static final String LAND_ILLEGAL_TYPE = BASE_HOST + "/system/dict/data/type/land_inspection_illegal_type";
public static final String ILLEGAL_ADD = BASE_HOST + "/land-resource/inspection/result/save"; public static final String ILLEGAL_ADD = BASE_HOST + "/land-resource/inspection/result/save";
public static final String ILLEGAL_DETAIL = BASE_HOST + "/land-resource/inspection/result/"; public static final String ILLEGAL_DETAIL = BASE_HOST + "/land-resource/inspection/result/";
public static final String ILLEGAL_LIST = BASE_HOST + "/land-resource/inspection/illegal/list"; public static final String ILLEGAL_LIST = BASE_HOST + "/land-resource/inspection/illegal/list";
public static final String ILLEGAL_CASE_WHO = BASE_HOST + "/system/dict/data/type/illegal_subject_type";
public static final String ILLEGAL_DOCUMENT_TYPE = BASE_HOST + "/system/dict/data/type/sys_law_document_type";
public static final String ILLEGAL_CASE_RESULT_TYPE = BASE_HOST + "/system/dict/data/type/sys_law_case_result";
public static final String ILLEGAL_CASE_ADD = BASE_HOST + "/land-resource/inspection/illegal/caseHandler";
public static final String ILLEGAL_CASE_DETAIL = BASE_HOST + "/land-resource/inspection/illegal/";
/* 投入品管理 */
public static final String INPUT_GOODS_LIST = BASE_HOST + "/inputGoods/app/inputPage";
} }

View File

@ -0,0 +1,75 @@
package com.tairui.gov_affairs_cloud.ui.input;
import java.util.ArrayList;
import java.util.List;
import com.tairui.gov_affairs_cloud.base.BaseActivity;
import com.tairui.gov_affairs_cloud.base.BaseFragment;
import com.tairui.gov_affairs_cloud.base.adapter.TabFragmentPagerAdapter;
import com.tairui.gov_affairs_cloud.databinding.ActivityInputGoodsListBinding;
import com.tairui.gov_affairs_cloud.ui.input.fragment.InputGoodsFragment;
import com.tairui.gov_affairs_cloud.util.SingleClickListener;
import android.os.Bundle;
import android.view.View;
public class InputGoodsListActivity extends BaseActivity<ActivityInputGoodsListBinding> {
private List<BaseFragment> fragments;
private ArrayList<String> mTitles = new ArrayList<>();
private TabFragmentPagerAdapter mPagerAdapter;
@Override
protected Class<ActivityInputGoodsListBinding> getBindingClass() {
return ActivityInputGoodsListBinding.class;
}
private void initFragment() {
fragments = new ArrayList<>();
//1农药 2肥料 3兽药 4种源 5农机
mTitles.add("全部");
fragments.add(InputGoodsFragment.newInstance(""));
mTitles.add("农药");
fragments.add(InputGoodsFragment.newInstance("1"));
mTitles.add("肥料");
fragments.add(InputGoodsFragment.newInstance("2"));
mTitles.add("兽药");
fragments.add(InputGoodsFragment.newInstance("3"));
mTitles.add("种源");
fragments.add(InputGoodsFragment.newInstance("4"));
mTitles.add("农机");
fragments.add(InputGoodsFragment.newInstance("5"));
mPagerAdapter = new TabFragmentPagerAdapter(getSupportFragmentManager(), mTitles, fragments);
binding.viewPager.setAdapter(mPagerAdapter);//给ViewPager设置适配器
binding.viewPager.setOffscreenPageLimit(fragments.size());
binding.tabBar.setViewPager(binding.viewPager);
binding.viewPager.setCurrentItem(0, false);
}
@Override
protected void onFindView(Bundle savedInstanceState) {
binding.viewPager.setIsCanScroll(true);
}
@Override
protected void onBindListener() {
binding.btnBack.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
finish();
}
});
binding.btnSearch.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
// IntentUtil.startActivity(mContext, LandSearchActivity.class);
}
});
}
@Override
protected void onApplyData() {
initFragment();
}
}

View File

@ -0,0 +1,182 @@
package com.tairui.gov_affairs_cloud.ui.input.entity;
import java.util.List;
import com.google.gson.annotations.SerializedName;
public class InputGoodsListEntity {
@SerializedName("total")
private Integer total;
@SerializedName("size")
private Integer size;
@SerializedName("current")
private Integer current;
@SerializedName("optimizeCountSql")
private Boolean optimizeCountSql;
@SerializedName("searchCount")
private Boolean searchCount;
@SerializedName("maxLimit")
private Object maxLimit;
@SerializedName("countId")
private Object countId;
@SerializedName("pages")
private Integer pages;
@SerializedName("records")
private List<RecordsEntity> records;
@SerializedName("orders")
private List<?> orders;
public Integer getTotal() {
return total;
}
public void setTotal(Integer total) {
this.total = total;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public Integer getCurrent() {
return current;
}
public void setCurrent(Integer current) {
this.current = current;
}
public Boolean isOptimizeCountSql() {
return optimizeCountSql;
}
public void setOptimizeCountSql(Boolean optimizeCountSql) {
this.optimizeCountSql = optimizeCountSql;
}
public Boolean isSearchCount() {
return searchCount;
}
public void setSearchCount(Boolean searchCount) {
this.searchCount = searchCount;
}
public Object getMaxLimit() {
return maxLimit;
}
public void setMaxLimit(Object maxLimit) {
this.maxLimit = maxLimit;
}
public Object getCountId() {
return countId;
}
public void setCountId(Object countId) {
this.countId = countId;
}
public Integer getPages() {
return pages;
}
public void setPages(Integer pages) {
this.pages = pages;
}
public List<RecordsEntity> getRecords() {
return records;
}
public void setRecords(List<RecordsEntity> records) {
this.records = records;
}
public List<?> getOrders() {
return orders;
}
public void setOrders(List<?> orders) {
this.orders = orders;
}
public static class RecordsEntity {
@SerializedName("type")
private String type;
@SerializedName("pic")
private String pic;
@SerializedName("name")
private String name;
@SerializedName("manufacturer")
private String manufacturer;
@SerializedName("dealer")
private String dealer;
@SerializedName("subTypeName")
private String subTypeName;
@SerializedName("shelfLife")
private String shelfLife;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getPic() {
return pic;
}
public void setPic(String pic) {
this.pic = pic;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public String getDealer() {
return dealer;
}
public void setDealer(String dealer) {
this.dealer = dealer;
}
public String getSubTypeName() {
return subTypeName;
}
public void setSubTypeName(String subTypeName) {
this.subTypeName = subTypeName;
}
public String getShelfLife() {
return shelfLife;
}
public void setShelfLife(String shelfLife) {
this.shelfLife = shelfLife;
}
}
}

View File

@ -0,0 +1,187 @@
package com.tairui.gov_affairs_cloud.ui.input.fragment;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rxjava.rxlife.RxLife;
import com.tairui.gov_affairs_cloud.R;
import com.tairui.gov_affairs_cloud.base.BaseFragment;
import com.tairui.gov_affairs_cloud.databinding.FragmentLandResourceInfoBinding;
import com.tairui.gov_affairs_cloud.entity.Api;
import com.tairui.gov_affairs_cloud.entity.EventConstant;
import com.tairui.gov_affairs_cloud.entity.EventMessage;
import com.tairui.gov_affairs_cloud.http.OnError;
import com.tairui.gov_affairs_cloud.ui.input.entity.InputGoodsListEntity;
import com.tairui.gov_affairs_cloud.util.AppUtil;
import com.tairui.gov_affairs_cloud.util.ArrayUtil;
import com.tairui.gov_affairs_cloud.util.ToastUtil;
import com.tairui.gov_affairs_cloud.util.glide.GlideLoader;
import com.tairui.gov_affairs_cloud.widget.RefreshRecyclerView;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import rxhttp.RxHttp;
import rxhttp.RxHttpNoBodyParam;
public class InputGoodsFragment extends BaseFragment<FragmentLandResourceInfoBinding> {
private LandResourceInfoAdapter adapter;
private int currentPageIndex = 1;
private String type = "";
private String searchWord = "";
public static InputGoodsFragment newInstance(String _type) {
InputGoodsFragment fragment = new InputGoodsFragment();
Bundle args = new Bundle();
args.putString("type", _type);
fragment.setArguments(args);
return fragment;
}
@Override
protected Class<FragmentLandResourceInfoBinding> getBindingClass() {
return FragmentLandResourceInfoBinding.class;
}
@Override
public void onDestroyView() {
EventBus.getDefault().unregister(this);
super.onDestroyView();
}
@Override
protected void onQueryArguments() {
EventBus.getDefault().register(this);
type = getArguments().getString("type");
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageReceive(EventMessage message) {
if (null != message && !TextUtils.isEmpty(message.getLabel())) {
if (EventConstant.REFRESH_LIST.equals(message.getLabel())) {
binding.refreshRecycler.showLoading();
currentPageIndex = 1;
requestData(false);
} else if (EventConstant.SEARCH_LIST.equals(message.getLabel())) {
searchWord = (String) message.getData();
binding.refreshRecycler.showLoading();
currentPageIndex = 1;
requestData(false);
}
}
}
@Override
protected void onFindView(View rootView) {
binding.refreshRecycler.setLayoutManager(new LinearLayoutManager(mContext));
adapter = new LandResourceInfoAdapter();
binding.refreshRecycler.setAdapter(adapter);
}
@Override
protected void onBindListener() {
binding.refreshRecycler.setRefreshRecyclerListener(new RefreshRecyclerView.RefreshRecyclerListener() {
@Override
public void onRefresh() {
currentPageIndex = 1;
requestData(false);
}
@Override
public void onLoadmore() {
requestData(true);
}
@Override
public void onBlankClick() {
binding.refreshRecycler.showLoading();
currentPageIndex = 1;
requestData(false);
}
});
adapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
// Bundle bundle = new Bundle();
// bundle.putSerializable("data", (Serializable) adapter.getItem(i));
// IntentUtil.startActivity(mContext, LandInfoDetailActivity.class, bundle);
});
}
@Override
protected void onApplyData() {
binding.refreshRecycler.showLoading();
currentPageIndex = 1;
requestData(false);
}
private void requestData(boolean loadmore) {
RxHttpNoBodyParam http = RxHttp.get(Api.INPUT_GOODS_LIST);
if (!TextUtils.isEmpty(type)) {
http.add("type", type);
}
if (!TextUtils.isEmpty(searchWord)) {
http.add("keyword", searchWord);
}
http.add("pageNum", currentPageIndex)
.add("pageSize", Api.SIZE_PAGE)
.asResponse(InputGoodsListEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
if (loadmore) {
binding.refreshRecycler.finishLoadMore();
}
if (!ArrayUtil.isEmpty(data.getRecords())) {
if (loadmore) {
adapter.addData(data.getRecords());
} else {
adapter.setNewData(data.getRecords());
}
currentPageIndex += 1;
if (ArrayUtil.size(data.getRecords()) < Api.SIZE_PAGE) {
binding.refreshRecycler.setNoMoreData(true);
} else {
binding.refreshRecycler.setNoMoreData(false);
}
binding.refreshRecycler.showContent();
} else {
binding.refreshRecycler.showError();
binding.refreshRecycler.setNoMoreData(true);
}
}, (OnError) error -> {
binding.refreshRecycler.showError();
binding.refreshRecycler.setNoMoreData(true);
ToastUtil.showLongToast(error.getErrorMsg());
});
}
private class LandResourceInfoAdapter extends BaseQuickAdapter<InputGoodsListEntity.RecordsEntity, BaseViewHolder> {
public LandResourceInfoAdapter() {
super(R.layout.item_list_input_goods);
}
@Override
protected void convert(@NonNull BaseViewHolder holder, InputGoodsListEntity.RecordsEntity entity) {
ImageView img = holder.getView(R.id.img);
if (entity.getPic() != null && entity.getPic().indexOf(",") != -1) {
String pics[] = entity.getPic().split(",");
String pic = pics[0];
GlideLoader.loadOriginal(img, AppUtil.getImageUrl(pic));
} else {
GlideLoader.loadOriginal(img, AppUtil.getImageUrl(entity.getPic()));
}
holder.setText(R.id.title, entity.getName());
holder.setText(R.id.factory, entity.getManufacturer());
holder.setText(R.id.company, entity.getDealer());
holder.setText(R.id.category, entity.getSubTypeName());
holder.setText(R.id.useDate, entity.getShelfLife());
}
}
}

View File

@ -0,0 +1,428 @@
package com.tairui.gov_affairs_cloud.ui.land;
import java.io.File;
import java.util.List;
import org.greenrobot.eventbus.EventBus;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.google.gson.JsonObject;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import com.kongzue.albumdialog.PhotoAlbumDialog;
import com.kongzue.albumdialog.util.SelectPhotoCallback;
import com.kongzue.dialogx.dialogs.PopTip;
import com.rxjava.rxlife.RxLife;
import com.tairui.gov_affairs_cloud.base.BaseActivity;
import com.tairui.gov_affairs_cloud.databinding.ActivityAddLegalCaseBinding;
import com.tairui.gov_affairs_cloud.entity.Api;
import com.tairui.gov_affairs_cloud.entity.EventConstant;
import com.tairui.gov_affairs_cloud.entity.EventMessage;
import com.tairui.gov_affairs_cloud.entity.UploadEntity;
import com.tairui.gov_affairs_cloud.http.OnError;
import com.tairui.gov_affairs_cloud.ui.land.entity.DictDataEntity;
import com.tairui.gov_affairs_cloud.util.DateUtils;
import com.tairui.gov_affairs_cloud.util.DensityUtils;
import com.tairui.gov_affairs_cloud.util.SingleClickListener;
import com.tairui.gov_affairs_cloud.util.glide.GlideLoader;
import android.graphics.Color;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import rxhttp.RxHttp;
import rxhttp.RxHttpFormParam;
import rxhttp.RxHttpJsonParam;
public class AddLegalCaseActivity extends BaseActivity<ActivityAddLegalCaseBinding> implements OnDateSetListener {
private List<DictDataEntity> caseTypeData;
private DictDataEntity selectCaseType;
private List<DictDataEntity> caseWhoData;
private DictDataEntity selectCaseWho;
private List<DictDataEntity> caseFileData;
private DictDataEntity selectFileType;
private List<DictDataEntity> caseResultData;
private DictDataEntity selectResult;
private TimePickerDialog mDialogMonthDayHourMinute;
private OptionsPickerView landTypePickerView;
private OptionsPickerView whoPickerView;
private OptionsPickerView fileTypePickerView;
private OptionsPickerView resultPickerView;
private String landImgPath;
private String landFilePath;
private UploadEntity landImgEntity;
private UploadEntity landFileEntity;
private String illegalId;
private String finishTime;
@Override
protected Class<ActivityAddLegalCaseBinding> getBindingClass() {
return ActivityAddLegalCaseBinding.class;
}
@Override
protected void onQueryArguments() {
illegalId = getIntent().getStringExtra("id");
}
@Override
protected void onFindView(Bundle savedInstanceState) {
mDialogMonthDayHourMinute = new TimePickerDialog.Builder()
.setType(Type.MONTH_DAY_HOUR_MIN)
.setTitleStringId("选择违法时间")
.setWheelItemTextSize(14)
.setCallBack(this)
.build();
}
@Override
protected void onBindListener() {
binding.btnBack.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
finish();
}
});
binding.btnSubmit.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
checkSubmit();
}
});
binding.layoutAction.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
showLandTypeDialog();
}
});
binding.layoutWho.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
showWhoDialog();
}
});
binding.layoutFile.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
showFileTypeDialog();
}
});
binding.layoutResult.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
showResultDialog();
}
});
binding.layoutTime.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
mDialogMonthDayHourMinute.show(getSupportFragmentManager(), "month_day_hour_minute");
}
});
binding.btnSelectImg.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
selectImg();
}
});
binding.btnSelectFile.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
selectDocument();
}
});
}
@Override
public void onDateSet(TimePickerDialog timePickerView, long millseconds) {
finishTime = DateUtils.getDateToString(millseconds);
setText(binding.tvTime, finishTime);
}
private void showLandTypeDialog() {
if (landTypePickerView == null) {
landTypePickerView = new OptionsPickerBuilder(this, (options1, options2, options3, v) -> {
selectCaseType = caseTypeData.get(options1);
setText(binding.tvAction, selectCaseType.getDictLabel());
}).setTitleText("案件分类选择").setContentTextSize(20)
.setSelectOptions(0)
.setTitleBgColor(Color.WHITE)
.isRestoreItem(true)
.isCenterLabel(false)
.setOutSideColor(0x00000000)
.build();
landTypePickerView.setPicker(caseTypeData);
}
landTypePickerView.show();
}
private void showWhoDialog() {
if (whoPickerView == null) {
whoPickerView = new OptionsPickerBuilder(this, (options1, options2, options3, v) -> {
selectCaseWho = caseWhoData.get(options1);
setText(binding.tvWho, selectCaseWho.getDictLabel());
}).setTitleText("执法对象选择").setContentTextSize(20)
.setSelectOptions(0)
.setTitleBgColor(Color.WHITE)
.isRestoreItem(true)
.isCenterLabel(false)
.setOutSideColor(0x00000000)
.build();
whoPickerView.setPicker(caseWhoData);
}
whoPickerView.show();
}
private void showFileTypeDialog() {
if (fileTypePickerView == null) {
fileTypePickerView = new OptionsPickerBuilder(this, (options1, options2, options3, v) -> {
selectFileType = caseFileData.get(options1);
setText(binding.tvFileType, selectFileType.getDictLabel());
}).setTitleText("执法文书选择").setContentTextSize(20)
.setSelectOptions(0)
.setTitleBgColor(Color.WHITE)
.isRestoreItem(true)
.isCenterLabel(false)
.setOutSideColor(0x00000000)
.build();
fileTypePickerView.setPicker(caseFileData);
}
fileTypePickerView.show();
}
private void showResultDialog() {
if (resultPickerView == null) {
resultPickerView = new OptionsPickerBuilder(this, (options1, options2, options3, v) -> {
selectResult = caseResultData.get(options1);
setText(binding.tvResult, selectResult.getDictLabel());
}).setTitleText("案件处理结果选择").setContentTextSize(20)
.setSelectOptions(0)
.setTitleBgColor(Color.WHITE)
.isRestoreItem(true)
.isCenterLabel(false)
.setOutSideColor(0x00000000)
.build();
resultPickerView.setPicker(caseResultData);
}
resultPickerView.show();
}
private void selectImg() {
PhotoAlbumDialog.build()
.setCompressQuality(90) //开启压缩并指定质量 90%
.setCompressPhoto(false) //是否压缩开启回调格式为 jpg不开启回调格式为 png
.setMaxSelectPhotoCount(1) //最多选择三张照片
.setClip(false) //开启裁剪模式
.setMaxSize(1000) //最高分辨率 1000宽或高大于 1000会被等比缩小到 1000内
.setMaxWidth(1000) //最大宽度
.setMaxHeight(1000) //最大高度
.setCallback(new SelectPhotoCallback() {
@Override
public void selectedPhoto(String selectedPhotos) {
landImgPath = selectedPhotos;
GlideLoader.loadOriginal(binding.imgLand, selectedPhotos);
setGone(binding.imgLand, true);
}
})
.setDialogDialogImplCallback(dialog -> dialog.setRadius(DensityUtils.dp2px(mContext, 25)))
.show(this);
}
private void selectDocument() {
PhotoAlbumDialog.build()
.setCompressQuality(90) //开启压缩并指定质量 90%
.setCompressPhoto(false) //是否压缩开启回调格式为 jpg不开启回调格式为 png
.setMaxSelectPhotoCount(1) //最多选择三张照片
.setClip(false) //开启裁剪模式
.setMaxSize(1000) //最高分辨率 1000宽或高大于 1000会被等比缩小到 1000内
.setMaxWidth(1000) //最大宽度
.setMaxHeight(1000) //最大高度
.setCallback(new SelectPhotoCallback() {
@Override
public void selectedPhoto(String selectedPhotos) {
landFilePath = selectedPhotos;
GlideLoader.loadOriginal(binding.imgFile, landFilePath);
setGone(binding.imgFile, true);
}
})
.setDialogDialogImplCallback(dialog -> dialog.setRadius(DensityUtils.dp2px(mContext, 25)))
.show(this);
}
@Override
protected void onApplyData() {
getIllegalTypeData();
getCaseWhoData();
getDocumentTypeData();
getResultTypeData();
}
private void getIllegalTypeData() {
RxHttp.get(Api.LAND_ILLEGAL_TYPE)
.asResponseList(DictDataEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
caseTypeData = data;
}, (OnError) error -> showToast(error.getErrorMsg()));
}
private void getCaseWhoData() {
RxHttp.get(Api.ILLEGAL_CASE_WHO)
.asResponseList(DictDataEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
caseWhoData = data;
}, (OnError) error -> showToast(error.getErrorMsg()));
}
private void getDocumentTypeData() {
RxHttp.get(Api.ILLEGAL_DOCUMENT_TYPE)
.asResponseList(DictDataEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
caseFileData = data;
}, (OnError) error -> showToast(error.getErrorMsg()));
}
private void getResultTypeData() {
RxHttp.get(Api.ILLEGAL_CASE_RESULT_TYPE)
.asResponseList(DictDataEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
caseResultData = data;
}, (OnError) error -> showToast(error.getErrorMsg()));
}
private void uploadLandImg() {
RxHttpFormParam http = RxHttp.postForm(Api.FILE_UPLOAD);
http.addFile("file", new File(landImgPath));
http.asSingleUpload(UploadEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
landImgEntity = data;
uploadFileImg();
}, (OnError) error -> {
PopTip.show("图片上传失败:" + error.getErrorMsg()).iconError();
hideLoading();
});
}
private void uploadFileImg() {
RxHttpFormParam http = RxHttp.postForm(Api.FILE_UPLOAD);
http.addFile("file", new File(landFilePath));
http.asSingleUpload(UploadEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
landFileEntity = data;
doAddCase();
}, (OnError) error -> {
PopTip.show("图片上传失败:" + error.getErrorMsg()).iconError();
hideLoading();
});
}
private void checkSubmit() {
String caseName = binding.inputCaseName.getText().toString().trim();
if (TextUtils.isEmpty(caseName)) {
showError("请输入案件名称");
return;
}
String caseCode = binding.inputCaseCode.getText().toString().trim();
if (TextUtils.isEmpty(caseCode)) {
showError("请输入案件编号");
return;
}
String responsible = binding.inputResponsible.getText().toString().trim();
if (TextUtils.isEmpty(responsible)) {
showError("请输入案件负责人");
return;
}
String phone = binding.inputPhone.getText().toString().trim();
if (TextUtils.isEmpty(phone)) {
showError("请输入负责人电话");
return;
}
String desc = binding.inputDesc.getText().toString().trim();
if (TextUtils.isEmpty(desc)) {
showError("请输入案件记录");
return;
}
if (TextUtils.isEmpty(finishTime)) {
showError("请选择案件处理时间");
return;
}
if (selectCaseType == null) {
showError("请选择案件分类");
return;
}
if (selectCaseWho == null) {
showError("请选择案件执法对象类型");
return;
}
if (TextUtils.isEmpty(landImgPath)) {
showError("请选择现场取整图片或视频");
return;
}
if (selectFileType == null) {
showError("请选择执法文书类型");
return;
}
if (TextUtils.isEmpty(landFilePath)) {
showError("请选择执法文书图片");
return;
}
if (selectResult == null) {
showError("请选择案件处理结果");
return;
}
showLoading();
uploadLandImg();
}
private void doAddCase() {
RxHttpJsonParam http = RxHttp.postJson(Api.ILLEGAL_CASE_ADD);
String caseName = binding.inputCaseName.getText().toString().trim();
String caseCode = binding.inputCaseCode.getText().toString().trim();
String responsible = binding.inputResponsible.getText().toString().trim();
String phone = binding.inputPhone.getText().toString().trim();
String desc = binding.inputDesc.getText().toString().trim();
http.add("resultId", illegalId);
http.add("caseId", caseCode);
http.add("caseName", caseName);
http.add("subjectType", selectCaseWho.getDictValue());
http.add("responsiblePerson", responsible);
http.add("responsiblePersonPhone", phone);
http.add("caseResultCode", selectResult.getDictValue());
http.add("caseRecord", desc);
http.add("evidenceFile", landImgEntity.getUrl());
http.add("evidenceFileType", "image");
http.add("processingTime", finishTime);
JsonObject files = new JsonObject();
files.addProperty("url", landFileEntity.getUrl());
files.addProperty("fileTypeCode", selectFileType.getDictValue());
http.add("files", files);
http.add("caseTypeCode", selectCaseType.getDictValue());
http.asResponse(Boolean.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
hideLoading();
PopTip.show("案件处理成功").iconSuccess();
EventBus.getDefault().post(new EventMessage(EventConstant.REFRESH_LIST));
binding.btnSubmit.postDelayed(() -> finish(), 1000);
}, (OnError) error -> {
PopTip.show(error.getErrorMsg()).iconError();
hideLoading();
});
}
}

View File

@ -8,6 +8,7 @@ import com.tairui.gov_affairs_cloud.entity.Api;
import com.tairui.gov_affairs_cloud.http.OnError; import com.tairui.gov_affairs_cloud.http.OnError;
import com.tairui.gov_affairs_cloud.ui.land.entity.IllegalDetailEntity; import com.tairui.gov_affairs_cloud.ui.land.entity.IllegalDetailEntity;
import com.tairui.gov_affairs_cloud.util.AppUtil; import com.tairui.gov_affairs_cloud.util.AppUtil;
import com.tairui.gov_affairs_cloud.util.IntentUtil;
import com.tairui.gov_affairs_cloud.util.SingleClickListener; import com.tairui.gov_affairs_cloud.util.SingleClickListener;
import com.tairui.gov_affairs_cloud.util.glide.GlideLoader; import com.tairui.gov_affairs_cloud.util.glide.GlideLoader;
@ -42,6 +43,12 @@ public class IllegalDetailActivity extends BaseActivity<ActivityIllegalDetailBin
finish(); finish();
} }
}); });
binding.btnAddCase.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
IntentUtil.startActivity(mContext, AddLegalCaseActivity.class, AppUtil.getIdBundle(mData.getId()));
}
});
} }
@Override @Override
@ -64,5 +71,7 @@ public class IllegalDetailActivity extends BaseActivity<ActivityIllegalDetailBin
setText(binding.tvAction, mData.getIllegalTypeName()); setText(binding.tvAction, mData.getIllegalTypeName());
setText(binding.inputDesc, mData.getDesc()); setText(binding.inputDesc, mData.getDesc());
GlideLoader.loadOriginal(binding.imgLand, AppUtil.getImageUrl(mData.getImg())); GlideLoader.loadOriginal(binding.imgLand, AppUtil.getImageUrl(mData.getImg()));
setGone(binding.btnAddCase, mData.getStatus().equals("0") ? true : false);
} }
} }

View File

@ -7,7 +7,7 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.kongzue.dialogx.dialogs.PopMenu; import com.kongzue.dialogx.dialogs.PopMenu;
import com.kongzue.dialogx.util.ItemDivider; import com.kongzue.dialogx.util.ItemDivider;
@ -55,7 +55,7 @@ public class IllegalListActivity extends BaseActivity<ActivityIllegalListBinding
@Override @Override
protected void onFindView(Bundle savedInstanceState) { protected void onFindView(Bundle savedInstanceState) {
binding.refreshRecycler.setLayoutManager(new LinearLayoutManager(mContext)); binding.refreshRecycler.setLayoutManager(new LinearLayoutManager(mContext));
mAdapter = new IllegalListAdapter(); mAdapter = new IllegalListAdapter(new ArrayList<>());
binding.refreshRecycler.setAdapter(mAdapter); binding.refreshRecycler.setAdapter(mAdapter);
} }
@ -90,7 +90,11 @@ public class IllegalListActivity extends BaseActivity<ActivityIllegalListBinding
IllegalListEntity item = mAdapter.getItem(i); IllegalListEntity item = mAdapter.getItem(i);
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString("id", item.getId()); bundle.putString("id", item.getId());
if (item.getStatus().equals("0")) {
IntentUtil.startActivity(mContext, IllegalDetailActivity.class, bundle); IntentUtil.startActivity(mContext, IllegalDetailActivity.class, bundle);
} else {
IntentUtil.startActivity(mContext, LegalCaseDetailActivity.class, bundle);
}
}); });
binding.layoutType.setOnClickListener(new SingleClickListener() { binding.layoutType.setOnClickListener(new SingleClickListener() {
@Override @Override
@ -118,9 +122,9 @@ public class IllegalListActivity extends BaseActivity<ActivityIllegalListBinding
.setOnMenuItemClickListener((dialog, text, index) -> { .setOnMenuItemClickListener((dialog, text, index) -> {
status = index; status = index;
setText(binding.tvType, text.toString()); setText(binding.tvType, text.toString());
// binding.refreshRecycler.showLoading(); binding.refreshRecycler.showLoading();
// currentPageIndex = 1; currentPageIndex = 1;
// requestData(false); requestData(false);
return false; return false;
}).setItemDivider(new ItemDivider(15, 15, 1)); }).setItemDivider(new ItemDivider(15, 15, 1));
} }
@ -128,7 +132,7 @@ public class IllegalListActivity extends BaseActivity<ActivityIllegalListBinding
private void requestData(boolean loadmore) { private void requestData(boolean loadmore) {
RxHttpNoBodyParam http = RxHttp.get(Api.ILLEGAL_LIST); RxHttpNoBodyParam http = RxHttp.get(Api.ILLEGAL_LIST);
if (status != -1) { if (status != -1) {
// http.add("inspectionTypeCode", selectType.getDictValue()); http.add("status", String.valueOf(status));
} }
http.add("current", currentPageIndex) http.add("current", currentPageIndex)
.add("size", Api.SIZE_PAGE) .add("size", Api.SIZE_PAGE)
@ -162,28 +166,27 @@ public class IllegalListActivity extends BaseActivity<ActivityIllegalListBinding
}); });
} }
private class IllegalListAdapter extends BaseQuickAdapter<IllegalListEntity, BaseViewHolder> { private class IllegalListAdapter extends BaseMultiItemQuickAdapter<IllegalListEntity, BaseViewHolder> {
public IllegalListAdapter() { public IllegalListAdapter(List<IllegalListEntity> list) {
super(R.layout.item_illegal_2); super(list);
addItemType(0, R.layout.item_illegal_2);
addItemType(1, R.layout.item_illegal_case);
} }
@Override @Override
protected void convert(@NonNull BaseViewHolder holder, IllegalListEntity entity) { protected void convert(@NonNull BaseViewHolder holder, IllegalListEntity entity) {
if (holder.getItemViewType() == 0) {
holder.setText(R.id.tvLandName, entity.getLandName()); holder.setText(R.id.tvLandName, entity.getLandName());
holder.setText(R.id.tvIllegalType, entity.getIllegalTypeName()); holder.setText(R.id.tvIllegalType, entity.getIllegalTypeName());
holder.setText(R.id.tvDate, entity.getIllegalDate()); holder.setText(R.id.tvDate, entity.getIllegalDate());
if (entity.getStatus().equals("0")) {
holder.setText(R.id.tvStatus, "待处理");
holder.setBackgroundRes(R.id.tvStatus, R.drawable.bg_container_light_green_raduis_2);
holder.setTextColor(R.id.tvStatus, getResColor(R.color.color_txt_green));
} else { } else {
holder.setText(R.id.tvStatus, "已处理"); holder.setText(R.id.tvCaseNo, "案件编号:" + entity.getCaseId());
holder.setBackgroundRes(R.id.tvStatus, R.drawable.bg_container_light_orange_raduis_2); holder.setText(R.id.tvCaseName, entity.getCaseName());
holder.setTextColor(R.id.tvStatus, getResColor(R.color.color_txt_orange)); holder.setText(R.id.tvCaseType, entity.getCaseTypeName());
holder.setText(R.id.tvWho, entity.getResponsiblePerson());
holder.setText(R.id.tvRegion, entity.getInspectionTaskTarget());
} }
} }
} }

View File

@ -155,14 +155,15 @@ public class InspectionListActivity extends BaseActivity<ActivityInspectionListB
RxHttpNoBodyParam http; RxHttpNoBodyParam http;
if (userInfo.isAdmin()) { if (userInfo.isAdmin()) {
http = RxHttp.get(Api.INSPECTION_LIST_ADMIN); http = RxHttp.get(Api.INSPECTION_LIST_ADMIN);
http.add("gridId", userInfo.getLandUserInfo().getGridMemberInfo().getGridId());
} else { } else {
http = RxHttp.get(Api.INSPECTION_LIST_GENERAL); http = RxHttp.get(Api.INSPECTION_LIST_GENERAL);
} }
if (selectType != null && !TextUtils.isEmpty(selectType.getDictValue())) { if (selectType != null && !TextUtils.isEmpty(selectType.getDictValue())) {
http.add("inspectionTypeCode", selectType.getDictValue()); http.add("inspectionTypeCode", selectType.getDictValue());
} }
http.add("gridId", userInfo.getLandUserInfo().getGridMemberInfo().getGridId())
.add("current", currentPageIndex) http.add("current", currentPageIndex)
.add("size", Api.SIZE_PAGE) .add("size", Api.SIZE_PAGE)
.asResponse(InspectionListEntity.class) .asResponse(InspectionListEntity.class)
.as(RxLife.asOnMain(this)) .as(RxLife.asOnMain(this))

View File

@ -0,0 +1,77 @@
package com.tairui.gov_affairs_cloud.ui.land;
import com.rxjava.rxlife.RxLife;
import com.tairui.gov_affairs_cloud.base.BaseActivity;
import com.tairui.gov_affairs_cloud.databinding.ActivityLegalCaseDetailBinding;
import com.tairui.gov_affairs_cloud.entity.Api;
import com.tairui.gov_affairs_cloud.http.OnError;
import com.tairui.gov_affairs_cloud.ui.land.entity.CaseDetailEntity;
import com.tairui.gov_affairs_cloud.util.AppUtil;
import com.tairui.gov_affairs_cloud.util.IntentUtil;
import com.tairui.gov_affairs_cloud.util.SingleClickListener;
import com.tairui.gov_affairs_cloud.util.glide.GlideLoader;
import android.os.Bundle;
import android.view.View;
import rxhttp.RxHttp;
public class LegalCaseDetailActivity extends BaseActivity<ActivityLegalCaseDetailBinding> {
private String caseId;
private CaseDetailEntity mData;
@Override
protected Class<ActivityLegalCaseDetailBinding> getBindingClass() {
return ActivityLegalCaseDetailBinding.class;
}
@Override
protected void onQueryArguments() {
caseId = getIntent().getStringExtra("id");
}
@Override
protected void onBindListener() {
binding.btnBack.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
finish();
}
});
binding.btnIllegalDetail.setOnClickListener(new SingleClickListener() {
@Override
protected void onSingleClick(View v) {
Bundle bundle = new Bundle();
bundle.putString("id", caseId);
IntentUtil.startActivity(mContext, IllegalDetailActivity.class, bundle);
}
});
}
@Override
protected void onApplyData() {
RxHttp.get(Api.ILLEGAL_CASE_DETAIL + caseId)
.asResponse(CaseDetailEntity.class)
.as(RxLife.asOnMain(this))
.subscribe(data -> {
mData = data;
initView();
}, (OnError) error -> showToast(error.getErrorMsg()));
}
private void initView() {
setText(binding.tvCaseName, mData.getCaseName());
setText(binding.tvCaseCode, mData.getCaseId());
setText(binding.tvAction, mData.getCaseTypeName());
setText(binding.tvWho, mData.getSubjectTypeName());
setText(binding.tvResponsible, mData.getResponsiblePerson());
setText(binding.tvPhone, mData.getResponsiblePersonPhone());
setText(binding.tvDesc, mData.getCaseRecord());
setText(binding.tvTime, mData.getProcessingTime());
GlideLoader.loadRound(binding.imgLand, AppUtil.getImageUrl(mData.getEvidenceFile()));
setText(binding.tvFileType, mData.getProcessingTime());
GlideLoader.loadRound(binding.imgFile, AppUtil.getImageUrl(mData.getFiles().getUrl()));
setText(binding.tvResult, mData.getCaseResultName());
}
}

View File

@ -0,0 +1,210 @@
package com.tairui.gov_affairs_cloud.ui.land.entity;
import com.google.gson.annotations.SerializedName;
public class CaseDetailEntity {
@SerializedName("resultId")
private Long resultId;
@SerializedName("caseId")
private String caseId;
@SerializedName("caseName")
private String caseName;
@SerializedName("subjectType")
private String subjectType;
@SerializedName("responsiblePerson")
private String responsiblePerson;
@SerializedName("responsiblePersonPhone")
private String responsiblePersonPhone;
@SerializedName("caseResultCode")
private String caseResultCode;
@SerializedName("caseRecord")
private String caseRecord;
@SerializedName("evidenceFile")
private String evidenceFile;
@SerializedName("evidenceFileType")
private String evidenceFileType;
@SerializedName("processingTime")
private String processingTime;
@SerializedName("files")
private FilesEntity files;
@SerializedName("caseTypeCode")
private String caseTypeCode;
@SerializedName("id")
private String id;
@SerializedName("subjectTypeName")
private String subjectTypeName;
@SerializedName("caseTypeName")
private String caseTypeName;
@SerializedName("caseResultName")
private String caseResultName;
public Long getResultId() {
return resultId;
}
public void setResultId(Long resultId) {
this.resultId = resultId;
}
public String getCaseId() {
return caseId;
}
public void setCaseId(String caseId) {
this.caseId = caseId;
}
public String getCaseName() {
return caseName;
}
public void setCaseName(String caseName) {
this.caseName = caseName;
}
public String getSubjectType() {
return subjectType;
}
public void setSubjectType(String subjectType) {
this.subjectType = subjectType;
}
public String getResponsiblePerson() {
return responsiblePerson;
}
public void setResponsiblePerson(String responsiblePerson) {
this.responsiblePerson = responsiblePerson;
}
public String getResponsiblePersonPhone() {
return responsiblePersonPhone;
}
public void setResponsiblePersonPhone(String responsiblePersonPhone) {
this.responsiblePersonPhone = responsiblePersonPhone;
}
public String getCaseResultCode() {
return caseResultCode;
}
public void setCaseResultCode(String caseResultCode) {
this.caseResultCode = caseResultCode;
}
public String getCaseRecord() {
return caseRecord;
}
public void setCaseRecord(String caseRecord) {
this.caseRecord = caseRecord;
}
public String getEvidenceFile() {
return evidenceFile;
}
public void setEvidenceFile(String evidenceFile) {
this.evidenceFile = evidenceFile;
}
public String getEvidenceFileType() {
return evidenceFileType;
}
public void setEvidenceFileType(String evidenceFileType) {
this.evidenceFileType = evidenceFileType;
}
public String getProcessingTime() {
return processingTime;
}
public void setProcessingTime(String processingTime) {
this.processingTime = processingTime;
}
public FilesEntity getFiles() {
return files;
}
public void setFiles(FilesEntity files) {
this.files = files;
}
public String getCaseTypeCode() {
return caseTypeCode;
}
public void setCaseTypeCode(String caseTypeCode) {
this.caseTypeCode = caseTypeCode;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSubjectTypeName() {
return subjectTypeName;
}
public void setSubjectTypeName(String subjectTypeName) {
this.subjectTypeName = subjectTypeName;
}
public String getCaseTypeName() {
return caseTypeName;
}
public void setCaseTypeName(String caseTypeName) {
this.caseTypeName = caseTypeName;
}
public String getCaseResultName() {
return caseResultName;
}
public void setCaseResultName(String caseResultName) {
this.caseResultName = caseResultName;
}
public static class FilesEntity {
@SerializedName("fileTypeCode")
private String fileTypeCode;
@SerializedName("fileTypeName")
private String fileTypeName;
@SerializedName("url")
private String url;
public String getFileTypeCode() {
return fileTypeCode;
}
public void setFileTypeCode(String fileTypeCode) {
this.fileTypeCode = fileTypeCode;
}
public String getFileTypeName() {
return fileTypeName;
}
public void setFileTypeName(String fileTypeName) {
this.fileTypeName = fileTypeName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}

View File

@ -2,9 +2,10 @@ package com.tairui.gov_affairs_cloud.ui.land.entity;
import java.io.Serializable; import java.io.Serializable;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
public class IllegalListEntity implements Serializable { public class IllegalListEntity implements Serializable, MultiItemEntity {
@SerializedName("inspectionId") @SerializedName("inspectionId")
private String inspectionId; private String inspectionId;
@ -28,8 +29,29 @@ public class IllegalListEntity implements Serializable {
private String illegalTypeName; private String illegalTypeName;
@SerializedName("inspectionTaskName") @SerializedName("inspectionTaskName")
private String inspectionTaskName; private String inspectionTaskName;
@SerializedName("inspectionTaskTarget")
private String inspectionTaskTarget;
@SerializedName("inspectionTaskId")
private Object inspectionTaskId;
@SerializedName("status") @SerializedName("status")
private String status; private String status;
@SerializedName("caseId")
private String caseId;
@SerializedName("caseName")
private String caseName;
@SerializedName("responsiblePerson")
private String responsiblePerson;
@SerializedName("caseTypeCode")
private String caseTypeCode;
@SerializedName("caseTypeName")
private String caseTypeName;
@SerializedName("processingTime")
private String processingTime;
@Override
public int getItemType() {
return Integer.parseInt(status);
}
public String getInspectionId() { public String getInspectionId() {
return inspectionId; return inspectionId;
@ -119,6 +141,22 @@ public class IllegalListEntity implements Serializable {
this.inspectionTaskName = inspectionTaskName; this.inspectionTaskName = inspectionTaskName;
} }
public String getInspectionTaskTarget() {
return inspectionTaskTarget;
}
public void setInspectionTaskTarget(String inspectionTaskTarget) {
this.inspectionTaskTarget = inspectionTaskTarget;
}
public Object getInspectionTaskId() {
return inspectionTaskId;
}
public void setInspectionTaskId(Object inspectionTaskId) {
this.inspectionTaskId = inspectionTaskId;
}
public String getStatus() { public String getStatus() {
return status; return status;
} }
@ -126,4 +164,52 @@ public class IllegalListEntity implements Serializable {
public void setStatus(String status) { public void setStatus(String status) {
this.status = status; this.status = status;
} }
public String getCaseId() {
return caseId;
}
public void setCaseId(String caseId) {
this.caseId = caseId;
}
public String getCaseName() {
return caseName;
}
public void setCaseName(String caseName) {
this.caseName = caseName;
}
public String getResponsiblePerson() {
return responsiblePerson;
}
public void setResponsiblePerson(String responsiblePerson) {
this.responsiblePerson = responsiblePerson;
}
public String getCaseTypeCode() {
return caseTypeCode;
}
public void setCaseTypeCode(String caseTypeCode) {
this.caseTypeCode = caseTypeCode;
}
public String getCaseTypeName() {
return caseTypeName;
}
public void setCaseTypeName(String caseTypeName) {
this.caseTypeName = caseTypeName;
}
public String getProcessingTime() {
return processingTime;
}
public void setProcessingTime(String processingTime) {
this.processingTime = processingTime;
}
} }

View File

@ -95,6 +95,9 @@ public class LoginActivity extends BaseActivity<ActivityLoginBinding> {
} else if (username.equals("d")) { } else if (username.equals("d")) {
username = "dev"; username = "dev";
userpass = "dev123"; userpass = "dev123";
} else if (username.equals("a1")) {
username = "admin1";
userpass = "admin123";
} }
} }
showLoading(); showLoading();

View File

@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseViewHolder;
import com.tairui.gov_affairs_cloud.R; import com.tairui.gov_affairs_cloud.R;
import com.tairui.gov_affairs_cloud.base.BaseFragment; import com.tairui.gov_affairs_cloud.base.BaseFragment;
import com.tairui.gov_affairs_cloud.databinding.FragmentWorkspaceBinding; import com.tairui.gov_affairs_cloud.databinding.FragmentWorkspaceBinding;
import com.tairui.gov_affairs_cloud.ui.input.InputGoodsListActivity;
import com.tairui.gov_affairs_cloud.ui.land.GridInfoActivity; import com.tairui.gov_affairs_cloud.ui.land.GridInfoActivity;
import com.tairui.gov_affairs_cloud.ui.land.IllegalListActivity; import com.tairui.gov_affairs_cloud.ui.land.IllegalListActivity;
import com.tairui.gov_affairs_cloud.ui.land.InspectionListActivity; import com.tairui.gov_affairs_cloud.ui.land.InspectionListActivity;
@ -75,6 +76,8 @@ public class WorkSpaceFragment extends BaseFragment<FragmentWorkspaceBinding> {
IntentUtil.startActivity(mContext, InspectionListActivity.class); IntentUtil.startActivity(mContext, InspectionListActivity.class);
} else if (_id == 5) { } else if (_id == 5) {
IntentUtil.startActivity(mContext, IllegalListActivity.class); IntentUtil.startActivity(mContext, IllegalListActivity.class);
} else if (_id == 9) {
IntentUtil.startActivity(mContext, InputGoodsListActivity.class);
} }
}); });
} }

View File

@ -31,6 +31,8 @@ public class AppUtil {
public static String getImageUrl(String url) { public static String getImageUrl(String url) {
if (TextUtils.isEmpty(url)) { if (TextUtils.isEmpty(url)) {
return null; return null;
} else if (url.startsWith("http")) {
return url;
} else { } else {
return Api.OSS_HOST.concat(url); return Api.OSS_HOST.concat(url);
} }
@ -42,4 +44,10 @@ public class AppUtil {
bundle.putStringArrayList("imgs", imgs); bundle.putStringArrayList("imgs", imgs);
IntentUtil.startActivity(context, PhotoViewActivty.class, bundle); IntentUtil.startActivity(context, PhotoViewActivty.class, bundle);
} }
public static Bundle getIdBundle(String id) {
Bundle bundle = new Bundle();
bundle.putString("id", id);
return bundle;
}
} }

View File

@ -0,0 +1,479 @@
<?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/white"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<ImageView
android:id="@+id/btnBack"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="8dp"
android:padding="5dp"
android:src="@mipmap/ic_back_black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="巡查结果登记"
android:textColor="@color/color_txt_black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/btnSubmit"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginEnd="8dp"
android:padding="5dp"
android:src="@mipmap/ic_submit"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件名称"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<EditText
android:id="@+id/inputCaseName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件编号"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<EditText
android:id="@+id/inputCaseCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:id="@+id/layoutAction"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件分类"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp"
app:drawableEndCompat="@mipmap/ic_arrow_right_gray" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:id="@+id/layoutWho"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="执法对象类型"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvWho"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp"
app:drawableEndCompat="@mipmap/ic_arrow_right_gray" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="负责人"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<EditText
android:id="@+id/inputResponsible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="联系电话"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<EditText
android:id="@+id/inputPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:inputType="number"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<TextView
android:layout_width="wrap_content"
android:layout_height="64dp"
android:gravity="center"
android:text="案件处理"
android:textColor="@color/color_txt_black"
android:textSize="20sp"
android:textStyle="bold" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案情记录"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
</FrameLayout>
<EditText
android:id="@+id/inputDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_container_white_raduis_5_border"
android:gravity="start|top"
android:hint="请输入"
android:minHeight="120dp"
android:padding="6dp"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
<FrameLayout
android:id="@+id/layoutTime"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="处理时间"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp"
app:drawableEndCompat="@mipmap/ic_arrow_right_gray" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="现场取证"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
</FrameLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/btnSelectImg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/dashed_border">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:src="@mipmap/ic_pic"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imgLand"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/white"
android:scaleType="centerCrop"
android:visibility="invisible"
app:layout_constraintDimensionRatio="16:9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id="@+id/layoutFile"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="执法文书"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvFileType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp"
app:drawableEndCompat="@mipmap/ic_arrow_right_gray" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/btnSelectFile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/dashed_border">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:src="@mipmap/ic_pic"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imgFile"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/white"
android:scaleType="centerCrop"
android:visibility="invisible"
app:layout_constraintDimensionRatio="16:9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="64dp"
android:gravity="center"
android:text="案件结果"
android:textColor="@color/color_txt_black"
android:textSize="20sp"
android:textStyle="bold" />
<FrameLayout
android:id="@+id/layoutResult"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件处理结果"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp"
app:drawableEndCompat="@mipmap/ic_arrow_right_gray" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>

View File

@ -222,6 +222,21 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/btnAddCase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="@drawable/bg_container_blue_raduis_5"
android:paddingLeft="12dp"
android:paddingTop="8dp"
android:paddingRight="12dp"
android:paddingBottom="8dp"
android:text="案件处理"
android:textColor="@color/white"
android:textSize="15sp" />
</LinearLayout> </LinearLayout>

View File

@ -0,0 +1,77 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:layout_collapseMode="pin">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<ImageView
android:id="@+id/btnBack"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="left|center_vertical"
android:padding="5dp"
android:src="@mipmap/ic_back_black" />
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="农资管理"
android:textColor="@color/color_txt_black"
android:textSize="18sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/btnSearch"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="right|center_vertical"
android:padding="5dp"
android:src="@mipmap/ic_search" />
</FrameLayout>
</androidx.appcompat.widget.Toolbar>
<com.flyco.tablayout.SlidingTabLayout
android:id="@+id/tabBar"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/white"
android:paddingLeft="5dp"
android:paddingRight="5dp"
app:tl_indicator_color="#EDEDED"
app:tl_indicator_corner_radius="4dp"
app:tl_indicator_margin_left="8dp"
app:tl_indicator_margin_right="8dp"
app:tl_indicator_style="BLOCK"
app:tl_textSelectColor="@color/color_txt_black"
app:tl_textUnselectColor="@color/color_txt_hint" />
<com.tairui.gov_affairs_cloud.widget.CustomViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
</LinearLayout>

View File

@ -0,0 +1,458 @@
<?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/white"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<ImageView
android:id="@+id/btnBack"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="8dp"
android:padding="5dp"
android:src="@mipmap/ic_back_black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="案件处理详情"
android:textColor="@color/color_txt_black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件名称"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvCaseName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件编号"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvCaseCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:id="@+id/layoutAction"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件分类"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:id="@+id/layoutWho"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="执法对象类型"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvWho"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="负责人"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvResponsible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="联系电话"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="请输入"
android:inputType="number"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<TextView
android:layout_width="wrap_content"
android:layout_height="64dp"
android:gravity="center"
android:text="案件处理"
android:textColor="@color/color_txt_black"
android:textSize="20sp"
android:textStyle="bold" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案情记录"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
</FrameLayout>
<TextView
android:id="@+id/tvDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_container_white_raduis_5_border"
android:gravity="start|top"
android:hint="请输入"
android:minHeight="120dp"
android:padding="6dp"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
<FrameLayout
android:id="@+id/layoutTime"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="处理时间"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="现场取证"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
</FrameLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/btnSelectImg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/dashed_border">
<ImageView
android:id="@+id/imgLand"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/white"
android:scaleType="centerCrop"
app:layout_constraintDimensionRatio="16:9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id="@+id/layoutFile"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="执法文书"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvFileType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/btnSelectFile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/dashed_border">
<ImageView
android:id="@+id/imgFile"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/white"
android:scaleType="centerCrop"
app:layout_constraintDimensionRatio="16:9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="64dp"
android:gravity="center"
android:text="案件结果"
android:textColor="@color/color_txt_black"
android:textSize="20sp"
android:textStyle="bold" />
<FrameLayout
android:id="@+id/layoutResult"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:text="案件处理结果"
android:textColor="@color/color_tv_content"
android:textSize="16sp" />
<TextView
android:id="@+id/tvResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:gravity="end|center_vertical"
android:hint="请选择"
android:textColor="@color/color_txt_black"
android:textColorHint="@color/color_txt_label"
android:textSize="16sp" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EDEDED" />
<TextView
android:id="@+id/btnIllegalDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:background="@drawable/bg_container_blue_raduis_5"
android:paddingLeft="12dp"
android:paddingTop="8dp"
android:paddingRight="12dp"
android:paddingBottom="8dp"
android:text="违法情况查看"
android:textColor="@color/white"
android:textSize="15sp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>

View File

@ -5,7 +5,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/white" android:background="@color/white"
android:paddingTop="16dp"> android:paddingTop="16dp">
<TextView <TextView
@ -14,7 +13,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_container_light_green_raduis_2" android:background="@drawable/bg_container_light_green_raduis_2"
android:padding="6dp" android:padding="6dp"
android:text="待发布" android:text="待处理"
android:textColor="@color/color_txt_green" android:textColor="@color/color_txt_green"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/tvLandName" app:layout_constraintBottom_toBottomOf="@id/tvLandName"

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingTop="16dp">
<TextView
android:id="@+id/tvStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_container_light_orange_raduis_2"
android:padding="6dp"
android:text="已处理"
android:textColor="@color/color_txt_orange"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/tvCaseName"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/tvCaseName" />
<TextView
android:id="@+id/tvCaseName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="@color/color_txt_black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@id/tvCaseType"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvCaseNo"
tools:text="菜籽地村一号地块" />
<TextView
android:id="@+id/tvCaseNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="案件编号2041546241"
android:textColor="@color/color_txt_label"
android:textSize="14sp"
app:layout_constraintBottom_toTopOf="@id/tvCaseName"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#E6E6E6"
app:layout_constraintBottom_toBottomOf="parent" />
<TextView
android:id="@+id/tvCaseType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="@color/color_tv_content"
android:textSize="14sp"
app:layout_constraintBottom_toTopOf="@id/tvWho"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvCaseName"
tools:text="未经批准占地" />
<TextView
android:id="@+id/tvWho"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:drawableLeft="@mipmap/ic_member"
android:drawablePadding="4dp"
android:text="李毅"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvCaseType" />
<TextView
android:id="@+id/tvRegion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:drawableLeft="@mipmap/ic_location_small"
android:drawablePadding="4dp"
android:text="碧泉湖45号地块"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/tvWho"
app:layout_constraintTop_toBottomOf="@id/tvCaseType" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/img"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginLeft="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_marginTop="16dp"
android:text="生物有机肥"
android:textColor="@color/color_txt_black"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@id/img"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/labelLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="@id/title"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/title">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="生产厂商"
android:textColor="@color/color_tv_content"
android:textSize="14sp" />
<TextView
android:id="@+id/factory"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="生产厂商"
android:textColor="@color/color_txt_black"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="经销商"
android:textColor="@color/color_tv_content"
android:textSize="14sp" />
<TextView
android:id="@+id/company"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="经销商"
android:textColor="@color/color_txt_black"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="分类"
android:textColor="@color/color_tv_content"
android:textSize="14sp" />
<TextView
android:id="@+id/category"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="分类"
android:textColor="@color/color_txt_black"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="保质期"
android:textColor="@color/color_tv_content"
android:textSize="14sp" />
<TextView
android:id="@+id/useDate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="保质期"
android:textColor="@color/color_txt_black"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:background="@color/color_divider"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -19,6 +19,7 @@
<color name="half_transparent">#50000000</color> <color name="half_transparent">#50000000</color>
<color name="color_blue">#007AFF</color> <color name="color_blue">#007AFF</color>
<color name="color_txt_hint">#D5D5D5</color> <color name="color_txt_hint">#D5D5D5</color>
<color name="color_divider">#E6E6E6</color>
<color name="half_red">#26FF4E3D</color> <color name="half_red">#26FF4E3D</color>