Commit 1fd95c8e authored by 姜敏's avatar 姜敏

Merge remote-tracking branch 'origin/master'

parents f70336df 0d777680
......@@ -3,8 +3,6 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/TangKuPos.iml" filepath="$PROJECT_DIR$/TangKuPos.iml" />
<module fileurl="file://C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos2\TangKuPos.iml" filepath="C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos2\TangKuPos.iml" />
<module fileurl="file://D:\Work\Android\AndroidProject\XingData\TangKuPos\TangKuPos2.iml" filepath="D:\Work\Android\AndroidProject\XingData\TangKuPos\TangKuPos2.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
</modules>
</component>
......
......@@ -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"
......
......@@ -70,7 +70,7 @@ public class App extends Application {
.start();
// 初始化异常处理
initEx();
// initEx();
//初始化Fragment框架
initFragment();
......
......@@ -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<>())
......
......@@ -9,6 +9,7 @@ import com.xingdata.zzdpos.base.BaseModel;
import com.xingdata.zzdpos.model.HandoverInfo;
import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Pay;
import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku;
......@@ -68,7 +69,7 @@ public class DBFactory {
* @param skuGrpId 分组ID
* @return 商品List
*/
public static Observable<List<Sssku>> querySku(int pageNum, Long skuGrpId) {
public static Observable<Pager<Sssku>> querySku(int pageNum, Long skuGrpId) {
RealmQuery<Sssku> query = DB.getInstance().get(MainPresenter.class).where(Sssku.class);
//skuGrpId
......@@ -87,7 +88,7 @@ public class DBFactory {
* @param keyword 关键字
* @return 商品List
*/
public static Observable<List<Sssku>> querySku(int pageNum, String keyword) {
public static Observable<Pager<Sssku>> querySku(int pageNum, String keyword) {
RealmQuery<Sssku> query = DB.getInstance().get(MainPresenter.class).where(Sssku.class);
long _keyword = StringUtil.strToLong(keyword);
......@@ -112,12 +113,18 @@ public class DBFactory {
*
* @return 组合商品
*/
public static Observable<List<Ussku>> queryUSku() {
public static Observable<Pager<Ussku>> queryUSku() {
RealmQuery<Ussku> query = DB.getInstance().get(MainPresenter.class).where(Ussku.class);
query.equalTo("skuStatus", 0);
return Observable.just(query.findAll())
.flatMap(usskus -> Observable.just(getList(usskus)));
.flatMap(usskus -> {
Pager<Ussku> usskuPager = new Pager<>();
usskuPager.setFirstPage(true);
usskuPager.setLastPage(true);
usskuPager.setList(getList(usskus));
return Observable.just(usskuPager);
});
}
......@@ -262,22 +269,29 @@ public class DBFactory {
}
}
public static <E extends RealmModel> List<E> getLimitList(RealmResults<E> data, int offset,
int limit) {
public static <E extends RealmModel> Pager<E> getLimitList(RealmResults<E> data, int offset,
int limit) {
Pager<E> pager = new Pager<>();
pager.setTotalRow(data.size());
pager.setFirstPage(offset <= 1);
pager.setPageSize(data.size() / limit + 1);
List<E> obtainList = new ArrayList<>();
Realm realm = Realm.getDefaultInstance();
if (data.size() == 0) {
return obtainList;
return pager;
}
for (int i = offset * limit; i < offset * limit + limit; i++) {
if (i >= data.size()) {
pager.setLastPage(true);
break;
}
E temp = realm.copyFromRealm(data.get(i));
obtainList.add(temp);
}
realm.close();
return obtainList;
pager.setList(obtainList);
return pager;
}
public static <E extends RealmModel> List<E> getList(RealmResults<E> data) {
......
package com.xingdata.zzdpos.ui.manage.sssku;
import android.view.MotionEvent;
import android.view.inputmethod.EditorInfo;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivitySsskuBinding;
import com.xingdata.zzdpos.model.Cor;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
......@@ -54,17 +52,10 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
public void initView() {
this.showTitleBarByTitleMode(C.TITLE_MODE.SKU_MANAGER);
this.loadRootFragment(R.id.f_sssku, mManagerFragment);
mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport());
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH && !StringUtils.isEmpty(textView.getText())) {
KeyboardUtils.hideSoftInput(textView);
mPresenter.searchSku(textView.getText().toString());
}
return false;
});
mViewBinding.btnScan.setOnClickListener(view -> mPresenter.clickScan(mViewBinding.getTitleMode()));
mViewBinding.btnMenu.setOnClickListener(view -> mPresenter.clickSkuMenu());
mViewBinding.vSearch.setOnSearchListener(keyword -> mPresenter.searchSku(keyword));
}
@Override
......@@ -77,7 +68,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
}
@Override
public void loadSkus(List<Sssku> skus, boolean isRefresh) {
public void loadSkus(Pager<Sssku> skus, boolean isRefresh) {
mManagerFragment.loadSkus(skus, isRefresh);
}
......@@ -105,7 +96,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
}
@Override
public void loadSearchResult(List<Sssku> skus, boolean isRefresh) {
public void loadSearchResult(Pager<Sssku> skus, boolean isRefresh) {
mSearchFragment.loadSkus(skus, isRefresh);
}
......@@ -128,18 +119,17 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
@Override
public void showSearchFragment(int searchType) {
if (mSearchFragment.isAdded()) return;
mViewBinding.etSearch.requestFocus();
KeyboardUtils.showSoftInput(mViewBinding.etSearch);
this.showTitleBarByTitleMode(searchType);
mViewBinding.vSearch.clear();
mViewBinding.vSearch.showSoftInput();
this.start(mSearchFragment.setKeyword("").setSearchType(searchType));
}
@Override
public void showSearchFragment(String keyword, int searchType) {
if (mSearchFragment.isAdded()) return;
mViewBinding.etSearch.requestFocus();
KeyboardUtils.showSoftInput(mViewBinding.etSearch);
this.showTitleBarByTitleMode(searchType);
mViewBinding.vSearch.setText(keyword);
this.start(mSearchFragment.setKeyword(keyword).setSearchType(searchType));
}
......@@ -162,7 +152,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
mScanFragment.setOnBackPressedListener(this::backToAddFragment);
break;
}
KeyboardUtils.hideSoftInput(mViewBinding.etSearch);
mViewBinding.vSearch.hideSoftInput();
this.start(mScanFragment);
}
......@@ -306,13 +296,13 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
private void showTitleBarByTitleMode(int titleMode) {
if (mViewBinding.getTitleMode() == titleMode) return;
mViewBinding.setTitleMode(titleMode);
mViewBinding.etSearch.setText("");
mViewBinding.vSearch.clear();
switch (titleMode) {
case C.TITLE_MODE.SKU:
mViewBinding.etSearch.setHint(R.string.sssku_search_hint);
mViewBinding.vSearch.setHint(getString(R.string.sssku_search_hint));
break;
case C.TITLE_MODE.PKG:
mViewBinding.etSearch.setHint(R.string.sssku_search_hint);
mViewBinding.vSearch.setHint(getString(R.string.sssku_search_hint));
break;
case C.TITLE_MODE.SKU_DETAIL:
break;
......@@ -323,7 +313,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
* 重置搜索栏
*/
private void resetSearchBar() {
mViewBinding.etSearch.setText("");
mViewBinding.vSearch.clear();
mViewBinding.clTitle.requestFocus();
}
......
......@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.manage.sssku;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Cor;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku;
......@@ -26,7 +27,7 @@ public interface SsskuContract {
* @param skus 商品列表
* @param isRefresh 是否刷新列表
*/
void loadSkus(List<Sssku> skus, boolean isRefresh);
void loadSkus(Pager<Sssku> skus, boolean isRefresh);
/**
* 加载商品分组
......@@ -60,7 +61,7 @@ public interface SsskuContract {
* @param skus 商品列表
* @param isRefresh 是否刷新列表
*/
void loadSearchResult(List<Sssku> skus, boolean isRefresh);
void loadSearchResult(Pager<Sssku> skus, boolean isRefresh);
/**
* 加载供应商列表
......
......@@ -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.getList(), 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.getList(), mSearchPageNum == 0))
.subscribe(ssskuPager -> mView.loadSearchResult(ssskuPager, mSearchPageNum == 1))
);
}
......
......@@ -10,6 +10,7 @@ import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSsskuManagerBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity;
......@@ -75,14 +76,14 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
* @param skus 商品信息
* @param isRefresh 是否需要刷新
*/
public void loadSkus(List<Sssku> skus, boolean isRefresh) {
public void loadSkus(Pager<Sssku> skus, boolean isRefresh) {
if (isRefresh) {
mSkuAdapter.isUseEmpty(true);
mSkuAdapter.setEnableLoadMore(true);
mViewBinding.srlSku.setRefreshing(false);
mSkuAdapter.setNewData(skus);
} else if (skus.size() > 0) mSkuAdapter.addData(skus);
if (skus.size() <= C.PRODUCT.PAGE_SIZE) mSkuAdapter.loadMoreEnd(false);
mSkuAdapter.setNewData(skus.getList());
} else if (skus.getList().size() > 0) mSkuAdapter.addData(skus.getList());
if (skus.isLastPage()) mSkuAdapter.loadMoreEnd(false);
else mSkuAdapter.loadMoreComplete();
}
......
......@@ -10,13 +10,12 @@ import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSsskuSearchBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.SkuAdapter;
import java.util.List;
public class SearchFragment extends BaseFragment<SsskuPresenter, FragmentSsskuSearchBinding> {
private int mSearchType;
......@@ -73,13 +72,13 @@ public class SearchFragment extends BaseFragment<SsskuPresenter, FragmentSsskuSe
* @param skus 商品
* @param isRefresh 是否刷新
*/
public void loadSkus(List<Sssku> skus, boolean isRefresh) {
public void loadSkus(Pager<Sssku> skus, boolean isRefresh) {
if (isRefresh) {
mSkuAdapter.isUseEmpty(true);
mSkuAdapter.setEnableLoadMore(true);
mSkuAdapter.setNewData(skus);
} else if (skus.size() > 0) mSkuAdapter.addData(skus);
if (skus.size() <= C.PRODUCT.PAGE_SIZE) mSkuAdapter.loadMoreEnd(isRefresh);
mSkuAdapter.setNewData(skus.getList());
} else if (skus.getList().size() > 0) mSkuAdapter.addData(skus.getList());
if (skus.isLastPage()) mSkuAdapter.loadMoreEnd(isRefresh);
else mSkuAdapter.loadMoreComplete();
}
......
......@@ -2,9 +2,7 @@ package com.xingdata.zzdpos.ui.marketing.ms;
import android.view.MotionEvent;
import android.view.inputmethod.EditorInfo;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
......@@ -12,6 +10,7 @@ import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.ActivityMsBinding;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.AddFragment;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.EditorFragment;
......@@ -47,13 +46,7 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
this.loadRootFragment(R.id.f_ms, mManagerFragment);
mViewBinding.setTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport());
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH) {
KeyboardUtils.hideSoftInput(textView);
mPresenter.clickSearchButton(textView.getText().toString());
}
return false;
});
mViewBinding.vSearch.setOnSearchListener(keyword -> mPresenter.clickSearchButton(keyword));
}
@Override
......@@ -66,7 +59,7 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
}
@Override
public void loadMss(List<Ms> mss, boolean isRefresh) {
public void loadMss(Pager<Ms> mss, boolean isRefresh) {
mManagerFragment.loadMss(mss, isRefresh);
}
......@@ -92,12 +85,15 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
@Override
public void showSearchFragment(int searchType) {
this.showTitleBarByTitleMode(searchType);
mViewBinding.vSearch.clear();
mViewBinding.vSearch.showSoftInput();
this.start(mSearchFragment.setKeyword("").setSearchType(searchType));
}
@Override
public void showSearchFragment(String keyword, int searchType) {
this.showTitleBarByTitleMode(searchType);
mViewBinding.vSearch.setText(keyword);
this.start(mSearchFragment.setKeyword(keyword).setSearchType(searchType));
}
......@@ -196,13 +192,13 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
private void showTitleBarByTitleMode(int titleMode) {
if (mViewBinding.getTitleMode() == titleMode) return;
mViewBinding.setTitleMode(titleMode);
mViewBinding.etSearch.setText("");
mViewBinding.vSearch.clear();
switch (titleMode) {
case C.TITLE_MODE.SKU:
mViewBinding.etSearch.setHint(R.string.ms_editor_type_gift_search_hint);
mViewBinding.vSearch.setHint(getString(R.string.ms_editor_type_gift_search_hint));
break;
case C.TITLE_MODE.GIFT:
mViewBinding.etSearch.setHint(R.string.ms_editor_type_gift_search_hint);
mViewBinding.vSearch.setHint(getString(R.string.ms_editor_type_gift_search_hint));
break;
}
}
......
......@@ -4,6 +4,7 @@ import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.ui.marketing.ms.model.Area;
import com.xingdata.zzdpos.ui.marketing.ms.model.Group;
import com.xingdata.zzdpos.ui.marketing.ms.model.Type;
......@@ -24,7 +25,7 @@ interface MsContract {
/**
* 加载营销计划数据
*/
void loadMss(List<Ms> mss, boolean isRefresh);
void loadMss(Pager<Ms> mss, boolean isRefresh);
/**
* 显示添加页面
......
......@@ -219,7 +219,7 @@ public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku>
* 获取营销计划
*/
private void getMs() {
mCompositeDisposable.add(ApiFactory.Ms.query(mPageNum).subscribe(msPager -> mView.loadMss(msPager.getList(), mPageNum == 1)));
mCompositeDisposable.add(ApiFactory.Ms.query(mPageNum).subscribe(msPager -> mView.loadMss(msPager, mPageNum == 1)));
}
......
......@@ -6,18 +6,16 @@ import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.TextView;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsManagerBinding;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.ui.marketing.ms.MsActivity;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.MsAdapter;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
import java.util.List;
public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManagerBinding> {
private MsAdapter mMsAdapter;
......@@ -65,14 +63,14 @@ public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManager
* @param mss 营销计划
* @param isRefresh 是否刷新
*/
public void loadMss(List<Ms> mss, boolean isRefresh) {
public void loadMss(Pager<Ms> mss, boolean isRefresh) {
if (isRefresh) {
mMsAdapter.isUseEmpty(true);
mMsAdapter.setEnableLoadMore(true);
mViewBinding.srlMs.setRefreshing(false);
mMsAdapter.setNewData(mss);
} else if (mss.size() > 0) mMsAdapter.addData(mss);
if (mss.size() <= C.PRODUCT.PAGE_SIZE) mMsAdapter.loadMoreEnd(isRefresh);
mMsAdapter.setNewData(mss.getList());
} else if (mss.getList().size() > 0) mMsAdapter.addData(mss.getList());
if (mss.isLastPage()) mMsAdapter.loadMoreEnd(isRefresh);
else mMsAdapter.loadMoreComplete();
}
......
......@@ -9,7 +9,7 @@ public class PaymentPresenter extends PaymentContract.Presenter {
@Override
public void clickSettle(Long amt) {
if (amt > 99999999999L) {
mView.showMsg("金额不合法,请重新输入");
mView.showMsg("您填写的金额超出范围");
} else {
mView.showSettle(amt);
}
......
......@@ -5,7 +5,6 @@ import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.TextView;
import com.blankj.utilcode.util.KeyboardUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSendTickerVipBinding;
......@@ -13,7 +12,6 @@ import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter;
import com.xingdata.zzdpos.ui.sendticke.adapter.VipAdapter;
import com.xingdata.zzdpos.ui.settle.SettleActivity;
import com.xingdata.zzdpos.util.Global;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.List;
......@@ -66,14 +64,12 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
}
}
});
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
KeyboardUtils.hideSoftInput(textView);
mPresenter.searchVip(textView.getText().toString());
return false;
mViewBinding.vSearch.setOnSearchListener(keyword -> {
mViewBinding.vSearch.hideSoftInput();
mPresenter.searchVip(keyword);
});
Global.setFocus(mViewBinding.etSearch, getActivity());
// KeyboardUtils.showSoftInput(getActivity());
mViewBinding.vSearch.setHint("请输入会员手机号进行搜索");
mViewBinding.vSearch.showSoftInput();
}
/**
......
......@@ -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,22 @@ 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, MainActivity.class);
ActivityUtils.startActivity(this, PaymentActivity.class);
}
@Override
public void backToStoreActivity() {
ActivityUtils.startActivity(this, MainActivity.class);
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);
......
......@@ -22,12 +22,9 @@ public class TicketAdapter extends BaseAdapter<Ticket, ItemSettleTicketBinding>
@Override
protected void convert(ItemSettleTicketBinding mViewBinding, Ticket item) {
mViewBinding.tvTicketMoneys.setText(mContext.getResources().getString(R.string.money,
ConvertUtil.fenToYuanNoPoint(item.getTicketValAmt())));
mViewBinding.tvRule.setText(mContext.getResources().getString(R.string.tv_rule,
ConvertUtil.fenToYuanNoPoint(item.getTruleOrderAmt())));
mViewBinding.tvDate.setText(mContext.getResources().getString(R.string.tv_date,
TimeUtils.millis2String(item.getTicketExp(), new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()))));
mViewBinding.tvTicketMoneys.setText(ConvertUtil.fenToYuanNoPoint(item.getTicketValAmt()));
mViewBinding.tvRule.setText(mContext.getResources().getString(R.string.tv_rule, ConvertUtil.fenToYuanNoPoint(item.getTruleOrderAmt())));
mViewBinding.tvDate.setText(mContext.getResources().getString(R.string.tv_date, TimeUtils.millis2String(item.getTicketExp(), new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()))));
if (item.isSelected()) {
mViewBinding.ivSelect.setImageResource(R.mipmap.but_elect01_stroke);
......
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;
......@@ -10,6 +11,7 @@ import com.xingdata.zzdpos.ui.settle.SettlePresenter;
public class PayResultFragment extends BaseFragment<SettlePresenter, FragmentPayResultBinding> {
private boolean mResult;
private Saleorder mSaleorder;
private int mSettleMode;
@Override
public int getLayoutId() {
......@@ -37,6 +39,19 @@ public class PayResultFragment extends BaseFragment<SettlePresenter, FragmentPay
if (mResult) mPresenter.clickComplete();
else mPresenter.clickRetry();
});
mViewBinding.btnContinue.setOnClickListener(view -> {
mPresenter.clickContinue();
});
switch (mSettleMode) {
case C.SETTLE_MODE.PAYMENT:
mViewBinding.setStrSettleMode("继续收款");
break;
case C.SETTLE_MODE.STORE:
mViewBinding.setStrSettleMode("继续开单");
break;
}
}
@Override
......@@ -68,4 +83,15 @@ public class PayResultFragment extends BaseFragment<SettlePresenter, FragmentPay
return this;
}
/**
* 设置结算模式
*
* @param settleMode 结算模式
* @return this
*/
public PayResultFragment setSettleMode(int settleMode) {
this.mSettleMode = settleMode;
return this;
}
}
......@@ -62,7 +62,7 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn
}
String str = ((TextView) view).getText().toString();
//限制位数
if (str.matches("[0-9]+") && mValue.split("[.]").length > 1 && mValue.split("[.]")[1].length() == 2)
if (str.matches("[0-9]+") && ((!mValue.contains(".") && mValue.length() == 6) || (mValue.split("[.]").length > 1 && mValue.split("[.]")[1].length() == 2)))
return;
//限制小数点
if ((mValue.length() == 0 || mValue.contains(".")) && str.matches("[.]"))
......
......@@ -18,6 +18,7 @@ import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.ActivityStoreBinding;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sskugrp;
......@@ -82,7 +83,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
}
@Override
public <Sku extends BaseSku> void loadSkus(List<Sku> skus, boolean isRefresh) {
public <Sku extends BaseSku> void loadSkus(Pager<Sku> skus, boolean isRefresh) {
mStoreFragment.loadSkus(skus, isRefresh);
}
......@@ -103,7 +104,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
}
@Override
public <Sku extends BaseSku> void loadSearchResult(List<Sku> skus, boolean isRefresh) {
public <Sku extends BaseSku> void loadSearchResult(Pager<Sku> skus, boolean isRefresh) {
mSearchFragment.loadSkus(skus, isRefresh);
}
......
......@@ -4,6 +4,7 @@ import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sskugrp;
......@@ -28,7 +29,7 @@ interface StoreContract {
* @param isRefresh 是否刷新列表
* @param <Sku> 商品类型
*/
<Sku extends BaseSku> void loadSkus(List<Sku> skus, boolean isRefresh);
<Sku extends BaseSku> void loadSkus(Pager<Sku> skus, boolean isRefresh);
/**
* 加载商品分组
......@@ -58,7 +59,7 @@ interface StoreContract {
* @param isRefresh 是否刷新列表
* @param <Sku> 商品类型
*/
<Sku extends BaseSku> void loadSearchResult(List<Sku> skus, boolean isRefresh);
<Sku extends BaseSku> void loadSearchResult(Pager<Sku> skus, boolean isRefresh);
/**
* 加载订单信息
......
......@@ -14,11 +14,11 @@ import android.widget.TextView;
import com.blankj.utilcode.util.ScreenUtils;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.FragmentStoreSearchBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.ui.store.StorePresenter;
import com.xingdata.zzdpos.ui.store.adapter.SkuAdapter;
......@@ -83,13 +83,13 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
* @param isRefresh 是否刷新
* @param <Sku> 商品类型
*/
public <Sku extends BaseSku> void loadSkus(List<Sku> skus, boolean isRefresh) {
public <Sku extends BaseSku> void loadSkus(Pager<Sku> skus, boolean isRefresh) {
if (isRefresh) {
mSkuAdapter.isUseEmpty(true);
mSkuAdapter.setEnableLoadMore(true);
mSkuAdapter.setNewData(skus);
} else if (skus.size() > 0) mSkuAdapter.addData(skus);
if (skus.size() <= C.PRODUCT.PAGE_SIZE) mSkuAdapter.loadMoreEnd(isRefresh);
mSkuAdapter.setNewData(skus.getList());
} else if (skus.getList().size() > 0) mSkuAdapter.addData(skus.getList());
if (skus.isLastPage()) mSkuAdapter.loadMoreEnd(false);
else mSkuAdapter.loadMoreComplete();
}
......
......@@ -21,6 +21,7 @@ import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.FragmentStoreBinding;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.ui.store.StorePresenter;
......@@ -210,14 +211,14 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
* @param isRefresh 是否刷新
* @param <Sku> 商品类型
*/
public <Sku extends BaseSku> void loadSkus(List<Sku> skus, boolean isRefresh) {
public <Sku extends BaseSku> void loadSkus(Pager<Sku> skus, boolean isRefresh) {
if (isRefresh) {
mSkuAdapter.isUseEmpty(true);
mSkuAdapter.setEnableLoadMore(true);
mViewBinding.srlSku.setRefreshing(false);
mSkuAdapter.setNewData(skus);
} else if (skus.size() > 0) mSkuAdapter.addData(skus);
if (skus.size() <= C.PRODUCT.PAGE_SIZE) mSkuAdapter.loadMoreEnd(false);
mSkuAdapter.setNewData(skus.getList());
} else if (skus.getList().size() > 0) mSkuAdapter.addData(skus.getList());
if (skus.isLastPage()) mSkuAdapter.loadMoreEnd(false);
else mSkuAdapter.loadMoreComplete();
}
......
......@@ -19,6 +19,11 @@ public class Global {
return false;
}
/**
* 判断sn是否为null
*
* @return
*/
public static boolean isSnNull() {
if (isNull(SystemUtil.getDeviceSN())) {
return true;
......@@ -27,6 +32,12 @@ public class Global {
}
}
/**
* 点击空白隐藏键盘
*
* @param ev
* @param context
*/
public static void clickHideKeyboard(MotionEvent ev, Activity context) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = context.getCurrentFocus();
......@@ -40,6 +51,12 @@ public class Global {
}
}
/**
* 设置焦点并弹出键盘
*
* @param view
* @param context
*/
public static void setFocus(View view, Context context) {
view.setFocusable(true);
view.setFocusableInTouchMode(true);
......
......@@ -29,7 +29,7 @@ public final class SystemUtil {
*/
public static String getDeviceModel() {
// return DeviceUtils.getModel();
return "MI5";
return "X990";
}
......@@ -58,7 +58,7 @@ public final class SystemUtil {
}
}
// return deviceSN;
return "5484965656";
return "5536bef2";
}
/**
......
......@@ -16,11 +16,18 @@ import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.ViewSearchBarBinding;
import com.xingdata.zzdpos.util.Global;
@SuppressLint("AppCompatCustomView")
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);
}
......@@ -60,7 +67,15 @@ public class SearchBar extends ConstraintLayout {
* 显示软键盘
*/
public void showSoftInput() {
KeyboardUtils.showSoftInput(mViewBinding.etSearch);
Global.setFocus(mViewBinding.etSearch, getContext());
// KeyboardUtils.showSoftInput(mViewBinding.etSearch);
}
/**
* 隐藏软键盘
*/
public void hideSoftInput() {
KeyboardUtils.hideSoftInput(mViewBinding.etSearch);
}
public SearchBar(Context context, AttributeSet attrs) {
......@@ -68,21 +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);
......
package com.xingdata.zzdpos;
public class zxpay {
static {
System.loadLibrary("jsonpay");
}
public static native String jsonpay(String string);
}
......@@ -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
......@@ -33,25 +34,16 @@
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
<LinearLayout
<com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_margin"
android:visibility="@{titleMode>1?0:8}"
app:layout_constraintBottom_toTopOf="parent"
android:layout_height="0dp"
android:visibility="@{titleMode>1?View.VISIBLE:View.INVISIBLE}"
app:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent">
<EditText
android:id="@+id/et_search"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_weight="1"
android:inputType="text"
android:labelFor="@+id/et_search" />
</LinearLayout>
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_title"
......
......@@ -20,7 +20,6 @@
<FrameLayout
android:id="@+id/fragment"
style="@style/xuline_margin"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
......
......@@ -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">
......@@ -37,25 +38,16 @@
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
<LinearLayout
<com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_margin"
android:visibility="@{titleMode==1||titleMode==6||titleMode==8||titleMode==9||titleMode==10?8:0}"
app:layout_constraintBottom_toTopOf="parent"
android:layout_height="0dp"
android:visibility="@{titleMode==1||titleMode==6||titleMode==8||titleMode==9||titleMode==10?View.GONE:View.VISIBLE}"
app:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent">
<EditText
android:id="@+id/et_search"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_weight="1"
android:inputType="text"
android:labelFor="@+id/et_search" />
</LinearLayout>
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_title"
......@@ -65,7 +57,7 @@
android:text="@string/sssku_title"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size"
android:visibility="@{titleMode==1||titleMode==6||titleMode==8||titleMode==9||titleMode==10?0:8}"
android:visibility="@{titleMode==1||titleMode==6||titleMode==8||titleMode==9||titleMode==10?View.VISIBLE:View.GONE}"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent" />
......@@ -93,7 +85,7 @@
android:gravity="center"
android:padding="@dimen/all_margin"
android:src="@mipmap/click_down"
android:visibility="@{titleMode==6?0:8}"
android:visibility="@{titleMode==6?View.VISIBLE:View.GONE}"
app:layout_constraintRight_toRightOf="parent" />
<ImageButton
......
......@@ -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
......@@ -48,29 +48,40 @@
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout
<!--<LinearLayout-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_marginEnd="@dimen/all_margin"-->
<!--app:layout_constraintBottom_toTopOf="parent"-->
<!--app:layout_constraintLeft_toRightOf="@id/btn_back"-->
<!--app:layout_constraintRight_toRightOf="parent"-->
<!--app:layout_constraintTop_toBottomOf="parent">-->
<!--<EditText-->
<!--android:id="@+id/et_search"-->
<!--style="@style/searchBarEditor"-->
<!--android:layout_width="0dp"-->
<!--android:layout_weight="1"-->
<!--android:hint="@string/vip_seach_hint"-->
<!--android:inputType="number"-->
<!--android:maxLength="11"-->
<!--android:textColor="@color/black_likui"-->
<!--android:textColorHint="@color/gray_huanggai"-->
<!--android:textSize="@dimen/all_text_size_low"-->
<!--android:visibility="gone"/>-->
<!---->
<!--</LinearLayout>-->
<com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_margin"
app:layout_constraintBottom_toTopOf="parent"
android:layout_height="0dp"
android:inputType="number"
android:maxLength="11"
app:hint="@string/store_search_hint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent">
<EditText
android:id="@+id/et_search"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_weight="1"
android:hint="@string/vip_seach_hint"
android:inputType="number"
android:maxLength="11"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size_low"/>
</LinearLayout>
app:layout_constraintTop_toTopOf="parent"/>
<View
android:layout_width="match_parent"
......
......@@ -246,7 +246,7 @@
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:layout_weight="4"
android:gravity="start"
android:text="@string/cart_amt"
android:textColor="@color/black_baozheng"
......
......@@ -66,16 +66,14 @@
<TextView
android:id="@+id/tv_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="@dimen/button2_width"
android:layout_height="@dimen/button2_height"
android:background="@drawable/shape_red_round_rectangle_more_round"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
android:paddingBottom="@dimen/all_spacing"
android:paddingEnd="@dimen/all_margin_big"
android:paddingStart="@dimen/all_margin_big"
android:paddingTop="@dimen/all_spacing"
android:foreground="?android:attr/actionBarItemBackground"
android:gravity="center"
android:text="@string/all_confirm"
android:textColor="@color/white_caocao" />
android:textColor="@color/white_caocao"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
</LinearLayout>
......
......@@ -14,7 +14,11 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:orientation="horizontal"
android:paddingBottom="@dimen/all_spacing"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:paddingTop="@dimen/all_spacing">
<LinearLayout
android:layout_width="match_parent"
......
......@@ -5,23 +5,24 @@
<variable
name="onClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/>
type="com.xingdata.zzdpos.util.OnClickListener" />
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/up_down_line_white_bottom"
android:orientation="horizontal">
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/up_down_line_white_bottom"
android:orientation="horizontal">
<ImageButton
android:id="@+id/iv_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/transparent"
android:onClick="@{onClickListener}"
android:padding="@dimen/all_padding"
android:src="@mipmap/go_back" />
<TextView
......@@ -30,13 +31,12 @@
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="标题"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size"/>
android:textSize="@dimen/all_sub_title_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
......
......@@ -5,27 +5,27 @@
<variable
name="onClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/>
type="com.xingdata.zzdpos.util.OnClickListener" />
</data>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/singleline"
android:orientation="horizontal">
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/singleline"
android:orientation="horizontal">
<ImageButton
android:id="@+id/iv_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/transparent"
android:gravity="center"
android:onClick="@{onClickListener}"
android:padding="@dimen/all_margin"
android:src="@mipmap/back_white"/>
android:padding="@dimen/all_padding"
android:src="@mipmap/back_white" />
<TextView
android:id="@+id/tv_title"
......@@ -34,8 +34,7 @@
android:layout_centerInParent="true"
android:text="标题"
android:textColor="@color/white"
android:textSize="@dimen/all_sub_title_size"
/>
android:textSize="@dimen/all_sub_title_size" />
</RelativeLayout>
......
......@@ -10,9 +10,10 @@
<ImageButton
android:id="@+id/iv_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@mipmap/go_back" />
android:background="@mipmap/go_back"
android:padding="@dimen/all_padding" />
<TextView
android:id="@+id/tv_title"
......@@ -25,10 +26,11 @@
<ImageButton
android:id="@+id/pop_menu"
android:layout_width="60dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:background="@mipmap/pop_menu" />
android:background="@mipmap/pop_menu"
android:padding="@dimen/all_padding" />
</RelativeLayout>
......
......@@ -36,6 +36,7 @@
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/search_clear"
android:padding="@dimen/all_spacing"
android:src="@mipmap/ic_clear"
android:visibility="@{keywordLength>0?View.VISIBLE:View.GONE}"
app:layout_constraintBottom_toTopOf="parent"
......
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