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
0728a82c
Commit
0728a82c
authored
Jan 17, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码;
parent
a799dab0
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
213 additions
and
139 deletions
+213
-139
app/src/main/java/com/xingdata/zzdpos/C.java
app/src/main/java/com/xingdata/zzdpos/C.java
+1
-2
app/src/main/java/com/xingdata/zzdpos/model/Sskugrp.java
app/src/main/java/com/xingdata/zzdpos/model/Sskugrp.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/main/MainPresenter.java
.../main/java/com/xingdata/zzdpos/ui/main/MainPresenter.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
...va/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
+9
-1
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuContract.java
...va/com/xingdata/zzdpos/ui/manage/sssku/SsskuContract.java
+5
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuPresenter.java
...a/com/xingdata/zzdpos/ui/manage/sssku/SsskuPresenter.java
+11
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/dialog/SkugrpDeleteDialog.java
...ata/zzdpos/ui/manage/sssku/dialog/SkugrpDeleteDialog.java
+1
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/EditorFragment.java
...gdata/zzdpos/ui/manage/sssku/fragment/EditorFragment.java
+2
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/ManagerFragment.java
...data/zzdpos/ui/manage/sssku/fragment/ManagerFragment.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/SkugrpFragment.java
...gdata/zzdpos/ui/manage/sssku/fragment/SkugrpFragment.java
+13
-0
app/src/main/java/com/xingdata/zzdpos/ui/scan/ScanFragment.java
...c/main/java/com/xingdata/zzdpos/ui/scan/ScanFragment.java
+31
-8
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/VipFragment.java
...a/com/xingdata/zzdpos/ui/settle/fragment/VipFragment.java
+3
-2
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
...main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
+50
-68
app/src/main/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
...ain/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
.../com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
+1
-2
app/src/main/java/com/xingdata/zzdpos/util/ConvertUtil.java
app/src/main/java/com/xingdata/zzdpos/util/ConvertUtil.java
+14
-13
app/src/main/res/drawable/shape_gray_r1.xml
app/src/main/res/drawable/shape_gray_r1.xml
+1
-1
app/src/main/res/layout/activity_sssku.xml
app/src/main/res/layout/activity_sssku.xml
+16
-3
app/src/main/res/layout/dialog_skugrp_delete.xml
app/src/main/res/layout/dialog_skugrp_delete.xml
+21
-13
app/src/main/res/layout/fragment_sssku_editor.xml
app/src/main/res/layout/fragment_sssku_editor.xml
+17
-16
app/src/main/res/layout/fragment_sssku_skugrp.xml
app/src/main/res/layout/fragment_sssku_skugrp.xml
+10
-3
app/src/main/res/layout/item_selector.xml
app/src/main/res/layout/item_selector.xml
+1
-1
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+2
-2
No files found.
app/src/main/java/com/xingdata/zzdpos/C.java
View file @
0728a82c
...
...
@@ -564,7 +564,6 @@ public class C {
public
static
final
int
PKG
=
5
;
public
static
final
int
SKU_DETAIL
=
6
;
public
static
final
int
ADD_SKU
=
7
;
public
static
final
int
SKU_EDITOR
=
8
;
}
}
app/src/main/java/com/xingdata/zzdpos/model/Sskugrp.java
View file @
0728a82c
...
...
@@ -20,7 +20,7 @@ public class Sskugrp extends RealmObject implements BaseModel, BaseBean {
Sskugrp
sskugrp
=
new
Sskugrp
();
sskugrp
.
setSelected
(
true
);
sskugrp
.
setSkuGrpId
(
0
l
);
sskugrp
.
setSkuGrpName
(
"全部
分组
"
);
sskugrp
.
setSkuGrpName
(
"全部
商品
"
);
return
sskugrp
;
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/main/MainPresenter.java
View file @
0728a82c
...
...
@@ -157,7 +157,7 @@ public class MainPresenter extends MainContract.Presenter {
//
// sskugrp = new Sskugrp();
// sskugrp.setSkuGrpId(0L);
// sskugrp.setSkuGrpName("全部
分组
");
// sskugrp.setSkuGrpName("全部
商品
");
// sskugrp.setSelected(true);
// sskugrps.add(0, sskugrp);
//
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
View file @
0728a82c
...
...
@@ -138,17 +138,25 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
@Override
public
void
showEditorFragment
(
Sssku
sku
,
int
editMode
)
{
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
switch
(
editMode
)
{
case
C
.
SKU_EDITOR_MODE
.
ADD
:
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
SKU_EDITOR
);
mViewBinding
.
tvEditorHint
.
setText
(
"已有"
);
mViewBinding
.
tvEditorHint
.
setBackgroundResource
(
R
.
drawable
.
shape_orange_r1
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
sssku_add
);
this
.
start
(
mEditorFragment
.
setSssku
(
sku
).
setEditMode
(
C
.
SKU_EDITOR_MODE
.
ADD
));
break
;
case
C
.
SKU_EDITOR_MODE
.
UNKNOWN
:
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
SKU_EDITOR
);
mViewBinding
.
tvEditorHint
.
setText
(
"新增"
);
mViewBinding
.
tvEditorHint
.
setBackgroundResource
(
R
.
drawable
.
shape_red_r1
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
sssku_add
);
this
.
start
(
mEditorFragment
.
setSssku
(
sku
).
setEditMode
(
C
.
SKU_EDITOR_MODE
.
UNKNOWN
));
break
;
case
C
.
SKU_EDITOR_MODE
.
UPDATE
:
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
sku_update
);
this
.
start
(
mEditorFragment
.
setSssku
(
sku
).
setEditMode
(
C
.
SKU_EDITOR_MODE
.
UPDATE
));
break
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuContract.java
View file @
0728a82c
...
...
@@ -213,6 +213,11 @@ public interface SsskuContract {
*/
public
abstract
void
clickSku
(
Sssku
sssku
);
/**
* 管理页面 - 刷新商品分组
*/
public
abstract
void
refreshSkugrp
();
/**
* 管理页面 - 切换分组
*
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuPresenter.java
View file @
0728a82c
...
...
@@ -46,6 +46,11 @@ public class SsskuPresenter extends SsskuContract.Presenter {
clickSku
(
sssku
,
C
.
TITLE_MODE
.
SKU
);
}
@Override
public
void
refreshSkugrp
()
{
this
.
getSkugrp
();
}
@Override
public
void
clickSkugrp
(
Sskugrp
sskugrp
)
{
//点击商品管理里的分组
...
...
@@ -164,6 +169,12 @@ public class SsskuPresenter extends SsskuContract.Presenter {
@Override
public
void
clickDeleteSkugrp
(
Sskugrp
sskugrp
)
{
mView
.
showLoadingDialog
();
if
(
mSkuGrpId
.
longValue
()
==
sskugrp
.
getSkuGrpId
())
{
this
.
mPageNum
=
0
;
this
.
mSkuGrpId
=
0L
;
mView
.
loadSkugrpState
(
0L
);
this
.
getSku
();
}
mCompositeDisposable
.
add
(
ApiFactory
.
Sskugrp
.
delete
(
sskugrp
.
getSkuGrpId
())
.
doOnSubscribe
(
subscription
->
mView
.
dismissLoadingDialog
())
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/dialog/SkugrpDeleteDialog.java
View file @
0728a82c
...
...
@@ -29,6 +29,7 @@ public class SkugrpDeleteDialog extends BaseDialog<SsskuPresenter, DialogSkugrpD
@Override
public
void
initView
()
{
mViewBinding
.
tvSkugrpName
.
setText
(
mSskugrp
.
getSkuGrpName
());
}
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/EditorFragment.java
View file @
0728a82c
...
...
@@ -242,6 +242,7 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd
private
void
setInfoViewByEditMode
()
{
switch
(
mEditorMode
)
{
case
C
.
SKU_EDITOR_MODE
.
UNKNOWN
:
mViewBinding
.
etName
.
setEnabled
(
true
);
mViewBinding
.
nsType1
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
nsType2
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
nsType3
.
setVisibility
(
View
.
VISIBLE
);
...
...
@@ -251,6 +252,7 @@ public class EditorFragment extends BaseFragment<SsskuPresenter, FragmentSsskuEd
this
.
loadCla
();
break
;
default
:
mViewBinding
.
etName
.
setEnabled
(
false
);
mViewBinding
.
nsType1
.
setVisibility
(
View
.
INVISIBLE
);
mViewBinding
.
nsType2
.
setVisibility
(
View
.
INVISIBLE
);
mViewBinding
.
nsType3
.
setVisibility
(
View
.
GONE
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/ManagerFragment.java
View file @
0728a82c
...
...
@@ -89,7 +89,7 @@ public class ManagerFragment extends BaseFragment<SsskuPresenter, FragmentSsskuM
public
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
)
{
Sskugrp
sskugrp
=
new
Sskugrp
();
sskugrp
.
setSkuGrpId
(
0L
);
sskugrp
.
setSkuGrpName
(
"全部
分组
"
);
sskugrp
.
setSkuGrpName
(
"全部
商品
"
);
sskugrp
.
setSelected
(
true
);
List
<
Sskugrp
>
_sskugrps
=
new
ArrayList
<>();
_sskugrps
.
addAll
(
sskugrps
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/fragment/SkugrpFragment.java
View file @
0728a82c
...
...
@@ -37,6 +37,8 @@ public class SkugrpFragment extends BaseFragment<SsskuPresenter, FragmentSsskuSk
mViewBinding
.
rlSkugrp
.
setAdapter
(
mSkugrpAdapter
);
mViewBinding
.
rlSkugrp
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
mViewBinding
.
srlSkugrp
.
setOnRefreshListener
(
this
::
refreshSkugrp
);
mViewBinding
.
llSkugrpAdd
.
setOnClickListener
(
view
->
{
new
SkugrpEditorDialog
().
show
(((
SsskuActivity
)
getActivity
()));
});
...
...
@@ -46,6 +48,14 @@ public class SkugrpFragment extends BaseFragment<SsskuPresenter, FragmentSsskuSk
});
}
/**
* 刷新商品分组
*/
private
void
refreshSkugrp
()
{
mSkugrpAdapter
.
setEnableLoadMore
(
false
);
mPresenter
.
refreshSkugrp
();
}
/**
* 加载商品分组
*
...
...
@@ -54,7 +64,10 @@ public class SkugrpFragment extends BaseFragment<SsskuPresenter, FragmentSsskuSk
public
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
)
{
mSskugrps
=
sskugrps
;
if
(
mSkugrpAdapter
==
null
)
return
;
mSkugrpAdapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
srlSkugrp
.
setRefreshing
(
false
);
mSkugrpAdapter
.
setNewData
(
mSskugrps
);
mSkugrpAdapter
.
loadMoreEnd
(
true
);
mViewBinding
.
setVisibility
(
sskugrps
.
size
()
>
0
?
View
.
VISIBLE
:
View
.
INVISIBLE
);
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/s
tore/fragment
/ScanFragment.java
→
app/src/main/java/com/xingdata/zzdpos/ui/s
can
/ScanFragment.java
View file @
0728a82c
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
fragment
;
package
com
.
xingdata
.
zzdpos
.
ui
.
scan
;
import
android.content.Context
;
import
android.os.Handler
;
import
com.google.zxing.Result
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.databinding.FragmentStoreScanBinding
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
me.dm7.barcodescanner.core.IViewFinder
;
import
me.dm7.barcodescanner.core.ViewFinderView
;
import
me.dm7.barcodescanner.zxing.ZXingScannerView
;
public
class
ScanFragment
extends
BaseFragment
<
StorePresenter
,
FragmentStoreScanBinding
>
{
public
class
ScanFragment
<
P
extends
BasePresenter
>
extends
BaseFragment
<
P
,
FragmentStoreScanBinding
>
{
private
ZXingScannerView
mScannerView
;
private
ZXingScannerView
.
ResultHandler
mResultHandler
;
...
...
@@ -23,20 +23,43 @@ public class ScanFragment extends BaseFragment<StorePresenter, FragmentStoreScan
return
R
.
layout
.
fragment_store_scan
;
}
private
OnScanCompletedListener
mOnScanCompletedListener
;
public
OnScanCompletedListener
getOnScanCompletedListener
()
{
return
mOnScanCompletedListener
;
}
public
void
setOnScanCompletedListener
(
OnScanCompletedListener
onScanCompletedListener
)
{
this
.
mOnScanCompletedListener
=
onScanCompletedListener
;
}
public
interface
OnScanCompletedListener
{
void
OnScanCompleted
(
String
barcode
);
}
@Override
public
void
initView
()
{
mScannerView
=
new
ZXingScannerView
(
mContext
)
{
@Override
protected
IViewFinder
createViewFinderView
(
Context
context
)
{
return
new
CustomViewFinderView
(
context
);
return
new
ScanFragment
.
CustomViewFinderView
(
context
);
}
};
mResultHandler
=
result
->
{
mPresenter
.
scanComplete
(
result
.
getText
());
if
(
mOnScanCompletedListener
!=
null
)
{
mOnScanCompletedListener
.
OnScanCompleted
(
result
.
getText
());
}
resetScanner
();
};
mResultHandler
=
new
ZXingScannerView
.
ResultHandler
()
{
@Override
public
void
handleResult
(
Result
result
)
{
}
};
mScannerView
.
setResultHandler
(
mResultHandler
);
mViewBinding
.
contentFrame
.
addView
(
mScannerView
);
}
...
...
@@ -57,7 +80,7 @@ public class ScanFragment extends BaseFragment<StorePresenter, FragmentStoreScan
* 重置扫描器
*/
public
void
resetScanner
()
{
new
Handler
().
postDelayed
(()
->
mScannerView
.
resumeCameraPreview
(
mResultHandler
),
5
00
);
new
Handler
().
postDelayed
(()
->
mScannerView
.
resumeCameraPreview
(
mResultHandler
),
10
00
);
}
private
static
class
CustomViewFinderView
extends
ViewFinderView
{
...
...
@@ -67,7 +90,7 @@ public class ScanFragment extends BaseFragment<StorePresenter, FragmentStoreScan
int
themeColor
=
getResources
().
getColor
(
R
.
color
.
blue_mawu
);
this
.
setBorderColor
(
themeColor
);
this
.
setBorderStrokeWidth
(
getResources
().
getDimensionPixelOffset
(
R
.
dimen
.
all_
spacing
));
this
.
setBorderStrokeWidth
(
getResources
().
getDimensionPixelOffset
(
R
.
dimen
.
all_
radius
));
this
.
setLaserColor
(
themeColor
);
this
.
setLaserEnabled
(
true
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/VipFragment.java
View file @
0728a82c
...
...
@@ -48,11 +48,12 @@ public class VipFragment extends BaseFragment<SettlePresenter, FragmentSettleVip
* @param vips 会员列表
*/
public
void
loadVips
(
List
<
Vip
>
vips
)
{
mViewBinding
.
setEmpty
(
vips
.
size
()
==
0
);
mVipAdapter
.
setNewData
(
vips
);
if
(
vips
.
size
()
==
1
)
{
mPresenter
.
selectVip
(
vips
.
get
(
0
));
this
.
pop
();
}
else
{
mViewBinding
.
setEmpty
(
vips
.
size
()
==
0
);
mVipAdapter
.
setNewData
(
vips
);
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
View file @
0728a82c
...
...
@@ -23,10 +23,10 @@ import com.xingdata.zzdpos.model.Saledetail;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.scan.ScanFragment
;
import
com.xingdata.zzdpos.ui.settle.SettleActivity
;
import
com.xingdata.zzdpos.ui.store.dialog.CartDialog
;
import
com.xingdata.zzdpos.ui.store.dialog.MsDialog
;
import
com.xingdata.zzdpos.ui.store.fragment.ScanFragment
;
import
com.xingdata.zzdpos.ui.store.fragment.SearchFragment
;
import
com.xingdata.zzdpos.ui.store.fragment.StoreFragment
;
...
...
@@ -53,13 +53,10 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public
void
initView
()
{
loadRootFragment
(
R
.
id
.
f_store
,
mStoreFragment
);
mViewBinding
.
ivCart
.
setOnClickListener
(
view
->
mPresenter
.
clickCartLogo
());
mViewBinding
.
tvSettle
.
setOnClickListener
(
view
->
mPresenter
.
clickSettle
());
mViewBinding
.
btnBack
.
setOnClickListener
(
view
->
onBackPressedSupport
());
mViewBinding
.
btnBack
.
setOnClickListener
(
view
->
{
onBackPressedSupport
();
});
mViewBinding
.
etSearch
.
setOnEditorActionListener
((
textView
,
i
,
keyEvent
)
->
{
if
(
i
==
EditorInfo
.
IME_ACTION_SEARCH
&&
!
StringUtils
.
isEmpty
(
textView
.
getText
()))
{
KeyboardUtils
.
hideSoftInput
(
textView
);
...
...
@@ -67,28 +64,21 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
}
return
false
;
});
mViewBinding
.
etSearch
.
setOnFocusChangeListener
((
view
,
b
)
->
{
mPresenter
.
searchBarFocusChanged
(
b
);
});
mViewBinding
.
btnScan
.
setOnClickListener
(
view
->
{
PermissionUtils
.
permission
(
PermissionConstants
.
CAMERA
)
.
rationale
(
new
PermissionUtils
.
OnRationaleListener
()
{
@Override
public
void
rationale
(
final
ShouldRequest
shouldRequest
)
{
}
})
.
callback
(
new
PermissionUtils
.
FullCallback
()
{
@Override
public
void
onGranted
(
List
<
String
>
permissionsGranted
)
{
showScanFragment
();
}
@Override
public
void
onDenied
(
List
<
String
>
permissionsDeniedForever
,
List
<
String
>
permissionsDenied
)
{
}
})
.
request
();
});
mViewBinding
.
etSearch
.
setOnFocusChangeListener
((
view
,
b
)
->
mPresenter
.
searchBarFocusChanged
(
b
));
mViewBinding
.
btnScan
.
setOnClickListener
(
view
->
PermissionUtils
.
permission
(
PermissionConstants
.
CAMERA
)
.
callback
(
new
PermissionUtils
.
FullCallback
()
{
@Override
public
void
onGranted
(
List
<
String
>
permissionsGranted
)
{
showScanFragment
();
}
@Override
public
void
onDenied
(
List
<
String
>
permissionsDeniedForever
,
List
<
String
>
permissionsDenied
)
{
}
})
.
request
());
mScanFragment
.
setOnScanCompletedListener
(
barcode
->
mPresenter
.
scanComplete
(
barcode
));
}
@Override
...
...
@@ -123,49 +113,9 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mViewBinding
.
setOrderPayAmt
(
saleorder
.
getOrderPayAmt
());
mViewBinding
.
setMsDisAmt
(
saleorder
.
getMsDisAmt
());
if
(
mCartDialog
.
isShowing
)
mCartDialog
.
loadSaleorder
(
saleorder
);
this
.
startShakeByPropertyAnim
(
mViewBinding
.
ivCart
,
0.75f
,
1
f
,
0.30f
,
5
00L
);
this
.
startShakeByPropertyAnim
(
mViewBinding
.
ivCart
,
0.75f
,
1
f
,
3
00L
);
}
private
void
startShakeByPropertyAnim
(
View
view
,
float
scaleSmall
,
float
scaleLarge
,
float
shakeDegrees
,
long
duration
)
{
if
(
view
==
null
)
{
return
;
}
//先变小后变大
PropertyValuesHolder
scaleXValuesHolder
=
PropertyValuesHolder
.
ofKeyframe
(
View
.
SCALE_X
,
Keyframe
.
ofFloat
(
0
f
,
1.0f
),
Keyframe
.
ofFloat
(
0.25f
,
scaleSmall
),
Keyframe
.
ofFloat
(
0.5f
,
scaleLarge
),
Keyframe
.
ofFloat
(
0.75f
,
scaleLarge
),
Keyframe
.
ofFloat
(
1.0f
,
1.0f
)
);
PropertyValuesHolder
scaleYValuesHolder
=
PropertyValuesHolder
.
ofKeyframe
(
View
.
SCALE_Y
,
Keyframe
.
ofFloat
(
0
f
,
1.0f
),
Keyframe
.
ofFloat
(
0.25f
,
scaleSmall
),
Keyframe
.
ofFloat
(
0.5f
,
scaleLarge
),
Keyframe
.
ofFloat
(
0.75f
,
scaleLarge
),
Keyframe
.
ofFloat
(
1.0f
,
1.0f
)
);
//先往左再往右
PropertyValuesHolder
rotateValuesHolder
=
PropertyValuesHolder
.
ofKeyframe
(
View
.
ROTATION
,
Keyframe
.
ofFloat
(
0
f
,
0
f
),
Keyframe
.
ofFloat
(
0.1f
,
-
shakeDegrees
),
Keyframe
.
ofFloat
(
0.2f
,
shakeDegrees
),
Keyframe
.
ofFloat
(
0.3f
,
-
shakeDegrees
),
Keyframe
.
ofFloat
(
0.4f
,
shakeDegrees
),
Keyframe
.
ofFloat
(
0.5f
,
-
shakeDegrees
),
Keyframe
.
ofFloat
(
0.6f
,
shakeDegrees
),
Keyframe
.
ofFloat
(
0.7f
,
-
shakeDegrees
),
Keyframe
.
ofFloat
(
0.8f
,
shakeDegrees
),
Keyframe
.
ofFloat
(
0.9f
,
-
shakeDegrees
),
Keyframe
.
ofFloat
(
1.0f
,
0
f
)
);
ObjectAnimator
objectAnimator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
view
,
scaleXValuesHolder
,
scaleYValuesHolder
,
rotateValuesHolder
);
objectAnimator
.
setDuration
(
duration
);
objectAnimator
.
start
();
}
@Override
public
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
,
boolean
isRefresh
)
{
...
...
@@ -225,4 +175,36 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mScanFragment
.
resetScanner
();
}
/**
* 执行抖动动画
*
* @param view 要执行的view
* @param scaleSmall 缩小比例
* @param scaleLarge 放大比例
* @param duration 时间
*/
private
void
startShakeByPropertyAnim
(
View
view
,
float
scaleSmall
,
float
scaleLarge
,
long
duration
)
{
if
(
view
==
null
)
{
return
;
}
//先变小后变大
PropertyValuesHolder
scaleXValuesHolder
=
PropertyValuesHolder
.
ofKeyframe
(
View
.
SCALE_X
,
Keyframe
.
ofFloat
(
0
f
,
1.0f
),
Keyframe
.
ofFloat
(
0.25f
,
scaleSmall
),
Keyframe
.
ofFloat
(
0.5f
,
scaleLarge
),
Keyframe
.
ofFloat
(
0.75f
,
scaleLarge
),
Keyframe
.
ofFloat
(
1.0f
,
1.0f
)
);
PropertyValuesHolder
scaleYValuesHolder
=
PropertyValuesHolder
.
ofKeyframe
(
View
.
SCALE_Y
,
Keyframe
.
ofFloat
(
0
f
,
1.0f
),
Keyframe
.
ofFloat
(
0.25f
,
scaleSmall
),
Keyframe
.
ofFloat
(
0.5f
,
scaleLarge
),
Keyframe
.
ofFloat
(
0.75f
,
scaleLarge
),
Keyframe
.
ofFloat
(
1.0f
,
1.0f
)
);
ObjectAnimator
objectAnimator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
view
,
scaleXValuesHolder
,
scaleYValuesHolder
);
objectAnimator
.
setDuration
(
duration
);
objectAnimator
.
start
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
View file @
0728a82c
...
...
@@ -211,7 +211,7 @@ public class StorePresenter extends StoreContract.Presenter {
sskugrp
=
new
Sskugrp
();
sskugrp
.
setSkuGrpId
(
0L
);
sskugrp
.
setSkuGrpName
(
"全部
分组
"
);
sskugrp
.
setSkuGrpName
(
"全部
商品
"
);
sskugrp
.
setSelected
(
true
);
sskugrps
.
add
(
0
,
sskugrp
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
View file @
0728a82c
...
...
@@ -263,7 +263,6 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
float
toX
=
endLoc
[
0
]
-
parentLocation
[
0
];
float
toY
=
endLoc
[
1
]
-
parentLocation
[
1
];
// 开始绘制贝塞尔曲线
Path
path
=
new
Path
();
// 移动到起始点(贝塞尔曲线的起点)
...
...
@@ -275,7 +274,7 @@ public class StoreFragment extends BaseFragment<StorePresenter, FragmentStoreBin
// 属性动画实现(从0到贝塞尔曲线的长度之间进行插值计算,获取中间过程的距离值)
ValueAnimator
valueAnimator
=
ValueAnimator
.
ofFloat
(
0
,
mPathMeasure
.
getLength
());
valueAnimator
.
setDuration
(
5
00
);
valueAnimator
.
setDuration
(
3
00
);
// 匀速线性插值器
valueAnimator
.
setInterpolator
(
new
LinearInterpolator
());
...
...
app/src/main/java/com/xingdata/zzdpos/util/ConvertUtil.java
View file @
0728a82c
...
...
@@ -6,17 +6,6 @@ import java.math.BigDecimal;
public
class
ConvertUtil
{
// /**
// * 分转元
// *
// * @param fen 分
// * @return 元
// */
// public static String fenToYuan(Long fen) {
// BigDecimal decimal = new BigDecimal(fen);
// return decimal.divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN).toString();
// }
/**
* 分转元
*
...
...
@@ -25,10 +14,22 @@ public class ConvertUtil {
*/
public
static
String
fenToYuan
(
Long
fen
)
{
if
(
fen
==
null
||
fen
==
0
)
return
"0.00"
;
java
.
text
.
DecimalFormat
df
=
new
java
.
text
.
DecimalFormat
(
"#.00"
);
return
String
.
valueOf
(
df
.
format
((
double
)
fen
/
100
)
);
BigDecimal
decimal
=
new
BigDecimal
(
fen
);
return
decimal
.
divide
(
new
BigDecimal
(
100
),
2
,
BigDecimal
.
ROUND_DOWN
).
toString
(
);
}
// /**
// * 分转元
// *
// * @param fen 分
// * @return 元
// */
// public static String fenToYuan(Long fen) {
// if (fen == null || fen == 0) return "0.00";
// java.text.DecimalFormat df = new java.text.DecimalFormat("#.00");
// return String.valueOf(df.format((double) fen / 100));
// }
/**
* 分转元
...
...
app/src/main/res/drawable/shape_gray_r1.xml
View file @
0728a82c
...
...
@@ -2,6 +2,6 @@
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/all_shape_radius"
/>
<solid
android:color=
"@color/gray_
kongming
"
/>
<solid
android:color=
"@color/gray_
zhouyu
"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_sssku.xml
View file @
0728a82c
...
...
@@ -39,7 +39,7 @@
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_marginEnd=
"@dimen/all_margin"
android:visibility=
"@{titleMode==1||titleMode==6?8:0}"
android:visibility=
"@{titleMode==1||titleMode==6
||titleMode==8
?8:0}"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintLeft_toRightOf=
"@id/btn_back"
app:layout_constraintRight_toRightOf=
"parent"
...
...
@@ -66,10 +66,24 @@
android:text=
"@string/sssku_title"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_sub_title_size"
android:visibility=
"@{titleMode==1||titleMode==6?0:8}"
android:visibility=
"@{titleMode==1||titleMode==6
||titleMode==8
?0:8}"
app:layout_constraintLeft_toRightOf=
"parent"
app:layout_constraintRight_toLeftOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_editor_hint"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_spacing"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:textColor=
"@color/white_caocao"
android:visibility=
"@{titleMode==8?0:8}"
app:layout_constraintBottom_toTopOf=
"@id/tv_title"
app:layout_constraintLeft_toRightOf=
"@id/tv_title"
app:layout_constraintTop_toBottomOf=
"@id/tv_title"
/>
<ImageButton
android:id=
"@+id/btn_menu"
...
...
@@ -83,7 +97,6 @@
android:visibility=
"@{titleMode==6?0:8}"
app:layout_constraintRight_toRightOf=
"parent"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
...
...
app/src/main/res/layout/dialog_skugrp_delete.xml
View file @
0728a82c
...
...
@@ -3,28 +3,36 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width=
"
wrap_cont
ent"
android:layout_width=
"
match_par
ent"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
android:orientation=
"vertical"
>
android:gravity=
"center"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"
match_par
ent"
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"wrap_content"
android:layout_margin
Top=
"@dimen/all_margin
"
android:
gravity=
"center
"
android:text=
"
提示
"
android:layout_margin
Bottom=
"@dimen/all_margin_big
"
android:
layout_marginTop=
"@dimen/all_margin_big
"
android:text=
"
确定删除
"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_sub_title_size"
android:textStyle=
"bold"
/>
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:id=
"@+id/tv_skugrp_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/all_margin_big"
android:layout_marginTop=
"@dimen/all_margin_big"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:layout_width=
"
match_par
ent"
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:layout_marginTop=
"@dimen/all_margin"
android:text=
"确定删除吗?"
android:layout_marginBottom=
"@dimen/all_margin_big"
android:layout_marginTop=
"@dimen/all_margin_big"
android:text=
"吗?"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
...
...
app/src/main/res/layout/fragment_sssku_editor.xml
View file @
0728a82c
...
...
@@ -74,12 +74,13 @@
android:layout_width=
"0dp"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/transparent"
android:enabled=
"false"
android:gravity=
"center_vertical"
android:inputType=
"number"
android:labelFor=
"@+id/et_barcode"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
android:textSize=
"@dimen/all_
body
_size"
app:layout_constraintHorizontal_weight=
"3"
app:layout_constraintLeft_toRightOf=
"@id/tv_barcode_hint"
app:layout_constraintRight_toRightOf=
"parent"
/>
...
...
@@ -117,7 +118,7 @@
android:labelFor=
"@+id/et_name"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
android:textSize=
"@dimen/all_
body
_size"
app:layout_constraintLeft_toLeftOf=
"@id/et_barcode"
app:layout_constraintRight_toRightOf=
"@id/et_barcode"
app:layout_constraintTop_toBottomOf=
"@id/et_barcode"
/>
...
...
@@ -187,7 +188,7 @@
android:gravity=
"center_vertical"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
android:textSize=
"@dimen/all_
body
_size"
app:layout_constraintHorizontal_weight=
"1.5"
app:layout_constraintLeft_toRightOf=
"@id/tv_type_hint"
app:layout_constraintRight_toLeftOf=
"@id/ns_type_2"
/>
...
...
@@ -199,7 +200,7 @@
android:gravity=
"center_vertical"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
android:textSize=
"@dimen/all_
body
_size"
app:layout_constraintHorizontal_weight=
"1.5"
app:layout_constraintLeft_toRightOf=
"@id/ns_type_1"
app:layout_constraintRight_toRightOf=
"parent"
/>
...
...
@@ -211,7 +212,7 @@
android:gravity=
"center_vertical"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
android:textSize=
"@dimen/all_
body
_size"
app:layout_constraintLeft_toLeftOf=
"@id/ns_type_1"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/ns_type_1"
/>
...
...
@@ -247,7 +248,7 @@
android:gravity=
"center_vertical"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
<TextView
android:id=
"@+id/tv_unit"
...
...
@@ -289,7 +290,7 @@
android:layout_weight=
"3"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
@@ -339,7 +340,7 @@
android:labelFor=
"@+id/et_price1"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
@@ -375,7 +376,7 @@
android:labelFor=
"@+id/et_price2"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
@@ -491,7 +492,7 @@
android:labelFor=
"@+id/et_point"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
<TextView
android:layout_width=
"wrap_content"
...
...
@@ -594,7 +595,7 @@
android:id=
"@+id/et_search"
style=
"@style/searchBarEditor"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_content
"
android:layout_height=
"
30dp
"
android:layout_marginEnd=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:layout_marginTop=
"@dimen/all_spacing"
...
...
@@ -748,7 +749,7 @@
android:layout_weight=
"3"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
@@ -838,7 +839,7 @@
android:labelFor=
"@+id/et_cost"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
@@ -874,7 +875,7 @@
android:labelFor=
"@+id/et_stock_low_limit"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
@@ -910,7 +911,7 @@
android:labelFor=
"@+id/et_stock_upper_limit"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
@@ -946,7 +947,7 @@
android:labelFor=
"@+id/et_min_oder"
android:saveEnabled=
"false"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_
text
_size"
/>
android:textSize=
"@dimen/all_
body
_size"
/>
</LinearLayout>
<View
...
...
app/src/main/res/layout/fragment_sssku_skugrp.xml
View file @
0728a82c
...
...
@@ -52,10 +52,17 @@
android:background=
"@color/gray_huanggai"
android:visibility=
"@{visibility}"
/>
<android.support.v
7.widget.RecyclerView
android:id=
"@+id/rl_skugrp"
<android.support.v
4.widget.SwipeRefreshLayout
android:id=
"@+id/
s
rl_skugrp"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_skugrp"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_selector.xml
View file @
0728a82c
...
...
@@ -20,7 +20,7 @@
android:foreground=
"?android:attr/selectableItemBackground"
>
<View
android:layout_width=
"@dimen/all_s
pacing
"
android:layout_width=
"@dimen/all_s
hape_radius
"
android:layout_height=
"@dimen/all_sub_title_size"
android:layout_gravity=
"center_vertical"
android:background=
"@color/red_guanyu"
...
...
app/src/main/res/values/strings.xml
View file @
0728a82c
...
...
@@ -325,8 +325,8 @@
<!--营销计划-->
<string
name=
"ms_title"
>
营销计划
</string>
<string
name=
"ms_add"
>
添加营销计划
</string>
<string
name=
"ms_user_title"
>
旗舰
</string>
<string
name=
"ms_user_hint"
>
营销计划功能限时免费使用
3
个月
</string>
<string
name=
"ms_user_title"
>
高级
</string>
<string
name=
"ms_user_hint"
>
营销计划功能限时免费使用
1
个月
</string>
<string
name=
"ms_count"
>
共%s个营销计划
</string>
<string
name=
"ms_search_hint"
>
请输入活动名称
</string>
<string
name=
"ms_empty_hint"
>
没有搜到此计划\n请重新搜索,或点击添加按钮进行添加~
</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