Commit d9dedc2f by 罗翻

增加服务详情

parent 2c6a1183
...@@ -132,6 +132,10 @@ public class Constants { ...@@ -132,6 +132,10 @@ public class Constants {
public static final String COURIER_NUM = "courier_num"; public static final String COURIER_NUM = "courier_num";
public static final String PART = "part"; public static final String PART = "part";
public static final String LONGITUDE = "longitude";
public static final String LATITUDE = "latitude";
/** /**
* 主动申请备件. * 主动申请备件.
*/ */
......
...@@ -29,4 +29,5 @@ dependencies { ...@@ -29,4 +29,5 @@ dependencies {
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation files('libs/Amap_2DMap_V5.2.0_20170627.jar')
} }
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true"> android:supportsRtl="true">
<activity <activity
android:name=".base.BasicMapActivity" android:name=".base.BaseMapActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
</application> </application>
</manifest> </manifest>
package com.dayu.location.base;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import com.amap.api.maps2d.AMap;
import com.amap.api.maps2d.CameraUpdate;
import com.amap.api.maps2d.CameraUpdateFactory;
import com.amap.api.maps2d.MapView;
import com.amap.api.maps2d.model.CameraPosition;
import com.amap.api.maps2d.model.LatLng;
import com.amap.api.maps2d.model.MarkerOptions;
import com.dayu.location.R;
/**
* Created by luofan
* on 2018/4/24.
*/
public class BaseMapActivity extends Activity {
private AMap aMap;
private MapView mapView;
private double mLatitude;
private double mLongitude;
private String mAddress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);// 不显示程序的标题栏
setContentView(R.layout.basicmap_activity);
mapView = findViewById(R.id.map);
mapView.onCreate(savedInstanceState);// 此方法必须重写
init();
}
/**
* 初始化
*/
private void init() {
Bundle bundle = getIntent().getBundleExtra("bundle");
mLatitude = bundle.getDouble("latitude", 0);
mLongitude = bundle.getDouble("longitude", 0);
mAddress = bundle.getString("address");
if (aMap == null) {
aMap = mapView.getMap();
setUpMap();
}
}
/**
* 设置一些amap的属性
*/
private void setUpMap() {
CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(new CameraPosition(new LatLng(mLatitude, mLongitude), 16, 0, 0));
aMap.moveCamera(cameraUpdate);//地图移向指定区域
aMap.addMarker(new MarkerOptions().position(new LatLng(mLatitude, mLongitude)).snippet(mAddress));
}
/**
* 方法必须重写
*/
@Override
protected void onResume() {
super.onResume();
mapView.onResume();
}
/**
* 方法必须重写
*/
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
}
/**
* 方法必须重写
*/
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
}
/**
* 方法必须重写
*/
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
}
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.amap.api.maps2d.MapView <com.amap.api.maps2d.MapView
android:id="@+id/map" android:id="@+id/map"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent"
/>
</RelativeLayout> </RelativeLayout>
...@@ -640,6 +640,15 @@ public class OrderDetail implements Serializable { ...@@ -640,6 +640,15 @@ public class OrderDetail implements Serializable {
private String orderObj; private String orderObj;
private double latitude; private double latitude;
private double longitude; private double longitude;
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getId() { public int getId() {
return id; return id;
......
...@@ -16,6 +16,9 @@ public interface OrderServerContract { ...@@ -16,6 +16,9 @@ public interface OrderServerContract {
abstract class Presenter extends BaseListPresenter<View> { abstract class Presenter extends BaseListPresenter<View> {
public abstract void dumpToSop(); public abstract void dumpToSop();
public abstract void dumpCheckContent(int postion); public abstract void dumpCheckContent(int postion,int state);
public abstract void dumpMap(double latitude,double longitude,String address);
} }
} }
...@@ -4,14 +4,19 @@ import android.databinding.ObservableField; ...@@ -4,14 +4,19 @@ import android.databinding.ObservableField;
import android.os.Bundle; import android.os.Bundle;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.location.base.BaseMapActivity;
import com.dayu.order.api.protocol.OrderDetail; import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.CheckContentActivity; import com.dayu.order.ui.activity.CheckContentActivity;
import com.dayu.order.ui.activity.SopWebViewActivity; import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.utils.ToastUtils;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import static com.dayu.common.Constants.ORDER_ID; import static com.dayu.common.Constants.ORDER_ID;
import static com.dayu.common.Constants.ORDER_POSTION;
import static com.dayu.common.Constants.ORDER_STATE;
/** /**
* Created by luofan * Created by luofan
...@@ -53,10 +58,24 @@ public class OrderServerPresenter extends OrderServerContract.Presenter { ...@@ -53,10 +58,24 @@ public class OrderServerPresenter extends OrderServerContract.Presenter {
} }
@Override @Override
public void dumpCheckContent(int postion) { public void dumpCheckContent(int postion,int state) {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putSerializable(Constants.ORDER_DETAIL,mDetails); bundle.putSerializable(Constants.ORDER_DETAIL, mDetails);
bundle.putInt(Constants.ORDER_POSTION,postion); bundle.putInt(Constants.ORDER_POSTION, postion);
mView.startActivity(CheckContentActivity.class,bundle); bundle.putInt(ORDER_STATE, state);
mView.startActivity(CheckContentActivity.class, bundle);
}
@Override
public void dumpMap(double latitude, double longitude, String address) {
Bundle bundle = new Bundle();
bundle.putDouble(Constants.LONGITUDE, longitude);
bundle.putDouble(Constants.LATITUDE, latitude);
bundle.putString("address", address);
if (longitude == 0 && latitude == 0) {
ToastUtils.showShortToast("获取位置失败!");
return;
}
mView.startActivity(BaseMapActivity.class, bundle);
} }
} }
...@@ -132,6 +132,8 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter { ...@@ -132,6 +132,8 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
mOrderDetail = detail; mOrderDetail = detail;
if (detail.getCreatedSource() != 3) { if (detail.getCreatedSource() != 3) {
mView.setFoucesable(); mView.setFoucesable();
mOrderInfo.setPayer(detail.getRepairType() + "");
mOrderField.set(mOrderInfo);
} }
mDetail.set(detail); mDetail.set(detail);
mAnyContacts = detail.getAnyContacts(); mAnyContacts = detail.getAnyContacts();
...@@ -224,7 +226,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter { ...@@ -224,7 +226,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
@Override @Override
public void commitPhoto(List<String> imageUrl, List<String> payerUrl) { public void commitPhoto(List<String> imageUrl, List<String> payerUrl) {
MultipartBody.Part[] parts; MultipartBody.Part[] parts;
if (imageUrl != null && payerUrl.size() > 0) { if (imageUrl != null && imageUrl.size() > 0) {
parts = packPhoto(imageUrl); parts = packPhoto(imageUrl);
BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> { BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> {
if (payerUrl.size() > 0) { if (payerUrl.size() > 0) {
...@@ -296,11 +298,6 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter { ...@@ -296,11 +298,6 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
} }
mView.getData(); mView.getData();
OrderInfo info = mOrderField.get(); OrderInfo info = mOrderField.get();
if ("1".equals(mOrderInfo.getPayer())) {
mPayer.set(UIUtils.getString(R.string.payer_baonei));
} else if ("2".equals(mOrderInfo.getPayer())) {
mPayer.set(UIUtils.getString(R.string.payer_baowai));
}
if (mOrderDetail.getCreatedSource() == 3) { if (mOrderDetail.getCreatedSource() == 3) {
if (TextUtils.isEmpty(info.getPayer())) { if (TextUtils.isEmpty(info.getPayer())) {
mView.showNoPayerDialog(); mView.showNoPayerDialog();
...@@ -318,7 +315,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter { ...@@ -318,7 +315,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
private void commite(OrderInfo info) { private void commite(OrderInfo info) {
mView.showDialog(); mView.showDialog();
if (mImages.size() != 0 && mPayerImages.size() != 0) { if (mImages.size() != 0 || mPayerImages.size() != 0) {
mView.showDialog(); mView.showDialog();
commitPhoto(mImages, mPayerImages); commitPhoto(mImages, mPayerImages);
} else { } else {
......
...@@ -16,7 +16,7 @@ public class CheckContentOrder { ...@@ -16,7 +16,7 @@ public class CheckContentOrder {
private String brandName; private String brandName;
private String productModel; private String productModel;
private String sn; private String sn;
private int repairType; private String repairType;
public String getCustomerCheckComment() { public String getCustomerCheckComment() {
return customerCheckComment; return customerCheckComment;
...@@ -90,12 +90,11 @@ public class CheckContentOrder { ...@@ -90,12 +90,11 @@ public class CheckContentOrder {
this.sn = sn; this.sn = sn;
} }
public int getRepairType() { public String getRepairType() {
return repairType; return repairType;
} }
public void setRepairType(int public void setRepairType(String payer) {
payer) {
this.repairType = payer; this.repairType = payer;
} }
......
...@@ -43,6 +43,7 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte ...@@ -43,6 +43,7 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte
serverUrl = new ArrayList<>(); serverUrl = new ArrayList<>();
mdimension = (UtilsScreen.getScreenWidth(mActivity) - UtilsScreen.dip2px(mActivity, 20)) / 5; mdimension = (UtilsScreen.getScreenWidth(mActivity) - UtilsScreen.dip2px(mActivity, 20)) / 5;
Bundle bundle = getIntent().getBundleExtra(Constants.BUNDLE); Bundle bundle = getIntent().getBundleExtra(Constants.BUNDLE);
int state = bundle.getInt(Constants.ORDER_STATE, 0);
OrderDetail detail = (OrderDetail) bundle.getSerializable(Constants.ORDER_DETAIL); OrderDetail detail = (OrderDetail) bundle.getSerializable(Constants.ORDER_DETAIL);
int position = bundle.getInt(Constants.ORDER_POSTION); int position = bundle.getInt(Constants.ORDER_POSTION);
String obj = detail.getRecord().get(position).getOrderObj(); String obj = detail.getRecord().get(position).getOrderObj();
...@@ -51,12 +52,14 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte ...@@ -51,12 +52,14 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte
return; return;
} }
List<OrderDetail.Pics> pics = detail.getPic(); List<OrderDetail.Pics> pics = detail.getPic();
if (pics != null && pics.size() > 0) { if (state == Constants.FINISH_ORDER) {
for (OrderDetail.Pics pic : pics) { if (pics != null && pics.size() > 0) {
if (pic.getPictureType() == 1) { for (OrderDetail.Pics pic : pics) {
payerUrl.add(pic.getPictureUrl()); if (pic.getPictureType() == 1) {
} else { payerUrl.add(pic.getPictureUrl());
serverUrl.add(pic.getPictureUrl()); } else {
serverUrl.add(pic.getPictureUrl());
}
} }
} }
} }
...@@ -121,9 +124,9 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte ...@@ -121,9 +124,9 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte
} else { } else {
mBind.ivSwitch.setSwitchButton(true); mBind.ivSwitch.setSwitchButton(true);
} }
if (1 == info.getRepairType()) { if ("1".equals(info.getRepairType())) {
mBind.tvPayer.setText(UIUtils.getString(R.string.payer_baonei)); mBind.tvPayer.setText(UIUtils.getString(R.string.payer_baonei));
} else if (2 == info.getRepairType()) { } else if ("2".equals(info.getRepairType())) {
mBind.tvPayer.setText(UIUtils.getString(R.string.payer_baowai)); mBind.tvPayer.setText(UIUtils.getString(R.string.payer_baowai));
} }
if (payerUrl.size() == 0) { if (payerUrl.size() == 0) {
...@@ -133,7 +136,7 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte ...@@ -133,7 +136,7 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte
ImageView iv = new ImageView(mActivity); ImageView iv = new ImageView(mActivity);
iv.setLayoutParams(new ViewGroup.LayoutParams(mdimension, mdimension)); iv.setLayoutParams(new ViewGroup.LayoutParams(mdimension, mdimension));
iv.setPadding(0, 0, 10, 0); iv.setPadding(0, 0, 10, 0);
iv.setOnClickListener(v->dumpPic(payerUrl)); iv.setOnClickListener(v -> dumpPic(payerUrl));
GlideImageLoader.load(mActivity, url, iv); GlideImageLoader.load(mActivity, url, iv);
mBind.llPlayerImage.addView(iv); mBind.llPlayerImage.addView(iv);
} }
...@@ -145,7 +148,7 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte ...@@ -145,7 +148,7 @@ public class CheckContentActivity extends DataBindingActivity<ActivityCheckConte
ImageView iv = new ImageView(mActivity); ImageView iv = new ImageView(mActivity);
iv.setLayoutParams(new ViewGroup.LayoutParams(mdimension, mdimension)); iv.setLayoutParams(new ViewGroup.LayoutParams(mdimension, mdimension));
iv.setPadding(0, 0, 10, 0); iv.setPadding(0, 0, 10, 0);
iv.setOnClickListener(v->dumpPic(serverUrl)); iv.setOnClickListener(v -> dumpPic(serverUrl));
GlideImageLoader.load(mActivity, url, iv); GlideImageLoader.load(mActivity, url, iv);
mBind.llImage.addView(iv); mBind.llImage.addView(iv);
} }
......
...@@ -4,6 +4,7 @@ import android.text.TextUtils; ...@@ -4,6 +4,7 @@ import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.dayu.base.ui.adapter.CoreAdapter; import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.common.Constants;
import com.dayu.order.R; import com.dayu.order.R;
import com.dayu.order.api.protocol.OrderDetail; import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.databinding.ServeDatailsItemBinding; import com.dayu.order.databinding.ServeDatailsItemBinding;
...@@ -29,11 +30,20 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv ...@@ -29,11 +30,20 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv
holder.ivCircle.setImageResource(R.drawable.icon_circle_blue); holder.ivCircle.setImageResource(R.drawable.icon_circle_blue);
holder.serverCheck.setBackgroundResource(R.drawable.tab_blue_react); holder.serverCheck.setBackgroundResource(R.drawable.tab_blue_react);
holder.serverCheck.setTextColor(UIUtils.getColor(R.color.white)); holder.serverCheck.setTextColor(UIUtils.getColor(R.color.white));
holder.serverTimeComment.setTextColor(UIUtils.getColor(R.color.default_text_color));
holder.serverTime.setTextColor(UIUtils.getColor(R.color.default_text_color));
holder.serverComment.setTextColor(UIUtils.getColor(R.color.default_text_color));
holder.serverState.setTextColor(UIUtils.getColor(R.color.default_text_color));
} else { } else {
holder.ivCircle.setImageResource(R.drawable.icon_circle_gray); holder.ivCircle.setImageResource(R.drawable.icon_circle_gray);
holder.serverCheck.setBackground(null); holder.serverCheck.setBackground(null);
holder.serverCheck.setPadding(0, 0, 0, 0); holder.serverCheck.setPadding(0, 0, 0, 0);
holder.serverCheck.setTextColor(UIUtils.getColor(R.color.cl_receiving_order_item_data)); holder.serverCheck.setTextColor(UIUtils.getColor(R.color.cl_receiving_order_item_data));
holder.serverTimeComment.setTextColor(UIUtils.getColor(R.color.cl_order_text_one));
holder.serverTime.setTextColor(UIUtils.getColor(R.color.cl_order_text_one));
holder.serverComment.setTextColor(UIUtils.getColor(R.color.cl_order_text_one));
holder.serverState.setTextColor(UIUtils.getColor(R.color.cl_order_text_one));
} }
holder.serverState.setText("【" + item.getOperation() + "】"); holder.serverState.setText("【" + item.getOperation() + "】");
holder.serverComment.setText(item.getOperationComment()); holder.serverComment.setText(item.getOperationComment());
...@@ -51,15 +61,16 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv ...@@ -51,15 +61,16 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv
if (TextUtils.isEmpty(item.getCommentInfo())) { if (TextUtils.isEmpty(item.getCommentInfo())) {
holder.serverTimeComment.setText("改派原因:暂无"); holder.serverTimeComment.setText("改派原因:暂无");
} else { } else {
holder.serverTimeComment.setText("改派原因:"+item.getCommentInfo()); holder.serverTimeComment.setText("改派原因:" + item.getCommentInfo());
} }
holder.serverCheck.setVisibility(View.GONE); holder.serverCheck.setVisibility(View.GONE);
} else if ("取消原因".equals(item.getCommentName())) { } else if ("取消原因".equals(item.getCommentName())) {
if (TextUtils.isEmpty(item.getCommentInfo())) { if (TextUtils.isEmpty(item.getCommentInfo())) {
holder.serverTimeComment.setText("取消原因:暂无"); holder.serverTimeComment.setText("取消原因:暂无");
} else { } else {
holder.serverTimeComment.setText("取消原因:"+item.getCommentInfo()); holder.serverTimeComment.setText("取消原因:" + item.getCommentInfo());
} }
holder.serverCheck.setVisibility(View.GONE);
} else { } else {
holder.serverTimeComment.setVisibility(View.GONE); holder.serverTimeComment.setVisibility(View.GONE);
if (TextUtils.isEmpty(item.getCommentName())) { if (TextUtils.isEmpty(item.getCommentName())) {
...@@ -71,12 +82,14 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv ...@@ -71,12 +82,14 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv
if ("查看结果".equals(item.getCommentName())) { if ("查看结果".equals(item.getCommentName())) {
holder.serverCheck.setOnClickListener(v -> presenter.dumpToSop()); holder.serverCheck.setOnClickListener(v -> presenter.dumpToSop());
} }
if ("查看验收申请".equals(item.getCommentName()) || "工单备注".equals(item.getCommentName())) { if ("查看验收申请".equals(item.getCommentName())) {
holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckContent(position)); holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckContent(position, Constants.FINISH_ORDER));
}
if ("工单备注".equals(item.getCommentName())) {
holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckContent(position, Constants.WATING_ORDER));
} }
if ("查看位置".equals(item.getCommentName())) { if ("查看位置".equals(item.getCommentName())) {
holder.serverCheck.setOnClickListener(v -> ToastUtils.showShortToast("longtitude" + item.getLongitude() + "latitude" + item.getLatitude())); holder.serverCheck.setOnClickListener(v -> presenter.dumpMap(item.getLatitude(), item.getLongitude(), item.getAddress()));
} }
if ("查看结果".equals(item.getCommentName())) { if ("查看结果".equals(item.getCommentName())) {
holder.serverCheck.setOnClickListener(v -> ToastUtils.showShortToast("查看结果")); holder.serverCheck.setOnClickListener(v -> ToastUtils.showShortToast("查看结果"));
......
...@@ -94,4 +94,4 @@ ...@@ -94,4 +94,4 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment