Commit dad8710e by Wyh

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderCenterActivity.java
parents cf0481a6 b5dd920f
......@@ -810,21 +810,36 @@ public class DeviceUtils {
}
public static boolean netIsConnected(Context context) {
ConnectivityManager connectMgr = (ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
//手机网络连接状态
NetworkInfo mobNetInfo = null;
try {
mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
} catch (SecurityException e) {
e.printStackTrace();
// ConnectivityManager connectMgr = (ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
// //手机网络连接状态
// NetworkInfo mobNetInfo = null;
// try {
// mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
// } catch (SecurityException e) {
// e.printStackTrace();
// }
// //WIFI连接状态
// NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
// if (mobNetInfo != null && !mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {
// //当前无可用的网络
// return false;
// }
// return true;
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm == null) {
} else {
//如果仅仅是用来判断网络连接
//则可以使用 cm.getActiveNetworkInfo().isAvailable();
NetworkInfo[] info = cm.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
//WIFI连接状态
NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mobNetInfo != null && !mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {
//当前无可用的网络
return false;
}
return true;
}
}
return false;
}
/**
......
......@@ -52,9 +52,9 @@ public class GsaCloudApplication extends BaseApplication {
private static GsaCloudApplication mAppContext;
private Activity mCurrentActivity;
/**
* 设置请求超时默认20秒钟 从后台获取超时时间
* 设置请求超时默认15秒钟
*/
public static int REQUEST_TIMEOUT = 20;
public static int REQUEST_TIMEOUT = 15;
public static boolean isLogin = false;
public static CurrentAndroidSetting androidSetting;
......
......@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.base.common.bean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.database.bean.Food;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
......@@ -106,9 +108,11 @@ public class OrderBean {
this.orderDetails = orderDetails;
}
public static class OrderDetailsBean {
public static class OrderDetailsBean implements Serializable {
/**
* id : 1621502
* orderId : 47039
* parentId : 1639956
* productName : 胡椒排骨涼瓜煲
* productId : 4257
* price : 58.0
......@@ -138,8 +142,7 @@ public class OrderBean {
}
public OrderDetailsBean(String productName, long productId,long parentId, double price, double lunchboxPrice,
int number,byte type, long orderId) {
public OrderDetailsBean(String productName, long productId,long parentId, double price, double lunchboxPrice, int number,byte type, long orderId) {
this.productName = productName;
this.productId = productId;
this.parentId = parentId;
......
......@@ -508,7 +508,7 @@ public class OrderDetail implements Serializable {
orderDetail.setParentId(orderDetailsBean.getParentId());
orderDetail.setProductName(orderDetailsBean.getProductName());
orderDetail.setNumber(orderDetailsBean.getNumber());
orderDetail.setPrice(orderDetailsBean.getNumber() * orderDetailsBean.getPrice());
orderDetail.setPrice(orderDetailsBean.getPrice() * orderDetailsBean.getNumber());
orderDetail.setVisible(orderDetailsBean.getStatus() == 0);
// orderDetail.setAutomod(foods.getAutomod());
orderDetail.setIsfood(orderDetailsBean.getType() == FOOD_TYPE);
......@@ -588,7 +588,7 @@ public class OrderDetail implements Serializable {
* @param isRvMealClicked
* @return
*/
public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, long id,int number, String prop, boolean isRvMealClicked) {
public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, long id, int number, String prop, boolean isRvMealClicked) {
OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(foodCombo.getName());
if (foodCombo.getFid() != null) {
......@@ -625,7 +625,7 @@ public class OrderDetail implements Serializable {
* @param number
* @return
*/
public static OrderDetail modifierTransOrderDetail(Modifier modifier,long id, int number) {
public static OrderDetail modifierTransOrderDetail(Modifier modifier, long id, int number) {
OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(modifier.getModifierName());
orderDetail.setTopId(modifier.getFid());
......
......@@ -9,7 +9,9 @@ public class AppConstans {
public static final String APP_TYPE = "9";
public static final String VIBRATION_PROGRESS = "vibration_progress";//震动强度
public static final String PRESSSOUND_PROGRESS = "presssound_progress";//按键音量
}
......@@ -85,18 +85,14 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
**/
private String ErrorStr = "發生錯誤, 請聯絡支援人員!";
/**
* 使用Properties来保存设备的信息和错误堆栈信息
*/
private static final String VERSION_NAME = "versionName";
private static final String VERSION_CODE = "versionCode";
private static final String STACK_TRACE = "STACK_TRACE";
/**
* 错误报告文件的扩展名
*/
private static final String CRASH_REPORTER_EXTENSION = ".cyposdebug";
private static final String CRASH_REPORTER_EXTENSION = ".json";
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");// 用于格式化日期,作为日志文件名的一部分
private Map<String, String> info = new HashMap<String, String>();// 用来存储设备信息和异常信息
// 用于格式化日期,作为日志文件名的一部分
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
// 用来存储设备信息和异常信息
private Map<String, String> info = new HashMap<>();
/**
* 保证只有一个CrashHandler实例
......@@ -125,7 +121,6 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
mContext = ctx;
mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(this);
File file = new File(FileUtils.ERRORLOG_PATH);
if (file.exists()) {
sendCrashReportsToServer();
......@@ -206,14 +201,10 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
File file = new File(FileUtils.ERRORLOG_PATH);
File[] files = file.listFiles();
if (files != null && files.length > 0) {
// List<File> fileList = Arrays.asList(files);
List<File> fileList = new ArrayList<>();
fileList.add(files[0]);
List<File> fileList = Arrays.asList(files);
HashMap<String, String> params = new HashMap<>();
params.put("type", "1");
params.put("uid", String.valueOf(GsaCloudApplication.getMemberId(mContext)));
String url = HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.upload_app_log;
OkHttp3Utils.sendFileMultipart(url, "files", fileList, params)
.subscribeOn(Schedulers.io())
......@@ -230,10 +221,10 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
BaseResult result = JsonUtils.parseObject(data, BaseResult.class);
if (result.isSuccess()) {
//上傳成功后刪除對應文件
// for (File dfile : file.listFiles()) {
// boolean result = dfile.delete();
// LogUtil.d(TAG, "delete result : " + result);
// }
for (File dfile : file.listFiles()) {
boolean delete = dfile.delete();
LogUtil.d(TAG, "delete result : " + delete);
}
}
XLog.d(TAG, "sendFileMultipart onNext: " + data);
}
......@@ -273,7 +264,7 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
long timetamp = System.currentTimeMillis();
String time = format.format(new Date());
String MemberName = GsaCloudApplication.getMemberName(mContext);
String fileName = "crash-" + MemberName + "-" + time + "-" + timetamp + "-" + DeviceUtils.getVersionName(mContext) + ".xml";
String fileName = "crash-" + MemberName + "-" + time + "-" + timetamp + "-" + DeviceUtils.getVersionName(mContext) + CRASH_REPORTER_EXTENSION;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//外部存储卡
try {
File dir = new File(FileUtils.ERRORLOG_PATH);
......
......@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.globalconfig.applyOptions;
import android.content.Context;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.jess.arms.di.module.ClientModule;
import java.util.concurrent.TimeUnit;
......@@ -17,12 +18,13 @@ import okhttp3.OkHttpClient;
* description:
*/
public class MyOkhttpConfiguration implements ClientModule.OkhttpConfiguration{
public class MyOkhttpConfiguration implements ClientModule.OkhttpConfiguration {
@Override
public void configOkhttp(Context context, OkHttpClient.Builder builder) {
// builder.sslSocketFactory(); //支持 Https,详情请百度
builder.writeTimeout(15, TimeUnit.SECONDS);
builder.writeTimeout(GsaCloudApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS);
builder.readTimeout(GsaCloudApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS);
//使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听 详细使用方法查看 https://github.com/JessYanCoding/ProgressManager
ProgressManager.getInstance().with(builder);
//让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl. 详细使用请方法查看 https://github.com/JessYanCoding/RetrofitUrlManager
......
......@@ -117,6 +117,13 @@
<string name="srl_footer_failed">加載失敗</string>
<string name="srl_footer_nothing">沒有更多數據了</string>
<!-- EmptyViewFragment 空界面展示界面 -->
<string name="emptyView_mode_title_loading">顯示Loading</string>
<string name="emptyView_mode_desc_fail_title">加載失敗</string>
<string name="emptyView_mode_desc_fail_desc">請檢測網絡是否正常連接</string>
<string name="emptyView_mode_desc_retry">點擊重試</string>
<string name="emptyView_mode_desc_double">未獲取到數據</string>
<!-- HttpError -->
<string name="response_error_unknown_error">未知錯誤</string>
<string name="response_error_network_unavailable">網絡不可用</string>
......
......@@ -8,8 +8,8 @@
<activity android:name=".mvp.ui.activity.MealStandActivity"/>
<activity android:name=".mvp.ui.activity.OrderPayActivity" />
<activity android:name=".mvp.ui.activity.OrderContentActivity" />
<activity android:name=".mvp.ui.activity.OrderCenterActivity" />
<activity android:name=".mvp.ui.activity.OrderDetailActivity" />
<activity android:name=".mvp.ui.activity.orderManager.OrderCenterActivity" />
<activity android:name=".mvp.ui.activity.orderManager.OrderDetailActivity" />
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
......
......@@ -11,8 +11,8 @@
android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_android"
android:theme="@style/AppTheme.Base">
<activity android:name=".mvp.ui.activity.OrderDetailActivity"/>
<activity android:name=".mvp.ui.activity.OrderCenterActivity" />
<activity android:name=".mvp.ui.activity.orderManager.OrderDetailActivity"/>
<activity android:name=".mvp.ui.activity.orderManager.OrderCenterActivity" />
<activity android:name=".mvp.ui.activity.TableActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......@@ -32,12 +32,12 @@
android:name="design_height_in_dp"
android:value="540" />
</application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
</manifest>
\ No newline at end of file
......@@ -4,7 +4,7 @@ import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
......
......@@ -9,7 +9,7 @@ import com.gingersoft.gsa.cloud.table.di.module.OrderCenterModule;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderCenterContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
/**
......
......@@ -9,7 +9,7 @@ import com.gingersoft.gsa.cloud.table.di.module.OrderDetailModule;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderDetailActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderDetailActivity;
/**
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
import java.util.List;
import io.reactivex.Observable;
/**
* ================================================
......@@ -20,10 +26,21 @@ public interface OrderCenterContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void showEmptyView(boolean isSuccess,int size,Throwable t);
void returnOrderItemList(List<OrderDetailItem> orderItemList);
void setPageIndex(int index);
int getPageIndex();
int getPageSize();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<BaseResult> loadOrderList(int restaurantId, int pageIndex, int pageSize);
}
}
......@@ -2,6 +2,9 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderService;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
......@@ -12,6 +15,8 @@ import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderCenterContract;
import io.reactivex.Observable;
/**
* ================================================
......@@ -43,4 +48,10 @@ public class OrderCenterModel extends BaseModel implements OrderCenterContract.M
this.mGson = null;
this.mApplication = null;
}
@Override
public Observable<BaseResult> loadOrderList(int restaurantId, int pageIndex, int pageSize) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.loadOrderList(restaurantId,pageIndex,pageSize);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
/**
* Created by Wyh on 2020/1/17.
*/
public interface OrderService {
@POST("order/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> loadOrderList(@Query("restaurantId") int restaurantId, @Query("pageIndex") int pageIndex, @Query("pageSize") int pageSize);
}
......@@ -2,11 +2,15 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderDetailActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderCenterAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.TableAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllOrderFragment;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.mvp.BasePresenter;
......@@ -17,7 +21,6 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.AllOrderContract;
import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List;
......@@ -46,12 +49,15 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
@Inject
AppManager mAppManager;
private OrderCenterActivity IActivity;
private OrderCenterAdapter mOrderCenterAdapter;
private List<Object> mTableList = new ArrayList<>();
private List<OrderDetailItem> mOrderItemList = new ArrayList<>();
@Inject
public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) {
super(model, rootView);
AllOrderFragment allOrderFragment = (AllOrderFragment) rootView;
this.IActivity = (OrderCenterActivity) allOrderFragment.getActivity();
}
@Override
......@@ -65,9 +71,32 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
public void initOrderAdapter(Context context) {
if (mOrderCenterAdapter == null) {
mOrderCenterAdapter = new OrderCenterAdapter(context, mTableList);
mOrderCenterAdapter = new OrderCenterAdapter(context, mOrderItemList);
mRootView.setAllOrderAdapter(mOrderCenterAdapter);
}
mOrderCenterAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
@Override
public void onItemClick(View view, int viewType, Object data, int position) {
Intent intent = new Intent(IActivity, OrderDetailActivity.class);
intent.putExtra("orderDetailItem", (OrderDetailItem) data);
mRootView.launchActivity(intent);
}
});
}
public void updateOrderData(List<OrderDetailItem> orderItemList) {
if (orderItemList != null) {
mOrderItemList.clear();
mOrderItemList.addAll(orderItemList);
mOrderCenterAdapter.notifyDataSetChanged();
}
}
public void addOrderData(List<OrderDetailItem> orderItemList) {
if (orderItemList != null) {
mOrderItemList.addAll(orderItemList);
mOrderCenterAdapter.notifyDataSetChanged();
}
}
}
......@@ -2,16 +2,29 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderCenterContract;
import com.jess.arms.utils.RxLifecycleUtils;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import java.util.List;
/**
......@@ -37,9 +50,13 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode
@Inject
AppManager mAppManager;
private OrderCenterActivity IActivity;
@Inject
public OrderCenterPresenter(OrderCenterContract.Model model, OrderCenterContract.View rootView) {
super(model, rootView);
this.IActivity = (OrderCenterActivity) rootView;
}
@Override
......@@ -51,5 +68,68 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode
this.mApplication = null;
}
/**
* 獲取訂單列表
*
* @param pageIndex
* @param pageSize
* @param refreshLayout
* @param isLoadMore
*/
public void loadOrderList(int pageIndex, int pageSize, RefreshLayout refreshLayout, boolean isLoadMore) {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
mModel.loadOrderList(restaurantId, pageIndex, pageSize)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> {
if (refreshLayout == null) {
mRootView.showLoading(null);
}
})
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result.getData() != null) {
List<OrderDetailItem> orderItemList = JsonUtils.parseArray(result.getData(), OrderDetailItem.class);
if (orderItemList.size() > 0) {
mRootView.returnOrderItemList(orderItemList);
//每次更新完數據,頁碼+1
mRootView.setPageIndex(mRootView.getPageIndex() + 1);
} else {
mRootView.showEmptyView(true,0, null);
}
} else {
mRootView.showEmptyView(true,0, null);
}
} else {
mRootView.showEmptyView(false,0, null);
}
resetRefreshLayout();
}
@Override
public void onError(Throwable t) {
super.onError(t);
mRootView.showEmptyView(false,0, t);
resetRefreshLayout();
}
private void resetRefreshLayout() {
if (refreshLayout != null) {
if (isLoadMore) {
refreshLayout.finishLoadMore();
} else {
refreshLayout.finishRefresh();
refreshLayout.resetNoMoreData();//setNoMoreData(false);
}
}
}
});
}
}
......@@ -156,25 +156,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
});
return;
}
// if (mBottomFunctionList.get(position).getResName().equals("↑")) {
// mBottomFunctionList.add(new Function((long) 5, 1, 2025, "skyorder", "", ""));
// mBottomFunctionList.add(new Function((long) 6, 1, 2025, "上菜紙", "", ""));
// for (int i = 0; i < mBottomFunctionList.size(); i++) {
// boolean isMore = mBottomFunctionList.get(i).getResName().equals("↑");
// if (isMore)
// mBottomFunctionList.get(i).setResName("↓");
// }
// mBottomFunctionAdapter.notifyDataSetChanged();
// } else if (mBottomFunctionList.get(position).getResName().equals("↓")) {
// mBottomFunctionList.remove(mBottomFunctionList.size() - 1);
// mBottomFunctionList.remove(mBottomFunctionList.size() - 1);
// for (int i = 0; i < mBottomFunctionList.size(); i++) {
// boolean isMore = mBottomFunctionList.get(i).getResName().equals("↓");
// if (isMore)
// mBottomFunctionList.get(i).setResName("↑");
// }
// mBottomFunctionAdapter.notifyDataSetChanged();
// }
}
});
}
......
......@@ -43,7 +43,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* Description: 賬單內容
* <p>
* Created by MVPArmsTemplate on 01/09/2020 19:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
......
package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import com.gingersoft.gsa.cloud.table.mvp.presenter.OrderDetailPresenter;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderDetailComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import com.gingersoft.gsa.cloud.table.R;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/13/2020 14:29
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> implements OrderDetailContract.View {
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerOrderDetailComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activity_order_detail; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
}
@Override
public void hideLoading() {
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.snackbarText(message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
}
......@@ -130,7 +130,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initTabBarViewPage();
mPresenter.initBottomFunction();
mPresenter.getTables(true);
......
package com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.presenter.OrderDetailPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderDetailFoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderDetailPayMethodAdapter;
import com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderDetailComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import com.gingersoft.gsa.cloud.table.R;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import com.qmuiteam.qmui.widget.QMUITopBar;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description: 訂單詳情頁#顯示單條該餐廳下已結賬單
* <p>
* Created by MVPArmsTemplate on 03/13/2020 14:29
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> implements OrderDetailContract.View {
@BindView(R2.id.topbar)
QMUITopBar mTopBar;
@BindView(R2.id.scrollview)
ScrollView scrollview;
@BindView(R2.id.tv_table_name)
TextView tv_table_name;
@BindView(R2.id.tv_people_num)
TextView tv_people_num;
@BindView(R2.id.tv_order_num)
TextView tv_order_num;
@BindView(R2.id.tv_open_time)
TextView tv_open_time;
@BindView(R2.id.tv_pay_time)
TextView tv_pay_time;
@BindView(R2.id.tv_food_detail_text)
TextView tv_food_detail_text;
@BindView(R2.id.recycler_food)
RecyclerView recycler_food;
@BindView(R2.id.recycler_discount)
RecyclerView recycler_discount;
@BindView(R2.id.recycler_pay_method)
RecyclerView recycler_pay_method;
@BindView(R2.id.tv_total_text)
TextView tv_total_text;
@BindView(R2.id.tv_server_money_text)
TextView tv_server_money_text;
@BindView(R2.id.tv_total_money_text)
TextView tv_total_money_text;
@BindView(R2.id.tv_total)
TextView tv_total;
@BindView(R2.id.tv_server_money)
TextView tv_server_money;
@BindView(R2.id.tv_total_money)
TextView tv_total_money;
@BindView(R2.id.btn_print_order)
QMUIAlphaButton btn_print_order;
@BindView(R2.id.btn_tips)
QMUIAlphaButton btn_tips;
@BindView(R2.id.btn_refund)
QMUIAlphaButton btn_refund;
@BindView(R2.id.btn_cancel_order)
QMUIAlphaButton btn_cancel_order;
@BindView(R2.id.btn_modify_order)
QMUIAlphaButton btn_modify_order;
@BindView(R2.id.ll_bottom)
LinearLayout ll_bottom;
@BindView(R2.id.tv_order_status)
TextView tv_order_status;
private OrderDetailItem mOrderDetailItem;
private OrderDetailFoodAdapter mOrderDetailFoodAdapter;
private List<OrderDetail> mOrderDetailList = new ArrayList<>();
private OrderDetailPayMethodAdapter MOrderDetailPayMethodAdapter;
// private List<Object> mOrderDetailList;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerOrderDetailComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activity_order_detail; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initOrderDetail(mOrderDetailItem);
}
private void initOrderDetail(OrderDetailItem mOrderDetailItem) {
if (mOrderDetailItem != null) {
String payBill = LanguageUtils.get_language_system(this, "opentable.paybill", "結賬") + ":";
String tableName = LanguageUtils.get_language_system(this, "table.number", "檯號̖") + ":";
String pax = LanguageUtils.get_language_system(this, "Meal.Mannumber", "人數") + ":";
String orderNumber = LanguageUtils.get_language_system(this, "order.number", "訂單號") + ":";
String openTable = LanguageUtils.get_language_system(this, "open.table", "開台") + ":";
tv_pay_time.setText(payBill + mOrderDetailItem.getCreateTime());
tv_table_name.setText(tableName + mOrderDetailItem.getId());
tv_people_num.setText(pax + mOrderDetailItem.getPerson());
tv_order_num.setText(orderNumber + mOrderDetailItem.getOrderNo());
tv_open_time.setText(openTable + mOrderDetailItem.getCreateTime());
tv_total.setText("$" + mOrderDetailItem.getTotalAmount());
// if (datasBean.getOrderMember().get(0).getSCAMOUNT() != 0) {
// tv_server_money.setText("$" + datasBean.getOrderMember().get(0).getSCAMOUNT());
// } else {
tv_server_money.setVisibility(View.GONE);
tv_server_money_text.setVisibility(View.GONE);
// }
tv_total_money.setText("$" + mOrderDetailItem.getTotalAmount());
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(mOrderDetailItem.getOrderDetails()));
mOrderDetailList.addAll(orderDetailList);
mOrderDetailFoodAdapter = new OrderDetailFoodAdapter(mOrderDetailList);
recycler_food.setAdapter(mOrderDetailFoodAdapter);
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycler_food.setLayoutManager(mAllOrderRecycleLayoutManager);
recycler_food.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
}
}
@Override
public void initIntent() {
Intent intent = getIntent();
mOrderDetailItem = (OrderDetailItem) intent.getSerializableExtra("orderDetailItem");
}
@Override
public void initTopBar() {
mTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.theme_color));
mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
killMyself();
// overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right);
}
});
mTopBar.setTitle(LanguageUtils.get_language_system(this, "function.order.detail", "賬單詳情")).setTextColor(ArmsUtils.getColor(this,R.color.theme_white_color));
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(this, message, true);
else
LoadingDialog.showDialogForLoading(this);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.makeText(this, message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
}
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
......@@ -25,11 +24,11 @@ import butterknife.BindView;
* 修订历史:2018/6/27
* 描述:
*/
public class OrderCenterAdapter extends DefaultAdapter<Object> {
public class OrderCenterAdapter extends DefaultAdapter<OrderDetailItem> {
private Context mContext;
public OrderCenterAdapter(Context context, List<Object> infos) {
public OrderCenterAdapter(Context context, List<OrderDetailItem> infos) {
super(infos);
this.mContext = context;
}
......@@ -40,7 +39,7 @@ public class OrderCenterAdapter extends DefaultAdapter<Object> {
}
@Override
public BaseHolder<Object> getHolder(View v, int viewType) {
public BaseHolder<OrderDetailItem> getHolder(View v, int viewType) {
return new OrderCenterItemHolder(v);
}
......@@ -49,7 +48,7 @@ public class OrderCenterAdapter extends DefaultAdapter<Object> {
return R.layout.item_order_center;
}
class OrderCenterItemHolder extends BaseHolder<Object> {
class OrderCenterItemHolder extends BaseHolder<OrderDetailItem> {
@BindView(R2.id.ll_root_container)
LinearLayout ll_root_container;
......@@ -79,29 +78,33 @@ public class OrderCenterAdapter extends DefaultAdapter<Object> {
@BindView(R2.id.btn_order_status)
QMUIAlphaButton btn_order_status;
@BindView(R2.id.ll_bottom)
QMUIAlphaButton ll_bottom;
LinearLayout ll_bottom;
public OrderCenterItemHolder(View itemView) {
super(itemView);
}
@Override
public void setData(Object datasBean, int position) {
public void setData(OrderDetailItem datasBean, int position) {
String tableName = LanguageUtils.get_language_system(mContext, "table.number", "檯號") + ":";
String pax = LanguageUtils.get_language_system(mContext, "Meal.Mannumber", "人數") + ":";
String orderNumber = LanguageUtils.get_language_system(mContext, "order.number", "訂單號") + ":";
String openTable = LanguageUtils.get_language_system(mContext, "open.table", "開台") + ":";
String amount = LanguageUtils.get_language_system(mContext, "amount", "金額") + ":$";
tv_table_name.setText(tableName + datasBean.getId());
tv_order_num.setText(orderNumber + datasBean.getOrderNo());
tv_people_num.setText(pax + datasBean.getPerson());
tv_open_time.setText(openTable + datasBean.getCreateTime());
tv_pay_money.setText(amount + datasBean.getTotalAmount());
}
}
btn_print_order.setText(LanguageUtils.get_language_system(mContext, "print.order", "打印賬單"));
btn_tips.setText(LanguageUtils.get_language_system(mContext, "public.tips", "貼士"));
btn_modify_order.setText(LanguageUtils.get_language_system(mContext, "modify.order", "修改訂單"));
btn_cancel_order.setText(LanguageUtils.get_language_system(mContext, "cancel.order", "取消訂單"));
private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
mOnItemClickListener = onItemClickListener;
}
public interface OnItemClickListener {
void onItemClick(BillOrderMoney datasBean, int position);
}
}
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.view.Gravity;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import java.util.List;
import androidx.annotation.Nullable;
public class OrderDetailFoodAdapter extends BaseQuickAdapter<OrderDetail, BaseViewHolder> {
public OrderDetailFoodAdapter(@Nullable List<OrderDetail> data) {
super(R.layout.item_order_detail_food, data);
}
@Override
protected void convert(BaseViewHolder helper, OrderDetail item) {
TextView tv_food_name = helper.getView(R.id.tv_food_name);
int flevel = item.getItemType();
String productName = item.getProductName();
switch (flevel) {
case 1:
tv_food_name.setGravity(Gravity.LEFT);
break;
case 2:
productName = " " + productName;
tv_food_name.setGravity(Gravity.CENTER);
break;
case 3:
productName = " " + productName;
tv_food_name.setGravity(Gravity.RIGHT);
break;
}
tv_food_name.setText(productName);
helper.setText(R.id.tv_food_number, String.valueOf(item.getNumber()));
helper.setText(R.id.tv_food_total, "$" + item.getPrice() * item.getNumber());
}
}
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.view.Gravity;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.table.R;
import java.util.List;
import androidx.annotation.Nullable;
public class OrderDetailPayMethodAdapter extends BaseQuickAdapter<OrderDetail, BaseViewHolder> {
public OrderDetailPayMethodAdapter(@Nullable List<OrderDetail> data) {
super(R.layout.item_order_detail_pay_method, data);
}
@Override
protected void convert(BaseViewHolder helper, OrderDetail item) {
helper.setText(R.id.tv_name, String.valueOf(item.getNumber()));
helper.setText(R.id.tv_money, "$" + item.getPrice() * item.getNumber());
}
}
......@@ -6,8 +6,11 @@ import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.ui.recylcler.decorator.GridDividerItemDecoration;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
......@@ -16,10 +19,12 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerAllOrderComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.AllOrderContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.AllOrderPresenter;
import com.gingersoft.gsa.cloud.table.R;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
......@@ -44,11 +49,15 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements AllOrderContract.View {
@BindView(R2.id.refreshLayout)
SmartRefreshLayout refreshLayout;
RefreshLayout refreshLayout;
@BindView(R2.id.recycle_order)
RecyclerView recycle_order;
private int currentPageInde;
private OrderCenterActivity orderCenterActivity;
private int currentPageIndex;
private int pageIndex = 1;
private int pageSize = 10;
public static AllOrderFragment newInstance() {
AllOrderFragment fragment = new AllOrderFragment();
......@@ -72,9 +81,28 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
@Override
public void initData(@Nullable Bundle savedInstanceState) {
currentPageInde = (int) getArguments().getInt("currentPageIndex",0);
currentPageIndex = getArguments().getInt("currentPageIndex", 0);
orderCenterActivity = (OrderCenterActivity) getActivity();
mPresenter.initOrderAdapter(getActivity());
initRefreshLayout();
}
private void initRefreshLayout() {
refreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
//重新獲取第一頁數據
pageIndex = 1;
orderCenterActivity.loadOrderList(refreshLayout, false);
}
});
refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
orderCenterActivity.loadOrderList(refreshLayout, true);
}
});
}
@Override
......@@ -82,16 +110,17 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
if (data != null && data instanceof Message) {
switch (((Message) data).what) {
case 0:
List<OrderDetailItem> datasBeans = (List<OrderDetailItem>) ((Message) data).obj;
if (mPresenter != null) {
mPresenter.updateOrderData(datasBeans);
}
break;
case 1:
List<OrderDetailItem> addDataItem = (List<OrderDetailItem>) ((Message) data).obj;
if (mPresenter != null) {
mPresenter.addOrderData(addDataItem);
}
break;
case 1://刷新全部数据
// datasBeans = (List<TableBean.DataBean>) ((Message) data).obj;
// if (mPresenter != null) {
// //recycleView正在滑动
// if (recycle_all_table.getScrollState() != 0) {
// } else {
// mPresenter.updateAllTableData(getActivity(), datasBeans);
// }
// }
default:
//do something
break;
......@@ -123,8 +152,8 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
@Override
public void killMyself() {
}
}
@Override
public void setAllOrderAdapter(DefaultAdapter adapter) {
......@@ -135,7 +164,23 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
private void initAllOrderRecycleViewLayout() {
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
recycle_order.setLayoutManager(mAllOrderRecycleLayoutManager);
recycle_order.addItemDecoration(new GridDividerItemDecoration(QMUIDisplayHelper.dpToPx(1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
recycle_order.addItemDecoration(new DividerItemDecoration(orderCenterActivity, LinearLayoutManager.VERTICAL));
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
}
......@@ -33,4 +33,11 @@
android:fitsSystemWindows="true"/>
</LinearLayout>
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:id="@+id/emptyView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"
android:fitsSystemWindows="true"/>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
......@@ -14,7 +14,8 @@
android:id="@+id/recycle_order"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
android:overScrollMode="never"
android:background="@color/theme_background_color"/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</FrameLayout>
......
......@@ -4,6 +4,7 @@
android:id="@+id/ll_root_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:background="@drawable/selector_item_background"
android:orientation="vertical"
android:padding="@dimen/dp_8">
......@@ -33,23 +34,12 @@
android:textColor="@color/black"
android:textSize="@dimen/sp_14" />
<TextView
android:id="@+id/tv_people_num"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:layout_weight="1"
android:gravity="right"
android:text="人數:2"
android:textColor="@color/black"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_3"
android:layout_marginTop="@dimen/dp_5"
android:orientation="horizontal">
<TextView
......@@ -62,29 +52,49 @@
android:textColor="@color/black"
android:textSize="@dimen/sp_14" />
<TextView
android:id="@+id/tv_pay_money"
android:id="@+id/tv_people_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:text="金額:$230"
android:gravity="right"
android:text="人數:2"
android:textColor="@color/black"
android:textSize="@dimen/sp_18"
android:textStyle="bold" />
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_3"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_pay_time"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/dp_3"
android:layout_weight="1"
android:text="結賬:2019-7-2"
android:textColor="@color/black"
android:textSize="@dimen/sp_14" />
<TextView
android:id="@+id/tv_pay_money"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:gravity="right"
android:text="金額:$230"
android:textColor="@color/black"
android:textSize="@dimen/sp_18"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_bottom"
......@@ -111,17 +121,16 @@
android:layout_marginRight="@dimen/dp_10"
android:background="@color/green_400"
android:text="貼士"
android:visibility="gone"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:visibility="gone" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_cancel_order"
android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_35"
android:background="@color/red_400"
android:layout_marginRight="@dimen/dp_10"
android:background="@color/red_400"
android:text="取消訂單"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" />
......@@ -135,7 +144,7 @@
android:text="退款"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13"
android:visibility="visible" />
android:visibility="gone" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_modify_order"
......@@ -143,18 +152,18 @@
android:layout_height="@dimen/dp_35"
android:background="@color/blue_300"
android:text="修改訂單"
android:visibility="gone"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:visibility="gone" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_order_status"
android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_35"
android:background="@color/gray"
android:clickable="false"
android:text="已取消"
android:textColor="@color/theme_white_color"
android:clickable="false"
android:textSize="@dimen/sp_13"
android:visibility="gone" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_item_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_5">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="6">
<TextView
android:id="@+id/tv_food_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:ellipsize="end"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:maxLines="1"
android:text="" />
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_food_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/sp_14" />
<TextView
android:id="@+id/tv_food_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/sp_14" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_content_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/tv_money"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_10"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/sp_16" />
</RelativeLayout>
\ No newline at end of file
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