完成日常工作
This commit is contained in:
parent
2429fd2367
commit
6dc4554ef2
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CompilerConfiguration">
|
<component name="CompilerConfiguration">
|
||||||
<bytecodeTargetLevel target="11" />
|
<bytecodeTargetLevel target="1.8" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
@ -31,5 +31,10 @@
|
|||||||
<option name="name" value="MavenLocal" />
|
<option name="name" value="MavenLocal" />
|
||||||
<option name="url" value="file:$USER_HOME$/.m2/repository" />
|
<option name="url" value="file:$USER_HOME$/.m2/repository" />
|
||||||
</remote-repository>
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="MavenLocal" />
|
||||||
|
<option name="name" value="MavenLocal" />
|
||||||
|
<option name="url" value="file:$USER_HOME$/.m2/repository/" />
|
||||||
|
</remote-repository>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
@ -1,4 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="11" project-jdk-type="JavaSDK" />
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="11" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
|
</component>
|
||||||
</project>
|
</project>
|
@ -106,4 +106,8 @@ dependencies {
|
|||||||
api 'com.liulishuo.okdownload:okhttp:1.0.5'
|
api 'com.liulishuo.okdownload:okhttp:1.0.5'
|
||||||
api 'com.liulishuo.okdownload:okdownload:1.0.5'
|
api 'com.liulishuo.okdownload:okdownload:1.0.5'
|
||||||
api 'com.haibin:calendarview:3.6.9'
|
api 'com.haibin:calendarview:3.6.9'
|
||||||
|
//zxing
|
||||||
|
api 'com.google.zxing:core:3.4.1'
|
||||||
|
api ('com.journeyapps:zxing-android-embedded:3.6.0') { transitive = false }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -169,7 +169,9 @@ public class PathConfig {
|
|||||||
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_LIST = "/oamodule/activity/mineLaunchRoutineWork";//我发起的日常工作列表
|
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_LIST = "/oamodule/activity/mineLaunchRoutineWork";//我发起的日常工作列表
|
||||||
|
|
||||||
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_ADD = "/oamodule/activity/mineLaunchRoutineWorkAdd";//发起的日常工作
|
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_ADD = "/oamodule/activity/mineLaunchRoutineWorkAdd";//发起的日常工作
|
||||||
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_DETAIL = "/oamodule/activity/mineLaunchRoutineWorkDetail";//我发起的日常工作详情
|
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL = "/oamodule/activity/mineLaunchRoutineWorkDetail";//日常工作详情
|
||||||
|
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_RESTORE = "/oamodule/activity/routineRestore";//日常工作办结
|
||||||
|
|
||||||
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_EDIT = "/oamodule/activity/mineLaunchRoutineWorkEdit";//我发起的日常工作编辑
|
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_EDIT = "/oamodule/activity/mineLaunchRoutineWorkEdit";//我发起的日常工作编辑
|
||||||
|
|
||||||
public static final String PATH_MODULE_OA_ACTIVITY_WORK_REPORT = "/oamodule/activity/workReport";//工作报告
|
public static final String PATH_MODULE_OA_ACTIVITY_WORK_REPORT = "/oamodule/activity/workReport";//工作报告
|
||||||
|
@ -140,7 +140,6 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||||||
} else {
|
} else {
|
||||||
sendBroadcast(new Intent(PathConfig.ACTION_REGISTER_BROAD));
|
sendBroadcast(new Intent(PathConfig.ACTION_REGISTER_BROAD));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package com.tengshisoft.mainmodule.base;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
@ -14,11 +13,10 @@ import com.alibaba.android.arouter.facade.annotation.Route;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.gyf.immersionbar.ImmersionBar;
|
import com.gyf.immersionbar.ImmersionBar;
|
||||||
import com.hjq.toast.ToastUtils;
|
import com.hjq.toast.ToastUtils;
|
||||||
|
import com.journeyapps.barcodescanner.CaptureActivity;
|
||||||
import com.tengshisoft.mainmodule.R;
|
import com.tengshisoft.mainmodule.R;
|
||||||
import com.tengshisoft.mainmodule.R2;
|
import com.tengshisoft.mainmodule.R2;
|
||||||
import com.tenlionsoft.baselib.constant.GlobalProvider;
|
|
||||||
import com.tenlionsoft.baselib.constant.PathConfig;
|
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||||
import com.tenlionsoft.baselib.core.beans.UserExpandInfoBean;
|
|
||||||
import com.tenlionsoft.baselib.core.beans.UserInfoBean;
|
import com.tenlionsoft.baselib.core.beans.UserInfoBean;
|
||||||
import com.tenlionsoft.baselib.core.network.update.CheckUpdateUtils;
|
import com.tenlionsoft.baselib.core.network.update.CheckUpdateUtils;
|
||||||
import com.tenlionsoft.baselib.core.network.update.service.DownloadService;
|
import com.tenlionsoft.baselib.core.network.update.service.DownloadService;
|
||||||
@ -113,7 +111,6 @@ public class MainTabActivity extends BaseActivity {
|
|||||||
initContentView();
|
initContentView();
|
||||||
NetworkChangeReceiver.registerReceiver(mActivity);
|
NetworkChangeReceiver.registerReceiver(mActivity);
|
||||||
//TODO 检查App版本 checkAppVersion();
|
//TODO 检查App版本 checkAppVersion();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
package="com.tenlionsoft.oamodule">
|
package="com.tenlionsoft.oamodule">
|
||||||
|
|
||||||
<application>
|
<application>
|
||||||
|
<activity android:name=".activity.routine.RoutineRestoreActivity"></activity>
|
||||||
|
<activity android:name=".activity.routine.RoutineWorkDetailActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".activity.routine.ApplyRoutineWorkActivity"
|
android:name=".activity.routine.ApplyRoutineWorkActivity"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
|
@ -0,0 +1,401 @@
|
|||||||
|
package com.tenlionsoft.oamodule.activity.routine;
|
||||||
|
|
||||||
|
import android.app.ProgressDialog;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.text.Html;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.hjq.toast.ToastUtils;
|
||||||
|
import com.leon.lfilepickerlibrary.LFilePicker;
|
||||||
|
import com.leon.lfilepickerlibrary.utils.Constant;
|
||||||
|
import com.tenlionsoft.baselib.constant.LionActions;
|
||||||
|
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||||
|
import com.tenlionsoft.baselib.core.beans.AddFileBean;
|
||||||
|
import com.tenlionsoft.baselib.core.beans.BaseSuccessBean;
|
||||||
|
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
|
||||||
|
import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
|
||||||
|
import com.tenlionsoft.baselib.core.retrofit_net.api.BaseApiService;
|
||||||
|
import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
|
||||||
|
import com.tenlionsoft.baselib.core.widget.base.AddFileAdapter;
|
||||||
|
import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
|
||||||
|
import com.tenlionsoft.baselib.core.widget.base.ShowFileAdapter;
|
||||||
|
import com.tenlionsoft.baselib.utils.ExceptionHandler;
|
||||||
|
import com.tenlionsoft.baselib.utils.LogUtils;
|
||||||
|
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.beans.RoutineBean;
|
||||||
|
import com.tenlionsoft.oamodule.beans.SaveRoutineAcceptBean;
|
||||||
|
import com.tenlionsoft.oamodule.net.OAApi;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.widget.SwitchCompat;
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import butterknife.Unbinder;
|
||||||
|
import io.reactivex.rxjava3.annotations.NonNull;
|
||||||
|
import io.reactivex.rxjava3.core.Observable;
|
||||||
|
import io.reactivex.rxjava3.core.Observer;
|
||||||
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
|
import okhttp3.MediaType;
|
||||||
|
import okhttp3.MultipartBody;
|
||||||
|
import okhttp3.RequestBody;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: Adam
|
||||||
|
* 日期: 2022年04月18日14:07:04
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述: 日常工作完成
|
||||||
|
*/
|
||||||
|
@Route(path = PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_RESTORE)
|
||||||
|
public class RoutineRestoreActivity extends BaseActivity {
|
||||||
|
|
||||||
|
@BindView(R2.id.tv_name)
|
||||||
|
TextView mTvName;
|
||||||
|
@BindView(R2.id.tv_start_time)
|
||||||
|
TextView mTvStartTime;
|
||||||
|
@BindView(R2.id.tv_end_time)
|
||||||
|
TextView mTvEndTime;
|
||||||
|
@BindView(R2.id.tv_tl)
|
||||||
|
TextView mTvTl;
|
||||||
|
@BindView(R2.id.tv_undertake)
|
||||||
|
TextView mTvUndertake;
|
||||||
|
@BindView(R2.id.tv_assisted)
|
||||||
|
TextView mTvAssisted;
|
||||||
|
@BindView(R2.id.sw_schedule)
|
||||||
|
SwitchCompat mSwSchedule;
|
||||||
|
@BindView(R2.id.tv_request)
|
||||||
|
TextView mTvRequest;
|
||||||
|
@BindView(R2.id.tv_remark)
|
||||||
|
TextView mTvRemark;
|
||||||
|
@BindView(R2.id.rlv_files)
|
||||||
|
RecyclerView mRlvFiles;
|
||||||
|
@BindView(R2.id.et_restore)
|
||||||
|
EditText mEtRestore;
|
||||||
|
@BindView(R2.id.rlv_restore_files)
|
||||||
|
RecyclerView mRlvRestoreFiles;
|
||||||
|
@BindView(R2.id.ll_restore)
|
||||||
|
LinearLayout mLlRestore;
|
||||||
|
@BindView(R2.id.btn_confirm)
|
||||||
|
Button mBtnConfirm;
|
||||||
|
private Unbinder mBind;
|
||||||
|
private String mId;
|
||||||
|
private RoutineBean mBean;
|
||||||
|
private List<AddFileBean> mFileBeans = new ArrayList<>();
|
||||||
|
private AddFileAdapter mAddFileAdapter;
|
||||||
|
private String[] fileFilter = new String[]{".doc", ".docx", ".xls", ".xlsx", ".pptx", ".ppt", ".txt", ".pdf"};
|
||||||
|
private int mFileMax = 9;
|
||||||
|
private String mUserId;
|
||||||
|
private String mUserType;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int setLayoutId() {
|
||||||
|
return R.layout.activity_routine_restore;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initData() {
|
||||||
|
mBind = ButterKnife.bind(this);
|
||||||
|
mTvBaseTitle.setText("日常工作");
|
||||||
|
mId = getIntent().getStringExtra("id");
|
||||||
|
mUserId = getIntent().getStringExtra("userId");
|
||||||
|
mUserType = getIntent().getStringExtra("userType");
|
||||||
|
if (TextUtils.isEmpty(mId)) {
|
||||||
|
ToastUtils.show("数据有误");
|
||||||
|
finish();
|
||||||
|
} else {
|
||||||
|
getDetailById();
|
||||||
|
}
|
||||||
|
initViews();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initViews() {
|
||||||
|
mFileBeans.add(new AddFileBean());
|
||||||
|
mAddFileAdapter = new AddFileAdapter(mActivity, mFileBeans);
|
||||||
|
mAddFileAdapter.addOnItemClickListener(addFileBean -> {
|
||||||
|
LogUtils.e("添加文件");
|
||||||
|
if (TextUtils.isEmpty(addFileBean.getId())) {
|
||||||
|
//选择
|
||||||
|
if (mFileMax == 0) {
|
||||||
|
ToastUtils.show("超过最大上传数量限制");
|
||||||
|
} else {
|
||||||
|
//TODO 校验是否有权限
|
||||||
|
new LFilePicker()
|
||||||
|
.withActivity(this)
|
||||||
|
.withRequestCode(LionActions.REQUEST_CODE_AC)
|
||||||
|
.withTitle("文件选择")
|
||||||
|
.withMaxNum(mFileMax)
|
||||||
|
.withFileFilter(fileFilter)
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//预览
|
||||||
|
//判断文件类型
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//删除上传的文件
|
||||||
|
mAddFileAdapter.addOnDeleteListener((bean, i) -> {
|
||||||
|
//删除list中的某个数据
|
||||||
|
mFileBeans.remove(i);
|
||||||
|
mAddFileAdapter.notifyDataSetChanged();
|
||||||
|
++mFileMax;
|
||||||
|
});
|
||||||
|
mRlvRestoreFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
|
||||||
|
mRlvRestoreFiles.setAdapter(mAddFileAdapter);
|
||||||
|
mBtnConfirm.setOnClickListener(v -> doConfirm());
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean checkParams() {
|
||||||
|
String restore = mEtRestore.getText().toString().trim();
|
||||||
|
if (TextUtils.isEmpty(restore)) {
|
||||||
|
ToastUtils.show("请输入回复内容");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private RequestBody buildParams() {
|
||||||
|
SaveRoutineAcceptBean bean = new SaveRoutineAcceptBean();
|
||||||
|
String restore = mEtRestore.getText().toString().trim();
|
||||||
|
bean.setContent(restore);
|
||||||
|
bean.setUserId(UserLgUtils.getUserId());
|
||||||
|
bean.setUserName(UserLgUtils.getName());
|
||||||
|
bean.setRoutineWorkId(mBean.getRoutineWorkId());
|
||||||
|
bean.setUserType(mUserType);
|
||||||
|
if (mFileBeans.size() >= 2) {
|
||||||
|
StringBuilder fileId = new StringBuilder();
|
||||||
|
for (AddFileBean fileBean : mFileBeans) {
|
||||||
|
if (!TextUtils.isEmpty(fileBean.getId())) {
|
||||||
|
fileId.append(fileBean.getId()).append(",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fileId.toString().endsWith(",")) {
|
||||||
|
fileId = new StringBuilder(fileId.substring(0, fileId.length() - 1));
|
||||||
|
}
|
||||||
|
bean.setFiles(fileId.toString().trim());
|
||||||
|
}
|
||||||
|
return RequestBody.create(new Gson().toJson(bean), MediaType.parse("application/json; charset=utf-8"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doConfirm() {
|
||||||
|
if (checkParams()) {
|
||||||
|
RequestBody body = buildParams();
|
||||||
|
ProgressDialog dialog = UIUtil.initDialog(mActivity, "保存中...");
|
||||||
|
dialog.show();
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(OAApi.class)
|
||||||
|
.doSaveAcceptRoutine(mUserId, body, 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("保存成功");
|
||||||
|
setResult(RESULT_OK);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
if (dialog.isShowing()) dialog.dismiss();
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
if (resultCode == RESULT_OK) {
|
||||||
|
if (requestCode == LionActions.REQUEST_CODE_AC) {
|
||||||
|
//文件
|
||||||
|
if (data != null) {
|
||||||
|
ArrayList<String> paths = data.getStringArrayListExtra(Constant.RESULT_INFO);
|
||||||
|
if (paths != null && paths.size() > 0) {
|
||||||
|
doUploadFiles(paths);
|
||||||
|
} else {
|
||||||
|
ToastUtils.show("未选择文件");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ToastUtils.show("路径有误,请稍后重试");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int mUploadCount = 0;
|
||||||
|
|
||||||
|
private void doUploadFiles(ArrayList<String> paths) {
|
||||||
|
LogUtils.e(paths);
|
||||||
|
|
||||||
|
ProgressDialog progressDialog = UIUtil.initDialog(mActivity, "上传中...");
|
||||||
|
progressDialog.show();
|
||||||
|
List<Observable> requests = new ArrayList<>();
|
||||||
|
List<String> fileNames = new ArrayList<>();
|
||||||
|
for (int i = 0; i < paths.size(); i++) {
|
||||||
|
File file = new File(paths.get(i));
|
||||||
|
Observable observable = createObservable(file);
|
||||||
|
fileNames.add(file.getName());
|
||||||
|
if (observable == null) return;
|
||||||
|
requests.add(observable);
|
||||||
|
}
|
||||||
|
Observable[] observables1 = requests.toArray(new Observable[requests.size()]);
|
||||||
|
|
||||||
|
Observable.mergeArrayDelayError(observables1)
|
||||||
|
.compose(RxTransformer.getTransformer())
|
||||||
|
.subscribe(new Observer() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NotNull Object o) {
|
||||||
|
++mUploadCount;
|
||||||
|
if (o instanceof BaseSuccessBean) {
|
||||||
|
--mFileMax;
|
||||||
|
//刷新文件
|
||||||
|
BaseSuccessBean bean = (BaseSuccessBean) o;
|
||||||
|
AddFileBean fileBean = new AddFileBean();
|
||||||
|
fileBean.setId(bean.getData());
|
||||||
|
fileBean.setPath(BaseUrlApi.BASE_IMG_URL + bean.getData());
|
||||||
|
fileBean.setFileType(1);
|
||||||
|
fileBean.setFileName(fileNames.get(mUploadCount - 1));
|
||||||
|
mFileBeans.add(0, fileBean);
|
||||||
|
}
|
||||||
|
mAddFileAdapter.notifyDataSetChanged();
|
||||||
|
if (mUploadCount == paths.size()) {
|
||||||
|
mUploadCount = 0;
|
||||||
|
if (progressDialog.isShowing()) {
|
||||||
|
progressDialog.dismiss();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
mUploadCount = 0;
|
||||||
|
if (progressDialog.isShowing()) {
|
||||||
|
progressDialog.dismiss();
|
||||||
|
}
|
||||||
|
ToastUtils.show("上传失败,请稍后重试.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private Observable createObservable(File file) {
|
||||||
|
LogUtils.e(file.exists());
|
||||||
|
RequestBody requestFile = RequestBody.create(file, MediaType.parse("multipart/form-data"));
|
||||||
|
MultipartBody.Part body;
|
||||||
|
body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
|
||||||
|
return RetrofitManager.getInstance()
|
||||||
|
.create(BaseApiService.class)
|
||||||
|
.uploadFile(body, UserLgUtils.getToken())
|
||||||
|
.compose(RxTransformer.getTransformer());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取详情
|
||||||
|
*/
|
||||||
|
private void getDetailById() {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(OAApi.class)
|
||||||
|
.getRoutineDetail(mId, UserLgUtils.getToken())
|
||||||
|
.compose(RxTransformer.getTransformer())
|
||||||
|
.subscribe(new Observer<RoutineBean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull RoutineBean routineBean) {
|
||||||
|
setDataToView(routineBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回显数据
|
||||||
|
*/
|
||||||
|
private void setDataToView(RoutineBean routineBean) {
|
||||||
|
refreshView(STATE_LOAD_SUCCESS);
|
||||||
|
mBean = routineBean;
|
||||||
|
mTvName.setText(mBean.getWorkName());
|
||||||
|
mTvStartTime.setText(mBean.getWorkCompleteStartTime());
|
||||||
|
mTvEndTime.setText(mBean.getWorkCompleteEndTime());
|
||||||
|
mTvTl.setText(mBean.getWorkCompleteDay() + "");
|
||||||
|
mTvUndertake.setText(mBean.getWorkUndertakerUserName());
|
||||||
|
mTvAssisted.setText(mBean.getWorkSponsorUserNames());
|
||||||
|
mSwSchedule.setChecked(mBean.getIsSchedule().equals("1"));
|
||||||
|
mTvRequest.setText(Html.fromHtml(mBean.getWorkResultReq()));
|
||||||
|
mTvRemark.setText(Html.fromHtml(mBean.getWorkRemarks()));
|
||||||
|
if (!TextUtils.isEmpty(mBean.getWorkFiles())) {
|
||||||
|
List<AddFileBean> files = new ArrayList<>();
|
||||||
|
String[] split = mBean.getWorkFiles().split(",");
|
||||||
|
for (int i = 0; i < split.length; i++) {
|
||||||
|
AddFileBean bean = new AddFileBean();
|
||||||
|
bean.setId(split[i]);
|
||||||
|
bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
|
||||||
|
bean.setFileType(1);
|
||||||
|
files.add(bean);
|
||||||
|
}
|
||||||
|
ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
|
||||||
|
mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
|
||||||
|
mRlvFiles.setAdapter(adapter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void doSearchByTitle() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void clearSearch() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package com.tenlionsoft.oamodule.activity.routine;
|
package com.tenlionsoft.oamodule.activity.routine;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -31,12 +32,14 @@ import com.tenlionsoft.oamodule.R;
|
|||||||
import com.tenlionsoft.oamodule.R2;
|
import com.tenlionsoft.oamodule.R2;
|
||||||
import com.tenlionsoft.oamodule.adapter.RoutineAdapter;
|
import com.tenlionsoft.oamodule.adapter.RoutineAdapter;
|
||||||
import com.tenlionsoft.oamodule.beans.RoutineAcceptListBean;
|
import com.tenlionsoft.oamodule.beans.RoutineAcceptListBean;
|
||||||
|
import com.tenlionsoft.oamodule.beans.RoutineBean;
|
||||||
import com.tenlionsoft.oamodule.beans.RoutineListBean;
|
import com.tenlionsoft.oamodule.beans.RoutineListBean;
|
||||||
import com.tenlionsoft.oamodule.net.OAApi;
|
import com.tenlionsoft.oamodule.net.OAApi;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import butterknife.BindView;
|
import butterknife.BindView;
|
||||||
@ -121,12 +124,41 @@ public class RoutineWorkActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initViews() {
|
private void initViews() {
|
||||||
|
mIvBack.setOnClickListener(v -> finish());
|
||||||
mTvStartDate.setOnClickListener(v -> onShowDate(1));
|
mTvStartDate.setOnClickListener(v -> onShowDate(1));
|
||||||
mTvEndDate.setOnClickListener(v -> onShowDate(2));
|
mTvEndDate.setOnClickListener(v -> onShowDate(2));
|
||||||
mDatas = new ArrayList<>();
|
mDatas = new ArrayList<>();
|
||||||
mAdapter = new RoutineAdapter(mActivity, mDatas);
|
mAdapter = new RoutineAdapter(mActivity, mDatas);
|
||||||
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity));
|
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity));
|
||||||
mRlvContent.setAdapter(mAdapter);
|
mRlvContent.setAdapter(mAdapter);
|
||||||
|
mAdapter.addOnItemClickListener(bean -> {
|
||||||
|
if (bean instanceof RoutineBean) {
|
||||||
|
//我发起的
|
||||||
|
RoutineBean bean1 = (RoutineBean) bean;
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL)
|
||||||
|
.withString("id", bean1.getRoutineWorkId())
|
||||||
|
.navigation(mActivity, 12);
|
||||||
|
} else if (bean instanceof RoutineAcceptListBean.RowsBean) {
|
||||||
|
RoutineAcceptListBean.RowsBean bean1 = (RoutineAcceptListBean.RowsBean) bean;
|
||||||
|
if ("nto".equals(bean1.getStatus())) {
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_RESTORE)
|
||||||
|
.withString("id", bean1.getRoutineWorkId())
|
||||||
|
.withString("userId", bean1.getRoutineWorkUserId())
|
||||||
|
.withString("userType", bean1.getUserType())
|
||||||
|
.navigation(mActivity, 12);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
ARouter.getInstance()
|
||||||
|
.build(PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL)
|
||||||
|
.withString("id", bean1.getRoutineWorkId())
|
||||||
|
.withString("userId", bean1.getRoutineWorkUserId())
|
||||||
|
.navigation(mActivity, 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
mRgType.setOnCheckedChangeListener((group, checkedId) -> {
|
mRgType.setOnCheckedChangeListener((group, checkedId) -> {
|
||||||
if (checkedId == R.id.rb_apply) {
|
if (checkedId == R.id.rb_apply) {
|
||||||
//我发起的
|
//我发起的
|
||||||
@ -153,6 +185,16 @@ public class RoutineWorkActivity extends BaseActivity {
|
|||||||
doRefresh();
|
doRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
if (resultCode == RESULT_OK) {
|
||||||
|
if (requestCode == 12) {
|
||||||
|
doRefresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我接受的工作
|
* 我接受的工作
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,262 @@
|
|||||||
|
package com.tenlionsoft.oamodule.activity.routine;
|
||||||
|
|
||||||
|
import android.text.Html;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||||
|
import com.tenlionsoft.baselib.constant.PathConfig;
|
||||||
|
import com.tenlionsoft.baselib.core.beans.AddFileBean;
|
||||||
|
import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
|
||||||
|
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.base.ShowFileAdapter;
|
||||||
|
import com.tenlionsoft.baselib.utils.ExceptionHandler;
|
||||||
|
import com.tenlionsoft.baselib.utils.UserLgUtils;
|
||||||
|
import com.tenlionsoft.oamodule.R;
|
||||||
|
import com.tenlionsoft.oamodule.R2;
|
||||||
|
import com.tenlionsoft.oamodule.beans.RoutineAcceptListBean;
|
||||||
|
import com.tenlionsoft.oamodule.beans.RoutineBean;
|
||||||
|
import com.tenlionsoft.oamodule.net.OAApi;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.appcompat.widget.SwitchCompat;
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import io.reactivex.rxjava3.annotations.NonNull;
|
||||||
|
import io.reactivex.rxjava3.core.Observer;
|
||||||
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: Adam
|
||||||
|
* 日期: 2022年04月18日11:32:54
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述: 日常工作-详情页面
|
||||||
|
*/
|
||||||
|
@Route(path = PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL)
|
||||||
|
public class RoutineWorkDetailActivity extends BaseActivity {
|
||||||
|
|
||||||
|
|
||||||
|
@BindView(R2.id.tv_name)
|
||||||
|
TextView mTvName;
|
||||||
|
@BindView(R2.id.tv_start_time)
|
||||||
|
TextView mTvStartTime;
|
||||||
|
@BindView(R2.id.tv_end_time)
|
||||||
|
TextView mTvEndTime;
|
||||||
|
@BindView(R2.id.tv_tl)
|
||||||
|
TextView mTvTl;
|
||||||
|
@BindView(R2.id.tv_undertake)
|
||||||
|
TextView mTvUndertake;
|
||||||
|
@BindView(R2.id.tv_assisted)
|
||||||
|
TextView mTvAssisted;
|
||||||
|
@BindView(R2.id.sw_schedule)
|
||||||
|
SwitchCompat mSwSchedule;
|
||||||
|
@BindView(R2.id.tv_request)
|
||||||
|
TextView mTvRequest;
|
||||||
|
@BindView(R2.id.tv_remark)
|
||||||
|
TextView mTvRemark;
|
||||||
|
@BindView(R2.id.rlv_files)
|
||||||
|
RecyclerView mRlvFiles;
|
||||||
|
@BindView(R2.id.tv_restore)
|
||||||
|
TextView mTvRestore;
|
||||||
|
@BindView(R2.id.rlv_restore_files)
|
||||||
|
RecyclerView mRlvRestoreFiles;
|
||||||
|
@BindView(R2.id.ll_restore)
|
||||||
|
LinearLayout mLlRestore;
|
||||||
|
@BindView(R2.id.tv_file_hint)
|
||||||
|
TextView mTvFileHint;
|
||||||
|
@BindView(R2.id.tv_restore_file_hint)
|
||||||
|
TextView mTvRestoreFileHint;
|
||||||
|
@BindView(R2.id.tv_restore_time)
|
||||||
|
TextView mTvRestoreTime;
|
||||||
|
@BindView(R2.id.tv_restore_user_type)
|
||||||
|
TextView mTvRestoreUserType;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int setLayoutId() {
|
||||||
|
return R.layout.activity_routine_work_detail;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initData() {
|
||||||
|
ButterKnife.bind(this);
|
||||||
|
mTvBaseTitle.setText("工作详情");
|
||||||
|
String id = getIntent().getStringExtra("id");
|
||||||
|
String userId = getIntent().getStringExtra("userId");
|
||||||
|
if (TextUtils.isEmpty(userId)) {
|
||||||
|
//我发起的日常工作
|
||||||
|
getRoutineById(id);
|
||||||
|
} else {
|
||||||
|
//接收的日常工作
|
||||||
|
getRoutineByAcceptId(userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getRoutineByAcceptId(String userId) {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(OAApi.class)
|
||||||
|
.getRoutineAcceptDetail(userId, UserLgUtils.getToken())
|
||||||
|
.compose(RxTransformer.getTransformer())
|
||||||
|
.subscribe(new Observer<RoutineAcceptListBean.RowsBean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(RoutineAcceptListBean.@NonNull RowsBean rowsBean) {
|
||||||
|
setCompleteDataToView(rowsBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
refreshView(STATE_LOAD_ERROR);
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回显数据
|
||||||
|
*/
|
||||||
|
private void setCompleteDataToView(RoutineAcceptListBean.RowsBean b) {
|
||||||
|
refreshView(STATE_LOAD_SUCCESS);
|
||||||
|
mTvName.setText(b.getRoutineWorkDTO().getWorkName());
|
||||||
|
mTvStartTime.setText(b.getRoutineWorkDTO().getWorkCompleteStartTime());
|
||||||
|
mTvEndTime.setText(b.getRoutineWorkDTO().getWorkCompleteEndTime());
|
||||||
|
mTvTl.setText(b.getRoutineWorkDTO().getWorkCompleteDay() + "");
|
||||||
|
mTvUndertake.setText(b.getRoutineWorkDTO().getWorkUndertakerUserName());
|
||||||
|
mTvAssisted.setText(b.getRoutineWorkDTO().getWorkSponsorUserNames());
|
||||||
|
mSwSchedule.setChecked(b.getRoutineWorkDTO().getIsSchedule().equals("1"));
|
||||||
|
mTvRequest.setText(Html.fromHtml(b.getRoutineWorkDTO().getWorkResultReq()));
|
||||||
|
mTvRemark.setText(Html.fromHtml(b.getRoutineWorkDTO().getWorkRemarks()));
|
||||||
|
if (!TextUtils.isEmpty(b.getRoutineWorkDTO().getWorkFiles())) {
|
||||||
|
List<AddFileBean> files = new ArrayList<>();
|
||||||
|
mTvFileHint.setVisibility(View.GONE);
|
||||||
|
mRlvFiles.setVisibility(View.VISIBLE);
|
||||||
|
String[] split = b.getRoutineWorkDTO().getWorkFiles().split(",");
|
||||||
|
for (int i = 0; i < split.length; i++) {
|
||||||
|
AddFileBean bean = new AddFileBean();
|
||||||
|
bean.setId(split[i]);
|
||||||
|
bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
|
||||||
|
bean.setFileType(1);
|
||||||
|
files.add(bean);
|
||||||
|
}
|
||||||
|
ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
|
||||||
|
mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
|
||||||
|
mRlvFiles.setAdapter(adapter);
|
||||||
|
} else {
|
||||||
|
mTvFileHint.setVisibility(View.VISIBLE);
|
||||||
|
mRlvFiles.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
mTvRestore.setText(Html.fromHtml(b.getContent()));
|
||||||
|
mTvRestoreTime.setText(b.getGmtCreate());
|
||||||
|
mTvRestoreUserType.setText("undertaker".equals(b.getUserType()) ? "承办人员" : "协办人员");
|
||||||
|
if (!TextUtils.isEmpty(b.getFiles())) {
|
||||||
|
mRlvRestoreFiles.setVisibility(View.VISIBLE);
|
||||||
|
mTvRestoreFileHint.setVisibility(View.GONE);
|
||||||
|
List<AddFileBean> files = new ArrayList<>();
|
||||||
|
String[] split = b.getRoutineWorkDTO().getWorkFiles().split(",");
|
||||||
|
for (int i = 0; i < split.length; i++) {
|
||||||
|
AddFileBean bean = new AddFileBean();
|
||||||
|
bean.setId(split[i]);
|
||||||
|
bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
|
||||||
|
bean.setFileType(1);
|
||||||
|
files.add(bean);
|
||||||
|
}
|
||||||
|
ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
|
||||||
|
mRlvRestoreFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
|
||||||
|
mRlvRestoreFiles.setAdapter(adapter);
|
||||||
|
} else {
|
||||||
|
mRlvRestoreFiles.setVisibility(View.GONE);
|
||||||
|
mTvRestoreFileHint.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取日常工作详情
|
||||||
|
*/
|
||||||
|
private void getRoutineById(String id) {
|
||||||
|
RetrofitManager.getInstance()
|
||||||
|
.create(OAApi.class)
|
||||||
|
.getRoutineDetail(id, UserLgUtils.getToken())
|
||||||
|
.compose(RxTransformer.getTransformer())
|
||||||
|
.subscribe(new Observer<RoutineBean>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull RoutineBean routineBean) {
|
||||||
|
setDataToView(routineBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
refreshView(STATE_LOAD_ERROR);
|
||||||
|
ExceptionHandler.handleException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDataToView(RoutineBean b) {
|
||||||
|
refreshView(STATE_LOAD_SUCCESS);
|
||||||
|
mLlRestore.setVisibility(View.GONE);
|
||||||
|
mTvName.setText(b.getWorkName());
|
||||||
|
mTvStartTime.setText(b.getWorkCompleteStartTime());
|
||||||
|
mTvEndTime.setText(b.getWorkCompleteEndTime());
|
||||||
|
mTvTl.setText(b.getWorkCompleteDay() + "");
|
||||||
|
mTvUndertake.setText(b.getWorkUndertakerUserName());
|
||||||
|
mTvAssisted.setText(b.getWorkSponsorUserNames());
|
||||||
|
mSwSchedule.setChecked(b.getIsSchedule().equals("1"));
|
||||||
|
mTvRequest.setText(Html.fromHtml(b.getWorkResultReq()));
|
||||||
|
mTvRemark.setText(Html.fromHtml(b.getWorkRemarks()));
|
||||||
|
if (!TextUtils.isEmpty(b.getWorkFiles())) {
|
||||||
|
mTvFileHint.setVisibility(View.GONE);
|
||||||
|
mRlvFiles.setVisibility(View.VISIBLE);
|
||||||
|
List<AddFileBean> files = new ArrayList<>();
|
||||||
|
String[] split = b.getWorkFiles().split(",");
|
||||||
|
for (int i = 0; i < split.length; i++) {
|
||||||
|
AddFileBean bean = new AddFileBean();
|
||||||
|
bean.setId(split[i]);
|
||||||
|
bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
|
||||||
|
bean.setFileType(1);
|
||||||
|
files.add(bean);
|
||||||
|
}
|
||||||
|
ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
|
||||||
|
mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
|
||||||
|
mRlvFiles.setAdapter(adapter);
|
||||||
|
} else {
|
||||||
|
mTvFileHint.setVisibility(View.VISIBLE);
|
||||||
|
mRlvFiles.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void doSearchByTitle() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void clearSearch() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -38,15 +38,18 @@ public class RoutineAdapter extends BaseRecyclerAdapter<Object, RoutineHolder> {
|
|||||||
//我发起的
|
//我发起的
|
||||||
RoutineBean bean = (RoutineBean) o;
|
RoutineBean bean = (RoutineBean) o;
|
||||||
h.mTvTitle.setText(bean.getWorkName());
|
h.mTvTitle.setText(bean.getWorkName());
|
||||||
h.mTvTime.setText(bean.getWorkCompleteStartTime()+"-"+bean.getWorkCompleteEndTime());
|
h.mTvTime.setText(bean.getWorkCompleteStartTime() + "-" + bean.getWorkCompleteEndTime());
|
||||||
h.mTvTl.setText(bean.getWorkCompleteDay()+"个工作日");
|
h.mTvTl.setText(bean.getWorkCompleteDay() + "个工作日");
|
||||||
h.mTvUser.setText(bean.getWorkUndertakerUserName());
|
h.mTvUser.setText(bean.getWorkUndertakerUserName());
|
||||||
|
h.mTvState.setVisibility(View.GONE);
|
||||||
} else if (o instanceof RoutineAcceptListBean.RowsBean) {
|
} else if (o instanceof RoutineAcceptListBean.RowsBean) {
|
||||||
RoutineAcceptListBean.RowsBean bean = (RoutineAcceptListBean.RowsBean) o;
|
RoutineAcceptListBean.RowsBean bean = (RoutineAcceptListBean.RowsBean) o;
|
||||||
h.mTvTitle.setText(bean.getRoutineWorkDTO().getWorkName());
|
h.mTvTitle.setText(bean.getRoutineWorkDTO().getWorkName());
|
||||||
h.mTvTime.setText(bean.getRoutineWorkDTO().getWorkCompleteStartTime()+"-"+bean.getRoutineWorkDTO().getWorkCompleteEndTime());
|
h.mTvTime.setText(bean.getRoutineWorkDTO().getWorkCompleteStartTime() + "-" + bean.getRoutineWorkDTO().getWorkCompleteEndTime());
|
||||||
h.mTvTl.setText(bean.getRoutineWorkDTO().getWorkCompleteDay()+"个工作日");
|
h.mTvTl.setText(bean.getRoutineWorkDTO().getWorkCompleteDay() + "个工作日");
|
||||||
h.mTvUser.setText(bean.getRoutineWorkDTO().getWorkUndertakerUserName());
|
h.mTvUser.setText(bean.getRoutineWorkDTO().getWorkUndertakerUserName());
|
||||||
|
h.mTvState.setVisibility(View.VISIBLE);
|
||||||
|
h.mTvState.setText("nto".equals(bean.getStatus()) ? "未办结" : "已办结");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,65 @@
|
|||||||
|
package com.tenlionsoft.oamodule.beans;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作者: adam
|
||||||
|
* 日期: 2022/4/18 - 14:26
|
||||||
|
* 邮箱: itgaojian@163.com
|
||||||
|
* 描述:
|
||||||
|
*/
|
||||||
|
public class SaveRoutineAcceptBean {
|
||||||
|
|
||||||
|
private String content;
|
||||||
|
private String files;
|
||||||
|
private String routineWorkId;
|
||||||
|
private String userId;
|
||||||
|
private String userName;
|
||||||
|
private String userType;
|
||||||
|
|
||||||
|
public String getContent() {
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(String content) {
|
||||||
|
this.content = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFiles() {
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFiles(String files) {
|
||||||
|
this.files = files;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRoutineWorkId() {
|
||||||
|
return routineWorkId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoutineWorkId(String routineWorkId) {
|
||||||
|
this.routineWorkId = routineWorkId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(String userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserType() {
|
||||||
|
return userType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserType(String userType) {
|
||||||
|
this.userType = userType;
|
||||||
|
}
|
||||||
|
}
|
@ -27,6 +27,8 @@ public class RoutineHolder extends RecyclerView.ViewHolder {
|
|||||||
public TextView mTvTl;
|
public TextView mTvTl;
|
||||||
@BindView(R2.id.tv_user)
|
@BindView(R2.id.tv_user)
|
||||||
public TextView mTvUser;
|
public TextView mTvUser;
|
||||||
|
@BindView(R2.id.tv_status)
|
||||||
|
public TextView mTvState;
|
||||||
|
|
||||||
public RoutineHolder(@NonNull @NotNull View itemView) {
|
public RoutineHolder(@NonNull @NotNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
|
@ -251,6 +251,13 @@ public interface OAApi {
|
|||||||
@GET("app/routinework/get/{routineWorkId}")
|
@GET("app/routinework/get/{routineWorkId}")
|
||||||
Observable<RoutineBean> getRoutineDetail(@Path("routineWorkId") String id, @Header("token") String token);
|
Observable<RoutineBean> getRoutineDetail(@Path("routineWorkId") String id, @Header("token") String token);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取日常工作完成详情
|
||||||
|
*/
|
||||||
|
@Headers({"base_url_name:oa", "Content-Type: application/json", "Accept: application/json"})
|
||||||
|
@GET("app/routineworkuser/get/{routineWorkUserId}")
|
||||||
|
Observable<RoutineAcceptListBean.RowsBean> getRoutineAcceptDetail(@Path("routineWorkUserId") String id, @Header("token") String token);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取我发起的日常工作列表
|
* 获取我发起的日常工作列表
|
||||||
*/
|
*/
|
||||||
@ -273,4 +280,11 @@ public interface OAApi {
|
|||||||
Observable<RoutineAcceptListBean> getMineAcceptRoutineList(@Query("startTime") String start, @Query("endTime") String end, @Query("keywords") String key, @Query("page") String page, @Header("token") String token);
|
Observable<RoutineAcceptListBean> getMineAcceptRoutineList(@Query("startTime") String start, @Query("endTime") String end, @Query("keywords") String key, @Query("page") String page, @Header("token") String token);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 完成日常工作
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Headers({"base_url_name:oa", "Content-Type: application/json", "Accept: application/json"})
|
||||||
|
@PUT("app/routineworkuser/update/{routineWorkUserId}")
|
||||||
|
Observable<BaseSuccessBean> doSaveAcceptRoutine(@Path("routineWorkUserId") String id, @Body RequestBody body, @Header("token") String token);
|
||||||
}
|
}
|
||||||
|
432
oamodule/src/main/res/layout/activity_routine_restore.xml
Normal file
432
oamodule/src/main/res/layout/activity_routine_restore.xml
Normal file
@ -0,0 +1,432 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginBottom="50dp"
|
||||||
|
android:scrollbars="none">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@color/gray_f0"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:text="工作内容"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="10dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="工作名称"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_name"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="要求开始"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_start_time"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="要求结束"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_end_time"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="完成时限"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_tl"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="承办人"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_undertake"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="协办人"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_assisted"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="写入日程"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="right"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
|
android:id="@+id/sw_schedule"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/switch_ios_track_selector"
|
||||||
|
android:enabled="false"
|
||||||
|
android:switchMinWidth="40dp"
|
||||||
|
android:switchPadding="0dp"
|
||||||
|
android:textOff=""
|
||||||
|
android:textOn=""
|
||||||
|
app:showText="false"
|
||||||
|
app:splitTrack="false"
|
||||||
|
app:theme="@style/scstyle"
|
||||||
|
app:thumbTint="#00000000"
|
||||||
|
app:trackTint="#00000000" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="结果要求"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_request"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="left"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:minLines="3"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="备注"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_remark"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="left"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:minLines="3"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="文件附件"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rlv_files"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:itemCount="3" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_restore"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:text="办结内容"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="回复内容"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/et_restore"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="left"
|
||||||
|
android:hint="请输入回复内容"
|
||||||
|
android:minLines="3"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="回复文件"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rlv_restore_files"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:itemCount="3" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/btn_confirm"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:text="办结" />
|
||||||
|
</RelativeLayout>
|
483
oamodule/src/main/res/layout/activity_routine_work_detail.xml
Normal file
483
oamodule/src/main/res/layout/activity_routine_work_detail.xml
Normal file
@ -0,0 +1,483 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:scrollbars="none">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@color/gray_f0"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:text="工作内容"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="10dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="工作名称"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_name"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="要求开始"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_start_time"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="要求结束"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_end_time"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="完成时限"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_tl"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="承办人"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_undertake"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="协办人"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_assisted"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="写入日程"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="right"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
|
android:id="@+id/sw_schedule"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/switch_ios_track_selector"
|
||||||
|
android:enabled="false"
|
||||||
|
android:switchMinWidth="40dp"
|
||||||
|
android:switchPadding="0dp"
|
||||||
|
android:textOff=""
|
||||||
|
android:textOn=""
|
||||||
|
app:showText="false"
|
||||||
|
app:splitTrack="false"
|
||||||
|
app:theme="@style/scstyle"
|
||||||
|
app:thumbTint="#00000000"
|
||||||
|
app:trackTint="#00000000" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="结果要求"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_request"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="left"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:minLines="3"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="备注"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_remark"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="left"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:minLines="3"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="文件附件"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rlv_files"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:itemCount="3"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_file_hint"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_margin="20dp"
|
||||||
|
android:text="未录入" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_restore"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:text="办结内容"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="回复内容"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_restore"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="left"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:minLines="3"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="回复时间"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_restore_time"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_hor_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="回复角色"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_restore_user_type"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@null"
|
||||||
|
android:gravity="right"
|
||||||
|
android:hint="未录入"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:paddingBottom="10dp">
|
||||||
|
|
||||||
|
<LinearLayout style="@style/item_ver">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="回复文件"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:background="@drawable/shp_rectangle_gray"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rlv_restore_files"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:itemCount="3" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_restore_file_hint"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_margin="20dp"
|
||||||
|
android:text="未录入" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
</RelativeLayout>
|
@ -5,55 +5,73 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="5dp"
|
android:layout_margin="5dp"
|
||||||
android:background="@color/white"
|
android:background="@color/white"
|
||||||
android:orientation="vertical"
|
android:orientation="horizontal"
|
||||||
android:padding="3dp">
|
android:padding="3dp">
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_title"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:textColor="@color/black"
|
|
||||||
android:textSize="14sp"
|
|
||||||
tools:text="工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称" />
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="5dp"
|
android:layout_weight="1"
|
||||||
android:orientation="horizontal">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_time"
|
android:id="@+id/tv_title"
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight=".6"
|
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:textSize="12sp"
|
android:textColor="@color/black"
|
||||||
tools:text="2022-03-03 12:22:22-2022-22-22 22:22:22" />
|
android:textSize="14sp"
|
||||||
|
tools:text="工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称工作名称" />
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/tv_tl"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight=".2"
|
android:layout_marginTop="5dp"
|
||||||
android:ellipsize="end"
|
android:orientation="horizontal">
|
||||||
android:gravity="center"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:text="2个工作日" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_user"
|
android:id="@+id/tv_time"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight=".2"
|
android:layout_weight=".6"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:gravity="center"
|
android:maxLines="1"
|
||||||
android:maxLines="1"
|
android:textSize="12sp"
|
||||||
android:textSize="12sp"
|
tools:text="2022-03-03 12:22:22-2022-22-22 22:22:22" />
|
||||||
tools:text="名字" />
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_tl"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight=".2"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:textSize="12sp"
|
||||||
|
tools:text="2个工作日" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_user"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight=".2"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:textSize="12sp"
|
||||||
|
tools:text="名字" />
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_status"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="5dp"
|
||||||
|
android:background="@drawable/shp_status_blue"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="@color/text_blue"
|
||||||
|
tools:text="状态" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
Loading…
Reference in New Issue
Block a user