From 7a1caa42ad3282ff22513785fa997953e084b188 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 16 十二月 2024 15:50:31 +0800
Subject: [PATCH] 1.修改app的Icon。 2.优化取水口加载本地数据,改为异步加载。 3.添加取水口点击后显示取水口信息。 4.美化登录界面。
---
app/src/main/res/mipmap-xhdpi/logo2.png | 0
app/src/main/java/com/dayu/pipirrapp/utils/WebViewUtils.java | 16
app/src/main/assets/js/map.js | 68 +--
app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java | 21
app/src/main/res/layout/item_issue.xml | 1
app/src/main/java/com/dayu/pipirrapp/tool/MyWebViewInterface.java | 8
app/src/main/java/com/dayu/pipirrapp/activity/IssueListActivity.java | 20 +
app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java | 18 +
app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java | 6
app/src/main/java/com/dayu/pipirrapp/adapter/IssueAdapter.java | 8
app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java | 31 +
app/src/main/res/layout/activity_issue_detail.xml | 148 +++++++-
app/src/main/AndroidManifest.xml | 9
app/src/main/res/layout/item_order.xml | 83 ----
app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java | 8
app/src/main/java/com/dayu/pipirrapp/dao/MarkerDao.java | 4
app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java | 35 ++
/dev/null | 0
app/src/main/res/layout/fragment_map.xml | 79 +++
app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java | 192 +++++++++++
app/src/main/res/layout/activity_login.xml | 16
app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java | 161 ++++-----
app/src/main/java/com/dayu/pipirrapp/tool/MarkerUtils.java | 35 ++
app/src/main/res/drawable/ic_right_blue.xml | 13
app/src/main/res/mipmap-xhdpi/logo1.png | 0
25 files changed, 707 insertions(+), 273 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 826c166..3940e11 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,9 +69,9 @@
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:hardwareAccelerated="true"
- android:icon="@mipmap/ic_launcher"
+ android:icon="@mipmap/logo2"
android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
+ android:roundIcon="@mipmap/logo2"
android:supportsRtl="true"
android:theme="@style/Theme.PipIrrApp"
android:usesCleartextTraffic="true"
@@ -104,8 +104,9 @@
</activity>
<activity android:name=".activity.OrderDetailActivity" />
<activity android:name=".activity.OrderDealActivity" />
- <activity android:name=".activity.AddIssueActivity"/>
- <activity android:name=".activity.IssueListActivity"/>
+ <activity android:name=".activity.AddIssueActivity" />
+ <activity android:name=".activity.IssueListActivity" />
+ <activity android:name=".activity.IssueDetailActivity" />
<!-- <activity android:name=".activity.MainActivity" />-->
diff --git a/app/src/main/assets/js/map.js b/app/src/main/assets/js/map.js
index 367686b..3df1bb6 100644
--- a/app/src/main/assets/js/map.js
+++ b/app/src/main/assets/js/map.js
@@ -18,11 +18,11 @@
mountMethodToWindow();
});
- window.onload = function () {
- console.log(window.onload); // 鎵撳嵃鏁扮粍鏁版嵁
- //鍔犺浇鍧愭爣鐐�
- window.Android.loadMarker();
- };
+ // window.onload = function () {
+ // console.log(window.onload); // 鎵撳嵃鏁扮粍鏁版嵁
+ // //鍔犺浇鍧愭爣鐐�
+ // window.Android.loadMarker();
+ // };
// 鍒濆鍖栧湴鍥�
function initMap() {
// 褰卞儚搴曞浘
@@ -170,8 +170,8 @@
window.updateLocation = updateLocation;
window.aginShowLocation = aginShowLocation;
window.cleanLocationLay = cleanLocationLay;
- window.updateInspectionLocation=updateInspectionLocation;
- window.cleanLoclLay=cleanLoclLay;
+ window.updateInspectionLocation = updateInspectionLocation;
+ window.cleanLoclLay = cleanLoclLay;
}
@@ -204,9 +204,9 @@
}
// 鐐瑰嚮鏍囨敞鐨勪簨浠�
- function addMarkerListener(data) {
+ function addMarkerListener(id,data) {
chageMarkerIcon(data);
- showWaterIntakeDetail("妯℃嫙鏁版嵁");
+ showWaterIntakeDetail(id);
}
// 淇敼鐐瑰嚮鏍囨敞鐨勫浘鏍�
@@ -244,35 +244,33 @@
return data1.lat === data2.lat && data1.lng === data2.lng;
}
//娣诲姞浠庡師鐢熶紶杩囨潵鐨勫潗鏍囧苟鏄剧ず鍦ㄥ湴鍥句笂
- function addMarker(jsonData) {
+ function addMarker(id,lng,lat,name) {
console.log("function銆嬨�嬨�嬨�嬨�媋ddMarker");
- var array = JSON.parse(jsonData);
+
var icon = new T.Icon({
iconUrl: markerBluePath,
iconSize: new T.Point(27, 27),
iconAnchor: new T.Point(10, 25)
});
- array.forEach(element => {
- let marker = new T.Marker(
- new T.LngLat(element[0], element[1]) // 鍒涘缓鏍囨敞
- , { icon: icon });
- //娣诲姞鐐瑰嚮浜嬩欢
- marker.addEventListener("click", (data) => {
- addMarkerListener(data)
- });
- map.addOverLay(marker); // 灏嗘爣娉ㄦ坊鍔犲埌鍦板浘涓�
- let label = new T.Label({
- text: element[2],
- position: marker.getLngLat(),
- offset: new T.Point(-35, 8), // 璁剧疆鏍囨敞鏂囧瓧鐨勪綅缃�
- opacity: 1, // 璁剧疆鏂囨湰鐨勬樉绀轰笉閫忔槑搴︼紙鑼冨洿0-1锛�
- });
- label.setBorderLine(0); // 璁剧疆鏂囨湰鐨勮竟妗嗙嚎瀹�
- label.setBackgroundColor("transparent"); // 璁剧疆鏂囨湰鐨勮儗鏅壊锛堥�忔槑鑹诧級
- label.setFontColor("#0000FF");
- label.setFontSize(10);
- map.addOverLay(label);
+ let marker = new T.Marker(
+ new T.LngLat(lng, lat) // 鍒涘缓鏍囨敞
+ , { icon: icon });
+ //娣诲姞鐐瑰嚮浜嬩欢
+ marker.addEventListener("click", (data) => {
+ addMarkerListener(id,data)
});
+ map.addOverLay(marker); // 灏嗘爣娉ㄦ坊鍔犲埌鍦板浘涓�
+ let label = new T.Label({
+ text: name,
+ position: marker.getLngLat(),
+ offset: new T.Point(-35, 8), // 璁剧疆鏍囨敞鏂囧瓧鐨勪綅缃�
+ opacity: 1, // 璁剧疆鏂囨湰鐨勬樉绀轰笉閫忔槑搴︼紙鑼冨洿0-1锛�
+ });
+ label.setBorderLine(0); // 璁剧疆鏂囨湰鐨勮竟妗嗙嚎瀹�
+ label.setBackgroundColor("transparent"); // 璁剧疆鏂囨湰鐨勮儗鏅壊锛堥�忔槑鑹诧級
+ label.setFontColor("#0000FF");
+ label.setFontSize(10);
+ map.addOverLay(label);
return "addMarker鍔犺浇鎴愬姛"
}
//鏇存柊瀹氫綅鍧愭爣
@@ -303,7 +301,7 @@
lineLayer.setLngLats(path);
map.addOverLay(lineLayer);
// 绉诲姩鍦板浘瑙嗚鍒版渶鍚庝竴涓綅缃�
-
+
// }, 500);
}
@@ -322,18 +320,18 @@
function cleanLocationLay() {
if (lineLayer) {
map.removeOverLay(lineLayer);
- path=[]
+ path = []
}
if (locationMarker) {
map.removeOverLay(locationMarker);
}
if (oldLineLayer) {
- aginPath=[]
+ aginPath = []
map.removeOverLay(oldLineLayer);
}
}
//娓呴櫎鏈湴瀹氫綅鍧愭爣浣嶇疆
- function cleanLoclLay(){
+ function cleanLoclLay() {
if (locationMarker) {
map.removeOverLay(locationMarker);
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
index 22792da..d1e451e 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
@@ -271,14 +271,16 @@
//澶勭悊浠庣浉鍐岃繑鍥炴椂鍙栨秷鐨勫浘鐗囧鐞�
existingPaths.removeAll(resultPaths);
if (!existingPaths.isEmpty()) {
+ List<UplodFileState> toRemove = new ArrayList<>();
for (String path : existingPaths) {
for (UplodFileState uplodFileState : uplodFileStates) {
if (path.equals(uplodFileState.getFilePath())) {
uplodFileState.getThisCall().cancel();
- uplodFileStates.remove(uplodFileState);
+ toRemove.add(uplodFileState);
}
}
}
+ uplodFileStates.removeAll(toRemove);
}
runOnUiThread(new Runnable() {
@Override
@@ -351,7 +353,7 @@
* 寮�濮嬪畾浣嶇浉鍏抽�昏緫
*/
private void startLocation() {
- ServiceUtils.startLocationService(this, true);
+ ServiceUtils.startLocationService(this, true);
//鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐�
LiveEventBus.get(CommonKeyName.locationData).observeForever(locationObserver);
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
new file mode 100644
index 0000000..ce34a36
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
@@ -0,0 +1,192 @@
+package com.dayu.pipirrapp.activity;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.res.ResourcesCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
+
+import com.dayu.pipirrapp.MyApplication;
+import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.adapter.ImageAdapter;
+import com.dayu.pipirrapp.bean.net.ImageResult;
+import com.dayu.pipirrapp.bean.net.IssueResult;
+import com.dayu.pipirrapp.databinding.ActivityIssueDetailBinding;
+import com.dayu.pipirrapp.fragment.OrderFragment;
+import com.dayu.pipirrapp.net.ApiManager;
+import com.dayu.pipirrapp.net.BaseResponse;
+import com.dayu.pipirrapp.net.Constants;
+import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
+import com.dayu.pipirrapp.tool.FullyGridLayoutManager;
+import com.dayu.pipirrapp.utils.ToastUtil;
+import com.dayu.pipirrapp.view.ConfirmDialog;
+import com.dayu.pipirrapp.view.TitleBar;
+import com.luck.picture.lib.decoration.GridSpacingItemDecoration;
+import com.luck.picture.lib.utils.DensityUtil;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import cc.shinichi.library.ImagePreview;
+
+/**
+ * IssueDetailActivity - 闂涓婃姤璇︽儏鐣岄潰
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-12-12
+ */
+public class IssueDetailActivity extends BaseActivity {
+
+ RecyclerView mRecyclerView;
+ ActivityIssueDetailBinding binding;
+ ImageAdapter mAdapter;
+ List<String> imageInfoList = new ArrayList<>();
+ List<ImageResult> images = new ArrayList<>();
+ int state;
+ String issueReportId;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = ActivityIssueDetailBinding.inflate(LayoutInflater.from(this));
+ setContentView(binding.getRoot());
+ issueReportId = this.getIntent().getStringExtra("issueReportId");
+ initView();
+
+ getData(issueReportId);
+ }
+
+ private void initView() {
+ new TitleBar(this).setTitleText("闂璇︽儏").setLeftIco().setLeftIcoListening(v -> IssueDetailActivity.this.finish());
+ mRecyclerView = binding.recyclerView;
+ FullyGridLayoutManager manager = new FullyGridLayoutManager(this, 4, GridLayoutManager.VERTICAL, false);
+ mRecyclerView.setLayoutManager(manager);
+ RecyclerView.ItemAnimator itemAnimator = mRecyclerView.getItemAnimator();
+ if (itemAnimator != null) {
+ ((SimpleItemAnimator) itemAnimator).setSupportsChangeAnimations(false);
+ }
+ // 娣诲姞闂磋窛瑁呴グ锛岀‘淇濆浘鐗囨湁鍚堥�傜殑闂撮殧
+ mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false));
+ mAdapter = new ImageAdapter(this, images, (v, position) -> {
+ ImagePreview.getInstance().setContext(IssueDetailActivity.this).setImageList(imageInfoList).start();
+
+ });
+ mRecyclerView.setAdapter(mAdapter);
+ }
+
+ private void getData(String issueReportId) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("issueReportId", issueReportId);
+ ApiManager.getInstance().requestGet(this, Constants.BASE_URL + "/app/issue/getOneIssueReport", IssueResult.class, params, new SubscriberListener<BaseResponse<IssueResult>>() {
+ @Override
+ public void onNext(BaseResponse<IssueResult> t) {
+ if (t.isSuccess()) {
+ if (t.isSuccess()) {
+ if (t.getContent() != null) {
+ IssueResult orderDetailResult = t.getContent();
+ binding.setData(orderDetailResult);
+ binding.setItemclidk(IssueDetailActivity.this);
+ state = orderDetailResult.getStateId();
+ images.addAll(t.getContent().getImages());
+ for (ImageResult imageResult : images) {
+ imageInfoList.add(imageResult.getWebPath());
+ }
+ mAdapter.notifyDataSetChanged();
+ switch (state) {
+ case 1://鏈彈鐞�
+ binding.stateText.setTextColor(IssueDetailActivity.this.getResources().getColor(R.color.black, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(IssueDetailActivity.this.getResources(), R.drawable.order_state_no_bg, null));
+ binding.callBackLL.setVisibility(View.GONE);
+ binding.deleteButton.setVisibility(View.VISIBLE);
+ break;
+ case 2://宸插彈鐞�
+ binding.stateText.setTextColor(IssueDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(IssueDetailActivity.this.getResources(), R.drawable.order_state_wait_bg, null));
+ binding.callBackLL.setVisibility(View.VISIBLE);
+ binding.deleteButton.setVisibility(View.GONE);
+ break;
+ case 3://3宸插垹闄�
+ binding.stateText.setTextColor(IssueDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(IssueDetailActivity.this.getResources(), R.drawable.order_state_reject_bg, null));
+ binding.callBackLL.setVisibility(View.VISIBLE);
+ binding.deleteButton.setVisibility(View.GONE);
+ break;
+
+ }
+ } else {
+ ToastUtil.showToast(IssueDetailActivity.this, t.getMsg());
+ }
+ } else if (t.DATA_NULL.equals(t.getCode())) {
+ //宸ュ崟宸茶鍒犻櫎
+ ToastUtil.showToast(IssueDetailActivity.this, "璁㈠崟宸茶鍒犻櫎锛�");
+ setResult(OrderFragment.RESULT_REFRESH);
+ IssueDetailActivity.this.finish();
+
+ } else {
+ ToastUtil.showToast(IssueDetailActivity.this, t.getMsg());
+ IssueDetailActivity.this.finish();
+ }
+ } else {
+ ToastUtil.showToast(IssueDetailActivity.this, t.getMsg());
+ }
+ }
+
+ @Override
+ public void onCloose() {
+ super.onCloose();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ ToastUtil.showToastLong(IssueDetailActivity.this, "鑾峰彇璇︽儏澶辫触锛岃绋嶅悗鍐嶈瘯");
+ IssueDetailActivity.this.finish();
+ }
+ });
+ }
+
+ public void deleteIssue() {
+ ConfirmDialog confirmDialog = new ConfirmDialog(IssueDetailActivity.this, "纭鍒犻櫎褰撳墠闂鍚楋紵", (confirmDialog1, v1) -> {
+ confirmDialog1.dismiss();
+ delete(issueReportId);
+ });
+ confirmDialog.show();
+ }
+
+ private void delete(String issueReportId) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("issueReportId", issueReportId);
+ params.put("inspectorId", MyApplication.myApplication.userId);
+ ApiManager.getInstance().requestPost(this, Constants.BASE_URL + "/app/issue/deleteIssueReport", IssueResult.class, params, new SubscriberListener<BaseResponse<IssueResult>>() {
+ @Override
+ public void onNext(BaseResponse<IssueResult> t) {
+ if (t.isSuccess()) {
+ setResult(IssueListActivity.RESULT_REFRESH);
+ ToastUtil.showToastLong(IssueDetailActivity.this, "鍒犻櫎鎴愬姛!");
+ IssueDetailActivity.this.finish();
+ } else {
+ ToastUtil.showToast(IssueDetailActivity.this, t.getMsg());
+ }
+ }
+
+ @Override
+ public void onCloose() {
+ super.onCloose();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ ToastUtil.showToastLong(IssueDetailActivity.this, "鍒犻櫎澶辫触锛岃绋嶅悗鍐嶈瘯");
+
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/IssueListActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/IssueListActivity.java
index 26283d2..a97eef8 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/IssueListActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/IssueListActivity.java
@@ -1,8 +1,13 @@
package com.dayu.pipirrapp.activity;
+import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
+import androidx.activity.result.ActivityResult;
+import androidx.activity.result.ActivityResultCallback;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -34,11 +39,22 @@
* @since 2024-12-10
*/
public class IssueListActivity extends BaseActivity {
+ public static final int RESULT_REFRESH = 1001;
+
ActivityIssueListBinding binding;
RefreshLayout myRefreshLayout;
List<IssueResult> recordsList = new ArrayList<>();
IssueAdapter mAdapter;
+
+ private final ActivityResultLauncher<Intent> activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
+ @Override
+ public void onActivityResult(ActivityResult result) {
+ if (result.getResultCode() == RESULT_REFRESH) {
+ myRefreshLayout.autoRefresh();
+ }
+ }
+ });
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -114,6 +130,8 @@
}
public void startDetail(String issueReportId) {
-
+ Intent intent = new Intent(IssueListActivity.this, IssueDetailActivity.class);
+ intent.putExtra("issueReportId", issueReportId);
+ activityResultLauncher.launch(intent);
}
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
index 2d796c5..ffc7a1c 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
@@ -275,27 +275,26 @@
//澶勭悊浠庣浉鍐岃繑鍥炴椂鍙栨秷鐨勫浘鐗囧鐞�
existingPaths.removeAll(resultPaths);
if (!existingPaths.isEmpty()) {
+ List<UplodFileState> toRemove = new ArrayList<>();
for (String path : existingPaths) {
for (UplodFileState uplodFileState : uplodFileStates) {
if (path.equals(uplodFileState.getFilePath())) {
uplodFileState.getThisCall().cancel();
- uplodFileStates.remove(uplodFileState);
+ toRemove.add(uplodFileState);
}
}
}
+ uplodFileStates.removeAll(toRemove);
}
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- boolean isMaxSize = result.size() == mAdapter.getSelectMax();
- int oldSize = mAdapter.getData().size();
- mAdapter.notifyItemRangeRemoved(0, isMaxSize ? oldSize + 1 : oldSize);
- mAdapter.getData().clear();
+ runOnUiThread(() -> {
+ boolean isMaxSize = result.size() == mAdapter.getSelectMax();
+ int oldSize = mAdapter.getData().size();
+ mAdapter.notifyItemRangeRemoved(0, isMaxSize ? oldSize + 1 : oldSize);
+ mAdapter.getData().clear();
- mAdapter.getData().addAll(result);
- mAdapter.notifyItemRangeInserted(0, result.size());
+ mAdapter.getData().addAll(result);
+ mAdapter.notifyItemRangeInserted(0, result.size());
- }
});
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
index 3eec0f5..9fad7c6 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
@@ -9,6 +9,7 @@
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
+import androidx.core.content.res.ResourcesCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.SimpleItemAnimator;
@@ -131,26 +132,26 @@
ProResultStateId = orderDetailResult.getProResultStateId();
switch (ProResultStateId) {
case 0://鏈笂鎶�
- binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.black,null));
- binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_no_bg,null));
- binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color,null));
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.black, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_no_bg, null));
+ binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color, null));
binding.dealButton.setVisibility(View.VISIBLE);
break;
case 1://宸蹭笂鎶�
- binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white,null));
- binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_wait_bg,null));
- binding.dealButton.setBackgroundColor(getResources().getColor(R.color.delete_color,null));
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_wait_bg, null));
+ binding.dealButton.setBackgroundColor(getResources().getColor(R.color.delete_color, null));
binding.dealButton.setVisibility(View.VISIBLE);
binding.dealButton.setText("鍒犻櫎澶勭悊缁撴灉");
break;
case 2://宸插畬鎴�
- binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white,null));
- binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_finish_bg,null));
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_finish_bg, null));
binding.dealButton.setVisibility(View.GONE);
break;
case 3://琚┏鍥�
- binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white,null));
- binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_reject_bg,null));
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_reject_bg, null));
binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color));
binding.dealButton.setVisibility(View.VISIBLE);
break;
@@ -165,6 +166,10 @@
setResult(OrderFragment.RESULT_REFRESH);
OrderDetailActivity.this.finish();
+ } else {
+
+ ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+ OrderDetailActivity.this.finish();
}
} else {
ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
@@ -176,6 +181,12 @@
super.onCloose();
}
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ ToastUtil.showToastLong(OrderDetailActivity.this, "鑾峰彇璇︽儏澶辫触锛岃绋嶅悗鍐嶈瘯");
+ OrderDetailActivity.this.finish();
+ }
});
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/IssueAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/IssueAdapter.java
index 34e5c85..bbb7266 100644
--- a/app/src/main/java/com/dayu/pipirrapp/adapter/IssueAdapter.java
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/IssueAdapter.java
@@ -54,18 +54,18 @@
if (recordsList.size() > 0) {
IssueResult record = recordsList.get(position);
((ViewHolder) holder).getBinding().setData(record);
- ViewHolder mHolder= ((ViewHolder) holder);
+ ViewHolder mHolder = ((ViewHolder) holder);
//鐘舵��;1-鏈彈鐞嗭紝2-宸插彈鐞嗭紝3宸插垹闄�
switch (record.getStateId()) {
case 1://鏈彈鐞�
- mHolder.mBinding.stateText.setTextColor(activity.getResources().getColor(R.color.white, null));
- mHolder.mBinding.stateText.setBackground(activity.getResources().getDrawable(R.drawable.order_state_wait_bg, null));
+ mHolder.mBinding.stateText.setTextColor(activity.getResources().getColor(R.color.black, null));
+ mHolder.mBinding.stateText.setBackground(activity.getResources().getDrawable(R.drawable.order_state_no_bg, null));
mHolder.mBinding.replyContentLL.setVisibility(View.GONE);
mHolder.mBinding.replyTimeLL.setVisibility(View.GONE);
break;
case 2://宸插彈鐞�
mHolder.mBinding.stateText.setTextColor(activity.getResources().getColor(R.color.white, null));
- mHolder.mBinding.stateText.setBackground(activity.getResources().getDrawable(R.drawable.order_state_finish_bg, null));
+ mHolder.mBinding.stateText.setBackground(activity.getResources().getDrawable(R.drawable.order_state_wait_bg, null));
mHolder.mBinding.replyContentLL.setVisibility(View.VISIBLE);
mHolder.mBinding.replyTimeLL.setVisibility(View.VISIBLE);
break;
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java b/app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java
index 04913c0..c922e95 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java
@@ -15,7 +15,9 @@
@PrimaryKey(autoGenerate = true)
public long localid;
@Nullable
- String blockId;
+ String id;//鏈嶅姟鍣ㄨ繑鍥炵殑鍙栨按鍙d
+ @Nullable
+ String blockId;//鍖哄煙id
@Nullable
String deleted;//閫昏緫鍒犻櫎鏍囪瘑
@Nullable
@@ -37,6 +39,37 @@
String villageId;//鎵�鍦ㄦ潙缂栧彿
@Nullable
String countyId;//鎵�鍦ㄥ幙缂栧彿
+ @Nullable
+ String address;//鍦板潃
+ @Nullable
+ String blockName;//鐗囧尯鍚嶇О
+
+ @Nullable
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(@Nullable String address) {
+ this.address = address;
+ }
+
+ @Nullable
+ public String getBlockName() {
+ return blockName;
+ }
+
+ public void setBlockName(@Nullable String blockName) {
+ this.blockName = blockName;
+ }
+
+ @Nullable
+ public String getId() {
+ return id;
+ }
+
+ public void setId(@Nullable String id) {
+ this.id = id;
+ }
public String getBlockId() {
return blockId;
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java
index 57ee3ff..8d49c0f 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java
@@ -73,6 +73,24 @@
String townId;//鎵�鍦ㄩ晣缂栧彿
String villageId;//鎵�鍦ㄦ潙缂栧彿
String countyId;//鎵�鍦ㄥ幙缂栧彿
+ String blockName;
+ String address;
+
+ public String getBlockName() {
+ return blockName;
+ }
+
+ public void setBlockName(String blockName) {
+ this.blockName = blockName;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
public String getBlockId() {
return blockId;
diff --git a/app/src/main/java/com/dayu/pipirrapp/dao/MarkerDao.java b/app/src/main/java/com/dayu/pipirrapp/dao/MarkerDao.java
index 7bae65a..295e868 100644
--- a/app/src/main/java/com/dayu/pipirrapp/dao/MarkerDao.java
+++ b/app/src/main/java/com/dayu/pipirrapp/dao/MarkerDao.java
@@ -12,6 +12,7 @@
import java.util.List;
import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* author: zuo
@@ -44,4 +45,7 @@
@Query("select * from MarkerBean")
List<MarkerBean> findAll();
+
+ @Query("select * from MarkerBean")
+ Single<List<MarkerBean>> findAllToSingle();
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
index fb357d8..986247b 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -35,13 +35,14 @@
import com.dayu.pipirrapp.bean.net.MarkerResult;
import com.dayu.pipirrapp.dao.DaoSingleton;
import com.dayu.pipirrapp.databinding.FragmentMapBinding;
-import com.dayu.pipirrapp.js.MyWebViewInterface;
+import com.dayu.pipirrapp.tool.MyWebViewInterface;
import com.dayu.pipirrapp.net.ApiManager;
import com.dayu.pipirrapp.net.BaseResponse;
import com.dayu.pipirrapp.net.Constants;
import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
import com.dayu.pipirrapp.observer.MapFragmenObserver;
import com.dayu.pipirrapp.tool.InspectionUtils;
+import com.dayu.pipirrapp.tool.MarkerUtils;
import com.dayu.pipirrapp.utils.CommonData;
import com.dayu.pipirrapp.utils.CommonKeyName;
import com.dayu.pipirrapp.utils.DateUtils;
@@ -63,8 +64,9 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
-import java.util.Random;
+import java.util.Map;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.schedulers.Schedulers;
@@ -82,7 +84,6 @@
WebView mWebView;
CenterPointBean centerPointBean;
- String strMarkerJson;
//褰撳墠宸℃鐘舵��
int mInspectionState;
MapFragmenObserver mapFragmenObserver;
@@ -90,9 +91,13 @@
public InspectionBean mInspectionBean;
LatLonBean lastLatLonBean;
InspectionRequest inspectionRequest;
- volatile boolean isHaseAginData = false;
+ // volatile boolean isHaseAginData = false;
volatile boolean webViewIsFinished = false;
List<InspectionLocationBean> aginShowlocationBeans;
+ //web鍔犺浇鏃剁綉椤佃繕娌″姞杞藉畬鏃剁殑鏁版嵁
+ List<MarkerBean> webNoFinishMarkerData = new ArrayList<>();
+ //鎵�鏈夌殑Marker鏁版嵁閿负marker鐨処d
+ Map<String, MarkerBean> markerBeanSet = new HashMap<>();
@Override
public void onAttach(@NonNull Context context) {
@@ -130,14 +135,9 @@
mWebView.loadUrl("file:///android_asset/index.html");
getCenterPoint();
initView();
- initLocalData();
+
getMarkerData();
- //鏄剧ず宸℃鐘舵�佸苟涓旀樉绀哄洜鎰忓鍏抽棴鐨勫巻鍙叉暟鎹�
- switch (mInspectionState) {
- case InspectionUtils.STAT_INSPECTION:
- case InspectionUtils.PAUSE_INSPECTION:
- InspectionUtils.aginShowLocation(MapFragment.this);
- }
+
chageInspecState(mInspectionState);
return binding.getRoot();
}
@@ -155,36 +155,23 @@
* 鍒濆鍖栨湰鍦版暟鎹�
*/
public void initLocalData() {
+ //璺宠浆涓績鐐�
centerPointBean = DaoSingleton.getInstance(MapFragment.this.getContext()).centerPointDao().findFirst();
- List<MarkerBean> markerBeans = DaoSingleton.getInstance(MapFragment.this.getContext()).markerDao().findAll();
- strMarkerJson = WebViewUtils.beanToJson(markerBeans);
jumpCenterPoint();
- setMapMarker();
- }
-
-
- /**
- * 璺宠浆鍦板浘涓績鐐�
- */
- public void jumpCenterPoint() {
- if (centerPointBean != null) {
- Log.d(TAG, "jumpCenterPoint>>>>>>>>>>>>>>>>>>>" + centerPointBean.getLng() + "\",\"" + centerPointBean.getLat());
- mWebView.evaluateJavascript("javascript:setCenterAndZoom(\"" + centerPointBean.getLng() + "\",\"" + centerPointBean.getLat() + "\",\"" + centerPointBean.getZoomMp() + "\")", value -> {
- });
- }
- }
-
- /**
- * 娣诲姞鏍囨敞鐐�
- */
- public void setMapMarker() {
- Log.i("mWebView", "addMarker????????????" + strMarkerJson);
- mWebView.evaluateJavascript("javascript:addMarker(\"" + strMarkerJson + "\")", new ValueCallback<String>() {
- @Override
- public void onReceiveValue(String value) {
- Log.i("mWebView", "addMarker锛侊紒锛侊紒锛侊紒锛侊紒锛�" + value);
+ //娣诲姞鍥爓ebview娌℃湁鍔犺浇瀹屾垚瀵艰嚧娌℃湁娣诲姞鐨勫湴鍥炬爣娉�
+ if (!webNoFinishMarkerData.isEmpty()) {
+ for (MarkerBean bean : webNoFinishMarkerData) {
+ setMapMarker(bean);
}
- });
+ }
+ //鏄剧ず鎵�鏈夊彇姘村彛
+ MarkerUtils.showLocoMarks(MapFragment.this);
+ //鏄剧ず宸℃鐘舵�佸苟涓旀樉绀哄洜鎰忓鍏抽棴鐨勫巻鍙叉暟鎹�
+ switch (mInspectionState) {
+ case InspectionUtils.STAT_INSPECTION:
+ case InspectionUtils.PAUSE_INSPECTION:
+ InspectionUtils.aginShowLocation(MapFragment.this);
+ }
}
@@ -203,6 +190,7 @@
MarkerResult.Obj result = t.getContent().getObj().get(i);
//淇濆瓨鏁版嵁
MarkerBean markerBean = new MarkerBean();
+ markerBean.setId(result.getId());
markerBean.setLng(result.getLng());
markerBean.setLat(result.getLat());
markerBean.setBlockId(result.getBlockId());
@@ -211,10 +199,11 @@
markerBean.setTownId(result.getTownId());
markerBean.setVillageId(result.getVillageId());
markerBean.setCountyId(result.getCountyId());
+ markerBean.setAddress(result.getAddress());
+ markerBean.setBlockName(result.getBlockName());
markerBeans.add(markerBean);
+ setMapMarker(markerBean);
}
- strMarkerJson = WebViewUtils.beanToJson(markerBeans);
- setMapMarker();
DaoSingleton.getInstance(MapFragment.this.getContext()).markerDao().deleteAll();
// 浣跨敤 RxJava 寮傛鎻掑叆鏁版嵁
DaoSingleton.getAsynchInstance(MapFragment.this.getContext()).markerDao().insertAll(markerBeans)
@@ -234,43 +223,6 @@
}
}
- });
- }
-
-
- /**
- * 娣诲姞鏍囨敞鐐�
- */
- public void addMarker() {
- Random random = new Random();
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("[");
-
- // 涓浗缁忕含搴﹁寖鍥�
- double minLongitude = 73.43;
- double maxLongitude = 135.05;
- double minLatitude = 3.52;
- double maxLatitude = 53.57;
-
- for (int i = 0; i < 1000; i++) {
- stringBuilder.append("[");
- // 鐢熸垚闅忔満缁忓害
- double longitude = minLongitude + (maxLongitude - minLongitude) * random.nextDouble();
- stringBuilder.append(longitude);
- stringBuilder.append(",");
- // 鐢熸垚闅忔満绾害
- double latitude = minLatitude + (maxLatitude - minLatitude) * random.nextDouble();
- stringBuilder.append(latitude);
- stringBuilder.append(",\"237鍙栨按鍙"],");
- }
- stringBuilder.append("[116.417854,39.921988,\"235鍙栨按鍙"]]");
- String jsonData = stringBuilder.toString().replace("\\", "\\\\").replace("\"", "\\\"");
- Log.i("mWebView", "addMarker????????????" + jsonData);
- mWebView.evaluateJavascript("javascript:addMarker(\"" + jsonData + "\")", new ValueCallback<String>() {
- @Override
- public void onReceiveValue(String value) {
- Log.i("mWebView", "addMarker锛侊紒锛侊紒锛侊紒锛侊紒锛�" + value);
- }
});
}
@@ -335,11 +287,11 @@
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
- webViewIsFinished = true;
//椤甸潰鍔犺浇瀹屾垚
- if (isHaseAginData) {
- aginShowLocation(null);
- }
+ webViewIsFinished = true;
+ initLocalData();
+ aginShowLocation(null);
+
}
});
//宸℃鎸夐挳
@@ -378,7 +330,14 @@
public void showWaterIntakeDetail(String data) {
MyLog.i(data);
- binding.bottomLL.setVisibility(View.VISIBLE);
+ MarkerBean markerBean= markerBeanSet.get(data);
+ if (markerBean!=null){
+ binding.bottomLL.setVisibility(View.VISIBLE);
+ binding.markerAddress.setText(markerBean.getAddress());
+ binding.markerName.setText(markerBean.getName());
+ binding.markerBlockName.setText(markerBean.getBlockName());
+ }
+
}
@@ -558,7 +517,6 @@
* 鎰忓閫�鍑哄悗缁х画鏄剧ず涔嬪墠鐨勫潗鏍�
*/
public void aginShowLocation(List<InspectionLocationBean> locationBeans) {
- isHaseAginData = true;
if (locationBeans != null) {
aginShowlocationBeans = locationBeans;
}
@@ -570,15 +528,46 @@
});
}
// 鍚� WebView 娉ㄥ叆鏁版嵁
-
aginShowlocationBeans.clear();
-
}
-
}
}
/**
+ * 璺宠浆鍦板浘涓績鐐�
+ */
+ public void jumpCenterPoint() {
+ if (webViewIsFinished) {
+ if (centerPointBean != null) {
+ Log.d(TAG, "jumpCenterPoint>>>>>>>>>>>>>>>>>>>" + centerPointBean.getLng() + "\",\"" + centerPointBean.getLat());
+ mWebView.evaluateJavascript("javascript:setCenterAndZoom(\"" + centerPointBean.getLng() + "\",\"" + centerPointBean.getLat() + "\",\"" + centerPointBean.getZoomMp() + "\")", value -> {
+ });
+ }
+ }
+ }
+
+ /**
+ * 娣诲姞鏍囨敞鐐�
+ */
+ public void setMapMarker(MarkerBean markerBean) {
+ if (markerBean != null) {
+ if (webViewIsFinished) {
+ Log.i("mWebView", "addMarker????????????");
+ mWebView.evaluateJavascript("javascript:addMarker(\"" + markerBean.getId() + "\",\"" + markerBean.getLng() + "\",\"" + markerBean.getLat() + "\",\"" + markerBean.getName() + "\")", new ValueCallback<String>() {
+ @Override
+ public void onReceiveValue(String value) {
+ }
+ });
+ markerBeanSet.put(markerBean.getId(), markerBean);
+
+ } else {
+ webNoFinishMarkerData.add(markerBean);
+ }
+ }
+ }
+
+
+ /**
* 寮�濮嬪贰妫�鐨勭浉鍏抽�昏緫
*
* @param
diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java b/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java
index 6679193..0bc4fc2 100644
--- a/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java
+++ b/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java
@@ -55,16 +55,20 @@
* @param fragment
* @return
*/
- public static String getInspectionId(MapFragment fragment) {
+ public static void getInspectionId(MapFragment fragment) {
DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionDao().getMostRecentInspectionWithNoStopTime()
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io()).subscribe(inspectionBean -> {
});
- return "";
}
+ /**
+ * 缁х画鏄剧ず寮傚父鍏抽棴涔嬪墠鐨勫贰妫�鍧愭爣
+ *
+ * @param fragment
+ */
public static void aginShowLocation(MapFragment fragment) {
//鏌ヨ褰撳墠鏈叧闂殑宸℃璁板綍
DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionDao().getMostRecentInspectionWithNoStopTime()
diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/MarkerUtils.java b/app/src/main/java/com/dayu/pipirrapp/tool/MarkerUtils.java
new file mode 100644
index 0000000..281cb2c
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/tool/MarkerUtils.java
@@ -0,0 +1,35 @@
+package com.dayu.pipirrapp.tool;
+
+import com.dayu.pipirrapp.bean.db.MarkerBean;
+import com.dayu.pipirrapp.dao.DaoSingleton;
+import com.dayu.pipirrapp.fragment.MapFragment;
+
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+
+/**
+ * MarkerUtils - 鍙栨按鍙g瓑鍦板浘涓婃樉绀虹殑鏍囪瘑鐩稿叧鍏叡鏂规硶
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-12-16
+ */
+public class MarkerUtils {
+
+ public static Disposable showLocoMarks(MapFragment fragment) {
+ //鏌ヨ褰撳墠鏈叧闂殑宸℃璁板綍
+ Disposable disposable = DaoSingleton.getAsynchInstance(fragment.getContext())
+ .markerDao()
+ .findAllToSingle()
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread()).subscribe(markerBeans -> {
+ for (MarkerBean bean : markerBeans) {
+ fragment.setMapMarker(bean);
+ }
+ });
+ return disposable;
+ }
+
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java b/app/src/main/java/com/dayu/pipirrapp/tool/MyWebViewInterface.java
similarity index 92%
rename from app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java
rename to app/src/main/java/com/dayu/pipirrapp/tool/MyWebViewInterface.java
index 67c87de..525bd15 100644
--- a/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java
+++ b/app/src/main/java/com/dayu/pipirrapp/tool/MyWebViewInterface.java
@@ -1,4 +1,4 @@
-package com.dayu.pipirrapp.js;
+package com.dayu.pipirrapp.tool;
import android.os.Handler;
import android.os.Looper;
@@ -15,7 +15,7 @@
*/
public class MyWebViewInterface {
- private MapFragment myContext;
+ private final MapFragment myContext;
public MyWebViewInterface(MapFragment context) {
@@ -74,8 +74,8 @@
// 鍦ㄤ富绾跨▼涓婃墽琛孶I鎿嶄綔
// 鏇存柊鎴栨搷浣淯I鍏冪礌鐨勪唬鐮�
// myContext.addMarker();
- myContext.jumpCenterPoint();
- myContext.setMapMarker();
+// myContext.jumpCenterPoint();
+// myContext.setMapMarker();
}
});
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/WebViewUtils.java b/app/src/main/java/com/dayu/pipirrapp/utils/WebViewUtils.java
index 6109ed7..5a3fbb2 100644
--- a/app/src/main/java/com/dayu/pipirrapp/utils/WebViewUtils.java
+++ b/app/src/main/java/com/dayu/pipirrapp/utils/WebViewUtils.java
@@ -7,7 +7,6 @@
import android.webkit.WebSettings;
import android.webkit.WebView;
-import com.dayu.pipirrapp.bean.db.CenterPointBean;
import com.dayu.pipirrapp.bean.db.MarkerBean;
import java.util.List;
@@ -124,5 +123,18 @@
return stringBuilder.toString().replace("\\", "\\\\").replace("\"", "\\\"");
}
-
+ /**
+ * bean杞琷son
+ *
+ * @param stringBuilder
+ * @param markerBean
+ */
+ public static String markerBeanToJson(StringBuilder stringBuilder, MarkerBean markerBean) {
+ stringBuilder.append("{");
+ stringBuilder.append(markerBean.getLng());
+ stringBuilder.append(",");
+ stringBuilder.append(markerBean.getLat());
+ stringBuilder.append(",\"" + markerBean.getName() + "\"}");
+ return stringBuilder.toString().replace("\\", "\\\\").replace("\"", "\\\"");
+ }
}
diff --git a/app/src/main/res/drawable/ic_right_blue.xml b/app/src/main/res/drawable/ic_right_blue.xml
new file mode 100644
index 0000000..c71b2be
--- /dev/null
+++ b/app/src/main/res/drawable/ic_right_blue.xml
@@ -0,0 +1,13 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="31dp"
+ android:height="31dp"
+ android:viewportWidth="48"
+ android:viewportHeight="48">
+ <path
+ android:pathData="M19,12L31,24L19,36"
+ android:strokeLineJoin="round"
+ android:strokeWidth="4"
+ android:fillColor="#00000000"
+ android:strokeColor="#3D8BFF"
+ android:strokeLineCap="round"/>
+</vector>
diff --git a/app/src/main/res/layout/activity_issue_detail.xml b/app/src/main/res/layout/activity_issue_detail.xml
index 03f2b32..5ef2931 100644
--- a/app/src/main/res/layout/activity_issue_detail.xml
+++ b/app/src/main/res/layout/activity_issue_detail.xml
@@ -6,7 +6,7 @@
<variable
name="itemclidk"
- type="com.dayu.pipirrapp.activity.OrderDetailActivity" />
+ type="com.dayu.pipirrapp.activity.IssueDetailActivity" />
<variable
name="data"
@@ -31,7 +31,7 @@
android:id="@+id/ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_above="@+id/deal_button"
+ android:layout_above="@+id/delete_button"
android:layout_below="@+id/title"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
@@ -54,6 +54,7 @@
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerVertical="true"
+ android:layout_marginLeft="3dp"
android:layout_marginRight="10dp"
android:src="@drawable/ic_issue" />
@@ -70,7 +71,7 @@
android:maxLines="1"
android:text="@{data.issueReportId}"
android:textColor="@color/title_color"
- android:textSize="@dimen/manage_item_text_size" />
+ android:textSize="@dimen/order_detail_text_size" />
<TextView
@@ -113,7 +114,7 @@
android:layout_height="wrap_content"
android:text="涓婃姤鏃堕棿锛�"
android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
+ android:textSize="@dimen/order_detail_text_size" />
<TextView
android:id="@+id/xiangMuJianCheng"
@@ -123,7 +124,7 @@
android:maxLines="1"
android:text="@{data.reportTime}"
android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
+ android:textSize="@dimen/order_detail_text_size" />
</LinearLayout>
@@ -132,47 +133,152 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
-
+ android:layout_marginTop="10dp"
android:orientation="horizontal">
- <TextView
- android:id="@+id/daiShenPiTag"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="涓婃姤鍐呭锛�"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
+ <TextView
+ android:id="@+id/daiShenPiTag"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="涓婃姤鍐呭锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/order_detail_text_size" />
+
+ <TextView
+ android:id="@+id/daiShenPi"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{data.content}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/order_detail_text_size" />
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="10dp"
+ android:orientation="vertical">
+
+ <TextView
+
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="涓婃姤鍥剧墖锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/order_detail_text_size" />
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/recyclerView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:layout_marginTop="10dp"
+ android:minHeight="80dp" />
+
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/callBackLL"
+ android:layout_width="match_parent"
+ android:orientation="vertical"
+ android:layout_height="wrap_content">
+ <LinearLayout
+ android:id="@+id/orderDealLL"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:orientation="vertical"
+ android:visibility="visible">
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="2dp"
+ android:background="@color/base_blue" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dp"
+ android:gravity="center"
+ android:text="鍥炲淇℃伅"
+ android:textColor="@color/base_blue"
+ android:textSize="@dimen/order_detail_text_size" />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:orientation="horizontal">
+
<TextView
- android:id="@+id/daiShenPi"
+
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍥炲鏃堕棿锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/order_detail_text_size" />
+
+ <TextView
+
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
- android:text="@{data.content}"
+ android:text="@{data.reportTime}"
android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
+ android:textSize="@dimen/order_detail_text_size" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:orientation="horizontal">
+
+
+ <TextView
+
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍥炲鍐呭锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/order_detail_text_size" />
+
+ <TextView
+
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{data.replyContent}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/order_detail_text_size" />
</LinearLayout>
-
+ </LinearLayout>
</LinearLayout>
</ScrollView>
<TextView
- android:id="@+id/deal_button"
+ android:id="@+id/delete_button"
android:layout_width="match_parent"
android:layout_height="@dimen/order_detail_button_height"
android:layout_alignParentBottom="true"
android:background="@color/title_color"
android:gravity="center"
- android:onClick="@{()->itemclidk.startDealActivity()}"
- android:text="澶勭悊宸ュ崟"
+ android:onClick="@{()->itemclidk.deleteIssue()}"
+ android:text="鍒犻櫎闂"
android:textColor="@color/white"
android:textSize="@dimen/order_detail_button_size"
- android:visibility="gone" />
+ android:visibility="visible" />
</RelativeLayout>
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index e81a015..f67c259 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -6,6 +6,14 @@
android:orientation="vertical"
android:padding="20dp">
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@mipmap/logo1"
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="70dp"
+ />
+
<EditText
android:id="@+id/name"
@@ -18,9 +26,9 @@
android:background="@drawable/ic_edt_gray_bg"
android:hint="璇疯緭鍏ヨ处鍙�"
android:maxLines="1"
- android:text="15802220723"
android:paddingLeft="15dp"
- android:singleLine="true" />
+ android:singleLine="true"
+ android:text="15802220723" />
<RelativeLayout
android:id="@+id/psLL"
@@ -45,9 +53,9 @@
android:hint="璇疯緭鍏ュ瘑鐮�"
android:inputType="textPassword"
android:maxLines="1"
- android:text="abc_123"
android:paddingLeft="10dp"
- android:singleLine="true" />
+ android:singleLine="true"
+ android:text="abc_123" />
<ImageView
android:id="@+id/passwordBtn"
diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml
index bc3f685..9d6a57e 100644
--- a/app/src/main/res/layout/fragment_map.xml
+++ b/app/src/main/res/layout/fragment_map.xml
@@ -7,11 +7,12 @@
<!-- android:id="@+id/webView"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent" />-->
+
+
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
-
<RelativeLayout
android:id="@+id/inspectRL"
@@ -105,30 +106,82 @@
android:orientation="vertical"
android:padding="10dp">
-
- <TextView
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="鍙栨按鍙�"
- android:textColor="@color/black" />
+ android:gravity="start"
+ android:orientation="horizontal">
- <TextView
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍚嶇О锛�"
+ android:textColor="@color/black" />
+
+ <TextView
+ android:id="@+id/markerName"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text=""
+ android:textColor="@color/black" />
+ </LinearLayout>
+
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
- android:text="鍙栨按鍙d綅缃�"
- android:textColor="@color/black" />
+ android:gravity="start"
+ android:orientation="horizontal">
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐗囧尯锛�"
+ android:textColor="@color/black" />
+
+ <TextView
+ android:id="@+id/markerBlockName"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text=""
+ android:textColor="@color/black" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dp"
+ android:gravity="start"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍦板潃锛�"
+ android:textColor="@color/black" />
+
+ <TextView
+ android:id="@+id/markerAddress"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text=""
+ android:textColor="@color/black" />
+ </LinearLayout>
</LinearLayout>
<ImageView
- android:layout_width="80dp"
- android:layout_height="80dp"
+ android:layout_width="25dp"
+ android:layout_height="30dp"
android:layout_gravity="center"
- android:layout_marginRight="20dp"
- android:padding="10dp"
- android:src="@drawable/ic_gps_navigation" />
+ android:layout_marginRight="10dp"
+ android:background="@drawable/ic_right_blue" />
</LinearLayout>
diff --git a/app/src/main/res/layout/item_issue.xml b/app/src/main/res/layout/item_issue.xml
index 3a40ef4..3bfda52 100644
--- a/app/src/main/res/layout/item_issue.xml
+++ b/app/src/main/res/layout/item_issue.xml
@@ -31,6 +31,7 @@
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerVertical="true"
+ android:layout_marginLeft="3dp"
android:layout_marginRight="10dp"
android:src="@drawable/ic_issue" />
diff --git a/app/src/main/res/layout/item_order.xml b/app/src/main/res/layout/item_order.xml
index 6a76e2e..f7db4db 100644
--- a/app/src/main/res/layout/item_order.xml
+++ b/app/src/main/res/layout/item_order.xml
@@ -75,10 +75,7 @@
android:layout_marginTop="5dp"
android:orientation="horizontal">
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1">
+
<TextView
android:id="@+id/jinduTag"
@@ -95,7 +92,7 @@
android:text="@{data.workOrderId}"
android:textColor="@color/manage_item_text"
android:textSize="@dimen/manage_item_text_size" />
- </LinearLayout>
+
</LinearLayout>
@@ -106,10 +103,7 @@
android:layout_marginTop="5dp"
android:orientation="horizontal">
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1">
+
<TextView
android:id="@+id/daiShenPiTag"
@@ -129,7 +123,7 @@
</LinearLayout>
- </LinearLayout>
+
<LinearLayout
android:layout_width="match_parent"
@@ -138,13 +132,7 @@
android:gravity="center_vertical"
android:orientation="horizontal">
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingRight="5dp">
+
<TextView
@@ -166,7 +154,7 @@
</LinearLayout>
- </LinearLayout>
+
<LinearLayout
@@ -176,13 +164,6 @@
android:gravity="center_vertical"
android:orientation="horizontal">
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingRight="5dp">
<TextView
android:layout_width="wrap_content"
@@ -200,7 +181,7 @@
android:text="@{data.taskContent}"
android:textColor="@color/manage_item_text"
android:textSize="@dimen/manage_item_text_size" />
- </LinearLayout>
+
</LinearLayout>
@@ -208,16 +189,10 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:gravity="center_horizontal"
+ android:layout_marginTop="5dp"
android:orientation="horizontal">
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="5dp"
- android:layout_weight="2"
- android:gravity="center_vertical"
- android:orientation="horizontal">
+
<TextView
android:layout_width="wrap_content"
@@ -229,54 +204,16 @@
<TextView
android:id="@+id/startTime"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@{data.dispatchTime}"
android:textColor="@color/manage_item_text"
android:textSize="@dimen/manage_item_text_size" />
- </LinearLayout>
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginLeft="10dp"
- android:layout_marginTop="5dp"
- android:layout_marginRight="10dp"
- android:layout_weight="1"
- android:orientation="horizontal"
- android:visibility="gone">
- <TextView
- android:id="@+id/lookDetail"
- android:layout_width="0dp"
- android:layout_height="@dimen/manage_item_btn_height"
- android:layout_weight="1"
- android:background="@drawable/ic_blue_background"
- android:gravity="center"
-
- android:text="鏌ョ湅"
- android:textColor="@color/white"
- android:textSize="@dimen/manage_item_btn_text_size" />
-
-
- <TextView
- android:id="@+id/examineBtn"
- android:layout_width="0dp"
- android:layout_height="@dimen/manage_item_btn_height"
- android:layout_marginLeft="15dp"
- android:layout_weight="1"
- android:background="@drawable/ic_blue_background"
- android:gravity="center"
-
- android:text="瀹℃壒"
- android:textColor="@color/white"
- android:textSize="@dimen/manage_item_btn_text_size" />
-
-
- </LinearLayout>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index c209e78..0000000
--- a/app/src/main/res/mipmap-hdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index b2dfe3d..0000000
--- a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 4f0f1d6..0000000
--- a/app/src/main/res/mipmap-mdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 62b611d..0000000
--- a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/logo1.png b/app/src/main/res/mipmap-xhdpi/logo1.png
new file mode 100644
index 0000000..556c3df
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/logo1.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/logo2.png b/app/src/main/res/mipmap-xhdpi/logo2.png
new file mode 100644
index 0000000..01a7556
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/logo2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 28d4b77..0000000
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9287f50..0000000
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index aa7d642..0000000
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9126ae3..0000000
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
--
Gitblit v1.8.0