Commit 4bf008dc authored by 王海's avatar 王海

Merge remote-tracking branch 'origin/master'

parents c5004f2c 9f5d3859
......@@ -48,6 +48,7 @@
<activity
android:name=".ui.payment.PaymentActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity
android:name=".ui.marketing.integral.IntegralActivity"
......@@ -71,6 +72,7 @@
<activity
android:name=".ui.store.StoreActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity
android:name=".ui.announcement.AnnouncementActivity"
......
......@@ -682,10 +682,8 @@ public final class ApiFactory {
.observeOn(AndroidSchedulers.mainThread());
}
public static Observable<Pager<com.xingdata.zzdpos.model.Sssku>> querySssku(int pageNum,
String keyword, Long skuGrpId) {
return Api.getInstance().service.querySssku(pageNum, C.PRODUCT.PAGE_SIZE, skuGrpId,
keyword)
public static Observable<Pager<com.xingdata.zzdpos.model.Sssku>> querySssku(int pageNum, String keyword, Long skuGrpId) {
return Api.getInstance().service.querySssku(pageNum, C.PRODUCT.PAGE_SIZE, skuGrpId, keyword)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
......@@ -693,8 +691,7 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3));
}
public static Observable<Pager<com.xingdata.zzdpos.model.Sssku>> querySssku(int pageNum,
String keyword) {
public static Observable<Pager<com.xingdata.zzdpos.model.Sssku>> querySssku(int pageNum, String keyword) {
return Api.getInstance().service.querySssku(pageNum, C.PRODUCT.PAGE_SIZE, keyword)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......
......@@ -37,7 +37,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
@Override
public void refreshSku() {
this.mPageNum = 0;
this.mPageNum = 1;
this.mSkuGrpId = 0L;
mView.loadSkugrpState(mSkuGrpId);
this.getSku();
......@@ -62,7 +62,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
@Override
public void clickSkugrp(Sskugrp sskugrp) {
//点击商品管理里的分组
this.mPageNum = 0;
this.mPageNum = 1;
this.mSkuGrpId = sskugrp.getSkuGrpId();
mView.loadSkugrpState(mSkuGrpId);
this.getSku();
......@@ -109,7 +109,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
@Override
public void searchSku(String keyword) {
this.mSearchPageNum = 0;
this.mSearchPageNum = 1;
this.mKeyword = keyword;
this.getSearchSku();
}
......@@ -180,7 +180,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
public void clickDeleteSkugrp(Sskugrp sskugrp) {
mView.showLoadingDialog();
if (mSkuGrpId.longValue() == sskugrp.getSkuGrpId()) {
this.mPageNum = 0;
this.mPageNum = 1;
this.mSkuGrpId = 0L;
mView.loadSkugrpState(0L);
this.getSku();
......@@ -305,9 +305,9 @@ public class SsskuPresenter extends SsskuContract.Presenter {
ApiFactory.Sssku.querySssku(mPageNum, "", mSkuGrpId)
.doOnSubscribe(subscription -> mView.dismissLoadingDialog())
.subscribe(ssskuPager -> {
if (mPageNum == 0 && mSkuGrpId == 0L)
if (mPageNum == 1 && mSkuGrpId == 0L)
mView.loadSsskuCount(ssskuPager.getTotalRow());
mView.loadSkus(ssskuPager, mPageNum == 0);
mView.loadSkus(ssskuPager, mPageNum == 1);
})
);
}
......@@ -320,7 +320,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
mCompositeDisposable.add(
ApiFactory.Sssku.querySssku(mSearchPageNum, mKeyword)
.doOnSubscribe(subscription -> mView.dismissLoadingDialog())
.subscribe(ssskuPager -> mView.loadSearchResult(ssskuPager, mSearchPageNum == 0))
.subscribe(ssskuPager -> mView.loadSearchResult(ssskuPager, mSearchPageNum == 1))
);
}
......
......@@ -15,6 +15,7 @@ import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.main.MainActivity;
import com.xingdata.zzdpos.ui.payment.PaymentActivity;
import com.xingdata.zzdpos.ui.scan.ScanFragment;
import com.xingdata.zzdpos.ui.settle.dialog.PasswordDialog;
import com.xingdata.zzdpos.ui.settle.dialog.PayingDialog;
......@@ -23,13 +24,13 @@ import com.xingdata.zzdpos.ui.settle.fragment.PayResultFragment;
import com.xingdata.zzdpos.ui.settle.fragment.SettleFragment;
import com.xingdata.zzdpos.ui.settle.fragment.TicketFragment;
import com.xingdata.zzdpos.ui.settle.fragment.VipFragment;
import com.xingdata.zzdpos.ui.store.StoreActivity;
import com.xingdata.zzdpos.util.Global;
import java.util.List;
public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettleBinding>
implements SettleContract.View {
public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettleBinding> implements SettleContract.View {
private SettleFragment mSettleFragment = new SettleFragment();
......@@ -175,8 +176,8 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
}
@Override
public void showPaySuccFragment(Saleorder saleorder) {
this.start(mPayResultFragment.setResult(true).setSaleorder(saleorder));
public void showPaySuccFragment(Saleorder saleorder, int settleMode) {
this.start(mPayResultFragment.setResult(true).setSaleorder(saleorder).setSettleMode(settleMode));
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.settle_pay_result_title);
mPayingDialog.dismiss();
......@@ -200,9 +201,20 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
public void backToSettleFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.settle_title);
mViewBinding.vSearch.hideSoftInput();
this.pop();
}
@Override
public void backToPaymentActivity() {
ActivityUtils.startActivity(this, PaymentActivity.class);
}
@Override
public void backToStoreActivity() {
ActivityUtils.startActivity(this, StoreActivity.class);
}
@Override
public void backToMainActivity() {
ActivityUtils.startActivity(this, MainActivity.class);
......
......@@ -114,9 +114,10 @@ interface SettleContract {
/**
* 显示支付成功界面
*
* @param saleorder 订单信息
* @param saleorder 订单信息
* @param settleMode 结算模式
*/
void showPaySuccFragment(Saleorder saleorder);
void showPaySuccFragment(Saleorder saleorder, int settleMode);
/**
* 显示支付失败界面
......@@ -136,6 +137,16 @@ interface SettleContract {
*/
void backToSettleFragment();
/**
* 返回收款页面
*/
void backToPaymentActivity();
/**
* 返回开单页面
*/
void backToStoreActivity();
/**
* 返回主页面
*/
......@@ -267,6 +278,11 @@ interface SettleContract {
*/
public abstract void clickComplete();
/**
* 支付结果页面 - 继续操作
*/
public abstract void clickContinue();
/**
* 支付结果页面 - 重试
*/
......
......@@ -325,6 +325,18 @@ public class SettlePresenter extends SettleContract.Presenter {
mView.backToMainActivity();
}
@Override
public void clickContinue() {
switch (mSettleMode) {
case C.SETTLE_MODE.PAYMENT:
mView.backToPaymentActivity();
break;
case C.SETTLE_MODE.STORE:
mView.backToStoreActivity();
break;
}
}
@Override
public void clickRetry() {
mView.backToSettleFragment();
......@@ -375,7 +387,7 @@ public class SettlePresenter extends SettleContract.Presenter {
* 支付成功
*/
private void paySucc(Saleorder saleorder) {
mView.showPaySuccFragment(saleorder);
mView.showPaySuccFragment(saleorder, this.mSettleMode);
this.updateHandover(MainPresenter.handoverInfo);
try {
ZX_PrintPOS.getInstance(MainActivity.mainActivity).print(1, saleorder);
......
package com.xingdata.zzdpos.ui.settle.fragment;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentPayResultBinding;
......@@ -37,6 +38,9 @@ public class PayResultFragment extends BaseFragment<SettlePresenter, FragmentPay
if (mResult) mPresenter.clickComplete();
else mPresenter.clickRetry();
});
mViewBinding.btnContinue.setOnClickListener(view -> {
mPresenter.clickContinue();
});
}
@Override
......@@ -68,4 +72,22 @@ public class PayResultFragment extends BaseFragment<SettlePresenter, FragmentPay
return this;
}
/**
* 设置结算模式
*
* @param settleMode 结算模式
* @return this
*/
public PayResultFragment setSettleMode(int settleMode) {
switch (settleMode) {
case C.SETTLE_MODE.PAYMENT:
mViewBinding.setStrSettleMode("继续收款");
break;
case C.SETTLE_MODE.STORE:
mViewBinding.setStrSettleMode("继续开单");
break;
}
return this;
}
}
......@@ -22,6 +22,12 @@ import com.xingdata.zzdpos.util.Global;
public class SearchBar extends ConstraintLayout {
private ViewSearchBarBinding mViewBinding;
private boolean isEmptyEnabled;
public void setEmptyEnabled(boolean emptyEnabled) {
isEmptyEnabled = emptyEnabled;
}
public interface OnSearchListener {
void onSearch(String keyword);
}
......@@ -61,7 +67,7 @@ public class SearchBar extends ConstraintLayout {
* 显示软键盘
*/
public void showSoftInput() {
Global.setFocus(mViewBinding.etSearch,getContext());
Global.setFocus(mViewBinding.etSearch, getContext());
// KeyboardUtils.showSoftInput(mViewBinding.etSearch);
}
......@@ -77,22 +83,22 @@ public class SearchBar extends ConstraintLayout {
mViewBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.view_search_bar, this, true);
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH && !StringUtils.isEmpty(textView.getText())) {
if (i == EditorInfo.IME_ACTION_SEARCH) {
String str = mViewBinding.etSearch.getText().toString();
if (StringUtils.isEmpty(str)) {
if (StringUtils.isEmpty(str) && !isEmptyEnabled) {
ToastUtils.showShort("请输入搜索内容");
return false;
return true;
}
KeyboardUtils.hideSoftInput(mViewBinding.etSearch);
mOnSearchListener.onSearch(str);
}
return false;
return true;
});
mViewBinding.tvSearch.setOnClickListener(view -> {
String str = mViewBinding.etSearch.getText().toString();
if (StringUtils.isEmpty(str)) {
if (StringUtils.isEmpty(str) && !isEmptyEnabled) {
ToastUtils.showShort("请输入搜索内容");
this.showSoftInput();
return;
}
KeyboardUtils.hideSoftInput(mViewBinding.etSearch);
......
......@@ -20,6 +20,7 @@
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:animateLayoutChanges="true"
android:background="@color/white_caocao">
<ImageButton
......
......@@ -20,6 +20,7 @@
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:animateLayoutChanges="true"
android:background="@color/white_caocao">
<ImageButton
......
......@@ -22,6 +22,7 @@
android:id="@+id/cl_title"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:animateLayoutChanges="true"
android:background="@color/white_caocao"
android:focusable="true"
android:focusableInTouchMode="true">
......
......@@ -4,10 +4,16 @@
<data>
<import type="android.view.View" />
<variable
name="payResult"
type="boolean" />
<variable
name="strSettleMode"
type="String" />
</data>
<LinearLayout
......@@ -62,7 +68,7 @@
android:paddingBottom="@dimen/all_spacing"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:visibility="@{payResult?0:8}">
android:visibility="@{payResult?View.VISIBLE:View.GONE}">
<TextView
android:layout_width="wrap_content"
......@@ -87,7 +93,7 @@
android:paddingBottom="@dimen/all_spacing"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:visibility="@{payResult?0:8}">
android:visibility="@{payResult?View.VISIBLE:View.GONE}">
<TextView
android:layout_width="wrap_content"
......@@ -168,5 +174,19 @@
android:textColor="@color/white_caocao"
android:textSize="@dimen/all_text_size" />
<Button
android:id="@+id/btn_continue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_margin"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@drawable/shape_red_r1_thr"
android:foreground="?android:attr/selectableItemBackground"
android:text="@{strSettleMode}"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/all_text_size"
android:visibility="@{payResult?View.VISIBLE:View.GONE}" />
</LinearLayout>
</layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment