提交 a64aeb86 authored 作者: lgd's avatar lgd

1.首页改版,除产品,跳转其他做完

2.//TODO ,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes其他页面,mes质量反馈,编辑任务担当无法修改.支数参数
往来单位逻辑,token刷新问题
上级 cf2adcff
......@@ -1865,6 +1865,22 @@
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.store.ChooseClientActivity"
android:configChanges="keyboardHidden|orientation"
android:label="选择客户"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.store.ChooseInfoActivity"
android:configChanges="keyboardHidden|orientation"
android:label=" "
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<provider
android:name="androidx.core.content.FileProvider"
......
......@@ -40,7 +40,7 @@ public class WorkApp extends BaseApp {
public void onCreate() {
super.onCreate();
instance = this;
CrashReport.initCrashReport(getApplicationContext(), "8081eafad1", false);
// CrashReport.initCrashReport(getApplicationContext(), "8081eafad1", Config.DEBUG);
Utils.init(this);
AutoSizeConfig.getInstance().setCustomFragment(true);
AutoSizeConfig.getInstance().getUnitsManager()
......
package com.wd.workoffice.contract;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.bean.ProcessBean;
import com.wd.workoffice.bean.ProductBean;
import com.wd.workoffice.bean.StockBean;
import java.util.List;
import java.util.Map;
import flexible.xd.android_base.mvpBase.IBaseModel;
import flexible.xd.android_base.mvpBase.IBasePresenter;
import flexible.xd.android_base.mvpBase.IBaseView;
import io.reactivex.Observable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public interface BatChooseInfoContract {
interface Model extends IBaseModel {
Observable<BaseBean> getProcess(String processCode, Integer transitPartId);
Observable<BaseBean> getPro(Map<String, Object> param);
Observable<BaseBean> getStock(Map<String,Object> param);
}
interface View extends IBaseView {
void processList(List<ProcessBean> dataList);
void getPro(List<ProductBean.RecordsBean> dataList);
void getStock(List<StockBean> dataList);
}
interface Presenter extends IBasePresenter<View> {
void getProcess(String processCode, Integer transitPartId);
void getPro(Map<String, Object> param);
void getStock(Map<String,Object> param);
}
}
package com.wd.workoffice.model;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.contract.BatChooseInfoContract;
import com.wd.workoffice.retrofit.RtfUtils;
import java.util.Map;
import io.reactivex.Observable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class BatChooseInfoModel implements BatChooseInfoContract.Model {
public static BatChooseInfoModel newInstance() {
return new BatChooseInfoModel();
}
@Override
public Observable<BaseBean> getProcess(String processCode, Integer transitPartId) {
return RtfUtils.getRtf().getProcess(processCode, transitPartId);
}
@Override
public Observable<BaseBean> getPro(Map<String, Object> param) {
return RtfUtils.getRtf().getProductList(param);
}
@Override
public Observable<BaseBean> getStock(Map<String,Object> param) {
return RtfUtils.getRtf().getStock(param);
}
}
package com.wd.workoffice.presenter;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.bean.ProcessBean;
import com.wd.workoffice.bean.ProductBean;
import com.wd.workoffice.bean.StockBean;
import com.wd.workoffice.contract.BatChooseInfoContract;
import com.wd.workoffice.contract.BatSaleContract;
import com.wd.workoffice.model.BatChooseInfoModel;
import com.wd.workoffice.retrofit.WorkObserver;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import flexible.xd.android_base.mvpBase.BasePresenter;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class BatChooseInfoPresenter extends BasePresenter<BatChooseInfoContract.View, BatChooseInfoContract.Model>
implements BatChooseInfoContract.Presenter {
@Override
public void getProcess(String processCode, Integer transitPartId) {
mView.showLoading();
mModel.getProcess(processCode, transitPartId).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onFail(String errorMsg) {
mView.hideLoading();
mView.onError(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
mView.hideLoading();
if (data.getCode() != 0) {
mView.onError(data.getMessage());
return;
}
mView.processList(JSON.parseArray(data.getData().toString(), ProcessBean.class));
}
});
}
@Override
public void getPro(Map<String, Object> param) {
mView.showLoading();
mModel.getPro(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onFail(String errorMsg) {
mView.hideLoading();
mView.onError(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
mView.hideLoading();
if (data.getCode() != 0) {
mView.onError(data.getMessage());
return;
}
List<ProductBean.RecordsBean> dataList;
ProductBean jsonData = JSON.parseObject(data.getData().toString(), ProductBean.class);
if (jsonData != null) {
dataList = jsonData.getRecords();
} else {
dataList = new ArrayList<>();
}
mView.getPro(dataList);
}
});
}
@Override
public void getStock(Map<String, Object> param) {
mView.showLoading();
mModel.getStock(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onFail(String errorMsg) {
mView.hideLoading();
mView.onError(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
mView.hideLoading();
if (data.getCode() != 0) {
mView.onError(data.getMessage());
return;
}
mView.getStock(JSON.parseArray(data.getData().toString(), StockBean.class));
}
});
}
@Override
public BatChooseInfoContract.Model bindModel() {
return BatChooseInfoModel.newInstance();
}
}
......@@ -26,9 +26,9 @@ import retrofit2.http.QueryMap;
* github: https://github.com/FlexibleXd
**/
public interface ApiService {
// String DOMAIN = Config.DEBUG ? "http://121.36.41.30:9001/" : "http://zwang.bat100.net.cn:8000/";
String DOMAIN = Config.DEBUG ? "http://zwang.bat100.net.cn:8000/" : "http://zwang.bat100.net.cn:8000/";
String DOMAIN = Config.DEBUG ? "http://121.36.41.111:9001/" : "http://121.36.41.111:9001/";
// String DOMAIN = Config.DEBUG ? "http://121.36.41.111:9001/" : "http://121.36.41.111:9001/";
/**
......
......@@ -93,7 +93,15 @@ public class MainActivity extends WorkBaseActivity implements BottomNavigationBa
setInactiveIconResource(R.mipmap.main_my))
.initialise();
fm = getSupportFragmentManager();
WorkUtils.refreshToken();
// WorkUtils.refreshToken();
fragments = getFragments();
bnbMainBottomBar.setTabSelectedListener(this);
mainContent.setOffscreenPageLimit(4);
VpMainAdapter vpFgAdapter = new VpMainAdapter(fm, fragments);
mainContent.setAdapter(vpFgAdapter);
if (TextUtils.isEmpty(UserKeeper.getInstance().getLoginInfo()) && UserKeeper.getInstance().getMesLogin()) {
bnbMainBottomBar.selectTab(2);
}
}
@Override
......
package com.wd.workoffice.ui.activity.bat.store;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.ClientBean;
import com.wd.workoffice.bean.workEnum.PagePermissionType;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.StoreClientAdapter;
import com.wd.workoffice.util.UserKeeper;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
/**
* 商店-销售-选择客户/供应商(回款选择客户)
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ChooseClientActivity extends WorkToolBarActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.btn_search)
Button btnSearch;
@BindView(R.id.rv_client)
RecyclerView rvClient;
private Map<String, Object> param;
private List<ClientBean.RecordsBean> clientList;
private StoreClientAdapter clientAdapter;
private int page = 1;
@Override
protected void initView() {
ButterKnife.bind(this);
rvClient.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
clientList = new ArrayList<>();
clientAdapter = new StoreClientAdapter(R.layout.item_store_client, clientList);
clientAdapter.bindToRecyclerView(rvClient);
clientAdapter.setEmptyView(R.layout.view_empty_content, rvClient);
param = WorkUtils.pageKey();
param.put("searchType", getIntent().getStringExtra("code"));
param.put("deptId", UserKeeper.getInstance().getUserDepId());
if (!WorkUtils.hasPermission(PagePermissionType.TRANSIT_PART_MANAGE_LIST.getPermission())) {
toast(R.string.permission);
} else {
getData();
}
}
private void getData() {
RtfUtils.getRtf().getClientOut(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
hideLoading();
if (data.getCode() != 0) {
toast(data.getMessage());
return;
}
List<ClientBean.RecordsBean> dataList = new ArrayList<>();
dataList.addAll(JSON.parseArray(data.getData().toString(), ClientBean.RecordsBean.class));
clientAdapter.loadMoreEnd();
clientList.clear();
clientList.addAll(dataList);
clientAdapter.notifyDataSetChanged();
toast("搜索成功");
}
});
}
@Override
protected void initEvent() {
clientAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("current", page);
getData();
}
}, rvClient);
clientAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent();
intent.putExtra("clientName", clientList.get(position).getName());
intent.putExtra("id", clientList.get(position).getId());
setResult(10001, intent);
finish();
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_bat_sale_client;
}
@OnClick(R.id.btn_search)
public void onViewClicked() {
if (!WorkUtils.hasPermission(PagePermissionType.TRANSIT_PART_MANAGE_LIST.getPermission())) {
toast(R.string.permission);
return;
}
param.put("name", etKey.getText().toString());
param.put("current", 1);
page = 1;
getData();
}
}
......@@ -332,10 +332,4 @@ public class StoreSaleProductActivity extends WorkToolBarActivity {
carList.addAll(JSON.parseArray(pro, ProductBean.RecordsBean.class));
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
}
......@@ -128,13 +128,12 @@ public class MainFragment extends WorkBaseFg {
initRvLayout(rvWork, workList);
initRvLayout(rvProduct, productList);
tlTab.setupWithViewPager(vpData);
tlTab.setTabMode(TabLayout.MODE_FIXED);
sfm = getChildFragmentManager();
List<Fragment> data = new ArrayList<>();
for (int i = 0; i < tab.length; i++) {
MainListFragment saleFragment = new MainListFragment();
Bundle bundle = new Bundle();
bundle.putString("status", status[i]);
bundle.putString("type", status[i]);
saleFragment.setArguments(bundle);
data.add(saleFragment);
}
......
......@@ -17,6 +17,8 @@ import com.wd.workoffice.bean.workEnum.PermissionType;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.store.ChooseInfoActivity;
import com.wd.workoffice.ui.activity.bat.store.StoreFinancialAddActivity;
import com.wd.workoffice.ui.adapter.DepAdapter;
import com.wd.workoffice.ui.adapter.SaleCruibleAdapter;
import com.wd.workoffice.util.WorkUtils;
......@@ -46,7 +48,7 @@ public class MainListFragment extends WorkBaseFg {
@BindView(R.id.rv_data)
RecyclerView rvData;
private String status;
private String type;
private DepAdapter dataAdapter;
private List<DepBean> dataList;
String permission;
......@@ -60,7 +62,7 @@ public class MainListFragment extends WorkBaseFg {
@Override
protected void initData() {
switch (status) {
switch (type) {
case "1":
permission = PermissionType.ES_SELL.getCode();
break;
......@@ -84,10 +86,10 @@ public class MainListFragment extends WorkBaseFg {
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
dataAdapter.notifyDataSetChanged();
if (!TextUtils.equals("4", status)) {
if (!TextUtils.equals("4", type)) {
getData();
} else {
DepBean depBean =new DepBean();
DepBean depBean = new DepBean();
depBean.setName("申请财税");
dataList.add(depBean);
dataAdapter.notifyDataSetChanged();
......@@ -99,7 +101,7 @@ public class MainListFragment extends WorkBaseFg {
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
if (arguments != null) {
status = arguments.getString("status");
type = arguments.getString("type");
}
}
......@@ -135,6 +137,31 @@ public class MainListFragment extends WorkBaseFg {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (type) {
case "1":
permission = PermissionType.ES_SELL.getCode();
break;
case "2":
permission = PermissionType.PURCHASE_SELL.getCode();
break;
case "3":
permission = PermissionType.SUPPLY_SELL.getCode();
break;
case "4":
break;
case "5":
permission = PermissionType.CRUCIBLE_SELL.getCode();
break;
case "6":
permission = PermissionType.INSIDE_SELL.getCode();
break;
}
if (TextUtils.equals("4", type)) {
startActivity(StoreFinancialAddActivity.class);
return;
}
startActivity(ChooseInfoActivity.class, "code", permission,
"type", type, "deptId", dataList.get(position).getId() + "");
}
});
}
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/input_background"/>
<solid android:color="#FFF5F5F5"/>
<corners android:radius="10dp"/>
</shape>
\ No newline at end of file
......@@ -38,7 +38,7 @@
android:layout_height="match_parent"
android:layout_marginLeft="2mm"
android:background="@null"
android:hint="搜索客户"
android:hint="搜索"
android:textColor="#91ABBA"
android:textColorHint="#91ABBA"
android:textSize="14sp" />
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_client"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="12mm">
<TextView
android:id="@+id/tv_client"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="请选择客户"
android:textColor="#ff3f617f"
android:textSize="16sp" />
<ImageView
android:layout_width="20mm"
android:layout_height="20mm"
android:src="@mipmap/arrow_right_blue" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_supplier"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="12mm">
<TextView
android:id="@+id/tv_supplier"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="请选择供应商"
android:textColor="#ff3f617f"
android:textSize="16sp" />
<ImageView
android:layout_width="20mm"
android:layout_height="20mm"
android:src="@mipmap/arrow_right_blue" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"
android:paddingHorizontal="20mm"
android:paddingVertical="10mm">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/shape_client_search"
android:gravity="center_vertical"
android:paddingHorizontal="10mm">
<ImageView
android:layout_width="22mm"
android:layout_height="22mm"
android:src="@mipmap/add_data_search" />
<EditText
android:id="@+id/et_key"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="2mm"
android:background="@null"
android:hint="搜索图号/品号/规格/品名/所属客户分厂"
android:maxLines="1"
android:textColor="#91ABBA"
android:textColorHint="#91ABBA"
android:textSize="11sp" />
</LinearLayout>
<Button
android:id="@+id/btn_search"
android:layout_width="60mm"
android:layout_height="wrap_content"
android:layout_marginLeft="10mm"
android:background="@color/mainTextColor"
android:text="搜索"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_common"
android:layout_marginTop="10mm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingHorizontal="20mm"
android:paddingVertical="12mm">
<TextView
android:id="@+id/tv_common_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关联仓库"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_common_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:text="请选择关联仓库"
android:textColor="#FF5E6D82"
android:textSize="16sp" />
<ImageView
android:layout_width="20mm"
android:layout_height="20mm"
android:src="@mipmap/arrow_right_blue" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data"
android:layout_marginTop="10mm"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
\ No newline at end of file
......@@ -107,12 +107,11 @@
android:layout_height="40mm"
android:background="@android:color/white"
app:tabBackground="@android:color/white"
app:tabGravity="fill"
app:tabGravity="center"
app:tabIndicatorColor="#FFFBD249"
app:tabIndicatorFullWidth="false"
app:tabMode="fixed"
app:tabMode="auto"
app:tabSelectedTextColor="#FFFBD249"
app:tabTextAppearance="@style/tabText"
app:tabTextColor="@color/flexible_text_sup" />
<androidx.viewpager.widget.ViewPager
......
......@@ -41,5 +41,5 @@
<View
style="@style/dividerX"
android:paddingHorizontal="20mm" />
android:layout_marginHorizontal="20mm" />
</LinearLayout>
\ No newline at end of file
<resources>
<string name="app_name">正望企业管理</string>
<string name="permission">没有权限处理</string>
<string name="permission">没有权限处理!</string>
</resources>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论