Commit 8457f599 authored by 王海's avatar 王海

Merge remote-tracking branch 'origin/master'

parents ed0d2b1a 9366fa06
......@@ -233,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());
}
/**
* 销售订单查询接口
*
......
......@@ -129,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
......
......@@ -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;
//用券后金额
......
......@@ -32,6 +32,7 @@ public class Ticket implements BaseBean {
@Deprecated
public Ticket(Long l) {
this.id = l;
this.ticketNo = l;
this.ticketValAmt = 0L;
this.truleOrderAmt = 0L;
......
......@@ -19,11 +19,6 @@ import java.util.List;
import io.reactivex.Observable;
public class SettlePresenter extends SettleContract.Presenter {
/**
* 当前的使用的支付方式
*/
private int mPayType;
/**
* 结算模式
*/
......@@ -220,28 +215,23 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void payInCash(Long inputAmt, Long changeAmt) {
this.mPayType = C.PAY_CHANNEL.CASH;
subscribePay(commitOrder().flatMap(orderNo -> ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(orderNo, C.PAY_CHANNEL.CASH))));
}
@Override
public void payInAli(String payCode) {
this.mPayType = C.PAY_CHANNEL.ALI;
}
@Override
public void payInWechat(String payCode) {
this.mPayType = C.PAY_CHANNEL.WECHAT;
}
@Override
public void payInBank() {
this.mPayType = C.PAY_CHANNEL.BANK;
}
@Override
public void payInCard(Long cardNo, String password) {
this.mPayType = C.PAY_CHANNEL.CARD;
ApiFactory.Recard.checkPwd(mVip.getVipId(), String.valueOf(cardNo), password).subscribe(
b -> {
mView.dismissPasswordDialog();
......@@ -253,7 +243,6 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void payInTally() {
this.mPayType = C.PAY_CHANNEL.TALLY;
}
@Override
......@@ -381,37 +370,33 @@ public class SettlePresenter extends SettleContract.Presenter {
mSaleorder.settle();
mView.loadSaleorder(mSaleorder);
}
/**
* 更新交班信息
*/
private void updateHandover(HandoverInfo handoverInfo) {
getRealm().beginTransaction();
handoverInfo.setSumOrder(handoverInfo.getSumOrder() + 1);
switch (mPayType) {
switch (mSaleorder.getPayType()) {
case C.PAY_CHANNEL.CASH:
handoverInfo.setCash(handoverInfo.getCash() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + 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());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.ALI:
handoverInfo.setAlipay(handoverInfo.getAlipay() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + 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());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.CARD:
handoverInfo.setVip(handoverInfo.getVip() + mSaleorder.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder
.getOrderPayAmt());
handoverInfo.setFinallyAmt(handoverInfo.getFinallyAmt() + mSaleorder.getOrderPayAmt());
break;
case C.PAY_CHANNEL.TALLY:
break;
......
......@@ -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);
}
}
......@@ -61,6 +61,11 @@ 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);
......
......@@ -47,7 +47,10 @@ public interface StatisticsContract {
*/
void searchSuc(Pager<Saleorder> saleorderPager, String wd);
/**
* 搜索成功
*/
void searchSuc(Pager<Saleorder> saleorderPager, int payType);
/**
* 日期搜索成功
*/
......@@ -116,6 +119,10 @@ public interface StatisticsContract {
*/
public abstract void getSaleOrderList(int pageNumber, String wd);
/**
* 搜索订单列表
*/
public abstract void getSaleOrderList(int pageNumber, int payType);
/**
* 搜索日期订单列表
*/
......
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;
......@@ -28,6 +30,7 @@ import com.xingdata.zzdpos.util.OnClickListener;
public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPresenter, ActivityStatisticsDetailBinding> implements StatisticsDetailContract.View {
LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
public int getLayoutId() {
return R.layout.activity_statistics_detail;
......@@ -41,6 +44,7 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
finish();
}
});
initData();
}
......@@ -82,7 +86,7 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
}
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));
......@@ -146,7 +150,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();
}
}
......@@ -18,6 +18,7 @@ public interface StatisticsDetailContract {
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);
}
}
......@@ -25,4 +25,15 @@ public class StatisticsDetailPresenter extends StatisticsDetailContract.Presente
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void returnOrder(String orderId) {
ApiFactory.Test.returnOrder(orderId ).subscribe(s -> {
ToastUtils.showLong("成功");
mView.returnOrderSuss();
}, throwable -> {
ToastUtils.showLong(throwable.getMessage());
});
}
}
......@@ -102,7 +102,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
@Override
public void getTicketList(int pageNumber, UsedTicketListFragment msListFragment) {
mView.isShowLoading(true);
ApiFactory.Ticket.query(pageNumber, nowPageSize, 1).doFinally(()-> mView.isShowLoading(false))
ApiFactory.Ticket.query(pageNumber, nowPageSize, 2).doFinally(()-> mView.isShowLoading(false))
.subscribe(ticketPager -> {
msListFragment.setData(ticketPager, ticketPager.isFirstPage());
}, throwable -> {
......@@ -113,7 +113,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
@Override
public void getTicketList(int pageNumber, long startDate, long endDate) {
mView.isShowLoading(true);
ApiFactory.Ticket.query(pageNumber, nowPageSize, 1, startDate, endDate).doFinally(()-> mView.isShowLoading(false))
ApiFactory.Ticket.query(pageNumber, nowPageSize, 2, startDate, endDate).doFinally(()-> mView.isShowLoading(false))
.subscribe(ticketPager -> {
if (ticketPager.getList() == null || ticketPager.getList().size() == 0) {
ToastUtils.showShort("没有查询到相关优惠券");
......@@ -146,6 +146,27 @@ 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);
......
package com.xingdata.zzdpos.ui.statistics.fragment;
import android.databinding.DataBindingUtil;
import android.view.KeyEvent;
import android.view.View;
......@@ -9,6 +10,7 @@ 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;
......@@ -50,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 {
......@@ -95,19 +125,19 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
protected void myOnClickListener(View v) {
if (mViewBinding.icTitle.edTitle.isFocused()) {
mViewBinding.icTitle.edTitle.clearFocus();
return ;
return;
}
if (mOrderSearchFragment.isAdded()) {
FragmentUtils.remove(mOrderSearchFragment);
return ;
return;
}
if (mRechargeSearchFragment.isAdded()) {
FragmentUtils.remove(mRechargeSearchFragment);
return ;
return;
}
if (mTicketSearchFragment.isAdded()) {
FragmentUtils.remove(mRechargeSearchFragment);
return ;
return;
}
pop();
}
......@@ -119,8 +149,23 @@ 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.setCreateData(saleorderPager, wd);
FragmentUtils.add(getChildFragmentManager(), mOrderSearchFragment, mViewBinding.mainFrame.getId(), false, true);
......@@ -132,6 +177,9 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
}
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);
......
......@@ -28,9 +28,11 @@ public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, Fragm
private Pager<Saleorder> saleorders;
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;
......@@ -76,6 +78,9 @@ public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, Fragm
case DATE:
mPresenter.getSaleOrderList(pagerNum, startDate, endDate);
break;
case PAYTYPE:
mPresenter.getSaleOrderList(pagerNum, payType);
break;
}
}
......@@ -89,6 +94,9 @@ public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, Fragm
case DATE:
mPresenter.getSaleOrderList(pagerNum, startDate, endDate);
break;
case PAYTYPE:
mPresenter.getSaleOrderList(pagerNum, payType);
break;
}
}
......@@ -112,6 +120,12 @@ public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, Fragm
}
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;
......
......@@ -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 -> {
})
);
}
......
......@@ -69,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"
......
......@@ -113,6 +113,7 @@
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_margin"
android:src="@mipmap/drop_down_fff"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......
......@@ -33,7 +33,7 @@
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/tv_ok"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
......@@ -42,6 +42,7 @@
android:textSize="@dimen/big_text_size" />
<TextView
android:id="@+id/tv_ok"
style="@style/textView_body"
android:layout_width="wrap_content"
android:layout_height="match_parent"
......
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name="OnClickListener"
type="com.xingdata.zzdpos.util.OnClickListener" />
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
......@@ -14,7 +21,6 @@
android:shrinkColumns="1,2,3">
<TextView
android:id="@+id/tv_empty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/all_padding"
......@@ -23,32 +29,38 @@
<TableRow>
<ImageView
android:id="@+id/pay_cash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginStart="@dimen/all_padding"
android:layout_weight="1"
android:background="@color/red_diaochan"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_cash" />
<ImageView
android:id="@+id/pay_alipay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginStart="@dimen/dp_4"
android:layout_weight="1"
android:background="@color/blue_yuefei"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_alipay" />
<ImageView
android:id="@+id/pay_wechat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_padding"
android:layout_marginStart="@dimen/dp_4"
android:layout_weight="1"
android:background="@color/green_kongrong"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_wechat" />
</TableRow>
......@@ -56,6 +68,7 @@
<TableRow>
<ImageView
android:id="@+id/pay_bank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
......@@ -63,10 +76,12 @@
android:layout_marginTop="@dimen/all_margin"
android:layout_weight="1"
android:background="@color/cyan_liubei"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_card" />
<ImageView
android:id="@+id/pay_vipcard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
......@@ -74,10 +89,12 @@
android:layout_marginTop="@dimen/all_margin"
android:layout_weight="1"
android:background="@color/yellow_huangxin"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_membershipcard" />
<ImageView
android:id="@+id/pay_tally"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_padding"
......@@ -85,6 +102,7 @@
android:layout_marginTop="@dimen/all_margin"
android:layout_weight="1"
android:background="@color/purple_yanqing"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_credit" />
</TableRow>
......
......@@ -613,7 +613,7 @@
<string name="statistics_search_empty">没有查询到订单~</string>
<string name="statistics_search_empty_recharge">没有查询到充值记录~</string>
<string name="statistics_search_empty_ticket">没有查询到相关优惠券~</string>
<string name="statistics_order_edit_hint">请输入单号</string>
<string name="statistics_order_edit_hint">请输入单号/手机号</string>
<string name="statistics_order_detail_hint">订单详情</string>
<string name="statistics_vip_recharge_hint">充值记录</string>
<string name="statistics_used_ticket_hint">充值记录</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment