Commit 76597c05 by 宁斌

1、餐檯管理完善

2、餐檯模式顯示 餐檯類型標誌,默認就餐人數
parent f01b18c5
package com.gingersoft.gsa.cloud.manager.mvp.model.bean;
package com.gingersoft.gsa.cloud.base.common.bean;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem;
import com.qmuiteam.qmui.widget.section.QMUISection;
import java.io.Serializable;
import java.util.ArrayList;
......
package com.gingersoft.gsa.cloud.manager.mvp.model.bean;
package com.gingersoft.gsa.cloud.base.common.bean;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.qmuiteam.qmui.widget.section.QMUISection;
import java.io.Serializable;
......
......@@ -2,8 +2,11 @@ package com.gingersoft.gsa.cloud.ui.recylcler.event;
import android.graphics.Color;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.base.delegate.IActivity;
import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
......@@ -62,31 +65,45 @@ public class RecyItemTouchHelperCallback<H extends QMUISection.Model<H>, T exten
return false;
}
if (fromPosition < toPosition) {
for (int i = fromPosition; i < toPosition; i++) {
if (mAdapter instanceof QMUIStickySectionAdapter) {
QMUIStickySectionAdapter.ViewHolder holder = (QMUIStickySectionAdapter.ViewHolder) viewHolder;
int pos = holder.isForStickyHeader ? i : holder.getAdapterPosition();
int itemIndex = ((QMUIStickySectionAdapter) mAdapter).getItemIndex(pos);
LogUtil.d(TAG, "fromPosition:" + fromPosition + " toPosition:" + toPosition + " itemIndex: " + itemIndex + " pos: " + pos);
QMUISection<H, T> qmuiSections = ((QMUIStickySectionAdapter) mAdapter).getSection(pos);
List<?> list = qmuiSections.getItemList();
Collections.swap(list, itemIndex, itemIndex + 1);
} else {
if (mAdapter instanceof QMUIStickySectionAdapter) {
QMUIStickySectionAdapter sectionAdapter = (QMUIStickySectionAdapter) mAdapter;
QMUIStickySectionAdapter.ViewHolder holder = (QMUIStickySectionAdapter.ViewHolder) viewHolder;
QMUISection<H, T> qmuiSections = sectionAdapter.getSection(holder.getAdapterPosition());
List<?> list = qmuiSections.getItemList();
int fromIndex = sectionAdapter.getItemIndex(fromPosition);
int toIndex = sectionAdapter.getItemIndex(toPosition);
if ((fromIndex + 1) == list.size())
return false;
for (int i = fromIndex; i < toIndex; i++) {
Collections.swap(list, i, i + 1);
}
} else {
for (int i = fromPosition; i < toPosition; i++) {
Collections.swap(((DefaultAdapter) mAdapter).getInfos(), i, i + 1);
}
}
} else {
for (int i = fromPosition; i > toPosition; i--) {
if (mAdapter instanceof QMUIStickySectionAdapter) {
QMUIStickySectionAdapter.ViewHolder holder = (QMUIStickySectionAdapter.ViewHolder) viewHolder;
int pos = holder.isForStickyHeader ? i : holder.getAdapterPosition();
int itemIndex = ((QMUIStickySectionAdapter) mAdapter).getItemIndex(pos);
LogUtil.d(TAG, "fromPosition:" + fromPosition + " toPosition:" + toPosition + " itemIndex: " + itemIndex + " pos: " + pos);
QMUISection<H, T> qmuiSections = ((QMUIStickySectionAdapter) mAdapter).getSection(pos);
List<?> list = qmuiSections.getItemList();
Collections.swap(list, itemIndex, itemIndex - 1);
} else {
Collections.swap(((DefaultAdapter) mAdapter).getInfos(), fromPosition, toPosition - 1);
if (mAdapter instanceof QMUIStickySectionAdapter) {
QMUIStickySectionAdapter sectionAdapter = (QMUIStickySectionAdapter) mAdapter;
QMUIStickySectionAdapter.ViewHolder holder = (QMUIStickySectionAdapter.ViewHolder) viewHolder;
QMUISection<H, T> qmuiSections = sectionAdapter.getSection(holder.getAdapterPosition());
List<?> list = qmuiSections.getItemList();
int fromIndex = sectionAdapter.getItemIndex(fromPosition);
int toIndex = sectionAdapter.getItemIndex(toPosition);
if ((fromIndex + 1) == list.size())
return false;
for (int i = fromIndex; i > toIndex; i--) {
Collections.swap(list, i, i - 1);
}
} else {
for (int i = fromPosition; i > toPosition; i--) {
Collections.swap(((DefaultAdapter) mAdapter).getInfos(), i, i - 1);
}
}
}
......@@ -116,10 +133,51 @@ public class RecyItemTouchHelperCallback<H extends QMUISection.Model<H>, T exten
@Override
public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
super.clearView(recyclerView, viewHolder);
// viewHolder.itemView.setBackgroundColor(Color.WHITE);
viewHolder.itemView.setBackgroundColor(Color.WHITE);
String ids = "";
if (mAdapter instanceof QMUIStickySectionAdapter) {
QMUIStickySectionAdapter adapter = (QMUIStickySectionAdapter) mAdapter;
List<QMUISection<H, T>> qmuiSectionList = adapter.getCurrentData();
ids = getTableIds(qmuiSectionList);
} else {
DefaultAdapter adapter = (DefaultAdapter) mAdapter;
ids = getTableAreaIds(adapter.getInfos());
}
// mAdapter.notifyDataSetChanged();
if (onMoveListener != null) {
onMoveListener.onMoveFinish();
onMoveListener.onMoveFinish(ids);
}
}
private String getTableIds(List<QMUISection<H, T>> qmuiSectionList) {
StringBuilder builder = new StringBuilder();
for (QMUISection<H, T> qmuiSections : qmuiSectionList) {
for (T t : qmuiSections.getItemList()) {
TableItem tableItem = (TableItem) t;
if (tableItem.getLayoutType() == 0) {
builder.append(tableItem.getId());
builder.append(",");
}
}
}
String str = builder.toString();
if (str.endsWith(",")) {
str = str.substring(0, str.length() - 1);
}
return str;
}
private String getTableAreaIds(List<TableArea> tableAreaList) {
StringBuilder builder = new StringBuilder();
for (TableArea tableArea : tableAreaList) {
builder.append(tableArea.getId());
builder.append(",");
}
String str = builder.toString();
if (str.endsWith(",")) {
str = str.substring(0, str.length() - 1);
}
return str;
}
@Override
......@@ -139,6 +197,6 @@ public class RecyItemTouchHelperCallback<H extends QMUISection.Model<H>, T exten
}
public interface onMoveListener {
void onMoveFinish();
void onMoveFinish(String ids);
}
}
\ No newline at end of file
......@@ -335,13 +335,13 @@ public class TriangleLabelView extends View {
canvas.drawPath(path, trianglePaint);
// draw secondaryText
if (corner.top()) {
canvas.drawText(secondary.text, (width) / 2, topPadding + secondary.height, secondary.paint);
canvas.drawText(primary.text, (width) / 2, (topPadding + secondary.height + centerPadding + primary.height), primary.paint);
} else {
canvas.drawText(secondary.text, (width) / 2, bottomPadding + secondary.height + centerPadding + primary.height, secondary.paint);
canvas.drawText(primary.text, (width) / 2, (bottomPadding + primary.height), primary.paint);
}
// if (corner.top()) {
// canvas.drawText(secondary.text, (width) / 2, topPadding + secondary.height, secondary.paint);
// canvas.drawText(primary.text, (width) / 2, (topPadding + secondary.height + centerPadding + primary.height), primary.paint);
// } else {
// canvas.drawText(secondary.text, (width) / 2, bottomPadding + secondary.height + centerPadding + primary.height, secondary.paint);
// canvas.drawText(primary.text, (width) / 2, (bottomPadding + primary.height), primary.paint);
// }
canvas.restore();
}
......
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<!-- 倒三角 -->
<rotate
android:fromDegrees="-45"
android:pivotX="-45%"
android:pivotY="45%"
android:toDegrees="45"
>
<shape android:shape="rectangle">
<solid android:color="#f00" />
</shape>
</rotate>
</item>
</layer-list>
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.mvp.contract;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
......
package com.gingersoft.gsa.cloud.manager.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
......
......@@ -161,7 +161,16 @@ public class TableManageModel extends BaseModel implements TableManageContract.M
@Override
public Observable<BaseResult> changeAreaSort(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableManageService.class)
.changeAreaSort(requestBody);
.changeAreaSort(requestBody)
.flatMap(new Function<BaseResult, Observable<BaseResult>>() {
@Override
public Observable<BaseResult> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
return queryAreas();
}
return null;
}
});
}
@Override
......
......@@ -2,8 +2,8 @@ package com.gingersoft.gsa.cloud.manager.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.FragmentScope;
......
......@@ -5,19 +5,15 @@ import android.os.CountDownTimer;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.AreaRequest;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.TableRequest;
import com.gingersoft.gsa.cloud.manager.mvp.ui.activity.TableManageActivity;
import com.jess.arms.base.delegate.IActivity;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
......@@ -39,11 +35,8 @@ import com.gingersoft.gsa.cloud.manager.mvp.contract.TableManageContract;
import com.jess.arms.utils.RxLifecycleUtils;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import java.util.ArrayList;
import java.util.List;
import static com.gingersoft.gsa.cloud.base.common.bean.OrderDetail.DISCOUNT_TYPE;
/**
* ================================================
......@@ -368,14 +361,12 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
});
}
public void changeAreaSort(long id, long sort, long targetId, long targetSort) {
public void changeAreaSort(String ids) {
RequestBody requestBody = new FormBody.Builder()
.add("id", String.valueOf(id))
.add("sort", String.valueOf(sort))
.add("targetId", String.valueOf(targetId))
.add("targetSort", String.valueOf(targetSort))
.add("restaurantId", String.valueOf(GsaCloudApplication.getRestaurantId(mApplication)))
.add("ids", ids)
.build();
LogUtil.d(TAG, "changeAreaSort " + " id:" + id + " sort:" + sort + " targetId:" + targetId + " targetSort:" + targetSort);
LogUtil.d(TAG, "changeAreaSort " + " ids:" + ids );
mModel.changeAreaSort(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
......@@ -389,9 +380,9 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
if (info.getData() != null) {
List<TableItem> tableItems = JsonUtils.parseArray(info.getData(), TableItem.class);
if (tableItems.size() > 0) {
mRootView.queryTablesSuccess(tableItems, TableManageActivity.CHANGE_AREA_SORT);
List<TableArea> tableAreas = JsonUtils.parseArray(info.getData(), TableArea.class);
if (tableAreas.size() > 0) {
mRootView.queryAreasSuccess(tableAreas, TableManageActivity.CHANGE_AREA_SORT);
} else {
mRootView.showEmptyView(true, 0, null);
}
......@@ -405,11 +396,12 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
});
}
public void changeTableSort() {
public void changeTableSort(String ids) {
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(GsaCloudApplication.getRestaurantId(mApplication)))
.add("ids", getTableIds())
.add("ids", ids)
.build();
LogUtil.d(TAG, "changeTableSort " + " ids:" + ids );
mModel.changeTableSort(requestBody)
.subscribeOn(Schedulers.io())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
......
......@@ -2,28 +2,15 @@ package com.gingersoft.gsa.cloud.manager.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.FrameLayout;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.AreaRequest;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.TableRequest;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.AddAreaFragment;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.AddTableFragment;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.AreaListFragment;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.TableListFragment;
import com.gingersoft.gsa.cloud.ui.utils.AnimateUtils;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
......@@ -32,35 +19,17 @@ import com.gingersoft.gsa.cloud.manager.mvp.contract.TableManageContract;
import com.gingersoft.gsa.cloud.manager.mvp.presenter.TableManagePresenter;
import com.gingersoft.gsa.cloud.manager.R;
import com.jess.arms.utils.RxLifecycleUtils;
import com.qmuiteam.qmui.alpha.QMUIAlphaTextView;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import butterknife.BindView;
import butterknife.OnClick;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import me.yokeyword.fragmentation.ISupportFragment;
import me.yokeyword.fragmentation.anim.DefaultHorizontalAnimator;
import me.yokeyword.fragmentation.anim.FragmentAnimator;
import okhttp3.FormBody;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -178,12 +147,12 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
mPresenter.queryTables(refreshLayout, true);
}
public void changeAreaSort(long id, long sort, long targetId, long targetSort) {
mPresenter.changeAreaSort(id, sort, targetId, targetSort);
public void changeAreaSort(String ids) {
mPresenter.changeAreaSort(ids);
}
public void changeTableSort() {
mPresenter.changeTableSort();
public void changeTableSort(String ids) {
mPresenter.changeTableSort(ids);
}
public void updateTableServiceCharge(List<TableRequest.UpdateServiceCharge> request) {
......@@ -354,7 +323,6 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
}
}
public List<TableArea> getTableAreaList() {
return mTableAreaList;
}
......
package com.gingersoft.gsa.cloud.manager.mvp.ui.adapter;
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.MotionEvent;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.manager.R;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
......@@ -96,8 +93,14 @@ public class AreaManageAdapter extends DefaultAdapter<TableArea> {
datasBean.setChecked(isChecked);
}
});
ed_name.setCursorVisible(true);
ed_name.setFocusable(true);
ed_name.setFocusableInTouchMode(true);
} else {
cb_checked.setVisibility(View.GONE);
ed_name.setCursorVisible(false);
ed_name.setFocusable(false);
ed_name.setFocusableInTouchMode(false);
}
}
}
......
......@@ -2,40 +2,30 @@ package com.gingersoft.gsa.cloud.manager.mvp.ui.adapter;
import android.content.Context;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtil;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.manager.R;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader;
import com.gingersoft.gsa.cloud.ui.view.TriangleLabelView;
import com.gingersoft.gsa.cloud.ui.view.TriangleView;
import com.gingersoft.gsa.cloud.ui.view.qm.QDLoadingItemView;
import com.gingersoft.gsa.cloud.ui.view.section.QDSectionHeaderView;
import com.jess.arms.utils.DeviceUtils;
import com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout;
import com.qmuiteam.qmui.layout.QMUIFrameLayout;
import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.layout.QMUIRelativeLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import java.util.Date;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import butterknife.BindView;
......@@ -121,7 +111,7 @@ public class TableManageSectiontAdapter extends QMUIDefaultStickySectionAdapter<
initAddItemDispalyMetrics(viewHolder);
viewHolder.ll_container.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
setBackGroundWork(viewHolder, Color.parseColor("#FFFFFFFF"), R.color.black);
setBackGroundWork(viewHolder, Color.parseColor("#FFFFFFFF"), R.color.black,R.color.theme_black);
} else {
......@@ -175,21 +165,21 @@ public class TableManageSectiontAdapter extends QMUIDefaultStickySectionAdapter<
if (item.getStatus() != 0) {
switch (item.getType()) {
case TableItem.TABLE_TYPE_CANTEEN:
viewHolder.tlv_table_type.setPrimaryText("堂");
viewHolder.tlv_table_type.setPrimaryTextColor(Color.parseColor("#249B65"));
viewHolder.tv_type_labe.setText("堂");
viewHolder.tv_type_labe.setTextColor(Color.parseColor("#249B65"));
break;
case TableItem.TABLE_TYPE_TAKEAWAY:
viewHolder.tlv_table_type.setPrimaryText("外");
viewHolder.tlv_table_type.setPrimaryTextColor(Color.parseColor("#FF720A"));
viewHolder.tv_type_labe.setText("外");
viewHolder.tv_type_labe.setTextColor(Color.parseColor("#FF720A"));
break;
case TableItem.TABLE_TYPE_SELF_FETCHING:
viewHolder.tlv_table_type.setPrimaryText("自");
viewHolder.tlv_table_type.setPrimaryTextColor(Color.parseColor("#00479D"));
viewHolder.tv_type_labe.setText("自");
viewHolder.tv_type_labe.setTextColor(Color.parseColor("#00479D"));
break;
}
viewHolder.tlv_table_type.setVisibility(View.VISIBLE);
viewHolder.fl_table_type.setVisibility(View.VISIBLE);
} else {
viewHolder.tlv_table_type.setVisibility(View.GONE);
viewHolder.fl_table_type.setVisibility(View.GONE);
}
}
......@@ -201,28 +191,24 @@ public class TableManageSectiontAdapter extends QMUIDefaultStickySectionAdapter<
viewHolder.ll_container.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
if (item.getUseStatus() == 1) {
setBackGroundWork(viewHolder, Color.parseColor("#FFD14141"), R.color.theme_white_color);
setBackGroundWork(viewHolder, Color.parseColor("#FFD14141"), R.color.theme_white_color,R.color.theme_black);
} else {
switch (item.getStatus()) {
case 0:
setBackGroundWork(viewHolder, Color.parseColor("#FFFFFFFF"), R.color.black);
setBackGroundWork(viewHolder, Color.parseColor("#FFFFFFFF"), R.color.black,R.color.theme_black);
break;
case 1:
// setBackGroundWork(item, "2", R.drawable.table_shape_table_send, R.drawable.tablebutton_glassgreen_new, R.color.theme_white_color); break;
case 2:
setBackGroundWork(viewHolder, Color.parseColor("#FF249B65"), R.color.theme_white_color);
setBackGroundWork(viewHolder, Color.parseColor("#FF249B65"), R.color.theme_white_color,R.color.theme_white_color);
break;
case 3:
setBackGroundWork(viewHolder, Color.parseColor("#FFE5AC00"), R.color.theme_white_color);
setBackGroundWork(viewHolder, Color.parseColor("#FFE5AC00"), R.color.theme_white_color,R.color.theme_white_color);
break;
case 4:
setBackGroundWork(viewHolder, ContextCompat.getColor(context, R.color.Violet), R.color.theme_white_color);
break;
case 5:
setBackGroundWork(viewHolder, ContextCompat.getColor(context, R.color.Violet), R.color.theme_white_color);
break;
case 6:
setBackGroundWork(viewHolder, ContextCompat.getColor(context, R.color.Violet), R.color.theme_white_color);
setBackGroundWork(viewHolder, ContextCompat.getColor(context, R.color.Violet), R.color.theme_white_color,R.color.theme_white_color);
break;
}
}
......@@ -242,11 +228,12 @@ public class TableManageSectiontAdapter extends QMUIDefaultStickySectionAdapter<
viewHolder.rl_table.setLayoutParams(relativeLayout);
}
private void setBackGroundWork(ViewHolder viewHolder, int defaultMainback, int defaultFontColor) {
private void setBackGroundWork(ViewHolder viewHolder, int defaultMainback, int defaultFontColor,int serviceFeeFontColor) {
if (defaultMainback != -1) {
viewHolder.ll_container.setBackgroundColor(defaultMainback);
}
viewHolder.tv_table.setTextColor(context.getResources().getColor(defaultFontColor));
viewHolder.tv_service_fee.setTextColor(context.getResources().getColor(serviceFeeFontColor));
}
private void initAddItemDispalyMetrics(ViewHolder viewHolder) {
......@@ -287,8 +274,12 @@ public class TableManageSectiontAdapter extends QMUIDefaultStickySectionAdapter<
@BindView(R2.id.fl_add_table)
FrameLayout fl_add_table;
@BindView(R2.id.fl_table_type)
FrameLayout fl_table_type;
@BindView(R2.id.tlv_table_type)
TriangleLabelView tlv_table_type;
@BindView(R2.id.tv_type_labe)
TextView tv_type_labe;
public ViewHolder(View itemView) {
......
......@@ -13,7 +13,7 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.AreaRequest;
import com.gingersoft.gsa.cloud.manager.mvp.ui.activity.TableManageActivity;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
......
......@@ -7,20 +7,14 @@ import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.TableRequest;
import com.gingersoft.gsa.cloud.manager.mvp.ui.activity.TableManageActivity;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
......@@ -37,17 +31,10 @@ import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
import com.qmuiteam.qmui.widget.popup.QMUIPopup;
import com.qmuiteam.qmui.widget.popup.QMUIPopups;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -433,6 +420,13 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
if (!TextUtils.isEmpty(defalutPeopleNumberEditText.getText().toString())) {
update.setSeatCount(Integer.parseInt(defalutPeopleNumberEditText.getText().toString()));
}
if (!TextUtils.isEmpty(peopleMaxNumberEditText.getText().toString())) {
update.setMaxSeatCount(Integer.parseInt(peopleMaxNumberEditText.getText().toString()));
}
if (!TextUtils.isEmpty(peopleMixNumberEditText.getText().toString())) {
update.setMinSeatCount(Integer.parseInt(peopleMixNumberEditText.getText().toString()));
}
update.setType(tableType);
return update;
}
......
package com.gingersoft.gsa.cloud.manager.mvp.ui.fragment;
import android.content.Intent;
import android.graphics.Color;
import android.net.ParseException;
import android.os.Bundle;
import android.os.Message;
import android.text.Editable;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.AreaRequest;
import com.gingersoft.gsa.cloud.manager.mvp.ui.activity.TableManageActivity;
import com.gingersoft.gsa.cloud.manager.mvp.ui.adapter.AreaManageAdapter;
......@@ -47,40 +37,28 @@ import com.gingersoft.gsa.cloud.manager.mvp.presenter.AreaListPresenter;
import com.gingersoft.gsa.cloud.manager.R;
import com.qmuiteam.qmui.alpha.QMUIAlphaFrameLayout;
import com.qmuiteam.qmui.alpha.QMUIAlphaTextView;
import com.qmuiteam.qmui.widget.QMUIEmptyView;
import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import com.yanzhenjie.recyclerview.OnItemClickListener;
import com.yanzhenjie.recyclerview.SwipeMenuCreator;
import com.yanzhenjie.recyclerview.SwipeMenuItem;
import com.yanzhenjie.recyclerview.SwipeRecyclerView;
import com.yanzhenjie.recyclerview.touch.OnItemMoveListener;
import com.yanzhenjie.recyclerview.touch.OnItemStateChangedListener;
import com.yanzhenjie.recyclerview.widget.DefaultItemDecoration;
import org.json.JSONException;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.core.view.ViewCompat;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.OnClick;
import static com.gingersoft.gsa.cloud.manager.mvp.ui.activity.TableManageActivity.ADD_AREA_RESULT_SUCCESS;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -219,11 +197,18 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
@Override
public void onLongClick(RecyclerView.ViewHolder viewHolder) {
AreaManageAdapter.TopTableAreaItemHolder viewHolder1 = (AreaManageAdapter.TopTableAreaItemHolder) viewHolder;
Toast.makeText(mActivity, "長按:" + viewHolder1.getAdapterPosition(), Toast.LENGTH_SHORT).show();
if (viewHolder.getLayoutPosition() != 0) {
itemTouchHelper.startDrag(viewHolder);
}
// AreaManageAdapter.TopTableAreaItemHolder viewHolder1 = (AreaManageAdapter.TopTableAreaItemHolder) viewHolder;
// Toast.makeText(mActivity, "長按:" + viewHolder1.getAdapterPosition(), Toast.LENGTH_SHORT).show();
// if (viewHolder.getLayoutPosition() != 0) {
// itemTouchHelper.startDrag(viewHolder);
// }
}
});
itemTouchHelperCallback.setOnMoveListener(new RecyItemTouchHelperCallback.onMoveListener() {
@Override
public void onMoveFinish(String ids) {
mActivity.changeAreaSort(ids);
}
});
}
......
......@@ -17,10 +17,10 @@ import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.di.component.DaggerTableListComponent;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.TableItem;
import com.gingersoft.gsa.cloud.base.common.bean.TableArea;
import com.gingersoft.gsa.cloud.manager.mvp.model.bean.request.TableRequest;
import com.gingersoft.gsa.cloud.manager.mvp.ui.activity.TableManageActivity;
import com.gingersoft.gsa.cloud.manager.mvp.ui.adapter.TableManageSectiontAdapter;
......@@ -106,7 +106,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
@BindView(R2.id.cb_all_select)
CheckBox cb_all_select;
private Button rightButton;
private Button rightButton;
private TableManageActivity mActivity;
......@@ -161,10 +161,10 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
initTopbar();
initRefreshLayout();
initStickyLayout();
// initRecycleScrollListener();
initRecycleScrollListener();
mActivity.queryAreas(null);
mActivity.queryTables(null);
// mActivity.initGetTableTimer();
mActivity.initGetTableTimer();
cb_all_select.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
......@@ -184,14 +184,14 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
super.onResume();
hideSoftInput();
//開始刷新餐檯數據
// mActivity.onStartRefreshTableData();
mActivity.onStartRefreshTableData();
}
@Override
public void onPause() {
super.onPause();
//停止刷新餐檯數據
// mActivity.onPauseRefreshTableData();
mActivity.onPauseRefreshTableData();
}
@Override
......@@ -204,7 +204,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
mTopBar.addLeftBackImageButton().setOnClickListener(v -> killMyself());
mTopBar.setTitle("餐檯管理").setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color));
rightButton = mTopBar.addRightTextButton("編輯", R.id.qmui_dialog_edit_right_icon);
rightButton = mTopBar.addRightTextButton("編輯", R.id.qmui_dialog_edit_right_icon);
rightButton.setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color));
rightButton.setOnClickListener(v -> {
clickEdit(rightButton);
......@@ -218,10 +218,12 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
if (rightButton != null) {
rightButton.setText("取消");
}
mActivity.onPauseRefreshTableData();
} else {
if (rightButton != null) {
rightButton.setText("編輯");
}
mActivity.onStartRefreshTableData();
}
showRadioEdit();
mAdapter.setRadioEdit(isRadioEdit);
......@@ -306,17 +308,16 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
public void onLongClick(RecyclerView.ViewHolder viewHolder) {
// QMUIStickySectionAdapter.ViewHolder viewHolder1 = (QMUIStickySectionAdapter.ViewHolder) viewHolder;
// Toast.makeText(mActivity, "長按:" + viewHolder1.getAdapterPosition(), Toast.LENGTH_SHORT).show();
if (viewHolder.getLayoutPosition() != 0) {
itemTouchHelper.startDrag(viewHolder);
}
// if (viewHolder.getLayoutPosition() != 0) {
// itemTouchHelper.startDrag(viewHolder);
// }
}
});
itemTouchHelperCallback.setOnMoveListener(new RecyItemTouchHelperCallback.onMoveListener() {
@Override
public void onMoveFinish() {
mAdapter.notifyDataSetChanged();
mActivity.changeTableSort();
public void onMoveFinish(String ids) {
mActivity.changeTableSort(ids);
}
});
......@@ -355,9 +356,11 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
mTableAreaSectionList.addAll(mPresenter.tableAreaTransformToSection(mPresenter.assembleTableArea(mPresenter.assembleAreaList(tableAreaList, mTableList), mTableList)));
// if (!initLoad) {
mAdapter.setData(mTableAreaSectionList);
// if (!initLoad) {
mAdapter.setData(mTableAreaSectionList);
// } else {
// mAdapter.getCurrentData().clear();
// mAdapter.getCurrentData().addAll(mTableAreaSectionList);
// mAdapter.notifyDataSetChanged();
// }
......
......@@ -23,6 +23,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srlEnableLoadMore="false"
app:srlEnableRefresh="false"
android:layout_marginBottom="@dimen/dp_10">
<com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout
......
......@@ -43,8 +43,8 @@
android:layout_marginTop="@dimen/dp_2"
android:layout_below="@+id/tv_people"
android:text=""
android:textColor="@color/theme_text_pice_color"
android:textSize="@dimen/sp_16" />
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_13" />
<!-- <com.qmuiteam.qmui.alpha.QMUIAlphaButton-->
<!-- android:id="@+id/btn_showMain"-->
......@@ -92,18 +92,34 @@
android:visibility="invisible" />
</com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout>
<com.gingersoft.gsa.cloud.ui.view.TriangleLabelView
android:id="@+id/tlv_table_type"
<FrameLayout
android:id="@+id/fl_table_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:visibility="gone">
<com.gingersoft.gsa.cloud.ui.view.TriangleLabelView
android:id="@+id/tlv_table_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:backgroundColor="@color/theme_white_color"
app:corner="rightBottom"
app:primaryText="堂"
app:primaryTextColor="#249B65"
app:primaryTextSize="10sp"
android:visibility="gone"/>
app:primaryTextSize="10sp" />
<TextView
android:id="@+id/tv_type_labe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|bottom"
android:text="堂"
android:textColor="#249B65"
android:textSize="10sp"
android:padding="@dimen/dp_5"/>
</FrameLayout>
<FrameLayout
android:id="@+id/fl_add_table"
......
......@@ -113,7 +113,7 @@ public abstract class QMUIStickySectionAdapter<H extends QMUISection.Model<H>, T
* @param newData new section list
*/
protected void beforeDiffInSet(List<QMUISection<H, T>> oldData, List<QMUISection<H, T>> newData) {
notifyDataSetChanged();
}
/**
......
......@@ -382,6 +382,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
openTableBean = new TableBean.DataBean(dataBean);
}
OpenTableManage.getDefault().setPeopleNumber(dataBean.getSeatCount());
OrderBean orderBean = respose.getData();
if (orderBean != null && respose.getData().getOrderDetails() != null) {
if (respose.getData().getCreateTime() != null && openTableBean != null) {
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.qmuiteam.qmui.layout.QMUIRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ll_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:layout_margin="@dimen/dp_2">
android:layout_margin="@dimen/dp_2"
android:background="@color/theme_white_color">
<com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout
android:id="@+id/rl_table"
......@@ -36,11 +38,22 @@
android:visibility="gone"/>
<TextView
android:id="@+id/tv_service_fee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_2"
android:layout_below="@+id/tv_people"
android:text=""
android:textColor="@color/theme_text_pice_color"
android:textSize="@dimen/sp_13" />
<TextView
android:id="@+id/tv_open_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30:00"
android:layout_below="@+id/tv_people"
android:layout_below="@+id/tv_service_fee"
android:textSize="@dimen/sp_12"
android:layout_centerHorizontal="true"
android:drawableLeft="@mipmap/ic_table_open_time"
......@@ -64,6 +77,34 @@
<!-- android:visibility="gone" />-->
</com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout>
<FrameLayout
android:id="@+id/fl_table_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:visibility="gone">
<com.gingersoft.gsa.cloud.ui.view.TriangleLabelView
android:id="@+id/tlv_table_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:backgroundColor="@color/theme_white_color"
app:corner="rightBottom"
app:primaryText="堂"
app:primaryTextColor="#249B65"
app:primaryTextSize="10sp" />
<TextView
android:id="@+id/tv_type_labe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|bottom"
android:text="堂"
android:textColor="#249B65"
android:textSize="10sp"
android:padding="@dimen/dp_5"/>
</FrameLayout>
<!-- <ImageView-->
<!-- android:id="@+id/iv_vip"-->
<!-- android:layout_width="50dp"-->
......@@ -86,4 +127,4 @@
<!-- android:gravity="center"-->
<!-- android:visibility="gone"-->
<!-- android:textSize="@dimen/font_normal2" />-->
</LinearLayout>
</com.qmuiteam.qmui.layout.QMUIRelativeLayout>
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