Commit 24b35f43 by Wyh

1、修復首頁權限問題

parent 2588c6c2
...@@ -4,6 +4,7 @@ buildscript { ...@@ -4,6 +4,7 @@ buildscript {
ext.kotlin_version = '1.4.21' ext.kotlin_version = '1.4.21'
repositories { repositories {
maven { url "http://lib.gcssloop.com/repository/gcssloop-central/" }
maven { url 'https://maven.google.com' } maven { url 'https://maven.google.com' }
// maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } //gradle 国内镜像仓 // maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } //gradle 国内镜像仓
maven { url 'https://maven.aliyun.com/repository/google' } //google 国内镜像仓 maven { url 'https://maven.aliyun.com/repository/google' } //google 国内镜像仓
......
ext.alwaysLib = true //虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply from: rootProject.file('cc-settings.gradle') apply from: rootProject.file('cc-settings.gradle')
apply plugin: 'com.jakewharton.butterknife' apply plugin: 'com.jakewharton.butterknife'
......
apply from: rootProject.file('cc-settings.gradle') apply from: rootProject.file('cc-settings.gradle')
ext.alwaysLib = true //虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.jakewharton.butterknife' apply plugin: 'com.jakewharton.butterknife'
......
...@@ -42,7 +42,8 @@ public class ComponentMain implements IComponent { ...@@ -42,7 +42,8 @@ public class ComponentMain implements IComponent {
new FModule("main/manager/discout", R.drawable.ic_discount_management, R.drawable.ic_discount_management_close), new FModule("main/manager/discout", R.drawable.ic_discount_management, R.drawable.ic_discount_management_close),
new FModule("main/manager/soldoutCtr", R.drawable.ic_sell_off_manger, R.drawable.ic_sell_off_manger), new FModule("main/manager/soldoutCtr", R.drawable.ic_sell_off_manger, R.drawable.ic_sell_off_manger),
new FModule("main/manager/qrCode", R.drawable.ic_qr_code, R.drawable.ic_qr_code), new FModule("main/manager/qrCode", R.drawable.ic_qr_code, R.drawable.ic_qr_code),
new FModule("main/manager/purchase", R.drawable.ic_purchase, R.drawable.ic_purchase) new FModule("main/manager/purchase", R.drawable.ic_purchase, R.drawable.ic_purchase),
new FModule("main/manager/configurationList", R.drawable.ic_purchase, R.drawable.ic_purchase)
}; };
/** /**
* 首頁- 員工管理 * 首頁- 員工管理
......
...@@ -37,7 +37,6 @@ import com.gingersoft.gsa.cloud.common.function.jump.ActivityJumpBean; ...@@ -37,7 +37,6 @@ import com.gingersoft.gsa.cloud.common.function.jump.ActivityJumpBean;
import com.gingersoft.gsa.cloud.common.function.jump.ActivityJumpStrategy; import com.gingersoft.gsa.cloud.common.function.jump.ActivityJumpStrategy;
import com.gingersoft.gsa.cloud.common.logan.LoganManager; import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.service.IServiceManager; import com.gingersoft.gsa.cloud.common.service.IServiceManager;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils; import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.common.utils.encryption.Aes; import com.gingersoft.gsa.cloud.common.utils.encryption.Aes;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils; import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
...@@ -51,7 +50,6 @@ import com.gingersoft.gsa.cloud.main.di.component.DaggerNewMainComponent; ...@@ -51,7 +50,6 @@ import com.gingersoft.gsa.cloud.main.di.component.DaggerNewMainComponent;
import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract; import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainSideMenuBean; import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainSideMenuBean;
import com.gingersoft.gsa.cloud.main.mvp.presenter.NewMainPresenter; import com.gingersoft.gsa.cloud.main.mvp.presenter.NewMainPresenter;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.FoodMenuManageActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.MainOrderingAdapter; import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.MainOrderingAdapter;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.MainSideMenuAdapter; import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.MainSideMenuAdapter;
import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.MainTopFragment; import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.MainTopFragment;
...@@ -66,6 +64,8 @@ import com.lihang.ShadowLayout; ...@@ -66,6 +64,8 @@ import com.lihang.ShadowLayout;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.tbruyelle.rxpermissions2.RxPermissions; import com.tbruyelle.rxpermissions2.RxPermissions;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -201,7 +201,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -201,7 +201,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
initService(); initService();
initFuncationData(); initFunctionData();
if (HttpsConstans.getIsFormal() != HttpsConstans.FORMAL) { if (HttpsConstans.getIsFormal() != HttpsConstans.FORMAL) {
tvVersionName.setText("v_" + DeviceUtils.getVersionName(this) + "\u3000Beta"); tvVersionName.setText("v_" + DeviceUtils.getVersionName(this) + "\u3000Beta");
} else { } else {
...@@ -273,73 +273,65 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -273,73 +273,65 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
refresh.finishRefresh(); refresh.finishRefresh();
} }
private void initFuncationData() { private void initFunctionData() {
List<Function> functions = new ArrayList<>(); //點餐
List<Function> orderFunctions = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.order, "order"); List<Function> orderFunctions = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.order, "order");
if (orderFunctions.size() > 0) { if (orderFunctions.size() > 0) {
functions.addAll(orderFunctions); initFunction(orderFunctions, sl_order, mTvFunctionNames[0], R.layout.main_home_funcation_item, rvOrdering, 4);
sl_order.setVisibility(View.VISIBLE);
} else { } else {
sl_order.setVisibility(View.INVISIBLE); sl_order.setVisibility(View.GONE);
} }
//管理
List<Function> managerFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.manager, "manager"); List<Function> managerFunctions = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.manager, "manager");
managerFuncations.add(new Function(171, 163, 5, "配置列表", R.drawable.ic_expand_list, 0)); if (managerFunctions.size() > 0) {
initFunction(managerFunctions, ll_management, mTvFunctionNames[1], R.layout.main_home_management_funcation_item, rvManagement, 5);
if (managerFuncations.size() > 0) {
functions.addAll(managerFuncations);
ll_management.setVisibility(View.VISIBLE);
} else { } else {
ll_management.setVisibility(View.GONE); ll_management.setVisibility(View.GONE);
} }
//員工管理
List<Function> employeeFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.employee, "employee"); List<Function> employeeFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.employee, "employee");
if (employeeFuncations.size() > 0) { if (employeeFuncations.size() > 0) {
functions.addAll(employeeFuncations); initFunction(orderFunctions, ll_staff_management, mTvFunctionNames[2], R.layout.main_home_management_funcation_item, rvStaffManagement, 4);
ll_staff_management.setVisibility(View.VISIBLE);
} else { } else {
ll_staff_management.setVisibility(View.GONE); ll_staff_management.setVisibility(View.GONE);
} }
}
//將功能列表數據分組 private void initFunction(List<Function> functions, View parentLayout, TextView title, int itemLayoutId, RecyclerView rvItem, int itemRowSize) {
SparseArray<String> parents = new SparseArray<>(3); Function parentFunction = null;
SparseArray<List<Function>> funMap = new SparseArray<>(); for (Function orderFunction : functions) {
for (Function function : functions) { if (orderFunction.getParentId() == 0) {
if (function.getParentId() == 0) { parentFunction = orderFunction;
//父模塊 break;
parents.put(function.getId(), function.getResName());
} else {
if (funMap.get(function.getParentId()) == null) {
List<Function> functionList = new ArrayList<>();
functionList.add(function);
funMap.put(function.getParentId(), functionList);
} else {
funMap.get(function.getParentId()).add(function);
}
} }
} }
if (orderFunctions.size() > 0) { if (parentFunction != null) {
initAdapter(parents, funMap, 0, R.layout.main_home_funcation_item, rvOrdering, 4); parentLayout.setVisibility(View.VISIBLE);
} title.setText(parentFunction.getResName());
if (managerFuncations.size() > 0) { functions.remove(parentFunction);
initAdapter(parents, funMap, 1, R.layout.main_home_management_funcation_item, rvManagement, 5); MainOrderingAdapter adapter = new MainOrderingAdapter(itemLayoutId, functions);
} rvItem.setLayoutManager(getLayoutManager(itemRowSize));
if (employeeFuncations.size() > 0) { adapter.setOnItemClickListener((adapter1, view, position) -> functionClick(adapter.getItem(position).getResName(), adapter.getItem(position).getStatus()));
initAdapter(parents, funMap, 2, R.layout.main_home_management_funcation_item, rvStaffManagement, 4); rvItem.setAdapter(adapter);
} }
} }
private void initAdapter(SparseArray<String> parents, SparseArray<List<Function>> funMap, int i, int p, RecyclerView rvOrdering, int i2) { @NotNull
private GridLayoutManager getLayoutManager(int i) {
return new GridLayoutManager(mContext, i) {
@Override
public boolean canScrollVertically() {
return false;
}
};
}
private void initAdapter(SparseArray<String> parents, SparseArray<List<Function>> funMap, int i, int itemLayoutId, RecyclerView rvOrdering, int itemRowCount) {
if (funMap.size() > i && parents.size() > i) { if (funMap.size() > i && parents.size() > i) {
mTvFunctionNames[i].setText(parents.get(parents.keyAt(i))); mTvFunctionNames[i].setText(parents.get(parents.keyAt(i)));
List<Function> mOrderingMeals = funMap.get(parents.keyAt(i)); List<Function> mOrderingMeals = funMap.get(parents.keyAt(i));
MainOrderingAdapter adapter = new MainOrderingAdapter(p, mOrderingMeals); MainOrderingAdapter adapter = new MainOrderingAdapter(itemLayoutId, mOrderingMeals);
rvOrdering.setLayoutManager(new GridLayoutManager(mContext, i2) { rvOrdering.setLayoutManager(getLayoutManager(itemRowCount));
@Override
public boolean canScrollVertically() {
return false;
}
});
adapter.setOnItemClickListener((adapter1, view, position) -> { adapter.setOnItemClickListener((adapter1, view, position) -> {
functionClick(mOrderingMeals.get(position).getResName(), mOrderingMeals.get(position).getStatus()); functionClick(mOrderingMeals.get(position).getResName(), mOrderingMeals.get(position).getStatus());
}); });
...@@ -419,15 +411,10 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -419,15 +411,10 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
@Override @Override
public void showLoading(String message) { public void showLoading(String message) {
// if (message != null)
// LoadingDialog.showDialogForLoading(mContext, message, true);
// else
// LoadingDialog.showDialogForLoading(mContext);
} }
@Override @Override
public void hideLoading() { public void hideLoading() {
// LoadingDialog.cancelDialogForLoading();
} }
@Override @Override
...@@ -476,7 +463,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -476,7 +463,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
if (resultCode == ResultConstans.DOWNLOAD_PAGE_BACK) { if (resultCode == ResultConstans.DOWNLOAD_PAGE_BACK) {
initFuncationData(); initFunctionData();
} }
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
...@@ -70,6 +71,51 @@ ...@@ -70,6 +71,51 @@
android:name="com.gingersoft.gsa.cloud.main.mvp.ui.fragment.MainTopFragment" android:name="com.gingersoft.gsa.cloud.main.mvp.ui.fragment.MainTopFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<!-- 點餐模塊-->
<com.lihang.ShadowLayout
android:id="@+id/layout_ordering_meals"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/main_top_fragment"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10"
android:visibility="gone"
app:hl_cornerRadius="@dimen/dp_4"
app:hl_dy="@dimen/main_shadow_dy"
app:hl_shadowBackColor="@color/white"
app:hl_shadowColor="@color/shadow_color"
app:hl_shadowLimit="@dimen/main_shadow_limit">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="@dimen/dp_15"
android:paddingBottom="@dimen/dp_20">
<TextView
android:id="@+id/tv_function_name1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_22"
android:textColor="#181818"
android:textSize="@dimen/dp_17" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_11"
android:background="#F0F0F0" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_ordering_meals"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/main_recyclerview_marginLeft"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/main_recyclerview_marginRight" />
</LinearLayout>
</com.lihang.ShadowLayout>
<com.lihang.ShadowLayout <com.lihang.ShadowLayout
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -101,7 +147,8 @@ ...@@ -101,7 +147,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15" android:layout_marginLeft="@dimen/dp_15"
android:textColor="#181818" android:textColor="#181818"
android:textSize="@dimen/dp_14" /> android:textSize="@dimen/dp_14"
tools:text="管理" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_management" android:id="@+id/rv_management"
...@@ -133,7 +180,8 @@ ...@@ -133,7 +180,8 @@
android:layout_marginTop="@dimen/dp_20" android:layout_marginTop="@dimen/dp_20"
android:textColor="#181818" android:textColor="#181818"
android:textSize="@dimen/dp_14" android:textSize="@dimen/dp_14"
android:visibility="visible" /> android:visibility="visible"
tools:text="員工管理" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_staff_management" android:id="@+id/rv_staff_management"
...@@ -146,51 +194,7 @@ ...@@ -146,51 +194,7 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</com.lihang.ShadowLayout> </com.lihang.ShadowLayout>
<!-- 點餐模塊-->
<com.lihang.ShadowLayout
android:id="@+id/layout_ordering_meals"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/main_top_fragment"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10"
android:visibility="visible"
app:hl_cornerRadius="@dimen/dp_4"
app:hl_dy="@dimen/main_shadow_dy"
app:hl_shadowBackColor="@color/white"
app:hl_shadowColor="@color/shadow_color"
app:hl_shadowLimit="@dimen/main_shadow_limit">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="@dimen/dp_15"
android:paddingBottom="@dimen/dp_20">
<TextView
android:id="@+id/tv_function_name1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_22"
android:textColor="#181818"
android:textSize="@dimen/dp_17" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_11"
android:background="#F0F0F0" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_ordering_meals"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/main_recyclerview_marginLeft"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/main_recyclerview_marginRight" />
</LinearLayout>
</com.lihang.ShadowLayout>
</RelativeLayout> </RelativeLayout>
</com.gingersoft.gsa.cloud.ui.view.MyScrollView> </com.gingersoft.gsa.cloud.ui.view.MyScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout> </com.scwang.smartrefresh.layout.SmartRefreshLayout>
......
ext.alwaysLib = true //虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply from: rootProject.file("cc-settings.gradle") apply from: rootProject.file("cc-settings.gradle")
apply plugin: 'com.jakewharton.butterknife' apply plugin: 'com.jakewharton.butterknife'
android { android {
......
ext.alwaysLib = true //虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply from: rootProject.file('cc-settings.gradle') apply from: rootProject.file('cc-settings.gradle')
apply plugin: 'com.jakewharton.butterknife' apply plugin: 'com.jakewharton.butterknife'
......
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