Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
ShenghuoquanBusiness
Commits
9332f040
Commit
9332f040
authored
Aug 23, 2021
by
yinjiacheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add 订单详情页UI
parent
abd66ec9
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
1172 additions
and
1 deletion
+1172
-1
colors.xml
CommonLib/BCommon/src/main/res/values/colors.xml
+2
-0
dimens.xml
CommonLib/BCommon/src/main/res/values/dimens.xml
+2
-0
build.gradle
Components/BOrder/build.gradle
+1
-0
AndroidManifest.xml
Components/BOrder/src/main/AndroidManifest.xml
+1
-0
ClassMapUtil.kt
...n/java/com/yidian/shenghuoquan/border/app/ClassMapUtil.kt
+3
-1
OrderDetailDto.kt
...java/com/yidian/shenghuoquan/border/dto/OrderDetailDto.kt
+257
-0
OrderStatusManager.kt
.../yidian/shenghuoquan/border/manager/OrderStatusManager.kt
+38
-0
OrderDetailActivity.kt
.../com/yidian/shenghuoquan/border/ui/OrderDetailActivity.kt
+24
-0
OrderDetailViewModel.kt
...com/yidian/shenghuoquan/border/ui/OrderDetailViewModel.kt
+11
-0
OderStatusInfoView.kt
...idian/shenghuoquan/border/ui/widget/OderStatusInfoView.kt
+56
-0
OrderCommodityInfoView.kt
...n/shenghuoquan/border/ui/widget/OrderCommodityInfoView.kt
+31
-0
OrderConsigneeInfoView.kt
...n/shenghuoquan/border/ui/widget/OrderConsigneeInfoView.kt
+47
-0
OrderInfoView.kt
...com/yidian/shenghuoquan/border/ui/widget/OrderInfoView.kt
+29
-0
OrderPickupPointInfoView.kt
...shenghuoquan/border/ui/widget/OrderPickupPointInfoView.kt
+46
-0
icon_next_white.webp
.../BOrder/src/main/res/drawable-xxhdpi/icon_next_white.webp
+0
-0
icon_order_coupon.webp
...Order/src/main/res/drawable-xxhdpi/icon_order_coupon.webp
+0
-0
icon_order_status_on_refund.webp
...main/res/drawable-xxhdpi/icon_order_status_on_refund.webp
+0
-0
icon_order_status_paid.webp
.../src/main/res/drawable-xxhdpi/icon_order_status_paid.webp
+0
-0
icon_order_status_refunded.webp
.../main/res/drawable-xxhdpi/icon_order_status_refunded.webp
+0
-0
icon_order_status_refuse_refund.webp
.../res/drawable-xxhdpi/icon_order_status_refuse_refund.webp
+0
-0
icon_order_status_wait_refund.webp
...in/res/drawable-xxhdpi/icon_order_status_wait_refund.webp
+0
-0
shape_bg_input_cursor.xml
...ts/BOrder/src/main/res/drawable/shape_bg_input_cursor.xml
+11
-0
shape_solid_d66948_corner_9.xml
...der/src/main/res/drawable/shape_solid_d66948_corner_9.xml
+8
-0
shape_solid_ffffff_corner_20.xml
...er/src/main/res/drawable/shape_solid_ffffff_corner_20.xml
+8
-0
shape_stroke_e5e5e5_corner_14.xml
...r/src/main/res/drawable/shape_stroke_e5e5e5_corner_14.xml
+11
-0
border_activity_order_detail.xml
...rder/src/main/res/layout/border_activity_order_detail.xml
+78
-0
border_view_order_commodity_info.xml
.../src/main/res/layout/border_view_order_commodity_info.xml
+155
-0
border_view_order_consignee_info.xml
.../src/main/res/layout/border_view_order_consignee_info.xml
+66
-0
border_view_order_info.xml
...nts/BOrder/src/main/res/layout/border_view_order_info.xml
+148
-0
border_view_order_pickup_point_info.xml
...c/main/res/layout/border_view_order_pickup_point_info.xml
+73
-0
border_view_order_status_info.xml
...der/src/main/res/layout/border_view_order_status_info.xml
+43
-0
strings.xml
Components/BOrder/src/main/res/values/strings.xml
+23
-0
No files found.
CommonLib/BCommon/src/main/res/values/colors.xml
View file @
9332f040
...
@@ -49,4 +49,6 @@
...
@@ -49,4 +49,6 @@
<color
name=
"color_3693FF"
>
#3693FF
</color>
<color
name=
"color_3693FF"
>
#3693FF
</color>
<color
name=
"color_1751F1"
>
#1751F1
</color>
<color
name=
"color_1751F1"
>
#1751F1
</color>
<color
name=
"color_FF3A3A"
>
#FF3A3A
</color>
<color
name=
"color_FF3A3A"
>
#FF3A3A
</color>
<color
name=
"color_E5E5E5"
>
#E5E5E5
</color>
<color
name=
"color_D66948"
>
#D66948
</color>
</resources>
</resources>
CommonLib/BCommon/src/main/res/values/dimens.xml
View file @
9332f040
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
<dimen
name=
"toolbar_height"
>
50dp
</dimen>
<dimen
name=
"toolbar_height"
>
50dp
</dimen>
<!--全局字号-->
<!--全局字号-->
<dimen
name=
"sp11"
>
11sp
</dimen>
<dimen
name=
"sp12"
>
12sp
</dimen>
<dimen
name=
"sp12"
>
12sp
</dimen>
<dimen
name=
"sp13"
>
13sp
</dimen>
<dimen
name=
"sp13"
>
13sp
</dimen>
<dimen
name=
"sp14"
>
14sp
</dimen>
<dimen
name=
"sp14"
>
14sp
</dimen>
...
@@ -13,6 +14,7 @@
...
@@ -13,6 +14,7 @@
<dimen
name=
"sp17"
>
17sp
</dimen>
<dimen
name=
"sp17"
>
17sp
</dimen>
<dimen
name=
"sp18"
>
18sp
</dimen>
<dimen
name=
"sp18"
>
18sp
</dimen>
<dimen
name=
"sp20"
>
20sp
</dimen>
<dimen
name=
"sp20"
>
20sp
</dimen>
<dimen
name=
"sp22"
>
22sp
</dimen>
<dimen
name=
"sp23"
>
23sp
</dimen>
<dimen
name=
"sp23"
>
23sp
</dimen>
<dimen
name=
"sp24"
>
24sp
</dimen>
<dimen
name=
"sp24"
>
24sp
</dimen>
<dimen
name=
"sp40"
>
40sp
</dimen>
<dimen
name=
"sp40"
>
40sp
</dimen>
...
...
Components/BOrder/build.gradle
View file @
9332f040
...
@@ -50,6 +50,7 @@ android {
...
@@ -50,6 +50,7 @@ android {
}
}
}
}
buildFeatures
{
buildFeatures
{
viewBinding
true
dataBinding
true
dataBinding
true
}
}
kapt
{
kapt
{
...
...
Components/BOrder/src/main/AndroidManifest.xml
View file @
9332f040
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
<application>
<application>
<activity
android:name=
"com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity"
/>
<activity
android:name=
"com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity"
/>
<activity
android:name=
"com.yidian.shenghuoquan.border.ui.OrderDetailActivity"
/>
</application>
</application>
</manifest>
</manifest>
\ No newline at end of file
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/app/ClassMapUtil.kt
View file @
9332f040
...
@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.border.app
...
@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.border.app
import
com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity
import
com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity
import
com.yidian.shenghuoquan.border.ui.OrderDetailActivity
/**
/**
...
@@ -10,7 +11,8 @@ import com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity
...
@@ -10,7 +11,8 @@ import com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity
object
ClassMapUtil
{
object
ClassMapUtil
{
val
xPageNodeMap
=
mapOf
(
val
xPageNodeMap
=
mapOf
(
XRouterPathConstants
.
Companion
.
CONFIRM_ORDER_ACTIVITY
to
ConfirmOrderActivity
::
class
.
java
,
// 优惠券选择类目
XRouterPathConstants
.
Companion
.
CONFIRM_ORDER_ACTIVITY
to
ConfirmOrderActivity
::
class
.
java
,
// 确认订单
XRouterPathConstants
.
Companion
.
ORDER_DETAIL_ACTIVITY
to
OrderDetailActivity
::
class
.
java
,
// 订单详情
)
)
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/dto/OrderDetailDto.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.dto
import
com.google.gson.annotations.SerializedName
/**
* author: yinjiacheng
* date: 2021/8/21 14:42
* description: 订单详情数据结构
*/
data class
OrderDetailDto
(
@SerializedName
(
"appid"
)
val
appid
:
String
,
@SerializedName
(
"audit_status"
)
val
auditStatus
:
Int
,
@SerializedName
(
"audit_time"
)
val
auditTime
:
String
,
@SerializedName
(
"business_from"
)
val
businessFrom
:
Int
,
@SerializedName
(
"close_time"
)
val
closeTime
:
String
,
@SerializedName
(
"comment"
)
val
comment
:
String
,
@SerializedName
(
"coupon_list"
)
val
couponList
:
List
<
Any
>,
@SerializedName
(
"create_time"
)
val
createTime
:
String
,
@SerializedName
(
"discount_fee"
)
val
discountFee
:
String
,
@SerializedName
(
"is_refund"
)
val
isRefund
:
Int
,
@SerializedName
(
"life_account_icon"
)
val
lifeAccountIcon
:
String
,
@SerializedName
(
"life_account_id"
)
val
lifeAccountId
:
String
,
@SerializedName
(
"life_account_name"
)
val
lifeAccountName
:
String
,
@SerializedName
(
"marketing_id"
)
val
marketingId
:
Int
,
@SerializedName
(
"marketing_name"
)
val
marketingName
:
String
,
@SerializedName
(
"merge_order_item_list"
)
val
mergeOrderItemList
:
List
<
MergeOrderItem
>,
@SerializedName
(
"order_id"
)
val
orderId
:
String
,
@SerializedName
(
"order_item_list"
)
val
orderItemList
:
List
<
OrderItem
>,
@SerializedName
(
"order_shipping_info"
)
val
orderShippingInfo
:
OrderShippingInfo
,
@SerializedName
(
"order_status"
)
val
orderStatus
:
Int
,
@SerializedName
(
"order_status_text"
)
val
orderStatusText
:
String
,
@SerializedName
(
"order_type"
)
val
orderType
:
Int
,
@SerializedName
(
"pay_expiration_time"
)
val
payExpirationTime
:
String
,
@SerializedName
(
"pay_time"
)
val
payTime
:
String
,
@SerializedName
(
"payment"
)
val
payment
:
Int
,
@SerializedName
(
"place_list"
)
val
placeList
:
PlaceList
,
@SerializedName
(
"post_fee"
)
val
postFee
:
Int
,
@SerializedName
(
"receive_time"
)
val
receiveTime
:
String
,
@SerializedName
(
"refund_amount"
)
val
refundAmount
:
Int
,
@SerializedName
(
"refund_apply_time"
)
val
refundApplyTime
:
String
,
@SerializedName
(
"refund_finish_time"
)
val
refundFinishTime
:
String
,
@SerializedName
(
"shop_id"
)
val
shopId
:
String
,
@SerializedName
(
"total_price"
)
val
totalPrice
:
Int
,
@SerializedName
(
"update_time"
)
val
updateTime
:
String
,
@SerializedName
(
"use_coupon"
)
val
useCoupon
:
Int
,
@SerializedName
(
"user_id"
)
val
userId
:
Long
,
@SerializedName
(
"wechat"
)
val
wechat
:
Wechat
)
data class
MergeOrderItem
(
@SerializedName
(
"desc_pic_url"
)
val
descPicUrl
:
String
,
@SerializedName
(
"goods_name"
)
val
goodsName
:
String
,
@SerializedName
(
"goods_num"
)
val
goodsNum
:
Int
,
@SerializedName
(
"price"
)
val
price
:
Int
)
data class
OrderItem
(
@SerializedName
(
"clear_price"
)
val
clearPrice
:
Int
,
@SerializedName
(
"create_time"
)
val
createTime
:
String
,
@SerializedName
(
"desc_pic_url"
)
val
descPicUrl
:
String
,
@SerializedName
(
"expiration_time"
)
val
expirationTime
:
String
,
@SerializedName
(
"goods_name"
)
val
goodsName
:
String
,
@SerializedName
(
"goods_num"
)
val
goodsNum
:
Int
,
@SerializedName
(
"goods_sale_type"
)
val
goodsSaleType
:
Int
,
@SerializedName
(
"goods_share_code"
)
val
goodsShareCode
:
String
,
@SerializedName
(
"goods_sku_id"
)
val
goodsSkuId
:
String
,
@SerializedName
(
"goods_spu_id"
)
val
goodsSpuId
:
String
,
@SerializedName
(
"goods_type"
)
val
goodsType
:
Int
,
@SerializedName
(
"goods_version"
)
val
goodsVersion
:
Int
,
@SerializedName
(
"introduce_pic_url"
)
val
introducePicUrl
:
String
,
@SerializedName
(
"is_used"
)
val
isUsed
:
Int
,
@SerializedName
(
"marketing_id"
)
val
marketingId
:
Int
,
@SerializedName
(
"marketing_type"
)
val
marketingType
:
Int
,
@SerializedName
(
"order_id"
)
val
orderId
:
String
,
@SerializedName
(
"order_item_id"
)
val
orderItemId
:
String
,
@SerializedName
(
"payment"
)
val
payment
:
Int
,
@SerializedName
(
"price"
)
val
price
:
Int
,
@SerializedName
(
"refund_amount"
)
val
refundAmount
:
Int
,
@SerializedName
(
"refund_count"
)
val
refundCount
:
Int
,
@SerializedName
(
"refund_finish_time"
)
val
refundFinishTime
:
String
,
@SerializedName
(
"refund_status"
)
val
refundStatus
:
Int
,
@SerializedName
(
"rule_refund"
)
val
ruleRefund
:
Int
,
@SerializedName
(
"settle_code"
)
val
settleCode
:
Int
,
@SerializedName
(
"share_coupon"
)
val
shareCoupon
:
Int
,
@SerializedName
(
"shop_id"
)
val
shopId
:
String
,
@SerializedName
(
"sub_shop_id"
)
val
subShopId
:
String
,
@SerializedName
(
"update_time"
)
val
updateTime
:
String
,
@SerializedName
(
"use_time"
)
val
useTime
:
String
,
@SerializedName
(
"user_id"
)
val
userId
:
Long
)
data class
OrderShippingInfo
(
@SerializedName
(
"create_time"
)
val
createTime
:
String
,
@SerializedName
(
"order_id"
)
val
orderId
:
String
,
@SerializedName
(
"receiver_address"
)
val
receiverAddress
:
String
,
@SerializedName
(
"receiver_mobile"
)
val
receiverMobile
:
String
,
@SerializedName
(
"receiver_name"
)
val
receiverName
:
String
,
@SerializedName
(
"take_place_id"
)
val
takePlaceId
:
Int
,
@SerializedName
(
"update_time"
)
val
updateTime
:
String
,
@SerializedName
(
"user_id"
)
val
userId
:
Long
)
data class
PlaceList
(
@SerializedName
(
"address"
)
val
address
:
String
,
@SerializedName
(
"area"
)
val
area
:
String
,
@SerializedName
(
"city"
)
val
city
:
String
,
@SerializedName
(
"contact_name"
)
val
contactName
:
String
,
@SerializedName
(
"create_time"
)
val
createTime
:
String
,
@SerializedName
(
"is_delete"
)
val
isDelete
:
Int
,
@SerializedName
(
"latitude"
)
val
latitude
:
String
,
@SerializedName
(
"life_account_id"
)
val
lifeAccountId
:
String
,
@SerializedName
(
"location"
)
val
location
:
String
,
@SerializedName
(
"longitude"
)
val
longitude
:
String
,
@SerializedName
(
"phone"
)
val
phone
:
String
,
@SerializedName
(
"province"
)
val
province
:
String
,
@SerializedName
(
"take_place_id"
)
val
takePlaceId
:
Int
,
@SerializedName
(
"take_place_name"
)
val
takePlaceName
:
String
,
@SerializedName
(
"update_time"
)
val
updateTime
:
String
)
data class
Wechat
(
@SerializedName
(
"activity_type"
)
val
activityType
:
Int
,
@SerializedName
(
"city"
)
val
city
:
String
,
@SerializedName
(
"country"
)
val
country
:
String
,
@SerializedName
(
"create_time"
)
val
createTime
:
String
,
@SerializedName
(
"gender"
)
val
gender
:
String
,
@SerializedName
(
"invite_user_id"
)
val
inviteUserId
:
Int
,
@SerializedName
(
"is_history"
)
val
isHistory
:
Int
,
@SerializedName
(
"language"
)
val
language
:
String
,
@SerializedName
(
"openid"
)
val
openid
:
String
,
@SerializedName
(
"phone"
)
val
phone
:
String
,
@SerializedName
(
"province"
)
val
province
:
String
,
@SerializedName
(
"session_key"
)
val
sessionKey
:
String
,
@SerializedName
(
"union_id"
)
val
unionId
:
String
,
@SerializedName
(
"update_time"
)
val
updateTime
:
String
,
@SerializedName
(
"user_avatar"
)
val
userAvatar
:
String
,
@SerializedName
(
"user_id"
)
val
userId
:
Long
,
@SerializedName
(
"user_nick"
)
val
userNick
:
String
,
@SerializedName
(
"wechat_app_id"
)
val
wechatAppId
:
String
,
@SerializedName
(
"wechat_id"
)
val
wechatId
:
Int
)
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/manager/OrderStatusManager.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.manager
/**
* author: yinjiacheng
* date: 2021/8/21 12:43
* description: 订单状态管理
*/
object
OrderStatusManager
{
/**
* 获取订单状态
*/
fun
getOrderStatus
(
status
:
Int
):
OrderStatus
{
return
when
(
status
)
{
0
->
OrderStatus
.
ORDER_STATUS_CONFIRM
1
->
OrderStatus
.
ORDER_STATUS_PAID
2
->
OrderStatus
.
ORDER_STATUS_WAIT_REFUND
3
->
OrderStatus
.
ORDER_STATUS_ON_REFUND
4
->
OrderStatus
.
ORDER_STATUS_REFUNDED
5
->
OrderStatus
.
ORDER_STATUS_REFUSE_REFUND
else
->
OrderStatus
.
ORDER_STATUS_UNKNOWN
}
}
}
/**
* 订单状态
* e.g. 未知、确认中、已支付、待退款、退款中、已退款、拒绝退款
*/
enum
class
OrderStatus
(
val
code
:
Int
,
val
text
:
String
)
{
ORDER_STATUS_UNKNOWN
(-
1
,
"未知"
),
ORDER_STATUS_CONFIRM
(
0
,
"确认中"
),
ORDER_STATUS_PAID
(
1
,
"已支付"
),
ORDER_STATUS_WAIT_REFUND
(
2
,
"待退款"
),
ORDER_STATUS_ON_REFUND
(
3
,
"退款中"
),
ORDER_STATUS_REFUNDED
(
4
,
"已退款"
),
ORDER_STATUS_REFUSE_REFUND
(
5
,
"已拒绝退款"
)
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/OrderDetailActivity.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.ui
import
androidx.activity.viewModels
import
com.yidian.bcommon.mvvm.BaseMvvmActivity
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.databinding.BorderActivityOrderDetailBinding
import
com.yidian.shenghuoquan.border.manager.OrderStatus
/**
* author: yinjiacheng
* date: 2021/8/21 09:29
* description: 订单详情页
*/
class
OrderDetailActivity
:
BaseMvvmActivity
<
BorderActivityOrderDetailBinding
,
OrderDetailViewModel
>()
{
override
val
layoutId
:
Int
=
R
.
layout
.
border_activity_order_detail
override
val
vm
:
OrderDetailViewModel
by
viewModels
()
override
fun
initView
()
{
binding
.
svOrderStatus
.
setOrderStatus
(
OrderStatus
.
ORDER_STATUS_REFUSE_REFUND
)
binding
.
pvPickupPointInfo
.
setPickupPoint
(
OrderStatus
.
ORDER_STATUS_CONFIRM
,
null
)
binding
.
ivConsigneeInfo
.
setConsigneeInfo
(
OrderStatus
.
ORDER_STATUS_CONFIRM
,
null
)
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/OrderDetailViewModel.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.ui
import
com.yidian.bcommon.mvvm.BaseViewModel
/**
* author: yinjiacheng
* date: 2021/8/21 09:31
* description: 订单详情页
*/
class
OrderDetailViewModel
:
BaseViewModel
()
{
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/widget/OderStatusInfoView.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.ui.widget
import
android.content.Context
import
android.util.AttributeSet
import
android.view.View
import
androidx.constraintlayout.widget.ConstraintLayout
import
androidx.core.view.isVisible
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.databinding.BorderViewOrderStatusInfoBinding
import
com.yidian.shenghuoquan.border.manager.OrderStatus
/**
* author: yinjiacheng
* date: 2021/8/21 09:57
* description: 订单详情页-订单状态
*/
class
OderStatusInfoView
@JvmOverloads
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?
=
null
,
defStyle
:
Int
=
0
)
:
ConstraintLayout
(
context
,
attrs
,
defStyle
)
{
private
val
viewBinding
=
BorderViewOrderStatusInfoBinding
.
bind
(
View
.
inflate
(
getContext
(),
R
.
layout
.
border_view_order_status_info
,
this
))
/**
* 设置订单状态
*/
// TODO: 2021/8/21 传入退款金额
fun
setOrderStatus
(
status
:
OrderStatus
)
{
viewBinding
.
tvOrderStatus
.
text
=
status
.
text
when
(
status
)
{
OrderStatus
.
ORDER_STATUS_UNKNOWN
->
{
viewBinding
.
ivOrderStatus
.
setImageResource
(
R
.
drawable
.
icon_order_status_paid
)
}
OrderStatus
.
ORDER_STATUS_PAID
->
{
viewBinding
.
ivOrderStatus
.
setImageResource
(
R
.
drawable
.
icon_order_status_paid
)
}
OrderStatus
.
ORDER_STATUS_WAIT_REFUND
->
{
viewBinding
.
ivOrderStatus
.
setImageResource
(
R
.
drawable
.
icon_order_status_wait_refund
)
}
OrderStatus
.
ORDER_STATUS_ON_REFUND
->
{
viewBinding
.
ivOrderStatus
.
setImageResource
(
R
.
drawable
.
icon_order_status_on_refund
)
}
OrderStatus
.
ORDER_STATUS_REFUNDED
->
{
viewBinding
.
ivOrderStatus
.
setImageResource
(
R
.
drawable
.
icon_order_status_refunded
)
viewBinding
.
tvOrderSubStatus
.
isVisible
=
true
viewBinding
.
tvOrderSubStatus
.
text
=
"退款金额:"
}
OrderStatus
.
ORDER_STATUS_REFUSE_REFUND
->
{
viewBinding
.
ivOrderStatus
.
setImageResource
(
R
.
drawable
.
icon_order_status_refuse_refund
)
viewBinding
.
tvOrderSubStatus
.
isVisible
=
true
viewBinding
.
tvOrderSubStatus
.
text
=
"如有疑问请联系卖家"
}
}
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/widget/OrderCommodityInfoView.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.ui.widget
import
android.content.Context
import
android.util.AttributeSet
import
android.view.View
import
androidx.constraintlayout.widget.ConstraintLayout
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.databinding.BorderViewOrderCommodityInfoBinding
import
com.yidian.shenghuoquan.border.dto.OrderDetailDto
import
com.yidian.shenghuoquan.border.manager.OrderStatus
/**
* author: yinjiacheng
* date: 2021/8/21 22:19
* description: 订单商品信息
*/
class
OrderCommodityInfoView
@JvmOverloads
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?
=
null
,
defStyle
:
Int
=
0
)
:
ConstraintLayout
(
context
,
attrs
,
defStyle
)
{
private
val
viewBinding
=
BorderViewOrderCommodityInfoBinding
.
bind
(
View
.
inflate
(
getContext
(),
R
.
layout
.
border_view_order_commodity_info
,
this
))
/**
* 设置商品信息
* @param status 订单状态
* @param info 商品信息
*/
fun
setCommodityInfo
(
status
:
OrderStatus
,
info
:
OrderDetailDto
)
{
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/widget/OrderConsigneeInfoView.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.ui.widget
import
android.content.Context
import
android.util.AttributeSet
import
android.view.View
import
androidx.constraintlayout.widget.ConstraintLayout
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.databinding.BorderViewOrderConsigneeInfoBinding
import
com.yidian.shenghuoquan.border.dto.OrderShippingInfo
import
com.yidian.shenghuoquan.border.manager.OrderStatus
/**
* author: yinjiacheng
* date: 2021/8/21 15:15
* description: 订单收货人信息
*/
class
OrderConsigneeInfoView
@JvmOverloads
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?
=
null
,
defStyle
:
Int
=
0
)
:
ConstraintLayout
(
context
,
attrs
,
defStyle
)
{
private
val
viewBinding
=
BorderViewOrderConsigneeInfoBinding
.
bind
(
View
.
inflate
(
getContext
(),
R
.
layout
.
border_view_order_consignee_info
,
this
))
/**
* 设置收货人信息
* @param status 订单状态 确认订单时固定传ORDER_STATUS_CONFIRM
* @param info 收货人信息
*/
fun
setConsigneeInfo
(
status
:
OrderStatus
,
info
:
OrderShippingInfo
?)
{
if
(
status
!=
OrderStatus
.
ORDER_STATUS_UNKNOWN
&&
status
!=
OrderStatus
.
ORDER_STATUS_CONFIRM
)
{
// 订单状态除未知和确认中 收件人信息禁止修改(仅展示)
disableModify
()
}
info
?.
let
{
viewBinding
.
etConsigneeName
.
setText
(
it
.
receiverName
)
viewBinding
.
etConsigneePhone
.
setText
(
it
.
receiverMobile
)
}
}
/**
* 禁止修改
*/
fun
disableModify
()
{
viewBinding
.
etConsigneeName
.
keyListener
=
null
viewBinding
.
etConsigneePhone
.
keyListener
=
null
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/widget/OrderInfoView.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.ui.widget
import
android.content.Context
import
android.util.AttributeSet
import
androidx.constraintlayout.widget.ConstraintLayout
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.databinding.BorderViewOrderInfoBinding
import
com.yidian.shenghuoquan.border.dto.OrderDetailDto
import
com.yidian.shenghuoquan.border.manager.OrderStatus
/**
* author: yinjiacheng
* date: 2021/8/22 19:59
* description: 订单信息
*/
class
OrderInfoView
@JvmOverloads
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?
=
null
,
defStyle
:
Int
=
0
)
:
ConstraintLayout
(
context
,
attrs
,
defStyle
)
{
private
val
viewBinding
=
BorderViewOrderInfoBinding
.
bind
(
inflate
(
getContext
(),
R
.
layout
.
border_view_order_info
,
this
))
/**
* 设置订单信息
* @param status 订单状态
* @param info 订单信息
*/
fun
setOrderInfo
(
status
:
OrderStatus
,
info
:
OrderDetailDto
)
{
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/widget/OrderPickupPointInfoView.kt
0 → 100644
View file @
9332f040
package
com.yidian.shenghuoquan.border.ui.widget
import
android.content.Context
import
android.util.AttributeSet
import
android.view.View
import
androidx.constraintlayout.widget.ConstraintLayout
import
androidx.core.view.isVisible
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.databinding.BorderViewOrderPickupPointInfoBinding
import
com.yidian.shenghuoquan.border.dto.PlaceList
import
com.yidian.shenghuoquan.border.manager.OrderStatus
import
java.util.*
/**
* author: yinjiacheng
* date: 2021/8/21 13:45
* description: 订单自提点信息
*/
class
OrderPickupPointInfoView
@JvmOverloads
constructor
(
context
:
Context
,
attrs
:
AttributeSet
?
=
null
,
defStyle
:
Int
=
0
)
:
ConstraintLayout
(
context
,
attrs
,
defStyle
)
{
private
val
viewBinding
=
BorderViewOrderPickupPointInfoBinding
.
bind
(
View
.
inflate
(
getContext
(),
R
.
layout
.
border_view_order_pickup_point_info
,
this
))
/**
* 设置自提点
* @param status 订单状态 确认订单时固定传ORDER_STATUS_CONFIRM
* @param info 自提点信息
*/
fun
setPickupPoint
(
status
:
OrderStatus
,
info
:
PlaceList
?)
{
// 订单状态除未知和确认中 自提点选择入口隐藏
if
(
status
!=
OrderStatus
.
ORDER_STATUS_UNKNOWN
&&
status
!=
OrderStatus
.
ORDER_STATUS_CONFIRM
)
{
viewBinding
.
ivPickupPointSelect
.
isVisible
=
false
}
// 填充自提点信息
info
?.
let
{
viewBinding
.
tvPickupPoint
.
isVisible
=
true
viewBinding
.
tvPickupPointName
.
text
=
it
.
takePlaceName
viewBinding
.
tvPickupPointAddress
.
isVisible
=
true
viewBinding
.
tvPickupPointAddress
.
text
=
it
.
address
viewBinding
.
tvPickupPointContact
.
isVisible
=
true
viewBinding
.
tvPickupPointContact
.
text
=
String
.
format
(
Locale
.
getDefault
(),
resources
.
getString
(
R
.
string
.
pickup_point_contract
),
info
.
contactName
,
info
.
phone
)
}
}
}
Components/BOrder/src/main/res/drawable-xxhdpi/icon_next_white.webp
0 → 100644
View file @
9332f040
File added
Components/BOrder/src/main/res/drawable-xxhdpi/icon_order_coupon.webp
0 → 100644
View file @
9332f040
File added
Components/BOrder/src/main/res/drawable-xxhdpi/icon_order_status_on_refund.webp
0 → 100644
View file @
9332f040
File added
Components/BOrder/src/main/res/drawable-xxhdpi/icon_order_status_paid.webp
0 → 100644
View file @
9332f040
File added
Components/BOrder/src/main/res/drawable-xxhdpi/icon_order_status_refunded.webp
0 → 100644
View file @
9332f040
File added
Components/BOrder/src/main/res/drawable-xxhdpi/icon_order_status_refuse_refund.webp
0 → 100644
View file @
9332f040
File added
Components/BOrder/src/main/res/drawable-xxhdpi/icon_order_status_wait_refund.webp
0 → 100644
View file @
9332f040
File added
Components/BOrder/src/main/res/drawable/shape_bg_input_cursor.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<solid
android:color=
"@color/color_1852F1"
/>
<size
android:width=
"@dimen/dp2"
android:height=
"@dimen/dp19"
/>
</shape>
\ No newline at end of file
Components/BOrder/src/main/res/drawable/shape_solid_d66948_corner_9.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<solid
android:color=
"@color/color_D66948"
/>
<corners
android:radius=
"@dimen/dp9"
/>
</shape>
\ No newline at end of file
Components/BOrder/src/main/res/drawable/shape_solid_ffffff_corner_20.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<solid
android:color=
"@color/white"
/>
<corners
android:radius=
"@dimen/dp20"
/>
</shape>
\ No newline at end of file
Components/BOrder/src/main/res/drawable/shape_stroke_e5e5e5_corner_14.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<stroke
android:width=
"@dimen/dp0.5"
android:color=
"#E5E5E5"
/>
<corners
android:radius=
"@dimen/dp14"
/>
</shape>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_activity_order_detail.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name=
"vm"
type=
"com.yidian.shenghuoquan.border.ui.OrderDetailViewModel"
/>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:fitsSystemWindows=
"true"
>
<com.yidian.bcommon.widget.CommonTopBarView
android:id=
"@+id/bv_top_bar"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:CommonTopBarView_title_text=
"@string/order_detail"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ScrollView
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/bv_top_bar"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingStart=
"@dimen/dp16"
android:paddingEnd=
"@dimen/dp16"
android:paddingBottom=
"@dimen/dp46"
>
<com.yidian.shenghuoquan.border.ui.widget.OderStatusInfoView
android:id=
"@+id/sv_order_status"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp20"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<com.yidian.shenghuoquan.border.ui.widget.OrderPickupPointInfoView
android:id=
"@+id/pv_pickup_point_info"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp20"
app:layout_constraintTop_toBottomOf=
"@id/sv_order_status"
/>
<com.yidian.shenghuoquan.border.ui.widget.OrderConsigneeInfoView
android:id=
"@+id/iv_consignee_info"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
app:layout_constraintTop_toBottomOf=
"@id/pv_pickup_point_info"
/>
<com.yidian.shenghuoquan.border.ui.widget.OrderCommodityInfoView
android:id=
"@+id/iv_commodity_info"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
app:layout_constraintTop_toBottomOf=
"@id/iv_consignee_info"
/>
<com.yidian.shenghuoquan.border.ui.widget.OrderInfoView
android:id=
"@+id/iv_order_info"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
app:layout_constraintTop_toBottomOf=
"@id/iv_commodity_info"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_view_order_commodity_info.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_solid_ffffff_corner_20"
android:paddingStart=
"@dimen/dp16"
android:paddingTop=
"@dimen/dp20"
android:paddingEnd=
"@dimen/dp16"
android:paddingBottom=
"@dimen/dp20"
>
<TextView
android:id=
"@+id/tv_activity_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp16"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:text=
"拼餐优惠多多"
/>
<ImageView
android:layout_width=
"@dimen/dp14"
android:layout_height=
"@dimen/dp14"
android:layout_marginStart=
"@dimen/dp4"
android:src=
"@drawable/icon_next"
app:layout_constraintBottom_toBottomOf=
"@id/tv_activity_title"
app:layout_constraintStart_toEndOf=
"@id/tv_activity_title"
app:layout_constraintTop_toTopOf=
"@id/tv_activity_title"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_commodity_list"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@id/tv_activity_title"
/>
<TextView
android:id=
"@+id/tv_apply_refund"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/dp8"
android:background=
"@drawable/shape_stroke_e5e5e5_corner_14"
android:paddingStart=
"@dimen/dp13"
android:paddingTop=
"@dimen/dp9"
android:paddingEnd=
"@dimen/dp13"
android:paddingBottom=
"@dimen/dp8"
android:text=
"@string/apply_refund"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp11"
app:layout_constraintEnd_toStartOf=
"@id/tv_contract_seller"
app:layout_constraintTop_toTopOf=
"@id/tv_contract_seller"
/>
<TextView
android:id=
"@+id/tv_contract_seller"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
android:background=
"@drawable/shape_stroke_e5e5e5_corner_14"
android:paddingStart=
"@dimen/dp13"
android:paddingTop=
"@dimen/dp9"
android:paddingEnd=
"@dimen/dp13"
android:paddingBottom=
"@dimen/dp8"
android:text=
"@string/contract_seller"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp11"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/rv_commodity_list"
/>
<ImageView
android:id=
"@+id/iv_coupon"
android:layout_width=
"@dimen/dp20"
android:layout_height=
"@dimen/dp20"
android:layout_marginTop=
"@dimen/dp18"
android:src=
"@drawable/icon_order_coupon"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_contract_seller"
/>
<TextView
android:id=
"@+id/tv_coupon_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/dp3"
android:ellipsize=
"end"
android:maxLines=
"1"
android:text=
"@string/red_packet_or_coupon"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintBottom_toBottomOf=
"@id/iv_coupon"
app:layout_constraintEnd_toStartOf=
"@id/tv_coupon_amount"
app:layout_constraintStart_toEndOf=
"@id/iv_coupon"
app:layout_constraintTop_toTopOf=
"@id/iv_coupon"
/>
<TextView
android:id=
"@+id/tv_coupon_amount"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_solid_d66948_corner_9"
android:drawableEnd=
"@drawable/icon_next_white"
android:paddingStart=
"@dimen/dp8"
android:paddingTop=
"@dimen/dp2"
android:paddingEnd=
"@dimen/dp2"
android:paddingBottom=
"@dimen/dp2"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp11"
app:layout_constraintBottom_toBottomOf=
"@id/iv_coupon"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/iv_coupon"
tools:ignore=
"UseCompatTextViewDrawableXml"
tools:text=
"3张优惠券可用"
/>
<TextView
android:id=
"@+id/tv_discount_amount_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/discount_amount"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf=
"@id/tv_total_amount"
app:layout_constraintEnd_toStartOf=
"@id/tv_discount_amount"
/>
<TextView
android:id=
"@+id/tv_discount_amount"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/dp8"
android:textColor=
"@color/color_D66948"
android:textSize=
"@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf=
"@id/tv_total_amount"
app:layout_constraintEnd_toStartOf=
"@id/tv_total_amount_text"
tools:text=
"¥10.00"
/>
<TextView
android:id=
"@+id/tv_total_amount_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/total_amount"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintBaseline_toBaselineOf=
"@id/tv_total_amount"
app:layout_constraintEnd_toStartOf=
"@id/tv_total_amount"
/>
<TextView
android:id=
"@+id/tv_total_amount"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp24"
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp18"
android:textStyle=
"bold"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/iv_coupon"
tools:text=
"¥35.00"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_view_order_consignee_info.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_solid_ffffff_corner_20"
android:paddingStart=
"@dimen/dp16"
android:paddingTop=
"20dp"
android:paddingEnd=
"@dimen/dp16"
android:paddingBottom=
"20dp"
>
<TextView
android:id=
"@+id/tv_consignee_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/consignee_name"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp16"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<EditText
android:id=
"@+id/et_consignee_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/dp12"
android:autofillHints=
"123"
android:background=
"@null"
android:hint=
"@string/please_input_consignee_name"
android:inputType=
"text"
android:textColor=
"@color/color_333333"
android:textColorHint=
"@color/color_999999"
android:textCursorDrawable=
"@drawable/shape_bg_input_cursor"
android:textSize=
"@dimen/sp16"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/tv_consignee_name"
app:layout_constraintTop_toTopOf=
"@id/tv_consignee_name"
/>
<TextView
android:id=
"@+id/tv_consignee_phone"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp20"
android:text=
"@string/consignee_phone"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp16"
app:layout_constraintStart_toStartOf=
"@id/tv_consignee_name"
app:layout_constraintTop_toBottomOf=
"@id/tv_consignee_name"
/>
<EditText
android:id=
"@+id/et_consignee_phone"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:background=
"@null"
android:hint=
"@string/please_input_consignee_phone"
android:inputType=
"phone"
android:maxLength=
"11"
android:textColor=
"@color/color_333333"
android:textColorHint=
"@color/color_999999"
android:textCursorDrawable=
"@drawable/shape_bg_input_cursor"
android:textSize=
"@dimen/sp16"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"@id/et_consignee_name"
app:layout_constraintTop_toTopOf=
"@id/tv_consignee_phone"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_view_order_info.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_solid_ffffff_corner_20"
android:paddingStart=
"@dimen/dp16"
android:paddingTop=
"@dimen/dp20"
android:paddingEnd=
"@dimen/dp16"
android:paddingBottom=
"@dimen/dp20"
>
<TextView
android:id=
"@+id/tv_order_info"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/order_info"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp16"
android:textStyle=
"bold"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_order_no_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp28"
android:text=
"@string/order_no"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp14"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_order_info"
/>
<TextView
android:id=
"@+id/tv_order_no"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/dp8"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintEnd_toStartOf=
"@id/tv_copy"
app:layout_constraintTop_toTopOf=
"@id/tv_order_no_text"
tools:text=
"98567572479254325580"
/>
<TextView
android:id=
"@+id/tv_copy"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_stroke_e5e5e5_corner_14"
android:paddingStart=
"@dimen/dp12"
android:paddingTop=
"@dimen/dp5"
android:paddingEnd=
"@dimen/dp12"
android:paddingBottom=
"@dimen/dp5"
android:text=
"@string/copy"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp12"
app:layout_constraintBottom_toBottomOf=
"@id/tv_order_no_text"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_order_no_text"
/>
<TextView
android:id=
"@+id/tv_order_payment_time_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp20"
android:text=
"@string/payment_time"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp14"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_order_no_text"
/>
<TextView
android:id=
"@+id/tv_order_payment_time"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_order_payment_time_text"
tools:text=
"2021-5-10 10:23"
/>
<TextView
android:id=
"@+id/tv_order_refund_apply_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp20"
android:text=
"@string/refund_apply"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp14"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_order_payment_time_text"
/>
<TextView
android:id=
"@+id/tv_order_refund_apply"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_order_refund_apply_text"
tools:text=
"2021-5-10 10:23"
/>
<TextView
android:id=
"@+id/tv_order_refund_time_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp20"
android:text=
"@string/refund_time"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp14"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_order_refund_apply_text"
/>
<TextView
android:id=
"@+id/tv_order_refund_time"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_order_refund_time_text"
tools:text=
"2021-5-10 10:23"
/>
<TextView
android:id=
"@+id/tv_order_remark_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp20"
android:text=
"@string/order_remark"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp14"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_order_refund_time_text"
/>
<TextView
android:id=
"@+id/tv_order_remark"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/dp14"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/tv_order_remark_text"
app:layout_constraintTop_toTopOf=
"@id/tv_order_remark_text"
tools:text=
"不喜欢吃辣,希望少放点辣椒不喜欢吃辣,希望少放点辣椒不喜欢吃辣"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_view_order_pickup_point_info.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_solid_ffffff_corner_20"
android:paddingStart=
"@dimen/dp16"
android:paddingTop=
"@dimen/dp20"
android:paddingEnd=
"@dimen/dp16"
android:paddingBottom=
"@dimen/dp20"
>
<TextView
android:id=
"@+id/tv_pickup_point"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/pickup_point"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp16"
android:visibility=
"gone"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_pickup_point_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/dp12"
android:text=
"@string/please_select_pickup_point"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp16"
android:textStyle=
"bold"
app:layout_constraintStart_toEndOf=
"@id/tv_pickup_point"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ImageView
android:id=
"@+id/iv_pickup_point_select"
android:layout_width=
"@dimen/dp14"
android:layout_height=
"@dimen/dp14"
android:src=
"@drawable/icon_next"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_pickup_point_address"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
android:ellipsize=
"end"
android:maxLines=
"2"
android:text=
"@string/pickup_point"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp14"
android:visibility=
"gone"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"@id/tv_pickup_point_name"
app:layout_constraintTop_toBottomOf=
"@id/tv_pickup_point_name"
tools:text=
"经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号经济技术开发区燕郊顺路123号"
/>
<TextView
android:id=
"@+id/tv_pickup_point_contact"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp4"
android:text=
"@string/pickup_point"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp14"
android:visibility=
"gone"
app:layout_constraintStart_toStartOf=
"@id/tv_pickup_point_name"
app:layout_constraintTop_toBottomOf=
"@id/tv_pickup_point_address"
tools:text=
"提货点联系人:面团儿"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_view_order_status_info.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ImageView
android:id=
"@+id/iv_order_status"
android:layout_width=
"@dimen/dp24"
android:layout_height=
"@dimen/dp24"
app:layout_constraintBottom_toBottomOf=
"@id/tv_order_sub_status"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_order_status"
tools:src=
"@drawable/icon_order_status_paid"
/>
<TextView
android:id=
"@+id/tv_order_status"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/dp8"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp22"
android:textStyle=
"bold"
app:layout_constraintStart_toEndOf=
"@id/iv_order_status"
app:layout_constraintTop_toTopOf=
"parent"
tools:text=
"已支付"
/>
<TextView
android:id=
"@+id/tv_order_sub_status"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/dp8"
android:layout_marginTop=
"@dimen/dp8"
android:textColor=
"@color/color_666666"
android:textSize=
"@dimen/sp14"
android:textStyle=
"bold"
android:visibility=
"gone"
app:layout_constraintStart_toEndOf=
"@id/iv_order_status"
app:layout_constraintTop_toBottomOf=
"@id/tv_order_status"
tools:text=
"待商家确认"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Components/BOrder/src/main/res/values/strings.xml
0 → 100644
View file @
9332f040
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
name=
"order_detail"
>
订单详情
</string>
<string
name=
"pickup_point"
>
自提点
</string>
<string
name=
"pickup_point_contract"
>
提货点联系人: %s %s
</string>
<string
name=
"please_select_pickup_point"
>
请选择自提点
</string>
<string
name=
"consignee_name"
>
收货姓名
</string>
<string
name=
"consignee_phone"
>
手机号码
</string>
<string
name=
"please_input_consignee_name"
>
请输入收货人姓名
</string>
<string
name=
"please_input_consignee_phone"
>
请输入收货人电话号码
</string>
<string
name=
"contract_seller"
>
联系卖家
</string>
<string
name=
"apply_refund"
>
申请退款
</string>
<string
name=
"red_packet_or_coupon"
>
红包/优惠券
</string>
<string
name=
"discount_amount"
>
已优惠:
</string>
<string
name=
"total_amount"
>
合计:
</string>
<string
name=
"order_info"
>
订单信息
</string>
<string
name=
"order_no"
>
订单编号
</string>
<string
name=
"copy"
>
复制
</string>
<string
name=
"payment_time"
>
支付时间
</string>
<string
name=
"refund_apply"
>
退款申请
</string>
<string
name=
"refund_time"
>
退款时间
</string>
<string
name=
"order_remark"
>
订单备注
</string>
</resources>
\ No newline at end of file
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