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

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

2.//TODO ,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes其他页面,mes质量反馈,编辑任务担当无法修改.支数参数
往来单位逻辑,token刷新问题
上级 cf2adcff
...@@ -1865,6 +1865,22 @@ ...@@ -1865,6 +1865,22 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/Work.Base" android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" /> 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 <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
......
...@@ -40,7 +40,7 @@ public class WorkApp extends BaseApp { ...@@ -40,7 +40,7 @@ public class WorkApp extends BaseApp {
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
instance = this; instance = this;
CrashReport.initCrashReport(getApplicationContext(), "8081eafad1", false); // CrashReport.initCrashReport(getApplicationContext(), "8081eafad1", Config.DEBUG);
Utils.init(this); Utils.init(this);
AutoSizeConfig.getInstance().setCustomFragment(true); AutoSizeConfig.getInstance().setCustomFragment(true);
AutoSizeConfig.getInstance().getUnitsManager() 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; ...@@ -26,9 +26,9 @@ import retrofit2.http.QueryMap;
* github: https://github.com/FlexibleXd * github: https://github.com/FlexibleXd
**/ **/
public interface ApiService { 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 ...@@ -93,7 +93,15 @@ public class MainActivity extends WorkBaseActivity implements BottomNavigationBa
setInactiveIconResource(R.mipmap.main_my)) setInactiveIconResource(R.mipmap.main_my))
.initialise(); .initialise();
fm = getSupportFragmentManager(); 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 @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();
}
}
package com.wd.workoffice.ui.activity.bat.store;
import android.content.DialogInterface;
import android.content.Intent;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.ProcessBean;
import com.wd.workoffice.bean.ProductBean;
import com.wd.workoffice.bean.StockBean;
import com.wd.workoffice.bean.event.ModifyCarEvent;
import com.wd.workoffice.bean.workEnum.PagePermissionType;
import com.wd.workoffice.bean.workEnum.PermissionType;
import com.wd.workoffice.contract.BatChooseInfoContract;
import com.wd.workoffice.presenter.BatChooseInfoPresenter;
import com.wd.workoffice.ui.adapter.StoreProductAdapter;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.UserKeeper;
import com.wd.workoffice.util.WorkUtils;
import com.wd.workoffice.widget.AddAndReduceView;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* 选择数据
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ChooseInfoActivity extends WorkToolBarActivity implements BatChooseInfoContract.View {
@BindView(R.id.ll_client)
LinearLayout llClient;
@BindView(R.id.ll_supplier)
LinearLayout llSupplier;
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.btn_search)
Button btnSearch;
@BindView(R.id.tv_common_desc)
TextView tvCommonDesc;
@BindView(R.id.tv_common_content)
TextView tvCommonContent;
@BindView(R.id.ll_common)
LinearLayout llCommon;
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.tv_client)
TextView tvClient;
@BindView(R.id.tv_supplier)
TextView tvSupplier;
private Map<String, Object> param;
private List<ProductBean.RecordsBean> proList;
private StoreProductAdapter proAdapter;
private int page = 1;
private String type;
private Integer clientId;
private BatChooseInfoPresenter batChooseInfoPresenter;
private List<String> processNameList = new ArrayList<>();
private List<ProcessBean> processList;
private ProcessBean chooseProcess;
private QMUIDialog.MenuDialogBuilder processDialog;
private QMUIDialog.MenuDialogBuilder stockDialog;
String permissionCode;
private List<ProductBean.RecordsBean> carList = new ArrayList<>();
private Integer supplyId;
private Map<String, Object> stockParam;
private List<StockBean> stockList;
private List<String> stockNameList = new ArrayList<>();
private StockBean chooseStock;
@Override
protected void initView() {
ButterKnife.bind(this);
batChooseInfoPresenter = new BatChooseInfoPresenter();
batChooseInfoPresenter.onAttach(this);
processDialog = DialogUtils.listDialog(this);
stockDialog = DialogUtils.listDialog(this);
rvData.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
type = getIntent().getStringExtra("type");
changeView();
}
private void changeView() {
switch (type) {
case "1":
permissionCode = PermissionType.PROCESS_SALE.getCode();
llSupplier.setVisibility(View.GONE);
break;
case "2":
permissionCode = PermissionType.PROCESS_PURCHASE.getCode();
break;
case "3":
permissionCode = PermissionType.PROCESS_SUPPLY.getCode();
llClient.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
case "4":
break;
case "5":
permissionCode = PermissionType.PROCESS_CRUCIBLE.getCode();
llClient.setVisibility(View.GONE);
llSupplier.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
case "6":
permissionCode = PermissionType.PROCESS_INSIDE.getCode();
llClient.setVisibility(View.GONE);
llSupplier.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
}
}
@Override
protected void initData() {
proList = new ArrayList<>();
proAdapter = new StoreProductAdapter(R.layout.item_store_product, proList);
proAdapter.bindToRecyclerView(rvData);
proAdapter.setEmptyView(R.layout.view_empty_order, rvData);
param = WorkUtils.pageKey();
param.put("current", 1);
param.put("processType", permissionCode);
param.put("outDeptId", getIntent().getStringExtra("deptId"));
stockParam = WorkUtils.simpleParam();
stockParam.put("deptId", UserKeeper.getInstance().getUserDepId());
if (TextUtils.equals("3", type)) {
batChooseInfoPresenter.getPro(param);
batChooseInfoPresenter.getStock(stockParam);
}
if (TextUtils.equals("5", type)) {
batChooseInfoPresenter.getStock(stockParam);
}
if (TextUtils.equals("6", type)) {
batChooseInfoPresenter.getStock(stockParam);
}
}
@Override
protected void initEvent() {
proAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("current", page);
batChooseInfoPresenter.getPro(param);
}
}, rvData);
proAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
openDialog(proList.get(position));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_store_cart, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.cart:
if (carList.size() == 0) {
toast("购物车没有产品");
return super.onOptionsItemSelected(item);
}
startActivity(StoreSaleCarActivity.class,
"pro", JSON.toJSONString(carList),
"supplierId", getIntent().getStringExtra("supplierId"),
"subProcess", getIntent().getStringExtra("subProcess"),
"subProcessId", getIntent().getStringExtra("subProcessId"),
"inStockId", getIntent().getStringExtra("inStockId"),
"customerId", getIntent().getStringExtra("customerId"),
"receiveDeptId", getIntent().getStringExtra("depId"),
"code", getIntent().getStringExtra("code"));
break;
}
return super.onOptionsItemSelected(item);
}
@Override
protected int layoutId() {
return R.layout.activity_main_choose_info;
}
@OnClick({R.id.ll_client, R.id.ll_supplier, R.id.btn_search, R.id.ll_common})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.ll_client:
startActivityForResult(ChooseClientActivity.class, 10001
, "code", "CUSTOMER");
break;
case R.id.ll_supplier:
// startActivityForResult(ChooseClientActivity.class, 10001,
// "title", "选择供应商", "code", "SUPPLIER");
startActivityForResult(ChooseClientActivity.class, 10002,
"code", "SUPPLIER", "supplier", "选择供应商");
break;
case R.id.btn_search:
if (clientId == null) {
toast("请选择用户");
return;
}
param.put("name", etKey.getText().toString());
param.put("current", 1);
page = 1;
batChooseInfoPresenter.getPro(param);
break;
case R.id.ll_common:
switch (type) {
case "1":
if (!WorkUtils.hasPermission(PagePermissionType.SUB_PROCESS.getPermission())) {
toast(R.string.permission);
return;
}
if (clientId == null) {
toast("请先选择客户");
return;
}
processDialog.show();
break;
case "2":
if (!WorkUtils.hasPermission(PagePermissionType.SUB_PROCESS.getPermission())) {
toast(R.string.permission);
return;
}
if (clientId == null) {
toast("请先选择客户");
return;
}
processDialog.show();
break;
case "3":
if (supplyId == null) {
toast("请先选择供应商");
return;
}
stockDialog.show();
break;
case "4":
break;
case "5":
stockDialog.show();
break;
case "6":
stockDialog.show();
break;
}
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 10001:
if (resultCode == 10001) {
String clientName = data.getStringExtra("clientName");
clientId = data.getIntExtra("id", 0);
tvClient.setText(clientName);
param.put("transitPartId", clientId);
switch (type) {
case "1":
batChooseInfoPresenter.getProcess(permissionCode, clientId);
break;
case "2":
batChooseInfoPresenter.getProcess(permissionCode, clientId);
break;
case "3":
break;
case "4":
break;
case "5":
break;
case "6":
break;
}
batChooseInfoPresenter.getPro(param);
}
break;
case 10002:
if (resultCode == 10001) {
String clientName = data.getStringExtra("clientName");
supplyId = data.getIntExtra("id", 0);
tvSupplier.setText(clientName);
}
break;
}
}
@Override
public void getStock(List<StockBean> dataList) {
stockList = dataList;
stockNameList.clear();
for (StockBean dep : dataList) {
stockNameList.add(dep.getName());
}
stockDialog.addItems(stockNameList.toArray(new String[stockNameList.size()]), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
chooseStock = stockList.get(which);
tvCommonContent.setText(stockNameList.get(which));
dialog.dismiss();
}
});
}
@Override
public void processList(List<ProcessBean> dataList) {
processList = dataList;
processNameList.clear();
for (ProcessBean process : dataList) {
processNameList.add(process.getName());
}
processDialog.addItems(processNameList.toArray(new String[processNameList.size()]), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
chooseProcess = processList.get(which);
tvCommonContent.setText(processNameList.get(which));
dialog.dismiss();
}
});
}
@Override
public void getPro(List<ProductBean.RecordsBean> dataList) {
if (page == 1) {
proList.clear();
proList.addAll(dataList);
proAdapter.notifyDataSetChanged();
proAdapter.loadMoreComplete();
} else {
proAdapter.loadMoreComplete();
proList.addAll(dataList);
proAdapter.notifyDataSetChanged();
}
if (dataList.size() == 0) {
proAdapter.loadMoreEnd();
} else {
page++;
}
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(ModifyCarEvent event) {
String pro = event.getPro();
carList.clear();
carList.addAll(JSON.parseArray(pro, ProductBean.RecordsBean.class));
}
private void openDialog(ProductBean.RecordsBean data) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = LayoutInflater.from(this).inflate(R.layout.view_add_cart, null);
LinearLayout llPrice = view.findViewById(R.id.ll_price);
TextView tvOk = view.findViewById(R.id.tv_ok);
TextView tvCancel = view.findViewById(R.id.tv_cancel);
AddAndReduceView num = view.findViewById(R.id.ar_num);
EditText etPrice = view.findViewById(R.id.et_price);
if (TextUtils.equals(permissionCode, PermissionType.PROCESS_SUPPLY.getCode())) {
llPrice.setVisibility(View.GONE);
} else {
for (ProductBean.RecordsBean recordsBean : carList) {
if (data.getId() == recordsBean.getId()) {
etPrice.setText(recordsBean.getCarPrice());
num.setNumber(recordsBean.getCarNum());
}
}
}
builder.setView(view);
AlertDialog addCartDialog = builder.create();
tvOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!TextUtils.equals(permissionCode, PermissionType.PROCESS_SUPPLY.getCode()) && TextUtils.isEmpty(etPrice.getText().toString())) {
toast("请填写外部价格");
return;
}
addCart(data, num.getNumber(), etPrice.getText().toString());
addCartDialog.dismiss();
}
});
tvCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addCartDialog.dismiss();
}
});
addCartDialog.show();
}
/**
* 添加购物车
*
* @param chooseProduct 产品
* @param number 数量
* @param price 单价
*/
private void addCart(ProductBean.RecordsBean chooseProduct, int number, String price) {
boolean isHas = false;
for (ProductBean.RecordsBean recordsBean : carList) {
if (chooseProduct.getId() == recordsBean.getId()) {
isHas = true;
recordsBean.setCarNum(number);
recordsBean.setCarPrice(price);
}
}
if (!isHas) {
chooseProduct.setCarNum(number);
chooseProduct.setCarPrice(price);
carList.add(chooseProduct);
}
toast("加入购物车成功");
}
}
...@@ -332,10 +332,4 @@ public class StoreSaleProductActivity extends WorkToolBarActivity { ...@@ -332,10 +332,4 @@ public class StoreSaleProductActivity extends WorkToolBarActivity {
carList.addAll(JSON.parseArray(pro, ProductBean.RecordsBean.class)); 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 { ...@@ -128,13 +128,12 @@ public class MainFragment extends WorkBaseFg {
initRvLayout(rvWork, workList); initRvLayout(rvWork, workList);
initRvLayout(rvProduct, productList); initRvLayout(rvProduct, productList);
tlTab.setupWithViewPager(vpData); tlTab.setupWithViewPager(vpData);
tlTab.setTabMode(TabLayout.MODE_FIXED);
sfm = getChildFragmentManager(); sfm = getChildFragmentManager();
List<Fragment> data = new ArrayList<>(); List<Fragment> data = new ArrayList<>();
for (int i = 0; i < tab.length; i++) { for (int i = 0; i < tab.length; i++) {
MainListFragment saleFragment = new MainListFragment(); MainListFragment saleFragment = new MainListFragment();
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString("status", status[i]); bundle.putString("type", status[i]);
saleFragment.setArguments(bundle); saleFragment.setArguments(bundle);
data.add(saleFragment); data.add(saleFragment);
} }
......
...@@ -17,6 +17,8 @@ import com.wd.workoffice.bean.workEnum.PermissionType; ...@@ -17,6 +17,8 @@ import com.wd.workoffice.bean.workEnum.PermissionType;
import com.wd.workoffice.retrofit.RtfUtils; import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver; import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity; 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.DepAdapter;
import com.wd.workoffice.ui.adapter.SaleCruibleAdapter; import com.wd.workoffice.ui.adapter.SaleCruibleAdapter;
import com.wd.workoffice.util.WorkUtils; import com.wd.workoffice.util.WorkUtils;
...@@ -46,7 +48,7 @@ public class MainListFragment extends WorkBaseFg { ...@@ -46,7 +48,7 @@ public class MainListFragment extends WorkBaseFg {
@BindView(R.id.rv_data) @BindView(R.id.rv_data)
RecyclerView rvData; RecyclerView rvData;
private String status; private String type;
private DepAdapter dataAdapter; private DepAdapter dataAdapter;
private List<DepBean> dataList; private List<DepBean> dataList;
String permission; String permission;
...@@ -60,7 +62,7 @@ public class MainListFragment extends WorkBaseFg { ...@@ -60,7 +62,7 @@ public class MainListFragment extends WorkBaseFg {
@Override @Override
protected void initData() { protected void initData() {
switch (status) { switch (type) {
case "1": case "1":
permission = PermissionType.ES_SELL.getCode(); permission = PermissionType.ES_SELL.getCode();
break; break;
...@@ -84,10 +86,10 @@ public class MainListFragment extends WorkBaseFg { ...@@ -84,10 +86,10 @@ public class MainListFragment extends WorkBaseFg {
dataAdapter.bindToRecyclerView(rvData); dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData); dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
dataAdapter.notifyDataSetChanged(); dataAdapter.notifyDataSetChanged();
if (!TextUtils.equals("4", status)) { if (!TextUtils.equals("4", type)) {
getData(); getData();
} else { } else {
DepBean depBean =new DepBean(); DepBean depBean = new DepBean();
depBean.setName("申请财税"); depBean.setName("申请财税");
dataList.add(depBean); dataList.add(depBean);
dataAdapter.notifyDataSetChanged(); dataAdapter.notifyDataSetChanged();
...@@ -99,7 +101,7 @@ public class MainListFragment extends WorkBaseFg { ...@@ -99,7 +101,7 @@ public class MainListFragment extends WorkBaseFg {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
Bundle arguments = getArguments(); Bundle arguments = getArguments();
if (arguments != null) { if (arguments != null) {
status = arguments.getString("status"); type = arguments.getString("type");
} }
} }
...@@ -135,6 +137,31 @@ public class MainListFragment extends WorkBaseFg { ...@@ -135,6 +137,31 @@ public class MainListFragment extends WorkBaseFg {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { 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"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/input_background"/> <solid android:color="#FFF5F5F5"/>
<corners android:radius="10dp"/> <corners android:radius="10dp"/>
</shape> </shape>
\ No newline at end of file
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="2mm" android:layout_marginLeft="2mm"
android:background="@null" android:background="@null"
android:hint="搜索客户" android:hint="搜索"
android:textColor="#91ABBA" android:textColor="#91ABBA"
android:textColorHint="#91ABBA" android:textColorHint="#91ABBA"
android:textSize="14sp" /> 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 @@ ...@@ -107,12 +107,11 @@
android:layout_height="40mm" android:layout_height="40mm"
android:background="@android:color/white" android:background="@android:color/white"
app:tabBackground="@android:color/white" app:tabBackground="@android:color/white"
app:tabGravity="fill" app:tabGravity="center"
app:tabIndicatorColor="#FFFBD249" app:tabIndicatorColor="#FFFBD249"
app:tabIndicatorFullWidth="false" app:tabIndicatorFullWidth="false"
app:tabMode="fixed" app:tabMode="auto"
app:tabSelectedTextColor="#FFFBD249" app:tabSelectedTextColor="#FFFBD249"
app:tabTextAppearance="@style/tabText"
app:tabTextColor="@color/flexible_text_sup" /> app:tabTextColor="@color/flexible_text_sup" />
<androidx.viewpager.widget.ViewPager <androidx.viewpager.widget.ViewPager
......
...@@ -41,5 +41,5 @@ ...@@ -41,5 +41,5 @@
<View <View
style="@style/dividerX" style="@style/dividerX"
android:paddingHorizontal="20mm" /> android:layout_marginHorizontal="20mm" />
</LinearLayout> </LinearLayout>
\ No newline at end of file
<resources> <resources>
<string name="app_name">正望企业管理</string> <string name="app_name">正望企业管理</string>
<string name="permission">没有权限处理</string> <string name="permission">没有权限处理!</string>
</resources> </resources>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论