refactor(ui): 重构订单相关界面布局
- 新增 NewOrderItem 组件用于统一订单展示样式 - 优化 GoAccidentSiteActivity、GoToDestinationActivity 和 NewOrderActivity 的界面布局 -移除冗余代码,提高代码复用性 - 调整样式和间距,提升用户体验
This commit is contained in:
@ -27,7 +27,7 @@ class MainActivity : ComponentActivity() {
|
||||
.fillMaxSize()
|
||||
.clickable {
|
||||
val uri =
|
||||
"zd.assist://app?taskCode=ZD250521100797&driverName=宋志领&driverPhone=17630035658&rescueVehicle=沪88888".toUri()
|
||||
"zd.assist://app?taskCode=ZD250521100686&driverName=宋志领&driverPhone=17630035658&rescueVehicle=沪88888".toUri()
|
||||
val intent = Intent(Intent.ACTION_VIEW, uri)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
@ -39,7 +39,6 @@ rxjava = "3.1.7"
|
||||
search = "7.3.0"
|
||||
tbssdk = "44286"
|
||||
uiGraphics = "1.7.7"
|
||||
uiTooling = "1.7.7"
|
||||
uiToolingPreview = "1.7.7"
|
||||
uiVersion = "1.7.7"
|
||||
utilcodex = "1.31.1"
|
||||
@ -61,7 +60,6 @@ androidx-ui = { module = "androidx.compose.ui:ui", version.ref = "uiVersion" }
|
||||
androidx-ui-graphics = { module = "androidx.compose.ui:ui-graphics", version.ref = "uiGraphics" }
|
||||
androidx-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "uiGraphics" }
|
||||
androidx-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "uiGraphics" }
|
||||
androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "uiTooling" }
|
||||
androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "uiToolingPreview" }
|
||||
androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntimeKtx" }
|
||||
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coilCompose" }
|
||||
@ -101,6 +99,7 @@ xdmap = { module = "com.amap.api:3dmap", version.ref = "xdmap" }
|
||||
xz = { module = "org.tukaani:xz", version.ref = "xz" }
|
||||
androidx-exifinterface = { group = "androidx.exifinterface", name = "exifinterface", version.ref = "exifinterface" }
|
||||
face-detection = { module = "com.google.mlkit:face-detection", version.ref = "faceDetection" }
|
||||
ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "uiToolingPreview" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
|
@ -58,7 +58,7 @@ publishing {
|
||||
release(MavenPublication) {
|
||||
groupId = 'io.github.szl9'
|
||||
artifactId = 'zd_servicing'
|
||||
version = "1.0.1.9.9.120"
|
||||
version = "1.0.1.9.9.126"
|
||||
|
||||
pom {
|
||||
packaging = "aar"
|
||||
@ -149,8 +149,8 @@ dependencies {
|
||||
androidTestApi libs.androidx.espresso.core
|
||||
androidTestApi platform(libs.androidx.compose.bom)
|
||||
androidTestApi libs.androidx.ui.test.junit4
|
||||
debugApi libs.androidx.ui.tooling
|
||||
debugApi libs.androidx.ui.test.manifest
|
||||
debugApi libs.ui.tooling
|
||||
|
||||
api libs.coil.compose
|
||||
api libs.coil.gif
|
||||
|
@ -33,6 +33,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.za.base.NetworkRouteSelectionActivity
|
||||
@ -53,16 +54,16 @@ fun AppTipsView() {
|
||||
|
||||
when (warnBean) {
|
||||
is NetWarnBean -> {
|
||||
NetworkWeakView(warnBean as NetWarnBean)
|
||||
NetworkWeakView()
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun NetworkWeakView(netWarnBean : NetWarnBean) {
|
||||
fun NetworkWeakView() {
|
||||
val context = LocalContext.current
|
||||
|
||||
AnimatedVisibility(context !is NetworkRouteSelectionActivity,
|
||||
@ -97,10 +98,10 @@ fun NetworkWeakView(netWarnBean : NetWarnBean) {
|
||||
|
||||
Spacer(modifier = Modifier.width(5.dp))
|
||||
|
||||
Text(text = "当前网络异常,可以在线路检测中检测线路并切换!",
|
||||
Text(text = "检测线路并切换",
|
||||
style = MaterialTheme.typography.bodyMedium,
|
||||
color = Color(0xFF757575),
|
||||
fontSize = 12.sp)
|
||||
fontSize = 10.sp)
|
||||
}
|
||||
|
||||
Box(modifier = Modifier
|
||||
|
@ -30,6 +30,9 @@ object CallLogManager {
|
||||
var phoneCallContactBean : ContactRecordBean? = null
|
||||
|
||||
fun uploadCallLog(context : Context) {
|
||||
if (GlobalData.token.isNullOrEmpty()) {
|
||||
return
|
||||
}
|
||||
if (ActivityCompat.checkSelfPermission(context,
|
||||
Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED
|
||||
) {
|
||||
|
@ -5,10 +5,9 @@ import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.net.Uri
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.app.ActivityCompat
|
||||
import com.blankj.utilcode.util.ActivityUtils
|
||||
import androidx.core.net.toUri
|
||||
import com.blankj.utilcode.util.ToastUtils
|
||||
import com.za.call.CallLogManager
|
||||
import com.za.call.ContactRecordBean
|
||||
@ -94,6 +93,6 @@ fun Context.callPhone(phone : String?) {
|
||||
taskCode = GlobalData.currentOrder?.taskCode,
|
||||
phone = phone)
|
||||
}
|
||||
val intentPhone = Intent(Intent.ACTION_DIAL, Uri.parse("tel:$phone"))
|
||||
ActivityCompat.startActivity(this, intentPhone, null)
|
||||
val intentPhone = Intent(Intent.ACTION_DIAL, "tel:$phone".toUri())
|
||||
this.startActivity(intentPhone)
|
||||
}
|
@ -5,7 +5,6 @@ import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@ -19,13 +18,8 @@ import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.BottomSheetScaffold
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.SheetValue
|
||||
@ -62,7 +56,6 @@ import com.amap.api.maps.model.LatLngBounds
|
||||
import com.amap.api.maps.model.MarkerOptions
|
||||
import com.amap.api.maps.model.PolylineOptions
|
||||
import com.za.base.BaseActivity
|
||||
import com.za.base.theme.headBgColor
|
||||
import com.za.base.view.CommonDialog
|
||||
import com.za.base.view.HeadViewNotBack
|
||||
import com.za.bean.JpushBean
|
||||
@ -223,196 +216,18 @@ private fun AcceptOrderScreen(jpushBean : JpushBean?, vm : NewOrderVm = viewMode
|
||||
BottomSheetScaffold(scaffoldState = scaffoldState,
|
||||
topBar = { HeadViewNotBack(title = "新订单") },
|
||||
sheetContent = {
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.wrapContentHeight()
|
||||
.background(Color.White)
|
||||
.verticalScroll(rememberScrollState())) { // 滑动指示器
|
||||
Box(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 8.dp)
|
||||
.background(Color.White), contentAlignment = Alignment.Center) {
|
||||
Box(modifier = Modifier
|
||||
.width(32.dp)
|
||||
.height(4.dp)
|
||||
.background(color = Color(0xFFE0E0E0), shape = RoundedCornerShape(2.dp)))
|
||||
}
|
||||
|
||||
// 滑动指示器和订单类型行
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text(text = uiState.value.jpushBean?.serviceTypeName ?: "",
|
||||
fontSize = 18.sp,
|
||||
fontWeight = FontWeight.Bold,
|
||||
color = Color.Black)
|
||||
|
||||
// 修改倒计时显示
|
||||
Text(text = if (uiState.value.isTimeout) "已超时" else "${uiState.value.remainingTime}S",
|
||||
color = Color(0xFFFF4D4F),
|
||||
fontSize = 20.sp,
|
||||
fontWeight = FontWeight.Bold)
|
||||
}
|
||||
|
||||
// 添加距离和时间信息
|
||||
// 距离和时间信息
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text(text = if (uiState.value.estimatedArrivalTime.isNotEmpty()) "预计到达: ${uiState.value.estimatedArrivalTime}"
|
||||
else "计算中...", color = Color(0xFF666666), fontSize = 14.sp)
|
||||
|
||||
Text(text = if (uiState.value.remainingDistance > 0) "距离救援地: %.1fkm".format(
|
||||
uiState.value.remainingDistance / 1000f)
|
||||
else "计算中...", color = Color(0xFFFF4D4F), fontSize = 14.sp)
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.alpha(0.1f))
|
||||
|
||||
// 订单信息
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp)) { // 订单标签
|
||||
Text(text = uiState.value.jpushBean?.serviceTypeName ?: "",
|
||||
fontSize = 18.sp,
|
||||
fontWeight = FontWeight.Bold,
|
||||
color = Color.Black)
|
||||
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
|
||||
// 订单标签
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
Box(modifier = Modifier
|
||||
.background(Color(0xFF9BA1B2), RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 6.dp, vertical = 2.dp)) {
|
||||
Text(text = "月结".takeIf { uiState.value.jpushBean?.settleType == 1 }
|
||||
?: "现金", color = Color.White, fontSize = 12.sp)
|
||||
}
|
||||
|
||||
Text(text = uiState.value.jpushBean?.orderSource ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 12.sp)
|
||||
|
||||
Text(text = uiState.value.jpushBean?.addressProperty ?: "",
|
||||
color = Color(0xFFFD8205),
|
||||
fontSize = 12.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
|
||||
// 订单号
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = Modifier.clickable {
|
||||
uiState.value.jpushBean?.taskCode?.copy(context)
|
||||
}) {
|
||||
Text(text = "单号", color = Color(0xFF999999), fontSize = 13.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.jpushBean?.taskCode ?: "",
|
||||
color = Color(0xFF666666),
|
||||
fontSize = 14.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
AsyncImage(model = R.drawable.sv_copy,
|
||||
contentDescription = "copy",
|
||||
modifier = Modifier.size(16.dp))
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
||||
// 地址信息
|
||||
Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { // 救援地
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier.clickable { // 点击救援地时移动地图到救援位置
|
||||
uiState.value.jpushBean?.let { order ->
|
||||
if (order.lat != null && order.lat != 0.0 && order.lng != null && order.lng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.lat !!, order.lng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_rescuing,
|
||||
contentDescription = "rescue",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.jpushBean?.address ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
// 目的地
|
||||
if (! uiState.value.jpushBean?.distAddress.isNullOrBlank()) {
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier.clickable { // 点击目的地时移动地图到目的地位置
|
||||
uiState.value.jpushBean?.let { order ->
|
||||
if (order.distLat != null && order.distLat != 0.0 && order.distLng != null && order.distLng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.distLat !!, order.distLng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_dist,
|
||||
contentDescription = "destination",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.jpushBean?.distAddress ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
||||
// 修改按钮状态
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 16.dp),
|
||||
horizontalArrangement = Arrangement.spacedBy(12.dp)) { // 拒单按钮
|
||||
Button(onClick = { vm.dispatch(NewOrderVm.Action.RefuseOrder) },
|
||||
modifier = Modifier
|
||||
.weight(1f)
|
||||
.height(44.dp),
|
||||
colors = ButtonDefaults.buttonColors(containerColor = Color.White,
|
||||
contentColor = Color(0xFF666666)),
|
||||
border = BorderStroke(1.dp, Color(0xFFE5E5E5)),
|
||||
shape = RoundedCornerShape(8.dp)) {
|
||||
Text(text = "拒绝", fontSize = 16.sp, fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
// 接单按钮
|
||||
Button(onClick = { vm.dispatch(NewOrderVm.Action.ShowTaskNotes) },
|
||||
modifier = Modifier
|
||||
.weight(1f)
|
||||
.height(44.dp),
|
||||
colors = ButtonDefaults.buttonColors(containerColor = headBgColor),
|
||||
shape = RoundedCornerShape(8.dp)) {
|
||||
Text(text = "接单",
|
||||
color = Color.White,
|
||||
fontSize = 16.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
val uiBean = NewOrderItemUIBean(taskCode = uiState.value.jpushBean?.taskCode,
|
||||
addressProperty = uiState.value.jpushBean?.addressProperty,
|
||||
address = uiState.value.jpushBean?.address,
|
||||
distAddress = uiState.value.jpushBean?.distAddress,
|
||||
serviceTypeName = uiState.value.jpushBean?.serviceTypeName,
|
||||
orderSource = uiState.value.jpushBean?.orderSource,
|
||||
settleType = uiState.value.jpushBean?.settleType,
|
||||
bottomTextString = "接单",
|
||||
uiType = NewOrderUiType.ACCEPT)
|
||||
NewOrderItem(uiBean, goAccept = {
|
||||
vm.dispatch(NewOrderVm.Action.ShowTaskNotes)
|
||||
})
|
||||
},
|
||||
sheetPeekHeight = 180.dp,
|
||||
sheetShape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp),
|
||||
|
430
servicing/src/main/java/com/za/ui/new_order/NewOrderItemView.kt
Normal file
430
servicing/src/main/java/com/za/ui/new_order/NewOrderItemView.kt
Normal file
@ -0,0 +1,430 @@
|
||||
package com.za.ui.new_order
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxHeight
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.layout.wrapContentSize
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.KeyboardArrowRight
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CardDefaults
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.VerticalDivider
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.alpha
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import coil.compose.AsyncImage
|
||||
import com.za.base.theme.bgColor
|
||||
import com.za.base.theme.black50
|
||||
import com.za.base.theme.black90
|
||||
import com.za.base.view.CommonButton
|
||||
import com.za.ext.copy
|
||||
import com.za.servicing.R
|
||||
|
||||
|
||||
object NewOrderUiType {
|
||||
const val SERVICING = 1
|
||||
const val HISTORY = 2
|
||||
const val ACCEPT = 3
|
||||
const val PENDING = 4
|
||||
const val IN_SERVICING_HOME = 5
|
||||
}
|
||||
|
||||
data class NewOrderItemUIBean(
|
||||
val taskCode : String? = null,
|
||||
val addressProperty : String? = null,
|
||||
val address : String? = null,
|
||||
val distAddress : String? = null,
|
||||
val serviceTypeName : String? = null,
|
||||
val orderSource : String? = null,
|
||||
val settleType : Int? = null,
|
||||
val currentOrderState : String? = null,
|
||||
val supplierAuditStr : String? = null, //审核状态描述
|
||||
val reserveTime : String? = null, //预约时间
|
||||
val expectArriveTime : String? = null, //预计到达时间
|
||||
val auditFailReason : String? = null, //审核失败原因
|
||||
val bottomTextString : String? = null, //底部文字
|
||||
val hasReplaceBatteryCapable : Int? = null, //是否具有更换电瓶的能力
|
||||
val uiType : Int? = 1, //1 服务中 2 历史订单 3 接单页 4 待服务页 5 进行中首页
|
||||
)
|
||||
|
||||
// 1 服务中 2 历史订单
|
||||
@Composable
|
||||
fun NewOrderItem(uiBean : NewOrderItemUIBean?,
|
||||
goInServicing : () -> Unit = {},
|
||||
goHistory : () -> Unit = {},
|
||||
goDetail : () -> Unit = {},
|
||||
goNextPage : () -> Unit = {},
|
||||
goAccept : () -> Unit = {},
|
||||
goOrderPhoto : () -> Unit = {},
|
||||
goEle : () -> Unit = {},
|
||||
goChange : () -> Unit = {}) {
|
||||
val context = LocalContext.current
|
||||
val horizontalPadding = 26.dp
|
||||
Card(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
if (uiBean?.uiType == NewOrderUiType.HISTORY) {
|
||||
goHistory()
|
||||
return@clickable
|
||||
}
|
||||
if (uiBean?.uiType == NewOrderUiType.IN_SERVICING_HOME || uiBean?.uiType == NewOrderUiType.PENDING) {
|
||||
goDetail()
|
||||
return@clickable
|
||||
}
|
||||
}
|
||||
.background(color = bgColor),
|
||||
colors = CardDefaults.cardColors().copy(containerColor = Color.White),
|
||||
shape = RoundedCornerShape(8.dp),
|
||||
border = BorderStroke(width = 0.6.dp, color = Color(0xFFE6E6E6))) {
|
||||
|
||||
NewOrderItemHead(uiBean = uiBean, goInServicing = goInServicing, goChange = goChange)
|
||||
|
||||
if (uiBean?.uiType == NewOrderUiType.HISTORY) {
|
||||
Spacer(modifier = Modifier.height(15.dp))
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(20.dp)
|
||||
.padding(horizontal = horizontalPadding),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.Absolute.SpaceBetween) {
|
||||
Text(text = uiBean?.serviceTypeName ?: "",
|
||||
color = black90,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
fontSize = 17.sp)
|
||||
Text(uiBean?.currentOrderState ?: "",
|
||||
color = Color(0xFFF19028),
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 13.sp)
|
||||
}
|
||||
} else {
|
||||
Spacer(modifier = Modifier.height(15.dp))
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(20.dp)
|
||||
.clickable { uiBean?.taskCode.copy(context = context) }
|
||||
.padding(horizontal = horizontalPadding),
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("单号", color = black50, fontWeight = FontWeight.Medium, fontSize = 13.sp)
|
||||
Spacer(modifier = Modifier.width(10.dp))
|
||||
Text(uiBean?.taskCode ?: "",
|
||||
color = black90,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
fontSize = 16.sp,
|
||||
modifier = Modifier.wrapContentSize(align = Alignment.Center))
|
||||
Spacer(modifier = Modifier.width(10.dp))
|
||||
Icon(imageVector = ImageVector.vectorResource(R.drawable.sv_new_copy),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(13.dp))
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(10.dp))
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = horizontalPadding),
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
AsyncImage(model = R.drawable.sv_settle_month.takeIf { uiBean?.settleType == 1 }
|
||||
?: R.drawable.sv_settle_cash,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(31.dp, 16.dp))
|
||||
Spacer(modifier = Modifier.width(10.dp))
|
||||
Text(uiBean?.orderSource ?: "",
|
||||
color = Color.Black,
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 12.sp)
|
||||
Spacer(Modifier.weight(1f))
|
||||
Text(uiBean?.addressProperty ?: "",
|
||||
color = Color.Black,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
fontSize = 14.sp,
|
||||
modifier = Modifier.wrapContentSize(align = Alignment.Center))
|
||||
}
|
||||
|
||||
if (! uiBean?.reserveTime.isNullOrBlank()) {
|
||||
Spacer(modifier = Modifier.height(4.dp))
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(20.dp)
|
||||
.padding(horizontal = horizontalPadding),
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
AsyncImage(model = R.drawable.sv_order_reserve,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(31.dp, 16.dp))
|
||||
Spacer(modifier = Modifier.width(10.dp))
|
||||
Text(uiBean?.reserveTime ?: "",
|
||||
color = Color(0xFF354E9E),
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 12.sp)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Spacer(modifier = Modifier.height(10.dp))
|
||||
if (uiBean?.distAddress.isNullOrBlank()) {
|
||||
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 18.dp)
|
||||
.background(color = Color(0x80F8FBFF), shape = RoundedCornerShape(4.dp))
|
||||
.border(width = 0.3.dp, color = Color(0xFFD8E4F0), shape = RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 12.dp, vertical = 10.dp),
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
|
||||
AsyncImage(model = R.drawable.sv_rescuing,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(16.dp))
|
||||
Spacer(modifier = Modifier.width(10.dp))
|
||||
Text(uiBean?.address ?: "",
|
||||
maxLines = 2,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
fontSize = 12.5.sp,
|
||||
fontWeight = FontWeight.Medium,
|
||||
color = black90)
|
||||
}
|
||||
} else {
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(140.dp)
|
||||
.padding(horizontal = 18.dp)
|
||||
.background(color = Color(0x80F8FBFF), shape = RoundedCornerShape(4.dp))
|
||||
.border(width = 0.3.dp, color = Color(0xFFD8E4F0), shape = RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 12.dp, vertical = 5.dp)) {
|
||||
|
||||
Column(horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.SpaceAround) {
|
||||
Spacer(modifier = Modifier.height(10.dp))
|
||||
AsyncImage(model = R.drawable.sv_rescuing,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
if (! uiBean?.distAddress.isNullOrBlank()) {
|
||||
VerticalDivider(modifier = Modifier.weight(1f), color = Color(0xFFC1C1C1))
|
||||
|
||||
AsyncImage(model = R.drawable.sv_dist,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(16.dp))
|
||||
Spacer(modifier = Modifier.height(10.dp))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.width(18.dp))
|
||||
|
||||
Column(verticalArrangement = Arrangement.SpaceAround,
|
||||
modifier = Modifier.fillMaxHeight()) {
|
||||
Text(uiBean?.address ?: "",
|
||||
maxLines = 2,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
fontSize = 12.5.sp,
|
||||
fontWeight = FontWeight.Medium,
|
||||
color = black90)
|
||||
if (uiBean?.distAddress.isNullOrBlank() == false) {
|
||||
HorizontalDivider(modifier = Modifier
|
||||
.alpha(0.1f)
|
||||
.padding(vertical = 5.dp))
|
||||
Text(uiBean?.distAddress ?: "",
|
||||
maxLines = 2,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
fontSize = 12.5.sp,
|
||||
fontWeight = FontWeight.Medium,
|
||||
color = black90)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (! uiBean?.auditFailReason.isNullOrBlank()) {
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 18.dp)
|
||||
.background(color = Color(0xFFFFF7EE), shape = RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 15.dp, vertical = 10.dp),
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Icon(imageVector = ImageVector.vectorResource(R.drawable.sv_warn_yellow),
|
||||
contentDescription = "",
|
||||
tint = Color(0xFFFF8F37))
|
||||
Spacer(modifier = Modifier.width(7.dp))
|
||||
Text(uiBean?.auditFailReason ?: "",
|
||||
color = Color(0xFFFF8F37),
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 12.sp)
|
||||
}
|
||||
}
|
||||
|
||||
if (uiBean?.uiType == NewOrderUiType.HISTORY) {
|
||||
Spacer(modifier = Modifier.height(10.dp))
|
||||
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 20.dp),
|
||||
horizontalArrangement = Arrangement.SpaceAround) {
|
||||
AsyncImage(model = R.drawable.sv_order_photo,
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.size(93.dp, 25.dp)
|
||||
.clickable { goOrderPhoto() },
|
||||
contentScale = ContentScale.None)
|
||||
|
||||
AsyncImage(model = R.drawable.sv_order_ele,
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.size(93.dp, 25.dp)
|
||||
.clickable { goEle() },
|
||||
contentScale = ContentScale.None)
|
||||
|
||||
if (uiBean.hasReplaceBatteryCapable == 1) {
|
||||
AsyncImage(model = R.drawable.sv_order_change,
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.size(93.dp, 25.dp)
|
||||
.clickable {
|
||||
goChange()
|
||||
},
|
||||
contentScale = ContentScale.None)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (uiBean?.uiType == NewOrderUiType.SERVICING || uiBean?.uiType == NewOrderUiType.ACCEPT) {
|
||||
Spacer(modifier = Modifier.height(10.dp))
|
||||
CommonButton(text = uiBean?.bottomTextString ?: "") {
|
||||
if (uiBean?.uiType == NewOrderUiType.ACCEPT) {
|
||||
goAccept()
|
||||
return@CommonButton
|
||||
}
|
||||
goNextPage()
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(20.dp))
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun NewOrderItemHead(uiBean : NewOrderItemUIBean?,
|
||||
goInServicing : () -> Unit = {},
|
||||
goChange : () -> Unit = {}) {
|
||||
when (uiBean?.uiType) {
|
||||
NewOrderUiType.IN_SERVICING_HOME, NewOrderUiType.PENDING, NewOrderUiType.SERVICING -> {
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
if (uiBean?.uiType == NewOrderUiType.IN_SERVICING_HOME) {
|
||||
goInServicing()
|
||||
return@clickable
|
||||
}
|
||||
if (uiBean?.uiType == NewOrderUiType.PENDING) {
|
||||
goChange()
|
||||
return@clickable
|
||||
}
|
||||
}
|
||||
.padding(horizontal = 5.dp, vertical = 3.dp)
|
||||
.background(color = Color(0xFFF9FDFF),
|
||||
shape = RoundedCornerShape(topStart = 5.dp,
|
||||
topEnd = 5.dp,
|
||||
bottomStart = 0.dp,
|
||||
bottomEnd = 0.dp))
|
||||
.padding(top = 14.dp, bottom = 8.dp, start = 21.dp, end = 16.dp),
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text(uiBean.serviceTypeName ?: "",
|
||||
color = black90,
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 17.sp)
|
||||
Spacer(Modifier.weight(1f))
|
||||
|
||||
|
||||
if (uiBean?.uiType == NewOrderUiType.SERVICING) {
|
||||
Text("预计到达:",
|
||||
color = Color(0xFFF19028),
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 13.sp)
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
Text("${
|
||||
uiBean.expectArriveTime?.split(" ")?.get(1)
|
||||
}", color = Color(0xFFF19028), fontWeight = FontWeight.Medium, fontSize = 13.sp)
|
||||
} else {
|
||||
Text(uiBean?.currentOrderState ?: "",
|
||||
color = Color(0xFFF19028),
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 13.sp)
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Icon(Icons.Default.KeyboardArrowRight,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(13.dp),
|
||||
tint = Color.Gray)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NewOrderUiType.HISTORY -> {
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 5.dp, vertical = 3.dp)
|
||||
.background(color = Color(0xFFF9FDFF),
|
||||
shape = RoundedCornerShape(topStart = 5.dp,
|
||||
topEnd = 5.dp,
|
||||
bottomStart = 0.dp,
|
||||
bottomEnd = 0.dp))
|
||||
.padding(top = 14.dp, bottom = 8.dp, start = 21.dp, end = 16.dp),
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text(uiBean?.taskCode ?: "",
|
||||
color = black90,
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 17.sp)
|
||||
Spacer(modifier = Modifier.width(9.dp))
|
||||
Icon(imageVector = ImageVector.vectorResource(R.drawable.sv_new_copy),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(13.dp))
|
||||
Spacer(Modifier.weight(1f))
|
||||
Box(modifier = Modifier
|
||||
.background(color = Color(0x99FFEBEB), shape = RoundedCornerShape(4.dp))
|
||||
.border(width = 0.5.dp,
|
||||
color = Color(0xFFFFC7B8),
|
||||
shape = RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 4.dp, vertical = 2.dp)) {
|
||||
Text(uiBean?.supplierAuditStr ?: "",
|
||||
color = Color(0xFFFF5656),
|
||||
fontWeight = FontWeight.Normal,
|
||||
fontSize = 10.sp,
|
||||
style = TextStyle.Default.copy())
|
||||
}
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
Icon(Icons.Default.KeyboardArrowRight,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(13.dp),
|
||||
tint = Color.Gray)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier.alpha(0.1f))
|
||||
}
|
@ -3,50 +3,28 @@ package com.za.ui.servicing.go_accident
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.BottomSheetScaffold
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.SheetValue
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.rememberBottomSheetScaffoldState
|
||||
import androidx.compose.material3.rememberStandardBottomSheetState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.alpha
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import coil.compose.AsyncImage
|
||||
import com.amap.api.location.AMapLocationClient
|
||||
import com.amap.api.maps.CameraUpdateFactory
|
||||
import com.amap.api.maps.MapView
|
||||
@ -56,14 +34,16 @@ import com.amap.api.maps.model.LatLngBounds
|
||||
import com.amap.api.maps.model.MarkerOptions
|
||||
import com.amap.api.maps.model.PolylineOptions
|
||||
import com.za.base.BaseActivity
|
||||
import com.za.base.theme.headBgColor
|
||||
import com.za.base.view.CommonDialog
|
||||
import com.za.common.GlobalData
|
||||
import com.za.common.util.ImageUtil
|
||||
import com.za.ext.copy
|
||||
import com.za.ext.convertToFlowName
|
||||
import com.za.ext.finish
|
||||
import com.za.ext.goNextPage
|
||||
import com.za.servicing.R
|
||||
import com.za.ui.new_order.NewOrderItem
|
||||
import com.za.ui.new_order.NewOrderItemUIBean
|
||||
import com.za.ui.new_order.NewOrderUiType
|
||||
import com.za.ui.servicing.view.InServicingHeadView
|
||||
import com.za.ui.servicing.view.ServiceOperation
|
||||
|
||||
@ -137,163 +117,20 @@ fun GoAccidentSiteScreen(vm : GoAccidentSiteVm = viewModel()) {
|
||||
orderInfo = uiState.value.orderInfo)
|
||||
},
|
||||
sheetContent = {
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.wrapContentHeight()
|
||||
.verticalScroll(rememberScrollState())) {
|
||||
Box(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 8.dp),
|
||||
contentAlignment = Alignment.Center) {
|
||||
Box(modifier = Modifier
|
||||
.width(32.dp)
|
||||
.height(4.dp)
|
||||
.background(color = Color(0xFFE0E0E0), shape = RoundedCornerShape(2.dp)))
|
||||
}
|
||||
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text(text = if (! uiState.value.estimatedArrivalTime.isNullOrBlank()) "预计到达: ${uiState.value.estimatedArrivalTime}"
|
||||
else "计算中...", color = Color(0xFF666666), fontSize = 14.sp)
|
||||
|
||||
Text(text = if (uiState.value.remainingDistance > 0) "距离救援地: %.1fkm".format(
|
||||
uiState.value.remainingDistance / 1000f)
|
||||
else "计算中...", color = Color(0xFFFF4D4F), fontSize = 14.sp)
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.alpha(0.1f))
|
||||
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp)) {
|
||||
|
||||
Text(text = uiState.value.orderInfo?.serviceTypeName ?: "",
|
||||
fontSize = 18.sp,
|
||||
fontWeight = FontWeight.Bold,
|
||||
color = Color.Black)
|
||||
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
|
||||
// 订单标签
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
Box(modifier = Modifier
|
||||
.background(Color(0xFF9BA1B2), RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 6.dp, vertical = 2.dp)) {
|
||||
Text(text = "月结".takeIf { uiState.value.orderInfo?.settleType == 1 }
|
||||
?: "现金", color = Color.White, fontSize = 12.sp)
|
||||
}
|
||||
|
||||
Text(text = uiState.value.orderInfo?.orderSource ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 12.sp)
|
||||
|
||||
Text(text = uiState.value.orderInfo?.addressProperty ?: "",
|
||||
color = Color(0xFFFD8205),
|
||||
fontSize = 12.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = Modifier.clickable {
|
||||
uiState.value.orderInfo?.taskCode?.copy(context)
|
||||
}) {
|
||||
Text(text = "单号", color = Color(0xFF999999), fontSize = 13.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.taskCode ?: "",
|
||||
color = Color(0xFF666666),
|
||||
fontSize = 14.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
AsyncImage(model = R.drawable.sv_copy,
|
||||
contentDescription = "copy",
|
||||
modifier = Modifier.size(16.dp))
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
|
||||
Column(verticalArrangement = Arrangement.spacedBy(12.dp)) {
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
uiState.value.orderInfo?.let { order ->
|
||||
if (order.lat != null && order.lat != 0.0 && order.lng != null && order.lng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.lat !!, order.lng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_rescuing,
|
||||
contentDescription = "rescue",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.address ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium,
|
||||
modifier = Modifier.weight(1f))
|
||||
}
|
||||
|
||||
if (! uiState.value.orderInfo?.distAddress.isNullOrBlank()) {
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
uiState.value.orderInfo?.let { order ->
|
||||
if (order.distLat != null && order.distLat != 0.0 && order.distLng != null && order.distLng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.distLat !!, order.distLng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_dist,
|
||||
contentDescription = "destination",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.distAddress ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium,
|
||||
modifier = Modifier.weight(1f))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Button(onClick = {
|
||||
val uiBean = NewOrderItemUIBean(taskCode = uiState.value.orderInfo?.taskCode,
|
||||
addressProperty = uiState.value.orderInfo?.addressProperty,
|
||||
address = uiState.value.orderInfo?.address,
|
||||
distAddress = uiState.value.orderInfo?.distAddress,
|
||||
serviceTypeName = uiState.value.orderInfo?.serviceTypeName,
|
||||
orderSource = uiState.value.orderInfo?.orderSource,
|
||||
settleType = uiState.value.orderInfo?.settleType,
|
||||
bottomTextString = "到达事发地",
|
||||
expectArriveTime = uiState.value.orderInfo?.expectArriveTime,
|
||||
uiType = NewOrderUiType.SERVICING)
|
||||
NewOrderItem(uiBean, goNextPage = {
|
||||
vm.dispatch(GoAccidentSiteVm.Action.UpdateState(uiState.value.copy(
|
||||
isGoNextPageDialog = true)))
|
||||
},
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(44.dp)
|
||||
.padding(horizontal = 16.dp),
|
||||
colors = ButtonDefaults.buttonColors(containerColor = headBgColor),
|
||||
shape = RoundedCornerShape(8.dp)) {
|
||||
Text(text = "到达事发地",
|
||||
color = Color.White,
|
||||
fontSize = 16.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
}
|
||||
})
|
||||
},
|
||||
sheetPeekHeight = 180.dp,
|
||||
sheetShape = RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp),
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.za.ui.servicing.go_accident
|
||||
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.amap.api.maps.AMapUtils
|
||||
import com.amap.api.maps.model.BitmapDescriptorFactory
|
||||
import com.amap.api.maps.model.LatLng
|
||||
@ -29,11 +28,7 @@ import com.za.offline.OfflineUpdateTaskBean
|
||||
import com.za.service.location.ZdLocationManager
|
||||
import com.za.servicing.R
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.update
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Date
|
||||
|
@ -67,6 +67,10 @@ import com.za.ext.copy
|
||||
import com.za.ext.finish
|
||||
import com.za.ext.goNextPage
|
||||
import com.za.servicing.R
|
||||
import com.za.ui.new_order.NewOrderItem
|
||||
import com.za.ui.new_order.NewOrderItemUIBean
|
||||
import com.za.ui.new_order.NewOrderUiType
|
||||
import com.za.ui.new_order.NewOrderVm
|
||||
import com.za.ui.servicing.view.InServicingHeadView
|
||||
import com.za.ui.servicing.view.ServiceOperation
|
||||
|
||||
@ -179,168 +183,21 @@ fun GoToDestinationScreen(vm : GoToDestinationVm = viewModel()) {
|
||||
orderInfo = orderInfo)
|
||||
},
|
||||
sheetContent = {
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.wrapContentHeight()
|
||||
.verticalScroll(rememberScrollState())) { // 滑动指示器
|
||||
Box(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 8.dp),
|
||||
contentAlignment = Alignment.Center) {
|
||||
Box(modifier = Modifier
|
||||
.width(32.dp)
|
||||
.height(4.dp)
|
||||
.background(color = Color(0xFFE0E0E0), shape = RoundedCornerShape(2.dp)))
|
||||
}
|
||||
|
||||
// 距离和时间信息
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text(text = if (estimatedTime.isNotEmpty()) "预计到达: $estimatedTime"
|
||||
else "计算中...", color = Color(0xFF666666), fontSize = 14.sp)
|
||||
|
||||
Text(text = if (remainingDistance > 0) "目的地距离: %.1fkm".format(
|
||||
remainingDistance / 1000f)
|
||||
else "计算中...", color = Color(0xFFFF4D4F), fontSize = 14.sp)
|
||||
}
|
||||
|
||||
// 使用 HorizontalDivider 替代 Box
|
||||
HorizontalDivider(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.alpha(0.1f))
|
||||
|
||||
// 订单信息
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp)) {
|
||||
Text(text = uiState.value.orderInfo?.serviceTypeName ?: "",
|
||||
fontSize = 18.sp,
|
||||
fontWeight = FontWeight.Bold,
|
||||
color = Color.Black)
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
// 订单标签
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
Box(modifier = Modifier
|
||||
.background(Color(0xFF9BA1B2), RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 6.dp, vertical = 2.dp)) {
|
||||
Text(text = "月结".takeIf { uiState.value.orderInfo?.settleType == 1 }
|
||||
?: "现金", color = Color.White, fontSize = 12.sp)
|
||||
}
|
||||
|
||||
Text(text = uiState.value.orderInfo?.orderSource ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 12.sp)
|
||||
|
||||
Text(text = uiState.value.orderInfo?.addressProperty ?: "",
|
||||
color = Color(0xFFFD8205),
|
||||
fontSize = 12.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
|
||||
// 订单号
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = Modifier.clickable {
|
||||
uiState.value.orderInfo?.taskCode?.copy(context)
|
||||
}) {
|
||||
Text(text = "单号", color = Color(0xFF999999), fontSize = 13.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.taskCode ?: "",
|
||||
color = Color(0xFF666666),
|
||||
fontSize = 14.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
AsyncImage(model = R.drawable.sv_copy,
|
||||
contentDescription = "copy",
|
||||
modifier = Modifier.size(16.dp))
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
|
||||
// 地址信息
|
||||
Column(verticalArrangement = Arrangement.spacedBy(12.dp)) { // 救援地
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
uiState.value.orderInfo?.let { order ->
|
||||
if (order.lat != null && order.lat != 0.0 && order.lng != null && order.lng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.lat !!, order.lng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_rescuing,
|
||||
contentDescription = "rescue",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.address ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium,
|
||||
modifier = Modifier.weight(1f))
|
||||
}
|
||||
|
||||
// 目的地
|
||||
if (! uiState.value.orderInfo?.distAddress.isNullOrBlank()) {
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable {
|
||||
uiState.value.orderInfo?.let { order ->
|
||||
if (order.distLat != null && order.distLat != 0.0 && order.distLng != null && order.distLng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.distLat !!, order.distLng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_dist,
|
||||
contentDescription = "destination",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.distAddress ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium,
|
||||
modifier = Modifier.weight(1f))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 到达按钮 - 移除外层 Column,简化布局
|
||||
Button(onClick = {
|
||||
val uiBean = NewOrderItemUIBean(taskCode = uiState.value.orderInfo?.taskCode,
|
||||
addressProperty = uiState.value.orderInfo?.addressProperty,
|
||||
address = uiState.value.orderInfo?.address,
|
||||
distAddress = uiState.value.orderInfo?.distAddress,
|
||||
serviceTypeName = uiState.value.orderInfo?.serviceTypeName,
|
||||
orderSource = uiState.value.orderInfo?.orderSource,
|
||||
settleType = uiState.value.orderInfo?.settleType,
|
||||
expectArriveTime = uiState.value.orderInfo?.expectArriveTime,
|
||||
bottomTextString = "到达目的地",
|
||||
uiType = NewOrderUiType.SERVICING)
|
||||
NewOrderItem(uiBean, goNextPage = {
|
||||
vm.dispatch(GoToDestinationVm.Action.UpdateState(uiState.value.copy(
|
||||
isGoNextPageDialog = true)))
|
||||
},
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(44.dp)
|
||||
.padding(horizontal = 16.dp),
|
||||
colors = ButtonDefaults.buttonColors(containerColor = headBgColor),
|
||||
shape = RoundedCornerShape(8.dp)) {
|
||||
Text(text = "到达目的地",
|
||||
color = Color.White,
|
||||
fontSize = 16.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
})
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
}
|
||||
},
|
||||
sheetPeekHeight = 180.dp,
|
||||
sheetShape = RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp),
|
||||
|
@ -68,6 +68,10 @@ import com.za.ext.finish
|
||||
import com.za.ext.goNextPage
|
||||
import com.za.ext.navigationActivity
|
||||
import com.za.servicing.R
|
||||
import com.za.ui.new_order.NewOrderItem
|
||||
import com.za.ui.new_order.NewOrderItemUIBean
|
||||
import com.za.ui.new_order.NewOrderUiType
|
||||
import com.za.ui.servicing.go_to_destination.GoToDestinationVm
|
||||
import com.za.ui.servicing.inservice_people_confirm.ServicePeopleConfirmActivity
|
||||
import com.za.ui.servicing.view.InServicingHeadView
|
||||
import com.za.ui.servicing.view.ServiceOperation
|
||||
@ -163,170 +167,25 @@ fun WaitToStartScreen(vm : WaitToStartVm = viewModel()) {
|
||||
orderInfo = uiState.value.orderInfo)
|
||||
},
|
||||
sheetContent = {
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.wrapContentHeight()
|
||||
.verticalScroll(rememberScrollState())) { // 滑动指示器
|
||||
Box(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 8.dp),
|
||||
contentAlignment = Alignment.Center) {
|
||||
Box(modifier = Modifier
|
||||
.width(32.dp)
|
||||
.height(4.dp)
|
||||
.background(color = Color(0xFFE0E0E0), shape = RoundedCornerShape(2.dp)))
|
||||
}
|
||||
|
||||
// 距离和时间信息
|
||||
Row(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
verticalAlignment = Alignment.CenterVertically) {
|
||||
Text(text = if (uiState.value.estimatedArrivalTime.isNotEmpty()) "预计到达: ${uiState.value.estimatedArrivalTime}"
|
||||
else "计算中...", color = Color(0xFF666666), fontSize = 14.sp)
|
||||
|
||||
Text(text = if (uiState.value.remainingDistance > 0) "距离救援地: %.1fkm".format(
|
||||
uiState.value.remainingDistance / 1000f)
|
||||
else "计算中...", color = Color(0xFFFF4D4F), fontSize = 14.sp)
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.alpha(0.1f))
|
||||
|
||||
// 订单信息
|
||||
Column(modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = 16.dp, vertical = 12.dp)) { // 订单类型
|
||||
Text(text = uiState.value.orderInfo?.serviceTypeName ?: "",
|
||||
fontSize = 18.sp,
|
||||
fontWeight = FontWeight.Bold,
|
||||
color = Color.Black)
|
||||
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
|
||||
// 订单标签
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
Box(modifier = Modifier
|
||||
.background(Color(0xFF9BA1B2), RoundedCornerShape(4.dp))
|
||||
.padding(horizontal = 6.dp, vertical = 2.dp)) {
|
||||
Text(text = "月结".takeIf { uiState.value.orderInfo?.settleType == 1 }
|
||||
?: "现金", color = Color.White, fontSize = 12.sp)
|
||||
}
|
||||
|
||||
Text(text = uiState.value.orderInfo?.orderSource ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 12.sp)
|
||||
|
||||
Text(text = uiState.value.orderInfo?.addressProperty ?: "",
|
||||
color = Color(0xFFFD8205),
|
||||
fontSize = 12.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(12.dp))
|
||||
|
||||
// 订单号
|
||||
Row(verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = Modifier.clickable {
|
||||
uiState.value.orderInfo?.taskCode?.copy(context)
|
||||
}) {
|
||||
Text(text = "单号", color = Color(0xFF999999), fontSize = 13.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.taskCode ?: "",
|
||||
color = Color(0xFF666666),
|
||||
fontSize = 14.sp)
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
AsyncImage(model = R.drawable.sv_copy,
|
||||
contentDescription = "copy",
|
||||
modifier = Modifier.size(16.dp))
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
||||
// 地址信息
|
||||
Column(verticalArrangement = Arrangement.spacedBy(16.dp)) { // 救援地
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier.clickable { // 点击救援地时移动地图到救援位置
|
||||
uiState.value.orderInfo?.let { order ->
|
||||
if (order.lat != null && order.lat != 0.0 && order.lng != null && order.lng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.lat !!, order.lng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_rescuing,
|
||||
contentDescription = "rescue",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.address ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
// 目的地
|
||||
if (! uiState.value.orderInfo?.distAddress.isNullOrBlank()) {
|
||||
Row(verticalAlignment = Alignment.Top,
|
||||
modifier = Modifier.clickable { // 点击目的地时移动地图到目的地位置
|
||||
uiState.value.orderInfo?.let { order ->
|
||||
if (order.distLat != null && order.distLat != 0.0 && order.distLng != null && order.distLng != 0.0) {
|
||||
mapView.map.animateCamera(CameraUpdateFactory.newLatLngZoom(
|
||||
LatLng(order.distLat !!, order.distLng !!),
|
||||
16f))
|
||||
}
|
||||
}
|
||||
}) {
|
||||
AsyncImage(model = R.drawable.sv_dist,
|
||||
contentDescription = "destination",
|
||||
modifier = Modifier.size(16.dp))
|
||||
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
|
||||
Text(text = uiState.value.orderInfo?.distAddress ?: "",
|
||||
color = Color.Black,
|
||||
fontSize = 15.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
||||
// 发车按钮
|
||||
Button(onClick = {
|
||||
val uiBean = NewOrderItemUIBean(taskCode = uiState.value.orderInfo?.taskCode,
|
||||
addressProperty = uiState.value.orderInfo?.addressProperty,
|
||||
address = uiState.value.orderInfo?.address,
|
||||
distAddress = uiState.value.orderInfo?.distAddress,
|
||||
serviceTypeName = uiState.value.orderInfo?.serviceTypeName,
|
||||
orderSource = uiState.value.orderInfo?.orderSource,
|
||||
settleType = uiState.value.orderInfo?.settleType,
|
||||
expectArriveTime = uiState.value.orderInfo?.expectArriveTime,
|
||||
bottomTextString = "发车",
|
||||
uiType = NewOrderUiType.SERVICING)
|
||||
NewOrderItem(uiBean, goNextPage = {
|
||||
if (! GlobalData.isMaster && GlobalData.driverInfoBean != null && GlobalData.driverInfoBean?.authStatus == 1) {
|
||||
vm.dispatch(WaitToStartVm.Action.UpdateState(uiState.value.copy(
|
||||
showServicePeopleConfirmDialog = true)))
|
||||
return@Button
|
||||
}
|
||||
vm.dispatch(WaitToStartVm.Action.UpdateState(uiState.value.copy(
|
||||
isGoNextPageDialog = true)))
|
||||
},
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height(44.dp)
|
||||
.padding(horizontal = 16.dp),
|
||||
colors = ButtonDefaults.buttonColors(containerColor = headBgColor),
|
||||
shape = RoundedCornerShape(8.dp)) {
|
||||
Text(text = "发车",
|
||||
color = Color.White,
|
||||
fontSize = 16.sp,
|
||||
fontWeight = FontWeight.Medium)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
}
|
||||
return@NewOrderItem
|
||||
}
|
||||
vm.dispatch(WaitToStartVm.Action.UpdateState(uiState.value.copy(isGoNextPageDialog = true)))
|
||||
})
|
||||
},
|
||||
sheetPeekHeight = 180.dp,
|
||||
sheetShape = RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp),
|
||||
|
14
servicing/src/main/res/drawable/sv_new_copy.xml
Normal file
14
servicing/src/main/res/drawable/sv_new_copy.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="13dp"
|
||||
android:height="13dp"
|
||||
android:viewportWidth="13"
|
||||
android:viewportHeight="13">
|
||||
<path
|
||||
android:pathData="M4.443,9.576L4.457,9.562L8.95,9.562C9.513,9.562 9.974,9.101 9.974,8.539L9.973,5.012L9.97,1.991L9.973,1.992L9.974,1.799C9.974,1.236 9.513,0.776 8.95,0.776L2.211,0.776C1.648,0.776 1.187,1.236 1.187,1.799L1.187,8.539C1.187,9.101 1.648,9.562 2.211,9.562L3.334,9.562L3.346,9.576L4.443,9.576ZM8.389,8.639L2.772,8.639C2.38,8.639 2.111,8.369 2.111,7.977L2.111,2.361C2.111,1.968 2.38,1.699 2.772,1.699L8.389,1.699C8.781,1.699 9.05,1.968 9.05,2.361L9.05,7.977C9.05,8.369 8.781,8.639 8.389,8.639ZM11.197,11.809C11.759,11.809 12.22,11.348 12.22,10.785L12.22,4.046C12.22,3.483 11.759,3.022 11.197,3.022L10.769,3.023L10.771,3.957C11.088,4.012 11.297,4.262 11.297,4.607L11.297,10.224C11.297,10.616 11.027,10.885 10.635,10.885L5.019,10.885C4.68,10.885 4.433,10.684 4.372,10.376L3.433,10.376L3.434,10.785C3.434,11.348 3.895,11.809 4.457,11.809L11.197,11.809Z"
|
||||
android:strokeAlpha="0.8312872"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#9197AB"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillAlpha="0.8312872"/>
|
||||
</vector>
|
81
servicing/src/main/res/drawable/sv_order_change.xml
Normal file
81
servicing/src/main/res/drawable/sv_order_change.xml
Normal file
@ -0,0 +1,81 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="93dp"
|
||||
android:height="25dp"
|
||||
android:viewportWidth="93"
|
||||
android:viewportHeight="25">
|
||||
<path
|
||||
android:pathData="M4.15,0.15L88.85,0.15A4,4 0,0 1,92.85 4.15L92.85,20.85A4,4 0,0 1,88.85 24.85L4.15,24.85A4,4 0,0 1,0.15 20.85L0.15,4.15A4,4 0,0 1,4.15 0.15z"
|
||||
android:strokeWidth="0.3"
|
||||
android:fillColor="#00000000"
|
||||
android:fillType="evenOdd">
|
||||
<aapt:attr name="android:strokeColor">
|
||||
<gradient
|
||||
android:startX="92.85"
|
||||
android:startY="12.5"
|
||||
android:endX="0.15"
|
||||
android:endY="12.5"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#29F2E1CF"/>
|
||||
<item android:offset="0.21" android:color="#FFF2E1CF"/>
|
||||
<item android:offset="0.735" android:color="#FFF2E1CF"/>
|
||||
<item android:offset="1" android:color="#29F2E1CF"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M6.699,7.388C6.239,7.388 5.866,7.76 5.866,8.22L5.866,9.971C5.866,10.43 6.239,10.803 6.699,10.803L6.817,10.803L6.817,19.278C6.817,19.742 7.213,20.12 7.701,20.12L22.431,20.12C22.918,20.12 23.315,19.743 23.315,19.278L23.315,10.803L23.433,10.803C23.893,10.803 24.266,10.43 24.266,9.971L24.266,8.22C24.266,8 24.178,7.788 24.022,7.632C23.866,7.475 23.654,7.388 23.433,7.388L6.699,7.388ZM17.571,3.667L20.984,3.667C21.413,3.667 21.628,3.882 21.628,4.311L21.628,5.66C21.628,6.089 21.413,6.303 20.984,6.303L17.571,6.303C17.142,6.303 16.927,6.089 16.927,5.66L16.927,4.311C16.927,3.882 17.142,3.667 17.571,3.667ZM9.085,3.667L12.498,3.667C12.927,3.667 13.142,3.882 13.142,4.311L13.142,5.66C13.142,6.089 12.927,6.303 12.498,6.303L9.085,6.303C8.656,6.303 8.441,6.089 8.441,5.66L8.441,4.311C8.441,3.882 8.656,3.667 9.085,3.667Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M6.699,7.388C6.239,7.388 5.866,7.76 5.866,8.22L5.866,9.971C5.866,10.43 6.239,10.803 6.699,10.803L6.817,10.803L6.817,19.278C6.817,19.742 7.213,20.12 7.701,20.12L22.431,20.12C22.918,20.12 23.315,19.743 23.315,19.278L23.315,10.803L23.433,10.803C23.893,10.803 24.266,10.43 24.266,9.971L24.266,8.22C24.266,8 24.178,7.788 24.022,7.632C23.866,7.475 23.654,7.388 23.433,7.388L6.699,7.388ZM17.571,3.667L20.984,3.667C21.413,3.667 21.628,3.882 21.628,4.311L21.628,5.66C21.628,6.089 21.413,6.303 20.984,6.303L17.571,6.303C17.142,6.303 16.927,6.089 16.927,5.66L16.927,4.311C16.927,3.882 17.142,3.667 17.571,3.667ZM9.085,3.667L12.498,3.667C12.927,3.667 13.142,3.882 13.142,4.311L13.142,5.66C13.142,6.089 12.927,6.303 12.498,6.303L9.085,6.303C8.656,6.303 8.441,6.089 8.441,5.66L8.441,4.311C8.441,3.882 8.656,3.667 9.085,3.667Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M6.699,7.388C6.239,7.388 5.866,7.76 5.866,8.22L5.866,9.971C5.866,10.43 6.239,10.803 6.699,10.803L6.817,10.803L6.817,19.278C6.817,19.742 7.213,20.12 7.701,20.12L22.431,20.12C22.918,20.12 23.315,19.743 23.315,19.278L23.315,10.803L23.433,10.803C23.893,10.803 24.266,10.43 24.266,9.971L24.266,8.22C24.266,8 24.178,7.788 24.022,7.632C23.866,7.475 23.654,7.388 23.433,7.388L6.699,7.388ZM17.571,3.667L20.984,3.667C21.413,3.667 21.628,3.882 21.628,4.311L21.628,5.66C21.628,6.089 21.413,6.303 20.984,6.303L17.571,6.303C17.142,6.303 16.927,6.089 16.927,5.66L16.927,4.311C16.927,3.882 17.142,3.667 17.571,3.667ZM9.085,3.667L12.498,3.667C12.927,3.667 13.142,3.882 13.142,4.311L13.142,5.66C13.142,6.089 12.927,6.303 12.498,6.303L9.085,6.303C8.656,6.303 8.441,6.089 8.441,5.66L8.441,4.311C8.441,3.882 8.656,3.667 9.085,3.667Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="13.486"
|
||||
android:startY="3.667"
|
||||
android:endX="13.486"
|
||||
android:endY="18.565"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFFFBA65"/>
|
||||
<item android:offset="0.365" android:color="#FFFFC48B"/>
|
||||
<item android:offset="1" android:color="#FFFCA56F"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M13.665,14.703L12.323,14.703L12.323,16.045C12.323,16.345 12.08,16.589 11.779,16.589C11.479,16.589 11.235,16.345 11.235,16.045L11.235,14.703L9.893,14.703C9.593,14.703 9.349,14.459 9.349,14.159C9.349,13.858 9.593,13.614 9.893,13.614L11.235,13.614L11.235,12.273C11.235,11.972 11.479,11.728 11.779,11.728C12.08,11.728 12.323,11.972 12.323,12.273L12.323,13.614L13.665,13.614C13.966,13.614 14.209,13.858 14.209,14.159C14.209,14.459 13.966,14.703 13.665,14.703L13.665,14.703Z"
|
||||
android:strokeWidth="0.3"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#FFFFFF"/>
|
||||
<path
|
||||
android:pathData="M20.174,14.703L16.403,14.703C16.102,14.703 15.858,14.459 15.858,14.159C15.858,13.858 16.102,13.614 16.403,13.614L20.174,13.614C20.475,13.614 20.719,13.858 20.719,14.159C20.719,14.459 20.475,14.703 20.174,14.703L20.174,14.703Z"
|
||||
android:strokeWidth="0.3"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#FFFFFF"/>
|
||||
<path
|
||||
android:pathData="m30.183,17.725q1.966,-0.328 3.169,-1.01 -0.918,-0.634 -1.665,-1.665l0.564,-0.43h-0.833v-4.501h3.771q0.005,-0.462 0.011,-0.988L30.569,9.131L30.569,8.379h9.861v0.752h-4.404q0,0.532 -0.005,0.988h3.561v5.027h-0.816v-0.526h-3.008q-0.279,1.273 -0.886,1.96 2.154,0.79 6,0.779 -0.269,0.473 -0.44,0.859 -4.265,-0.118 -6.268,-1.047 -1.235,0.816 -3.486,1.316 -0.215,-0.376 -0.494,-0.763zM32.234,12.01h2.933q0.011,-0.516 0.016,-1.16h-2.949zM35.156,12.73h-2.922v1.16h2.831q0.07,-0.526 0.091,-1.16zM35.881,13.89h2.884L38.766,12.73h-2.782q-0.027,0.623 -0.102,1.16zM38.766,10.85h-2.75q-0.005,0.65 -0.016,1.16h2.766zM34.071,16.221q0.58,-0.5 0.854,-1.601h-2.632q0.741,1.031 1.778,1.601zM44.19,14.417L45.125,14.417L45.125,11.511Q44.862,11.301 44.502,11.033 45.92,9.561 46.758,7.799L47.628,7.95q-0.258,0.516 -0.548,0.999h3.244L50.324,9.668q-0.408,0.51 -1.268,1.504h1.923v3.244h0.87v0.741L48.514,15.158q0.854,1.864 3.282,2.363 -0.397,0.473 -0.645,0.87 -2.213,-0.741 -3.131,-2.675 -0.596,1.665 -3.583,2.761 -0.236,-0.387 -0.602,-0.784 3.094,-0.913 3.55,-2.535h-3.196zM41.15,13.557q0.639,-0.188 1.354,-0.424L42.504,10.646L41.247,10.646L41.247,9.916h1.257L42.504,7.917h0.816v1.998h1.214v0.73h-1.214v2.202q0.537,-0.188 1.117,-0.408 0.011,0.526 0.021,0.849 -0.097,0.032 -1.139,0.419v3.459q0,1.096 -0.988,1.139 -0.473,0.021 -1.063,0.011 -0.064,-0.451 -0.14,-0.892 0.591,0.064 0.988,0.064 0.387,0 0.387,-0.451L42.504,14.003q-0.537,0.199 -1.235,0.457zM50.217,11.914h-1.805q0,1.364 -0.07,2.503h1.875zM45.888,14.417h1.676q0.097,-0.537 0.086,-2.503L45.888,11.914ZM49.336,9.69L46.613,9.69Q46.081,10.474 45.469,11.172h2.664q0.73,-0.875 1.203,-1.482zM52.698,9.271h3.964v-1.375h0.892v1.375h3.975v6.037h-3.975v1.257q0,0.655 0.688,0.655h2.514q0.73,0 0.892,-0.483 0.172,-0.526 0.247,-1.515 0.312,0.14 0.892,0.333 -0.129,0.859 -0.29,1.472 -0.269,1.01 -1.461,1.01h-2.857q-1.515,0 -1.515,-1.482v-1.246h-3.072v0.741h-0.892zM60.637,14.502v-1.837h-3.083v1.837zM53.59,14.502h3.072v-1.837h-3.072zM60.637,10.077h-3.083v1.826h3.083zM53.59,11.903h3.072L56.662,10.077h-3.072zM63.193,12.977h1.246L64.439,10.657L63.387,10.657L63.387,9.905h2.524Q66.48,9.024 67.082,7.832l0.795,0.462q-0.489,0.709 -1.123,1.611h1.466v0.752h-0.924v2.32h1.117v0.752h-1.117v4.641L66.523,18.37L66.523,13.729L65.208,13.729q-0.021,1.901 -0.274,2.739 -0.29,0.967 -1.257,2.009 -0.312,-0.419 -0.537,-0.698 0.816,-0.838 1.053,-1.687 0.22,-0.72 0.242,-2.363h-1.241zM71.658,11.849h-1.923l-0.387,5.253q0.838,-0.269 1.901,-0.688 0,0.537 0.011,0.838 -1.085,0.365 -2.181,0.763 -0.258,0.107 -0.494,0.247l-0.451,-0.741q0.397,-0.183 0.451,-0.559L69.145,9.389L68.178,9.389L68.178,8.616h5.264v0.773h-3.523l-0.124,1.697h2.637l-0.086,5.973q-0.005,0.301 0.29,0.301 0.252,0 0.279,-0.269 0.107,-0.763 0.183,-1.934 0.344,0.15 0.763,0.29 -0.086,1.01 -0.183,1.762 -0.118,0.902 -0.902,0.902h-0.29q-0.918,0 -0.902,-0.988zM65.213,12.977h1.311v-2.32h-1.311zM70.144,13.042q0.752,0.591 1.461,1.235 -0.279,0.312 -0.559,0.602 -0.666,-0.698 -1.364,-1.311zM63.967,8.283 L64.579,7.875q0.655,0.902 1.021,1.429L64.901,9.776Q64.364,8.863 63.967,8.283Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#434760"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M82,9.359l3.29,3.32l-3.29,3.32"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#656565"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
94
servicing/src/main/res/drawable/sv_order_ele.xml
Normal file
94
servicing/src/main/res/drawable/sv_order_ele.xml
Normal file
@ -0,0 +1,94 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="93dp"
|
||||
android:height="25dp"
|
||||
android:viewportWidth="93"
|
||||
android:viewportHeight="25">
|
||||
<path
|
||||
android:pathData="M4.15,0.15L88.85,0.15A4,4 0,0 1,92.85 4.15L92.85,20.85A4,4 0,0 1,88.85 24.85L4.15,24.85A4,4 0,0 1,0.15 20.85L0.15,4.15A4,4 0,0 1,4.15 0.15z"
|
||||
android:strokeWidth="0.3"
|
||||
android:fillColor="#00000000"
|
||||
android:fillType="evenOdd">
|
||||
<aapt:attr name="android:strokeColor">
|
||||
<gradient
|
||||
android:startX="92.85"
|
||||
android:startY="12.5"
|
||||
android:endX="0.15"
|
||||
android:endY="12.5"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#29E4F2FF"/>
|
||||
<item android:offset="0.21" android:color="#FFCFE3F7"/>
|
||||
<item android:offset="0.735" android:color="#FFCFE3F7"/>
|
||||
<item android:offset="1" android:color="#29DCEEFF"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M6,3.5h17v17h-17z"
|
||||
android:strokeAlpha="0"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillAlpha="0"/>
|
||||
<path
|
||||
android:pathData="M10.25,4.35L10.25,7.359L18.75,7.359L18.75,4.35L22.15,4.35C22.619,4.35 23,4.731 23,5.2L23,19.65C23,20.119 22.619,20.5 22.15,20.5L6.85,20.5C6.381,20.5 6,20.119 6,19.65L6,5.2C6,4.731 6.381,4.35 6.85,4.35L10.25,4.35ZM17.883,3.5L17.883,6.373L11.083,6.373L11.083,3.5L17.883,3.5Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#9A9DAE"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M10.25,4.35L10.25,7.359L18.75,7.359L18.75,4.35L22.15,4.35C22.619,4.35 23,4.731 23,5.2L23,19.65C23,20.119 22.619,20.5 22.15,20.5L6.85,20.5C6.381,20.5 6,20.119 6,19.65L6,5.2C6,4.731 6.381,4.35 6.85,4.35L10.25,4.35ZM17.883,3.5L17.883,6.373L11.083,6.373L11.083,3.5L17.883,3.5Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="14.5"
|
||||
android:startY="26.678"
|
||||
android:endX="14.5"
|
||||
android:endY="3.5"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FF29A4FF"/>
|
||||
<item android:offset="1" android:color="#FF81D4FA"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M18.835,17.1l0,-1.7l-8.5,0l0,1.7l8.5,0z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#9A9DAE"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M18.835,17.1l0,-1.7l-8.5,0l0,1.7l8.5,0z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M18.835,12.927l0,-1.777l-8.5,0l0,1.777z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#9A9DAE"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M18.835,12.927l0,-1.777l-8.5,0l0,1.777z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m30.698,9.271h3.964v-1.375h0.892v1.375h3.975v6.037h-3.975v1.257q0,0.655 0.688,0.655h2.514q0.73,0 0.892,-0.483 0.172,-0.526 0.247,-1.515 0.312,0.14 0.892,0.333 -0.129,0.859 -0.29,1.472 -0.269,1.01 -1.461,1.01h-2.857q-1.515,0 -1.515,-1.482v-1.246h-3.072v0.741h-0.892zM38.637,14.502v-1.837h-3.083v1.837zM31.59,14.502h3.072v-1.837h-3.072zM38.637,10.077h-3.083v1.826h3.083zM31.59,11.903h3.072L34.662,10.077h-3.072zM41.215,12.708h4.995L46.21,11.527L49.293,9.282L42.343,9.282L42.343,8.476h8.379v0.838l-3.599,2.632v0.763h4.705v0.806h-4.705v3.384q0,1.439 -1.504,1.439 -0.494,0 -1.697,-0.021 -0.043,-0.43 -0.129,-0.978 0.784,0.097 1.654,0.107 0.763,0 0.763,-0.773L46.21,13.514h-4.995zM52.312,16.833h4.705L57.017,9.668L52.924,9.668L52.924,8.809h9.152v0.859h-4.114v7.165h4.716v0.838L52.312,17.671ZM63.215,15.437h4.866v-1.214h-2.976v0.505L64.289,14.728L64.289,9.518h2.229Q66.002,8.917 65.406,8.283L66.019,7.778q0.795,0.763 1.396,1.407l-0.397,0.333h2.519q0.591,-0.784 1.198,-1.708l0.859,0.462q-0.553,0.671 -1.069,1.246h2.197v5.21h-0.816v-0.505h-2.986v1.214h4.866v0.773h-4.866v2.267h-0.838v-2.267h-4.866zM68.919,13.471h2.986v-1.246h-2.986zM65.105,13.471h2.976v-1.246h-2.976zM71.905,10.27h-2.986v1.225h2.986zM65.105,11.495h2.976L68.081,10.27h-2.976z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#434760"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M82,9.359l3.29,3.32l-3.29,3.32"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#656565"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
132
servicing/src/main/res/drawable/sv_order_photo.xml
Normal file
132
servicing/src/main/res/drawable/sv_order_photo.xml
Normal file
@ -0,0 +1,132 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="93dp"
|
||||
android:height="25dp"
|
||||
android:viewportWidth="93"
|
||||
android:viewportHeight="25">
|
||||
<path
|
||||
android:pathData="M-41,-407h375v812h-375z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#F3F6F8"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M-41,-407L334,-407L334,405L-41,405L-41,-407ZM-1,-407L294,-407C316.091,-407 334,-389.091 334,-367L334,365C334,387.091 316.091,405 294,405L-1,405C-23.091,405 -41,387.091 -41,365L-41,-367C-41,-389.091 -23.091,-407 -1,-407ZM65.039,-376L227.961,-376C240.663,-376 250.961,-386.297 250.961,-399C250.961,-399.009 250.959,-400.285 250.954,-402.831L250.954,-402.831C250.954,-402.923 250.97,-403.014 251.002,-403.1C251.002,-403.1 251.002,-403.1 251.002,-403.1C251.668,-404.927 253.211,-406.324 255.108,-406.784L256,-407L37,-407L37.892,-406.784C39.78,-406.326 41.333,-404.914 42.004,-403.1C42.019,-403.06 42.033,-403.014 42.046,-402.963L42.046,-402.963L42.039,-399.039L42.039,-399.039C42.039,-386.297 52.337,-376 65.039,-376Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M-22.5,-266L315.5,-266C319.918,-266 323.5,-262.418 323.5,-258L323.5,36C323.5,40.418 319.918,44 315.5,44L-22.5,44C-26.918,44 -30.5,40.418 -30.5,36L-30.5,-258C-30.5,-262.418 -26.918,-266 -22.5,-266Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M315.5,-265.7C317.626,-265.7 319.551,-264.838 320.945,-263.445C322.338,-262.051 323.2,-260.126 323.2,-258L323.2,36C323.2,38.126 322.338,40.051 320.945,41.445C319.551,42.838 317.626,43.7 315.5,43.7L-22.5,43.7C-24.626,43.7 -26.551,42.838 -27.945,41.445C-29.338,40.051 -30.2,38.126 -30.2,36L-30.2,-258C-30.2,-260.126 -29.338,-262.051 -27.945,-263.445C-26.551,-264.838 -24.626,-265.7 -22.5,-265.7Z"
|
||||
android:strokeWidth="0.6"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#E6E6E6"/>
|
||||
<path
|
||||
android:pathData="M4.15,0.15L88.85,0.15A4,4 0,0 1,92.85 4.15L92.85,20.85A4,4 0,0 1,88.85 24.85L4.15,24.85A4,4 0,0 1,0.15 20.85L0.15,4.15A4,4 0,0 1,4.15 0.15z"
|
||||
android:strokeWidth="0.3"
|
||||
android:fillColor="#00000000"
|
||||
android:fillType="evenOdd">
|
||||
<aapt:attr name="android:strokeColor">
|
||||
<gradient
|
||||
android:startX="92.85"
|
||||
android:startY="12.5"
|
||||
android:endX="0.15"
|
||||
android:endY="12.5"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#29FFF2E4"/>
|
||||
<item android:offset="0.21" android:color="#FFF7DDCF"/>
|
||||
<item android:offset="0.735" android:color="#FFF7D9CF"/>
|
||||
<item android:offset="1" android:color="#29FFECDC"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="m30.72,13.869q2.589,-0.295 4.034,-0.682 -1.289,-0.344 -2.605,-0.671 0.44,-0.473 0.838,-0.935h-2.557v-0.709h3.137q0.408,-0.516 0.752,-1.021l0.87,0.247q-0.29,0.387 -0.618,0.773h6v0.709h-2.31q-0.51,0.908 -1.38,1.472 1.536,0.403 2.884,0.773l-0.344,0.72q-1.703,-0.537 -3.464,-1.026 -1.633,0.645 -4.925,1.058 -0.129,-0.344 -0.312,-0.709zM40.86,17.338q-0.365,0.43 -0.623,0.806 -2.836,-0.849 -4.351,-2.079v2.422h-0.773v-2.406q-1.627,1.149 -4.329,2.073 -0.247,-0.312 -0.623,-0.73 2.771,-0.693 4.388,-1.708h-4.141v-0.72h4.705v-0.881h0.773v0.881h4.77v0.72h-4.184q1.697,1.144 4.388,1.622zM30.72,8.863h4.501Q35.017,8.492 34.748,8.1l0.763,-0.344q0.349,0.548 0.661,1.106h4.098v1.622L39.453,10.485L39.453,9.572h-7.917v0.913h-0.816zM33.373,12.171q1.311,0.322 2.514,0.628 0.945,-0.419 1.477,-1.219h-3.421q-0.274,0.295 -0.569,0.591zM44.352,13.879h3.728v-2.718h-2.046q-0.435,1.155 -0.951,2.063 -0.312,-0.301 -0.709,-0.569 1.021,-1.794 1.504,-4.007l0.87,0.247q-0.209,0.8 -0.451,1.515h1.783L48.079,7.917h0.859v2.492h2.567v0.752h-2.567v2.718h2.922v0.752h-2.922v3.76h-0.859v-3.76h-3.728zM41.118,13.235q1.482,-2.191 2.385,-5.307l0.881,0.258Q43.986,9.438 43.524,10.533v7.869L42.676,18.402L42.676,12.306Q42.128,13.321 41.505,14.169 41.344,13.708 41.118,13.235ZM52.838,8.412h3.459L56.297,15.426h-0.795v-0.408h-1.869v0.483h-0.795zM57.425,12.204h4.78v3.309h-0.795v-0.333h-3.19v0.333L57.425,15.512ZM57.06,9.078L57.06,8.369h5.199q-0.043,1.128 -0.107,1.944 -0.107,1.343 -1.396,1.343 -0.43,0 -1.268,-0.032 -0.064,-0.397 -0.161,-0.849 0.849,0.107 1.289,0.107 0.688,0 0.741,-0.623 0.064,-0.763 0.064,-1.182h-2.261q-0.027,2.159 -1.993,3.255 -0.247,-0.322 -0.559,-0.634 1.772,-0.935 1.762,-2.621zM61.41,12.891h-3.19v1.601h3.19zM53.633,14.288h1.869L55.502,12.042h-1.869zM55.502,9.142h-1.869v2.17h1.869zM53.45,15.749 L54.213,16.039q-0.408,0.999 -1.16,2.353 -0.365,-0.172 -0.763,-0.344 0.795,-1.332 1.16,-2.299zM60.637,16.06 L61.324,15.652q0.752,1.031 1.354,2.073l-0.752,0.44q-0.58,-1.063 -1.289,-2.105zM55.276,16.221 L55.985,15.899q0.591,1.063 0.999,1.998l-0.773,0.344q-0.387,-0.956 -0.935,-2.02zM58.037,16.146 L58.746,15.834q0.58,0.978 1.031,1.934l-0.763,0.365q-0.473,-1.074 -0.978,-1.987zM65.17,8.1h0.913L66.083,11.011L69.972,11.011L69.972,7.907h0.913L70.885,11.011h2.879v0.806h-7.681q0,0.688 -0.032,1.891h5.296v4.684h-0.924v-3.867h-4.437q-0.215,2.32 -1.794,3.921 -0.29,-0.387 -0.677,-0.763 0.988,-1.042 1.321,-2.095 0.333,-0.945 0.333,-3.029z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#434760"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M82,9.359l3.29,3.32l-3.29,3.32"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#656565"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M21.957,4.594C22.527,4.594 22.94,4.759 23.196,5.088C23.451,5.416 23.579,5.844 23.579,6.37L23.579,19.375C23.579,19.711 23.44,20.022 23.163,20.307C22.885,20.592 22.542,20.735 22.132,20.735L7.17,20.735C6.819,20.735 6.505,20.588 6.227,20.296C5.95,20.004 5.811,19.66 5.811,19.266L5.811,6.041C5.811,5.617 5.928,5.27 6.162,5C6.395,4.729 6.702,4.594 7.082,4.594L21.957,4.594Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M21.957,4.594C22.527,4.594 22.94,4.759 23.196,5.088C23.451,5.416 23.579,5.844 23.579,6.37L23.579,19.375C23.579,19.711 23.44,20.022 23.163,20.307C22.885,20.592 22.542,20.735 22.132,20.735L7.17,20.735C6.819,20.735 6.505,20.588 6.227,20.296C5.95,20.004 5.811,19.66 5.811,19.266L5.811,6.041C5.811,5.617 5.928,5.27 6.162,5C6.395,4.729 6.702,4.594 7.082,4.594L21.957,4.594Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="14.695"
|
||||
android:startY="26.601"
|
||||
android:endX="14.695"
|
||||
android:endY="4.594"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FF29A6FF"/>
|
||||
<item android:offset="1" android:color="#FF81D4FA"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M21.957,4.594C22.527,4.594 22.94,4.759 23.196,5.088C23.451,5.416 23.579,5.844 23.579,6.37L23.579,19.375C23.579,19.711 23.44,20.022 23.163,20.307C22.885,20.592 22.542,20.735 22.132,20.735L7.17,20.735C6.819,20.735 6.505,20.588 6.227,20.296C5.95,20.004 5.811,19.66 5.811,19.266L5.811,6.041C5.811,5.617 5.928,5.27 6.162,5C6.395,4.729 6.702,4.594 7.082,4.594L21.957,4.594Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="14.695"
|
||||
android:startY="1.818"
|
||||
android:endX="14.695"
|
||||
android:endY="26.968"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFFDAABB"/>
|
||||
<item android:offset="0.485" android:color="#FFFC919A"/>
|
||||
<item android:offset="1" android:color="#FFFB787B"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M21.104,5.975C21.44,5.975 21.685,6.052 21.838,6.205C21.991,6.358 22.068,6.539 22.068,6.747L22.068,14.021L19.631,10.978L11.181,14.883C10.884,14.732 10.604,14.591 10.343,14.459L9.844,14.209C8.893,13.733 8.228,13.409 7.849,13.237C7.044,12.873 7.473,12.953 7.356,12.842L7.356,6.545C7.356,6.435 7.392,6.343 7.465,6.269C7.538,6.196 7.626,6.138 7.728,6.095C7.831,6.052 7.933,6.021 8.035,6.003C8.124,5.987 9.225,5.978 9.555,5.976ZM11.719,7.509C11.152,7.509 10.677,7.704 10.294,8.094C9.91,8.484 9.718,8.96 9.718,9.523C9.718,10.067 9.91,10.534 10.294,10.925C10.677,11.315 11.152,11.51 11.719,11.51C12.267,11.51 12.737,11.315 13.13,10.925C13.523,10.534 13.719,10.067 13.719,9.523C13.719,8.96 13.523,8.484 13.13,8.094C12.737,7.704 12.267,7.509 11.719,7.509Z"
|
||||
android:strokeAlpha="0.9194801"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillAlpha="0.9194801"/>
|
||||
<path
|
||||
android:pathData="M21.104,5.975C21.44,5.975 21.685,6.052 21.838,6.205C21.991,6.358 22.068,6.539 22.068,6.747L22.068,14.021L19.631,10.978L11.181,14.883C10.884,14.732 10.604,14.591 10.343,14.459L9.844,14.209C8.893,13.733 8.228,13.409 7.849,13.237C7.044,12.873 7.473,12.953 7.356,12.842L7.356,6.545C7.356,6.435 7.392,6.343 7.465,6.269C7.538,6.196 7.626,6.138 7.728,6.095C7.831,6.052 7.933,6.021 8.035,6.003C8.124,5.987 9.225,5.978 9.555,5.976ZM11.719,7.509C11.152,7.509 10.677,7.704 10.294,8.094C9.91,8.484 9.718,8.96 9.718,9.523C9.718,10.067 9.91,10.534 10.294,10.925C10.677,11.315 11.152,11.51 11.719,11.51C12.267,11.51 12.737,11.315 13.13,10.925C13.523,10.534 13.719,10.067 13.719,9.523C13.719,8.96 13.523,8.484 13.13,8.094C12.737,7.704 12.267,7.509 11.719,7.509Z"
|
||||
android:strokeAlpha="0.9194801"
|
||||
android:strokeWidth="1"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillAlpha="0.9194801">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="14.706"
|
||||
android:startY="18.12"
|
||||
android:endX="14.706"
|
||||
android:endY="5.975"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFFFFFFF"/>
|
||||
<item android:offset="0.233" android:color="#FFFFFFFF"/>
|
||||
<item android:offset="1" android:color="#FFFFFFFF"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
18
servicing/src/main/res/drawable/sv_order_reserve.xml
Normal file
18
servicing/src/main/res/drawable/sv_order_reserve.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="31dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="31"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="M2,0L29,0A2,2 0,0 1,31 2L31,14A2,2 0,0 1,29 16L2,16A2,2 0,0 1,0 14L0,2A2,2 0,0 1,2 0z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#354E9E"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M4.054,4.917 L4.674,4.371Q5.121,4.768 5.53,5.165L6.845,3.565L3.347,3.565v-0.868h4.638v0.868L6.15,5.785q0.211,0.223 0.409,0.434L6.063,6.653h2.257v0.831Q8.122,8.439 7.7,9.692 7.316,9.555 6.845,9.406 7.155,8.625 7.39,7.521L6.15,7.521v5.221q0,1.414 -1.389,1.414L3.446,14.157q-0.062,-0.446 -0.174,-1.005 0.62,0.074 1.253,0.074 0.695,0 0.695,-0.794L5.22,7.521L3.223,7.521L3.223,6.653L5.667,6.653Q4.86,5.686 4.054,4.917ZM8.891,5.227L10.987,5.227L11.297,3.528L8.445,3.528L8.445,2.66L15.489,2.66L15.489,3.528L12.302,3.528L11.942,5.227h2.977L14.919,11.329L14.013,11.329L14.013,6.083L9.796,6.083L9.796,11.329L8.891,11.329ZM11.421,6.591h0.918v1.848q0,1.451 -0.372,2.493 1.947,1.302 3.547,2.542l-0.682,0.806q-1.513,-1.29 -3.249,-2.53 -0.124,0.186 -0.248,0.36 -1.005,1.277 -3.15,2.27 -0.397,-0.508 -0.695,-0.819 2.22,-0.918 3.113,-2.096 0.819,-1.067 0.819,-3.088zM20.402,6.876q1.563,-2.307 2.369,-4.874l1.029,0.285q-0.372,0.924 -0.732,1.736h4.849q-0.174,5.655 -0.285,7.95 -0.112,1.972 -2.108,1.972 -1.166,0 -2.48,-0.074 -0.087,-0.484 -0.223,-1.116 1.414,0.174 2.592,0.174 1.141,0 1.191,-1.203 0.136,-1.749 0.248,-6.772L22.634,4.954Q21.959,6.343 21.295,7.36 20.898,7.124 20.402,6.876ZM17.847,9.555q1.898,-0.26 3.125,-0.459 -0.087,0.496 -0.112,0.943 -2.022,0.273 -4.142,0.62L16.495,9.741q0.936,-0.955 2.003,-2.629 -1.414,0.087 -2.115,0.149L16.148,6.417Q17.512,4.607 18.666,1.99L19.608,2.362q-1.178,2.27 -2.344,3.981 0.918,-0.019 1.743,-0.05 0.49,-0.819 1.011,-1.786l0.918,0.459q-1.6,2.654 -3.088,4.589zM16.123,12.408q2.729,-0.36 5.073,-0.769 -0.05,0.496 -0.074,0.967 -2.009,0.248 -4.775,0.769zM22.138,7.472 L22.932,6.951q1.191,1.525 2.096,2.865l-0.93,0.595Q23.267,9.047 22.138,7.472Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
</vector>
|
18
servicing/src/main/res/drawable/sv_settle_cash.xml
Normal file
18
servicing/src/main/res/drawable/sv_settle_cash.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="31dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="31"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="m2,0h27c1.108,0 2,0.892 2,2v12c0,1.108 -0.892,2 -2,2L2,16c-1.108,0 -2,-0.892 -2,-2v-12c0,-1.108 0.892,-2 2,-2z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#e0551f"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m10.422,4.389h0.99L11.412,6.522q0,1.631 -0.279,2.869h0.838v3.199q0,0.673 0.736,0.673h0.609q0.762,0 0.838,-0.686 0.076,-0.584 0.127,-1.663 0.432,0.178 1.041,0.394 -0.102,1.117 -0.203,1.676 -0.19,1.168 -1.663,1.168h-0.939q-1.511,0 -1.511,-1.435L11.006,9.905Q10.746,10.807 10.32,11.473 9.241,13.213 6.753,14.495 6.423,14.025 6.067,13.657 8.543,12.464 9.508,10.889 10.422,9.467 10.422,6.598ZM7.756,2.574L14.243,2.574L14.243,10.191L13.253,10.191L13.253,3.513L8.746,3.513L8.746,10.369L7.756,10.369ZM2.665,12.019Q3.579,11.772 4.582,11.486L4.582,7.792L2.906,7.792L2.906,6.878L4.582,6.878L4.582,3.932L2.805,3.932L2.805,3.018L7.375,3.018L7.375,3.932L5.572,3.932v2.945h1.625v0.914h-1.625v3.402q0.901,-0.273 1.866,-0.571 0.025,0.482 0.089,0.952 -2.184,0.673 -4.507,1.422zM16.109,13.086h5.383L21.492,9.988L16.947,9.988L16.947,9.061h4.545L21.492,7.284L18.191,7.284L18.191,6.395Q17.29,6.967 16.236,7.538 15.97,7.055 15.602,6.586 19.829,4.605 21.581,2.041h1.384l-0.292,0.355q2.019,2.577 5.713,4.012Q28.043,6.89 27.713,7.424 26.723,7.005 25.796,6.421L25.796,7.284L22.508,7.284L22.508,9.061h4.52v0.927h-4.52v3.098h5.408v0.939L16.109,14.025ZM22.013,3.12q-1.308,1.65 -3.771,3.237h7.452Q23.714,5.1 22.013,3.12ZM23.815,12.222q1.028,-1.066 1.739,-2.082l0.889,0.571q-0.889,1.104 -1.866,2.12zM17.531,10.762 L18.28,10.166q0.927,0.939 1.815,1.955l-0.863,0.686q-0.762,-1.003 -1.701,-2.044z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
</vector>
|
18
servicing/src/main/res/drawable/sv_settle_month.xml
Normal file
18
servicing/src/main/res/drawable/sv_settle_month.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="31dp"
|
||||
android:height="16dp"
|
||||
android:viewportWidth="31"
|
||||
android:viewportHeight="16">
|
||||
<path
|
||||
android:pathData="m2,-0h27c1.108,0 2,0.892 2,2v12c0,1.108 -0.892,2 -2,2L2,16c-1.108,0 -2,-0.892 -2,-2v-12c0,-1.108 0.892,-2 2,-2z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#35899e"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M5.256,10.191Q4.971,12.641 3.346,14.622 2.939,14.228 2.47,13.86 3.701,12.527 4.12,10.686 4.412,9.328 4.412,6.928L4.412,2.536h8.48v9.902q0,1.879 -1.79,1.879 -0.749,0 -1.93,-0.025 -0.063,-0.457 -0.19,-1.066 1.168,0.076 1.841,0.076 1.028,0 1.028,-1.003L11.852,10.191ZM5.358,9.264L11.852,9.264L11.852,6.827L5.453,6.827q0,1.27 -0.095,2.437zM5.453,3.488v2.412h6.398L11.852,3.488ZM20.332,9.328h6.703v5.154L26.045,14.482L26.045,13.695h-4.723v0.787L20.332,14.482ZM20.078,6.916h3.098L23.176,4.935L19.659,4.935L19.659,4.021h3.517v-2.031h1.016v2.031h3.555v0.914h-3.555v1.98h3.11L27.302,7.83L20.078,7.83ZM16.815,9.62q1.688,-0.241 2.793,-0.432 -0.076,0.495 -0.114,0.965 -1.409,0.203 -3.847,0.597l-0.203,-0.939q0.813,-0.844 1.936,-2.679 -1.066,0.07 -1.936,0.14L15.203,6.408q1.168,-1.562 2.425,-4.507l0.965,0.381q-1.371,2.691 -2.247,4.05 0.736,-0.019 1.536,-0.044 0.432,-0.736 0.901,-1.606l0.939,0.47Q18.275,7.563 16.815,9.62ZM26.045,10.216h-4.723v2.59h4.723zM15.152,12.616q2.349,-0.457 4.583,-1.003 -0.038,0.508 -0.038,0.965 -2.057,0.432 -4.266,1.016z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
</vector>
|
@ -41,17 +41,47 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_tip"
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/ll_tip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginTop="5dp"
|
||||
android:gravity="center"
|
||||
android:text="请务必逐字正楷填写您的名字"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:alpha="0.5"
|
||||
android:gravity="center"
|
||||
android:text="请务必"
|
||||
android:textColor="@color/red"
|
||||
android:textSize="15.dp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_tip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="逐字、正楷"
|
||||
android:textColor="@color/red"
|
||||
android:textSize="15.dp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:alpha="0.5"
|
||||
android:gravity="center"
|
||||
android:text="填写"
|
||||
android:textColor="@color/red"
|
||||
android:textSize="15.dp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottom"
|
||||
android:layout_width="match_parent"
|
||||
|
Reference in New Issue
Block a user