Commit 4ff4f6af by luofan

处理工单去除上传照片,增加上传视频,服务记录查看签名改为验收视频

parent b6358e44
...@@ -41,9 +41,9 @@ public class CameraActivity extends AppCompatActivity { ...@@ -41,9 +41,9 @@ public class CameraActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
if (getIntent().hasExtra(Constants.IS_SOP_VIDEO)){ if (getIntent().hasExtra(Constants.IS_SOP_VIDEO)) {
setContentView(R.layout.activity_camera_sop); setContentView(R.layout.activity_camera_sop);
}else { } else {
setContentView(R.layout.activity_camera); setContentView(R.layout.activity_camera);
} }
jCameraView = (JCameraView) findViewById(R.id.jcameraview); jCameraView = (JCameraView) findViewById(R.id.jcameraview);
...@@ -58,7 +58,12 @@ public class CameraActivity extends AppCompatActivity { ...@@ -58,7 +58,12 @@ public class CameraActivity extends AppCompatActivity {
jCameraView.setFeatures(jCameraView.BUTTON_STATE_BOTH); jCameraView.setFeatures(jCameraView.BUTTON_STATE_BOTH);
jCameraView.setTip(getResources().getString(R.string.moment_take_photo)); jCameraView.setTip(getResources().getString(R.string.moment_take_photo));
} }
if (getIntent().hasExtra(Constants.MIN_TIME)) {
int min = getIntent().getIntExtra(Constants.MIN_TIME, 1500);
int max = getIntent().getIntExtra(Constants.MAX_TIME, 10 * 1000);
jCameraView.setDuration(max);
jCameraView.setMinDuration(min);
}
jCameraView.setErrorLisenter(new ErrorListener() { jCameraView.setErrorLisenter(new ErrorListener() {
@Override @Override
public void onError() { public void onError() {
......
...@@ -270,6 +270,8 @@ public class Constants { ...@@ -270,6 +270,8 @@ public class Constants {
public static final int CAMERA_VIDEO = 102; public static final int CAMERA_VIDEO = 102;
public static final int MINIMUM_COMPRESSSIZE = 10*1024; //图片压缩大小临界值 public static final int MINIMUM_COMPRESSSIZE = 10*1024; //图片压缩大小临界值
public static final HashMap<Integer,List<TreeAddressBean>> treeAddressMap = new HashMap<>(); //地址数据 public static final HashMap<Integer,List<TreeAddressBean>> treeAddressMap = new HashMap<>(); //地址数据
public static final String MIN_TIME ="min_time";
public static final String MAX_TIME ="max_time";
/** /**
* 主动申请备件. * 主动申请备件.
......
...@@ -55,6 +55,14 @@ public class MediaChooseUtils { ...@@ -55,6 +55,14 @@ public class MediaChooseUtils {
} }
/** /**
* 选择单个视频
*/
public static void chooseOneVideo(Activity activity,int videoLength,int code) {
PictureSelectionModel selector = getPictureSelectionModel(activity, PictureMimeType.ofVideo(),1, videoLength);
selector.isCamera(false).forResult(code);
}
/**
* 选择多个视频 * 选择多个视频
*/ */
public static void chooseVideos(Activity activity,int maxCount,int videoLength) { public static void chooseVideos(Activity activity,int maxCount,int videoLength) {
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
<string name="order_serve_type">服务类型</string> <string name="order_serve_type">服务类型</string>
<string name="order_photo_text">服务照片(故障及解决照片,限5张)</string> <string name="order_photo_text">服务照片(故障及解决照片,限5张)</string>
<!--<string name="order_hint">故障现象或服务需求描述,及解决方案描述,若没有解决请说明原因(最多200字)。</string>--> <!--<string name="order_hint">故障现象或服务需求描述,及解决方案描述,若没有解决请说明原因(最多200字)。</string>-->
<string name="order_hint">请认真记录本次服务过程和最终完成情况,如有重要事项请详细说明。作为派单方和客户事后调查服务质量的重要依据。(最多200字)</string> <string name="order_hint">完成服务任务后,请拍摄并上传10秒现场视频,以供现场用户和派单方商家验收。</string>
<string name="tv_about">关于我们</string> <string name="tv_about">关于我们</string>
<string name="tv_about_us">扫码关注我们的微信服务号</string> <string name="tv_about_us">扫码关注我们的微信服务号</string>
<string name="tv_about_us_text">&#160;&#160;&#160;&#160;传统低效的客服体系,正在成为厂商、服务商、消费者的包袱。大鱼准备以科技之力进行客服产业革命。运用Ai、云和大数据等技术,连接厂商、销售商、服务商和消费者,打造去中心化的智能共享客户服务解决方案。</string> <string name="tv_about_us_text">&#160;&#160;&#160;&#160;传统低效的客服体系,正在成为厂商、服务商、消费者的包袱。大鱼准备以科技之力进行客服产业革命。运用Ai、云和大数据等技术,连接厂商、销售商、服务商和消费者,打造去中心化的智能共享客户服务解决方案。</string>
...@@ -388,7 +388,7 @@ ...@@ -388,7 +388,7 @@
<string name="check_initial_state">查看初始状态</string> <string name="check_initial_state">查看初始状态</string>
<string name="reassignment_reason">改派原因</string> <string name="reassignment_reason">改派原因</string>
<string name="cancle_reason">取消原因</string> <string name="cancle_reason">取消原因</string>
<string name="check_reason">查看结果</string> <string name="check_reason">服务记录</string>
<string name="check_accept">查看验收</string> <string name="check_accept">查看验收</string>
<string name="check_location">查看位置</string> <string name="check_location">查看位置</string>
<string name="part_record">备件记录</string> <string name="part_record">备件记录</string>
......
...@@ -341,6 +341,10 @@ public class CaptureLayout extends FrameLayout { ...@@ -341,6 +341,10 @@ public class CaptureLayout extends FrameLayout {
btn_capture.setDuration(duration); btn_capture.setDuration(duration);
} }
public void setMinDuration(int duration) {
btn_capture.setMinDuration(duration);
}
public void setButtonFeatures(int state) { public void setButtonFeatures(int state) {
btn_capture.setButtonFeatures(state); btn_capture.setButtonFeatures(state);
} }
......
...@@ -106,6 +106,7 @@ public class JCameraView extends FrameLayout implements CameraInterface.CameraOp ...@@ -106,6 +106,7 @@ public class JCameraView extends FrameLayout implements CameraInterface.CameraOp
private int iconLeft = 0; //左图标 private int iconLeft = 0; //左图标
private int iconRight = 0; //右图标 private int iconRight = 0; //右图标
private int duration = 0; //录制时间 private int duration = 0; //录制时间
private int min_duration = 0; //最短录制时间
//缩放梯度 //缩放梯度
private int zoomGradient = 0; private int zoomGradient = 0;
...@@ -144,7 +145,12 @@ public class JCameraView extends FrameLayout implements CameraInterface.CameraOp ...@@ -144,7 +145,12 @@ public class JCameraView extends FrameLayout implements CameraInterface.CameraOp
this.duration = duration; this.duration = duration;
if (mCaptureLayout != null) if (mCaptureLayout != null)
mCaptureLayout.setDuration(duration); mCaptureLayout.setDuration(duration);
}
public void setMinDuration(int duration) {
this.min_duration = duration;
if (mCaptureLayout != null)
mCaptureLayout.setMinDuration(min_duration);
} }
private void initData() { private void initData() {
......
...@@ -758,6 +758,15 @@ public class OrderDetail implements Serializable { ...@@ -758,6 +758,15 @@ public class OrderDetail implements Serializable {
private double latitude; private double latitude;
private double longitude; private double longitude;
private String address; private String address;
private String shortVideoUrl;
public String getShortVideoUrl() {
return shortVideoUrl;
}
public void setShortVideoUrl(String shortVideoUrl) {
this.shortVideoUrl = shortVideoUrl;
}
public String getAddress() { public String getAddress() {
return address; return address;
......
...@@ -33,11 +33,13 @@ public interface MultiProcessOrderContract { ...@@ -33,11 +33,13 @@ public interface MultiProcessOrderContract {
String getSnNumbers(); String getSnNumbers();
void setSnNumbers(String snStrs); void setSnNumbers(String snStrs);
void showSnView(boolean show); void showSnView(boolean show);
String getVideo();
} }
abstract class Presenter extends BasePresenter<View> { abstract class Presenter extends BasePresenter<View> {
public abstract void commitOrder(List<String> imageUrl, List<String> snImages, int id, String info); public abstract void commitOrder(List<String> imageUrl, List<String> snImages, int id, String info,String videoUrl);
public abstract void commitPhoto(); public abstract void commitPhoto();
......
...@@ -58,6 +58,7 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen ...@@ -58,6 +58,7 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
private String mPhone; private String mPhone;
private int mKaId; private int mKaId;
private int sopOrderVersion; private int sopOrderVersion;
private String videoUrl; //视频上传成功后的地址
@Override @Override
public void onAttached() { public void onAttached() {
...@@ -91,8 +92,8 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen ...@@ -91,8 +92,8 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
// } // }
} }
private void commitOrder(List<String> list, List<String> snList) { private void commitOrder(List<String> list, List<String> snList,String videoUrl) {
commitOrder(list, snList, mSpu.getId(), mInfo.get()); commitOrder(list, snList, mSpu.getId(), mInfo.get(),videoUrl);
PictureFileUtils.deleteCacheDirFile(BaseApplication.getContext()); PictureFileUtils.deleteCacheDirFile(BaseApplication.getContext());
} }
...@@ -120,12 +121,13 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen ...@@ -120,12 +121,13 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
} }
@Override @Override
public void commitOrder(List<String> imageUrl, List<String> snImages, int id, String info) { public void commitOrder(List<String> imageUrl, List<String> snImages, int id, String info,String videoUrl) {
HashMap<String, Object> params = new HashMap<>(); HashMap<String, Object> params = new HashMap<>();
params.put("customerCheckComment", info); params.put("customerCheckComment", info);
params.put("id", id); params.put("id", id);
params.put("brandName", mBrandName.get()); params.put("brandName", mBrandName.get());
params.put("sn", mView.getSnNumbers()); params.put("sn", mView.getSnNumbers());
params.put("shortVideoUrl", videoUrl);
//照片上传 //照片上传
if (imageUrl != null) { if (imageUrl != null) {
StringBuilder str = new StringBuilder(); StringBuilder str = new StringBuilder();
...@@ -205,22 +207,42 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen ...@@ -205,22 +207,42 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
ToastUtils.showShortToast(R.string.sn_not_null); ToastUtils.showShortToast(R.string.sn_not_null);
return; return;
} }
if(TextUtils.isEmpty(mView.getVideo())){
ToastUtils.showShortToast("视频不能为空");
return;
}
mView.showDialog(); mView.showDialog();
MultipartBody.Part[] parts; uploadVideo(mView.getVideo());
List<String> imageUrl = mView.getImages(); // MultipartBody.Part[] parts;
if (imageUrl != null && imageUrl.size() > 0) { // List<String> imageUrl = mView.getImages();
parts = packPhoto(imageUrl); // if (imageUrl != null && imageUrl.size() > 0) {
if (parts.length == 0) { // parts = packPhoto(imageUrl);
commitOrder(mHttpUrl, null); // if (parts.length == 0) {
} else { // commitOrder(mHttpUrl, null);
BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> { // } else {
list.addAll(0, mHttpUrl); // BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> {
commitOrder(list, null); // list.addAll(0, mHttpUrl);
})); // commitOrder(list, null);
// }));
// }
// } else {
// commitOrder(null, null);
// }
} }
private void uploadVideo(String videoPath) {
mView.showDialog();
File file = new File(videoPath);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("fileUpload", file.getName(), requestFile);
BaseApiFactory.uploadVideo(body).subscribe(baseObserver(data -> {
if (!TextUtils.isEmpty(data)) {
videoUrl = data;
commitOrder(null, null,videoUrl);
} else { } else {
commitOrder(null, null); mView.showToast("视频上传失败");
} }
}));
} }
......
package com.dayu.order.ui.activity; package com.dayu.order.ui.activity;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
...@@ -12,8 +14,10 @@ import android.widget.EditText; ...@@ -12,8 +14,10 @@ import android.widget.EditText;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.ui.activity.BaseActivity; import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.activity.CameraActivity;
import com.dayu.base.ui.adapter.PhotoViewAdapter; import com.dayu.base.ui.adapter.PhotoViewAdapter;
import com.dayu.base.ui.adapter.SpacesItemDecoration; import com.dayu.base.ui.adapter.SpacesItemDecoration;
import com.dayu.common.Constants;
import com.dayu.order.R; import com.dayu.order.R;
import com.dayu.order.common.SubmitCheckEvent; import com.dayu.order.common.SubmitCheckEvent;
import com.dayu.order.databinding.ActivityMultiProcessOrderBinding; import com.dayu.order.databinding.ActivityMultiProcessOrderBinding;
...@@ -21,7 +25,10 @@ import com.dayu.order.presenter.multiprocessorder.MultiProcessOrderContract; ...@@ -21,7 +25,10 @@ import com.dayu.order.presenter.multiprocessorder.MultiProcessOrderContract;
import com.dayu.order.presenter.multiprocessorder.MultiProcessOrderPresenter; import com.dayu.order.presenter.multiprocessorder.MultiProcessOrderPresenter;
import com.dayu.utils.CommonUtils; import com.dayu.utils.CommonUtils;
import com.dayu.utils.LogUtils; import com.dayu.utils.LogUtils;
import com.dayu.utils.MPermissionUtils;
import com.dayu.utils.MediaChooseUtils;
import com.dayu.utils.ToastUtils; import com.dayu.utils.ToastUtils;
import com.dayu.widgets.TextDialog;
import com.google.zxing.integration.android.IntentIntegrator; import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult; import com.google.zxing.integration.android.IntentResult;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
...@@ -30,8 +37,15 @@ import com.luck.picture.lib.entity.LocalMedia; ...@@ -30,8 +37,15 @@ import com.luck.picture.lib.entity.LocalMedia;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
/** /**
* Created by luofan * Created by luofan
...@@ -47,8 +61,8 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -47,8 +61,8 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
private ArrayList<String> mSnNumbers = new ArrayList<>(); private ArrayList<String> mSnNumbers = new ArrayList<>();
private BaseQuickAdapter<Integer, BaseViewHolder> snAdapter; private BaseQuickAdapter<Integer, BaseViewHolder> snAdapter;
private int scanSnPos; private int scanSnPos;
private PhotoViewAdapter mAdapter; private PhotoViewAdapter mAdapter;
private String videoPath;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -96,9 +110,58 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -96,9 +110,58 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
} }
}; };
mBind.rvSn.setAdapter(snAdapter); mBind.rvSn.setAdapter(snAdapter);
// } else { mBind.rlVideo.setOnClickListener(v -> chooseVideo());
// snAdapter.notifyDataSetChanged(); mBind.ivDelete.setOnClickListener(v -> {
// } videoPath = "";
setVideoView();
});
mBind.jzVideo.setOnClickListener(v -> showToast("click"));
}
protected void chooseVideo() {
if (TextUtils.isEmpty(videoPath)) {
showVideoDailog();
}
}
//选中视频弹框
private void showVideoDailog() {
List<String> list = new ArrayList<>();
list.add("拍摄");
list.add("本地选择");
TextDialog.getInstance().showBottomDialog(mActivity, list, pos -> {
if (pos == 0) {
recordVideo();
} else {
MediaChooseUtils.chooseOneVideo(this, 10,PictureConfig.TYPE_VIDEO);
}
});
}
//录制视频
private void recordVideo() {
String[] mPerArr = new String[]{Manifest.permission.RECORD_AUDIO};
MPermissionUtils.requestPermissionsResult(mActivity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
@SuppressLint("CheckResult")
@Override
public void onPermissionGranted() {
Observable.timer(1000, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> {
Intent intent = new Intent(MultiProcessOrderActivity.this, CameraActivity.class);
intent.putExtra(Constants.ONLY_VIDEO, true);
intent.putExtra(Constants.MIN_TIME, 5*1000);
intent.putExtra(Constants.MAX_TIME, 10*1000);
startActivityForResult(intent, Constants.CAMERA_CODE);
});
}
@Override
public void onPermissionDenied() {
ToastUtils.showShortToast(R.string.request_permission_failure);
}
});
} }
//跳转到扫描页面 //跳转到扫描页面
...@@ -186,7 +249,23 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -186,7 +249,23 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
mAdapter.setData(mImages); mAdapter.setData(mImages);
} }
break; break;
case PictureConfig.TYPE_VIDEO:
List<LocalMedia> mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) {
videoPath = mSelectList.get(0).getPath();
File file = new File(videoPath);
if (file.length() > 500 * 1024 * 1024) {
showToast("视频文件不能大于500M");
videoPath = "";
} else {
setVideoView();
}
}
break;
} }
} else if (resultCode == Constants.CAMERA_VIDEO) {
videoPath = data.getStringExtra("videoPath");
setVideoView();
} }
} }
...@@ -209,7 +288,7 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -209,7 +288,7 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
mSnItems.add(mSnItems.size() + 1); mSnItems.add(mSnItems.size() + 1);
setSnAdapter(); setSnAdapter();
} }
LogUtils.e("SnNumbers_set: " + mSnNumbers.size()+" "+mSnItems.size()); LogUtils.e("SnNumbers_set: " + mSnNumbers.size() + " " + mSnItems.size());
} }
@Override @Override
...@@ -219,7 +298,7 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -219,7 +298,7 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
mBind.rvSn.setVisibility(View.VISIBLE); mBind.rvSn.setVisibility(View.VISIBLE);
mBind.tvAddSn.setVisibility(View.VISIBLE); mBind.tvAddSn.setVisibility(View.VISIBLE);
mBind.rvSn.setLayoutManager(new LinearLayoutManager(this)); mBind.rvSn.setLayoutManager(new LinearLayoutManager(this));
if (snAdapter == null){ if (snAdapter == null) {
mSnItems.add(1); mSnItems.add(1);
setSnAdapter(); setSnAdapter();
} }
...@@ -238,9 +317,27 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -238,9 +317,27 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
} }
} }
@Override
public String getVideo() {
return videoPath;
}
//设置视频布局显示状态
protected void setVideoView() {
if (TextUtils.isEmpty(videoPath)) {
mBind.jzVideo.setVisibility(View.GONE);
mBind.ivDelete.setVisibility(View.GONE);
} else {
mBind.ivDelete.setVisibility(View.VISIBLE);
mBind.jzVideo.setVisibility(View.VISIBLE);
mBind.jzVideo.setUp(videoPath, "");
CommonUtils.setVideoThumb(mActivity, mBind.jzVideo, videoPath);
}
}
//是否包含空数据 //是否包含空数据
private boolean contiansEmpty(ArrayList<String> mSnNumbers) { private boolean contiansEmpty(ArrayList<String> mSnNumbers) {
for (String s : mSnNumbers){ for (String s : mSnNumbers) {
if (TextUtils.isEmpty(s)) if (TextUtils.isEmpty(s))
return true; return true;
} }
...@@ -248,7 +345,21 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -248,7 +345,21 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
} }
@Subscribe @Subscribe
public void afterCheck(SubmitCheckEvent event){ public void afterCheck(SubmitCheckEvent event) {
finish(); finish();
} }
@Override
public void onPause() {
super.onPause();
JzvdStd.goOnPlayOnPause();
}
@Override
public void onBackPressed() {
if (!Jzvd.backPress()) {
super.onBackPressed();
}
}
} }
package com.dayu.order.ui.adapter; package com.dayu.order.ui.adapter;
import android.content.Intent;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import com.dayu.base.ui.activity.VideoPreviewActivty;
import com.dayu.base.ui.adapter.CoreAdapter; import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.common.Constants;
import com.dayu.order.R; import com.dayu.order.R;
import com.dayu.order.api.protocol.OrderDetail; import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.databinding.ServeDatailsItemBinding; import com.dayu.order.databinding.ServeDatailsItemBinding;
...@@ -12,6 +15,10 @@ import com.dayu.order.presenter.orderserver.OrderServerPresenter; ...@@ -12,6 +15,10 @@ import com.dayu.order.presenter.orderserver.OrderServerPresenter;
import com.dayu.utils.LogUtils; import com.dayu.utils.LogUtils;
import com.dayu.utils.UIUtils; import com.dayu.utils.UIUtils;
import java.util.ArrayList;
import cn.jzvd.JzvdStd;
/** /**
* Created by luofan * Created by luofan
* on 2018/4/23. * on 2018/4/23.
...@@ -100,7 +107,7 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv ...@@ -100,7 +107,7 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv
} }
if (UIUtils.getString(R.string.user_chcek).equals(item.getOperation())) { if (UIUtils.getString(R.string.user_chcek).equals(item.getOperation())) {
holder.serverCheck.setText(UIUtils.getString(R.string.check_signature)); holder.serverCheck.setText("验收视频");
holder.serverCheck.setVisibility(View.VISIBLE); holder.serverCheck.setVisibility(View.VISIBLE);
holder.serverTimeComment.setVisibility(View.GONE); holder.serverTimeComment.setVisibility(View.GONE);
} }
...@@ -116,7 +123,14 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv ...@@ -116,7 +123,14 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv
holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckContent(position)); holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckContent(position));
} }
if (UIUtils.getString(R.string.user_chcek).equals(item.getOperation())) { if (UIUtils.getString(R.string.user_chcek).equals(item.getOperation())) {
holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckSignature(position)); holder.serverCheck.setOnClickListener(v -> {
ArrayList<String> list = new ArrayList<>();
list.add(item.getShortVideoUrl());
Intent intent = new Intent(mContext, VideoPreviewActivty.class);
intent.putStringArrayListExtra(Constants.BUNDLE_KEY_ID, list);
mContext.startActivity(intent);
});
} }
if (UIUtils.getString(R.string.order_remark).equals(item.getCommentName())) { if (UIUtils.getString(R.string.order_remark).equals(item.getCommentName())) {
holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckContent(position)); holder.serverCheck.setOnClickListener(v -> presenter.dumpCheckContent(position));
......
package com.dayu.order.ui.fragment; package com.dayu.order.ui.fragment;
import android.os.Bundle; import android.os.Bundle;
import android.view.View;
import com.dayu.base.ui.activity.ImgGalleryActivty; import com.dayu.base.ui.activity.ImgGalleryActivty;
import com.dayu.base.ui.fragment.BaseFragment; import com.dayu.base.ui.fragment.BaseFragment;
...@@ -11,6 +12,7 @@ import com.dayu.order.databinding.FragmentOrderServeBinding; ...@@ -11,6 +12,7 @@ import com.dayu.order.databinding.FragmentOrderServeBinding;
import com.dayu.order.presenter.orderserver.OrderServerContract; import com.dayu.order.presenter.orderserver.OrderServerContract;
import com.dayu.order.presenter.orderserver.OrderServerPresenter; import com.dayu.order.presenter.orderserver.OrderServerPresenter;
import com.dayu.order.ui.adapter.OrderServerAdapter; import com.dayu.order.ui.adapter.OrderServerAdapter;
import com.dayu.utils.CommonUtils;
import com.umeng.analytics.MobclickAgent; import com.umeng.analytics.MobclickAgent;
/** /**
......
...@@ -40,10 +40,11 @@ ...@@ -40,10 +40,11 @@
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity <activity
android:name=".ui.activity.OrderDetailsActivity" android:name=".ui.activity.OrderDetailsActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:launchMode="singleTask" android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize" android:windowSoftInputMode="adjustResize"
android:screenOrientation="portrait" /> android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait"
/>
<activity <activity
android:name=".ui.activity.ReturnPartNewActivity" android:name=".ui.activity.ReturnPartNewActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
...@@ -72,8 +73,8 @@ ...@@ -72,8 +73,8 @@
<activity <activity
android:name=".ui.activity.MultiProcessOrderActivity" android:name=".ui.activity.MultiProcessOrderActivity"
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:screenOrientation="portrait" android:configChanges="orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize" /> android:screenOrientation="portrait" />
<activity <activity
android:name=".ui.activity.SignatureActivity" android:name=".ui.activity.SignatureActivity"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
......
...@@ -239,50 +239,60 @@ ...@@ -239,50 +239,60 @@
android:textColor="@color/tv_cl" android:textColor="@color/tv_cl"
android:textSize="14sp" /> android:textSize="14sp" />
<RelativeLayout <LinearLayout
android:id="@+id/time_Three" android:id="@+id/time_Three"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/tv_server_info" android:layout_below="@+id/tv_server_info"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:background="@color/cl_white"> android:background="@color/cl_white"
android:orientation="vertical">
<TextView <RelativeLayout
android:id="@+id/time_subscribe_remark" android:id="@+id/rl_video"
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_margin="10dp"
android:background="@drawable/bg_input_gray_react">
<ImageView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_13.3" android:layout_centerInParent="true"
android:layout_marginTop="@dimen/dp_27" android:src="@drawable/icon_video"
android:text="@string/tv_work_order_five" />
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_15"
android:visibility="gone" />
<EditText <cn.jzvd.JzvdStd
android:id="@+id/et_serve_info" android:id="@+id/jz_video"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_147" android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_8" android:visibility="gone" />
android:layout_marginTop="@dimen/dp_17"
android:layout_marginRight="@dimen/dp_8" <ImageView
android:layout_toRightOf="@id/time_subscribe_remark" android:id="@+id/iv_delete"
android:background="@drawable/subscribe_time_shape" android:layout_width="25dp"
android:gravity="top" android:layout_height="25dp"
android:hint="@string/order_hint" android:layout_alignParentTop="true"
android:maxEms="200" android:layout_alignParentRight="true"
android:padding="10dp" android:src="@drawable/img_photo_delete"
android:text="@={presenter.mInfo}" android:visibility="gone" />
android:textColor="@color/cl_home_title_text_color"
android:textColorHint="@color/cl_selector_hui"
android:textSize="@dimen/sp_13.3" />
</RelativeLayout> </RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="@string/order_hint" />
</LinearLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/photo_view" android:id="@+id/photo_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone"
android:layout_below="@id/time_Three"> android:layout_below="@id/time_Three">
<TextView <TextView
......
...@@ -110,5 +110,10 @@ ...@@ -110,5 +110,10 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" /> android:layout_weight="1" />
<cn.jzvd.JzvdStd
android:visibility="gone"
android:id="@+id/jz_video"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -33,6 +33,5 @@ ...@@ -33,6 +33,5 @@
app:itemType="@layout/serve_datails_item" app:itemType="@layout/serve_datails_item"
android:layout_marginBottom="@dimen/dp_10" android:layout_marginBottom="@dimen/dp_10"
/> />
</RelativeLayout> </RelativeLayout>
</layout> </layout>
\ No newline at end of file
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<string name="no_str"></string> <string name="no_str"></string>
<string name="yes_str"></string> <string name="yes_str"></string>
<string name="collect_device_info">收集设备信息</string> <string name="collect_device_info">收集设备信息</string>
<string name="record_service_result">记录服务结果</string> <string name="record_service_result">上传完工验收视频</string>
<string name="pls_fill_pre_sn">请先补全上面的序列号</string> <string name="pls_fill_pre_sn">请先补全上面的序列号</string>
<string name="take_order_failure">抢单失败</string> <string name="take_order_failure">抢单失败</string>
<string name="take_oreder_success_tosee">接单成功,请移至待预约列表查看</string> <string name="take_oreder_success_tosee">接单成功,请移至待预约列表查看</string>
......
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