Commit 2db39f30 authored by zhang_z's avatar zhang_z

编辑商品完成;

parent ed17805d
...@@ -10,7 +10,6 @@ import com.xingdata.zzdpos.db.DBFactory; ...@@ -10,7 +10,6 @@ import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Category; import com.xingdata.zzdpos.model.Category;
import com.xingdata.zzdpos.model.Gbound; import com.xingdata.zzdpos.model.Gbound;
import com.xingdata.zzdpos.model.Mscard; import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.NewSssku;
import com.xingdata.zzdpos.model.Pager; import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Trule; import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Ubound; import com.xingdata.zzdpos.model.Ubound;
...@@ -582,8 +581,9 @@ public final class ApiFactory { ...@@ -582,8 +581,9 @@ public final class ApiFactory {
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.retryWhen(new RetryHelper(3)); .retryWhen(new RetryHelper(3));
} }
public static Observable<Pager<com.xingdata.zzdpos.model.Saleorder>> querySaleorderByVipId(Long vipId,int pageNumber ,int pageSize) {
return Api.getInstance().service.querySaleorderByVipId(vipId,pageNumber,pageSize) public static Observable<Pager<com.xingdata.zzdpos.model.Saleorder>> querySaleorderByVipId(Long vipId, int pageNumber, int pageSize) {
return Api.getInstance().service.querySaleorderByVipId(vipId, pageNumber, pageSize)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
...@@ -658,7 +658,7 @@ public final class ApiFactory { ...@@ -658,7 +658,7 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3)); .retryWhen(new RetryHelper(3));
} }
public static Observable<com.xingdata.zzdpos.model.Sssku> update(NewSssku sssku) { public static Observable<com.xingdata.zzdpos.model.Sssku> update(com.xingdata.zzdpos.model.Sssku sssku) {
return Api.getInstance().service.updateSssku(sssku) return Api.getInstance().service.updateSssku(sssku)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
...@@ -667,7 +667,7 @@ public final class ApiFactory { ...@@ -667,7 +667,7 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3)); .retryWhen(new RetryHelper(3));
} }
public static Observable<com.xingdata.zzdpos.model.Sssku> addSssku(NewSssku sssku) { public static Observable<com.xingdata.zzdpos.model.Sssku> addSssku(com.xingdata.zzdpos.model.Sssku sssku) {
return Api.getInstance().service.addSssku(sssku) return Api.getInstance().service.addSssku(sssku)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
...@@ -811,11 +811,12 @@ public final class ApiFactory { ...@@ -811,11 +811,12 @@ public final class ApiFactory {
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
/** /**
* 查询充值记录 * 查询充值记录
*/ */
public static Observable<Pager<VipRechargeOrder>> queryRecharge(long vipId,int pageNum, int pageSize) { public static Observable<Pager<VipRechargeOrder>> queryRecharge(long vipId, int pageNum, int pageSize) {
return Api.getInstance().service.queryRecharge(vipId,pageNum, pageSize) return Api.getInstance().service.queryRecharge(vipId, pageNum, pageSize)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
......
...@@ -11,7 +11,6 @@ import com.xingdata.zzdpos.model.Gbound; ...@@ -11,7 +11,6 @@ import com.xingdata.zzdpos.model.Gbound;
import com.xingdata.zzdpos.model.Level; import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Ms; import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Mscard; import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.NewSssku;
import com.xingdata.zzdpos.model.Notice; import com.xingdata.zzdpos.model.Notice;
import com.xingdata.zzdpos.model.Oper; import com.xingdata.zzdpos.model.Oper;
import com.xingdata.zzdpos.model.Ossku; import com.xingdata.zzdpos.model.Ossku;
...@@ -197,7 +196,7 @@ interface ApiService { ...@@ -197,7 +196,7 @@ interface ApiService {
("pageSize") int pageSize); ("pageSize") int pageSize);
@POST(C.URL.RCTRACE.query) @POST(C.URL.RCTRACE.query)
Observable<HttpMessage<Pager<VipRechargeOrder>>> queryRecharge(@Query("vipId") long vipId,@Query("pageNumber") int pageNum, @Query Observable<HttpMessage<Pager<VipRechargeOrder>>> queryRecharge(@Query("vipId") long vipId, @Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize); ("pageSize") int pageSize);
@POST(C.URL.RCTRACE.query) @POST(C.URL.RCTRACE.query)
...@@ -386,13 +385,13 @@ interface ApiService { ...@@ -386,13 +385,13 @@ interface ApiService {
Observable<HttpMessage<List<Cor>>> queryAllCor(); Observable<HttpMessage<List<Cor>>> queryAllCor();
@POST(C.URL.SSSKU.add) @POST(C.URL.SSSKU.add)
Observable<HttpMessage<Sssku>> addSssku(@Body NewSssku sssku); Observable<HttpMessage<Sssku>> addSssku(@Body Sssku sssku);
@POST(C.URL.SSSKU.detail) @POST(C.URL.SSSKU.detail)
Observable<HttpMessage<Sssku>> detailSssku(@Query("id") Long id); Observable<HttpMessage<Sssku>> detailSssku(@Query("id") Long id);
@POST(C.URL.SSSKU.update) @POST(C.URL.SSSKU.update)
Observable<HttpMessage<Sssku>> updateSssku(@Body NewSssku sssku); Observable<HttpMessage<Sssku>> updateSssku(@Body Sssku sssku);
@POST(C.URL.LEVEL.add) @POST(C.URL.LEVEL.add)
Observable<HttpMessage<Level>> addVipLevel(@Body Level l); Observable<HttpMessage<Level>> addVipLevel(@Body Level l);
......
...@@ -11,7 +11,6 @@ import io.realm.annotations.PrimaryKey; ...@@ -11,7 +11,6 @@ import io.realm.annotations.PrimaryKey;
public class Sskugrp extends RealmObject implements BaseModel, BaseBean { public class Sskugrp extends RealmObject implements BaseModel, BaseBean {
/** /**
* 创建默认分组 * 创建默认分组
* *
...@@ -116,4 +115,9 @@ public class Sskugrp extends RealmObject implements BaseModel, BaseBean { ...@@ -116,4 +115,9 @@ public class Sskugrp extends RealmObject implements BaseModel, BaseBean {
public String getPrimaryKey() { public String getPrimaryKey() {
return "skuGrpId"; return "skuGrpId";
} }
@Override
public String toString() {
return getSkuGrpName();
}
} }
\ No newline at end of file
...@@ -2,8 +2,10 @@ package com.xingdata.zzdpos.ui.manage.sssku; ...@@ -2,8 +2,10 @@ package com.xingdata.zzdpos.ui.manage.sssku;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils; import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.StringUtils; import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.C; import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
...@@ -12,6 +14,8 @@ import com.xingdata.zzdpos.model.Cor; ...@@ -12,6 +14,8 @@ import com.xingdata.zzdpos.model.Cor;
import com.xingdata.zzdpos.model.Sskugrp; import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku; import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog; import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.replenishment.ReplenishmentActivity;
import com.xingdata.zzdpos.ui.manage.sssku.fragment.AddFragment;
import com.xingdata.zzdpos.ui.manage.sssku.fragment.DetailFragment; import com.xingdata.zzdpos.ui.manage.sssku.fragment.DetailFragment;
import com.xingdata.zzdpos.ui.manage.sssku.fragment.EditorFragment; import com.xingdata.zzdpos.ui.manage.sssku.fragment.EditorFragment;
import com.xingdata.zzdpos.ui.manage.sssku.fragment.ManagerFragment; import com.xingdata.zzdpos.ui.manage.sssku.fragment.ManagerFragment;
...@@ -26,6 +30,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -26,6 +30,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
private SearchFragment mSearchFragment = new SearchFragment(); private SearchFragment mSearchFragment = new SearchFragment();
private SkugrpFragment mSkugrpFragment = new SkugrpFragment(); private SkugrpFragment mSkugrpFragment = new SkugrpFragment();
private AddFragment mAddFragment = new AddFragment();
private EditorFragment mEditorFragment = new EditorFragment(); private EditorFragment mEditorFragment = new EditorFragment();
private DetailFragment mDetailFragment = new DetailFragment(); private DetailFragment mDetailFragment = new DetailFragment();
...@@ -52,7 +57,10 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -52,7 +57,10 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
return false; return false;
}); });
mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> { mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> {
mPresenter.searchBarFocusChanged(b); mPresenter.searchBarFocusChanged(b, C.TITLE_MODE.SKU);
});
mViewBinding.btnMenu.setOnClickListener(view -> {
mPresenter.clickSkuMenu();
}); });
} }
...@@ -60,6 +68,11 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -60,6 +68,11 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
public void onBackPressedSupport() { public void onBackPressedSupport() {
} }
@Override
public void showMsg(String msg) {
ToastUtils.showShort(msg);
}
@Override @Override
public void loadSkus(List<Sssku> skus, boolean isRefresh) { public void loadSkus(List<Sssku> skus, boolean isRefresh) {
mManagerFragment.loadSkus(skus, isRefresh); mManagerFragment.loadSkus(skus, isRefresh);
...@@ -99,27 +112,44 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -99,27 +112,44 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
mEditorFragment.loadCors(cors); mEditorFragment.loadCors(cors);
} }
@Override
public void loadPkgSku(Sssku pkgSku) {
mEditorFragment.loadPkgSku(pkgSku);
}
@Override @Override
public void showSearchFragment(int searchType) { public void showSearchFragment(int searchType) {
if (mSearchFragment.isAdded()) return; if (mSearchFragment.isAdded()) return;
mViewBinding.etSearch.requestFocus();
this.showTitleBarByTitleMode(searchType); this.showTitleBarByTitleMode(searchType);
this.start(mSearchFragment.setSearchType(searchType)); this.start(mSearchFragment.setSearchType(searchType));
} }
@Override @Override
public void showEditorFragment(Sssku sku) { public void showAddFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT); this.start(mAddFragment);
mViewBinding.tvTitle.setText(R.string.sssku_update);
this.start(mEditorFragment.setSssku(sku));
} }
@Override @Override
public void showEditorFragment() { public void showEditorFragment(Sssku sku, int editMode) {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT); this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.sssku_add); switch (editMode) {
this.start(mEditorFragment); case C.SKU_EDITOR_MODE.ADD:
mViewBinding.tvTitle.setText(R.string.sssku_add);
this.start(mEditorFragment.setSssku(sku).setEditMode(C.SKU_EDITOR_MODE.ADD));
break;
case C.SKU_EDITOR_MODE.UNKNOWN:
mViewBinding.tvTitle.setText(R.string.sssku_add);
this.start(mEditorFragment.setSssku(sku).setEditMode(C.SKU_EDITOR_MODE.UNKNOWN));
break;
case C.SKU_EDITOR_MODE.UPDATE:
mViewBinding.tvTitle.setText(R.string.sssku_update);
this.start(mEditorFragment.setSssku(sku).setEditMode(C.SKU_EDITOR_MODE.UPDATE));
break;
}
} }
@Override @Override
public void showDetailFragment(Sssku sku) { public void showDetailFragment(Sssku sku) {
this.showTitleBarByTitleMode(C.TITLE_MODE.SKU_DETAIL); this.showTitleBarByTitleMode(C.TITLE_MODE.SKU_DETAIL);
...@@ -134,17 +164,40 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -134,17 +164,40 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
this.start(mSkugrpFragment); this.start(mSkugrpFragment);
} }
@Override
public void showSkuMenuDialog() {
mDetailFragment.showSkuMenuDialog();
}
@Override @Override
public void backToEditFragment() { public void backToEditFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT); this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.sssku_update);
this.pop(); this.pop();
} }
@Override @Override
public void backToManagerFragment() { public void backToManagerFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.SKU); this.showTitleBarByTitleMode(C.TITLE_MODE.SKU);
this.pop();
this.resetSearchBar(); this.resetSearchBar();
this.pop();
}
@Override
public void backToDetailFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.SKU_DETAIL);
mViewBinding.tvTitle.setText(R.string.sssku_detail);
this.pop();
}
@Override
public void addSku(Sssku sssku) {
mManagerFragment.addSku(sssku);
}
@Override
public void updateSku(Sssku sssku) {
mManagerFragment.updateSku(sssku);
} }
@Override @Override
...@@ -157,6 +210,11 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -157,6 +210,11 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
mLoadingDialog.dismiss(); mLoadingDialog.dismiss();
} }
@Override
public void startReplenishmentActivity() {
ActivityUtils.startActivity(this, ReplenishmentActivity.class);
}
/** /**
* 根据titleMode显示TitleBar * 根据titleMode显示TitleBar
* *
......
...@@ -12,6 +12,14 @@ import java.util.List; ...@@ -12,6 +12,14 @@ import java.util.List;
public interface SsskuContract { public interface SsskuContract {
interface View extends BaseView { interface View extends BaseView {
/**
* 显示文字内容
*
* @param msg 要显示的内容
*/
void showMsg(String msg);
/** /**
* 加载商品 * 加载商品
* *
...@@ -61,22 +69,30 @@ public interface SsskuContract { ...@@ -61,22 +69,30 @@ public interface SsskuContract {
*/ */
void loadCors(List<Cor> cors); void loadCors(List<Cor> cors);
/**
* 加载包装内的商品
*
* @param pkgSku 包装内商品
*/
void loadPkgSku(Sssku pkgSku);
/** /**
* 显示搜索页面 * 显示搜索页面
*/ */
void showSearchFragment(int searchType); void showSearchFragment(int searchType);
/** /**
* 显示编辑页面 * 显示添加检查页面
*
* @param sku 要编辑的商品
*/ */
void showEditorFragment(Sssku sku); void showAddFragment();
/** /**
* 显示编辑页面 * 显示编辑页面
*
* @param sku 要编辑的商品
* @param editMode 编辑模式
*/ */
void showEditorFragment(); void showEditorFragment(Sssku sku, int editMode);
/** /**
* 显示详情页面 * 显示详情页面
...@@ -90,6 +106,11 @@ public interface SsskuContract { ...@@ -90,6 +106,11 @@ public interface SsskuContract {
*/ */
void showSkugrpFragment(); void showSkugrpFragment();
/**
* 显示商品菜单对话框
*/
void showSkuMenuDialog();
/** /**
* 返回编辑页面 * 返回编辑页面
*/ */
...@@ -100,6 +121,25 @@ public interface SsskuContract { ...@@ -100,6 +121,25 @@ public interface SsskuContract {
*/ */
void backToManagerFragment(); void backToManagerFragment();
/**
* 返回详情页面
*/
void backToDetailFragment();
/**
* 添加商品
*
* @param sssku 要添加的商品
*/
void addSku(Sssku sssku);
/**
* 更新商品
*
* @param sssku 更新商品
*/
void updateSku(Sssku sssku);
/** /**
* 显示读取对话框 * 显示读取对话框
*/ */
...@@ -115,6 +155,10 @@ public interface SsskuContract { ...@@ -115,6 +155,10 @@ public interface SsskuContract {
*/ */
void dismissAllDialog(); void dismissAllDialog();
/**
* 跳转到补货界面
*/
void startReplenishmentActivity();
} }
abstract class Presenter extends BasePresenter<View> { abstract class Presenter extends BasePresenter<View> {
...@@ -188,6 +232,20 @@ public interface SsskuContract { ...@@ -188,6 +232,20 @@ public interface SsskuContract {
*/ */
public abstract void clickEditSku(Sssku sssku); public abstract void clickEditSku(Sssku sssku);
/**
* 详情页面 - 编辑商品价格
*
* @param sssku 要编辑的商品
*/
public abstract void clickEditPriceSku(Sssku sssku);
/**
* 详情页面 - 编辑商品会员信息
*
* @param sssku 要编辑的商品
*/
public abstract void clickEditVipSku(Sssku sssku);
/** /**
* 分组页面 - 添加分组 * 分组页面 - 添加分组
* *
...@@ -209,11 +267,25 @@ public interface SsskuContract { ...@@ -209,11 +267,25 @@ public interface SsskuContract {
*/ */
public abstract void clickEditSkugrp(Sskugrp sskugrp); public abstract void clickEditSkugrp(Sskugrp sskugrp);
/**
* 编辑页面 - 点击提交按钮
*
* @param sssku 商品
* @param editorMode 编辑模式
*/
public abstract void clickConfirm(Sssku sssku, int editorMode);
/** /**
* 主页面 - 搜索框焦点改变 * 主页面 - 搜索框焦点改变
* *
* @param b 获取焦点 * @param b 获取焦点
* @param searchMode 搜索模式
*/
public abstract void searchBarFocusChanged(boolean b, int searchMode);
/**
* 主页面 - 点击菜单按钮
*/ */
public abstract void searchBarFocusChanged(boolean b); public abstract void clickSkuMenu();
} }
} }
...@@ -55,7 +55,7 @@ public class SsskuPresenter extends SsskuContract.Presenter { ...@@ -55,7 +55,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
@Override @Override
public void clickAddSku() { public void clickAddSku() {
mView.showEditorFragment(); mView.showAddFragment();
} }
@Override @Override
...@@ -65,7 +65,7 @@ public class SsskuPresenter extends SsskuContract.Presenter { ...@@ -65,7 +65,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
@Override @Override
public void clickReplenish() { public void clickReplenish() {
//TODO 跳转到补货界面 mView.startReplenishmentActivity();
} }
@Override @Override
...@@ -98,13 +98,24 @@ public class SsskuPresenter extends SsskuContract.Presenter { ...@@ -98,13 +98,24 @@ public class SsskuPresenter extends SsskuContract.Presenter {
); );
break; break;
case C.TITLE_MODE.PKG: case C.TITLE_MODE.PKG:
mView.loadPkgSku(sssku);
break; break;
} }
} }
@Override @Override
public void clickEditSku(Sssku sssku) { public void clickEditSku(Sssku sssku) {
mView.showEditorFragment(sssku); mView.showEditorFragment(sssku, C.SKU_EDITOR_MODE.UPDATE);
}
@Override
public void clickEditPriceSku(Sssku sssku) {
//TODO
}
@Override
public void clickEditVipSku(Sssku sssku) {
//TODO
} }
@Override @Override
...@@ -154,8 +165,54 @@ public class SsskuPresenter extends SsskuContract.Presenter { ...@@ -154,8 +165,54 @@ public class SsskuPresenter extends SsskuContract.Presenter {
} }
@Override @Override
public void searchBarFocusChanged(boolean b) { public void clickConfirm(Sssku sssku, int editorMode) {
if (b) mView.showSearchFragment(C.TITLE_MODE.SKU); switch (editorMode) {
case C.SKU_EDITOR_MODE.ADD:
ApiFactory.Sssku.addSssku(sssku).subscribe(
sssku1 -> {
mView.showMsg("添加成功");
mView.backToEditFragment();
mView.backToManagerFragment();
if (sssku1.getSkuGrpId().longValue() == mSkuGrpId) {
mView.addSku(sssku1);
}
},
throwable -> mView.showMsg(throwable.getMessage()));
break;
case C.SKU_EDITOR_MODE.UPDATE:
ApiFactory.Sssku.update(sssku).subscribe(
sssku1 -> {
mView.showMsg("修改成功");
mView.backToEditFragment();
mView.backToManagerFragment();
if (sssku1.getSkuGrpId().longValue() == mSkuGrpId) {
mView.updateSku(sssku1);
}
}, throwable -> mView.showMsg(throwable.getMessage()));
break;
case C.SKU_EDITOR_MODE.UNKNOWN:
ApiFactory.Sssku.addSssku(sssku).subscribe(
sssku1 -> {
mView.showMsg("添加成功");
mView.backToEditFragment();
mView.backToManagerFragment();
if (sssku1.getSkuGrpId().longValue() == mSkuGrpId) {
mView.addSku(sssku1);
}
}, throwable -> mView.showMsg(throwable.getMessage()));
break;
}
}
@Override
public void searchBarFocusChanged(boolean b, int searchMode) {
if (b) mView.showSearchFragment(searchMode);
}
@Override
public void clickSkuMenu() {
mView.showSkuMenuDialog();
} }
/** /**
......
package com.xingdata.zzdpos.ui.manage.sssku.dialog;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogSsskuMenuBinding;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter;
public class SsskuMenuDialog extends BaseSheetDialog<SsskuPresenter, DialogSsskuMenuBinding> {
private Sssku mSssku;
@Override
protected boolean isTransparentBackground() {
return true;
}
public SsskuMenuDialog setSssku(Sssku sssku) {
this.mSssku = sssku;
return this;
}
@Override
public int getLayoutId() {
return R.layout.dialog_sssku_menu;
}
@Override
public void initView() {
mViewBinding.tvCancel.setOnClickListener(view -> {
this.dismiss();
});
mViewBinding.tvUpdate.setOnClickListener(view -> {
this.dismiss();
mPresenter.clickEditSku(mSssku);
});
mViewBinding.tvUpdatePrice.setOnClickListener(view -> {
this.dismiss();
mPresenter.clickEditPriceSku(mSssku);
});
mViewBinding.tvUpdateVip.setOnClickListener(view -> {
this.dismiss();
mPresenter.clickEditVipSku(mSssku);
});
}
}
package com.xingdata.zzdpos.ui.manage.sssku.fragment;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSsskuAddBinding;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter;
public class AddFragment extends BaseFragment<SsskuPresenter, FragmentSsskuAddBinding> {
@Override
public int getLayoutId() {
return R.layout.fragment_sssku_add;
}
@Override
public void initView() {
}
}
...@@ -9,6 +9,7 @@ import com.xingdata.zzdpos.model.Sskugrp; ...@@ -9,6 +9,7 @@ import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku; import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity; import com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter; import com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter;
import com.xingdata.zzdpos.ui.manage.sssku.dialog.SsskuMenuDialog;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -42,9 +43,6 @@ public class DetailFragment extends BaseFragment<SsskuPresenter, FragmentSsskuDe ...@@ -42,9 +43,6 @@ public class DetailFragment extends BaseFragment<SsskuPresenter, FragmentSsskuDe
break; break;
} }
} }
if (mSssku.getSkuFlag() == 1) {
}
} }
/** /**
...@@ -66,6 +64,13 @@ public class DetailFragment extends BaseFragment<SsskuPresenter, FragmentSsskuDe ...@@ -66,6 +64,13 @@ public class DetailFragment extends BaseFragment<SsskuPresenter, FragmentSsskuDe
this.mCors = cors; this.mCors = cors;
} }
/**
* 显示菜单
*/
public void showSkuMenuDialog() {
new SsskuMenuDialog().setSssku(mSssku).show((SsskuActivity) getActivity());
}
/** /**
* 设置商品 * 设置商品
* *
......
...@@ -129,6 +129,31 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM ...@@ -129,6 +129,31 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
mViewBinding.tvTotalCount.setText(String.valueOf(count)); mViewBinding.tvTotalCount.setText(String.valueOf(count));
} }
/**
* 添加商品
*
* @param sssku 要添加的商品
*/
public void addSku(Sssku sssku) {
mSkuAdapter.setEnableLoadMore(false);
mViewBinding.rlSku.scrollToPosition(0);
mSkuAdapter.addData(0, sssku);
}
/**
* 更新商品
*
* @param sssku 要更新的商品
*/
public void updateSku(Sssku sssku) {
for (int i = 0; i < mSkuAdapter.getData().size(); i++) {
if (mSkuAdapter.getData().get(i).getSkuId().longValue() == sssku.getSkuId().longValue()) {
mSkuAdapter.setData(i, sssku);
return;
}
}
}
/** /**
* 刷新商品 * 刷新商品
*/ */
......
...@@ -35,7 +35,14 @@ public class SearchFragment extends BaseFragment<SsskuPresenter, FragmentSsskuSe ...@@ -35,7 +35,14 @@ public class SearchFragment extends BaseFragment<SsskuPresenter, FragmentSsskuSe
// set sku listener // set sku listener
mSkuAdapter.setOnLoadMoreListener(this::loadMoreSku, mViewBinding.rlSku); mSkuAdapter.setOnLoadMoreListener(this::loadMoreSku, mViewBinding.rlSku);
mSkuAdapter.setOnItemClickListener((adapter, view, position) -> { mSkuAdapter.setOnItemClickListener((adapter, view, position) -> {
this.pop(); switch (mSearchType) {
case C.TITLE_MODE.SKU:
((SsskuActivity) getActivity()).backToManagerFragment();
break;
case C.TITLE_MODE.PKG:
((SsskuActivity) getActivity()).backToEditFragment();
break;
}
mPresenter.clickSku(mSkuAdapter.getData().get(position), mSearchType); mPresenter.clickSku(mSkuAdapter.getData().get(position), mSearchType);
}); });
......
...@@ -52,7 +52,6 @@ ...@@ -52,7 +52,6 @@
android:textColor="@color/black_likui" android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai" android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" /> android:textSize="@dimen/all_text_size" />
</LinearLayout> </LinearLayout>
<TextView <TextView
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
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">
...@@ -52,7 +51,7 @@ ...@@ -52,7 +51,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:inputType="number" android:inputType="text"
android:labelFor="@+id/et_search" android:labelFor="@+id/et_search"
android:textColor="@color/black_likui" android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai" android:textColorHint="@color/gray_huanggai"
...@@ -72,6 +71,20 @@ ...@@ -72,6 +71,20 @@
app:layout_constraintLeft_toRightOf="parent" app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent" /> app:layout_constraintRight_toLeftOf="parent" />
<ImageButton
android:id="@+id/btn_menu"
android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:src="@mipmap/click_down"
android:visibility="@{titleMode==6?0:8}"
app:layout_constraintRight_toRightOf="parent" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width" android:layout_height="@dimen/all_line_width"
......
<?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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/all_margin"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_white_r1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_update"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:text="@string/sku_update"
android:textColor="@color/blue_mawu"
android:textSize="@dimen/all_text_size" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
<TextView
android:id="@+id/tv_update_price"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:text="@string/sku_update_price"
android:textColor="@color/blue_mawu"
android:textSize="@dimen/all_text_size" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
<TextView
android:id="@+id/tv_update_vip"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:text="@string/sku_update_vip"
android:textColor="@color/blue_mawu"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<TextView
android:id="@+id/tv_cancel"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:layout_marginTop="@dimen/all_margin"
android:background="@drawable/shape_white_r1"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:padding="@dimen/all_spacing"
android:text="@string/all_cancel"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size" />
</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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
</LinearLayout>
</layout>
\ No newline at end of file
...@@ -397,6 +397,22 @@ ...@@ -397,6 +397,22 @@
android:layout_height="@dimen/all_line_width" android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" /> android:background="@color/gray_huanggai" />
<TextView
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_subtitle_pack"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
...@@ -420,7 +436,7 @@ ...@@ -420,7 +436,7 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:text='@{sku.spuUnitName+" "+sku.spuDownNum}' /> android:text='@{ "1"+sku.spuUnitName+" = "+sku.spuDownNum + @string/sssku_pack_default_unit}' />
<TextView <TextView
android:id="@+id/tv_product_name" android:id="@+id/tv_product_name"
......
...@@ -687,7 +687,10 @@ ...@@ -687,7 +687,10 @@
<string name="sku_size">规格/</string> <string name="sku_size">规格/</string>
<string name="skugrp_add_hint">请输入分组名称</string> <string name="skugrp_add_hint">请输入分组名称</string>
<string name="sku_subtitle_info">基本信息</string> <string name="sku_subtitle_info">基本信息</string>
<string name="sku_barcode">条码</string>
<string name="sku_name">名称</string>
<string name="sku_skugrp">分组</string> <string name="sku_skugrp">分组</string>
<string name="sku_type">类别</string>
<string name="sku_unit">单位</string> <string name="sku_unit">单位</string>
<string name="sku_price1">售价</string> <string name="sku_price1">售价</string>
<string name="sku_price2">促销价</string> <string name="sku_price2">促销价</string>
...@@ -696,6 +699,10 @@ ...@@ -696,6 +699,10 @@
<string name="sku_point1">消费每满</string> <string name="sku_point1">消费每满</string>
<string name="sku_point2">元等于1积分</string> <string name="sku_point2">元等于1积分</string>
<string name="sku_subtitle_pack">包装关系</string>
<string name="sku_pack">能否拆解</string>
<string name="sku_subtitle_supplier">供货方</string> <string name="sku_subtitle_supplier">供货方</string>
<string name="sku_supplier">供货商方</string> <string name="sku_supplier">供货商方</string>
<string name="sku_cost_on">按此包装进货</string> <string name="sku_cost_on">按此包装进货</string>
...@@ -704,5 +711,9 @@ ...@@ -704,5 +711,9 @@
<string name="sku_stock_upper_limit">库存上限</string> <string name="sku_stock_upper_limit">库存上限</string>
<string name="sku_min_oder">最小订货</string> <string name="sku_min_oder">最小订货</string>
<string name="sku_update">编辑商品</string>
<string name="sku_update_price">调整价格</string>
<string name="sku_update_vip">调整会员</string>
</resources> </resources>
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
<item name="android:textColor">@color/black</item> <item name="android:textColor">@color/black</item>
<item name="android:textSize">@dimen/detail_textview_size</item> <item name="android:textSize">@dimen/detail_textview_size</item>
</style> </style>
<style name="default_blacktext_margin_smallstyle"> <style name="default_blacktext_margin_smallstyle">
<item name="android:layout_width">wrap_content</item> <item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">match_parent</item> <item name="android:layout_height">match_parent</item>
...@@ -396,6 +397,7 @@ ...@@ -396,6 +397,7 @@
</style> </style>
<style name="searchBarEditor"> <style name="searchBarEditor">
<item name="android:drawableStart">@mipmap/ic_search</item>
<item name="android:drawablePadding">@dimen/all_spacing</item> <item name="android:drawablePadding">@dimen/all_spacing</item>
<item name="android:maxLines">1</item> <item name="android:maxLines">1</item>
<item name="android:maxLength">20</item> <item name="android:maxLength">20</item>
......
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