提交 4c7ae0d4 authored 作者: lgd's avatar lgd

1.bat页面商店第一个页面,客户

2.//TODO erp用户激活,忘记密码测试,bat,mes,消息,我的,刷新token
上级 0d812260
......@@ -105,6 +105,14 @@
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.StoreSaleClientActivity"
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"
......
......@@ -39,7 +39,8 @@ public class WorkApp extends BaseApp {
RtfHelper.getInstance().init(ApiService.DOMAIN, chain -> {
Request original = chain.request();
Request request = original.newBuilder()
.header("Authorization", UserKeeper.getInstance().getToken())
.header("Authorization", "Bearer "+UserKeeper.getInstance().getToken())
.header("userId",UserKeeper.getInstance().getUserId())
.method(original.method(), original.body())
.build();
......
package com.wd.workoffice.contract;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.bean.DepBean;
import java.util.List;
......@@ -28,7 +29,7 @@ public interface BatSaleContract {
void productList(List<Object> dataList);
void depList(List<Object> dataList);
void depList(List<DepBean> dataList);
}
interface Presenter extends IBasePresenter<View> {
......
......@@ -28,6 +28,6 @@ public class BatSaleModel implements BatSaleContract.Model {
@Override
public Observable<BaseBean> getDep(String permission) {
return RtfUtils.getRtf().getDepByPermisson(permission);
return RtfUtils.getRtf().getDepByPermission(permission);
}
}
package com.wd.workoffice.presenter;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.contract.BatSaleContract;
import com.wd.workoffice.contract.ForgetOneContract;
import com.wd.workoffice.model.BatSaleModel;
......@@ -77,7 +79,7 @@ public class BatSalePresenter extends BasePresenter<BatSaleContract.View, BatSal
mView.onError(data.getMessage());
return;
}
// mView.depList();
mView.depList(JSON.parseArray(data.getData().toString(), DepBean.class));
}
});
}
......
......@@ -69,8 +69,8 @@ public class UserRegisterThreePresenter extends BasePresenter<UserRegisterThreeC
mView.onError(data.getMessage());
return;
}
mView.depSuccess(JSON.parseArray(data.getData().toString(),DepBean.class));
}
mView.depSuccess(JSON.parseArray(data.getData().toString(), DepBean.class));
}
});
}
......
......@@ -209,7 +209,7 @@ public interface ApiService {
* @return
*/
@GET("/sub-process/dept-list")
Observable<BaseBean> getDepByPermisson(String permission);
Observable<BaseBean> getDepByPermission(@Query("permission") String permission);
/**
* 根据部门、流程、往来单位获取子流程
......@@ -219,7 +219,17 @@ public interface ApiService {
* @return
*/
@GET("/sub-process/listByDPT")
Observable<BaseBean> getProcess(String processCode, String transitPartId);
Observable<BaseBean> getProcess(@Query("processCode") String processCode, @Query("transitPartId") String transitPartId);
/**
* 根据往来单位的类别 获取当前用户所维护的往来单位列表
*
* @param name
* @param partTypeCode partTypeCode:SUPPLIER-供应商
* * CUSTOMER-客户
* * TRANSPORTERS-运输商
* @return
*/
@GET("/transitpart/page/list/current-user/part-type")
Observable<BaseBean> getClient(@QueryMap Map<String, Object> param);
}
......@@ -8,10 +8,13 @@ import android.widget.TextView;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.bean.workEnum.PermissType;
import com.wd.workoffice.contract.BatSaleContract;
import com.wd.workoffice.presenter.BatSalePresenter;
import com.wd.workoffice.util.DialogUtils;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
......@@ -23,7 +26,6 @@ import butterknife.OnClick;
*/
public class StoreSaleActivity extends WorkToolBarActivity implements BatSaleContract.View {
@BindView(R.id.tv_client)
TextView tvClient;
@BindView(R.id.rl_client)
......@@ -42,16 +44,21 @@ public class StoreSaleActivity extends WorkToolBarActivity implements BatSaleCon
RelativeLayout rlProduct;
private BatSalePresenter batSalePresenter;
private QMUIDialog.MenuDialogBuilder depDialog;
private List<DepBean> depList;
List<String> depNameList = new ArrayList<>();
private DepBean chooseDep;
@Override
protected void initView() {
ButterKnife.bind(this);
batSalePresenter = new BatSalePresenter();
batSalePresenter.onAttach(this);
depDialog = DialogUtils.listDialog(this);
}
@Override
protected void initData() {
batSalePresenter.getDep(PermissType.ES_SELL.getCode());
}
@Override
......@@ -68,11 +75,16 @@ public class StoreSaleActivity extends WorkToolBarActivity implements BatSaleCon
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.rl_client:
startActivity(StoreSaleClientActivity.class);
break;
case R.id.rl_dep:
depDialog.show();
break;
case R.id.rl_process:
if (chooseDep==null){
toast("请先选择客户");
return;
}
break;
case R.id.rl_product:
break;
......@@ -90,11 +102,17 @@ public class StoreSaleActivity extends WorkToolBarActivity implements BatSaleCon
}
@Override
public void depList(List<Object> dataList) {
depDialog.addItems(dataList.toArray(new String[dataList.size()]), new DialogInterface.OnClickListener() {
public void depList(List<DepBean> dataList) {
depList = dataList;
for (DepBean dep : dataList) {
depNameList.add(dep.getName());
}
depDialog.addItems(depNameList.toArray(new String[depNameList.size()]), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
chooseDep = depList.get(which);
tvDep.setText(depNameList.get(which));
dialog.dismiss();
}
});
}
......
package com.wd.workoffice.ui.activity.bat;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.ClientBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.StoreClientAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
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;
/*
* 商店-销售-选择客户
*/
public class StoreSaleClientActivity extends WorkToolBarActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.btn_search)
Button btnSearch;
@BindView(R.id.rv_client)
RecyclerView rvClient;
private Map<String, Object> param;
private List<ClientBean.RecordsBean> clientList;
private StoreClientAdapter clientAdapter;
private int page = 1;
@Override
protected void initView() {
ButterKnife.bind(this);
clientList = new ArrayList<>();
clientAdapter = new StoreClientAdapter(R.layout.item_store_client, clientList);
clientAdapter.bindToRecyclerView(rvClient);
param = WorkUtils.pageKey();
param.put("partTypeCode", "CUSTOMER");
param.put("name", "CUSTOMER");
}
@Override
protected void initData() {
}
private void getData() {
RtfUtils.getRtf().getClient(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
hideLoading();
if (data.getCode() != 0) {
toast(data.getMessage());
return;
}
List<ClientBean.RecordsBean> dataList = JSON.parseObject(data.getData().toString(),ClientBean.class).getRecords();
if (page == 1) {
clientList.clear();
clientList.addAll(dataList);
clientAdapter.notifyDataSetChanged();
clientAdapter.loadMoreComplete();
} else {
clientAdapter.loadMoreComplete();
clientList.addAll(dataList);
clientAdapter.notifyDataSetChanged();
}
if (dataList.size() == 0) {
clientAdapter.loadMoreEnd();
} else {
page++;
}
}
});
}
@Override
protected void initEvent() {
clientAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("page", page);
getData();
}
}, rvClient);
clientAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
}
});
}
@Override
......@@ -46,5 +121,8 @@ public class StoreSaleClientActivity extends WorkToolBarActivity {
@OnClick(R.id.btn_search)
public void onViewClicked() {
param.put("name", etKey.getText().toString());
param.put("page", 1);
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.bean.ClientBean;
import com.wd.workoffice.bean.vo.BatLayoutVo;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class StoreClientAdapter extends BaseQuickAdapter<ClientBean.RecordsBean, BaseViewHolder> {
public StoreClientAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, ClientBean.RecordsBean item) {
helper.setText(R.id.tv_name, item.getName());
}
}
......@@ -126,13 +126,22 @@ public class MainFragment extends WorkBaseFg {
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (position){
case 0:
startActivity(StoreSaleActivity.class);
break;
}
}
});
break;
case R.id.rv_store:
batLayoutAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (position){
case 0:
startActivity(StoreSaleActivity.class);
break;
}
}
});
break;
case R.id.rv_product:
break;
......
......@@ -4,7 +4,6 @@ package com.wd.workoffice.util;
import android.text.TextUtils;
import com.alibaba.fastjson.JSON;
import com.google.android.material.textfield.TextInputEditText;
import com.wd.workoffice.bean.TokenBean;
import flexible.xd.android_base.utils.SPUtils;
......@@ -57,6 +56,16 @@ public class UserKeeper {
}
return tokenBean.getAccess_token();
}
public String getUserId() {
if (TextUtils.isEmpty(sp.getString(LOGIN_INFO))) {
return "";
}
TokenBean tokenBean = JSON.parseObject(sp.getString(LOGIN_INFO), TokenBean.class);
if (tokenBean == null || tokenBean.getUserId()==0) {
return "";
}
return tokenBean.getUserId()+"";
}
public void clearAll() {
clearLoginInfo();
......
......@@ -10,9 +10,11 @@ import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.R;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.app.WorkApp;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import okhttp3.MediaType;
......@@ -34,11 +36,11 @@ public class WorkUtils {
return RequestBody.create(MediaType.parse("application/json; charset=utf-8"), JSON.toJSONString(map));
}
// public static Map<String, Object> pageKey() {
// Map<String, Object> param = new HashMap<>();
// param.put("size", Config.SIZE);
// return param;
// }
public static Map<String, Object> pageKey() {
Map<String, Object> param = new HashMap<>();
param.put("size", Config.SIZE);
return param;
}
public static File uriToFile(Uri uri, Context context) {
String path = null;
......
<?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:orientation="vertical">
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1243"
android:textSize="16sp"
android:padding="10mm" />
</LinearLayout>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论