Commit d8f7d32d authored by 陈前's avatar 陈前

Merge remote-tracking branch 'origin/master'

parents 1f19445b 2b26af2a
...@@ -428,6 +428,7 @@ public class C { ...@@ -428,6 +428,7 @@ public class C {
public final class SP_KEY { public final class SP_KEY {
public static final String IS_SHOW_SIGNUP_BTN = "showbtn"; public static final String IS_SHOW_SIGNUP_BTN = "showbtn";
public static final String SETTLE_MODE = "settle.mode";
} }
public final class RETURN_CODE { public final class RETURN_CODE {
...@@ -467,6 +468,9 @@ public class C { ...@@ -467,6 +468,9 @@ public class C {
//共享fragment功能确定 //共享fragment功能确定
public static final String STARTOBJECT = "startobject"; public static final String STARTOBJECT = "startobject";
//添加无码商品
public static final String ADD_NO_BARCODE_SKU = "add.no.barcode.sku";
} }
public final class EXTRA_KEY { public final class EXTRA_KEY {
......
...@@ -49,7 +49,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -49,7 +49,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
@Override @Override
public void initView() { public void initView() {
this.showTitleBarByTitleMode(C.TITLE_MODE.SKU_MANAGER); this.showTitleBarByTitleMode(C.TITLE_MODE.SKU_MANAGER);
this.loadRootFragment(R.id.f_sssku, mManagerFragment); this.loadRootFragment(R.id.f_sssku, mManagerFragment, false, false);
mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport()); mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport());
mViewBinding.btnScan.setOnClickListener(view -> mPresenter.clickScan(mViewBinding.getTitleMode())); mViewBinding.btnScan.setOnClickListener(view -> mPresenter.clickScan(mViewBinding.getTitleMode()));
mViewBinding.btnMenu.setOnClickListener(view -> mPresenter.clickSkuMenu()); mViewBinding.btnMenu.setOnClickListener(view -> mPresenter.clickSkuMenu());
......
...@@ -29,14 +29,15 @@ public class AddFragment extends BaseFragment<SsskuPresenter, FragmentSsskuAddBi ...@@ -29,14 +29,15 @@ public class AddFragment extends BaseFragment<SsskuPresenter, FragmentSsskuAddBi
@Override @Override
public void initView() { public void initView() {
mViewBinding.etBarcode.setOnEditorActionListener((textView, i, keyEvent) -> { mViewBinding.etBarcode.setOnEditorActionListener((textView, i, keyEvent) -> {
if ((i == EditorInfo.IME_ACTION_SEARCH || i == EditorInfo.IME_ACTION_UNSPECIFIED) && !StringUtils.isEmpty(textView.getText())) { if (i == EditorInfo.IME_ACTION_SEARCH && !StringUtils.isEmpty(textView.getText())) {
KeyboardUtils.hideSoftInput(textView); KeyboardUtils.hideSoftInput(textView);
mPresenter.clickCheck(mViewBinding.etBarcode.getText().toString()); mPresenter.clickCheck(textView.getText().toString());
} }
return false; return false;
}); });
mViewBinding.tvCheck.setOnClickListener(view -> { mViewBinding.tvCheck.setOnClickListener(view -> {
KeyboardUtils.hideSoftInput(mViewBinding.etBarcode);
mPresenter.clickCheck(mViewBinding.etBarcode.getText().toString()); mPresenter.clickCheck(mViewBinding.etBarcode.getText().toString());
}); });
......
...@@ -144,26 +144,32 @@ public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku> ...@@ -144,26 +144,32 @@ public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku>
case C.MS_EDITOR_MODE.ADD: case C.MS_EDITOR_MODE.ADD:
ApiFactory.Ms.add(ms) ApiFactory.Ms.add(ms)
.doOnSubscribe(disposable -> mView.dismissLoadingDialog()) .doOnSubscribe(disposable -> mView.dismissLoadingDialog())
.subscribe(ms1 -> { .subscribe(
mView.showMsg("添加成功"); ms1 -> {
isNeedSync = true; mView.showMsg("添加成功");
mView.backToManagerFragment(); isNeedSync = true;
mView.addMs(ms1); mView.backToManagerFragment();
}, throwable -> { mView.addMs(ms1);
mView.showMsg("添加失败"); },
}); throwable -> {
mView.showMsg("添加失败");
}
);
break; break;
case C.MS_EDITOR_MODE.UPDATE: case C.MS_EDITOR_MODE.UPDATE:
ApiFactory.Ms.update(ms) ApiFactory.Ms.update(ms)
.doOnSubscribe(disposable -> mView.dismissLoadingDialog()) .doOnSubscribe(disposable -> mView.dismissLoadingDialog())
.subscribe(ms1 -> { .subscribe(
mView.showMsg("修改成功"); ms1 -> {
isNeedSync = true; mView.showMsg("修改成功");
mView.backToManagerFragment(); isNeedSync = true;
mView.updateMs(ms1); mView.backToManagerFragment();
}, throwable -> { mView.updateMs(ms1);
mView.showMsg("修改失败"); },
}); throwable -> {
mView.showMsg("修改失败");
}
);
break; break;
} }
} }
......
...@@ -5,6 +5,7 @@ import android.view.MotionEvent; ...@@ -5,6 +5,7 @@ import android.view.MotionEvent;
import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.hwangjr.rxbus.RxBus;
import com.xingdata.zzdpos.C; import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
...@@ -24,7 +25,7 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym ...@@ -24,7 +25,7 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym
@Override @Override
public void initView() { public void initView() {
loadRootFragment(R.id.f_payment, mPaymentFragment); loadRootFragment(R.id.f_payment, mPaymentFragment, false, false);
mViewBinding.btnBack.setOnClickListener(view -> onBackPressedSupport()); mViewBinding.btnBack.setOnClickListener(view -> onBackPressedSupport());
} }
...@@ -34,6 +35,11 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym ...@@ -34,6 +35,11 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym
ToastUtils.showShort(msg); ToastUtils.showShort(msg);
} }
@Override
public void setSettleMode(int settleMode) {
mPaymentFragment.setSettleMode(settleMode);
}
@Override @Override
public void showSettle(Long amt) { public void showSettle(Long amt) {
Intent intent = new Intent(PaymentActivity.this, SettleActivity.class); Intent intent = new Intent(PaymentActivity.this, SettleActivity.class);
...@@ -42,6 +48,12 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym ...@@ -42,6 +48,12 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym
ActivityUtils.startActivity(intent); ActivityUtils.startActivity(intent);
} }
@Override
public void addNoBarcodeSku(Long amt) {
RxBus.get().post(C.EVENT_TAGS.ADD_NO_BARCODE_SKU, amt);
this.finish();
}
@Override @Override
public boolean dispatchTouchEvent(MotionEvent ev) { public boolean dispatchTouchEvent(MotionEvent ev) {
Global.clickHideKeyboard(ev, this); Global.clickHideKeyboard(ev, this);
......
...@@ -15,10 +15,26 @@ interface PaymentContract { ...@@ -15,10 +15,26 @@ interface PaymentContract {
*/ */
void showMsg(String msg); void showMsg(String msg);
/**
* 根据收款模式设置页面
*
* @param settleMode 收款模式
*/
void setSettleMode(int settleMode);
/** /**
* 显示结算页面 * 显示结算页面
*
* @param amt 金额
*/ */
void showSettle(Long amt); void showSettle(Long amt);
/**
* 添加无码商品
*
* @param amt 金额
*/
void addNoBarcodeSku(Long amt);
} }
abstract class Presenter extends BasePresenter<View> { abstract class Presenter extends BasePresenter<View> {
......
package com.xingdata.zzdpos.ui.payment; package com.xingdata.zzdpos.ui.payment;
import com.xingdata.zzdpos.C;
public class PaymentPresenter extends PaymentContract.Presenter { public class PaymentPresenter extends PaymentContract.Presenter {
private int mSettleMode;
@Override @Override
public void onAttached() { public void onAttached() {
mSettleMode = getIntent().getIntExtra(C.SP_KEY.SETTLE_MODE, C.SETTLE_MODE.PAYMENT);
mView.setSettleMode(mSettleMode);
} }
@Override @Override
...@@ -11,7 +18,14 @@ public class PaymentPresenter extends PaymentContract.Presenter { ...@@ -11,7 +18,14 @@ public class PaymentPresenter extends PaymentContract.Presenter {
if (amt > 99999999999L || amt <= 0) { if (amt > 99999999999L || amt <= 0) {
mView.showMsg("您填写的金额超出范围"); mView.showMsg("您填写的金额超出范围");
} else { } else {
mView.showSettle(amt); switch (mSettleMode) {
case C.SETTLE_MODE.PAYMENT:
mView.showSettle(amt);
break;
case C.SETTLE_MODE.STORE:
mView.addNoBarcodeSku(amt);
break;
}
} }
} }
} }
...@@ -29,4 +29,13 @@ public class PaymentFragment extends BaseFragment<PaymentPresenter, FragmentPaym ...@@ -29,4 +29,13 @@ public class PaymentFragment extends BaseFragment<PaymentPresenter, FragmentPaym
if (result > 0) mPresenter.clickSettle(result); if (result > 0) mPresenter.clickSettle(result);
}); });
} }
/**
* 根据收款模式设置页面
*
* @param settleMode 收款模式
*/
public void setSettleMode(int settleMode) {
mCalculatorView.setSettleMode(settleMode);
}
} }
...@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.payment.view; ...@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.payment.view;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BasePresenter; import com.xingdata.zzdpos.base.BasePresenter;
...@@ -20,6 +21,8 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie ...@@ -20,6 +21,8 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie
private String mValue; private String mValue;
private String mLast; private String mLast;
private int mSettleMode;
private OnResultChangeListener mOnResultChangeListener; private OnResultChangeListener mOnResultChangeListener;
private onSettleClickListener mOnSettleClickListener; private onSettleClickListener mOnSettleClickListener;
...@@ -38,6 +41,10 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie ...@@ -38,6 +41,10 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie
void onSettleClick(Long result); void onSettleClick(Long result);
} }
public void setSettleMode(int settleMode) {
this.mSettleMode = settleMode;
}
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.view_calculator; return R.layout.view_calculator;
...@@ -85,6 +92,14 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie ...@@ -85,6 +92,14 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie
} }
}; };
mViewBinding.setOnClick(mOnClickListener); mViewBinding.setOnClick(mOnClickListener);
switch (mSettleMode) {
case C.SETTLE_MODE.PAYMENT:
mViewBinding.setText(getString(R.string.inputer_settle));
break;
case C.SETTLE_MODE.STORE:
mViewBinding.setText(getString(R.string.inputer_confirm));
break;
}
} }
/** /**
......
...@@ -194,6 +194,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle ...@@ -194,6 +194,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
mPayingDialog.setType(payType).setResponse(response).show(this); mPayingDialog.setType(payType).setResponse(response).show(this);
} }
@Override
public String getMark() {
return mSettleFragment.mViewBinding.etMark.getText().toString();
}
@Override @Override
public void backToSettleFragment() { public void backToSettleFragment() {
......
...@@ -132,6 +132,13 @@ interface SettleContract { ...@@ -132,6 +132,13 @@ interface SettleContract {
*/ */
void showPayingDialog(int payType, com.xingdata.zzdpos.api.Pay.Response response); void showPayingDialog(int payType, com.xingdata.zzdpos.api.Pay.Response response);
/**
* 获取备注
*
* @return 备注信息
*/
String getMark();
/** /**
* 返回结算主页面 * 返回结算主页面
*/ */
...@@ -156,7 +163,6 @@ interface SettleContract { ...@@ -156,7 +163,6 @@ interface SettleContract {
* 关闭密码页面 * 关闭密码页面
*/ */
void dismissPasswordDialog(); void dismissPasswordDialog();
} }
abstract class Presenter extends BasePresenter<View> { abstract class Presenter extends BasePresenter<View> {
......
...@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.settle; ...@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.settle;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.api.print.ZX_PrintPOS; import com.xingdata.api.print.ZX_PrintPOS;
import com.xingdata.zzdpos.C; import com.xingdata.zzdpos.C;
...@@ -378,6 +379,9 @@ public class SettlePresenter extends SettleContract.Presenter { ...@@ -378,6 +379,9 @@ public class SettlePresenter extends SettleContract.Presenter {
private Saleorder.Param createSaleorderParam() { private Saleorder.Param createSaleorderParam() {
Saleorder.Param saleorderParam = mSaleorder.setVip(mVip).param(); Saleorder.Param saleorderParam = mSaleorder.setVip(mVip).param();
for (int i = 0; i < mSaledetails.size(); i++) { for (int i = 0; i < mSaledetails.size(); i++) {
if (mSettleMode == C.SETTLE_MODE.PAYMENT && !StringUtils.isEmpty(mView.getMark())) {
mSaledetails.get(0).setSpuName(mView.getMark());
}
saleorderParam.saleOrderParamDetailList.add(mSaledetails.get(i).param()); saleorderParam.saleOrderParamDetailList.add(mSaledetails.get(i).param());
} }
return saleorderParam; return saleorderParam;
......
...@@ -34,6 +34,8 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle ...@@ -34,6 +34,8 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
private SaledetailAdapter mSaledetailAdapter; private SaledetailAdapter mSaledetailAdapter;
private DisAdapter mDisAdapter; private DisAdapter mDisAdapter;
private Vip mVip;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.fragment_settle; return R.layout.fragment_settle;
...@@ -41,6 +43,8 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle ...@@ -41,6 +43,8 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
@Override @Override
public void initView() { public void initView() {
mVip = Vip.createDefault();
mPays = new ArrayList<>(); mPays = new ArrayList<>();
mViewBinding.setDefualtVip(true); mViewBinding.setDefualtVip(true);
...@@ -95,12 +99,14 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle ...@@ -95,12 +99,14 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
switch (settleMode) { switch (settleMode) {
case C.SETTLE_MODE.PAYMENT: case C.SETTLE_MODE.PAYMENT:
mViewBinding.llStore.setVisibility(View.GONE); mViewBinding.llStore.setVisibility(View.GONE);
mViewBinding.clMark.setVisibility(View.VISIBLE);
mPresenter.initPaymentInfo(); mPresenter.initPaymentInfo();
BottomSheetBehavior.from(mViewBinding.llSheet).setState(BottomSheetBehavior.STATE_EXPANDED); BottomSheetBehavior.from(mViewBinding.llSheet).setState(BottomSheetBehavior.STATE_EXPANDED);
mViewBinding.tvSettle.setAlpha(0); mViewBinding.tvSettle.setAlpha(0);
break; break;
case C.SETTLE_MODE.STORE: case C.SETTLE_MODE.STORE:
mViewBinding.llStore.setVisibility(View.VISIBLE); mViewBinding.llStore.setVisibility(View.VISIBLE);
mViewBinding.clMark.setVisibility(View.GONE);
this.initStoreView(); this.initStoreView();
break; break;
} }
...@@ -147,8 +153,6 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle ...@@ -147,8 +153,6 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
* @param vip 会员信息 * @param vip 会员信息
*/ */
public void loadVip(Vip vip) { public void loadVip(Vip vip) {
mPayAdapter.setNewData(getAvlPays(vip));
mViewBinding.setDefualtVip(vip.isDefaultVip()); mViewBinding.setDefualtVip(vip.isDefaultVip());
mViewBinding.setName(vip.getVipName()); mViewBinding.setName(vip.getVipName());
mViewBinding.setPhone(vip.getVipMobile()); mViewBinding.setPhone(vip.getVipMobile());
...@@ -169,6 +173,7 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle ...@@ -169,6 +173,7 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade03); mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade03);
break; break;
} }
this.mVip = vip;
} }
...@@ -201,6 +206,8 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle ...@@ -201,6 +206,8 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
mViewBinding.tvVipOffAmt.setText(ConvertUtil.fenToYuan(saleorder.getOrderVipOffAmt(), true)); mViewBinding.tvVipOffAmt.setText(ConvertUtil.fenToYuan(saleorder.getOrderVipOffAmt(), true));
mViewBinding.tvOrderCnt.setText(String.valueOf(saleorder.getOrderCnt())); mViewBinding.tvOrderCnt.setText(String.valueOf(saleorder.getOrderCnt()));
} }
mPayAdapter.setNewData(getAvlPays(mVip));
} }
...@@ -225,7 +232,13 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle ...@@ -225,7 +232,13 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
} }
List<Pay> getAvlPays(Vip vip) { /**
* 获取可用支付方式
*
* @param vip 会员信息
* @return 支付方式
*/
private List<Pay> getAvlPays(Vip vip) {
List<Pay> _pays = new ArrayList<>(); List<Pay> _pays = new ArrayList<>();
for (int i = 0; i < mPays.size(); i++) { for (int i = 0; i < mPays.size(); i++) {
if (!mPays.get(i).isNeedVip() || (!vip.isDefaultVip() && (mPays.get(i).getPayType() != C.PAY_CHANNEL.CARD || vip.getAcctCbal() >= mViewBinding.getOrderPayAmt()))) if (!mPays.get(i).isNeedVip() || (!vip.isDefaultVip() && (mPays.get(i).getPayType() != C.PAY_CHANNEL.CARD || vip.getAcctCbal() >= mViewBinding.getOrderPayAmt())))
......
...@@ -12,6 +12,9 @@ import com.blankj.utilcode.constant.PermissionConstants; ...@@ -12,6 +12,9 @@ import com.blankj.utilcode.constant.PermissionConstants;
import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.PermissionUtils; import com.blankj.utilcode.util.PermissionUtils;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.hwangjr.rxbus.annotation.Subscribe;
import com.hwangjr.rxbus.annotation.Tag;
import com.hwangjr.rxbus.thread.EventThread;
import com.xingdata.zzdpos.C; import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
...@@ -22,6 +25,7 @@ import com.xingdata.zzdpos.model.Pager; ...@@ -22,6 +25,7 @@ import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saledetail; import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder; import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sskugrp; import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.ui.payment.PaymentActivity;
import com.xingdata.zzdpos.ui.scan.ScanFragment; import com.xingdata.zzdpos.ui.scan.ScanFragment;
import com.xingdata.zzdpos.ui.settle.SettleActivity; import com.xingdata.zzdpos.ui.settle.SettleActivity;
import com.xingdata.zzdpos.ui.store.dialog.CartDialog; import com.xingdata.zzdpos.ui.store.dialog.CartDialog;
...@@ -57,8 +61,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin ...@@ -57,8 +61,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding.vSearch.setOnSearchListener(keyword -> mPresenter.searchSku(keyword)); mViewBinding.vSearch.setOnSearchListener(keyword -> mPresenter.searchSku(keyword));
mViewBinding.btnScan.setOnClickListener(view -> PermissionUtils.permission(PermissionConstants.CAMERA) mViewBinding.btnScan.setOnClickListener(view -> PermissionUtils.permission(PermissionConstants.CAMERA).callback(new PermissionUtils.FullCallback() {
.callback(new PermissionUtils.FullCallback() {
@Override @Override
public void onGranted(List<String> permissionsGranted) { public void onGranted(List<String> permissionsGranted) {
mPresenter.clickScan(); mPresenter.clickScan();
...@@ -67,9 +70,15 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin ...@@ -67,9 +70,15 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override @Override
public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) { public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) {
} }
}) }).request()
.request()
); );
mViewBinding.btnPayment.setOnClickListener(view -> {
Intent intent = new Intent(StoreActivity.this, PaymentActivity.class);
intent.putExtra(C.SP_KEY.SETTLE_MODE, C.SETTLE_MODE.STORE);
ActivityUtils.startActivity(intent);
});
mScanFragment.setOnScanCompletedListener(barcode -> mPresenter.scanComplete(barcode)); mScanFragment.setOnScanCompletedListener(barcode -> mPresenter.scanComplete(barcode));
} }
...@@ -227,4 +236,14 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin ...@@ -227,4 +236,14 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
return super.dispatchTouchEvent(ev); return super.dispatchTouchEvent(ev);
} }
@Subscribe(
thread = EventThread.MAIN_THREAD,
tags = {@Tag(C.EVENT_TAGS.ADD_NO_BARCODE_SKU)}
)
public void addNoBarcodeSku(Long amt) {
mPresenter.addNoBarcodeSku(amt);
}
} }
...@@ -140,6 +140,7 @@ public class StorePresenter extends StoreContract.Presenter { ...@@ -140,6 +140,7 @@ public class StorePresenter extends StoreContract.Presenter {
mView.showMsDialog(mMss); mView.showMsDialog(mMss);
} }
@Override @Override
public <Sku extends BaseSku> void clickAddSku(Sku sku, int value) { public <Sku extends BaseSku> void clickAddSku(Sku sku, int value) {
//更新购物车信息 //更新购物车信息
...@@ -160,7 +161,6 @@ public class StorePresenter extends StoreContract.Presenter { ...@@ -160,7 +161,6 @@ public class StorePresenter extends StoreContract.Presenter {
this.cartChanged(); this.cartChanged();
} }
@Override @Override
public void cartChanged() { public void cartChanged() {
//设置订单信息 //设置订单信息
...@@ -343,13 +343,11 @@ public class StorePresenter extends StoreContract.Presenter { ...@@ -343,13 +343,11 @@ public class StorePresenter extends StoreContract.Presenter {
*/ */
private void getProductByBarcode(String barcode) { private void getProductByBarcode(String barcode) {
mView.showLoadingDialog(); mView.showLoadingDialog();
List<Sssku> ssskus = DBFactory.getList(DB.getInstance().get(MainPresenter.class).where List<Sssku> ssskus = DBFactory.getList(DB.getInstance().get(MainPresenter.class).where(Sssku.class)
(Sssku.class)
.equalTo("spuBarcode", StringUtil.strToLong(barcode)) .equalTo("spuBarcode", StringUtil.strToLong(barcode))
.equalTo("skuStatus", 0) .equalTo("skuStatus", 0)
.findAll()); .findAll());
List<Ussku> usskus = DBFactory.getList(DB.getInstance().get(MainPresenter.class).where List<Ussku> usskus = DBFactory.getList(DB.getInstance().get(MainPresenter.class).where(Ussku.class)
(Ussku.class)
.equalTo("spuBarcode", StringUtil.strToLong(barcode)) .equalTo("spuBarcode", StringUtil.strToLong(barcode))
.equalTo("skuStatus", 0) .equalTo("skuStatus", 0)
.findAll()); .findAll());
...@@ -366,4 +364,17 @@ public class StorePresenter extends StoreContract.Presenter { ...@@ -366,4 +364,17 @@ public class StorePresenter extends StoreContract.Presenter {
mView.dismissLoadingDialog(); mView.dismissLoadingDialog();
} }
/**
* 添加无码商品
*
* @param amt 无码商品价格
*/
void addNoBarcodeSku(Long amt) {
mSaledetails.add(0, Saledetail.create("无码商品", amt, mVip));
//发送购物车信息
mView.loadSaledetails(mSaledetails, true);
//购物车发生变化
this.cartChanged();
}
} }
...@@ -83,7 +83,7 @@ public class SearchBar extends ConstraintLayout { ...@@ -83,7 +83,7 @@ public class SearchBar extends ConstraintLayout {
mViewBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.view_search_bar, this, true); mViewBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.view_search_bar, this, true);
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> { mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH||i==EditorInfo.IME_ACTION_UNSPECIFIED) { if (i == EditorInfo.IME_ACTION_SEARCH) {
String str = mViewBinding.etSearch.getText().toString(); String str = mViewBinding.etSearch.getText().toString();
if (StringUtils.isEmpty(str) && !isEmptyEnabled) { if (StringUtils.isEmpty(str) && !isEmptyEnabled) {
ToastUtils.showShort("请输入搜索内容"); ToastUtils.showShort("请输入搜索内容");
......
...@@ -79,17 +79,27 @@ ...@@ -79,17 +79,27 @@
app:layout_constraintRight_toLeftOf="parent" /> app:layout_constraintRight_toLeftOf="parent" />
<ImageButton <ImageButton
android:id="@+id/btn_scan" android:id="@+id/btn_payment"
android:layout_width="wrap_content" android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="@dimen/all_spacing" android:layout_marginStart="@dimen/all_spacing"
android:background="@color/transparent" android:background="@color/transparent"
android:contentDescription="@string/store_scan"
android:foreground="?android:attr/actionBarItemBackground"
android:src="@mipmap/but_collection"
android:visibility="@{titleMode>1?View.GONE:View.VISIBLE}"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintRight_toLeftOf="@id/btn_scan"
app:layout_constraintTop_toBottomOf="parent" />
<ImageButton
android:id="@+id/btn_scan"
android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/all_spacing"
android:background="@color/transparent"
android:contentDescription="@string/store_scan" android:contentDescription="@string/store_scan"
android:foreground="?android:attr/actionBarItemBackground" android:foreground="?android:attr/actionBarItemBackground"
android:paddingEnd="@dimen/all_padding"
android:paddingStart="@dimen/all_bounced_padding"
android:src="@mipmap/but_sweep_yard" android:src="@mipmap/but_sweep_yard"
android:visibility="@{titleMode>1?View.GONE:View.VISIBLE}" android:visibility="@{titleMode>1?View.GONE:View.VISIBLE}"
app:layout_constraintBottom_toTopOf="parent" app:layout_constraintBottom_toTopOf="parent"
......
...@@ -173,7 +173,6 @@ ...@@ -173,7 +173,6 @@
android:layout_height="@dimen/all_line_width" android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" /> android:background="@color/gray_huanggai" />
<LinearLayout <LinearLayout
android:id="@+id/ll_store" android:id="@+id/ll_store"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -370,12 +369,10 @@ ...@@ -370,12 +369,10 @@
android:background="@color/gray_huanggai" /> android:background="@color/gray_huanggai" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/ll_vip" android:id="@+id/ll_vip"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_margin"
android:layout_marginTop="@dimen/all_margin" android:layout_marginTop="@dimen/all_margin"
android:background="@color/white_caocao" android:background="@color/white_caocao"
android:orientation="vertical" android:orientation="vertical"
...@@ -507,6 +504,57 @@ ...@@ -507,6 +504,57 @@
</LinearLayout> </LinearLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_mark"
android:layout_width="match_parent"
android:layout_height="@dimen/title_height"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/white_caocao"
android:orientation="vertical"
android:visibility="gone">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_mark_hint"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginStart="@dimen/all_margin"
android:gravity="center_vertical"
android:text="@string/no_barcode_remark"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/et_mark"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/et_mark"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginEnd="@dimen/all_margin"
android:background="@color/transparent"
android:gravity="end|center_vertical"
android:hint="@string/no_barcode_remark_hint"
android:textColor="@color/black_baozheng"
android:textColorHint="@color/black_likui"
android:textSize="@dimen/all_body_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/tv_mark_hint"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>
</LinearLayout> </LinearLayout>
</android.support.v4.widget.NestedScrollView> </android.support.v4.widget.NestedScrollView>
......
...@@ -6,6 +6,11 @@ ...@@ -6,6 +6,11 @@
<variable <variable
name="onClick" name="onClick"
type="android.view.View.OnClickListener" /> type="android.view.View.OnClickListener" />
<variable
name="text"
type="String" />
</data> </data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
...@@ -277,7 +282,7 @@ ...@@ -277,7 +282,7 @@
android:foreground="?android:attr/selectableItemBackground" android:foreground="?android:attr/selectableItemBackground"
android:gravity="center" android:gravity="center"
android:onClickListener="@{onClick}" android:onClickListener="@{onClick}"
android:text="@string/inputer_settle" android:text="@{text}"
android:textColor="@color/white_caocao" android:textColor="@color/white_caocao"
android:textSize="@dimen/all_sub_title_size" android:textSize="@dimen/all_sub_title_size"
app:layout_constraintBottom_toBottomOf="@id/tv_0" app:layout_constraintBottom_toBottomOf="@id/tv_0"
......
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
<string name="no_barcode_title">无码商品</string> <string name="no_barcode_title">无码商品</string>
<string name="no_barcode_amt">金额:</string> <string name="no_barcode_amt">金额:</string>
<string name="no_barcode_amt_hint">请输入金额</string> <string name="no_barcode_amt_hint">请输入金额</string>
<string name="no_barcode_remark">备注:</string> <string name="no_barcode_remark">备注</string>
<string name="no_barcode_remark_hint">请输入备注内容</string> <string name="no_barcode_remark_hint">请输入备注内容</string>
<!--会员页面--> <!--会员页面-->
...@@ -539,6 +539,7 @@ ...@@ -539,6 +539,7 @@
<string name="inputer_del">退格</string> <string name="inputer_del">退格</string>
<string name="inputer_clear">清空</string> <string name="inputer_clear">清空</string>
<string name="inputer_settle">收\n款</string> <string name="inputer_settle">收\n款</string>
<string name="inputer_confirm">确\n认</string>
<string name="inputer_add">+</string> <string name="inputer_add">+</string>
<string name="inputer_sub">-</string> <string name="inputer_sub">-</string>
<string name="inputer_mul">×</string> <string name="inputer_mul">×</string>
...@@ -741,6 +742,4 @@ ...@@ -741,6 +742,4 @@
<string name="search_clear">清空</string> <string name="search_clear">清空</string>
</resources> </resources>
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 to comment