会议签到
This commit is contained in:
parent
0b23261d59
commit
94cd6f3341
@ -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)
|
||||
|
6
baselib/src/main/res/drawable/shp_rectangle_gray_5.xml
Executable file
6
baselib/src/main/res/drawable/shp_rectangle_gray_5.xml
Executable file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/gray_bg" />
|
||||
<corners android:radius="5dp" />
|
||||
</shape>
|
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/ll_base_search_cancel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp">
|
||||
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_base_search_cancel"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shp_rectangle_gray_5"
|
||||
android:drawableLeft="@drawable/ic_search_icon_gray"
|
||||
android:drawablePadding="5dp"
|
||||
android:hint="搜索"
|
||||
android:imeOptions="actionSearch"
|
||||
android:padding="3dp"
|
||||
android:singleLine="true"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_base_search_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="取消"
|
||||
android:textColor="@color/gray_text" />
|
||||
</LinearLayout>
|
@ -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<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 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版本校验
|
||||
|
@ -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<BaseSuccessBean> getHistoryCount(@Header("token") String token);
|
||||
|
||||
/**
|
||||
* 会议签到
|
||||
*/
|
||||
@Headers({"base_url_name:oa", "Content-Type: application/json", "Accept: application/json"})
|
||||
@PUT("app/meetinguser/update-sign/{meetingId}")
|
||||
Observable<BaseSuccessBean> doSignMeeting(@Path("meetingId") String id, @Header("token") String token);
|
||||
|
||||
|
||||
}
|
||||
|
@ -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<MeetingAttachList
|
||||
@Override
|
||||
public void bindHolder(BasePersonShowHolder h, int i) {
|
||||
MeetingAttachListBean b = mData.get(i);
|
||||
if (!TextUtils.isEmpty(b.getUserId())) {
|
||||
LogUtils.e(b.getUserId());
|
||||
if (!TextUtils.isEmpty(b.getUserId()) ) {
|
||||
h.mTvName.setVisibility(View.VISIBLE);
|
||||
if (mType == 2) {
|
||||
//单纯显示
|
||||
@ -63,6 +65,7 @@ public class BasePersonShowAdapter extends BaseRecyclerAdapter<MeetingAttachList
|
||||
h.mIvDel.setOnClickListener(v -> 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)
|
||||
|
@ -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
|
||||
|
@ -259,6 +259,13 @@ public interface OAApi {
|
||||
@GET("app/meeting/get-signqrcode/{meetingId}")
|
||||
Observable<MeetingQrBean> 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<BaseSuccessBean> doSignMeeting(@Path("meetingId") String id, @Header("token") String token);
|
||||
|
||||
/*========日常工作========*/
|
||||
|
||||
/**
|
||||
|
@ -34,108 +34,136 @@
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/layout_base_search_cancel_gray" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_search"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shp_rectangle_gray_f5"
|
||||
android:drawableLeft="@drawable/ic_search_icon_gray"
|
||||
android:drawablePadding="5dp"
|
||||
android:hint="搜索"
|
||||
android:padding="5dp"
|
||||
android:textSize="12sp" />
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@color/gray_bg" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_search"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="搜索"
|
||||
android:textColor="@color/text_blue" />
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="我的收件箱" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_content"
|
||||
<RelativeLayout
|
||||
android:id="@+id/rl_inbox"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="收件箱" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<com.scwang.smart.refresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/srl_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginRight="10dp"
|
||||
tools:visibility="gone">
|
||||
android:orientation="horizontal">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:drawablePadding="5dp"
|
||||
android:drawableLeft="@drawable/ic_type_icon"
|
||||
android:text="收件箱"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rlv_doc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
<TextView
|
||||
android:id="@+id/tv_inbox_num"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
tools:text="22" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_hint"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
</RelativeLayout>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/pb_loading"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:indeterminateBehavior="repeat"
|
||||
android:indeterminateDrawable="@drawable/anim_loading" />
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@color/gray_bg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_empty_data"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:layout_centerInParent="true" />
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="文件夹" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_error_hint"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:clickable="true"
|
||||
android:textColor="@color/black"
|
||||
tools:text="加载数据失败" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
|
||||
</RelativeLayout>
|
||||
<TextView
|
||||
android:id="@+id/tv_sent_box"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:drawablePadding="5dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:drawableLeft="@drawable/ic_type_icon"
|
||||
android:text="以发送"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@color/gray_bg" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_draft_box"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:drawableLeft="@drawable/ic_type_icon"
|
||||
android:drawablePadding="5dp"
|
||||
android:text="草稿箱"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:background="@color/gray_bg" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_recycle_box"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:clickable="true"
|
||||
android:drawablePadding="5dp"
|
||||
android:focusable="true"
|
||||
android:drawableLeft="@drawable/ic_type_icon"
|
||||
android:text="回收站"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@color/gray_bg" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
Loading…
Reference in New Issue
Block a user