Commit 21217e8f authored by zhang_z's avatar zhang_z

营销计划修改;

优化开单和收款的流程和结构;
parent fe3f426a
......@@ -18,9 +18,9 @@ public class C {
public static final int MENU_MANAGER_OPER = 1251;
public static final int MENU_MANAGER_GOODS = 1252;
public static final int MENU_MANAGER_BALE = 1253;
public static final int MENU_MANAGER_REPLENISHMENT= 1254;
public static final int MENU_MANAGER_OTHER= 1255;
public static final int MENU_MANAGER_INVENTORY= 1256;
public static final int MENU_MANAGER_REPLENISHMENT = 1254;
public static final int MENU_MANAGER_OTHER = 1255;
public static final int MENU_MANAGER_INVENTORY = 1256;
public static final int MENU_ANNOUNCEMENT = 107;
......@@ -545,6 +545,8 @@ public class C {
public static final int HIDE = 0;
public static final int TEXT = 1;
public static final int VIP = 2;
public static final int SKU = 3;
public static final int GIFT = 4;
}
}
package com.xingdata.zzdpos.ui.marketing.ms;
import android.view.inputmethod.EditorInfo;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.LogUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseSku;
......@@ -11,6 +15,8 @@ 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;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.ManagerFragment;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.ScanFragment;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.SearchFragment;
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;
......@@ -18,12 +24,15 @@ import com.xingdata.zzdpos.ui.marketing.ms.model.User;
import java.util.List;
public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> implements MsContract.View {
public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, ActivityMsBinding> implements MsContract.View<Sku> {
private ManagerFragment mManagerFragment = new ManagerFragment();
private EditorFragment mEditorFragment = new EditorFragment();
private AddFragment mAddFragment = new AddFragment();
private SearchFragment<Sku> mSearchFragment = new SearchFragment<>();
private ScanFragment<Sku> mScanFragment = new ScanFragment<>();
private LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
......@@ -34,7 +43,19 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
@Override
public void initView() {
this.loadRootFragment(R.id.f_ms, mManagerFragment);
mViewBinding.btnBack.setOnClickListener(view -> onBackPressedSupport());
mViewBinding.setTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.btnBack.setOnClickListener(view -> {
getTopFragment().onBackPressedSupport();
onBackPressedSupport();
});
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH) {
KeyboardUtils.hideSoftInput(textView);
mPresenter.clickSearchButton(textView.getText().toString());
}
return false;
});
}
@Override
......@@ -59,6 +80,19 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
start(mEditorFragment);
}
@Override
public void showSearchFragment(int searchType) {
this.showTitleBarByTitleMode(searchType);
this.start(mSearchFragment.setSearchType(searchType));
}
@Override
public void showScanFragment(int searchType) {
this.showTitleBarByTitleMode(searchType);
this.start(mScanFragment.setSearchType(searchType));
}
@Override
public void loadTypes(List<Type> types) {
mAddFragment.loadTypes(types);
......@@ -80,15 +114,26 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
}
@Override
public <Sku extends BaseSku> void loadGroupSkuSssku(Sku sku) {
public void loadSkus(List<Sku> skus, boolean isRefresh) {
mSearchFragment.loadSkus(skus, isRefresh);
}
@Override
public void loadGroupSku(Sku sku) {
mEditorFragment.loadGroupSku(sku);
}
@Override
public <Sku extends BaseSku> void loadTypeGiftSssku(Sku sku) {
public void loadTypeGift(Sku sku) {
mEditorFragment.loadTypeSku(sku);
}
@Override
public void backToEditFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
}
@Override
public void showLoadingDialog() {
mLoadingDialog.show(this);
......@@ -98,4 +143,25 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
public void dismissLoadingDialog() {
mLoadingDialog.dismiss();
}
/**
* 根据titleMode显示TitleBar
*
* @param titleMode 标题模式
*/
public void showTitleBarByTitleMode(int titleMode) {
if (mViewBinding.getTitleMode() == titleMode) return;
mViewBinding.setTitleMode(titleMode);
mViewBinding.etSearch.setText("");
switch (titleMode) {
case C.TITLE_MODE.SKU:
mViewBinding.etSearch.setHint(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);
break;
}
}
}
......@@ -4,7 +4,6 @@ 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.Sssku;
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;
......@@ -14,7 +13,7 @@ import java.util.List;
interface MsContract {
interface View extends BaseView {
interface View<Sku extends BaseSku> extends BaseView {
/**
* 加载营销计划数据
......@@ -40,6 +39,18 @@ interface MsContract {
*/
void showEditorFragment(int msType);
/**
* 显示搜索页面
*/
void showSearchFragment(int searchType);
/**
* 显示扫描页面
*
* @param searchType 搜索类型
*/
void showScanFragment(int searchType);
/**
* 加载营销类型
*
......@@ -68,19 +79,32 @@ interface MsContract {
*/
void loadUsers(List<User> users);
/**
* 加载商品对象
*
* @param skus 商品对象列表
* @param isRefresh 是否刷新
*/
void loadSkus(List<Sku> skus, boolean isRefresh);
/**
* 加载作为主体的商品信息
*
* @param sku 加载编辑信息
*/
<Sku extends BaseSku> void loadGroupSkuSssku(Sku sku);
void loadGroupSku(Sku sku);
/**
* 加载换购的商品
*
* @param sku 包装内的商品
*/
<Sku extends BaseSku> void loadTypeGiftSssku(Sku sku);
void loadTypeGift(Sku sku);
/**
* 返回编辑页面
*/
void backToEditFragment();
/**
* 显示读取对话框
......@@ -93,7 +117,7 @@ interface MsContract {
void dismissLoadingDialog();
}
abstract class Presenter extends BasePresenter<View> {
abstract class Presenter<Sku extends BaseSku> extends BasePresenter<View<Sku>> {
/**
* 管理页面 - 刷新营销计划
......@@ -131,27 +155,39 @@ interface MsContract {
public abstract void initEditor();
/**
* 编辑页面 - 点击GroupSkuView里的搜索按钮
*
* @param barcode 条形码
* 编辑页面 - 点击营销主体商品的搜索框
*/
public abstract void clickGroupSkuSearch();
/**
* 编辑页面 - 点击营销类型商品的搜索框
*/
public abstract void clickGroupSearchButton(String barcode);
public abstract void clickTypeSkuSearch();
/**
* 编辑页面 - 点击TypeGift里的搜索按钮
* 编辑页面 - 点击搜索按钮
*
* @param barcode 条形码
* @param keyword 搜索关键字
*/
public abstract void clickTypeSearchButton(String barcode);
public abstract void clickSearchButton(String keyword);
/**
* 商品列表页面 - 确认选择
* 搜索页面 - 加载更多搜索信息
*/
public abstract void loadMoreSearchResult();
/**
* 搜索页面 - 点击商品
*
* @param sssku 商品
* @param res 使用的地方
* @param sku 商品
* @param searchType 搜索类型
*/
public abstract void selectedSkuInDialog(Sssku sssku, int res);
public abstract void clickSku(Sku sku, int searchType);
/**
* 搜素页面 - 退出
*/
public abstract void exitSearchFragment();
}
}
......@@ -3,9 +3,9 @@ package com.xingdata.zzdpos.ui.marketing.ms;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Sssku;
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;
......@@ -14,13 +14,16 @@ import com.xingdata.zzdpos.ui.marketing.ms.model.User;
import java.util.ArrayList;
import java.util.List;
public class MsPresenter extends MsContract.Presenter {
public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku> {
/**
* 页码
*/
private int mPageNum = 1;
private int mSkuPageNum = 1;
private String mSkuKeyword;
@Override
public void onAttached() {
}
......@@ -91,18 +94,44 @@ public class MsPresenter extends MsContract.Presenter {
}
@Override
public void clickGroupSearchButton(String barcode) {
public void clickGroupSkuSearch() {
mView.showSearchFragment(C.TITLE_MODE.SKU);
}
@Override
public void clickTypeSkuSearch() {
mView.showSearchFragment(C.TITLE_MODE.GIFT);
}
@Override
public void clickSearchButton(String keyword) {
this.mSkuPageNum = 0;
this.mSkuKeyword = keyword;
this.getSearchSku();
}
@Override
public void clickTypeSearchButton(String barcode) {
public void loadMoreSearchResult() {
}
@Override
public void selectedSkuInDialog(Sssku sssku, int res) {
public void clickSku(Sku sku, int searchType) {
switch (searchType) {
case C.TITLE_MODE.SKU:
mView.loadGroupSku(sku);
break;
case C.TITLE_MODE.GIFT:
mView.loadTypeGift(sku);
break;
}
}
@Override
public void exitSearchFragment() {
mView.backToEditFragment();
}
/**
......@@ -112,4 +141,19 @@ public class MsPresenter extends MsContract.Presenter {
mCompositeDisposable.add(ApiFactory.Ms.query(mPageNum).subscribe(msPager -> mView.loadMss(msPager.getList(), mPageNum == 1)));
}
/**
* 搜索商品
*/
private void getSearchSku() {
mView.showLoadingDialog();
mCompositeDisposable.add(
DBFactory.Store.querySku(mSkuPageNum, mSkuKeyword)
.doOnSubscribe(subscription -> mView.dismissLoadingDialog())
.subscribe(ssskus -> {
mView.loadSkus((List<Sku>) ssskus, mSkuPageNum == 0);
})
);
}
}
package com.xingdata.zzdpos.ui.marketing.ms.adapter;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.ItemMsSkuBinding;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.util.ArrayList;
public class SkuAdapter<T extends BaseSku> extends BaseAdapter<T, ItemMsSkuBinding> {
public SkuAdapter() {
super(R.layout.item_ms_sku, new ArrayList<>());
}
@Override
protected void convert(ItemMsSkuBinding mViewBinding, T item) {
mViewBinding.ivPic.setImageURI(item.getSpuImg());
mViewBinding.tvName.setText(item.getSpuName());
mViewBinding.tvAmt.setText(ConvertUtil.fenToYuan(item.getSkuRetailPrice1()));
}
}
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.FragmentMsScanBinding;
import com.xingdata.zzdpos.ui.store.StorePresenter;
public class ScanFragment<Sku extends BaseSku> extends BaseFragment<StorePresenter, FragmentMsScanBinding> {
private int mSearchType;
@Override
public int getLayoutId() {
return R.layout.fragment_ms_scan;
}
@Override
public void initView() {
}
/**
* 设置搜索类型
*
* @param searchType 搜索类型
* @return this
*/
public ScanFragment setSearchType(int searchType) {
this.mSearchType = searchType;
return this;
}
}
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
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.FragmentMsSearchBinding;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.SkuAdapter;
import java.util.List;
public class SearchFragment<Sku extends BaseSku> extends BaseFragment<MsPresenter, FragmentMsSearchBinding> {
private int mSearchType;
private SkuAdapter<Sku> mSkuAdapter;
@Override
public int getLayoutId() {
return R.layout.fragment_ms_search;
}
@Override
public void initView() {
// init sku
mSkuAdapter = new SkuAdapter<>();
mViewBinding.rlSku.setAdapter(mSkuAdapter);
mViewBinding.rlSku.setLayoutManager(new LinearLayoutManager(mContext));
// set sku listener
mSkuAdapter.setOnLoadMoreListener(this::loadMoreSku, mViewBinding.rlSku);
mSkuAdapter.setOnItemClickListener((adapter, view, position) -> {
mPresenter.clickSku(mSkuAdapter.getData().get(position), mSearchType);
this.pop();
});
// set empty
@SuppressLint("InflateParams") View view = getLayoutInflater().inflate(R.layout.view_empty, null);
mSkuAdapter.setEmptyView(view);
mSkuAdapter.isUseEmpty(false);
}
@Override
public void onDestroyView() {
mPresenter.exitSearchFragment();
super.onDestroyView();
}
/**
* 加载更多商品
*/
private void loadMoreSku() {
mPresenter.loadMoreSearchResult();
}
/**
* 加载商品
*
* @param skus 商品
* @param isRefresh 是否刷新
*/
public void loadSkus(List<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);
else mSkuAdapter.loadMoreComplete();
}
/**
* 设置搜索类型
*
* @param searchType 搜索类型
* @return this
*/
public SearchFragment setSearchType(int searchType) {
this.mSearchType = searchType;
return this;
}
}
......@@ -34,7 +34,7 @@ public class GroupCateView extends BaseGroupView<ViewGroupCateBinding> {
mGrpPosition = 0;
mCatePosition = 0;
mViewBinding.nsType3.setVisibility(View.INVISIBLE);
mViewBinding.nsType3.setVisibility(View.GONE);
loadGrp(mClas.get(i));
cateId = mClas.get(i).getSpuCateId();
......@@ -49,7 +49,7 @@ public class GroupCateView extends BaseGroupView<ViewGroupCateBinding> {
mViewBinding.nsType3.setVisibility(View.VISIBLE);
} else {
cateId = mClas.get(mClaPosition).getSpuCateId();
mViewBinding.nsType3.setVisibility(View.INVISIBLE);
mViewBinding.nsType3.setVisibility(View.GONE);
}
break;
......
......@@ -26,10 +26,9 @@ public class GroupSkuView<Sku extends BaseSku> extends BaseGroupView<ViewGroupSk
@Override
public void initView() {
super.initView();
mViewBinding.etSearch.setOnClickListener(view -> {
mPresenter.clickGroupSearchButton(mViewBinding.etSearch.getText().toString());
mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> {
if (b) mPresenter.clickGroupSkuSearch();
});
mViewBinding.etSearch.requestFocus();
}
@SuppressLint("SetTextI18n")
......@@ -38,8 +37,8 @@ public class GroupSkuView<Sku extends BaseSku> extends BaseGroupView<ViewGroupSk
if (mMs.getMsTouchTag2() == null || mMs.getMsTouchTag2() != C.MS_GROUP.SKU) return;
mViewBinding.llProduct.setVisibility(View.VISIBLE);
mViewBinding.etSearch.setText(ConvertUtil.longToString(mMs.getSkuBarCode()));
mViewBinding.tvProductName.setText(getString(R.string.ms_editor_group_sku_name) + mMs.getSkuName());
mViewBinding.tvProductPrice.setText(getString(R.string.ms_editor_group_sku_price) + ConvertUtil.fenToYuan(mMs.getSkuPrice1(), true));
mViewBinding.setName(mMs.getSkuName());
mViewBinding.setPrice(ConvertUtil.fenToYuan(mMs.getSkuPrice1(), true));
}
@Override
......@@ -55,8 +54,8 @@ public class GroupSkuView<Sku extends BaseSku> extends BaseGroupView<ViewGroupSk
this.mSku = sku;
if (sku != null) {
mViewBinding.etSearch.setText(ConvertUtil.longToString(sku.getSpuBarcode()));
mViewBinding.tvProductName.setText(getString(R.string.ms_editor_group_sku_name) + sku.getSpuName());
mViewBinding.tvProductPrice.setText(getString(R.string.ms_editor_group_sku_price) + ConvertUtil.fenToYuan(sku.getSkuRetailPrice1(), true));
mViewBinding.setName(sku.getSpuName());
mViewBinding.setPrice(ConvertUtil.fenToYuan(sku.getSkuRetailPrice1(), true));
mViewBinding.llProduct.setVisibility(View.VISIBLE);
} else {
mViewBinding.llProduct.setVisibility(View.GONE);
......
......@@ -6,7 +6,6 @@ import android.view.View;
import android.widget.TextView;
import com.blankj.utilcode.util.KeyboardUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSendTickerVipBinding;
......@@ -85,7 +84,7 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
@Override
public void onDestroyView() {
if (getActivity() instanceof SettleActivity) {
((SettleActivity) getActivity()).showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
// ((SettleActivity) getActivity()).showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
}
super.onDestroyView();
}
......
......@@ -75,12 +75,6 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
mSettleFragment.setViewBySettleMode(settleMode);
}
@Override
public void showSettleFragment() {
this.popTo(mSettleFragment.getClass(), false);
mViewBinding.tvTitle.setText(R.string.settle_title);
}
@Override
public void showVipFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.VIP);
......@@ -169,6 +163,13 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
mViewBinding.tvTitle.setText(R.string.settle_pay_result_title);
}
@Override
public void backToSettleFragment() {
this.popTo(mSettleFragment.getClass(), false);
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.settle_title);
}
@Override
public void backToMainActivity() {
ActivityUtils.startActivity(this, MainActivity.class);
......
......@@ -28,11 +28,6 @@ interface SettleContract {
*/
void setSettleFragmentBySettleMode(int settleMode);
/**
* 显示结算Fragment
*/
void showSettleFragment();
/**
* 显示会员Fragment
*/
......@@ -131,12 +126,16 @@ interface SettleContract {
*/
void showPayFailFragment(Throwable throwable, Saleorder saleorder);
/**
* 返回结算主页面
*/
void backToSettleFragment();
/**
* 返回主页面
*/
void backToMainActivity();
/**
* 关闭密码页面
*/
......@@ -261,6 +260,11 @@ interface SettleContract {
*/
public abstract void clickRetry();
/**
* 退出会员查询页面
*/
public abstract void exitVipFragment();
}
}
package com.xingdata.zzdpos.ui.settle;
import android.content.Context;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.api.print.ZX_PrintPOS;
import com.xingdata.zzdpos.App;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.db.DBFactory;
......@@ -257,7 +254,12 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void clickRetry() {
mView.showSettleFragment();
mView.backToSettleFragment();
}
@Override
public void exitVipFragment() {
mView.backToSettleFragment();
}
......
......@@ -5,12 +5,10 @@ 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.FragmentSettleVipBinding;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.settle.SettleActivity;
import com.xingdata.zzdpos.ui.settle.SettlePresenter;
import com.xingdata.zzdpos.ui.settle.adapter.VipAdapter;
......@@ -61,9 +59,7 @@ public class VipFragment extends BaseFragment<SettlePresenter, FragmentSettleVip
@Override
public void onDestroyView() {
if (getActivity() instanceof SettleActivity) {
((SettleActivity) getActivity()).showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
}
mPresenter.exitVipFragment();
super.onDestroyView();
}
}
......@@ -52,7 +52,6 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding.tvSettle.setOnClickListener(view -> mPresenter.clickSettle());
mViewBinding.btnBack.setOnClickListener(view -> {
getTopFragment().onBackPressedSupport();
onBackPressedSupport();
});
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
......
......@@ -181,12 +181,12 @@ interface StoreContract {
/**
* 购物车界面 - 关闭
*/
public abstract void onCartDialogCancel();
public abstract void exitCartDialog();
/**
* 搜索界面 - 关闭
*/
public abstract void onSearchFragmentCancel();
public abstract void exitSearchFragment();
/**
* 购物车界面 - 清空购物车
......
......@@ -157,13 +157,13 @@ public class StorePresenter extends StoreContract.Presenter {
}
@Override
public void onCartDialogCancel() {
public void exitCartDialog() {
//发送购物车信息并刷新页面
mView.loadSaledetails(mSaledetails, true);
}
@Override
public void onSearchFragmentCancel() {
public void exitSearchFragment() {
//发送购物车信息并刷新页面
mView.loadSaledetails(mSaledetails, true);
//充值搜索栏
......
package com.xingdata.zzdpos.ui.store.dialog;
import android.content.DialogInterface;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v7.widget.LinearLayoutManager;
......@@ -97,8 +96,9 @@ public class CartDialog extends BaseSheetDialog<StorePresenter, DialogStoreCartB
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
mPresenter.onCartDialogCancel();
public void onDestroyView() {
mPresenter.exitCartDialog();
super.onDestroyView();
}
}
......@@ -46,10 +46,11 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
mSkuAdapter.isUseEmpty(false);
}
@Override
public boolean onBackPressedSupport() {
mPresenter.onSearchFragmentCancel();
return false;
public void onDestroyView() {
mPresenter.exitSearchFragment();
super.onDestroyView();
}
/**
......
......@@ -2,6 +2,15 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="titleMode"
type="int" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
......@@ -24,6 +33,30 @@
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
<LinearLayout
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"
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_height="match_parent"
android:layout_weight="1"
android:inputType="number"
android:labelFor="@+id/et_search"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
......@@ -32,6 +65,7 @@
android:text="@string/ms_title"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size"
android:visibility="@{titleMode>1?View.GONE:View.VISIBLE}"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent" />
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
</android.support.design.widget.CoordinatorLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_sku"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/all_margin" />
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="count"
type="int" />
</data>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:foreground="?android:attr/selectableItemBackground"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:paddingTop="@dimen/all_margin">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_pic"
android:layout_width="80dp"
android:layout_height="80dp"
app:failureImage="@mipmap/icon_goods_default"
app:placeholderImage="@mipmap/icon_goods_default"
app:roundedCornerRadius="@dimen/all_shape_radius" />
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_margin"
android:lines="2"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintLeft_toRightOf="@id/iv_pic"
app:layout_constraintRight_toRightOf="parent" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
app:layout_constraintLeft_toLeftOf="@id/tv_name"
app:layout_constraintTop_toBottomOf="@id/tv_name">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/money_rmb"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/all_caption_size"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_amt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/all_text_size"
android:textStyle="bold" />
</LinearLayout>
<View
android:layout_width="0dp"
android:layout_height="@dimen/all_line_width"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/gray_kongming"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_pic" />
</android.support.constraint.ConstraintLayout>
</layout>
......@@ -5,11 +5,12 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao">
android:background="@color/white_caocao"
android:padding="@dimen/all_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="@dimen/editor_item_height"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@{@string/ms_editor_buy + @string/ms_editor_group_all_hint}"
android:textColor="@color/black"
......
......@@ -6,9 +6,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:orientation="vertical">
android:orientation="vertical"
android:padding="@dimen/all_margin">
<LinearLayout
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
......@@ -16,13 +17,14 @@
<TextView
android:id="@+id/tv_hint"
android:layout_width="wrap_content"
android:layout_height="@dimen/editor_item_height"
android:gravity="center"
android:layout_height="wrap_content"
android:text="@string/ms_editor_buy"
android:textColor="@color/black"
android:textSize="@dimen/big_text_size"
app:layout_constraintBottom_toBottomOf="@id/ns_type_1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintRight_toLeftOf="@id/ns_type_1"
app:layout_constraintTop_toTopOf="@id/ns_type_1" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_type_1"
......@@ -31,26 +33,30 @@
android:layout_marginStart="@dimen/all_spacing"
android:layout_weight="1"
app:layout_constraintLeft_toRightOf="@id/tv_hint"
app:layout_constraintTop_toTopOf="@id/tv_hint" />
app:layout_constraintRight_toLeftOf="@id/ns_type_2"
app:layout_constraintTop_toTopOf="parent" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_type_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_constraintLeft_toLeftOf="@id/ns_type_1"
app:layout_constraintTop_toBottomOf="@id/ns_type_1" />
app:layout_constraintLeft_toRightOf="@id/ns_type_1"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_type_3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="invisible"
app:layout_constraintLeft_toLeftOf="@id/ns_type_2"
app:layout_constraintTop_toBottomOf="@id/ns_type_2" />
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="@id/ns_type_1"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/ns_type_1" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
......@@ -59,9 +65,7 @@
android:gravity="center"
android:text="@string/ms_editor_group_skugrp_hint"
android:textColor="@color/black"
android:textSize="@dimen/big_text_size"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/ns_type_3" />
android:textSize="@dimen/big_text_size" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -2,6 +2,19 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="name"
type="String" />
<variable
name="price"
type="String" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -25,6 +38,7 @@
android:hint="@string/ms_editor_type_gift_search_hint"
android:inputType="text"
android:labelFor="@+id/et_search"
android:saveEnabled="false"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
......@@ -43,7 +57,8 @@
android:id="@+id/ll_product"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:visibility="@{name.length()>0?View.VISIBLE:View.GONE }">
<View
android:layout_width="match_parent"
......@@ -76,14 +91,14 @@
android:id="@+id/tv_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/ms_editor_group_sku_name" />
android:text="@{@string/ms_editor_group_sku_name+name}" />
<TextView
android:id="@+id/tv_product_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:text="@string/ms_editor_group_sku_price" />
android:text="@{@string/ms_editor_group_sku_price+price}" />
</LinearLayout>
</LinearLayout>
......
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