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
6e81cf77
Commit
6e81cf77
authored
Jan 04, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
营销方案;
parent
5cf3032f
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
600 additions
and
15 deletions
+600
-15
.idea/dictionaries/Eurus.xml
.idea/dictionaries/Eurus.xml
+1
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
+7
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/adapter/BeanAdapter.java
.../xingdata/zzdpos/ui/marketing/ms/adapter/BeanAdapter.java
+34
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/AddFragment.java
...xingdata/zzdpos/ui/marketing/ms/fragment/AddFragment.java
+5
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
...gdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
+158
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Area.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/model/Area.java
+8
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/BaseBean.java
...a/com/xingdata/zzdpos/ui/marketing/ms/model/BaseBean.java
+23
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Group.java
...java/com/xingdata/zzdpos/ui/marketing/ms/model/Group.java
+8
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Type.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/model/Type.java
+8
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/User.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/model/User.java
+8
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkugrpAdapter.java
...a/com/xingdata/zzdpos/ui/store/adapter/SkugrpAdapter.java
+4
-4
app/src/main/res/layout/fragment_ms_editor.xml
app/src/main/res/layout/fragment_ms_editor.xml
+325
-4
app/src/main/res/layout/item_selector.xml
app/src/main/res/layout/item_selector.xml
+0
-0
app/src/main/res/values/dimens.xml
app/src/main/res/values/dimens.xml
+1
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+10
-3
No files found.
.idea/dictionaries/Eurus.xml
View file @
6e81cf77
...
...
@@ -22,6 +22,7 @@
<w>
shixiu
</w>
<w>
skugrps
</w>
<w>
skus
</w>
<w>
strs
</w>
<w>
sunquan
</w>
<w>
xishi
</w>
<w>
yanqing
</w>
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
View file @
6e81cf77
...
...
@@ -6,6 +6,7 @@ import com.xingdata.zzdpos.R;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivityMsBinding
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
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.ManagerFragment
;
...
...
@@ -18,6 +19,8 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
private
EditorFragment
mEditorFragment
=
new
EditorFragment
();
private
AddFragment
mAddFragment
=
new
AddFragment
();
private
LoadingDialog
mLoadingDialog
=
new
LoadingDialog
();
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_ms
;
...
...
@@ -42,20 +45,22 @@ public class MsActivity extends BaseActivity<MsPresenter, ActivityMsBinding> imp
@Override
public
void
showEditorFragment
(
Ms
ms
)
{
LogUtils
.
e
(
"编辑 "
+
ms
.
getMsName
());
start
(
mEditorFragment
);
}
@Override
public
void
showEditorFragment
(
int
msType
)
{
LogUtils
.
e
(
"添加 "
+
msType
);
start
(
mEditorFragment
);
}
@Override
public
void
showLoadingDialog
()
{
mLoadingDialog
.
show
(
this
);
}
@Override
public
void
dismissLoadingDialog
()
{
mLoadingDialog
.
dismiss
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/adapter/BeanAdapter.java
0 → 100644
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
adapter
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseSelectedAdapter
;
import
com.xingdata.zzdpos.base.BaseViewHolder
;
import
com.xingdata.zzdpos.databinding.ItemSelectorBinding
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.BaseBean
;
import
java.util.ArrayList
;
public
class
BeanAdapter
<
T
extends
BaseBean
>
extends
BaseSelectedAdapter
<
T
,
ItemSelectorBinding
>
{
public
BeanAdapter
()
{
super
(
R
.
layout
.
item_selector
,
new
ArrayList
<>(),
true
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
ItemSelectorBinding
mViewBinding
,
T
item
)
{
mViewBinding
.
setSelected
(
getSelectedPosition
()
==
helper
.
getAdapterPosition
());
mViewBinding
.
tvName
.
getPaint
().
setFakeBoldText
(
getSelectedPosition
()
==
helper
.
getAdapterPosition
());
mViewBinding
.
tvName
.
setText
(
item
.
getName
());
}
public
String
[]
getStrs
()
{
String
[]
strs
=
new
String
[
getData
().
size
()];
for
(
int
i
=
0
;
i
<
getData
().
size
();
i
++)
{
strs
[
i
]
=
getData
().
get
(
i
).
getName
();
}
return
strs
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/AddFragment.java
View file @
6e81cf77
...
...
@@ -29,11 +29,14 @@ public class AddFragment extends BaseFragment<MsPresenter, FragmentMsAddBinding>
mViewBinding
.
rlType
.
addItemDecoration
(
new
MyMenuItemDecoration
(
mContext
,
2
,
getResources
().
getColor
(
R
.
color
.
gray_kongming
)));
// set t listener
mTypeAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
mPresenter
.
clickTypeItem
(
mTypeAdapter
.
getData
().
get
(
position
)));
mTypeAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
this
.
pop
();
mPresenter
.
clickTypeItem
(
mTypeAdapter
.
getData
().
get
(
position
));
});
}
/**
*
*
获取类型列表
*/
private
List
<
Integer
>
getTypeList
()
{
List
<
Integer
>
msList
=
new
ArrayList
<>();
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
fragment
;
import
android.app.DatePickerDialog
;
import
android.content.DialogInterface
;
import
android.support.v7.app.AlertDialog
;
import
android.support.v7.widget.LinearLayoutManager
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentMsEditorBinding
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.ui.marketing.ms.MsPresenter
;
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.Group
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.User
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
EditorFragment
extends
BaseFragment
<
MsPresenter
,
FragmentMsEditorBinding
>
{
private
Ms
mMs
;
private
BeanAdapter
<
Group
>
mGroupAdapter
;
private
BeanAdapter
<
Area
>
mAreaAdapter
;
private
BeanAdapter
<
User
>
mUserAdapter
;
private
DatePickerDialog
mDateStartDialog
,
mDateEndDialog
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_ms_editor
;
...
...
@@ -14,6 +37,141 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
@Override
public
void
initView
()
{
initF
();
initInfoViews
();
initTimeViews
();
initMsViews
();
setF
();
}
private
void
initF
()
{
mMs
=
new
Ms
();
mMs
.
setMsDateBegin
(
20170105L
);
mMs
.
setMsDateEnd
(
20170115L
);
}
private
void
setF
()
{
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
,
"所有顾客"
));
users
.
add
(
new
User
(
0
,
"所有会员"
));
mGroupAdapter
.
setNewData
(
groups
);
mAreaAdapter
.
setNewData
(
areas
);
mUserAdapter
.
setNewData
(
users
);
}
/**
* 初始化基本信息界面
*/
private
void
initInfoViews
()
{
}
/**
* 初始化时间信息界面
*/
private
void
initTimeViews
()
{
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
());
mViewBinding
.
tvTimeMore
.
setOnClickListener
(
view
->
{
});
//date
mViewBinding
.
llDateStart
.
setOnClickListener
(
view
->
{
showDatePickerDialog
();
});
mViewBinding
.
llDateEnd
.
setOnClickListener
(
view
->
{
});
}
/**
* 初始化活动信息界面
*/
private
void
initMsViews
()
{
// group
mGroupAdapter
=
new
BeanAdapter
<>();
mViewBinding
.
rlGroup
.
setAdapter
(
mGroupAdapter
);
mViewBinding
.
rlGroup
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
// area
mAreaAdapter
=
new
BeanAdapter
<>();
// user
mUserAdapter
=
new
BeanAdapter
<>();
// listener
mGroupAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
});
mViewBinding
.
llArea
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_area
,
mAreaAdapter
,
(
dialog1
,
which
)
->
{
mViewBinding
.
setArea
(
mAreaAdapter
.
getStrs
()[
which
]);
mAreaAdapter
.
setSelectedPosition
(
which
);
dialog1
.
dismiss
();
})
);
mViewBinding
.
llUser
.
setOnClickListener
(
view
->
showSelectorDialog
(
R
.
string
.
ms_editor_user
,
mUserAdapter
,
(
dialog1
,
which
)
->
{
mViewBinding
.
setUser
(
mUserAdapter
.
getStrs
()[
which
]);
mUserAdapter
.
setSelectedPosition
(
which
);
dialog1
.
dismiss
();
})
);
}
private
void
showDatePickerDialog
()
{
String
[]
strings
=
mViewBinding
.
getDateStart
().
split
(
"[^x00-xff]"
);
DatePickerDialog
dialog
=
new
DatePickerDialog
(
mContext
,
0
,
(
datePicker
,
year
,
month
,
day
)
->
{
mViewBinding
.
setDateStart
(
year
+
"年"
+
(
month
+
1
)
+
"月"
+
day
+
"日"
);
mMs
.
setMsDateBegin
(
ConvertUtil
.
stringToLong
(
year
+
""
+
month
+
1
+
""
+
day
));
// if (textView.getId() == R.id.tv_date_end &&
// Integer.valueOf(mViewBinding.tvDateStart.getText().toString().replace("-", "")) >
// Integer.valueOf(mViewBinding.tvDateEnd.getText().toString().replace("-", ""))) {
// mViewBinding.tvDateStart.setText(mViewBinding.tvDateEnd.getText());
// String[] stringEnds = mViewBinding.tvDateEnd.getText().toString().split("-");
// mDateStartBinding.dp.updateDate(Integer.valueOf(stringEnds[0]), Integer.valueOf(stringEnds[1]) - 1, Integer.valueOf(stringEnds[2]));
// }
// if (textView.getId() == R.id.tv_date_start &&
// Integer.valueOf(mViewBinding.tvDateStart.getText().toString().replace("-", "")) >
// Integer.valueOf(mViewBinding.tvDateEnd.getText().toString().replace("-", ""))) {
// mViewBinding.tvDateEnd.setText(mViewBinding.tvDateStart.getText());
// String[] stringStarts = mViewBinding.tvDateStart.getText().toString().split("-");
// mDateEndBinding.dp.updateDate(Integer.valueOf(stringStarts[0]), Integer.valueOf(stringStarts[1]) - 1, Integer.valueOf(stringStarts[2]));
// }
},
Integer
.
valueOf
(
strings
[
0
]),
Integer
.
valueOf
(
strings
[
1
])
-
1
,
Integer
.
valueOf
(
strings
[
2
]));
//后边三个参数为显示dialog时默认的日期,月份从0开始,0-11对应1-12个月
dialog
.
show
();
}
private
void
initDatePickerDialog
(
String
date
)
{
String
[]
strings
=
date
.
split
(
"[^x00-xff]"
);
}
/**
* 显示选择对话框
*
* @param title 标题
* @param adapter 适配器信息
* @param onClickListener item点击事件
*/
private
void
showSelectorDialog
(
int
title
,
BeanAdapter
adapter
,
DialogInterface
.
OnClickListener
onClickListener
)
{
new
AlertDialog
.
Builder
(
mContext
).
setTitle
(
title
)
.
setSingleChoiceItems
(
adapter
.
getStrs
(),
adapter
.
getSelectedPosition
(),
onClickListener
)
.
create
().
show
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Area.java
0 → 100644
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
public
class
Area
extends
BaseBean
{
public
Area
(
int
id
,
String
name
)
{
setId
(
id
);
setName
(
name
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/BaseBean.java
0 → 100644
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
public
class
BaseBean
{
private
int
id
;
private
String
name
;
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Group.java
0 → 100644
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
public
class
Group
extends
BaseBean
{
public
Group
(
int
id
,
String
name
)
{
setId
(
id
);
setName
(
name
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/Type.java
0 → 100644
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
public
class
Type
extends
BaseBean
{
public
Type
(
int
id
,
String
name
)
{
setId
(
id
);
setName
(
name
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/model/User.java
0 → 100644
View file @
6e81cf77
package
com
.
xingdata
.
zzdpos
.
ui
.
marketing
.
ms
.
model
;
public
class
User
extends
BaseBean
{
public
User
(
int
id
,
String
name
)
{
setId
(
id
);
setName
(
name
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkugrpAdapter.java
View file @
6e81cf77
...
...
@@ -3,19 +3,19 @@ package com.xingdata.zzdpos.ui.store.adapter;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseSelectedAdapter
;
import
com.xingdata.zzdpos.base.BaseViewHolder
;
import
com.xingdata.zzdpos.databinding.ItemS
toreSkugrp
Binding
;
import
com.xingdata.zzdpos.databinding.ItemS
elector
Binding
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
java.util.ArrayList
;
public
class
SkugrpAdapter
extends
BaseSelectedAdapter
<
Sskugrp
,
ItemS
toreSkugrp
Binding
>
{
public
class
SkugrpAdapter
extends
BaseSelectedAdapter
<
Sskugrp
,
ItemS
elector
Binding
>
{
public
SkugrpAdapter
()
{
super
(
R
.
layout
.
item_s
tore_skugrp
,
new
ArrayList
<>(),
false
);
super
(
R
.
layout
.
item_s
elector
,
new
ArrayList
<>(),
false
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
ItemS
toreSkugrp
Binding
mViewBinding
,
Sskugrp
item
)
{
protected
void
convert
(
BaseViewHolder
helper
,
ItemS
elector
Binding
mViewBinding
,
Sskugrp
item
)
{
mViewBinding
.
setSelected
(
getSelectedPosition
()
==
helper
.
getAdapterPosition
());
mViewBinding
.
tvName
.
getPaint
().
setFakeBoldText
(
getSelectedPosition
()
==
helper
.
getAdapterPosition
());
mViewBinding
.
tvName
.
setText
(
item
.
getSkuGrpName
());
...
...
app/src/main/res/layout/fragment_ms_editor.xml
View file @
6e81cf77
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/item_s
tore_skugrp
.xml
→
app/src/main/res/layout/item_s
elector
.xml
View file @
6e81cf77
File moved
app/src/main/res/values/dimens.xml
View file @
6e81cf77
...
...
@@ -11,6 +11,7 @@
<dimen
name=
"all_text_size"
>
16sp
</dimen>
<dimen
name=
"all_text_size_small"
>
12sp
</dimen>
<dimen
name=
"all_caption_size"
>
12sp
</dimen>
<dimen
name=
"all_body_size"
>
14sp
</dimen>
<dimen
name=
"all_tiny_size"
>
9sp
</dimen>
<dimen
name=
"all_title_size"
>
26sp
</dimen>
<dimen
name=
"all_padding"
>
10dp
</dimen>
...
...
app/src/main/res/values/strings.xml
View file @
6e81cf77
...
...
@@ -325,14 +325,21 @@
<string
name=
"ms_empty_hint"
>
没有搜到此计划\n请重新搜索,或点击添加按钮进行添加~
</string>
<string
name=
"ms_editor_title"
>
管理-营销计划
</string>
<string
name=
"ms_editor_setting"
>
设置营销计划
</string>
<string
name=
"ms_editor_name"
>
计划名称:
</string>
<string
name=
"ms_editor_subtitle_info"
>
基本信息
</string>
<string
name=
"ms_editor_name"
>
计划名称
</string>
<string
name=
"ms_editor_name_hint"
>
请输入计划名称
</string>
<string
name=
"ms_editor_subtitle_time"
>
时间信息
</string>
<string
name=
"ms_editor_time_more"
>
更多设置
</string>
<string
name=
"ms_editor_date"
>
起止时间:
</string>
<string
name=
"ms_editor_date_start"
>
开始时间
</string>
<string
name=
"ms_editor_date_end"
>
结束时间
</string>
<string
name=
"ms_editor_time"
>
限定时段:
</string>
<string
name=
"ms_editor_week"
>
限定星期:
</string>
<string
name=
"ms_editor_subtitle_ms"
>
活动信息
</string>
<string
name=
"ms_editor_type"
>
营销方式:
</string>
<string
name=
"ms_editor_group"
>
营销对象:
</string>
<string
name=
"ms_editor_area"
>
营销范围:
</string>
<string
name=
"ms_editor_group"
>
营销主体
</string>
<string
name=
"ms_editor_user"
>
营销对象
</string>
<string
name=
"ms_editor_area"
>
营销范围
</string>
<string
name=
"ms_editor_buy"
>
买
</string>
<string
name=
"ms_editor_group_all_hint"
>
任意商品
</string>
<string
name=
"ms_editor_group_skugrp_hint"
>
品类下的任意商品
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment