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
7d5e3217
Commit
7d5e3217
authored
Jan 10, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
营销BUG修改;
添加商品维护代码;
parent
c371f1a8
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
988 additions
and
64 deletions
+988
-64
app/src/main/java/com/xingdata/zzdpos/C.java
app/src/main/java/com/xingdata/zzdpos/C.java
+3
-0
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
+5
-8
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
+6
-5
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
...va/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
+154
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuContract.java
...va/com/xingdata/zzdpos/ui/manage/sssku/SsskuContract.java
+185
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuPresenter.java
...a/com/xingdata/zzdpos/ui/manage/sssku/SsskuPresenter.java
+156
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/adapter/SkuAdapter.java
...m/xingdata/zzdpos/ui/manage/sssku/adapter/SkuAdapter.java
+6
-20
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/DetailFragment.java
...gdata/zzdpos/ui/manage/sssku/fragment/DetailFragment.java
+43
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/EditorFragment.java
...gdata/zzdpos/ui/manage/sssku/fragment/EditorFragment.java
+41
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/ManagerFragment.java
...data/zzdpos/ui/manage/sssku/fragment/ManagerFragment.java
+123
-4
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/SearchFragment.java
...gdata/zzdpos/ui/manage/sssku/fragment/SearchFragment.java
+95
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/SkugrpFragment.java
...gdata/zzdpos/ui/manage/sssku/fragment/SkugrpFragment.java
+26
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
+2
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
...gdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
+22
-1
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/SearchFragment.java
...gdata/zzdpos/ui/marketing/ms/fragment/SearchFragment.java
+0
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/TypeDisView.java
...com/xingdata/zzdpos/ui/marketing/ms/view/TypeDisView.java
+3
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
...main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
+0
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkuAdapter.java
...java/com/xingdata/zzdpos/ui/store/adapter/SkuAdapter.java
+1
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
.../com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
+1
-0
app/src/main/res/layout/activity_sssku.xml
app/src/main/res/layout/activity_sssku.xml
+7
-4
app/src/main/res/layout/fragment_sssku_detail.xml
app/src/main/res/layout/fragment_sssku_detail.xml
+18
-0
app/src/main/res/layout/fragment_sssku_editor.xml
app/src/main/res/layout/fragment_sssku_editor.xml
+12
-0
app/src/main/res/layout/fragment_sssku_manager.xml
app/src/main/res/layout/fragment_sssku_manager.xml
+20
-3
app/src/main/res/layout/fragment_sssku_search.xml
app/src/main/res/layout/fragment_sssku_search.xml
+16
-0
app/src/main/res/layout/fragment_sssku_skugrp.xml
app/src/main/res/layout/fragment_sssku_skugrp.xml
+12
-0
app/src/main/res/layout/fragment_store_search.xml
app/src/main/res/layout/fragment_store_search.xml
+1
-7
app/src/main/res/layout/item_selector.xml
app/src/main/res/layout/item_selector.xml
+1
-0
app/src/main/res/layout/item_sssku_sku.xml
app/src/main/res/layout/item_sssku_sku.xml
+21
-3
app/src/main/res/mipmap-xhdpi/grp_add.png
app/src/main/res/mipmap-xhdpi/grp_add.png
+0
-0
app/src/main/res/mipmap-xxhdpi/grp_add.png
app/src/main/res/mipmap-xxhdpi/grp_add.png
+0
-0
app/src/main/res/mipmap-xxxhdpi/grp_add.png
app/src/main/res/mipmap-xxxhdpi/grp_add.png
+0
-0
app/src/main/res/values/colors.xml
app/src/main/res/values/colors.xml
+1
-2
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+7
-1
No files found.
app/src/main/java/com/xingdata/zzdpos/C.java
View file @
7d5e3217
...
...
@@ -557,6 +557,9 @@ public class C {
public
static
final
int
VIP
=
2
;
public
static
final
int
SKU
=
3
;
public
static
final
int
GIFT
=
4
;
public
static
final
int
PKG
=
5
;
public
static
final
int
SKU_DETAIL
=
6
;
}
}
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
View file @
7d5e3217
...
...
@@ -582,8 +582,9 @@ public final class ApiFactory {
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
retryWhen
(
new
RetryHelper
(
3
));
}
public
static
Observable
<
com
.
xingdata
.
zzdpos
.
model
.
Saleorder
>
querySaleorderByVipId
(
Long
vipId
,
int
pageNumber
,
int
pageSize
)
{
return
Api
.
getInstance
().
service
.
querySaleorderByVipId
(
vipId
,
pageNumber
,
pageSize
)
public
static
Observable
<
com
.
xingdata
.
zzdpos
.
model
.
Saleorder
>
querySaleorderByVipId
(
Long
vipId
,
int
pageNumber
,
int
pageSize
)
{
return
Api
.
getInstance
().
service
.
querySaleorderByVipId
(
vipId
,
pageNumber
,
pageSize
)
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
...
...
@@ -592,8 +593,6 @@ public final class ApiFactory {
}
}
public
static
class
Ticket
{
...
...
@@ -641,10 +640,8 @@ public final class ApiFactory {
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
public
static
Observable
<
Pager
<
com
.
xingdata
.
zzdpos
.
model
.
Sssku
>>
querySssku
(
int
pageNum
,
String
keyword
,
Long
skuGrpId
)
{
return
Api
.
getInstance
().
service
.
querySssku
(
pageNum
,
C
.
PRODUCT
.
PAGE_SIZE
,
skuGrpId
,
keyword
)
public
static
Observable
<
Pager
<
com
.
xingdata
.
zzdpos
.
model
.
Sssku
>>
querySssku
(
int
pageNum
,
String
keyword
,
Long
skuGrpId
)
{
return
Api
.
getInstance
().
service
.
querySssku
(
pageNum
,
C
.
PRODUCT
.
PAGE_SIZE
,
skuGrpId
,
keyword
)
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
...
...
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
View file @
7d5e3217
...
...
@@ -245,7 +245,6 @@ interface ApiService {
(
"pageNumber"
)
int
pageNum
,
@Query
(
"pageSize"
)
int
pageSize
);
@POST
(
C
.
URL
.
USER
.
query
)
Observable
<
HttpMessage
<
Pager
<
Vip
>>>
queryDetailByWD
(
@Query
(
"wd"
)
String
keyword
,
@Query
(
"pageNumber"
)
int
pageNum
,
@Query
(
"pageSize"
)
int
pageSize
);
...
...
@@ -342,15 +341,17 @@ interface ApiService {
@Query
(
"pageSize"
)
int
pageSize
);
@POST
(
C
.
URL
.
SSSKU
.
query
)
Observable
<
HttpMessage
<
Pager
<
Sssku
>>>
querySssku
(
@Query
(
"pageNumber"
)
int
pageNumber
,
@Query
(
"pageSize"
)
int
pageSize
,
@Query
(
"wd"
)
String
keyword
);
Observable
<
HttpMessage
<
Pager
<
Sssku
>>>
querySssku
(
@Query
(
"pageNumber"
)
int
pageNumber
,
@Query
(
"pageSize"
)
int
pageSize
,
@Query
(
"wd"
)
String
keyword
);
@POST
(
C
.
URL
.
SSKUGRP
.
query
)
Observable
<
HttpMessage
<
Pager
<
Sskugrp
>>>
querySskugrp
();
@POST
(
C
.
URL
.
MS
.
query
)
Observable
<
HttpMessage
<
Pager
<
Ms
>>>
queryMs
(
@Query
(
"pageNumber"
)
int
pageNumber
,
@Query
(
"pageSize"
)
int
pageSize
,
@Query
(
"msName"
)
String
keyword
);
Observable
<
HttpMessage
<
Pager
<
Ms
>>>
queryMs
(
@Query
(
"pageNumber"
)
int
pageNumber
,
@Query
(
"pageSize"
)
int
pageSize
,
@Query
(
"msName"
)
String
keyword
);
@POST
(
C
.
URL
.
MS
.
detail
)
Observable
<
HttpMessage
<
Ms
>>
detailMs
(
@Query
(
"id"
)
long
id
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
View file @
7d5e3217
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
sssku
;
import
android.view.inputmethod.EditorInfo
;
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
;
import
com.xingdata.zzdpos.databinding.ActivitySsskuBinding
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.manage.sssku.fragment.DetailFragment
;
import
com.xingdata.zzdpos.ui.manage.sssku.fragment.EditorFragment
;
import
com.xingdata.zzdpos.ui.manage.sssku.fragment.ManagerFragment
;
import
com.xingdata.zzdpos.ui.manage.sssku.fragment.SearchFragment
;
import
com.xingdata.zzdpos.ui.manage.sssku.fragment.SkugrpFragment
;
import
java.util.List
;
public
class
SsskuActivity
extends
BaseActivity
<
SsskuPresenter
,
ActivitySsskuBinding
>
implements
SsskuContract
.
View
{
private
ManagerFragment
mManagerFragment
=
new
ManagerFragment
();
private
SearchFragment
mSearchFragment
=
new
SearchFragment
();
private
SkugrpFragment
mSkugrpFragment
=
new
SkugrpFragment
();
private
EditorFragment
mEditorFragment
=
new
EditorFragment
();
private
DetailFragment
mDetailFragment
=
new
DetailFragment
();
private
LoadingDialog
mLoadingDialog
=
new
LoadingDialog
();
@Override
public
int
getLayoutId
()
{
...
...
@@ -16,6 +37,139 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
@Override
public
void
initView
()
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
SKU
);
this
.
loadRootFragment
(
R
.
id
.
f_sssku
,
mManagerFragment
);
mViewBinding
.
btnBack
.
setOnClickListener
(
view
->
{
getTopFragment
().
onBackPressedSupport
();
});
mViewBinding
.
etSearch
.
setOnEditorActionListener
((
textView
,
i
,
keyEvent
)
->
{
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
);
});
}
@Override
public
void
loadSkus
(
List
<
Sssku
>
skus
,
boolean
isRefresh
)
{
mManagerFragment
.
loadSkus
(
skus
,
isRefresh
);
}
@Override
public
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
)
{
mManagerFragment
.
loadSkugrps
(
sskugrps
);
}
@Override
public
void
loadSkugrpState
(
Long
skugrpId
)
{
mManagerFragment
.
loadSkugrpState
(
skugrpId
);
}
@Override
public
void
loadReplenishCount
(
int
count
)
{
mManagerFragment
.
loadReplenishCount
(
count
);
}
@Override
public
void
loadSsskuCount
(
int
count
)
{
mManagerFragment
.
loadSsskuCount
(
count
);
}
@Override
public
void
loadSearchResult
(
List
<
Sssku
>
skus
,
boolean
isRefresh
)
{
mSearchFragment
.
loadSkus
(
skus
,
isRefresh
);
}
@Override
public
void
showSearchFragment
(
int
searchType
)
{
if
(
mSearchFragment
.
isAdded
())
return
;
this
.
showTitleBarByTitleMode
(
searchType
);
this
.
start
(
mSearchFragment
.
setSearchType
(
searchType
));
}
@Override
public
void
showEditorFragment
(
Sssku
sku
)
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
sssku_update
);
this
.
start
(
mEditorFragment
);
}
@Override
public
void
showEditorFragment
()
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
sssku_add
);
this
.
start
(
mEditorFragment
);
}
@Override
public
void
showDetailFragment
(
Sssku
sku
)
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
SKU_DETAIL
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
sssku_detail
);
this
.
start
(
mDetailFragment
);
}
@Override
public
void
showSkugrpFragment
()
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
sssku_skugrp
);
this
.
start
(
mSkugrpFragment
);
}
@Override
public
void
backToEditFragment
()
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
}
@Override
public
void
backToManagerFragment
()
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
SKU
);
this
.
resetSearchBar
();
}
@Override
public
void
showLoadingDialog
()
{
mLoadingDialog
.
show
(
this
);
}
@Override
public
void
dismissLoadingDialog
()
{
mLoadingDialog
.
dismiss
();
}
/**
* 根据titleMode显示TitleBar
*
* @param titleMode 标题模式
*/
private
void
showTitleBarByTitleMode
(
int
titleMode
)
{
if
(
mViewBinding
.
getTitleMode
()
==
titleMode
)
return
;
mViewBinding
.
setTitleMode
(
titleMode
);
mViewBinding
.
etSearch
.
setText
(
""
);
switch
(
titleMode
)
{
case
C
.
TITLE_MODE
.
SKU
:
mViewBinding
.
etSearch
.
setHint
(
R
.
string
.
sssku_search_hint
);
break
;
case
C
.
TITLE_MODE
.
PKG
:
mViewBinding
.
etSearch
.
setHint
(
R
.
string
.
sssku_search_hint
);
break
;
case
C
.
TITLE_MODE
.
SKU_DETAIL
:
break
;
}
}
/**
* 重置搜索栏
*/
private
void
resetSearchBar
()
{
mViewBinding
.
etSearch
.
setText
(
""
);
mViewBinding
.
clTitle
.
requestFocus
();
mViewBinding
.
clTitle
.
requestFocusFromTouch
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuContract.java
View file @
7d5e3217
...
...
@@ -3,12 +3,197 @@ package com.xingdata.zzdpos.ui.manage.sssku;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.model.Sssku
;
import
java.util.List
;
public
interface
SsskuContract
{
interface
View
extends
BaseView
{
/**
* 加载商品
*
* @param skus 商品列表
* @param isRefresh 是否刷新列表
*/
void
loadSkus
(
List
<
Sssku
>
skus
,
boolean
isRefresh
);
/**
* 加载商品分组
*
* @param sskugrps 商品分组列表
*/
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
);
/**
* 加载分组选中状态
*
* @param skugrpId 分组ID
*/
void
loadSkugrpState
(
Long
skugrpId
);
/**
* 加载需要补货商品的数量
*
* @param count 数量
*/
void
loadReplenishCount
(
int
count
);
/**
* 加载商品种类的总数
*/
void
loadSsskuCount
(
int
count
);
/**
* 加载搜索结果
*
* @param skus 商品列表
* @param isRefresh 是否刷新列表
*/
void
loadSearchResult
(
List
<
Sssku
>
skus
,
boolean
isRefresh
);
/**
* 显示搜索页面
*/
void
showSearchFragment
(
int
searchType
);
/**
* 显示编辑页面
*
* @param sku 要编辑的商品
*/
void
showEditorFragment
(
Sssku
sku
);
/**
* 显示编辑页面
*/
void
showEditorFragment
();
/**
* 显示详情页面
*
* @param sku 要显示的商品
*/
void
showDetailFragment
(
Sssku
sku
);
/**
* 显示商品分组页面
*/
void
showSkugrpFragment
();
/**
* 返回编辑页面
*/
void
backToEditFragment
();
/**
* 返回管理页面
*/
void
backToManagerFragment
();
/**
* 显示读取对话框
*/
void
showLoadingDialog
();
/**
* 隐藏读取对话框
*/
void
dismissLoadingDialog
();
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
/**
* 管理页面 - 初始化
*/
public
abstract
void
initManager
();
/**
* 管理页面 - 刷新商品
*/
public
abstract
void
refreshSku
();
/**
* 管理页面 - 加载更多商品
*/
public
abstract
void
loadMoreSku
();
/**
* 管理页面 - 点击商品
*
* @param sssku 商品信息
*/
public
abstract
void
clickSku
(
Sssku
sssku
);
/**
* 管理页面 - 切换分组
*
* @param sskugrp 分组
*/
public
abstract
void
clickSkugrp
(
Sskugrp
sskugrp
);
/**
* 管理页面 - 点击添加商品
*/
public
abstract
void
clickAddSku
();
/**
* 管理页面 - 点击添加分组
*/
public
abstract
void
clickAddSkugrp
();
/**
* 管理页面 - 点击一键补货
*/
public
abstract
void
clickReplenish
();
/**
* 搜索页面 - 点击搜索
*/
public
abstract
void
searchSku
(
String
keyword
);
/**
* 搜索页面 - 加载更多搜索结果
*/
public
abstract
void
loadMoreSearchResult
();
/**
* 搜索页面 - 点击商品
*
* @param sssku 商品信息
* @param searchType 搜索类型
*/
public
abstract
void
clickSku
(
Sssku
sssku
,
int
searchType
);
/**
* 详情页面 - 编辑商品
*
* @param sssku 要编辑的商品
*/
public
abstract
void
clickEditSku
(
Sssku
sssku
);
/**
* 分组页面 - 删除分组.
*
* @param sskugrp 要删除的分组
*/
public
abstract
void
clickDeleteSkugrp
(
Sskugrp
sskugrp
);
/**
* 分组页面 - 编辑分组
*
* @param sskugrp 要编辑的分组
*/
public
abstract
void
clickEditSkugrp
(
Sskugrp
sskugrp
);
/**
* 主页面 - 搜索框焦点改变
*
* @param b 获取焦点
*/
public
abstract
void
searchBarFocusChanged
(
boolean
b
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuPresenter.java
View file @
7d5e3217
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
sssku
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.model.Sssku
;
public
class
SsskuPresenter
extends
SsskuContract
.
Presenter
{
private
int
mPageNum
;
private
Long
mSkuGrpId
;
private
int
mSearchPageNum
;
private
String
mKeyword
;
@Override
public
void
onAttached
()
{
}
@Override
public
void
initManager
()
{
this
.
getSkugrp
();
this
.
getReplenish
();
this
.
refreshSku
();
}
@Override
public
void
refreshSku
()
{
this
.
mPageNum
=
0
;
this
.
mSkuGrpId
=
0L
;
mView
.
loadSkugrpState
(
mSkuGrpId
);
this
.
getSku
();
}
@Override
public
void
loadMoreSku
()
{
this
.
mPageNum
++;
this
.
getSku
();
}
@Override
public
void
clickSku
(
Sssku
sssku
)
{
mView
.
showDetailFragment
(
sssku
);
}
@Override
public
void
clickSkugrp
(
Sskugrp
sskugrp
)
{
this
.
mPageNum
=
0
;
this
.
mSkuGrpId
=
sskugrp
.
getSkuGrpId
();
mView
.
loadSkugrpState
(
mSkuGrpId
);
this
.
getSku
();
}
@Override
public
void
clickAddSku
()
{
mView
.
showEditorFragment
();
}
@Override
public
void
clickAddSkugrp
()
{
mView
.
showSkugrpFragment
();
}
@Override
public
void
clickReplenish
()
{
//TODO 跳转到补货界面
}
@Override
public
void
searchSku
(
String
keyword
)
{
this
.
mSearchPageNum
=
0
;
this
.
mKeyword
=
keyword
;
this
.
getSearchSku
();
}
@Override
public
void
loadMoreSearchResult
()
{
this
.
mSearchPageNum
++;
this
.
getSearchSku
();
}
@Override
public
void
clickSku
(
Sssku
sssku
,
int
searchType
)
{
switch
(
searchType
)
{
case
C
.
TITLE_MODE
.
SKU
:
mView
.
showDetailFragment
(
sssku
);
break
;
case
C
.
TITLE_MODE
.
PKG
:
break
;
}
}
@Override
public
void
clickEditSku
(
Sssku
sssku
)
{
mView
.
showEditorFragment
(
sssku
);
}
@Override
public
void
clickDeleteSkugrp
(
Sskugrp
sskugrp
)
{
}
@Override
public
void
clickEditSkugrp
(
Sskugrp
sskugrp
)
{
}
@Override
public
void
searchBarFocusChanged
(
boolean
b
)
{
if
(
b
)
mView
.
showSearchFragment
(
C
.
TITLE_MODE
.
SKU
);
}
/**
* 获取商品
*/
private
void
getSku
()
{
mView
.
showLoadingDialog
();
mCompositeDisposable
.
add
(
ApiFactory
.
Sssku
.
querySssku
(
mPageNum
,
""
,
mSkuGrpId
)
.
doOnSubscribe
(
subscription
->
mView
.
dismissLoadingDialog
())
.
subscribe
(
ssskuPager
->
{
if
(
mPageNum
==
0
)
mView
.
loadSsskuCount
(
ssskuPager
.
getTotalRow
());
mView
.
loadSkus
(
ssskuPager
.
getList
(),
mPageNum
==
0
);
})
);
}
/**
* 获取搜索商品
*/
private
void
getSearchSku
()
{
mView
.
showLoadingDialog
();
mCompositeDisposable
.
add
(
ApiFactory
.
Sssku
.
querySssku
(
mSearchPageNum
,
mKeyword
)
.
doOnSubscribe
(
subscription
->
mView
.
dismissLoadingDialog
())
.
subscribe
(
ssskuPager
->
mView
.
loadSearchResult
(
ssskuPager
.
getList
(),
mSearchPageNum
==
0
))
);
}
/**
* 获取分组
*/
private
void
getSkugrp
()
{
mCompositeDisposable
.
add
(
ApiFactory
.
Sskugrp
.
querySskugrp
().
subscribe
(
sskugrpPager
->
{
Sskugrp
sskugrp
=
new
Sskugrp
();
sskugrp
.
setSkuGrpId
(
0L
);
sskugrp
.
setSkuGrpName
(
"全部分组"
);
sskugrp
.
setSelected
(
true
);
sskugrpPager
.
getList
().
add
(
0
,
sskugrp
);
mView
.
loadSkugrps
(
sskugrpPager
.
getList
());
}
)
);
}
/**
* 获取补货信息
*/
private
void
getReplenish
()
{
mCompositeDisposable
.
add
(
ApiFactory
.
Psb
.
preOrder
().
subscribe
(
ssskuPager
->
mView
.
loadReplenishCount
(
ssskuPager
.
getTotalRow
()))
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/adapter/SkuAdapter.java
View file @
7d5e3217
...
...
@@ -2,37 +2,23 @@ package com.xingdata.zzdpos.ui.manage.sssku.adapter;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemStoreSkuBinding
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.databinding.ItemSsskuSkuBinding
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.store.fragment.StoreFragment
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
SkuAdapter
extends
BaseAdapter
<
Sssku
,
ItemStoreSkuBinding
>
{
private
List
<
Saledetail
>
mSaledetails
;
public
class
SkuAdapter
extends
BaseAdapter
<
Sssku
,
ItemSsskuSkuBinding
>
{
public
SkuAdapter
()
{
super
(
R
.
layout
.
item_store_sku
,
new
ArrayList
<>());
this
.
mSaledetails
=
new
ArrayList
<>();
}
private
StoreFragment
.
OnCountChangeListener
mOnCountChangeListener
;
public
void
setSaledetails
(
List
<
Saledetail
>
saledetails
)
{
this
.
mSaledetails
=
saledetails
;
super
(
R
.
layout
.
item_sssku_sku
,
new
ArrayList
<>());
}
@Override
protected
void
convert
(
ItemS
tore
SkuBinding
mViewBinding
,
Sssku
item
)
{
protected
void
convert
(
ItemS
ssku
SkuBinding
mViewBinding
,
Sssku
item
)
{
mViewBinding
.
ivPic
.
setImageURI
(
item
.
getSpuImg
());
mViewBinding
.
tvName
.
setText
(
item
.
getSpuName
());
mViewBinding
.
tvAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
item
.
getSkuRetailPrice1
()));
mViewBinding
.
setSpuName
(
item
.
getSpuName
());
mViewBinding
.
setSpuUnitName
(
item
.
getSpuUnitName
());
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/DetailFragment.java
0 → 100644
View file @
7d5e3217
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
sssku
.
fragment
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSsskuDetailBinding
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter
;
public
class
DetailFragment
extends
BaseFragment
<
SsskuPresenter
,
FragmentSsskuDetailBinding
>
{
private
Sssku
mSssku
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_sssku_detail
;
}
@Override
public
void
initView
()
{
mViewBinding
.
tvEdit
.
setOnClickListener
(
view
->
{
this
.
pop
();
mPresenter
.
clickEditSku
(
mSssku
);
});
}
/**
* 设置商品
*
* @param sssku 商品信息
*/
public
DetailFragment
setSssku
(
Sssku
sssku
)
{
this
.
mSssku
=
sssku
;
return
this
;
}
@Override
public
boolean
onBackPressedSupport
()
{
((
SsskuActivity
)
getActivity
()).
backToManagerFragment
();
return
super
.
onBackPressedSupport
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/EditorFragment.java
0 → 100644
View file @
7d5e3217
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
sssku
.
fragment
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSsskuEditorBinding
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter
;
public
class
EditorFragment
extends
BaseFragment
<
SsskuPresenter
,
FragmentSsskuEditorBinding
>
{
private
Sssku
mSssku
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_sssku_editor
;
}
@Override
public
void
initView
()
{
}
/**
* 设置商品
*
* @param sssku 商品信息
*/
public
EditorFragment
setSssku
(
Sssku
sssku
)
{
this
.
mSssku
=
sssku
;
return
this
;
}
@Override
public
boolean
onBackPressedSupport
()
{
((
SsskuActivity
)
getActivity
()).
backToManagerFragment
();
return
super
.
onBackPressedSupport
();
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/ManagerFragment.java
View file @
7d5e3217
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
sssku
.
fragment
;
import
android.annotation.SuppressLint
;
import
android.support.v4.app.ActivityCompat
;
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.databinding.FragmentSsskuManagerBinding
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter
;
import
com.xingdata.zzdpos.ui.manage.sssku.adapter.SkuAdapter
;
import
com.xingdata.zzdpos.ui.manage.sssku.adapter.SkugrpAdapter
;
import
java.util.List
;
public
class
ManagerFragment
extends
BaseFragment
<
SsskuPresenter
,
FragmentSsskuManagerBinding
>
{
private
SkuAdapter
mSkuAdapter
;
private
SkugrpAdapter
mSkugrpAdapter
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_sssku_manager
;
...
...
@@ -15,11 +31,114 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
@Override
public
void
initView
()
{
mViewBinding
.
llAdd
.
setOnClickListener
(
view
->
{
// init sku
mSkuAdapter
=
new
SkuAdapter
();
mViewBinding
.
rlSku
.
setAdapter
(
mSkuAdapter
);
mViewBinding
.
rlSku
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
// init skugrp
mSkugrpAdapter
=
new
SkugrpAdapter
();
mViewBinding
.
rlSkugrp
.
setAdapter
(
mSkugrpAdapter
);
mViewBinding
.
rlSkugrp
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
// set sku listener
mViewBinding
.
srlSku
.
setOnRefreshListener
(
this
::
refreshSku
);
mSkuAdapter
.
setOnLoadMoreListener
(
this
::
loadMoreSku
,
mViewBinding
.
rlSku
);
mSkuAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
mPresenter
.
clickSku
(
mSkuAdapter
.
getItem
(
position
)));
// set grp listener
mSkugrpAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
mPresenter
.
clickSkugrp
(
mSkugrpAdapter
.
getData
().
get
(
position
)));
});
mViewBinding
.
tvReplenish
.
setOnClickListener
(
view
->
{
// set other listener
mViewBinding
.
llSsskuAdd
.
setOnClickListener
(
view
->
mPresenter
.
clickAddSku
());
mViewBinding
.
tvReplenish
.
setOnClickListener
(
view
->
mPresenter
.
clickReplenish
());
mViewBinding
.
llSkugrpAdd
.
setOnClickListener
(
view
->
mPresenter
.
clickAddSkugrp
());
});
// set empty
@SuppressLint
(
"InflateParams"
)
View
view
=
getLayoutInflater
().
inflate
(
R
.
layout
.
view_empty
,
null
);
mSkuAdapter
.
setEmptyView
(
view
);
mSkuAdapter
.
isUseEmpty
(
false
);
// init data
mPresenter
.
initManager
();
}
/**
* 加载商品
*
* @param skus 商品信息
* @param isRefresh 是否需要刷新
*/
public
void
loadSkus
(
List
<
Sssku
>
skus
,
boolean
isRefresh
)
{
if
(
isRefresh
)
{
mSkuAdapter
.
isUseEmpty
(
true
);
mSkuAdapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
srlSku
.
setRefreshing
(
false
);
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 sskugrps 分组信息
*/
public
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
)
{
mSkugrpAdapter
.
setNewData
(
sskugrps
);
}
/**
* 加载分组状态
*
* @param skugrpId 当前选中的分组ID
*/
public
void
loadSkugrpState
(
Long
skugrpId
)
{
for
(
int
i
=
0
;
i
<
mSkugrpAdapter
.
getData
().
size
();
i
++)
{
if
(
mSkugrpAdapter
.
getData
().
get
(
i
).
getSkuGrpId
().
longValue
()
==
skugrpId
)
{
mSkugrpAdapter
.
setSelectedPosition
(
i
);
}
}
mSkugrpAdapter
.
notifyDataSetChanged
();
}
/**
* 加载需要补货的商品数量
*
* @param count 数量
*/
public
void
loadReplenishCount
(
int
count
)
{
mViewBinding
.
tvReplenishCount
.
setText
(
String
.
valueOf
(
count
));
}
/**
* 加载商品总数
*
* @param count 商品总数
*/
public
void
loadSsskuCount
(
int
count
)
{
mViewBinding
.
tvTotalCount
.
setText
(
String
.
valueOf
(
count
));
}
/**
* 刷新商品
*/
private
void
refreshSku
()
{
mSkuAdapter
.
setEnableLoadMore
(
false
);
mPresenter
.
refreshSku
();
}
/**
* 加载更多商品
*/
private
void
loadMoreSku
()
{
mPresenter
.
loadMoreSku
();
}
@Override
public
boolean
onBackPressedSupport
()
{
ActivityCompat
.
finishAfterTransition
(
getActivity
());
return
super
.
onBackPressedSupport
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/SearchFragment.java
0 → 100644
View file @
7d5e3217
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
sssku
.
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.databinding.FragmentSsskuSearchBinding
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter
;
import
com.xingdata.zzdpos.ui.marketing.ms.adapter.SkuAdapter
;
import
java.util.List
;
public
class
SearchFragment
extends
BaseFragment
<
SsskuPresenter
,
FragmentSsskuSearchBinding
>
{
private
int
mSearchType
;
private
SkuAdapter
<
Sssku
>
mSkuAdapter
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_sssku_search
;
}
@Override
public
void
initView
()
{
// init sku
mSkuAdapter
=
new
SkuAdapter
<>();
mViewBinding
.
rlSku
.
setAdapter
(
mSkuAdapter
);
mViewBinding
.
rlSku
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
// set sku listener
mSkuAdapter
.
setOnLoadMoreListener
(
this
::
loadMoreSku
,
mViewBinding
.
rlSku
);
mSkuAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
this
.
pop
();
mPresenter
.
clickSku
(
mSkuAdapter
.
getData
().
get
(
position
),
mSearchType
);
});
// set empty
@SuppressLint
(
"InflateParams"
)
View
view
=
getLayoutInflater
().
inflate
(
R
.
layout
.
view_empty
,
null
);
mSkuAdapter
.
setEmptyView
(
view
);
mSkuAdapter
.
isUseEmpty
(
false
);
}
/**
* 加载更多商品
*/
private
void
loadMoreSku
()
{
mPresenter
.
loadMoreSearchResult
();
}
/**
* 加载商品
*
* @param skus 商品
* @param isRefresh 是否刷新
*/
public
void
loadSkus
(
List
<
Sssku
>
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 searchType 搜索类型
* @return this
*/
public
SearchFragment
setSearchType
(
int
searchType
)
{
this
.
mSearchType
=
searchType
;
return
this
;
}
@Override
public
boolean
onBackPressedSupport
()
{
switch
(
mSearchType
)
{
case
C
.
TITLE_MODE
.
SKU
:
((
SsskuActivity
)
getActivity
()).
backToManagerFragment
();
break
;
case
C
.
TITLE_MODE
.
PKG
:
((
SsskuActivity
)
getActivity
()).
backToEditFragment
();
break
;
}
return
super
.
onBackPressedSupport
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/SkugrpFragment.java
0 → 100644
View file @
7d5e3217
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
sssku
.
fragment
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSsskuSkugrpBinding
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuPresenter
;
public
class
SkugrpFragment
extends
BaseFragment
<
SsskuPresenter
,
FragmentSsskuSkugrpBinding
>
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_sssku_skugrp
;
}
@Override
public
void
initView
()
{
}
@Override
public
boolean
onBackPressedSupport
()
{
((
SsskuActivity
)
getActivity
()).
backToManagerFragment
();
return
super
.
onBackPressedSupport
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
View file @
7d5e3217
...
...
@@ -80,7 +80,7 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
@Override
public
void
showEditorFragment
(
int
msType
)
{
start
(
mEditorFragment
.
setMs
(
msType
).
setEditMode
(
C
.
MS_EDITOR_MODE
.
UPDATE
));
start
(
mEditorFragment
.
setMs
(
msType
).
setEditMode
(
C
.
MS_EDITOR_MODE
.
ADD
));
}
@Override
...
...
@@ -168,7 +168,7 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
*
* @param titleMode 标题模式
*/
p
ublic
void
showTitleBarByTitleMode
(
int
titleMode
)
{
p
rivate
void
showTitleBarByTitleMode
(
int
titleMode
)
{
if
(
mViewBinding
.
getTitleMode
()
==
titleMode
)
return
;
mViewBinding
.
setTitleMode
(
titleMode
);
mViewBinding
.
etSearch
.
setText
(
""
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
View file @
7d5e3217
...
...
@@ -292,12 +292,32 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
// listener
mViewBinding
.
llArea
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_area
,
mAreaAdapter
,
(
dialog
,
which
)
->
{
switch
(
mAreaAdapter
.
getData
().
get
(
which
).
getId
())
{
case
C
.
MS_AREA
.
MER
:
mMs
.
setMsRangeTag
((
byte
)
C
.
MS_AREA
.
MER
);
mMs
.
setMerMapId
(
LoginPresenter
.
loginReturnBean
.
getMerMapId
());
break
;
case
C
.
MS_AREA
.
LOCAL
:
mMs
.
setMsRangeTag
((
byte
)
C
.
MS_AREA
.
LOCAL
);
mMs
.
setShopMapId
(
LoginPresenter
.
loginReturnBean
.
getShopMapId
());
break
;
}
mAreaAdapter
.
getOnItemSelectedListener
().
onItemSelected
(
mAreaAdapter
.
getStrs
()[
which
]);
mAreaAdapter
.
setSelectedPosition
(
which
);
dialog
.
dismiss
();
})
);
mViewBinding
.
llUser
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_user
,
mUserAdapter
,
(
dialog
,
which
)
->
{
switch
(
mUserAdapter
.
getData
().
get
(
which
).
getId
())
{
case
C
.
MS_USER
.
ALL
:
mMs
.
setMsCoustomTag
((
byte
)
C
.
MS_USER
.
ALL
);
mMs
.
setVipLevel
((
byte
)
0
);
break
;
case
C
.
MS_USER
.
VIP
:
mMs
.
setMsCoustomTag
((
byte
)
C
.
MS_USER
.
VIP
);
mMs
.
setVipLevel
((
byte
)
mUserAdapter
.
getData
().
get
(
which
).
getLevelId
());
break
;
}
mUserAdapter
.
getOnItemSelectedListener
().
onItemSelected
(
mUserAdapter
.
getStrs
()[
which
]);
mUserAdapter
.
setSelectedPosition
(
which
);
dialog
.
dismiss
();
...
...
@@ -456,7 +476,7 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
ToastUtils
.
showShort
(
"请确认输入内容是否正确"
);
return
;
}
mMs
.
setMsName
(
mViewBinding
.
getName
());
mMs
.
setMsName
(
mViewBinding
.
etName
.
getText
().
toString
());
mMs
.
setMsDateBegin
(
ConvertUtil
.
stringToLong
(
mViewBinding
.
getDateStart
().
replaceAll
(
"[\\u4e00-\\u9fa5]+"
,
""
)));
mMs
.
setMsDateEnd
(
ConvertUtil
.
stringToLong
(
mViewBinding
.
getDateEnd
().
replaceAll
(
"[\\u4e00-\\u9fa5]+"
,
""
)));
...
...
@@ -476,6 +496,7 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
}
mMs
.
setMsToolsType
(
mMs
.
getMsTools
());
mMs
.
setGiftTag
(
mMs
.
getMsTools
().
byteValue
());
mMs
.
setCreateTime
(
null
);
mMs
.
setUpdateTime
(
null
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/SearchFragment.java
View file @
7d5e3217
...
...
@@ -15,8 +15,6 @@ import com.xingdata.zzdpos.ui.marketing.ms.adapter.SkuAdapter;
import
java.util.List
;
public
class
SearchFragment
<
Sku
extends
BaseSku
>
extends
BaseFragment
<
MsPresenter
,
FragmentMsSearchBinding
>
{
private
int
mSearchType
;
private
SkuAdapter
<
Sku
>
mSkuAdapter
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/TypeDisView.java
View file @
7d5e3217
...
...
@@ -15,7 +15,9 @@ public class TypeDisView extends BaseTypeView<ViewTypeDisBinding> {
if
(
mMs
.
getMsTools
()
==
null
)
return
;
if
(
mMs
.
getMsTools
()
==
C
.
MS_TYPE
.
DIS
)
mViewBinding
.
rbDis
.
setChecked
(
true
);
if
(
mMs
.
getMsTools
()
==
C
.
MS_TYPE
.
SECOND
)
mViewBinding
.
rbSecond
.
setChecked
(
true
);
mViewBinding
.
etDis
.
setText
(
String
.
valueOf
(
mMs
.
getPriceDiscount
()));
if
(
mMs
.
getPriceDiscount
()
!=
null
)
{
mViewBinding
.
etDis
.
setText
(
String
.
valueOf
(
mMs
.
getPriceDiscount
()));
}
}
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
View file @
7d5e3217
...
...
@@ -193,7 +193,6 @@ interface StoreContract {
*/
public
abstract
void
clearCart
();
/**
* 主页面 - 搜索框焦点改变
*
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkuAdapter.java
View file @
7d5e3217
...
...
@@ -25,6 +25,7 @@ public class SkuAdapter<T extends BaseSku> extends BaseAdapter<T, ItemStoreSkuBi
private
StoreFragment
.
OnCountChangeListener
mOnCountChangeListener
;
public
void
setSaledetails
(
List
<
Saledetail
>
saledetails
)
{
if
(
saledetails
==
null
)
return
;
this
.
mSaledetails
=
saledetails
;
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
View file @
7d5e3217
...
...
@@ -307,6 +307,7 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
@Override
public
void
onAnimationEnd
(
Animator
animation
)
{
// 执行添加方法
mPresenter
.
clickAddSku
(
sku
,
value
);
// 把执行动画的商品图片从父布局中移除
mViewBinding
.
clStore
.
removeView
(
icon
);
...
...
app/src/main/res/layout/activity_sssku.xml
View file @
7d5e3217
...
...
@@ -17,9 +17,12 @@
android:orientation=
"vertical"
>
<android.support.constraint.ConstraintLayout
android:id=
"@+id/cl_title"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
>
android:background=
"@color/white_caocao"
android:focusable=
"true"
android:focusableInTouchMode=
"true"
>
<ImageButton
android:id=
"@+id/btn_back"
...
...
@@ -36,7 +39,7 @@
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_marginEnd=
"@dimen/all_margin"
android:visibility=
"@{titleMode
>1?0:8
}"
android:visibility=
"@{titleMode
==1||titleMode==6?8:0
}"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintLeft_toRightOf=
"@id/btn_back"
app:layout_constraintRight_toRightOf=
"parent"
...
...
@@ -61,10 +64,10 @@
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:text=
"@string/
payment
_title"
android:text=
"@string/
sssku
_title"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_sub_title_size"
android:visibility=
"@{titleMode
>1?8:0
}"
android:visibility=
"@{titleMode
==1||titleMode==6?0:8
}"
app:layout_constraintLeft_toRightOf=
"parent"
app:layout_constraintRight_toLeftOf=
"parent"
/>
...
...
app/src/main/res/layout/fragment_sssku_detail.xml
0 → 100644
View file @
7d5e3217
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/red_guanyu"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_edit"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"编辑"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_sssku_editor.xml
0 → 100644
View file @
7d5e3217
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/blue_mawu"
android:orientation=
"vertical"
>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_sssku_manager.xml
View file @
7d5e3217
...
...
@@ -30,11 +30,11 @@
android:textColor=
"@color/black_baozheng"
/>
<TextView
android:id=
"@+id/tv_total_count"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_spacing"
android:layout_marginStart=
"@dimen/all_spacing"
android:text=
"160"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_title_size"
/>
...
...
@@ -65,6 +65,7 @@
android:textColor=
"@color/black_baozheng"
/>
<TextView
android:id=
"@+id/tv_replenish_count"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_spacing"
...
...
@@ -102,7 +103,7 @@
android:background=
"@color/gray_huanggai"
/>
<LinearLayout
android:id=
"@+id/ll_add"
android:id=
"@+id/ll_
sssku_
add"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
...
...
@@ -116,7 +117,7 @@
android:drawablePadding=
"@dimen/all_spacing"
android:drawableStart=
"@mipmap/add_bg"
android:gravity=
"center"
android:text=
"@string/
ms
_add"
android:text=
"@string/
sssku
_add"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_sub_title_size"
/>
...
...
@@ -138,8 +139,24 @@
android:orientation=
"vertical"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_skugrp"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<FrameLayout
android:id=
"@+id/ll_skugrp_add"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:foreground=
"?android:attr/selectableItemBackground"
>
<ImageView
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_sub_title_size"
android:layout_gravity=
"center"
android:contentDescription=
"@null"
android:src=
"@mipmap/grp_add"
/>
</FrameLayout>
</LinearLayout>
<android.support.v4.widget.SwipeRefreshLayout
...
...
app/src/main/res/layout/fragment_sssku_search.xml
0 → 100644
View file @
7d5e3217
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/gray_zhouyu"
android:orientation=
"vertical"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_sku"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_sssku_skugrp.xml
0 → 100644
View file @
7d5e3217
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/green_chengyaojin"
android:orientation=
"vertical"
>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_store_search.xml
View file @
7d5e3217
...
...
@@ -2,11 +2,6 @@
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
</data>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
...
...
@@ -16,7 +11,6 @@
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_sku"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"@dimen/all_margin"
/>
android:layout_height=
"match_parent"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_selector.xml
View file @
7d5e3217
...
...
@@ -31,6 +31,7 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:text=
"撒看见那"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@{selected?@dimen/all_sub_title_size:@dimen/all_text_size}"
/>
...
...
app/src/main/res/layout/item_sssku_sku.xml
View file @
7d5e3217
...
...
@@ -7,8 +7,12 @@
<import
type=
"android.view.View"
/>
<variable
name=
"count"
type=
"int"
/>
name=
"spuName"
type=
"String"
/>
<variable
name=
"spuUnitName"
type=
"String"
/>
</data>
<android.support.constraint.ConstraintLayout
...
...
@@ -34,16 +38,30 @@
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lines=
"2"
android:text=
"@{spuName}"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
app:layout_constraintLeft_toRightOf=
"@id/iv_pic"
app:layout_constraintRight_toRightOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_size"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_margin"
android:background=
"@drawable/shape_gray_r1"
android:padding=
"@dimen/all_spacing"
android:text=
"@{@string/sku_size+spuUnitName}"
android:textSize=
"@dimen/all_caption_size"
app:layout_constraintBottom_toBottomOf=
"@id/ll_price"
app:layout_constraintLeft_toLeftOf=
"@id/tv_name"
/>
<LinearLayout
android:id=
"@+id/ll_price"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_margin"
app:layout_constraint
Left_toLef
tOf=
"@id/tv_name"
app:layout_constraint
Right_toRigh
tOf=
"@id/tv_name"
app:layout_constraintTop_toBottomOf=
"@id/tv_name"
>
<TextView
...
...
app/src/main/res/mipmap-xhdpi/grp_add.png
0 → 100644
View file @
7d5e3217
1.24 KB
app/src/main/res/mipmap-xxhdpi/grp_add.png
0 → 100644
View file @
7d5e3217
1.45 KB
app/src/main/res/mipmap-xxxhdpi/grp_add.png
0 → 100644
View file @
7d5e3217
1.62 KB
app/src/main/res/values/colors.xml
View file @
7d5e3217
...
...
@@ -125,7 +125,7 @@
<color
name=
"red_diaochan"
>
#ff8964
</color>
<color
name=
"red_lvzhi"
>
#a22929
</color>
<color
name=
"gray_zhouyu"
>
#f
1f3f7
</color>
<color
name=
"gray_zhouyu"
>
#f
6f6f6
</color>
<color
name=
"gray_huanggai"
>
#afb9c3
</color>
<color
name=
"gray_kongming"
>
#e6e6e6
</color>
...
...
@@ -153,5 +153,4 @@
<color
name=
"purple_yanqing"
>
#6590e6
</color>
</resources>
app/src/main/res/values/strings.xml
View file @
7d5e3217
...
...
@@ -183,7 +183,6 @@
<!--商品页面 <WHERE>_<DESCRIPTION>-->
<string
name=
"store_title"
>
商品页面
</string>
<string
name=
"store_size"
>
规格/
</string>
<string
name=
"store_price_unit"
>
¥
</string>
<string
name=
"store_group"
>
商品分组
</string>
<string
name=
"store_sssku"
>
标准商品
</string>
...
...
@@ -375,7 +374,11 @@
<!--商品管理-->
<string
name=
"sssku_title"
>
商品维护
</string>
<string
name=
"sssku_add"
>
添加商品
</string>
<string
name=
"sssku_update"
>
编辑商品
</string>
<string
name=
"sssku_detail"
>
商品详情
</string>
<string
name=
"sssku_skugrp"
>
分组信息
</string>
<string
name=
"sssku_search_hint"
>
请输入商品名称/助记码/条码
</string>
<string
name=
"sssku_empty_hint"
>
没有搜到此商品\n请重新搜索,或点击添加按钮进行添加~
</string>
...
...
@@ -673,5 +676,8 @@
<string
name=
"manage_replenishment_unReceive"
>
待收货
</string>
<string
name=
"manage_replenishment_finished"
>
已入库
</string>
<!--商品维护-->
<string
name=
"sku_size"
>
规格/
</string>
</resources>
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