Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
adb702b0
Commit
adb702b0
authored
Jul 27, 2021
by
张建升
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码同步
parent
d9bcad5e
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
75 additions
and
35 deletions
+75
-35
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/bean/DishDetailBean.java
+2
-0
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/contract/DishesContract.java
+2
-4
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/presenter/DishesPresenter.java
+6
-7
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/adapter/dishes/DishDetailAdapter.java
+7
-9
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/adapter/dishes/DishNode.java
+2
-0
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/fragment/DishesFragment.java
+56
-15
No files found.
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/bean/DishDetailBean.java
View file @
adb702b0
...
...
@@ -24,6 +24,7 @@ public class DishDetailBean {
private
boolean
deletes
;
// 非必须 删除 false 未删除 true 删除
private
String
foodBasicUnit
;
// string 非必须 食材基本单位
private
List
<
DeputyUnitBean
>
foodUnits
;
private
boolean
show
=
true
;
public
DishDetailBean
(
PurchaseFoodBean
foodBean
,
DishNode
dishNode
)
{
// this.id = foodBean.get; ///此时的 id 一定是null deletes必是f
...
...
@@ -40,5 +41,6 @@ public class DishDetailBean {
this
.
foodNo
=
foodBean
.
getFoodNo
();
this
.
type
=
0
;
this
.
foodUnits
=
foodBean
.
getFoodUnits
();
this
.
show
=
true
;
}
}
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/contract/DishesContract.java
View file @
adb702b0
...
...
@@ -35,11 +35,9 @@ public interface DishesContract {
void
loadDishesFail
();
/**
* 加載/修改菜品食材信息
*
* @param buyIngredientsBeans 顯示的食材
* 食材綁定成功
*/
void
loadFood
(
List
<
BuyIngredientsBean
>
buyIngredientsBeans
);
void
bindDishFoods
(
DishNode
dishNode
);
void
selectDishGroupByIndex
(
int
position
);
...
...
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/presenter/DishesPresenter.java
View file @
adb702b0
...
...
@@ -94,12 +94,6 @@ public class DishesPresenter extends BasePresenter<DishesContract.Model, DishesC
}
@Override
public
void
onComplete
()
{
super
.
onComplete
();
LogUtil
.
e
(
"ZJS"
,
" onComplete "
);
}
@Override
public
void
onError
(
@NotNull
Throwable
t
)
{
super
.
onError
(
t
);
mRootView
.
loadDishGroupFail
();
...
...
@@ -140,7 +134,7 @@ public class DishesPresenter extends BasePresenter<DishesContract.Model, DishesC
}
public
void
bindDishFoods
(
List
<
DishDetailBean
>
dishDetailBeans
)
{
public
void
bindDishFoods
(
final
DishNode
dishNode
,
List
<
DishDetailBean
>
dishDetailBeans
)
{
mModel
.
bindDishes
(
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
JsonUtils
.
toJson
(
dishDetailBeans
)))
//發送請求
.
subscribeOn
(
Schedulers
.
io
())
//切換到io異步線程
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
AppConstant
.
GET_INFO_LOADING
))
//顯示加載提示框
...
...
@@ -154,7 +148,12 @@ public class DishesPresenter extends BasePresenter<DishesContract.Model, DishesC
public
void
onNext
(
BaseResult
bindResult
)
{
//數據處理
if
(
bindResult
.
isSuccess
())
{
LogUtil
.
e
(
"ZJS"
,
" 菜品食材綁定成功 bindResult"
+
bindResult
.
toString
());
DishDetailResultBean
dishDetailResultBean
=
new
DishDetailResultBean
();
dishDetailResultBean
.
setData
(
dishDetailBeans
);
dishNode
.
setDetailBean
(
dishDetailResultBean
);
mRootView
.
showMessage
(
"菜品食材綁定成功"
);
mRootView
.
bindDishFoods
(
dishNode
);
}
else
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
bindResult
.
getErrMsg
()))
{
mRootView
.
showMessage
(
bindResult
.
getErrMsg
());
}
else
{
...
...
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/adapter/dishes/DishDetailAdapter.java
View file @
adb702b0
...
...
@@ -2,16 +2,12 @@ package com.gingersoft.supply_chain.mvp.ui.adapter.dishes;
import
android.content.Context
;
import
androidx.core.content.ContextCompat
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.common.utils.CollectionUtils
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.supply_chain.R
;
import
com.gingersoft.supply_chain.mvp.bean.DeputyUnitBean
;
import
com.gingersoft.supply_chain.mvp.bean.DishDetailBean
;
import
com.gingersoft.supply_chain.mvp.bean.PurchaseWarehousingOrderDetailsVO
;
import
org.jetbrains.annotations.NotNull
;
...
...
@@ -23,14 +19,9 @@ import java.util.List;
*/
public
class
DishDetailAdapter
extends
BaseQuickAdapter
<
DishDetailBean
,
BaseViewHolder
>
{
private
Context
context
;
private
int
[]
colors
=
new
int
[]{
R
.
color
.
color_f9
,
R
.
color
.
white
};
public
DishDetailAdapter
(
Context
context
,
List
<
DishDetailBean
>
foods
)
{
super
(
R
.
layout
.
item_dishes_foods
,
foods
);
this
.
context
=
context
;
addChildClickViewIds
(
R
.
id
.
tv_dishes_unit
,
R
.
id
.
tv_dishes_del
);
// TODO: 2021/7/25 扶單位處理
}
...
...
@@ -38,6 +29,13 @@ public class DishDetailAdapter extends BaseQuickAdapter<DishDetailBean, BaseView
protected
void
convert
(
@NotNull
BaseViewHolder
viewHolder
,
DishDetailBean
item
)
{
viewHolder
.
setText
(
R
.
id
.
tv_dishes_name
,
item
.
getFoodName
());
//食材名字
viewHolder
.
setText
(
R
.
id
.
tv_dishes_unit
,
item
.
getBasicUnitName
());
//配置的單位
if
(
item
.
isShow
())
{
// viewHolder.itemView.setVisibility(View.VISIBLE);
// viewHolder.setTextColor(R.id.tv_dishes_name, ArmsUtils.getColor(context, R.color.color_18));
}
else
{
// viewHolder.itemView.setVisibility(View.GONE);
// viewHolder.setTextColor(R.id.tv_dishes_name, ArmsUtils.getColor(context, R.color.switcher_off_color));
}
// viewHolder.setText(R.id.tv_dishes_unit, item.getUnitName());
List
<
DeputyUnitBean
>
deputyUnitBeans
=
item
.
getFoodUnits
();
//副單位
...
...
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/adapter/dishes/DishNode.java
View file @
adb702b0
...
...
@@ -115,7 +115,9 @@ public class DishNode extends BaseExpandNode {
", isParent="
+
isParent
+
", seqNo="
+
seqNo
+
", foodName='"
+
foodName
+
'\''
+
", isSelect="
+
isSelect
+
", childNode="
+
childNode
+
", detailBean="
+
detailBean
+
'}'
;
}
...
...
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/fragment/DishesFragment.java
View file @
adb702b0
...
...
@@ -16,7 +16,7 @@ import com.gingersoft.gsa.cloud.common.utils.log.LogUtil;
import
com.gingersoft.supply_chain.R
;
import
com.gingersoft.supply_chain.R2
;
import
com.gingersoft.supply_chain.di.component.DaggerDishesComponent
;
import
com.gingersoft.supply_chain.mvp.bean.
BuyIngredients
Bean
;
import
com.gingersoft.supply_chain.mvp.bean.
DeputyUnit
Bean
;
import
com.gingersoft.supply_chain.mvp.bean.DishDetailBean
;
import
com.gingersoft.supply_chain.mvp.bean.DishDetailResultBean
;
import
com.gingersoft.supply_chain.mvp.bean.PurchaseFoodBean
;
...
...
@@ -27,7 +27,9 @@ import com.gingersoft.supply_chain.mvp.ui.adapter.dishes.DishNode;
import
com.gingersoft.supply_chain.mvp.ui.adapter.dishes.DishesGroupNode
;
import
com.gingersoft.supply_chain.mvp.ui.adapter.dishes.DishesTreeAdapter
;
import
com.gingersoft.supply_chain.mvp.ui.fragment.food.OtherFunctionFragment
;
import
com.gingersoft.supply_chain.mvp.ui.widget.ChooseUnitPopup
;
import
com.jess.arms.di.component.AppComponent
;
import
com.lxj.xpopup.XPopup
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
...
...
@@ -86,22 +88,57 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
List
<
DishDetailBean
>
foods
=
dishesResultBean
.
getData
();
if
(
dishDetailAdapter
==
null
)
{
dishDetailAdapter
=
new
DishDetailAdapter
(
requireContext
(),
new
ArrayList
<>());
// addChildClickViewIds(R.id.tv_dishes_unit,R.id.tv_dishes_del);
dishDetailAdapter
.
setOnItemChildClickListener
((
adapter
,
view
,
position
)
->
{
LogUtil
.
e
(
"zjs"
,
"position="
+
position
+
" curSelectDishNode "
+(
curSelectDishNode
==
null
));
if
(
curSelectDishNode
!=
null
)
{
DishDetailBean
detailBean
=
dishDetailAdapter
.
getItem
(
position
);
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
tv_dishes_del
)
{
detailBean
.
setShow
(
false
);
dishDetailAdapter
.
notifyItemChanged
(
position
);
}
else
if
(
id
==
R
.
id
.
tv_dishes_unit
)
{
List
<
DeputyUnitBean
>
foodUnits
=
detailBean
.
getFoodUnits
();
if
(
CollectionUtils
.
isNotNullOrEmpty
(
foodUnits
))
{
List
<
String
>
units
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
foodUnits
.
size
();
i
++)
{
units
.
add
(
foodUnits
.
get
(
i
).
getDeputyUnit
());
}
if
(
units
.
size
()
>
1
)
{
ChooseUnitPopup
popup
=
new
ChooseUnitPopup
(
requireContext
()).
setStringData
(
units
).
setOnSelectListener
((
pos
,
text
)
->
{
//將用戶之前輸入的值,修改到新選擇的單位匯中
String
unitName
=
detailBean
.
getBasicUnitName
();
DeputyUnitBean
deputyUnitBean
=
foodUnits
.
get
(
pos
);
LogUtil
.
e
(
"zjs"
,
" unitName="
+
unitName
+
" deputyUnitBean="
+
deputyUnitBean
.
toString
());
String
selectUnitName
=
deputyUnitBean
.
getDeputyUnit
();
if
(!
unitName
.
equals
(
selectUnitName
))
{
detailBean
.
setBasicUnitName
(
selectUnitName
);
dishDetailAdapter
.
notifyItemChanged
(
position
);
}
});
new
XPopup
.
Builder
(
getContext
())
.
hasShadowBg
(
false
)
.
atView
(
view
)
// 依附于所点击的View,内部会自动判断在上方或者下方显示
.
asCustom
(
popup
)
.
show
();
}
}
}
}
});
rvDishes
.
setLayoutManager
(
new
LinearLayoutManager
(
requireContext
(),
LinearLayoutManager
.
VERTICAL
,
false
));
dishDetailAdapter
.
addFooterView
(
getFooterView
(
CollectionUtils
.
isNotNullOrEmpty
(
foods
)));
rvDishes
.
setAdapter
(
dishDetailAdapter
);
LogUtil
.
e
(
"ZJS"
,
" initDishDetail=="
);
}
if
(
CollectionUtils
.
isNullOrEmpty
(
foods
))
{
if
(
CollectionUtils
.
isN
otN
ullOrEmpty
(
foods
))
{
dishDetailAdapter
.
setList
(
foods
);
}
else
{
dishDetailAdapter
.
setList
(
new
ArrayList
<>());
}
LogUtil
.
e
(
"ZJS"
,
" dishDetailAdapter count=="
+
dishDetailAdapter
.
getItemCount
());
int
count
=
dishDetailAdapter
.
getItemCount
();
int
size
=
dishDetailAdapter
.
getData
().
size
();
getFooterView
(
size
>
0
);
LogUtil
.
e
(
"ZJS"
,
" dishDetailAdapter count== "
+
count
+
" size="
+
size
);
LogUtil
.
e
(
"ZJS"
,
" dishDetailAdapter== "
+
" size="
+
size
);
}
private
View
getFooterView
(
boolean
showDone
)
{
...
...
@@ -114,7 +151,7 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
if
(
curSelectDishNode
!=
null
)
{
List
<
DishDetailBean
>
detailBeans
=
dishDetailAdapter
.
getData
();
if
(
CollectionUtils
.
isNotNullOrEmpty
(
detailBeans
))
{
mPresenter
.
bindDishFoods
(
detailBeans
);
mPresenter
.
bindDishFoods
(
curSelectDishNode
,
detailBeans
);
}
}
...
...
@@ -153,12 +190,16 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
dishesTreeAdapter
.
notifyItemChanged
(
lastPost
);
dishesTreeAdapter
.
notifyItemChanged
(
position
);
DishDetailResultBean
detailBean
=
curDishNode
.
getDetailBean
();
LogUtil
.
e
(
"ZJS"
,
" detailBean="
+(
detailBean
==
null
));
mPresenter
.
getDishesDetailData
(
curDishNode
);
if
(
detailBean
==
null
)
{
mPresenter
.
getDishesDetailData
(
curDishNode
);
}
else
{
LogUtil
.
e
(
"ZJS"
,
" detailBean= "
+
detailBean
.
toString
());
loadDishesInfo
(
curDishNode
,
detailBean
);
}
}
}
LogUtil
.
e
(
"ZJS"
,
" onItemChildClick position="
+
position
+
" 父节点="
+
ppos
+
" getFoodName"
+
curDishNode
.
getFoodName
());
}
});
...
...
@@ -189,8 +230,8 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
}
@Override
public
void
loadFood
(
List
<
BuyIngredientsBean
>
buyIngredientsBeans
)
{
public
void
bindDishFoods
(
DishNode
dishNode
)
{
LogUtil
.
e
(
"zjs"
,
" 绑定车工 "
+
dishNode
.
toString
());
}
@Override
...
...
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