Commit 9496056d authored by 陈前's avatar 陈前

扫码

parent a465a7bd
......@@ -3,8 +3,10 @@ package com.xingdata.zzdpos.ui.manage.inventory;
import android.content.Intent;
import android.view.MotionEvent;
import android.view.View;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.FragmentUtils;
import com.blankj.utilcode.util.KeyboardUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
......@@ -17,8 +19,10 @@ import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.inventory.fragment.InventoryAddFragment;
import com.xingdata.zzdpos.ui.manage.inventory.fragment.InventoryFragment;
import com.xingdata.zzdpos.ui.manage.manageMenu.ManageDateFragment;
import com.xingdata.zzdpos.ui.scan.ScanFragment;
import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import com.xingdata.zzdpos.util.Global;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.List;
......@@ -29,6 +33,7 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
private ManageDateFragment mManageDateFragment = new ManageDateFragment();
private InventoryAddFragment mInventoryAddFragment;
LoadingDialog mLoadingDialog = new LoadingDialog();
private ScanFragment mScanFragment;
@Override
public int getLayoutId() {
......@@ -38,9 +43,29 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
@Override
public void initView() {
loadRootFragment(R.id.f_bottom, mInventoryFragment, true, false);
initTitle();
}
private void initTitle() {
mViewBinding.icTitle.edTitle.setVisibility(View.GONE);
mViewBinding.icTitle.tvTitle.setVisibility(View.VISIBLE);
changeTitle("盘库记录", false);
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
if (mInventoryAddFragment.isAdded()) {
mInventoryAddFragment.popThis();
return;
}
if (mScanFragment.isAdded()) {
mScanFragment.pop();
return;
}
finish();
}
});
}
@Override
public void showDateFragment() {
......@@ -55,11 +80,18 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
@Override
public void addInventoryGoodsItem(List<Sssku> ssskuList) {
mInventoryAddFragment.addInventoryGoodsItem(ssskuList);
if (mScanFragment.isAdded()) {
mScanFragment.pop();
}
}
@Override
public void addInventoryGoodsItem(Sssku sssku) {
mInventoryAddFragment.addInventoryGoodsItem(sssku);
if (mScanFragment.isAdded()) {
mScanFragment.pop();
}
}
@Override
......@@ -85,6 +117,7 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
@Override
public void disInventoryDetailFragment(Boolean idChange) {
changeTitle("盘库记录", false);
if (idChange) {
mInventoryAddFragment.pop();
mInventoryFragment.onRefresh();
......@@ -109,6 +142,7 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
public void openInventoryAddFragment(Cs cs) {
mInventoryAddFragment = new InventoryAddFragment();
mInventoryAddFragment.setCs(cs);
changeTitle("商品盘点", true);
start(mInventoryAddFragment);
}
......@@ -129,6 +163,41 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
// mInventoryAddFragment.searchGoodsSuc();
}
@Override
public void changeTitle(String s, boolean b) {
mViewBinding.icTitle.tvTitle.setText(s);
if (b) {
mViewBinding.icTitle.ivRight.setImageResource(R.mipmap.but_sweep_yard);
} else {
mViewBinding.icTitle.ivRight.setImageResource(R.mipmap.ic_dates);
}
mViewBinding.icTitle.ivRight.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
if (b) {
if (mScanFragment == null) {
mScanFragment = new ScanFragment();
mScanFragment.setOnScanCompletedListener(new ScanFragment.OnScanCompletedListener() {
@Override
public void OnScanCompleted(String barcode) {
mPresenter.getProductByBarcode(barcode);
}
});
}
if (!mScanFragment.isAdded()) {
start(mScanFragment);
}
} else {
mPresenter.clickDate();
}
}
});
}
@Override
public void isShowLoading(Boolean is) {
if (is) {
......@@ -140,6 +209,11 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
}
}
@Override
public void delSucc() {
mInventoryFragment.onRefresh();
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Global.clickHideKeyboard(ev, this);
......
......@@ -21,9 +21,9 @@ public interface InventoryContract {
* 添加盘库 搜索商品成功
*/
void searchGoodsSuc();
void changeTitle(String s,boolean b);
void isShowLoading(Boolean is);
void delSucc();
/**
* 跳转日期搜索
*/
......@@ -92,6 +92,11 @@ public interface InventoryContract {
*/
public abstract void clickDate();
/**
* - 改标题
*/
public abstract void changeTitle(String s,boolean b);
/**
* 盘库添加页面 - 取消退出这次盘库的记录
*
......
......@@ -117,7 +117,7 @@ public class InventoryPresenter extends InventoryContract.Presenter {
mView.isShowLoading(true);
ApiFactory.Cs.delCsDetail(cs.getId(), cs.getCsNo()).doFinally(() -> mView.isShowLoading(false))
.subscribe(object -> {
mView.delSucc();
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
......@@ -128,6 +128,11 @@ public class InventoryPresenter extends InventoryContract.Presenter {
mView.showDateFragment();
}
@Override
public void changeTitle(String s, boolean b) {
mView.changeTitle(s,b);
}
@Override
public void cancelInventoryAdd(Cs cs) {
mView.isShowLoading(true);
......
......@@ -7,6 +7,7 @@ import android.text.TextWatcher;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.xingdata.zzdpos.R;
......@@ -17,10 +18,12 @@ import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class InventoryGoodsAdapter extends BaseAdapter<Sssku, ItemInventoryGoodsBinding> {
private int count ;
public InventoryGoodsAdapter(@Nullable List<Sssku> data) {
super(R.layout.item_inventory_goods, data);
......@@ -30,44 +33,53 @@ public class InventoryGoodsAdapter extends BaseAdapter<Sssku, ItemInventoryGoods
@Override
protected void convert(BaseViewHolder helper, Sssku item) {
helper.addOnClickListener(R.id.btn_ok);
super.convert(helper, item);
}
@Override
protected void convert(ItemInventoryGoodsBinding mViewBinding, Sssku item) {
if (item.getInventoryCut() == 0) {
item.setInventoryCut(1);
}
count=item.getInventoryCut();
helper.setText(R.id.et_count, item.getInventoryCut() + "");
helper.setText(R.id.tv_goods_name, item.getSpuName())
.setText(R.id.tv_goods_code, item.getSpuBarcode() + "")
.setText(R.id.tv_goods_size, "规格/" + item.getSpuUnitName())
.setText(R.id.tv_goods_price, ConvertUtil.fenToYuan(item.getSkuRetailPrice1(), false))
.setText(R.id.tv_stock, item.getSkuStock() + "");
((SimpleDraweeView) helper.getView(R.id.img_goods)).setImageURI(item.getSpuImg());
helper.getView(R.id.btn_up).setOnClickListener(v -> {
mViewBinding.etCount.setText(item.getInventoryCut() + "");
mViewBinding.tvGoodsName.setText(item.getSpuName());
mViewBinding.tvGoodsCode.setText(item.getSpuBarcode() + "");
mViewBinding.tvGoodsSize.setText("规格/" + item.getSpuUnitName());
mViewBinding.tvGoodsPrice.setText(ConvertUtil.fenToYuan(item.getSkuRetailPrice1(), false));
mViewBinding.tvStock.setText(item.getSkuStock() + item.getSpuUnitName());
mViewBinding.imgGoods.setImageURI(item.getSpuImg());
mViewBinding.btnUp.setOnClickListener(v -> {
int count = Integer.valueOf(mViewBinding.etCount.getText().toString());
if (count > 0 && count < 9999) {
helper.setText(R.id.et_count, String.valueOf(++count));
mViewBinding.etCount.setText(String.valueOf(++count));
item.setInventoryCut(count);
}
});
helper.getView(R.id.btn_down).setOnClickListener(v -> {
mViewBinding.btnDown.setOnClickListener(v -> {
int count = Integer.valueOf(mViewBinding.etCount.getText().toString());
if (count == 1) {
item.setInventoryCut(count);
return;
}
if (count > 1 && count < 100) {
helper.setText(R.id.et_count, String.valueOf(--count));
mViewBinding.etCount.setText(String.valueOf(--count));
item.setInventoryCut(count);
}
});
((EditText) helper.getView(R.id.et_count)).addTextChangedListener((new TextWatcher() {
mViewBinding.etCount.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) {
count = ((EditText) helper.getView(R.id.et_count)).getText().toString().length() == 0 ? 1 : Integer.valueOf(((EditText) helper.getView(R.id.et_count)).getText().toString());
int count = mViewBinding.etCount.getText().toString().length() == 0 ? 1 : Integer.valueOf((mViewBinding.etCount.getText().toString()));
item.setInventoryCut(count);
}
......@@ -75,13 +87,6 @@ public class InventoryGoodsAdapter extends BaseAdapter<Sssku, ItemInventoryGoods
public void afterTextChanged(Editable editable) {
}
}));
helper.addOnClickListener(R.id.btn_ok);
super.convert(helper, item);
}
@Override
protected void convert(ItemInventoryGoodsBinding mViewBinding, Sssku item) {
}
......
......@@ -44,7 +44,10 @@ public class CsCartDialog extends BaseSheetDialog<InventoryPresenter, DialogInve
mViewBinding.setResult(result);
// set Other listener
mViewBinding.tvOk.setOnClickListener(view -> mPresenter.exitInventoryAdd());
mViewBinding.tvOk.setOnClickListener(view -> {
dismiss();
mPresenter.exitInventoryAdd();
});
}
......
......@@ -8,6 +8,7 @@ import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
import com.blankj.utilcode.util.FragmentUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
......@@ -21,6 +22,7 @@ import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter;
import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryGoodsAdapter;
import com.xingdata.zzdpos.ui.manage.inventory.dialog.CsCartDialog;
import com.xingdata.zzdpos.ui.scan.ScanFragment;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
......@@ -39,6 +41,7 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
private InventoryGoodsAdapter mInventoryGoodsAdapter;
private CsCartDialog mCartDialog = new CsCartDialog();
/**
* 当前购物车信息
*/
......@@ -57,9 +60,8 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
initRecycler();
mViewBinding.setCartCount(0);
mViewBinding.icTitle.edTitle.setVisibility(View.GONE);
mViewBinding.icTitle.tvTitle.setText("商品盘点");
mViewBinding.icTitle.tvTitle.setVisibility(View.VISIBLE);
mViewBinding.edTitle.setHint(R.string.inventory_add_et_hint);
mViewBinding.edTitle.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
......@@ -83,18 +85,7 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
mViewBinding.btnEnd.setOnClickListener(view -> {
mPresenter.exitInventoryAdd();
});
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
PromptDialog promptDialog = new PromptDialog();
promptDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "退出前是否删除本次盘库记录").setClick(view1 -> {
mPresenter.cancelInventoryAdd(mCs);
promptDialog.dismiss();
}, view1 -> {
promptDialog.dismiss();
}).setCancelables(false).show((BaseActivity) mContext);
}
});
// mViewBinding.btnPrint.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
......@@ -219,6 +210,12 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
@Override
public boolean onBackPressedSupport() {
popThis();
return true;
}
public void popThis() {
if (bottomCsList.size() == 0) {
mPresenter.cancelInventoryAdd(mCs);
} else {
......@@ -229,17 +226,12 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
}, view1 -> {
promptDialog.dismiss();
mPresenter.changeTitle("盘库记录",false);
pop();
}).setCancelables(false).show((BaseActivity) mContext);
}
return true;
}).setCancelables(false).show((BaseActivity) mContext);
}
public void searchGoodsSuc() {
// mViewBinding.etKeyword.setText("");
// KeyboardUtils.hideSoftInput(getActivity());
}
......@@ -249,4 +241,5 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
textView.setText(R.string.inventory_add_empty_hint);
return view;
}
}
......@@ -59,7 +59,6 @@ public class InventoryFragment extends BaseFragment<InventoryPresenter, Fragment
start = null;
end = null;
pageNum = 1;
initTitle();
mViewBinding.btnAdd.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
......@@ -100,23 +99,7 @@ public class InventoryFragment extends BaseFragment<InventoryPresenter, Fragment
mPresenter.getInventoryList(pageNum);
}
private void initTitle() {
mViewBinding.icTitle.edTitle.setVisibility(View.GONE);
mViewBinding.icTitle.tvTitle.setText("盘库记录");
mViewBinding.icTitle.tvTitle.setVisibility(View.VISIBLE);
mViewBinding.icTitle.ivRight.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
mPresenter.clickDate();
}
});
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
getActivity().finish();
}
});
}
//
public void setCount(int count) {
......
......@@ -152,6 +152,13 @@ public class ReplenishmentActivity extends BaseActivity<ReplenishmentPresenter,
}
@Override
public void popScan() {
if (mScanFragment.isAdded()) {
mScanFragment.pop();
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Global.clickHideKeyboard(ev, this);
......
......@@ -24,7 +24,7 @@ public interface ReplenishmentContract {
void changeTitle(String s,boolean b);
void popScan();
/**
* 提交订货成功
*/
......@@ -50,7 +50,10 @@ public interface ReplenishmentContract {
abstract class Presenter extends BasePresenter<View> {
/**
* - 退出扫码
*/
public abstract void popScan();
/**
* 补货订货页面 - 点击一键补货
*/
......
......@@ -25,6 +25,11 @@ public class ReplenishmentPresenter extends ReplenishmentContract.Presenter {
}
@Override
public void popScan() {
mView.popScan();
}
@Override
public void clickAdd() {
mView.isShowLoading(true);
......
......@@ -273,13 +273,16 @@ public class ReplenishmentDetailFragment extends BaseFragment<ReplenishmentPrese
Matcher matcher = pattern.matcher((mReplenishmentDetailAdapter.getData().get(i)).getSpuBarcode() + "");
if (matcher.find()) {
((LinearLayoutManager) mViewBinding.recyclerView.getLayoutManager()).scrollToPositionWithOffset(i, 0);
mPresenter.popScan();
ToastUtils.showShort("已找到商品:" + mReplenishmentDetailAdapter.getData().get(i).getSpuName());
KeyboardUtils.hideSoftInput(getActivity());
return;
}
matcher = pattern.matcher((mReplenishmentDetailAdapter.getData().get(i)).getSpuAb() + "");
if (matcher.find()) {
((LinearLayoutManager) mViewBinding.recyclerView.getLayoutManager()).scrollToPositionWithOffset(i, 0);
mPresenter.popScan();
ToastUtils.showShort("已找到商品:" + mReplenishmentDetailAdapter.getData().get(i).getSpuName());
KeyboardUtils.hideSoftInput(getActivity());
return;
......@@ -287,6 +290,7 @@ public class ReplenishmentDetailFragment extends BaseFragment<ReplenishmentPrese
matcher = pattern.matcher((mReplenishmentDetailAdapter.getData().get(i)).getSpuName() + "");
if (matcher.find()) {
((LinearLayoutManager) mViewBinding.recyclerView.getLayoutManager()).scrollToPositionWithOffset(i, 0);
mPresenter.popScan();
ToastUtils.showShort("已找到商品:" + mReplenishmentDetailAdapter.getData().get(i).getSpuName());
KeyboardUtils.hideSoftInput(getActivity());
return;
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/ic_title"
layout="@layout/title_order"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_huanggai" />
<FrameLayout
android:id="@+id/f_bottom"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
......@@ -20,6 +29,6 @@
</FrameLayout>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -13,15 +13,6 @@
android:orientation="vertical"
android:splitMotionEvents="false">
<include
android:id="@+id/ic_title"
layout="@layout/title_order"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_huanggai" />
<LinearLayout
android:id="@+id/btn_add"
......
......@@ -21,16 +21,6 @@
android:background="@color/white_caocao"
android:orientation="vertical">
<include
android:id="@+id/ic_title"
layout="@layout/title_order"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:background="@color/gray_huanggai"
app:layout_constraintTop_toBottomOf="@id/ic_title" />
<EditText
android:id="@+id/ed_title"
......@@ -45,10 +35,9 @@
android:drawablePadding="@dimen/all_padding"
android:hint="@string/other_select_edit_hint"
android:imeOptions="actionSearch"
android:inputType="text"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintTop_toBottomOf="@id/ic_title" />
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:layout_width="0dp"
......
......@@ -75,6 +75,7 @@
android:padding="@dimen/dp_4"
android:text="规格"
android:textSize="@dimen/all_text_size_small"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/tv_goods_code"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_goods_code" />
......
......@@ -728,5 +728,4 @@
<string name="sku_name_hint">请输入商品名称</string>
</resources>
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