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
57fab647
Commit
57fab647
authored
Jan 05, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码;
parent
2896913d
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
733 additions
and
62 deletions
+733
-62
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
+9
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
+24
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsContract.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/MsContract.java
+43
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsPresenter.java
...java/com/xingdata/zzdpos/ui/marketing/ms/MsPresenter.java
+49
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/adapter/BeanAdapter.java
.../xingdata/zzdpos/ui/marketing/ms/adapter/BeanAdapter.java
+3
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/adapter/TypeAdapter.java
.../xingdata/zzdpos/ui/marketing/ms/adapter/TypeAdapter.java
+7
-8
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/AddFragment.java
...xingdata/zzdpos/ui/marketing/ms/fragment/AddFragment.java
+13
-11
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
...gdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
+83
-36
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Type.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/model/Type.java
+1
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/User.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/model/User.java
+12
-1
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/BaseGroupView.java
...m/xingdata/zzdpos/ui/marketing/ms/view/BaseGroupView.java
+46
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupAllView.java
...om/xingdata/zzdpos/ui/marketing/ms/view/GroupAllView.java
+29
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupCateView.java
...m/xingdata/zzdpos/ui/marketing/ms/view/GroupCateView.java
+186
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupSkuView.java
...om/xingdata/zzdpos/ui/marketing/ms/view/GroupSkuView.java
+66
-0
app/src/main/res/layout/view_group_all.xml
app/src/main/res/layout/view_group_all.xml
+19
-0
app/src/main/res/layout/view_group_cate.xml
app/src/main/res/layout/view_group_cate.xml
+57
-0
app/src/main/res/layout/view_group_sku.xml
app/src/main/res/layout/view_group_sku.xml
+85
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+1
-0
No files found.
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
View file @
57fab647
...
@@ -7,6 +7,7 @@ import com.xingdata.zzdpos.App;
...
@@ -7,6 +7,7 @@ import com.xingdata.zzdpos.App;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.base.BaseModel
;
import
com.xingdata.zzdpos.base.BaseModel
;
import
com.xingdata.zzdpos.model.HandoverInfo
;
import
com.xingdata.zzdpos.model.HandoverInfo
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.model.Sskugrp
;
...
@@ -207,6 +208,14 @@ public class DBFactory {
...
@@ -207,6 +208,14 @@ public class DBFactory {
}
}
}
}
public
static
class
Marketing
{
public
static
class
Ms
{
public
static
Observable
<
List
<
Level
>>
queryLevel
()
{
return
Observable
.
just
(
DB
.
getInstance
().
get
(
MainPresenter
.
class
).
where
(
Level
.
class
).
findAll
())
.
flatMap
(
levels
->
Observable
.
just
(
getList
(
levels
)));
}
}
}
public
static
<
E
extends
RealmModel
>
List
<
E
>
getLimitList
(
RealmResults
<
E
>
data
,
int
offset
,
int
limit
)
{
public
static
<
E
extends
RealmModel
>
List
<
E
>
getLimitList
(
RealmResults
<
E
>
data
,
int
offset
,
int
limit
)
{
List
<
E
>
obtainList
=
new
ArrayList
<>();
List
<
E
>
obtainList
=
new
ArrayList
<>();
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
View file @
57fab647
...
@@ -10,6 +10,10 @@ import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
...
@@ -10,6 +10,10 @@ import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import
com.xingdata.zzdpos.ui.marketing.ms.fragment.AddFragment
;
import
com.xingdata.zzdpos.ui.marketing.ms.fragment.AddFragment
;
import
com.xingdata.zzdpos.ui.marketing.ms.fragment.EditorFragment
;
import
com.xingdata.zzdpos.ui.marketing.ms.fragment.EditorFragment
;
import
com.xingdata.zzdpos.ui.marketing.ms.fragment.ManagerFragment
;
import
com.xingdata.zzdpos.ui.marketing.ms.fragment.ManagerFragment
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Area
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Group
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Type
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.User
;
import
java.util.List
;
import
java.util.List
;
...
@@ -54,6 +58,26 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
...
@@ -54,6 +58,26 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
start
(
mEditorFragment
);
start
(
mEditorFragment
);
}
}
@Override
public
void
loadTypes
(
List
<
Type
>
types
)
{
mAddFragment
.
loadTypes
(
types
);
}
@Override
public
void
loadAreas
(
List
<
Area
>
areas
)
{
mEditorFragment
.
loadArea
(
areas
);
}
@Override
public
void
loadGroups
(
List
<
Group
>
groups
)
{
mEditorFragment
.
loadGroup
(
groups
);
}
@Override
public
void
loadUsers
(
List
<
User
>
users
)
{
mEditorFragment
.
loadUser
(
users
);
}
@Override
@Override
public
void
showLoadingDialog
()
{
public
void
showLoadingDialog
()
{
mLoadingDialog
.
show
(
this
);
mLoadingDialog
.
show
(
this
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsContract.java
View file @
57fab647
...
@@ -3,6 +3,10 @@ package com.xingdata.zzdpos.ui.marketing.ms;
...
@@ -3,6 +3,10 @@ package com.xingdata.zzdpos.ui.marketing.ms;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Area
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Group
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Type
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.User
;
import
java.util.List
;
import
java.util.List
;
...
@@ -27,7 +31,6 @@ interface MsContract {
...
@@ -27,7 +31,6 @@ interface MsContract {
*/
*/
void
showEditorFragment
(
Ms
ms
);
void
showEditorFragment
(
Ms
ms
);
/**
/**
* 显示编辑页面
* 显示编辑页面
*
*
...
@@ -35,6 +38,34 @@ interface MsContract {
...
@@ -35,6 +38,34 @@ interface MsContract {
*/
*/
void
showEditorFragment
(
int
msType
);
void
showEditorFragment
(
int
msType
);
/**
* 加载营销类型
*
* @param types 营销类型列表
*/
void
loadTypes
(
List
<
Type
>
types
);
/**
* 加载营销范围
*
* @param areas 营销范围列表
*/
void
loadAreas
(
List
<
Area
>
areas
);
/**
* 加载营销主体
*
* @param groups 营销主体列表
*/
void
loadGroups
(
List
<
Group
>
groups
);
/**
* 加载营销对象
*
* @param users 营销对象列表
*/
void
loadUsers
(
List
<
User
>
users
);
/**
/**
* 显示读取对话框
* 显示读取对话框
*/
*/
...
@@ -68,10 +99,20 @@ interface MsContract {
...
@@ -68,10 +99,20 @@ interface MsContract {
*/
*/
public
abstract
void
clickMsItem
(
Ms
ms
);
public
abstract
void
clickMsItem
(
Ms
ms
);
/**
* 添加页面 - 初始化
*/
public
abstract
void
initAdd
();
/**
/**
* 添加页面 - 点击类型的item
* 添加页面 - 点击类型的item
*/
*/
public
abstract
void
clickTypeItem
(
int
msType
);
public
abstract
void
clickTypeItem
(
Type
type
);
/**
* 编辑页面 - 初始化
*/
public
abstract
void
initEditor
();
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsPresenter.java
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
;
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Area
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Group
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Type
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.User
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
MsPresenter
extends
MsContract
.
Presenter
{
public
class
MsPresenter
extends
MsContract
.
Presenter
{
...
@@ -38,8 +47,46 @@ public class MsPresenter extends MsContract.Presenter {
...
@@ -38,8 +47,46 @@ public class MsPresenter extends MsContract.Presenter {
}
}
@Override
@Override
public
void
clickTypeItem
(
int
msType
)
{
public
void
initAdd
()
{
mView
.
showEditorFragment
(
msType
);
List
<
Type
>
types
=
new
ArrayList
<>();
types
.
add
(
new
Type
(
C
.
MS_TYPE
.
DIS
));
types
.
add
(
new
Type
(
C
.
MS_TYPE
.
PROMOTION
));
types
.
add
(
new
Type
(
C
.
MS_TYPE
.
MONEY_OFF
));
types
.
add
(
new
Type
(
C
.
MS_TYPE
.
GIFT
));
mView
.
loadTypes
(
types
);
}
@Override
public
void
clickTypeItem
(
Type
type
)
{
mView
.
showEditorFragment
(
type
.
getId
());
}
@Override
public
void
initEditor
()
{
List
<
Group
>
groups
=
new
ArrayList
<>();
groups
.
add
(
new
Group
(
C
.
MS_GROUP
.
ALL
,
"全场"
));
groups
.
add
(
new
Group
(
C
.
MS_GROUP
.
CATE
,
"指定品类"
));
groups
.
add
(
new
Group
(
C
.
MS_GROUP
.
SKU
,
"指定商品"
));
List
<
Area
>
areas
=
new
ArrayList
<>();
areas
.
add
(
new
Area
(
0
,
"所有门店"
));
areas
.
add
(
new
Area
(
1
,
"本店"
));
List
<
User
>
users
=
new
ArrayList
<>();
users
.
add
(
new
User
(
0
,
"所有顾客"
,
0
));
users
.
add
(
new
User
(
0
,
"所有会员"
,
0
));
DBFactory
.
Marketing
.
Ms
.
queryLevel
()
.
doFinally
(()
->
{
mView
.
loadUsers
(
users
);
mView
.
loadGroups
(
groups
);
mView
.
loadAreas
(
areas
);
})
.
subscribe
(
levels
->
{
for
(
int
i
=
0
;
i
<
levels
.
size
();
i
++)
{
users
.
add
(
new
User
(
1
,
levels
.
get
(
i
).
getVipLevelName
(),
levels
.
get
(
i
).
getVipLevel
()));
}
});
}
}
/**
/**
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/adapter/BeanAdapter.java
View file @
57fab647
...
@@ -30,5 +30,8 @@ public class BeanAdapter<T extends BaseBean> extends BaseSelectedAdapter<T, Item
...
@@ -30,5 +30,8 @@ public class BeanAdapter<T extends BaseBean> extends BaseSelectedAdapter<T, Item
return
strs
;
return
strs
;
}
}
public
<
B
extends
BaseBean
>
void
setItemId
(
B
b
)
{
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/adapter/TypeAdapter.java
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
adapter
;
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
adapter
;
import
android.support.annotation.Nullable
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemMsTypeBinding
;
import
com.xingdata.zzdpos.databinding.ItemMsTypeBinding
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Type
;
import
java.util.List
;
import
java.util.
Array
List
;
public
class
TypeAdapter
extends
BaseAdapter
<
Integer
,
ItemMsTypeBinding
>
{
public
class
TypeAdapter
extends
BaseAdapter
<
Type
,
ItemMsTypeBinding
>
{
public
TypeAdapter
(
@Nullable
List
<
Integer
>
data
)
{
public
TypeAdapter
()
{
super
(
R
.
layout
.
item_ms_type
,
data
);
super
(
R
.
layout
.
item_ms_type
,
new
ArrayList
<>()
);
}
}
@Override
@Override
protected
void
convert
(
ItemMsTypeBinding
mViewBinding
,
Integer
item
)
{
protected
void
convert
(
ItemMsTypeBinding
mViewBinding
,
Type
item
)
{
int
resPic
=
-
1
,
resStr
=
-
1
;
int
resPic
=
-
1
,
resStr
=
-
1
;
switch
(
item
)
{
switch
(
item
.
getId
()
)
{
case
C
.
MS_TYPE
.
DIS
:
case
C
.
MS_TYPE
.
DIS
:
resPic
=
R
.
mipmap
.
icon_discount02
;
resPic
=
R
.
mipmap
.
icon_discount02
;
resStr
=
R
.
string
.
ms_type_dis
;
resStr
=
R
.
string
.
ms_type_dis
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/AddFragment.java
View file @
57fab647
...
@@ -2,19 +2,20 @@ package com.xingdata.zzdpos.ui.marketing.ms.fragment;
...
@@ -2,19 +2,20 @@ package com.xingdata.zzdpos.ui.marketing.ms.fragment;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.GridLayoutManager
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentMsAddBinding
;
import
com.xingdata.zzdpos.databinding.FragmentMsAddBinding
;
import
com.xingdata.zzdpos.ui.marketing.ms.MsPresenter
;
import
com.xingdata.zzdpos.ui.marketing.ms.MsPresenter
;
import
com.xingdata.zzdpos.ui.marketing.ms.adapter.TypeAdapter
;
import
com.xingdata.zzdpos.ui.marketing.ms.adapter.TypeAdapter
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Type
;
import
com.xingdata.zzdpos.util.MyMenuItemDecoration
;
import
com.xingdata.zzdpos.util.MyMenuItemDecoration
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
public
class
AddFragment
extends
BaseFragment
<
MsPresenter
,
FragmentMsAddBinding
>
{
public
class
AddFragment
extends
BaseFragment
<
MsPresenter
,
FragmentMsAddBinding
>
{
private
TypeAdapter
mTypeAdapter
;
@Override
@Override
public
int
getLayoutId
()
{
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_ms_add
;
return
R
.
layout
.
fragment_ms_add
;
...
@@ -23,7 +24,7 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
...
@@ -23,7 +24,7 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
// init type
// init type
TypeAdapter
mTypeAdapter
=
new
TypeAdapter
(
getTypeList
()
);
mTypeAdapter
=
new
TypeAdapter
(
);
mViewBinding
.
rlType
.
setAdapter
(
mTypeAdapter
);
mViewBinding
.
rlType
.
setAdapter
(
mTypeAdapter
);
mViewBinding
.
rlType
.
setLayoutManager
(
new
GridLayoutManager
(
mContext
,
2
));
mViewBinding
.
rlType
.
setLayoutManager
(
new
GridLayoutManager
(
mContext
,
2
));
mViewBinding
.
rlType
.
addItemDecoration
(
new
MyMenuItemDecoration
(
mContext
,
2
,
getResources
().
getColor
(
R
.
color
.
gray_kongming
)));
mViewBinding
.
rlType
.
addItemDecoration
(
new
MyMenuItemDecoration
(
mContext
,
2
,
getResources
().
getColor
(
R
.
color
.
gray_kongming
)));
...
@@ -33,17 +34,18 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
...
@@ -33,17 +34,18 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
this
.
pop
();
this
.
pop
();
mPresenter
.
clickTypeItem
(
mTypeAdapter
.
getData
().
get
(
position
));
mPresenter
.
clickTypeItem
(
mTypeAdapter
.
getData
().
get
(
position
));
});
});
// init data
mPresenter
.
initAdd
();
}
}
/**
/**
* 获取类型列表
* 加载营销类型
*
* @param types 营销类型列表
*/
*/
private
List
<
Integer
>
getTypeList
()
{
public
void
loadTypes
(
List
<
Type
>
types
)
{
List
<
Integer
>
msList
=
new
ArrayList
<>();
mTypeAdapter
.
setNewData
(
types
);
msList
.
add
(
C
.
MS_TYPE
.
DIS
);
msList
.
add
(
C
.
MS_TYPE
.
PROMOTION
);
msList
.
add
(
C
.
MS_TYPE
.
MONEY_OFF
);
msList
.
add
(
C
.
MS_TYPE
.
GIFT
);
return
msList
;
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
View file @
57fab647
...
@@ -9,6 +9,7 @@ import android.support.v7.app.AlertDialog;
...
@@ -9,6 +9,7 @@ import android.support.v7.app.AlertDialog;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
android.view.View
;
import
com.blankj.utilcode.util.FragmentUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseFragment
;
...
@@ -20,9 +21,12 @@ import com.xingdata.zzdpos.ui.marketing.ms.adapter.BeanAdapter;
...
@@ -20,9 +21,12 @@ import com.xingdata.zzdpos.ui.marketing.ms.adapter.BeanAdapter;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Area
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Area
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Group
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.Group
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.User
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.User
;
import
com.xingdata.zzdpos.ui.marketing.ms.view.BaseGroupView
;
import
com.xingdata.zzdpos.ui.marketing.ms.view.GroupAllView
;
import
com.xingdata.zzdpos.ui.marketing.ms.view.GroupCateView
;
import
com.xingdata.zzdpos.ui.marketing.ms.view.GroupSkuView
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
public
class
EditorFragment
extends
BaseFragment
<
MsPresenter
,
FragmentMsEditorBinding
>
{
public
class
EditorFragment
extends
BaseFragment
<
MsPresenter
,
FragmentMsEditorBinding
>
{
...
@@ -38,6 +42,12 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -38,6 +42,12 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
private
ViewTimeDetailBinding
mTimeDetailBinding
;
private
ViewTimeDetailBinding
mTimeDetailBinding
;
private
BaseGroupView
mGroupView
;
private
GroupAllView
mGroupAllView
=
new
GroupAllView
();
private
GroupCateView
mGroupCateView
=
new
GroupCateView
();
private
GroupSkuView
mGroupSkuView
=
new
GroupSkuView
();
@Override
@Override
public
int
getLayoutId
()
{
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_ms_editor
;
return
R
.
layout
.
fragment_ms_editor
;
...
@@ -45,42 +55,55 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -45,42 +55,55 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
initF
();
{
//TODO DELETE
mMs
=
new
Ms
();
mMs
.
setMsDateBegin
(
20170105L
);
mMs
.
setMsDateEnd
(
20170115L
);
mMs
.
setMsTimeBegin
(
000000
L
);
mMs
.
setMsTimeEnd
(
235959L
);
mMs
.
setMsWeekPlan
(
"1,2,3,5"
);
}
initInfoViews
();
initInfoViews
();
initTimeViews
();
initTimeViews
();
initMsViews
();
initMsViews
();
setF
();
mPresenter
.
initEditor
();
}
}
private
void
initF
()
{
/**
mMs
=
new
Ms
();
* 营销方案
mMs
.
setMsDateBegin
(
20170105L
);
*/
mMs
.
setMsDateEnd
(
20170115L
);
public
EditorFragment
setMs
(
Ms
ms
)
{
mMs
.
setMsTimeBegin
(
000000
L
);
this
.
mMs
=
ms
;
mMs
.
setMsTimeEnd
(
235959L
);
return
this
;
mMs
.
setMsWeekPlan
(
"1,2,3,5"
);
}
}
private
void
setF
()
{
/**
List
<
Group
>
groups
=
new
ArrayList
<>();
* 加载主体对象
groups
.
add
(
new
Group
(
C
.
MS_GROUP
.
ALL
,
"全场"
));
*
groups
.
add
(
new
Group
(
C
.
MS_GROUP
.
CATE
,
"指定品类"
));
* @param groups 营销主体列表
groups
.
add
(
new
Group
(
C
.
MS_GROUP
.
SKU
,
"指定商品"
));
*/
public
void
loadGroup
(
List
<
Group
>
groups
)
{
List
<
Area
>
areas
=
new
ArrayList
<>();
areas
.
add
(
new
Area
(
0
,
"所有门店"
));
areas
.
add
(
new
Area
(
1
,
"本店"
));
List
<
User
>
users
=
new
ArrayList
<>();
users
.
add
(
new
User
(
0
,
"所有顾客"
));
users
.
add
(
new
User
(
0
,
"所有会员"
));
mGroupAdapter
.
setNewData
(
groups
);
mGroupAdapter
.
setNewData
(
groups
);
mAreaAdapter
.
setNewData
(
areas
);
}
/**
* 加载营销对象
*
* @param users 营销对象列表
*/
public
void
loadUser
(
List
<
User
>
users
)
{
mUserAdapter
.
setNewData
(
users
);
mUserAdapter
.
setNewData
(
users
);
}
/**
* 加载范围对象
*
* @param areas 营销范围列表
*/
public
void
loadArea
(
List
<
Area
>
areas
)
{
mAreaAdapter
.
setNewData
(
areas
);
}
}
/**
/**
...
@@ -89,16 +112,23 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -89,16 +112,23 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
private
void
initInfoViews
()
{
private
void
initInfoViews
()
{
}
}
private
void
setViewByMs
()
{
mViewBinding
.
setName
(
mMs
.
getMsName
());
mViewBinding
.
setDateStart
(
new
StringBuffer
(
mMs
.
getMsDateBegin
().
toString
()).
insert
(
8
,
"日"
).
insert
(
6
,
"月"
).
insert
(
4
,
"年"
).
toString
());
mViewBinding
.
setDateEnd
(
new
StringBuffer
(
mMs
.
getMsDateEnd
().
toString
()).
insert
(
8
,
"日"
).
insert
(
6
,
"月"
).
insert
(
4
,
"年"
).
toString
());
}
/**
/**
* 初始化时间信息界面
* 初始化时间信息界面
*/
*/
private
void
initTimeViews
()
{
private
void
initTimeViews
()
{
//init
//init
mViewBinding
.
setDateStart
(
new
StringBuffer
(
mMs
.
getMsDateBegin
().
toString
()).
insert
(
8
,
"日"
).
insert
(
6
,
"月"
).
insert
(
4
,
"年"
).
toString
());
mViewBinding
.
setDateEnd
(
new
StringBuffer
(
mMs
.
getMsDateEnd
().
toString
()).
insert
(
8
,
"日"
).
insert
(
6
,
"月"
).
insert
(
4
,
"年"
).
toString
());
mTimeDetailBinding
=
null
;
mTimeDetailBinding
=
null
;
//
view stub
//view stub
mViewBinding
.
vsTimeDetail
.
getViewStub
().
setOnInflateListener
((
viewStub
,
view
)
->
initTimeDetailViews
(
view
));
mViewBinding
.
vsTimeDetail
.
getViewStub
().
setOnInflateListener
((
viewStub
,
view
)
->
initTimeDetailViews
(
view
));
//date
//date
mViewBinding
.
llDateStart
.
setOnClickListener
(
view
->
{
mViewBinding
.
llDateStart
.
setOnClickListener
(
view
->
{
...
@@ -110,7 +140,6 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -110,7 +140,6 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
if
(
mDateEndDialog
==
null
)
initDateEndDialog
();
if
(
mDateEndDialog
==
null
)
initDateEndDialog
();
mDateEndDialog
.
show
();
mDateEndDialog
.
show
();
});
});
// listener
// listener
mViewBinding
.
tvTimeMore
.
setOnClickListener
(
view
->
{
mViewBinding
.
tvTimeMore
.
setOnClickListener
(
view
->
{
if
(
mTimeDetailBinding
==
null
)
{
if
(
mTimeDetailBinding
==
null
)
{
...
@@ -181,21 +210,39 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -181,21 +210,39 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
// listener
// listener
mGroupAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
mGroupAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
});
});
mViewBinding
.
llArea
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_area
,
mAreaAdapter
,
(
dialog
1
,
which
)
->
{
mViewBinding
.
llArea
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_area
,
mAreaAdapter
,
(
dialog
,
which
)
->
{
mViewBinding
.
setArea
(
mAreaAdapter
.
getStrs
()[
which
]);
mViewBinding
.
setArea
(
mAreaAdapter
.
getStrs
()[
which
]);
mAreaAdapter
.
setSelectedPosition
(
which
);
mAreaAdapter
.
setSelectedPosition
(
which
);
dialog
1
.
dismiss
();
dialog
.
dismiss
();
})
})
);
);
mViewBinding
.
llUser
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_user
,
mUserAdapter
,
(
dialog
1
,
which
)
->
{
mViewBinding
.
llUser
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_user
,
mUserAdapter
,
(
dialog
,
which
)
->
{
mViewBinding
.
setUser
(
mUserAdapter
.
getStrs
()[
which
]);
mViewBinding
.
setUser
(
mUserAdapter
.
getStrs
()[
which
]);
mUserAdapter
.
setSelectedPosition
(
which
);
mUserAdapter
.
setSelectedPosition
(
which
);
dialog
1
.
dismiss
();
dialog
.
dismiss
();
})
})
);
);
mGroupAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
switch
(
mGroupAdapter
.
getData
().
get
(
position
).
getId
())
{
case
C
.
MS_GROUP
.
ALL
:
mGroupView
=
mGroupAllView
;
break
;
case
C
.
MS_GROUP
.
CATE
:
mGroupView
=
mGroupCateView
;
break
;
case
C
.
MS_GROUP
.
SKU
:
mGroupView
=
mGroupSkuView
;
break
;
}
mGroupView
.
setMs
(
mMs
);
if
(
getChildFragmentManager
().
getFragments
().
size
()
==
0
)
{
FragmentUtils
.
add
(
getChildFragmentManager
(),
mGroupView
,
R
.
id
.
f_group
);
}
else
{
FragmentUtils
.
replace
(
getChildFragmentManager
(),
mGroupView
,
R
.
id
.
f_group
);
}
});
}
}
/**
/**
* 初始化开始日期选择对话框
* 初始化开始日期选择对话框
*/
*/
...
@@ -205,7 +252,7 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -205,7 +252,7 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
String
m
=
String
.
valueOf
(
month
+
1
).
length
()
>=
2
?
String
.
valueOf
(
month
+
1
)
:
"0"
+
String
.
valueOf
(
month
+
1
);
String
m
=
String
.
valueOf
(
month
+
1
).
length
()
>=
2
?
String
.
valueOf
(
month
+
1
)
:
"0"
+
String
.
valueOf
(
month
+
1
);
String
d
=
String
.
valueOf
(
day
).
length
()
>=
2
?
String
.
valueOf
(
day
)
:
"0"
+
String
.
valueOf
(
day
);
String
d
=
String
.
valueOf
(
day
).
length
()
>=
2
?
String
.
valueOf
(
day
)
:
"0"
+
String
.
valueOf
(
day
);
mViewBinding
.
setDateStart
(
year
+
"年"
+
(
month
+
1
)
+
"月"
+
day
+
"日"
);
mViewBinding
.
setDateStart
(
year
+
"年"
+
m
+
"月"
+
d
+
"日"
);
mMs
.
setMsDateBegin
(
ConvertUtil
.
stringToLong
(
year
+
m
+
d
));
mMs
.
setMsDateBegin
(
ConvertUtil
.
stringToLong
(
year
+
m
+
d
));
if
(
mMs
.
getMsDateBegin
()
>
mMs
.
getMsDateEnd
())
{
if
(
mMs
.
getMsDateBegin
()
>
mMs
.
getMsDateEnd
())
{
...
@@ -224,7 +271,7 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -224,7 +271,7 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
String
m
=
String
.
valueOf
(
month
+
1
).
length
()
>=
2
?
String
.
valueOf
(
month
+
1
)
:
"0"
+
String
.
valueOf
(
month
+
1
);
String
m
=
String
.
valueOf
(
month
+
1
).
length
()
>=
2
?
String
.
valueOf
(
month
+
1
)
:
"0"
+
String
.
valueOf
(
month
+
1
);
String
d
=
String
.
valueOf
(
day
).
length
()
>=
2
?
String
.
valueOf
(
day
)
:
"0"
+
String
.
valueOf
(
day
);
String
d
=
String
.
valueOf
(
day
).
length
()
>=
2
?
String
.
valueOf
(
day
)
:
"0"
+
String
.
valueOf
(
day
);
mViewBinding
.
setDateEnd
(
year
+
"年"
+
(
month
+
1
)
+
"月"
+
day
+
"日"
);
mViewBinding
.
setDateEnd
(
year
+
"年"
+
m
+
"月"
+
d
+
"日"
);
mMs
.
setMsDateEnd
(
ConvertUtil
.
stringToLong
(
year
+
m
+
d
));
mMs
.
setMsDateEnd
(
ConvertUtil
.
stringToLong
(
year
+
m
+
d
));
if
(
mMs
.
getMsDateBegin
()
>
mMs
.
getMsDateEnd
())
{
if
(
mMs
.
getMsDateBegin
()
>
mMs
.
getMsDateEnd
())
{
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Type.java
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
public
class
Type
extends
BaseBean
{
public
class
Type
extends
BaseBean
{
public
Type
(
int
id
,
String
name
)
{
public
Type
(
int
id
)
{
setId
(
id
);
setId
(
id
);
setName
(
name
);
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/User.java
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
public
class
User
extends
BaseBean
{
public
class
User
extends
BaseBean
{
public
User
(
int
id
,
String
name
)
{
public
User
(
int
id
,
String
name
,
int
levelId
)
{
setId
(
id
);
setId
(
id
);
setName
(
name
);
setName
(
name
);
setLevelId
(
levelId
);
}
private
int
levelId
;
public
int
getLevelId
()
{
return
levelId
;
}
public
void
setLevelId
(
int
levelId
)
{
this
.
levelId
=
levelId
;
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/BaseGroupView.java
0 → 100644
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
view
;
import
android.databinding.ViewDataBinding
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.ui.marketing.ms.MsPresenter
;
public
abstract
class
BaseGroupView
<
B
extends
ViewDataBinding
>
extends
BaseFragment
<
MsPresenter
,
B
>
{
public
Ms
mMs
;
@Override
public
void
initView
()
{
if
(
mMs
!=
null
)
setViewByMs
();
}
protected
abstract
void
setViewByMs
();
/**
* 设置营销计划
*
* @param ms 营销计划实体
* @return this
*/
public
BaseGroupView
setMs
(
Ms
ms
)
{
this
.
mMs
=
ms
;
return
this
;
}
/**
* 获取当前页面的属性赋给营销计划实体
*
* @param ms 要编辑的营销计划
* @return 是否成功赋值
*/
public
abstract
boolean
processMs
(
Ms
ms
);
@Override
public
void
onDestroyView
()
{
if
(
mMs
!=
null
)
processMs
(
mMs
);
super
.
onDestroyView
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupAllView.java
0 → 100644
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
view
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.databinding.ViewGroupAllBinding
;
import
com.xingdata.zzdpos.model.Ms
;
/**
* 全场页面
*/
public
class
GroupAllView
extends
BaseGroupView
<
ViewGroupAllBinding
>
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
view_group_all
;
}
@Override
protected
void
setViewByMs
()
{
}
@Override
public
boolean
processMs
(
Ms
ms
)
{
ms
.
setMsTouchTag2
((
byte
)
C
.
MS_GROUP
.
ALL
);
return
true
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupCateView.java
0 → 100644
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
view
;
import
android.view.View
;
import
android.widget.AdapterView
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.databinding.ViewGroupCateBinding
;
import
com.xingdata.zzdpos.model.Category
;
import
com.xingdata.zzdpos.model.Ms
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 指定品类页面
*/
public
class
GroupCateView
extends
BaseGroupView
<
ViewGroupCateBinding
>
{
private
int
mClaPosition
=
0
,
mGrpPosition
=
0
,
mCatePosition
=
0
;
private
List
<
Category
>
mClas
,
mGrps
,
mCates
;
private
AdapterView
.
OnItemSelectedListener
mOnItemSelectedListener
;
private
long
cateId
;
public
GroupCateView
()
{
mOnItemSelectedListener
=
new
AdapterView
.
OnItemSelectedListener
()
{
@Override
public
void
onItemSelected
(
AdapterView
<?>
adapterView
,
View
view
,
int
i
,
long
l
)
{
switch
(
adapterView
.
getId
())
{
case
R
.
id
.
ns_type_1
:
mClaPosition
=
i
;
mGrpPosition
=
0
;
mCatePosition
=
0
;
mViewBinding
.
nsType3
.
setVisibility
(
View
.
GONE
);
loadGrp
(
mClas
.
get
(
i
));
cateId
=
mClas
.
get
(
i
).
getSpuCateId
();
break
;
case
R
.
id
.
ns_type_2
:
mGrpPosition
=
i
;
mCatePosition
=
0
;
if
(
mGrps
.
get
(
i
).
getSpuCateId
()
>
0
)
{
loadCate
(
mGrps
.
get
(
i
));
cateId
=
mGrps
.
get
(
i
).
getSpuCateId
();
mViewBinding
.
nsType3
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
cateId
=
mClas
.
get
(
mClaPosition
).
getSpuCateId
();
mViewBinding
.
nsType3
.
setVisibility
(
View
.
GONE
);
}
break
;
case
R
.
id
.
ns_type_3
:
mCatePosition
=
i
;
if
(
mCates
.
get
(
i
).
getSpuCateId
()
<
0
)
{
cateId
=
mGrps
.
get
(
mGrpPosition
).
getSpuCateId
();
}
else
{
cateId
=
mCates
.
get
(
i
).
getSpuCateId
();
}
break
;
}
}
@Override
public
void
onNothingSelected
(
AdapterView
<?>
adapterView
)
{
}
};
}
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
view_group_cate
;
}
@Override
public
void
initView
()
{
super
.
initView
();
loadCla
();
mViewBinding
.
nsType1
.
setOnItemSelectedListener
(
mOnItemSelectedListener
);
mViewBinding
.
nsType2
.
setOnItemSelectedListener
(
mOnItemSelectedListener
);
mViewBinding
.
nsType3
.
setOnItemSelectedListener
(
mOnItemSelectedListener
);
}
@Override
protected
void
setViewByMs
()
{
}
@Override
public
boolean
processMs
(
Ms
ms
)
{
ms
.
setMsTouchTag2
((
byte
)
C
.
MS_GROUP
.
CATE
);
ms
.
setSpuCateId
((
int
)
cateId
);
return
true
;
}
/**
* 加载大类
*/
private
void
loadCla
()
{
ApiFactory
.
Shop
.
queryAll
().
subscribe
(
categories
->
{
mClas
=
categories
;
List
<
String
>
strClas
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
categories
.
size
();
i
++)
{
if
(
mMs
!=
null
&&
mMs
.
getSpuCateId
()
!=
null
&&
mMs
.
getSpuCateId
()
/
10000
==
categories
.
get
(
i
).
getSpuCateId
()
/
10000
)
mClaPosition
=
i
;
strClas
.
add
(
categories
.
get
(
i
).
getSpuClaName
());
}
mViewBinding
.
nsType1
.
attachDataSource
(
strClas
);
mViewBinding
.
nsType1
.
setSelectedIndex
(
mClaPosition
);
cateId
=
mClas
.
get
(
0
).
getSpuCateId
();
loadGrp
(
mClas
.
get
(
mClaPosition
));
},
throwable
->
{
});
}
/**
* 设置大类信息,加载中类
*
* @param cateCla 大类信息
*/
private
void
loadGrp
(
Category
cateCla
)
{
ApiFactory
.
Shop
.
queryAll
(
cateCla
).
subscribe
(
categories
->
{
Category
category
=
new
Category
();
category
.
setSpuGrpName
(
"全部"
);
category
.
setSpuCateId
(
cateCla
.
getSpuCateId
());
categories
.
add
(
0
,
category
);
mGrps
=
categories
;
List
<
String
>
strGrps
=
new
ArrayList
<>();
for
(
int
j
=
0
;
j
<
categories
.
size
();
j
++)
{
if
(
mMs
!=
null
&&
mMs
.
getSpuCateId
()
!=
null
&&
mMs
.
getSpuCateId
()
/
100
==
categories
.
get
(
j
).
getSpuCateId
()
/
100
)
mGrpPosition
=
j
;
strGrps
.
add
(
categories
.
get
(
j
).
getSpuGrpName
());
}
mViewBinding
.
nsType2
.
attachDataSource
(
strGrps
);
mViewBinding
.
nsType2
.
setSelectedIndex
(
mGrpPosition
);
if
(
mGrpPosition
!=
0
)
{
loadCate
(
mGrps
.
get
(
mGrpPosition
));
mViewBinding
.
nsType3
.
setVisibility
(
View
.
VISIBLE
);
}
},
throwable
->
{
});
}
/**
* 设置中类信息,加载小类
*
* @param cateGrp 中类信息
*/
private
void
loadCate
(
Category
cateGrp
)
{
ApiFactory
.
Shop
.
queryAll
(
cateGrp
).
subscribe
(
categories
->
{
Category
category
=
new
Category
();
category
.
setSpuCateName
(
"全部"
);
category
.
setSpuCateId
(
cateGrp
.
getSpuCateId
());
categories
.
add
(
0
,
category
);
mCates
=
categories
;
List
<
String
>
strCates
=
new
ArrayList
<>();
for
(
int
j
=
0
;
j
<
categories
.
size
();
j
++)
{
if
(
mMs
!=
null
&&
mMs
.
getSpuCateId
()
!=
null
&&
mMs
.
getSpuCateId
().
longValue
()
==
categories
.
get
(
j
).
getSpuCateId
())
mCatePosition
=
j
;
strCates
.
add
(
categories
.
get
(
j
).
getSpuCateName
());
}
mViewBinding
.
nsType3
.
attachDataSource
(
strCates
);
mViewBinding
.
nsType3
.
setSelectedIndex
(
mCatePosition
);
},
throwable
->
{
});
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupSkuView.java
0 → 100644
View file @
57fab647
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
view
;
import
android.annotation.SuppressLint
;
import
android.view.View
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.databinding.ViewGroupSkuBinding
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
/**
* 指定商品页面
*/
public
class
GroupSkuView
extends
BaseGroupView
<
ViewGroupSkuBinding
>
{
private
Sssku
mSssku
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
view_group_sku
;
}
@Override
public
void
initView
()
{
super
.
initView
();
mViewBinding
.
btnSearch
.
setOnClickListener
(
view
->
{
//TODO
// mPresenter.clickGroupSkuSearchButton(mViewBinding.etKeyword.getText().toString());
});
mViewBinding
.
etKeyword
.
requestFocus
();
}
@SuppressLint
(
"SetTextI18n"
)
@Override
protected
void
setViewByMs
()
{
if
(
mMs
.
getMsTouchTag2
()
==
null
||
mMs
.
getMsTouchTag2
()
!=
C
.
MS_GROUP
.
SKU
)
return
;
mViewBinding
.
llProduct
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
etKeyword
.
setText
(
ConvertUtil
.
longToString
(
mMs
.
getSkuBarCode
()));
mViewBinding
.
tvProductName
.
setText
(
getString
(
R
.
string
.
ms_editor_group_sku_name
)
+
mMs
.
getSkuName
());
mViewBinding
.
tvProductPrice
.
setText
(
getString
(
R
.
string
.
ms_editor_group_sku_price
)
+
ConvertUtil
.
fenToYuan
(
mMs
.
getSkuPrice1
(),
true
));
}
@Override
public
boolean
processMs
(
Ms
ms
)
{
ms
.
setMsTouchTag2
((
byte
)
C
.
MS_GROUP
.
SKU
);
if
(
mSssku
==
null
&&
ms
.
getSkuId
()
==
null
)
return
false
;
if
(
mSssku
!=
null
)
ms
.
setSkuId
(
mSssku
.
getSkuId
());
return
true
;
}
@SuppressLint
(
"SetTextI18n"
)
public
void
loadSssku
(
Sssku
sssku
)
{
this
.
mSssku
=
sssku
;
if
(
sssku
!=
null
)
{
mViewBinding
.
etKeyword
.
setText
(
ConvertUtil
.
longToString
(
sssku
.
getSpuBarcode
()));
mViewBinding
.
tvProductName
.
setText
(
getString
(
R
.
string
.
ms_editor_group_sku_name
)
+
sssku
.
getSpuName
());
mViewBinding
.
tvProductPrice
.
setText
(
getString
(
R
.
string
.
ms_editor_group_sku_price
)
+
ConvertUtil
.
fenToYuan
(
sssku
.
getSkuRetailPrice1
(),
true
));
mViewBinding
.
llProduct
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
mViewBinding
.
llProduct
.
setVisibility
(
View
.
GONE
);
}
}
}
app/src/main/res/layout/view_group_all.xml
0 → 100644
View file @
57fab647
<?xml version="1.0" encoding="utf-8"?>
<layout>
<android.support.constraint.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/transparent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/editor_item_height"
android:gravity=
"center"
android:text=
"@{@string/ms_editor_buy + @string/ms_editor_group_all_hint}"
android:textColor=
"@color/black"
android:textSize=
"@dimen/big_text_size"
/>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/view_group_cate.xml
0 → 100644
View file @
57fab647
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/transparent"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/editor_item_height"
android:gravity=
"center"
android:text=
"@string/ms_editor_buy"
android:textColor=
"@color/black"
android:textSize=
"@dimen/big_text_size"
/>
<org.angmarch.views.NiceSpinner
android:id=
"@+id/ns_type_1"
style=
"@style/editor_edit"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_spacing"
android:minWidth=
"@dimen/et_min_width_short"
app:backgroundSelector=
"@drawable/selector_white_background_stroke_2"
/>
<org.angmarch.views.NiceSpinner
android:id=
"@+id/ns_type_2"
style=
"@style/editor_edit"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_spacing"
android:minWidth=
"@dimen/et_min_width_short"
app:backgroundSelector=
"@drawable/selector_white_background_stroke_2"
/>
<org.angmarch.views.NiceSpinner
android:id=
"@+id/ns_type_3"
style=
"@style/editor_edit"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_spacing"
android:minWidth=
"@dimen/et_min_width_short"
android:visibility=
"gone"
app:backgroundSelector=
"@drawable/selector_white_background_stroke_2"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_spacing"
android:gravity=
"center"
android:text=
"@string/ms_editor_group_skugrp_hint"
android:textColor=
"@color/black"
android:textSize=
"@dimen/big_text_size"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/view_group_sku.xml
0 → 100644
View file @
57fab647
<?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=
"wrap_content"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginEnd=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:layout_marginTop=
"@dimen/all_margin"
>
<EditText
android:id=
"@+id/et_search"
style=
"@style/searchBarEditor"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_marginEnd=
"@dimen/all_spacing"
android:layout_weight=
"1"
android:hint=
"@string/ms_editor_type_gift_search_hint"
android:inputType=
"text"
android:labelFor=
"@+id/et_search"
android:textColor=
"@color/black_likui"
android:textColorHint=
"@color/gray_huanggai"
android:textSize=
"@dimen/all_text_size"
/>
<ImageButton
android:id=
"@+id/btn_scan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@color/transparent"
android:contentDescription=
"@string/store_scan"
android:foreground=
"?android:attr/actionBarItemBackground"
android:src=
"@mipmap/but_sweep_yard"
/>
</LinearLayout>
<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:layout_marginTop=
"@dimen/all_margin"
android:background=
"@color/gray_kongming"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<com.facebook.drawee.view.SimpleDraweeView
android:layout_width=
"80dp"
android:layout_height=
"80dp"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"@dimen/all_margin"
/>
<LinearLayout
android:id=
"@+id/ll_product"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_spacing"
android:orientation=
"vertical"
android:padding=
"@dimen/all_margin"
>
<TextView
android:id=
"@+id/tv_product_name"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"@string/ms_editor_group_sku_name"
/>
<TextView
android:id=
"@+id/tv_product_price"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_margin"
android:text=
"@string/ms_editor_group_sku_price"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
57fab647
...
@@ -365,6 +365,7 @@
...
@@ -365,6 +365,7 @@
<string
name=
"ms_editor_type_gift_hint"
>
条码:请扫码或输入条码
</string>
<string
name=
"ms_editor_type_gift_hint"
>
条码:请扫码或输入条码
</string>
<string
name=
"ms_editor_type_gift_name"
>
品名:
</string>
<string
name=
"ms_editor_type_gift_name"
>
品名:
</string>
<string
name=
"ms_editor_type_gift_price"
>
售价:
</string>
<string
name=
"ms_editor_type_gift_price"
>
售价:
</string>
<string
name=
"ms_editor_type_gift_search_hint"
>
请扫内包装商品条码
</string>
<string
name=
"ms_editor_date_format"
>
%s年%s月%s日
</string>
<string
name=
"ms_editor_date_format"
>
%s年%s月%s日
</string>
<string
name=
"ms_editor_time_format"
>
%s:%s
</string>
<string
name=
"ms_editor_time_format"
>
%s:%s
</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