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());
}
/** /**
* 设置商品 * 设置商品
* *
......
package com.xingdata.zzdpos.ui.manage.sssku.fragment; package com.xingdata.zzdpos.ui.manage.sssku.fragment;
import android.annotation.SuppressLint;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSsskuEditorBinding; import com.xingdata.zzdpos.databinding.FragmentSsskuEditorBinding;
import com.xingdata.zzdpos.model.Category;
import com.xingdata.zzdpos.model.Cor; 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.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.util.ConvertUtil;
import com.xingdata.zzdpos.util.InputFilters;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -16,29 +28,316 @@ import java.util.List; ...@@ -16,29 +28,316 @@ import java.util.List;
public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEditorBinding> { public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEditorBinding> {
private Sssku mSssku; private Sssku mSssku;
private Sssku mPackSssku;
private int mEditorMode;
private List<Sskugrp> mSskugrps; private List<Sskugrp> mSskugrps;
private List<Cor> mCors; private List<Cor> mCors;
private List<Category> mClas, mGrps, mCates;
private String[] idSet;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.fragment_sssku_editor; return R.layout.fragment_sssku_editor;
} }
private AdapterView.OnItemSelectedListener mOnItemSelectedListener;
private View.OnFocusChangeListener mOnFocusChangeListener;
public EditorFragment() {
mOnItemSelectedListener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
switch (adapterView.getId()) {
case R.id.ns_type_1:
loadGrp(mClas.get(i));
break;
case R.id.ns_type_2:
loadCate(mGrps.get(i));
break;
case R.id.ns_type_3:
loadUnit(mCates.get(i));
break;
case R.id.ns_unit:
mSssku.setSpuUnitName(idSet[i].trim());
break;
case R.id.ns_skugrp:
mSssku.setSkuGrpId(mSskugrps.get(i).getSkuGrpId());
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
};
mOnFocusChangeListener = (view, b) -> {
if (view instanceof EditText) {
EditText editText = (EditText) view;
if (b && editText.getText().toString().equals("0.0")) {
editText.setText("");
} else if (!b && editText.getText().length() == 0) {
editText.setText("0.0");
}
}
};
}
@Override @Override
public void initView() { public void initView() {
this.initInfoView();
this.initPriceView();
this.initVipView();
this.initPackView();
this.initSupplierView();
this.setInfoViewBySssku();
this.setPriceViewBySssku();
this.setVipViewBySssku();
this.setPackViewBySssku();
this.setSupplierViewBySssku();
this.setInfoViewByEditMode();
mViewBinding.btnConfirm.setOnClickListener(view -> {
this.processSssku();
mPresenter.clickConfirm(mSssku, mEditorMode);
});
}
/**
* 初始化基本信息
*/
private void initInfoView() {
mViewBinding.nsType1.setOnItemSelectedListener(mOnItemSelectedListener);
mViewBinding.nsType2.setOnItemSelectedListener(mOnItemSelectedListener);
mViewBinding.nsType3.setOnItemSelectedListener(mOnItemSelectedListener);
mViewBinding.nsUnit.setOnItemSelectedListener(mOnItemSelectedListener);
mViewBinding.nsSkugrp.setOnItemSelectedListener(mOnItemSelectedListener);
int margin = getResources().getDimensionPixelOffset(R.dimen.all_margin);
mViewBinding.nsType1.setPadding(0, 0, margin, 0);
mViewBinding.nsType2.setPadding(0, 0, margin, 0);
mViewBinding.nsType3.setPadding(0, 0, margin, 0);
mViewBinding.nsUnit.setPadding(0, 0, margin, 0);
mViewBinding.nsSkugrp.setPadding(0, 0, margin, 0);
}
/**
* 初始化价格
*/
private void initPriceView() {
mViewBinding.etPrice1.setFilters(InputFilters.getMoneyFilter(6));
mViewBinding.etPrice2.setFilters(InputFilters.getMoneyFilter(6));
mViewBinding.etPrice1.setOnFocusChangeListener(mOnFocusChangeListener);
mViewBinding.etPrice2.setOnFocusChangeListener(mOnFocusChangeListener);
}
/**
* 初始化会员
*/
private void initVipView() {
mViewBinding.etPoint.setFilters(InputFilters.getMoneyFilter(6));
mViewBinding.etPoint.setOnFocusChangeListener(mOnFocusChangeListener);
}
/**
* 初始化包装
*/
private void initPackView() {
mViewBinding.rbPackOn.setOnCheckedChangeListener((compoundButton, b) -> mViewBinding.setIsSelected(b));
mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> mPresenter.searchBarFocusChanged(b, C.TITLE_MODE.PKG));
}
/**
* 初始化供应商
*/
private void initSupplierView() {
mViewBinding.etCost.setFilters(InputFilters.getMoneyFilter(6));
mViewBinding.etCost.setOnFocusChangeListener(mOnFocusChangeListener);
if (mCors != null && mCors.size() > 0) mViewBinding.nsSupplier.attachDataSource(mCors);
mViewBinding.nsSupplier.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
mSssku.setChannelMapId(mCors.get(i).getChannelMapId());
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
mViewBinding.etStockUpperLimit.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (ConvertUtil.stringToLong(mViewBinding.etStockUpperLimit.getText().toString()) <
ConvertUtil.stringToLong(mViewBinding.etStockLowLimit.getText().toString())) {
mViewBinding.etStockLowLimit.setText(mViewBinding.etStockUpperLimit.getText());
}
}
});
mViewBinding.etStockLowLimit.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (ConvertUtil.stringToLong(mViewBinding.etStockLowLimit.getText().toString()) >
ConvertUtil.stringToLong(mViewBinding.etStockUpperLimit.getText().toString())) {
mViewBinding.etStockUpperLimit.setText(mViewBinding.etStockLowLimit.getText());
}
}
});
}
/**
* 根据商品设置基本信息页面
*/
@SuppressLint("SetTextI18n")
private void setInfoViewBySssku() {
if (mEditorMode == C.SKU_EDITOR_MODE.UNKNOWN && mClas != null) {
loadCla();
} else {
mViewBinding.tvType.setText(mSssku.getSpuClaName() + " / " + mSssku.getSpuGrpName() + " / " + mSssku.getSpuCateName());
mViewBinding.tvUnit.setText(mSssku.getSpuUnitName());
}
mViewBinding.nsSkugrp.attachDataSource(mSskugrps);
for (int i = 0; i < mSskugrps.size(); i++) {
if (mSskugrps.get(i).getSkuGrpId().longValue() == mSssku.getSkuGrpId()) {
mViewBinding.nsType1.setSelectedIndex(i);
}
}
mViewBinding.etBarcode.setText(ConvertUtil.longToString(mSssku.getSpuBarcode()));
mViewBinding.etName.setText(mSssku.getSpuName());
mViewBinding.ivPic.setImageURI(mSssku.getSpuImg());
}
/**
* 根据编辑模式设置基本信息页面
*/
private void setInfoViewByEditMode() {
switch (mEditorMode) {
case C.SKU_EDITOR_MODE.UNKNOWN:
mViewBinding.nsType1.setVisibility(View.VISIBLE);
mViewBinding.nsType2.setVisibility(View.VISIBLE);
mViewBinding.nsType3.setVisibility(View.VISIBLE);
mViewBinding.nsUnit.setVisibility(View.VISIBLE);
mViewBinding.tvType.setVisibility(View.GONE);
mViewBinding.tvUnit.setVisibility(View.GONE);
this.loadCla();
break;
default:
mViewBinding.nsType1.setVisibility(View.INVISIBLE);
mViewBinding.nsType2.setVisibility(View.INVISIBLE);
mViewBinding.nsType3.setVisibility(View.GONE);
mViewBinding.nsUnit.setVisibility(View.GONE);
mViewBinding.tvType.setVisibility(View.VISIBLE);
mViewBinding.tvUnit.setVisibility(View.VISIBLE);
break;
}
} }
/**
* 根据商品设置价格页面
*/
private void setPriceViewBySssku() {
mViewBinding.etPrice1.setText(ConvertUtil.fenToYuan(mSssku.getSkuRetailPrice1()));
mViewBinding.etPrice2.setText(ConvertUtil.fenToYuan(mSssku.getSkuRetailPrice2()));
}
/**
* 根据商品设置价格页面
*/
private void setVipViewBySssku() {
mViewBinding.rgDis.check(mSssku.getSkuOffFlag() == null || mSssku.getSkuOffFlag() == 1 ? R.id.rb_dis_on : R.id.rb_dis_off);
if (mSssku.getSkuBoundAmt() == null) mSssku.setSkuBoundAmt(100L);
mViewBinding.etPoint.setText(ConvertUtil.fenToYuan(mSssku.getSkuBoundAmt()));
}
/**
* 根据商品设置包装信息
*/
private void setPackViewBySssku() {
if (mSssku.getSkuFlag() == null) {
mViewBinding.rgPack.check(R.id.rb_pack_off);
mViewBinding.setIsSelected(false);
} else if (mSssku.getSkuFlag() == 1) {
mViewBinding.rbPackOn.setChecked(true);
mViewBinding.setIsSelected(true);
} else {
mViewBinding.rbPackOff.setChecked(true);
mViewBinding.setIsSelected(false);
}
mViewBinding.tvUnit1.setText(getString(R.string.sssku_pack_unit, mSssku.getSpuUnitName() != null ? mSssku.getSpuUnitName() : getString(R.string.sssku_pack_default_unit)));
String mPackName = mPackSssku != null ? mPackSssku.getSpuName() : mSssku.getSpuDownBarcodeName() != null ? mSssku.getSpuDownBarcodeName() : "";
Long mPackPrice = mPackSssku != null ? mPackSssku.getSkuRetailPrice1() : mSssku.getSpuDownBarcodePrice1() != null ? mSssku.getSpuDownBarcodePrice1() : 0L;
String mPacUnit = mPackSssku != null ? mPackSssku.getSpuUnitName() : mSssku.getSpuDownBarUnitName() != null ? mSssku.getSpuDownBarUnitName() : getString(R.string.sssku_pack_default_unit);
mViewBinding.setPkgName(mPackName);
mViewBinding.setPkgPrice(mPackPrice);
mViewBinding.tvUnit2.setText(mPacUnit);
mViewBinding.etPackCount.setText(mSssku.getSpuDownNum() != null ? ConvertUtil.longToString(mSssku.getSpuDownNum()) : "");
}
/**
* 根据商品设置供应商信息
*/
private void setSupplierViewBySssku() {
mViewBinding.rbCostOff.setChecked(mSssku.getSkuSellFlag() == null || mSssku.getSkuSellFlag() == 0);
mViewBinding.etCost.setText(ConvertUtil.fenToYuan(mSssku.getSkuTradePrice()));
mViewBinding.etStockLowLimit.setText(ConvertUtil.longToString(mSssku.getSkuAltLow()));
mViewBinding.etStockUpperLimit.setText(ConvertUtil.longToString(mSssku.getSkuAltHigh()));
mViewBinding.etMinOder.setText(ConvertUtil.longToString(mSssku.getSkuSellUnit() == null ? 100 : mSssku.getSkuSellUnit()));
for (int i = 0; i < mCors.size(); i++) {
if (mSssku.getChannelMapId() == null || mCors.get(i).getChannelMapId().longValue() == mSssku.getChannelMapId()) {
mViewBinding.nsSupplier.setSelectedIndex(i);
break;
}
}
}
/** /**
* 加载商品分组 * 加载商品分组
* *
* @param sskugrps 分组信息 * @param sskugrps 分组信息
*/ */
public void loadSkugrps(List<Sskugrp> sskugrps) { public void loadSkugrps(List<Sskugrp> sskugrps) {
mSskugrps = new ArrayList<>(); Sskugrp sskugrp = new Sskugrp();
mSskugrps.addAll(sskugrps); sskugrp.setSkuGrpId(0L);
sskugrp.setSkuGrpName("无");
sskugrp.setSelected(true);
List<Sskugrp> _sskugrps = new ArrayList<>();
_sskugrps.addAll(sskugrps);
_sskugrps.add(0, sskugrp);
mSskugrps = _sskugrps;
} }
/** /**
...@@ -50,6 +349,22 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd ...@@ -50,6 +349,22 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd
this.mCors = cors; this.mCors = cors;
} }
/**
* 加载包装内商品
*
* @param pkgSku 包装内商品
*/
public void loadPkgSku(Sssku pkgSku) {
mPackSssku = pkgSku;
String mPackName = mPackSssku != null ? mPackSssku.getSpuName() : mSssku.getSpuDownBarcodeName() != null ? mSssku.getSpuDownBarcodeName() : "";
Long mPackPrice = mPackSssku != null ? mPackSssku.getSkuRetailPrice1() : mSssku.getSpuDownBarcodePrice1() != null ? mSssku.getSpuDownBarcodePrice1() : 0L;
String mPacUnit = mPackSssku != null ? mPackSssku.getSpuUnitName() : mSssku.getSpuDownBarUnitName() != null ? mSssku.getSpuDownBarUnitName() : getString(R.string.sssku_pack_default_unit);
mViewBinding.setPkgName(mPackName);
mViewBinding.setPkgPrice(mPackPrice);
mViewBinding.tvUnit2.setText(mPacUnit);
}
/** /**
* 设置商品 * 设置商品
* *
...@@ -60,9 +375,155 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd ...@@ -60,9 +375,155 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd
return this; return this;
} }
/**
* 设置编辑模式
*
* @param editorMode 编辑模式
*/
public EditorFragment setEditMode(int editorMode) {
this.mEditorMode = editorMode;
return this;
}
/**
* 加载大类
*/
private void loadCla() {
ApiFactory.Shop.queryAll().subscribe(
categories -> {
int mClaPosition = 0;
mClas = categories;
List<String> strClas = new ArrayList<>();
for (int i = 0; i < categories.size(); i++) {
if (mSssku.getSpuCateId() != null && mSssku.getSpuCateId() / 10000 == categories.get(i).getSpuCateId() / 10000)
mClaPosition = i;
strClas.add(categories.get(i).getSpuClaName());
}
mViewBinding.nsType1.attachDataSource(strClas);
mViewBinding.nsType1.setSelectedIndex(mClaPosition);
loadGrp(mClas.get(mClaPosition));
},
throwable -> {
});
}
/**
* 设置大类信息,加载中类
*
* @param cateCla 大类信息
*/
private void loadGrp(Category cateCla) {
mSssku.setSpuClaName(cateCla.getSpuClaName());
ApiFactory.Shop.queryAll(cateCla).subscribe(
categories -> {
int mGrpPosition = 0;
mGrps = categories;
List<String> strGrps = new ArrayList<>();
for (int j = 0; j < categories.size(); j++) {
if (mSssku.getSpuCateId() != null && mSssku.getSpuCateId() / 100 == categories.get(j).getSpuCateId() / 100)
mGrpPosition = j;
strGrps.add(categories.get(j).getSpuGrpName());
}
mViewBinding.nsType2.attachDataSource(strGrps);
mViewBinding.nsType2.setSelectedIndex(mGrpPosition);
loadCate(mGrps.get(mGrpPosition));
},
throwable -> {
});
}
/**
* 设置中类信息,加载小类
*
* @param cateGrp 中类信息
*/
private void loadCate(Category cateGrp) {
mSssku.setSpuGrpName(cateGrp.getSpuGrpName());
ApiFactory.Shop.queryAll(cateGrp).subscribe(
categories -> {
int mCatePosition = 0;
mCates = categories;
List<String> strCates = new ArrayList<>();
for (int j = 0; j < categories.size(); j++) {
if (mSssku.getSpuCateId() != null && mSssku.getSpuCateId().longValue() == categories.get(j).getSpuCateId().longValue())
mCatePosition = j;
strCates.add(categories.get(j).getSpuCateName());
}
mViewBinding.nsType3.attachDataSource(strCates);
mViewBinding.nsType3.setSelectedIndex(mCatePosition);
loadUnit(mCates.get(mCatePosition));
},
throwable -> {
});
}
/**
* 设置小类信息,加载单位
*
* @param cateCate 小类信息
*/
private void loadUnit(Category cateCate) {
mSssku.setSpuCateId(cateCate.getSpuCateId());
mSssku.setSpuCateName(cateCate.getSpuCateName());
int mUnitPosition = 0;
List<String> _nameList = new ArrayList<>();
String[] _units = cateCate.getSpuUnitNameSet().split(",");
for (int i = 0; i < _units.length; i++) {
if (mSssku.getSpuUnitName() != null && _units[i].equals(mSssku.getSpuUnitName()))
mUnitPosition = i;
_nameList.add(_units[i].trim());
}
mViewBinding.nsUnit.attachDataSource(_nameList);
mViewBinding.nsUnit.setSelectedIndex(mUnitPosition);
idSet = cateCate.getSpuUnitNameSet().split(",");
mSssku.setSpuUnitName(idSet[mUnitPosition].trim());
}
/**
* 处理商品
*/
private void processSssku() {
mSssku.setSpuBarcode(ConvertUtil.stringToLong(mViewBinding.etBarcode.getText().toString()));
mSssku.setSpuName(mViewBinding.etName.getText().toString());
mSssku.setSkuTradePrice(ConvertUtil.yuanToFen(mViewBinding.etCost.getText().toString()));
mSssku.setSkuRetailPrice1(ConvertUtil.yuanToFen(mViewBinding.etPrice1.getText().toString()));
mSssku.setSkuRetailPrice2(ConvertUtil.yuanToFen(mViewBinding.etPrice2.getText().toString()));
mSssku.setSkuOffFlag((byte) (mViewBinding.rbDisOff.isChecked() ? 0 : 1));
mSssku.setSkuBoundAmt(ConvertUtil.yuanToFen(mViewBinding.etPoint.getText().toString()));
mSssku.setSkuFlag((byte) (mViewBinding.rbPackOff.isChecked() ? 0 : 1));
if (mPackSssku != null) {
mSssku.setSpuDownSku(mPackSssku.getSkuId());
mSssku.setSpuDownBarcode(mPackSssku.getSpuBarcode());
mSssku.setSpuDownNum(ConvertUtil.stringToLong(mViewBinding.etPackCount.getText().toString()));
} else if (mSssku.getSpuDownSku() != null) {
mSssku.setSpuDownNum(ConvertUtil.stringToLong(mViewBinding.etPackCount.getText().toString()));
} else {
mSssku.setSkuFlag((byte) 0);
mSssku.setSpuDownNum(0L);
}
mSssku.setSkuSellFlag((byte) (mViewBinding.rbCostOff.isChecked() ? 0 : 1));
mSssku.setSkuTradePrice(ConvertUtil.yuanToFen(mViewBinding.etCost.getText().toString()));
mSssku.setSkuAltLow(ConvertUtil.stringToLong(mViewBinding.etStockLowLimit.getText().toString()));
mSssku.setSkuAltHigh(ConvertUtil.stringToLong(mViewBinding.etStockUpperLimit.getText().toString()));
mSssku.setSkuSellUnit(ConvertUtil.stringToLong(mViewBinding.etMinOder.getText().toString()));
mSssku.setCreateTime(null);
mSssku.setUpdateTime(null);
}
@Override @Override
public boolean onBackPressedSupport() { public boolean onBackPressedSupport() {
((SsskuActivity) getActivity()).backToManagerFragment(); ((SsskuActivity) getActivity()).backToDetailFragment();
return super.onBackPressedSupport(); return super.onBackPressedSupport();
} }
} }
\ No newline at end of file
...@@ -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"
......
...@@ -2,11 +2,966 @@ ...@@ -2,11 +2,966 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout <data>
<import type="com.xingdata.zzdpos.util.ConvertUtil" />
<import type="android.view.View" />
<variable
name="pkgName"
type="String" />
<variable
name="pkgPrice"
type="Long" />
<variable
name="isSelected"
type="boolean" />
</data>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/blue_mawu" android:background="@color/gray_zhouyu">
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<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_info"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size" />
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:orientation="horizontal">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_barcode_hint"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_barcode"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/et_barcode"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/et_barcode"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="number"
android:labelFor="@+id/et_barcode"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintHorizontal_weight="3"
app:layout_constraintLeft_toRightOf="@id/tv_barcode_hint"
app:layout_constraintRight_toRightOf="parent" />
<View
android:layout_width="0dp"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming"
app:layout_constraintLeft_toLeftOf="@id/tv_barcode_hint"
app:layout_constraintRight_toLeftOf="@id/iv_pic"
app:layout_constraintTop_toBottomOf="@id/tv_barcode_hint" />
<TextView
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_name"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintLeft_toLeftOf="@id/tv_barcode_hint"
app:layout_constraintRight_toRightOf="@id/tv_barcode_hint"
app:layout_constraintTop_toBottomOf="@id/tv_barcode_hint" />
<EditText
android:id="@+id/et_name"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="text"
android:labelFor="@+id/et_name"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintLeft_toLeftOf="@id/et_barcode"
app:layout_constraintRight_toRightOf="@id/et_barcode"
app:layout_constraintTop_toBottomOf="@id/et_barcode" />
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_pic"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginEnd="@dimen/all_margin"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:placeholderImage="@mipmap/icon_goods_default" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_spacing"
android:background="@color/white_caocao"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_type_hint"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_type"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/ns_type_1" />
<TextView
android:id="@+id/tv_type"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintLeft_toLeftOf="@id/ns_type_1"
app:layout_constraintRight_toRightOf="@id/ns_type_2" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_type_1"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintHorizontal_weight="1.5"
app:layout_constraintLeft_toRightOf="@id/tv_type_hint"
app:layout_constraintRight_toLeftOf="@id/ns_type_2" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_type_2"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintHorizontal_weight="1.5"
app:layout_constraintLeft_toRightOf="@id/ns_type_1"
app:layout_constraintRight_toRightOf="parent" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_type_3"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
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>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_unit"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_unit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:gravity="center_vertical"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<TextView
android:id="@+id/tv_unit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:gravity="center_vertical"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
android:visibility="gone" />
</LinearLayout>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_skugrp"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_skugrp"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_spacing"
android:background="@color/white_caocao"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_price1"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<EditText
android:id="@+id/et_price1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:labelFor="@+id/et_price1"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_price2"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<EditText
android:id="@+id/et_price2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:labelFor="@+id/et_price2"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
</LinearLayout>
<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_vip"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_vip_dis"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<RadioGroup
android:id="@+id/rg_dis"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_dis_on"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:checked="true"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:text="@string/all_yes"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<RadioButton
android:id="@+id/rb_dis_off"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:text="@string/all_no"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</RadioGroup>
</LinearLayout>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_point1"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3">
<EditText
android:id="@+id/et_point"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:labelFor="@+id/et_point"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:text="@string/sku_point2"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
</LinearLayout>
<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" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_pack"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<RadioGroup
android:id="@+id/rg_pack"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:orientation="horizontal"
android:saveEnabled="false">
<RadioButton
android:id="@+id/rb_pack_on"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:checked="true"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:saveEnabled="false"
android:text="@string/all_yes"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<RadioButton
android:id="@+id/rb_pack_off"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:saveEnabled="false"
android:text="@string/all_no"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</RadioGroup>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming"
android:visibility="@{isSelected?View.VISIBLE:View.GONE}" />
<EditText
android:id="@+id/et_search"
style="@style/searchBarEditor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:layout_marginTop="@dimen/all_spacing"
android:hint="@string/sssku_search_hint"
android:inputType="number"
android:labelFor="@+id/et_search"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size"
android:visibility="@{isSelected?View.VISIBLE:View.GONE}" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="@{isSelected?View.VISIBLE:View.GONE}">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/tv_product_pic"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center_vertical"
android:layout_margin="@dimen/all_margin"
app:placeholderImage="@mipmap/icon_goods_default" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/tv_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@{@string/ms_editor_group_sku_name+pkgName}" />
<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+ConvertUtil.fenToYuan(pkgPrice)}" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming"
android:visibility="@{isSelected?View.VISIBLE:View.GONE}" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:visibility="@{isSelected?View.VISIBLE:View.GONE}">
<TextView
android:id="@+id/tv_unit1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sssku_pack_unit"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3">
<EditText
android:id="@+id/et_pack_count"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:labelFor="@+id/et_point"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<TextView
android:id="@+id/tv_unit2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:text="@string/sssku_pack_default_unit"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
</LinearLayout>
<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_supplier"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_margin"
android:background="@color/white_caocao"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_supplier"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<org.angmarch.views.NiceSpinner
android:id="@+id/ns_supplier"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming"
android:visibility="@{isSelected?View.VISIBLE:View.GONE}" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_cost_on"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<RadioGroup
android:id="@+id/rg_cost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/all_margin"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_cost_on"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:checked="true"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:text="@string/all_yes"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<RadioButton
android:id="@+id/rb_cost_off"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@null"
android:text="@string/all_no"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</RadioGroup>
</LinearLayout>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_cost"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<EditText
android:id="@+id/et_cost"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="numberDecimal"
android:labelFor="@+id/et_cost"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_stock_low_limit"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<EditText
android:id="@+id/et_stock_low_limit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="number"
android:labelFor="@+id/et_stock_low_limit"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_stock_upper_limit"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<EditText
android:id="@+id/et_stock_upper_limit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="number"
android:labelFor="@+id/et_stock_upper_limit"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<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
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingEnd="@null"
android:paddingStart="@dimen/all_margin"
android:text="@string/sku_min_oder"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<EditText
android:id="@+id/et_min_oder"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@color/transparent"
android:gravity="center_vertical"
android:inputType="number"
android:labelFor="@+id/et_min_oder"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
</LinearLayout>
<Button
android:id="@+id/btn_confirm"
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"
android:foreground="?android:attr/selectableItemBackground"
android:text="@string/all_confirm"
android:textColor="@color/white_caocao"
android:textSize="@dimen/all_text_size" />
</LinearLayout> </LinearLayout>
</android.support.v4.widget.NestedScrollView>
</layout> </layout>
\ No newline at end of file
...@@ -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