提交 41f80542 authored 作者: lgd's avatar lgd

1.搜索

2.//TODO erp用户激活测试,忘记/重置密码测试,坩埚下单页面,组装列表,往来(客户两个库),产品下单还差附件,mes,消息,刷新token
上级 5e43411f
......@@ -832,6 +832,22 @@
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.CrucibleOrderSearchActivity"
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.ProductOrderSearchActivity"
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"
android:authorities="com.wd.workoffice.fileprovider"
......
package com.wd.workoffice.ui.activity.bat;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.View;
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.WorkBaseActivity;
import com.wd.workoffice.bean.OrderBean;
import com.wd.workoffice.contract.SaleSaleContract;
import com.wd.workoffice.presenter.SaleSalePresenter;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.work.WorkLogisticsDetailActivity;
import com.wd.workoffice.ui.adapter.ProCruibleAdapter;
import com.wd.workoffice.ui.adapter.ProOutAdapter;
import com.wd.workoffice.ui.adapter.ProSupplierAdapter;
import com.wd.workoffice.ui.adapter.SaleCruibleAdapter;
import com.wd.workoffice.ui.adapter.SaleOutAdapter;
import com.wd.workoffice.ui.adapter.SaleProductAdapter;
import com.wd.workoffice.ui.adapter.SaleSupplierAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.appcompat.widget.Toolbar;
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 CrucibleOrderSearchActivity extends WorkBaseActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.tb_title)
Toolbar tbTitle;
@BindView(R.id.rv_data)
RecyclerView rvData;
private Map<String, Object> param;
private List<OrderBean> orderList;
private String identity;
private int page = 1;
private SaleCruibleAdapter saleAdapter;
private ProCruibleAdapter proAdapter;
@Override
protected void initView() {
ButterKnife.bind(this);
setSupportActionBar(tbTitle);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
rvData.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void initData() {
identity = getIntent().getStringExtra("identity");
orderList = new ArrayList<>();
if (TextUtils.equals(identity, "1")) {
etKey.setHint("坩埚销售订单:输入订单号");
saleAdapter = new SaleCruibleAdapter(R.layout.item_crucible_sale, orderList);
saleAdapter.bindToRecyclerView(rvData);
saleAdapter.setEmptyView(R.layout.view_empty_order, rvData);
} else {
etKey.setHint("坩埚生产订单:输入订单号");
proAdapter = new ProCruibleAdapter(R.layout.item_crucible_buy, orderList);
proAdapter.bindToRecyclerView(rvData);
proAdapter.setEmptyView(R.layout.view_empty_order, rvData);
}
param = WorkUtils.pageKey();
param.put("current", page);
param.put("identity", identity);
}
@Override
protected void initEvent() {
if (TextUtils.equals(identity, "1")) {
saleAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("current", page);
getData();
}
}, rvData);
} else {
proAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("current", page);
getData();
}
}, rvData);
}
}
@Override
protected int layoutId() {
return R.layout.activity_order_search;
}
@OnClick(R.id.iv_search)
public void onViewClicked() {
String key = etKey.getText().toString();
if (TextUtils.isEmpty(key)) {
toast("请输入搜索关键字");
return;
}
page = 1;
param.put("current", page);
param.put("searchValue", key);
getData();
}
private void getData() {
Observable<BaseBean> observable;
if (TextUtils.equals(identity, "1")) {
observable = RtfUtils.getRtf().getCucibleSaleOrder(param);
} else {
observable = RtfUtils.getRtf().getCucibleOrder(param);
}
observable.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<OrderBean> dataList = JSON.parseArray(JSON.parseObject(data.getData().toString()).getString("records"), OrderBean.class);
if (page == 1) {
orderList.clear();
orderList.addAll(dataList);
if (TextUtils.equals(identity, "1")) {
saleAdapter.notifyDataSetChanged();
saleAdapter.loadMoreComplete();
} else {
proAdapter.notifyDataSetChanged();
proAdapter.loadMoreComplete();
}
} else {
if (TextUtils.equals(identity, "1")) {
saleAdapter.loadMoreComplete();
orderList.addAll(dataList);
saleAdapter.notifyDataSetChanged();
} else {
proAdapter.loadMoreComplete();
orderList.addAll(dataList);
proAdapter.notifyDataSetChanged();
}
}
if (dataList.size() == 0) {
if (TextUtils.equals(identity, "1")) {
saleAdapter.loadMoreEnd();
} else {
proAdapter.loadMoreEnd();
}
} else {
page++;
}
toast("加载成功");
}
});
}
}
......@@ -81,7 +81,6 @@ public class OutOrderSearchActivity extends WorkBaseActivity implements SaleSale
proAdapter.bindToRecyclerView(rvData);
proAdapter.setEmptyView(R.layout.view_empty_order,rvData);
}
param = WorkUtils.pageKey();
param.put("current", page);
param.put("identity", identity);
......@@ -135,7 +134,7 @@ public class OutOrderSearchActivity extends WorkBaseActivity implements SaleSale
@Override
public void outList(List<OrderBean> dataList) {
toast("加载成功");
toast("搜索完成");
if (page == 1) {
orderList.clear();
orderList.addAll(dataList);
......
package com.wd.workoffice.ui.activity.bat;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.View;
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.WorkBaseActivity;
import com.wd.workoffice.bean.OrderBean;
import com.wd.workoffice.contract.SaleSaleContract;
import com.wd.workoffice.presenter.SaleSalePresenter;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.work.WorkLogisticsDetailActivity;
import com.wd.workoffice.ui.adapter.SaleInsideAdapter;
import com.wd.workoffice.ui.adapter.SaleProductAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.appcompat.widget.Toolbar;
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.disposables.Disposable;
/**
* 组装订单搜索
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ProductOrderSearchActivity extends WorkBaseActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.tb_title)
Toolbar tbTitle;
@BindView(R.id.rv_data)
RecyclerView rvData;
private int page = 1;
private Map<String, Object> param;
private SaleProductAdapter dataAdapter;
private List<OrderBean> dataList;
private String identity;
@Override
protected void initView() {
ButterKnife.bind(this);
setSupportActionBar(tbTitle);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
rvData.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void initData() {
identity = getIntent().getStringExtra("identity");
param = WorkUtils.pageKey();
param.put("identity", identity);
page = 1;
param.put("current", page);
dataList = new ArrayList<>();
dataAdapter = new SaleProductAdapter(R.layout.item_sale_product, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
}
@Override
protected void initEvent() {
dataAdapter.setOnLoadMoreListener(() -> {
param.put("current", page);
getData();
}, rvData);
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(WorkLogisticsDetailActivity.class, "info", JSON.toJSONString(dataList.get(position)));
}
});
}
private void getData() {
RtfUtils.getRtf().productList(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<OrderBean> getList = JSON.parseArray(JSON.parseObject(data.getData().toString()).getString("records"), OrderBean.class);
if (page == 1) {
dataList.clear();
dataList.addAll(getList);
dataAdapter.notifyDataSetChanged();
dataAdapter.loadMoreComplete();
} else {
dataAdapter.loadMoreComplete();
dataList.addAll(getList);
dataAdapter.notifyDataSetChanged();
}
if (getList.size() == 0) {
dataAdapter.loadMoreEnd();
} else {
page++;
}
toast("加载成功");
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_order_search;
}
@OnClick(R.id.iv_search)
public void onViewClicked() {
String key = etKey.getText().toString();
if (TextUtils.isEmpty(key)) {
toast("请输入搜索关键字");
return;
}
page = 1;
param.put("current", page);
param.put("searchValue", key);
getData();
}
}
......@@ -7,6 +7,7 @@ import android.view.MenuItem;
import com.google.android.material.tabs.TabLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.ui.activity.bat.CrucibleOrderSearchActivity;
import com.wd.workoffice.ui.activity.bat.SupplierOrderSearchActivity;
import com.wd.workoffice.ui.adapter.VpDataAdapter;
import com.wd.workoffice.ui.fg.CrucibleOrderBuyFragment;
......@@ -85,7 +86,7 @@ public class SaleCrucibleOrderActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
startActivity(SupplierOrderSearchActivity.class, "identity", "1", "", "");
startActivity(CrucibleOrderSearchActivity.class, "identity", getIntent().getStringExtra("identity"));
break;
}
return super.onOptionsItemSelected(item);
......
......@@ -7,6 +7,7 @@ import android.view.MenuItem;
import com.google.android.material.tabs.TabLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.ui.activity.bat.ProductOrderSearchActivity;
import com.wd.workoffice.ui.activity.bat.SupplierOrderSearchActivity;
import com.wd.workoffice.ui.adapter.VpDataAdapter;
import com.wd.workoffice.ui.fg.ProductOrderApplyFragment;
......@@ -74,7 +75,7 @@ public class SaleProductOrderActivity extends WorkToolBarActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search, menu);
getMenuInflater().inflate(R.menu.menu_add_and_search, menu);
return super.onCreateOptionsMenu(menu);
}
......@@ -82,7 +83,10 @@ public class SaleProductOrderActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
startActivity(SupplierOrderSearchActivity.class, "identity", "1","","");
startActivity(ProductOrderSearchActivity.class, "identity", getIntent().getStringExtra("identity"));
break;
case R.id.add:
startActivity(ProductOrderSearchActivity.class, "identity", getIntent().getStringExtra("identity"));
break;
}
return super.onOptionsItemSelected(item);
......
package com.wd.workoffice.ui.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.OrderBean;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class ProCruibleAdapter extends BaseQuickAdapter<OrderBean, BaseViewHolder> {
public ProCruibleAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, OrderBean item) {
helper.setText(R.id.tv_name, item.getReceiveDeptName());
helper.setText(R.id.tv_status, item.getStatusName());
helper.setText(R.id.tv_place_name, item.getLaunchUserName());
helper.setText(R.id.tv_company, item.getLaunchDeptName());
helper.setText(R.id.tv_order_no, item.getId());
helper.setText(R.id.tv_time, item.getCreatedTime());
helper.setText(R.id.tv_send_time, item.getRequireTime());
helper.setText(R.id.tv_desc, item.getAttrName());
helper.setText(R.id.tv_price, String.valueOf(item.getLaunchOrderAmount()));
}
}
......@@ -23,6 +23,7 @@ public class SaleCruibleAdapter extends BaseQuickAdapter<OrderBean, BaseViewHold
protected void convert(BaseViewHolder helper, OrderBean item) {
helper.setText(R.id.tv_name, item.getReceiveDeptName());
helper.setText(R.id.tv_status, item.getStatusName());
helper.setText(R.id.tv_dep, item.getReceiveDeptName());
helper.setText(R.id.tv_place_name, item.getLaunchUserName());
helper.setText(R.id.tv_company, item.getLaunchDeptName());
helper.setText(R.id.tv_order_no, item.getId());
......
......@@ -15,6 +15,7 @@ import com.wd.workoffice.bean.event.CheckOrderEvent;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.work.WorkLogisticsDetailActivity;
import com.wd.workoffice.ui.adapter.ProCruibleAdapter;
import com.wd.workoffice.ui.adapter.SaleCruibleAdapter;
import com.wd.workoffice.ui.adapter.SaleProductApplyAdapter;
import com.wd.workoffice.util.WorkUtils;
......@@ -49,7 +50,7 @@ public class CrucibleOrderBuyListFragment extends WorkBaseFg {
private String state;
private int page = 1;
private Map<String, Object> param;
private SaleCruibleAdapter dataAdapter;
private ProCruibleAdapter dataAdapter;
private List<OrderBean> dataList;
private String identity;
......@@ -69,7 +70,7 @@ public class CrucibleOrderBuyListFragment extends WorkBaseFg {
page = 1;
param.put("current", page);
dataList = new ArrayList<>();
dataAdapter = new SaleCruibleAdapter(R.layout.item_crucible_buy, dataList);
dataAdapter = new ProCruibleAdapter(R.layout.item_crucible_buy, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
getData();
......
......@@ -240,10 +240,10 @@ public class MainFragment extends WorkBaseFg {
startActivity(ProductInsideOrderActivity.class);
break;
case 4:
startActivity(SaleProductOrderActivity.class, "identity", "1");
startActivity(SaleProductOrderActivity.class, "identity", "2");
break;
case 5:
startActivity(SaleCrucibleOrderActivity.class, "identity", "1");
startActivity(SaleCrucibleOrderActivity.class, "identity", "2");
break;
}
}
......
......@@ -52,6 +52,7 @@ public class SaleInsideFragment extends WorkBaseFg implements SaleSaleContract.V
orderList = new ArrayList<>();
orderAdapter = new SaleInsideAdapter(R.layout.item_sale_inside, orderList);
orderAdapter.bindToRecyclerView(rvData);
orderAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
param.put("orderStatus", state);
param.put("current", page);
......
......@@ -52,6 +52,7 @@ public class SaleOutFragment extends WorkBaseFg implements SaleSaleContract.View
orderList = new ArrayList<>();
orderAdapter = new SaleOutAdapter(R.layout.item_sale_out, orderList);
orderAdapter.bindToRecyclerView(rvData);
orderAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
param.put("orderStatus", state);
param.put("current", page);
......
......@@ -52,6 +52,7 @@ public class SaleSaleFragment extends WorkBaseFg implements SaleSaleContract.Vie
orderList = new ArrayList<>();
orderAdapter = new SaleSaleAdapter(R.layout.item_sale, orderList);
orderAdapter.bindToRecyclerView(rvData);
orderAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
param.put("orderStatus", state);
param.put("current", page);
......
......@@ -52,6 +52,7 @@ public class SaleSupplierFragment extends WorkBaseFg implements SaleSaleContract
orderList = new ArrayList<>();
orderAdapter = new SaleSupplierAdapter(R.layout.item_sale_supplier, orderList);
orderAdapter.bindToRecyclerView(rvData);
orderAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
param.put("orderStatus", state);
param.put("current", page);
......
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/add"
android:title="添加"
app:showAsAction="always" />
<item
android:id="@+id/search"
android:title="搜索"
app:showAsAction="always" />
</menu>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论