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
488d8f08
Commit
488d8f08
authored
Aug 24, 2021
by
shiyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
确认订单UI完善
parent
248de6ee
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
364 additions
and
61 deletions
+364
-61
XEventConfig.kt
...src/main/java/com/yidian/bcommon/constant/XEventConfig.kt
+4
-0
ConfirmOrderRequest.kt
.../com/yidian/shenghuoquan/bdemo/dto/ConfirmOrderRequest.kt
+26
-0
DemoTestActivity.kt
...java/com/yidian/shenghuoquan/bdemo/ui/DemoTestActivity.kt
+8
-1
AndroidManifest.xml
Components/BOrder/src/main/AndroidManifest.xml
+3
-1
OrderConfirmCommodityListAdapter.kt
...uoquan/border/adapter/OrderConfirmCommodityListAdapter.kt
+32
-0
OrderConfirmDto.kt
...ava/com/yidian/shenghuoquan/border/dto/OrderConfirmDto.kt
+18
-12
OrderApiService.kt
...va/com/yidian/shenghuoquan/border/http/OrderApiService.kt
+4
-3
ConfirmOrderActivity.kt
...com/yidian/shenghuoquan/border/ui/ConfirmOrderActivity.kt
+43
-7
ConfirmOrderViewModel.kt
...om/yidian/shenghuoquan/border/ui/ConfirmOrderViewModel.kt
+77
-8
OrderCommodityInfoView.kt
...n/shenghuoquan/border/ui/widget/OrderCommodityInfoView.kt
+1
-1
shape_coupons_num_bg.xml
...nts/BOrder/src/main/res/drawable/shape_coupons_num_bg.xml
+1
-1
shape_pay_now_bg.xml
Components/BOrder/src/main/res/drawable/shape_pay_now_bg.xml
+1
-1
shape_solid_d66948_corner_9.xml
...der/src/main/res/drawable/shape_solid_d66948_corner_9.xml
+1
-1
border_activity_confirm_order.xml
...der/src/main/res/layout/border_activity_confirm_order.xml
+76
-21
border_item_order_confirm_commodity_list.xml
...n/res/layout/border_item_order_confirm_commodity_list.xml
+64
-0
border_view_order_commodity_info.xml
.../src/main/res/layout/border_view_order_commodity_info.xml
+1
-1
colors.xml
Components/BOrder/src/main/res/values/colors.xml
+1
-3
strings.xml
Components/BOrder/src/main/res/values/strings.xml
+3
-0
No files found.
CommonLib/BCommon/src/main/java/com/yidian/bcommon/constant/XEventConfig.kt
View file @
488d8f08
...
...
@@ -22,5 +22,9 @@ class XEventConfig {
const
val
CHOOSE_STORE_SUCCESS
=
"choose_store_success"
// 商品发布成功
const
val
COMMODITY_PUBLISH_SUCCESS
=
"commodity_publish_success"
// 确认订单选择自提点成功
const
val
CONFIRM_ORDER_CHOOSE_POINT_SUCCESS
=
"confirm_order_choose_point_success"
// 确认订单选择优惠券成功
const
val
CONFIRM_ORDER_CHOOSE_COUPON_SUCCESS
=
"confirm_order_choose_coupon_success"
}
}
Components/BDemo/src/main/java/com/yidian/shenghuoquan/bdemo/dto/ConfirmOrderRequest.kt
0 → 100644
View file @
488d8f08
package
com.yidian.shenghuoquan.bdemo.dto
import
android.os.Parcelable
import
com.google.gson.annotations.SerializedName
import
kotlinx.parcelize.Parcelize
/**
* 确认订单请求参数
*/
@Parcelize
data class
ConfirmOrderRequest
(
@SerializedName
(
"business_from"
)
val
businessFrom
:
Int
?
=
null
,
@SerializedName
(
"goods_list"
)
val
goodsList
:
List
<
Goods
>?
=
null
,
@SerializedName
(
"marketing_id"
)
val
marketingId
:
String
?
=
null
)
:
Parcelable
@Parcelize
data class
Goods
(
@SerializedName
(
"goods_sku_id"
)
val
goodsSkuId
:
String
?
=
null
,
@SerializedName
(
"goods_sku_num"
)
val
goodsSkuNum
:
Int
?
=
null
)
:
Parcelable
Components/BDemo/src/main/java/com/yidian/shenghuoquan/bdemo/ui/DemoTestActivity.kt
View file @
488d8f08
...
...
@@ -5,6 +5,8 @@ import com.yidian.bcommon.base.BaseActivity
import
com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.bcommon.extensions.clickAntiShake
import
com.yidian.shenghuoquan.bdemo.databinding.ActivityDemoTestBinding
import
com.yidian.shenghuoquan.bdemo.dto.ConfirmOrderRequest
import
com.yidian.shenghuoquan.bdemo.dto.Goods
import
com.yidian.xpage.XPageManager
...
...
@@ -27,10 +29,15 @@ class DemoTestActivity : BaseActivity<ActivityDemoTestBinding>() {
}
private
fun
initClick
()
{
val
list
=
mutableListOf
<
Goods
>()
list
.
add
(
Goods
(
goodsSkuId
=
"04qbwzoazPixJUhfOppD"
,
goodsSkuNum
=
1
))
val
confirmOrderReqDto
=
ConfirmOrderRequest
(
businessFrom
=
2
,
goodsList
=
list
,
marketingId
=
"79"
)
// 模拟h5进入确认订单的参数和逻辑
viewBind
.
btnOrderConfirm
.
clickAntiShake
{
val
hashMap
=
HashMap
<
String
,
Any
?>()
hashMap
[
"marketing_id"
]
=
121231321
// 活动id
hashMap
[
"business_from"
]
=
"2"
hashMap
[
"marketing_id"
]
=
"1"
// 活动id
hashMap
[
"goods_list"
]
=
list
XPageManager
.
push
(
XRouterPathConstants
.
CONFIRM_ORDER_ACTIVITY
,
hashMap
)
}
}
...
...
Components/BOrder/src/main/AndroidManifest.xml
View file @
488d8f08
...
...
@@ -4,7 +4,9 @@
package=
"com.yidian.shenghuoquan.border"
>
<application>
<activity
android:name=
"com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity"
/>
<activity
android:name=
"com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity"
android:windowSoftInputMode=
"adjustPan"
/>
<activity
android:name=
"com.yidian.shenghuoquan.border.ui.OrderDetailActivity"
/>
</application>
...
...
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/adapter/OrderConfirmCommodityListAdapter.kt
0 → 100644
View file @
488d8f08
package
com.yidian.shenghuoquan.border.adapter
import
android.annotation.SuppressLint
import
android.widget.ImageView
import
android.widget.TextView
import
com.chad.library.adapter.base.BaseQuickAdapter
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.dto.GoodsList
/**
* 确认订单页面商品列表适配器
*/
class
OrderConfirmCommodityListAdapter
:
BaseQuickAdapter
<
GoodsList
,
BaseViewHolder
>(
R
.
layout
.
border_item_order_confirm_commodity_list
)
{
@SuppressLint
(
"SetTextI18n"
)
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
GoodsList
)
{
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_name
).
text
=
item
.
name
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_count
).
text
=
"共"
+
item
.
name
+
"件"
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_amount
).
text
=
"¥"
+
item
.
name
val
ivCommodityPic
=
holder
.
getView
<
ImageView
>(
R
.
id
.
iv_commodity_pic
)
// Glide.with(context).load(item.url)
// .apply(
// RequestOptions()
// .transform(CenterCrop(), RoundedCorners(DensityUtil.dp2px(12F)))
// .error(R.drawable.img_order_commodity_placeholder)
// .placeholder(R.drawable.img_order_commodity_placeholder)
// )
// .into(ivCommodityPic)
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/dto/OrderConfirmDto.kt
View file @
488d8f08
...
...
@@ -14,8 +14,8 @@ data class OrderConfirmResDto(
// val price: Int? = null,
@SerializedName
(
"shipping"
)
val
shipping
:
Shipping
?
=
null
,
@SerializedName
(
"take_place_list"
)
val
takePlaceList
:
List
<
TakePlaceList
>?
=
null
//
@SerializedName("take_place_list")
//
val takePlaceList: List<TakePlaceList>? = null
)
:
Parcelable
@Parcelize
...
...
@@ -57,6 +57,10 @@ data class CouponList(
data class
GoodsList
(
@SerializedName
(
"name"
)
val
name
:
String
?
=
null
,
@SerializedName
(
"price"
)
// 商品价格
val
price
:
Double
,
@SerializedName
(
"goods_num"
)
// 商品数量
val
goodsNum
:
Int
,
)
:
Parcelable
/**
...
...
@@ -78,6 +82,8 @@ data class Shipping(
val
shippingId
:
String
?
=
null
,
@SerializedName
(
"take_place_id"
)
val
takePlaceId
:
Int
?
=
null
,
@SerializedName
(
"take_place_name"
)
val
takePlaceName
:
String
?
=
null
,
@SerializedName
(
"update_time"
)
val
updateTime
:
String
?
=
null
,
@SerializedName
(
"user_id"
)
...
...
@@ -85,13 +91,13 @@ data class Shipping(
)
:
Parcelable
/**
* 自提点列表
*/
@Parcelize
data class
TakePlaceList
(
@SerializedName
(
"take_place_id"
)
val
takePlaceId
:
Int
?
=
null
,
// 自提点id
@SerializedName
(
"take_place_name"
)
val
takePlaceName
:
String
?
=
null
,
// 自提点名称
)
:
Parcelable
/
//
**
//
* 自提点列表
//
*/
//
@Parcelize
//
data class TakePlaceList(
//
@SerializedName("take_place_id")
//
val takePlaceId: Int? = null,// 自提点id
//
@SerializedName("take_place_name")
//
val takePlaceName: String? = null,// 自提点名称
//
) : Parcelable
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/http/OrderApiService.kt
View file @
488d8f08
...
...
@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.border.http
import
com.yidian.bcommon.http.HttpResult
import
io.reactivex.rxjava3.core.Observable
import
retrofit2.http.Body
import
retrofit2.http.Headers
import
retrofit2.http.POST
import
retrofit2.http.QueryMap
...
...
@@ -48,7 +49,7 @@ interface OrderApiService {
@Headers
(
"Content-Type: application/json"
)
fun
requestOrderConfirm
(
@QueryMap
commonParams
:
Map
<
String
,
String
>,
@
QueryMap
requestParams
:
Map
<
String
,
String
?
>
@
Body
requestParams
:
Map
<
String
,
String
?
>
):
Observable
<
HttpResult
<
Any
?
>>
/**
...
...
@@ -58,7 +59,7 @@ interface OrderApiService {
@Headers
(
"Content-Type: application/json"
)
fun
requestCreateOrder
(
@QueryMap
commonParams
:
Map
<
String
,
String
>,
@
QueryMap
requestParams
:
Map
<
String
,
String
?
>
@
Body
requestParams
:
Map
<
String
,
String
?
>
):
Observable
<
HttpResult
<
Any
?
>>
/**
...
...
@@ -68,7 +69,7 @@ interface OrderApiService {
@Headers
(
"Content-Type: application/json"
)
fun
requestOrderPay
(
@QueryMap
commonParams
:
Map
<
String
,
String
>,
@
QueryMap
requestParams
:
Map
<
String
,
String
?
>
@
Body
requestParams
:
Map
<
String
,
String
?
>
):
Observable
<
HttpResult
<
Any
?
>>
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/ConfirmOrderActivity.kt
View file @
488d8f08
...
...
@@ -2,39 +2,75 @@ package com.yidian.shenghuoquan.border.ui
import
android.content.Intent
import
androidx.activity.viewModels
import
com.yidian.bcommon.constant.XEventConfig
import
com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.bcommon.mvvm.BaseMvvmActivity
import
com.yidian.bcommon.utils.SensitiveInfoUtil
import
com.yidian.bcommon.utils.ToastUtils
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.adapter.OrderConfirmCommodityListAdapter
import
com.yidian.shenghuoquan.border.databinding.BorderActivityConfirmOrderBinding
import
com.yidian.shenghuoquan.border.dto.CouponList
import
com.yidian.shenghuoquan.border.dto.Shipping
import
com.yidian.xarc.xevent.XBaseEvent
import
com.yidian.xarc.xevent.XEventManager
import
org.greenrobot.eventbus.Subscribe
import
org.greenrobot.eventbus.ThreadMode
/**
* 确认订单
*/
class
ConfirmOrderActivity
:
BaseMvvmActivity
<
BorderActivityConfirmOrderBinding
,
ConfirmOrderViewModel
>()
{
private
val
adapter
by
lazy
{
OrderConfirmCommodityListAdapter
()
}
override
val
layoutId
:
Int
=
R
.
layout
.
border_activity_confirm_order
override
val
vm
:
ConfirmOrderViewModel
by
viewModels
()
override
fun
initView
()
{
initClick
()
XEventManager
.
register
(
this
)
subscribeUiEvent
()
initList
()
getIntentData
(
intent
)
}
private
fun
initList
()
{
binding
.
rvGoodsList
.
adapter
=
adapter
}
private
fun
getIntentData
(
intent
:
Intent
?)
{
val
paramsMap
=
intent
?.
getSerializableExtra
(
XRouterPathConstants
.
ParamsKey
)
if
(
paramsMap
!=
null
)
{
paramsMap
as
HashMap
<*,
*>
val
marketingId
=
paramsMap
[
"marketing_id"
]
ToastUtils
.
showLongSafe
(
"活动id: $marketingId"
)
paramsMap
as
HashMap
<
String
,
String
?>
vm
.
requestConfirmOrderInfo
(
paramsMap
)
}
}
private
fun
initClick
()
{
private
fun
subscribeUiEvent
()
{
vm
.
goodsSuccessEvent
.
observe
(
this
,
{
adapter
.
setList
(
it
)
})
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
XEventManager
.
unRegister
(
this
)
}
@Subscribe
(
sticky
=
false
,
threadMode
=
ThreadMode
.
MAIN
)
fun
onEvent
(
event
:
XBaseEvent
?)
{
when
(
event
?.
name
)
{
XEventConfig
.
CONFIRM_ORDER_CHOOSE_POINT_SUCCESS
->
{
// 选择自提点成功
val
point
=
event
.
body
as
Shipping
vm
.
choosePickUpPointSuccess
(
point
)
}
XEventConfig
.
CONFIRM_ORDER_CHOOSE_COUPON_SUCCESS
->
{
// 选择优惠券成功
val
coupon
=
event
.
body
as
CouponList
vm
.
chooseVoucherSuccess
(
coupon
)
}
}
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/ConfirmOrderViewModel.kt
View file @
488d8f08
package
com.yidian.shenghuoquan.border.ui
import
androidx.lifecycle.LiveData
import
androidx.lifecycle.MutableLiveData
import
com.yidian.bcommon.mvvm.BaseViewModel
import
com.yidian.bcommon.utils.ToastUtils
import
com.yidian.shenghuoquan.border.dto.CouponList
import
com.yidian.shenghuoquan.border.dto.GoodsList
import
com.yidian.shenghuoquan.border.dto.Shipping
import
com.yidian.shenghuoquan.border.http.OrderRemoteDataSource
class
ConfirmOrderViewModel
:
BaseViewModel
()
{
// var selectedPickUpPoint = MutableLiveData<String>()
var
receivingName
=
MutableLiveData
<
String
>()
var
receivingPhone
=
MutableLiveData
<
String
>()
private
var
originalAmount
:
Double
=
0.00
// 原价总和
var
couponAmount
:
Double
=
0.00
// 优惠券金额
// var goodsList = MutableLiveData<String>()
var
couponsAvailableNum
=
MutableLiveData
<
Int
>()
var
discountAmount
=
MutableLiveData
<
Double
>()
var
totalAmount
=
MutableLiveData
<
Double
>()
var
selectedPickUpPoint
=
MutableLiveData
<
Shipping
?>()
// 自提点
var
receivingName
=
MutableLiveData
<
String
>()
// 收货人姓名
var
receivingPhone
=
MutableLiveData
<
String
>()
//收货人电话
var
selectedCoupon
=
MutableLiveData
<
CouponList
>()
// 选中的优惠券
var
couponsAvailableNum
=
MutableLiveData
<
Int
>()
// 可用优惠券数量
var
totalAmount
=
MutableLiveData
(
0.00
)
// 合计金额 = 原价 - 优惠
var
remark
=
MutableLiveData
<
String
>()
/**
* 商品列表成功 Event
*/
private
val
_goodsSuccessEvent
=
MutableLiveData
<
List
<
GoodsList
>?>()
val
goodsSuccessEvent
:
LiveData
<
List
<
GoodsList
>?>
=
_goodsSuccessEvent
/**
* 请求订单信息
*/
fun
requestOrderInfo
()
{
fun
requestConfirmOrderInfo
(
paramsMap
:
HashMap
<
String
,
String
?
>)
{
// val paramsMap = HashMap<String, String?>()
// paramsMap["business_from"] = "2"
// paramsMap["marketing_id"] = marketingId.toString()
OrderRemoteDataSource
.
requestOrderConfirm
(
paramsMap
)
{
if
(
it
==
null
)
{
return
@requestOrderConfirm
}
selectedPickUpPoint
.
value
=
it
.
shipping
receivingName
.
value
=
it
.
shipping
?.
receiverName
?:
""
receivingPhone
.
value
=
it
.
shipping
?.
receiverMobile
?:
""
_goodsSuccessEvent
.
value
=
it
.
goodsList
calculateOriginalAmount
(
it
.
goodsList
)
couponsAvailableNum
.
value
=
it
.
couponList
?.
size
?:
0
// 显示0张便于查看不能使用的优惠券
}
}
/**
* 计算商品原价 = 数量 * 单价
*/
private
fun
calculateOriginalAmount
(
goodsList
:
List
<
GoodsList
>?)
{
if
(
goodsList
.
isNullOrEmpty
())
{
return
}
goodsList
.
forEach
{
originalAmount
=
originalAmount
.
plus
(
it
.
price
*
it
.
goodsNum
)
}
// 计算出合计
calculateTotalAmount
()
}
/**
* 计算商品合计 = 原价 - 优惠
*/
private
fun
calculateTotalAmount
()
{
totalAmount
.
value
=
originalAmount
-
couponAmount
}
/**
* 选择自提点
*/
fun
choosePickUpPoint
()
{
// todo 带过去当前选中自提点
ToastUtils
.
showLongSafe
(
"去选择自提点"
)
}
fun
choosePickUpPointSuccess
(
point
:
Shipping
)
{
selectedPickUpPoint
.
value
=
point
}
/**
* 选择代金券
*/
fun
chooseVoucher
()
{
// todo 带过去当前选中优惠券
ToastUtils
.
showLongSafe
(
"去选择优惠券"
)
}
fun
chooseVoucherSuccess
(
coupon
:
CouponList
)
{
selectedCoupon
.
value
=
coupon
couponAmount
=
coupon
.
amount
?.
toDouble
()
?:
0.00
// 重新计算相关金额
calculateTotalAmount
()
}
/**
* 创建订单
*/
fun
createOrder
()
{
val
paramsMap
=
HashMap
<
String
,
String
?>()
paramsMap
[
"business_from"
]
=
"2"
paramsMap
[
"user_id"
]
=
"510235230818"
// todo 添加其他参数
OrderRemoteDataSource
.
requestCreateOrder
(
paramsMap
)
{
ToastUtils
.
showShort
(
"创建订单成功${it?.orderId}"
)
}
}
/**
...
...
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/widget/OrderCommodityInfoView.kt
View file @
488d8f08
...
...
@@ -61,7 +61,7 @@ class OrderCommodityInfoView @JvmOverloads constructor(context: Context, attrs:
vm
.
requestApplyRefund
(
it
)
}
},
null
,
R
.
color
.
color_
5A968F
)
},
null
,
R
.
color
.
color_
FD7823
)
})
// 监听申请退款接口请求结果
vm
.
applyRefundResult
.
observe
(
context
as
LifecycleOwner
,
{
...
...
Components/BOrder/src/main/res/drawable/shape_coupons_num_bg.xml
View file @
488d8f08
...
...
@@ -4,5 +4,5 @@
<corners
android:radius=
"@dimen/dp9"
/>
<solid
android:color=
"
#D66948
"
/>
<solid
android:color=
"
@color/color_FD7823
"
/>
</shape>
\ No newline at end of file
Components/BOrder/src/main/res/drawable/shape_pay_now_bg.xml
View file @
488d8f08
...
...
@@ -2,7 +2,7 @@
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<solid
android:color=
"@color/color_
5A968F
"
/>
<solid
android:color=
"@color/color_
FD7823
"
/>
<corners
android:radius=
"@dimen/dp18"
/>
...
...
Components/BOrder/src/main/res/drawable/shape_solid_d66948_corner_9.xml
View file @
488d8f08
...
...
@@ -2,7 +2,7 @@
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<solid
android:color=
"@color/color_
D66948
"
/>
<solid
android:color=
"@color/color_
FD7823
"
/>
<corners
android:radius=
"@dimen/dp9"
/>
</shape>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_activity_confirm_order.xml
View file @
488d8f08
This diff is collapsed.
Click to expand it.
Components/BOrder/src/main/res/layout/border_item_order_confirm_commodity_list.xml
0 → 100644
View file @
488d8f08
<?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:layout_marginBottom=
"@dimen/dp15"
>
<ImageView
android:id=
"@+id/iv_commodity_pic"
android:layout_width=
"@dimen/dp82"
android:layout_height=
"@dimen/dp60"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:src=
"@drawable/img_order_commodity_placeholder"
/>
<TextView
android:id=
"@+id/tv_commodity_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/dp8"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:maxLines=
"1"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp15"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/iv_commodity_pic"
app:layout_constraintTop_toTopOf=
"parent"
tools:text=
"肉末茄子+蔬蒸蛋套餐+肉沫豆角+清蒸鲈鱼"
/>
<TextView
android:id=
"@+id/tv_commodity_count"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
android:includeFontPadding=
"false"
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp13"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0"
app:layout_constraintStart_toStartOf=
"@id/tv_commodity_name"
app:layout_constraintTop_toBottomOf=
"@id/tv_commodity_name"
tools:text=
"共2件"
/>
<TextView
android:id=
"@+id/tv_commodity_amount"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
android:includeFontPadding=
"false"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp16"
android:textStyle=
"bold"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0"
app:layout_constraintStart_toStartOf=
"@id/tv_commodity_name"
app:layout_constraintTop_toBottomOf=
"@id/tv_commodity_count"
tools:text=
"¥15.00"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Components/BOrder/src/main/res/layout/border_view_order_commodity_info.xml
View file @
488d8f08
...
...
@@ -154,7 +154,7 @@
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/dp8"
android:text=
"@{'¥' + String.valueOf(data.discountFee)}"
android:textColor=
"@color/color_
D66948
"
android:textColor=
"@color/color_
FD7823
"
android:textSize=
"@dimen/sp14"
android:visibility=
"@{data.useCoupon == 1 ? View.VISIBLE : View.GONE}"
app:layout_constraintBaseline_toBaselineOf=
"@id/tv_total_amount"
...
...
Components/BOrder/src/main/res/values/colors.xml
View file @
488d8f08
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color
name=
"color_F6775B"
>
#F6775B
</color>
<color
name=
"color_F7F7F7"
>
#FFF7F7F7
</color>
<color
name=
"color_5A968F"
>
#5A968F
</color>
<color
name=
"color_D66948"
>
#D66948
</color>
<color
name=
"color_FD7823"
>
#FD7823
</color>
</resources>
\ No newline at end of file
Components/BOrder/src/main/res/values/strings.xml
View file @
488d8f08
...
...
@@ -3,6 +3,7 @@
<string
name=
"order_detail"
>
订单详情
</string>
<string
name=
"pickup_point"
>
自提点
</string>
<string
name=
"pickup_point_contract"
>
提货点联系人: %s %s
</string>
<string
name=
"pickup_point_contract_person"
>
提货点联系人:
</string>
<string
name=
"please_select_pickup_point"
>
请选择自提点
</string>
<string
name=
"consignee_name"
>
收货姓名
</string>
<string
name=
"consignee_phone"
>
手机号码
</string>
...
...
@@ -11,7 +12,9 @@
<string
name=
"contract_seller"
>
联系卖家
</string>
<string
name=
"apply_refund"
>
申请退款
</string>
<string
name=
"red_packet_or_coupon"
>
红包/优惠券
</string>
<string
name=
"coupons_available_num"
>
张优惠券可用
</string>
<string
name=
"discount_amount"
>
已优惠:
</string>
<string
name=
"renminbi"
>
¥
</string>
<string
name=
"total_amount"
>
合计:
</string>
<string
name=
"order_info"
>
订单信息
</string>
<string
name=
"order_no"
>
订单编号
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment