Commit 7c48ead0 authored by 王海's avatar 王海

Merge branch 'master' of 192.168.254.154:w525721508/TangKuPos

parents f6b3f276 00fffede
......@@ -11,9 +11,6 @@ android {
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
ndk{
abiFilters("armeabi", "armeabi-v7a","x86")
}
}
//解决问题的代码
dexOptions {
......@@ -47,7 +44,6 @@ android {
sourceSets {
main {
assets.srcDirs = ['src/main/assets', 'src/main/assets/']
jniLibs.srcDirs = ['libs']
}
}
}
......
......@@ -531,6 +531,8 @@ public class C {
public static final int GIFT = 5;
//第二件促销
public static final int SECOND_PRO = 6;
//满送
public static final int TICKET = 7;
}
public final class DIS_TYPE {
......
......@@ -566,6 +566,7 @@ public class Ossku implements BaseBean {
}
public String getSpuImg() {
if (spuImg.contains("ngoods.png")) return "";
return spuImg;
}
......
......@@ -12,7 +12,7 @@ import com.xingdata.zzdpos.util.ConvertUtil;
/**
* 订单详情(购物车商品明细)
*/
public class Saledetail implements BaseModel, BaseBean,BaseGoodPrint {
public class Saledetail implements BaseModel, BaseBean, BaseGoodPrint {
public boolean isDiscount() {
return skuPrice.longValue() != skuPricePay.longValue();
......@@ -676,6 +676,7 @@ public class Saledetail implements BaseModel, BaseBean,BaseGoodPrint {
public String getSpuImg() {
if (spuImg.contains("ngoods.png")) return "";
return spuImg;
}
......
......@@ -138,6 +138,7 @@ public class Sspr extends RealmObject implements BaseModel, BaseBean {
}
public String getSpuImg() {
if (spuImg.contains("ngoods.png")) return "";
return spuImg;
}
......
......@@ -16,7 +16,7 @@ import io.realm.annotations.PrimaryKey;
/**
* 商品详情
*/
public class Sssku extends RealmObject implements BaseModel, BaseBean, BaseSku,BaseGoodPrint {
public class Sssku extends RealmObject implements BaseModel, BaseBean, BaseSku, BaseGoodPrint {
@JSONField(serialize = false)
@Ignore
private boolean isSelected;
......@@ -463,6 +463,7 @@ public class Sssku extends RealmObject implements BaseModel, BaseBean, BaseSku,B
}
public String getSpuImg() {
if (spuImg.contains("ngoods.png")) return "";
return spuImg;
}
......@@ -766,7 +767,7 @@ public class Sssku extends RealmObject implements BaseModel, BaseBean, BaseSku,B
@Override
public String getCnt() {
return getSkuCnt()+"";
return getSkuCnt() + "";
}
@Override
......@@ -776,13 +777,13 @@ public class Sssku extends RealmObject implements BaseModel, BaseBean, BaseSku,B
@Override
public String getPrice() {
return ConvertUtil.fenToYuan(getSkuCost(),false);
return ConvertUtil.fenToYuan(getSkuCost(), false);
}
@Override
public String getSubtotal() {
return ConvertUtil.fenToYuan(getSellSumAmt(),false);
return ConvertUtil.fenToYuan(getSellSumAmt(), false);
}
@Override
......
......@@ -290,6 +290,7 @@ public class Ussku extends RealmObject implements BaseModel, BaseBean, BaseSku {
}
public String getSpuImg() {
if (spuImg.contains("ngoods.png")) return "";
return spuImg;
}
......
......@@ -28,8 +28,7 @@ import com.xingdata.zzdpos.util.Global;
import java.util.List;
public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBinding> implements
SsskuContract.View {
public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBinding> implements SsskuContract.View {
private ManagerFragment mManagerFragment = new ManagerFragment();
private SearchFragment mSearchFragment = new SearchFragment();
......@@ -127,6 +126,7 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
public void showSearchFragment(int searchType) {
if (mSearchFragment.isAdded()) return;
mViewBinding.etSearch.requestFocus();
KeyboardUtils.showSoftInput(mViewBinding.etSearch);
this.showTitleBarByTitleMode(searchType);
this.start(mSearchFragment.setSearchType(searchType));
}
......@@ -220,6 +220,12 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
this.pop();
}
@Override
public void backToMenuActivity() {
mPresenter.doOnFinish();
this.finish();
}
@Override
public void addSku(Sssku sssku) {
mManagerFragment.addSku(sssku);
......
......@@ -147,6 +147,11 @@ public interface SsskuContract {
*/
void backToDetailFragment();
/**
* 返回菜单页面
*/
void backToMenuActivity();
/**
* 添加商品
*
......@@ -326,5 +331,11 @@ public interface SsskuContract {
* 主页面 - 点击菜单按钮
*/
public abstract void clickSkuMenu();
/**
* 主页面 - 关闭
*/
public abstract void doOnFinish();
}
}
package com.xingdata.zzdpos.ui.manage.sssku;
import com.blankj.utilcode.util.SPUtils;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.model.Sskugrp;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.splash.SplashActivity;
import com.xingdata.zzdpos.ui.splash.SplashPresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
public class SsskuPresenter extends SsskuContract.Presenter {
/**
* 是否需要同步
*/
private boolean isNeedSync = false;
private int mPageNum;
private Long mSkuGrpId;
......@@ -209,6 +217,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
ApiFactory.Sssku.addSssku(sssku).subscribe(
sssku1 -> {
mView.showMsg("添加成功");
isNeedSync = true;
mView.backToEditFragment();
mView.backToManagerFragment();
if (sssku1.getSkuGrpId().longValue() == mSkuGrpId) {
......@@ -221,6 +230,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
ApiFactory.Sssku.update(sssku).subscribe(
sssku1 -> {
mView.showMsg("修改成功");
isNeedSync = true;
mView.backToEditFragment();
mView.backToManagerFragment();
if (sssku1.getSkuGrpId().longValue() == mSkuGrpId || mSkuGrpId == 0L) {
......@@ -234,6 +244,7 @@ public class SsskuPresenter extends SsskuContract.Presenter {
ApiFactory.Sssku.addSssku(sssku).subscribe(
sssku1 -> {
mView.showMsg("添加成功");
isNeedSync = true;
mView.backToEditFragment();
mView.backToManagerFragment();
if (sssku1.getSkuGrpId().longValue() == mSkuGrpId) {
......@@ -255,6 +266,31 @@ public class SsskuPresenter extends SsskuContract.Presenter {
mView.showSkuMenuDialog();
}
@Override
public void doOnFinish() {
if (!isNeedSync) return;
final double[] nowPro = {0.0};
mView.showLoadingDialog();
SPUtils.getInstance().put(SplashActivity.SYNCHRONOUSERRORCODE, "");
SPUtils.getInstance().put(SplashActivity.SYNCHRONOUSERRORMSG, "");
for (int i = 0; i < SplashPresenter.listSync.size(); i++) {
ApiFactory.Sync.allDownload(SplashPresenter.listSync.get(i), new SplashPresenter.SynchronousTask() {
@Override
public void getPro(double pro) {
nowPro[0] += pro;
if (nowPro[0] >= 100) {
mView.dismissLoadingDialog();
}
}
@Override
public void error(String table, String errCode, String errMsg) {
}
}, (100.00 / SplashPresenter.listSync.size()));
}
}
/**
* 获取商品
*/
......
......@@ -2,7 +2,6 @@ package com.xingdata.zzdpos.ui.manage.sssku.fragment;
import android.annotation.SuppressLint;
import android.support.v4.app.ActivityCompat;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.TextView;
......@@ -13,6 +12,7 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSsskuManagerBinding;
import com.xingdata.zzdpos.model.Sskugrp;
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.adapter.SkuAdapter;
import com.xingdata.zzdpos.ui.manage.sssku.adapter.SkugrpAdapter;
......@@ -156,7 +156,7 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
*/
public void updateSku(Sssku sssku) {
for (int i = 0; i < mSkuAdapter.getData().size(); i++) {
if (mSkuAdapter.getData().get(i).getId().longValue() == sssku.getSkuId().longValue()) {
if (mSkuAdapter.getData().get(i).getId().longValue() == sssku.getId().longValue()) {
mSkuAdapter.setData(i, sssku);
return;
}
......@@ -194,7 +194,7 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
@Override
public boolean onBackPressedSupport() {
ActivityCompat.finishAfterTransition(getActivity());
((SsskuActivity) getActivity()).backToMenuActivity();
return super.onBackPressedSupport();
}
}
......@@ -80,6 +80,10 @@ public class UserInfoEditFragment extends BaseFragment<UserPresenter, FragmentUs
ToastUtils.showShort("会员帐号不能为空");
return;
}
if (mViewBinding.userPhone.getText().length() !=11) {
ToastUtils.showShort("会员帐号长度必须11位");
return;
}
if (mViewBinding.userLevel.getText().length() == 0) {
ToastUtils.showShort("会员等级不能为空");
......
package com.xingdata.zzdpos.ui.marketing.ms;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.ToastUtils;
......@@ -20,25 +16,24 @@ import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.AddFragment;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.EditorFragment;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.ManagerFragment;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.ScanFragment;
import com.xingdata.zzdpos.ui.marketing.ms.fragment.SearchFragment;
import com.xingdata.zzdpos.ui.marketing.ms.model.Area;
import com.xingdata.zzdpos.ui.marketing.ms.model.Group;
import com.xingdata.zzdpos.ui.marketing.ms.model.Type;
import com.xingdata.zzdpos.ui.marketing.ms.model.User;
import com.xingdata.zzdpos.ui.scan.ScanFragment;
import com.xingdata.zzdpos.util.Global;
import java.util.List;
public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, ActivityMsBinding>
implements MsContract.View<Sku> {
public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, ActivityMsBinding> implements MsContract.View<Sku> {
private ManagerFragment mManagerFragment = new ManagerFragment();
private EditorFragment mEditorFragment = new EditorFragment();
private AddFragment mAddFragment = new AddFragment();
private SearchFragment<Sku> mSearchFragment = new SearchFragment<>();
private ScanFragment<Sku> mScanFragment = new ScanFragment<>();
private ScanFragment mScanFragment = new ScanFragment<>();
private LoadingDialog mLoadingDialog = new LoadingDialog();
......@@ -50,12 +45,8 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
@Override
public void initView() {
this.loadRootFragment(R.id.f_ms, mManagerFragment);
mViewBinding.setTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.btnBack.setOnClickListener(view -> {
getTopFragment().onBackPressedSupport();
onBackPressedSupport();
});
mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport());
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH) {
KeyboardUtils.hideSoftInput(textView);
......@@ -65,6 +56,10 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
});
}
@Override
public void onBackPressedSupport() {
}
@Override
public void showMsg(String msg) {
ToastUtils.showShort(msg);
......@@ -82,11 +77,15 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
@Override
public void showEditorFragment(Ms ms) {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(getTitleRes(ms.getMsTools()));
start(mEditorFragment.setMs(ms).setEditMode(C.MS_EDITOR_MODE.UPDATE));
}
@Override
public void showEditorFragment(int msType) {
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(getTitleRes(msType));
start(mEditorFragment.setMs(msType).setEditMode(C.MS_EDITOR_MODE.ADD));
}
......@@ -96,10 +95,20 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
this.start(mSearchFragment.setSearchType(searchType));
}
@Override
public void showSearchFragment(String keyword, int searchType) {
this.showTitleBarByTitleMode(searchType);
this.start(mSearchFragment.setKeyword(keyword).setSearchType(searchType));
}
@Override
public void showScanFragment(int searchType) {
this.showTitleBarByTitleMode(searchType);
this.start(mScanFragment.setSearchType(searchType));
mScanFragment.setOnScanCompletedListener(barcode -> {
mScanFragment.pop();
mPresenter.scanCompleted(barcode, searchType);
});
this.start(mScanFragment);
}
......@@ -150,13 +159,21 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
@Override
public void backToEditFragment() {
this.popTo(EditorFragment.class, false);
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
this.pop();
}
@Override
public void backToManagerFragment() {
this.popTo(ManagerFragment.class, false);
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.ms_title);
this.pop();
}
@Override
public void backToMenuActivity() {
mPresenter.doOnFinish();
this.finish();
}
@Override
......@@ -189,6 +206,29 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
}
}
/**
* 获取文字信息
*
* @param msType 营销计划类型
* @return 营销计划名称
*/
private int getTitleRes(int msType) {
switch (msType) {
case C.MS_TYPE.DIS:
return R.string.ms_type_dis;
case C.MS_TYPE.PROMOTION:
return R.string.ms_type_promotion;
case C.MS_TYPE.MONEY_OFF:
return R.string.ms_type_money_off;
case C.MS_TYPE.GIFT:
return R.string.ms_type_gift;
case C.MS_TYPE.SECOND:
return R.string.ms_type_dis;
default:
return R.string.ms_title;
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Global.clickHideKeyboard(ev, this);
......
......@@ -47,9 +47,19 @@ interface MsContract {
/**
* 显示搜索页面
*
* @param searchType 搜索类型
*/
void showSearchFragment(int searchType);
/**
* 显示搜素页面
*
* @param keyword 关键字
* @param searchType 搜索类型
*/
void showSearchFragment(String keyword, int searchType);
/**
* 显示扫描页面
*
......@@ -131,6 +141,11 @@ interface MsContract {
*/
void backToManagerFragment();
/**
* 退回到菜单页面
*/
void backToMenuActivity();
/**
* 显示读取对话框
*/
......@@ -184,6 +199,11 @@ interface MsContract {
*/
public abstract void clickGroupSkuSearch();
/**
* 编辑页面 - 点击营销主体商品的扫描键
*/
public abstract void clickGroupSkuScan();
/**
* 编辑页面 - 点击营销类型商品的搜索框
*/
......@@ -218,9 +238,17 @@ interface MsContract {
public abstract void clickSku(Sku sku, int searchType);
/**
* 搜素页面 - 退出
* 扫描页面 - 扫描成功
*
* @param barcode 条码
* @param searchType 扫描类型
*/
public abstract void scanCompleted(String barcode, int searchType);
/**
* 主页面 - 退出
*/
public abstract void exitSearchFragment();
public abstract void doOnFinish();
}
}
package com.xingdata.zzdpos.ui.marketing.ms;
import com.blankj.utilcode.util.SPUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.base.BaseSku;
......@@ -11,12 +12,18 @@ import com.xingdata.zzdpos.ui.marketing.ms.model.Area;
import com.xingdata.zzdpos.ui.marketing.ms.model.Group;
import com.xingdata.zzdpos.ui.marketing.ms.model.Type;
import com.xingdata.zzdpos.ui.marketing.ms.model.User;
import com.xingdata.zzdpos.ui.splash.SplashActivity;
import com.xingdata.zzdpos.ui.splash.SplashPresenter;
import java.util.ArrayList;
import java.util.List;
public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku> {
/**
* 是否需要同步
*/
private boolean isNeedSync = false;
/**
* 页码
*/
......@@ -106,6 +113,11 @@ public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku>
mView.showSearchFragment(C.TITLE_MODE.SKU);
}
@Override
public void clickGroupSkuScan() {
mView.showScanFragment(C.TITLE_MODE.SKU);
}
@Override
public void clickTypeSkuSearch() {
mView.showSearchFragment(C.TITLE_MODE.GIFT);
......@@ -128,6 +140,7 @@ public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku>
.doOnSubscribe(disposable -> mView.dismissLoadingDialog())
.subscribe(ms1 -> {
mView.showMsg("添加成功");
isNeedSync = true;
mView.backToManagerFragment();
mView.addMs(ms1);
}, throwable -> {
......@@ -139,6 +152,7 @@ public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku>
.doOnSubscribe(disposable -> mView.dismissLoadingDialog())
.subscribe(ms1 -> {
mView.showMsg("修改成功");
isNeedSync = true;
mView.backToManagerFragment();
mView.updateMs(ms1);
}, throwable -> {
......@@ -166,10 +180,34 @@ public class MsPresenter<Sku extends BaseSku> extends MsContract.Presenter<Sku>
}
}
@Override
public void scanCompleted(String barcode, int searchType) {
mView.showSearchFragment(barcode, searchType);
}
@Override
public void exitSearchFragment() {
mView.backToEditFragment();
public void doOnFinish() {
if (!isNeedSync) return;
final double[] nowPro = {0.0};
mView.showLoadingDialog();
SPUtils.getInstance().put(SplashActivity.SYNCHRONOUSERRORCODE, "");
SPUtils.getInstance().put(SplashActivity.SYNCHRONOUSERRORMSG, "");
for (int i = 0; i < SplashPresenter.listSync.size(); i++) {
ApiFactory.Sync.allDownload(SplashPresenter.listSync.get(i), new SplashPresenter.SynchronousTask() {
@Override
public void getPro(double pro) {
nowPro[0] += pro;
if (nowPro[0] >= 100) {
mView.dismissLoadingDialog();
}
}
@Override
public void error(String table, String errCode, String errMsg) {
}
}, (100.00 / SplashPresenter.listSync.size()));
}
}
/**
......
......@@ -5,6 +5,7 @@ import android.support.v7.widget.GridLayoutManager;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsAddBinding;
import com.xingdata.zzdpos.ui.marketing.ms.MsActivity;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.TypeAdapter;
import com.xingdata.zzdpos.ui.marketing.ms.model.Type;
......@@ -48,4 +49,9 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
mTypeAdapter.setNewData(types);
}
@Override
public boolean onBackPressedSupport() {
((MsActivity) getActivity()).backToManagerFragment();
return super.onBackPressedSupport();
}
}
......@@ -21,6 +21,7 @@ import com.xingdata.zzdpos.databinding.FragmentMsEditorBinding;
import com.xingdata.zzdpos.databinding.ViewTimeDetailBinding;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.MsActivity;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.BeanAdapter;
import com.xingdata.zzdpos.ui.marketing.ms.model.Area;
......@@ -502,4 +503,10 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
mPresenter.clickEditorConfirm(mMs, mEditorMode);
}
@Override
public boolean onBackPressedSupport() {
((MsActivity) getActivity()).backToManagerFragment();
return super.onBackPressedSupport();
}
}
......@@ -8,6 +8,7 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsManagerBinding;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.ui.marketing.ms.MsActivity;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.MsAdapter;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
......@@ -43,6 +44,12 @@ public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManager
refreshMs();
}
@Override
public boolean onBackPressedSupport() {
((MsActivity) getActivity()).backToMenuActivity();
return super.onBackPressedSupport();
}
/**
* 加载营销计划数据
*
......
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.FragmentMsScanBinding;
import com.xingdata.zzdpos.ui.store.StorePresenter;
public class ScanFragment<Sku extends BaseSku> extends BaseFragment<StorePresenter, FragmentMsScanBinding> {
private int mSearchType;
@Override
public int getLayoutId() {
return R.layout.fragment_ms_scan;
}
@Override
public void initView() {
}
/**
* 设置搜索类型
*
* @param searchType 搜索类型
* @return this
*/
public ScanFragment setSearchType(int searchType) {
this.mSearchType = searchType;
return this;
}
}
......@@ -3,19 +3,25 @@ package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.TextView;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BaseSku;
import com.xingdata.zzdpos.databinding.FragmentMsSearchBinding;
import com.xingdata.zzdpos.ui.marketing.ms.MsActivity;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.SkuAdapter;
import java.util.List;
public class SearchFragment<Sku extends BaseSku> extends BaseFragment<MsPresenter, FragmentMsSearchBinding> {
private int mSearchType;
private String mKeyword;
private SkuAdapter<Sku> mSkuAdapter;
@Override
......@@ -39,15 +45,12 @@ public class SearchFragment<Sku extends BaseSku> extends BaseFragment<MsPresente
// set empty
@SuppressLint("InflateParams") View view = getLayoutInflater().inflate(R.layout.view_empty, null);
((TextView) view.findViewById(R.id.tv_empty)).setText(R.string.sku_empty_hint);
mSkuAdapter.setEmptyView(view);
mSkuAdapter.isUseEmpty(false);
}
@Override
public void onDestroyView() {
mPresenter.exitSearchFragment();
super.onDestroyView();
//init
if (!StringUtils.isEmpty(mKeyword)) mPresenter.clickSearchButton(mKeyword);
}
/**
......@@ -84,4 +87,20 @@ public class SearchFragment<Sku extends BaseSku> extends BaseFragment<MsPresente
this.mSearchType = searchType;
return this;
}
/**
* 设置搜索关键字
*
* @param keyword 关键字
*/
public SearchFragment setKeyword(String keyword) {
this.mKeyword = keyword;
return this;
}
@Override
public boolean onBackPressedSupport() {
((MsActivity) getActivity()).backToEditFragment();
return super.onBackPressedSupport();
}
}
......@@ -29,6 +29,9 @@ public class GroupSkuView<Sku extends BaseSku> extends BaseGroupView<ViewGroupSk
mViewBinding.etSearch.setOnFocusChangeListener((view, b) -> {
if (b) mPresenter.clickGroupSkuSearch();
});
mViewBinding.btnScan.setOnClickListener(view -> {
mPresenter.clickGroupSkuScan();
});
}
@SuppressLint("SetTextI18n")
......@@ -37,6 +40,7 @@ public class GroupSkuView<Sku extends BaseSku> extends BaseGroupView<ViewGroupSk
if (mMs.getMsTouchTag2() == null || mMs.getMsTouchTag2() != C.MS_GROUP.SKU) return;
mViewBinding.llProduct.setVisibility(View.VISIBLE);
mViewBinding.etSearch.setText(ConvertUtil.longToString(mMs.getSkuBarCode()));
mViewBinding.setName(mMs.getSkuName());
mViewBinding.setPrice(ConvertUtil.fenToYuan(mMs.getSkuPrice1(), true));
}
......
......@@ -19,6 +19,7 @@ import com.xingdata.zzdpos.util.InputFilters;
*/
public class TypeMoneyOffView extends BaseTypeView<ViewTypeMoneyOffBinding> {
private View.OnFocusChangeListener mOnFocusChangeListener;
public TypeMoneyOffView() {
......
......@@ -41,7 +41,7 @@ public class RechargeRuleEditFragment extends BaseFragment<RechargeRulePresenter
mViewBinding.infoTitle.popMenu.setVisibility(View.GONE);
if (mMscard != null) {
mViewBinding.infoTitle.tvTitle.setText("修改会员");
mViewBinding.infoTitle.tvTitle.setText("修改充值优惠");
mViewBinding.ruleNameLayout.setVisibility(View.GONE);
mViewBinding.ruleName.setText("充" + ConvertUtil.fenToYuanNoZero(mMscard.getCruleChargeAmt()) + "送" + ConvertUtil.fenToYuanNoZero(mMscard.getCruleSendAmt()) + "元");
mViewBinding.rechargAmt.setText(ConvertUtil.fenToYuanNoZero(mMscard.getCruleChargeAmt()));
......
package com.xingdata.zzdpos.ui.settle;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
......@@ -159,6 +157,7 @@ public class SettlePresenter extends SettleContract.Presenter {
mView.loadVips(vips);
},
throwable -> {
mView.loadVips(new ArrayList<>());
});
}
......@@ -387,9 +386,9 @@ public class SettlePresenter extends SettleContract.Presenter {
private void paySucc(Saleorder saleorder) {
mView.showPaySuccFragment(saleorder);
this.updateHandover(MainPresenter.handoverInfo);
try{
try {
ZX_PrintPOS.getInstance(MainActivity.mainActivity).print(1, saleorder);
}catch (Exception e){
} catch (Exception e) {
ToastUtils.showShort("打印异常");
}
......
......@@ -8,6 +8,7 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSettleTicketBinding;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.ui.settle.SettleActivity;
import com.xingdata.zzdpos.ui.settle.SettlePresenter;
import com.xingdata.zzdpos.ui.settle.adapter.TicketAdapter;
......@@ -96,4 +97,10 @@ public class TicketFragment extends BaseFragment<SettlePresenter, FragmentSettle
mTicketAdapter.notifyDataSetChanged();
}
@Override
public boolean onBackPressedSupport() {
((SettleActivity) getActivity()).backToSettleFragment();
return super.onBackPressedSupport();
}
}
......@@ -9,6 +9,7 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSettleVipBinding;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.settle.SettleActivity;
import com.xingdata.zzdpos.ui.settle.SettlePresenter;
import com.xingdata.zzdpos.ui.settle.adapter.VipAdapter;
......@@ -48,13 +49,10 @@ public class VipFragment extends BaseFragment<SettlePresenter, FragmentSettleVip
* @param vips 会员列表
*/
public void loadVips(List<Vip> vips) {
((TextView) mVipAdapter.getEmptyView().findViewById(R.id.tv_empty)).setText(R.string.settle_vip_search_none);
if (vips.size() == 1) {
mPresenter.selectVip(vips.get(0));
this.pop();
} else if (vips.size() == 0) {
mVipAdapter.setNewData(vips);
mViewBinding.setEmpty(vips.size() == 0);
((TextView) mVipAdapter.getEmptyView().findViewById(R.id.tv_empty)).setText(R.string.settle_vip_search_none);
} else {
mViewBinding.setEmpty(vips.size() == 0);
mVipAdapter.setNewData(vips);
......@@ -63,8 +61,8 @@ public class VipFragment extends BaseFragment<SettlePresenter, FragmentSettleVip
@Override
public void onDestroyView() {
mPresenter.exitVipFragment();
super.onDestroyView();
public boolean onBackPressedSupport() {
((SettleActivity) getActivity()).backToSettleFragment();
return super.onBackPressedSupport();
}
}
......@@ -67,18 +67,20 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
return false;
});
mViewBinding.btnScan.setOnClickListener(view -> PermissionUtils.permission(PermissionConstants.CAMERA)
.callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
mPresenter.clickScan();
}
@Override
public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) {
}
})
.request());
mViewBinding.btnScan.setOnClickListener(view ->
PermissionUtils.permission(PermissionConstants.CAMERA)
.callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
mPresenter.clickScan();
}
@Override
public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) {
}
})
.request()
);
mScanFragment.setOnScanCompletedListener(barcode -> mPresenter.scanComplete(barcode));
}
......@@ -159,8 +161,10 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
public void showSearchFragment() {
if (!mSearchFragment.isAdded()) {
mViewBinding.setTitleMode(C.TITLE_MODE.SKU);
mViewBinding.etSearch.setVisibility(View.VISIBLE);
mViewBinding.etSearch.setText("");
mViewBinding.etSearch.requestFocus();
KeyboardUtils.showSoftInput(mViewBinding.etSearch);
this.start(mSearchFragment.setKeyword(""));
}
}
......
......@@ -10,6 +10,7 @@ import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.ImageView;
import android.widget.TextView;
import com.blankj.utilcode.util.ScreenUtils;
import com.blankj.utilcode.util.StringUtils;
......@@ -53,6 +54,7 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
// set empty
@SuppressLint("InflateParams") View view = getLayoutInflater().inflate(R.layout.view_empty, null);
((TextView) view.findViewById(R.id.tv_empty)).setText(R.string.sku_empty_hint);
mSkuAdapter.setEmptyView(view);
mSkuAdapter.isUseEmpty(false);
......
......@@ -10,6 +10,7 @@ import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.ImageView;
import android.widget.TextView;
import com.blankj.utilcode.util.ScreenUtils;
import com.blankj.utilcode.util.StringUtils;
......@@ -64,6 +65,7 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
else mPresenter.clickRemoveSku(sku, value);
});
// set grp listener
mSkugrpAdapter.setOnItemClickListener((adapter, view, position) -> mPresenter.clickSkugrp(mSkugrpAdapter.getData().get(position)));
......@@ -73,12 +75,10 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
// set empty
@SuppressLint("InflateParams") View emptyView = getLayoutInflater().inflate(R.layout.view_empty, null);
((TextView) emptyView.findViewById(R.id.tv_empty)).setText(R.string.sku_empty_hint);
mSkuAdapter.setEmptyView(emptyView);
mSkuAdapter.isUseEmpty(false);
// init data
mPresenter.initStore();
}
......
......@@ -20,6 +20,7 @@ import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.vip.fragment.VipAddSucceedFragment;
import com.xingdata.zzdpos.util.Global;
import com.xingdata.zzdpos.view.ViewTools;
......@@ -50,7 +51,9 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding>
@Override
public void addVipSus(Vip vip) {
mPresenter.vipListFragment.updateVipSus(vip);
// mPresenter.vipListFragment.updateVipSus(vip);
mPresenter.vipAddSucceedFragment.setmVip(vip);
start(mPresenter.vipAddSucceedFragment);
}
@Override
......
......@@ -16,6 +16,7 @@ import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.vip.fragment.VipAddSucceedFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipExpenseListFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipInfoFragment;
......@@ -37,6 +38,7 @@ public class VipPresenter extends VipContract.Presenter {
public VipTruleListFragment vipMscardListFragment = new VipTruleListFragment();
public VipSearchFragment vipSearchFragment = new VipSearchFragment();
public VipRechargeFragment vipRechargeFragment = new VipRechargeFragment();
public VipAddSucceedFragment vipAddSucceedFragment =new VipAddSucceedFragment();
public int inVipState = 0; //1 充值
@Override
......@@ -78,8 +80,11 @@ public class VipPresenter extends VipContract.Presenter {
@Override
public void addVip(Vip vip) {
int vipDis= vip.getVipDefDiscount();
if (vip.getVipId() == null) {
ApiFactory.User.addVip(vip).subscribe(mVip -> {
mVip.setVipLevelName(vip.getVipLevelName());
mVip.setVipDefDiscount(vipDis);
mView.addVipSus(mVip);
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
......
package com.xingdata.zzdpos.ui.vip.fragment;
/**
* Created by JM_DEV on 2017/12/21.
*/
import android.view.View;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentVipAddSucceedBinding;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.vip.VipPresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.OnClickListener;
/**
* 会员信息界面
*/
public class VipAddSucceedFragment extends BaseFragment<VipPresenter, FragmentVipAddSucceedBinding> {
private Vip mVip;
@Override
public int getLayoutId() {
return R.layout.fragment_vip_add_succeed;
}
@Override
public void initView() {
mViewBinding.infoTitle.popMenu.setVisibility(View.GONE);
mViewBinding.infoTitle.tvTitle.setText("添加成功");
mViewBinding.vipName.setText(mVip.getVipName());
mViewBinding.vipMobile.setText(mVip.getVipMobile() + "");
if (String.valueOf(mVip.getVipTag()).equals("1")) {
mViewBinding.vipLevel.setText("超级会员" + " " + ConvertUtil.discount(mVip.getVipDefDiscount()) + "折");
} else {
mViewBinding.vipLevel.setText(mVip.getVipLevelName() + " " + ConvertUtil.discount(mVip.getVipDefDiscount()) + "折");
}
mViewBinding.onAdd.setOnClickListener(view -> {
ToastUtils.showShort("111");
});
// mViewBinding.setOnClickListener(view -> {
// switch (view.getId()) {
// case R.id.onSure:
//
// break;
//
// case R.id.onAdd;
//
// break;
//
// case R.id.
// }
// });
mViewBinding.infoTitle.ivBack.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
mPresenter.vipListFragment.updateVipSus(null);
}
});
}
public void setmVip(Vip mVip) {
this.mVip = mVip;
}
}
......@@ -37,8 +37,9 @@ import java.util.List;
public class VipInfoEditFragment extends BaseFragment<VipPresenter, FragmentVipInfoEditBinding> {
private List<Level> levels;
private ArrayList<Level> mLevels = new ArrayList<>();
private Vip mVip;
private Vip vip;
private Byte vipTag;
private int vipDiscounts;
@Override
public int getLayoutId() {
......@@ -48,20 +49,20 @@ public class VipInfoEditFragment extends BaseFragment<VipPresenter, FragmentVipI
@Override
public void initView() {
mViewBinding.infoTitle.popMenu.setVisibility(View.GONE);
if (mVip != null) {
if (vip != null) {
mViewBinding.infoTitle.tvTitle.setText("修改会员");
mViewBinding.vipDiscounts.setText(mVip.getVipLevelName() + mVip.getVipDefDiscount() + "折");
mViewBinding.vipBirthday.setText(StringUtil.format(new Date(mVip.getVipBirthday())));
mViewBinding.vipName.setText(mVip.getVipName());
mViewBinding.vipPhone.setText(mVip.getVipMobile() + "");
if (String.valueOf(mVip.getVipTag()).equals("1")) {
mViewBinding.vipDiscounts.setText("超级会员"+ " " + ConvertUtil.discount(mVip.getVipDefDiscount()) + "折");
mViewBinding.vipDiscounts.setText(vip.getVipLevelName() + vip.getVipDefDiscount() + "折");
mViewBinding.vipBirthday.setText(StringUtil.format(new Date(vip.getVipBirthday())));
mViewBinding.vipName.setText(vip.getVipName());
mViewBinding.vipPhone.setText(vip.getVipMobile() + "");
if (String.valueOf(vip.getVipTag()).equals("1")) {
mViewBinding.vipDiscounts.setText("超级会员" + " " + ConvertUtil.discount(vip.getVipDefDiscount()) + "折");
} else {
mViewBinding.vipDiscounts.setText(mVip.getVipLevelName() + " " + ConvertUtil.discount(mVip.getVipDefDiscount()) + "折");
mViewBinding.vipDiscounts.setText(vip.getVipLevelName() + " " + ConvertUtil.discount(vip.getVipDefDiscount()) + "折");
}
mViewBinding.vipDiscounts.setEnabled(false);
// ((CheckBox) mViewBinding.vipSuper).setChecked(mVip.getVipTag() == 1);
RadioButton radioButton = mViewBinding.vipSex.findViewWithTag(mVip.getVipSex().toString());
RadioButton radioButton = mViewBinding.vipSex.findViewWithTag(vip.getVipSex().toString());
if (radioButton != null) {
radioButton.setChecked(true);
}
......@@ -69,6 +70,7 @@ public class VipInfoEditFragment extends BaseFragment<VipPresenter, FragmentVipI
mViewBinding.infoTitle.tvTitle.setText("添加会员");
mViewBinding.vipDiscounts.setEnabled(true);
mViewBinding.vipDiscounts.setText(levels.get(0).getVipLevelName() + " " + ConvertUtil.discount(levels.get(0).getVipDefDiscount()) + "折");
vipDiscounts = levels.get(0).getVipDefDiscount();
mViewBinding.vipBirthday.setText(StringUtil.format(new Date(System.currentTimeMillis())));
((RadioButton) mViewBinding.vipSex.getChildAt(0)).setChecked(true);
}
......@@ -96,9 +98,10 @@ public class VipInfoEditFragment extends BaseFragment<VipPresenter, FragmentVipI
ToastUtils.showShort("手机号长度必须为11位");
return;
}
if (mVip == null) {
mVip = new Vip();
Vip mVip = new Vip();
if (vip != null) {
mVip.setVipId(vip.getVipId());
mVip.setVipDefDiscount(vip.getVipDefDiscount());
}
mVip.setVipName(mViewBinding.vipName.getText().toString().trim());
mVip.setVipMobile(Long.parseLong(mViewBinding.vipPhone.getText().toString().trim()));
......@@ -107,8 +110,9 @@ public class VipInfoEditFragment extends BaseFragment<VipPresenter, FragmentVipI
mVip.setVipLevelName("超级会员");
} else {
mVip.setVipTag(Byte.parseByte("0"));
mVip.setVipLevelName(levels.get(0).getVipLevelName());
}
mVip.setVipDefDiscount(vipDiscounts);
int sexId = mViewBinding.vipSex.getCheckedRadioButtonId();
if (sexId != -1) {
mVip.setVipSex(Byte.parseByte(mViewBinding.vipSex.findViewById(sexId).getTag().toString()));
......@@ -136,8 +140,13 @@ public class VipInfoEditFragment extends BaseFragment<VipPresenter, FragmentVipI
OptionsPickerView.OnOptionsSelectListener() {
@Override
public void onOptionsSelect(int options1, int options2, int options3, View v) {
String tx = levels.get(options1).getPickerViewText();
mViewBinding.vipDiscounts.setText(tx + " " + ConvertUtil.discount(levels.get(options1 - 1).getVipDefDiscount()) + "折");
if (options1 == 0) {
mViewBinding.vipDiscounts.setText(levels.get(options1).getPickerViewText() + " " + ConvertUtil.discount(levels.get(options1).getVipDefDiscount()) + "折");
vipDiscounts = levels.get(options1).getVipDefDiscount();
} else {
mViewBinding.vipDiscounts.setText(levels.get(levels.size() - 1).getVipLevelName() + " " + ConvertUtil.discount(levels.get(levels.size() - 1).getVipDefDiscount()) + "折");
vipDiscounts = levels.get(levels.size() - 1).getVipDefDiscount();
}
vipTag = Byte.parseByte(options1 + "");
}
}).setTitleText("请选择")
......@@ -159,11 +168,11 @@ public class VipInfoEditFragment extends BaseFragment<VipPresenter, FragmentVipI
}
public void setVip(Vip mVip) {
this.mVip = mVip;
this.vip = mVip;
}
public Vip getmVip() {
return mVip;
return vip;
}
//将两个选择时间的dialog放在该函数中
......
......@@ -194,6 +194,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
levels = levelPager.getList();
Level level = new Level();
level.setVipLevelName("超级会员");
level.setVipDefDiscount(levels.get(levels.size()-1).getVipDefDiscount());
levels.add(level);
}
......
......@@ -19,7 +19,7 @@
<TextView
android:id="@+id/tv_update"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:layout_height="@dimen/list1_height"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:text="@string/sku_update"
......@@ -36,7 +36,7 @@
<TextView
android:id="@+id/tv_update_price"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:layout_height="@dimen/list1_height"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:text="@string/sku_update_price"
......@@ -53,7 +53,7 @@
<TextView
android:id="@+id/tv_update_vip"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:layout_height="@dimen/list1_height"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:text="@string/sku_update_vip"
......@@ -64,7 +64,7 @@
<TextView
android:id="@+id/tv_cancel"
android:layout_width="match_parent"
android:layout_height="@dimen/button3_height"
android:layout_height="@dimen/list1_height"
android:layout_marginTop="@dimen/all_margin"
android:background="@drawable/shape_white_r1"
android:foreground="?android:attr/selectableItemBackground"
......
......@@ -81,6 +81,7 @@
android:hint="@string/ms_editor_name_hint"
android:inputType="text"
android:lines="1"
android:maxLength="16"
android:text="@{name}"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_body_size" />
......
......@@ -283,8 +283,6 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginRight="@dimen/all_margin_left"
android:orientation="horizontal">
<Button
......
......@@ -67,7 +67,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@drawable/shape_gray_r1"
android:background="@drawable/shape_black_b2"
android:padding="@dimen/all_spacing"
android:text="@{@string/sku_size+sku.spuUnitName}"
android:textSize="@dimen/all_caption_size"
......
......@@ -134,6 +134,7 @@
android:hint="@string/sku_name_hint"
android:inputType="text"
android:labelFor="@+id/et_name"
android:maxLength="16"
android:saveEnabled="false"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_body_size"
......
......@@ -164,32 +164,36 @@
android:layout_height="match_parent"
android:baselineAligned="false">
<LinearLayout
<android.support.v4.widget.NestedScrollView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_skugrp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_weight="1">
<FrameLayout
android:id="@+id/ll_skugrp_add"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:foreground="?android:attr/selectableItemBackground">
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_skugrp"
android:layout_width="match_parent"
android:layout_height="@dimen/all_sub_title_size"
android:layout_gravity="center"
android:contentDescription="@null"
android:src="@mipmap/grp_add" />
</FrameLayout>
android:layout_height="wrap_content" />
</LinearLayout>
<FrameLayout
android:id="@+id/ll_skugrp_add"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:layout_width="match_parent"
android:layout_height="@dimen/all_sub_title_size"
android:layout_gravity="center"
android:contentDescription="@null"
android:src="@mipmap/grp_add" />
</FrameLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_sku"
......
......@@ -54,7 +54,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@drawable/shape_gray_r1"
android:background="@drawable/shape_black_b2"
android:padding="@dimen/all_spacing"
android:text="@{@string/sku_size+sku.spuUnitName}"
android:textSize="@dimen/all_caption_size"
......
......@@ -54,7 +54,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@drawable/shape_gray_r1"
android:background="@drawable/shape_black_b2"
android:padding="@dimen/all_spacing"
android:text="@{@string/sku_size+sku.spuUnitName}"
android:textSize="@dimen/all_caption_size"
......
......@@ -145,7 +145,6 @@
style="@style/button_positive_noradius"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:onClick="@{onClickListener}"
android:text="确认" />
......
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name="onClickListener"
type="com.xingdata.zzdpos.util.OnClickListener" />
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg"
android:orientation="vertical">
<include
android:id="@+id/info_title"
layout="@layout/title_pop" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_margin_left"
android:background="@mipmap/tv_bg"
android:gravity="center_horizontal"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_margin_left"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/ic_succeed" />
<TextView
style="@style/default_blacktext_bigstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加成功" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginRight="@dimen/all_margin_left"
android:background="@color/white"
android:orientation="horizontal">
<TextView
style="@style/default_blacktext_no_margin_smallstyle"
android:text="会员手机" />
<TextView
android:id="@+id/vip_name"
style="@style/default_blacktext_no_margin_smallstyle"
android:layout_width="match_parent"
android:gravity="right"
android:text="111111"
android:textColor="@color/black_likui" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginRight="@dimen/all_margin_left"
android:background="@color/white"
android:orientation="horizontal">
<TextView
style="@style/default_blacktext_no_margin_smallstyle"
android:text="会员手机" />
<TextView
android:id="@+id/vip_mobile"
style="@style/default_blacktext_no_margin_smallstyle"
android:layout_width="match_parent"
android:gravity="right"
android:text="111111"
android:textColor="@color/black_likui" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_margin_left"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginRight="@dimen/all_margin_left"
android:background="@color/white"
android:orientation="horizontal">
<TextView
style="@style/default_blacktext_no_margin_smallstyle"
android:text="会员等级" />
<TextView
android:id="@+id/vip_level"
style="@style/default_blacktext_no_margin_smallstyle"
android:layout_width="match_parent"
android:gravity="right"
android:text=""
android:textColor="@color/black_likui" />
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical">
<Button
android:id="@+id/onSure"
style="@style/button_positive_noradius"
android:layout_alignParentBottom="true"
android:onClick="@{onClickListener}"
android:text="完成" />
<Button
android:id="@+id/onRecharge"
style="@style/button_positive_white"
android:layout_alignBottom="@id/onRecharge"
android:layout_alignParentBottom="true"
android:onClick="@{onClickListener}"
android:text="充值" />
<Button
android:id="@+id/onAdd"
style="@style/button_positive_white"
android:layout_alignBottom="@id/onRecharge"
android:layout_alignParentBottom="true"
android:onClick="@{onClickListener}"
android:text="继续添加" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -275,7 +275,6 @@
android:layout_gravity="center_vertical"
android:background="@color/white"
android:orientation="horizontal">
<TextView
style="@style/default_blacktext_margin_16_sp_style"
android:layout_width="wrap_content"
......
......@@ -231,8 +231,6 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginRight="@dimen/all_margin_left"
android:layout_height="match_parent"
android:orientation="horizontal">
......
......@@ -202,8 +202,6 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginRight="@dimen/all_margin_left"
android:layout_height="match_parent"
android:orientation="horizontal">
......
......@@ -22,8 +22,8 @@
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_pic"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_width="64dp"
android:layout_height="64dp"
app:failureImage="@mipmap/icon_goods_default"
app:placeholderImage="@mipmap/icon_goods_default"
app:roundedCornerRadius="@dimen/all_shape_radius" />
......@@ -42,7 +42,7 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:layout_marginTop="@dimen/all_spacing"
app:layout_constraintLeft_toLeftOf="@id/tv_name"
app:layout_constraintTop_toBottomOf="@id/tv_name">
......
......@@ -21,8 +21,8 @@
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_pic"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_width="80dp"
android:layout_height="80dp"
app:failureImage="@mipmap/icon_goods_default"
app:placeholderImage="@mipmap/icon_goods_default"
app:roundedCornerRadius="@dimen/all_shape_radius" />
......
......@@ -15,34 +15,39 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_margin"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginRight="@dimen/all_margin_left"
android:background="@mipmap/img_boss" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/padding_big"
android:layout_marginTop="@dimen/padding_big"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:orientation="vertical">
<TextView
android:id="@+id/user_name"
style="@style/default_blacktext_bigstyle"
android:id="@+id/user_mobile"
android:textSize="@dimen/all_text_size_small"
style="@style/default_blacktext_margin_16_sp_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="张小萌" />
android:text="13311556556" />
<TextView
android:id="@+id/user_mobile"
style="@style/default_blacktext_smallstyle"
android:id="@+id/user_name"
style="@style/default_blacktext_margin_16_sp_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="13311556556" />
android:text="张小萌" />
</LinearLayout>
<LinearLayout
......@@ -71,7 +76,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="@dimen/detail_textview_size" />
android:textSize="@dimen/big_big_text_size" />
<TextView
android:layout_width="match_parent"
......
......@@ -9,8 +9,15 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_margin="@dimen/all_margin_left"
android:background="@mipmap/hd_default02"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -19,14 +26,14 @@
<TextView
android:id="@+id/vip_name"
style="@style/default_blacktext_bigstyle"
style="@style/default_blacktext_nopadding_smallstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="张小萌" />
<TextView
android:id="@+id/vip_mobile"
style="@style/default_blacktext_smallstyle"
style="@style/default_blacktext_nopadding_smallstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="13311556556" />
......
......@@ -7,7 +7,6 @@
name="onClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/>
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
......
......@@ -710,7 +710,7 @@
<string name="sku_subtitle_price">调整价格</string>
<string name="sku_price1">售价:</string>
<string name="sku_price2">促销价:</string>
<string name="sku_subtitle_vip">会员信息</string>
<string name="sku_subtitle_vip">折扣信息</string>
<string name="sku_vip_dis">会员折扣</string>
<string name="sku_point1">消费每满</string>
<string name="sku_point2">元等于1积分</string>
......@@ -729,11 +729,10 @@
<string name="sku_update">编辑商品</string>
<string name="sku_update_price">调整价格</string>
<string name="sku_update_vip">调整会员</string>
<string name="sku_update_vip">调整积分</string>
<string name="sku_name_hint">请输入商品名称</string>
<string name="sku_empty_hint">没有找到对应商品~</string>
</resources>
......@@ -63,6 +63,14 @@
<item name="android:textColor">@color/black</item>
<item name="android:textSize">@dimen/all_text_size</item>
</style>
<style name="default_blacktext_no_margin_smallstyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">35dp</item>
<item name="android:gravity">center_vertical</item>
<item name="android:singleLine">true</item>
<item name="android:textColor">@color/black</item>
<item name="android:textSize">@dimen/all_text_size</item>
</style>
<style name="default_blacktext_margin_smallstyle">
<item name="android:layout_width">wrap_content</item>
......@@ -307,9 +315,34 @@
<style name="button_positive_noradius">
<item name="android:background">@drawable/selector_gradient_red_button_background_noradius </item>
<item name="android:layout_height">@dimen/button3_height</item>
<item name="android:layout_width">match_parent</item>
<item name="android:textColor">@color/white</item>
<item name="android:gravity">center</item>
<item name="android:focusable">false</item>
<item name="android:layout_marginLeft">@dimen/all_margin_left</item>
<item name="android:layout_marginRight">@dimen/all_margin_left</item>
<item name="android:layout_marginBottom">@dimen/all_margin_left</item>
<item name="android:focusableInTouchMode">false</item>
</style>
<style name="button_positive_white">
<item name="android:background">@drawable/shape_red_layout </item>
<item name="android:layout_height">@dimen/button3_height</item>
<item name="android:layout_width">match_parent</item>
<item name="android:textColor">@color/deep_red</item>
<item name="android:gravity">center</item>
<item name="android:focusable">false</item>
<item name="android:layout_marginLeft">@dimen/all_margin_left</item>
<item name="android:layout_marginRight">@dimen/all_margin_left</item>
<item name="android:layout_marginBottom">@dimen/all_margin_left</item>
<item name="android:focusableInTouchMode">false</item>
</style>
<style name="button_positive_red">
<item name="android:background">@drawable/selector_gradient_red_button_background_noradius </item>
<item name="android:layout_height">@dimen/button3_height</item>
<item name="android:textColor">@color/black</item>
<item name="android:gravity">center</item>
<item name="android:focusable">false</item>
<item name="android:layout_margin">@dimen/all_margin_left</item>
<item name="android:focusableInTouchMode">false</item>
</style>
......
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