Commit be1f83c4 by mReturn

工单详情添加小绿人相关信息

parent f23e256c
......@@ -54,6 +54,7 @@ public class Constants {
// public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=dev/video";
// public static final boolean IS_DEBUG = true;
// public static String VIDEO_SHARE_URL = "http://uat.kf.ai:9099/#/shareVideo?type=_type&id="; //uat 学习视频分享链接 type(课程: course 直播: live)
// public static int XLR_PID = 239; //小绿人商家id
/**
......@@ -71,6 +72,8 @@ public class Constants {
public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=test/video";
public static final boolean IS_DEBUG = false;
public static String VIDEO_SHARE_URL = "http://uat.kf.ai:9099/#/shareVideo?type=_type&id="; //uat 学习视频分享链接 type(课程: course 直播: live)
public static int XLR_PID = 14; //小绿人商家id
......@@ -89,6 +92,8 @@ public class Constants {
// public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=online/video";
// public static final boolean IS_DEBUG = false;
// public static String VIDEO_SHARE_URL = "http://app.dl.kf.ai/ext/#/shareVideo?type=_type&id="; //学习视频分享链接 type(课程: course 直播: live)
// public static int XLR_PID = 1936; //小绿人商家id
/**
......
......@@ -149,6 +149,7 @@ public class AppUtils {
Constants.MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
Constants.WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
Constants.WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
Constants.XLR_PID = 239;
}
......@@ -164,6 +165,7 @@ public class AppUtils {
Constants.WEB_ZHI_SHI = "http://47.95.223.6:9004/#/detail";
Constants.CHECK_MULTI_WEB_SOP = "http://47.95.223.6:9004/#/manyServiceResult";
Constants.MULTI_WEB_SOP = "http://47.95.223.6:9004/#/manySop";
Constants.XLR_PID = 14;
}
......@@ -179,6 +181,7 @@ public class AppUtils {
Constants.WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
Constants.CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
Constants.MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
Constants.XLR_PID = 1936;
}
......
......@@ -246,6 +246,29 @@ public class CommonUtils {
}
/**
* string转list并且过滤掉空字符串
*
* @param str
* @return
*/
public static List<Integer> string2IntListF(String str) {
List<Integer> list = new ArrayList<>();
if (!TextUtils.isEmpty(str)) {
String[] strArr = str.split(",");
for (int i = 0; i < strArr.length; i++) {
if (!TextUtils.isEmpty(strArr[i])) {
try {
list.add(Integer.parseInt(strArr[i]));
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
}
}
return list;
}
/**
* 网络链接string转list并且过滤掉空字符串
*
* @param str
......
......@@ -14,6 +14,8 @@ import com.dayu.order.api.protocol.Order;
import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.api.protocol.OrderPart;
import com.dayu.order.api.protocol.bean.KnowledgeListBean;
import com.dayu.order.api.protocol.bean.OrderDetailDeviceInfoBean;
import com.dayu.order.api.protocol.bean.OrderDetailSiteInfoBean;
import com.dayu.order.api.protocol.bean.OrderPardDeatilBean;
import com.dayu.order.api.protocol.bean.OrderPartBean;
import com.dayu.order.api.protocol.Pay;
......@@ -412,119 +414,157 @@ public interface OrderService {
/**
* 获取留言
*
* @return
*/
@GET(Constants.API_7400+"/leaveMessage/spu/engineer/spuId/{spuId}")
@GET(Constants.API_7400 + "/leaveMessage/spu/engineer/spuId/{spuId}")
Observable<BaseResponse<BasePageBean<CommentBean>>> getComment(@Path("spuId") int spuId,
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 留言
*/
@POST(Constants.API_7400+"/leaveMessage/spu/engineer")
@POST(Constants.API_7400 + "/leaveMessage/spu/engineer")
Observable<BaseResponse<Boolean>> addComment(@Body CommentPostData data);
/**
* 回复
*/
@POST(Constants.API_7400+"/leaveMessage/spu/engineer")
@POST(Constants.API_7400 + "/leaveMessage/spu/engineer")
Observable<BaseResponse<Boolean>> addCommentReply(@Body CommentReplyData data);
/**
* 工单sop信息
*/
@GET(Constants.API_7200+"/ordersRelationSpuItemSop/sop/{itemId}")
@GET(Constants.API_7200 + "/ordersRelationSpuItemSop/sop/{itemId}")
Observable<BaseResponse<List<SopItemBean>>> getSopItems(@Path("itemId") int itemId);
/**
* 工单sop信息Result
*/
@GET(Constants.API_7200+"/ordersRelationSpuItemSop/sopResult/{itemId}")
@GET(Constants.API_7200 + "/ordersRelationSpuItemSop/sopResult/{itemId}")
Observable<BaseResponse<List<SopResult>>> getSopItemResult(@Path("itemId") int itemId);
/**
* 工单sop列表项
*/
@GET(Constants.API_7200+"/ordersRelationSpuItemSop")
@GET(Constants.API_7200 + "/ordersRelationSpuItemSop")
Observable<BaseResponse<BasePageBean<SopListBean>>> getSopList(@Query("ordersRelationSpuItemId") int ordersRelationSpuItemId);
/**
* 工单sop列表项
*/
@PUT(Constants.API_7200+"/ordersRelationSpuItemSop")
@PUT(Constants.API_7200 + "/ordersRelationSpuItemSop")
Observable<BaseResponse<Boolean>> modifySop(@Body SopListBean data);
/**
* 待接单
*/
@GET(Constants.API_7500+"/ordersStatistics/satisfiedOrders")
@GET(Constants.API_7500 + "/ordersStatistics/satisfiedOrders")
Observable<BaseResponse<List<Order>>> getReceivingOrders(@Query("accountId") int accountId);
/**
* 备件物流列表
*
* @param sendType 1服务商给师傅发货 2师傅给服务商发货
*/
@GET(Constants.API_7200+"/ordersLogistics")
@GET(Constants.API_7200 + "/ordersLogistics")
Observable<BaseResponse<BasePageBean<OrderPartBean>>> getOrderPartList(@Query("orderId") int orderId,
@Query("sendType") int sendType,
@Query("page") int page,
@Query("pageSize") int pageSize);
@Query("sendType") int sendType,
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 查询物流公司
* 查询物流公司
*/
@GET(Constants.API_7300+"/logisticsTraceInfo/logisticsCode/{code}")
@GET(Constants.API_7300 + "/logisticsTraceInfo/logisticsCode/{code}")
Observable<BaseResponse<TranCompanyBean>> getTransCompany(@Path("code") String code);
/**
* 查询服务商信息
* 查询服务商信息
*/
@GET(Constants.API_7100+"/serviceProviderInfo/queryProviderInfo/id/{id}")
@GET(Constants.API_7100 + "/serviceProviderInfo/queryProviderInfo/id/{id}")
Observable<BaseResponse<ServiceProviderBean>> getServiceProvider(@Path("id") int siteId);
/**
* 查询服务站信息
* 查询服务站信息
*/
@GET(Constants.API_7100+"/serviceProviderSite/get/{id}")
@GET(Constants.API_7100 + "/serviceProviderSite/get/{id}")
Observable<BaseResponse<ServiceStationBean>> getServiceStation(@Path("id") int providerId);
/**
* 工单向商家发送备件
* 工单向商家发送备件
*/
@POST(Constants.API_7200+"/ordersLogistics")
@POST(Constants.API_7200 + "/ordersLogistics")
Observable<BaseResponse<Boolean>> sendPart(@Body SendPartData data);
/**
* 备件收货
*/
@PUT(Constants.API_7200+"/ordersLogistics")
@PUT(Constants.API_7200 + "/ordersLogistics")
Observable<BaseResponse<Boolean>> receivePart(@Body ReceivePartData data);
/**
* 备件物流详情
* 备件物流详情
*/
@GET(Constants.API_7200+"/ordersLogistics/{id}")
@GET(Constants.API_7200 + "/ordersLogistics/{id}")
Observable<BaseResponse<OrderPardDeatilBean>> getPartDetail(@Path("id") int id);
/**
* 拨打电话记录
* 拨打电话记录
*/
@POST(Constants.API_7200+"/orderDialRecord")
@POST(Constants.API_7200 + "/orderDialRecord")
Observable<BaseResponse<Boolean>> addDialRecord(@Body AddDialRecordData data);
/**
* 知识库查询
*
* @param keyword
* @param page
* @param pageSize
* @return
*/
@GET(Constants.API_7900+"/knowledge")
@GET(Constants.API_7900 + "/knowledge")
Observable<BaseResponse<BasePageBean<KnowledgeListBean>>> queryKnowledge(@Query("keyword") String keyword,
@Query("status") int status,
@Query("page") int page,
@Query("pageSize") int pageSize);
@GET(Constants.API_7900+"/knowledge/{id}")
/**
* 知识库详情
*
* @param id
* @return
*/
@GET(Constants.API_7900 + "/knowledge/{id}")
Observable<BaseResponse<KnowledgeListBean>> getKnowledgeDetail(@Path("id") int id);
/**
* 工单详情是否显示价格
*
* @return
*/
@POST(Constants.API_7200 + "/orders/greenManStatus")
Observable<BaseResponse<String>> getShowDetailPriceData(@Query("engineerId") int engineerId,
@Query("orderId") int orderId);
/**
* 获取设备信息
*
* @return
*/
@GET(Constants.API_7600 + "/guarantee/sn/{sn}")
Observable<BaseResponse<OrderDetailDeviceInfoBean>> getDeviceInfo(@Path("sn") String sn,
@Query("type") int type);
/**
* 获取站点信息
*
* @return
*/
@GET(Constants.API_7200 + "/orders/greenPerson")
Observable<BaseResponse<OrderDetailSiteInfoBean>> getSiteInfo(@Query("sn") String sn);
}
......@@ -61,6 +61,16 @@ public class Order implements Serializable{
private double settlementPrice;
private String settlementDate;
private int version;
private String greenManStatus;
public String getGreenManStatus() {
return greenManStatus;
}
public void setGreenManStatus(String greenManStatus) {
this.greenManStatus = greenManStatus;
}
public int getVersion() {
return version;
......
......@@ -31,6 +31,15 @@ public class Spu implements Serializable, Parcelable {
private int status;//1未完成2已完成
private String brandName;
private String sn;
private String productName;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
private int ordersRelationSpuId;
/**
......
package com.dayu.order.api.protocol.bean;
public class OrderDetailDeviceInfoBean {
/**
* id : 22423
* companyId : 496
* productName : 苹果
* assetNumber : 1
* pn : iPhone 11
* sn : 12
* productionDate : 2020-08-25 00:00:00
* guaranteeNum : 6
* guaranteeEndDate : 2021-02-25 00:00:00
* status : 1
* createTime : 2020-08-25 17:01:26
* created : c1597745323835
* updateTime : 2020-08-26 15:32:47
* updated : null
* guaranteeStatus : 保内
* type : 2
* crmCompanyId : null
* crmCustomerId : null
* orderNum : null
* price : 999.0
* userOrg : 大鱼班
* userName : 李杨杨
* userCompany : 北京大鱼创想
*/
private int id;
private int companyId;
private String productName;
private String assetNumber;
private String pn;
private String sn;
private String productionDate;
private int guaranteeNum;
private String guaranteeEndDate;
private int status;
private String createTime;
private String created;
private String updateTime;
private Object updated;
private String guaranteeStatus;
private int type;
private Object crmCompanyId;
private Object crmCustomerId;
private Object orderNum;
private double price;
private String userOrg;
private String userName;
private String userCompany;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getCompanyId() {
return companyId;
}
public void setCompanyId(int companyId) {
this.companyId = companyId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getAssetNumber() {
return assetNumber;
}
public void setAssetNumber(String assetNumber) {
this.assetNumber = assetNumber;
}
public String getPn() {
return pn;
}
public void setPn(String pn) {
this.pn = pn;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getProductionDate() {
return productionDate;
}
public void setProductionDate(String productionDate) {
this.productionDate = productionDate;
}
public int getGuaranteeNum() {
return guaranteeNum;
}
public void setGuaranteeNum(int guaranteeNum) {
this.guaranteeNum = guaranteeNum;
}
public String getGuaranteeEndDate() {
return guaranteeEndDate;
}
public void setGuaranteeEndDate(String guaranteeEndDate) {
this.guaranteeEndDate = guaranteeEndDate;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getCreated() {
return created;
}
public void setCreated(String created) {
this.created = created;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public Object getUpdated() {
return updated;
}
public void setUpdated(Object updated) {
this.updated = updated;
}
public String getGuaranteeStatus() {
return guaranteeStatus;
}
public void setGuaranteeStatus(String guaranteeStatus) {
this.guaranteeStatus = guaranteeStatus;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public Object getCrmCompanyId() {
return crmCompanyId;
}
public void setCrmCompanyId(Object crmCompanyId) {
this.crmCompanyId = crmCompanyId;
}
public Object getCrmCustomerId() {
return crmCustomerId;
}
public void setCrmCustomerId(Object crmCustomerId) {
this.crmCustomerId = crmCustomerId;
}
public Object getOrderNum() {
return orderNum;
}
public void setOrderNum(Object orderNum) {
this.orderNum = orderNum;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getUserOrg() {
return userOrg;
}
public void setUserOrg(String userOrg) {
this.userOrg = userOrg;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserCompany() {
return userCompany;
}
public void setUserCompany(String userCompany) {
this.userCompany = userCompany;
}
}
......@@ -7,6 +7,7 @@ import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.databinding.ActivityOrderDetailsBinding;
......@@ -100,7 +101,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
initBtn();
addFragment();
mBind.llHelpTool.setVisibility(detail.getCreateProviderId() == 1936?View.VISIBLE:View.GONE);
mBind.llHelpTool.setVisibility(detail.getCreateProviderId() == Constants.XLR_PID ?View.VISIBLE:View.GONE);
mBind.llHelpTool.setOnClickListener(v->{
CommonUtils.launchProgram(this,"gh_476595064efb","pages/repair/repair");
});
......
......@@ -13,6 +13,7 @@ import com.dayu.base.api.Api;
import com.dayu.base.api.BaseApiFactory;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.activity.CameraActivity;
import com.dayu.base.ui.activity.ImgGalleryActivty;
import com.dayu.base.ui.adapter.MediaChooseAdapter;
import com.dayu.base.ui.adapter.SpacesItemDecoration;
import com.dayu.base.ui.presenter.SImplePresenter;
......@@ -42,6 +43,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import cn.jzvd.Jzvd;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
......@@ -103,7 +105,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
step = getIntent().getIntExtra("step", 1);
}
mBind.btnCancel.setText(step == 1 ? "取消" : "上一步");
mBind.rbNo.setChecked(true);
// mBind.rbNo.setChecked(true);
mBind.photo.addItemDecoration(new SpacesItemDecoration(10));
mBind.photo.setLayoutManager(new GridLayoutManager(mActivity, 5));
......@@ -159,7 +161,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
}
if (currentSop.getRadioResult() == 1) {
mBind.rbYes.setChecked(true);
} else {
} else if (currentSop.getRadioResult() == 2) {
mBind.rbNo.setChecked(true);
}
setAnswerStatuView();
......@@ -204,10 +206,14 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
mBind.ivExample.setVisibility(View.GONE);
mBind.jzVideo.setUp(example, "");
GlideImageLoader.load(this, mBind.jzVideo.thumbImageView, example, -1);
} else {
mBind.jzVideo.setVisibility(View.GONE);
mBind.ivExample.setVisibility(View.VISIBLE);
GlideImageLoader.loadFit(this, mBind.ivExample, example);
mBind.ivExample.setOnClickListener(v->{
ImgGalleryActivty.launch(this,example);
});
}
}
......@@ -217,7 +223,9 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
showToast("数据有误,请返回重试");
return;
}
int radioStatus = mBind.rgSop.getCheckedRadioButtonId() == mBind.rbYes.getId() ? 1 : 2;
int radioStatus = 0;
if (mBind.rgSop.getCheckedRadioButtonId() != -1)
radioStatus = mBind.rgSop.getCheckedRadioButtonId() == mBind.rbYes.getId() ? 1 : 2;
String remark = mBind.edtRemark.getText().toString();
currentSop.setRadioResult(radioStatus);
if (isChooseImg) {
......@@ -233,7 +241,10 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
if (isSeted && !isEdit) {
toNext();
} else {
currentSop.setRadioResult(radioStatus);
if (radioStatus == 0 && currentSop.getRadioOption() == 2) {
showToast("请设置选项");
return;
}
if (TextUtils.isEmpty(remark.trim()) && currentSop.getTextOption() == 2) {
showToast("请输入备注信息");
return;
......@@ -246,6 +257,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
if (isSeted && isEdit && TextUtils.isEmpty(remark.trim())) {
currentSop.setTextResult("");
}
currentSop.setRadioResult(radioStatus);
currentSop.setTextResult(remark);
if (mImages.size() == 0 && mVideos.size() == 0) {
if (isSeted && isEdit) {
......@@ -482,6 +494,13 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
}
@Override
public void onBackPressed() {
if (!Jzvd.backPress()) {
super.onBackPressed();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (step == 1)
......
......@@ -86,6 +86,8 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvOrderSender.setText(TextUtils.isEmpty(item.getCreatedProvider())
? mContext.getString(R.string.dayu_platform) : item.getCreatedProvider());
holder.tvPrice.setText(item.getPrice() + "元");
holder.tvPrice.setVisibility(!TextUtils.isEmpty(item.getGreenManStatus())
&& "false".equals(item.getGreenManStatus()) ? View.GONE : View.VISIBLE);
holder.itemTextDizhi.setText(address);
holder.tvErrorState.setVisibility(View.GONE);
holder.itemUpdataTime.setVisibility(View.VISIBLE);
......@@ -146,7 +148,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvOrderTime.setText(mContext.getString(R.string.have_appointment));
time = item.getAppointmentTime();
setTimeStatus(holder,time);
setTimeStatus(holder, time);
break;
case 3://待服务
holder.tvItemProcess.setVisibility(View.GONE);
......@@ -168,7 +170,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvItemProcess.setText(mContext.getString(R.string.begain_server));
}
time = item.getConfirmDoorTime();
setTimeStatus(holder,time);
setTimeStatus(holder, time);
break;
case 4://待处理
holder.tvItemProcess.setVisibility(View.GONE);
......@@ -199,12 +201,12 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.llBottom.setVisibility(View.VISIBLE);
holder.itemBottomLine.setVisibility(View.VISIBLE);
}
}else {
} else {
holder.rlItemEnd.setVisibility(View.VISIBLE);
holder.orderLineTwo.setVisibility(View.VISIBLE);
}
time = item.getConfirmDoorTime();
setTimeStatus(holder,time);
setTimeStatus(holder, time);
break;
case 5://已完成
// holder.tvErrorState.setText(mContext.getString(R.string.order_finish));
......@@ -224,14 +226,14 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
// }
holder.llBottom.setVisibility(View.GONE);
holder.llOrderDoneBootom.setVisibility(View.VISIBLE);
if (item.getSettlementType() ==1){
if (item.getSettlementType() == 1) {
holder.tvSettlementStatus.setText(mContext.getString(R.string.no_settelment_price));
holder.tvSettlementDate.setTextColor(mContext.getResources().getColor(R.color.text_common_blue));
}else{
} else {
holder.tvSettlementStatus.setText(mContext.getString(R.string.settelmented_price));
holder.tvSettlementDate.setTextColor(mContext.getResources().getColor(R.color.common_text_color));
}
holder.tvSettlementPrice.setText(CommonUtils.getMoneyStr(mContext,item.getSettlementPrice()));
holder.tvSettlementPrice.setText(CommonUtils.getMoneyStr(mContext, item.getSettlementPrice()));
holder.tvSettlementDate.setText(CommonUtils.getYearData(item.getSettlementDate()));
time = item.getConfirmDoorTime();
......@@ -295,11 +297,11 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
if (item.getStatus() != 1) {
holder.itemTextPhone.setOnClickListener(v -> {
if (!TextUtils.isEmpty(item.getCustomerTelphome()) && !TextUtils.isEmpty(item.getCustomerMobile())) {
showMoblieDialog(item.getCustomerMobile(), item.getCustomerTelphome(),item.getId());
} else if (!TextUtils.isEmpty(item.getCustomerTelphome())){
takePhone(item.getCustomerTelphome(),item.getId());
}else if (!TextUtils.isEmpty(item.getCustomerMobile())){
takePhone(item.getCustomerMobile(),item.getId());
showMoblieDialog(item.getCustomerMobile(), item.getCustomerTelphome(), item.getId());
} else if (!TextUtils.isEmpty(item.getCustomerTelphome())) {
takePhone(item.getCustomerTelphome(), item.getId());
} else if (!TextUtils.isEmpty(item.getCustomerMobile())) {
takePhone(item.getCustomerMobile(), item.getId());
}
Map<String, String> map_ekv = new HashMap<>();
if (item.getStatus() == 2) {
......@@ -338,16 +340,16 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
}
//根据时间状态设置不同颜色
private void setTimeStatus(FragmentOrderdoingItemBinding holder,String time) {
private void setTimeStatus(FragmentOrderdoingItemBinding holder, String time) {
long timeDiff = CommonUtils.caluteTimeDiff(time);
double timeMin = timeDiff/60000.0; //相差分钟数
if (timeMin<0){
double timeMin = timeDiff / 60000.0; //相差分钟数
if (timeMin < 0) {
holder.itemTody.setTextColor(Color.parseColor("#FF5A4B"));
holder.itemTime.setTextColor(Color.parseColor("#FF5A4B"));
}else if (timeMin<120){
} else if (timeMin < 120) {
holder.itemTody.setTextColor(Color.parseColor("#ffbe2d"));
holder.itemTime.setTextColor(Color.parseColor("#ffbe2d"));
}else{
} else {
holder.itemTody.setTextColor(Color.parseColor("#FF3FAAFC"));
holder.itemTime.setTextColor(Color.parseColor("#FF3FAAFC"));
......@@ -359,6 +361,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
mItem = it;
dumpProcessActivity(mItem, posiiton);
}
private void processClick(Order it, FragmentOrderdoingItemBinding h, int posiiton) {
mItem = it;
mBind = h;
......@@ -407,7 +410,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
// }));
// MobclickAgent.onEvent(mContext, "start_off");
// } else
if (mItem.getSubStatus() == 1 || mItem.getSubStatus() == 2) {
if (mItem.getSubStatus() == 1 || mItem.getSubStatus() == 2) {
mPresenter.startServer(mItem.getId(), latitude, longitude)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(mPresenter.baseObserver(integer -> {
......@@ -415,7 +418,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
ProgressUtil.stopLoad();
mItem.setStatus(4);
mItem.setSubStatus(integer);
processClick(mItem,h,posiiton);
processClick(mItem, h, posiiton);
mBind.tvItemProcess.setText(mContext.getString(R.string.process_order));
mBind.itemUpdataTime.setText(mContext.getString(R.string.need_again_door));
}, responeThrowable -> {
......@@ -478,9 +481,9 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
Spu spu = order.getSpus().get(0);
if (spu.getGoodNum() == 1) {
mPresenter.sopOrderVersion = order.getVersion();
if (order.getKaCompanyId() == null){
if (order.getKaCompanyId() == null) {
mPresenter.getServerList(spu.getId(), -1);
}else{
} else {
mPresenter.getServerList(spu.getId(), order.getKaCompanyId());
}
} else {
......@@ -495,7 +498,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
}
private void dumpSOPActivity(Order mItem, int adapterPosition) {
ToastUtils.showShortToast("version: "+mItem.getVersion());
ToastUtils.showShortToast("version: " + mItem.getVersion());
Constants.serveOrderId = mItem.getId();
Intent intent = new Intent(mContext, SopWebViewActivity.class);
Bundle bundle = new Bundle();
......@@ -540,7 +543,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
list.add(mobile);
list.add(tel);
OptionsPickerView pvOptions = new OptionsPickerBuilder(mContext,
(options1, options2, options3, v) -> takePhone(list.get(options1),id))
(options1, options2, options3, v) -> takePhone(list.get(options1), id))
.setContentTextSize(20)
.setLineSpacingMultiplier(2.0f)
.setContentTextSize(20)
......@@ -549,13 +552,13 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
pvOptions.show();
}
private void takePhone(String phone,int orderId) {
private void takePhone(String phone, int orderId) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phone));
mContext.startActivity(intent);
if (mPresenter != null)
mPresenter.addDialRecord(phone,orderId);
mPresenter.addDialRecord(phone, orderId);
}
public void initPresenter(OrderDoingPresenter presenter) {
......
......@@ -3,9 +3,14 @@ package com.dayu.order.ui.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.APIService;
import com.dayu.base.api.Api;
import com.dayu.base.ui.activity.ImgGalleryActivty;
......@@ -81,6 +86,11 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
orderId = detail.getId();
setListenter();
mBind.setItem(detail);
if (detail.getCreateProviderId() == Constants.XLR_PID){
initWrongView(detail);
initInfoView(detail);
getShowPriceData();
}
mServerAdapter = new CoreAdapter<>(false);
mBind.rlServerContent.setLayoutManager(new LinearLayoutManager(mActivity));
mServerAdapter.setViewType(R.layout.item_detail_server_info);
......@@ -176,6 +186,97 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
mBind.customerSignature.setOnClickListener(v -> imgMax(detail.getEsignatureImg()));
}
//小绿人相关信息
private void initInfoView(OrderDetail detail) {
mBind.llSiteInfo.setVisibility(View.VISIBLE);
if (!TextUtils.isEmpty(detail.getSn())){
showDialog();
mBind.tvDeviceSn.setText(detail.getSn());
Api.getService(OrderService.class).getDeviceInfo(detail.getSn(),2).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(result->{
if (result != null){
mBind.tvDeviceTime.setText(result.getGuaranteeEndDate());
}else {
mBind.tvDeviceTime.setText(R.string.no_data);
}
},responeThrowable -> {
mBind.tvDeviceTime.setText(R.string.no_data);
}));
Api.getService(OrderService.class).getSiteInfo(detail.getSn()).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(result->{
if (result != null){
String info = result.getProvince()+result.getCityName()+result.getDistrict()+result.getStreet()+result.getAddress();
info = info.replace("null","");
mBind.tvSiteInfo.setText(info);
mBind.tvSiteId.setText(result.getStationId()+"");
}else {
mBind.tvSiteInfo.setText(R.string.no_data);
mBind.tvSiteId.setText(R.string.no_data);
}
},responeThrowable -> {
mBind.tvSiteInfo.setText(R.string.no_data);
mBind.tvSiteId.setText(R.string.no_data);
}));
}else{
mBind.tvSiteId.setText(R.string.no_data);
mBind.tvSiteInfo.setText(R.string.no_data);
mBind.tvDeviceSn.setText(R.string.no_data);
mBind.tvDeviceTime.setText(R.string.no_data);
}
}
//是否显示价格
private void getShowPriceData() {
initUser();
Api.getService(OrderService.class).getShowDetailPriceData(mUserId,orderId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(result->{
if (!TextUtils.isEmpty(result) && "false".equals(result)){
mBind.llBottomPrice.setVisibility(View.GONE);
}
}));
}
//故障部位
private void initWrongView(OrderDetail detail) {
if (detail.getSpus() != null && detail.getSpus().size() > 0){
List<Integer> lists = CommonUtils.string2IntListF(detail.getSpus().get(0).getProductName());
if (lists.size()>0){
mBind.llWrong.setVisibility(View.VISIBLE);
mBind.tvNoWrong.setVisibility(View.GONE);
List<Integer> tempList = new ArrayList<>();
if (lists.contains(7)){
tempList.add(7);
}else {
tempList.addAll(lists);
}
BaseQuickAdapter<Integer,BaseViewHolder> wrongAdapter = new BaseQuickAdapter<Integer, BaseViewHolder>(R.layout.item_wrong_part,tempList) {
@Override
protected void convert(BaseViewHolder helper, Integer item) {
ImageView ivItem = helper.getView(R.id.iv_picture);
TextView tvItem = helper.getView(R.id.tv_desc);
if (item==7){
ivItem.setImageResource(R.drawable.ic_wrong_hole);
tvItem.setText("整机");
}else {
ivItem.setImageResource(R.drawable.ic_wrong_num);
tvItem.setText(item+"");
}
}
};
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
mBind.rvWrong.setLayoutManager(layoutManager);
mBind.rvWrong.setAdapter(wrongAdapter);
}else {
if (!TextUtils.isEmpty(detail.getSpus().get(0).getProductName())){
mBind.llWrong.setVisibility(View.VISIBLE);
mBind.tvNoWrong.setVisibility(View.VISIBLE);
mBind.tvNoWrong.setText("...");
}
}
}
}
//代收款项
private void setNoReceviePrice(OrderDetail detail) {
double noRePrice = 0;
......
......@@ -92,6 +92,7 @@
<activity
android:name=".ui.activity.SopLocalActivity"
android:windowSoftInputMode="stateHidden|adjustPan"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.ApplyAndRefuseActivity"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_picture"
android:layout_width="15dp"
android:layout_height="15dp"
android:src="@drawable/ic_wrong_hole" />
<TextView
android:id="@+id/tv_desc"
style="@style/common_text_style"
android:layout_marginLeft="3dp"
android:textSize="14sp"
android:layout_marginRight="15dp"
android:text="1" />
</LinearLayout>
\ 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