提交 5b28ac69 authored 作者: lgd's avatar lgd

1.添加刪除部门管理员

2.//TODO 坩埚下单,mes其他页面,mes用户反馈空也展示,编辑任务担当无法修改
上级 16a8d156
package com.wd.workoffice.bean.event;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class ModifyDepPersonEvent {
public ModifyDepPersonEvent() {
}
}
......@@ -11,6 +11,7 @@ import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
......@@ -1922,5 +1923,21 @@ public interface ApiService {
@GET("/dept-account-balance/app/account-balance-info")
Observable<BaseBean> depMoney();
/**
* 移除部门管理员
*
* @return
*/
@DELETE("/sys/dept/ruler")
Observable<BaseBean> deleteDeptRuler(@Query("userId")String userId,@Query("deptId")String deptId);
/**
* 设置部门管理员
*
* @return
*/
@PUT("/sys/dept/ruler")
Observable<BaseBean> addDeptRuler(@Query("userId")String userId,@Body RequestBody requestBody);
}
......@@ -130,13 +130,6 @@ public class WorkDepActivity extends WorkToolBarActivity {
startActivity(WorkDepDetailActivity.class, "id", dataList.get(position).getId() + "");
}
});
// dataAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
// @Override
// public void onLoadMoreRequested() {
// param.put("current", page);
// getData();
// }
// }, rvData);
}
@Override
......
......@@ -10,10 +10,16 @@ import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.bean.event.ModifyCarEvent;
import com.wd.workoffice.bean.event.ModifyDepPersonEvent;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.List;
import butterknife.BindView;
......@@ -130,7 +136,24 @@ public class WorkDepDetailActivity extends WorkToolBarActivity {
return;
}
startActivity(WorkDepPersonActivity.class,
"depId",getIntent().getStringExtra("id"),
"simple", JSON.toJSONString(dataBean.getDeptUserList()),
"manage", JSON.toJSONString(dataBean.getDeptRulerList()));
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(ModifyDepPersonEvent event) {
getData();
}
}
package com.wd.workoffice.ui.activity.bat.work;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
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.DepBean;
import com.wd.workoffice.bean.DeviceBean;
import com.wd.workoffice.bean.event.ModifyDepPersonEvent;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.WorkDepManageAdapter;
import com.wd.workoffice.util.UserKeeper;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* 部门成员
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
......@@ -37,6 +51,9 @@ public class WorkDepPersonActivity extends WorkToolBarActivity {
private List<String> simpleList;
private WorkDepManageAdapter manageAdapter;
private WorkDepManageAdapter simpleAdapter;
private List<DepBean.DeptUserListBean> simple;
private List<DepBean.DeptUserListBean> manage;
private String depId;
@Override
protected void initView() {
......@@ -48,14 +65,15 @@ public class WorkDepPersonActivity extends WorkToolBarActivity {
@Override
protected void initData() {
List<DepBean.DeptUserListBean> simple = JSON.parseArray(getIntent().getStringExtra("simple"), DepBean.DeptUserListBean.class);
List<DepBean.DeptRulerListBean> manage = JSON.parseArray(getIntent().getStringExtra("manage"), DepBean.DeptRulerListBean.class);
depId = getIntent().getStringExtra("depId");
simple = JSON.parseArray(getIntent().getStringExtra("simple"), DepBean.DeptUserListBean.class);
manage = JSON.parseArray(getIntent().getStringExtra("manage"), DepBean.DeptUserListBean.class);
manageList = new ArrayList<>();
simpleList = new ArrayList<>();
for (DepBean.DeptUserListBean deptUserListBean : simple) {
simpleList.add(deptUserListBean.getNickName());
}
for (DepBean.DeptRulerListBean deptUserListBean : manage) {
for (DepBean.DeptUserListBean deptUserListBean : manage) {
manageList.add(deptUserListBean.getNickName());
}
if (manageList.size() == 0) {
......@@ -64,8 +82,12 @@ public class WorkDepPersonActivity extends WorkToolBarActivity {
if (simpleList.size() == 0) {
tvSimple.setVisibility(View.GONE);
}
manageAdapter = new WorkDepManageAdapter(R.layout.item_store_client, manageList);
simpleAdapter = new WorkDepManageAdapter(R.layout.item_store_client, simpleList);
boolean isManager =false;
if (TextUtils.equals(UserKeeper.getInstance().getUserDepId(), depId)&&TextUtils.equals( UserKeeper.getInstance().getUserDepRuler(),"1")){
isManager=true;
}
manageAdapter = new WorkDepManageAdapter(R.layout.item_work_dep_person, manageList,0,isManager);
simpleAdapter = new WorkDepManageAdapter(R.layout.item_work_dep_person, simpleList,1,isManager);
manageAdapter.bindToRecyclerView(rvManger);
simpleAdapter.bindToRecyclerView(rvSimple);
}
......@@ -73,6 +95,108 @@ public class WorkDepPersonActivity extends WorkToolBarActivity {
@Override
protected void initEvent() {
manageAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
removeManager(i);
}
});
simpleAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
addManager(i);
}
});
}
private void addManager(int position) {
Map<String, Object> param = WorkUtils.simpleParam();
param.put("userId",simple.get(position).getId());
RtfUtils.getRtf().addDeptRuler(simple.get(position).getId()+"",WorkUtils.convertMapToBody(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;
}
toast("操作成功");
DepBean.DeptUserListBean dataBean = simple.get(position);
manage.add(dataBean);
simple.remove(position);
simpleList.clear();
manageList.clear();
for (DepBean.DeptUserListBean deptUserListBean : simple) {
simpleList.add(deptUserListBean.getNickName());
}
for (DepBean.DeptUserListBean deptUserListBean : manage) {
manageList.add(deptUserListBean.getNickName());
}
if (manageList.size() == 0) {
tvManage.setVisibility(View.GONE);
}
if (simpleList.size() == 0) {
tvSimple.setVisibility(View.GONE);
}
manageAdapter.notifyDataSetChanged();
simpleAdapter.notifyDataSetChanged();
EventBus.getDefault().post(new ModifyDepPersonEvent());
}
});
}
private void removeManager(int position) {
RtfUtils.getRtf().deleteDeptRuler(manage.get(position).getId()+"",depId).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;
}
toast("操作成功");
DepBean.DeptUserListBean dataBean = manage.get(position);
simple .add(dataBean);
manage.remove(position);
simpleList.clear();
manageList.clear();
for (DepBean.DeptUserListBean deptUserListBean : simple) {
simpleList.add(deptUserListBean.getNickName());
}
for (DepBean.DeptUserListBean deptUserListBean : manage) {
manageList.add(deptUserListBean.getNickName());
}
if (manageList.size() == 0) {
tvManage.setVisibility(View.GONE);
}
if (simpleList.size() == 0) {
tvSimple.setVisibility(View.GONE);
}
manageAdapter.notifyDataSetChanged();
simpleAdapter.notifyDataSetChanged();
EventBus.getDefault().post(new ModifyDepPersonEvent());
}
});
}
@Override
......
package com.wd.workoffice.ui.adapter;
import android.text.TextUtils;
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.util.UserKeeper;
import java.util.List;
......@@ -13,13 +16,36 @@ import java.util.List;
*/
public class WorkDepManageAdapter extends BaseQuickAdapter<String, BaseViewHolder> {
public WorkDepManageAdapter(int layoutResId, List data) {
int type;// 0 红色 1 灰色
boolean isManager;// 0 红色 1 灰色
public WorkDepManageAdapter(int layoutResId, List data, int type, boolean isManager) {
super(layoutResId, data);
this.type = type;
this.isManager = isManager;
}
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setText(R.id.tv_name, item);
if (isManager){
helper.setVisible(R.id.tv_add,true);
if (TextUtils.equals(item, UserKeeper.getInstance().getUserNickName())){
helper.setVisible(R.id.tv_add,false);
}
if (type ==0){
helper.setBackgroundRes(R.id.tv_add,R.drawable.shape_dialog_pro_ok);
helper.setText(R.id.tv_add,"移除管理员");
helper.setTextColor(R.id.tv_add,helper.itemView.getResources().getColor(R.color.red));
}else {
helper.setBackgroundRes(R.id.tv_add,R.drawable.shape_dialog_pro_cancel);
helper.setText(R.id.tv_add,"设为管理员");
helper.setTextColor(R.id.tv_add,helper.itemView.getResources().getColor(R.color.divider));
}
}else {
helper.setVisible(R.id.tv_add,false);
}
helper.addOnClickListener(R.id.tv_add);
}
}
<?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">
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="10mm"
android:paddingVertical="15mm"
android:text="1243"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_add"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:background="@drawable/shape_dialog_pro_cancel"
android:paddingHorizontal="10mm"
android:paddingVertical="4mm"
android:layout_marginRight="10mm"
android:text="设为管理员"
android:textSize="13sp" />
</RelativeLayout>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论