Commit f0593799 by xuxuan

打卡

parent 40422755
Showing with 470 additions and 47 deletions
......@@ -5,7 +5,7 @@
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="jbr-17" />
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
......@@ -23,7 +24,7 @@
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="14">
<list size="16">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
......@@ -38,12 +39,14 @@
<item index="11" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
<item index="12" class="java.lang.String" itemvalue="io.reactivex.annotations.Nullable" />
<item index="13" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.Nullable" />
<item index="14" class="java.lang.String" itemvalue="org.jspecify.nullness.Nullable" />
<item index="15" class="java.lang.String" itemvalue="jakarta.annotation.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="14">
<list size="16">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
......@@ -58,11 +61,13 @@
<item index="11" class="java.lang.String" itemvalue="io.reactivex.annotations.NonNull" />
<item index="12" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.NonNull" />
<item index="13" class="java.lang.String" itemvalue="lombok.NonNull" />
<item index="14" class="java.lang.String" itemvalue="jakarta.annotation.Nonnull" />
<item index="15" class="java.lang.String" itemvalue="org.jspecify.nullness.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="corretto-11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
......@@ -52,6 +52,7 @@ import com.dayu.learncenter.ui.fragment.HomeLearnFragment;
import com.dayu.livemodule.LiveUtils;
import com.dayu.livemodule.event.UserKickOutEvent;
import com.dayu.order.common.TabNumEvent;
import com.dayu.order.ui.activity.CheckInTakePhotoActivity;
import com.dayu.order.ui.activity.OrderDetailsActivity;
import com.dayu.order.ui.activity.ReceivingActivity;
import com.dayu.order.ui.fragment.HomeOrderFragment;
......@@ -719,6 +720,14 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
if (requestCode == CheckInTakePhotoActivity.TAKE_PHOTO_CODE && resultCode == RESULT_OK){
//按天用工打卡上传图片成功,通知fragment调用打卡接口并刷新页面
Intent intent = new Intent();
intent.putExtra("photoUrl", data.getStringExtra("photoUrl"));
intent.setAction(CheckInTakePhotoActivity.TAKE_PHOTO_FINISH_BROADCAST);
sendBroadcast(intent);
}
}
@Override
......
......@@ -87,6 +87,12 @@ public interface APIService {
Observable<BaseResponse<List<String>>> uploadPhotoNew(
@Part MultipartBody.Part part, @Query("targetPath") String path, @Query("pathDateFmt") String pathDateFmt);
@Multipart
@POST("/file/uploadOne")
Observable<BaseResponse<String>> uploadPhotoOne(
@Part MultipartBody.Part part, @Query("targetPath") String path, @Query("pathDateFmt") String pathDateFmt);
/**
* 上传单个视频.
*
......
......@@ -33,6 +33,10 @@ public class BaseApiFactory {
return Api.getService(APIService.class).uploadPhotoNew(part,path,pathDateFmt).compose(Api.applySchedulers());
}
public static Observable<String> uploadPhotoOne(MultipartBody.Part part,String path,String pathDateFmt) {
return Api.getService(APIService.class).uploadPhotoOne(part,path,pathDateFmt).compose(Api.applySchedulers());
}
public static Observable<String> uploadVideo(MultipartBody.Part part) {
return Api.getService(APIService.class).uploadVideo(part).compose(Api.applySchedulers());
}
......
......@@ -134,6 +134,26 @@ public class PictrueUtils {
});
}
public static void showOriginPicDialog(Activity activity) {
String[] mPerArr = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};
MPermissionUtils.requestPermissionsResult(activity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
@SuppressLint("CheckResult")
@Override
public void onPermissionGranted() {
PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.setImageEngine(GlideEngine.createGlideEngine())
.setImageSpanCount(4)
.setSelectionMode(SelectModeConfig.MULTIPLE);
selector.forResult(PictureConfig.CHOOSE_REQUEST);
}
@Override
public void onPermissionDenied() {
}
});
}
public static void showPicDialogs(Activity activity,int maxImgCout) {
PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
......@@ -177,4 +197,5 @@ public class PictrueUtils {
}
return path;
}
}
......@@ -223,6 +223,7 @@
<string name="modify_appointment_time">修改预约时间</string>
<string name="have_go_on">我已出发</string>
<string name="begain_server">开始服务</string>
<string name="receive_now">马上接单</string>
<string name="process_order">处理工单</string>
<string name="check_upon_delivery">等待验收</string>
<string name="order_finish">已完成</string>
......
package com.dayu.order.presenter.checkintakephoto;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
public interface CheckInTakePhotoContract {
interface View extends BaseView {
void selectPhoto();
String getPhotoPath();
void uploadPhotoSuccess(String photoUrl);
}
abstract class Presenter extends BasePresenter<CheckInTakePhotoContract.View> {
public abstract void selectPhoto();
public abstract void submit();
}
}
package com.dayu.order.presenter.checkintakephoto;
import android.text.TextUtils;
import com.dayu.base.api.BaseApiFactory;
import com.dayu.common.Constants;
public class CheckInTakePhotoPresenter extends CheckInTakePhotoContract.Presenter {
@Override
public void onAttached() {
}
@Override
public void selectPhoto(){
mView.selectPhoto();
}
@Override
public void submit(){
BaseApiFactory.uploadPhotoOne(BaseApiFactory.packPhoto(mView.getPhotoPath()), Constants.PHOTO + "/order/clockIn", "yyMM")
.subscribe(this.baseObserver(img -> {
String photoUrl = img;
mView.uploadPhotoSuccess(photoUrl);
}));
}
}
......@@ -29,6 +29,10 @@ public interface OrderDetailClockContract {
void setDatas(OrderDetail detail);
void setOrderPhoneNum(List<String> info);
void showVerifyDialog(String code, String message, String data);
void showNoCashDialog(String message);
}
abstract class Presenter extends BaseListPresenter<OrderDetailClockContract.View> {
......
......@@ -19,11 +19,21 @@ import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.CheckContentActivity;
import com.dayu.order.ui.activity.LogisticsInfoActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.provider.event.RefreshApoiment;
import com.dayu.provider.event.RefreshTab;
import com.dayu.provider.event.SwtichOrderFragment;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager;
import org.greenrobot.eventbus.EventBus;
import java.util.List;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
/**
* Created by luofan
......@@ -38,6 +48,11 @@ public class OrderDetailClockPresenter extends OrderDetailClockContract.Presente
private OrderDetail mDetails;
private Disposable mDisPosable;
public int getmUserId() {
return mUserId;
}
@Override
......@@ -174,4 +189,56 @@ public class OrderDetailClockPresenter extends OrderDetailClockContract.Presente
public boolean getIsShowBtn() {
return isShowBtn;
}
public void receiveOrder(int orders, int engineer, String appointmentTime , int createdSource) {
mView.showDialog();
OrderApiFactory.verifyOrder(orders + "", mUserId).subscribe(baseObserver(data -> {
if (data.isSuccess()) {
receive(orders, engineer, appointmentTime, createdSource);
} else {
mView.showVerifyDialog(data.getSubCode(), data.getMsg(), data.getData());
}
}, responeThrowable -> {
}));
}
public void receive(int orders, int engineer, String appointmentTime , int createdSource) {
OrderApiFactory.receiveOrder(orders, engineer).subscribe(baseObserverByU(
aBoolean -> {
// MobclickAgent.onEvent(BaseApplication.getContext(), "get_serviceOrder");
mView.showToast(R.string.receive_order_success);
receiveOrderSuccess(orders, appointmentTime, createdSource);
}, responeThrowable -> {
if ("ORDER0002".equals(responeThrowable.subCode) || "ORDER0003".equals(responeThrowable.subCode)) {
refresh();
} else if ("ORDER0042".equals(responeThrowable.subCode)) {
mView.showNoCashDialog(responeThrowable.message);
} else if ("ORDER0046".equals(responeThrowable.subCode)) {
mView.showNoCashDialog(responeThrowable.message);
}
}));
}
public void receiveOrderSuccess(int orders, String appointmentTime, int createdSource) {
mDisPosable = Observable.timer(300, TimeUnit.MILLISECONDS).
observeOn(AndroidSchedulers.mainThread()).
subscribe(aLong -> {
if (createdSource == 7 || createdSource == 8){
//按天用工单马上接单,跳转到待服务列表,不提示【马上预约】弹窗
EventBus.getDefault().post(new SwtichOrderFragment(2));
}else {
EventBus.getDefault().post(new SwtichOrderFragment(1));
}
EventBus.getDefault().post(new RefreshTab(0));
// EventBus.getDefault().post(new RefreshReceivingNum(num < 0 ? 0 : num));
EventBus.getDefault().post(new RefreshApoiment(-1));
// if (!TextUtils.isEmpty(appointmentTime) && createdSource != 7 && createdSource != 8) { //订单详情页接单则不弹框提示.
// mView.showOrderDialog(orders, appointmentTime);
// }
mDisPosable.dispose();
mView.dumpBack();
});
}
}
......@@ -2,11 +2,18 @@ package com.dayu.order.presenter.orderdoing;
import static com.dayu.utils.UIUtils.getString;
import android.app.Activity;
import android.app.Fragment;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import androidx.databinding.ObservableField;
import com.dayu.base.api.Api;
import com.dayu.common.BaseApplication;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.order.R;
......@@ -16,6 +23,7 @@ import com.dayu.order.api.protocol.Order;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.api.protocol.data.AddDialRecordData;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.CheckInTakePhotoActivity;
import com.dayu.order.ui.activity.MultiProcessOrderActivity;
import com.dayu.order.ui.activity.OrderDetailsActivity;
import com.dayu.order.ui.activity.OrderDetailsClockActivity;
......@@ -23,8 +31,10 @@ import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.order.ui.fragment.OrderDoneFragment;
import com.dayu.order.ui.fragment.OrderSecondTabFragment;
import com.dayu.order.ui.fragment.OrderThreeTabFragment;
import com.dayu.provider.event.RefreshServe;
import com.dayu.provider.event.RefreshTab;
import com.dayu.utils.AppManager;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import com.dayu.utils.UtilsDate;
import com.dayu.widgets.CustomDialog;
......@@ -36,6 +46,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import okhttp3.MediaType;
import okhttp3.RequestBody;
......@@ -53,13 +64,35 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
UserInfo userInfo;
public int sopOrderVersion;
private int position = 0;
private int checkInPosition;
private int checkinOrderId;
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(CheckInTakePhotoActivity.TAKE_PHOTO_FINISH_BROADCAST)) {
clockIn(checkinOrderId)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(baseObserver(aBoolean -> {
ToastUtils.showShortToast("打卡成功");
setPosition(position);
EventBus.getDefault().post(new RefreshServe(1));
}, responeThrowable -> {
}));
}
}
};
@Override
public void onAttached() {
userInfo = UserManager.getInstance().getUser();
mUserId = Integer.parseInt(userInfo.getAccountId());
mSiteId = userInfo.getSiteId();
mState = mView.getState();
BaseApplication.getContext().registerReceiver(receiver, new IntentFilter(CheckInTakePhotoActivity.TAKE_PHOTO_FINISH_BROADCAST));
}
@Override
......@@ -250,6 +283,13 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
}
public void takePhoto(int orderId, int position){
checkinOrderId = orderId;
checkInPosition = position;
Bundle bundle = new Bundle();
mView.startActivityForReult(CheckInTakePhotoActivity.class, bundle, CheckInTakePhotoActivity.TAKE_PHOTO_CODE);
}
public Observable<Boolean> clockIn(int id) {
HashMap<String, Object> params = new HashMap<>();
params.put("orderId", id);
......
......@@ -205,6 +205,7 @@ public class ReceivingPresenter extends ReceivingContract.Presenter {
public void dumpDetailClock(int orderId) {
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, orderId);
bundle.putBoolean(Constants.IS_SHOW_BTN,true);
mView.startActivity(OrderDetailsClockActivity.class, bundle);
}
}
package com.dayu.order.ui.activity;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.text.TextUtils;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.order.R;
import com.dayu.order.databinding.ActivityCheckInTakePhotoLayoutBinding;
import com.dayu.order.presenter.checkintakephoto.CheckInTakePhotoContract;
import com.dayu.order.presenter.checkintakephoto.CheckInTakePhotoPresenter;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.MPermissionUtils;
import com.dayu.utils.PictrueUtils;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import java.util.List;
public class CheckInTakePhotoActivity extends BaseActivity<CheckInTakePhotoPresenter, ActivityCheckInTakePhotoLayoutBinding> implements CheckInTakePhotoContract.View {
public String photoPath;
public static final int TAKE_PHOTO_CODE = 700;
public static final String TAKE_PHOTO_FINISH_BROADCAST = "TAKE_PHOTO_FINISH_BROADCAST";
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
List<LocalMedia> mSelectList = PictureSelector.obtainSelectorList(data);
if (mSelectList != null) {
photoPath = mSelectList.get(0).getRealPath();
GlideImageLoader.loadDrawable(this, photoPath, mBind.photo);
}
break;
}
}
}
public void selectPhoto(){
String[] mPerArr = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};
MPermissionUtils.requestPermissionsResult(mActivity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
@SuppressLint("CheckResult")
@Override
public void onPermissionGranted() {
PictrueUtils.showOriginPicDialog(CheckInTakePhotoActivity.this);
}
@Override
public void onPermissionDenied() {
}
});
}
public void uploadPhotoSuccess(String photoUrl){
//照片上传成功,返回上一页面调打卡接口
if (!TextUtils.isEmpty(photoUrl)){
Intent intent = new Intent();
intent.putExtra("photoUrl", photoUrl);
setResult(RESULT_OK, intent);
finish();
}
}
@Override
public int getLayoutId() {
return R.layout.activity_check_in_take_photo_layout;
}
@Override
public void initView() {
mBind.titleClose.setOnClickListener(v -> onBackPressed());
}
@Override
public void setPresenter() {
mBind.setPresenter(mPresenter);
}
@Override
public String getPhotoPath() {
return photoPath;
}
}
......@@ -6,7 +6,10 @@ import static com.dayu.utils.UtilsDate.MON_DAY_FORMAT;
import android.Manifest;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
import android.graphics.Typeface;
import android.location.Address;
......@@ -22,6 +25,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.common.BaseApplication;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.location.base.LocationUtils;
......@@ -32,6 +36,7 @@ import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.FragmentOrderdoingItemBinding;
import com.dayu.order.presenter.orderdoing.OrderDoingPresenter;
import com.dayu.order.ui.activity.CheckInTakePhotoActivity;
import com.dayu.order.ui.activity.ProcessOrderActivity;
import com.dayu.order.ui.activity.ServerInfoActivity;
import com.dayu.order.ui.activity.ServerListActivity;
......@@ -177,7 +182,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)holder.tvOrderTime.getLayoutParams();
params.topMargin += 20;
holder.tvOrderTime.setLayoutParams(params);
holder.tvCount.setVisibility(View.VISIBLE);
holder.tvCount.setVisibility(holder.tvPrice.getVisibility());
holder.tvDaysCount.setVisibility(View.VISIBLE);
holder.tvDaysCount.setText(item.getReferenceTime() + "天");
}
......@@ -215,12 +220,13 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
}
holder.itemUpdataTime.setText(mContext.getString(R.string.modify_appointment_time));
int source = item.getSource();
if (7 == source){
if (7 == source || 8 == source){
if (3 == item.getStatus()){
holder.tvItemEnd.setText(mContext.getString(R.string.begain_server));
}else if (4 == item.getStatus()){
if (7 != item.getSubStatus()){
holder.tvItemEnd.setText("第"+item.getFinishedDays() +"天打卡");
// holder.tvItemEnd.setText("第"+item.getFinishedDays() +"天打卡");
holder.tvItemEnd.setText(Integer.parseInt(item.getFinishedDays())%2 == 0? "下班打卡" : "上班打卡" );
}else{
holder.tvItemEnd.setText(mContext.getString(R.string.submit_order));
}
......@@ -261,6 +267,15 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
// holder.orderLineTwo.setVisibility(View.VISIBLE);
}
//按天用工单
holder.tvOrderTime.setText(R.string.start_day);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)holder.tvOrderTime.getLayoutParams();
params.topMargin += 20;
holder.tvOrderTime.setLayoutParams(params);
holder.tvCount.setVisibility(holder.tvPrice.getVisibility());
holder.tvDaysCount.setVisibility(View.VISIBLE);
holder.tvDaysCount.setText(item.getReferenceTime() + "天");
}else{
holder.itemTextPhone.setVisibility(View.VISIBLE);
holder.orderLineOne.setVisibility(View.VISIBLE);
......@@ -313,7 +328,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)holder.tvOrderTime.getLayoutParams();
params.topMargin += 20;
holder.tvOrderTime.setLayoutParams(params);
holder.tvCount.setVisibility(View.VISIBLE);
holder.tvCount.setVisibility(holder.tvPrice.getVisibility());
holder.tvDaysCount.setVisibility(View.VISIBLE);
holder.tvDaysCount.setText(item.getReferenceTime() + "天");
}
......@@ -323,12 +338,13 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvItemEnd.setVisibility(View.VISIBLE);
int source1 = item.getSource();
if (7 == source1){
if (7 == source1 || 8 == source1){
if (3 == item.getStatus()){
holder.tvItemEnd.setText(mContext.getString(R.string.begain_server));
}else if (4 == item.getStatus()){
if (7 != item.getSubStatus()){
holder.tvItemEnd.setText("第"+item.getFinishedDays() +"天打卡");
// holder.tvItemEnd.setText("第"+item.getFinishedDays() +"天打卡");
holder.tvItemEnd.setText(Integer.parseInt(item.getFinishedDays())%2 == 0? "下班打卡" : "上班打卡" );
}else{
holder.tvItemEnd.setText(mContext.getString(R.string.submit_order));
}
......@@ -339,6 +355,15 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.rlItemMid.setVisibility(View.GONE);
holder.orderLineTwo.setVisibility(View.GONE);
//按天用工单
holder.tvOrderTime.setText(R.string.start_day);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)holder.tvOrderTime.getLayoutParams();
params.topMargin += 20;
holder.tvOrderTime.setLayoutParams(params);
holder.tvCount.setVisibility(holder.tvPrice.getVisibility());
holder.tvDaysCount.setVisibility(View.VISIBLE);
holder.tvDaysCount.setText(item.getReferenceTime() + "天");
if (item.getSubStatus() == 6) {
holder.tvErrorState.setText(mContext.getString(R.string.check_upon_delivery));
holder.tvErrorState.setTextColor(mContext.getResources().getColor(R.color.cl_tab_line));
......@@ -465,7 +490,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)holder.tvOrderTime.getLayoutParams();
params.topMargin += 20;
holder.tvOrderTime.setLayoutParams(params);
holder.tvCount.setVisibility(View.VISIBLE);
holder.tvCount.setVisibility(holder.tvPrice.getVisibility());
holder.tvDaysCount.setVisibility(View.VISIBLE);
holder.tvDaysCount.setText(item.getReferenceTime() + "天");
}
......@@ -630,20 +655,21 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
mBind = h;
if (7 == it.getSource()){
if (7 == it.getSource() || 8 == it.getSource()){
if (3 == it.getStatus()){
startServer(h, position);
}else if (4 == it.getStatus()){
if (7 != it.getSubStatus()){
mPresenter.clockIn(it.getId())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(mPresenter.baseObserver(aBoolean -> {
ToastUtils.showShortToast("打卡成功");
mPresenter.setPosition(position);
EventBus.getDefault().post(new RefreshServe(1));
}, responeThrowable -> {
}));
// mPresenter.clockIn(it.getId())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(mPresenter.baseObserver(aBoolean -> {
// ToastUtils.showShortToast("打卡成功");
// mPresenter.setPosition(position);
// EventBus.getDefault().post(new RefreshServe(1));
// }, responeThrowable -> {
//
// }));
mPresenter.takePhoto(it.getId(), position);
}else{
mPresenter.commit(it)
.observeOn(AndroidSchedulers.mainThread())
......@@ -760,11 +786,11 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
}
private void startFirstServe(FragmentOrderdoingItemBinding h, int position) {
if (mItem.getSubStatus() == 1 || mItem.getSubStatus() == 2 || (mItem.getSource() == 7)) {
if (mItem.getSubStatus() == 1 || mItem.getSubStatus() == 2 || (mItem.getSource() == 7 || mItem.getSource() == 8)) {
mPresenter.startServer(mItem.getId())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(mPresenter.baseObserver(integer -> {
if (mItem.getSource() == 7){
if (mItem.getSource() == 7 || mItem.getSource() == 8){
ToastUtils.showShortToast("开始服务操作成功");
ProgressUtil.stopLoad();
mPresenter.setPosition(position);
......
......@@ -43,7 +43,7 @@ public class OrderFirstTabFragment extends BaseFragment<OrderDoingPresenter, Fra
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Order, FragmentOrderdoingItemBinding>() {
@Override
public void OnItemClick(Order item, FragmentOrderdoingItemBinding bind) {
if (7 == item.getSource()){
if (7 == item.getSource() || 8 == item.getSource()){
mPresenter.dumpDetailClock(item.getId());
}else{
mPresenter.dumpDetail(item.getId());
......
......@@ -36,7 +36,7 @@ public class OrderFourTabFragment extends BaseFragment<OrderDoingPresenter, Frag
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Order,FragmentOrderCancleItemBinding>() {
@Override
public void OnItemClick(Order item, FragmentOrderCancleItemBinding bind) {
if (7 == item.getSource()){
if (7 == item.getSource() || 8 == item.getSource()){
mPresenter.dumpDetailClock(item.getId());
}else{
mPresenter.dumpDetail(item.getId());
......
......@@ -79,8 +79,8 @@ public class OrderReceivingFragment extends BaseFragment<ReceivingPresenter, Fra
if (4 == item.getSource() && item.getReceiveOrderCommission() > 0) {
showCashDialog(item.getReceiveOrderCommission(), mUserId, item.getId(), item.getAppointmentTime());
} else {
if (7 == item.getSource()){
mPresenter.dumpDetailClock(item.getId());
if (7 == item.getSource() || 8 == item.getSource()){
mPresenter.dumpDetailClock (item.getId());
}else{
mPresenter.dumpDetail(item.getId());
}
......
......@@ -59,7 +59,7 @@ public class OrderSecondTabFragment extends BaseFragment<OrderDoingPresenter, Fr
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Order, FragmentOrderdoingItemBinding>() {
@Override
public void OnItemClick(Order item, FragmentOrderdoingItemBinding bind) {
if (7 == item.getSource()){
if (7 == item.getSource() || 8 == item.getSource()){
mPresenter.dumpDetailClockSecond(item.getId());
}else{
mPresenter.dumpDetail(item.getId());
......
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dayu.order">
......@@ -15,14 +16,17 @@
android:name=".ui.activity.SubcribeTimeActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.dayu.order.ui.activity.ReceivingActivity"
android:name=".ui.activity.ReceivingActivity"
android:screenOrientation="portrait"
android:theme="@style/Transparent" />
<activity
android:name="com.dayu.order.ui.activity.OrderRecordActivity"
android:name=".ui.activity.OrderRecordActivity"
android:screenOrientation="portrait"
android:theme="@style/Transparent" />
<activity
android:name=".ui.activity.CheckInTakePhotoActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.ProcessOrderActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait" />
......@@ -40,18 +44,16 @@
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.OrderDetailsActivity"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize"
android:configChanges="orientation|screenSize|keyboardHidden"
android:launchMode="singleTask"
android:screenOrientation="portrait"
/>
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.activity.OrderDetailsClockActivity"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize"
android:configChanges="orientation|screenSize|keyboardHidden"
android:launchMode="singleTask"
android:screenOrientation="portrait"
/>
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.activity.ReturnPartNewActivity"
android:screenOrientation="portrait" />
......@@ -79,8 +81,8 @@
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.MultiProcessOrderActivity"
android:hardwareAccelerated="true"
android:configChanges="orientation|screenSize|keyboardHidden"
android:hardwareAccelerated="true"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.SignatureActivity"
......@@ -93,9 +95,9 @@
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.SopLocalActivity"
android:windowSoftInputMode="stateHidden|adjustPan"
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustPan" />
<activity
android:name=".ui.activity.ApplyAndRefuseActivity"
android:screenOrientation="portrait" />
......@@ -105,17 +107,14 @@
<activity
android:name=".ui.activity.OrderPartReceiveActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustPan"
/>
android:windowSoftInputMode="stateHidden|adjustPan" />
<activity
android:name=".ui.activity.OrderPartSendActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustPan"
/>
android:windowSoftInputMode="stateHidden|adjustPan" />
<activity
android:name=".ui.activity.KnowledgeDetailActivity"
android:screenOrientation="portrait"
/>
android:screenOrientation="portrait" />
</application>
</manifest>
</manifest>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="presenter"
type="com.dayu.order.presenter.checkintakephoto.CheckInTakePhotoPresenter" />
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/title_close"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="@dimen/size_main_title"
android:background="#e8e8e8">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_15"
android:textColor="#333"
android:textStyle="bold"
android:text="工作现场拍照打卡记录" />
<ImageView
android:id="@+id/receiving_back"
android:src="@drawable/btn_close_black"
style="@style/title_right_image"
/>
</RelativeLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/photo"
android:src="@drawable/photo_default"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="bottom"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
>
<TextView
android:id="@+id/select_photo"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="40dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="25dp"
android:background="@drawable/tab_blue_react"
android:gravity="center"
android:onClick="@{()->presenter.selectPhoto()}"
android:text="选择图片"
android:textStyle="bold"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/submit"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="40dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="25dp"
android:background="@drawable/tab_blue_react"
android:gravity="center"
android:onClick="@{()->presenter.submit()}"
android:text="提交"
android:textStyle="bold"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment