diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 82388de..212ad4f 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -10,8 +10,8 @@ { "type": "SINGLE", "filters": [], - "versionCode": 2, - "versionName": "1.0.2", + "versionCode": 3, + "versionName": "1.0.3", "outputFile": "app-release.apk" } ] diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java index 332f9ca..7bbbbfb 100755 --- a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java @@ -26,10 +26,13 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.util.DisplayMetrics; import android.view.Display; +import android.view.KeyCharacterMap; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.TouchDelegate; import android.view.View; +import android.view.ViewConfiguration; import android.view.WindowManager; import android.view.animation.LinearInterpolator; import android.view.inputmethod.InputMethodManager; @@ -54,6 +57,7 @@ import com.jcodecraeer.xrecyclerview.progressindicator.AVLoadingIndicatorView; import com.tenlionsoft.baselib.R; import com.tenlionsoft.baselib.constant.PathConfig; import com.tenlionsoft.baselib.core.widget.views.AfxTextView; +import com.tenlionsoft.baselib.utils.LogUtils; import com.tenlionsoft.baselib.utils.UserLgUtils; import java.util.ArrayList; @@ -243,6 +247,19 @@ public abstract class BaseActivity extends AppCompatActivity { } return result; } + protected boolean isHasNavBar(){ + //通过判断设备是否有返回键、菜单键(不是虚拟键,是手机屏幕外的按键)来确定是否有navigation bar + boolean hasMenuKey = ViewConfiguration.get(this) + .hasPermanentMenuKey(); + boolean hasBackKey = KeyCharacterMap + .deviceHasKey(KeyEvent.KEYCODE_BACK); + + if (!hasMenuKey && !hasBackKey) { + // 做任何你需要做的,这个设备有一个导航栏 + return true; + } + return false; + } protected void setLocalBroad(LocalBroad localBroad) { this.mLocalBroad = localBroad; diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/PreviewFileActivity.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/PreviewFileActivity.java index e5fe430..f3c5ef5 100644 --- a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/PreviewFileActivity.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/PreviewFileActivity.java @@ -124,7 +124,7 @@ public class PreviewFileActivity extends BaseActivity { private void setWebContent(String url) { mWvWeb = new WebView(mActivity); WebSettings settings = mWvWeb.getSettings(); - settings.setCacheMode(WebSettings.LOAD_DEFAULT); + settings.setCacheMode(WebSettings.LOAD_NO_CACHE); settings.setJavaScriptEnabled(true);//启用JS settings.setBlockNetworkImage(true);//阻塞页面图片加载 settings.setDomStorageEnabled(true); diff --git a/baselib/src/main/res/layout/item_tab_custom_text_view.xml b/baselib/src/main/res/layout/item_tab_custom_text_view.xml new file mode 100644 index 0000000..44c6aef --- /dev/null +++ b/baselib/src/main/res/layout/item_tab_custom_text_view.xml @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/baselib/src/main/res/layout/item_tab_custom_view.xml b/baselib/src/main/res/layout/item_tab_custom_view.xml index 4ee1127..ea8dc7f 100644 --- a/baselib/src/main/res/layout/item_tab_custom_view.xml +++ b/baselib/src/main/res/layout/item_tab_custom_view.xml @@ -2,7 +2,7 @@ () { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(BaseApiService.class) + .getUserInfoExpand(UserLgUtils.getToken()) + .compose(RxTransformer.getTransformer()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } - - @Override - public void onNext(@NonNull UserInfoBean userInfoBean) { - List departments = userInfoBean.getDepartments(); - UserLgUtils.setUserDeptId(new Gson().toJson(departments)); - //通知fragment刷新 - if (mFragments != null && mFragments.size() > 0) { - mFragments.get(0).refreshContentView("userInfo"); } - } - @Override - public void onError(@NonNull Throwable e) { + @Override + public void onNext(@NonNull UserInfoBean userInfoBean) { + List departments = userInfoBean.getDepartments(); + UserLgUtils.setUserDeptId(new Gson().toJson(departments)); + //通知fragment刷新 + if (mFragments != null && mFragments.size() > 0) { + mFragments.get(0).refreshContentView("userInfo"); + } + } - } + @Override + public void onError(@NonNull Throwable e) { - @Override - public void onComplete() { + } - } - }); + @Override + public void onComplete() { + + } + }); } @@ -184,7 +185,8 @@ public class MainTabActivity extends BaseActivity { @Override protected void onResume() { super.onResume(); - if (isNavBarHasShown(this)) { + boolean isHas = isNavBarHasShown(this); + if (isHas) { checkNavigation(); } } @@ -253,8 +255,8 @@ public class MainTabActivity extends BaseActivity { mVStatusBar.setVisibility(View.GONE); mVpContent.setCurrentItem(0, false); ImmersionBar.with(this) - .statusBarColor(R.color.transparent) - .init(); + .statusBarColor(R.color.transparent) + .init(); } private void chooseDoc() { @@ -275,10 +277,10 @@ public class MainTabActivity extends BaseActivity { mVpContent.setCurrentItem(1, false); ImmersionBar.with(this) - .statusBarColor(R.color.gray_f8) - .statusBarDarkFont(true) - .titleBar(mVStatusBar) - .init(); + .statusBarColor(R.color.gray_f8) + .statusBarDarkFont(true) + .titleBar(mVStatusBar) + .init(); } private void chooseEmail() { @@ -299,10 +301,10 @@ public class MainTabActivity extends BaseActivity { mVStatusBar.setVisibility(View.VISIBLE); ImmersionBar.with(this) - .statusBarColor(R.color.gray_f8) - .statusBarDarkFont(true) - .titleBar(mVStatusBar) - .init(); + .statusBarColor(R.color.gray_f8) + .statusBarDarkFont(true) + .titleBar(mVStatusBar) + .init(); } private void chooseMine() { @@ -322,10 +324,10 @@ public class MainTabActivity extends BaseActivity { mVStatusBar.setVisibility(View.VISIBLE); ImmersionBar.with(this) - .statusBarColor(R.color.white) - .statusBarDarkFont(true) - .titleBar(mVStatusBar) - .init(); + .statusBarColor(R.color.white) + .statusBarDarkFont(true) + .titleBar(mVStatusBar) + .init(); } /** @@ -333,34 +335,34 @@ public class MainTabActivity extends BaseActivity { */ private void checkAppVersion() { RetrofitManager.getInstance() - .create(BaseApiService.class) - .doCheckAppVersion(BaseUrlApi.APP_VERSION_ID) - .compose(RxTransformer.getTransformer()) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { + .create(BaseApiService.class) + .doCheckAppVersion(BaseUrlApi.APP_VERSION_ID) + .compose(RxTransformer.getTransformer()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { - } + } - @Override - public void onNext(VersionBean successBean) { - if (successBean != null && successBean.getData() > 0) { - if (CheckUpdateUtils.checkcode(MainTabActivity.this, successBean.getData() + "")) { - startDownloadApk(); + @Override + public void onNext(VersionBean successBean) { + if (successBean != null && successBean.getData() > 0) { + if (CheckUpdateUtils.checkcode(MainTabActivity.this, successBean.getData() + "")) { + startDownloadApk(); + } } } - } - @Override - public void onError(Throwable e) { + @Override + public void onError(Throwable e) { - } + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } /** diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/ChooseDocTypeActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/ChooseDocTypeActivity.java index 570f845..d3c1454 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/ChooseDocTypeActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/ChooseDocTypeActivity.java @@ -7,6 +7,9 @@ import android.graphics.Color; import android.view.View; import android.widget.Button; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.alibaba.android.arouter.facade.annotation.Route; import com.google.android.flexbox.FlexDirection; import com.google.android.flexbox.FlexWrap; @@ -36,8 +39,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; import io.reactivex.rxjava3.annotations.NonNull; @@ -149,6 +150,7 @@ public class ChooseDocTypeActivity extends BaseActivity { @Override public void onLowerDept(DocumentTypeList bean, int pos) { + if ("0".equals(bean.getDocumentDirId())) return; //添加到当前选中的集合中 mSelCatalog.add(bean); mTypeAdapter.setData(mSelCatalog); @@ -440,6 +442,14 @@ public class ChooseDocTypeActivity extends BaseActivity { @Override public void onNext(@NonNull List documentTypeLists) { + if ("0".equals(mSelCatalogId)) { + DocumentTypeList rootBean = new DocumentTypeList(); + rootBean.setChecked(false); + rootBean.setDirName("根目录"); + rootBean.setDocumentDirPid("0"); + rootBean.setDocumentDirId("0"); + documentTypeLists.add(0,rootBean); + } if (documentTypeLists.size() > 0) { mCsvState.setState(CustomStateView.STATE_SUCCESS); mDatas.addAll(documentTypeLists); diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeListActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeListActivity.java index 5fccd58..5f85a72 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeListActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeListActivity.java @@ -77,6 +77,7 @@ public class NoticeListActivity extends BaseActivity { private List mDatas; private NoticeAdapter mAdapter; + private String mId; @Override protected int setLayoutId() { @@ -86,7 +87,9 @@ public class NoticeListActivity extends BaseActivity { @Override public void initData() { ButterKnife.bind(this); - mTvBaseTitle.setText("通知公告"); + mId = getIntent().getStringExtra("id"); + String title = getIntent().getStringExtra("title"); + mTvBaseTitle.setText(title); refreshView(STATE_LOAD_SUCCESS); refreshPageState(STATE_LOAD_LOADING); initViews(); @@ -243,7 +246,7 @@ public class NoticeListActivity extends BaseActivity { String end = mTvEndDate.getText().toString().trim(); RetrofitManager.getInstance() .create(OAApi.class) - .getNoticeList("2", PathConfig.NOTICE_CONFIG_ID, start, end, mKeywords, mCurrentPage + "", "20") + .getNoticeList("2", mId, start, end, mKeywords, mCurrentPage + "", "20") .compose(RxTransformer.getTransformer()) .subscribe(new Observer() { @Override diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/MineTodoActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/MineTodoActivity.java index 9b028d1..f191a27 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/MineTodoActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/MineTodoActivity.java @@ -13,6 +13,10 @@ import android.widget.RadioGroup; import android.widget.RelativeLayout; import android.widget.TextView; +import androidx.annotation.Nullable; +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.bigkoo.pickerview.builder.TimePickerBuilder; @@ -32,6 +36,7 @@ import com.tenlionsoft.baselib.utils.TimeUtils; import com.tenlionsoft.oamodule.R; import com.tenlionsoft.oamodule.R2; import com.tenlionsoft.oamodule.adapter.MineTodoAdapter; +import com.tenlionsoft.oamodule.beans.MineApplyBean; import com.tenlionsoft.oamodule.beans.MineDoneBean; import com.tenlionsoft.oamodule.beans.MineTodoBean; import com.tenlionsoft.oamodule.net.OAApi; @@ -39,9 +44,6 @@ import com.tenlionsoft.oamodule.net.OAApi; import java.util.ArrayList; import java.util.List; -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; import io.reactivex.rxjava3.annotations.NonNull; @@ -85,7 +87,7 @@ public class MineTodoActivity extends BaseActivity { @BindView(R2.id.tv_end_date) TextView mTvEndDate; private List mDatas; - private int mType = 1;//1我的待办 2我的已办 + private int mType = 1;//1我的待办 2我的已办 3我发起的 private MineTodoAdapter mAdapter; private int mCurrentPage = 1; private String mKeywords = ""; @@ -100,10 +102,10 @@ public class MineTodoActivity extends BaseActivity { ButterKnife.bind(this); mRlTitleBar.setVisibility(View.GONE); ImmersionBar.with(this) - .statusBarDarkFont(true) - .statusBarColor(R.color.gray_bg) - .titleBar(mRlContentTitle) - .init(); + .statusBarDarkFont(true) + .statusBarColor(R.color.gray_bg) + .titleBar(mRlContentTitle) + .init(); refreshView(STATE_LOAD_SUCCESS); mCsvState.setState(CustomStateView.STATE_LOAD); initViews(); @@ -126,6 +128,8 @@ public class MineTodoActivity extends BaseActivity { } else if (checkedId == R.id.rb_mine) { //我已办 mType = 2; + } else if (checkedId == R.id.rb_mine_apply) { + mType = 3; } //重置搜索条件 resetCondition(); @@ -139,18 +143,26 @@ public class MineTodoActivity extends BaseActivity { //我的待办 MineTodoBean.RowsBean b = (MineTodoBean.RowsBean) o; ARouter.getInstance() - .build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_CENTER) - .withString("title", b.getMainTitle()) - .withSerializable("bean", b) - .navigation(mActivity, 12); + .build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_CENTER) + .withString("title", b.getMainTitle()) + .withSerializable("bean", b) + .navigation(mActivity, 12); } else if (o instanceof MineDoneBean.RowsBean) { //我的已办 MineDoneBean.RowsBean b = (MineDoneBean.RowsBean) o; ARouter.getInstance() - .build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_CENTER) - .withString("title", b.getTaskName()) - .withSerializable("bean", b) - .navigation(mActivity, 12); + .build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_CENTER) + .withString("title", b.getTaskName()) + .withSerializable("bean", b) + .navigation(mActivity, 12); + } else if (true) { + //我发起的 + MineApplyBean.RowsBean b = (MineApplyBean.RowsBean) o; + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_OA_ACTIVITY_OAFLOW_CENTER) + .withString("title", b.getProcessDefinitionName()) + .withSerializable("bean", b) + .navigation(mActivity, 12); } }); doRefresh(); @@ -209,13 +221,13 @@ public class MineTodoActivity extends BaseActivity { break; } }) - .setTitleText("请选时间") - .setCancelColor(Color.parseColor("#1189FF")) - .setSubmitColor(Color.parseColor("#1189FF")) - .isDialog(false) - .setType(new boolean[]{true, true, true, false, false, false}) - .setTitleColor(Color.parseColor("#1189FF")) - .build(); + .setTitleText("请选时间") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .isDialog(false) + .setType(new boolean[]{true, true, true, false, false, false}) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); mTimePickerView.show(); } @@ -225,8 +237,10 @@ public class MineTodoActivity extends BaseActivity { private void doLoadMore() { if (mType == 1) { getMineTodoList(mCurrentPage); - } else { + } else if (mType == 2) { getMineDoneList(mCurrentPage); + } else { + getMineApplyList(mCurrentPage); } } @@ -239,146 +253,223 @@ public class MineTodoActivity extends BaseActivity { mAdapter.setData(mDatas); if (mType == 1) { getMineTodoList(1); - } else { + } else if (mType == 2) { getMineDoneList(1); + } else { + getMineApplyList(1); } } + /** + * 获取我发起的 + * + * @param i + */ + private void getMineApplyList(int currentPage) { + mCurrentPage = currentPage; + String start = mTvStartDate.getText().toString().trim(); + String end = mTvEndDate.getText().toString().trim(); + RetrofitManager.getInstance() + .create(OAApi.class) + .getMineApplyList(mKeywords, start, end, mCurrentPage + "") + .compose(RxTransformer.getTransformer()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + } + + @Override + public void onNext(@NonNull MineApplyBean listBean) { + if (listBean.getRows() != null && listBean.getRows().size() > 0) { + ++mCurrentPage; + if (currentPage == 1) { + mDatas.clear(); + mDatas.addAll(listBean.getRows()); + } else { + mDatas.addAll(listBean.getRows()); + } + mCsvState.setState(CustomStateView.STATE_SUCCESS); + mAdapter.notifyDataSetChanged(); + mSrlContent.finishRefresh(); + if (mDatas.size() >= listBean.getTotal()) { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(true); + } else { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(false); + } + } else { + mSrlContent.finishRefresh(); + mSrlContent.finishLoadMore(); + if (currentPage > 1) { + mSrlContent.setNoMoreData(true); + } else { + if (TextUtils.isEmpty(mKeywords)) { + //无数据 + mCsvState.setState(CustomStateView.STATE_EMPTY); + } else { + mCsvState.setState(CustomStateView.STATE_EMPTY); + ToastUtils.show("未查询到相关内容"); + } + } + } + } + + @Override + public void onError(@NonNull Throwable e) { + mSrlContent.finishLoadMore(); + mSrlContent.finishRefresh(); + ExceptionHandler.handleException(e); + mCsvState.setState(CustomStateView.STATE_ERROR); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 获取我的待办 + * + * @param currentPage + */ private void getMineTodoList(int currentPage) { mCurrentPage = currentPage; String start = mTvStartDate.getText().toString().trim(); String end = mTvEndDate.getText().toString().trim(); RetrofitManager.getInstance() - .create(OAApi.class) - .getMineTodoList(mKeywords, start, end, mCurrentPage + "") - .compose(RxTransformer.getTransformer()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(OAApi.class) + .getMineTodoList(mKeywords, start, end, mCurrentPage + "") + .compose(RxTransformer.getTransformer()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull MineTodoBean listBean) { - if (listBean.getRows() != null && listBean.getRows().size() > 0) { - ++mCurrentPage; - if (currentPage == 1) { - mDatas.clear(); - mDatas.addAll(listBean.getRows()); - } else { - mDatas.addAll(listBean.getRows()); - } - mCsvState.setState(CustomStateView.STATE_SUCCESS); - mAdapter.notifyDataSetChanged(); - mSrlContent.finishRefresh(); - if (mDatas.size() >= listBean.getTotal()) { - mSrlContent.finishLoadMore(); - mSrlContent.setNoMoreData(true); - } else { - mSrlContent.finishLoadMore(); - mSrlContent.setNoMoreData(false); - } - } else { - mSrlContent.finishRefresh(); - mSrlContent.finishLoadMore(); - if (currentPage > 1) { - mSrlContent.setNoMoreData(true); - } else { - if (TextUtils.isEmpty(mKeywords)) { - //无数据 - mCsvState.setState(CustomStateView.STATE_EMPTY); + @Override + public void onNext(@NonNull MineTodoBean listBean) { + if (listBean.getRows() != null && listBean.getRows().size() > 0) { + ++mCurrentPage; + if (currentPage == 1) { + mDatas.clear(); + mDatas.addAll(listBean.getRows()); } else { - mCsvState.setState(CustomStateView.STATE_EMPTY); - ToastUtils.show("未查询到相关内容"); + mDatas.addAll(listBean.getRows()); + } + mCsvState.setState(CustomStateView.STATE_SUCCESS); + mAdapter.notifyDataSetChanged(); + mSrlContent.finishRefresh(); + if (mDatas.size() >= listBean.getTotal()) { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(true); + } else { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(false); + } + } else { + mSrlContent.finishRefresh(); + mSrlContent.finishLoadMore(); + if (currentPage > 1) { + mSrlContent.setNoMoreData(true); + } else { + if (TextUtils.isEmpty(mKeywords)) { + //无数据 + mCsvState.setState(CustomStateView.STATE_EMPTY); + } else { + mCsvState.setState(CustomStateView.STATE_EMPTY); + ToastUtils.show("未查询到相关内容"); + } } } } - } - @Override - public void onError(@NonNull Throwable e) { - mSrlContent.finishLoadMore(); - mSrlContent.finishRefresh(); - ExceptionHandler.handleException(e); - mCsvState.setState(CustomStateView.STATE_ERROR); - } + @Override + public void onError(@NonNull Throwable e) { + mSrlContent.finishLoadMore(); + mSrlContent.finishRefresh(); + ExceptionHandler.handleException(e); + mCsvState.setState(CustomStateView.STATE_ERROR); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } /** - * 获取被督办的列表 + * 获取我的已办 */ private void getMineDoneList(int currentPage) { mCurrentPage = currentPage; String start = mTvStartDate.getText().toString().trim(); String end = mTvEndDate.getText().toString().trim(); RetrofitManager.getInstance() - .create(OAApi.class) - .getMineDoneList(mKeywords, start, end, mCurrentPage + "") - .compose(RxTransformer.getTransformer()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(OAApi.class) + .getMineDoneList(mKeywords, start, end, mCurrentPage + "") + .compose(RxTransformer.getTransformer()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull MineDoneBean listBean) { - if (listBean.getRows() != null && listBean.getRows().size() > 0) { - ++mCurrentPage; - if (currentPage == 1) { - mDatas.clear(); - mDatas.addAll(listBean.getRows()); - } else { - mDatas.addAll(listBean.getRows()); - } - mCsvState.setState(CustomStateView.STATE_SUCCESS); - mAdapter.notifyDataSetChanged(); - mSrlContent.finishRefresh(); - if (mDatas.size() >= listBean.getTotal()) { - mSrlContent.finishLoadMore(); - mSrlContent.setNoMoreData(true); - } else { - mSrlContent.finishLoadMore(); - mSrlContent.setNoMoreData(false); - } - } else { - mSrlContent.finishRefresh(); - mSrlContent.finishLoadMore(); - if (currentPage > 1) { - mSrlContent.setNoMoreData(true); - } else { - if (TextUtils.isEmpty(mKeywords)) { - //无数据 - mCsvState.setState(CustomStateView.STATE_EMPTY); + @Override + public void onNext(@NonNull MineDoneBean listBean) { + if (listBean.getRows() != null && listBean.getRows().size() > 0) { + ++mCurrentPage; + if (currentPage == 1) { + mDatas.clear(); + mDatas.addAll(listBean.getRows()); } else { - mCsvState.setState(CustomStateView.STATE_EMPTY); - ToastUtils.show("未查询到相关内容"); + mDatas.addAll(listBean.getRows()); + } + mCsvState.setState(CustomStateView.STATE_SUCCESS); + mAdapter.notifyDataSetChanged(); + mSrlContent.finishRefresh(); + if (mDatas.size() >= listBean.getTotal()) { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(true); + } else { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(false); + } + } else { + mSrlContent.finishRefresh(); + mSrlContent.finishLoadMore(); + if (currentPage > 1) { + mSrlContent.setNoMoreData(true); + } else { + if (TextUtils.isEmpty(mKeywords)) { + //无数据 + mCsvState.setState(CustomStateView.STATE_EMPTY); + } else { + mCsvState.setState(CustomStateView.STATE_EMPTY); + ToastUtils.show("未查询到相关内容"); + } } } } - } - @Override - public void onError(@NonNull Throwable e) { - mSrlContent.finishLoadMore(); - mSrlContent.finishRefresh(); - ExceptionHandler.handleException(e); - mCsvState.setState(CustomStateView.STATE_ERROR); - } + @Override + public void onError(@NonNull Throwable e) { + mSrlContent.finishLoadMore(); + mSrlContent.finishRefresh(); + ExceptionHandler.handleException(e); + mCsvState.setState(CustomStateView.STATE_ERROR); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java index dc5f536..7d2ffae 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java @@ -78,6 +78,7 @@ import com.tenlionsoft.oamodule.beans.CarBean; import com.tenlionsoft.oamodule.beans.ChoosePersonListBean; import com.tenlionsoft.oamodule.beans.DriverBean; import com.tenlionsoft.oamodule.beans.MeetingRoomBean; +import com.tenlionsoft.oamodule.beans.MineApplyBean; import com.tenlionsoft.oamodule.beans.MineDoneBean; import com.tenlionsoft.oamodule.beans.MineReadBean; import com.tenlionsoft.oamodule.beans.MineTodoBean; @@ -653,6 +654,21 @@ public class OaFlowCenterActivity extends BaseActivity { params.put("type", "show"); params.put("processId", b.getProcessInstanceId()); params.put("taskId", b.getReportUid()); + }else if(mBean instanceof MineApplyBean.RowsBean){ + //我的已办 + MineApplyBean.RowsBean b = (MineApplyBean.RowsBean) mBean; + String url = String.format(mActivity.getResources() + .getString(R.string.mine_todo_detail), + b.getFormCode(), + b.getFormVersion() + "", + UserLgUtils.getToken(), + b.getReportUid(), + b.getProcessInstanceId()); + String path = BaseUrlApi.BASE_OA + url; + params.put("url", path); + params.put("type", "show"); + params.put("processId", b.getProcessInstanceId()); + params.put("taskId", ""); } diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/ListNavigatorAdapter.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/ListNavigatorAdapter.java new file mode 100644 index 0000000..bbfcf70 --- /dev/null +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/ListNavigatorAdapter.java @@ -0,0 +1,99 @@ +package com.tenlionsoft.oamodule.adapter; + +import android.content.Context; +import android.graphics.Color; +import android.widget.TextView; + +import com.tenlionsoft.oamodule.R; +import com.tenlionsoft.oamodule.beans.NoticeTabListBean; + +import net.lucode.hackware.magicindicator.MagicIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.CommonPagerTitleView; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2021/11/4 - 3:17 下午 + * 邮箱: itgaojian@163.com + * 描述: viewpage2简单指示器 + */ +public class ListNavigatorAdapter extends CommonNavigatorAdapter { + private List mTitles; + private Context mContext; + private MagicIndicator mMiTabs; + + public ListNavigatorAdapter(Context ctx, List titles, MagicIndicator magicIndicator) { + this.mTitles = titles; + this.mContext = ctx; + mMiTabs = magicIndicator; + } + + @Override + public int getCount() { + return mTitles.size(); + } + + @Override + public IPagerTitleView getTitleView(Context context, int index) { + CommonPagerTitleView titleView = new CommonPagerTitleView(context); + titleView.setContentView(R.layout.item_tab_custom_text_view); + TextView tvTitle = titleView.findViewById(R.id.tv_tab_title); + tvTitle.setText(mTitles.get(index).getDesktopTitleName()); + titleView.setOnPagerTitleChangeListener(new CommonPagerTitleView.OnPagerTitleChangeListener() { + @Override + public void onSelected(int index, int totalCount) { + tvTitle.setTextColor(Color.parseColor("#2262FB")); + tvTitle.setTextSize(15); + } + + @Override + public void onDeselected(int index, int totalCount) { + tvTitle.setTextColor(Color.BLACK); + tvTitle.setTextSize(14); + } + + @Override + public void onLeave(int index, int totalCount, float leavePercent, boolean leftToRight) { + + } + + @Override + public void onEnter(int index, int totalCount, float enterPercent, boolean leftToRight) { + + } + }); + titleView.setOnClickListener(v -> { + mMiTabs.onPageSelected(index); + mMiTabs.onPageScrolled(index,0f,0); + if (mListener != null) { + mListener.onChange(index, mTitles.get(index)); + } + }); + return titleView; + } + + private OnChangeListener mListener; + + public void addOnChangeListener(OnChangeListener listener) { + this.mListener = listener; + } + + public interface OnChangeListener { + void onChange(int index, NoticeTabListBean b); + } + + @Override + public IPagerIndicator getIndicator(Context context) { + LinePagerIndicator indicator = new LinePagerIndicator(context); + indicator.setMode(LinePagerIndicator.MODE_EXACTLY); + indicator.setRoundRadius(5); + indicator.setLineWidth(15); + indicator.setColors(Color.parseColor("#2262FB")); + return indicator; + } +} diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/MineTodoAdapter.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/MineTodoAdapter.java index 03577d9..df840e9 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/MineTodoAdapter.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/MineTodoAdapter.java @@ -8,6 +8,7 @@ import android.view.ViewGroup; import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter; import com.tenlionsoft.oamodule.R; +import com.tenlionsoft.oamodule.beans.MineApplyBean; import com.tenlionsoft.oamodule.beans.MineDoneBean; import com.tenlionsoft.oamodule.beans.MineTodoBean; import com.tenlionsoft.oamodule.holder.MineTodoHolder; @@ -49,6 +50,13 @@ public class MineTodoAdapter extends BaseRecyclerAdapter h.mTvTitle.setText(b.getMainTitle()); h.mTvName.setText(b.getTaskName()); h.mTvState.setVisibility(View.GONE); + } else if (o instanceof MineApplyBean.RowsBean) { + MineApplyBean.RowsBean b = (MineApplyBean.RowsBean) o; + h.mTvTitle.setTextColor(Color.BLACK); + h.mTvTime.setText(b.getStartTime()); + h.mTvTitle.setText(b.getProcessDefinitionName()); + h.mTvName.setText(b.getEndTime()); + h.mTvState.setVisibility(View.GONE); } } } diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/beans/MineApplyBean.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/beans/MineApplyBean.java new file mode 100644 index 0000000..73fe58f --- /dev/null +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/beans/MineApplyBean.java @@ -0,0 +1,155 @@ +package com.tenlionsoft.oamodule.beans; + +import java.io.Serializable; +import java.util.List; + +public class MineApplyBean { + + private int page; + private List rows; + private int total; + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsBean implements Serializable { + private String deploymentId; + private String endTime; + private String formCode; + private int formVersion; + private String processDefinitionId; + private String processDefinitionKey; + private String processDefinitionName; + private int processDefinitionVersion; + private String processInstanceId; + private String reportUid; + private String startActivityId; + private String startTime; + private String startUserId; + + public String getDeploymentId() { + return deploymentId; + } + + public void setDeploymentId(String deploymentId) { + this.deploymentId = deploymentId; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public String getFormCode() { + return formCode; + } + + public void setFormCode(String formCode) { + this.formCode = formCode; + } + + public int getFormVersion() { + return formVersion; + } + + public void setFormVersion(int formVersion) { + this.formVersion = formVersion; + } + + public String getProcessDefinitionId() { + return processDefinitionId; + } + + public void setProcessDefinitionId(String processDefinitionId) { + this.processDefinitionId = processDefinitionId; + } + + public String getProcessDefinitionKey() { + return processDefinitionKey; + } + + public void setProcessDefinitionKey(String processDefinitionKey) { + this.processDefinitionKey = processDefinitionKey; + } + + public String getProcessDefinitionName() { + return processDefinitionName; + } + + public void setProcessDefinitionName(String processDefinitionName) { + this.processDefinitionName = processDefinitionName; + } + + public int getProcessDefinitionVersion() { + return processDefinitionVersion; + } + + public void setProcessDefinitionVersion(int processDefinitionVersion) { + this.processDefinitionVersion = processDefinitionVersion; + } + + public String getProcessInstanceId() { + return processInstanceId; + } + + public void setProcessInstanceId(String processInstanceId) { + this.processInstanceId = processInstanceId; + } + + public String getReportUid() { + return reportUid; + } + + public void setReportUid(String reportUid) { + this.reportUid = reportUid; + } + + public String getStartActivityId() { + return startActivityId; + } + + public void setStartActivityId(String startActivityId) { + this.startActivityId = startActivityId; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getStartUserId() { + return startUserId; + } + + public void setStartUserId(String startUserId) { + this.startUserId = startUserId; + } + } +} diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/beans/NoticeTabListBean.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/beans/NoticeTabListBean.java new file mode 100644 index 0000000..48257a7 --- /dev/null +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/beans/NoticeTabListBean.java @@ -0,0 +1,212 @@ +package com.tenlionsoft.oamodule.beans; + +public class NoticeTabListBean { + + private String beoverdueTime; + private String checkSwitch; + private String commentSwitch; + private double configOrder; + private String configSwitch; + private String configUserRange; + private String creator; + private String deleteSwitch; + private String desktopTitleName; + private String desktopViewSwitch; + private String gmtCreate; + private String gmtModified; + private String iconFileSwitch; + private String isDelete; + private String menuNameManager; + private String menuNameView; + private String modifier; + private String noticeConfigId; + private String publishRange; + private String remark; + private String rollSwitch; + private String uploadFileSwitch; + private String watermarkContent; + + public String getBeoverdueTime() { + return beoverdueTime; + } + + public void setBeoverdueTime(String beoverdueTime) { + this.beoverdueTime = beoverdueTime; + } + + public String getCheckSwitch() { + return checkSwitch; + } + + public void setCheckSwitch(String checkSwitch) { + this.checkSwitch = checkSwitch; + } + + public String getCommentSwitch() { + return commentSwitch; + } + + public void setCommentSwitch(String commentSwitch) { + this.commentSwitch = commentSwitch; + } + + public double getConfigOrder() { + return configOrder; + } + + public void setConfigOrder(double configOrder) { + this.configOrder = configOrder; + } + + public String getConfigSwitch() { + return configSwitch; + } + + public void setConfigSwitch(String configSwitch) { + this.configSwitch = configSwitch; + } + + public String getConfigUserRange() { + return configUserRange; + } + + public void setConfigUserRange(String configUserRange) { + this.configUserRange = configUserRange; + } + + public String getCreator() { + return creator; + } + + public void setCreator(String creator) { + this.creator = creator; + } + + public String getDeleteSwitch() { + return deleteSwitch; + } + + public void setDeleteSwitch(String deleteSwitch) { + this.deleteSwitch = deleteSwitch; + } + + public String getDesktopTitleName() { + return desktopTitleName; + } + + public void setDesktopTitleName(String desktopTitleName) { + this.desktopTitleName = desktopTitleName; + } + + public String getDesktopViewSwitch() { + return desktopViewSwitch; + } + + public void setDesktopViewSwitch(String desktopViewSwitch) { + this.desktopViewSwitch = desktopViewSwitch; + } + + public String getGmtCreate() { + return gmtCreate; + } + + public void setGmtCreate(String gmtCreate) { + this.gmtCreate = gmtCreate; + } + + public String getGmtModified() { + return gmtModified; + } + + public void setGmtModified(String gmtModified) { + this.gmtModified = gmtModified; + } + + public String getIconFileSwitch() { + return iconFileSwitch; + } + + public void setIconFileSwitch(String iconFileSwitch) { + this.iconFileSwitch = iconFileSwitch; + } + + public String getIsDelete() { + return isDelete; + } + + public void setIsDelete(String isDelete) { + this.isDelete = isDelete; + } + + public String getMenuNameManager() { + return menuNameManager; + } + + public void setMenuNameManager(String menuNameManager) { + this.menuNameManager = menuNameManager; + } + + public String getMenuNameView() { + return menuNameView; + } + + public void setMenuNameView(String menuNameView) { + this.menuNameView = menuNameView; + } + + public String getModifier() { + return modifier; + } + + public void setModifier(String modifier) { + this.modifier = modifier; + } + + public String getNoticeConfigId() { + return noticeConfigId; + } + + public void setNoticeConfigId(String noticeConfigId) { + this.noticeConfigId = noticeConfigId; + } + + public String getPublishRange() { + return publishRange; + } + + public void setPublishRange(String publishRange) { + this.publishRange = publishRange; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRollSwitch() { + return rollSwitch; + } + + public void setRollSwitch(String rollSwitch) { + this.rollSwitch = rollSwitch; + } + + public String getUploadFileSwitch() { + return uploadFileSwitch; + } + + public void setUploadFileSwitch(String uploadFileSwitch) { + this.uploadFileSwitch = uploadFileSwitch; + } + + public String getWatermarkContent() { + return watermarkContent; + } + + public void setWatermarkContent(String watermarkContent) { + this.watermarkContent = watermarkContent; + } +} diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/DocFragment.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/DocFragment.java index 22459a0..d85b4b5 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/DocFragment.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/DocFragment.java @@ -187,13 +187,14 @@ public class DocFragment extends BaseFragment { mSelCatalogAdapter.setData(mSelCatalog); mSelCatalogId = b.getDocumentDirId(); doRefresh(); - } else if (rowsBean instanceof DocumentListBean) { + } else if (rowsBean instanceof DocumentListBean.RowsBean) { DocumentListBean.RowsBean b = (DocumentListBean.RowsBean) rowsBean; Intent intent = new Intent(mActivity, DocumentDetailActivity.class); intent.putExtra("id", b.getDocumentFileId()); intent.putExtra("type", mType); mLauncher.launch(intent); } + LogUtils.e(rowsBean instanceof DocumentListBean.RowsBean); }); diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/OaMainFragment.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/OaMainFragment.java index eccb6cb..918f415 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/OaMainFragment.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/OaMainFragment.java @@ -52,13 +52,18 @@ import com.tenlionsoft.baselib.utils.UIUtil; import com.tenlionsoft.baselib.utils.UserLgUtils; import com.tenlionsoft.oamodule.R; import com.tenlionsoft.oamodule.R2; +import com.tenlionsoft.oamodule.adapter.ListNavigatorAdapter; import com.tenlionsoft.oamodule.adapter.NoticeShowAdapter; import com.tenlionsoft.oamodule.beans.BySuperviseListBean; import com.tenlionsoft.oamodule.beans.NoticeListBean; +import com.tenlionsoft.oamodule.beans.NoticeTabListBean; import com.tenlionsoft.oamodule.beans.ToDoCountBean; import com.tenlionsoft.oamodule.beans.UnReadCountBean; import com.tenlionsoft.oamodule.net.OAApi; +import net.lucode.hackware.magicindicator.MagicIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator; + import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -132,6 +137,10 @@ public class OaMainFragment extends BaseFragment { LinearLayout mLlTodoCount; @BindView(R2.id.ll_unread_count) LinearLayout mLlUnreadCount; + @BindView(R2.id.mi_notice_tabs) + MagicIndicator mMiTabs; + @BindView(R2.id.ll_notice_tab) + LinearLayout mLlNoticeTab; @BindView(R2.id.ll_supervise_count) LinearLayout mLlSuperviseCount; private List mFuncBeans; @@ -139,6 +148,8 @@ public class OaMainFragment extends BaseFragment { private ActivityResultLauncher mLauncher; private NoticeShowAdapter mNoticeShowAdapter; private List mNoticeListBeanRows; + private String mCurrentNoticeId; + private String mCurrentNoticeTitle; @Override protected int getContentViewId() { @@ -195,6 +206,8 @@ public class OaMainFragment extends BaseFragment { mTvNoticeMore.setOnClickListener(v -> ARouter.getInstance() .build(PathConfig.PATH_MODULE_OA_ACTIVITY_NOTICE) + .withString("id", mCurrentNoticeId) + .withString("title", mCurrentNoticeTitle) .navigation());//通知公告更多 mIvScan.setOnClickListener(v -> { Intent intent = new Intent(mActivity, CaptureActivity.class); @@ -223,7 +236,7 @@ public class OaMainFragment extends BaseFragment { //获取菜单 getMainMenuList(); //获取通知公告 - getNoticeList(); + getNoticeTabs(); mSrlContent.finishRefresh(); } @@ -271,10 +284,64 @@ public class OaMainFragment extends BaseFragment { }); } - private void getNoticeList() { + /** + * 获取新闻类别 + */ + private void getNoticeTabs() { + RetrofitManager.getInstance() .create(OAApi.class) - .getNoticeList("2", PathConfig.NOTICE_CONFIG_ID, "", "", "", "1", "15") + .getNoticeTabList() + .compose(RxTransformer.getTransformer()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@io.reactivex.rxjava3.annotations.NonNull Disposable d) { + + } + + @Override + public void onNext(@io.reactivex.rxjava3.annotations.NonNull List noticeTabListBeans) { + if (noticeTabListBeans != null && noticeTabListBeans.size() > 0) { + CommonNavigator commonNavigator = new CommonNavigator(mActivity); + ListNavigatorAdapter adapter = new ListNavigatorAdapter(mActivity, noticeTabListBeans, mMiTabs); + commonNavigator.setAdapter(adapter); + commonNavigator.setAdjustMode(false); + mMiTabs.setNavigator(commonNavigator); + adapter.addOnChangeListener((index, b) -> { + mCurrentNoticeId = b.getNoticeConfigId(); + mCurrentNoticeTitle = b.getDesktopTitleName(); + mCsvNotice.setVisibility(View.VISIBLE); + getNoticeList(mCurrentNoticeId); + }); + getNoticeList(noticeTabListBeans.get(0).getNoticeConfigId());//默认获取第一条数据 + mCurrentNoticeId = noticeTabListBeans.get(0).getNoticeConfigId(); + mCurrentNoticeTitle = noticeTabListBeans.get(0).getDesktopTitleName(); + } else { + mRlvNotice.setVisibility(View.GONE); + mCsvNotice.setVisibility(View.VISIBLE); + mCsvNotice.setState(CustomStateView.STATE_EMPTY); + } + } + + @Override + public void onError(@io.reactivex.rxjava3.annotations.NonNull Throwable e) { + mRlvNotice.setVisibility(View.GONE); + mCsvNotice.setState(CustomStateView.STATE_ERROR); + } + + @Override + public void onComplete() { + + } + }); + } + + private void getNoticeList(String id) { + mNoticeListBeanRows.clear(); + mNoticeShowAdapter.setData(mNoticeListBeanRows); + RetrofitManager.getInstance() + .create(OAApi.class) + .getNoticeList("2", id, "", "", "", "1", "15") .compose(RxTransformer.getTransformer()) .subscribe(new Observer() { @Override diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/net/OAApi.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/net/OAApi.java index 0604e5a..eb7d934 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/net/OAApi.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/net/OAApi.java @@ -32,6 +32,7 @@ import com.tenlionsoft.oamodule.beans.MeetingQrBean; import com.tenlionsoft.oamodule.beans.MeetingRecordListBean; import com.tenlionsoft.oamodule.beans.MeetingRoomBean; import com.tenlionsoft.oamodule.beans.MeetingRoomRecordBean; +import com.tenlionsoft.oamodule.beans.MineApplyBean; import com.tenlionsoft.oamodule.beans.MineDoneBean; import com.tenlionsoft.oamodule.beans.MineJoinMeetingListBean; import com.tenlionsoft.oamodule.beans.MineReadBean; @@ -41,6 +42,7 @@ import com.tenlionsoft.oamodule.beans.NewsListBean; import com.tenlionsoft.oamodule.beans.NewsTypeBean; import com.tenlionsoft.oamodule.beans.NoticeCommentListBean; import com.tenlionsoft.oamodule.beans.NoticeListBean; +import com.tenlionsoft.oamodule.beans.NoticeTabListBean; import com.tenlionsoft.oamodule.beans.OaFlowApplyBean; import com.tenlionsoft.oamodule.beans.OaFlowLogBean; import com.tenlionsoft.oamodule.beans.RoutineAcceptListBean; @@ -1050,6 +1052,14 @@ public interface OAApi { Observable getMineDoneList(@Query("keywords") String key, @Query("startTime") String start, @Query( "endTime") String end, @Query("page") String page); + /** + * TODO 我发起的 + */ + @Headers({"base_url_name:oa", "need_token:true", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/oa/base/listpage-start-of-mine") + Observable getMineApplyList(@Query("keywords") String key, @Query("startTime") String start, @Query( + "endTime") String end, @Query("page") String page); + /** * 转交 */ @@ -1161,4 +1171,11 @@ public interface OAApi { @Headers({"base_url_name:oa", "need_token:true", "Content-Type: application/json", "Accept: application/json"}) @PUT("app/indextemplaterecord/update/{indexTemplateRecordId}") Observable doEditDataReport(@Path("indexTemplateRecordId") String id, @Body RequestBody body); + + /** + * 获取首页新闻列表 + */ + @Headers({"base_url_name:oa", "need_token:true", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/noticeconfig/listswitchview") + Observable> getNoticeTabList(); } diff --git a/oamodule/src/main/res/layout/activity_mine_ucoming.xml b/oamodule/src/main/res/layout/activity_mine_ucoming.xml index 1991fa6..fb0117c 100644 --- a/oamodule/src/main/res/layout/activity_mine_ucoming.xml +++ b/oamodule/src/main/res/layout/activity_mine_ucoming.xml @@ -73,7 +73,7 @@ android:layout_width="0dp" android:layout_height="32dp" android:layout_weight="1" - android:background="@drawable/switch_custom_gray_white_right" + android:background="@drawable/switch_custom_gray_white_center" android:button="@null" android:gravity="center" android:paddingLeft="10dp" @@ -82,6 +82,20 @@ android:paddingBottom="5dp" android:text="我的已办" android:textColor="@color/col_gray_black" /> + diff --git a/oamodule/src/main/res/layout/fragment_oa_flow_mine_todo.xml b/oamodule/src/main/res/layout/fragment_oa_flow_mine_todo.xml index 49dfa4c..6a8c624 100644 --- a/oamodule/src/main/res/layout/fragment_oa_flow_mine_todo.xml +++ b/oamodule/src/main/res/layout/fragment_oa_flow_mine_todo.xml @@ -84,6 +84,7 @@ android:paddingBottom="5dp" android:text="我的已办" android:textColor="@color/col_gray_black" /> + diff --git a/oamodule/src/main/res/layout/fragment_oa_main.xml b/oamodule/src/main/res/layout/fragment_oa_main.xml index 12b47f0..1fbc228 100644 --- a/oamodule/src/main/res/layout/fragment_oa_main.xml +++ b/oamodule/src/main/res/layout/fragment_oa_main.xml @@ -224,12 +224,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/blue_bg" - android:visibility="gone" android:gravity="center_vertical" android:paddingLeft="10dp" android:paddingTop="6dp" android:paddingRight="10dp" - android:paddingBottom="6dp"> + android:paddingBottom="6dp" + android:visibility="gone"> - + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + android:src="@drawable/ic_notice_title_icon" + android:visibility="gone" /> + android:textStyle="bold" + android:visibility="gone" /> - +