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

1.审批

2.//TODO erp用户激活测试,忘记/重置密码测试,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,组装下单,产品下单还差附件测试,mes,刷新token
上级 97615e66
......@@ -1112,7 +1112,22 @@
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.approval.ApprovalFromMeActivity"
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.approval.ApprovalToMeActivity"
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.bean;
import java.util.List;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ApprovalBean {
private List<RecordsBean> records;
public List<RecordsBean> getRecords() {
return records;
}
public void setRecords(List<RecordsBean> records) {
this.records = records;
}
public static class RecordsBean {
/**
* createdBy : null
* createdByName : null
* createdTime : 2020-01-13 16:45:38
* updatedBy : 111
* updatedByName : null
* updatedTime : 2020-01-17 17:18:43
* id : 161
* flowId : 6
* flowCode : SO_INSTORE
* orderType : SO
* orderId : SO10628
* targetId : null
* linkSerialNumber : INI20011316453845
* targetType : SO
* status : 1
* currentNodeCode : SO_INSTORE
* sponsor : 680
* flowName : 销售订单入库审批
* statusList : null
* statusFilter : null
* statusName : 已通过
*/
private Object createdBy;
private Object createdByName;
private String createdTime;
private int updatedBy;
private Object updatedByName;
private String updatedTime;
private int id;
private int flowId;
private String flowCode;
private String orderType;
private String orderId;
private Object targetId;
private String linkSerialNumber;
private String targetType;
private String status;
private String currentNodeCode;
private int sponsor;
private String flowName;
private Object statusList;
private Object statusFilter;
private String statusName;
public Object getCreatedBy() {
return createdBy;
}
public void setCreatedBy(Object 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 int getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(int 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 getFlowId() {
return flowId;
}
public void setFlowId(int flowId) {
this.flowId = flowId;
}
public String getFlowCode() {
return flowCode;
}
public void setFlowCode(String flowCode) {
this.flowCode = flowCode;
}
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 Object getTargetId() {
return targetId;
}
public void setTargetId(Object targetId) {
this.targetId = targetId;
}
public String getLinkSerialNumber() {
return linkSerialNumber;
}
public void setLinkSerialNumber(String linkSerialNumber) {
this.linkSerialNumber = linkSerialNumber;
}
public String getTargetType() {
return targetType;
}
public void setTargetType(String targetType) {
this.targetType = targetType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCurrentNodeCode() {
return currentNodeCode;
}
public void setCurrentNodeCode(String currentNodeCode) {
this.currentNodeCode = currentNodeCode;
}
public int getSponsor() {
return sponsor;
}
public void setSponsor(int sponsor) {
this.sponsor = sponsor;
}
public String getFlowName() {
return flowName;
}
public void setFlowName(String flowName) {
this.flowName = flowName;
}
public Object getStatusList() {
return statusList;
}
public void setStatusList(Object statusList) {
this.statusList = statusList;
}
public Object getStatusFilter() {
return statusFilter;
}
public void setStatusFilter(Object statusFilter) {
this.statusFilter = statusFilter;
}
public String getStatusName() {
return statusName;
}
public void setStatusName(String statusName) {
this.statusName = statusName;
}
}
}
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.bean.ProDetail;
import com.wd.workoffice.ui.fg.ApprovalToMeFragment;
import java.util.Map;
......@@ -351,7 +352,7 @@ public interface ApiService {
* @return
*/
@GET("/product/app/detail/{productId}")
Observable<ProDetail> getProDetail(@Path("productId") Integer id);
Observable<ProDetail> getProDetail(@Path("productId") String id);
/**
* 产品详情
......@@ -1564,5 +1565,19 @@ public interface ApiService {
Observable<BaseBean> packageApply(@Path("applyId") String id,@Body RequestBody requestBody);
/**
* 待我审核&&已审核
*
* @return
*/
@GET("/biz-approval/page/list")
Observable<BaseBean> bizApproval(@QueryMap Map<String, Object> param);
/**
* 我发起的审批
*
* @return
*/
@GET("/biz-approval/by-me")
Observable<BaseBean> bizMeApproval(@QueryMap Map<String, Object> param);
}
package com.wd.workoffice.ui.activity.bat.approval;
import android.os.Bundle;
import android.view.Menu;
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.order.SendApplyAddActivity;
import com.wd.workoffice.ui.adapter.VpDataAdapter;
import com.wd.workoffice.ui.fg.ApprovalFromMeFragment;
import com.wd.workoffice.ui.fg.ApprovalToMeFragment;
import com.wd.workoffice.ui.fg.SendApplyFragment;
import java.util.ArrayList;
import java.util.List;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.viewpager.widget.ViewPager;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* 我发起的
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ApprovalFromMeActivity extends WorkToolBarActivity {
@BindView(R.id.tl_tab)
TabLayout tlTab;
@BindView(R.id.vp_data)
ViewPager vpData;
private String tab[] = {
"待我审批", "我已审批"};
private String order[] = {
"0", "1"};
@Override
protected void initView() {
ButterKnife.bind(this);
tlTab.setupWithViewPager(vpData);
tlTab.setTabMode(TabLayout.MODE_FIXED);
}
@Override
protected void initData() {
FragmentManager sfm = getSupportFragmentManager();
List<Fragment> data = new ArrayList<>();
for (int i = 0; i < tab.length; i++) {
ApprovalFromMeFragment saleFragment = new ApprovalFromMeFragment();
Bundle bundle = new Bundle();
bundle.putString("state", order[i]);
bundle.putString("orderId", getIntent().getStringExtra("orderId"));
bundle.putString("orderType", getIntent().getStringExtra("orderType"));
saleFragment.setArguments(bundle);
data.add(saleFragment);
}
VpDataAdapter vpFgAdapter = new VpDataAdapter(sfm, data);
vpData.setAdapter(vpFgAdapter);
for (int i = 0; i < tab.length; i++) {
tlTab.getTabAt(i).setText(tab[i]);
}
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_order;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_add, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add:
startActivity(SendApplyAddActivity.class,
"orderType", getIntent().getStringExtra("orderType"),
"id", getIntent().getStringExtra("orderId"));
break;
}
return super.onOptionsItemSelected(item);
}
}
package com.wd.workoffice.ui.activity.bat.approval;
import android.os.Bundle;
import android.view.Menu;
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.order.SendApplyAddActivity;
import com.wd.workoffice.ui.adapter.VpDataAdapter;
import com.wd.workoffice.ui.fg.ApprovalToMeFragment;
import com.wd.workoffice.ui.fg.SendApplyFragment;
import java.util.ArrayList;
import java.util.List;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.viewpager.widget.ViewPager;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* 待我审批
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ApprovalToMeActivity extends WorkToolBarActivity {
@BindView(R.id.tl_tab)
TabLayout tlTab;
@BindView(R.id.vp_data)
ViewPager vpData;
private String tab[] = {
"待我审批", "我已审批"};
private String order[] = {
"0", "1"};
@Override
protected void initView() {
ButterKnife.bind(this);
tlTab.setupWithViewPager(vpData);
tlTab.setTabMode(TabLayout.MODE_FIXED);
}
@Override
protected void initData() {
FragmentManager sfm = getSupportFragmentManager();
List<Fragment> data = new ArrayList<>();
for (int i = 0; i < tab.length; i++) {
ApprovalToMeFragment saleFragment = new ApprovalToMeFragment();
Bundle bundle = new Bundle();
bundle.putString("state", order[i]);
bundle.putString("orderId", getIntent().getStringExtra("orderId"));
bundle.putString("orderType", getIntent().getStringExtra("orderType"));
saleFragment.setArguments(bundle);
data.add(saleFragment);
}
VpDataAdapter vpFgAdapter = new VpDataAdapter(sfm, data);
vpData.setAdapter(vpFgAdapter);
for (int i = 0; i < tab.length; i++) {
tlTab.getTabAt(i).setText(tab[i]);
}
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_order;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_add, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add:
startActivity(SendApplyAddActivity.class,
"orderType", getIntent().getStringExtra("orderType"),
"id", getIntent().getStringExtra("orderId"));
break;
}
return super.onOptionsItemSelected(item);
}
}
......@@ -120,13 +120,21 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
ButterKnife.bind(this);
rvPro.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
rvProcess.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
status = Integer.valueOf(getIntent().getStringExtra("status"));
identity = getIntent().getStringExtra("identity");
if (TextUtils.equals(identity, "1")) {//销售1
} else {
rlDep.setVisibility(View.GONE);
}
if (!TextUtils.isEmpty(getIntent().getStringExtra("status"))) {
status = Integer.valueOf(getIntent().getStringExtra("status"));
changView(status);
}
}
private void changView(Integer status) {
switch (status) {
// private String tab[] = {
// "全部", "待审核", "待接单", "待生产", "已入库",
......@@ -171,7 +179,7 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
flowAdapter.bindToRecyclerView(rvProcess);
flowAdapter.setEmptyView(R.layout.view_empty_order, rvProcess);
proList = new ArrayList<>();
proAdapter = new OrderDetailProductAdapter(R.layout.item_order_product, proList, status);
proAdapter = new OrderDetailProductAdapter(R.layout.item_order_product, proList, status == null ? 0 : status);
proAdapter.bindToRecyclerView(rvPro);
proAdapter.setEmptyView(R.layout.view_empty_order, rvPro);
}
......@@ -200,6 +208,7 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
flowList.addAll(dataBean.getOrderFlows());
flowAdapter.notifyDataSetChanged();
proList.addAll(dataBean.getOrderItems());
proAdapter.setStatus(dataBean.getStatus());
proAdapter.notifyDataSetChanged();
tvName.setText(dataBean.getCustomerName());
tvDep.setText(dataBean.getReceiveDeptName());
......@@ -222,6 +231,7 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
tvDesc.setText(dataBean.getAttrName());
tvStatus.setText(dataBean.getStatusName());
changView(dataBean.getStatus());
}
});
}
......@@ -244,7 +254,7 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
case R.id.tv_add:
startActivity(AddStockApplyActivity.class,
"status", dataBean.getStatus() + "",
"orderType", dataBean.getExpandInfo().getOrderType() ,
"orderType", dataBean.getExpandInfo().getOrderType(),
"num", proList.get(position).getCanInStoreProductSum() + "",
"product", proList.get(position).getProductName(),
"simpleCode", proList.get(position).getProductSimpleCode(),
......@@ -256,7 +266,7 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
startActivity(ReturnApplyActivity.class,
"status", dataBean.getStatus() + "",
"num", proList.get(position).getStoreSum() + "",
"orderType", dataBean.getExpandInfo().getOrderType() ,
"orderType", dataBean.getExpandInfo().getOrderType(),
"product", proList.get(position).getProductName(),
"simpleCode", proList.get(position).getProductSimpleCode(),
"orderId", getIntent().getStringExtra("id"),
......
......@@ -75,6 +75,7 @@ public class WorkProDetailActivity extends WorkToolBarActivity {
@BindView(R.id.ll_dep)
LinearLayout llDep;
private ProductBean.RecordsBean proBean;
private String id;
@Override
protected void initView() {
......@@ -86,7 +87,8 @@ public class WorkProDetailActivity extends WorkToolBarActivity {
String pro = getIntent().getStringExtra("pro");
if (!TextUtils.isEmpty(pro)) {
proBean = JSON.parseObject(pro, ProductBean.RecordsBean.class);
getData(proBean.getId());
id=proBean.getId()+"";
getData(id);
tvCard.setText(proBean.getSoleCode());
tvImgCard.setText(proBean.getSimpleCode());
tvName.setText(proBean.getName());
......@@ -98,10 +100,13 @@ public class WorkProDetailActivity extends WorkToolBarActivity {
tvPrice.setText(String.valueOf(proBean.getInternalPrice()));
tvStatus.setText(TextUtils.equals(proBean.getStatus(), "1") ? "正常" : "冻结");
tvProcess.setText(proBean.getProcessType());
}else {
id=getIntent().getStringExtra("id");
getData(id);
}
}
private void getData(Integer id) {
private void getData(String id) {
RtfUtils.getRtf().getProDetail(id).compose(Transformer.schedule()).subscribe(new WorkObserver<ProDetail>() {
@Override
public void doOnSubscribe(Disposable d) {
......@@ -121,6 +126,19 @@ public class WorkProDetailActivity extends WorkToolBarActivity {
return;
}
ProDetail.DataBean info = data.getData();
ProDetail.DataBean.ProductInfoBean productInfo = info.getProductInfo();
tvCard.setText(productInfo.getSoleCode());
tvImgCard.setText(productInfo.getSimpleCode());
tvName.setText(productInfo.getName());
tvSpec.setText(productInfo.getSpec());
tvClazz.setText(productInfo.getProductTypeName());
tvKind.setText(productInfo.getOfKind());
tvUnit.setText(productInfo.getUnit());
tvWeight.setText(String.valueOf(productInfo.getWeight()));
tvPrice.setText(String.valueOf(productInfo.getInternalPrice()));
tvStatus.setText(TextUtils.equals(productInfo.getStatus(), "1") ? "正常" : "冻结");
tvProcess.setText(productInfo.getProcessType());
if (info.getOutDeptRelList() != null && info.getOutDeptRelList().size() != 0) {
tvDep.setText(info.getOutDeptRelList().get(0).getDeptName());
llOnSale.setVisibility(View.VISIBLE);
......@@ -135,7 +153,6 @@ public class WorkProDetailActivity extends WorkToolBarActivity {
tvDepPerson.setText("维护人:" + depData.getAccountName());
tvDepPersonPhone.setText("维护人手机号:" + depData.getPhone());
tvDepPersonDep.setText("维护部门:" + depData.getDeptName());
}
// transitPartRelList 往来单位关联
......@@ -164,7 +181,7 @@ public class WorkProDetailActivity extends WorkToolBarActivity {
@OnClick(R.id.btn_price)
public void onViewClicked() {
startActivity(WorkProPriceActivity.class, "id", proBean.getId() + "");
startActivity(WorkProPriceActivity.class, "id", id);
}
}
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.ApprovalBean;
import com.wd.workoffice.bean.SendApplyBean;
import com.wd.workoffice.util.WorkUtils;
import java.util.List;
import androidx.annotation.Nullable;
/**
* Created by flexible on 2018/8/13.
*/
public class ApprovalAdapter extends BaseQuickAdapter<ApprovalBean.RecordsBean, BaseViewHolder> {
public ApprovalAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, ApprovalBean.RecordsBean item) {
helper.setText(R.id.tv_title, item.getFlowName());
helper.setText(R.id.tv_status, WorkUtils.getFinancialStatus(Integer.valueOf(item.getStatus())));
helper.setText(R.id.tv_time, item.getCreatedTime());
}
}
......@@ -24,6 +24,13 @@ public class OrderDetailProductAdapter extends BaseQuickAdapter<OrderDetail.Orde
this.status = status;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
@Override
protected void convert(BaseViewHolder helper, OrderDetail.OrderItemsBean item) {
......
package com.wd.workoffice.ui.fg;
import android.os.Bundle;
import android.text.TextUtils;
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.app.BaseBean;
import com.wd.workoffice.app.WorkBaseFg;
import com.wd.workoffice.bean.ApprovalBean;
import com.wd.workoffice.bean.event.CheckSendEvent;
import com.wd.workoffice.bean.workEnum.OrderType;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.ProductOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.order.SaleOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.work.WorkContactsOpenTicketActivity;
import com.wd.workoffice.ui.activity.bat.work.WorkProDetailActivity;
import com.wd.workoffice.ui.adapter.ApprovalAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
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 ApprovalFromMeFragment extends WorkBaseFg {
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
private String state;
private int page = 1;
private Map<String, Object> param;
private ApprovalAdapter dataAdapter;
private List<ApprovalBean.RecordsBean> dataList;
@Override
protected void initView() {
ButterKnife.bind(this, getContentView());
rvData.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
param = WorkUtils.pageKey();
param.put("statusFilter", state);
// param.put("orderId", orderId);
page = 1;
param.put("current", page);
dataList = new ArrayList<>();
dataAdapter = new ApprovalAdapter(R.layout.item_approval, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
getData();
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
if (arguments != null) {
state = arguments.getString("state");
}
}
private void getData() {
RtfUtils.getRtf().bizMeApproval(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<ApprovalBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), ApprovalBean.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) {
ApprovalBean.RecordsBean approval = dataList.get(position);
if (TextUtils.equals("SO_INVOICE", approval.getFlowCode())) {
startActivity(WorkContactsOpenTicketActivity.class);
} else {
if (TextUtils.equals(OrderType.SALE.getCode(), approval.getOrderType())) {
startActivity(SaleOrderDetailActivity.class,
"identity", "1",
"id", approval.getOrderId());
} else if (TextUtils.equals(OrderType.BUILD.getCode(), approval.getOrderType())) {
startActivity(ProductOrderDetailActivity.class,
"identity", "1",
"id", approval.getOrderId());
} else if (TextUtils.equals("PM", approval.getOrderType())) {
startActivity(WorkProDetailActivity.class,
"id", approval.getId()+"");
}
}
}
});
}
@Override
protected int layoutId() {
return R.layout.fg_work_contacts;
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void refresh(CheckSendEvent event) {
page = 1;
param.put("current", page);
getData();
}
}
package com.wd.workoffice.ui.fg;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
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.WorkBaseFg;
import com.wd.workoffice.bean.ApprovalBean;
import com.wd.workoffice.bean.SendApplyBean;
import com.wd.workoffice.bean.event.CheckSendEvent;
import com.wd.workoffice.bean.workEnum.OrderType;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.ProductOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.order.SaleOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.order.SendApplyDetailActivity;
import com.wd.workoffice.ui.activity.bat.work.WorkContactsOpenTicketActivity;
import com.wd.workoffice.ui.activity.bat.work.WorkProDetailActivity;
import com.wd.workoffice.ui.adapter.ApprovalAdapter;
import com.wd.workoffice.ui.adapter.SendApplyAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
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 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 ApprovalToMeFragment extends WorkBaseFg {
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
private String state;
private int page = 1;
private Map<String, Object> param;
private ApprovalAdapter dataAdapter;
private List<ApprovalBean.RecordsBean> dataList;
@Override
protected void initView() {
ButterKnife.bind(this, getContentView());
rvData.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
param = WorkUtils.pageKey();
param.put("linkUserStatus", state);
page = 1;
param.put("current", page);
dataList = new ArrayList<>();
dataAdapter = new ApprovalAdapter(R.layout.item_approval, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
getData();
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
if (arguments != null) {
state = arguments.getString("state");
}
}
private void getData() {
RtfUtils.getRtf().bizApproval(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<ApprovalBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), ApprovalBean.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) {
ApprovalBean.RecordsBean approval = dataList.get(position);
if (TextUtils.equals("SO_INVOICE", approval.getFlowCode())) {
startActivity(WorkContactsOpenTicketActivity.class);
} else {
if (TextUtils.equals(OrderType.SALE.getCode(), approval.getOrderType())) {
startActivity(SaleOrderDetailActivity.class,
"identity", "1",
"id", approval.getOrderId());
} else if (TextUtils.equals(OrderType.BUILD.getCode(), approval.getOrderType())) {
startActivity(ProductOrderDetailActivity.class,
"identity", "1",
"id", approval.getOrderId());
} else if (TextUtils.equals("PM", approval.getOrderType())) {
startActivity(WorkProDetailActivity.class,
"id", approval.getLinkSerialNumber());
}
}
}
});
}
@Override
protected int layoutId() {
return R.layout.fg_work_contacts;
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void refresh(CheckSendEvent event) {
page = 1;
param.put("current", page);
getData();
}
}
......@@ -11,6 +11,8 @@ import com.wd.workoffice.app.WorkBaseFg;
import com.wd.workoffice.bean.vo.BatLayoutVo;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.approval.ApprovalFromMeActivity;
import com.wd.workoffice.ui.activity.bat.approval.ApprovalToMeActivity;
import com.wd.workoffice.ui.activity.bat.order.sale.SaleCrucibleOrderActivity;
import com.wd.workoffice.ui.activity.bat.order.sale.SaleProductOrderActivity;
import com.wd.workoffice.ui.activity.bat.store.StoreFinancialActivity;
......@@ -286,6 +288,19 @@ public class MainFragment extends WorkBaseFg {
});
break;
case R.id.rv_approval:
batLayoutAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (position) {
case 0:
startActivity(ApprovalToMeActivity .class);
break;
case 1:
startActivity(ApprovalFromMeActivity.class);
break;
}
}
});
break;
}
}
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:paddingHorizontal="20mm"
android:paddingVertical="10mm">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentLeft="true">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3mm"
android:textColor="@color/flexible_text_sup" />
</LinearLayout>
<TextView
android:id="@+id/tv_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textColor="@color/red" />
</RelativeLayout>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论