Skip to content
项目
Groups
代码片段
帮助
正在加载...
Sign in / Register
Toggle navigation
W
workoffice
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图表
统计图
Create a new issue
作业
提交
议题看板
Open sidebar
冷广德
workoffice
Commits
35082b55
提交
35082b55
authored
6月 21, 2020
作者:
lgd
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.添加通用购物车红点
上级
c1a5fe67
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
209 行增加
和
89 行删除
+209
-89
ChooseInfoActivity.java
.../workoffice/ui/activity/bat/store/ChooseInfoActivity.java
+119
-89
BadgeCarProvider.java
.../main/java/com/wd/workoffice/widget/BadgeCarProvider.java
+62
-0
view_red.xml
app/src/main/res/layout/view_red.xml
+26
-0
menu_store_cart.xml
app/src/main/res/menu/menu_store_cart.xml
+2
-0
没有找到文件。
app/src/main/java/com/wd/workoffice/ui/activity/bat/store/ChooseInfoActivity.java
浏览文件 @
35082b55
...
...
@@ -34,6 +34,7 @@ import com.wd.workoffice.util.DialogUtils;
import
com.wd.workoffice.util.UserKeeper
;
import
com.wd.workoffice.util.WorkUtils
;
import
com.wd.workoffice.widget.AddAndReduceView
;
import
com.wd.workoffice.widget.BadgeCarProvider
;
import
org.greenrobot.eventbus.EventBus
;
import
org.greenrobot.eventbus.Subscribe
;
...
...
@@ -46,6 +47,7 @@ import java.util.Map;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.core.view.MenuItemCompat
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
butterknife.BindView
;
...
...
@@ -116,6 +118,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
private
TradingProductAdapter
tradingProductAdapter
;
private
Map
<
String
,
Object
>
tradeParam
;
private
StockBean
chooseSendStock
;
private
BadgeCarProvider
mActionProvider
;
@Override
protected
void
initView
()
{
...
...
@@ -229,6 +232,14 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
@Override
public
boolean
onCreateOptionsMenu
(
Menu
menu
)
{
getMenuInflater
().
inflate
(
R
.
menu
.
menu_store_cart
,
menu
);
MenuItem
menuItem
=
menu
.
findItem
(
R
.
id
.
cart
);
mActionProvider
=
(
BadgeCarProvider
)
MenuItemCompat
.
getActionProvider
(
menuItem
);
mActionProvider
.
setOnClickListener
(
new
BadgeCarProvider
.
OnClickListener
()
{
@Override
public
void
onClick
()
{
goCar
();
}
});
return
super
.
onCreateOptionsMenu
(
menu
);
}
...
...
@@ -236,102 +247,107 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
public
boolean
onOptionsItemSelected
(
MenuItem
item
)
{
switch
(
item
.
getItemId
())
{
case
R
.
id
.
cart
:
if
(
TextUtils
.
equals
(
"6"
,
type
))
{
if
(
goCar
())
return
super
.
onOptionsItemSelected
(
item
);
break
;
}
return
super
.
onOptionsItemSelected
(
item
);
}
private
boolean
goCar
()
{
if
(
TextUtils
.
equals
(
"6"
,
type
))
{
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
true
;
}
if
(!
carMap
.
containsKey
(
"pro"
))
{
toast
(
"购物车没有产品"
);
return
true
;
}
startActivity
(
StoreTradingCarActivity
.
class
,
"pro"
,
JSON
.
toJSONString
(
carMap
),
"supplierId"
,
supplyId
==
null
?
""
:
supplyId
.
toString
(),
"subProcess"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getName
(),
"subProcessId"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getId
()
+
""
,
"inStockId"
,
chooseStock
==
null
?
""
:
chooseStock
.
getId
()
+
""
,
"customerId"
,
clientId
==
null
?
""
:
clientId
.
toString
(),
"receiveDeptId"
,
getIntent
().
getStringExtra
(
"deptId"
),
"code"
,
permissionCode
);
}
else
{
if
(
carList
.
size
()
==
0
)
{
toast
(
"购物车没有产品"
);
return
true
;
}
switch
(
type
)
{
case
"1"
:
if
(
clientId
==
null
)
{
toast
(
"请选择客户"
);
return
true
;
}
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
super
.
onOptionsItemSelected
(
item
)
;
return
true
;
}
if
(
!
carMap
.
containsKey
(
"pro"
)
)
{
toast
(
"
购物车没有产品
"
);
return
super
.
onOptionsItemSelected
(
item
)
;
if
(
chooseSendStock
==
null
)
{
toast
(
"
请选择发货仓库
"
);
return
true
;
}
startActivity
(
StoreTradingCarActivity
.
class
,
"pro"
,
JSON
.
toJSONString
(
carMap
),
"supplierId"
,
supplyId
==
null
?
""
:
supplyId
.
toString
(),
"subProcess"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getName
(),
"subProcessId"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getId
()
+
""
,
"inStockId"
,
chooseStock
==
null
?
""
:
chooseStock
.
getId
()
+
""
,
"customerId"
,
clientId
==
null
?
""
:
clientId
.
toString
(),
"receiveDeptId"
,
getIntent
().
getStringExtra
(
"deptId"
),
"code"
,
permissionCode
);
}
else
{
if
(
carList
.
size
()
==
0
)
{
toast
(
"购物车没有产品"
);
return
super
.
onOptionsItemSelected
(
item
);
break
;
case
"2"
:
if
(
clientId
==
null
)
{
toast
(
"请选择客户"
);
return
true
;
}
switch
(
type
)
{
case
"1"
:
if
(
clientId
==
null
)
{
toast
(
"请选择客户"
);
return
super
.
onOptionsItemSelected
(
item
);
}
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
super
.
onOptionsItemSelected
(
item
);
}
if
(
chooseSendStock
==
null
)
{
toast
(
"请选择发货仓库"
);
return
super
.
onOptionsItemSelected
(
item
);
}
break
;
case
"2"
:
if
(
clientId
==
null
)
{
toast
(
"请选择客户"
);
return
super
.
onOptionsItemSelected
(
item
);
}
if
(
supplyId
==
null
)
{
toast
(
"请选择供应商"
);
return
super
.
onOptionsItemSelected
(
item
);
}
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
super
.
onOptionsItemSelected
(
item
);
}
if
(
chooseSendStock
==
null
)
{
toast
(
"请选择发货仓库"
);
return
super
.
onOptionsItemSelected
(
item
);
}
break
;
case
"3"
:
if
(
supplyId
==
null
)
{
toast
(
"请先选择供应商"
);
return
super
.
onOptionsItemSelected
(
item
);
}
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
super
.
onOptionsItemSelected
(
item
);
}
break
;
case
"4"
:
break
;
case
"5"
:
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
super
.
onOptionsItemSelected
(
item
);
}
break
;
case
"6"
:
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
super
.
onOptionsItemSelected
(
item
);
}
break
;
if
(
supplyId
==
null
)
{
toast
(
"请选择供应商"
);
return
true
;
}
startActivity
(
StoreSaleCarActivity
.
class
,
"pro"
,
JSON
.
toJSONString
(
carList
),
"supplierId"
,
supplyId
==
null
?
""
:
supplyId
.
toString
(),
"subProcess"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getName
(),
"subProcessId"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getId
()
+
""
,
"inStockId"
,
chooseStock
==
null
?
""
:
chooseStock
.
getId
()
+
""
,
"intoStore"
,
chooseStock
==
null
?
""
:
chooseStock
.
getId
()
+
""
,
"outerStore"
,
chooseSendStock
==
null
?
""
:
chooseSendStock
.
getId
()
+
""
,
"customerId"
,
clientId
==
null
?
""
:
clientId
.
toString
(),
"receiveDeptId"
,
getIntent
().
getStringExtra
(
"deptId"
),
"code"
,
permissionCode
);
}
break
;
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
true
;
}
if
(
chooseSendStock
==
null
)
{
toast
(
"请选择发货仓库"
);
return
true
;
}
break
;
case
"3"
:
if
(
supplyId
==
null
)
{
toast
(
"请先选择供应商"
);
return
true
;
}
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
true
;
}
break
;
case
"4"
:
break
;
case
"5"
:
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
true
;
}
break
;
case
"6"
:
if
(
chooseStock
==
null
)
{
toast
(
"请选择入库仓库"
);
return
true
;
}
break
;
}
startActivity
(
StoreSaleCarActivity
.
class
,
"pro"
,
JSON
.
toJSONString
(
carList
),
"supplierId"
,
supplyId
==
null
?
""
:
supplyId
.
toString
(),
"subProcess"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getName
(),
"subProcessId"
,
chooseProcess
==
null
?
""
:
chooseProcess
.
getId
()
+
""
,
"inStockId"
,
chooseStock
==
null
?
""
:
chooseStock
.
getId
()
+
""
,
"intoStore"
,
chooseStock
==
null
?
""
:
chooseStock
.
getId
()
+
""
,
"outerStore"
,
chooseSendStock
==
null
?
""
:
chooseSendStock
.
getId
()
+
""
,
"customerId"
,
clientId
==
null
?
""
:
clientId
.
toString
(),
"receiveDeptId"
,
getIntent
().
getStringExtra
(
"deptId"
),
"code"
,
permissionCode
);
}
return
super
.
onOptionsItemSelected
(
item
)
;
return
false
;
}
@Override
...
...
@@ -683,6 +699,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
String
pro
=
event
.
getPro
();
carList
.
clear
();
carList
.
addAll
(
JSON
.
parseArray
(
pro
,
ProductBean
.
RecordsBean
.
class
));
changeCarBadge
();
}
/**
...
...
@@ -757,6 +774,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
carList
.
add
(
chooseProduct
);
}
toast
(
"加入购物车成功"
);
changeCarBadge
();
}
...
...
@@ -823,7 +841,19 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
}
carMap
.
put
(
"pro"
,
JSON
.
toJSONString
(
quantity
));
carMap
.
put
(
"proDetail"
,
JSON
.
toJSONString
(
data
));
if
(
data
.
size
()
>
0
)
{
mActionProvider
.
setBadgeVisibility
(
View
.
VISIBLE
);
}
else
{
mActionProvider
.
setBadgeVisibility
(
View
.
GONE
);
}
toast
(
"加入购物车成功"
);
}
private
void
changeCarBadge
()
{
if
(
carList
.
size
()
>
0
)
{
mActionProvider
.
setBadgeVisibility
(
View
.
VISIBLE
);
}
else
{
mActionProvider
.
setBadgeVisibility
(
View
.
GONE
);
}
}
}
app/src/main/java/com/wd/workoffice/widget/BadgeCarProvider.java
0 → 100644
浏览文件 @
35082b55
package
com
.
wd
.
workoffice
.
widget
;
import
android.content.Context
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
com.wd.workoffice.R
;
import
androidx.core.view.ActionProvider
;
import
flexible.xd.android_base.utils.ScreenUtils
;
public
class
BadgeCarProvider
extends
ActionProvider
{
private
TextView
tvBadge
;
private
OnClickListener
onClickListener
;
public
BadgeCarProvider
(
Context
context
)
{
super
(
context
);
}
@Override
public
View
onCreateActionView
()
{
int
size
=
getContext
().
getResources
().
getDimensionPixelSize
(
R
.
dimen
.
flexible_actionbar_size
);
//
ViewGroup
.
LayoutParams
layoutParams
=
new
ViewGroup
.
LayoutParams
(
ScreenUtils
.
getScreenWidth
()
/
5
,
size
);
View
view
=
LayoutInflater
.
from
(
getContext
())
.
inflate
(
R
.
layout
.
view_red
,
null
,
false
);
view
.
setLayoutParams
(
layoutParams
);
tvBadge
=
view
.
findViewById
(
R
.
id
.
tv_badge
);
view
.
setOnClickListener
(
onViewClickListener
);
return
view
;
}
// 点击处理。
private
View
.
OnClickListener
onViewClickListener
=
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
onClickListener
!=
null
)
onClickListener
.
onClick
();
}
};
// 外部设置监听。
public
void
setOnClickListener
(
OnClickListener
onClickListener
)
{
this
.
onClickListener
=
onClickListener
;
}
public
interface
OnClickListener
{
void
onClick
();
}
public
void
setBadgeVisibility
(
int
visibility
)
{
tvBadge
.
setVisibility
(
visibility
);
}
}
\ No newline at end of file
app/src/main/res/layout/view_red.xml
0 → 100644
浏览文件 @
35082b55
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"70mm"
android:layout_height=
"match_parent"
android:background=
"?actionBarItemBackground"
android:orientation=
"vertical"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:text=
"购物车"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_badge"
android:layout_width=
"10mm"
android:layout_height=
"10mm"
android:layout_alignParentRight=
"true"
android:layout_margin=
"3mm"
android:background=
"@drawable/shape_red_circle"
android:visibility=
"gone"
/>
</RelativeLayout>
\ No newline at end of file
app/src/main/res/menu/menu_store_cart.xml
浏览文件 @
35082b55
...
...
@@ -4,5 +4,6 @@
<item
android:id=
"@+id/cart"
android:title=
"购物车"
app:actionProviderClass=
"com.wd.workoffice.widget.BadgeCarProvider"
app:showAsAction=
"always"
/>
</menu>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论