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
452f5847
Commit
452f5847
authored
Dec 21, 2017
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
收款页面基本完成;
parent
12c81300
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
547 additions
and
20 deletions
+547
-20
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+13
-8
app/src/main/java/com/xingdata/zzdpos/C.java
app/src/main/java/com/xingdata/zzdpos/C.java
+7
-0
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentActivity.java
.../java/com/xingdata/zzdpos/ui/payment/PaymentActivity.java
+13
-0
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentContract.java
.../java/com/xingdata/zzdpos/ui/payment/PaymentContract.java
+6
-1
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentPresenter.java
...java/com/xingdata/zzdpos/ui/payment/PaymentPresenter.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/payment/fragment/PaymentFragment.java
.../xingdata/zzdpos/ui/payment/fragment/PaymentFragment.java
+2
-3
app/src/main/java/com/xingdata/zzdpos/ui/payment/view/CalculatorView.java
...a/com/xingdata/zzdpos/ui/payment/view/CalculatorView.java
+3
-3
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
+18
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
+15
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
...n/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
+21
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/CashPayFragment.java
...m/xingdata/zzdpos/ui/settle/fragment/CashPayFragment.java
+19
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
...om/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
+18
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/view/InpterView.java
...n/java/com/xingdata/zzdpos/ui/settle/view/InpterView.java
+95
-0
app/src/main/res/layout/activity_settle.xml
app/src/main/res/layout/activity_settle.xml
+37
-0
app/src/main/res/layout/fragment_pay_cash.xml
app/src/main/res/layout/fragment_pay_cash.xml
+9
-0
app/src/main/res/layout/fragment_payment.xml
app/src/main/res/layout/fragment_payment.xml
+4
-1
app/src/main/res/layout/fragment_settle.xml
app/src/main/res/layout/fragment_settle.xml
+9
-0
app/src/main/res/layout/view_inputer.xml
app/src/main/res/layout/view_inputer.xml
+253
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+4
-3
No files found.
app/src/main/AndroidManifest.xml
View file @
452f5847
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.xingdata.zzdpos"
>
package=
"com.xingdata.zzdpos"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.SEND_SMS"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.SEND_SMS"
/>
<application
android:name=
".App"
...
...
@@ -19,15 +19,16 @@
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:label=
"@string/main_title"
android:launchMode=
"singleTask"
android:windowSoftInputMode=
"adjustUnspecified|stateHidden"
>
android:windowSoftInputMode=
"adjustUnspecified|stateHidden"
>
</activity>
<activity
android:name=
".ui.splash.SplashActivity"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:theme=
"@style/AppTheme"
>
</activity>
</activity>
<activity
android:name=
".ui.login.LoginActivity"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
...
...
@@ -47,11 +48,15 @@
android:windowSoftInputMode=
"adjustUnspecified|stateHidden"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=
".ui.settle.SettleActivity"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode=
"adjustUnspecified|stateHidden"
/>
</application>
</manifest>
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/C.java
View file @
452f5847
...
...
@@ -396,6 +396,8 @@ public class C {
public
final
class
EXTRA_KEY
{
public
static
final
String
EXCEPTION
=
"extra.key.exception"
;
public
static
final
String
SETTLE_MODE
=
"extra.key.settle.mode"
;
public
static
final
String
SETTLE_EXTRA
=
"extra.key.settle.extra"
;
}
...
...
@@ -465,4 +467,9 @@ public class C {
//商品
public
static
final
int
SKU
=
4
;
}
public
final
class
SETTLE_MODE
{
public
static
final
int
PAYMENT
=
1
;
public
static
final
int
STORE
=
2
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentActivity.java
View file @
452f5847
package
com
.
xingdata
.
zzdpos
.
ui
.
payment
;
import
android.content.Intent
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivityPaymentBinding
;
import
com.xingdata.zzdpos.ui.payment.fragment.PaymentFragment
;
import
com.xingdata.zzdpos.ui.settle.SettleActivity
;
public
class
PaymentActivity
extends
BaseActivity
<
PaymentPresenter
,
ActivityPaymentBinding
>
implements
PaymentContract
.
View
{
...
...
@@ -19,4 +24,12 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym
loadRootFragment
(
R
.
id
.
f_payment
,
mPaymentFragment
);
}
@Override
public
void
showSettle
(
Long
amt
)
{
Intent
intent
=
new
Intent
(
PaymentActivity
.
this
,
SettleActivity
.
class
);
intent
.
putExtra
(
C
.
EXTRA_KEY
.
SETTLE_MODE
,
C
.
SETTLE_MODE
.
PAYMENT
);
intent
.
putExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
,
amt
);
ActivityUtils
.
startActivity
(
intent
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentContract.java
View file @
452f5847
...
...
@@ -7,9 +7,14 @@ import com.xingdata.zzdpos.base.BaseView;
interface
PaymentContract
{
interface
View
extends
BaseView
{
/**
* 显示结算页面
*/
void
showSettle
(
Long
amt
);
}
abstract
class
Presenter
extends
BasePresenter
<
PaymentContract
.
View
>
{
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
/**
* 收款界面 - 点击收款
*
...
...
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentPresenter.java
View file @
452f5847
...
...
@@ -8,6 +8,6 @@ public class PaymentPresenter extends PaymentContract.Presenter {
@Override
public
void
clickSettle
(
Long
amt
)
{
mView
.
showSettle
(
amt
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/payment/fragment/PaymentFragment.java
View file @
452f5847
...
...
@@ -9,7 +9,7 @@ import com.xingdata.zzdpos.util.ConvertUtil;
public
class
PaymentFragment
extends
BaseFragment
<
PaymentPresenter
,
FragmentPaymentBinding
>
{
private
CalculatorView
mCalculatorView
=
new
CalculatorView
();
private
CalculatorView
<
PaymentPresenter
>
mCalculatorView
=
new
CalculatorView
<>
();
@Override
public
int
getLayoutId
()
{
...
...
@@ -19,10 +19,9 @@ public class PaymentFragment extends BaseFragment<PaymentPresenter, FragmentPaym
@Override
public
void
initView
()
{
loadRootFragment
(
R
.
id
.
f_inputer
,
mCalculatorView
);
mCalculatorView
.
setOnResultChangeListener
((
exp
,
result
)
->
{
mViewBinding
.
tvExp
.
setText
(
exp
);
String
strResult
=
ConvertUtil
.
fenToYuan
(
result
);
mViewBinding
.
tvExp
.
setText
(
exp
);
mViewBinding
.
tvResult
.
setText
(
strResult
);
mViewBinding
.
tvAmt
.
setText
(
strResult
);
});
...
...
app/src/main/java/com/xingdata/zzdpos/ui/payment/view/CalculatorView.java
View file @
452f5847
...
...
@@ -7,15 +7,15 @@ import android.widget.TextView;
import
com.blankj.utilcode.util.LogUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.databinding.ViewCalculatorBinding
;
import
com.xingdata.zzdpos.ui.payment.PaymentPresenter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.math.BigDecimal
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
public
class
CalculatorView
extends
BaseFragment
<
PaymentPresenter
,
ViewCalculatorBinding
>
{
public
class
CalculatorView
<
P
extends
BasePresenter
>
extends
BaseFragment
<
P
,
ViewCalculatorBinding
>
{
private
String
mExp
;
private
String
mValue
;
...
...
@@ -123,7 +123,7 @@ public class CalculatorView extends BaseFragment<PaymentPresenter, ViewCalculato
/**
* 解析计算四则运算表达式
,例:2+((3+4)*2-22)/2*3
* 解析计算四则运算表达式
*
* @param exp 算式
* @return 结果
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
0 → 100644
View file @
452f5847
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivitySettleBinding
;
public
class
SettleActivity
extends
BaseActivity
<
SettlePresenter
,
ActivitySettleBinding
>
implements
SettleContract
.
View
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_settle
;
}
@Override
public
void
initView
()
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
0 → 100644
View file @
452f5847
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
public
interface
SettleContract
{
interface
View
extends
BaseView
{
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
0 → 100644
View file @
452f5847
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
;
import
com.blankj.utilcode.util.LogUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
public
class
SettlePresenter
extends
SettleContract
.
Presenter
{
@Override
public
void
onAttached
()
{
int
settleMode
=
getIntent
().
getIntExtra
(
C
.
EXTRA_KEY
.
SETTLE_MODE
,
-
1
);
switch
(
settleMode
)
{
case
C
.
SETTLE_MODE
.
PAYMENT
:
LogUtils
.
e
(
"创建收款订单,订单金额"
+
ConvertUtil
.
fenToYuan
(
getIntent
().
getLongExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
,
0
),
true
));
break
;
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/CashPayFragment.java
0 → 100644
View file @
452f5847
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
fragment
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentPayCashBinding
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
public
class
CashPayFragment
extends
BaseFragment
<
SettlePresenter
,
FragmentPayCashBinding
>
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_pay_cash
;
}
@Override
public
void
initView
()
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
0 → 100644
View file @
452f5847
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
fragment
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSettleBinding
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
public
class
SettleFragment
extends
BaseFragment
<
SettlePresenter
,
FragmentSettleBinding
>
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_settle
;
}
@Override
public
void
initView
()
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/view/InpterView.java
0 → 100644
View file @
452f5847
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
view
;
import
android.view.View
;
import
android.widget.TextView
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.databinding.ViewInputerBinding
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
public
class
InpterView
<
P
extends
BasePresenter
>
extends
BaseFragment
<
P
,
ViewInputerBinding
>
{
private
String
mValue
;
private
OnResultChangeListener
mOnResultChangeListener
;
private
onSettleClickListener
mOnSettleClickListener
;
public
interface
OnResultChangeListener
{
void
onResultChange
(
Long
result
);
}
public
interface
onSettleClickListener
{
void
onSettleClick
(
Long
result
);
}
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
view_inputer
;
}
@Override
public
void
initView
()
{
View
.
OnClickListener
mOnClickListener
=
view
->
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_del
:
delete
();
break
;
case
R
.
id
.
tv_clear
:
clear
();
break
;
case
R
.
id
.
tv_settle
:
settle
();
break
;
default
:
if
(
view
instanceof
TextView
)
{
}
break
;
}
if
(
mOnResultChangeListener
!=
null
)
{
mOnResultChangeListener
.
onResultChange
(
ConvertUtil
.
yuanToFen
(
mValue
));
}
};
mViewBinding
.
setOnClick
(
mOnClickListener
);
}
/**
* 删除
*/
private
void
delete
()
{
if
(
mValue
.
length
()
>
0
)
mValue
=
mValue
.
substring
(
0
,
mValue
.
length
()
-
1
);
}
/**
* 结账
*/
private
void
settle
()
{
if
(
mOnSettleClickListener
!=
null
)
{
mOnSettleClickListener
.
onSettleClick
(
ConvertUtil
.
yuanToFen
(
mValue
));
}
}
/**
* 清空
*/
private
void
clear
()
{
mValue
=
""
;
if
(
mOnResultChangeListener
!=
null
)
{
mOnResultChangeListener
.
onResultChange
(
ConvertUtil
.
yuanToFen
(
mValue
));
}
}
public
void
setOnResultChangeListener
(
OnResultChangeListener
onResultChangeListener
)
{
this
.
mOnResultChangeListener
=
onResultChangeListener
;
mOnResultChangeListener
.
onResultChange
(
ConvertUtil
.
yuanToFen
(
mValue
));
}
public
void
setOnSettleClickListener
(
onSettleClickListener
onSettleClickListener
)
{
this
.
mOnSettleClickListener
=
onSettleClickListener
;
}
}
app/src/main/res/layout/activity_settle.xml
0 → 100644
View file @
452f5847
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/black_zhangfei"
>
<ImageButton
android:layout_width=
"@dimen/title_height"
android:layout_height=
"match_parent"
android:background=
"?attr/selectableItemBackground"
android:contentDescription=
"@string/all_go_back"
android:gravity=
"center"
android:padding=
"@dimen/all_margin"
android:src=
"@mipmap/back_white"
/>
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:text=
"@string/payment_title"
android:textColor=
"@color/white_caocao"
android:textSize=
"@dimen/all_sub_title_size"
/>
</FrameLayout>
<FrameLayout
android:id=
"@+id/f_payment"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_pay_cash.xml
0 → 100644
View file @
452f5847
<?xml version="1.0" encoding="utf-8"?>
<layout>
<android.support.constraint.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_payment.xml
View file @
452f5847
...
...
@@ -16,16 +16,18 @@
android:gravity=
"bottom"
android:paddingBottom=
"@dimen/all_margin"
>
<TextView
android:id=
"@+id/tv_exp"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/all_spacing"
android:layout_marginEnd=
"@dimen/all_margin"
android:gravity=
"end
|center_vertical
"
android:gravity=
"end"
android:textColor=
"@color/white_caocao"
android:textSize=
"@dimen/all_title_size"
app:layout_constraintBottom_toTopOf=
"@id/tv_result"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
/>
<TextView
...
...
@@ -47,6 +49,7 @@
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_margin"
android:gravity=
"end|center_vertical"
android:maxLines=
"1"
android:textColor=
"@color/white_caocao"
android:textSize=
"@dimen/fragment_settle_bigtextsize"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
app/src/main/res/layout/fragment_settle.xml
0 → 100644
View file @
452f5847
<?xml version="1.0" encoding="utf-8"?>
<layout>
<android.support.constraint.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/view_inputer.xml
0 → 100644
View file @
452f5847
This diff is collapsed.
Click to expand it.
app/src/main/res/values/strings.xml
View file @
452f5847
...
...
@@ -155,9 +155,6 @@
<string
name=
"card_num"
>
卡号:
</string>
<string
name=
"card_num_hint"
>
请输入储值卡卡号
</string>
<!--结算页面 <WHERE>_<DESCRIPTION>-->
<string
name=
"settle_title"
>
结算页面
</string>
<string
name=
"settle_amt"
>
应收:
</string>
<string
name=
"settle_channel_hint"
>
请选择支付方式
</string>
<string
name=
"settle_channel_cash"
>
现金
</string>
<string
name=
"settle_channel_cash_not_enough"
>
金额不足,无法支付
</string>
...
...
@@ -493,5 +490,9 @@
<string
name=
"payment_title"
>
收款
</string>
<string
name=
"payment_total"
>
总计:
</string>
<!--支付-->
<string
name=
"settle_title"
>
收款
</string>
<string
name=
"settle_amt"
>
应收金额:
</string>
<string
name=
"settle_select_vip"
>
请选择会员
</string>
</resources>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment