Commit 06462cdb by 罗翻

android v1.93

parent d6f9d5dc
Showing with 317 additions and 130 deletions
......@@ -93,6 +93,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
managerFragment = ManagerFragment.newInstance();
mFragments = new Fragment[]{managerFragment, secondFragment, thirdFragment, fourFragment};
mFirstPositon=0;
mBind.tabFirst.setText(getString(R.string.send_order));
}
mTabs = new TextView[]{mBind.tabFirst, mBind.tabSecond, mBind.tabThird, mBind.tabFour};
addFragment();
......
......@@ -3,6 +3,7 @@ package com.dayu.base.api;
import com.dayu.baselibrary.R;
import com.dayu.common.BaseApplication;
import com.dayu.common.Constants;
import com.dayu.utils.UIUtils;
/**
* Created by luofan on 2017/11/15.
......@@ -101,7 +102,10 @@ public class ServerException extends Exception {
case "SETTLEMENT0001":
message = BaseApplication.getContext().getString(R.string.perameter_is_null);
break;
/** 店长*/
case "KAORDER0014":
message = UIUtils.getString(R.string.bargain_order);
break;
/**全局错误*/
case "GLOBAL0001":
message = BaseApplication.getContext().getString(R.string.global0001); //参数错误
......
......@@ -18,7 +18,7 @@ public class UserInfo {
/**
* 用户所属服务商id
*/
private int siteId;
private Integer siteId;
/**
* 成功时返回的token
*/
......@@ -75,11 +75,11 @@ public class UserInfo {
this.accountId = accountId;
}
public int getSiteId() {
public Integer getSiteId() {
return siteId;
}
public void setSiteId(int siteId) {
public void setSiteId(Integer siteId) {
this.siteId = siteId;
}
......
......@@ -184,6 +184,7 @@
<string name="receive_order_now">立即接单</string>
<string name="wait_comform">确认中</string>
<string name="out_of_date">已过期</string>
<string name="other_get">他人承接</string>
<string name="grab_time">还剩余%1$d天%2$d小时%3$d分%4$d秒"</string>
<string name="designate_success">工程师指派成功</string>
<string name="engineer">&#160;&#160;&#160;&#160;</string>
......@@ -308,7 +309,7 @@
<string name="modify_part_info">修改信息</string>
<string name="customer_acceptance">客户验收</string>
<string name="scan_code_for_appointment">请扫描二维码关注大鱼服务公众号</string>
<string name="scan_code_for_appointment_two">点击-我的服务-进行绑定登录后,选择工单验收</string>
<string name="scan_code_for_appointment_two">点击-查询工单-进行绑定登录后,选择工单验收</string>
<string name="order_record">工单记录</string>
<string name="order_num">工单编号</string>
<string name="order_state">工单状态</string>
......@@ -356,7 +357,7 @@
<string name="payer_dialog_content">您还没有选择费用承担方,请选择后再提交验收</string>
<string name="payer_dialog_title">未选择费用承担方</string>
<string name="payer_select_title">确认操作</string>
<string name="payer_select_content">您修改了费用承担方,可能会导致费用争议。修改后不能调整,确认此操作吗?</string>
<string name="payer_select_content">提交后费用承担方将不能修改,确认提交吗?</string>
<string name="failed_get_address">获取地址失败</string>
<string name="check_initial_state">查看初始状态</string>
<string name="reassignment_reason">改派原因</string>
......@@ -389,6 +390,7 @@
<string name="download_gaode_notice">您还未安装高德地图~</string>
<string name="sop_title">标准操作规范SOP~</string>
<string name="process_notice">温馨提示:点击屏幕底部“提交验收”按钮,申请费用。</string>
<string name="next_step_process_order">您的工单已全部完成,点击下一步去提交验收</string>
<string name="create_time">下单时间</string>
<string name="designate_order">立即指派</string>
<string name="designate">指派</string>
......
......@@ -5,11 +5,11 @@ buildscript {
ext.build_tools_version = "27.0.3"
ext.min_sdk_version = 16
ext.target_sdk_version = 23
ext.version_code = 15
ext.verson_name = "1.9.2"
ext.version_code = 16
ext.verson_name = "1.9.3"
ext.gradle_version = '3.1.4'
ext.isReleaseMinify = true
ext.isDebugMinify = false
ext.isDebugMinify = true
ext.arouter_api_version = '1.3.1'
ext.arouter_compiler_version = '1.1.4'
......
......@@ -62,6 +62,24 @@ public class GrabOrder {
private int siteId;
private String siteName;
private Integer status;
private Integer kaTypeStatus;
private Integer providerSiteId;
public Integer getKaTypeStatus() {
return kaTypeStatus;
}
public void setKaTypeStatus(Integer kaTypeStatus) {
this.kaTypeStatus = kaTypeStatus;
}
public Integer getProviderSiteId() {
return providerSiteId;
}
public void setProviderSiteId(Integer providerSiteId) {
this.providerSiteId = providerSiteId;
}
public Integer getStatus() {
return status;
......
......@@ -77,6 +77,15 @@ public class OrderDetail implements Serializable {
private String esignatureImg;
private Integer payStatus;//或null:未支付 2.已支付3.支付成功4.支付失败
private Double paymentPrice;//发单价
private String companyName;
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getEngineerName() {
return engineerName;
......
......@@ -3,6 +3,7 @@ package com.dayu.managercenter.presenter.bargainorder;
import com.dayu.base.ui.presenter.BaseListPresenter;
import com.dayu.common.BaseView;
import com.dayu.managercenter.data.GrabOrder;
/**
* Created by luo on 2016/8/4.
......@@ -10,7 +11,8 @@ import com.dayu.common.BaseView;
public interface BargainContract {
interface View extends BaseView {
void showReceiveDialog(int id);
void showReceiveDialog(GrabOrder order);
}
abstract class Presenter extends BaseListPresenter<View> {
......
......@@ -8,6 +8,7 @@ import com.dayu.event.ServiceStation;
import com.dayu.managercenter.api.ManagerApiFactory;
import com.dayu.managercenter.common.ManagerConstant;
import com.dayu.managercenter.ui.activity.SendOrderDetailActivity;
import com.dayu.provider.event.DesignateEvent;
import com.dayu.provider.event.ManagerReceiveEvent;
import com.dayu.utils.StationManager;
import com.dayu.utils.ToastUtils;
......@@ -56,7 +57,10 @@ public class BargainPresenter extends BargainContract.Presenter {
bundle.putInt(Constants.ID, id);
bundle.putInt(Constants.STATE, ManagerConstant.SEND_ORDER);
mView.startActivity(SendOrderDetailActivity.class, bundle);
Observable.timer(500, TimeUnit.MILLISECONDS).subscribe(l -> EventBus.getDefault().post(new ManagerReceiveEvent()));
Observable.timer(500, TimeUnit.MILLISECONDS).subscribe(l -> {
EventBus.getDefault().post(new ManagerReceiveEvent());
EventBus.getDefault().post(new DesignateEvent());
});
}));
}
......
......@@ -23,6 +23,8 @@ public interface GrabContract {
*/
public abstract void getGrapOrders();
public abstract void querySpInfo();
/**
* 议价.
*/
......
......@@ -8,11 +8,13 @@ import com.dayu.event.ServiceStation;
import com.dayu.managercenter.api.ManagerApiFactory;
import com.dayu.managercenter.common.ManagerConstant;
import com.dayu.managercenter.data.GrabOrder;
import com.dayu.managercenter.data.SpInfo;
import com.dayu.managercenter.ui.activity.SendOrderDetailActivity;
import com.dayu.provider.event.ManagerReceiveEvent;
import com.dayu.provider.event.RefreshGrabEvent;
import com.dayu.utils.StationManager;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONObject;
......@@ -34,10 +36,13 @@ public class GrabPresenter extends GrabContract.Presenter {
private int mPage;
private int mId;
private ServiceStation mStation;
private SpInfo mSpInfo;
private int mAccountId;
@Override
public void onAttached() {
mStation = StationManager.getInstance().getStation();
mAccountId = Integer.parseInt(UserManager.getInstance().getUser().getAccountId());
mId = mStation.getId();
}
......@@ -55,6 +60,13 @@ public class GrabPresenter extends GrabContract.Presenter {
}
@Override
public void querySpInfo() {
mView.showDialog();
ManagerApiFactory.querySpInfo(mAccountId).subscribe(baseObserver(
spInfo -> mSpInfo = spInfo));
}
@Override
public void bargain(String price, GrabOrder order) {
mView.showDialog();
HashMap<String, Object> params = new HashMap<>();
......@@ -62,8 +74,8 @@ public class GrabPresenter extends GrabContract.Presenter {
params.put("kaOrderId", order.getId());
params.put("price", price);
params.put("result", 0);
params.put("spProviderId", mStation.getProviderId());
params.put("spProviderName", mStation.getProviderName());
params.put("spProviderId", mSpInfo.getId());
params.put("spProviderName", mSpInfo.getName());
params.put("spSiteId", order.getSiteId());
params.put("spSiteName", order.getSiteName());
JSONObject jsonObject = new JSONObject(params);
......
......@@ -10,6 +10,7 @@ import com.dayu.managercenter.api.ManagerApiFactory;
import com.dayu.managercenter.common.ManagerConstant;
import com.dayu.managercenter.data.Engineer;
import com.dayu.managercenter.data.OrderDetail;
import com.dayu.managercenter.data.SpInfo;
import com.dayu.managercenter.data.Spu;
import com.dayu.managercenter.ui.activity.ChangeReasonActivity;
import com.dayu.managercenter.ui.activity.SendOrderDetailActivity;
......@@ -45,6 +46,7 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
private String mAccountName;
private ServiceStation mStation;
private int mState;
private SpInfo mSpInfo;
@Override
......@@ -106,8 +108,8 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
Bundle bundle = new Bundle();
bundle.putInt(Constants.ACCOUNT_ID, engineers.get(options1).getAccountId());
bundle.putInt(Constants.ID, mId);
bundle.putInt(Constants.STATE,1);
mView.startActivityForReult(ChangeReasonActivity.class, bundle,100);
bundle.putInt(Constants.STATE, 1);
mView.startActivityForReult(ChangeReasonActivity.class, bundle, 100);
} else {
designate(engineers.get(options1).getAccountId());
}
......@@ -122,7 +124,10 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
public void querySpInfo(int state) {
mView.showDialog();
ManagerApiFactory.querySpInfo(Integer.parseInt(mAccountId)).subscribe(baseObserver(
spInfo -> getOrderInfo(spInfo.getAccountType(), state)));
spInfo -> {
mSpInfo = spInfo;
getOrderInfo(spInfo.getAccountType(), state);
}));
}
@Override
......@@ -133,8 +138,8 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
params.put("kaOrderId", order.getId());
params.put("price", price);
params.put("result", 0);
params.put("spProviderId", mStation.getProviderId());
params.put("spProviderName", mStation.getProviderName());
params.put("spProviderId", mSpInfo.getId());
params.put("spProviderName", mSpInfo.getName());
params.put("spSiteId", mStation.getId());
params.put("spSiteName", mStation.getName());
JSONObject jsonObject = new JSONObject(params);
......@@ -158,7 +163,10 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
bundle.putInt(Constants.ID, id);
bundle.putInt(Constants.STATE, ManagerConstant.SEND_ORDER);
mView.startActivity(SendOrderDetailActivity.class, bundle);
Observable.timer(500, TimeUnit.MILLISECONDS).subscribe(l -> EventBus.getDefault().post(new ManagerReceiveEvent()));
Observable.timer(500, TimeUnit.MILLISECONDS).subscribe(l -> {
EventBus.getDefault().post(new ManagerReceiveEvent());
EventBus.getDefault().post(new DesignateEvent());
});
}));
}
......
......@@ -20,11 +20,13 @@ import java.util.List;
public class SubDetailPresenter extends SubDetailContract.Presenter {
private int mId;
private String mName;
private Integer mSiteId;
@Override
public void onAttached() {
mId = mView.getBundle().getInt(Constants.ID);
mName = UserManager.getInstance().getUser().getAccountName();
mSiteId = UserManager.getInstance().getUser().getSiteId();
getOrderInfo();
}
......@@ -57,7 +59,7 @@ public class SubDetailPresenter extends SubDetailContract.Presenter {
@Override
public void getEngineers(int id) {
ManagerApiFactory.getEngineers(id).subscribe(baseObserver(
ManagerApiFactory.getEngineers(mSiteId).subscribe(baseObserver(
engineers -> showEngineerDialog(engineers, id)));
}
......
......@@ -22,7 +22,6 @@ import com.dayu.managercenter.databinding.ItemSendOrderDetailBinding;
import com.dayu.managercenter.presenter.senddetail.SendDetailContract;
import com.dayu.managercenter.presenter.senddetail.SendDetailPresenter;
import com.dayu.managercenter.ui.view.BargainDialog;
import com.dayu.utils.StationManager;
import com.dayu.utils.TimeUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UtilsDate;
......@@ -149,7 +148,7 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
@Override
public void showBargainDialog() {
String s = UIUtils.getString(R.string.bargain_notice);
String result = String.format(s, StationManager.getInstance().getStation().getName());
String result = String.format(s, mDetail.getCompanyName());
mDialog = new BargainDialog(mActivity, R.style.CustomDialog, result,
(dialog1, confirm, editText) -> {
if (confirm) {
......@@ -169,7 +168,7 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
@Override
public void showReceiveDialog() {
String s = UIUtils.getString(R.string.receive_notice);
String result = String.format(s, StationManager.getInstance().getStation().getName());
String result = String.format(s, mDetail.getCompanyName());
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, result
, (dialog, confirm) -> {
if (confirm) {
......
......@@ -60,7 +60,7 @@ public class SubOrderDetailActivity extends BaseActivity<SubDetailPresenter, Act
}
});
mBind.refuse.setOnClickListener(v -> mPresenter.refuse(detail.getId()));
mBind.designate.setOnClickListener(v -> mPresenter.getEngineers(detail.getSiteId()));
mBind.designate.setOnClickListener(v -> mPresenter.getEngineers(detail.getId()));
initPhoto(detail.getAccessories(), mBind.llPhoto);
}
......
......@@ -13,6 +13,7 @@ import com.dayu.managercenter.databinding.ItemGrabBargainBinding;
import com.dayu.managercenter.presenter.graborder.GrabPresenter;
import com.dayu.utils.TimeUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager;
import com.dayu.utils.UtilsDate;
/**
......@@ -21,10 +22,12 @@ import com.dayu.utils.UtilsDate;
*/
public class GrabOrderAdapter extends CoreAdapter<GrabOrder, ItemGrabBargainBinding> {
private int state;
private int mSiteId;
public GrabOrderAdapter(boolean needFoot, int state) {
super(needFoot);
this.state = state;
mSiteId = UserManager.getInstance().getUser().getSiteId();
}
@Override
......@@ -36,7 +39,6 @@ public class GrabOrderAdapter extends CoreAdapter<GrabOrder, ItemGrabBargainBind
holder.grabAddress.setText(address);
holder.createTime.setText(item.getCreateTime());
if (state == 0) {
holder.leftTime.setTag(position);
setTime(item.getAppointmentTime(), holder, position);
holder.leftTime.setVisibility(View.VISIBLE);
holder.tvBargin.setVisibility(View.VISIBLE);
......@@ -68,6 +70,11 @@ public class GrabOrderAdapter extends CoreAdapter<GrabOrder, ItemGrabBargainBind
holder.orderState.setText(UIUtils.getString(R.string.out_of_date));
holder.receiveOrder.setVisibility(View.GONE);
holder.arrow.setVisibility(View.GONE);
} else if (item.getKaTypeStatus() != null && item.getKaTypeStatus() == 1
&& item.getProviderSiteId() != mSiteId && item.getStatus() == 1) {
holder.orderState.setText(UIUtils.getString(R.string.other_get));
holder.receiveOrder.setVisibility(View.GONE);
holder.arrow.setVisibility(View.GONE);
}
}
holder.bargain.setOnClickListener(v -> {
......
......@@ -2,6 +2,7 @@ package com.dayu.managercenter.ui.adapter;
import android.text.TextUtils;
import android.view.View;
import android.widget.LinearLayout;
import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.managercenter.R;
......@@ -43,15 +44,14 @@ public class ManagerOrderAdapter extends CoreAdapter<Order, ItemManagerOrderBind
holder.tvOrderDetail.setText(item.getSpuName());
}
if (item.getCreatedSource() == 2 || item.getCreatedSource() == 3 || item.getCreatedSource() == 4) {
if (TextUtils.isEmpty(item.getSpus().get(0).getKaSpuName())) {
Order.SpusBean spu = item.getSpus().get(0);
if (TextUtils.isEmpty(spu.getKaSpuName())) {
holder.tvOrderDetail.setText(mContext.getString(R.string.no_server));
} else {
holder.tvOrderDetail.setText(item.getSpus().get(0).getKaSpuName());
holder.tvOrderDetail.setText(spu.getKaSpuName());
}
holder.itemTextWeixiu.setText(item.getSpus().get(0).getProviderTypeName());
holder.itemTextWeixiuLeixing.setText(item.getSpus().get(0).getCategoryThreeName());
Order.SpusBean spu = item.getSpus().get(0);
holder.itemTextWeixiu.setText(spu.getProviderTypeName());
holder.itemTextWeixiuLeixing.setText(spu.getCategoryThreeName());
holder.tvServerType.setVisibility(View.VISIBLE);
if (item.getSpus().size() > 1) {
String str = UIUtils.getString(R.string.server_num);
......@@ -77,6 +77,10 @@ public class ManagerOrderAdapter extends CoreAdapter<Order, ItemManagerOrderBind
}
});
String time = item.getAppointmentTime();
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
param.topMargin = 0;
holder.llWeixiu.setLayoutParams(param);
switch (state) {
case ManagerConstant.SEND_ORDER:
holder.itemTextPhone.setText(mContext.getString(R.string.designate));
......@@ -85,6 +89,8 @@ public class ManagerOrderAdapter extends CoreAdapter<Order, ItemManagerOrderBind
holder.tvOrderDetail.setVisibility(View.VISIBLE);
break;
case ManagerConstant.Eu_ORDER:
param.topMargin = UIUtils.dp2px(10);
holder.llWeixiu.setLayoutParams(param);
holder.itemTextPhone.setText(mContext.getString(R.string.refuse));
holder.itemUpdataTime.setText(mContext.getString(R.string.designate));
holder.itemUpdataTime.setVisibility(View.VISIBLE);
......@@ -92,8 +98,7 @@ public class ManagerOrderAdapter extends CoreAdapter<Order, ItemManagerOrderBind
holder.tvOrderDetail.setVisibility(View.GONE);
break;
case ManagerConstant.CHANGE_ORDER:
String str = mContext.getString(R.string.change_engineer_name);
holder.itemTextPhone.setText(String.format(str, item.getEngineerName()));
holder.itemTextPhone.setText(UIUtils.getString(R.string.change_engineer));
holder.itemUpdataTime.setVisibility(View.GONE);
holder.orderLineOne.setVisibility(View.GONE);
holder.tvOrderDetail.setVisibility(View.VISIBLE);
......
......@@ -14,8 +14,8 @@ import com.dayu.managercenter.ui.activity.SendOrderDetailActivity;
import com.dayu.managercenter.ui.adapter.GrabOrderAdapter;
import com.dayu.provider.event.ManagerReceiveEvent;
import com.dayu.provider.event.RefreshGrabEvent;
import com.dayu.utils.StationManager;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager;
import com.dayu.widgets.CustomDialog;
import org.greenrobot.eventbus.EventBus;
......@@ -27,6 +27,8 @@ import org.greenrobot.eventbus.ThreadMode;
* on 2018/8/27.
*/
public class BargainFragment extends BaseFragment<BargainPresenter, FragmentRecycleBinding> implements BargainContract.View {
private int mSiteId;
public static BargainFragment newInstance() {
Bundle args = new Bundle();
BargainFragment fragment = new BargainFragment();
......@@ -51,15 +53,19 @@ public class BargainFragment extends BaseFragment<BargainPresenter, FragmentRecy
@Override
public void initView() {
mSiteId = UserManager.getInstance().getUser().getSiteId();
EventBus.getDefault().register(this);
GrabOrderAdapter adapter = new GrabOrderAdapter(true, 1);
adapter.setViewType(R.layout.item_grab_bargain);
mBind.recyclerView.setAdapter(adapter);
mBind.recyclerView.setOnItemClickListener((item, bind) -> {
if (((GrabOrder) item).getStatus() == 1) {
mBind.recyclerView.setOnItemClickListener((ite, bind) -> {
GrabOrder item = (GrabOrder) ite;
boolean flag = item.getKaTypeStatus() != null && item.getKaTypeStatus() == 1
&& item.getProviderSiteId() != mSiteId;
if ((item.getStatus() == 1 && !flag)) {
Bundle bundle = new Bundle();
bundle.putInt(Constants.ID, (((GrabOrder) item).getId()));
bundle.putInt(Constants.ID, item.getId());
bundle.putInt(Constants.STATE, ManagerConstant.BARGAIN_ORDER);
startActivity(SendOrderDetailActivity.class, bundle);
}
......@@ -68,20 +74,20 @@ public class BargainFragment extends BaseFragment<BargainPresenter, FragmentRecy
adapter.setOnChildClickListener((view, adapter1, position) -> {
GrabOrder order = (GrabOrder) mBind.recyclerView.getDatas().get(position);
if (view.getId() == R.id.receive_order) {
showReceiveDialog(order.getId());
showReceiveDialog(order);
}
});
}
@Override
public void showReceiveDialog(int id) {
public void showReceiveDialog(GrabOrder order) {
String s = UIUtils.getString(R.string.receive_notice);
String result = String.format(s, StationManager.getInstance().getStation().getName());
String result = String.format(s, order.getCompanyName());
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, result
, (dialog, confirm) -> {
if (confirm) {
showDialog();
mPresenter.receive(id);
mPresenter.receive(order.getId());
}
});
customDialog.setTitle(getString(R.string.comform_receive_order))
......
......@@ -54,6 +54,7 @@ public class GrabFragment extends BaseFragment<GrabPresenter, FragmentRecycleBin
@Override
public void initView() {
EventBus.getDefault().register(this);
mPresenter.querySpInfo();
GrabOrderAdapter adapter = new GrabOrderAdapter(true, 0);
adapter.setViewType(R.layout.item_grab_bargain);
mBind.recyclerView.setAdapter(adapter);
......@@ -77,7 +78,7 @@ public class GrabFragment extends BaseFragment<GrabPresenter, FragmentRecycleBin
@Override
public void showBargainDialog(GrabOrder order) {
String s = UIUtils.getString(R.string.bargain_notice);
String result = String.format(s, order.getSiteName());
String result = String.format(s, order.getCompanyName());
mDialog = new BargainDialog(mActivity, R.style.CustomDialog, result,
(dialog1, confirm, editText) -> {
if (confirm) {
......@@ -85,9 +86,9 @@ public class GrabFragment extends BaseFragment<GrabPresenter, FragmentRecycleBin
mDialog.setError(getString(R.string.bargain_dialog_error));
} else {
mPresenter.bargain(editText.getText().toString().trim(), order);
mDialog.dismiss();
}
}
mDialog.dismiss();
});
mDialog.setTitle(mActivity.getString(R.string.bargain_titile))
.setNegativeButton(mActivity.getString(R.string.cancle))
......@@ -100,7 +101,7 @@ public class GrabFragment extends BaseFragment<GrabPresenter, FragmentRecycleBin
@Override
public void showReceiveDialog(GrabOrder order) {
String s = UIUtils.getString(R.string.receive_notice);
String result = String.format(s, order.getSiteName());
String result = String.format(s, order.getCompanyName());
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, result
, (dialog, confirm) -> {
if (confirm) {
......
......@@ -83,7 +83,7 @@
android:layout_below="@+id/create_time"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:drawableLeft="@drawable/icon_time"
android:drawableLeft="@drawable/icon_money"
android:drawablePadding="3dp"
android:text="报价"
android:visibility="gone"
......
......@@ -87,6 +87,7 @@
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_weixiu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
......
......@@ -13,6 +13,7 @@ import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.MultiProcessOrderActivity;
import com.dayu.order.ui.activity.MultipleProcessActivity;
import com.dayu.order.ui.activity.ServerInstructionActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.utils.ToastUtils;
......@@ -48,12 +49,14 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
public ObservableField<Boolean> mIsShowSn = new ObservableField<>(false);
private ArrayList<Spu> mSpus;
private int mId;
private int mState;
@Override
public void onAttached() {
Bundle bundle = mView.getBundle();
mSpu = (Spu) bundle.getSerializable(OrderConstant.SPU);
mSpus = bundle.getParcelableArrayList(OrderConstant.SPUS);
mState = bundle.getInt(Constants.STATE);
mId = mSpu.getId();
mDetail.set(mSpu);
mBrandName.set(mSpu.getBrandName());
......@@ -141,8 +144,7 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
private void doNext() {
mView.showToast(R.string.order_commite_success);
List<Spu> spus = new ArrayList<>();
spus.addAll(mSpus);
List<Spu> spus = new ArrayList<>(mSpus);
for (Spu spu : spus) {
if (spu.getId() == mSpu.getId()) {
mSpus.remove(spu);
......@@ -157,7 +159,16 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
doNextOrder(spu);
}
} else {
mView.dumpBack();
if (mState == 0) {
ArrayList<Spu> list = new ArrayList<>();
list.add(mDetail.get());
Bundle bundle = new Bundle();
bundle.putParcelableArrayList(OrderConstant.SPUS, list);
bundle.putInt(OrderConstant.ORDER_TYPE, 1);
mView.startActivity(MultipleProcessActivity.class, bundle);
} else {
mView.dumpBack();
}
}
PictureFileUtils.deleteCacheDirFile(BaseApplication.getContext());
}
......@@ -167,6 +178,7 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
bundle.putSerializable(OrderConstant.SPU, spu);
bundle.putParcelableArrayList(OrderConstant.SPUS, mSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
bundle.putInt(Constants.STATE, mState);
mView.startActivityAndFinish(MultiProcessOrderActivity.class, bundle);
}
......
......@@ -11,6 +11,7 @@ import com.dayu.common.BaseView;
public interface ServerInfoContract {
interface View extends BaseView {
void showTip();
}
abstract class Presenter extends BaseListPresenter<View> {
......
......@@ -54,6 +54,9 @@ public class ServerInfoPresenter extends ServerInfoContract.Presenter {
spus.get(0).setTime(order.getConfirmDoorTime());
mDatas.set(spus);
mCanProcess.set(order.getCommited());
if (order.getCommited()==2){
mView.showTip();
}
}));
}
......
......@@ -11,6 +11,7 @@ import com.dayu.common.BaseView;
public interface ServerListContract {
interface View extends BaseView {
void showTip();
}
abstract class Presenter extends BaseListPresenter<View> {
......
......@@ -59,6 +59,9 @@ public class ServerListPresenter extends ServerListContract.Presenter {
}
}
mCanProcess.set(flag);
if (flag && mIsShowProcess.get()) {
mView.showTip();
}
if (spus.size() == 1) {
mOrderType = 1;
}
......
......@@ -2,9 +2,6 @@ package com.dayu.order.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
......@@ -15,6 +12,7 @@ import com.dayu.order.databinding.ActivityServerInfoBinding;
import com.dayu.order.presenter.serverinfo.ServerInfoContract;
import com.dayu.order.presenter.serverinfo.ServerInfoPresenter;
import com.dayu.order.ui.adapter.ServerInfoAdapter;
import com.dayu.widgets.CustomDialog;
import java.util.ArrayList;
......@@ -38,18 +36,17 @@ public class ServerInfoActivity extends BaseActivity<ServerInfoPresenter, Activi
@Override
public void initView() {
mBind.tvTitle.setText(getString(R.string.task_list));
SpannableString spannableString = new SpannableString(getString(R.string.process_notice));
spannableString.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.bg_button)), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mBind.notice.setText(spannableString);
ServerInfoAdapter adapter = new ServerInfoAdapter(false);
mBind.recyclerView.setAdapter(adapter);
mBind.tvProcess.setOnClickListener(v -> {
Intent intent = new Intent(mActivity, MultipleProcessActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList(OrderConstant.SPUS, (ArrayList<Spu>) mBind.recyclerView.getDatas());
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
});
mBind.tvProcess.setOnClickListener(v -> dumpToProcess());
}
public void dumpToProcess() {
Intent intent = new Intent(mActivity, MultipleProcessActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList(OrderConstant.SPUS, (ArrayList<Spu>) mBind.recyclerView.getDatas());
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
}
@Override
......@@ -57,4 +54,18 @@ public class ServerInfoActivity extends BaseActivity<ServerInfoPresenter, Activi
super.onResume();
mPresenter.getServerInfo();
}
@Override
public void showTip() {
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.next_step_process_order)
, (dialog1, confirm) -> {
if (confirm) {
dumpToProcess();
}
});
dialog.setTitle(getString(R.string.notice))
.setNegativeButton(getString(R.string.cancle))
.setPositiveButton(getString(R.string.next_step));
dialog.show();
}
}
......@@ -2,9 +2,6 @@ package com.dayu.order.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
......@@ -15,6 +12,7 @@ import com.dayu.order.databinding.ActivityServerListBinding;
import com.dayu.order.databinding.ActivityServerListRecycleBinding;
import com.dayu.order.presenter.serverlist.ServerListContract;
import com.dayu.order.presenter.serverlist.ServerListPresenter;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.OnItemClickListener;
import java.util.ArrayList;
......@@ -39,9 +37,6 @@ public class ServerListActivity extends BaseActivity<ServerListPresenter, Activi
@Override
public void initView() {
mBind.tvTitle.setText(getString(R.string.task_list));
SpannableString spannableString = new SpannableString(getString(R.string.process_notice));
spannableString.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.bg_button)), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mBind.notice.setText(spannableString);
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Spu, ActivityServerListBinding>() {
@Override
public void OnItemClick(Spu item, ActivityServerListBinding bind) {
......@@ -53,13 +48,20 @@ public class ServerListActivity extends BaseActivity<ServerListPresenter, Activi
}
}
Intent intent;
if (item.getSopStatus() == 1 && item.getStatus()==1) {
intent = new Intent(mActivity, SopWebViewActivity.class);
if (item.getSopStatus() == 1 && item.getStatus() == 1) {
intent = new Intent(mActivity, SopWebViewActivity.class);
} else {
intent = new Intent(mActivity, MultiProcessOrderActivity.class);
intent = new Intent(mActivity, MultiProcessOrderActivity.class);
}
int state;
if (mPresenter.mIsShowProcess.get()) {
state = 0;//单任务单
} else {
state = 1;
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID,item.getId());
bundle.putInt(Constants.ORDER_ID, item.getId());
bundle.putInt(Constants.STATE, state);
bundle.putSerializable(OrderConstant.SPU, item);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
......@@ -75,4 +77,18 @@ public class ServerListActivity extends BaseActivity<ServerListPresenter, Activi
showDialog();
mPresenter.getServerList();
}
@Override
public void showTip() {
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.next_step_process_order)
, (dialog1, confirm) -> {
if (confirm) {
mPresenter.dumpToProcess();
}
});
dialog.setTitle(getString(R.string.notice))
.setNegativeButton(getString(R.string.cancle))
.setPositiveButton(getString(R.string.next_step));
dialog.show();
}
}
......@@ -60,6 +60,7 @@ public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBindi
private Spu mSpu;
private ArrayList<Spu> mSpus;
private int mCreatedSource;
private int mSpuState;
@Override
public int getLayoutId() {
......@@ -74,6 +75,7 @@ public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBindi
mOrderId = bundle.getInt(Constants.ORDER_ID, 0);
mPositon = bundle.getInt(Constants.ORDER_POSTION, 0);
mState = bundle.getInt(Constants.ORDER_STATE, 0);
mSpuState = bundle.getInt(Constants.STATE, 0);
mCreatedSource = bundle.getInt(OrderConstant.CREATEDSOURCE, 0);
mSpu = (Spu) bundle.getSerializable(OrderConstant.SPU);
mSpus = bundle.getParcelableArrayList(OrderConstant.SPUS);
......@@ -184,6 +186,7 @@ public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBindi
bundle.putSerializable(OrderConstant.SPU, mSpu);
bundle.putParcelableArrayList(OrderConstant.SPUS, mSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
bundle.putInt(Constants.STATE, mSpuState);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
finish();
......
......@@ -366,7 +366,7 @@
android:background='@drawable/tab_blue_react'
android:gravity="center"
android:onClick="@{()->presenter.commitPhoto()}"
android:text='@{presenter.mSpuState?"提交验收并处理下一个":"提交验收"}'
android:text='@{presenter.mSpuState?"提交并处理下一个":"下一步"}'
android:textColor="@color/white" />
</RelativeLayout>
</RelativeLayout>
......
......@@ -43,24 +43,12 @@
style="@style/card_line"
android:layout_below="@+id/title_back" />
<TextView
android:id="@+id/notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/line"
android:layout_marginBottom="13dp"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="13dp"
android:textColor="@color/default_text_color"
android:textSize="12sp"
android:visibility="@{presenter.mCanProcess==2?View.VISIBLE:View.GONE}" />
<com.dayu.widgets.LRecyclerView
android:id="@+id/recyclerView"
setPresenter="@{presenter}"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/notice"
android:layout_below="@+id/line"
android:layout_marginBottom="@dimen/dp_50"
app:headType="@layout/recycler_server_info_header"
app:itemType="@layout/item_server_info" />
......@@ -73,7 +61,7 @@
android:background='@{presenter.mCanProcess==2?@color/bg_button:@color/cl_selector_hui}'
android:clickable='@{presenter.mCanProcess==2?true:false}'
android:gravity="center"
android:text="@string/submit_order"
android:text="@string/next_step"
android:textColor="@color/white" />
</RelativeLayout>
</layout>
\ No newline at end of file
......@@ -45,17 +45,6 @@
<ImageView style="@style/card_line" />
<TextView
android:id="@+id/notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="13dp"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="13dp"
android:textColor="@color/default_text_color"
android:textSize="12sp"
android:visibility='@{(presenter.mCanProcess &amp;&amp; presenter.mIsShowProcess)?View.VISIBLE:View.GONE}' />
<com.dayu.widgets.LRecyclerView
android:id="@+id/recyclerView"
setPresenter="@{presenter}"
......@@ -77,7 +66,7 @@
android:clickable='@{presenter.mCanProcess?true:false}'
android:gravity="center"
android:onClick="@{()->presenter.dumpToProcess()}"
android:text="@string/submit_order"
android:text="@string/next_step"
android:textColor="@color/white"
android:visibility="@{presenter.mIsShowProcess?View.VISIBLE:View.GONE}" />
</RelativeLayout>
......
......@@ -2,6 +2,7 @@ package com.dayu.usercenter.api;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.event.ServiceStation;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.data.protocol.AccountBalance;
import com.dayu.usercenter.data.protocol.AlipayInfo;
......@@ -105,4 +106,8 @@ public class UserApiFactory {
public static Observable<Integer> getSiteId(int accountId) {
return Api.getDownloadService(UserService.class).getSiteId(accountId).compose(Api.applySchedulers());
}
public static Observable<List<ServiceStation>> getStations(int id) {
return Api.getService(UserService.class).getServiceStations(id).compose(Api.applySchedulers());
}
}
......@@ -3,6 +3,7 @@ package com.dayu.usercenter.api;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.event.ServiceStation;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.common.UserConstant;
import com.dayu.usercenter.data.protocol.AccountBalance;
......@@ -234,4 +235,13 @@ public interface UserService {
*/
@GET(UserConstant.GET_SITEID)
Observable<BaseResponse<Integer>> getSiteId(@Path("accountId") int accountId);
/**
* 获取服务站列表.
*
* @param id
* @return
*/
@GET(UserConstant.SERVICE_STATIONS)
Observable<BaseResponse<List<ServiceStation>>> getServiceStations(@Path("accountId") int id);
}
......@@ -108,4 +108,9 @@ public class UserConstant {
* 获取工程师siteid.
*/
public final static String GET_SITEID = "/api-user/" + "serviceProviderSite/findSiteIdByAccountId/{accountId}";
/**
* 获取服务站列表.
*/
public final static String SERVICE_STATIONS = "/api-user/" + "serviceProviderSite/serverListByShopKeeper/{accountId}";
}
......@@ -40,5 +40,12 @@ public interface PwLoginContract {
*/
public abstract void loginHx(String hxAccount, String hxPwd);
/**
* 获取服务站列表.
*
* @param id
*/
public abstract void getStations(int id);
}
}
......@@ -17,6 +17,7 @@ import com.dayu.usercenter.ui.activity.SmsLoginActivity;
import com.dayu.utils.AppManager;
import com.dayu.utils.LogUtils;
import com.dayu.utils.MD5Util;
import com.dayu.utils.StationManager;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager;
......@@ -73,6 +74,28 @@ public class PwLoginPresenter extends PwLoginContract.Presenter {
}
@Override
public void getStations(int id) {
mView.showDialog();
UserApiFactory.getStations(id).subscribe(baseObserver(
serviceStation -> {
if (serviceStation != null && serviceStation.size() == 1) {
mView.showDialog();
StationManager.getInstance().svaeStation(serviceStation.get(0));
AppManager.getInstance().finishAllActivity();
if (UserManager.getInstance().getRole() == Constants.MANAGER_ENGINEER) {
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
} else if (UserManager.getInstance().getRole() == Constants.MANAGER_NOSITE_ENGINEER
|| UserManager.getInstance().getRole() == Constants.MANAGER) {
ARouter.getInstance().build(RouterPath.PATH_MANAGER).navigation();
}
} else {
AppManager.getInstance().finishAllActivity();
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
}
}));
}
@Override
public void getSiteId(UserInfo info) {
mView.showDialog();
UserApiFactory.getSiteId(Integer.parseInt(info.getAccountId())).subscribe(baseObserver(
......@@ -84,8 +107,7 @@ public class PwLoginPresenter extends PwLoginContract.Presenter {
if (UserManager.getInstance().getRole() == Constants.ENGINEER) {
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
} else if (UserManager.getInstance().getRole() == Constants.MANAGER_ENGINEER) {
AppManager.getInstance().finishAllActivity();
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
getStations(Integer.parseInt(info.getAccountId()));
}
} else if (info.getDetectStatus() == 2 || info.getDetectStatus() == 3) {
showLoginDialog();
......@@ -98,8 +120,7 @@ public class PwLoginPresenter extends PwLoginContract.Presenter {
info.setSiteId(-1);
loginHx(info.getHxAccount(), info.getHxPwd());
UserManager.getInstance().saveUser(info);
AppManager.getInstance().finishAllActivity();
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
getStations(Integer.parseInt(info.getAccountId()));
ToastUtils.showShortToast(message);
}
break;
......@@ -116,7 +137,7 @@ public class PwLoginPresenter extends PwLoginContract.Presenter {
case Constants.MANAGER:
UserManager.getInstance().saveUser(info);
loginHx(info.getHxAccount(), info.getHxPwd());
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
getStations(Integer.parseInt(info.getAccountId()));
break;
case Constants.ENGINEER:
case Constants.MANAGER_ENGINEER:
......
......@@ -58,9 +58,16 @@ public interface SmsLoginContract {
/**
* 获取siteId.
*
* @param accountId
* @param info
*/
public abstract void getSiteId(UserInfo info);
/**
* 获取服务站列表.
*
* @param id
*/
public abstract void getStations(int id);
}
}
......@@ -15,6 +15,7 @@ import com.dayu.usercenter.common.UserConstant;
import com.dayu.usercenter.ui.activity.IdentityCertificationActivity;
import com.dayu.utils.AppManager;
import com.dayu.utils.LogUtils;
import com.dayu.utils.StationManager;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager;
......@@ -114,6 +115,50 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
}
@Override
public void dumpAndSave(UserInfo info) {
switch (UserManager.getInstance().getRole(info)) {
case Constants.MANAGER:
UserManager.getInstance().saveUser(info);
loginHx(info.getHxAccount(), info.getHxPwd());
getStations(Integer.parseInt(info.getAccountId()));
break;
case Constants.ENGINEER:
case Constants.MANAGER_ENGINEER:
if (info.getDetectStatus() == 1 || info.getDetectStatus() == 2 || info.getDetectStatus() == 3) {
UserManager.getInstance().saveUser(info);
getSiteId(info);
} else {
ToastUtils.showShortToast(UIUtils.getString(R.string.login_faile));
}
break;
default:
break;
}
}
@Override
public void getStations(int id) {
mView.showDialog();
UserApiFactory.getStations(id).subscribe(baseObserver(
serviceStation -> {
if (serviceStation != null && serviceStation.size() == 1) {
mView.showDialog();
StationManager.getInstance().svaeStation(serviceStation.get(0));
AppManager.getInstance().finishAllActivity();
if (UserManager.getInstance().getRole() == Constants.MANAGER_ENGINEER) {
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
} else if (UserManager.getInstance().getRole() == Constants.MANAGER_NOSITE_ENGINEER
|| UserManager.getInstance().getRole() == Constants.MANAGER) {
ARouter.getInstance().build(RouterPath.PATH_MANAGER).navigation();
}
} else {
AppManager.getInstance().finishAllActivity();
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
}
}));
}
@Override
public void getSiteId(UserInfo info) {
mView.showDialog();
UserApiFactory.getSiteId(Integer.parseInt(info.getAccountId())).subscribe(baseObserver(
......@@ -125,8 +170,7 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
if (UserManager.getInstance().getRole() == Constants.ENGINEER) {
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
} else if (UserManager.getInstance().getRole() == Constants.MANAGER_ENGINEER) {
AppManager.getInstance().finishAllActivity();
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
getStations(Integer.parseInt(info.getAccountId()));
}
} else if (info.getDetectStatus() == 2 || info.getDetectStatus() == 3) {
showLoginDialog();
......@@ -141,8 +185,7 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
info.setSiteId(-1);
loginHx(info.getHxAccount(), info.getHxPwd());
UserManager.getInstance().saveUser(info);
AppManager.getInstance().finishAllActivity();
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
getStations(Integer.parseInt(info.getAccountId()));
ToastUtils.showShortToast(message);
}
break;
......@@ -153,28 +196,6 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
}));
}
@Override
public void dumpAndSave(UserInfo info) {
switch (UserManager.getInstance().getRole(info)) {
case Constants.MANAGER:
UserManager.getInstance().saveUser(info);
loginHx(info.getHxAccount(), info.getHxPwd());
ARouter.getInstance().build(RouterPath.PATH_SERVICESTATION).navigation();
break;
case Constants.ENGINEER:
case Constants.MANAGER_ENGINEER:
if (info.getDetectStatus() == 1 || info.getDetectStatus() == 2 || info.getDetectStatus() == 3) {
UserManager.getInstance().saveUser(info);
getSiteId(info);
} else {
ToastUtils.showShortToast(UIUtils.getString(R.string.login_faile));
}
break;
default:
break;
}
}
private void showLoginDialog() {
mView.showLoginDialog((dialog, confirm) -> {
if (confirm) {
......
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