提交 94290e01 authored 作者: lgd's avatar lgd

1.仓库 三个按钮跳转

2.//TODO erp用户激活,忘记密码测试,产品下单还差附件,bat,mes,消息,我的,刷新token
上级 7b9f8d5e
...@@ -464,6 +464,30 @@ ...@@ -464,6 +464,30 @@
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.work.WorkWarehouseStockSearchActivity"
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.work.WorkWarehouseStockDetailActivity"
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.work.WorkWarehouseStockFlowActivity"
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"
android:authorities="com.wd.workoffice.fileprovider" android:authorities="com.wd.workoffice.fileprovider"
......
...@@ -136,6 +136,7 @@ public class WarehouseStockBean { ...@@ -136,6 +136,7 @@ public class WarehouseStockBean {
private Object quantityDetailList; private Object quantityDetailList;
private Object quantityFlowList; private Object quantityFlowList;
public int getCreatedBy() { public int getCreatedBy() {
return createdBy; return createdBy;
} }
......
...@@ -11,7 +11,7 @@ public interface Config { ...@@ -11,7 +11,7 @@ public interface Config {
int SIZE = 10; int SIZE = 10;
List<String> warehouseStatusList = Arrays.asList("全部类型", "销售订单", "外采购流程", List<String> warehouseStatusList = Arrays.asList("全部类型", "销售订单", "外采购流程",
"供应订单", "坩埚订单", "内部交易订单", "组装订单"); "供应订单", "坩埚订单", "内部交易订单", "组装订单");
List<String> warehouseCodeList = Arrays.asList("全部状态", "SO", "PO", List<String> warehouseCodeList = Arrays.asList("", "SO", "PO",
"FO", "CO", "IO", "AO"); "FO", "CO", "IO", "AO");
int MAIN_NOTICE_TURNING = 4 * 1000; int MAIN_NOTICE_TURNING = 4 * 1000;
......
package com.wd.workoffice.bean;
import java.util.List;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class StockDetailBean {
/**
* records : [{"createdBy":143,"createdByName":null,"createdTime":"2019-11-26 16:54:43","updatedBy":null,"updatedByName":null,"updatedTime":"2019-11-26 16:54:43","id":62,"sqId":50,"orderType":"SO","orderId":"SO10579","quantity":0,"applyInto":0,"applyOut":0,"version":4,"productId":30,"stockId":5,"stockName":"技术中心成品库","orderTypeName":"销售订单","productName":"整体塞棒","productSoleCode":"70GTB214001","productSimpleCode":"B214","quantityDetailFlowList":null}]
* total : 1
* size : 10
* current : 1
* orders : []
* searchCount : true
* pages : 1
*/
private int total;
private int size;
private int current;
private boolean searchCount;
private int pages;
private List<RecordsBean> records;
private List<?> orders;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getCurrent() {
return current;
}
public void setCurrent(int current) {
this.current = current;
}
public boolean isSearchCount() {
return searchCount;
}
public void setSearchCount(boolean searchCount) {
this.searchCount = searchCount;
}
public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
public List<RecordsBean> getRecords() {
return records;
}
public void setRecords(List<RecordsBean> records) {
this.records = records;
}
public List<?> getOrders() {
return orders;
}
public void setOrders(List<?> orders) {
this.orders = orders;
}
public static class RecordsBean {
/**
* createdBy : 143
* createdByName : null
* createdTime : 2019-11-26 16:54:43
* updatedBy : null
* updatedByName : null
* updatedTime : 2019-11-26 16:54:43
* id : 62
* sqId : 50
* orderType : SO
* orderId : SO10579
* quantity : 0.0
* applyInto : 0.0
* applyOut : 0.0
* version : 4
* productId : 30
* stockId : 5
* stockName : 技术中心成品库
* orderTypeName : 销售订单
* productName : 整体塞棒
* productSoleCode : 70GTB214001
* productSimpleCode : B214
* quantityDetailFlowList : null
*/
private int createdBy;
private Object createdByName;
private String createdTime;
private Object updatedBy;
private Object updatedByName;
private String updatedTime;
private int id;
private int sqId;
private String orderType;
private String orderId;
private double quantity;
private double applyInto;
private double applyOut;
private int version;
private int productId;
private int stockId;
private String stockName;
private String orderTypeName;
private String productName;
private String productSoleCode;
private String productSimpleCode;
private Object quantityDetailFlowList;
public int getCreatedBy() {
return createdBy;
}
public void setCreatedBy(int createdBy) {
this.createdBy = createdBy;
}
public Object getCreatedByName() {
return createdByName;
}
public void setCreatedByName(Object createdByName) {
this.createdByName = createdByName;
}
public String getCreatedTime() {
return createdTime;
}
public void setCreatedTime(String createdTime) {
this.createdTime = createdTime;
}
public Object getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(Object updatedBy) {
this.updatedBy = updatedBy;
}
public Object getUpdatedByName() {
return updatedByName;
}
public void setUpdatedByName(Object updatedByName) {
this.updatedByName = updatedByName;
}
public String getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(String updatedTime) {
this.updatedTime = updatedTime;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSqId() {
return sqId;
}
public void setSqId(int sqId) {
this.sqId = sqId;
}
public String getOrderType() {
return orderType;
}
public void setOrderType(String orderType) {
this.orderType = orderType;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public double getQuantity() {
return quantity;
}
public void setQuantity(double quantity) {
this.quantity = quantity;
}
public double getApplyInto() {
return applyInto;
}
public void setApplyInto(double applyInto) {
this.applyInto = applyInto;
}
public double getApplyOut() {
return applyOut;
}
public void setApplyOut(double applyOut) {
this.applyOut = applyOut;
}
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
public int getProductId() {
return productId;
}
public void setProductId(int productId) {
this.productId = productId;
}
public int getStockId() {
return stockId;
}
public void setStockId(int stockId) {
this.stockId = stockId;
}
public String getStockName() {
return stockName;
}
public void setStockName(String stockName) {
this.stockName = stockName;
}
public String getOrderTypeName() {
return orderTypeName;
}
public void setOrderTypeName(String orderTypeName) {
this.orderTypeName = orderTypeName;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductSoleCode() {
return productSoleCode;
}
public void setProductSoleCode(String productSoleCode) {
this.productSoleCode = productSoleCode;
}
public String getProductSimpleCode() {
return productSimpleCode;
}
public void setProductSimpleCode(String productSimpleCode) {
this.productSimpleCode = productSimpleCode;
}
public Object getQuantityDetailFlowList() {
return quantityDetailFlowList;
}
public void setQuantityDetailFlowList(Object quantityDetailFlowList) {
this.quantityDetailFlowList = quantityDetailFlowList;
}
}
}
\ No newline at end of file
...@@ -30,99 +30,6 @@ public interface ApiService { ...@@ -30,99 +30,6 @@ public interface ApiService {
String DOMAIN = Config.DEBUG ? "http://zwang.bat100.net.cn:8000/" : "http://zwang.bat100.net.cn:8000/"; String DOMAIN = Config.DEBUG ? "http://zwang.bat100.net.cn:8000/" : "http://zwang.bat100.net.cn:8000/";
//用户信息User information http://zwang.bat100.net.cn:8000/sys/user/userInfo
public static final String USER_INFORMATION = "sys/user/userInfo";
//注册http://47.105.222.231:3000/mock/23/open/sys/user/register
public static final String BASE_URL_REGISTER = "mock/23/open/sys/user/register";
//登录http://115.29.67.166:9000/login?grant_type=userNew
public static final String BASE_URL_LOGIN = "login?grant_type=userNew";
//产品分页 product/app/page/list?soleCode=1&simpleCode=1&name=1&ofKind=RM
public static final String URL_CHANPIN_FY = "product/app/page/list";
//产品:修改价格
public static final String URL_UPDATE_PRICE = "product/price";
//产品:上下架
public static final String URL_UP_DOWN = "product/app/shelf";
//往来http://115.29.67.166:9000/transitpart/app/page/list
public static final String DEALINGS_PAGE_URL = "transitpart/app/page/list";
//往来详情http://115.29.67.166:9000/transitpart/42
public static final String DEALINGS_ESSENTIAL_INFORMATION = "transitpart/";
//往来搜索http://115.29.67.166:9000/transitpart/search-list?name=江苏&searchType=CUSTOMER
public static final String DEALINGS_ES_SEARCH = "transitpart/search-list";
//部门账户http://115.29.67.166:9000/dept-account-balance/app/account-balance-info
public static final String SECTOR_ACCOUNTS_URL = "dept-account-balance/app/account-balance-info";
//账户流水http://115.29.67.166:9000/finance/flow/page/list Account flow
public static final String SECTOR_ACCOUNT_FLOW = "finance/flow/page/list";
//账户流水http://115.29.67.166:9000/finance/flow/page/list
public static final String SECTOR_VIEW_PIPING_ADAPTER = "finance/flow/page/list";
//财务
//app端获取当前用户部门账户的流水http://115.29.67.166:9000/finance/flow/app/shelf/page/list
public static final String SECTOR_VIEW_DETAILS = "finance/flow/app/shelf/page/list";
//获取所有部门账户列表(分页)http://115.29.67.166:9000/dept-account-balance/page/list
public static final String FINACE_all_ACCOUNTS_URL = "dept-account-balance/page/list";
//修改解冻冻结http://115.29.67.166:9000/dept-account-balance/balance
public static final String AVAILABLE_YUEBEAN = "dept-account-balance/balance";
//修改全部冻结解冻http://115.29.67.166:9000/dept-account-balance/app/shelf/balance
public static final String SECTOR_WHOLE_BEAN = "dept-account-balance/app/shelf/balance";
//创库http://115.29.67.166:9000/stock/page/list?current=1&size=6
public static final String URL_CK_LIBIAO_TYPE = "stock/page/list";
//http://115.29.67.166:9000/stockQuantity/app/page/list?stockId=7&current=1&size=3
public static final String URL_CKLIEBIAO_DEALINGS = "stockQuantity/app/page/list";
//库存详情http://115.29.67.166:9000/stockQuantityDetail/app/page/list
public static final String URL_KUCUN_TYPE1 = "stockQuantityDetail/app/page/list";
//库存流水明细http://115.29.67.166:9000/stockQuantityDetailFlow/page/list?sqdId=70
public static final String URL_KUCUN_DETAILFLOW_TYPE1 = "stockQuantityDetailFlow/page/list";
//http://115.29.67.166:9000/stockQuantityFlow/page/list?sqId=58&current=1&size=10
public static final String STOCK_NUMBER_FLOWING = "stockQuantityFlow/page/list";
//仓库类别
public static final String CK_TYPE_EQ = "stockType/app/search/list";
//设备
//设备列表
public static final String URL_SB_SHEBEI = "equipment/page/list";
//设备备件
public static final String URL_SB_SHEBEI_BEIJIAN = "spare-part/page/list";
//部门http://115.29.67.166:9000/sys/dept/list
public static final String URL_BM_BUMEN_LIEBIAO = "sys/dept/list";
//部门详情http://115.29.67.166:9000/sys/dept/1
public static final String URL_BM_XIANG_QING = "sys/dept/";
//设置部门管理员http://115.29.67.166:9000/sys/dept/ruler
public static final String URL_BM_GUANLI_YUAN = "sys/dept/ruler";
//返回选择客户http://115.29.67.166:9000/transitpart/page/list/current-user/part-type?partTypeCode=CUSTOMER
public static final String HOME_SELECT_CUSTOMERS = "transitpart/page/list/current-user/part-type";
//根据权限获取生产厂
public static final String HOME_SELECT_AOTHORITY = "sub-process/dept-list";
//销售:子流程列表查询 Sub process sales :http://115.29.67.166:9000/sub-process/list?processCode=PROCESS_SALE&deptId=119
public static final String SUB_PROCESS_SALES = "sub-process/list";
//销售: 产品加入购物车 Sale_Shopping_CartBean http://115.29.67.166:9000/product/page/list/by/outDept/transit-part?outDeptId=119&transitPartId=41&processType=PROCESS_SALE&searchValue
public static final String SUB_SHOPPING_CARBEAN = "product/page/list/by/outDept/transit-part";
//根据部门、流程、往来单位获取子流程http://zwang.bat100.net.cn:8000/sub-process/listByDPT?processCode=PROCESS_SALE&transitPartId=41
public static final String ORDER_ZILIUCHENG = "sub-process/listByDPT";
//销售http://zwang.bat100.net.cn:8000/saleOrder/current-user/page/list?identity=2&current=1&size=100
public static final String BUYER_SALES_ORDER = "saleOrder/current-user/page/list";
//分厂 http://115.29.67.166:9000/customer-branch-factory/page/init
public static final String FEN_CHANGXUN_URL = "customer-branch-factory/page/init";
//销售下单:http://zwang.bat100.net.cn:8000/saleOrder/start Sales order
public static final String SALES_ORDER = "saleOrder/start";
//4.订单部分获取单个订单的详细信息(路由)
public static final String ORDER_SALES_DETAILS = "saleOrder/oneInfo/";
//弹窗驳回同意审核
public static final String ORDER_SALEORDER_AUDIT = "saleOrder/audit/";
//弹窗驳回同意接单
public static final String ORDER_SALE_ORDER_APPLY = "saleOrder/apply/";
//获取发起入库申请
public static final String ORDER_PROCEDURE_START_SO = "procedureStart/so/applyStock/";
//入库申请列表展示http://zwang.bat100.net.cn:8000/enterStoreApply/so/app/page/list?orderId=SO10628&orderType=4ae3333eebc5423e8a72e388e12fc42f&productId=504
public static final String ORDER_ENTERSTOREaPPLY_SO_APP = "enterStoreApply/so/app/page/list";
/* //发货http://zwang.bat100.net.cn:8000/procedureStart/so/applyOutStock/SO10628
public static final String ORDER_APPLY_OUT_STOCK="procedureStart/so/applyOutStock/";*/
/** /**
* 用户注册 * 用户注册
...@@ -541,11 +448,26 @@ public interface ApiService { ...@@ -541,11 +448,26 @@ public interface ApiService {
Observable<BaseBean> openTicket(@QueryMap Map<String, Object> param); Observable<BaseBean> openTicket(@QueryMap Map<String, Object> param);
/** /**
* app端从往来单位进入查看开票单 * 库存数量:一个仓库里的产品列表
* *
* @return * @return
*/ */
@GET("/stockQuantity/app/page/list") @GET("/stockQuantity/app/page/list")
Observable<BaseBean> stockList(@QueryMap Map<String, Object> param); Observable<BaseBean> stockList(@QueryMap Map<String, Object> param);
/**
* 库存数量明细:一个仓库下一个产品里的订单列表
*
* @return
*/
@GET("/stockQuantityDetail/app/page/list")
Observable<BaseBean> stockDetail(@QueryMap Map<String, Object> param);
/**
* 库存数量流水
*
* @return
*/
@GET("/stockQuantityFlow/page/list")
Observable<BaseBean> stockFlow(@QueryMap Map<String, Object> param);
} }
...@@ -85,7 +85,7 @@ public class WorkAccountFlowDetailActivity extends WorkToolBarActivity { ...@@ -85,7 +85,7 @@ public class WorkAccountFlowDetailActivity extends WorkToolBarActivity {
@Override @Override
protected int layoutId() { protected int layoutId() {
return R.layout.activity_work_flow_detail; return R.layout.activity_work_account_flow_detail;
} }
} }
package com.wd.workoffice.ui.activity.bat.work; package com.wd.workoffice.ui.activity.bat.work;
import android.os.Bundle; import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -128,6 +131,24 @@ public class WorkWarehouseStockActivity extends WorkToolBarActivity { ...@@ -128,6 +131,24 @@ public class WorkWarehouseStockActivity extends WorkToolBarActivity {
getData(); getData();
} }
}, rvData); }, rvData);
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (view.getId()){
case R.id.tv_num:
startActivity(WorkWarehouseStockNumActivity.class,"detail",
JSON.toJSONString(dataList.get(position)));
break;
case R.id.tv_detail:
startActivity(WorkWarehouseStockDetailActivity.class,"id",dataList.get(position).getId()+"");
break;
case R.id.tv_flow:
startActivity(WorkWarehouseStockFlowActivity.class,"id",dataList.get(position).getId()+"");
break;
}
}
});
} }
@Override @Override
...@@ -135,5 +156,20 @@ public class WorkWarehouseStockActivity extends WorkToolBarActivity { ...@@ -135,5 +156,20 @@ public class WorkWarehouseStockActivity extends WorkToolBarActivity {
return R.layout.activity_work_warehosue_stock; return R.layout.activity_work_warehosue_stock;
} }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
startActivity(WorkWarehouseStockSearchActivity.class,"id",getIntent().getStringExtra("id"));
break;
}
return super.onOptionsItemSelected(item);
}
} }
package com.wd.workoffice.ui.activity.bat.work;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.WarehouseStockBean;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.InStockBean;
import com.wd.workoffice.bean.StockDetailBean;
import com.wd.workoffice.bean.listener.OneMenuClickListener;
import com.wd.workoffice.bean.listener.ThreeMenuClickListener;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.WorkInStockAdapter;
import com.wd.workoffice.ui.adapter.WorkStockDetailAdapter;
import com.wd.workoffice.util.WorkUtils;
import com.wd.workoffice.util.ddmfilter.InSotckFilterData;
import com.wd.workoffice.util.ddmfilter.StockDetailFilterData;
import com.wd.workoffice.widget.DropDownMenu;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
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 WorkWarehouseStockDetailActivity extends WorkToolBarActivity {
@BindView(R.id.ddm_choose)
DropDownMenu ddmChoose;
private RecyclerView rvData;
private int page = 1;
private Map<String, Object> param;
private SmartRefreshLayout srlRefresh;
private List<StockDetailBean.RecordsBean> dataList;
private WorkStockDetailAdapter dataAdapter;
@Override
protected void initView() {
ButterKnife.bind(this);
StockDetailFilterData filterData = new StockDetailFilterData(ddmChoose, new OneMenuClickListener() {
@Override
public void click(String value) {
param.put("orderType", value);
page = 1;
param.put("current", page);
getData();
}
});
rvData = filterData.getRvData();
srlRefresh = filterData.getSrlRefresh();
}
@Override
protected void initData() {
dataList = new ArrayList<>();
dataAdapter = new WorkStockDetailAdapter(R.layout.item_stock_detail, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
param.put("current", page);
param.put("sqId", getIntent().getStringExtra("id"));
getData();
}
private void getData() {
RtfUtils.getRtf().stockDetail(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<StockDetailBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), StockDetailBean.class).getRecords();
if (page == 1) {
srlRefresh.finishRefresh();
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++;
}
}
});
}
@Override
protected void initEvent() {
srlRefresh.setOnRefreshListener(refreshLayout -> {
page = 1;
param.put("current", page);
getData();
});
dataAdapter.setOnLoadMoreListener(() -> {
param.put("current", page);
getData();
}, rvData);
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(WorkProDetailActivity.class, "pro", JSON.toJSONString(dataList.get(position)));
}
});
}
@Override
protected int layoutId() {
return R.layout.fg_work_pro;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
startActivity(WorkWarehouseStockDetailSearchActivity.class, "id",
getIntent().getStringExtra("id"));
break;
}
return super.onOptionsItemSelected(item);
}
}
package com.wd.workoffice.ui.activity.bat.work;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.WarehouseStockBean;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkBaseActivity;
import com.wd.workoffice.bean.InStockBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.WorkInStockAdapter;
import com.wd.workoffice.ui.adapter.WorkStockDetailAdapter;
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 WorkWarehouseStockDetailSearchActivity extends WorkBaseActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.tv_search)
TextView tvSearch;
@BindView(R.id.tb_title)
Toolbar tbTitle;
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
private int page = 1;
private Map<String, Object> param;
private List<WarehouseStockBean.RecordsBean> dataList;
private WorkStockDetailAdapter dataAdapter;
@Override
protected void initView() {
ButterKnife.bind(this);
rvData.setLayoutManager(new LinearLayoutManager(this,RecyclerView.VERTICAL,false));
setSupportActionBar(tbTitle);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
protected void initData() {
dataList = new ArrayList<>();
dataAdapter = new WorkStockDetailAdapter(R.layout.item_work_in_stock, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
param.put("current", page);
param.put("sqId", getIntent().getStringExtra("id"));
getData();
}
private void getData() {
RtfUtils.getRtf().stockDetail(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<WarehouseStockBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), WarehouseStockBean.class).getRecords();
if (page == 1) {
srlRefresh.finishRefresh();
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++;
}
}
});
}
@Override
protected void initEvent() {
srlRefresh.setOnRefreshListener(refreshLayout -> {
page = 1;
param.put("current", page);
getData();
});
dataAdapter.setOnLoadMoreListener(() -> {
param.put("current", page);
getData();
}, rvData);
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_warehouse_stock_detail_search;
}
@OnClick(R.id.tv_search)
public void onViewClicked() {
page = 1;
param.put("current", page);
param.put("searchValue", etKey.getText().toString());
getData();
}
}
package com.wd.workoffice.ui.activity.bat.work;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.popup.QMUIPopup;
import com.qmuiteam.qmui.widget.popup.QMUIPopups;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.StockFlowBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.FilterBaseAdapter;
import com.wd.workoffice.ui.adapter.WorkStockFlowAdapter;
import com.wd.workoffice.util.PickTimeUtils;
import com.wd.workoffice.util.WorkUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import androidx.annotation.NonNull;
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 flexible.xd.android_base.utils.TimeUtils;
import io.reactivex.disposables.Disposable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkWarehouseStockFlowActivity extends WorkToolBarActivity {
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
@BindView(R.id.tv_type)
TextView tvType;
@BindView(R.id.tv_start)
TextView tvStart;
@BindView(R.id.tv_end)
TextView tvEnd;
private Map<String, Object> param;
private List<StockFlowBean.RecordsBean> dataList;
private WorkStockFlowAdapter dataAdapter;
private int page = 1;
private QMUIPopup popup;
private FilterBaseAdapter filterBaseAdapter;
@Override
protected void initView() {
ButterKnife.bind(this);
rvData.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
dataList = new ArrayList<>();
dataAdapter = new WorkStockFlowAdapter(R.layout.item_stock_flow, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
filterBaseAdapter = new FilterBaseAdapter();
popup = topPopInit(this);
param = WorkUtils.pageKey();
param.put("sqId", getIntent().getStringExtra("id"));
param.put("current", page);
getData();
}
private void getData() {
RtfUtils.getRtf().stockFlow(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<StockFlowBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), StockFlowBean.class).getRecords();
if (page == 1) {
srlRefresh.finishRefresh();
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++;
}
}
});
}
@Override
protected void initEvent() {
srlRefresh.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
page = 1;
param.put("current", page);
getData();
}
});
dataAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("current", page);
getData();
}
}, rvData);
}
@Override
protected int layoutId() {
return R.layout.activity_work_stock_flow;
}
public QMUIPopup topPopInit(Context context) {
popup = QMUIPopups.listPopup(context,
ViewGroup.LayoutParams.MATCH_PARENT,
QMUIDisplayHelper.dp2px(context, 300), filterBaseAdapter
,
(parent, view, position, id) -> {
filterBaseAdapter.setChoosePos(position);
filterBaseAdapter.notifyDataSetChanged();
tvType.setText(Config.warehouseStatusList.get(position));
popup.dismiss();
page = 1;
param.put("current", page);
param.put("orderType", Config.warehouseCodeList.get(position));
getData();
})
.animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER)
.preferredDirection(QMUIPopup.DIRECTION_TOP)
.shadow(true)
.edgeProtection(QMUIDisplayHelper.dp2px(context, 10))
.offsetYIfTop(QMUIDisplayHelper.dp2px(context, 5));
return popup;
}
@OnClick({R.id.tv_type, R.id.tv_start, R.id.tv_end})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.tv_type:
popup.show(tvType);
break;
case R.id.tv_start:
PickTimeUtils.showPickThree(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
String time = TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd"));
param.put("searchStartTime", time + " 00:00:00");
tvStart.setText(time);
page = 1;
param.put("current", page);
getData();
}
}).show();
break;
case R.id.tv_end:
PickTimeUtils.showPickThree(this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
String time = TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd"));
param.put("searchEndTime", time + " 23:59:59");
tvEnd.setText(time);
page = 1;
param.put("current", page);
getData();
}
}).show();
break;
}
}
}
package com.wd.workoffice.ui.activity.bat.work;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.R;
import com.wd.workoffice.WarehouseStockBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* 工作台 - 仓库 -数量
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkWarehouseStockNumActivity extends WorkToolBarActivity {
@BindView(R.id.tv_name)
TextView tvName;
@BindView(R.id.tv_img_code)
TextView tvImgCode;
@BindView(R.id.tv_code)
TextView tvCode;
@BindView(R.id.tv_spec)
TextView tvSpec;
@BindView(R.id.tv_stock)
TextView tvStock;
@BindView(R.id.tv_freeze)
TextView tvFreeze;
private WarehouseStockBean.RecordsBean dataBean;
@Override
protected void initView() {
ButterKnife.bind(this);
dataBean = JSON.parseObject(getIntent().getStringExtra("detail"), WarehouseStockBean.RecordsBean.class);
tvName.setText( dataBean.getProductName());
tvCode.setText(dataBean.getProductSoleCode());
tvImgCode.setText(dataBean.getProductSimpleCode());
tvStock.setText(String.valueOf(dataBean.getQuantity()));
tvFreeze.setText(String.valueOf(dataBean.getLockQuantity()));
tvSpec.setText(dataBean.getProductSpec());
}
@Override
protected void initData() {
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_work_warehouse_num;
}
}
package com.wd.workoffice.ui.activity.bat.work;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkBaseActivity;
import com.wd.workoffice.bean.InStockBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.WorkInStockAdapter;
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 WorkWarehouseStockSearchActivity extends WorkBaseActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.tv_search)
TextView tvSearch;
@BindView(R.id.tb_title)
Toolbar tbTitle;
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
private int page = 1;
private Map<String, Object> param;
private List<InStockBean.RecordsBean> dataList;
private WorkInStockAdapter dataAdapter;
@Override
protected void initView() {
ButterKnife.bind(this);
rvData.setLayoutManager(new LinearLayoutManager(this,RecyclerView.VERTICAL,false));
setSupportActionBar(tbTitle);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
protected void initData() {
dataList = new ArrayList<>();
dataAdapter = new WorkInStockAdapter(R.layout.item_work_in_stock, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
param.put("stockId", getIntent().getStringExtra("id"));
param.put("current", page);
getData();
}
private void getData() {
RtfUtils.getRtf().stockList(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<InStockBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), InStockBean.class).getRecords();
if (page == 1) {
srlRefresh.finishRefresh();
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++;
}
}
});
}
@Override
protected void initEvent() {
srlRefresh.setOnRefreshListener(refreshLayout -> {
page = 1;
param.put("current", page);
getData();
});
dataAdapter.setOnLoadMoreListener(() -> {
param.put("current", page);
getData();
}, rvData);
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_warehouse_stock_search;
}
@OnClick(R.id.tv_search)
public void onViewClicked() {
page = 1;
param.put("current", page);
param.put("searchValue", etKey.getText().toString());
getData();
}
}
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.WarehouseStockBean;
import com.wd.workoffice.bean.ContactsBean;
import com.wd.workoffice.bean.StockDetailBean;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class WorkStockDetailAdapter extends BaseQuickAdapter<StockDetailBean.RecordsBean, BaseViewHolder> {
public WorkStockDetailAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, StockDetailBean.RecordsBean item) {
helper.setText(R.id.tv_name, item.getOrderId());
helper.setText(R.id.tv_order_type, item.getOrderTypeName());
helper.setText(R.id.tv_num, String.valueOf(item.getQuantity()));
helper.setText(R.id.tv_in, String.valueOf(item.getApplyInto()));
helper.setText(R.id.tv_out, String.valueOf(item.getApplyOut()));
helper.setText(R.id.tv_time, item.getCreatedTime());
helper.addOnClickListener(R.id.tv_flow);
}
}
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.StockFlowBean;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class WorkStockFlowAdapter extends BaseQuickAdapter<StockFlowBean.RecordsBean, BaseViewHolder> {
public WorkStockFlowAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, StockFlowBean.RecordsBean item) {
helper.setText(R.id.tv_name, item.getOrderId());
helper.setText(R.id.tv_order_no, item.getLinkSerialNumber());
helper.setText(R.id.tv_time, item.getCreatedTime());
helper.setText(R.id.tv_flow_type, item.getTypeName());
helper.addOnClickListener(R.id.tv_flow);
}
}
package com.wd.workoffice.util.ddmfilter;
import android.view.LayoutInflater;
import android.view.View;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.app.WorkApp;
import com.wd.workoffice.bean.listener.OneMenuClickListener;
import com.wd.workoffice.bean.listener.ThreeMenuClickListener;
import com.wd.workoffice.ui.adapter.FilterAdapter;
import com.wd.workoffice.widget.DropDownMenu;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class StockDetailFilterData {
DropDownMenu menu;
private List<View> viewList;
private View mainView;
private RecyclerView rvData;
private SmartRefreshLayout srlRefresh;
OneMenuClickListener listener;
String[] TABLIST = new String[]{"订单类型", "区分", "状态"};
public StockDetailFilterData(DropDownMenu menu, OneMenuClickListener listener) {
this.menu = menu;
this.listener = listener;
initView();
}
private void initView() {
mainView = LayoutInflater.from(WorkApp.getApp()).inflate(R.layout.view_pro, null);
rvData = mainView.findViewById(R.id.rv_data);
srlRefresh = mainView.findViewById(R.id.srl_refresh);
rvData.setLayoutManager(new LinearLayoutManager(WorkApp.getApp(), RecyclerView.VERTICAL, false));
viewList = new ArrayList<>();
addTabView(Config.warehouseStatusList, 1);
menu.setDropDownMenu(Arrays.asList(TABLIST), viewList, mainView);
}
private void addTabView(List<String> dataList, int type) {
View view = LayoutInflater.from(WorkApp.getApp()).inflate(R.layout.view_filter_pro, null);
RecyclerView rvData = view.findViewById(R.id.rv_filter);
rvData.setLayoutManager(new LinearLayoutManager(WorkApp.getApp(), RecyclerView.VERTICAL, false));
FilterAdapter filterAdapter = new FilterAdapter(R.layout.item_filter, dataList);
filterAdapter.bindToRecyclerView(rvData);
viewList.add(view);
filterAdapter.setOnItemClickListener((adapter, v, position) -> {
filterAdapter.setChoosePos(position);
menu.setTabText(dataList.get(position));
listener.click(Config.warehouseCodeList.get(position));
menu.closeMenu();
filterAdapter.notifyDataSetChanged();
});
}
public SmartRefreshLayout getSrlRefresh() {
return srlRefresh;
}
public void setSrlRefresh(SmartRefreshLayout srlRefresh) {
this.srlRefresh = srlRefresh;
}
public RecyclerView getRvData() {
return rvData;
}
public void setRvData(RecyclerView rvData) {
this.rvData = rvData;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/tb_title"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Light"
app:contentInsetEnd="0mm"
app:contentInsetEndWithActions="0mm"
app:contentInsetLeft="0mm"
app:contentInsetRight="0mm"
app:contentInsetStart="0mm"
app:contentInsetStartWithNavigation="0mm">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:paddingVertical="5mm">
<EditText
android:id="@+id/et_key"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginVertical="3mm"
android:layout_weight="1"
android:background="@drawable/shape_client_search"
android:hint="搜索订单编号"
android:paddingHorizontal="3mm"
android:textSize="14sp" />
<TextView
android:id="@+id/iv_search"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:paddingHorizontal="8mm"
android:text="搜索" />
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
<View style="@style/dividerX" />
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/srl_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/tb_title"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Light"
app:contentInsetEnd="0mm"
app:contentInsetEndWithActions="0mm"
app:contentInsetLeft="0mm"
app:contentInsetRight="0mm"
app:contentInsetStart="0mm"
app:contentInsetStartWithNavigation="0mm">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:paddingVertical="5mm">
<EditText
android:id="@+id/et_key"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginVertical="3mm"
android:layout_weight="1"
android:background="@drawable/shape_client_search"
android:hint="搜索仓库名称"
android:paddingHorizontal="3mm"
android:textSize="14sp" />
<TextView
android:id="@+id/iv_search"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:paddingHorizontal="8mm"
android:text="搜索" />
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
<View style="@style/dividerX" />
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/srl_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
\ No newline at end of file
<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:paddingVertical="5mm">
<TextView
android:id="@+id/tv_type"
android:layout_width="100mm"
android:layout_height="wrap_content"
android:drawableRight="@mipmap/arrow_down"
android:gravity="center_vertical"
android:text="全部类型"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/tv_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@mipmap/arrow_down"
android:gravity="center_vertical"
android:paddingVertical="13mm"
android:text="开始时间"
android:textSize="13sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="~" />
<TextView
android:id="@+id/tv_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@mipmap/arrow_down"
android:gravity="center_vertical"
android:paddingVertical="13mm"
android:text="结束时间"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
<com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/srl_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="品名"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/flexible_text_sup"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="图号"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_img_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="销售二公司"
android:textColor="@color/flexible_text_sup"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="品号"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="销售二公司"
android:textColor="@color/flexible_text_sup"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="规格"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_spec"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="销售二公司"
android:textColor="@color/flexible_text_sup"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="库存数量"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_stock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="销售二公司"
android:textColor="@color/flexible_text_sup"
android:textSize="14sp" />
</RelativeLayout>
<View style="@style/dividerX" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="15mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="冻结数量"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_freeze"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="销售二公司"
android:textColor="@color/flexible_text_sup"
android:textSize="14sp" />
</RelativeLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
\ No newline at end of file
<?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="wrap_content"
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:orientation="vertical"
android:paddingHorizontal="20mm"
android:paddingVertical="10mm">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SO10579"
android:textColor="@color/black"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="2019-11-26 16:65:43"
android:textColor="@color/flexible_text_gray" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8mm"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="订单类别:"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_order_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="销售订单"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10mm"
android:text="数量:"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10mm"
android:text="0"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_flow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="查看流水>"
android:textColor="@color/flexible_text_gray" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8mm"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="入库中:"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10000"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10mm"
android:text="出库中:"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10000"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<?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="wrap_content"
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:orientation="vertical"
android:paddingHorizontal="20mm"
android:paddingVertical="10mm">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SO10579"
android:textColor="@color/black"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="2019-11-26 16:65:43"
android:textColor="@color/flexible_text_gray" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8mm"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="订单号:"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_order_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="销售订单"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
</LinearLayout>
<ImageView
android:layout_width="15mm"
android:layout_height="15mm"
android:src="@mipmap/arrow_right_gray" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8mm"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="流水类别:"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_flow_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10000"
android:textColor="@color/flexible_text_gray"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论