Commit b45b2778 authored by 姜敏's avatar 姜敏

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipLevleFragment.java
parents 42f41ee5 2095da81
......@@ -17,7 +17,12 @@ android {
}
buildTypes {
release {
minifyEnabled false
zipAlignEnabled true
debuggable true
//混淆编译
minifyEnabled true//打开
//移除无用的资源文件
shrinkResources true//打开
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
......
......@@ -82,8 +82,12 @@
android:name=".ui.vip.VipActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity android:name=".ui.marketing.marketingMenu.MarketingMenuActivity"></activity>
<activity android:name=".ui.statistics.StatisticsDetailActivity"></activity>
<activity android:name=".ui.marketing.marketingMenu.MarketingMenuActivity" />
<activity android:name=".ui.statistics.StatisticsDetailActivity" />
<activity
android:name=".ui.marketing.ms.MsActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
</application>
</manifest>
\ No newline at end of file
......@@ -12,6 +12,7 @@ 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;
......@@ -232,7 +233,20 @@ public final class ApiFactory {
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 销售订单查询接口
*
* @param pageNulmber
* @param pageSize
* @return
*/
public static Observable<Pager<com.xingdata.zzdpos.model.Saleorder>> getSaleOrderList(int pageNulmber, int
pageSize, String orderStatus, int payType) {
return Api.getInstance().service.getSaleOrder(pageNulmber, pageSize, orderStatus,
payType).onErrorReturn(new
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 销售订单查询接口
*
......@@ -458,7 +472,7 @@ public final class ApiFactory {
public static Observable<Pager<Trule>> truleQuery() {
return Api.getInstance().service.truleQuery(System.currentTimeMillis() + "")
.onErrorReturn(new
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.retryWhen(new RetryHelper(3));
}
......@@ -581,6 +595,19 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3));
}
public static Observable<Pager<com.xingdata.zzdpos.model.Ticket>> query(int num, int size, int usedFlag) {
return Api.getInstance().service.queryTicket(num, size, usedFlag, "ticketIsList").
onErrorReturn(new ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public static Observable<Pager<com.xingdata.zzdpos.model.Ticket>> query(int num, int size, int usedFlag, long startDate, long endDate) {
return Api.getInstance().service.queryTicket(num, size, usedFlag, "ticketIsList", startDate, endDate).
onErrorReturn(new ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public static Observable<String> batchSend(String birthdayType, String vipLevel, Long
vipId, Long truleId) {
return Api.getInstance().service.ticketBatchSend(birthdayType, vipLevel, vipId, truleId)
......@@ -739,6 +766,18 @@ public final class ApiFactory {
}
public static class Rctrace {
/**
* 查询充值记录
*/
public static Observable<Pager<VipRechargeOrder>> queryRecharge(int pageNum, int pageSize, long startDate,
long endDate) {
return Api.getInstance().service.queryRecharge(pageNum, pageSize, startDate, endDate)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 查询充值记录
*/
......@@ -753,7 +792,7 @@ public final class ApiFactory {
public static class Sta {
/**
/**
* /**
* 查询统计详情
*/
public static Observable<com.xingdata.zzdpos.model.Sta> querySta() {
......@@ -871,8 +910,8 @@ public final class ApiFactory {
.retryWhen(new RetryHelper(3));
}
public static Observable<Pager<Vip>> getVipList(int pageNumber,String vipLevel) {
return Api.getInstance().service.getVipList(vipLevel,pageNumber, 12)
public static Observable<Pager<Vip>> getVipList(int pageNumber, String vipLevel) {
return Api.getInstance().service.getVipList(vipLevel, pageNumber, 12)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
......@@ -911,8 +950,7 @@ public final class ApiFactory {
}
public static class Recard {
public static Observable<String> checkPwd(Long vipId, String cardNo, String pwd) {
public static Observable<Boolean> checkPwd(Long vipId, String cardNo, String pwd) {
return Api.getInstance().service.checkPwd(vipId, cardNo, pwd)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......
......@@ -39,6 +39,7 @@ import io.reactivex.Observable;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import retrofit2.http.Query;
......@@ -128,6 +129,10 @@ interface ApiService {
Observable<HttpMessage<Object>> bindCounter(@Query("casherId") long casherId, @Query
("machineNo") String machineNo);
@POST(C.URL.ORDER.getSaleOrder)
Observable<HttpMessage<Pager<Saleorder>>> getSaleOrder(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize, @Query("orderStatus") String orderStatus, @Query
("payType") int payType);
@POST(C.URL.ORDER.getSaleOrder)
Observable<HttpMessage<Pager<Saleorder>>> getSaleOrder(@Query("pageNumber") int pageNum, @Query
......@@ -187,6 +192,11 @@ interface ApiService {
Observable<HttpMessage<Pager<VipRechargeOrder>>> queryRecharge(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize);
@POST(C.URL.RCTRACE.query)
Observable<HttpMessage<Pager<VipRechargeOrder>>> queryRecharge(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize, @Query("startDate") long startDate, @Query("endDate") long
endDate);
@POST(C.URL.PSB.queryDetail)
Observable<HttpMessage<Psb>> queryPsbDetail(@Query("psbNo") String psbNo, @Query("id") long id);
......@@ -209,6 +219,15 @@ interface ApiService {
@POST(C.URL.TICKET.query)
Observable<HttpMessage<Pager<Ticket>>> queryTicket(@Query("vipId") Long vipId);
@POST(C.URL.TICKET.query)
Observable<HttpMessage<Pager<Ticket>>> queryTicket(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize, @Query("usedFlag") int usedFlag, @Query("ticketIsList") String ticketIsList);
@POST(C.URL.TICKET.query)
Observable<HttpMessage<Pager<Ticket>>> queryTicket(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize, @Query("usedFlag") int usedFlag, @Query("ticketIsList") String ticketIsList, @Query("startDate") long startDate, @Query("endDate") long
endDate);
@POST(C.URL.TICKET.ticketBatchSend)
Observable<HttpMessage<String>> ticketBatchSend(@Query("birthdayType") String birthdayType,
@Query("vipLevel") String vipLevel,
......@@ -244,7 +263,8 @@ interface ApiService {
Observable<HttpMessage<Vip>> detailUser(@Query("wd") String keyword);
@POST(C.URL.RECARD.checkPwd)
Observable<HttpMessage<String>> checkPwd(@Field("vipId") Long vipId, @Query("cardNo") String
@FormUrlEncoded
Observable<HttpMessage<Boolean>> checkPwd(@Field("vipId") Long vipId, @Query("cardNo") String
cardNo, @Field("pwd") String pwd);
@POST(C.URL.RECARD.fullVip)
......@@ -389,5 +409,4 @@ interface ApiService {
@Query("pageSize") int pageSize);
}
......@@ -177,7 +177,7 @@ public class DBFactory {
RealmQuery<Pay> query = DB.getInstance().get(SettlePresenter.class).where(Pay.class);
query.equalTo("payDispFlag", 1);
return Observable.just(query.findAll())
return Observable.just(query.findAllSorted("payType", Sort.ASCENDING))
.flatMap(pays -> Observable.just(getList(pays)));
}
......
......@@ -390,7 +390,7 @@ public class Saleorder extends SectionEntity<MediaStore.Video> implements BaseMo
//优惠券
if (ticket != null && ticket.getTruleOrderAmt() > getOrderPayAmt()) this.ticket = null;
this.ticketId = ticket == null ? -1L : ticket.getTicketNo();
this.ticketId = ticket == null ? -1L : ticket.getId();
this.ticketAmt = ticket == null ? 0L : ticket.getTicketValAmt();
this.ticketNum = ticket == null ? (byte) 0 : (byte) 1;
//用券后金额
......
package com.xingdata.zzdpos.model;
import com.xingdata.zzdpos.base.BaseBean;
import java.util.Date;
public class Ticket {
public class Ticket implements BaseBean {
private boolean isSelected;
......@@ -30,6 +32,7 @@ public class Ticket {
@Deprecated
public Ticket(Long l) {
this.id = l;
this.ticketNo = l;
this.ticketValAmt = 0L;
this.truleOrderAmt = 0L;
......
......@@ -15,6 +15,7 @@ import java.util.List;
public class VipRechargeOrder implements BaseOrderPrint, BaseBean {
private Long cardAmtPay;
private Long cardAmtSend;
private String orderNo;
private Long rechangeBefore;
private Long rechangeAfter;
private String vipName;
......@@ -62,6 +63,10 @@ public class VipRechargeOrder implements BaseOrderPrint, BaseBean {
this.rctraceNo = rctraceNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public String getVipMobile() {
return vipMobile;
}
......@@ -126,6 +131,9 @@ public class VipRechargeOrder implements BaseOrderPrint, BaseBean {
@Override
public String getOrderNo() {
if (orderNo != null && orderNo.length() != 0) {
return orderNo;
}
return rctraceNo;
}
......
......@@ -10,13 +10,14 @@ import com.xingdata.zzdpos.databinding.ActivityAnnouncementBinding;
import com.xingdata.zzdpos.model.Notice;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.ui.announcement.fragment.AnnouncementFragment;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.util.OnClickListener;
public class AnnouncementActivity extends BaseActivity<AnnouncementPresenter, ActivityAnnouncementBinding> implements AnnouncementContract.View {
private AnnouncementFragment mAnnouncementFragment = new AnnouncementFragment();
LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
public int getLayoutId() {
......@@ -41,6 +42,17 @@ public class AnnouncementActivity extends BaseActivity<AnnouncementPresenter, Ac
// mAnnouncementDetailFragment.showAnnouncementDetail(s);
// }
@Override
public void isShowLoading(Boolean is) {
if (is) {
mLoadingDialog.show((BaseActivity) mContext);
} else {
if (mLoadingDialog.isShowing) {
mLoadingDialog.dismiss();
}
}
}
@Override
public void loadNotice(Pager<Notice> noticePager, boolean isRefresh) {
mAnnouncementFragment.setData(noticePager, isRefresh);
......
......@@ -9,7 +9,7 @@ import com.xingdata.zzdpos.model.Pager;
public interface AnnouncementContract {
interface View extends BaseView {
void isShowLoading(Boolean is);
/**
* 加载列表
*/
......
......@@ -14,8 +14,9 @@ public class AnnouncementPresenter extends AnnouncementContract.Presenter {
@Override
public void queryNoticeList() {
mView.isShowLoading(true);
ApiFactory.Notice.queryNotice(nowPageNumber, nowPageSize).doFinally(() -> {
// mView.isShowLoading(false);
mView.isShowLoading(false);
})
.subscribe(noticePager -> {
if (noticePager.getTotalRow() == 0) {
......
......@@ -11,7 +11,10 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemAnnouncementDetailBinding;
import com.xingdata.zzdpos.model.Notice;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;
public class AnnouncementAdapter extends BaseAdapter<Notice, ItemAnnouncementDetailBinding> {
......@@ -25,7 +28,7 @@ public class AnnouncementAdapter extends BaseAdapter<Notice, ItemAnnouncementDet
@Override
protected void convert(ItemAnnouncementDetailBinding mViewBinding, Notice item) {
mViewBinding.date.setText(TimeUtils.millis2String(item.getCreateTime()));
mViewBinding.date.setText(TimeUtils.millis2String(item.getCreateTime(), new SimpleDateFormat(StringUtil.defaultDatePattern)));
mViewBinding.title.setText(item.getNoticeTitle());
mViewBinding.body.setText(item.getNoticeDesc());
......
......@@ -9,6 +9,7 @@ import android.view.View;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.ActivityHelpBinding;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.SystemUtil;
public class HelpActivity extends AppCompatActivity {
private ActivityHelpBinding mHelpBinding;
......@@ -19,6 +20,7 @@ public class HelpActivity extends AppCompatActivity {
View root = LayoutInflater.from(this).inflate(R.layout.activity_help, null);
setContentView(root);
mHelpBinding = DataBindingUtil.bind(root);
mHelpBinding.setVersionNo(SystemUtil.getVersionName());
mHelpBinding.icTitle.tvTitle.setText(R.string.help_hint);
mHelpBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
......
......@@ -29,6 +29,9 @@ public class CreateStoreFragment extends BaseFragment<LoginPresenter,
private ArrayList<StoreAddressJsonBean> listAddressItem1 = new ArrayList<>();
private ArrayList<ArrayList<String>> listAddressItem2 = new ArrayList<>();
private ArrayList<ArrayList<ArrayList<String>>> listAddressItem3 = new ArrayList<>();
private ArrayList<StoreTypeJsonBean> listTypeItem1 = new ArrayList<>();
private ArrayList<ArrayList<String>> listTypeItem2 = new ArrayList<>();
LoadingDialog mLoadingDialog = new LoadingDialog();
......
......@@ -14,6 +14,7 @@ import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.ActivityMainBinding;
import com.xingdata.zzdpos.databinding.ItemMenuBottomBinding;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter;
import com.xingdata.zzdpos.ui.main.dialog.HandoverDialog;
import com.xingdata.zzdpos.ui.main.fragment.CasherFragment;
......@@ -39,7 +40,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
// private List<View> views=new ArrayList<>();
private List<ItemMenuBottomBinding> itemMenuBottomBindings = new ArrayList<>();
private HandoverDialog mHandoverDialog = new HandoverDialog();
LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
public int getLayoutId() {
return R.layout.activity_main;
......@@ -84,7 +85,10 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
}
itemMenuBottomBinding.img.setImageResource(iconList[i]);
itemMenuBottomBindings.add(itemMenuBottomBinding);
itemMenuBottomBinding.getRoot().setMinimumHeight(200);
mViewBinding.tabLayout.getTabAt(i).setCustomView(view);
i++;
}
});
......@@ -136,6 +140,17 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
}
@Override
public void isShowLoading(Boolean is) {
if (is) {
mLoadingDialog.show((BaseActivity) mContext);
} else {
if (mLoadingDialog.isShowing) {
mLoadingDialog.dismiss();
}
}
}
@Override
public void handoverOk() {
mHandoverDialog.dismiss();
......
......@@ -7,6 +7,8 @@ import com.xingdata.zzdpos.base.BaseView;
interface MainContract {
interface View extends BaseView {
void isShowLoading(Boolean is);
/**
* 交班确认
*/
......@@ -17,6 +19,7 @@ interface MainContract {
// */
// void showChangePasswordDialog();
//
/**
* 显示交班报表页面
*/
......@@ -270,6 +273,7 @@ interface MainContract {
// */
// public abstract void clickChangePassword();
//
/**
* 菜单EXIT页面 - 点击交班 打开交班报表页面
*/
......@@ -507,6 +511,7 @@ interface MainContract {
// */
// public abstract void sync(SplashPresenter.SynchronousTask synchronousTask);
//
/**
* 初始化交班记录
*/
......@@ -527,6 +532,7 @@ interface MainContract {
// */
// public abstract void clickFeedOk(Feed feed);
//
/**
* 注销
*/
......
......@@ -893,44 +893,7 @@ public class MainPresenter extends MainContract.Presenter {
}
}
// /**
// * 更新交班信息
// */
// private void updateHandover() {
// getRealm().beginTransaction();
// handoverInfo.setSumOrder(handoverInfo.getSumOrder() + 1);
// switch (mPayType) {
// case C.PAY_CHANNEL.CASH:
// handoverInfo.setCash(handoverInfo.getCash() + mOrderInfo.getOrderPayAmt());
// handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mOrderInfo
// .getOrderPayAmt());
// break;
// case C.PAY_CHANNEL.WECHAT:
// handoverInfo.setWechat(handoverInfo.getWechat() + mOrderInfo.getOrderPayAmt());
// handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mOrderInfo
// .getOrderPayAmt());
// break;
// case C.PAY_CHANNEL.ALI:
// handoverInfo.setAlipay(handoverInfo.getAlipay() + mOrderInfo.getOrderPayAmt());
// handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mOrderInfo
// .getOrderPayAmt());
// break;
// case C.PAY_CHANNEL.BANK:
// handoverInfo.setPos(handoverInfo.getPos() + mOrderInfo.getOrderPayAmt());
// handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mOrderInfo
// .getOrderPayAmt());
// break;
// case C.PAY_CHANNEL.CARD:
// handoverInfo.setVip(handoverInfo.getVip() + mOrderInfo.getOrderPayAmt());
// handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mOrderInfo
// .getOrderPayAmt());
// break;
// case C.PAY_CHANNEL.TALLY:
// break;
// }
// getRealm().copyToRealmOrUpdate(handoverInfo);
// getRealm().commitTransaction();
// }
@Override
......
......@@ -48,7 +48,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration
(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
(getActivity(), 2, getResources().getColor(R.color.golden_yuji)));
mMenuRecyclerAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
......
......@@ -16,6 +16,7 @@ import com.xingdata.zzdpos.databinding.FragmentMyselfBinding;
import com.xingdata.zzdpos.ui.announcement.AnnouncementActivity;
import com.xingdata.zzdpos.ui.feedback.FeedBackActivity;
import com.xingdata.zzdpos.ui.help.HelpActivity;
import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.main.adapter.MySelfRecyclerAdapter;
......@@ -35,7 +36,9 @@ public class MyselfFragment extends BaseFragment<MainPresenter, FragmentMyselfBi
@Override
public void initView() {
mViewBinding.setOpername(LoginPresenter.loginReturnBean.getOperName());
// mViewBinding.setPhone(LoginPresenter.loginReturnBean.getOperMobile()+"");
mViewBinding.setAddress(LoginPresenter.loginReturnBean.getCityProvName()+LoginPresenter.loginReturnBean.getCityCountyName()+LoginPresenter.loginReturnBean.getCityAddress());
mViewBinding.fragmentMyselfRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
integers = new ArrayList<>();
integers.add(107);
......
......@@ -15,6 +15,7 @@ import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Ubound;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.marketing.integral.fragment.IntegralIndexFragment;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.List;
......@@ -67,13 +68,13 @@ public class IntegralActivity extends BaseActivity<IntegralPresenter, ActivityIn
@Override
public void addSucc(LoadingDialog loadingDialog) {
pop();
mPresenter.query(1, mPresenter.integralIndexFragment.NORMAL_TYPE, loadingDialog);
mPresenter.query(1, IntegralIndexFragment.NORMAL_TYPE, loadingDialog);
}
@Override
public void updateSucc(LoadingDialog loadingDialog) {
pop();
mPresenter.query(1, mPresenter.integralIndexFragment.NORMAL_TYPE, loadingDialog);
mPresenter.query(1, IntegralIndexFragment.NORMAL_TYPE, loadingDialog);
}
@Override
......
......@@ -204,7 +204,7 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
if (ShowGbound != null && ShowGbound.getTruleName() != null && !(ShowGbound.getTruleName
().equals("")
)) {
mViewBinding.tvRulesName.setText(ShowGbound.getTruleName());
mViewBinding.etIntegralRoleName.setText(ShowGbound.getTruleName());
//开通启用状态 0:正常 1 暂停 默认 0
if (ShowGbound.getBoundGetStatus() == 0) {
mViewBinding.rdStarts
......@@ -467,7 +467,7 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
())) {
return false;
} else {
mViewBinding.tvRulesName.setText(mViewBinding.etIntegralWeight.getText()
mViewBinding.etIntegralRoleName.setText(mViewBinding.etIntegralWeight.getText()
.toString() +
"元送一个积分");
gbound.setTransAmt(ConvertUtil.yuanToFen(mViewBinding.etIntegralWeight
......@@ -483,7 +483,7 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
.toString()) || gbound.getSpuCateId() == -1) {
return false;
} else {
mViewBinding.tvRulesName.setText(mViewBinding.etIntegralCategoryWeight
mViewBinding.etIntegralRoleName.setText(mViewBinding.etIntegralCategoryWeight
.getText().toString() +
"元送一个积分");
gbound.setTransAmt(ConvertUtil.yuanToFen(mViewBinding
......@@ -497,14 +497,14 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
if (TextUtils.isEmpty(mViewBinding.etShopTimeLimit.getText().toString())) {
return false;
} else {
mViewBinding.tvRulesName.setText("商品定义规则");
mViewBinding.etIntegralRoleName.setText("商品定义规则");
gbound.setBoundExp(Byte.parseByte(mViewBinding.etShopTimeLimit.getText()
.toString()));
}
}
break;
}
gbound.setTruleName(mViewBinding.tvRulesName.getText().toString());
gbound.setTruleName(mViewBinding.etIntegralRoleName.getText().toString());
return true;
}
......
......@@ -22,6 +22,7 @@ import com.xingdata.zzdpos.ui.marketing.integral.adapter.IntegralAdapter;
import com.xingdata.zzdpos.ui.marketing.integral.adapter.IntegralExchangeAdapter;
import com.xingdata.zzdpos.util.OnClickListener;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
......@@ -61,7 +62,6 @@ public class IntegralIndexFragment extends BaseFragment<IntegralPresenter,
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mViewBinding.rvMessage.setLayoutManager(linearLayoutManager);
mViewBinding.rvMessage.setAdapter(integralAdapter);
List<Ubound> list = new ArrayList<>();
Ubound ubound = new Ubound();
ubound.setBoundValAmt(1000l);
......
......@@ -13,6 +13,7 @@ import com.xingdata.zzdpos.databinding.ActivityMarketingMenuBinding;
import com.xingdata.zzdpos.model.MarketingMenuModel;
import com.xingdata.zzdpos.ui.marketing.integral.IntegralActivity;
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;
......@@ -64,7 +65,7 @@ public class MarketingMenuActivity extends AppCompatActivity {
marketingMenuAdapter = new MarketingMenuAdapter(list);
mViewBinding.rvMenu.setAdapter(marketingMenuAdapter);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(linearLayoutManager.VERTICAL);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mViewBinding.rvMenu.setLayoutManager(linearLayoutManager);
marketingMenuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
......@@ -90,6 +91,7 @@ public class MarketingMenuActivity extends AppCompatActivity {
break;
case 4: {
//营销计划
ActivityUtils.startActivity(MsActivity.class);
}
break;
case 5: {
......
package com.xingdata.zzdpos.ui.marketing.ms;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityMsBinding;
public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> implements MsContract.View {
@Override
public int getLayoutId() {
return R.layout.activity_ms;
}
@Override
public void initView() {
}
}
package com.xingdata.zzdpos.ui.marketing.ms;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
interface MsContract {
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<View> {
}
}
package com.xingdata.zzdpos.ui.marketing.ms;
public class MsPresenter extends MsContract.Presenter {
@Override
public void onAttached() {
}
}
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
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;
public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding> {
@Override
public int getLayoutId() {
return R.layout.fragment_ms_add;
}
@Override
public void initView() {
}
}
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsEditorBinding;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBinding> {
@Override
public int getLayoutId() {
return R.layout.fragment_ms_editor;
}
@Override
public void initView() {
}
}
package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsManagerBinding;
import com.xingdata.zzdpos.ui.marketing.ms.MsPresenter;
public class ManagerFragment extends BaseFragment<MsPresenter, FragmentMsManagerBinding> {
@Override
public int getLayoutId() {
return R.layout.fragment_ms_manager;
}
@Override
public void initView() {
}
}
......@@ -39,7 +39,7 @@ public class ReturnTicketAdapter extends BaseAdapter<Trule, ItemReturnTicketBind
mViewBinding.tvRule.setText(mContext.getResources().getString(R.string.tv_rule,
ConvertUtil.fenToYuanNoPoint(item.getTruleOrderAmt())));
mViewBinding.tvDate.setText(mContext.getResources().getString(R.string.tv_date,
TimeUtils.millis2String(item.getTruleExp(), new SimpleDateFormat("yyy-mm-dd"))));
TimeUtils.millis2String(item.getTruleExp(), new SimpleDateFormat("yyy-MM-dd"))));
mViewBinding.clSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......@@ -49,10 +49,10 @@ public class ReturnTicketAdapter extends BaseAdapter<Trule, ItemReturnTicketBind
mViewBinding.clItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mPersenter.tickerAddFragment = new TickerAddFragment();
mPersenter.tickerAddFragment.setNowType(2);
mPersenter.tickerAddFragment.editTicketData(item);
returnTicketActivity.start(mPersenter.tickerAddFragment);
// mPersenter.tickerAddFragment = new TickerAddFragment();
// mPersenter.tickerAddFragment.setNowType(2);
// mPersenter.tickerAddFragment.editTicketData(item);
// returnTicketActivity.start(mPersenter.tickerAddFragment);
}
});
......
......@@ -91,10 +91,11 @@ public class TickerAddFragment extends BaseFragment<ReturnTicketPresenter,
}
break;
case R.id.btn_add:{
case R.id.btn_add: {
if (isNull()) {
if (Integer.parseInt(mViewBinding.etRuleMoney.getText().toString()) <= Integer
if (Integer.parseInt(mViewBinding.etRuleMoney.getText().toString())
<= Integer
.parseInt(mViewBinding.etTicketMoney.getText().toString())) {
ToastUtils.showLong("可用金额需大于优惠券面值 ");
return;
......@@ -133,8 +134,7 @@ public class TickerAddFragment extends BaseFragment<ReturnTicketPresenter,
trule.setTruleStatus(nowStatus);
trule.setTruleValAmt(ConvertUtil.yuanToFen(mViewBinding.etTicketMoney.getText().toString
()));
trule.setTruleExp(TimeUtils.string2Millis(mViewBinding.tvDate.getText().toString(), new
SimpleDateFormat("yyyy-mm-dd")));
trule.setTruleExp(TimeUtils.string2Millis(mViewBinding.tvDate.getText().toString()+" 23:59:59"));
trule.setTruleOrderAmt(ConvertUtil.yuanToFen(mViewBinding.etRuleMoney.getText().toString
()));
if (!mViewBinding.etTicketCount.getText().toString().equals("")) {
......
......@@ -4,6 +4,7 @@ import android.view.inputmethod.EditorInfo;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
......@@ -16,6 +17,7 @@ import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.main.MainActivity;
import com.xingdata.zzdpos.ui.settle.fragment.CashPayFragment;
import com.xingdata.zzdpos.ui.settle.dialog.PasswordDialog;
import com.xingdata.zzdpos.ui.settle.fragment.PayResultFragment;
import com.xingdata.zzdpos.ui.settle.fragment.SettleFragment;
import com.xingdata.zzdpos.ui.settle.fragment.TicketFragment;
......@@ -32,6 +34,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
private VipFragment mVipFragment = new VipFragment();
private CashPayFragment mCashPayFragment = new CashPayFragment();
private PasswordDialog mPasswordDialog = new PasswordDialog();
private PayResultFragment mPayResultFragment = new PayResultFragment();
private LoadingDialog mLoadingDialog = new LoadingDialog();
......@@ -45,7 +48,10 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
public void initView() {
this.loadRootFragment(R.id.f_settle, mSettleFragment);
mViewBinding.setTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport());
mViewBinding.btnBack.setOnClickListener(view -> {
getTopFragment().onBackPressedSupport();
onBackPressedSupport();
});
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH) {
KeyboardUtils.hideSoftInput(textView);
......@@ -59,6 +65,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
});
}
@Override
public void showMsg(String msg) {
ToastUtils.showShort(msg);
}
@Override
public void setSettleFragmentBySettleMode(int settleMode) {
mSettleFragment.setViewBySettleMode(settleMode);
......@@ -109,7 +120,6 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
@Override
public void loadSaleorder(Saleorder saleorder) {
mSettleFragment.loadSaleorder(saleorder);
mCashPayFragment.loadSaleorder(saleorder);
}
@Override
......@@ -118,12 +128,15 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
}
@Override
public void showPayFragment(int payChannel) {
switch (payChannel) {
public void showPayFragment(Saleorder saleorder) {
switch (saleorder.getPayType()) {
case C.PAY_CHANNEL.CASH:
this.start(mCashPayFragment);
this.start(mCashPayFragment.setSaleorder(saleorder));
break;
case C.PAY_CHANNEL.TALLY:
case C.PAY_CHANNEL.CARD:
mPasswordDialog.setSaleorder(saleorder).show(this);
break;
}
}
......@@ -161,6 +174,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
ActivityUtils.startActivity(this, MainActivity.class);
}
@Override
public void dismissPasswordDialog() {
mPasswordDialog.dismiss();
}
/**
* 根据titleMode显示TitleBar
......
......@@ -14,6 +14,13 @@ interface SettleContract {
interface View extends BaseView {
/**
* 显示信息
*
* @param msg 信息内容
*/
void showMsg(String msg);
/**
* 设置初始化结算页面
*
......@@ -88,9 +95,9 @@ interface SettleContract {
/**
* 显示支付页面
*
* @param payChannel 支付渠道
* @param saleorder 订单信息
*/
void showPayFragment(int payChannel);
void showPayFragment(Saleorder saleorder);
/**
* 改变锁定状态
......@@ -129,6 +136,12 @@ interface SettleContract {
*/
void backToMainActivity();
/**
* 关闭密码页面
*/
void dismissPasswordDialog();
}
abstract class Presenter extends BasePresenter<View> {
......
......@@ -5,11 +5,13 @@ import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.HandoverInfo;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import java.util.ArrayList;
import java.util.List;
......@@ -17,7 +19,6 @@ import java.util.List;
import io.reactivex.Observable;
public class SettlePresenter extends SettleContract.Presenter {
/**
* 结算模式
*/
......@@ -209,7 +210,7 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void clickPayChannelView(int payChannel) {
mSaleorder.setPayType(payChannel);
mView.showPayFragment(payChannel);
mView.showPayFragment(mSaleorder);
}
@Override
......@@ -231,6 +232,13 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void payInCard(Long cardNo, String password) {
ApiFactory.Recard.checkPwd(mVip.getVipId(), String.valueOf(cardNo), password).subscribe(
b -> {
mView.dismissPasswordDialog();
subscribePay(commitOrder().flatMap(orderNo -> ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(orderNo, C.PAY_CHANNEL.CARD, String.valueOf(cardNo)))));
},
throwable -> mView.showMsg("密码错误")
);
}
@Override
......@@ -292,6 +300,7 @@ public class SettlePresenter extends SettleContract.Presenter {
*/
private void paySucc(Saleorder saleorder) {
mView.showPaySuccFragment(saleorder);
this.updateHandover(MainPresenter.handoverInfo);
}
/**
......@@ -362,4 +371,37 @@ public class SettlePresenter extends SettleContract.Presenter {
mView.loadSaleorder(mSaleorder);
}
/**
* 更新交班信息
*/
private void updateHandover(HandoverInfo handoverInfo) {
getRealm().beginTransaction();
handoverInfo.setSumOrder(handoverInfo.getSumOrder() + 1);
switch (mSaleorder.getPayType()) {
case C.PAY_CHANNEL.CASH:
handoverInfo.setCash(handoverInfo.getCash() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.WECHAT:
handoverInfo.setWechat(handoverInfo.getWechat() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.ALI:
handoverInfo.setAlipay(handoverInfo.getAlipay() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.BANK:
handoverInfo.setPos(handoverInfo.getPos() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.CARD:
handoverInfo.setVip(handoverInfo.getVip() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.TALLY:
break;
}
getRealm().copyToRealmOrUpdate(handoverInfo);
getRealm().commitTransaction();
}
}
......@@ -27,7 +27,7 @@ public class TicketAdapter extends BaseAdapter<Ticket, ItemSettleTicketBinding>
mViewBinding.tvRule.setText(mContext.getResources().getString(R.string.tv_rule,
ConvertUtil.fenToYuanNoPoint(item.getTruleOrderAmt())));
mViewBinding.tvDate.setText(mContext.getResources().getString(R.string.tv_date,
TimeUtils.millis2String(item.getTicketExp(), new SimpleDateFormat("yyy-mm-dd", Locale.getDefault()))));
TimeUtils.millis2String(item.getTicketExp(), new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()))));
mViewBinding.ivSelected.setImageResource(item.isSelected() ? R.mipmap.but_elect01 : R.mipmap.but_elect02);
}
}
package com.xingdata.zzdpos.ui.settle.dialog;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v7.widget.GridLayoutManager;
import android.view.View;
import android.widget.TextView;
import com.blankj.utilcode.util.LogUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogPasswordBinding;
import com.xingdata.zzdpos.databinding.ItemPasswordBinding;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.settle.SettlePresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
import java.util.ArrayList;
import java.util.List;
public class PasswordDialog extends BaseSheetDialog<SettlePresenter, DialogPasswordBinding> {
private PasswordAdapter mPasswordAdapter;
private Long mPayAmt;
private int mPayType;
@Override
protected boolean isTransparentBackground() {
return true;
}
private List<Integer> mValues;
@Override
public int getLayoutId() {
return R.layout.dialog_password;
}
@Override
public void initView() {
mValues = new ArrayList<>();
for (int i = 0; i < 6; i++) {
mValues.add(-1);
}
mPasswordAdapter = new PasswordAdapter(mValues);
mViewBinding.rlPassword.setAdapter(mPasswordAdapter);
mViewBinding.rlPassword.setLayoutManager(new GridLayoutManager(mContext, 6));
mViewBinding.rlPassword.addItemDecoration(new RecyclerViewUtil.GridSpacingItemDecoration(6, mContext.getResources().getDimensionPixelOffset(R.dimen.view_line_L1), true));
mViewBinding.tvAmt.setText(ConvertUtil.fenToYuan(mPayAmt, true));
if (mPayType == C.PAY_CHANNEL.CARD)
mViewBinding.tvType.setText(R.string.settle_pay_card_hint);
if (mPayType == C.PAY_CHANNEL.TALLY)
mViewBinding.tvType.setText(R.string.settle_pay_tally_hint);
View.OnClickListener mOnClickListener = view -> {
switch (view.getId()) {
case R.id.tv_del:
delete();
break;
case R.id.tv_clear:
clear();
break;
case R.id.tv_settle:
settle();
break;
default:
if (view instanceof TextView) {
String str = ((TextView) view).getText().toString();
for (int i = 0; i < mPasswordAdapter.getData().size(); i++) {
if (mPasswordAdapter.getData().get(i) < 0) {
mPasswordAdapter.setData(i, Integer.valueOf(str));
break;
}
}
}
break;
}
LogUtils.e(mPasswordAdapter.getData());
};
mViewBinding.setOnClick(mOnClickListener);
}
/**
* 设置订单信息
*
* @param saleorder 订单信息
* @return this
*/
public PasswordDialog setSaleorder(Saleorder saleorder) {
mPayType = saleorder.getPayType();
mPayAmt = saleorder.getOrderPayAmt();
return this;
}
@Override
public void onStart() {
super.onStart();
//默认全屏展开
mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
/**
* 删除
*/
private void delete() {
for (int i = mPasswordAdapter.getData().size() - 1; i >= 0; i--) {
if (mPasswordAdapter.getData().get(i) >= 0) {
mPasswordAdapter.setData(i, -1);
break;
}
}
LogUtils.e(mPasswordAdapter.getData());
}
/**
* 结账
*/
private void settle() {
StringBuilder strPassword = new StringBuilder();
for (int i = 0; i < mValues.size(); i++) {
strPassword.append(mValues.get(i));
}
if (strPassword.length() < 6) return;
mPresenter.payInCard(0L, strPassword.toString());
}
/**
* 清空
*/
private void clear() {
mValues = new ArrayList<>();
for (int i = 0; i < 6; i++) {
mValues.add(-1);
}
mPasswordAdapter.setNewData(mValues);
}
private class PasswordAdapter extends BaseAdapter<Integer, ItemPasswordBinding> {
PasswordAdapter(@Nullable List<Integer> data) {
super(R.layout.item_password, data);
}
@Override
protected void convert(ItemPasswordBinding mViewBinding, Integer item) {
mViewBinding.setCount(item);
}
}
}
......@@ -31,13 +31,15 @@ public class CashPayFragment extends BaseFragment<SettlePresenter, FragmentPayCa
}
/**
* 加载订单信息
* 设置订单信息
*
* @param saleorder 订单信息
* @return this
*/
public void loadSaleorder(Saleorder saleorder) {
public CashPayFragment setSaleorder(Saleorder saleorder) {
this.mOrderAmt = saleorder.getOrderPayAmt();
this.mInputerView.setValue(ConvertUtil.fenToYuan(saleorder.getOrderPayAmt()));
return this;
}
/**
......
......@@ -15,15 +15,19 @@ import com.xingdata.zzdpos.databinding.ActivityStatisticsBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sta;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.statistics.fragment.StatisticsDateFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.StatisticsFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.StatisticsTitleFragment;
public class StatisticsActivity extends BaseActivity<StatisticsPresenter, ActivityStatisticsBinding> implements StatisticsContract.View {
private StatisticsDateFragment mStatisticsDateFragment = new StatisticsDateFragment();
private StatisticsFragment mStatisticsFragment = new StatisticsFragment();
private StatisticsTitleFragment mStatisticsTitleFragment = new StatisticsTitleFragment();
LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
public int getLayoutId() {
return R.layout.activity_statistics;
......@@ -57,9 +61,52 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
mStatisticsTitleFragment.searchSuc(saleorderPager, wd);
}
@Override
public void searchSuc(Pager<Saleorder> saleorderPager, int payType) {
mStatisticsTitleFragment.searchSuc(saleorderPager, payType);
}
@Override
public void showDateAlert(Boolean f) {
mStatisticsDateFragment.showDateAlert(f);
}
@Override
public void searchSuc(Pager<Saleorder> saleorderPager, long start, long end) {
mStatisticsDateFragment.pop();
mStatisticsTitleFragment.searchSuc(saleorderPager, start,end);
}
@Override
public void searchRechargeSuc(Pager<VipRechargeOrder> vipRechargeOrderPager, long start, long end) {
mStatisticsDateFragment.pop();
mStatisticsTitleFragment.searchRechargeSuc(vipRechargeOrderPager, start,end);
}
@Override
public void searchTicketSuc(Pager<Ticket> ticketPager, long start, long end) {
mStatisticsDateFragment.pop();
mStatisticsTitleFragment.searchTicketSuc(ticketPager, start,end);
}
@Override
public void showDateFragment(Integer integer) {
mStatisticsDateFragment.setSearchType(integer);
FragmentUtils.add(getSupportFragmentManager(), mStatisticsDateFragment, mViewBinding.fragmentContainer.getId(), false, true);
}
@Override
public void isShowLoading(Boolean is) {
if (is) {
mLoadingDialog.show((BaseActivity) mContext);
} else {
if (mLoadingDialog.isShowing) {
mLoadingDialog.dismiss();
}
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
......@@ -69,4 +116,5 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
// }
return super.onKeyDown(keyCode, event);
}
}
package com.xingdata.zzdpos.ui.statistics;
import android.content.Intent;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sta;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.UsedTicketListFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.RechargeListFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.order.OrderListFragment;
......@@ -16,6 +21,7 @@ public interface StatisticsContract {
interface View extends BaseView {
void isShowLoading(Boolean is);
/**
* 设置统计信息
*/
......@@ -26,6 +32,11 @@ public interface StatisticsContract {
*/
void showOrderListFragment();
/**
* 跳转日期搜索
*/
void showDateFragment(Integer integer);
/**
* 跳转营销页
*/
......@@ -36,10 +47,36 @@ public interface StatisticsContract {
*/
void searchSuc(Pager<Saleorder> saleorderPager, String wd);
/**
* 搜索成功
*/
void searchSuc(Pager<Saleorder> saleorderPager, int payType);
/**
* 日期搜索成功
*/
void searchSuc(Pager<Saleorder> saleorderPager, long start, long end);
/**
* 日期搜索成功
*/
void searchRechargeSuc(Pager<VipRechargeOrder> vipRechargeOrderPager, long start, long end);
/**
* 日期搜索成功
*/
void searchTicketSuc(Pager<Ticket> ticketPager, long start, long end);
/**
* 展示日期警告
*/
void showDateAlert(Boolean f);
}
abstract class Presenter extends BasePresenter<View> {
/**
* 跳转日期搜索
*/
public abstract void clickDate(Integer integer);
/**
* 跳转营销页
......@@ -56,6 +93,22 @@ public interface StatisticsContract {
*/
public abstract void getRechargeList(int pageNumber, RechargeListFragment msListFragment);
/**
* 获取充值列表
*/
public abstract void getRechargeList(int pageNumber, long startDate, long endDate);
/**
* 获取已用优惠券列表
*/
public abstract void getTicketList(int pageNumber, UsedTicketListFragment msListFragment);
/**
* 获取已用优惠券列表
*/
public abstract void getTicketList(int pageNumber,long startDate, long endDate);
/**
* 获取订单列表
*/
......@@ -64,11 +117,28 @@ public interface StatisticsContract {
/**
* 搜索订单列表
*/
public abstract void getSaleOrderList(String orderNo, int pageNumber, String wd);
public abstract void getSaleOrderList(int pageNumber, String wd);
/**
* 搜索订单列表
*/
public abstract void getSaleOrderList(int pageNumber, int payType);
/**
* 搜索日期订单列表
*/
public abstract void getSaleOrderList(int pageNumber, long startDate, long endDate);
/**
* 获取统计详情
*/
public abstract void getSat();
/**
* 检查日期合法性
*
* @param dateStart 起始时间
* @param dateEnd 终止时间
*/
public abstract void inspectDate(String dateStart, String dateEnd, Integer type);
}
}
package com.xingdata.zzdpos.ui.statistics;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.databinding.DataBindingUtil;
import android.util.TimeUtils;
import android.view.LayoutInflater;
......@@ -14,15 +16,20 @@ import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityStatisticsDetailBinding;
import com.xingdata.zzdpos.databinding.ItemSettleSaledetailBinding;
import com.xingdata.zzdpos.databinding.ViewOrderDetailBinding;
import com.xingdata.zzdpos.databinding.ViewTicketBinding;
import com.xingdata.zzdpos.databinding.ViewVipRechargeBinding;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.OnClickListener;
public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPresenter, ActivityStatisticsDetailBinding> implements StatisticsDetailContract.View {
LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
public int getLayoutId() {
......@@ -31,6 +38,13 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
@Override
public void initView() {
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
finish();
}
});
initData();
}
......@@ -39,6 +53,7 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
if (getIntent().getExtras() != null) {
Long data = getIntent().getLongExtra(Saleorder.class.getName(), -1);
VipRechargeOrder vipRechargeOrder = (VipRechargeOrder) getIntent().getSerializableExtra(VipRechargeOrder.class.getName());
Ticket ticket = (Ticket) getIntent().getSerializableExtra(Ticket.class.getName());
if (data > 0) {
mPresenter.getOrderDetail(String.valueOf(data));
mViewBinding.icTitle.tvTitle.setText(R.string.statistics_order_detail_hint);
......@@ -47,23 +62,36 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
mViewBinding.icTitle.tvTitle.setText(R.string.statistics_vip_recharge_hint);
getVipRechargeOrderSuss(vipRechargeOrder);
}
if (ticket != null) {
mViewBinding.icTitle.tvTitle.setText(R.string.statistics_used_ticket_hint);
getTicketSuss(ticket);
}
}
}
@Override
public void onBackPressedSupport() {
super.onBackPressedSupport();
}
private void getTicketSuss(Ticket ticket) {
mViewBinding.llBottom.setVisibility(View.GONE);
mViewBinding.viewTicket.getViewStub().inflate();
ViewTicketBinding viewTicketBinding = DataBindingUtil.bind(mViewBinding.viewTicket.getRoot());
viewTicketBinding.tvAmt.setText(ConvertUtil.fenToYuan(ticket.getTicketValAmt(), true));
viewTicketBinding.setDate(com.blankj.utilcode.util.TimeUtils.date2String(ticket.getUpdateTime()));
viewTicketBinding.setOrderNo(ticket.getUseOrderNo());
}
private void getVipRechargeOrderSuss(VipRechargeOrder vipRechargeOrder) {
mViewBinding.btnConfirm.setVisibility(View.GONE);
mViewBinding.btnReturn.setVisibility(View.GONE);
mViewBinding.viewVipRecharge.getViewStub().inflate();
ViewVipRechargeBinding viewVipRechargeBinding = DataBindingUtil.bind(mViewBinding.viewVipRecharge.getRoot());
viewVipRechargeBinding.tvAmt.setText(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtPay() + vipRechargeOrder.getCardAmtSend(), true));
viewVipRechargeBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String(vipRechargeOrder.getCreateTime()));
viewVipRechargeBinding.setOrderNo(vipRechargeOrder.getRctraceNo());
viewVipRechargeBinding.setOrderNo(vipRechargeOrder.getOrderNo());
viewVipRechargeBinding.setVipName(vipRechargeOrder.getVipName());
viewVipRechargeBinding.setVipTel(vipRechargeOrder.getVipMobile());
viewVipRechargeBinding.setPayAmt(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtPay(), false));
......@@ -71,15 +99,32 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
}
@Override
public void getOrderDetailSuss(Saleorder mSaleorder) {
public void isShowLoading(Boolean is) {
if (is) {
mLoadingDialog.show((BaseActivity) mContext);
} else {
if (mLoadingDialog.isShowing) {
mLoadingDialog.dismiss();
}
}
}
@Override
public void getOrderDetailSuss(Saleorder mSaleorder) {
mViewBinding.viewOrderDetail.getViewStub().inflate();
ViewOrderDetailBinding viewOrderDetailBinding = DataBindingUtil.bind(mViewBinding.viewOrderDetail.getRoot());
switch (mSaleorder.getOrderStatus()) {
case 9:
viewOrderDetailBinding.tvAmtHint.setText("退货金额");
viewOrderDetailBinding.setPayType(mSaleorder.getSalepay() == null ? "退货" : mSaleorder.getSalepay().getPayName());
break;
default:
viewOrderDetailBinding.setPayType(mSaleorder.getSalepay() == null ? "未支付" : mSaleorder.getSalepay().getPayName());
}
viewOrderDetailBinding.tvAmt.setText(ConvertUtil.fenToYuan(mSaleorder.getOrderPayAmt(), true));
viewOrderDetailBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String(mSaleorder.getCreateTime()));
viewOrderDetailBinding.setOrderNo(mSaleorder.getOrderNo());
viewOrderDetailBinding.setDisAmt(ConvertUtil.fenToYuan(mSaleorder.getOrderReduAmt(), false));
viewOrderDetailBinding.setPayType(mSaleorder.getSalepay() == null ? "未支付" : mSaleorder.getSalepay().getPayName());
viewOrderDetailBinding.setSumAmt(ConvertUtil.fenToYuan(mSaleorder.getOrderAuthAmt(), false));
viewOrderDetailBinding.setOperName(mSaleorder.getOperName());
viewOrderDetailBinding.setGoodsNum(mSaleorder.getOrderCnt() + "");
......@@ -100,7 +145,7 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
itemSettleSaledetailBinding.tvCount.setText(saledetail.getCnt());
itemSettleSaledetailBinding.tvPrice.setText("¥" + saledetail.getPrice());
itemSettleSaledetailBinding.tvName.setText(saledetail.getName());
// itemSettleSaledetailBinding.tvInitialPrice.setText(saledetail.getpr);
// itemSettleSaledetailBinding.tvInitialPrice.setText(saledetail.getpr);
viewOrderDetailBinding.llGoodsList.addView(view);
}
......@@ -111,7 +156,24 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
viewOrderDetailBinding.llGoodsList.setVisibility(View.VISIBLE);
});
mViewBinding.btnReturn.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
new AlertDialog.Builder(StatisticsDetailActivity.this).setTitle("确认退货").setNegativeButton("取消", null).setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
mPresenter.returnOrder(mSaleorder.getOrderNo() + "");
}
}).create().show();
}
});
}
}
@Override
public void returnOrderSuss() {
finish();
}
}
......@@ -16,8 +16,9 @@ public interface StatisticsDetailContract {
interface View extends BaseView {
void isShowLoading(Boolean is);
void getOrderDetailSuss(Saleorder saleorder);
void returnOrderSuss();
}
abstract class Presenter extends BasePresenter<View> {
......@@ -27,7 +28,12 @@ public interface StatisticsDetailContract {
* 获取订单明细
*/
public abstract void getOrderDetail(String saleorderId);
/**
* 退货
*
* @param orderId 订单id
*/
public abstract void returnOrder(String orderId);
}
}
......@@ -17,10 +17,23 @@ public class StatisticsDetailPresenter extends StatisticsDetailContract.Presente
@Override
public void getOrderDetail(String mSaleorderId) {
ApiFactory.Test.getSaleOrderDetail(mSaleorderId).subscribe(saleorder -> {
mView.getOrderDetailSuss(saleorder);
mView.isShowLoading(true);
ApiFactory.Test.getSaleOrderDetail(mSaleorderId).doFinally(() -> mView.isShowLoading(false))
.subscribe(saleorder -> {
mView.getOrderDetailSuss(saleorder);
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void returnOrder(String orderId) {
ApiFactory.Test.returnOrder(orderId ).subscribe(s -> {
ToastUtils.showLong("成功");
mView.returnOrderSuss();
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
ToastUtils.showLong(throwable.getMessage());
});
}
}
package com.xingdata.zzdpos.ui.statistics;
import android.content.Intent;
import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.UsedTicketListFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.RechargeListFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.order.OrderListFragment;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
/**
* Created by Administrator on 2017/12/23.
......@@ -19,6 +26,10 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
}
@Override
public void clickDate(Integer integer) {
mView.showDateFragment(integer);
}
@Override
public void clickMs() {
......@@ -33,6 +44,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
@Override
public void getOrderList(int pageNumber, int pageSize, long startDate, long endDate, OrderListFragment fragment) {
ApiFactory.Test.getSaleOrderList("99", pageNumber, pageSize, startDate, endDate).doFinally(() -> {
})
......@@ -62,12 +74,52 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
@Override
public void getRechargeList(int pageNumber, RechargeListFragment msListFragment) {
ApiFactory.Rctrace.queryRecharge(pageNumber, nowPageSize)
mView.isShowLoading(true);
ApiFactory.Rctrace.queryRecharge(pageNumber, nowPageSize).doFinally(()-> mView.isShowLoading(false))
.subscribe(vipRechargeOrderPager -> {
msListFragment.setData(vipRechargeOrderPager, vipRechargeOrderPager.isFirstPage());
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
msListFragment.setData(vipRechargeOrderPager, vipRechargeOrderPager.isFirstPage());
@Override
public void getRechargeList(int pageNumber, long startDate, long endDate) {
mView.isShowLoading(true);
ApiFactory.Rctrace.queryRecharge(pageNumber, nowPageSize, startDate, endDate).doFinally(()-> mView.isShowLoading(false))
.subscribe(vipRechargeOrderPager -> {
//判断是否能加载更多
if (vipRechargeOrderPager.getList() == null || vipRechargeOrderPager.getList().size() == 0) {
ToastUtils.showShort("没有查询到相关充值记录");
} else {
mView.searchRechargeSuc(vipRechargeOrderPager, startDate, endDate);
}
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void getTicketList(int pageNumber, UsedTicketListFragment msListFragment) {
mView.isShowLoading(true);
ApiFactory.Ticket.query(pageNumber, nowPageSize, 2).doFinally(()-> mView.isShowLoading(false))
.subscribe(ticketPager -> {
msListFragment.setData(ticketPager, ticketPager.isFirstPage());
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void getTicketList(int pageNumber, long startDate, long endDate) {
mView.isShowLoading(true);
ApiFactory.Ticket.query(pageNumber, nowPageSize, 2, startDate, endDate).doFinally(()-> mView.isShowLoading(false))
.subscribe(ticketPager -> {
if (ticketPager.getList() == null || ticketPager.getList().size() == 0) {
ToastUtils.showShort("没有查询到相关优惠券");
} else {
mView.searchTicketSuc(ticketPager, startDate, endDate);
}
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
......@@ -75,12 +127,11 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
/**
* 状态,0:已完成,1:退货,7赊账,99:全部订单
*
* @param orderNo 订单号
*/
@Override
public void getSaleOrderList(String orderNo, int pageNumber, String wd) {
ApiFactory.Test.getSaleOrderList(pageNumber, nowPageSize, "99", orderNo, wd)
public void getSaleOrderList(int pageNumber, String wd) {
mView.isShowLoading(true);
ApiFactory.Test.getSaleOrderList(pageNumber, nowPageSize, "99", null, wd).doFinally(()-> mView.isShowLoading(false))
.subscribe(saleorderPager -> {
//判断是否能加载更多
if (saleorderPager.getList() == null || saleorderPager.getList().size() == 0) {
......@@ -95,4 +146,69 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
}
/**
* 状态,0:已完成,1:退货,7赊账,99:全部订单
*/
@Override
public void getSaleOrderList(int pageNumber, int payType) {
mView.isShowLoading(true);
ApiFactory.Test.getSaleOrderList(pageNumber, nowPageSize, "99", payType).doFinally(()-> mView.isShowLoading(false))
.subscribe(saleorderPager -> {
//判断是否能加载更多
if (saleorderPager.getList() == null || saleorderPager.getList().size() == 0) {
ToastUtils.showShort("没有查询到相关订单");
} else {
mView.searchSuc(saleorderPager, payType);
}
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void getSaleOrderList(int pageNumber, long startDate, long endDate) {
mView.isShowLoading(true);
ApiFactory.Test.getSaleOrderList("99", pageNumber, nowPageSize, startDate, endDate).doFinally(()-> mView.isShowLoading(false))
.subscribe(saleorderPager -> {
//判断是否能加载更多
if (saleorderPager.getList() == null || saleorderPager.getList().size() == 0) {
ToastUtils.showShort("没有查询到相关订单");
} else {
mView.searchSuc(saleorderPager, startDate, endDate);
}
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void inspectDate(String dateStart, String dateEnd, Integer type) {
long longStart = TimeUtils.string2Millis(dateStart, new SimpleDateFormat(StringUtil.defaultDatePattern));
long longEnd = TimeUtils.string2Millis(dateEnd, new SimpleDateFormat(StringUtil.defaultDatePattern)) + 86400000L;
if (longStart > longEnd) {
ToastUtils.showShort("日期不符合区间");
mView.showDateAlert(true);
} else {
mView.showDateAlert(false);
if (type == null) {
getSaleOrderList(1, longStart, longEnd);
} else {
switch (type) {
case 0:
getRechargeList(1, longStart, longEnd);
break;
case 1:
getTicketList(1, longStart, longEnd);
break;
}
}
}
}
}
......@@ -32,7 +32,12 @@ public class StatisticsOrderAdapter extends BaseAdapter<Saleorder, ItemStatistic
}else {
mViewBinding.tvLeftTop.setText(item.getOrderNo());
}
mViewBinding.tvRightTop.setText("+"+item.getPayAmt());
if (item.getOrderPayAmt()>0){
mViewBinding.tvRightTop.setText("+"+item.getPayAmt());
}else {
mViewBinding.tvRightTop.setText(item.getPayAmt());
}
mViewBinding.tvLeftBottom.setText(TimeUtils.millis2String(item.getCreateTime()));
switch (item.getPayType()){
case C.PAY_CHANNEL.CASH:
......
......@@ -26,6 +26,7 @@ public class StatisticsRechargeAdapter extends BaseAdapter<VipRechargeOrder, Ite
@Override
protected void convert(ItemStatisticsBinding mViewBinding, VipRechargeOrder item) {
mViewBinding.imgLeft.setImageResource(R.mipmap.ic_text_recharge);
mViewBinding.tvLeftTop.setText(item.getUserName());
mViewBinding.tvLeftBottom.setText(com.blankj.utilcode.util.TimeUtils.millis2String(item.getCreateTime()));
mViewBinding.tvRightTop.setText("+"+ ConvertUtil.fenToYuan(item.getCardAmtPay(),false));
......
package com.xingdata.zzdpos.ui.statistics.adapter;
import android.support.annotation.Nullable;
import android.view.View;
import android.view.ViewGroup;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemStatisticsBinding;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.util.List;
public class StatisticsTicketAdapter extends BaseAdapter<Ticket, ItemStatisticsBinding> {
public StatisticsTicketAdapter(@Nullable List<Ticket> data) {
super(R.layout.item_statistics, data);
}
@Override
protected void convert(ItemStatisticsBinding mViewBinding, Ticket item) {
mViewBinding.imgLeft.setImageResource(R.mipmap.ic_text_ticket);
mViewBinding.tvLeftTop.setText(ConvertUtil.fenToYuanNoZero(item.getTicketValAmt())+"元优惠券");
mViewBinding.tvLeftBottom.setText(TimeUtils.date2String(item.getCreateTime()));
}
@Override
protected View getItemView(int layoutResId, ViewGroup parent) {
return super.getItemView(layoutResId, parent);
}
}
package com.xingdata.zzdpos.ui.statistics.fragment;
import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import com.blankj.utilcode.util.FragmentUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentStatisticsDateBinding;
import com.xingdata.zzdpos.databinding.FragmentStatisticsTitleBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.MsMainFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.order.OrderMainFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.order.OrderSearchFragment;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
import java.util.logging.Handler;
public class StatisticsDateFragment extends BaseFragment<StatisticsPresenter, FragmentStatisticsDateBinding> {
private float textSize;
private View.OnFocusChangeListener mOnFocusChangeListener;
private View.OnClickListener mOnClickListener;
private Integer type;
@Override
public int getLayoutId() {
return R.layout.fragment_statistics_date;
}
@Override
public void initView() {
initListener();
textSize = mViewBinding.editStart.getTextSize();
mViewBinding.editStart.setOnFocusChangeListener(mOnFocusChangeListener);
mViewBinding.editEnd.setOnFocusChangeListener(mOnFocusChangeListener);
mViewBinding.editStart.setOnClickListener(mOnClickListener);
mViewBinding.editEnd.setOnClickListener(mOnClickListener);
String startAll = StringUtil.monthStart();
String[] stringsStart = startAll.split("-");
mViewBinding.datePickerStart.setMaxDate(System.currentTimeMillis());
mViewBinding.datePickerStart.init(2000, 0, 0, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
String month = String.valueOf(i1 + 1).length() >= 2 ? String.valueOf(i1 + 1) : "0" + String.valueOf(i1 + 1);
String day = String.valueOf(i2).length() >= 2 ? String.valueOf(i2) : "0" + String.valueOf(i2);
mViewBinding.editStart.setText(i + "-" + month + "-" + day);
}
});
String endAll = TimeUtils.millis2String(System.currentTimeMillis(), new SimpleDateFormat(StringUtil.defaultDatePattern));
String[] stringsEnd = endAll.split("-");
mViewBinding.datePickerEnd.setMaxDate(System.currentTimeMillis());
mViewBinding.datePickerEnd.init(2000, 0, 0, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
String month = String.valueOf(i1 + 1).length() >= 2 ? String.valueOf(i1 + 1) : "0" + String.valueOf(i1 + 1);
String day = String.valueOf(i2).length() >= 2 ? String.valueOf(i2) : "0" + String.valueOf(i2);
mViewBinding.editEnd.setText(i + "-" + month + "-" + day);
}
});
mViewBinding.tvOk.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
mPresenter.inspectDate(mViewBinding.editStart.getText().toString(), mViewBinding.editEnd.getText().toString(), type);
}
});
mViewBinding.tvCancel.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
}
});
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
mViewBinding.datePickerStart.updateDate(Integer.valueOf(stringsStart[0]), Integer.valueOf(stringsStart[1]) - 1, Integer.valueOf(stringsStart[2]));
mViewBinding.datePickerEnd.updateDate(Integer.valueOf(stringsEnd[0]), Integer.valueOf(stringsEnd[1]) - 1, Integer.valueOf(stringsEnd[2]));
mViewBinding.editStart.performClick();
mViewBinding.editStart.setText(startAll);
mViewBinding.editEnd.setText(endAll);
}
}, 10);
}
public void showDateAlert(Boolean f) {
if (f) {
mViewBinding.imgAlert.setVisibility(View.VISIBLE);
} else {
mViewBinding.imgAlert.setVisibility(View.GONE);
}
}
private void initListener() {
mOnFocusChangeListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (b) {
((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize + 5);
((TextView) view).setTextColor(getResources().getColor(R.color.red_guanyu));
String[] strings = ((TextView) view).getText().toString().split("-");
if (mViewBinding.datePickerStart.getVisibility() == View.GONE) {
mViewBinding.datePickerStart.setVisibility(View.VISIBLE);
mViewBinding.datePickerEnd.setVisibility(View.GONE);
} else {
mViewBinding.datePickerStart.setVisibility(View.GONE);
mViewBinding.datePickerEnd.setVisibility(View.VISIBLE);
}
} else {
((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
((TextView) view).setTextColor(getResources().getColor(R.color.gray_kongming));
}
}
};
mOnClickListener = new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
if (v.isFocused()) {
} else {
v.setFocusable(true);
v.setFocusableInTouchMode(true);
v.requestFocus();
}
}
};
}
public void setSearchType(Integer integer) {
this.type = integer;
}
}
......@@ -49,7 +49,7 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 2, getResources().getColor(R.color.golden_yuji)));
mMenuRecyclerAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
......
package com.xingdata.zzdpos.ui.statistics.fragment;
import android.databinding.DataBindingUtil;
import android.view.KeyEvent;
import android.view.View;
......@@ -9,10 +10,15 @@ import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentStatisticsTitleBinding;
import com.xingdata.zzdpos.databinding.ViewSearchPaytypeBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.MsMainFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.RechargeSearchFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.ms.TicketSearchFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.order.OrderMainFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.order.OrderSearchFragment;
import com.xingdata.zzdpos.util.OnClickListener;
......@@ -22,6 +28,8 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
private int fragmentMenu;
private OrderMainFragment mOrderMainFragment = new OrderMainFragment();
private OrderSearchFragment mOrderSearchFragment = new OrderSearchFragment();
private RechargeSearchFragment mRechargeSearchFragment = new RechargeSearchFragment();
private TicketSearchFragment mTicketSearchFragment = new TicketSearchFragment();
private MsMainFragment mMsMainFragment = new MsMainFragment();
@Override
......@@ -44,6 +52,34 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
mViewBinding.viewStub.getRoot().setVisibility(View.VISIBLE);
} else {
mViewBinding.viewStub.getViewStub().inflate();
ViewSearchPaytypeBinding viewSearchPaytypeBinding = DataBindingUtil.bind(mViewBinding.viewStub.getRoot());
viewSearchPaytypeBinding.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
switch (v.getId()) {
case R.id.pay_cash:
mPresenter.getSaleOrderList(1, C.PAY_CHANNEL.CASH);
break;
case R.id.pay_alipay:
mPresenter.getSaleOrderList(1, C.PAY_CHANNEL.ALI);
break;
case R.id.pay_wechat:
mPresenter.getSaleOrderList(1, C.PAY_CHANNEL.WECHAT);
break;
case R.id.pay_bank:
mPresenter.getSaleOrderList(1, C.PAY_CHANNEL.BANK);
break;
case R.id.pay_vipcard:
mPresenter.getSaleOrderList(1, C.PAY_CHANNEL.CARD);
break;
case R.id.pay_tally:
mPresenter.getSaleOrderList(1, C.PAY_CHANNEL.TALLY);
break;
}
}
});
}
} else {
......@@ -53,13 +89,18 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
});
mViewBinding.icTitle.edTitle.setOnKeyListener((v, keyCode, event) -> {
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
mPresenter.getSaleOrderList(null, 1, mViewBinding.icTitle.edTitle.getText().toString());
mPresenter.getSaleOrderList(1, mViewBinding.icTitle.edTitle.getText().toString());
hideSoftInput();
}
return false;
});
mViewBinding.icTitle.ivRight.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
mPresenter.clickDate(null);
}
});
break;
......@@ -68,6 +109,13 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
mViewBinding.icTitle.edTitle.setVisibility(View.GONE);
mViewBinding.icTitle.tvTitle.setText(R.string.menu_ms);
mViewBinding.icTitle.tvTitle.setVisibility(View.VISIBLE);
mViewBinding.icTitle.ivRight.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
mPresenter.clickDate(mMsMainFragment.getTabItem());
}
});
break;
}
......@@ -83,6 +131,14 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
FragmentUtils.remove(mOrderSearchFragment);
return;
}
if (mRechargeSearchFragment.isAdded()) {
FragmentUtils.remove(mRechargeSearchFragment);
return;
}
if (mTicketSearchFragment.isAdded()) {
FragmentUtils.remove(mRechargeSearchFragment);
return;
}
pop();
}
});
......@@ -93,17 +149,67 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
fragmentMenu = c;
}
public void searchSuc(Pager<Saleorder> saleorderPager, int payType) {
if (mViewBinding.icTitle.edTitle.isFocused()) {
mViewBinding.icTitle.edTitle.clearFocus();
}
if (!mOrderSearchFragment.isAdded()) {
mOrderSearchFragment.setCreateData(saleorderPager, payType);
FragmentUtils.add(getChildFragmentManager(), mOrderSearchFragment, mViewBinding.mainFrame.getId(), false, true);
} else {
mOrderSearchFragment.setType(OrderSearchFragment.PAYTYPE);
mOrderSearchFragment.setData(saleorderPager, saleorderPager.isFirstPage());
}
}
public void searchSuc(Pager<Saleorder> saleorderPager, String wd) {
if (mViewBinding.icTitle.edTitle.isFocused()) {
mViewBinding.icTitle.edTitle.clearFocus();
}
if (!mOrderSearchFragment.isAdded()) {
mOrderSearchFragment.setCreateDate(saleorderPager, wd);
mOrderSearchFragment.setCreateData(saleorderPager, wd);
FragmentUtils.add(getChildFragmentManager(), mOrderSearchFragment, mViewBinding.mainFrame.getId(), false, true);
} else {
mOrderSearchFragment.setType(OrderSearchFragment.WD);
mOrderSearchFragment.setData(saleorderPager, saleorderPager.isFirstPage());
}
}
public void searchSuc(Pager<Saleorder> saleorderPager, long start, long end) {
if (mViewBinding.icTitle.edTitle.isFocused()) {
mViewBinding.icTitle.edTitle.clearFocus();
}
if (!mOrderSearchFragment.isAdded()) {
mOrderSearchFragment.setCreateData(saleorderPager, start, end);
FragmentUtils.add(getChildFragmentManager(), mOrderSearchFragment, mViewBinding.mainFrame.getId(), false, true);
} else {
mOrderSearchFragment.setType(OrderSearchFragment.DATE);
mOrderSearchFragment.setData(saleorderPager, saleorderPager.isFirstPage());
}
}
public void searchRechargeSuc(Pager<VipRechargeOrder> vipRechargeOrderPager, long start, long end) {
if (!mRechargeSearchFragment.isAdded()) {
mRechargeSearchFragment.setCreateData(vipRechargeOrderPager, start, end);
FragmentUtils.add(getChildFragmentManager(), mRechargeSearchFragment, mViewBinding.mainFrame.getId(), false, true);
} else {
mRechargeSearchFragment.setType(OrderSearchFragment.DATE);
mRechargeSearchFragment.setData(vipRechargeOrderPager, vipRechargeOrderPager.isFirstPage());
}
}
public void searchTicketSuc(Pager<Ticket> ticketPager, long start, long end) {
if (!mTicketSearchFragment.isAdded()) {
mTicketSearchFragment.setCreateData(ticketPager, start, end);
FragmentUtils.add(getChildFragmentManager(), mTicketSearchFragment, mViewBinding.mainFrame.getId(), false, true);
} else {
mTicketSearchFragment.setType(OrderSearchFragment.DATE);
mTicketSearchFragment.setData(ticketPager, ticketPager.isFirstPage());
}
}
@Override
public boolean onBackPressedSupport() {
if (mViewBinding.icTitle.edTitle.isFocused()) {
......@@ -114,6 +220,14 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
FragmentUtils.remove(mOrderSearchFragment);
return true;
}
if (mRechargeSearchFragment.isAdded()) {
FragmentUtils.remove(mRechargeSearchFragment);
return true;
}
if (mTicketSearchFragment.isAdded()) {
FragmentUtils.remove(mRechargeSearchFragment);
return true;
}
mViewBinding.icTitle.edTitle.setText("");
return false;
......
package com.xingdata.zzdpos.ui.statistics.fragment.ms;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsListBinding;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsRechargeAdapter;
public class GaveTicketListFragment extends BaseFragment<StatisticsPresenter, FragmentMsListBinding> {
private int pagerNum;
@Override
public int getLayoutId() {
return R.layout.fragment_ms_list;
}
@Override
public void initView() {
// pagerNum=1;
// Calendar calendar = Calendar.getInstance();
////获得当前时间的月份,月份从0开始所以结果要加1
// int monthNow = calendar.get(Calendar.MONTH) + 1;
// calendar.setTimeInMillis(monthDateStart);
// int monthStart = calendar.get(Calendar.MONTH) + 1;
// if (monthStart == monthNow) {
// mViewBinding.setMonth("本月");
// } else {
// mViewBinding.setMonth(monthStart + "月");
// }
// mViewBinding.setAmt("收入:¥230.00");
// mViewBinding.llTitle.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// pop();
// }
// });
// mViewBinding.tvEmpty.setText(R.string.statistics_search_empty);
//
// if (mStatisticsAdapter == null) {
// mStatisticsAdapter = new StatisticsAdapter(new ArrayList<>());
// mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
// mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
//
// } else {
// mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
// mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
// }
//
// mStatisticsAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
// @Override
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// Intent intent = new Intent(getActivity(), StatisticsDetailActivity.class);
// intent.putExtra(Saleorder.class.getName(), mStatisticsAdapter.getData().get(position).getId());
// ActivityUtils.startActivity(intent);
// }
// });
//
// mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
// mStatisticsAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.statisticsRecycler);
//
// mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
}
// private void onRefresh() {
// pagerNum = 1;
// mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
// }
//
// private void onLoadMore() {
// pagerNum++;
// mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
// }
// /**
// * 设置数据
// *
// * @param pager 数据
// * @param isRefresh 是否刷新
// */
// public void setData(Pager<Saleorder> pager, boolean isRefresh) {
// if (isRefresh) {
// mStatisticsAdapter.setEnableLoadMore(true);
// mViewBinding.srlProduct.setRefreshing(false);
// }
// if (isRefresh) mStatisticsAdapter.setNewData(pager.getList());
// else if (pager.getList().size() > 0) mStatisticsAdapter.addData(pager.getList());
// if (pager.isLastPage()) mStatisticsAdapter.loadMoreEnd(isRefresh);
// else mStatisticsAdapter.loadMoreComplete();
//
// if (mStatisticsAdapter.getData().size() == 0) {
// mViewBinding.llEmpty.setVisibility(View.VISIBLE);
// mViewBinding.statisticsRecycler.setVisibility(View.GONE);
// } else {
// mViewBinding.llEmpty.setVisibility(View.GONE);
// mViewBinding.statisticsRecycler.setVisibility(View.VISIBLE);
// }
// }
public void setRechargeData() {
}
@Override
public String getTabTitle() {
return "已发优惠券";
}
}
......@@ -37,7 +37,6 @@ public class MsMainFragment extends BaseFragment<MainPresenter, FragmentMsMainBi
public void initViewPager() {
if (fragments.size() == 0) {
fragments.add(new RechargeListFragment());
fragments.add(new GaveTicketListFragment());
fragments.add(new UsedTicketListFragment());
......@@ -59,5 +58,7 @@ public class MsMainFragment extends BaseFragment<MainPresenter, FragmentMsMainBi
}
}
public int getTabItem() {
return mViewBinding.tabLayout.getSelectedTabPosition();
}
}
......@@ -33,7 +33,7 @@ public class RechargeListFragment extends BaseFragment<StatisticsPresenter, Frag
public void initView() {
pagerNum = 1;
mViewBinding.tvEmpty.setText(R.string.statistics_search_empty_recharge);
if (mStatisticsRechargeAdapter == null) {
mStatisticsRechargeAdapter = new StatisticsRechargeAdapter(new ArrayList<>());
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
......
package com.xingdata.zzdpos.ui.statistics.fragment.ms;
import android.content.Intent;
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.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentOrderSearchBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderAdapter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsRechargeAdapter;
import java.util.ArrayList;
public class RechargeSearchFragment extends BaseFragment<StatisticsPresenter, FragmentOrderSearchBinding> {
private StatisticsRechargeAdapter mStatisticsAdapter;
private Pager<VipRechargeOrder> VipRechargeOrders;
private int pagerNum;
private String wd = "";
private int TYPE;
public static final int WD = 99;
public static final int DATE = 100;
private Long startDate;
private Long endDate;
@Override
public int getLayoutId() {
return R.layout.fragment_order_search;
}
@Override
public void initView() {
if (mStatisticsAdapter == null) {
mStatisticsAdapter = new StatisticsRechargeAdapter(new ArrayList<>());
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
} else {
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
}
mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
mStatisticsAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.statisticsRecycler);
if (VipRechargeOrders != null) {
setData(VipRechargeOrders, VipRechargeOrders.isFirstPage());
}
mStatisticsAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent(getActivity(), StatisticsDetailActivity.class);
intent.putExtra(VipRechargeOrder.class.getName(), mStatisticsAdapter.getData().get(position));
ActivityUtils.startActivity(intent);
}
});
}
private void onRefresh() {
pagerNum = 1;
switch (TYPE) {
case WD:
// mPresenter.getVipRechargeOrderList(pagerNum, wd);
break;
case DATE:
mPresenter.getRechargeList(pagerNum, startDate, endDate);
break;
}
}
private void onLoadMore() {
pagerNum++;
switch (TYPE) {
case WD:
// mPresenter.getVipRechargeOrderList(pagerNum, wd);
break;
case DATE:
mPresenter.getRechargeList(pagerNum, startDate, endDate);
break;
}
}
/**
* 设置数据
*
* @param pager 数据
* @param isRefresh 是否刷新
*/
public void setData(Pager<VipRechargeOrder> pager, boolean isRefresh) {
if (isRefresh) {
mStatisticsAdapter.setEnableLoadMore(true);
mViewBinding.srlProduct.setRefreshing(false);
pagerNum = 1;
}
if (isRefresh) mStatisticsAdapter.setNewData(pager.getList());
else if (pager.getList().size() > 0) mStatisticsAdapter.addData(pager.getList());
if (pager.isLastPage()) mStatisticsAdapter.loadMoreEnd(isRefresh);
else mStatisticsAdapter.loadMoreComplete();
}
public void setCreateData(Pager<VipRechargeOrder> list, String wd) {
this.VipRechargeOrders = list;
this.wd = wd;
this.TYPE = WD;
}
public void setCreateData(Pager<VipRechargeOrder> list, long start, long end) {
this.VipRechargeOrders = list;
this.startDate = start;
this.endDate = end;
this.TYPE = DATE;
}
public void setType(int t) {
this.TYPE = t;
}
}
package com.xingdata.zzdpos.ui.statistics.fragment.ms;
import android.content.Intent;
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.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentOrderSearchBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsRechargeAdapter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsTicketAdapter;
import java.util.ArrayList;
public class TicketSearchFragment extends BaseFragment<StatisticsPresenter, FragmentOrderSearchBinding> {
private StatisticsTicketAdapter mStatisticsAdapter;
private Pager<Ticket> Tickets;
private int pagerNum;
private String wd = "";
private int TYPE;
public static final int WD = 99;
public static final int DATE = 100;
private Long startDate;
private Long endDate;
@Override
public int getLayoutId() {
return R.layout.fragment_order_search;
}
@Override
public void initView() {
if (mStatisticsAdapter == null) {
mStatisticsAdapter = new StatisticsTicketAdapter(new ArrayList<>());
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
} else {
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
}
mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
mStatisticsAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.statisticsRecycler);
if (Tickets != null) {
setData(Tickets, Tickets.isFirstPage());
}
mStatisticsAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent(getActivity(), StatisticsDetailActivity.class);
intent.putExtra(Ticket.class.getName(), mStatisticsAdapter.getData().get(position));
ActivityUtils.startActivity(intent);
}
});
}
private void onRefresh() {
pagerNum = 1;
switch (TYPE) {
case WD:
// mPresenter.getTicketList(pagerNum, wd);
break;
case DATE:
mPresenter.getRechargeList(pagerNum, startDate, endDate);
break;
}
}
private void onLoadMore() {
pagerNum++;
switch (TYPE) {
case WD:
// mPresenter.getTicketList(pagerNum, wd);
break;
case DATE:
mPresenter.getRechargeList(pagerNum, startDate, endDate);
break;
}
}
/**
* 设置数据
*
* @param pager 数据
* @param isRefresh 是否刷新
*/
public void setData(Pager<Ticket> pager, boolean isRefresh) {
if (isRefresh) {
mStatisticsAdapter.setEnableLoadMore(true);
mViewBinding.srlProduct.setRefreshing(false);
pagerNum = 1;
}
if (isRefresh) mStatisticsAdapter.setNewData(pager.getList());
else if (pager.getList().size() > 0) mStatisticsAdapter.addData(pager.getList());
if (pager.isLastPage()) mStatisticsAdapter.loadMoreEnd(isRefresh);
else mStatisticsAdapter.loadMoreComplete();
}
public void setCreateData(Pager<Ticket> list, String wd) {
this.Tickets = list;
this.wd = wd;
this.TYPE = WD;
}
public void setCreateData(Pager<Ticket> list, long start, long end) {
this.Tickets = list;
this.startDate = start;
this.endDate = end;
this.TYPE = DATE;
}
public void setType(int t) {
this.TYPE = t;
}
}
package com.xingdata.zzdpos.ui.statistics.fragment.ms;
import android.content.Intent;
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.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentMsListBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsTicketAdapter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsTicketAdapter;
import java.util.ArrayList;
public class UsedTicketListFragment extends BaseFragment<StatisticsPresenter, FragmentMsListBinding> {
private StatisticsTicketAdapter mStatisticsTicketAdapter;
private int pagerNum;
@Override
public int getLayoutId() {
return R.layout.fragment_ms_list;
......@@ -21,97 +33,75 @@ public class UsedTicketListFragment extends BaseFragment<StatisticsPresenter, Fr
@Override
public void initView() {
pagerNum = 1;
mViewBinding.tvEmpty.setText(R.string.statistics_search_empty_ticket);
if (mStatisticsTicketAdapter == null) {
mStatisticsTicketAdapter = new StatisticsTicketAdapter(new ArrayList<>());
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsTicketAdapter);
} else {
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsTicketAdapter);
}
mStatisticsTicketAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent(getActivity(), StatisticsDetailActivity.class);
intent.putExtra(Ticket.class.getName(), mStatisticsTicketAdapter.getData().get(position));
ActivityUtils.startActivity(intent);
}
});
mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
mStatisticsTicketAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.statisticsRecycler);
mPresenter.getTicketList(pagerNum, this);
}
private void onRefresh() {
pagerNum = 1;
mPresenter.getTicketList(pagerNum, this);
}
// pagerNum=1;
// Calendar calendar = Calendar.getInstance();
////获得当前时间的月份,月份从0开始所以结果要加1
// int monthNow = calendar.get(Calendar.MONTH) + 1;
// calendar.setTimeInMillis(monthDateStart);
// int monthStart = calendar.get(Calendar.MONTH) + 1;
// if (monthStart == monthNow) {
// mViewBinding.setMonth("本月");
// } else {
// mViewBinding.setMonth(monthStart + "月");
// }
// mViewBinding.setAmt("收入:¥230.00");
// mViewBinding.llTitle.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// pop();
// }
// });
// mViewBinding.tvEmpty.setText(R.string.statistics_search_empty);
//
// if (mStatisticsAdapter == null) {
// mStatisticsAdapter = new StatisticsAdapter(new ArrayList<>());
// mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
// mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
//
// } else {
// mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
// mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
// }
//
// mStatisticsAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
// @Override
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// Intent intent = new Intent(getActivity(), StatisticsDetailActivity.class);
// intent.putExtra(Saleorder.class.getName(), mStatisticsAdapter.getData().get(position).getId());
// ActivityUtils.startActivity(intent);
// }
// });
//
// mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
// mStatisticsAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.statisticsRecycler);
//
// mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
private void onLoadMore() {
pagerNum++;
mPresenter.getTicketList(pagerNum, this);
}
// private void onRefresh() {
// pagerNum = 1;
// mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
// }
//
// private void onLoadMore() {
// pagerNum++;
// mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
// }
// /**
// * 设置数据
// *
// * @param pager 数据
// * @param isRefresh 是否刷新
// */
// public void setData(Pager<Saleorder> pager, boolean isRefresh) {
// if (isRefresh) {
// mStatisticsAdapter.setEnableLoadMore(true);
// mViewBinding.srlProduct.setRefreshing(false);
// }
// if (isRefresh) mStatisticsAdapter.setNewData(pager.getList());
// else if (pager.getList().size() > 0) mStatisticsAdapter.addData(pager.getList());
// if (pager.isLastPage()) mStatisticsAdapter.loadMoreEnd(isRefresh);
// else mStatisticsAdapter.loadMoreComplete();
//
// if (mStatisticsAdapter.getData().size() == 0) {
// mViewBinding.llEmpty.setVisibility(View.VISIBLE);
// mViewBinding.statisticsRecycler.setVisibility(View.GONE);
// } else {
// mViewBinding.llEmpty.setVisibility(View.GONE);
// mViewBinding.statisticsRecycler.setVisibility(View.VISIBLE);
// }
// }
public void setRechargeData() {
/**
* 设置数据
*
* @param pager 数据
* @param isRefresh 是否刷新
*/
public void setData(Pager<Ticket> pager, boolean isRefresh) {
if (isRefresh) {
mStatisticsTicketAdapter.setEnableLoadMore(true);
mViewBinding.srlProduct.setRefreshing(false);
}
if (isRefresh) mStatisticsTicketAdapter.setNewData(pager.getList());
else if (pager.getList().size() > 0) mStatisticsTicketAdapter.addData(pager.getList());
if (pager.isLastPage()) mStatisticsTicketAdapter.loadMoreEnd(isRefresh);
else mStatisticsTicketAdapter.loadMoreComplete();
if (mStatisticsTicketAdapter.getData().size() == 0) {
mViewBinding.llEmpty.setVisibility(View.VISIBLE);
mViewBinding.statisticsRecycler.setVisibility(View.GONE);
} else {
mViewBinding.llEmpty.setVisibility(View.GONE);
mViewBinding.statisticsRecycler.setVisibility(View.VISIBLE);
}
}
@Override
public String getTabTitle() {
return "已用优惠券";
return "核销优惠券";
}
}
package com.xingdata.zzdpos.ui.statistics.fragment.order;
import android.content.Intent;
import android.support.v4.app.Fragment;
import com.blankj.utilcode.util.TimeUtils;
......@@ -135,4 +136,6 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
}
}
}
package com.xingdata.zzdpos.ui.statistics.fragment.order;
import android.content.Intent;
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.R;
import com.xingdata.zzdpos.base.BaseFragment;
......@@ -10,6 +14,7 @@ import com.xingdata.zzdpos.databinding.FragmentOrderSearchBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderAdapter;
......@@ -21,8 +26,15 @@ import java.util.List;
public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, FragmentOrderSearchBinding> {
private StatisticsOrderAdapter mStatisticsAdapter;
private Pager<Saleorder> saleorders;
private int pagerNum = 1;
private int pagerNum;
private String wd = "";
private int payType;
private int TYPE;
public static final int WD = 99;
public static final int DATE = 100;
public static final int PAYTYPE = 101;
private Long startDate;
private Long endDate;
@Override
......@@ -46,18 +58,46 @@ public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, Fragm
if (saleorders != null) {
setData(saleorders, saleorders.isFirstPage());
}
mStatisticsAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent(getActivity(), StatisticsDetailActivity.class);
intent.putExtra(Saleorder.class.getName(), mStatisticsAdapter.getData().get(position).getId());
ActivityUtils.startActivity(intent);
}
});
}
private void onRefresh() {
pagerNum = 1;
mPresenter.getSaleOrderList(null, pagerNum, wd);
switch (TYPE) {
case WD:
mPresenter.getSaleOrderList(pagerNum, wd);
break;
case DATE:
mPresenter.getSaleOrderList(pagerNum, startDate, endDate);
break;
case PAYTYPE:
mPresenter.getSaleOrderList(pagerNum, payType);
break;
}
}
private void onLoadMore() {
pagerNum++;
mPresenter.getSaleOrderList(null, pagerNum, wd);
switch (TYPE) {
case WD:
mPresenter.getSaleOrderList(pagerNum, wd);
break;
case DATE:
mPresenter.getSaleOrderList(pagerNum, startDate, endDate);
break;
case PAYTYPE:
mPresenter.getSaleOrderList(pagerNum, payType);
break;
}
}
......@@ -71,6 +111,7 @@ public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, Fragm
if (isRefresh) {
mStatisticsAdapter.setEnableLoadMore(true);
mViewBinding.srlProduct.setRefreshing(false);
pagerNum = 1;
}
if (isRefresh) mStatisticsAdapter.setNewData(pager.getList());
else if (pager.getList().size() > 0) mStatisticsAdapter.addData(pager.getList());
......@@ -79,10 +120,27 @@ public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, Fragm
}
public void setCreateDate(Pager<Saleorder> list, String wd) {
public void setCreateData(Pager<Saleorder> list, int patType) {
this.saleorders = list;
this.payType = patType;
this.TYPE = PAYTYPE;
}
public void setCreateData(Pager<Saleorder> list, String wd) {
this.saleorders = list;
this.wd = wd;
this.TYPE = WD;
}
public void setCreateData(Pager<Saleorder> list, long start, long end) {
this.saleorders = list;
this.startDate = start;
this.endDate = end;
this.TYPE = DATE;
}
public void setType(int t) {
this.TYPE = t;
}
}
......@@ -51,7 +51,10 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding.ivCart.setOnClickListener(view -> mPresenter.clickCartLogo());
mViewBinding.tvSettle.setOnClickListener(view -> mPresenter.clickSettle());
mViewBinding.btnBack.setOnClickListener(view -> getTopFragment().onBackPressedSupport());
mViewBinding.btnBack.setOnClickListener(view -> {
getTopFragment().onBackPressedSupport();
onBackPressedSupport();
});
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH && !StringUtils.isEmpty(textView.getText())) {
KeyboardUtils.hideSoftInput(textView);
......@@ -64,7 +67,6 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
});
}
@Override
public <Sku extends BaseSku> void loadSkus(List<Sku> skus, boolean isRefresh) {
mStoreFragment.loadSkus(skus, isRefresh);
......@@ -75,6 +77,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mStoreFragment.loadSkugrps(sskugrps);
}
@Override
public void loadSkugrpState(Long skugrpId) {
mStoreFragment.loadSkugrpState(skugrpId);
......
......@@ -48,7 +48,6 @@ public class StorePresenter extends StoreContract.Presenter {
mSaleorder = new Saleorder();
mOnApplyListener = new Ms.OnApplyListener() {
@Override
public void setDis(Ms ms) {
mSaleorder.addMsDis(ms);
......@@ -221,7 +220,6 @@ public class StorePresenter extends StoreContract.Presenter {
mMss.get(i).setOnApplyListener(mOnApplyListener);
}
mView.loadMss(mMss);
}, throwable -> {
})
);
}
......
package com.xingdata.zzdpos.ui.store.dialog;
import android.content.DialogInterface;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v7.widget.LinearLayoutManager;
import com.xingdata.zzdpos.R;
......@@ -64,6 +65,13 @@ public class CartDialog extends BaseSheetDialog<StorePresenter, DialogStoreCartB
mViewBinding.tvClear.setOnClickListener(view -> mPresenter.clearCart());
}
@Override
public void onStart() {
super.onStart();
//默认全屏展开
mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
/**
* 加载订单信息
......
......@@ -27,8 +27,6 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
@Override
public void initView() {
// init sku
mSkuAdapter = new SkuAdapter<>();
mSkuAdapter.setSaledetails(mSaledetails);
......@@ -46,13 +44,12 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
@SuppressLint("InflateParams") View view = getLayoutInflater().inflate(R.layout.view_empty, null);
mSkuAdapter.setEmptyView(view);
mSkuAdapter.isUseEmpty(false);
}
@Override
public boolean onBackPressedSupport() {
mPresenter.onSearchFragmentCancel();
return super.onBackPressedSupport();
return false;
}
/**
......
......@@ -47,7 +47,6 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
mViewBinding.rlSkugrp.setAdapter(mSkugrpAdapter);
mViewBinding.rlSkugrp.setLayoutManager(new LinearLayoutManager(mContext));
// set sku listener
mViewBinding.srlSku.setOnRefreshListener(this::refreshSku);
mSkuAdapter.setOnLoadMoreListener(this::loadMoreSku, mViewBinding.rlSku);
......@@ -102,7 +101,12 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
* @param skugrpId 分组ID
*/
public void loadSkugrpState(Long skugrpId) {
for (int i = 0; i < mSkugrpAdapter.getData().size(); i++) {
if (mSkugrpAdapter.getData().get(i).getSkuGrpId().longValue() == skugrpId) {
mSkugrpAdapter.setSelectedPosition(i);
}
}
mSkugrpAdapter.notifyDataSetChanged();
}
/**
......
......@@ -17,7 +17,7 @@ public abstract class OnClickListener implements View.OnClickListener {
mExitTime = System.currentTimeMillis();
myOnClickListener(view);
} else {
ToastUtils.showLong("您操作太快了");
// ToastUtils.showLong("您操作太快了");
}
}
......
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- This is the main color -->
<item>
<shape>
<!-- 边框颜色 -->
<solid android:color="@color/red_guanyu"/>
</shape>
</item>
<!-- 给View的上 左 右设置8dp的边框 -->
<item android:bottom="2dp" >
<shape>
<!-- View填充颜色 -->
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
\ No newline at end of file
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- This is the main color -->
<item>
<shape>
<!-- 边框颜色 -->
<solid android:color="@color/gray_kongming"/>
</shape>
</item>
<!-- 给View的上 左 右设置8dp的边框 -->
<item android:bottom="2dp" >
<shape>
<!-- View填充颜色 -->
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
\ No newline at end of file
<vector android:height="24dp" android:viewportHeight="1000.0"
android:viewportWidth="1000.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#d81e06" android:pathData="M516.7,10.3c-265.9,0 -481.5,215.6 -481.5,481.5 0,265.9 215.6,481.5 481.5,481.5 265.9,0 481.5,-215.6 481.5,-481.5 0,-265.9 -215.6,-481.5 -481.5,-481.5zM570.1,759.2h-107v-107h107v107zM570.1,598.7h-107v-428h107v428z"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/all_transparent" android:state_enabled="false" />
<item android:drawable="@drawable/shape_gray_round_rectangle_stroke" android:state_pressed="true" />
<item android:drawable="@drawable/shape_white_round_rectangle_blue" android:state_focused="true" />
<item android:drawable="@drawable/shape_white_round_rectangle_dark" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/transparent" />
</shape>
\ No newline at end of file
......@@ -7,7 +7,7 @@
</shape>
</item>
<item android:bottom="1.5dp">
<item android:bottom="0.5dp">
<shape>
<solid android:color="@color/white"/>
</shape>
......
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="@color/gray_kongming"/>
</shape>
</item>
<item android:bottom="0.5dp" android:top="0.5dp">
<shape>
<solid android:color="@color/white"/>
</shape>
</item>
</layer-list>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/frame_bottom_guanyu_bg" android:state_focused="true" />
<item android:drawable="@drawable/frame_bottom_kongming_bg" android:state_focused="false" />
</selector>
\ No newline at end of file
......@@ -5,7 +5,7 @@
<variable
name="textSize"
type="String"/>
type="String" />
</data>
......@@ -28,6 +28,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_margin"
android:background="@drawable/selector_edit_frame_blue_background"
android:gravity="top"
android:hint="@string/feedBack_edit_hint"
android:maxLength="101"
......@@ -40,6 +41,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_margin"
android:background="@drawable/selector_edit_frame_blue_background"
android:gravity="top"
android:hint="@string/feedBack_contactWay"
android:maxLength="22"
......
......@@ -51,7 +51,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/white_caocao"
android:background="@drawable/text_white_top_bottom_gray"
android:weightSum="2">
<TextView
......@@ -74,7 +74,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/white_caocao"
android:background="@drawable/text_white_top_bottom_gray"
android:weightSum="2">
<TextView
......@@ -89,6 +89,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:autoLink="phone"
android:padding="@dimen/all_padding"
android:text="@string/help_phone" />
</LinearLayout>
......@@ -97,7 +98,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/white_caocao"
android:background="@drawable/text_white_top_bottom_gray"
android:weightSum="2">
<TextView
......@@ -120,7 +121,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/white_caocao"
android:background="@drawable/text_white_top_bottom_gray"
android:weightSum="2">
<TextView
......@@ -135,6 +136,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:autoLink="web"
android:padding="@dimen/all_padding"
android:text="@string/help_web" />
</LinearLayout>
......
......@@ -34,7 +34,6 @@
<FrameLayout
android:id="@+id/fra"
style="@style/xuline_margin"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
......
......@@ -14,12 +14,15 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:elevation="@dimen/view_line_L2"
android:gravity="center_vertical|center_horizontal"
android:orientation="horizontal"
android:paddingTop="@dimen/all_padding"
app:layout_constraintBottom_toBottomOf="parent"
app:tabGravity="fill"
app:tabIndicatorHeight="0dp"
app:tabPaddingTop="0dp"
app:tabPaddingBottom="0dp"
app:tabPaddingEnd="0dp"
app:tabPaddingStart="0dp"
android:paddingTop="@dimen/all_padding"
app:tabSelectedTextColor="@color/red_guanyu"
app:tabTextAppearance="@android:style/TextAppearance.Holo.Small"
app:tabTextColor="@color/black_likui">
......
......@@ -28,6 +28,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:background="@color/gray_zhouyu"
app:layout_constraintTop_toBottomOf="@+id/ic_title"></android.support.v7.widget.RecyclerView>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
<?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="match_parent"
android:orientation="vertical">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white_caocao">
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/ms_title"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>
<FrameLayout
android:id="@+id/f_ms"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -28,11 +28,18 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout="@layout/view_order_detail" />
<ViewStub
android:id="@+id/view_vip_recharge"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout="@layout/view_vip_recharge" />
<ViewStub
android:id="@+id/view_ticket"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout="@layout/view_ticket" />
</FrameLayout>
<LinearLayout
......@@ -62,7 +69,7 @@
tools:targetApi="lollipop" />
<Button
android:id="@+id/btn_confirm"
android:id="@+id/btn_return"
style="@style/button_positive"
android:layout_width="0dp"
android:layout_height="wrap_content"
......
......@@ -263,7 +263,7 @@
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="@dimen/all_margin"
android:background="@color/red_guanyu"
android:background="@drawable/red_border"
android:onClick="@{OnClickListener}"
android:text="确定"
android:textColor="@color/white"
......
This diff is collapsed.
......@@ -320,7 +320,7 @@
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="@dimen/all_margin"
android:background="@color/red_guanyu"
android:background="@drawable/red_border"
android:onClick="@{OnClickListener}"
android:text="确定"
android:textColor="@color/white"
......
......@@ -70,9 +70,7 @@
<RadioButton
android:id="@+id/rb_get"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin"
android:layout_marginRight="@dimen/all_margin"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/radio_select"
android:button="@null"
......@@ -87,9 +85,7 @@
<RadioButton
android:id="@+id/rb_exchange"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin"
android:layout_marginRight="@dimen/all_margin"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/radio_select"
android:button="@null"
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="?attr/actionBarSize"
android:drawablePadding="@dimen/all_spacing"
android:drawableStart="@mipmap/add_bg"
android:gravity="center"
android:text="@string/ms_add"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/all_sub_title_size" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_ms"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</layout>
\ No newline at end of file
<layout>
<data>
<variable
name="opername"
type="String" />
<variable
name="phone"
type="String" />
<variable
name="address"
type="String" />
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
......@@ -32,7 +47,7 @@
android:id="@+id/user_img"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_margin="@dimen/all_margin"
android:layout_margin="@dimen/all_padding_left_right"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
......@@ -58,7 +73,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="李小乐"
android:text="@{opername}"
android:textColor="@color/white_caocao"
android:textSize="@dimen/big_text_size" />
......@@ -66,7 +81,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_padding"
android:text="18710251009"
android:text="@{phone}"
android:textColor="@color/white_caocao"
android:textSize="@dimen/small_text_size" />
</LinearLayout>
......@@ -81,7 +96,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北京市丰台区南四环西路186号"
android:text="@{address}"
android:textColor="@color/white_caocao"
android:textSize="@dimen/small_text_size" />
......@@ -96,8 +111,9 @@
android:id="@+id/drop_down_fff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_margin"
android:layout_margin="@dimen/all_padding_left_right"
android:src="@mipmap/drop_down_fff"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......
......@@ -12,24 +12,17 @@
name="amt"
type="String" />
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
tools:context="com.example.administrator.tangkupos.CasherFragment">
android:orientation="vertical">
<!-- TODO: Update blank fragmfragment_integral_indexyout -->
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.38" />
<LinearLayout
android:id="@+id/ll_title"
......@@ -61,13 +54,9 @@
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_product"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_title">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/ll_title">
<android.support.v7.widget.RecyclerView
......@@ -77,23 +66,19 @@
android:visibility="gone">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
<LinearLayout
android:id="@+id/ll_empty"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/ll_title"
android:background="@color/white_caocao"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@id/srl_product"
app:layout_constraintStart_toStartOf="@id/srl_product"
app:layout_constraintTop_toTopOf="@id/srl_product"
app:layout_constraintBottom_toBottomOf="@id/srl_product">
android:visibility="gone">
<TextView
android:id="@+id/tv_empty"
......@@ -106,5 +91,5 @@
android:textColor="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</RelativeLayout>
</layout>
\ No newline at end of file
......@@ -35,7 +35,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@mipmap/bg_return_ticker_logo"/>
android:src="@mipmap/vip_send"/>
<TextView
android:layout_width="0dp"
......@@ -70,7 +70,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@mipmap/bg_return_ticker_logo"/>
android:src="@mipmap/vip_type_send"/>
<TextView
android:layout_width="0dp"
......
......@@ -20,8 +20,7 @@
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:elevation="@dimen/view_line_L1"
android:background="@drawable/singleline_white_gray"
android:gravity="center"
android:minHeight="?attr/actionBarSize"
android:padding="0dp"
......
......@@ -74,7 +74,7 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginTop="@dimen/all_margin"
android:layout_marginTop="@dimen/all_spacing"
android:background="@color/gray_huanggai" />
<android.support.constraint.ConstraintLayout
......@@ -249,7 +249,7 @@
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="6"
android:layout_weight="5"
android:gravity="start"
android:text="@string/cart_amt"
android:textColor="@color/black_baozheng"
......@@ -259,7 +259,7 @@
android:id="@+id/tv_order_cnt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_weight="2"
android:gravity="end"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
......
This diff is collapsed.
......@@ -53,6 +53,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_spacing"
android:layout_weight="1"
android:singleLine="true"
android:textColor="@color/black_baozheng" />
<TextView
......
......@@ -43,7 +43,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_padding"
android:text="添加获取规则"
android:text="添加优惠券"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/text_three_title"/>
......
<?xml version="1.0" encoding="utf-8"?>
<layout >
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
......@@ -22,37 +22,37 @@
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="@dimen/all_shape_radius"
android:layout_marginBottom="@dimen/all_padding"
android:layout_marginLeft="@dimen/all_margin"
android:layout_marginRight="@dimen/all_margin"
android:layout_marginBottom="@dimen/all_padding">
app:cardCornerRadius="@dimen/all_shape_radius">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/all_margin"
>
android:paddingBottom="@dimen/all_padding_left_right">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_margin"
android:layout_marginBottom="@dimen/all_padding"
android:layout_marginEnd="@dimen/all_padding"
android:layout_marginStart="@dimen/all_padding"
android:layout_marginTop="@dimen/all_margin"
android:text="心灵受金华路:糖库心灵受的巅峰之路!"
android:gravity="center"
android:text=""
android:textColor="@color/black_baozheng"
android:textStyle="bold" />
android:textSize="@dimen/all_text_size" />
<TextView
android:id="@+id/body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/dp_4"
android:paddingStart="@dimen/dp_4"
android:text="ask領導就阿喀琉斯大家阿厤克斯大家阿隆索死啦對啦開始覺得請問哦請假了受打擊啦看到解開了缺點青蛙禮金卡實力坑爹 啊就是了看到薔薇科額的擴大勢力的就喀什燈籠褲幾千萬大家拉薩大家李克强千萬快樂件大事多久啦空間的權威的來擴大是快樂的切阿德 啊時代科技千龍網的!" />
android:paddingEnd="@dimen/all_padding"
android:paddingStart="@dimen/all_padding"
android:text="" />
</LinearLayout>
</android.support.v7.widget.CardView>
......
......@@ -7,7 +7,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="0.8dp"
android:background="@color/white_caocao"
android:background="?android:attr/selectableItemBackground"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="25dp"
......
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.
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