Commit a77273a0 authored by zhang_z's avatar zhang_z

添加商品;

parent 7d9d31fe
...@@ -563,6 +563,7 @@ public class C { ...@@ -563,6 +563,7 @@ public class C {
public static final int GIFT = 4; public static final int GIFT = 4;
public static final int PKG = 5; public static final int PKG = 5;
public static final int SKU_DETAIL = 6; public static final int SKU_DETAIL = 6;
public static final int ADD_SKU = 7;
} }
......
...@@ -117,6 +117,11 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -117,6 +117,11 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
mEditorFragment.loadPkgSku(pkgSku); mEditorFragment.loadPkgSku(pkgSku);
} }
@Override
public void loadCheckSkus(List<Sssku> ssskus) {
mAddFragment.loadCheckSkus(ssskus);
}
@Override @Override
public void showSearchFragment(int searchType) { public void showSearchFragment(int searchType) {
if (mSearchFragment.isAdded()) return; if (mSearchFragment.isAdded()) return;
...@@ -127,6 +132,8 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin ...@@ -127,6 +132,8 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
@Override @Override
public void showAddFragment() { public void showAddFragment() {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.sssku_add);
this.start(mAddFragment); this.start(mAddFragment);
} }
......
...@@ -76,6 +76,13 @@ public interface SsskuContract { ...@@ -76,6 +76,13 @@ public interface SsskuContract {
*/ */
void loadPkgSku(Sssku pkgSku); void loadPkgSku(Sssku pkgSku);
/**
* 加载检查出来的商品列表
*
* @param ssskus 商品信息
*/
void loadCheckSkus(List<Sssku> ssskus);
/** /**
* 显示搜索页面 * 显示搜索页面
*/ */
...@@ -197,6 +204,7 @@ public interface SsskuContract { ...@@ -197,6 +204,7 @@ public interface SsskuContract {
*/ */
public abstract void clickAddSku(); public abstract void clickAddSku();
/** /**
* 管理页面 - 点击添加分组 * 管理页面 - 点击添加分组
*/ */
...@@ -207,6 +215,11 @@ public interface SsskuContract { ...@@ -207,6 +215,11 @@ public interface SsskuContract {
*/ */
public abstract void clickReplenish(); public abstract void clickReplenish();
/**
* 添加页面 - 检查条码
*/
public abstract void clickCheck(String barcode);
/** /**
* 搜索页面 - 点击搜索 * 搜索页面 - 点击搜索
*/ */
......
package com.xingdata.zzdpos.ui.manage.sssku; package com.xingdata.zzdpos.ui.manage.sssku;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C; import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory; import com.xingdata.zzdpos.api.ApiFactory;
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.util.ConvertUtil;
public class SsskuPresenter extends SsskuContract.Presenter { public class SsskuPresenter extends SsskuContract.Presenter {
...@@ -68,6 +70,28 @@ public class SsskuPresenter extends SsskuContract.Presenter { ...@@ -68,6 +70,28 @@ public class SsskuPresenter extends SsskuContract.Presenter {
mView.startReplenishmentActivity(); mView.startReplenishmentActivity();
} }
@Override
public void clickCheck(String barcode) {
if (StringUtils.isEmpty(barcode)) return;
mView.showLoadingDialog();
mCompositeDisposable.add(
ApiFactory.Scsku.queryScsku(barcode)
.doFinally(() -> mView.dismissLoadingDialog())
.subscribe(
ssskuPager -> {
if (ssskuPager.getList().size() > 1) {
mView.loadCheckSkus(ssskuPager.getList());
} else if (ssskuPager.getList().size() == 1) {
mView.showEditorFragment(ssskuPager.getList().get(0), C.SKU_EDITOR_MODE.ADD);
} else {
Sssku sssku = new Sssku();
sssku.setSpuBarcode(ConvertUtil.stringToLong(barcode));
mView.showEditorFragment(sssku, C.SKU_EDITOR_MODE.UNKNOWN);
}
})
);
}
@Override @Override
public void searchSku(String keyword) { public void searchSku(String keyword) {
this.mSearchPageNum = 0; this.mSearchPageNum = 0;
...@@ -100,6 +124,9 @@ public class SsskuPresenter extends SsskuContract.Presenter { ...@@ -100,6 +124,9 @@ public class SsskuPresenter extends SsskuContract.Presenter {
case C.TITLE_MODE.PKG: case C.TITLE_MODE.PKG:
mView.loadPkgSku(sssku); mView.loadPkgSku(sssku);
break; break;
case C.TITLE_MODE.ADD_SKU:
mView.showEditorFragment(sssku, C.SKU_EDITOR_MODE.ADD);
break;
} }
} }
......
package com.xingdata.zzdpos.ui.manage.sssku.fragment; package com.xingdata.zzdpos.ui.manage.sssku.fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.view.inputmethod.EditorInfo;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSsskuAddBinding; import com.xingdata.zzdpos.databinding.FragmentSsskuAddBinding;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity;
import com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter; import com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.SkuAdapter;
import java.util.List;
public class AddFragment extends BaseFragment<SsskuPresenter, FragmentSsskuAddBinding> { public class AddFragment extends BaseFragment<SsskuPresenter, FragmentSsskuAddBinding> {
private SkuAdapter<Sssku> mSkuAdapter;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.fragment_sssku_add; return R.layout.fragment_sssku_add;
...@@ -16,5 +29,40 @@ public class AddFragment extends BaseFragment<SsskuPresenter, FragmentSsskuAddBi ...@@ -16,5 +29,40 @@ public class AddFragment extends BaseFragment<SsskuPresenter, FragmentSsskuAddBi
@Override @Override
public void initView() { public void initView() {
mViewBinding.etBarcode.requestFocus();
mViewBinding.etBarcode.setOnEditorActionListener((textView, i, keyEvent) -> {
if ((i == EditorInfo.IME_ACTION_SEARCH || i == EditorInfo.IME_ACTION_UNSPECIFIED) && !StringUtils.isEmpty(textView.getText())) {
KeyboardUtils.hideSoftInput(textView);
mPresenter.clickCheck(mViewBinding.etBarcode.getText().toString());
}
return false;
});
mViewBinding.tvCheck.setOnClickListener(view -> {
mPresenter.clickCheck(mViewBinding.etBarcode.getText().toString());
});
// init sku
mSkuAdapter = new SkuAdapter<>();
mViewBinding.rlSku.setAdapter(mSkuAdapter);
mViewBinding.rlSku.setLayoutManager(new LinearLayoutManager(mContext));
// set sku listener
mSkuAdapter.setOnItemClickListener((adapter, view, position) -> {
((SsskuActivity) getActivity()).backToManagerFragment();
mPresenter.clickSku(mSkuAdapter.getData().get(position), C.TITLE_MODE.ADD_SKU);
});
} }
public void loadCheckSkus(List<Sssku> ssskus) {
mSkuAdapter.setNewData(ssskus);
}
@Override
public boolean onBackPressedSupport() {
((SsskuActivity) getActivity()).backToManagerFragment();
return super.onBackPressedSupport();
}
} }
...@@ -222,6 +222,7 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd ...@@ -222,6 +222,7 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd
mViewBinding.tvType.setText(mSssku.getSpuClaName() + " / " + mSssku.getSpuGrpName() + " / " + mSssku.getSpuCateName()); mViewBinding.tvType.setText(mSssku.getSpuClaName() + " / " + mSssku.getSpuGrpName() + " / " + mSssku.getSpuCateName());
mViewBinding.tvUnit.setText(mSssku.getSpuUnitName()); mViewBinding.tvUnit.setText(mSssku.getSpuUnitName());
} }
if (mSssku.getSkuGrpId() == null) mSssku.setSkuGrpId(0L);
mViewBinding.nsSkugrp.attachDataSource(mSskugrps); mViewBinding.nsSkugrp.attachDataSource(mSskugrps);
for (int i = 0; i < mSskugrps.size(); i++) { for (int i = 0; i < mSskugrps.size(); i++) {
......
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
android:layout_height="@dimen/all_line_width" android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin" android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin" android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" /> android:background="@color/gray_kongming"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/tv_update_price" android:id="@+id/tv_update_price"
...@@ -41,14 +42,16 @@ ...@@ -41,14 +42,16 @@
android:gravity="center" android:gravity="center"
android:text="@string/sku_update_price" android:text="@string/sku_update_price"
android:textColor="@color/blue_mawu" android:textColor="@color/blue_mawu"
android:textSize="@dimen/all_text_size" /> android:textSize="@dimen/all_text_size"
android:visibility="gone" />
<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"
android:layout_marginEnd="@dimen/all_margin" android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin" android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" /> android:background="@color/gray_kongming"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/tv_update_vip" android:id="@+id/tv_update_vip"
...@@ -58,7 +61,8 @@ ...@@ -58,7 +61,8 @@
android:gravity="center" android:gravity="center"
android:text="@string/sku_update_vip" android:text="@string/sku_update_vip"
android:textColor="@color/blue_mawu" android:textColor="@color/blue_mawu"
android:textSize="@dimen/all_text_size" /> android:textSize="@dimen/all_text_size"
android:visibility="gone" />
</LinearLayout> </LinearLayout>
<TextView <TextView
......
...@@ -2,11 +2,95 @@ ...@@ -2,11 +2,95 @@
<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">
<data>
<import type="android.view.View" />
<variable
name="dataCount"
type="int" />
</data>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/gray_zhouyu" android:background="@color/gray_zhouyu"
android:orientation="vertical"> android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginTop="@dimen/all_spacing"
android:background="@color/gray_huanggai" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white_caocao"
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_barcode"
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_barcode"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
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" />
<TextView
android:id="@+id/tv_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@drawable/shape_red_round_rectangle_more_round"
android:foreground="?android:attr/actionBarItemBackground"
android:paddingBottom="@dimen/all_spacing"
android:paddingEnd="@dimen/all_margin_big"
android:paddingStart="@dimen/all_margin_big"
android:paddingTop="@dimen/all_spacing"
android:text="@string/sku_check"
android:textColor="@color/white_caocao" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/gray_huanggai"
android:visibility="@{dataCount>0?View.VISIBLE:View.GONE}" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_sku"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -684,6 +684,7 @@ ...@@ -684,6 +684,7 @@
<string name="manage_inventory_add_end">盘库结束</string> <string name="manage_inventory_add_end">盘库结束</string>
<!--商品维护--> <!--商品维护-->
<string name="sku_check">检测</string>
<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>
......
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