添加赋能结果查询列表

This commit is contained in:
lianlilong 2024-04-29 19:59:58 +08:00
parent 67516c02ca
commit 1c6e7e229e
20 changed files with 971 additions and 72 deletions

View File

@ -13,8 +13,8 @@ android {
applicationId "com.police.policedatasystem" applicationId "com.police.policedatasystem"
minSdk 24 minSdk 24
targetSdk 33 targetSdk 33
versionCode 10026 versionCode 10029
versionName "1.0.26" versionName "1.0.29"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables { vectorDrawables {

View File

@ -39,12 +39,18 @@
android:theme="@style/Theme.PoliceDataSystem" android:theme="@style/Theme.PoliceDataSystem"
tools:ignore="MissingTvBanner" tools:ignore="MissingTvBanner"
tools:targetApi="31"> tools:targetApi="31">
<activity
android:name=".apply.activity.QueryApplyResultActivity"
android:exported="false" />
<activity <activity
android:name=".mine.activity.ApplyDetailActivity" android:name=".mine.activity.ApplyDetailActivity"
android:exported="false" /> android:exported="false" />
<activity <activity
android:name=".apply.activity.SuccessActivity" android:name=".apply.activity.SuccessActivity"
android:exported="false" /> android:exported="false" />
<activity
android:name=".apply.activity.ApplyActivity"
android:exported="false" />
<activity <activity
android:name=".data.activity.PoliceEmergencyDetailActivity" android:name=".data.activity.PoliceEmergencyDetailActivity"
android:exported="false" android:exported="false"

View File

@ -0,0 +1,292 @@
package com.police.policedatasystem.apply.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.police.policedatasystem.R;
import com.police.policedatasystem.apply.model.ApplyDept;
import com.police.policedatasystem.apply.model.ApplyPerson;
import com.police.policedatasystem.apply.viewmodel.ApplyPostViewModel;
import com.police.policedatasystem.databinding.ActivityApplyBinding;
import com.police.policedatasystem.databinding.DialogDeptSelectorBinding;
import com.police.policedatasystem.databinding.DialogSelectorBinding;
import com.police.policedatasystem.http.RequestClient;
import com.police.policedatasystem.util.UiUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
public class ApplyActivity extends AppCompatActivity {
private ApplyPostViewModel viewModel;
public List<ApplyDept> applyDept;
public List<ApplyPerson> applyPeople;
public RequestClient requestClient;
private com.police.policedatasystem.databinding.ActivityApplyBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityApplyBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
requestClient = RequestClient.instance();
binding.ivBack.setOnClickListener(view -> finish());
initView();
}
private void initView() {
viewModel = new ApplyPostViewModel(this);
binding.includeApply.tvCommitBtn.setOnClickListener(view -> addApply());
binding.rlLoading.setOnClickListener(view -> {
});
binding.includeApply.tvQueryOrg.setOnClickListener(view -> showDeptDialog((TextView) view, "选择部门", applyDept));
binding.includeApply.tvQueryName.setOnClickListener(view -> showPerson(applyPeople));
viewModel.getApplyDept();
binding.includeApply.tvQueryOrg.setOnClickListener(view -> showDept(applyDept));
binding.includeApply.etSearchTitle.setText(getIntent().getStringExtra("jqbh"));
// binding.includeApply.tvQueryName2.setOnClickListener(view -> {
// //打开相册选择一张图片
// openAlbum();
// });
}
private void openAlbum() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 250);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//相册
if (requestCode == 250 && resultCode == RESULT_OK && data != null) {
nrFj = UiUtils.uriToBase64(this, data.getData());
// binding.includeApply.tvQueryName2.setText(data.getData().toString());
}
}
private String nrFj = "";
public void showDept(List<ApplyDept> applyDept) {
if (applyDept == null || applyDept.isEmpty()) {
Toast.makeText(this, "暂无归属部门", Toast.LENGTH_SHORT).show();
return;
}
showDeptDialog(binding.includeApply.tvQueryOrg, "选择归属部门", applyDept);
}
public void showPerson(List<ApplyPerson> applyPeople) {
if (applyPeople == null || applyPeople.isEmpty()) {
Toast.makeText(this, "暂无审批人", Toast.LENGTH_SHORT).show();
return;
}
List<String> names = applyPeople.stream().map(ApplyPerson::getUserName).collect(Collectors.toList());
showDialog(binding.includeApply.tvQueryName, "选择审批人", names);
}
public void showDialog(TextView textView, String title, List<String> items) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
DialogSelectorBinding selectorBinding = DialogSelectorBinding.inflate(getLayoutInflater());
View dialogView = selectorBinding.getRoot();
selectorBinding.tvDialogTitle.setText(title);
RecyclerView recyclerView = selectorBinding.rcv;
recyclerView.setLayoutManager(new LinearLayoutManager(this));
BaseQuickAdapter<String, BaseViewHolder> adapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_dialog_selector, items) {
@Override
protected void convert(@NonNull BaseViewHolder baseViewHolder, String s) {
baseViewHolder.setText(R.id.tv_item_text, s);
}
};
recyclerView.setAdapter(adapter);
builder.setView(dialogView);
AlertDialog dialog = builder.create();
adapter.setOnItemClickListener((adapter1, view, position) -> {
textView.setText(items.get(position));
dialog.dismiss();
});
dialog.show();
}
public void showDeptDialog(TextView textView, String title, List<ApplyDept> items) {
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.TransparentAlertDialog);
DialogDeptSelectorBinding selectorBinding = DialogDeptSelectorBinding.inflate(getLayoutInflater());
View dialogView = selectorBinding.getRoot();
selectorBinding.tvDialogTitle.setText(title);
RecyclerView recyclerView = selectorBinding.rcv;
recyclerView.setLayoutManager(new LinearLayoutManager(this));
List<ApplyDept> data = new ArrayList<>();
for (ApplyDept item : items) {
if ("0".equals(item.getpId())) {
data.add(item);
break;
}
}
BaseQuickAdapter<ApplyDept, BaseViewHolder> adapter = new BaseQuickAdapter<ApplyDept, BaseViewHolder>(R.layout.item_select_dept, data) {
@Override
protected void convert(@NonNull BaseViewHolder baseViewHolder, ApplyDept s) {
baseViewHolder.setText(R.id.tv_title, s.getName());
boolean hasChild = false;
for (ApplyDept item : items) {
if (s.getId().equals(item.getpId())) {
hasChild = true;
break;
}
}
baseViewHolder.setVisible(R.id.iv_sanjiao, hasChild);
if (s.isOpen()) {
baseViewHolder.setImageResource(R.id.iv_sanjiao, R.mipmap.icon_down_sanjiao);
baseViewHolder.setImageResource(R.id.iv_box, R.mipmap.icon_selected);
baseViewHolder.setTextColor(R.id.tv_title, getResources().getColor(R.color.main_color));
baseViewHolder.setBackgroundColor(R.id.tv_title, getResources().getColor(R.color.selected_bg_color));
} else {
baseViewHolder.setImageResource(R.id.iv_sanjiao, R.mipmap.icon_right_sanjiao);
baseViewHolder.setImageResource(R.id.iv_box, R.mipmap.icon_unselected);
baseViewHolder.setTextColor(R.id.tv_title, getResources().getColor(R.color.color_666));
baseViewHolder.setBackgroundColor(R.id.tv_title, getResources().getColor(R.color.white));
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.getLevel(); i++) {
sb.append(" ");
}
baseViewHolder.setText(R.id.v_level, sb);
}
};
recyclerView.setAdapter(adapter);
builder.setView(dialogView);
AlertDialog dialog = builder.create();
adapter.setOnItemClickListener((adapter1, view, position) -> {
ApplyDept dept = data.get(position);
boolean open = dept.isOpen();
int addCount = 1;
for (ApplyDept item : items) {
if (item.getpId().equals(dept.getId())) {
if (open) {
removeItem(data, item);
} else {
item.setLevel(dept.getLevel() + 1);
data.add(position + addCount, item);
addCount += 1;
}
}
}
if (open) {
cancelSelected(dept);
} else {
enterSelected(data, dept);
}
adapter.setList(data);
selectorBinding.tvEnter.setOnClickListener(view1 -> {
long selectId = -1;
ApplyDept selectDept = null;
for (ApplyDept item : applyDept) {
if (item.isOpen()) {
item.setOpen(false);
if (selectId < Long.parseLong(item.getId())) {
selectId = Long.parseLong(item.getId());
selectDept = item;
}
}
}
if (selectId >= 0) {
textView.setText(selectDept.getTitle());
viewModel.getApplyPerson(selectId + "");
dialog.dismiss();
} else {
Toast.makeText(this, "请选择一个归属部门", Toast.LENGTH_SHORT).show();
}
});
});
dialog.show();
}
private void removeItem(List<ApplyDept> data, ApplyDept dept) {
data.remove(dept);
for (int i = 0; i < data.size(); i++) {
if (data.get(i).getpId().equals(dept.getId())) {
removeItem(data, data.get(i));
}
}
}
/**
* 发送成功跳转到成功页面
*/
public void sendSuccess() {
Toast.makeText(this, "提交成功!", Toast.LENGTH_SHORT).show();
finish();
}
/**
* 取消勾选
*/
private void cancelSelected(ApplyDept dept) {
dept.setOpen(false);
for (ApplyDept item : applyDept) {
if (item.getpId().equals(dept.getId())) {
cancelSelected(item);
}
}
}
/**
* 选择勾选
*/
private void enterSelected(List<ApplyDept> data, ApplyDept dept) {
for (ApplyDept item : applyDept) {
if (item.getpId().equals(dept.getpId()) && !item.equals(dept)) {
cancelSelected(item);
for (ApplyDept i : applyDept) {
if (i.getpId().equals(item.getId())) {
removeItem(data, i);
}
}
}
}
dept.setOpen(true);
}
/**
* 提交
*/
private void addApply() {
HashMap<String, String> params = new HashMap<>();
params.put("jqbh", binding.includeApply.etSearchTitle.getText().toString());
params.put("sy", "7");
params.put("sqnr", binding.includeApply.etQueryBody.getText().toString());
params.put("nrFj", nrFj);
params.put("shrName", binding.includeApply.tvQueryName.getText().toString());
for (ApplyPerson item : applyPeople) {
if (item.getUserName().equals(binding.includeApply.tvQueryName.getText().toString())) {
params.put("shrSfhm", item.getLoginName());
break;
}
}
viewModel.addApply(params);
}
public void loadingShow() {
binding.rlLoading.setVisibility(View.VISIBLE);
}
public void loadingNone() {
binding.rlLoading.setVisibility(View.GONE);
}
}

View File

@ -0,0 +1,58 @@
package com.police.policedatasystem.apply.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.police.policedatasystem.apply.viewmodel.ApplyResultViewModel;
import com.police.policedatasystem.databinding.ActivityQueryApplyResultBinding;
import com.police.policedatasystem.mine.activity.ApplyDetailActivity;
import com.police.policedatasystem.mine.adapter.MineApplyListAdapter;
import com.police.policedatasystem.mine.model.Apply;
import java.util.List;
public class QueryApplyResultActivity extends AppCompatActivity {
private ActivityQueryApplyResultBinding binding;
private MineApplyListAdapter adapter;
private List<Apply> applyList;
private ApplyResultViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityQueryApplyResultBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
viewModel = new ApplyResultViewModel(this);
binding.ivBack.setOnClickListener(view -> finish());
binding.mineRvGroup.setLayoutManager(new LinearLayoutManager(this));
adapter = new MineApplyListAdapter();
binding.mineRvGroup.setAdapter(adapter);
adapter.setOnItemClickListener((adapter1, view, position) -> applyDetail(applyList.get(position).getBh()));
viewModel.getApplyList(getIntent().getStringExtra("jqbh"));
// viewModel.getApplyList("22010020240411234457000018");
}
public void applyList(List<Apply> list) {
applyList = list;
adapter.setList(list);
}
public void applyDetail(String applyDetail) {
Intent intent = new Intent(this, ApplyDetailActivity.class);
intent.putExtra("applyDetail", applyDetail);
startActivity(intent);
}
public void loadingShow() {
binding.rlLoading.setVisibility(View.VISIBLE);
}
public void loadingNone() {
binding.rlLoading.setVisibility(View.GONE);
}
}

View File

@ -1,5 +1,7 @@
package com.police.policedatasystem.apply.fragment; package com.police.policedatasystem.apply.fragment;
import static android.app.Activity.RESULT_OK;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.Gravity; import android.view.Gravity;
@ -31,7 +33,6 @@ import com.police.policedatasystem.databinding.DialogSelectorBinding;
import com.police.policedatasystem.databinding.DropdownLayout4Binding; import com.police.policedatasystem.databinding.DropdownLayout4Binding;
import com.police.policedatasystem.databinding.FragmentApplyBinding; import com.police.policedatasystem.databinding.FragmentApplyBinding;
import com.police.policedatasystem.indexActivity; import com.police.policedatasystem.indexActivity;
import com.police.policedatasystem.main.App;
import com.police.policedatasystem.util.UiUtils; import com.police.policedatasystem.util.UiUtils;
import java.util.ArrayList; import java.util.ArrayList;
@ -62,29 +63,15 @@ public class ApplyFragment extends Fragment {
binding.includeApply.tvCommitBtn.setOnClickListener(view -> addApply()); binding.includeApply.tvCommitBtn.setOnClickListener(view -> addApply());
binding.rlLoading.setOnClickListener(view -> { binding.rlLoading.setOnClickListener(view -> {
}); });
binding.vLock.setOnClickListener(view -> {
});
viewModel.getApplyType(); viewModel.getApplyType();
viewModel.getApplyDept(); viewModel.getApplyDept();
viewModel.getApplyXXLY(); viewModel.getApplyXXLY();
viewModel.getApplyJWLX(); viewModel.getApplyJWLX();
binding.includeApply.tvQueryOrg.setOnClickListener(view -> showDept(applyDept)); binding.includeApply.tvQueryOrg.setOnClickListener(view -> showDept(applyDept));
} // binding.includeApply.tvQueryName2.setOnClickListener(view -> {
// //打开相册选择一张图片
@Override // openAlbum();
public void onResume() { // });
super.onResume();
if (App.isLock) {
binding.includeApply.etSearchTitle.setText(App.jqbh);
binding.vLock.setVisibility(View.VISIBLE);
} else {
binding.vLock.setVisibility(View.INVISIBLE);
}
}
@Override
public void onStart() {
super.onStart();
} }
/** /**
@ -92,7 +79,7 @@ public class ApplyFragment extends Fragment {
* *
* @param applyTypes 申请事由集合 * @param applyTypes 申请事由集合
*/ */
public void setPopupWindow(List<ApplyType> applyTypes) { public void setPopupWindow(List<ApplyType> applyTypes) {//布局include自定义viewservice服务启动方式
if (applyTypes.isEmpty()) { if (applyTypes.isEmpty()) {
Toast.makeText(this.getContext(), "用户未在大数据实战赋能系统登记,无法进行赋能", Toast.LENGTH_SHORT).show(); Toast.makeText(this.getContext(), "用户未在大数据实战赋能系统登记,无法进行赋能", Toast.LENGTH_SHORT).show();
return; return;
@ -257,6 +244,7 @@ public class ApplyFragment extends Fragment {
} }
params.put("sy", dictValue); params.put("sy", dictValue);
params.put("sqnr", binding.includeApply.etQueryBody.getText().toString()); params.put("sqnr", binding.includeApply.etQueryBody.getText().toString());
// params.put("nrFj", nrFj);
params.put("shrName", binding.includeApply.tvQueryName.getText().toString()); params.put("shrName", binding.includeApply.tvQueryName.getText().toString());
for (ApplyPerson item : applyPeople) { for (ApplyPerson item : applyPeople) {
if (item.getUserName().equals(binding.includeApply.tvQueryName.getText().toString())) { if (item.getUserName().equals(binding.includeApply.tvQueryName.getText().toString())) {
@ -267,6 +255,8 @@ public class ApplyFragment extends Fragment {
viewModel.addApply(params); viewModel.addApply(params);
} }
// private String nrFj = "";
/** /**
* 发送成功跳转到成功页面 * 发送成功跳转到成功页面
*/ */
@ -275,6 +265,22 @@ public class ApplyFragment extends Fragment {
getActivity().startActivity(new Intent(getActivity(), SuccessActivity.class)); getActivity().startActivity(new Intent(getActivity(), SuccessActivity.class));
} }
private void openAlbum() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 250);
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//相册
if (requestCode == 250 && resultCode == RESULT_OK && data != null) {
// nrFj = UiUtils.uriToBase64(this.getContext(), data.getData());
// binding.includeApply.tvQueryName2.setText(data.getData().toString());
}
}
public void showDialog(TextView textView, String title, List<String> items) { public void showDialog(TextView textView, String title, List<String> items) {
if (getContext() == null) return; if (getContext() == null) return;
AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

View File

@ -0,0 +1,110 @@
package com.police.policedatasystem.apply.viewmodel;
import androidx.annotation.NonNull;
import com.police.policedatasystem.apply.activity.ApplyActivity;
import com.police.policedatasystem.apply.model.ApplyDept;
import com.police.policedatasystem.apply.model.ApplyPerson;
import com.police.policedatasystem.apply.model.ApplyType;
import com.police.policedatasystem.http.CustomCallBack;
import com.police.policedatasystem.util.UiUtils;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
public class ApplyPostViewModel {
public ApplyActivity activity;
public ApplyPostViewModel(ApplyActivity activity) {
this.activity = activity;
}
public void getApplyDept() {
activity.loadingShow();
activity.requestClient.getApplyDept(new CustomCallBack<List<ApplyDept>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyDept> value) {
activity.applyDept = value;
activity.loadingNone();
}
});
}
public void getApplyPerson(String deptId) {
activity.loadingShow();
activity.requestClient.getApplyPerson(deptId, new CustomCallBack<List<ApplyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyPerson> value) {
activity.applyPeople = value;
activity.loadingNone();
}
});
}
//
// public void getApplyJWLX() {
// activity.loadingShow();
// activity.requestClient.getApplyJWLX(new CustomCallBack<List<ApplyType>>() {
// @Override
// public void onError(@NonNull Call call, @NonNull Exception e) {
// UiUtils.toast(e.getMessage());
// activity.loadingNone();
// }
//
// @Override
// public void onSuccess(List<ApplyType> value) {
// activity.applyJWLX = value;
// activity.loadingNone();
// }
// });
// }
//
// public void getApplyXXLY() {
// activity.loadingShow();
// activity.requestClient.getApplyXXLY(new CustomCallBack<List<ApplyType>>() {
// @Override
// public void onError(@NonNull Call call, @NonNull Exception e) {
// UiUtils.toast(e.getMessage());
// activity.loadingNone();
// }
//
// @Override
// public void onSuccess(List<ApplyType> value) {
// activity.applyXXLY = value;
// activity.loadingNone();
// }
// });
// }
public void addApply(HashMap<String, String> map) {
activity.loadingShow();
activity.requestClient.addApply(map, new CustomCallBack<Object>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(Object value) {
activity.sendSuccess();
activity.loadingNone();
}
});
}
}

View File

@ -0,0 +1,42 @@
package com.police.policedatasystem.apply.viewmodel;
import androidx.annotation.NonNull;
import com.police.policedatasystem.apply.activity.QueryApplyResultActivity;
import com.police.policedatasystem.http.CustomCallBack;
import com.police.policedatasystem.http.RequestClient;
import com.police.policedatasystem.mine.model.Apply;
import com.police.policedatasystem.util.UiUtils;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
public class ApplyResultViewModel {
public QueryApplyResultActivity activity;
public ApplyResultViewModel(QueryApplyResultActivity activity) {
this.activity = activity;
}
public void getApplyList(String fnbh) {
activity.loadingShow();
HashMap<String, String> map = new HashMap<>();
map.put("jqbh", fnbh);
// map.put("sfhm", "220283197910023151");
RequestClient.instance().getApplyList(map, new CustomCallBack<List<Apply>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<Apply> value) {
activity.applyList(value);
activity.loadingNone();
}
});
}
}

View File

@ -17,6 +17,8 @@ import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.police.policedatasystem.R; import com.police.policedatasystem.R;
import com.police.policedatasystem.apply.activity.ApplyActivity;
import com.police.policedatasystem.apply.activity.QueryApplyResultActivity;
import com.police.policedatasystem.apply.model.ApplyType; import com.police.policedatasystem.apply.model.ApplyType;
import com.police.policedatasystem.apply.model.DetailQueryResult; import com.police.policedatasystem.apply.model.DetailQueryResult;
import com.police.policedatasystem.data.model.PoliceEmergencyDetail; import com.police.policedatasystem.data.model.PoliceEmergencyDetail;
@ -24,7 +26,6 @@ import com.police.policedatasystem.databinding.ActivityPoliceEmergencyDetailBind
import com.police.policedatasystem.http.CustomCallBack; import com.police.policedatasystem.http.CustomCallBack;
import com.police.policedatasystem.http.RequestClient; import com.police.policedatasystem.http.RequestClient;
import com.police.policedatasystem.main.App; import com.police.policedatasystem.main.App;
import com.police.policedatasystem.mine.activity.ApplyDetailActivity;
import com.police.policedatasystem.util.Constants; import com.police.policedatasystem.util.Constants;
import com.police.policedatasystem.util.UiUtils; import com.police.policedatasystem.util.UiUtils;
@ -115,10 +116,9 @@ public class PoliceEmergencyDetailActivity extends Activity {
if (value.isEmpty()) { if (value.isEmpty()) {
Toast.makeText(PoliceEmergencyDetailActivity.this, "用户未在大数据实战赋能系统登记,无法填写工单", Toast.LENGTH_SHORT).show(); Toast.makeText(PoliceEmergencyDetailActivity.this, "用户未在大数据实战赋能系统登记,无法填写工单", Toast.LENGTH_SHORT).show();
} else { } else {
App.mainIndex = 1; Intent intent = new Intent(PoliceEmergencyDetailActivity.this, ApplyActivity.class);
App.isLock = true; intent.putExtra("jqbh", jqbh);
App.jqbh = jqbh; startActivity(intent);
finish();
} }
} }
}); });
@ -137,7 +137,7 @@ public class PoliceEmergencyDetailActivity extends Activity {
if (value.isEmpty()) { if (value.isEmpty()) {
Toast.makeText(PoliceEmergencyDetailActivity.this, "用户未在大数据实战赋能系统登记,无法查看结果", Toast.LENGTH_SHORT).show(); Toast.makeText(PoliceEmergencyDetailActivity.this, "用户未在大数据实战赋能系统登记,无法查看结果", Toast.LENGTH_SHORT).show();
} else { } else {
Intent intent = new Intent(PoliceEmergencyDetailActivity.this, ApplyDetailActivity.class); Intent intent = new Intent(PoliceEmergencyDetailActivity.this, QueryApplyResultActivity.class);
intent.putExtra("jqbh", jqbh); intent.putExtra("jqbh", jqbh);
startActivity(intent); startActivity(intent);
} }

View File

@ -379,7 +379,7 @@ public class RequestClient extends BaseRequestClient {
* } * }
*/ */
public void getApplyList(HashMap<String, String> params, CustomCallBack<List<Apply>> callBack) { public void getApplyList(HashMap<String, String> params, CustomCallBack<List<Apply>> callBack) {
params.put("sfhm", "220183197210264653"); params.put("sfhm", Constants.SFZH);
request(Constants.MINE_LIST_ID, new Gson().toJson(params), new CustomCallBack<String>() { request(Constants.MINE_LIST_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override @Override
public void onError(Call call, @NonNull Exception e) { public void onError(Call call, @NonNull Exception e) {
@ -420,7 +420,7 @@ public class RequestClient extends BaseRequestClient {
/** /**
* 警情详情跳转到我的赋能详情 * 警情详情跳转到我的赋能详情
*/ */
public void jumpApplyDetail(String jqbh, CustomCallBack<ApplyDetail> callBack) { public void jumpApplyDetail(String jqbh, CustomCallBack<List<Apply>> callBack) {
HashMap<String, String> params = new HashMap<>(); HashMap<String, String> params = new HashMap<>();
params.put("sfhm", Constants.SFZH); params.put("sfhm", Constants.SFZH);
params.put("sfzh", Constants.SFZH); params.put("sfzh", Constants.SFZH);
@ -434,8 +434,9 @@ public class RequestClient extends BaseRequestClient {
@Override @Override
public void onSuccess(String value) { public void onSuccess(String value) {
ApplyDetail applyDetail = new Gson().fromJson(value, ApplyDetail.class); List<Apply> applyTypes = new Gson().fromJson(value, new TypeToken<List<Apply>>() {
callBack.onSuccess(applyDetail); }.getType());
callBack.onSuccess(applyTypes);
} }
}); });
} }

View File

@ -18,7 +18,6 @@ import androidx.fragment.app.FragmentTransaction;
import com.police.policedatasystem.apply.fragment.ApplyFragment; import com.police.policedatasystem.apply.fragment.ApplyFragment;
import com.police.policedatasystem.data.fragment.DataFragment; import com.police.policedatasystem.data.fragment.DataFragment;
import com.police.policedatasystem.databinding.ActivityIndexBinding; import com.police.policedatasystem.databinding.ActivityIndexBinding;
import com.police.policedatasystem.http.BaseRequestClient;
import com.police.policedatasystem.http.RequestClient; import com.police.policedatasystem.http.RequestClient;
import com.police.policedatasystem.main.App; import com.police.policedatasystem.main.App;
import com.police.policedatasystem.main.viewmodel.IndexViewModel; import com.police.policedatasystem.main.viewmodel.IndexViewModel;
@ -43,15 +42,12 @@ public class indexActivity extends AppCompatActivity {
initView(); initView();
viewModel = new IndexViewModel(this); viewModel = new IndexViewModel(this);
requestClient = RequestClient.instance(); requestClient = RequestClient.instance();
requestClient.init(() -> { requestClient.init(() -> initData());
initData();
});
} }
private void initView() { private void initView() {
binding.navBarGroup.navBar1.setOnClickListener(view -> { binding.navBarGroup.navBar1.setOnClickListener(view -> {
App.mainIndex = 0; App.mainIndex = 0;
App.isLock=false;
changeFootBar(); changeFootBar();
}); });
binding.navBarGroup.navBar2.setOnClickListener(view -> { binding.navBarGroup.navBar2.setOnClickListener(view -> {
@ -60,7 +56,6 @@ public class indexActivity extends AppCompatActivity {
}); });
binding.navBarGroup.navBar3.setOnClickListener(view -> { binding.navBarGroup.navBar3.setOnClickListener(view -> {
App.mainIndex = 2; App.mainIndex = 2;
App.isLock=false;
changeFootBar(); changeFootBar();
}); });
// binding.navBarGroup.navBar4.setOnClickListener(view -> { // binding.navBarGroup.navBar4.setOnClickListener(view -> {

View File

@ -10,8 +10,6 @@ public class App extends Application {
* 首页显示fragment索引 * 首页显示fragment索引
*/ */
public static int mainIndex = 0; public static int mainIndex = 0;
public static boolean isLock = false;
public static String jqbh = "";
private static Handler handler; private static Handler handler;

View File

@ -29,11 +29,11 @@ public class ApplyDetailActivity extends AppCompatActivity {
}); });
viewModel = new DetailViewModel(this); viewModel = new DetailViewModel(this);
if (getIntent().getStringExtra("applyDetail") == null) { // if (getIntent().getStringExtra("applyDetail") == null) {
viewModel.jumpApplyDetail(getIntent().getStringExtra("jqbh")); //// viewModel.jumpApplyDetail(getIntent().getStringExtra("jqbh"));
} else { // } else {
viewModel.getApplyDetail(getIntent().getStringExtra("applyDetail")); viewModel.getApplyDetail(getIntent().getStringExtra("applyDetail"));
} // }
} }

View File

@ -34,20 +34,20 @@ public class DetailViewModel {
} }
}); });
} }
public void jumpApplyDetail(String fnbh) { // public void jumpApplyDetail(String fnbh) {
activity.loadingShow(); // activity.loadingShow();
requestClient.jumpApplyDetail(fnbh, new CustomCallBack<ApplyDetail>() { // requestClient.jumpApplyDetail(fnbh, new CustomCallBack<ApplyDetail>() {
@Override // @Override
public void onError(@NonNull Call call, @NonNull Exception e) { // public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage()); // UiUtils.toast(e.getMessage());
activity.loadingNone(); // activity.loadingNone();
} // }
//
@Override // @Override
public void onSuccess(ApplyDetail value) { // public void onSuccess(ApplyDetail value) {
activity.applyDetail(value); // activity.applyDetail(value);
activity.loadingNone(); // activity.loadingNone();
} // }
}); // });
} // }
} }

View File

@ -73,11 +73,11 @@ public final class Constants {
} }
public static void setSFZH(String str) { public static void setSFZH(String str) {
// SFZH = str; SFZH = str;
} }
public static void setORG_ID(String str) { public static void setORG_ID(String str) {
// USER_ORG_ID = str; USER_ORG_ID = str;
} }
/** /**

View File

@ -1,10 +1,15 @@
package com.police.policedatasystem.util; package com.police.policedatasystem.util;
import android.content.Context;
import android.net.Uri;
import android.util.Base64; import android.util.Base64;
import android.widget.Toast; import android.widget.Toast;
import com.police.policedatasystem.main.App; import com.police.policedatasystem.main.App;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID; import java.util.UUID;
public class UiUtils { public class UiUtils {
@ -18,6 +23,7 @@ public class UiUtils {
final float scale = App.getApp().getResources().getDisplayMetrics().density; final float scale = App.getApp().getResources().getDisplayMetrics().density;
return Math.round((float) dpValue * scale); return Math.round((float) dpValue * scale);
} }
public static String uuid() { public static String uuid() {
return UUID.randomUUID().toString(); return UUID.randomUUID().toString();
} }
@ -39,6 +45,7 @@ public class UiUtils {
} }
return !str.isEmpty(); return !str.isEmpty();
} }
public static void ui() { public static void ui() {
App.getHandler().post(new Runnable() { App.getHandler().post(new Runnable() {
@Override @Override
@ -52,6 +59,7 @@ public class UiUtils {
public static byte[] base64ToBytes(String base64Str) { public static byte[] base64ToBytes(String base64Str) {
return Base64.decode(base64Str, Base64.DEFAULT); return Base64.decode(base64Str, Base64.DEFAULT);
} }
public static String formatTime(String str) { public static String formatTime(String str) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
if (UiUtils.isEmpty(str)) return ""; if (UiUtils.isEmpty(str)) return "";
@ -75,4 +83,27 @@ public class UiUtils {
} }
return ""; return "";
} }
public static String uriToBase64(Context context, Uri uri) {
String base64 = null;
try (InputStream inputStream = context.getContentResolver().openInputStream(uri);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
// 读取输入流的内容到字节数组输出流
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
byteArrayOutputStream.write(buffer, 0, bytesRead);
}
// 将字节数组转换为Base64编码的字符串
byte[] byteArray = byteArrayOutputStream.toByteArray();
base64 = Base64.encodeToString(byteArray, Base64.DEFAULT);
} catch (IOException e) {
e.printStackTrace();
}
return base64;
}
} }

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white">
<ImageView
android:id="@+id/iv_back"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="16dp"
android:src="@drawable/back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="申请赋能"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="100dp"
android:background="@drawable/top_10_f7_bg" />
<RelativeLayout
android:id="@+id/table_group"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="60dp"
android:background="@drawable/all_7_fff_bg"
android:gravity="center_vertical"
android:paddingHorizontal="10dp">
<TextView
android:id="@+id/tv_my_key_person"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="申请事由:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<RelativeLayout
android:id="@+id/type_group"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:layout_marginBottom="5dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_10_ccc_bg"
android:paddingHorizontal="15dp">
<TextView
android:id="@+id/tv_apply_search_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="处置警情"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
</RelativeLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/table_group"
android:layout_marginTop="15dp">
<include
android:id="@+id/include_apply"
layout="@layout/item_apply_fragment_2" />
</FrameLayout>
<RelativeLayout
android:id="@+id/rl_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true" />
</RelativeLayout>
</RelativeLayout>

View File

@ -0,0 +1,49 @@
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".apply.activity.QueryApplyResultActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_back"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="16dp"
android:src="@drawable/back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="赋能结果"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
<!-- 这里放置你的RecyclerView或其他需要刷新的布局 -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mine_rv_group"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp" />
<RelativeLayout
android:id="@+id/rl_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -98,13 +98,6 @@
layout="@layout/item_apply_fragment_1" /> layout="@layout/item_apply_fragment_1" />
</FrameLayout> </FrameLayout>
<View
android:id="@+id/v_lock"
android:layout_width="match_parent"
android:layout_height="140dp"
android:layout_marginTop="60dp"
android:visibility="invisible" />
<RelativeLayout <RelativeLayout
android:id="@+id/rl_loading" android:id="@+id/rl_loading"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -145,6 +145,44 @@
android:padding="7dp" android:padding="7dp"
android:src="@mipmap/icon_query" /> android:src="@mipmap/icon_query" />
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_below="@id/tv_query_name"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:layout_toLeftOf="@id/tv_query_name"-->
<!-- android:gravity="center"-->
<!-- android:text="图片:"-->
<!-- android:textColor="@color/normal_color"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv_query_name2"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_below="@id/tv_query_name"-->
<!-- android:layout_centerVertical="true"-->
<!-- android:layout_marginLeft="10dp"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:layout_toRightOf="@id/tv_my_key_person"-->
<!-- android:background="@drawable/all_7_line_ccc_bg"-->
<!-- android:gravity="center_vertical"-->
<!-- android:maxLines="1"-->
<!-- android:paddingHorizontal="10dp"-->
<!-- android:textColor="@color/color_666"-->
<!-- android:textSize="16sp"-->
<!-- tools:text="image" />-->
<!-- <ImageView-->
<!-- android:layout_width="40dp"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_alignTop="@id/tv_query_name2"-->
<!-- android:layout_alignRight="@id/tv_query_name2"-->
<!-- android:background="@drawable/right_7_052eba_bg"-->
<!-- android:padding="7dp"-->
<!-- android:src="@mipmap/icon_query" />-->
<TextView <TextView
android:id="@+id/tv_commit_btn" android:id="@+id/tv_commit_btn"
android:layout_width="80dp" android:layout_width="80dp"

View File

@ -0,0 +1,185 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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_marginHorizontal="10dp"
android:background="@drawable/all_7_fff_bg"
android:padding="10dp">
<TextView
android:id="@+id/tv_my_key_person"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="警情编号:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/et_search_title"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="987645561321312313" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/tv_my_key_person"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="查询内容:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<EditText
android:id="@+id/et_query_body"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_below="@id/tv_my_key_person"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="top"
android:maxLines="50"
android:paddingHorizontal="10dp"
android:paddingVertical="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="987645561321312313" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/et_query_body"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="归属部门:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_query_org"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/et_query_body"
android:layout_centerVertical="true"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="二道区公安分局" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignTop="@id/tv_query_org"
android:layout_alignRight="@id/tv_query_org"
android:background="@drawable/right_7_052eba_bg"
android:padding="7dp"
android:src="@mipmap/icon_query" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/tv_query_org"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@id/tv_query_name"
android:gravity="center"
android:text="审批人:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_query_name"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/tv_query_org"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="李大国" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignTop="@id/tv_query_name"
android:layout_alignRight="@id/tv_query_name"
android:background="@drawable/right_7_052eba_bg"
android:padding="7dp"
android:src="@mipmap/icon_query" />
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_below="@id/tv_query_name"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:layout_toLeftOf="@id/tv_query_name"-->
<!-- android:gravity="center"-->
<!-- android:text="图片:"-->
<!-- android:textColor="@color/normal_color"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv_query_name2"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_below="@id/tv_query_name"-->
<!-- android:layout_centerVertical="true"-->
<!-- android:layout_marginLeft="10dp"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:layout_toRightOf="@id/tv_my_key_person"-->
<!-- android:background="@drawable/all_7_line_ccc_bg"-->
<!-- android:gravity="center_vertical"-->
<!-- android:maxLines="1"-->
<!-- android:paddingHorizontal="10dp"-->
<!-- android:textColor="@color/color_666"-->
<!-- android:textSize="16sp"-->
<!-- tools:text="image" />-->
<!-- <ImageView-->
<!-- android:layout_width="40dp"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_alignTop="@id/tv_query_name2"-->
<!-- android:layout_alignRight="@id/tv_query_name2"-->
<!-- android:background="@drawable/right_7_052eba_bg"-->
<!-- android:padding="7dp"-->
<!-- android:src="@mipmap/icon_query" />-->
<TextView
android:id="@+id/tv_commit_btn"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_below="@id/tv_query_name"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="@drawable/all_7_main_bg"
android:gravity="center"
android:text="提交"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>