diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/QrDialog.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/QrDialog.java
index 521028d..5710ba7 100755
--- a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/QrDialog.java
+++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/QrDialog.java
@@ -45,8 +45,8 @@ public class QrDialog extends Dialog {
super.onCreate(savedInstanceState);
view = LayoutInflater.from(context).inflate(R.layout.dialog_meeting_qr, null);
setContentView(view);
- setCancelable(false);
- setCanceledOnTouchOutside(false);
+ setCancelable(true);
+ setCanceledOnTouchOutside(true);
ImageView mIvQr = view.findViewById(R.id.iv_qr);
Glide.with(context)
.load(BaseUrlApi.BASE_IMG_URL + mQr)
diff --git a/baselib/src/main/res/drawable/shp_rectangle_gray_5.xml b/baselib/src/main/res/drawable/shp_rectangle_gray_5.xml
new file mode 100755
index 0000000..bbcc182
--- /dev/null
+++ b/baselib/src/main/res/drawable/shp_rectangle_gray_5.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/baselib/src/main/res/layout/layout_base_search_cancel_gray.xml b/baselib/src/main/res/layout/layout_base_search_cancel_gray.xml
new file mode 100644
index 0000000..e50807f
--- /dev/null
+++ b/baselib/src/main/res/layout/layout_base_search_cancel_gray.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java
index 133942e..e6379c4 100644
--- a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java
+++ b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java
@@ -1,7 +1,9 @@
package com.tengshisoft.mainmodule.base;
+import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Color;
+import android.text.TextUtils;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -17,7 +19,9 @@ import com.king.zxing.CameraScan;
import com.king.zxing.CaptureActivity;
import com.tengshisoft.mainmodule.R;
import com.tengshisoft.mainmodule.R2;
+import com.tengshisoft.mainmodule.net.MainApi;
import com.tenlionsoft.baselib.constant.PathConfig;
+import com.tenlionsoft.baselib.core.beans.BaseSuccessBean;
import com.tenlionsoft.baselib.core.beans.UserInfoBean;
import com.tenlionsoft.baselib.core.network.update.CheckUpdateUtils;
import com.tenlionsoft.baselib.core.network.update.service.DownloadService;
@@ -32,8 +36,10 @@ import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
import com.tenlionsoft.baselib.core.widget.base.BaseFragment;
import com.tenlionsoft.baselib.core.widget.base.BaseViewPage2Adapter;
import com.tenlionsoft.baselib.core.widget.base.FragmentUtils;
+import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.KeyBoardListener;
import com.tenlionsoft.baselib.utils.LogUtils;
+import com.tenlionsoft.baselib.utils.UIUtil;
import com.tenlionsoft.baselib.utils.UserLgUtils;
import java.util.ArrayList;
@@ -41,7 +47,6 @@ import java.util.List;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
-import androidx.annotation.Nullable;
import androidx.viewpager2.widget.ViewPager2;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -117,7 +122,15 @@ public class MainTabActivity extends BaseActivity {
mLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
if (result.getResultCode() == RESULT_OK) {
String s = CameraScan.parseScanResult(result.getData());
- LogUtils.e("扫描结果=="+s);
+// MEETING:49b90221-67c0-44ec-b131-f9f2bb3f0709
+ if (!TextUtils.isEmpty(s)) {
+ String[] split = s.split(":");
+ if ("MEETING".equals(split[0])) {
+ doSignMeeting(split[1]);
+ }
+ } else {
+ ToastUtils.show("未能识别二维码内容");
+ }
}
});
@@ -126,6 +139,41 @@ public class MainTabActivity extends BaseActivity {
//TODO 检查App版本 checkAppVersion();
}
+ /**
+ * 会议签到
+ */
+ private void doSignMeeting(String s) {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "签到中...");
+ dialog.show();
+ RetrofitManager.getInstance()
+ .create(MainApi.class)
+ .doSignMeeting(s, UserLgUtils.getToken())
+ .compose(RxTransformer.getTransformer())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @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 onComplete() {
+
+ }
+ });
+ }
+
/**
* 初始化视图
@@ -263,6 +311,7 @@ public class MainTabActivity extends BaseActivity {
.statusBarDarkFont(true)
.titleBar(mVStatusBar)
.init();
+ break;
case 3://加号
Intent intent = new Intent(mActivity, CaptureActivity.class);
mLauncher.launch(intent);
@@ -274,7 +323,7 @@ public class MainTabActivity extends BaseActivity {
mVStatusBar.setVisibility(View.VISIBLE);
ImmersionBar.with(this)
- .statusBarColor(R.color.gray)
+ .statusBarColor(R.color.gray_f0)
.statusBarDarkFont(true)
.titleBar(mVStatusBar)
.init();
@@ -293,10 +342,6 @@ public class MainTabActivity extends BaseActivity {
}
}
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- }
/**
* App版本校验
diff --git a/mainmodule/src/main/java/com/tengshisoft/mainmodule/net/MainApi.java b/mainmodule/src/main/java/com/tengshisoft/mainmodule/net/MainApi.java
index a0c3936..2994c62 100644
--- a/mainmodule/src/main/java/com/tengshisoft/mainmodule/net/MainApi.java
+++ b/mainmodule/src/main/java/com/tengshisoft/mainmodule/net/MainApi.java
@@ -14,6 +14,7 @@ import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
+import retrofit2.http.PUT;
import retrofit2.http.Part;
import retrofit2.http.Path;
@@ -64,5 +65,12 @@ public interface MainApi {
@GET("app/check/countcheckofmine")
Observable getHistoryCount(@Header("token") String token);
+ /**
+ * 会议签到
+ */
+ @Headers({"base_url_name:oa", "Content-Type: application/json", "Accept: application/json"})
+ @PUT("app/meetinguser/update-sign/{meetingId}")
+ Observable doSignMeeting(@Path("meetingId") String id, @Header("token") String token);
+
}
diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/BasePersonShowAdapter.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/BasePersonShowAdapter.java
index 3b1cccc..111b775 100644
--- a/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/BasePersonShowAdapter.java
+++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/BasePersonShowAdapter.java
@@ -8,6 +8,7 @@ import android.view.ViewGroup;
import com.bumptech.glide.Glide;
import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter;
+import com.tenlionsoft.baselib.utils.LogUtils;
import com.tenlionsoft.oamodule.R;
import com.tenlionsoft.oamodule.beans.MeetingAttachListBean;
import com.tenlionsoft.oamodule.holder.BasePersonShowHolder;
@@ -37,7 +38,8 @@ public class BasePersonShowAdapter extends BaseRecyclerAdapter mDelListener.doDel(mData.get(i), i));
}
} else {
+ h.mIvSign.setVisibility(View.GONE);
h.mTvName.setVisibility(View.GONE);
h.mIvDel.setVisibility(View.GONE);
Glide.with(mContext)
diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java
index 84dd85b..138ef2b 100644
--- a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java
+++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java
@@ -1,13 +1,20 @@
package com.tenlionsoft.oamodule.fragments;
import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.widget.base.BaseFragment;
import com.tenlionsoft.baselib.utils.LogUtils;
import com.tenlionsoft.oamodule.R;
+import com.tenlionsoft.oamodule.R2;
+import butterknife.BindView;
import butterknife.ButterKnife;
/**
@@ -18,6 +25,29 @@ import butterknife.ButterKnife;
*/
@Route(path = PathConfig.PATH_MODULE_OA_FRAGMENT_EMAIL)
public class EmailFragment extends BaseFragment {
+ @BindView(R2.id.iv_add)
+ ImageView mIvAdd;
+ @BindView(R2.id.rl_title)
+ RelativeLayout mRlTitle;
+ @BindView(R2.id.et_base_search_cancel)
+ EditText mEtBaseSearchCancel;
+ @BindView(R2.id.tv_base_search_cancel)
+ TextView mTvBaseSearchCancel;
+ @BindView(R2.id.ll_base_search_cancel)
+ LinearLayout mLlBaseSearchCancel;
+ @BindView(R2.id.tv_inbox_num)
+ TextView mTvInboxNum;
+ @BindView(R2.id.rl_inbox)
+ RelativeLayout mRlInbox;
+ @BindView(R2.id.tv_sent_box)
+ TextView mTvSentBox;
+ @BindView(R2.id.tv_draft_box)
+ TextView mTvDraftBox;
+ @BindView(R2.id.tv_recycle_box)
+ TextView mTvRecycleBox;
+ @BindView(R2.id.ll_content)
+ LinearLayout mLlContent;
+
@Override
protected int getContentViewId() {
return R.layout.fragment_oa_email;
@@ -26,7 +56,17 @@ public class EmailFragment extends BaseFragment {
@Override
protected void setDataToView(View dataView) {
ButterKnife.bind(this, dataView);
- LogUtils.e("EmailFragment");
+ setStateView(STATE_SUCCESS);
+ mSrlView.setEnableLoadMore(false);
+ mSrlView.setEnableLoadMore(false);
+
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ //获取焦点
+ LogUtils.e("email获取了焦点");
}
@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 f8e4e40..9b6a527 100644
--- a/oamodule/src/main/java/com/tenlionsoft/oamodule/net/OAApi.java
+++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/net/OAApi.java
@@ -259,6 +259,13 @@ public interface OAApi {
@GET("app/meeting/get-signqrcode/{meetingId}")
Observable getMeetingSignQr(@Path("meetingId") String id, @Header("token") String token);
+ /**
+ * 会议签到
+ */
+ @Headers({"base_url_name:oa", "Content-Type: application/json", "Accept: application/json"})
+ @PUT("app/meetinguser/update-sign/{meetingId}")
+ Observable doSignMeeting(@Path("meetingId") String id, @Header("token") String token);
+
/*========日常工作========*/
/**
diff --git a/oamodule/src/main/res/layout/fragment_oa_email.xml b/oamodule/src/main/res/layout/fragment_oa_email.xml
index d5c56dd..7e2fda8 100644
--- a/oamodule/src/main/res/layout/fragment_oa_email.xml
+++ b/oamodule/src/main/res/layout/fragment_oa_email.xml
@@ -34,108 +34,136 @@
android:background="@color/white"
android:orientation="vertical">
+
+
+
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:orientation="vertical">
-
+
+ android:layout_marginTop="5dp"
+ android:text="我的收件箱" />
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:orientation="horizontal">
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file