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

Merge remote-tracking branch 'origin/master'

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