Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TangKuPos
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
王海
TangKuPos
Commits
ed743618
Commit
ed743618
authored
Dec 28, 2017
by
王海
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
0c287e22
e5ab6579
Changes
43
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
43 changed files
with
1423 additions
and
370 deletions
+1423
-370
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
+55
-0
app/src/main/java/com/xingdata/zzdpos/model/Ms.java
app/src/main/java/com/xingdata/zzdpos/model/Ms.java
+10
-0
app/src/main/java/com/xingdata/zzdpos/model/Saledetail.java
app/src/main/java/com/xingdata/zzdpos/model/Saledetail.java
+4
-4
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
+8
-4
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
+5
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
...n/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
+62
-8
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/DisAdapter.java
...ava/com/xingdata/zzdpos/ui/settle/adapter/DisAdapter.java
+15
-1
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
...om/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
+36
-8
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
...com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
+1
-6
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsContract.java
...com/xingdata/zzdpos/ui/statistics/StatisticsContract.java
+3
-7
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
...ngdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
+52
-26
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailContract.java
...ngdata/zzdpos/ui/statistics/StatisticsDetailContract.java
+33
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailPresenter.java
...gdata/zzdpos/ui/statistics/StatisticsDetailPresenter.java
+26
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
...om/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
+1
-8
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/order/OrderListFragment.java
...zdpos/ui/statistics/fragment/order/OrderListFragment.java
+7
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
...main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
+26
-3
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
...main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
+32
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
...ain/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
+84
-4
app/src/main/java/com/xingdata/zzdpos/ui/store/dialog/MsDialog.java
...in/java/com/xingdata/zzdpos/ui/store/dialog/MsDialog.java
+89
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/SearchFragment.java
...com/xingdata/zzdpos/ui/store/fragment/SearchFragment.java
+85
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
.../com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
+87
-2
app/src/main/res/drawable/shape_blue_oval.xml
app/src/main/res/drawable/shape_blue_oval.xml
+7
-0
app/src/main/res/drawable/shape_blue_r1.xml
app/src/main/res/drawable/shape_blue_r1.xml
+7
-0
app/src/main/res/drawable/shape_green_oval.xml
app/src/main/res/drawable/shape_green_oval.xml
+7
-0
app/src/main/res/drawable/shape_green_r1.xml
app/src/main/res/drawable/shape_green_r1.xml
+7
-0
app/src/main/res/drawable/shape_orange_oval.xml
app/src/main/res/drawable/shape_orange_oval.xml
+7
-0
app/src/main/res/drawable/shape_orange_r1.xml
app/src/main/res/drawable/shape_orange_r1.xml
+7
-0
app/src/main/res/drawable/shape_red_oval.xml
app/src/main/res/drawable/shape_red_oval.xml
+7
-0
app/src/main/res/drawable/shape_red_r1.xml
app/src/main/res/drawable/shape_red_r1.xml
+7
-0
app/src/main/res/layout/activity_payment.xml
app/src/main/res/layout/activity_payment.xml
+2
-2
app/src/main/res/layout/activity_settle.xml
app/src/main/res/layout/activity_settle.xml
+2
-2
app/src/main/res/layout/activity_statistics_detail.xml
app/src/main/res/layout/activity_statistics_detail.xml
+2
-3
app/src/main/res/layout/activity_store.xml
app/src/main/res/layout/activity_store.xml
+3
-1
app/src/main/res/layout/dialog_store_cart.xml
app/src/main/res/layout/dialog_store_cart.xml
+35
-0
app/src/main/res/layout/dialog_store_ms.xml
app/src/main/res/layout/dialog_store_ms.xml
+180
-7
app/src/main/res/layout/fragment_settle.xml
app/src/main/res/layout/fragment_settle.xml
+84
-15
app/src/main/res/layout/fragment_store.xml
app/src/main/res/layout/fragment_store.xml
+57
-3
app/src/main/res/layout/fragment_store_search.xml
app/src/main/res/layout/fragment_store_search.xml
+1
-4
app/src/main/res/layout/item_settle_dis.xml
app/src/main/res/layout/item_settle_dis.xml
+1
-19
app/src/main/res/layout/item_settle_saledetail.xml
app/src/main/res/layout/item_settle_saledetail.xml
+0
-5
app/src/main/res/layout/view_order_detail.xml
app/src/main/res/layout/view_order_detail.xml
+249
-224
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+29
-1
No files found.
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
View file @
ed743618
...
...
@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.db;
import
com.blankj.utilcode.util.StringUtils
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.xingdata.zzdpos.App
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.base.BaseModel
;
...
...
@@ -15,8 +16,10 @@ import com.xingdata.zzdpos.ui.settle.SettlePresenter;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Locale
;
import
io.reactivex.Observable
;
import
io.realm.Realm
;
...
...
@@ -106,6 +109,46 @@ public class DBFactory {
return
Observable
.
just
(
DB
.
getInstance
().
get
(
StorePresenter
.
class
).
where
(
Sskugrp
.
class
).
findAll
())
.
flatMap
(
sskugrps
->
Observable
.
just
(
getList
(
sskugrps
)));
}
/**
* 查询商品名称
*
* @param skuId 商品Id
* @return 商品名称
*/
public
static
String
querySpuNameBySkuId
(
Long
skuId
)
{
List
<
Sssku
>
ssskus
=
getList
(
DB
.
getInstance
().
get
(
StorePresenter
.
class
).
where
(
Sssku
.
class
).
equalTo
(
"skuId"
,
skuId
).
findAll
());
if
(
ssskus
.
size
()
>
0
)
return
ssskus
.
get
(
0
).
getSpuName
();
else
return
null
;
}
/**
* 查询营销活动
*
* @return 营销活动
*/
public
static
Observable
<
List
<
Ms
>>
queryMss
()
{
RealmQuery
<
Ms
>
query
=
DB
.
getInstance
().
get
(
StorePresenter
.
class
).
where
(
Ms
.
class
);
query
.
equalTo
(
"msStatus"
,
0
);
query
.
notEqualTo
(
"msTools"
,
C
.
MS_TYPE
.
GIFT
);
Long
dateNow
=
Long
.
valueOf
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"yyyyMMdd"
,
Locale
.
getDefault
())));
query
.
beginGroup
().
lessThanOrEqualTo
(
"msDateBegin"
,
dateNow
).
greaterThanOrEqualTo
(
"msDateEnd"
,
dateNow
).
endGroup
();
String
weekNow
=
String
.
valueOf
(
TimeUtils
.
getWeekIndex
(
TimeUtils
.
getNowDate
()));
query
.
contains
(
"msWeekPlan"
,
weekNow
);
Long
timeNow
=
Long
.
valueOf
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"HHmmss"
,
Locale
.
getDefault
())));
query
.
beginGroup
().
lessThanOrEqualTo
(
"msTimeBegin"
,
timeNow
).
greaterThanOrEqualTo
(
"msTimeEnd"
,
timeNow
).
endGroup
();
query
.
equalTo
(
"msCoustomTag"
,
0
);
return
Observable
.
just
(
query
.
findAllSorted
(
"msTouchTag2"
,
Sort
.
DESCENDING
))
.
flatMap
(
ms
->
Observable
.
just
(
getList
(
ms
)));
}
}
public
static
class
Settle
{
...
...
@@ -131,6 +174,18 @@ public class DBFactory {
RealmQuery
<
Ms
>
query
=
DB
.
getInstance
().
get
(
SettlePresenter
.
class
).
where
(
Ms
.
class
);
query
.
equalTo
(
"msStatus"
,
0
);
query
.
notEqualTo
(
"msTools"
,
C
.
MS_TYPE
.
GIFT
);
Long
dateNow
=
Long
.
valueOf
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"yyyyMMdd"
,
Locale
.
getDefault
())));
query
.
beginGroup
().
lessThanOrEqualTo
(
"msDateBegin"
,
dateNow
).
greaterThanOrEqualTo
(
"msDateEnd"
,
dateNow
).
endGroup
();
String
weekNow
=
String
.
valueOf
(
TimeUtils
.
getWeekIndex
(
TimeUtils
.
getNowDate
()));
query
.
contains
(
"msWeekPlan"
,
weekNow
);
Long
timeNow
=
Long
.
valueOf
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"HHmmss"
,
Locale
.
getDefault
())));
query
.
beginGroup
().
lessThanOrEqualTo
(
"msTimeBegin"
,
timeNow
).
greaterThanOrEqualTo
(
"msTimeEnd"
,
timeNow
).
endGroup
();
return
Observable
.
just
(
query
.
findAllSorted
(
"msTouchTag2"
,
Sort
.
DESCENDING
))
.
flatMap
(
ms
->
Observable
.
just
(
getList
(
ms
)));
}
...
...
app/src/main/java/com/xingdata/zzdpos/model/Ms.java
View file @
ed743618
...
...
@@ -289,6 +289,8 @@ public class Ms extends RealmObject implements BaseModel, BaseBean {
private
Long
skuPrice1
;
private
String
cateName
;
public
Long
getId
()
{
return
id
;
}
...
...
@@ -724,6 +726,14 @@ public class Ms extends RealmObject implements BaseModel, BaseBean {
this
.
skuPrice1
=
skuPrice1
;
}
public
String
getCateName
()
{
return
cateName
;
}
public
void
setCateName
(
String
cateName
)
{
this
.
cateName
=
cateName
;
}
public
List
<
Saledetail
>
getSaledetailList
()
{
return
saledetailList
;
}
...
...
app/src/main/java/com/xingdata/zzdpos/model/Saledetail.java
View file @
ed743618
...
...
@@ -13,15 +13,15 @@ import com.xingdata.zzdpos.util.ConvertUtil;
* 订单详情(购物车商品明细)
*/
public
class
Saledetail
implements
BaseModel
,
BaseBean
,
BaseGoodPrint
{
@JSONField
(
serialize
=
false
)
public
boolean
isDiscount
()
{
return
skuPrice
.
longValue
()
!=
skuPricePay
.
longValue
();
}
@JSONField
(
serialize
=
false
)
public
double
getDiscountRate
()
{
return
skuPricePay
/
skuPrice
*
100
;
}
@JSONField
(
serialize
=
false
)
public
Long
getPromotionDisRate
()
{
return
skuPromotionPrice
*
100
/
skuPricePay
;
}
...
...
@@ -220,7 +220,7 @@ public class Saledetail implements BaseModel, BaseBean,BaseGoodPrint {
skuPricePay
=
skuOffFlag
>
0
?
skuPrice
*
(
vip
.
getVipDefDiscount
()
>
0
?
vip
.
getVipDefDiscount
()
:
100
)
/
100
:
skuPrice
;
detailAmt
=
skuPricePay
*
detailCnt
;
}
@JSONField
(
serialize
=
false
)
public
Long
getPromotionAmt
()
{
return
detailAmt
-
(
detailCnt
*
(
skuOffFlag
>
0
?
skuPromotionPrice
*
(
vip
.
getVipDefDiscount
()
>
0
?
vip
.
getVipDefDiscount
()
:
100
)
/
100
:
...
...
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
View file @
ed743618
...
...
@@ -1091,13 +1091,11 @@ public class Saleorder extends SectionEntity<MediaStore.Video> implements BaseMo
}
public
List
<
Dis
>
get
PreferentialProjec
t
()
{
public
List
<
Dis
>
get
DisLis
t
()
{
Dis
dis
=
new
Dis
(
C
.
DIS_TYPE
.
DIS
);
Dis
moneyOff
=
new
Dis
(
C
.
DIS_TYPE
.
MONEY_OFF
);
Dis
promotion
=
new
Dis
(
C
.
DIS_TYPE
.
PROMOTION
);
if
(
this
.
vipOffAmt
>
0
)
dis
.
setDisAmt
(
dis
.
getDisAmt
()
+
this
.
vipOffAmt
);
for
(
Map
.
Entry
<
Long
,
Ms
>
entry
:
msMap
.
entrySet
())
{
if
(
entry
.
getValue
().
getDisAmt
()
>
0
)
{
switch
(
entry
.
getValue
().
getMsTools
())
{
...
...
@@ -1121,8 +1119,14 @@ public class Saleorder extends SectionEntity<MediaStore.Video> implements BaseMo
List
<
Dis
>
disList
=
new
ArrayList
<>();
if
(
dis
.
getDisAmt
()
>
0
)
{
disList
.
add
(
dis
);
}
if
(
moneyOff
.
getDisAmt
()
>
0
)
{
disList
.
add
(
moneyOff
);
}
if
(
promotion
.
getDisAmt
()
>
0
)
{
disList
.
add
(
promotion
);
}
return
disList
;
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
View file @
ed743618
...
...
@@ -114,7 +114,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
@Override
public
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
)
{
mSettleFragment
.
loadSaledetails
(
saledetails
);
}
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
View file @
ed743618
...
...
@@ -138,6 +138,11 @@ interface SettleContract {
*/
public
abstract
void
initSettle
();
/**
* 结算页面 - 初始化商店信息
*/
public
abstract
void
initStoreInfo
();
/**
* 结算页面 - 点击会员View
*/
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
View file @
ed743618
...
...
@@ -6,7 +6,6 @@ import com.xingdata.zzdpos.C;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Ticket
;
...
...
@@ -38,11 +37,7 @@ public class SettlePresenter extends SettleContract.Presenter {
* 当前的营销活动列表
*/
private
List
<
Ms
>
mMss
;
/**
* 当前设备的支付渠道信息
*/
private
List
<
Pay
>
mPays
;
private
Ms
.
OnApplyListener
mOnApplyListener
;
/**
* 当前购物车的商品明细
...
...
@@ -71,6 +66,24 @@ public class SettlePresenter extends SettleContract.Presenter {
this
.
getStoreIntent
();
break
;
}
mOnApplyListener
=
new
Ms
.
OnApplyListener
()
{
@Override
public
void
setDis
(
Ms
ms
)
{
mSaleorder
.
addMsDis
(
ms
);
}
@Override
public
void
addGift
(
Long
msId
,
Long
skuId
,
long
addAmt
)
{
//这一版不做处理
}
@Override
public
void
removeGift
(
Long
msId
)
{
//这一版不作处理
}
};
}
/**
...
...
@@ -79,7 +92,6 @@ public class SettlePresenter extends SettleContract.Presenter {
private
void
getPaymentIntent
()
{
Long
payAmt
=
getIntent
().
getLongExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
,
0
);
mSaledetails
.
add
(
0
,
Saledetail
.
create
(
"收款"
,
payAmt
,
mVip
));
mSaleorder
.
setSaledetails
(
mSaledetails
);
}
/**
...
...
@@ -87,7 +99,6 @@ public class SettlePresenter extends SettleContract.Presenter {
*/
private
void
getStoreIntent
()
{
mSaledetails
.
addAll
((
ArrayList
)
getIntent
().
getSerializableExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
));
mSaleorder
.
setSaledetails
(
mSaledetails
);
}
...
...
@@ -102,6 +113,24 @@ public class SettlePresenter extends SettleContract.Presenter {
this
.
reprice
();
}
@Override
public
void
initStoreInfo
()
{
mView
.
loadSaledetails
(
mSaledetails
);
//设置订单详情
mSaleorder
.
setSaledetails
(
mSaledetails
);
DBFactory
.
Settle
.
queryMss
().
subscribe
(
ms
->
{
mMss
=
ms
;
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
mMss
.
get
(
i
).
setOnApplyListener
(
mOnApplyListener
);
}
//处理营销活动
this
.
processMs
();
//计算价格
this
.
reprice
();
});
}
@Override
public
void
clickVipView
()
{
mView
.
showVipFragment
();
...
...
@@ -126,6 +155,10 @@ public class SettlePresenter extends SettleContract.Presenter {
this
.
setVip
(
vip
);
// 重新设置购物车
mSaleorder
.
setSaledetails
(
mSaledetails
);
//处理营销活动
this
.
processMs
();
// 加载购物车
mView
.
loadSaledetails
(
mSaledetails
);
// 计算价格
this
.
reprice
();
...
...
@@ -293,6 +326,27 @@ public class SettlePresenter extends SettleContract.Presenter {
mView
.
loadAvlTicketNum
(
avlTicketNum
);
}
/**
* 处理营销活动
*/
private
void
processMs
()
{
//重置商品
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
mMss
.
get
(
i
).
setSaledetailList
(
new
ArrayList
<>());
}
//添加商品
for
(
int
i
=
0
;
i
<
mSaledetails
.
size
();
i
++)
{
for
(
int
j
=
0
;
j
<
mMss
.
size
();
j
++)
{
if
(!
mMss
.
get
(
j
).
isAvailable
(
mVip
))
continue
;
if
(
mMss
.
get
(
j
).
addSaledetail
(
mSaledetails
.
get
(
i
)))
break
;
}
}
//判断
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
mMss
.
get
(
i
).
execute
();
}
}
/**
* 统计订单信息
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/DisAdapter.java
View file @
ed743618
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
adapter
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemSettleDisBinding
;
...
...
@@ -16,6 +17,19 @@ public class DisAdapter extends BaseAdapter<Saleorder.Dis, ItemSettleDisBinding>
@Override
protected
void
convert
(
ItemSettleDisBinding
mViewBinding
,
Saleorder
.
Dis
item
)
{
mViewBinding
.
setAmt
(
item
.
getDisAmt
());
mViewBinding
.
setType
(
item
.
getDisType
());
switch
(
item
.
getDisType
())
{
case
C
.
DIS_TYPE
.
DIS
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_dis_abbr
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_red_oval
);
break
;
case
C
.
DIS_TYPE
.
PROMOTION
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_promotion_abbr
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_orange_oval
);
break
;
case
C
.
DIS_TYPE
.
MONEY_OFF
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_money_off_abbr
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_green_oval
);
break
;
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
View file @
ed743618
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
fragment
;
import
android.support.design.widget.BottomSheetBehavior
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.StaggeredGridLayoutManager
;
import
android.view.View
;
...
...
@@ -10,9 +11,11 @@ import com.xingdata.zzdpos.R;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSettleBinding
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
import
com.xingdata.zzdpos.ui.settle.adapter.DisAdapter
;
import
com.xingdata.zzdpos.ui.settle.adapter.PayAdapter
;
import
com.xingdata.zzdpos.ui.settle.adapter.SaledetailAdapter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
...
...
@@ -27,6 +30,7 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
private
List
<
Pay
>
mPays
;
private
SaledetailAdapter
mSaledetailAdapter
;
private
DisAdapter
mDisAdapter
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -92,23 +96,31 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
private
void
initStoreView
()
{
//init s
mSaledetailAdapter
=
new
SaledetailAdapter
();
mViewBinding
.
rlSaledetail
.
setAdapter
(
m
Pay
Adapter
);
mViewBinding
.
rlSaledetail
.
setAdapter
(
m
Saledetail
Adapter
);
mViewBinding
.
rlSaledetail
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
mSaledetailAdapter
.
addHeaderView
(
getLayoutInflater
().
inflate
(
R
.
layout
.
view_saledetail_header
,
null
));
//init d
mDisAdapter
=
new
DisAdapter
();
mViewBinding
.
rlDis
.
setAdapter
(
mDisAdapter
);
mViewBinding
.
rlDis
.
setLayoutManager
(
new
GridLayoutManager
(
mContext
,
3
));
//set other listener
mViewBinding
.
llSaledetail
.
setOnClickListener
(
view
->
mViewBinding
.
cbSaledetail
.
setChecked
(!
mViewBinding
.
cbSaledetail
.
isChecked
()));
mViewBinding
.
ll
Ms
.
setOnClickListener
(
view
->
mViewBinding
.
cbMs
.
setChecked
(!
mViewBinding
.
cbM
s
.
isChecked
()));
mViewBinding
.
llSaledetail
Hint
.
setOnClickListener
(
view
->
mViewBinding
.
cbSaledetail
.
setChecked
(!
mViewBinding
.
cbSaledetail
.
isChecked
()));
mViewBinding
.
ll
DisHint
.
setOnClickListener
(
view
->
mViewBinding
.
cbDis
.
setChecked
(!
mViewBinding
.
cbDi
s
.
isChecked
()));
mViewBinding
.
cbSaledetail
.
setOnCheckedChangeListener
((
compoundButton
,
b
)
->
{
mViewBinding
.
cbSaledetail
.
setButtonDrawable
(
b
?
R
.
mipmap
.
but_up
:
R
.
mipmap
.
but_unfurled
);
mViewBinding
.
r
lSaledetail
.
setVisibility
(
b
?
View
.
VISIBLE
:
View
.
GONE
);
mViewBinding
.
l
lSaledetail
.
setVisibility
(
b
?
View
.
VISIBLE
:
View
.
GONE
);
});
mViewBinding
.
cb
M
s
.
setOnCheckedChangeListener
((
compoundButton
,
b
)
->
{
mViewBinding
.
cb
M
s
.
setButtonDrawable
(
b
?
R
.
mipmap
.
but_up
:
R
.
mipmap
.
but_unfurled
);
mViewBinding
.
rlM
s
.
setVisibility
(
b
?
View
.
VISIBLE
:
View
.
GONE
);
mViewBinding
.
cb
Di
s
.
setOnCheckedChangeListener
((
compoundButton
,
b
)
->
{
mViewBinding
.
cb
Di
s
.
setButtonDrawable
(
b
?
R
.
mipmap
.
but_up
:
R
.
mipmap
.
but_unfurled
);
mViewBinding
.
llDi
s
.
setVisibility
(
b
?
View
.
VISIBLE
:
View
.
GONE
);
});
//init
mPresenter
.
initStoreInfo
();
}
...
...
@@ -159,13 +171,29 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
* @param saleorder 订单信息
*/
public
void
loadSaleorder
(
Saleorder
saleorder
)
{
mViewBinding
.
setOrderAuthAmt
(
saleorder
.
getOrder
Auth
Amt
());
mViewBinding
.
setOrderAuthAmt
(
saleorder
.
getOrder
VipOffAmt
()
-
saleorder
.
getMsDis
Amt
());
mViewBinding
.
setOrderPayAmt
(
saleorder
.
getOrderPayAmt
());
mViewBinding
.
setTicketAmt
(
saleorder
.
getTicketAmt
());
mViewBinding
.
setAvlPoints
(
saleorder
.
getBoundNum
());
mViewBinding
.
setPointDisAmt
(
ConvertUtil
.
fenToYuan
(
saleorder
.
getBoundAmt
()));
if
(
mDisAdapter
!=
null
)
{
mDisAdapter
.
setNewData
(
saleorder
.
getDisList
());
mViewBinding
.
tvVipOffAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
saleorder
.
getOrderVipOffAmt
(),
true
));
mViewBinding
.
tvOrderCnt
.
setText
(
String
.
valueOf
(
saleorder
.
getOrderCnt
()));
}
}
/**
* 加载购物车信息
*
* @param saledetails 购物车信息
*/
public
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
)
{
if
(
mSaledetailAdapter
!=
null
)
mSaledetailAdapter
.
setNewData
(
saledetails
);
}
/**
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
View file @
ed743618
...
...
@@ -57,12 +57,7 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
mStatisticsTitleFragment
.
searchSuc
(
saleorderPager
,
wd
);
}
@Override
public
void
getOrderDetailSuss
(
Saleorder
saleorder
)
{
Intent
intent
=
new
Intent
(
this
,
StatisticsDetailActivity
.
class
);
intent
.
putExtra
(
Saleorder
.
class
.
getName
(),
JSON
.
toJSONString
(
saleorder
));
ActivityUtils
.
startActivity
(
intent
);
}
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsContract.java
View file @
ed743618
...
...
@@ -12,9 +12,9 @@ import com.xingdata.zzdpos.ui.statistics.fragment.order.OrderListFragment;
*/
public
interface
StatisticsContract
{
interface
DetallView
extends
BaseView
{
}
interface
View
extends
BaseView
{
/**
* 设置统计信息
...
...
@@ -37,10 +37,10 @@ public interface StatisticsContract {
void
searchSuc
(
Pager
<
Saleorder
>
saleorderPager
,
String
wd
);
void
getOrderDetailSuss
(
Saleorder
saleorder
);
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
/**
* 跳转营销页
*/
...
...
@@ -51,10 +51,6 @@ public interface StatisticsContract {
*/
public
abstract
void
clickOrderList
();
/**
* 获取订单明细
*/
public
abstract
void
getOrderDetail
(
Saleorder
saleorder
);
/**
* 获取订单列表
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
View file @
ed743618
...
...
@@ -3,21 +3,23 @@ package com.xingdata.zzdpos.ui.statistics;
import
android.databinding.DataBindingUtil
;
import
android.util.TimeUtils
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
com.alibaba.fastjson.JSON
;
import
com.google.gson.Gson
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivityStatisticsDetailBinding
;
import
com.xingdata.zzdpos.databinding.ItemSettleSaledetailBinding
;
import
com.xingdata.zzdpos.databinding.ViewOrderDetailBinding
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
org.json.JSONObject
;
public
class
StatisticsDetailActivity
extends
BaseActivity
<
StatisticsDetailPresenter
,
ActivityStatisticsDetailBinding
>
implements
StatisticsDetailContract
.
View
{
public
class
StatisticsDetailActivity
extends
BaseActivity
<
StatisticsPresenter
,
ActivityStatisticsDetailBinding
>
implements
StatisticsContract
.
DetallView
{
private
Saleorder
mSaleorder
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -32,30 +34,10 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsPresenter,
private
void
initData
()
{
if
(
getIntent
().
getExtras
()
!=
null
)
{
String
data
=
getIntent
().
getStringExtra
(
Saleorder
.
class
.
getName
()
);
if
(
data
!=
null
)
{
m
Saleorder
=
new
Gson
().
fromJson
(
data
,
Saleorder
.
class
);
Long
data
=
getIntent
().
getLongExtra
(
Saleorder
.
class
.
getName
(),
-
1
);
if
(
data
>
0
)
{
m
Presenter
.
getOrderDetail
(
String
.
valueOf
(
data
)
);
mViewBinding
.
icTitle
.
tvTitle
.
setText
(
R
.
string
.
statistics_order_detail_hint
);
mViewBinding
.
viewOrderDetail
.
getViewStub
().
inflate
();
ViewOrderDetailBinding
viewOrderDetailBinding
=
DataBindingUtil
.
bind
(
mViewBinding
.
viewOrderDetail
.
getRoot
());
viewOrderDetailBinding
.
tvAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getOrderPayAmt
(),
true
));
viewOrderDetailBinding
.
setDate
(
com
.
blankj
.
utilcode
.
util
.
TimeUtils
.
millis2String
(
mSaleorder
.
getCreateTime
()));
viewOrderDetailBinding
.
setOrderNo
(
mSaleorder
.
getOrderNo
());
viewOrderDetailBinding
.
setDisAmt
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getOrderReduAmt
(),
false
));
viewOrderDetailBinding
.
setPayType
(
mSaleorder
.
getSalepay
()
==
null
?
"未支付"
:
mSaleorder
.
getSalepay
().
getPayName
());
viewOrderDetailBinding
.
setSumAmt
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getOrderAuthAmt
(),
false
));
viewOrderDetailBinding
.
setOperName
(
mSaleorder
.
getOperName
());
viewOrderDetailBinding
.
setGoodsNum
(
mSaleorder
.
getOrderCnt
()+
""
);
if
(
mSaleorder
.
getCutAmt
()==
null
||
mSaleorder
.
getCutAmt
()==
0
){
viewOrderDetailBinding
.
setCutAmtShow
(
false
);
}
else
{
viewOrderDetailBinding
.
setCutAmtShow
(
true
);
viewOrderDetailBinding
.
setCutAmt
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getCutAmt
(),
false
));
}
}
}
...
...
@@ -67,4 +49,48 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsPresenter,
super
.
onBackPressedSupport
();
}
@Override
public
void
getOrderDetailSuss
(
Saleorder
mSaleorder
)
{
mViewBinding
.
viewOrderDetail
.
getViewStub
().
inflate
();
ViewOrderDetailBinding
viewOrderDetailBinding
=
DataBindingUtil
.
bind
(
mViewBinding
.
viewOrderDetail
.
getRoot
());
viewOrderDetailBinding
.
tvAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getOrderPayAmt
(),
true
));
viewOrderDetailBinding
.
setDate
(
com
.
blankj
.
utilcode
.
util
.
TimeUtils
.
millis2String
(
mSaleorder
.
getCreateTime
()));
viewOrderDetailBinding
.
setOrderNo
(
mSaleorder
.
getOrderNo
());
viewOrderDetailBinding
.
setDisAmt
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getOrderReduAmt
(),
false
));
viewOrderDetailBinding
.
setPayType
(
mSaleorder
.
getSalepay
()
==
null
?
"未支付"
:
mSaleorder
.
getSalepay
().
getPayName
());
viewOrderDetailBinding
.
setSumAmt
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getOrderAuthAmt
(),
false
));
viewOrderDetailBinding
.
setOperName
(
mSaleorder
.
getOperName
());
viewOrderDetailBinding
.
setGoodsNum
(
mSaleorder
.
getOrderCnt
()
+
""
);
if
(
mSaleorder
.
getCutAmt
()
==
null
||
mSaleorder
.
getCutAmt
()
==
0
)
{
viewOrderDetailBinding
.
setCutAmtShow
(
false
);
}
else
{
viewOrderDetailBinding
.
setCutAmtShow
(
true
);
viewOrderDetailBinding
.
setCutAmt
(
ConvertUtil
.
fenToYuan
(
mSaleorder
.
getCutAmt
(),
false
));
}
if
(
mSaleorder
.
getSaledetailList
()
!=
null
)
{
for
(
Saledetail
saledetail
:
mSaleorder
.
getSaledetailList
())
{
View
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
item_settle_saledetail
,
null
);
ItemSettleSaledetailBinding
itemSettleSaledetailBinding
=
DataBindingUtil
.
bind
(
view
);
itemSettleSaledetailBinding
.
tvAmt
.
setText
(
"¥"
+
saledetail
.
getSubtotal
());
itemSettleSaledetailBinding
.
tvCount
.
setText
(
saledetail
.
getCnt
());
itemSettleSaledetailBinding
.
tvPrice
.
setText
(
"¥"
+
saledetail
.
getPrice
());
itemSettleSaledetailBinding
.
tvName
.
setText
(
saledetail
.
getName
());
// itemSettleSaledetailBinding.tvInitialPrice.setText(saledetail.getpr);
viewOrderDetailBinding
.
llGoodsList
.
addView
(
view
);
}
viewOrderDetailBinding
.
tvGoodslistTitle
.
setOnClickListener
(
view
->
{
viewOrderDetailBinding
.
tvGoodslistTitle
.
setCompoundDrawables
(
null
,
null
,
null
,
null
);
viewOrderDetailBinding
.
tvGoodslistTitle
.
setClickable
(
false
);
viewOrderDetailBinding
.
llGoodsList
.
setVisibility
(
View
.
VISIBLE
);
});
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailContract.java
0 → 100644
View file @
ed743618
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.ui.statistics.fragment.order.OrderListFragment
;
/**
* Created by Administrator on 2017/12/23.
*/
public
interface
StatisticsDetailContract
{
interface
View
extends
BaseView
{
void
getOrderDetailSuss
(
Saleorder
saleorder
);
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
/**
* 获取订单明细
*/
public
abstract
void
getOrderDetail
(
String
saleorderId
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailPresenter.java
0 → 100644
View file @
ed743618
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.api.ApiFactory
;
/**
* Created by Administrator on 2017/12/27.
*/
public
class
StatisticsDetailPresenter
extends
StatisticsDetailContract
.
Presenter
{
@Override
public
void
onAttached
()
{
}
@Override
public
void
getOrderDetail
(
String
mSaleorderId
)
{
ApiFactory
.
Test
.
getSaleOrderDetail
(
mSaleorderId
).
subscribe
(
saleorder
->
{
mView
.
getOrderDetailSuss
(
saleorder
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
View file @
ed743618
...
...
@@ -60,14 +60,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
}
@Override
public
void
getOrderDetail
(
Saleorder
mSaleorder
)
{
ApiFactory
.
Test
.
getSaleOrderDetail
(
mSaleorder
.
getId
()
+
""
).
subscribe
(
saleorder
->
{
mView
.
getOrderDetailSuss
(
saleorder
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
/**
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/order/OrderListFragment.java
View file @
ed743618
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
fragment
.
order
;
import
android.content.Intent
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
com.alibaba.fastjson.JSON
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
...
...
@@ -14,6 +17,7 @@ import com.xingdata.zzdpos.model.Pager;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsPresenter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsAdapter
;
import
com.xingdata.zzdpos.util.OnClickListener
;
...
...
@@ -76,7 +80,9 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen
mStatisticsAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
mPresenter
.
getOrderDetail
(
mStatisticsAdapter
.
getData
().
get
(
position
));
Intent
intent
=
new
Intent
(
getActivity
(),
StatisticsDetailActivity
.
class
);
intent
.
putExtra
(
Saleorder
.
class
.
getName
(),
mStatisticsAdapter
.
getData
().
get
(
position
).
getId
());
ActivityUtils
.
startActivity
(
intent
);
}
});
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
View file @
ed743618
...
...
@@ -6,6 +6,7 @@ import android.view.inputmethod.EditorInfo;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.KeyboardUtils
;
import
com.blankj.utilcode.util.StringUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
...
...
@@ -50,13 +51,17 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding
.
ivCart
.
setOnClickListener
(
view
->
mPresenter
.
clickCartLogo
());
mViewBinding
.
tvSettle
.
setOnClickListener
(
view
->
mPresenter
.
clickSettle
());
mViewBinding
.
btnBack
.
setOnClickListener
(
view
->
getTopFragment
().
onBackPressedSupport
());
mViewBinding
.
etSearch
.
setOnEditorActionListener
((
textView
,
i
,
keyEvent
)
->
{
if
(
i
==
EditorInfo
.
IME_ACTION_SEARCH
)
{
if
(
i
==
EditorInfo
.
IME_ACTION_SEARCH
&&
!
StringUtils
.
isEmpty
(
textView
.
getText
())
)
{
KeyboardUtils
.
hideSoftInput
(
textView
);
mPresenter
.
searchSku
(
textView
.
getText
().
toString
());
}
return
false
;
});
mViewBinding
.
etSearch
.
setOnFocusChangeListener
((
view
,
b
)
->
{
mPresenter
.
searchBarFocusChanged
(
b
);
});
}
...
...
@@ -77,12 +82,12 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public
void
loadMss
(
List
<
Ms
>
mss
)
{
mStoreFragment
.
loadMss
(
mss
);
}
@Override
public
<
Sku
extends
BaseSku
>
void
loadSearchResult
(
List
<
Sku
>
skus
,
boolean
isRefresh
)
{
mSearchFragment
.
loadSkus
(
skus
,
isRefresh
);
}
@Override
...
...
@@ -97,6 +102,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
,
boolean
isRefresh
)
{
mStoreFragment
.
loadSaledetails
(
saledetails
,
isRefresh
);
mSearchFragment
.
loadSaledetails
(
saledetails
,
isRefresh
);
}
...
...
@@ -115,6 +121,11 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mCartDialog
.
setSaleorder
(
saleorder
).
setSaledetails
(
saledetails
).
show
(
this
);
}
@Override
public
void
showMsDialog
(
List
<
Ms
>
mss
)
{
mMsDialog
.
setMss
(
mss
).
show
(
this
);
}
@Override
public
void
showSettle
(
List
<
Saledetail
>
saledetails
)
{
Intent
intent
=
new
Intent
(
StoreActivity
.
this
,
SettleActivity
.
class
);
...
...
@@ -125,4 +136,16 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
ActivityUtils
.
startActivity
(
intent
);
}
@Override
public
void
showSearchFragment
()
{
if
(!
mSearchFragment
.
isAdded
())
this
.
start
(
mSearchFragment
);
}
@Override
public
void
resetSearchBar
()
{
mViewBinding
.
etSearch
.
setText
(
""
);
mViewBinding
.
clTitle
.
requestFocus
();
mViewBinding
.
clTitle
.
requestFocusFromTouch
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
View file @
ed743618
...
...
@@ -77,7 +77,6 @@ interface StoreContract {
*/
void
dismissLoadingDialog
();
/**
* 显示购物车
*
...
...
@@ -86,6 +85,10 @@ interface StoreContract {
*/
void
showCartDialog
(
Saleorder
saleorder
,
List
<
Saledetail
>
saledetails
);
/**
* 显示营销方案
*/
void
showMsDialog
(
List
<
Ms
>
mss
);
/**
* 显示结算页面
...
...
@@ -93,6 +96,16 @@ interface StoreContract {
* @param saledetails 购物车详情列表
*/
void
showSettle
(
List
<
Saledetail
>
saledetails
);
/**
* 显示搜索页面
*/
void
showSearchFragment
();
/**
* 重置搜索栏
*/
void
resetSearchBar
();
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
...
...
@@ -139,6 +152,11 @@ interface StoreContract {
*/
public
abstract
void
clickSkugrp
(
Sskugrp
sskugrp
);
/**
* 商店页面 - 点击营销方案
*/
public
abstract
void
clickMs
();
/**
* 商店页面 - 点击添加商品
*
...
...
@@ -165,10 +183,23 @@ interface StoreContract {
*/
public
abstract
void
onCartDialogCancel
();
/**
* 搜索界面 - 关闭
*/
public
abstract
void
onSearchFragmentCancel
();
/**
* 购物车界面 - 清空购物车
*/
public
abstract
void
clearCart
();
/**
* 主页面 - 搜索框焦点改变
*
* @param b 获取焦点
*/
public
abstract
void
searchBarFocusChanged
(
boolean
b
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
View file @
ed743618
...
...
@@ -31,6 +31,7 @@ public class StorePresenter extends StoreContract.Presenter {
* 当前营销计划
*/
private
List
<
Ms
>
mMss
;
private
Ms
.
OnApplyListener
mOnApplyListener
;
private
int
mStorePageNum
;
private
Long
mSkuGrpId
;
...
...
@@ -45,10 +46,29 @@ public class StorePresenter extends StoreContract.Presenter {
mVip
=
Vip
.
createDefault
();
mSaledetails
=
new
ArrayList
<>();
mSaleorder
=
new
Saleorder
();
mOnApplyListener
=
new
Ms
.
OnApplyListener
()
{
@Override
public
void
setDis
(
Ms
ms
)
{
mSaleorder
.
addMsDis
(
ms
);
}
@Override
public
void
addGift
(
Long
msId
,
Long
skuId
,
long
addAmt
)
{
//这一版不做处理
}
@Override
public
void
removeGift
(
Long
msId
)
{
//这一版不作处理
}
};
}
@Override
public
void
clickSettle
()
{
if
(
mSaledetails
.
size
()
==
0
)
return
;
mView
.
showSettle
(
mSaledetails
);
}
...
...
@@ -60,6 +80,7 @@ public class StorePresenter extends StoreContract.Presenter {
@Override
public
void
initStore
()
{
this
.
getSkugrp
();
this
.
getMs
();
this
.
refreshSku
();
}
...
...
@@ -94,6 +115,11 @@ public class StorePresenter extends StoreContract.Presenter {
public
void
clickSkugrp
(
Sskugrp
sskugrp
)
{
}
@Override
public
void
clickMs
()
{
mView
.
showMsDialog
(
mMss
);
}
@Override
public
<
Sku
extends
BaseSku
>
void
clickAddSku
(
Sku
sku
)
{
//更新购物车信息
...
...
@@ -118,6 +144,8 @@ public class StorePresenter extends StoreContract.Presenter {
public
void
cartChanged
()
{
//设置订单信息
mSaleorder
.
setSaledetails
(
mSaledetails
);
//处理营销活动
this
.
processMs
();
//统计订单信息
this
.
reprice
();
}
...
...
@@ -128,14 +156,27 @@ public class StorePresenter extends StoreContract.Presenter {
mView
.
loadSaledetails
(
mSaledetails
,
true
);
}
@Override
public
void
onSearchFragmentCancel
()
{
//发送购物车信息并刷新页面
mView
.
loadSaledetails
(
mSaledetails
,
true
);
//充值搜索栏
mView
.
resetSearchBar
();
}
@Override
public
void
clearCart
()
{
//清空购物车
this
.
mSaledetails
=
new
ArrayList
<>();
//设置订单信息
mSaleorder
.
setSaledetails
(
mSaledetails
);
//统计订单信息
this
.
reprice
();
//购物车发生变
this
.
cartChanged
();
}
@Override
public
void
searchBarFocusChanged
(
boolean
b
)
{
if
(
b
)
mView
.
showSearchFragment
();
}
...
...
@@ -163,6 +204,23 @@ public class StorePresenter extends StoreContract.Presenter {
);
}
/**
* 获取营销计划
*/
private
void
getMs
()
{
mCompositeDisposable
.
add
(
DBFactory
.
Store
.
queryMss
().
subscribe
(
ms
->
{
mMss
=
ms
;
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
mMss
.
get
(
i
).
setOnApplyListener
(
mOnApplyListener
);
}
mView
.
loadMss
(
mMss
);
},
throwable
->
{
})
);
}
/**
* 搜索商品
*/
...
...
@@ -213,6 +271,28 @@ public class StorePresenter extends StoreContract.Presenter {
}
}
/**
* 处理营销活动
*/
private
void
processMs
()
{
//重置商品
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
mMss
.
get
(
i
).
setSaledetailList
(
new
ArrayList
<>());
}
//添加商品
for
(
int
i
=
0
;
i
<
mSaledetails
.
size
();
i
++)
{
for
(
int
j
=
0
;
j
<
mMss
.
size
();
j
++)
{
if
(!
mMss
.
get
(
j
).
isAvailable
(
mVip
))
continue
;
if
(
mMss
.
get
(
j
).
addSaledetail
(
mSaledetails
.
get
(
i
)))
break
;
}
}
//判断
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
mMss
.
get
(
i
).
execute
();
}
}
/**
* 统计订单信息
*/
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/dialog/MsDialog.java
View file @
ed743618
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
dialog
;
import
com.blankj.utilcode.util.StringUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseSheetDialog
;
import
com.xingdata.zzdpos.databinding.DialogStoreMsBinding
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.List
;
public
class
MsDialog
extends
BaseSheetDialog
<
StorePresenter
,
DialogStoreMsBinding
>
{
private
List
<
Ms
>
mMss
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
dialog_store_ms
;
...
...
@@ -15,6 +24,86 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
@Override
public
void
initView
()
{
mViewBinding
.
setDisInfo
(
""
);
mViewBinding
.
setPromotionInfo
(
""
);
mViewBinding
.
setMoneyOffInfo
(
""
);
mViewBinding
.
setGiftInfo
(
""
);
mViewBinding
.
tvClose
.
setOnClickListener
(
view
->
this
.
dismiss
());
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
switch
(
mMss
.
get
(
i
).
getMsTools
())
{
case
C
.
MS_TYPE
.
DIS
:
mViewBinding
.
setDisInfo
(
mViewBinding
.
getDisInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
mViewBinding
.
setPromotionInfo
(
mViewBinding
.
getPromotionInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
mViewBinding
.
setDisInfo
(
mViewBinding
.
getDisInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
mViewBinding
.
setMoneyOffInfo
(
mViewBinding
.
getMoneyOffInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
GIFT
:
mViewBinding
.
setGiftInfo
(
mViewBinding
.
getGiftInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
}
}
}
/**
* 设置营销方案
*
* @param mss 营销方案
*/
public
MsDialog
setMss
(
List
<
Ms
>
mss
)
{
this
.
mMss
=
mss
;
return
this
;
}
/**
* 获取营销计划的文字描述
*
* @param ms 营销计划
* @return 文字描述
*/
private
String
getMsDescription
(
Ms
ms
)
{
String
strGroup
=
""
,
strType
=
""
;
switch
(
ms
.
getMsTouchTag2
())
{
case
C
.
MS_GROUP
.
ALL
:
strGroup
=
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
BRAND
:
strGroup
=
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
CATE
:
strGroup
=
getString
(
R
.
string
.
ms_group_cate_info
,
ms
.
getCateName
());
break
;
case
C
.
MS_GROUP
.
SKU
:
String
spuName
=
DBFactory
.
Store
.
querySpuNameBySkuId
(
ms
.
getSkuId
());
strGroup
=
getString
(
R
.
string
.
ms_group_sku_info
,
!
StringUtils
.
isEmpty
(
spuName
)
?
spuName
:
ms
.
getSkuId
());
break
;
}
switch
(
ms
.
getMsTools
())
{
case
C
.
MS_TYPE
.
DIS
:
strType
=
getString
(
R
.
string
.
ms_type_dis_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
strType
=
getString
(
R
.
string
.
ms_type_promotion_info
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
strType
=
getString
(
R
.
string
.
ms_type_second_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
strType
=
getString
(
R
.
string
.
ms_type_money_off_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftOffAmt
()));
break
;
case
C
.
MS_TYPE
.
GIFT
:
strType
=
getString
(
R
.
string
.
ms_type_gift_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftSkuPrice
()),
ms
.
getGiftSkuName
());
break
;
}
return
strGroup
+
strType
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/SearchFragment.java
View file @
ed743618
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
fragment
;
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseSku
;
import
com.xingdata.zzdpos.databinding.FragmentStoreSearchBinding
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.ui.store.adapter.SkuAdapter
;
import
java.util.List
;
public
class
SearchFragment
extends
BaseFragment
<
StorePresenter
,
FragmentStoreSearchBinding
>
{
private
SkuAdapter
mSkuAdapter
;
private
List
<
Saledetail
>
mSaledetails
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_store_search
;
...
...
@@ -14,5 +28,76 @@ public class SearchFragment extends BaseFragment<StorePresenter, FragmentStoreSe
@Override
public
void
initView
()
{
// init sku
mSkuAdapter
=
new
SkuAdapter
<>();
mSkuAdapter
.
setSaledetails
(
mSaledetails
);
mViewBinding
.
rlSku
.
setAdapter
(
mSkuAdapter
);
mViewBinding
.
rlSku
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
// set sku listener
mSkuAdapter
.
setOnLoadMoreListener
(
this
::
loadMoreSku
,
mViewBinding
.
rlSku
);
mSkuAdapter
.
setOnCountChangeListener
((
sku
,
value
)
->
{
if
(
value
>
0
)
mPresenter
.
clickAddSku
(
sku
);
else
mPresenter
.
clickRemoveSku
(
sku
);
});
// set empty
@SuppressLint
(
"InflateParams"
)
View
view
=
getLayoutInflater
().
inflate
(
R
.
layout
.
view_empty
,
null
);
mSkuAdapter
.
setEmptyView
(
view
);
mSkuAdapter
.
isUseEmpty
(
false
);
}
@Override
public
boolean
onBackPressedSupport
()
{
mPresenter
.
onSearchFragmentCancel
();
return
super
.
onBackPressedSupport
();
}
/**
* 加载更多商品
*/
private
void
loadMoreSku
()
{
mPresenter
.
loadMoreSearchResult
();
}
/**
* 加载商品
*
* @param skus 商品
* @param isRefresh 是否刷新
* @param <Sku> 商品类型
*/
public
<
Sku
extends
BaseSku
>
void
loadSkus
(
List
<
Sku
>
skus
,
boolean
isRefresh
)
{
if
(
isRefresh
)
{
mSkuAdapter
.
isUseEmpty
(
true
);
mSkuAdapter
.
setEnableLoadMore
(
true
);
mSkuAdapter
.
setNewData
(
skus
);
}
else
if
(
skus
.
size
()
>
0
)
mSkuAdapter
.
addData
(
skus
);
if
(
skus
.
size
()
<
C
.
PRODUCT
.
PAGE_SIZE
)
mSkuAdapter
.
loadMoreEnd
(
isRefresh
);
else
mSkuAdapter
.
loadMoreComplete
();
}
/**
* 加载购物车信息
*
* @param saledetails 购物车信息
*/
public
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
,
boolean
isRefresh
)
{
this
.
setSaledetails
(
saledetails
);
if
(!
isAdded
())
return
;
mSkuAdapter
.
setSaledetails
(
saledetails
);
if
(
isRefresh
)
mSkuAdapter
.
notifyDataSetChanged
();
}
/**
* 设置购物车信息
*
* @param saledetails 购物车信息
*/
public
void
setSaledetails
(
List
<
Saledetail
>
saledetails
)
{
this
.
mSaledetails
=
saledetails
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
View file @
ed743618
...
...
@@ -4,23 +4,27 @@ import android.annotation.SuppressLint;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
com.blankj.utilcode.util.StringUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseSku
;
import
com.xingdata.zzdpos.databinding.FragmentStoreBinding
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.ui.store.adapter.SkuAdapter
;
import
com.xingdata.zzdpos.ui.store.adapter.SkugrpAdapter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.List
;
public
class
StoreFragment
extends
BaseFragment
<
StorePresenter
,
FragmentStoreBinding
>
{
private
SkuAdapter
mSkuAdapter
;
private
SkugrpAdapter
mSkugrpAdapter
;
private
SkuAdapter
mSkuAdapter
;
public
interface
OnCountChangeListener
{
void
onCountChange
(
BaseSku
sku
,
int
value
);
...
...
@@ -52,15 +56,18 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
else
mPresenter
.
clickRemoveSku
(
sku
);
});
// set grp listener
mSkugrpAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
mPresenter
.
clickSkugrp
(
mSkugrpAdapter
.
getData
().
get
(
position
)));
// set other listener
mViewBinding
.
llMs
.
setOnClickListener
(
view
->
mPresenter
.
clickMs
());
// set empty
@SuppressLint
(
"InflateParams"
)
View
view
=
getLayoutInflater
().
inflate
(
R
.
layout
.
view_empty
,
null
);
mSkuAdapter
.
setEmptyView
(
view
);
mSkuAdapter
.
isUseEmpty
(
false
);
// init data
mPresenter
.
initStore
();
}
...
...
@@ -89,6 +96,84 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
mSkugrpAdapter
.
setNewData
(
sskugrps
);
}
/**
* 加载营销方案
*
* @param mss 营销列表
*/
public
void
loadMss
(
List
<
Ms
>
mss
)
{
mViewBinding
.
setMsCount
(
mss
.
size
());
if
(
mss
.
size
()
>
0
)
{
Ms
showMs
=
mss
.
get
(
0
);
switch
(
showMs
.
getMsTools
())
{
case
C
.
MS_TYPE
.
DIS
:
mViewBinding
.
tvMsType
.
setText
(
R
.
string
.
ms_type_dis
);
mViewBinding
.
tvMsType
.
setBackgroundResource
(
R
.
drawable
.
shape_red_r1
);
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
mViewBinding
.
tvMsType
.
setText
(
R
.
string
.
ms_type_promotion
);
mViewBinding
.
tvMsType
.
setBackgroundResource
(
R
.
drawable
.
shape_orange_r1
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
mViewBinding
.
tvMsType
.
setText
(
R
.
string
.
ms_type_dis
);
mViewBinding
.
tvMsType
.
setBackgroundResource
(
R
.
drawable
.
shape_red_r1
);
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
mViewBinding
.
tvMsType
.
setText
(
R
.
string
.
ms_type_money_off
);
mViewBinding
.
tvMsType
.
setBackgroundResource
(
R
.
drawable
.
shape_green_r1
);
break
;
case
C
.
MS_TYPE
.
GIFT
:
mViewBinding
.
tvMsType
.
setText
(
R
.
string
.
ms_type_gift
);
mViewBinding
.
tvMsType
.
setBackgroundResource
(
R
.
drawable
.
shape_green_r1
);
break
;
}
mViewBinding
.
tvMsDis
.
setText
(
getMsDescription
(
showMs
));
}
}
/**
* 获取营销计划的文字描述
*
* @param ms 营销计划
* @return 文字描述
*/
private
String
getMsDescription
(
Ms
ms
)
{
String
strGroup
=
""
,
strType
=
""
;
switch
(
ms
.
getMsTouchTag2
())
{
case
C
.
MS_GROUP
.
ALL
:
strGroup
=
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
BRAND
:
strGroup
=
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
CATE
:
strGroup
=
getString
(
R
.
string
.
ms_group_cate_info
,
ms
.
getCateName
());
break
;
case
C
.
MS_GROUP
.
SKU
:
String
spuName
=
DBFactory
.
Store
.
querySpuNameBySkuId
(
ms
.
getSkuId
());
strGroup
=
getString
(
R
.
string
.
ms_group_sku_info
,
!
StringUtils
.
isEmpty
(
spuName
)
?
spuName
:
ms
.
getSkuId
());
break
;
}
switch
(
ms
.
getMsTools
())
{
case
C
.
MS_TYPE
.
DIS
:
strType
=
getString
(
R
.
string
.
ms_type_dis_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
strType
=
getString
(
R
.
string
.
ms_type_promotion_info
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
strType
=
getString
(
R
.
string
.
ms_type_second_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
strType
=
getString
(
R
.
string
.
ms_type_money_off_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftOffAmt
()));
break
;
case
C
.
MS_TYPE
.
GIFT
:
strType
=
getString
(
R
.
string
.
ms_type_gift_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftSkuPrice
()),
ms
.
getGiftSkuName
());
break
;
}
return
strGroup
+
strType
;
}
/**
* 加载商品
...
...
app/src/main/res/drawable/shape_blue_oval.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"oval"
>
<solid
android:color=
"@color/blue_mawu"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_blue_r1.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/all_shape_radius"
/>
<solid
android:color=
"@color/blue_mawu"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_green_oval.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"oval"
>
<solid
android:color=
"@color/green_chengyaojin"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_green_r1.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/all_shape_radius"
/>
<solid
android:color=
"@color/green_chengyaojin"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_orange_oval.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"oval"
>
<solid
android:color=
"@color/orange_shixiu"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_orange_r1.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/all_shape_radius"
/>
<solid
android:color=
"@color/orange_shixiu"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_red_oval.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"oval"
>
<solid
android:color=
"@color/red_guanyu"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_red_r1.xml
0 → 100644
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/all_shape_radius"
/>
<solid
android:color=
"@color/red_guanyu"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_payment.xml
View file @
ed743618
...
...
@@ -13,9 +13,9 @@
<ImageButton
android:id=
"@+id/btn_back"
android:layout_width=
"
@dimen/title_height
"
android:layout_width=
"
?attr/actionBarSize
"
android:layout_height=
"match_parent"
android:background=
"?attr/
selectable
ItemBackground"
android:background=
"?attr/
actionBar
ItemBackground"
android:contentDescription=
"@string/all_go_back"
android:gravity=
"center"
android:padding=
"@dimen/all_margin"
...
...
app/src/main/res/layout/activity_settle.xml
View file @
ed743618
...
...
@@ -22,9 +22,9 @@
<ImageButton
android:id=
"@+id/btn_back"
android:layout_width=
"
@dimen/title_height
"
android:layout_width=
"
?attr/actionBarSize
"
android:layout_height=
"match_parent"
android:background=
"?attr/
selectable
ItemBackground"
android:background=
"?attr/
actionBar
ItemBackground"
android:contentDescription=
"@string/all_go_back"
android:gravity=
"center"
android:padding=
"@dimen/all_margin"
...
...
app/src/main/res/layout/activity_statistics_detail.xml
View file @
ed743618
...
...
@@ -15,10 +15,9 @@
app:layout_constraintTop_toTopOf=
"parent"
/>
<
android.support.v7.widget.CardView
<
FrameLayout
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_margin=
"@dimen/all_margin"
app:layout_constraintBottom_toTopOf=
"@id/ll_bottom"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
@@ -29,7 +28,7 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout=
"@layout/view_order_detail"
/>
</
android.support.v7.widget.CardView
>
</
FrameLayout
>
<LinearLayout
android:id=
"@+id/ll_bottom"
...
...
app/src/main/res/layout/activity_store.xml
View file @
ed743618
...
...
@@ -36,12 +36,14 @@
android:layout_height=
"?attr/actionBarSize"
android:animateLayoutChanges=
"true"
android:background=
"@color/white_caocao"
android:focusable=
"true"
android:focusableInTouchMode=
"true"
app:layout_constraintBottom_toTopOf=
"@id/f_store"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageButton
android:id=
"@+id/btn_back"
android:layout_width=
"
@dimen/title_height
"
android:layout_width=
"
?attr/actionBarSize
"
android:layout_height=
"match_parent"
android:background=
"?attr/actionBarItemBackground"
android:contentDescription=
"@string/all_go_back"
...
...
app/src/main/res/layout/dialog_store_cart.xml
View file @
ed743618
...
...
@@ -29,6 +29,41 @@
android:gravity=
"center"
android:orientation=
"vertical"
>
<LinearLayout
android:id=
"@+id/fl_ms"
android:layout_width=
"0dp"
android:layout_height=
"@dimen/all_margin_big"
android:layout_marginBottom=
"@dimen/all_line_width"
android:alpha=
"0.87"
android:background=
"@color/cyan_sunquan"
android:gravity=
"center"
android:orientation=
"horizontal"
android:visibility=
"@{msDisAmt>0?View.VISIBLE:View.GONE}"
app:layout_constraintBottom_toTopOf=
"@id/ll_title"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/store_ms_dis"
android:textColor=
"@color/black_zhangfei"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@{ConvertUtil.fenToYuan(msDisAmt)}"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/unit_rmb_yuan"
android:textColor=
"@color/black_zhangfei"
android:textSize=
"@dimen/all_text_size"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_title"
...
...
app/src/main/res/layout/dialog_store_ms.xml
View file @
ed743618
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"disInfo"
type=
"String"
/>
<variable
name=
"promotionInfo"
type=
"String"
/>
<variable
name=
"moneyOffInfo"
type=
"String"
/>
<variable
name=
"giftInfo"
type=
"String"
/>
</data>
<LinearLayout
android:layout_width=
"
wrap_cont
ent"
android:layout_width=
"
match_par
ent"
android:layout_height=
"wrap_content"
android:background=
"@color/transparent"
android:gravity=
"center"
android:background=
"@color/white_caocao"
android:orientation=
"vertical"
>
<FrameLayout
android:id=
"@+id/fl_title"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:text=
"@string/ms_dialog_title"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_sub_title_size"
/>
<TextView
android:id=
"@+id/tv_close"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|end"
android:foreground=
"?android:attr/selectableItemBackground"
android:paddingBottom=
"@dimen/all_spacing"
android:paddingEnd=
"@dimen/all_margin_big"
android:paddingStart=
"@dimen/all_margin_big"
android:paddingTop=
"@dimen/all_spacing"
android:text=
"@string/all_close"
android:textColor=
"@color/black_baozheng"
/>
</FrameLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:background=
"@color/gray_huanggai"
app:layout_constraintTop_toBottomOf=
"@id/fl_title"
/>
<TextView
android:layout_width=
"wrap_content"
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"AAAAAAAAAAAAAAAAAA"
/>
android:gravity=
"top|start"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{disInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_red_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_dis"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_dis"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{disInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"top|start"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{promotionInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_orange_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_promotion"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_promotion"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{promotionInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"top|start"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{moneyOffInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_green_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_money_off"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_money_off"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{moneyOffInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"top|start"
android:paddingBottom=
"@dimen/all_margin"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{giftInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_blue_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_gift"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_gift"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{giftInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_settle.xml
View file @
ed743618
...
...
@@ -188,7 +188,7 @@
android:orientation=
"vertical"
>
<LinearLayout
android:id=
"@+id/ll_saledetail"
android:id=
"@+id/ll_saledetail
_hint
"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:animateLayoutChanges=
"true"
...
...
@@ -212,14 +212,68 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:button=
"@mipmap/but_unfurled"
android:checked=
"true"
android:foreground=
"?android:attr/actionBarItemBackground"
/>
</LinearLayout>
<
android.support.v7.widget.RecyclerView
android:id=
"@+id/
r
l_saledetail"
<
LinearLayout
android:id=
"@+id/
l
l_saledetail"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:visibility=
"gone"
/>
android:orientation=
"vertical"
android:visibility=
"visible"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_saledetail"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginEnd=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:background=
"@color/gray_kongming"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"6"
android:gravity=
"start"
android:text=
"@string/cart_amt"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:id=
"@+id/tv_order_cnt"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"end"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:id=
"@+id/tv_vip_off_amt"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"4"
android:gravity=
"end"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width=
"match_parent"
...
...
@@ -228,9 +282,8 @@
android:layout_marginStart=
"@dimen/all_margin"
android:background=
"@color/gray_kongming"
/>
<LinearLayout
android:id=
"@+id/ll_
ms
"
android:id=
"@+id/ll_
dis_hint
"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:animateLayoutChanges=
"true"
...
...
@@ -245,33 +298,49 @@
android:layout_height=
"?attr/actionBarSize"
android:layout_weight=
"1"
android:gravity=
"center_vertical"
android:text=
"@string/settle_
m
s_hint"
android:text=
"@string/settle_
di
s_hint"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
<CheckBox
android:id=
"@+id/cb_
m
s"
android:id=
"@+id/cb_
di
s"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:button=
"@mipmap/but_unfurled"
android:checked=
"true"
android:foreground=
"?android:attr/actionBarItemBackground"
/>
</LinearLayout>
<View
android:id=
"@+id/rl_ms"
<LinearLayout
android:id=
"@+id/ll_dis"
android:layout_width=
"match_parent"
android:layout_height=
"100dp"
android:background=
"@color/red_diaochan"
android:visibility=
"gone"
/>
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:visibility=
"visible"
>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginEnd=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:background=
"@color/gray_kongming"
/>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_dis"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:background=
"@color/gray_huanggai"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_vip"
android:layout_width=
"match_parent"
...
...
app/src/main/res/layout/fragment_store.xml
View file @
ed743618
...
...
@@ -2,23 +2,77 @@
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"msCount"
type=
"int"
/>
</data>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/gray_zhouyu"
android:orientation=
"vertical"
>
<LinearLayout
<FrameLayout
android:id=
"@+id/ll_ms"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
>
android:background=
"@color/white_caocao"
android:orientation=
"vertical"
android:visibility=
"@{msCount>0 ?View.VISIBLE:View.GONE}"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginEnd=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:background=
"@drawable/shape_gray_r1"
android:foreground=
"?attr/selectableItemBackground"
android:gravity=
"center_vertical"
android:padding=
"@dimen/all_spacing"
>
<TextView
android:id=
"@+id/tv_ms_type"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_ms_dis"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_spacing"
android:layout_weight=
"1"
android:textColor=
"@color/black_baozheng"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_spacing"
android:layout_marginStart=
"@dimen/all_spacing"
android:drawableEnd=
"@mipmap/but_unfurled"
android:drawablePadding=
"@dimen/all_spacing"
android:text=
"@{msCount +@string/store_ms_count}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_gravity=
"bottom"
android:background=
"@color/gray_huanggai"
/>
</
Linear
Layout>
</
Frame
Layout>
<View
...
...
app/src/main/res/layout/fragment_store_search.xml
View file @
ed743618
...
...
@@ -22,9 +22,6 @@
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_sku"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/blue_mawu"
/>
android:layout_height=
"match_parent"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_settle_dis.xml
View file @
ed743618
...
...
@@ -6,12 +6,6 @@
<import
type=
"com.xingdata.zzdpos.util.ConvertUtil"
/>
<import
type=
"com.xingdata.zzdpos.C.DIS_TYPE"
/>
<variable
name=
"type"
type=
"int"
/>
<variable
name=
"amt"
type=
"long"
/>
...
...
@@ -23,24 +17,12 @@
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
>
<com.facebook.drawee.view.SimpleDraweeView
android:layout_width=
"0dp"
android:layout_height=
"0dp"
app:backgroundImage=
"@color/green_chengyaojin"
app:layout_constraintBottom_toBottomOf=
"@id/tv_type"
app:layout_constraintLeft_toLeftOf=
"@id/tv_type"
app:layout_constraintRight_toRightOf=
"@id/tv_type"
app:layout_constraintTop_toTopOf=
"@id/tv_type"
app:roundAsCircle=
"true"
/>
<TextView
android:id=
"@+id/tv_type"
android:layout_width=
"@dimen/all_margin_big"
android:layout_height=
"@dimen/all_margin_big"
android:
layout_marginStart=
"@dimen/all_margin
"
android:
background=
"@drawable/shape_red_oval
"
android:gravity=
"center"
android:text=
"满"
android:textColor=
"@color/white_caocao"
android:textSize=
"@dimen/all_text_size"
app:layout_constraintBottom_toTopOf=
"parent"
...
...
app/src/main/res/layout/item_settle_saledetail.xml
View file @
ed743618
...
...
@@ -16,7 +16,6 @@
android:layout_height=
"wrap_content"
android:maxLines=
"2"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_caption_size"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintHorizontal_weight=
"6"
app:layout_constraintLeft_toLeftOf=
"parent"
...
...
@@ -29,7 +28,6 @@
android:layout_height=
"wrap_content"
android:gravity=
"end"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_caption_size"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintHorizontal_weight=
"1"
app:layout_constraintLeft_toRightOf=
"@+id/tv_name"
...
...
@@ -43,7 +41,6 @@
android:layout_height=
"wrap_content"
android:gravity=
"end"
android:textColor=
"@color/gray"
android:textSize=
"@dimen/all_caption_size"
android:visibility=
"gone"
app:layout_constraintBottom_toTopOf=
"@+id/tv_price"
app:layout_constraintLeft_toRightOf=
"@+id/tv_count"
...
...
@@ -57,7 +54,6 @@
android:layout_height=
"wrap_content"
android:gravity=
"end"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_caption_size"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintHorizontal_weight=
"2"
app:layout_constraintLeft_toRightOf=
"@+id/tv_count"
...
...
@@ -70,7 +66,6 @@
android:layout_height=
"wrap_content"
android:gravity=
"end"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_caption_size"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintHorizontal_weight=
"2"
app:layout_constraintLeft_toRightOf=
"@+id/tv_price"
...
...
app/src/main/res/layout/view_order_detail.xml
View file @
ed743618
This diff is collapsed.
Click to expand it.
app/src/main/res/values/strings.xml
View file @
ed743618
...
...
@@ -6,6 +6,7 @@
<string
name=
"all_dialog"
>
对话框
</string>
<string
name=
"all_cancel"
>
取消
</string>
<string
name=
"all_confirm"
>
确认
</string>
<string
name=
"all_close"
>
关闭
</string>
<string
name=
"all_add"
>
添加
</string>
<string
name=
"all_no"
>
否
</string>
<string
name=
"all_yes"
>
是
</string>
...
...
@@ -521,7 +522,7 @@
<string
name=
"settle_point_amt_text"
>
, 可抵用
</string>
<string
name=
"settle_balance"
>
账户余额
</string>
<string
name=
"settle_saledetail_hint"
>
商品详情
</string>
<string
name=
"settle_
ms_hint"
>
账户余额
</string>
<string
name=
"settle_
dis_hint"
>
优惠项目
</string>
<!--支付里的Vip-->
<string
name=
"settle_vip_search_hint"
>
请输入会员手机号
</string>
...
...
@@ -543,6 +544,33 @@
<string
name=
"store_search_hint"
>
请输入商品名称/助记码/条码
</string>
<string
name=
"store_reduce"
>
减少
</string>
<string
name=
"store_increase"
>
添加
</string>
<string
name=
"store_ms_count"
>
项优惠
</string>
<!--优惠-->
<string
name=
"ms_dialog_title"
>
优惠活动
</string>
<string
name=
"ms_group_all"
>
全场
</string>
<string
name=
"ms_group_all_info"
>
全场
</string>
<string
name=
"ms_group_brand"
>
品牌
</string>
<string
name=
"ms_group_brand_info"
>
买%s
</string>
<string
name=
"ms_group_cate"
>
品类
</string>
<string
name=
"ms_group_cate_info"
>
买%s
</string>
<string
name=
"ms_group_sku"
>
指定商品
</string>
<string
name=
"ms_group_sku_info"
>
买%s
</string>
<string
name=
"ms_type_dis"
>
打折
</string>
<string
name=
"ms_type_dis_info"
>
享受%s折优惠
</string>
<string
name=
"ms_type_dis_abbr"
>
折
</string>
<string
name=
"ms_type_promotion"
>
促销
</string>
<string
name=
"ms_type_promotion_info"
>
享受促销价
</string>
<string
name=
"ms_type_promotion_abbr"
>
促
</string>
<string
name=
"ms_type_money_off"
>
满减
</string>
<string
name=
"ms_type_money_off_info"
>
满%s元减%s元
</string>
<string
name=
"ms_type_money_off_abbr"
>
满
</string>
<string
name=
"ms_type_second"
>
打折
</string>
<string
name=
"ms_type_second_info"
>
第二件享受%s折优惠
</string>
<string
name=
"ms_type_second_abbr"
>
折
</string>
<string
name=
"ms_type_gift"
>
换购
</string>
<string
name=
"ms_type_gift_info"
>
满%s元加%s元换购%s一件
</string>
<string
name=
"ms_type_gift_abbr"
>
换
</string>
<!--帮助POS-->
<string
name=
"help_hint"
>
帮助
</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