Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
4ff4f6af
authored
May 10, 2021
by
luofan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
处理工单去除上传照片,增加上传视频,服务记录查看签名改为验收视频
parent
b6358e44
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
264 additions
and
64 deletions
baseSDK/src/main/java/com/dayu/base/ui/activity/CameraActivity.java
baseSDK/src/main/java/com/dayu/common/Constants.java
baseSDK/src/main/java/com/dayu/utils/MediaChooseUtils.java
baseSDK/src/main/res/values/strings.xml
camera/src/main/java/com/cjt2325/cameralibrary/CaptureLayout.java
camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
orderCenter/src/main/java/com/dayu/order/api/protocol/OrderDetail.java
orderCenter/src/main/java/com/dayu/order/presenter/multiprocessorder/MultiProcessOrderContract.java
orderCenter/src/main/java/com/dayu/order/presenter/multiprocessorder/MultiProcessOrderPresenter.java
orderCenter/src/main/java/com/dayu/order/ui/activity/MultiProcessOrderActivity.java
orderCenter/src/main/java/com/dayu/order/ui/adapter/OrderServerAdapter.java
orderCenter/src/main/java/com/dayu/order/ui/fragment/OrderDetailsServeFragment.java
orderCenter/src/main/release/AndroidManifest.xml
orderCenter/src/main/res/drawable-xhdpi/icon_video.png
orderCenter/src/main/res/layout/activity_multi_process_order.xml
orderCenter/src/main/res/layout/activity_order_details.xml
orderCenter/src/main/res/layout/fragment_order_serve.xml
orderCenter/src/main/res/values/strings.xml
baseSDK/src/main/java/com/dayu/base/ui/activity/CameraActivity.java
View file @
4ff4f6af
...
...
@@ -41,9 +41,9 @@ public class CameraActivity extends AppCompatActivity {
super
.
onCreate
(
savedInstanceState
);
getWindow
().
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
,
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
);
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
);
}
else
{
}
else
{
setContentView
(
R
.
layout
.
activity_camera
);
}
jCameraView
=
(
JCameraView
)
findViewById
(
R
.
id
.
jcameraview
);
...
...
@@ -58,7 +58,12 @@ public class CameraActivity extends AppCompatActivity {
jCameraView
.
setFeatures
(
jCameraView
.
BUTTON_STATE_BOTH
);
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
()
{
@Override
public
void
onError
()
{
...
...
baseSDK/src/main/java/com/dayu/common/Constants.java
View file @
4ff4f6af
...
...
@@ -270,6 +270,8 @@ public class Constants {
public
static
final
int
CAMERA_VIDEO
=
102
;
public
static
final
int
MINIMUM_COMPRESSSIZE
=
10
*
1024
;
//图片压缩大小临界值
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"
;
/**
* 主动申请备件.
...
...
baseSDK/src/main/java/com/dayu/utils/MediaChooseUtils.java
View file @
4ff4f6af
...
...
@@ -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
)
{
...
...
baseSDK/src/main/res/values/strings.xml
View file @
4ff4f6af
...
...
@@ -75,7 +75,7 @@
<string
name=
"order_serve_type"
>
服务类型
</string>
<string
name=
"order_photo_text"
>
服务照片(故障及解决照片,限5张)
</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_us"
>
扫码关注我们的微信服务号
</string>
<string
name=
"tv_about_us_text"
>
    
传统低效的客服体系,正在成为厂商、服务商、消费者的包袱。大鱼准备以科技之力进行客服产业革命。运用Ai、云和大数据等技术,连接厂商、销售商、服务商和消费者,打造去中心化的智能共享客户服务解决方案。
</string>
...
...
@@ -388,7 +388,7 @@
<string
name=
"check_initial_state"
>
查看初始状态
</string>
<string
name=
"reassignment_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_location"
>
查看位置
</string>
<string
name=
"part_record"
>
备件记录
</string>
...
...
camera/src/main/java/com/cjt2325/cameralibrary/CaptureLayout.java
View file @
4ff4f6af
...
...
@@ -341,6 +341,10 @@ public class CaptureLayout extends FrameLayout {
btn_capture
.
setDuration
(
duration
);
}
public
void
setMinDuration
(
int
duration
)
{
btn_capture
.
setMinDuration
(
duration
);
}
public
void
setButtonFeatures
(
int
state
)
{
btn_capture
.
setButtonFeatures
(
state
);
}
...
...
camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
View file @
4ff4f6af
...
...
@@ -106,6 +106,7 @@ public class JCameraView extends FrameLayout implements CameraInterface.CameraOp
private
int
iconLeft
=
0
;
//左图标
private
int
iconRight
=
0
;
//右图标
private
int
duration
=
0
;
//录制时间
private
int
min_duration
=
0
;
//最短录制时间
//缩放梯度
private
int
zoomGradient
=
0
;
...
...
@@ -144,7 +145,12 @@ public class JCameraView extends FrameLayout implements CameraInterface.CameraOp
this
.
duration
=
duration
;
if
(
mCaptureLayout
!=
null
)
mCaptureLayout
.
setDuration
(
duration
);
}
public
void
setMinDuration
(
int
duration
)
{
this
.
min_duration
=
duration
;
if
(
mCaptureLayout
!=
null
)
mCaptureLayout
.
setMinDuration
(
min_duration
);
}
private
void
initData
()
{
...
...
orderCenter/src/main/java/com/dayu/order/api/protocol/OrderDetail.java
View file @
4ff4f6af
...
...
@@ -758,6 +758,15 @@ public class OrderDetail implements Serializable {
private
double
latitude
;
private
double
longitude
;
private
String
address
;
private
String
shortVideoUrl
;
public
String
getShortVideoUrl
()
{
return
shortVideoUrl
;
}
public
void
setShortVideoUrl
(
String
shortVideoUrl
)
{
this
.
shortVideoUrl
=
shortVideoUrl
;
}
public
String
getAddress
()
{
return
address
;
...
...
orderCenter/src/main/java/com/dayu/order/presenter/multiprocessorder/MultiProcessOrderContract.java
View file @
4ff4f6af
...
...
@@ -33,11 +33,13 @@ public interface MultiProcessOrderContract {
String
getSnNumbers
();
void
setSnNumbers
(
String
snStrs
);
void
showSnView
(
boolean
show
);
String
getVideo
();
}
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
();
...
...
orderCenter/src/main/java/com/dayu/order/presenter/multiprocessorder/MultiProcessOrderPresenter.java
View file @
4ff4f6af
...
...
@@ -58,6 +58,7 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
private
String
mPhone
;
private
int
mKaId
;
private
int
sopOrderVersion
;
private
String
videoUrl
;
//视频上传成功后的地址
@Override
public
void
onAttached
()
{
...
...
@@ -91,8 +92,8 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
// }
}
private
void
commitOrder
(
List
<
String
>
list
,
List
<
String
>
snList
)
{
commitOrder
(
list
,
snList
,
mSpu
.
getId
(),
mInfo
.
get
());
private
void
commitOrder
(
List
<
String
>
list
,
List
<
String
>
snList
,
String
videoUrl
)
{
commitOrder
(
list
,
snList
,
mSpu
.
getId
(),
mInfo
.
get
()
,
videoUrl
);
PictureFileUtils
.
deleteCacheDirFile
(
BaseApplication
.
getContext
());
}
...
...
@@ -120,12 +121,13 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
}
@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
<>();
params
.
put
(
"customerCheckComment"
,
info
);
params
.
put
(
"id"
,
id
);
params
.
put
(
"brandName"
,
mBrandName
.
get
());
params
.
put
(
"sn"
,
mView
.
getSnNumbers
());
params
.
put
(
"shortVideoUrl"
,
videoUrl
);
//照片上传
if
(
imageUrl
!=
null
)
{
StringBuilder
str
=
new
StringBuilder
();
...
...
@@ -205,22 +207,42 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
ToastUtils
.
showShortToast
(
R
.
string
.
sn_not_null
);
return
;
}
if
(
TextUtils
.
isEmpty
(
mView
.
getVideo
())){
ToastUtils
.
showShortToast
(
"视频不能为空"
);
return
;
}
mView
.
showDialog
();
MultipartBody
.
Part
[]
parts
;
List
<
String
>
imageUrl
=
mView
.
getImages
();
if
(
imageUrl
!=
null
&&
imageUrl
.
size
()
>
0
)
{
parts
=
packPhoto
(
imageUrl
);
if
(
parts
.
length
==
0
)
{
commitOrder
(
mHttpUrl
,
null
);
}
else
{
BaseApiFactory
.
uploadPhoto
(
parts
).
subscribe
(
baseObserver
(
list
->
{
list
.
addAll
(
0
,
mHttpUrl
);
commitOrder
(
list
,
null
);
}));
uploadVideo
(
mView
.
getVideo
());
// MultipartBody.Part[] parts;
// List<String> imageUrl = mView.getImages();
// if (imageUrl != null && imageUrl.size() > 0) {
// parts = packPhoto(imageUrl);
// if (parts.length == 0) {
// commitOrder(mHttpUrl, null);
// } else {
// BaseApiFactory.uploadPhoto(parts).subscribe(baseObserver(list -> {
// 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
{
commitOrder
(
null
,
null
);
mView
.
showToast
(
"视频上传失败"
);
}
}));
}
...
...
orderCenter/src/main/java/com/dayu/order/ui/activity/MultiProcessOrderActivity.java
View file @
4ff4f6af
package
com
.
dayu
.
order
.
ui
.
activity
;
import
android.Manifest
;
import
android.annotation.SuppressLint
;
import
android.content.Intent
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
...
...
@@ -12,8 +14,10 @@ import android.widget.EditText;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
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.SpacesItemDecoration
;
import
com.dayu.common.Constants
;
import
com.dayu.order.R
;
import
com.dayu.order.common.SubmitCheckEvent
;
import
com.dayu.order.databinding.ActivityMultiProcessOrderBinding
;
...
...
@@ -21,7 +25,10 @@ import com.dayu.order.presenter.multiprocessorder.MultiProcessOrderContract;
import
com.dayu.order.presenter.multiprocessorder.MultiProcessOrderPresenter
;
import
com.dayu.utils.CommonUtils
;
import
com.dayu.utils.LogUtils
;
import
com.dayu.utils.MPermissionUtils
;
import
com.dayu.utils.MediaChooseUtils
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.widgets.TextDialog
;
import
com.google.zxing.integration.android.IntentIntegrator
;
import
com.google.zxing.integration.android.IntentResult
;
import
com.luck.picture.lib.PictureSelector
;
...
...
@@ -30,8 +37,15 @@ import com.luck.picture.lib.entity.LocalMedia;
import
org.greenrobot.eventbus.Subscribe
;
import
java.io.File
;
import
java.util.ArrayList
;
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
...
...
@@ -47,8 +61,8 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
private
ArrayList
<
String
>
mSnNumbers
=
new
ArrayList
<>();
private
BaseQuickAdapter
<
Integer
,
BaseViewHolder
>
snAdapter
;
private
int
scanSnPos
;
private
PhotoViewAdapter
mAdapter
;
private
String
videoPath
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -96,9 +110,58 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
}
};
mBind
.
rvSn
.
setAdapter
(
snAdapter
);
// } else {
// snAdapter.notifyDataSetChanged();
// }
mBind
.
rlVideo
.
setOnClickListener
(
v
->
chooseVideo
());
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
mAdapter
.
setData
(
mImages
);
}
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
mSnItems
.
add
(
mSnItems
.
size
()
+
1
);
setSnAdapter
();
}
LogUtils
.
e
(
"SnNumbers_set: "
+
mSnNumbers
.
size
()
+
" "
+
mSnItems
.
size
());
LogUtils
.
e
(
"SnNumbers_set: "
+
mSnNumbers
.
size
()
+
" "
+
mSnItems
.
size
());
}
@Override
...
...
@@ -219,7 +298,7 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
mBind
.
rvSn
.
setVisibility
(
View
.
VISIBLE
);
mBind
.
tvAddSn
.
setVisibility
(
View
.
VISIBLE
);
mBind
.
rvSn
.
setLayoutManager
(
new
LinearLayoutManager
(
this
));
if
(
snAdapter
==
null
){
if
(
snAdapter
==
null
)
{
mSnItems
.
add
(
1
);
setSnAdapter
();
}
...
...
@@ -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
)
{
for
(
String
s
:
mSnNumbers
){
for
(
String
s
:
mSnNumbers
)
{
if
(
TextUtils
.
isEmpty
(
s
))
return
true
;
}
...
...
@@ -248,7 +345,21 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
}
@Subscribe
public
void
afterCheck
(
SubmitCheckEvent
event
){
public
void
afterCheck
(
SubmitCheckEvent
event
)
{
finish
();
}
@Override
public
void
onPause
()
{
super
.
onPause
();
JzvdStd
.
goOnPlayOnPause
();
}
@Override
public
void
onBackPressed
()
{
if
(!
Jzvd
.
backPress
())
{
super
.
onBackPressed
();
}
}
}
orderCenter/src/main/java/com/dayu/order/ui/adapter/OrderServerAdapter.java
View file @
4ff4f6af
package
com
.
dayu
.
order
.
ui
.
adapter
;
import
android.content.Intent
;
import
android.text.TextUtils
;
import
android.view.Gravity
;
import
android.view.View
;
import
com.dayu.base.ui.activity.VideoPreviewActivty
;
import
com.dayu.base.ui.adapter.CoreAdapter
;
import
com.dayu.common.Constants
;
import
com.dayu.order.R
;
import
com.dayu.order.api.protocol.OrderDetail
;
import
com.dayu.order.databinding.ServeDatailsItemBinding
;
...
...
@@ -12,6 +15,10 @@ import com.dayu.order.presenter.orderserver.OrderServerPresenter;
import
com.dayu.utils.LogUtils
;
import
com.dayu.utils.UIUtils
;
import
java.util.ArrayList
;
import
cn.jzvd.JzvdStd
;
/**
* Created by luofan
* on 2018/4/23.
...
...
@@ -100,7 +107,7 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv
}
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
.
serverTimeComment
.
setVisibility
(
View
.
GONE
);
}
...
...
@@ -116,7 +123,14 @@ public class OrderServerAdapter extends CoreAdapter<OrderDetail.RecordBean, Serv
holder
.
serverCheck
.
setOnClickListener
(
v
->
presenter
.
dumpCheckContent
(
position
));
}
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
()))
{
holder
.
serverCheck
.
setOnClickListener
(
v
->
presenter
.
dumpCheckContent
(
position
));
...
...
orderCenter/src/main/java/com/dayu/order/ui/fragment/OrderDetailsServeFragment.java
View file @
4ff4f6af
package
com
.
dayu
.
order
.
ui
.
fragment
;
import
android.os.Bundle
;
import
android.view.View
;
import
com.dayu.base.ui.activity.ImgGalleryActivty
;
import
com.dayu.base.ui.fragment.BaseFragment
;
...
...
@@ -11,6 +12,7 @@ import com.dayu.order.databinding.FragmentOrderServeBinding;
import
com.dayu.order.presenter.orderserver.OrderServerContract
;
import
com.dayu.order.presenter.orderserver.OrderServerPresenter
;
import
com.dayu.order.ui.adapter.OrderServerAdapter
;
import
com.dayu.utils.CommonUtils
;
import
com.umeng.analytics.MobclickAgent
;
/**
...
...
orderCenter/src/main/release/AndroidManifest.xml
View file @
4ff4f6af
...
...
@@ -40,10 +40,11 @@
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activity.OrderDetailsActivity"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:launchMode=
"singleTask"
android:windowSoftInputMode=
"adjustResize"
android:screenOrientation=
"portrait"
/>
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activity.ReturnPartNewActivity"
android:screenOrientation=
"portrait"
/>
...
...
@@ -72,8 +73,8 @@
<activity
android:name=
".ui.activity.MultiProcessOrderActivity"
android:hardwareAccelerated=
"true"
android:
screenOrientation=
"portrait
"
android:
windowSoftInputMode=
"stateHidden|adjustResize
"
/>
android:
configChanges=
"orientation|screenSize|keyboardHidden
"
android:
screenOrientation=
"portrait
"
/>
<activity
android:name=
".ui.activity.SignatureActivity"
android:screenOrientation=
"landscape"
/>
...
...
orderCenter/src/main/res/drawable-xhdpi/icon_video.png
0 → 100644
View file @
4ff4f6af
1.85 KB
orderCenter/src/main/res/layout/activity_multi_process_order.xml
View file @
4ff4f6af
...
...
@@ -239,50 +239,60 @@
android:textColor=
"@color/tv_cl"
android:textSize=
"14sp"
/>
<
Relative
Layout
<
Linear
Layout
android:id=
"@+id/time_Three"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/tv_server_info"
android:layout_alignParentStart=
"true"
android:layout_alignParentLeft=
"true"
android:background=
"@color/cl_white"
>
android:background=
"@color/cl_white"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/time_subscribe_remark"
<RelativeLayout
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_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_13.3"
android:layout_marginTop=
"@dimen/dp_27"
android:text=
"@string/tv_work_order_five"
android:textColor=
"@color/cl_home_title_text_color"
android:textSize=
"@dimen/sp_15"
android:visibility=
"gone"
/>
android:layout_centerInParent=
"true"
android:src=
"@drawable/icon_video"
/>
<EditText
android:id=
"@+id/et_serve_inf
o"
<cn.jzvd.JzvdStd
android:id=
"@+id/jz_vide
o"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_147"
android:layout_marginLeft=
"@dimen/dp_8"
android:layout_marginTop=
"@dimen/dp_17"
android:layout_marginRight=
"@dimen/dp_8"
android:layout_toRightOf=
"@id/time_subscribe_remark"
android:background=
"@drawable/subscribe_time_shape"
android:gravity=
"top"
android:hint=
"@string/order_hint"
android:maxEms=
"200"
android:padding=
"10dp"
android:text=
"@={presenter.mInfo}"
android:textColor=
"@color/cl_home_title_text_color"
android:textColorHint=
"@color/cl_selector_hui"
android:textSize=
"@dimen/sp_13.3"
/>
android:layout_height=
"match_parent"
android:visibility=
"gone"
/>
<ImageView
android:id=
"@+id/iv_delete"
android:layout_width=
"25dp"
android:layout_height=
"25dp"
android:layout_alignParentTop=
"true"
android:layout_alignParentRight=
"true"
android:src=
"@drawable/img_photo_delete"
android:visibility=
"gone"
/>
</RelativeLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"10dp"
android:text=
"@string/order_hint"
/>
</LinearLayout>
<RelativeLayout
android:id=
"@+id/photo_view"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:visibility=
"gone"
android:layout_below=
"@id/time_Three"
>
<TextView
...
...
orderCenter/src/main/res/layout/activity_order_details.xml
View file @
4ff4f6af
...
...
@@ -110,5 +110,10 @@
android:layout_height=
"match_parent"
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>
</layout>
\ No newline at end of file
orderCenter/src/main/res/layout/fragment_order_serve.xml
View file @
4ff4f6af
...
...
@@ -33,6 +33,5 @@
app:itemType=
"@layout/serve_datails_item"
android:layout_marginBottom=
"@dimen/dp_10"
/>
</RelativeLayout>
</layout>
\ No newline at end of file
orderCenter/src/main/res/values/strings.xml
View file @
4ff4f6af
...
...
@@ -26,7 +26,7 @@
<string
name=
"no_str"
>
否
</string>
<string
name=
"yes_str"
>
是
</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=
"take_order_failure"
>
抢单失败
</string>
<string
name=
"take_oreder_success_tosee"
>
接单成功,请移至待预约列表查看
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment