Commit e97825f0 by han xu

Merge branch 'dev' of http://47.94.101.239:82/android/dayu into dev

parents cb140e01 c120d69a
Showing with 395 additions and 67 deletions
......@@ -196,6 +196,7 @@ public class Constants {
public final static String IDS = "ids";
public final static String OPERATE_DETAIL = "operate_detail";
public final static String OPERATE_DETAIL_PHONE = "operate_detail_phone";
public final static String CAN_EDIT = "can_edit";
//订单详情
public final static String ORDER_DETAIL = "order_detail";
......
......@@ -16,6 +16,18 @@ import java.util.ArrayList;
*/
public class ImageFileCropEngine implements CropFileEngine {
private boolean isFree = false;
public ImageFileCropEngine() {
}
public ImageFileCropEngine(boolean isFree) {
this.isFree = isFree;
}
@Override
public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) {
UCrop.Options options = buildOptions(fragment);
......@@ -36,13 +48,19 @@ public class ImageFileCropEngine implements CropFileEngine {
}
private UCrop.Options buildOptions(Fragment fragment) {
float x = 0;
if (isFree){
x = 1.5F;
}else{
x = 1;
}
UCrop.Options options = new UCrop.Options();
// options.setHideBottomControls(!cb_hide.isChecked());
// options.setFreeStyleCropEnabled(cb_styleCrop.isChecked());
// options.setFreeStyleCropEnabled(isFree);
// options.setShowCropFrame(cb_showCropFrame.isChecked());
// options.setShowCropGrid(cb_showCropGrid.isChecked());
// options.setCircleDimmedLayer(cb_crop_circular.isChecked());
options.withAspectRatio(1, 1);
options.withAspectRatio(x, 1);
options.setHideBottomControls(true);
// options.setCropOutputPathDir(getApplication().getFilesDir().getAbsolutePath() + "/wkCrop");
// options.setCropOutputFileName(System.currentTimeMillis() + ".png");
......
......@@ -34,13 +34,13 @@ public class SelectPicUtils {
});
}
public static void selectPic(Activity activity, int maxImgCout, boolean needCrop, int requestCode) {
public static void selectPic(Activity activity, int maxImgCout, boolean needCrop, int requestCode,boolean isFree) {
String[] mPerArr = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
MPermissionUtils.requestPermissionsResult(activity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
@SuppressLint("CheckResult")
@Override
public void onPermissionGranted() {
showPicDialogs(activity, maxImgCout, needCrop, requestCode);
showPicDialogs(activity, maxImgCout, needCrop, requestCode,isFree);
}
@Override
......@@ -50,11 +50,26 @@ public class SelectPicUtils {
}
public static void showPicDialogs(Activity activity, int size, boolean needCrop, int requestCode) {
ImageFileCropEngine imageFileCropEngine = new ImageFileCropEngine(false);
PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
// .setFilterMaxFileSize(size)
.setImageEngine(GlideEngine.createGlideEngine())
.setCropEngine(imageFileCropEngine)
.setImageSpanCount(4)
.setSelectionMode(SelectModeConfig.MULTIPLE);
selector.forResult(requestCode);
}
public static void showPicDialogs(Activity activity, int size, boolean needCrop, int requestCode,boolean isFree) {
ImageFileCropEngine imageFileCropEngine = new ImageFileCropEngine(isFree);
PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
// .setFilterMaxFileSize(size)
.setImageEngine(GlideEngine.createGlideEngine())
.setCropEngine(new ImageFileCropEngine())
.setCropEngine(imageFileCropEngine)
.setImageSpanCount(4)
.setSelectionMode(SelectModeConfig.MULTIPLE);
// .isPreviewImage(true)
......
package com.dayu.widgets;
import android.app.Activity;
import android.app.Dialog;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.baselibrary.R;
import java.util.List;
public class PhoneNumDialog {
public static PhoneNumDialog instance;
public static PhoneNumDialog getInstance(){
if (instance == null){
instance = new PhoneNumDialog();
}
return instance;
}
public void showBottomDialog(final Activity activity, List<String> strs,onItemClickListener listener) {
View mView = View.inflate(activity, R.layout.dialog_phone_num , null);
RecyclerView recyclerView = mView.findViewById(R.id.rv_text);
TextView tvText = mView.findViewById(R.id.tv_text);
BaseQuickAdapter<String,BaseViewHolder> mAdapter = new BaseQuickAdapter<String, BaseViewHolder>
(R.layout.item_dialog_phone_num,strs) {
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setText(R.id.tv_text,item);
}
};
recyclerView.setLayoutManager(new LinearLayoutManager(activity));
recyclerView.setAdapter(mAdapter);
recyclerView.addItemDecoration(new DividerItemDecoration(activity,DividerItemDecoration.VERTICAL));
Dialog textDialog = new Dialog(activity, R.style.CustomDialog);
textDialog.setContentView(mView);
Window window = textDialog.getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
wl.gravity = Gravity.BOTTOM;
textDialog.onWindowAttributesChanged(wl);
textDialog.show();
textDialog.setCanceledOnTouchOutside(true);
textDialog.setCancelable(true);
mAdapter.setOnItemClickListener((adapter,view,pos)->{
if (listener != null){
listener.onClick(pos);
}
textDialog.dismiss();
});
tvText.setOnClickListener(v -> textDialog.dismiss());
}
public void showCenterDialog(final Activity activity, List<String> strs,onItemClickListener listener) {
showCenterDialog(activity,R.layout.dialog_text,R.layout.item_dialog_text,strs,listener);
}
public void showCenterDialog(final Activity activity, int viewId,int itemId,List<String> strs,onItemClickListener listener) {
View mView = View.inflate(activity, viewId , null);
RecyclerView recyclerView = mView.findViewById(R.id.rv_text);
BaseQuickAdapter<String,BaseViewHolder> mAdapter = new BaseQuickAdapter<String, BaseViewHolder>(itemId,strs) {
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setText(R.id.tv_text,item);
}
};
recyclerView.setLayoutManager(new LinearLayoutManager(activity));
recyclerView.setAdapter(mAdapter);
Dialog textDialog = new Dialog(activity, R.style.CustomDialog);
textDialog.setContentView(mView);
Window window = textDialog.getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
textDialog.onWindowAttributesChanged(wl);
textDialog.show();
textDialog.setCanceledOnTouchOutside(true);
textDialog.setCancelable(true);
mAdapter.setOnItemClickListener((adapter,view,pos)->{
if (listener != null){
listener.onClick(pos);
}
textDialog.dismiss();
});
}
public interface onItemClickListener {
void onClick(int pos);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_text"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
/>
<TextView
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="20dp"
android:layout_marginTop="10dp"
android:text='取消'
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="@dimen/sp_14"
android:background="@color/white"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="20dp"
android:text='aaa'
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="@dimen/sp_14" />
\ No newline at end of file
......@@ -793,7 +793,7 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
<string name="be_takeed_price">代收款项</string>
<string name="take_price_subsidy">工费补贴</string>
<string name="contact_seller_support">联系商家技术支持</string>
<string name="seller_support">商家技术支持</string>
<string name="seller_support">联系商家</string>
<string name="stand_operate_step_">标准操作步骤:</string>
<string name="no_mobile">暂无联系方式</string>
<string name="send_str">发送</string>
......
......@@ -5,8 +5,8 @@ buildscript {
ext.build_tools_version = "29.0.2"
ext.min_sdk_version = 21
ext.target_sdk_version = 29
ext.version_code = 314
ext.verson_name = "3.1.4"
ext.version_code = 315
ext.verson_name = "3.1.5"
ext.gradle_version = '4.0.1'
ext.isReleaseMinify = false
ext.isDebugMinify = false
......
......@@ -91,6 +91,9 @@ public class OrderApiFactory {
public static Observable<List<OperateInfo>> getOperateInfo(OperatePostData data) {
return Api.getService(OrderService.class).getOperateInfo(data.spuIds).compose(Api.applySchedulers());
}
public static Observable<List<String>> getOperatePhone(int orderId) {
return Api.getService(OrderService.class).getOperatePhone(orderId).compose(Api.applySchedulers());
}
public static Observable<KaAddress> getKaAddress(int companyId) {
return Api.getService(OrderService.class).getKaAddress(companyId).compose(Api.applySchedulers());
......
......@@ -42,6 +42,7 @@ import com.dayu.order.api.protocol.data.ReceivePartData;
import com.dayu.order.api.protocol.data.SendPartData;
import com.dayu.order.common.OrderConstant;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;
......@@ -194,6 +195,11 @@ public interface OrderService {
*/
@POST(OrderConstant.ORDER_OPERATE)
Observable<BaseResponse<List<OperateInfo>>> getOperateInfo(@Body int[] data);
/**
* 获取操作指南.
*/
@GET(OrderConstant.ORDER_OPERATE_PHONE)
Observable<BaseResponse<List<String>>> getOperatePhone(@Query("orderId") int orderId);
/**
* 获取厂商默认收货地址.
......@@ -465,9 +471,9 @@ public interface OrderService {
/**
* 工单sop列表项
*/
@GET(Constants.API_7200 + "/ordersRelationSpuItemSop")
Observable<BaseResponse<BasePageBean<SopListBean>>> getSopList(@Query("ordersRelationSpuItemId") int ordersRelationSpuItemId
, @Query("pageSize") int pageSize);
@GET(Constants.API_7200 + "/ordersRelationSpuItemSop/list")
Observable<BaseResponse<ArrayList<SopListBean>>> getSopList(@Query("ordersRelationSpuItemId") int ordersRelationSpuItemId
, @Query("orderId") int orderId);
/**
* 工单sop列表项
......
package com.dayu.order.api.protocol;
import java.io.Serializable;
public class OrderPhone implements Serializable {
private int code;
// private String msg;
// private List<String> data;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
//
// public String getMsg() {
// return msg;
// }
//
// public void setMsg(String msg) {
// this.msg = msg;
// }
//
// public List<String> getData() {
// return data;
// }
//
// public void setData(ArrayList<String> data) {
// this.data = data;
// }
}
......@@ -32,14 +32,7 @@ public class Spu implements Serializable, Parcelable {
private String brandName;
private String sn;
private String productName;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
private boolean isHide = false;
private int ordersRelationSpuId;
/**
......@@ -52,6 +45,14 @@ public class Spu implements Serializable, Parcelable {
private String serialNumPicUrl;
private String needShortVideo;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getNeedShortVideo() {
return needShortVideo;
}
......
......@@ -85,6 +85,10 @@ public class OrderConstant {
*/
public final static String ORDER_OPERATE = "/api-ka-base/" + "spu/getMobileSpusBySpuIds";
/**
* 获取操作指南.
*/
public final static String ORDER_OPERATE_PHONE= "/api-order/" + "orders/supportAndCreatorMobile";
/**
* 获取厂商默认收货地址.
*/
public final static String KA_ADDRESS = "/api-ka-user/" + "companyAddress/default/companyId/{companyId}";
......
......@@ -32,6 +32,7 @@ public interface MultiProcessOrderContract {
String getSnNumbers();
void setSnNumbers(String snStrs);
void hideSOP(boolean b);
void showSnView(boolean show);
String getVideo();
......
......@@ -63,16 +63,19 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
private String videoUrl; //视频上传成功后的地址
private boolean isShowVideo;
private int mUserId;
private boolean isHide;
@Override
public void onAttached() {
Bundle bundle = mView.getBundle();
isHide = bundle.getBoolean("isHide", false);
mSpu = (Spu) bundle.getSerializable(OrderConstant.SPU);
mSpus = bundle.getParcelableArrayList(OrderConstant.SPUS);
mSourceSpus = bundle.getParcelableArrayList(OrderConstant.SPUS_SOURCE);
mState = bundle.getInt(Constants.STATE);
mKaId = mView.getBundle().getInt(OrderConstant.KAADDRESSID, -1);
sopOrderVersion = bundle.getInt(Constants.SOP_ORDER_VERSION);
if (mKaId != -1) {
getPhone();
}
......@@ -96,6 +99,14 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
// if (mSpu.getStatus() == 2) {
// getInfo();
// }
if (mSpu.getSopStatus() == 1){
mView.hideSOP(false);
}else{
mView.hideSOP(true);
}
if (isHide){
mView.hideSOP(true);
}
}
private void commitOrder(List<String> list, List<String> snList, String videoUrl) {
......@@ -255,6 +266,9 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
}));
}
public void isShow() {
}
@Override
public void dumpToSop() {
......@@ -282,7 +296,16 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
public void getInfo() {
mView.showDialog();
OrderApiFactory.getMultiProcessInfo(mId).subscribe(baseObserver(spu -> {
mDetail.set(spu);
if (mSpu.getSopStatus() == 1){
mView.hideSOP(false);
}else{
mView.hideSOP(true);
}
if (isHide){
mView.hideSOP(true);
}
mBrandName.set(spu.getBrandName());
mView.setSnNumbers(spu.getSn());
// mSn.set(spu.getSn());
......
......@@ -13,6 +13,7 @@ import java.util.List;
public interface OperateConstract {
interface View extends BaseView {
void setDatas(List<OperateInfo> operateInfos);
void setOrderId(List<String> orderPhone);
}
abstract class Presenter extends BaseListPresenter<OperateConstract.View> {
......
......@@ -6,8 +6,8 @@ import androidx.databinding.ObservableField;
import com.dayu.common.Constants;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.OperateInfo;
import com.dayu.order.api.protocol.OperatePostData;
import com.dayu.order.api.protocol.OrderDetail;
/**
* Created by mReturn
......@@ -15,6 +15,7 @@ import com.dayu.order.api.protocol.OperatePostData;
*/
public class OperatePresenter extends OperateConstract.Presenter {
private int[] mSpuIds;
private int orderId;
@Override
......@@ -26,12 +27,22 @@ public class OperatePresenter extends OperateConstract.Presenter {
public void onAttached() {
Bundle bundle = mView.getBundle();
mSpuIds = bundle.getIntArray(Constants.IDS);
orderId = ((OrderDetail) bundle.getSerializable(Constants.ORDER_DETAIL)).getId();
getOperateData();
}
@Override
public void getOperateData() {
mView.showDialog();
OrderApiFactory.getOperateInfo(new OperatePostData(mSpuIds)).subscribe(baseObserver(info-> mView.setDatas(info)));
OrderApiFactory.getOperatePhone(orderId).subscribe(baseObserver(info-> {
mView.setOrderId(info);
OrderApiFactory.getOperateInfo(new OperatePostData(mSpuIds)).subscribe(baseObserver(inf-> mView.setDatas(inf)));
}));
}
}
......@@ -5,6 +5,8 @@ import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
import com.dayu.order.api.protocol.OrderDetail;
import java.util.List;
/**
* Created by luo
* on 2016/8/4.
......@@ -23,6 +25,8 @@ public interface OrderDetailContract {
void addFragment();
void setDatas(OrderDetail detail);
void setOrderPhoneNum(List<String> info);
}
abstract class Presenter extends BasePresenter<View> {
......
......@@ -28,8 +28,13 @@ public class OrderDetailPresenter extends OrderDetailContract.Presenter {
@Override
public void getOrderDetailInfo(int orderId) {
OrderApiFactory.getOrderInfo(orderId,mUserId).subscribe(baseObserver(
detail -> mView.init(detail), responeThrowable -> mView.init(null)));
OrderApiFactory.getOperatePhone(mOrderId).subscribe(baseObserver(info-> {
mView.setOrderPhoneNum(info);
OrderApiFactory.getOrderInfo(orderId,mUserId).subscribe(baseObserver(
detail -> mView.init(detail), responeThrowable -> mView.init(null)));
}));
}
@Override
......@@ -37,6 +42,8 @@ public class OrderDetailPresenter extends OrderDetailContract.Presenter {
mView.showDialog();
OrderApiFactory.getOrderInfo(mOrderId,mUserId).subscribe(baseObserver(
detail -> mView.setDatas(detail)));
}
@Override
......
......@@ -323,6 +323,15 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
}
@Override
public void hideSOP(boolean b) {
if (b){
mBind.tvModifySop.setVisibility(View.GONE);
}else{
mBind.tvModifySop.setVisibility(View.VISIBLE);
}
}
@Override
public void showSnView(boolean show) {
if (show) {
mBind.tvProductTitle.setVisibility(View.VISIBLE);
......
......@@ -28,6 +28,7 @@ import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd;
......@@ -47,6 +48,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
private FragmentManager mFragmentManger;
private ArrayList<Fragment> mFragments;
private int mPosition;
private List<String> info;
@Override
......@@ -68,7 +70,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
public void init(OrderDetail detail) {
mFragments = new ArrayList<>();
orderDatailsFragment = OrderDetaillsFragment.newInstance(detail);
mMultiDetailFragment = MultiOrderDetailFragment.newInstance(detail);
mMultiDetailFragment = MultiOrderDetailFragment.newInstance(detail,info);
orderDatailsServeFragment = OrderDetailsServeFragment.newInstance(detail);
mOrderPartFragment = OrderPartFragment.newInstance(detail);
if (detail.getSpus().size()>0){
......@@ -199,6 +201,11 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
}
@Override
public void setOrderPhoneNum(List<String> info) {
this.info = info;
}
@Override
public void onBackPressed() {
if (Jzvd.backPress()) {
return;
......
......@@ -12,7 +12,6 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
......@@ -26,7 +25,6 @@ import com.cjt2325.cameralibrary.util.ScreenUtils;
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;
......@@ -50,7 +48,6 @@ import com.dayu.utils.ToastUtils;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.TextDialog;
import com.luck.picture.lib.basic.PictureSelectionCameraModel;
import com.luck.picture.lib.basic.PictureSelectionSystemModel;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.entity.LocalMedia;
......@@ -62,11 +59,8 @@ import org.greenrobot.eventbus.Subscribe;
import java.io.File;
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;
import io.reactivex.disposables.Disposable;
public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopLocalBinding> {
......@@ -161,10 +155,10 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
private void initData() {
if (OrderConstant.sopListData == null) {
showDialog();
Api.getService(OrderService.class).getSopList(mSopRid, 100).compose(Api.applySchedulers())
Api.getService(OrderService.class).getSopList(mSopRid, orderDetailId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(datas -> {
if (datas != null && datas.getData() != null) {
OrderConstant.sopListData = datas.getData();
if (datas != null) {
OrderConstant.sopListData = datas;
setStepData();
}
}));
......@@ -214,6 +208,8 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
mBind.webView.setLayoutParams(param);
mBind.webView.loadUrl(currentSop.getH5Url());
}
}else{
toNext(true);
}
mBind.btnNext.setOnClickListener(view -> {
preSaveData();
......@@ -281,7 +277,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
//保存数据
private void preSaveData() {
if (!canEdit) {
toNext();
toNext(false);
return;
}
if (currentSop == null) {
......@@ -304,7 +300,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
|| mVideos.size() != CommonUtils.string2ListUrl(currentSop.getVideoResult()).size())
isEdit = true;
if (isSeted && !isEdit) {
toNext();
toNext(false);
} else {
if (radioStatus == 0 && currentSop.getRadioOption() == 2) {
showToast("请设置选项");
......@@ -396,7 +392,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
.subscribe(mPresenter.baseObserver(success -> {
hideDialog();
getPermissionLocation();
toNext();
toNext(false);
}));
}
......@@ -484,7 +480,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
// });
}
private void toNext() {
private void toNext(boolean isHide) {
isEdit = false;
isSeted = true;
if (OrderConstant.sopListData != null && step < OrderConstant.sopListData.size()) {
......@@ -506,6 +502,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
bundle.putInt(Constants.ORDER_POSTION, 0);
bundle.putInt(Constants.ORDER_ID, mOrderId);
bundle.putInt(Constants.STATE, mSpuState);
bundle.putBoolean("isHide",isHide);
intent.putExtra(Constants.BUNDLE, bundle);
bundle.putInt(Constants.SOP_ORDER_VERSION, version);
startActivity(intent);
......
......@@ -47,7 +47,7 @@ import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager;
import com.dayu.utils.UtilsDate;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.TextDialog;
import com.dayu.widgets.PhoneNumDialog;
import com.dayu.widgets.listener.OnItemClickListener;
import org.greenrobot.eventbus.EventBus;
......@@ -69,10 +69,12 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
private boolean mFlag = true;
private int orderId;
List<String> phones = new ArrayList<>();
private ArrayList<String> phoneNum;
public static MultiOrderDetailFragment newInstance(OrderDetail detail) {
public static MultiOrderDetailFragment newInstance(OrderDetail detail, List<String> info) {
Bundle args = new Bundle();
args.putSerializable(Constants.ORDER_DETAIL, detail);
args.putStringArrayList(Constants.OPERATE_DETAIL_PHONE, (ArrayList<String>) info);
MultiOrderDetailFragment fragment = new MultiOrderDetailFragment();
fragment.setArguments(args);
return fragment;
......@@ -88,6 +90,7 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
initUser();
EventBus.getDefault().register(this);
OrderDetail detail = (OrderDetail) getArguments().getSerializable(Constants.ORDER_DETAIL);
phoneNum = getArguments().getStringArrayList(Constants.OPERATE_DETAIL_PHONE);
orderId = detail.getId();
setListenter();
mBind.setItem(detail);
......@@ -401,22 +404,31 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
private void setListenter() {
mBind.tvContactSeller.setOnClickListener(v -> {
if (phones == null || phones.size() == 0) {
ToastUtils.showShortToast(R.string.no_mobile);
} else {
if (phones.size() == 1) {
CommonUtils.dialPhone(mActivity, phones.get(0));
addDialPhoneRecord(phones.get(0));
} else {
TextDialog.getInstance().showCenterDialog(mActivity, phones, pos -> {
CommonUtils.dialPhone(mActivity, phones.get(pos));
addDialPhoneRecord(phones.get(pos));
}
);
}
if (phoneNum == null || phoneNum.size() == 0){
ToastUtils.showShortToast(R.string.no_mobile);
}else{
PhoneNumDialog.getInstance().showBottomDialog(mActivity, phoneNum, pos -> {
CommonUtils.dialPhone(mActivity, phoneNum.get(pos));
});
}
// if (phones == null || phones.size() == 0) {
// ToastUtils.showShortToast(R.string.no_mobile);
// } else {
// if (phones.size() == 1) {
// CommonUtils.dialPhone(mActivity, phones.get(0));
// addDialPhoneRecord(phones.get(0));
//
// } else {
// TextDialog.getInstance().showCenterDialog(mActivity, phones, pos -> {
// CommonUtils.dialPhone(mActivity, phones.get(pos));
// addDialPhoneRecord(phones.get(pos));
// }
// );
//
// }
// }
});
mBind.tvTakeOrder.setOnClickListener(v -> {
showDialog();
......
......@@ -28,6 +28,7 @@ import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ProgressUtil;
import com.dayu.utils.ToastUtils;
import com.dayu.widgets.KeyboardStateObserver;
import com.dayu.widgets.PhoneNumDialog;
import java.util.ArrayList;
import java.util.List;
......@@ -48,10 +49,12 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
private int page = 1;
private int pageSize = 20;
private WeakHandler weakHandler = new WeakHandler();
private ArrayList<String> phoneNum;
public static OperateDetailFragment newInstance(OperateInfo info, int createProviderId) {
public static OperateDetailFragment newInstance(OperateInfo info, int createProviderId, ArrayList<String> phoneNum) {
Bundle args = new Bundle();
args.putSerializable(Constants.OPERATE_DETAIL, info);
args.putStringArrayList(Constants.OPERATE_DETAIL_PHONE, phoneNum);
args.putInt(Constants.ID, createProviderId);
OperateDetailFragment fragment = new OperateDetailFragment();
fragment.setArguments(args);
......@@ -64,6 +67,7 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
userInfo = mUserInfo;
GlideImageLoader.load(mActivity, mBind.ivAvatar, userInfo.getHeaderImg(), R.drawable.icon_user_default);
operateInfo = (OperateInfo) getArguments().getSerializable(Constants.OPERATE_DETAIL);
phoneNum = getArguments().getStringArrayList(Constants.OPERATE_DETAIL_PHONE);
int createProviderId = getArguments().getInt(Constants.ID);
getCommentData();
initRefreshView();
......@@ -133,11 +137,20 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
//联系电话
mBind.tvContactSeller.setOnClickListener(v -> {
if (TextUtils.isEmpty(phone)) {
if (phoneNum == null || phoneNum.size() == 0){
ToastUtils.showShortToast(R.string.no_mobile);
} else {
CommonUtils.dialPhone(mActivity, phone);
}else{
PhoneNumDialog.getInstance().showBottomDialog(mActivity, phoneNum, pos -> {
CommonUtils.dialPhone(mActivity, phoneNum.get(pos));
});
}
// if (TextUtils.isEmpty(phone)) {
// ToastUtils.showShortToast(R.string.no_mobile);
// } else {
// CommonUtils.dialPhone(mActivity, phone);
// }
});
//发送
......@@ -207,6 +220,12 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
}));
OrderApiFactory.getComment(operateInfo.getId(), 1, 3, 1, page, pageSize)
.subscribe(mPresenter.baseObserver(data -> {
}, responeThrowable -> {
}));
}
......
......@@ -9,7 +9,6 @@ import androidx.viewpager.widget.ViewPager;
import com.dayu.base.ui.adapter.FragmentBaseAdapter;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.fragment.DataBindingFragment;
import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.api.protocol.OperateInfo;
......@@ -18,14 +17,10 @@ import com.dayu.order.common.OperatePhoneEvent;
import com.dayu.order.databinding.FragmentOrderOperateBinding;
import com.dayu.order.presenter.operate.OperateConstract;
import com.dayu.order.presenter.operate.OperatePresenter;
import com.dayu.order.presenter.serverinstruction.ServerInstructionContract;
import com.dayu.order.presenter.serverinstruction.ServerInstructionPresenter;
import com.dayu.order.ui.adapter.OrderAdapter;
import com.dayu.utils.ToastUtils;
import org.greenrobot.eventbus.EventBus;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
......@@ -38,6 +33,7 @@ public class OrderOperateFragment extends BaseFragment<OperatePresenter,Fragment
private int curIndex;
private List<Fragment> fragments = new ArrayList<>();
private OrderDetail detail;
private ArrayList orderPhone;
public static OrderOperateFragment newInstance(int[] ids,OrderDetail detail) {
Bundle args = new Bundle();
......@@ -73,7 +69,7 @@ public class OrderOperateFragment extends BaseFragment<OperatePresenter,Fragment
List<String> phones = new ArrayList<>();
for(OperateInfo info : operateInfos){
titles.add(info.getName());
fragments.add(OperateDetailFragment.newInstance(info,detail.getCreateProviderId()));
fragments.add(OperateDetailFragment.newInstance(info,detail.getCreateProviderId(),orderPhone));
if (!TextUtils.isEmpty(info.getHotline())){
phones.add(info.getHotline());
}
......@@ -96,6 +92,11 @@ public class OrderOperateFragment extends BaseFragment<OperatePresenter,Fragment
});
}
@Override
public void setOrderId(List<String> orderPhone) {
this.orderPhone = (ArrayList) orderPhone;
}
private void showArrow() {
if (fragments.size()>1){
mBind.ivPre.setVisibility(curIndex == 0?View.GONE:View.VISIBLE);
......
......@@ -59,8 +59,7 @@
android:onClick="@{()->presenter.dumpToSop()}"
android:text="@string/sop_finish"
android:textColor="@color/cl_white"
android:textSize="13.3sp"
android:visibility="@{presenter.mDetail.sopStatus == 1?View.VISIBLE:View.GONE}" />
android:textSize="13.3sp"/>
<ScrollView
android:layout_width="match_parent"
......
......@@ -75,11 +75,11 @@ public class RegisterActivity extends BaseActivity<SImplePresenter, ActivityRegi
private void setListener() {
mBind.addHeader.setOnClickListener(v -> {
CommonUtils.hideSoftInput(mActivity);
SelectPicUtils.selectPic(mActivity, 1, true, headerRequest);
SelectPicUtils.selectPic(mActivity, 1, true, headerRequest,false);
});
mBind.addIdentity.setOnClickListener(v -> {
CommonUtils.hideSoftInput(mActivity);
SelectPicUtils.selectPic(mActivity, 1, true, identityRequest);
SelectPicUtils.selectPic(mActivity, 1, true, identityRequest,true);
}
);
......
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