个人文档目录增删改

This commit is contained in:
itgaojian 2023-03-28 17:09:28 +08:00
parent c7c537404b
commit 7d7c2b8223
14 changed files with 816 additions and 443 deletions

View File

@ -10,8 +10,8 @@
{
"type": "SINGLE",
"filters": [],
"versionCode": 7,
"versionName": "1.0.7",
"versionCode": 9,
"versionName": "1.0.9",
"outputFile": "app-release.apk"
}
]

View File

@ -8,8 +8,8 @@ package com.tenlionsoft.baselib.core.retrofit_net;
public class BaseUrlApi {
// public static final String IP = "http://192.168.0.120:8082/";/* 测试IP */
public static final String IP = "http://121.36.71.250/";/* 测试IP */
// public static final String IP = "http://106.12.218.237:8002/";/* 公司IP */
// public static final String IP = "http://121.36.71.250/";/* 测试IP */
public static final String IP = "http://106.12.218.237:8002/";/* 公司IP */
// public static final String IP = "https://www.xzszwhy.cn/";/* 公司IP */
// public static final String IP = "http://www.wlcbsyzl.cn/";/* 正式IP */
// public static final String SYS_USERCENTER = "xzszwhy/";//西藏统一用户

View File

@ -24,7 +24,6 @@
style="@style/item_title"
android:text="目录名称" />
<View style="@style/vertical_line" />
<com.tenlionsoft.baselib.core.widget.views.TypeFaceEditText
android:id="@+id/et_name"
@ -42,7 +41,6 @@
style="@style/item_title"
android:text="排序编号" />
<View style="@style/vertical_line" />
<com.tenlionsoft.baselib.core.widget.views.TypeFaceEditText
android:id="@+id/et_order"
@ -55,13 +53,12 @@
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
style="@style/item_title_vertical"
android:drawableLeft="@drawable/ic_start_hint"
android:text="备注" />
<com.tenlionsoft.baselib.core.widget.views.TypeFaceEditText
android:id="@+id/et_remark"
style="@style/item_content_edit"
android:hint="请输入内容"
android:hint="请输入备注"
android:minLines="5" />
</LinearLayout>

View File

@ -490,7 +490,7 @@
<style name="item_title">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_weight">0.4</item>
<item name="android:layout_weight">0.3</item>
<item name="android:padding">2dp</item>
<item name="android:textColor">@color/black</item>
<item name="android:layout_gravity">center_vertical</item>

View File

@ -59,8 +59,8 @@ ext {
gCompileSdkVersion = 30
gMinSdkVersion = 19
gTargetSdkVersion = 30
gVersionCode = 7
gVersionName = '1.0.7'
gVersionCode = 9
gVersionName = '1.0.9'
gBuildToolsVersion = "29.0.2"
// gVersionCode=26
// gVersionName='1.3.0'

View File

@ -1,26 +1,36 @@
package com.tenlionsoft.oamodule.activity.document;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Color;
import android.view.View;
import android.widget.Button;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.google.android.flexbox.FlexDirection;
import com.google.android.flexbox.FlexWrap;
import com.google.android.flexbox.FlexboxLayoutManager;
import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.beans.BaseSuccessBean;
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.views.CustomStateView;
import com.tenlionsoft.baselib.core.widget.views.ItemSplitDivider;
import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.oamodule.R;
import com.tenlionsoft.oamodule.R2;
import com.tenlionsoft.oamodule.adapter.ChooseDocTypeAdapter;
import com.tenlionsoft.oamodule.adapter.SelDocTypeAdapter;
import com.tenlionsoft.oamodule.adapter.SelectedDocTypeAdapter;
import com.tenlionsoft.oamodule.beans.DocumentTypeList;
import com.tenlionsoft.oamodule.beans.SaveDocumentTypeBean;
import com.tenlionsoft.oamodule.net.OAApi;
import com.tenlionsoft.oamodule.widget.CenterDocTypeView;
import java.util.ArrayList;
import java.util.Iterator;
@ -33,6 +43,8 @@ import butterknife.ButterKnife;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* 作者: Adam
@ -52,6 +64,10 @@ public class ChooseDocTypeActivity extends BaseActivity {
CustomStateView mCsvState;
@BindView(R2.id.rlv_selected)
RecyclerView mRlvSelected;
@BindView(R2.id.btn_edit_type)
Button mBtnEditType;
@BindView(R2.id.btn_add_type)
Button mBtnAddType;
private List<Object> mSelCatalog = new ArrayList<>();
private SelDocTypeAdapter mTypeAdapter;
@ -91,8 +107,9 @@ public class ChooseDocTypeActivity extends BaseActivity {
mRlvSel.setLayoutManager(manager);
mTypeAdapter = new SelDocTypeAdapter(mActivity, mSelCatalog);
mRlvSel.setAdapter(mTypeAdapter);
mAdapter = new ChooseDocTypeAdapter(mActivity, mDatas);
mAdapter = new ChooseDocTypeAdapter(mActivity, mDatas, 1);
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvContent.addItemDecoration(new ItemSplitDivider(mActivity, LinearLayoutManager.VERTICAL, 1, Color.parseColor("#F4F4F4")));
mRlvContent.setAdapter(mAdapter);
mCsvState.setState(CustomStateView.STATE_LOAD);
mTvPublish.setVisibility(View.VISIBLE);
@ -175,6 +192,207 @@ public class ChooseDocTypeActivity extends BaseActivity {
}
mAdapter.setData(mDatas);
});
mBtnAddType.setOnClickListener(v -> {
showAddTypeDialog();
});
mBtnEditType.setOnClickListener(v -> {
int type = mAdapter.getType();
if (type == 1) {
mAdapter.setType(2);
mBtnEditType.setText("取消");
} else {
mAdapter.setType(1);
mBtnEditType.setText("编辑");
}
});
//编辑或删除
mAdapter.addOnControlListener(new ChooseDocTypeAdapter.OnControlListener() {
@Override
public void doEdit(DocumentTypeList bean, int pos) {
showEditDialog(bean);
}
@Override
public void doDel(DocumentTypeList bean, int pos) {
new AlertDialog.Builder(mActivity)
.setTitle("提示")
.setMessage("删除后该目录下所有文件将被删除,确定要删除该目录吗?")
.setPositiveButton("删除", (dialog, which) -> {
dialog.dismiss();
doDelType(bean);
})
.setNegativeButton("取消", (dialog, which) -> dialog.dismiss())
.create()
.show();
}
});
}
private void showEditDialog(DocumentTypeList bean) {
CenterDocTypeView typeDialog = new CenterDocTypeView.DialogBuilder(mActivity)
.setBean(bean)
.build();
typeDialog.addOnChoseListener((name, order, remark) -> {
//当前选中的目录
typeDialog.dismiss();
typeDialog.hideSoftKeyBoardDialog(mActivity);
doEditType(name, order, remark, bean);
});
typeDialog.show();
}
/**
* 编辑
*/
private void doEditType(String name, String order, String remark, DocumentTypeList bean) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "保存中...");
dialog.show();
RequestBody body = buildTypeEditParams(name, order, remark, bean);
RetrofitManager.getInstance()
.create(OAApi.class)
.doEditDocumentType(bean.getFileCatalogueId(), body)
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseSuccessBean baseSuccessBean) {
dialog.dismiss();
ToastUtils.show("修改成功");
getCataLogList();
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 删除
*
* @param bean
*/
private void doDelType(DocumentTypeList bean) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "删除中...");
dialog.show();
RetrofitManager.getInstance()
.create(OAApi.class)
.doDelDocumentType(bean.getFileCatalogueId())
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseSuccessBean baseSuccessBean) {
dialog.dismiss();
ToastUtils.show("删除成功");
getCataLogList();
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 显示目录添加
*/
private void showAddTypeDialog() {
CenterDocTypeView typeDialog = new CenterDocTypeView.DialogBuilder(mActivity)
.build();
typeDialog.addOnChoseListener((name, order, remark) -> {
//当前选中的目录
typeDialog.dismiss();
typeDialog.hideSoftKeyBoardDialog(mActivity);
doSaveType(name, order, remark);
});
typeDialog.show();
}
/**
* 保存目录
*/
private void doSaveType(String name, String order, String remark) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "保存中...");
dialog.show();
RequestBody body = buildTypeParams(name, order, remark);
RetrofitManager.getInstance()
.create(OAApi.class)
.doSaveDocumentType(body)
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseSuccessBean baseSuccessBean) {
dialog.dismiss();
ToastUtils.show("保存成功");
//刷新
getCataLogList();
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
private RequestBody buildTypeParams(String name, String order, String remark) {
SaveDocumentTypeBean bean = new SaveDocumentTypeBean();
bean.setName(name);
bean.setSortNum(Integer.parseInt(order));
bean.setRemake(remark);
bean.setType("0");
bean.setViewRange("0");
Object o = mSelCatalog.get(mSelCatalog.size() - 1);
DocumentTypeList b = (DocumentTypeList) o;
bean.setParentId(b.getFileCatalogueId());
return RequestBody.create(new Gson().toJson(bean), MediaType.parse("application/json; charset=utf-8"));
}
private RequestBody buildTypeEditParams(String name, String order, String remark, DocumentTypeList b) {
SaveDocumentTypeBean bean = new SaveDocumentTypeBean();
bean.setName(name);
bean.setSortNum(Integer.parseInt(order));
bean.setRemake(remark);
bean.setType("0");
bean.setViewRange("0");
bean.setParentId(b.getParentId());
return RequestBody.create(new Gson().toJson(bean), MediaType.parse("application/json; charset=utf-8"));
}
/**
@ -213,50 +431,51 @@ public class ChooseDocTypeActivity extends BaseActivity {
* 获取目录列表
*/
private void getCataLogList() {
mCsvState.setState(CustomStateView.STATE_LOAD);
mDatas.clear();
mAdapter.setData(mDatas);
RetrofitManager.getInstance()
.create(OAApi.class)
.getDocumentTypeListByPid(mSelCatalogId, "0")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocumentTypeList>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getDocumentTypeListByPid(mSelCatalogId, "0")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocumentTypeList>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull List<DocumentTypeList> documentTypeLists) {
if (documentTypeLists.size() > 0) {
mCsvState.setState(CustomStateView.STATE_SUCCESS);
mDatas.addAll(documentTypeLists);
for (int i = 0; i < mSelectedCatalog.size(); i++) {
DocumentTypeList selBean = mSelectedCatalog.get(i);
for (int j = 0; j < mDatas.size(); j++) {
DocumentTypeList bean = mDatas.get(j);
if (selBean.getFileCatalogueId().equals(bean.getFileCatalogueId())) {
bean.setChecked(true);
@Override
public void onNext(@NonNull List<DocumentTypeList> documentTypeLists) {
if (documentTypeLists.size() > 0) {
mCsvState.setState(CustomStateView.STATE_SUCCESS);
mDatas.addAll(documentTypeLists);
for (int i = 0; i < mSelectedCatalog.size(); i++) {
DocumentTypeList selBean = mSelectedCatalog.get(i);
for (int j = 0; j < mDatas.size(); j++) {
DocumentTypeList bean = mDatas.get(j);
if (selBean.getFileCatalogueId().equals(bean.getFileCatalogueId())) {
bean.setChecked(true);
}
}
}
} else {
mCsvState.setState(CustomStateView.STATE_EMPTY);
}
} else {
mCsvState.setState(CustomStateView.STATE_EMPTY);
mAdapter.setData(mDatas);
}
mAdapter.setData(mDatas);
}
@Override
public void onError(@NonNull Throwable e) {
ExceptionHandler.handleException(e);
mAdapter.setData(mDatas);
mCsvState.setState(CustomStateView.STATE_ERROR);
}
@Override
public void onError(@NonNull Throwable e) {
ExceptionHandler.handleException(e);
mAdapter.setData(mDatas);
mCsvState.setState(CustomStateView.STATE_ERROR);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
@Override

View File

@ -22,9 +22,11 @@ import java.util.List;
*/
public class ChooseDocTypeAdapter extends BaseRecyclerAdapter<DocumentTypeList, ChooseDocTypeHolder> {
public List<DeptBean> mSelBeans = new ArrayList<>();
public int mType = 1;
public ChooseDocTypeAdapter(Context ctx, List<DocumentTypeList> list) {
public ChooseDocTypeAdapter(Context ctx, List<DocumentTypeList> list, int type) {
super(ctx, list);
this.mType = type;
}
@Override
@ -33,6 +35,15 @@ public class ChooseDocTypeAdapter extends BaseRecyclerAdapter<DocumentTypeList,
return new ChooseDocTypeHolder(itemView);
}
public void setType(int type) {
this.mType = type;
notifyDataSetChanged();
}
public int getType() {
return mType;
}
@Override
public void bindHolder(ChooseDocTypeHolder holder, int i) {
DocumentTypeList bean = mData.get(i);
@ -41,6 +52,21 @@ public class ChooseDocTypeAdapter extends BaseRecyclerAdapter<DocumentTypeList,
holder.mCbCheck.setChecked(bean.isChecked());
holder.mCbCheck.setOnCheckedChangeListener((buttonView, isChecked) -> mLis.onItemCheckChange(bean, isChecked, i));
holder.mTvName.setOnClickListener(v -> mLis.onLowerDept(bean, i));
if (mType == 1) {
//默认选择
holder.mLlBtns.setVisibility(View.GONE);
holder.mIvArrow.setVisibility(View.VISIBLE);
holder.mCbCheck.setVisibility(View.VISIBLE);
} else {
//编辑
holder.mCbCheck.setVisibility(View.GONE);
holder.mLlBtns.setVisibility(View.VISIBLE);
holder.mIvArrow.setVisibility(View.GONE);
}
if (mControlListener != null) {
holder.mBtnDel.setOnClickListener(v -> mControlListener.doDel(bean, i));
holder.mBtnEdit.setOnClickListener(v -> mControlListener.doEdit(bean, i));
}
}
private OnItemCheckChange mLis;
@ -54,4 +80,17 @@ public class ChooseDocTypeAdapter extends BaseRecyclerAdapter<DocumentTypeList,
void onLowerDept(DocumentTypeList bean, int pos);
}
private OnControlListener mControlListener;
public void addOnControlListener(OnControlListener listener) {
this.mControlListener = listener;
}
public interface OnControlListener {
void doEdit(DocumentTypeList bean, int pos);
void doDel(DocumentTypeList bean, int pos);
}
}

View File

@ -151,14 +151,17 @@ public class DocFragment extends BaseFragment {
mSelCatalog.add(mRootPersonBean);
mSelCatalogId = "0";
mRlvSel.setVisibility(View.VISIBLE);
mIvAdd.setVisibility(View.VISIBLE);
} else if (checkedId == R.id.rb_share) {
mType = "共享文档";//共享
mRlvSel.setVisibility(View.GONE);
mIvAdd.setVisibility(View.GONE);
} else if (checkedId == R.id.rb_pub) {
mType = "公共文档";//公共
mSelCatalog.add(mRootPublicbean);
mSelCatalogId = "0";
mRlvSel.setVisibility(View.VISIBLE);
mIvAdd.setVisibility(View.GONE);
}
mSelCatalogAdapter.setData(mSelCatalog);
doRefresh();
@ -280,11 +283,11 @@ public class DocFragment extends BaseFragment {
mTvTitleType.setText(mSelType == null ? "文档类型" : mSelType.getTypeName());
doRefresh();
})
.setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
.setTitleText("请选择")
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mDataSourcePicker.setPicker(mDocTypes);
}
mDataSourcePicker.show();
@ -300,40 +303,40 @@ public class DocFragment extends BaseFragment {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中...");
dialog.show();
RetrofitManager.getInstance()
.create(OAApi.class)
.getDocTypes()
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocTypeBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getDocTypes()
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocTypeBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull List<DocTypeBean> docTypeBeans) {
dialog.dismiss();
if (docTypeBeans.size() > 0) {
mDocTypes = docTypeBeans;
DocTypeBean allBean = new DocTypeBean();
allBean.setTypeName("全部");
mDocTypes.add(0, allBean);
onShowDocType();
} else {
ToastUtils.show("暂无数据");
}
}
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onNext(@NonNull List<DocTypeBean> docTypeBeans) {
dialog.dismiss();
if (docTypeBeans.size() > 0) {
mDocTypes = docTypeBeans;
DocTypeBean allBean = new DocTypeBean();
allBean.setTypeName("全部");
mDocTypes.add(0, allBean);
onShowDocType();
} else {
ToastUtils.show("暂无数据");
}
}
@Override
public void onComplete() {
@Override
public void onError(@NonNull Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
}
});
@Override
public void onComplete() {
}
});
}
@Override
@ -363,64 +366,64 @@ public class DocFragment extends BaseFragment {
private void getDocumentList(int currentPage) {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(OAApi.class)
.getDocumentList(mKeywords, mType, mSelCatalogId, mCurrentPage + "")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<DocumentListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getDocumentList(mKeywords, mType, mSelCatalogId, mCurrentPage + "")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<DocumentListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull DocumentListBean listBean) {
if (listBean.getRows() != null && listBean.getRows().size() > 0) {
++mCurrentPage;
if (currentPage == 1) {
mDatas.addAll(listBean.getRows());
} else {
mDatas.addAll(listBean.getRows());
}
mAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= listBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
@Override
public void onNext(@NonNull DocumentListBean listBean) {
if (listBean.getRows() != null && listBean.getRows().size() > 0) {
++mCurrentPage;
if (currentPage == 1) {
mDatas.addAll(listBean.getRows());
} else {
mDatas.addAll(listBean.getRows());
}
mAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= listBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
} else {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
if (currentPage > 1) {
mSrlContent.setNoMoreData(true);
} else {
if (!TextUtils.isEmpty(mKeywords)) {
ToastUtils.show("未查询到相关内容");
mSrlContent.finishRefresh();
if (currentPage > 1) {
mSrlContent.setNoMoreData(true);
} else {
if (!TextUtils.isEmpty(mKeywords)) {
ToastUtils.show("未查询到相关内容");
}
}
}
if (mDatas.size() > 0) {
refreshStateView(LionActions.STATE_SUCCESS);
} else {
refreshStateView(LionActions.STATE_EMPTY);
}
}
if (mDatas.size() > 0) {
refreshStateView(LionActions.STATE_SUCCESS);
} else {
refreshStateView(LionActions.STATE_EMPTY);
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
ExceptionHandler.handleException(e);
refreshStateView(LionActions.STATE_ERROR);
}
}
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
ExceptionHandler.handleException(e);
refreshStateView(LionActions.STATE_ERROR);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
@ -430,64 +433,64 @@ public class DocFragment extends BaseFragment {
private void getShareList(int currentPage) {
mCurrentPage = currentPage;
RetrofitManager.getInstance()
.create(OAApi.class)
.getShareDocList(mKeywords, mCurrentPage + "")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<DocumentListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getShareDocList(mKeywords, mCurrentPage + "")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<DocumentListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull DocumentListBean listBean) {
if (listBean.getRows() != null && listBean.getRows().size() > 0) {
++mCurrentPage;
if (currentPage == 1) {
mDatas.addAll(listBean.getRows());
} else {
mDatas.addAll(listBean.getRows());
}
mAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= listBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
@Override
public void onNext(@NonNull DocumentListBean listBean) {
if (listBean.getRows() != null && listBean.getRows().size() > 0) {
++mCurrentPage;
if (currentPage == 1) {
mDatas.addAll(listBean.getRows());
} else {
mDatas.addAll(listBean.getRows());
}
mAdapter.notifyDataSetChanged();
mSrlContent.finishRefresh();
if (mDatas.size() >= listBean.getTotal()) {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(true);
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
} else {
mSrlContent.finishLoadMore();
mSrlContent.setNoMoreData(false);
}
} else {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
if (currentPage > 1) {
mSrlContent.setNoMoreData(true);
} else {
if (!TextUtils.isEmpty(mKeywords)) {
ToastUtils.show("未查询到相关内容");
mSrlContent.finishRefresh();
if (currentPage > 1) {
mSrlContent.setNoMoreData(true);
} else {
if (!TextUtils.isEmpty(mKeywords)) {
ToastUtils.show("未查询到相关内容");
}
}
}
if (mDatas.size() > 0) {
refreshStateView(LionActions.STATE_SUCCESS);
} else {
refreshStateView(LionActions.STATE_EMPTY);
}
}
if (mDatas.size() > 0) {
refreshStateView(LionActions.STATE_SUCCESS);
} else {
refreshStateView(LionActions.STATE_EMPTY);
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
ExceptionHandler.handleException(e);
refreshStateView(LionActions.STATE_ERROR);
}
}
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
ExceptionHandler.handleException(e);
refreshStateView(LionActions.STATE_ERROR);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
private void refreshStateView(int state) {
@ -530,38 +533,38 @@ public class DocFragment extends BaseFragment {
*/
private void getPersonCatalog() {
RetrofitManager.getInstance()
.create(OAApi.class)
.getDocumentTypeListByPid(mSelCatalogId, "0")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocumentTypeList>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getDocumentTypeListByPid(mSelCatalogId, "0")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocumentTypeList>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull List<DocumentTypeList> documentTypeLists) {
mDatas.clear();
if (documentTypeLists.size() > 0) {
mDatas.addAll(documentTypeLists);
}
mAdapter.setData(mDatas);
getDocumentList(1);
}
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
refreshStateView(LionActions.STATE_ERROR);
ExceptionHandler.handleException(e);
}
@Override
public void onNext(@NonNull List<DocumentTypeList> documentTypeLists) {
mDatas.clear();
if (documentTypeLists.size() > 0) {
mDatas.addAll(documentTypeLists);
}
mAdapter.setData(mDatas);
getDocumentList(1);
}
@Override
public void onComplete() {
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
refreshStateView(LionActions.STATE_ERROR);
ExceptionHandler.handleException(e);
}
}
});
@Override
public void onComplete() {
}
});
}
/**
@ -569,38 +572,38 @@ public class DocFragment extends BaseFragment {
*/
private void getPublicCatalog() {
RetrofitManager.getInstance()
.create(OAApi.class)
.getPublicDocTypeList(mSelCatalogId, "1")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocTypeTreeListBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getPublicDocTypeList(mSelCatalogId, "1")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<DocTypeTreeListBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull List<DocTypeTreeListBean> docTypeTreeListBeans) {
mDatas.clear();
if (docTypeTreeListBeans.size() > 0) {
mDatas.addAll(docTypeTreeListBeans);
}
mAdapter.setData(mDatas);
getDocumentList(1);
}
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
refreshStateView(LionActions.STATE_ERROR);
ExceptionHandler.handleException(e);
}
@Override
public void onNext(@NonNull List<DocTypeTreeListBean> docTypeTreeListBeans) {
mDatas.clear();
if (docTypeTreeListBeans.size() > 0) {
mDatas.addAll(docTypeTreeListBeans);
}
mAdapter.setData(mDatas);
getDocumentList(1);
}
@Override
public void onComplete() {
@Override
public void onError(@NonNull Throwable e) {
mSrlContent.finishLoadMore();
mSrlContent.finishRefresh();
refreshStateView(LionActions.STATE_ERROR);
ExceptionHandler.handleException(e);
}
}
});
@Override
public void onComplete() {
}
});
}
@Override

View File

@ -1,5 +1,7 @@
package com.tenlionsoft.oamodule.fragments;
import static android.app.Activity.RESULT_OK;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
@ -12,6 +14,14 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.bumptech.glide.Glide;
@ -54,21 +64,12 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import static android.app.Activity.RESULT_OK;
/**
* 作者: adam
* 日期: 2022/4/11 - 11:13 上午
@ -153,21 +154,21 @@ public class OaMainFragment extends BaseFragment {
initContentView();
doRefresh();
Glide.with(mActivity)
.load(R.drawable.ic_main_title_bg)
.apply(new RequestOptions()
.error(R.drawable.ic_user_default)
.placeholder(R.drawable.ic_user_info_bg))
.into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
mRlTitleBg.setBackground(resource);
}
.load(R.drawable.ic_main_title_bg)
.apply(new RequestOptions()
.error(R.drawable.ic_user_default)
.placeholder(R.drawable.ic_user_info_bg))
.into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
mRlTitleBg.setBackground(resource);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
}
});
}
});
}
@ -188,26 +189,26 @@ public class OaMainFragment extends BaseFragment {
mRlvNotice.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvNotice.setAdapter(mNoticeShowAdapter);
mNoticeShowAdapter.addOnItemClickListener(rowsBean -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_NOTICE_DETAIL)
.withString("id", rowsBean.getNoticeId())
.navigation());
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_NOTICE_DETAIL)
.withString("id", rowsBean.getNoticeId())
.navigation());
mTvNoticeMore.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_NOTICE)
.navigation());//通知公告更多
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_NOTICE)
.navigation());//通知公告更多
mIvScan.setOnClickListener(v -> {
Intent intent = new Intent(mActivity, CaptureActivity.class);
mLauncher.launch(intent);
});//扫码
mRlTodo.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_MINE_TODO)
.navigation());//我的待办
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_MINE_TODO)
.navigation());//我的待办
mRlToRead.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_MINE_READ)
.navigation());//我的待阅
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_MINE_READ)
.navigation());//我的待阅
mRlSupervise.setOnClickListener(v -> ARouter.getInstance()
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_SUPERVISE)
.navigation());//我的督办
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_SUPERVISE)
.navigation());//我的督办
}
private void doRefresh() {
@ -231,77 +232,82 @@ public class OaMainFragment extends BaseFragment {
*/
private void getMainMenuList() {
RetrofitManager.getInstance()
.create(OAApi.class)
.getHomeMenuList()
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<FuncBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getHomeMenuList()
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<List<FuncBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull List<FuncBean> docTypeBeans) {
if (docTypeBeans.size() > 0) {
mFuncBeans = docTypeBeans;
mAdapter.setData(mFuncBeans);
mCsvFuncs.setVisibility(View.GONE);
} else {
mCsvFuncs.setVisibility(View.VISIBLE);
mCsvFuncs.setState(CustomStateView.STATE_EMPTY);
}
}
@Override
public void onError(@NonNull Throwable e) {
mCsvFuncs.setState(CustomStateView.STATE_ERROR);
ExceptionHandler.handleException(e);
}
@Override
public void onNext(@NonNull List<FuncBean> docTypeBeans) {
if (docTypeBeans.size() > 0) {
mFuncBeans = docTypeBeans;
if (mFuncBeans.size() > 4) {
mRlvFuncs.setLayoutManager(new GridLayoutManager(mActivity, 2, LinearLayoutManager.HORIZONTAL, false));
} else {
mRlvFuncs.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.HORIZONTAL, false));
}
mAdapter.setData(mFuncBeans);
mCsvFuncs.setVisibility(View.GONE);
} else {
mCsvFuncs.setVisibility(View.VISIBLE);
mCsvFuncs.setState(CustomStateView.STATE_EMPTY);
}
}
@Override
public void onComplete() {
@Override
public void onError(@NonNull Throwable e) {
mCsvFuncs.setState(CustomStateView.STATE_ERROR);
ExceptionHandler.handleException(e);
}
}
});
@Override
public void onComplete() {
}
});
}
private void getNoticeList() {
RetrofitManager.getInstance()
.create(OAApi.class)
.getNoticeList("2",PathConfig.NOTICE_CONFIG_ID,"", "", "", "1", "15")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<NoticeListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.getNoticeList("2", PathConfig.NOTICE_CONFIG_ID, "", "", "", "1", "15")
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<NoticeListBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull NoticeListBean noticeListBean) {
if (noticeListBean.getRows().size() > 0) {
mRlvNotice.setVisibility(View.VISIBLE);
mCsvNotice.setVisibility(View.GONE);
mNoticeListBeanRows = noticeListBean.getRows();
mNoticeShowAdapter.setData(mNoticeListBeanRows);
} else {
mRlvNotice.setVisibility(View.GONE);
mCsvNotice.setVisibility(View.VISIBLE);
mCsvNotice.setState(CustomStateView.STATE_EMPTY);
}
}
@Override
public void onError(@NonNull Throwable e) {
mRlvNotice.setVisibility(View.GONE);
mCsvNotice.setState(CustomStateView.STATE_ERROR);
}
@Override
public void onNext(@NonNull NoticeListBean noticeListBean) {
if (noticeListBean.getRows().size() > 0) {
mRlvNotice.setVisibility(View.VISIBLE);
mCsvNotice.setVisibility(View.GONE);
mNoticeListBeanRows = noticeListBean.getRows();
mNoticeShowAdapter.setData(mNoticeListBeanRows);
@Override
public void onComplete() {
} else {
mRlvNotice.setVisibility(View.GONE);
mCsvNotice.setVisibility(View.VISIBLE);
mCsvNotice.setState(CustomStateView.STATE_EMPTY);
}
}
}
});
@Override
public void onError(@NonNull Throwable e) {
mRlvNotice.setVisibility(View.GONE);
mCsvNotice.setState(CustomStateView.STATE_ERROR);
}
@Override
public void onComplete() {
}
});
}
@Override
@ -309,11 +315,11 @@ public class OaMainFragment extends BaseFragment {
super.onResume();
//获取焦点
Glide.with(mActivity)
.load(BaseUrlApi.BASE_IMG_URL + UserLgUtils.getAvatar())
.apply(RequestOptions.bitmapTransform(new CircleCrop())
.error(R.drawable.ic_user_default)
.placeholder(R.drawable.ic_user_default))
.into(mIvUserIcon);
.load(BaseUrlApi.BASE_IMG_URL + UserLgUtils.getAvatar())
.apply(RequestOptions.bitmapTransform(new CircleCrop())
.error(R.drawable.ic_user_default)
.placeholder(R.drawable.ic_user_default))
.into(mIvUserIcon);
mTvUserName.setText("Hello! " + UserLgUtils.getName());
String userDeptId = UserLgUtils.getUserDeptId();
if (!TextUtils.isEmpty(userDeptId)) {
@ -331,91 +337,91 @@ public class OaMainFragment extends BaseFragment {
private void getHintCount() {
//待办
Observable<ToDoCountBean> countBeanObservable = RetrofitManager.getInstance()
.create(OAApi.class)
.getMineToDoCount()
.compose(RxTransformer.getTransformer());
.create(OAApi.class)
.getMineToDoCount()
.compose(RxTransformer.getTransformer());
//待阅
Observable<UnReadCountBean> compose = RetrofitManager.getInstance()
.create(OAApi.class)
.getMineUnReadCount()
.compose(RxTransformer.getTransformer());
.create(OAApi.class)
.getMineUnReadCount()
.compose(RxTransformer.getTransformer());
//督办
Observable<BySuperviseListBean> superviseCount = RetrofitManager.getInstance()
.create(OAApi.class)
.getBySuperviseList("", "", "", "1")
.compose(RxTransformer.getTransformer());
.create(OAApi.class)
.getBySuperviseList("", "", "", "1")
.compose(RxTransformer.getTransformer());
Observable.mergeDelayError(countBeanObservable, compose, superviseCount)
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<Object>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<Object>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull Object o) {
if (o instanceof ToDoCountBean) {
ToDoCountBean bean = (ToDoCountBean) o;
if (!TextUtils.isEmpty(bean.getData())) {
mLlTodoCount.setVisibility(View.VISIBLE);
int i = Integer.parseInt(bean.getData());
if (i > 99) {
mTvTodoCount.setText("99+");
} else {
if (i > 0) {
mLlTodoCount.setVisibility(View.VISIBLE);
mTvTodoCount.setText(bean.getData());
@Override
public void onNext(@NonNull Object o) {
if (o instanceof ToDoCountBean) {
ToDoCountBean bean = (ToDoCountBean) o;
if (!TextUtils.isEmpty(bean.getData())) {
mLlTodoCount.setVisibility(View.VISIBLE);
int i = Integer.parseInt(bean.getData());
if (i > 99) {
mTvTodoCount.setText("99+");
} else {
mLlTodoCount.setVisibility(View.GONE);
if (i > 0) {
mLlTodoCount.setVisibility(View.VISIBLE);
mTvTodoCount.setText(bean.getData());
} else {
mLlTodoCount.setVisibility(View.GONE);
}
}
}
} else {
mLlTodoCount.setVisibility(View.GONE);
}
} else if (o instanceof UnReadCountBean) {
UnReadCountBean bean = (UnReadCountBean) o;
if (!TextUtils.isEmpty(bean.getData())) {
mLlUnreadCount.setVisibility(View.VISIBLE);
int i = Integer.parseInt(bean.getData());
if (i > 99) {
mTvUnreadCount.setText("99+");
} else {
if (i > 0) {
mLlUnreadCount.setVisibility(View.VISIBLE);
mTvUnreadCount.setText(bean.getData());
mLlTodoCount.setVisibility(View.GONE);
}
} else if (o instanceof UnReadCountBean) {
UnReadCountBean bean = (UnReadCountBean) o;
if (!TextUtils.isEmpty(bean.getData())) {
mLlUnreadCount.setVisibility(View.VISIBLE);
int i = Integer.parseInt(bean.getData());
if (i > 99) {
mTvUnreadCount.setText("99+");
} else {
mLlUnreadCount.setVisibility(View.GONE);
if (i > 0) {
mLlUnreadCount.setVisibility(View.VISIBLE);
mTvUnreadCount.setText(bean.getData());
} else {
mLlUnreadCount.setVisibility(View.GONE);
}
}
}
} else {
mLlUnreadCount.setVisibility(View.GONE);
}
} else if (o instanceof BySuperviseListBean) {
BySuperviseListBean bean = (BySuperviseListBean) o;
mLlSuperviseCount.setVisibility(View.VISIBLE);
if (bean.getTotal() > 99) {
mTvSuperviseCount.setText("99+");
} else {
if (bean.getTotal() > 0) {
mLlSuperviseCount.setVisibility(View.VISIBLE);
mTvSuperviseCount.setText(bean.getTotal() + "");
} else {
mLlSuperviseCount.setVisibility(View.GONE);
mLlUnreadCount.setVisibility(View.GONE);
}
} else if (o instanceof BySuperviseListBean) {
BySuperviseListBean bean = (BySuperviseListBean) o;
mLlSuperviseCount.setVisibility(View.VISIBLE);
if (bean.getTotal() > 99) {
mTvSuperviseCount.setText("99+");
} else {
if (bean.getTotal() > 0) {
mLlSuperviseCount.setVisibility(View.VISIBLE);
mTvSuperviseCount.setText(bean.getTotal() + "");
} else {
mLlSuperviseCount.setVisibility(View.GONE);
}
}
}
}
}
@Override
public void onError(@NonNull Throwable e) {
@Override
public void onError(@NonNull Throwable e) {
}
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
/**
@ -423,10 +429,10 @@ public class OaMainFragment extends BaseFragment {
*/
private void choosePage(FuncBean funcBean) {
ARouter.getInstance()
.build(funcBean.getAppFunctionPath())
.withString("title", funcBean.getAppFunctionName())
.withString("id", funcBean.getAppFunctionId())
.navigation();
.build(funcBean.getAppFunctionPath())
.withString("title", funcBean.getAppFunctionName())
.withString("id", funcBean.getAppFunctionId())
.navigation();
}
@ -463,32 +469,32 @@ public class OaMainFragment extends BaseFragment {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "签到中...");
dialog.show();
RetrofitManager.getInstance()
.create(OAApi.class)
.doSignMeeting(s)
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
.create(OAApi.class)
.doSignMeeting(s)
.compose(RxTransformer.getTransformer())
.subscribe(new Observer<BaseSuccessBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
}
@Override
public void onNext(@NonNull BaseSuccessBean baseSuccessBean) {
if (dialog.isShowing()) dialog.dismiss();
ToastUtils.show("签到成功");
}
@Override
public void onNext(@NonNull BaseSuccessBean baseSuccessBean) {
if (dialog.isShowing()) dialog.dismiss();
ToastUtils.show("签到成功");
}
@Override
public void onError(@NonNull Throwable e) {
if (dialog.isShowing()) dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onError(@NonNull Throwable e) {
if (dialog.isShowing()) dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
@Override

View File

@ -1,7 +1,10 @@
package com.tenlionsoft.oamodule.holder;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.tenlionsoft.baselib.core.widget.base.BaseViewHolder;
@ -21,6 +24,14 @@ public class ChooseDocTypeHolder extends BaseViewHolder {
public TextView mTvName;
@BindView(R2.id.cb_check)
public CheckBox mCbCheck;
@BindView(R2.id.iv_arrow)
public ImageView mIvArrow;
@BindView(R2.id.ll_btns)
public LinearLayout mLlBtns;
@BindView(R2.id.btn_edit)
public Button mBtnEdit;
@BindView(R2.id.btn_del)
public Button mBtnDel;
public ChooseDocTypeHolder(@NonNull View itemView) {
super(itemView);

View File

@ -214,7 +214,7 @@ public interface OAApi {
*/
@Headers({"base_url_name:oa", "need_token:true", "Content-Type: application/json", "Accept: application/json"})
@PUT("app/filecatalogue/updatefilecatalogue/{fileCatalogueId}")
Observable<BaseSuccessBean> doEditDocumentType(@Path("fileTypeId") String id, @Body RequestBody body);
Observable<BaseSuccessBean> doEditDocumentType(@Path("fileCatalogueId") String id, @Body RequestBody body);
/**
* 删除文档类型
@ -979,6 +979,20 @@ public interface OAApi {
@GET("app/oa/listpage-procdef")
Observable<OaFlowApplyBean> getOaFLowList(@Query("keywords") String key, @Query("page") String page);
/**
* 获取发文待办
*/
@Headers({"base_url_name:oa", "need_token:true", "Content-Type: application/json", "Accept: application/json"})
@GET("app/oataskbase/listpage/task/publish")
Observable<MineTodoBean> getOaPublishFileList(@Query("keywords") String key, @Query("page") String page, @Query("rows") String rows);
/**
* 获取收文待办
*/
@Headers({"base_url_name:oa", "need_token:true", "Content-Type: application/json", "Accept: application/json"})
@GET("app/oataskbase/listpage/task/receive")
Observable<MineTodoBean> getOaReceiveFileList(@Query("keywords") String key, @Query("page") String page, @Query("rows") String rows);
/**
* 我的待阅
*/

View File

@ -14,6 +14,7 @@ import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
@ -21,6 +22,7 @@ import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.view.TimePickerView;
import com.hjq.toast.ToastUtils;
import com.tenlionsoft.baselib.R;
import com.tenlionsoft.oamodule.beans.DocumentTypeList;
/**
@ -38,13 +40,15 @@ public class CenterDocTypeView extends Dialog {
private OnChoseListener mListener;
private boolean mIsShow;
private boolean mIsShowOther;
private TextView mTvTime;
private TimePickerView mTimePicker;
private EditText mEtContent;
private EditText mEtName;
private EditText mEtOrder;
private EditText mEtRemark;
private DocumentTypeList bean;
private CenterDocTypeView(Context context) {
private CenterDocTypeView(Context context, DocumentTypeList b) {
super(context, R.style.dialog_center_alpha);
this.context = context;
this.bean = b;
}
@Override
@ -54,11 +58,20 @@ public class CenterDocTypeView extends Dialog {
setContentView(view);
setCancelable(iscancelable);
setCanceledOnTouchOutside(isBackCancelable);
mTvTime = view.findViewById(R.id.tv_time);
mEtContent = view.findViewById(R.id.et_content);
mTvTime.setOnClickListener(v -> onShowTimePicker());
mEtName = view.findViewById(R.id.et_name);
mEtOrder = view.findViewById(R.id.et_order);
mEtRemark = view.findViewById(R.id.et_remark);
Button btnConfirm = view.findViewById(R.id.btn_confirm);
if (bean != null) {
mEtName.setText(bean.getName());
mEtRemark.setText(bean.getRemake());
mEtOrder.setText(bean.getSortNum() + "");
btnConfirm.setText("保存");
} else {
btnConfirm.setText("添加");
}
view.findViewById(R.id.btn_cancel).setOnClickListener(v -> this.dismiss());
view.findViewById(R.id.btn_confirm).setOnClickListener(v -> doConfirm());
btnConfirm.setOnClickListener(v -> doConfirm());
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
Window window = this.getWindow();
window.setGravity(Gravity.CENTER);
@ -70,37 +83,36 @@ public class CenterDocTypeView extends Dialog {
window.setBackgroundDrawable(new ColorDrawable());
}
private void onShowTimePicker() {
}
private void doConfirm() {
if (checkParams()) {
String time = mTvTime.getText().toString().trim();
String content = mEtContent.getText().toString().trim();
mListener.doConfirm(time, content);
String name = mEtName.getText().toString().trim();
String order = mEtOrder.getText().toString().trim();
String remark = mEtRemark.getText().toString().trim();
mListener.doConfirm(name, order, remark);
}
}
public void hideSoftKeyBoardDialog(Activity activity) {
try {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(activity.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0);
} catch (Exception ex) {
}
}
/**
* 校验参数
*/
private boolean checkParams() {
String time = mTvTime.getText().toString().trim();
if (TextUtils.isEmpty(time)) {
ToastUtils.show("选择时间");
String name = mEtName.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
ToastUtils.show("输入目录名称");
return false;
}
String content = mEtContent.getText().toString().trim();
if (TextUtils.isEmpty(content)) {
ToastUtils.show("请输入原由");
String order = mEtOrder.getText().toString().trim();
if (TextUtils.isEmpty(order)) {
ToastUtils.show("请输入排序编号");
return false;
}
return true;
@ -121,7 +133,7 @@ public class CenterDocTypeView extends Dialog {
}
public interface OnChoseListener {
void doConfirm(String list, String ids);
void doConfirm(String name, String order, String remark);
}
public static class DialogBuilder {
@ -163,12 +175,16 @@ public class CenterDocTypeView extends Dialog {
return this;
}
private DocumentTypeList b;
public DialogBuilder setBean(DocumentTypeList b) {
this.b = b;
return this;
}
public CenterDocTypeView build() {
return new CenterDocTypeView(this.mContext);
return new CenterDocTypeView(this.mContext, this.b);
}
}
}
}

View File

@ -37,7 +37,10 @@
android:id="@+id/rlv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="65dp"
android:background="@color/gray_f8"
tools:listitem="@layout/item_choose_doc_type" />
@ -46,5 +49,32 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:padding="10dp">
<Button
android:id="@+id/btn_add_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/sel_btn_blue_gray_cir"
android:text="新增"
android:textColor="@color/col_white_gray_press" />
<Button
android:id="@+id/btn_edit_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@drawable/sel_btn_activity_sign_up"
android:text="编辑"
android:textColor="@color/col_white_gray_press" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>

View File

@ -4,6 +4,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<CheckBox
@ -24,11 +25,11 @@
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true"
android:drawableLeft="@drawable/ic_folder_icon"
android:drawableRight="@drawable/ic_arrow_cir"
android:drawablePadding="10dp"
android:focusable="true"
android:gravity="center_vertical"
@ -37,7 +38,44 @@
android:textSize="15sp"
tools:text="测试" />
<ImageView
android:id="@+id/iv_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_cir" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_btns"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5dp">
<Button
android:id="@+id/btn_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sel_btn_red_gray_re_5"
android:minWidth="0dp"
android:minHeight="0dp"
android:padding="5dp"
android:text="删除"
android:textColor="@color/col_white_gray_press"
android:textSize="@dimen/text_12" />
<Button
android:id="@+id/btn_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/sel_btn_blue_gray_re_5"
android:minWidth="0dp"
android:minHeight="0dp"
android:padding="5dp"
android:text="编辑"
android:textColor="@color/col_white_gray_press"
android:textSize="@dimen/text_12" />
</LinearLayout>
</LinearLayout>