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

Merge remote-tracking branch 'origin/master'

parents b308154a 5cf3032f
...@@ -88,6 +88,10 @@ ...@@ -88,6 +88,10 @@
android:name=".ui.marketing.ms.MsActivity" android:name=".ui.marketing.ms.MsActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden" android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="adjustUnspecified|stateHidden" /> android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity
android:name=".ui.manage.manageMenu.ManageMenuActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -13,14 +13,31 @@ public class C { ...@@ -13,14 +13,31 @@ public class C {
public static final int MENU_MS = 103; public static final int MENU_MS = 103;
public static final int MENU_TICKET = 104; public static final int MENU_TICKET = 104;
public static final int MENU_STATISTICS = 105; public static final int MENU_STATISTICS = 105;
public static final int MENU_MANAGER = 106; 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_ANNOUNCEMENT = 107;
public static final int MENU_FEED = 108; public static final int MENU_FEED = 108;
public static final int MENU_UPDATE = 109; public static final int MENU_UPDATE = 109;
public static final int MENU_HELP = 110; public static final int MENU_HELP = 110;
public static final int MENU_EXIT = 111; public static final int MENU_EXIT = 111;
public static final int MENU_STATISTICS_ORDER = 1051; public static final int MENU_STATISTICS_ORDER = 1051;
public static final int MENU_STATISTICS_MS = 1052; 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 { ...@@ -432,11 +449,15 @@ public class C {
public final class PRODUCT { 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 static final int SERVER_PAGE_SIZE = 5;
} }
public final class MS {
public static final int PAGE_SIZE = 12;
}
public final class PAY_CHANNEL { public final class PAY_CHANNEL {
public static final int CASH = 1; public static final int CASH = 1;
......
...@@ -12,7 +12,6 @@ import com.xingdata.zzdpos.model.Gbound; ...@@ -12,7 +12,6 @@ import com.xingdata.zzdpos.model.Gbound;
import com.xingdata.zzdpos.model.Mscard; import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.NewSssku; import com.xingdata.zzdpos.model.NewSssku;
import com.xingdata.zzdpos.model.Pager; import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Trule; import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Ubound; import com.xingdata.zzdpos.model.Ubound;
import com.xingdata.zzdpos.model.UsskuParam; import com.xingdata.zzdpos.model.UsskuParam;
...@@ -247,6 +246,7 @@ public final class ApiFactory { ...@@ -247,6 +246,7 @@ public final class ApiFactory {
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io()) ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
/** /**
* 销售订单查询接口 * 销售订单查询接口
* *
...@@ -970,8 +970,7 @@ public final class ApiFactory { ...@@ -970,8 +970,7 @@ public final class ApiFactory {
} }
public static class Ms { public static class Ms {
public static Observable<Pager<com.xingdata.zzdpos.model.Ms>> query(int pageNum, int public static Observable<Pager<com.xingdata.zzdpos.model.Ms>> query(int pageNum, int pageSize, String keyword) {
pageSize, String keyword) {
return Api.getInstance().service.queryMs(pageNum, pageSize, keyword) return Api.getInstance().service.queryMs(pageNum, pageSize, keyword)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
...@@ -980,6 +979,11 @@ public final class ApiFactory { ...@@ -980,6 +979,11 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3)); .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) { public static Observable<com.xingdata.zzdpos.model.Ms> detail(long id) {
return Api.getInstance().service.detailMs(id) return Api.getInstance().service.detailMs(id)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
...@@ -989,8 +993,7 @@ public final class ApiFactory { ...@@ -989,8 +993,7 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3)); .retryWhen(new RetryHelper(3));
} }
public static Observable<com.xingdata.zzdpos.model.Ms> update(com.xingdata.zzdpos.model.Ms public static Observable<com.xingdata.zzdpos.model.Ms> update(com.xingdata.zzdpos.model.Ms ms) {
ms) {
return Api.getInstance().service.updateMs(ms) return Api.getInstance().service.updateMs(ms)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
...@@ -1000,8 +1003,7 @@ public final class ApiFactory { ...@@ -1000,8 +1003,7 @@ public final class ApiFactory {
} }
public static Observable<com.xingdata.zzdpos.model.Ms> add(com.xingdata.zzdpos.model.Ms public static Observable<com.xingdata.zzdpos.model.Ms> add(com.xingdata.zzdpos.model.Ms ms) {
ms) {
return Api.getInstance().service.addMs(ms) return Api.getInstance().service.addMs(ms)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
...@@ -1012,9 +1014,7 @@ public final class ApiFactory { ...@@ -1012,9 +1014,7 @@ public final class ApiFactory {
} }
public static class Level { public static class Level {
public static Observable<com.xingdata.zzdpos.model.Level> addVipLevel(com.xingdata.zzdpos public static Observable<com.xingdata.zzdpos.model.Level> addVipLevel(com.xingdata.zzdpos.model.Level level) {
.model.Level
level) {
return Api.getInstance().service.addVipLevel(level) return Api.getInstance().service.addVipLevel(level)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
...@@ -1023,11 +1023,7 @@ public final class ApiFactory { ...@@ -1023,11 +1023,7 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3)); .retryWhen(new RetryHelper(3));
} }
public static Observable<com.xingdata.zzdpos.model.Level> updateVipLevel(com.xingdata public static Observable<com.xingdata.zzdpos.model.Level> updateVipLevel(com.xingdata.zzdpos.model.Level level) {
.zzdpos
.model
.Level
level) {
return Api.getInstance().service.updateVipLevel(level) return Api.getInstance().service.updateVipLevel(level)
.onErrorReturn(new ErrorFilter<>()) .onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>()) .map(new ResultFilter<>())
......
...@@ -12,6 +12,7 @@ import com.xingdata.zzdpos.base.BaseFragment; ...@@ -12,6 +12,7 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentCasherBinding; import com.xingdata.zzdpos.databinding.FragmentCasherBinding;
import com.xingdata.zzdpos.ui.main.MainPresenter; import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter; 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.marketing.marketingMenu.MarketingMenuActivity;
import com.xingdata.zzdpos.ui.payment.PaymentActivity; import com.xingdata.zzdpos.ui.payment.PaymentActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsActivity; import com.xingdata.zzdpos.ui.statistics.StatisticsActivity;
...@@ -71,7 +72,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi ...@@ -71,7 +72,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
ActivityUtils.startActivity(getActivity(), StatisticsActivity.class); ActivityUtils.startActivity(getActivity(), StatisticsActivity.class);
break; break;
case C.MENU.MENU_MANAGER://管理 case C.MENU.MENU_MANAGER://管理
ActivityUtils.startActivity(new Intent(getActivity(),
ManageMenuActivity.class));
break; 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; ...@@ -8,6 +8,7 @@ import android.view.View;
import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.ActivityUtils;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.ActivityMarketingMenuBinding; import com.xingdata.zzdpos.databinding.ActivityMarketingMenuBinding;
import com.xingdata.zzdpos.model.MarketingMenuModel; import com.xingdata.zzdpos.model.MarketingMenuModel;
...@@ -22,7 +23,7 @@ import java.util.List; ...@@ -22,7 +23,7 @@ import java.util.List;
public class MarketingMenuActivity extends AppCompatActivity { public class MarketingMenuActivity extends AppCompatActivity {
MarketingMenuAdapter marketingMenuAdapter; MarketingMenuAdapter marketingMenuAdapter;
List<MarketingMenuModel> list = new ArrayList<>(); List<Integer> list = new ArrayList<>();
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -38,30 +39,13 @@ public class MarketingMenuActivity extends AppCompatActivity { ...@@ -38,30 +39,13 @@ public class MarketingMenuActivity extends AppCompatActivity {
ActivityUtils.finishActivity(MarketingMenuActivity.class); ActivityUtils.finishActivity(MarketingMenuActivity.class);
} }
}); });
MarketingMenuModel marketingMenuModel1 = new MarketingMenuModel(); list.add(C.MENU.MENU_MS_VIP_LEVEL);
MarketingMenuModel marketingMenuModel2 = new MarketingMenuModel(); list.add(C.MENU.MENU_MS_INTEGRAL);
MarketingMenuModel marketingMenuModel3 = new MarketingMenuModel(); list.add(C.MENU.MENU_MS_TICKET);
MarketingMenuModel marketingMenuModel4 = new MarketingMenuModel(); list.add(C.MENU.MENU_MS_RECHARGE);
MarketingMenuModel marketingMenuModel5 = new MarketingMenuModel(); list.add(C.MENU.MENU_MS_MS);
MarketingMenuModel marketingMenuModel6 = new MarketingMenuModel(); list.add(C.MENU.MENU_MS_SMS);
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);
marketingMenuAdapter = new MarketingMenuAdapter(list); marketingMenuAdapter = new MarketingMenuAdapter(list);
mViewBinding.rvMenu.setAdapter(marketingMenuAdapter); mViewBinding.rvMenu.setAdapter(marketingMenuAdapter);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
...@@ -70,31 +54,31 @@ public class MarketingMenuActivity extends AppCompatActivity { ...@@ -70,31 +54,31 @@ public class MarketingMenuActivity extends AppCompatActivity {
marketingMenuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { marketingMenuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (position) { switch (marketingMenuAdapter.getData().get(position)) {
case 0: { case C.MENU.MENU_MS_VIP_LEVEL: {
//会员等级 //会员等级
} }
break; break;
case 1: { case C.MENU.MENU_MS_INTEGRAL: {
//积分规则 //积分规则
ActivityUtils.startActivity(IntegralActivity.class); ActivityUtils.startActivity(IntegralActivity.class);
} }
break; break;
case 2: { case C.MENU.MENU_MS_TICKET: {
//优惠券设置 //优惠券设置
ActivityUtils.startActivity(ReturnTicketActivity.class); ActivityUtils.startActivity(ReturnTicketActivity.class);
} }
break; break;
case 3: { case C.MENU.MENU_MS_RECHARGE: {
//充值优惠 //充值优惠
} }
break; break;
case 4: { case C.MENU.MENU_MS_MS: {
//营销计划 //营销计划
ActivityUtils.startActivity(MsActivity.class); ActivityUtils.startActivity(MsActivity.class);
} }
break; break;
case 5: { case C.MENU.MENU_MS_SMS: {
//群发短信 //群发短信
} }
break; break;
......
...@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.marketing.marketingMenu.adapter; ...@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.marketing.marketingMenu.adapter;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter; import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemMarketingMenuBinding; import com.xingdata.zzdpos.databinding.ItemMarketingMenuBinding;
...@@ -13,14 +14,78 @@ import java.util.List; ...@@ -13,14 +14,78 @@ import java.util.List;
* Created by Administrator on 2017/11/24. * Created by Administrator on 2017/11/24.
*/ */
public class MarketingMenuAdapter extends BaseAdapter<MarketingMenuModel, ItemMarketingMenuBinding> { public class MarketingMenuAdapter extends BaseAdapter<Integer, ItemMarketingMenuBinding> {
public MarketingMenuAdapter(@Nullable List<MarketingMenuModel> data) { private Integer titleId;
private Integer imgId;
public MarketingMenuAdapter(@Nullable List<Integer> data) {
super(R.layout.item_marketing_menu, data); super(R.layout.item_marketing_menu, data);
} }
@Override @Override
protected void convert(ItemMarketingMenuBinding mViewBinding, MarketingMenuModel item) { protected void convert(ItemMarketingMenuBinding mViewBinding, Integer item) {
mViewBinding.ivLogo.setImageResource(item.getMarketingMenuImg()); switch (item) {
mViewBinding.tvMenuName.setText(item.getMarketingMenuName()); 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; package com.xingdata.zzdpos.ui.marketing.ms;
import com.blankj.utilcode.util.LogUtils;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityMsBinding; 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 { 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 @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.activity_ms; return R.layout.activity_ms;
...@@ -14,6 +25,37 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp ...@@ -14,6 +25,37 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
@Override @Override
public void initView() { 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; ...@@ -2,13 +2,77 @@ package com.xingdata.zzdpos.ui.marketing.ms;
import com.xingdata.zzdpos.base.BasePresenter; import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView; import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Ms;
import java.util.List;
interface MsContract { interface MsContract {
interface View extends BaseView { 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> { 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; 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 { public class MsPresenter extends MsContract.Presenter {
/**
* 页码
*/
private int mPageNum = 1;
@Override @Override
public void onAttached() { 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; 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.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsAddBinding; import com.xingdata.zzdpos.databinding.FragmentMsAddBinding;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter; 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> { public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding> {
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.fragment_ms_add; return R.layout.fragment_ms_add;
...@@ -13,6 +22,25 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding> ...@@ -13,6 +22,25 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
@Override @Override
public void initView() { 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; 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.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsManagerBinding; 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.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> { public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManagerBinding> {
private MsAdapter mMsAdapter;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.fragment_ms_manager; return R.layout.fragment_ms_manager;
...@@ -15,6 +25,56 @@ public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManager ...@@ -15,6 +25,56 @@ public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManager
@Override @Override
public void initView() { 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 ...@@ -14,6 +14,8 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn
private String mValue; private String mValue;
private boolean isInit;
private OnResultChangeListener mOnResultChangeListener; private OnResultChangeListener mOnResultChangeListener;
private onSettleClickListener mOnSettleClickListener; private onSettleClickListener mOnSettleClickListener;
...@@ -31,6 +33,7 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn ...@@ -31,6 +33,7 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn
public void setValue(String value) { public void setValue(String value) {
this.mValue = value; this.mValue = value;
this.isInit = true;
} }
@Override @Override
...@@ -53,6 +56,10 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn ...@@ -53,6 +56,10 @@ public class InputerView<P extends BasePresenter> extends BaseFragment<P, ViewIn
break; break;
default: default:
if (view instanceof TextView) { if (view instanceof TextView) {
if (isInit) {
mValue = "";
isInit = false;
}
String str = ((TextView) view).getText().toString(); String str = ((TextView) view).getText().toString();
//限制位数 //限制位数
if (str.matches("[0-9]+") && mValue.split("[.]").length > 1 && mValue.split("[.]")[1].length() == 2) 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 @@ ...@@ -55,7 +55,7 @@
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_spacing" android:layout_marginEnd="@dimen/all_margin"
app:layout_constraintBottom_toTopOf="parent" app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back" app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
......
...@@ -7,5 +7,22 @@ ...@@ -7,5 +7,22 @@
android:background="@color/gray_zhouyu" android:background="@color/gray_zhouyu"
android:orientation="vertical"> android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginTop="@dimen/all_spacing"
android:background="@color/gray_huanggai" />
<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> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -9,9 +9,11 @@ ...@@ -9,9 +9,11 @@
<LinearLayout <LinearLayout
android:id="@+id/ll_add"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/white_caocao" android:background="@color/white_caocao"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
...@@ -31,10 +33,15 @@ ...@@ -31,10 +33,15 @@
android:background="@color/gray_huanggai" /> android:background="@color/gray_huanggai" />
</LinearLayout> </LinearLayout>
<android.support.v7.widget.RecyclerView <android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/rl_ms" android:id="@+id/srl_ms"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="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> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
app:layout_constraintBottom_toTopOf="parent" app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="parent" app:layout_constraintTop_toBottomOf="parent"
app:placeholderImage="@mipmap/icon_menu_service_1" app:placeholderImage="@mipmap/img_number01"
app:roundAsCircle="true" app:roundAsCircle="true"
app:roundingBorderColor="@color/gray_huanggai" app:roundingBorderColor="@color/gray_huanggai"
app:roundingBorderWidth="@dimen/all_line_width" /> app:roundingBorderWidth="@dimen/all_line_width" />
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width" android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:layout_marginTop="@dimen/all_spacing" android:layout_marginTop="@dimen/all_margin"
android:background="@color/gray_huanggai" /> android:background="@color/gray_huanggai" />
<LinearLayout <LinearLayout
......
...@@ -7,11 +7,12 @@ ...@@ -7,11 +7,12 @@
</data> </data>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/white" android:layout_marginTop="@dimen/all_margin"
android:orientation="horizontal"> android:background="@color/white"
android:orientation="horizontal">
<ImageView <ImageView
...@@ -20,20 +21,23 @@ ...@@ -20,20 +21,23 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginRight="@dimen/all_margin" android:layout_marginRight="@dimen/all_padding_left_right"
android:src="@mipmap/right"/> android:src="@mipmap/right" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/iv" 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 <ImageView
android:id="@+id/iv_logo" android:id="@+id/iv_logo"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@mipmap/vip_level"/> android:src="@mipmap/vip_level" />
<TextView <TextView
android:id="@+id/tv_menu_name" android:id="@+id/tv_menu_name"
...@@ -43,7 +47,20 @@ ...@@ -43,7 +47,20 @@
android:padding="@dimen/all_padding" android:padding="@dimen/all_padding"
android:text="会员等级" android:text="会员等级"
android:textColor="@color/black_baozheng" android:textColor="@color/black_baozheng"
android:textSize="@dimen/et_textsize"/> android:textSize="@dimen/et_textsize" />
</LinearLayout> </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> </RelativeLayout>
</layout> </layout>
\ No newline at end of file
...@@ -4,28 +4,53 @@ ...@@ -4,28 +4,53 @@
<android.support.constraint.ConstraintLayout <android.support.constraint.ConstraintLayout
android:layout_width="match_parent" 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"> android:foreground="?android:attr/selectableItemBackground">
<com.facebook.drawee.view.SimpleDraweeView <ImageView
android:id="@+id/iv_background" android:id="@+id/iv_type"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent" 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_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent" />
app:roundedCornerRadius="@dimen/all_shape_radius" />
<TextView
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/tv_date"
android:id="@+id/iv_logo" android:layout_width="0dp"
android:layout_width="@dimen/settle_pay_logo" android:layout_height="wrap_content"
android:layout_height="@dimen/settle_pay_logo" android:layout_marginBottom="@dimen/all_margin"
app:layout_constraintBottom_toTopOf="@id/iv_background" android:layout_marginEnd="@dimen/all_margin"
app:layout_constraintLeft_toRightOf="@id/iv_background" android:layout_marginStart="@dimen/all_margin"
app:layout_constraintRight_toLeftOf="@id/iv_background" android:background="@drawable/shape_orange_r2"
app:layout_constraintTop_toBottomOf="@id/iv_background" android:drawableStart="@mipmap/icon_time"
app:roundAsCircle="true" /> 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> </android.support.constraint.ConstraintLayout>
</layout> </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 @@ ...@@ -33,7 +33,7 @@
app:layout_constraintBottom_toTopOf="parent" app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="parent" app:layout_constraintTop_toBottomOf="parent"
app:placeholderImage="@mipmap/icon_menu_service_1" app:placeholderImage="@mipmap/img_number01"
app:roundAsCircle="true" app:roundAsCircle="true"
app:roundingBorderColor="@color/gray_huanggai" app:roundingBorderColor="@color/gray_huanggai"
app:roundingBorderWidth="@dimen/all_line_width" /> app:roundingBorderWidth="@dimen/all_line_width" />
......
...@@ -462,15 +462,36 @@ ...@@ -462,15 +462,36 @@
<string name="menu_receivables">收款</string> <string name="menu_receivables">收款</string>
<string name="menu_vip">会员</string> <string name="menu_vip">会员</string>
<string name="menu_recharge">充值</string> <string name="menu_recharge">充值</string>
<string name="menu_ms">营销</string> <string name="menu_ms">营销</string>
<string name="menu_ms_vip_level">会员等级</string>
<string name="menu_ms_integral">积分规则</string>
<string name="menu_ms_ticket">优惠券设置</string>
<string name="menu_ms_recharge">充值优惠</string>
<string name="menu_ms_ms">营销计划</string>
<string name="menu_ms_sms">群发短信</string>
<string name="menu_ticket">发券</string> <string name="menu_ticket">发券</string>
<string name="menu_statistics">统计</string> <string name="menu_statistics">统计</string>
<string name="menu_statistics_order">订单统计</string>
<string name="menu_statistics_ms">营销记录</string>
<string name="menu_manager">管理</string> <string name="menu_manager">管理</string>
<string name="menu_manager_oper">店员管理</string>
<string name="menu_manager_goods">商品维护</string>
<string name="menu_manager_bale">商品组合</string>
<string name="menu_manager_replenishment">补货订货</string>
<string name="menu_manager_other">临库查询</string>
<string name="menu_manager_inventory">库存盘点</string>
<string name="menu_announcement">公告通知</string> <string name="menu_announcement">公告通知</string>
<string name="menu_feed">反馈</string> <string name="menu_feed">反馈</string>
<string name="menu_update">升级</string> <string name="menu_update">升级</string>
<string name="menu_help">帮助</string> <string name="menu_help">帮助</string>
<string name="menu_exit">退出</string> <string name="menu_exit">退出</string>
<!--输入器--> <!--输入器-->
<string name="inputer_1">1</string> <string name="inputer_1">1</string>
<string name="inputer_2">2</string> <string name="inputer_2">2</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment