Commit 2ff3135d authored by 王海's avatar 王海

Merge remote-tracking branch 'origin/master'

parents b308154a 5cf3032f
......@@ -88,6 +88,10 @@
android:name=".ui.marketing.ms.MsActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity
android:name=".ui.manage.manageMenu.ManageMenuActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
</application>
</manifest>
\ No newline at end of file
......@@ -13,14 +13,31 @@ public class C {
public static final int MENU_MS = 103;
public static final int MENU_TICKET = 104;
public static final int MENU_STATISTICS = 105;
public static final int MENU_MANAGER = 106;
public static final int MENU_MANAGER_OPER = 1251;
public static final int MENU_MANAGER_GOODS = 1252;
public static final int MENU_MANAGER_BALE = 1253;
public static final int MENU_MANAGER_REPLENISHMENT= 1254;
public static final int MENU_MANAGER_OTHER= 1255;
public static final int MENU_MANAGER_INVENTORY= 1256;
public static final int MENU_ANNOUNCEMENT = 107;
public static final int MENU_FEED = 108;
public static final int MENU_UPDATE = 109;
public static final int MENU_HELP = 110;
public static final int MENU_EXIT = 111;
public static final int MENU_STATISTICS_ORDER = 1051;
public static final int MENU_STATISTICS_MS = 1052;
public static final int MENU_MS_VIP_LEVEL = 1151;
public static final int MENU_MS_INTEGRAL = 1152;
public static final int MENU_MS_TICKET = 1153;
public static final int MENU_MS_RECHARGE = 1154;
public static final int MENU_MS_MS = 1155;
public static final int MENU_MS_SMS = 1156;
}
......@@ -432,11 +449,15 @@ public class C {
public final class PRODUCT {
public static final int PAGE_SIZE = 36;
public static final int PAGE_SIZE = 12;
//服务器每页数据条数
public static final int SERVER_PAGE_SIZE = 5;
}
public final class MS {
public static final int PAGE_SIZE = 12;
}
public final class PAY_CHANNEL {
public static final int CASH = 1;
......
......@@ -12,7 +12,6 @@ import com.xingdata.zzdpos.model.Gbound;
import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.NewSssku;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Ubound;
import com.xingdata.zzdpos.model.UsskuParam;
......@@ -247,6 +246,7 @@ public final class ApiFactory {
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 销售订单查询接口
*
......@@ -970,8 +970,7 @@ public final class ApiFactory {
}
public static class Ms {
public static Observable<Pager<com.xingdata.zzdpos.model.Ms>> query(int pageNum, int
pageSize, String keyword) {
public static Observable<Pager<com.xingdata.zzdpos.model.Ms>> query(int pageNum, int pageSize, String keyword) {
return Api.getInstance().service.queryMs(pageNum, pageSize, keyword)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......@@ -980,6 +979,11 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3));
}
public static Observable<Pager<com.xingdata.zzdpos.model.Ms>> query(int pageNum) {
return query(pageNum, C.MS.PAGE_SIZE, "");
}
public static Observable<com.xingdata.zzdpos.model.Ms> detail(long id) {
return Api.getInstance().service.detailMs(id)
.onErrorReturn(new ErrorFilter<>())
......@@ -989,8 +993,7 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3));
}
public static Observable<com.xingdata.zzdpos.model.Ms> update(com.xingdata.zzdpos.model.Ms
ms) {
public static Observable<com.xingdata.zzdpos.model.Ms> update(com.xingdata.zzdpos.model.Ms ms) {
return Api.getInstance().service.updateMs(ms)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......@@ -1000,8 +1003,7 @@ public final class ApiFactory {
}
public static Observable<com.xingdata.zzdpos.model.Ms> add(com.xingdata.zzdpos.model.Ms
ms) {
public static Observable<com.xingdata.zzdpos.model.Ms> add(com.xingdata.zzdpos.model.Ms ms) {
return Api.getInstance().service.addMs(ms)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......@@ -1012,9 +1014,7 @@ public final class ApiFactory {
}
public static class Level {
public static Observable<com.xingdata.zzdpos.model.Level> addVipLevel(com.xingdata.zzdpos
.model.Level
level) {
public static Observable<com.xingdata.zzdpos.model.Level> addVipLevel(com.xingdata.zzdpos.model.Level level) {
return Api.getInstance().service.addVipLevel(level)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......@@ -1023,11 +1023,7 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3));
}
public static Observable<com.xingdata.zzdpos.model.Level> updateVipLevel(com.xingdata
.zzdpos
.model
.Level
level) {
public static Observable<com.xingdata.zzdpos.model.Level> updateVipLevel(com.xingdata.zzdpos.model.Level level) {
return Api.getInstance().service.updateVipLevel(level)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......
......@@ -12,6 +12,7 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentCasherBinding;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter;
import com.xingdata.zzdpos.ui.manage.manageMenu.ManageMenuActivity;
import com.xingdata.zzdpos.ui.marketing.marketingMenu.MarketingMenuActivity;
import com.xingdata.zzdpos.ui.payment.PaymentActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsActivity;
......@@ -71,7 +72,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
ActivityUtils.startActivity(getActivity(), StatisticsActivity.class);
break;
case C.MENU.MENU_MANAGER://管理
ActivityUtils.startActivity(new Intent(getActivity(),
ManageMenuActivity.class));
break;
}
......
package com.xingdata.zzdpos.ui.manage.manageMenu;
import android.databinding.DataBindingUtil;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import com.blankj.utilcode.util.ActivityUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.ActivityMarketingMenuBinding;
import com.xingdata.zzdpos.ui.marketing.integral.IntegralActivity;
import com.xingdata.zzdpos.ui.marketing.marketingMenu.MarketingMenuActivity;
import com.xingdata.zzdpos.ui.marketing.marketingMenu.adapter.MarketingMenuAdapter;
import com.xingdata.zzdpos.ui.marketing.ms.MsActivity;
import com.xingdata.zzdpos.ui.marketing.ticket.ReturnTicketActivity;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.ArrayList;
import java.util.List;
public class ManageMenuActivity extends AppCompatActivity {
MarketingMenuAdapter marketingMenuAdapter;
List<Integer> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_marketing_menu);
ActivityMarketingMenuBinding mViewBinding = DataBindingUtil.setContentView(
this, R.layout.activity_marketing_menu);
mViewBinding.icTitle.tvTitle.setText("管理");
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
ActivityUtils.finishActivity(ManageMenuActivity.class);
}
});
list.add(C.MENU.MENU_MANAGER_OPER);
list.add(C.MENU.MENU_MANAGER_GOODS);
list.add(C.MENU.MENU_MANAGER_BALE);
list.add(C.MENU.MENU_MANAGER_REPLENISHMENT);
list.add(C.MENU.MENU_MANAGER_OTHER);
list.add(C.MENU.MENU_MANAGER_INVENTORY);
marketingMenuAdapter = new MarketingMenuAdapter(list);
mViewBinding.rvMenu.setAdapter(marketingMenuAdapter);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mViewBinding.rvMenu.setLayoutManager(linearLayoutManager);
marketingMenuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (marketingMenuAdapter.getData().get(position)) {
case C.MENU.MENU_MANAGER_OPER: {
//会员等级
}
break;
case C.MENU.MENU_MANAGER_GOODS: {
//积分规则
ActivityUtils.startActivity(IntegralActivity.class);
}
break;
case C.MENU.MENU_MANAGER_BALE: {
//优惠券设置
ActivityUtils.startActivity(ReturnTicketActivity.class);
}
break;
case C.MENU.MENU_MANAGER_REPLENISHMENT: {
//充值优惠
}
break;
case C.MENU.MENU_MANAGER_OTHER: {
//营销计划
ActivityUtils.startActivity(MsActivity.class);
}
break;
case C.MENU.MENU_MANAGER_INVENTORY: {
//群发短信
}
break;
default: {
}
break;
}
}
});
}
}
......@@ -8,6 +8,7 @@ import android.view.View;
import com.blankj.utilcode.util.ActivityUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.ActivityMarketingMenuBinding;
import com.xingdata.zzdpos.model.MarketingMenuModel;
......@@ -22,7 +23,7 @@ import java.util.List;
public class MarketingMenuActivity extends AppCompatActivity {
MarketingMenuAdapter marketingMenuAdapter;
List<MarketingMenuModel> list = new ArrayList<>();
List<Integer> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -38,30 +39,13 @@ public class MarketingMenuActivity extends AppCompatActivity {
ActivityUtils.finishActivity(MarketingMenuActivity.class);
}
});
MarketingMenuModel marketingMenuModel1 = new MarketingMenuModel();
MarketingMenuModel marketingMenuModel2 = new MarketingMenuModel();
MarketingMenuModel marketingMenuModel3 = new MarketingMenuModel();
MarketingMenuModel marketingMenuModel4 = new MarketingMenuModel();
MarketingMenuModel marketingMenuModel5 = new MarketingMenuModel();
MarketingMenuModel marketingMenuModel6 = new MarketingMenuModel();
marketingMenuModel1.setMarketingMenuImg(R.mipmap.vip_level);
marketingMenuModel1.setMarketingMenuName("会员等级");
marketingMenuModel2.setMarketingMenuImg(R.mipmap.integral_rules);
marketingMenuModel2.setMarketingMenuName("积分规则");
marketingMenuModel3.setMarketingMenuImg(R.mipmap.ticker_setting);
marketingMenuModel3.setMarketingMenuName("优惠券设置");
marketingMenuModel4.setMarketingMenuImg(R.mipmap.top_up_preferential);
marketingMenuModel4.setMarketingMenuName("充值优惠");
marketingMenuModel5.setMarketingMenuImg(R.mipmap.marketing_plan);
marketingMenuModel5.setMarketingMenuName("营销计划");
marketingMenuModel6.setMarketingMenuImg(R.mipmap.sms_all);
marketingMenuModel6.setMarketingMenuName("群发短信");
list.add(marketingMenuModel1);
list.add(marketingMenuModel2);
list.add(marketingMenuModel3);
list.add(marketingMenuModel4);
list.add(marketingMenuModel5);
list.add(marketingMenuModel6);
list.add(C.MENU.MENU_MS_VIP_LEVEL);
list.add(C.MENU.MENU_MS_INTEGRAL);
list.add(C.MENU.MENU_MS_TICKET);
list.add(C.MENU.MENU_MS_RECHARGE);
list.add(C.MENU.MENU_MS_MS);
list.add(C.MENU.MENU_MS_SMS);
marketingMenuAdapter = new MarketingMenuAdapter(list);
mViewBinding.rvMenu.setAdapter(marketingMenuAdapter);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
......@@ -70,31 +54,31 @@ public class MarketingMenuActivity extends AppCompatActivity {
marketingMenuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (position) {
case 0: {
switch (marketingMenuAdapter.getData().get(position)) {
case C.MENU.MENU_MS_VIP_LEVEL: {
//会员等级
}
break;
case 1: {
case C.MENU.MENU_MS_INTEGRAL: {
//积分规则
ActivityUtils.startActivity(IntegralActivity.class);
}
break;
case 2: {
case C.MENU.MENU_MS_TICKET: {
//优惠券设置
ActivityUtils.startActivity(ReturnTicketActivity.class);
}
break;
case 3: {
case C.MENU.MENU_MS_RECHARGE: {
//充值优惠
}
break;
case 4: {
case C.MENU.MENU_MS_MS: {
//营销计划
ActivityUtils.startActivity(MsActivity.class);
}
break;
case 5: {
case C.MENU.MENU_MS_SMS: {
//群发短信
}
break;
......
......@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.marketing.marketingMenu.adapter;
import android.support.annotation.Nullable;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemMarketingMenuBinding;
......@@ -13,14 +14,78 @@ import java.util.List;
* Created by Administrator on 2017/11/24.
*/
public class MarketingMenuAdapter extends BaseAdapter<MarketingMenuModel, ItemMarketingMenuBinding> {
public MarketingMenuAdapter(@Nullable List<MarketingMenuModel> data) {
public class MarketingMenuAdapter extends BaseAdapter<Integer, ItemMarketingMenuBinding> {
private Integer titleId;
private Integer imgId;
public MarketingMenuAdapter(@Nullable List<Integer> data) {
super(R.layout.item_marketing_menu, data);
}
@Override
protected void convert(ItemMarketingMenuBinding mViewBinding, MarketingMenuModel item) {
mViewBinding.ivLogo.setImageResource(item.getMarketingMenuImg());
mViewBinding.tvMenuName.setText(item.getMarketingMenuName());
protected void convert(ItemMarketingMenuBinding mViewBinding, Integer item) {
switch (item) {
case C.MENU.MENU_MS_VIP_LEVEL:
titleId = R.string.menu_ms_vip_level;
imgId = R.mipmap.vip_level;
break;
case C.MENU.MENU_MS_INTEGRAL:
titleId = R.string.menu_ms_integral;
imgId = R.mipmap.integral_rules;
break;
case C.MENU.MENU_MS_TICKET:
titleId = R.string.menu_ms_ticket;
imgId = R.mipmap.ticker_setting;
break;
case C.MENU.MENU_MS_RECHARGE:
titleId = R.string.menu_ms_recharge;
imgId = R.mipmap.top_up_preferential;
break;
case C.MENU.MENU_MS_MS:
titleId = R.string.menu_ms_ms;
imgId = R.mipmap.marketing_plan;
break;
case C.MENU.MENU_MS_SMS:
titleId = R.string.menu_ms_sms;
imgId = R.mipmap.sms_all;
break;
case C.MENU.MENU_MANAGER_OPER: {
titleId = R.string.menu_manager_oper;
imgId = R.mipmap.ic_oper_setting;
}
break;
case C.MENU.MENU_MANAGER_GOODS: {
titleId = R.string.menu_manager_goods;
imgId = R.mipmap.ic_goods_setting;
}
break;
case C.MENU.MENU_MANAGER_BALE: {
titleId = R.string.menu_manager_bale;
imgId = R.mipmap.ic_bale;
}
break;
case C.MENU.MENU_MANAGER_REPLENISHMENT: {
titleId = R.string.menu_manager_replenishment;
imgId = R.mipmap.ic_replenishment;
}
break;
case C.MENU.MENU_MANAGER_OTHER: {
titleId = R.string.menu_manager_other;
imgId = R.mipmap.ic_other_select;
}
break;
case C.MENU.MENU_MANAGER_INVENTORY: {
titleId = R.string.menu_manager_inventory;
imgId = R.mipmap.ic_inventory;
}
break;
default: {
}
break;
}
mViewBinding.tvMenuName.setText(titleId);
mViewBinding.ivLogo.setImageResource(imgId);
}
}
package com.xingdata.zzdpos.ui.marketing.ms;
import com.blankj.utilcode.util.LogUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityMsBinding;
import com.xingdata.zzdpos.model.Ms;
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 java.util.List;
public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> implements MsContract.View {
private ManagerFragment mManagerFragment = new ManagerFragment();
private EditorFragment mEditorFragment = new EditorFragment();
private AddFragment mAddFragment = new AddFragment();
@Override
public int getLayoutId() {
return R.layout.activity_ms;
......@@ -14,6 +25,37 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
@Override
public void initView() {
this.loadRootFragment(R.id.f_ms, mManagerFragment);
mViewBinding.btnBack.setOnClickListener(view -> onBackPressedSupport());
}
@Override
public void loadMss(List<Ms> mss, boolean isRefresh) {
mManagerFragment.loadMss(mss, isRefresh);
}
@Override
public void showAddFragment() {
this.start(mAddFragment);
}
@Override
public void showEditorFragment(Ms ms) {
LogUtils.e("编辑 " + ms.getMsName());
}
@Override
public void showEditorFragment(int msType) {
LogUtils.e("添加 " + msType);
}
@Override
public void showLoadingDialog() {
}
@Override
public void dismissLoadingDialog() {
}
}
......@@ -2,13 +2,77 @@ package com.xingdata.zzdpos.ui.marketing.ms;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Ms;
import java.util.List;
interface MsContract {
interface View extends BaseView {
/**
* 加载营销计划数据
*/
void loadMss(List<Ms> mss, boolean isRefresh);
/**
* 显示添加页面
*/
void showAddFragment();
/**
* 显示编辑页面
*
* @param ms 要编辑的营销计划
*/
void showEditorFragment(Ms ms);
/**
* 显示编辑页面
*
* @param msType 计划类型
*/
void showEditorFragment(int msType);
/**
* 显示读取对话框
*/
void showLoadingDialog();
/**
* 隐藏读取对话框
*/
void dismissLoadingDialog();
}
abstract class Presenter extends BasePresenter<View> {
/**
* 管理页面 - 刷新营销计划
*/
public abstract void refreshMs();
/**
* 管理页面 - 加载更多营销计划
*/
public abstract void loadMoreMs();
/**
* 管理页面 - 点击添加按钮
*/
public abstract void clickAdd();
/**
* 管理页面 - 点击营销方案的item
*/
public abstract void clickMsItem(Ms ms);
/**
* 添加页面 - 点击类型的item
*/
public abstract void clickTypeItem(int msType);
}
}
package com.xingdata.zzdpos.ui.marketing.ms;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.model.Ms;
public class MsPresenter extends MsContract.Presenter {
/**
* 页码
*/
private int mPageNum = 1;
@Override
public void onAttached() {
}
@Override
public void refreshMs() {
this.mPageNum = 1;
this.getMs();
}
@Override
public void loadMoreMs() {
this.mPageNum++;
this.getMs();
}
@Override
public void clickAdd() {
mView.showAddFragment();
}
@Override
public void clickMsItem(Ms ms) {
mView.showEditorFragment(ms);
}
@Override
public void clickTypeItem(int msType) {
mView.showEditorFragment(msType);
}
/**
* 获取营销计划
*/
private void getMs() {
mCompositeDisposable.add(ApiFactory.Ms.query(mPageNum).subscribe(msPager -> mView.loadMss(msPager.getList(), mPageNum == 1)));
}
}
package com.xingdata.zzdpos.ui.marketing.ms.adapter;
import android.annotation.SuppressLint;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemMsBinding;
import com.xingdata.zzdpos.model.Ms;
import java.util.ArrayList;
public class MsAdapter extends BaseAdapter<Ms, ItemMsBinding> {
public MsAdapter() {
super(R.layout.item_ms, new ArrayList<>());
}
@SuppressLint("SetTextI18n")
@Override
protected void convert(ItemMsBinding mViewBinding, Ms item) {
mViewBinding.tvName.setText(item.getMsName());
switch (item.getMsTools()) {
case C.MS_TYPE.DIS:
mViewBinding.ivType.setImageResource(R.mipmap.icon_discount01);
break;
case C.MS_TYPE.GIFT:
mViewBinding.ivType.setImageResource(R.mipmap.icon_buy01);
break;
case C.MS_TYPE.MONEY_OFF:
mViewBinding.ivType.setImageResource(R.mipmap.icon_full01);
break;
case C.MS_TYPE.PROMOTION:
mViewBinding.ivType.setImageResource(R.mipmap.icon_sales01);
break;
case C.MS_TYPE.SECOND:
mViewBinding.ivType.setImageResource(R.mipmap.icon_discount01);
break;
}
StringBuilder sbDateBegin = new StringBuilder(item.getMsDateBegin().toString());
StringBuilder sbDateEnd = new StringBuilder(item.getMsDateEnd().toString());
sbDateBegin.insert(6, "-");
sbDateBegin.insert(4, "-");
sbDateEnd.insert(6, "-");
sbDateEnd.insert(4, "-");
mViewBinding.tvDate.setText(sbDateBegin.toString() + "~" + sbDateEnd.toString());
}
}
package com.xingdata.zzdpos.ui.marketing.ms.adapter;
import android.support.annotation.Nullable;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemMsTypeBinding;
import java.util.List;
public class TypeAdapter extends BaseAdapter<Integer, ItemMsTypeBinding> {
public TypeAdapter(@Nullable List<Integer> data) {
super(R.layout.item_ms_type, data);
}
@Override
protected void convert(ItemMsTypeBinding mViewBinding, Integer item) {
int resPic = -1, resStr = -1;
switch (item) {
case C.MS_TYPE.DIS:
resPic = R.mipmap.icon_discount02;
resStr = R.string.ms_type_dis;
break;
case C.MS_TYPE.PROMOTION:
resPic = R.mipmap.icon_sales02;
resStr = R.string.ms_type_promotion;
break;
case C.MS_TYPE.MONEY_OFF:
resPic = R.mipmap.icon_full02;
resStr = R.string.ms_type_money_off;
break;
case C.MS_TYPE.GIFT:
resPic = R.mipmap.icon_buy02;
resStr = R.string.ms_type_gift;
break;
case C.MS_TYPE.SECOND:
resPic = R.mipmap.icon_discount02;
resStr = R.string.ms_type_dis;
break;
}
if (resPic < 0) return;
mViewBinding.tvName.setText(resStr);
mViewBinding.ivType.setImageResource(resPic);
}
}
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import android.support.v7.widget.GridLayoutManager;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsAddBinding;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.TypeAdapter;
import com.xingdata.zzdpos.util.MyMenuItemDecoration;
import java.util.ArrayList;
import java.util.List;
public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding> {
@Override
public int getLayoutId() {
return R.layout.fragment_ms_add;
......@@ -13,6 +22,25 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
@Override
public void initView() {
// init type
TypeAdapter mTypeAdapter = new TypeAdapter(getTypeList());
mViewBinding.rlType.setAdapter(mTypeAdapter);
mViewBinding.rlType.setLayoutManager(new GridLayoutManager(mContext, 2));
mViewBinding.rlType.addItemDecoration(new MyMenuItemDecoration(mContext, 2, getResources().getColor(R.color.gray_kongming)));
// set t listener
mTypeAdapter.setOnItemClickListener((adapter, view, position) -> mPresenter.clickTypeItem(mTypeAdapter.getData().get(position)));
}
/**
*
*/
private List<Integer> getTypeList() {
List<Integer> msList = new ArrayList<>();
msList.add(C.MS_TYPE.DIS);
msList.add(C.MS_TYPE.PROMOTION);
msList.add(C.MS_TYPE.MONEY_OFF);
msList.add(C.MS_TYPE.GIFT);
return msList;
}
}
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import android.support.v7.widget.LinearLayoutManager;
import com.xingdata.zzdpos.C;
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.MsPresenter;
import com.xingdata.zzdpos.ui.marketing.ms.adapter.MsAdapter;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
import java.util.List;
public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManagerBinding> {
private MsAdapter mMsAdapter;
@Override
public int getLayoutId() {
return R.layout.fragment_ms_manager;
......@@ -15,6 +25,56 @@ public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManager
@Override
public void initView() {
// init ms
mMsAdapter = new MsAdapter();
mViewBinding.rlMs.setAdapter(mMsAdapter);
mViewBinding.rlMs.setLayoutManager(new LinearLayoutManager(mContext));
mViewBinding.rlMs.addItemDecoration(new RecyclerViewUtil.GridSpacingItemDecoration(1, mContext.getResources().getDimensionPixelOffset(R.dimen.all_margin), true));
// set ms listener
mViewBinding.srlMs.setOnRefreshListener(this::refreshMs);
mMsAdapter.setOnLoadMoreListener(this::loadMoreMs, mViewBinding.rlMs);
mMsAdapter.setOnItemClickListener((adapter, view, position) -> mPresenter.clickMsItem(mMsAdapter.getItem(position)));
// set other
mViewBinding.llAdd.setOnClickListener(view -> mPresenter.clickAdd());
// init data
refreshMs();
}
/**
* 加载营销计划数据
*
* @param mss 营销计划
* @param isRefresh 是否刷新
*/
public void loadMss(List<Ms> mss, boolean isRefresh) {
if (isRefresh) {
mMsAdapter.isUseEmpty(true);
mMsAdapter.setEnableLoadMore(true);
mViewBinding.srlMs.setRefreshing(false);
mMsAdapter.setNewData(mss);
} else if (mss.size() > 0) mMsAdapter.addData(mss);
if (mss.size() < C.PRODUCT.PAGE_SIZE) mMsAdapter.loadMoreEnd(isRefresh);
else mMsAdapter.loadMoreComplete();
}
/**
* 刷新营销计划
*/
private void refreshMs() {
mMsAdapter.setEnableLoadMore(false);
mPresenter.refreshMs();
}
/**
* 加载更多营销计划
*/
private void loadMoreMs() {
mPresenter.loadMoreMs();
}
}
......@@ -14,6 +14,8 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn
private String mValue;
private boolean isInit;
private OnResultChangeListener mOnResultChangeListener;
private onSettleClickListener mOnSettleClickListener;
......@@ -31,6 +33,7 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn
public void setValue(String value) {
this.mValue = value;
this.isInit = true;
}
@Override
......@@ -53,6 +56,10 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn
break;
default:
if (view instanceof TextView) {
if (isInit) {
mValue = "";
isInit = false;
}
String str = ((TextView) view).getText().toString();
//限制位数
if (str.matches("[0-9]+") && mValue.split("[.]").length > 1 && mValue.split("[.]")[1].length() == 2)
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/all_shape_radius" />
<stroke
android:width="@dimen/view_line_L1"
android:color="@color/orange_shixiu" />
<solid android:color="@color/white_caocao" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/settle_btn_radius" />
<solid android:color="@color/orange_shixiu" />
</shape>
\ No newline at end of file
......@@ -55,7 +55,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_spacing"
android:layout_marginEnd="@dimen/all_margin"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent"
......
......@@ -7,5 +7,22 @@
android:background="@color/gray_zhouyu"
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" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -9,9 +9,11 @@
<LinearLayout
android:id="@+id/ll_add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:orientation="vertical">
......@@ -31,10 +33,15 @@
android:background="@color/gray_huanggai" />
</LinearLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_ms"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_ms"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -93,7 +93,7 @@
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="parent"
app:placeholderImage="@mipmap/icon_menu_service_1"
app:placeholderImage="@mipmap/img_number01"
app:roundAsCircle="true"
app:roundingBorderColor="@color/gray_huanggai"
app:roundingBorderWidth="@dimen/all_line_width" />
......
......@@ -22,7 +22,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:layout_marginTop="@dimen/all_spacing"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/gray_huanggai" />
<LinearLayout
......
......@@ -9,6 +9,7 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/white"
android:orientation="horizontal">
......@@ -20,20 +21,23 @@
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/all_margin"
android:src="@mipmap/right"/>
android:layout_marginRight="@dimen/all_padding_left_right"
android:src="@mipmap/right" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/iv"
android:padding="@dimen/all_padding">
android:paddingTop="@dimen/all_padding"
android:paddingBottom="@dimen/all_padding"
android:paddingStart="@dimen/all_padding_left_right"
>
<ImageView
android:id="@+id/iv_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/vip_level"/>
android:src="@mipmap/vip_level" />
<TextView
android:id="@+id/tv_menu_name"
......@@ -43,7 +47,20 @@
android:padding="@dimen/all_padding"
android:text="会员等级"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/et_textsize"/>
android:textSize="@dimen/et_textsize" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:layout_alignParentTop="true"
android:background="@color/gray_kongming" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:layout_alignParentBottom="true"
android:background="@color/gray_kongming" />
</RelativeLayout>
</layout>
\ No newline at end of file
......@@ -4,28 +4,53 @@
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/settle_pay_item"
android:layout_height="130dp"
android:background="@drawable/shape_orange_b1"
android:foreground="?android:attr/selectableItemBackground">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
<ImageView
android:id="@+id/iv_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_spacing"
android:layout_marginTop="@dimen/all_spacing"
android:contentDescription="@null"
android:src="@mipmap/icon_buy01"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@id/tv_date"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:roundedCornerRadius="@dimen/all_shape_radius" />
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_logo"
android:layout_width="@dimen/settle_pay_logo"
android:layout_height="@dimen/settle_pay_logo"
app:layout_constraintBottom_toTopOf="@id/iv_background"
app:layout_constraintLeft_toRightOf="@id/iv_background"
app:layout_constraintRight_toLeftOf="@id/iv_background"
app:layout_constraintTop_toBottomOf="@id/iv_background"
app:roundAsCircle="true" />
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_date"
android:layout_width="0dp"
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_orange_r2"
android:drawableStart="@mipmap/icon_time"
android:gravity="center"
android:paddingBottom="@dimen/view_line_L2"
android:paddingEnd="@dimen/all_spacing"
android:paddingStart="@dimen/all_spacing"
android:paddingTop="@dimen/view_line_L2"
android:textColor="@color/white_caocao"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>
</layout>
......
<?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:foreground="?android:attr/selectableItemBackground"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/all_margin_big">
<ImageView
android:id="@+id/iv_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/icon_buy02"
android:contentDescription="@null" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_spacing"
android:text="满减送" />
</LinearLayout>
</layout>
......@@ -33,7 +33,7 @@
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="parent"
app:placeholderImage="@mipmap/icon_menu_service_1"
app:placeholderImage="@mipmap/img_number01"
app:roundAsCircle="true"
app:roundingBorderColor="@color/gray_huanggai"
app:roundingBorderWidth="@dimen/all_line_width" />
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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