细节优化+小程序钱包开发
parent
969d6a985c
commit
5ecaf78eb8
|
|
@ -783,36 +783,8 @@ class UserService
|
|||
$user = Db::name('User')->field('*')->find($user_id);
|
||||
if(!empty($user))
|
||||
{
|
||||
// 基础数据处理
|
||||
$user['add_time_text'] = date('Y-m-d H:i:s', $user['add_time']);
|
||||
$user['upd_time_text'] = date('Y-m-d H:i:s', $user['upd_time']);
|
||||
$user['gender_text'] = lang('common_gender_list')[$user['gender']]['name'];
|
||||
$user['birthday_text'] = empty($user['birthday']) ? '' : date('Y-m-d', $user['birthday']);
|
||||
$user['mobile_security']= empty($user['mobile']) ? '' : substr($user['mobile'], 0, 3).'***'.substr($user['mobile'], -3);
|
||||
$user['email_security'] = empty($user['email']) ? '' : substr($user['email'], 0, 3).'***'.substr($user['email'], -3);
|
||||
|
||||
// 显示名称,根据规则优先展示
|
||||
$user['user_name_view'] = $user['username'];
|
||||
if(empty($user['user_name_view']))
|
||||
{
|
||||
$user['user_name_view'] = $user['nickname'];
|
||||
}
|
||||
if(empty($user['user_name_view']))
|
||||
{
|
||||
$user['user_name_view'] = $user['mobile_security'];
|
||||
}
|
||||
if(empty($user['user_name_view']))
|
||||
{
|
||||
$user['user_name_view'] = $user['email_security'];
|
||||
}
|
||||
|
||||
// 头像
|
||||
if(!empty($user['avatar']))
|
||||
{
|
||||
$user['avatar'] = ResourcesService::AttachmentPathViewHandle($user['avatar']);
|
||||
} else {
|
||||
$user['avatar'] = config('shopxo.attachment_host').'/static/index/'.strtolower(config('DEFAULT_THEME', 'default')).'/images/default-user-avatar.jpg';
|
||||
}
|
||||
// 用户数据处理
|
||||
$user = self::UserHandle($user);
|
||||
|
||||
// 用户登录成功信息纪录钩子
|
||||
$hook_name = 'plugins_service_user_login_success_record';
|
||||
|
|
@ -835,6 +807,71 @@ class UserService
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户数据处理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-01-23
|
||||
* @desc description
|
||||
* @param [ array] $user [用户数据]
|
||||
*/
|
||||
private static function UserHandle($user)
|
||||
{
|
||||
// 基础数据处理
|
||||
if(isset($user['add_time']))
|
||||
{
|
||||
$user['add_time_text'] = date('Y-m-d H:i:s', $user['add_time']);
|
||||
}
|
||||
if(isset($user['upd_time']))
|
||||
{
|
||||
$user['upd_time_text'] = date('Y-m-d H:i:s', $user['upd_time']);
|
||||
}
|
||||
if(isset($user['gender']))
|
||||
{
|
||||
$user['gender_text'] = lang('common_gender_list')[$user['gender']]['name'];
|
||||
}
|
||||
if(isset($user['birthday']))
|
||||
{
|
||||
$user['birthday_text'] = empty($user['birthday']) ? '' : date('Y-m-d', $user['birthday']);
|
||||
}
|
||||
|
||||
// 邮箱/手机
|
||||
if(isset($user['email']))
|
||||
{
|
||||
$user['mobile_security']= empty($user['mobile']) ? '' : substr($user['mobile'], 0, 3).'***'.substr($user['email'], -3);
|
||||
}
|
||||
if(isset($user['email']))
|
||||
{
|
||||
$user['email_security'] = empty($user['email']) ? '' : substr($user['email'], 0, 3).'***'.substr($user['email'], -3);
|
||||
}
|
||||
|
||||
// 显示名称,根据规则优先展示
|
||||
$user['user_name_view'] = $user['username'];
|
||||
if(empty($user['user_name_view']))
|
||||
{
|
||||
$user['user_name_view'] = $user['nickname'];
|
||||
}
|
||||
if(empty($user['user_name_view']))
|
||||
{
|
||||
$user['user_name_view'] = $user['mobile_security'];
|
||||
}
|
||||
if(empty($user['user_name_view']))
|
||||
{
|
||||
$user['user_name_view'] = $user['email_security'];
|
||||
}
|
||||
|
||||
// 头像
|
||||
if(!empty($user['avatar']))
|
||||
{
|
||||
$user['avatar'] = ResourcesService::AttachmentPathViewHandle($user['avatar']);
|
||||
} else {
|
||||
$user['avatar'] = config('shopxo.attachment_host').'/static/index/'.strtolower(config('DEFAULT_THEME', 'default')).'/images/default-user-avatar.jpg';
|
||||
}
|
||||
|
||||
return $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户头像更新
|
||||
* @author Devil
|
||||
|
|
@ -1758,7 +1795,10 @@ class UserService
|
|||
}
|
||||
|
||||
// 用户登录纪录处理
|
||||
self::UserLoginRecord($user['id'], true);
|
||||
if(in_array(APPLICATION_CLIENT_TYPE, ['pc', 'h5']))
|
||||
{
|
||||
self::UserLoginRecord($user['id'], true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2113,37 +2153,8 @@ class UserService
|
|||
$user = Db::name('User')->field('username,nickname,mobile,email,avatar')->find($user_id);
|
||||
}
|
||||
|
||||
// 开始处理用户信息
|
||||
if(!empty($user))
|
||||
{
|
||||
$user['user_name_view'] = isset($user['username']) ? $user['username'] : '';
|
||||
if(empty($user['user_name_view']) && isset($user['nickname']))
|
||||
{
|
||||
$user['user_name_view'] = $user['nickname'];
|
||||
}
|
||||
if(empty($user['user_name_view']) && isset($user['mobile']))
|
||||
{
|
||||
$user['user_name_view'] = $user['mobile'];
|
||||
}
|
||||
if(empty($user['user_name_view']) && isset($user['email']))
|
||||
{
|
||||
$user['user_name_view'] = $user['email'];
|
||||
}
|
||||
|
||||
// 处理展示用户
|
||||
if($is_privacy === true && !empty($user['user_name_view']))
|
||||
{
|
||||
$user['user_name_view'] = mb_substr($user['user_name_view'], 0, 3, 'utf-8').'***'.mb_substr($user['user_name_view'], -3, null, 'utf-8');
|
||||
}
|
||||
|
||||
// 头像
|
||||
if(!empty($user['avatar']))
|
||||
{
|
||||
$user['avatar'] = ResourcesService::AttachmentPathViewHandle($user['avatar']);
|
||||
} else {
|
||||
$user['avatar'] = config('shopxo.attachment_host').'/static/index/'.strtolower(config('DEFAULT_THEME', 'default')).'/images/default-user-avatar.jpg';
|
||||
}
|
||||
}
|
||||
// 用户数据处理
|
||||
$user = self::UserHandle($user);
|
||||
|
||||
return $user;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,25 +32,6 @@ return array (
|
|||
'log_write' =>
|
||||
array (
|
||||
),
|
||||
'plugins_service_users_center_left_menu_handle' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\wallet\\Hook',
|
||||
1 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
2 => 'app\\plugins\\coupon\\Hook',
|
||||
3 => 'app\\plugins\\distribution\\Hook',
|
||||
),
|
||||
'plugins_service_header_navigation_top_right_handle' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\wallet\\Hook',
|
||||
1 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
2 => 'app\\plugins\\coupon\\Hook',
|
||||
3 => 'app\\plugins\\distribution\\Hook',
|
||||
),
|
||||
'plugins_service_user_register_end' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\wallet\\Hook',
|
||||
1 => 'app\\plugins\\coupon\\Hook',
|
||||
),
|
||||
'plugins_css' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
|
|
@ -119,6 +100,20 @@ return array (
|
|||
array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
),
|
||||
'plugins_service_users_center_left_menu_handle' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
1 => 'app\\plugins\\coupon\\Hook',
|
||||
2 => 'app\\plugins\\distribution\\Hook',
|
||||
3 => 'app\\plugins\\wallet\\Hook',
|
||||
),
|
||||
'plugins_service_header_navigation_top_right_handle' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
1 => 'app\\plugins\\coupon\\Hook',
|
||||
2 => 'app\\plugins\\distribution\\Hook',
|
||||
3 => 'app\\plugins\\wallet\\Hook',
|
||||
),
|
||||
'plugins_js' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\coupon\\Hook',
|
||||
|
|
@ -147,6 +142,11 @@ return array (
|
|||
1 => 'app\\plugins\\distribution\\Hook',
|
||||
2 => 'app\\plugins\\fictitioussecretkey\\Hook',
|
||||
),
|
||||
'plugins_service_user_register_end' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\coupon\\Hook',
|
||||
1 => 'app\\plugins\\wallet\\Hook',
|
||||
),
|
||||
'plugins_service_order_aftersale_audit_handle_end' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\distribution\\Hook',
|
||||
|
|
|
|||
|
|
@ -176,10 +176,11 @@ class Email
|
|||
*/
|
||||
private function KindofSession($code)
|
||||
{
|
||||
$_SESSION[$this->key_code] = array(
|
||||
$data = array(
|
||||
'code' => $code,
|
||||
'time' => time(),
|
||||
);
|
||||
cache($this->key_code, $data, $this->expire_time);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -192,9 +193,9 @@ class Email
|
|||
*/
|
||||
public function CheckExpire()
|
||||
{
|
||||
if(isset($_SESSION[$this->key_code]))
|
||||
$data = cache($this->key_code);
|
||||
if(!empty($data))
|
||||
{
|
||||
$data = $_SESSION[$this->key_code];
|
||||
return (time() <= $data['time']+$this->expire_time);
|
||||
}
|
||||
return false;
|
||||
|
|
@ -211,13 +212,14 @@ class Email
|
|||
*/
|
||||
public function CheckCorrect($code = '')
|
||||
{
|
||||
if(isset($_SESSION[$this->key_code]['code']))
|
||||
$data = cache($this->key_code);
|
||||
if(!empty($data))
|
||||
{
|
||||
if(empty($code) && isset($_POST['code']))
|
||||
{
|
||||
$code = trim($_POST['code']);
|
||||
}
|
||||
return ($_SESSION[$this->key_code]['code'] == $code);
|
||||
return ($data['code'] == $code);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
@ -232,10 +234,7 @@ class Email
|
|||
*/
|
||||
public function Remove()
|
||||
{
|
||||
if(isset($_SESSION[$this->key_code]))
|
||||
{
|
||||
unset($_SESSION[$this->key_code]);
|
||||
}
|
||||
cache($this->key_code, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -248,9 +247,9 @@ class Email
|
|||
*/
|
||||
private function IntervalTimeCheck()
|
||||
{
|
||||
if(isset($_SESSION[$this->key_code]))
|
||||
$data = cache($this->key_code);
|
||||
if(!empty($data))
|
||||
{
|
||||
$data = $_SESSION[$this->key_code];
|
||||
return (time() > $data['time']+$this->interval_time);
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -180,39 +180,39 @@ class Sms
|
|||
}
|
||||
|
||||
/**
|
||||
* [KindofSession 种验证码session]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2017-03-07T14:59:13+0800
|
||||
* @param [string] $code [验证码]
|
||||
*/
|
||||
private function KindofSession($code)
|
||||
{
|
||||
$data = array(
|
||||
'code' => $code,
|
||||
'time' => time(),
|
||||
);
|
||||
SS($this->key_code, $data);
|
||||
}
|
||||
* [KindofSession 种验证码session]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2017-03-07T14:59:13+0800
|
||||
* @param [string] $code [验证码]
|
||||
*/
|
||||
private function KindofSession($code)
|
||||
{
|
||||
$data = array(
|
||||
'code' => $code,
|
||||
'time' => time(),
|
||||
);
|
||||
cache($this->key_code, $data, $this->expire_time);
|
||||
}
|
||||
|
||||
/**
|
||||
* [CheckExpire 验证码是否过期]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2017-03-05T19:02:26+0800
|
||||
* @return [boolean] [有效true, 无效false]
|
||||
*/
|
||||
public function CheckExpire()
|
||||
{
|
||||
$data = GS($this->key_code);
|
||||
if($data !== false)
|
||||
{
|
||||
return (time() <= $data['time']+$this->expire_time);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* [CheckExpire 验证码是否过期]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2017-03-05T19:02:26+0800
|
||||
* @return [boolean] [有效true, 无效false]
|
||||
*/
|
||||
public function CheckExpire()
|
||||
{
|
||||
$data = cache($this->key_code);
|
||||
if(!empty($data))
|
||||
{
|
||||
return (time() <= $data['time']+$this->expire_time);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* [CheckCorrect 验证码是否正确]
|
||||
|
|
@ -225,8 +225,8 @@ class Sms
|
|||
*/
|
||||
public function CheckCorrect($code = '')
|
||||
{
|
||||
$data = GS($this->key_code);
|
||||
if($data !== false)
|
||||
$data = cache($this->key_code);
|
||||
if(!empty($data))
|
||||
{
|
||||
if(empty($code) && isset($_POST['code']))
|
||||
{
|
||||
|
|
@ -247,7 +247,7 @@ class Sms
|
|||
*/
|
||||
public function Remove()
|
||||
{
|
||||
DS($this->key_code);
|
||||
cache($this->key_code, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -260,7 +260,7 @@ class Sms
|
|||
*/
|
||||
private function IntervalTimeCheck()
|
||||
{
|
||||
$data = GS($this->key_code);
|
||||
$data = cache($this->key_code);
|
||||
if(!empty($data))
|
||||
{
|
||||
return (time() > $data['time']+$this->interval_time);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ Page({
|
|||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
my.hideLoading();
|
||||
my.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
|
|
@ -142,7 +141,6 @@ Page({
|
|||
}
|
||||
},
|
||||
fail: () => {
|
||||
my.hideLoading();
|
||||
my.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_bottom_line_status: false,
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item .title,
|
||||
.panel-item .panel-content .item .content {
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ App({
|
|||
// 请求地址
|
||||
request_url: "{{request_url}}",
|
||||
request_url: 'http://shopxo.com/',
|
||||
// request_url: 'https://dev.shopxo.net/',
|
||||
request_url: 'https://dev.shopxo.net/',
|
||||
|
||||
// 基础信息
|
||||
application_title: "{{application_title}}",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"pages": ["pages/plugins/wallet/user/user",
|
||||
"pages": [
|
||||
"pages/index/index",
|
||||
"pages/goods-category/goods-category",
|
||||
"pages/cart/cart",
|
||||
|
|
@ -51,7 +51,17 @@
|
|||
"pages/plugins/distribution/extraction/extraction",
|
||||
"pages/plugins/distribution/extraction-apply/extraction-apply",
|
||||
"pages/plugins/distribution/extraction-order/extraction-order",
|
||||
"pages/plugins/distribution/introduce/introduce"
|
||||
"pages/plugins/distribution/introduce/introduce",
|
||||
"pages/plugins/wallet/user/user",
|
||||
"pages/plugins/wallet/recharge/recharge",
|
||||
"pages/plugins/wallet/cash-auth/cash-auth",
|
||||
"pages/plugins/wallet/cash-create/cash-create",
|
||||
"pages/plugins/wallet/wallet-log/wallet-log",
|
||||
"pages/plugins/wallet/wallet-log-detail/wallet-log-detail",
|
||||
"pages/plugins/wallet/user-recharge/user-recharge",
|
||||
"pages/plugins/wallet/user-recharge-detail/user-recharge-detail",
|
||||
"pages/plugins/wallet/user-cash/user-cash",
|
||||
"pages/plugins/wallet/user-cash-detail/user-cash-detail"
|
||||
],
|
||||
"permission": {
|
||||
"scope.userLocation": {
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
|
|
@ -2,6 +2,8 @@ const app = getApp();
|
|||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
extraction_data: null,
|
||||
province_list: [],
|
||||
city_list: [],
|
||||
|
|
@ -121,7 +123,7 @@ Page({
|
|||
});
|
||||
},
|
||||
|
||||
// 肚脐数据初始化
|
||||
// 地区数据初始化
|
||||
init_region_value() {
|
||||
this.setData({
|
||||
province_value: this.get_region_value("province_list", "province_id"),
|
||||
|
|
@ -130,7 +132,7 @@ Page({
|
|||
});
|
||||
},
|
||||
|
||||
// 地区初始化皮配偶索引
|
||||
// 地区初始化匹配索引
|
||||
get_region_value(list, id) {
|
||||
var data = this.data[list];
|
||||
var data_id = this.data[id];
|
||||
|
|
@ -366,7 +368,6 @@ Page({
|
|||
dataType: "json",
|
||||
header: { 'content-type': 'application/x-www-form-urlencoded' },
|
||||
success: res => {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
app.showToast(res.data.msg, "success");
|
||||
|
|
@ -374,6 +375,7 @@ Page({
|
|||
wx.navigateBack();
|
||||
}, 1000);
|
||||
} else {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
if (app.is_login_check(res.data)) {
|
||||
app.showToast(res.data.msg);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -98,7 +98,6 @@ Page({
|
|||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
|
|
@ -139,7 +138,6 @@ Page({
|
|||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_bottom_line_status: false,
|
||||
|
|
@ -170,5 +168,4 @@ Page({
|
|||
user_avatar_error(e) {
|
||||
this.setData({ avatar: app.data.default_user_head_src });
|
||||
},
|
||||
|
||||
});
|
||||
|
|
@ -19,6 +19,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<template is="nodata" data="{{status: data_list_loding_status, msg: data_list_loding_msg}}"></template>
|
||||
|
||||
<view class="nav-back tc wh-auto">
|
||||
<navigator url="/pages/plugins/membershiplevelvip/order/order" open-type="navigateBack" hover-class="none">
|
||||
<navigator url="/pages/plugins/membershiplevelvip/profit/profit" open-type="navigateBack" hover-class="none">
|
||||
<button type="default" size="mini" class="cr-888 br" hover-class="none">返回</button>
|
||||
</navigator>
|
||||
</view>
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@ Page({
|
|||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
|
|
@ -141,7 +140,6 @@ Page({
|
|||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_bottom_line_status: false,
|
||||
|
|
@ -216,5 +214,4 @@ Page({
|
|||
},
|
||||
});
|
||||
},
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,186 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
check_account_list: [],
|
||||
|
||||
verify_submit_text: '获取验证码',
|
||||
verify_loading: false,
|
||||
verify_disabled: false,
|
||||
form_submit_loading: false,
|
||||
verify_time_total: 60,
|
||||
temp_clear_time: null,
|
||||
|
||||
check_account_value: null,
|
||||
form_submit_disabled_status: false,
|
||||
},
|
||||
|
||||
onLoad(params) {},
|
||||
|
||||
onShow() {
|
||||
this.init();
|
||||
},
|
||||
|
||||
init() {
|
||||
var user = app.get_user_info(this, 'init');
|
||||
if (user != false) {
|
||||
// 用户未绑定用户则转到登录页面
|
||||
if (app.user_is_need_login(user)) {
|
||||
wx.redirectTo({
|
||||
url: "/pages/login/login?event_callback=init"
|
||||
});
|
||||
return false;
|
||||
} else {
|
||||
// 获取数据
|
||||
this.get_data();
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 获取数据
|
||||
get_data() {
|
||||
// 加载loding
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
// 获取数据
|
||||
wx.request({
|
||||
url: app.get_request_url("auth", "cash", "wallet"),
|
||||
method: "POST",
|
||||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
});
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
this.setData({
|
||||
check_account_list: data.check_account_list || [],
|
||||
});
|
||||
} else {
|
||||
if (app.is_login_check(res.data, this, 'get_data')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
});
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 身份认证方式事件
|
||||
select_check_account_event(e) {
|
||||
this.setData({ check_account_value: e.detail.value || 0});
|
||||
},
|
||||
|
||||
// 发送验证码
|
||||
verify_send_event() {
|
||||
var self = this;
|
||||
// 数据验证
|
||||
if (self.data.check_account_value == null)
|
||||
{
|
||||
app.showToast('请选择认证方式');
|
||||
return false;
|
||||
}
|
||||
|
||||
wx.showLoading({ title: '发送中...' });
|
||||
this.setData({ verify_submit_text: '发送中', verify_loading: true, verify_disabled: true });
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("verifysend", "cash", "wallet"),
|
||||
method: 'POST',
|
||||
data: { account_type: self.data.check_account_list[self.data.check_account_value]['field'] },
|
||||
dataType: 'json',
|
||||
header: { 'content-type': 'application/x-www-form-urlencoded' },
|
||||
success: (res) => {
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
this.setData({ verify_loading: false });
|
||||
var temp_time = this.data.verify_time_total;
|
||||
this.data.temp_clear_time = setInterval(function () {
|
||||
if (temp_time <= 1) {
|
||||
clearInterval(self.data.temp_clear_time);
|
||||
self.setData({ verify_submit_text: '获取验证码', verify_disabled: false });
|
||||
} else {
|
||||
temp_time--;
|
||||
self.setData({ verify_submit_text: '剩余 ' + temp_time + ' 秒' });
|
||||
}
|
||||
}, 1000);
|
||||
} else {
|
||||
this.setData({ verify_submit_text: '获取验证码', verify_loading: false, verify_disabled: false });
|
||||
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
this.setData({ verify_submit_text: '获取验证码', verify_loading: false, verify_disabled: false });
|
||||
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 数据提交
|
||||
form_submit(e) {
|
||||
var self = this;
|
||||
// 表单数据
|
||||
var form_data = e.detail.value;
|
||||
|
||||
// 数据校验
|
||||
var validation = [
|
||||
{ fields: "account_type", msg: "请选择认证方式", "is_can_zero": 1 },
|
||||
{ fields: "verify", msg: "请输入验证码" },
|
||||
];
|
||||
console.log(form_data);
|
||||
|
||||
// 验证提交表单
|
||||
if (app.fields_check(form_data, validation)) {
|
||||
form_data["account_type"] = self.data.check_account_list[self.data.check_account_value]['field'];
|
||||
self.setData({ form_submit_disabled_status: true });
|
||||
wx.showLoading({ title: "处理中..." });
|
||||
wx.request({
|
||||
url: app.get_request_url("verifycheck", "cash", "wallet"),
|
||||
method: "POST",
|
||||
data: form_data,
|
||||
dataType: "json",
|
||||
header: { 'content-type': 'application/x-www-form-urlencoded' },
|
||||
success: res => {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/plugins/wallet/cash-create/cash-create',
|
||||
});
|
||||
} else {
|
||||
if (app.is_login_check(res.data)) {
|
||||
app.showToast(res.data.msg);
|
||||
} else {
|
||||
app.showToast('提交失败,请重试!');
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
wx.hideLoading();
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "余额提现"
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<view wx:if="{{data_list_loding_status != 1}}">
|
||||
<form wx:if="{{check_account_list.length > 0}}" bindsubmit="form_submit" class="form-container spacing-mb oh">
|
||||
<view class="form-gorup bg-white">
|
||||
<view class="form-gorup-title">选择身份认证方式<text class="form-group-tips-must">必选</text></view>
|
||||
<view class="section">
|
||||
<picker name="account_type" bindchange="select_check_account_event" value="{{check_account_value}}" range="{{check_account_list}}" range-key="msg">
|
||||
<view class="picker name {{(check_account_value == null) ? 'cr-ccc' : 'cr-666' }}">
|
||||
<view wx:if="{{check_account_value == null}}">
|
||||
请选择认证账号
|
||||
</view>
|
||||
<view wx:else>
|
||||
{{check_account_list[check_account_value]['msg']}}
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="form-gorup bg-white verify-input">
|
||||
<view class="form-gorup-title">请输入安全验证码<text class="form-group-tips-must">必填</text></view>
|
||||
<input type="number" name="verify" placeholder-class="cr-ccc" class="cr-666" placeholder="验证码格式 4 位数字" maxlength="4" />
|
||||
<button type="default" hover-class="none" size="mini" loading="{{verify_loading}}" disabled="{{verify_disabled}}" bindtap="verify_send_event" class="verify-sub {{verify_disabled ? 'sub-disabled' : ''}}">{{verify_submit_text}}</button>
|
||||
</view>
|
||||
|
||||
<view class="form-gorup">
|
||||
<button class="bg-main" type="default" formType="submit" hover-class="none" disabled="{{form_submit_disabled_status}}">提交</button>
|
||||
</view>
|
||||
</form>
|
||||
|
||||
<view class="view-tips">
|
||||
<view class="tips">
|
||||
<view>操作提示</view>
|
||||
<view>1. 请选择 "<text class="cr-main">绑定邮箱</text>" 或 "<text class="cr-main">绑定手机</text>" 方式其一作为安全校验码的获取方式并正确输入。</view>
|
||||
<view>2. 如果您未绑定手机或者邮箱已失效,可以绑定手机后通过接收手机短信完成验证。</view>
|
||||
<view>3. 如果您未绑定邮箱或者已失效,可以绑定邮箱后通过接收邮件完成验证。</view>
|
||||
<view>4. 请正确输入下方图形验证码,如看不清可点击图片进行更换,输入完成后进行下一步操作。</view>
|
||||
<view>5. 收到安全验证码后,请在10分钟内完成验证。</view>
|
||||
<view>6. 安全验证成功后,请在30分钟内完成提现申请。</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:else>
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status, msg: data_list_loding_msg}}"></template>
|
||||
</view>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
.verify-input {
|
||||
position: relative;
|
||||
}
|
||||
.verify-input .verify-sub {
|
||||
border: solid 1px #d2364c;
|
||||
color: #d2364c;
|
||||
width: 35%;
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
border-radius: 10rpx;
|
||||
position: absolute;
|
||||
top: 62rpx;
|
||||
right: 10rpx;
|
||||
z-index: 2;
|
||||
}
|
||||
.verify-input .verify-sub.sub-disabled {
|
||||
border: solid 1px #eee;
|
||||
color: #a6a6a6
|
||||
}
|
||||
.view-tips {
|
||||
padding: 10rpx;
|
||||
}
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
default_data: null,
|
||||
data_base: null,
|
||||
user_wallet: null,
|
||||
check_status: null,
|
||||
can_cash_max_money: 0.00,
|
||||
|
||||
form_submit_disabled_status: false,
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
this.setData({ params: params });
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.init();
|
||||
},
|
||||
|
||||
init() {
|
||||
var user = app.get_user_info(this, "init");
|
||||
if (user != false) {
|
||||
// 用户未绑定用户则转到登录页面
|
||||
if (app.user_is_need_login(user)) {
|
||||
wx.redirectTo({
|
||||
url: "/pages/login/login?event_callback=init"
|
||||
});
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: '请先绑定手机号码',
|
||||
});
|
||||
return false;
|
||||
} else {
|
||||
this.get_data();
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: '请先授权用户信息',
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 获取数据
|
||||
get_data() {
|
||||
var self = this;
|
||||
self.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
wx.request({
|
||||
url: app.get_request_url("createinit", "cash", "wallet"),
|
||||
method: "POST",
|
||||
data: {},
|
||||
dataType: "json",
|
||||
header: { 'content-type': 'application/x-www-form-urlencoded' },
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data || null;
|
||||
self.setData({
|
||||
data_list_loding_status: 3,
|
||||
data_base: data.base || null,
|
||||
check_status: data.check_status || 0,
|
||||
default_data: data.default_data || null,
|
||||
user_wallet: data.user_wallet || null,
|
||||
can_cash_max_money: data.can_cash_max_money || 0.00,
|
||||
});
|
||||
} else {
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: res.data.msg,
|
||||
});
|
||||
if (app.is_login_check(res.data)) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: '服务器请求出错',
|
||||
});
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.get_data();
|
||||
},
|
||||
|
||||
// 数据提交
|
||||
form_submit(e) {
|
||||
var self = this;
|
||||
// 表单数据
|
||||
var form_data = e.detail.value;
|
||||
|
||||
// 数据校验
|
||||
var validation = [
|
||||
{ fields: "money", msg: "请填写提现金额" },
|
||||
{ fields: "bank_name", msg: "请填写收款平台" },
|
||||
{ fields: "bank_accounts", msg: "请填写收款账号" },
|
||||
{ fields: "bank_username", msg: "请填写开户人姓名" }
|
||||
];
|
||||
|
||||
// 验证提交表单
|
||||
if (app.fields_check(form_data, validation)) {
|
||||
self.setData({ form_submit_disabled_status: true });
|
||||
wx.showLoading({ title: "处理中..." });
|
||||
wx.request({
|
||||
url: app.get_request_url("create", "cash", "wallet"),
|
||||
method: "POST",
|
||||
data: form_data,
|
||||
dataType: "json",
|
||||
header: { 'content-type': 'application/x-www-form-urlencoded' },
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
app.showToast(res.data.msg, "success");
|
||||
setTimeout(function () {
|
||||
wx.navigateBack();
|
||||
}, 1000);
|
||||
} else {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
if (app.is_login_check(res.data)) {
|
||||
app.showToast(res.data.msg);
|
||||
} else {
|
||||
app.showToast('提交失败,请重试!');
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
wx.hideLoading();
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "余额提现"
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
<form wx:if="{{(data_base || null) != null && check_status == 1}}" bindsubmit="form_submit" class="form-container spacing-mb oh">
|
||||
<view class="form-gorup bg-white">
|
||||
<view class="form-gorup-title">提现金额<text class="form-group-tips-must">必填</text></view>
|
||||
<input type="digit" name="money" value="{{default_data.money || ''}}" placeholder-class="cr-ccc" class="cr-666" placeholder="提现金额,最低0.01元,最高{{can_cash_max_money}}元" />
|
||||
<view class="tips form-tips">
|
||||
<view wx:if="{{data_base.is_cash_retain_give != 0}}">赠送金额不可提现</view>
|
||||
<view>当前可提现金额 <text class="cr-main">{{can_cash_max_money}}</text> 元</view>
|
||||
<view>当前可用金额 <text class="cr-666">{{user_wallet.normal_money}}</text> 元</view>
|
||||
<view>当前赠送金额 <text class="cr-666">{{user_wallet.give_money}}</text> 元</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="form-gorup bg-white">
|
||||
<view class="form-gorup-title">收款平台<text class="form-group-tips-must">必填</text></view>
|
||||
<input type="text" name="bank_name" value="{{default_data.bank_name || ''}}" placeholder-class="cr-ccc" class="cr-666" maxlength="60" placeholder="收款平台格式 1~60 个字符之间" />
|
||||
<view class="tips form-tips">
|
||||
强烈建议优先填写国有4大银行(中国银行、中国建设银行、中国工商银行和中国农业银行) 请填写详细的开户银行分行名称,虚拟账户如支付宝、财付通、微信 直接填写 相应的名称 即可。
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="form-gorup bg-white">
|
||||
<view class="form-gorup-title">收款账号<text class="form-group-tips-must">必填</text></view>
|
||||
<input type="text" name="bank_accounts" value="{{default_data.bank_accounts || ''}}" placeholder-class="cr-ccc" class="cr-666" maxlength="60" placeholder="收款账号格式 1~60 个字符之间" />
|
||||
<view class="tips form-tips">
|
||||
银行账号或虚拟账号(支付宝、财付通、微信等账号)
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="form-gorup bg-white">
|
||||
<view class="form-gorup-title">开户人姓名<text class="form-group-tips-must">必填</text></view>
|
||||
<input type="text" name="bank_username" value="{{default_data.bank_username || ''}}" placeholder-class="cr-ccc" class="cr-666" maxlength="30" placeholder="开户人姓名格式 1~30 个字符之间" />
|
||||
<view class="tips form-tips">
|
||||
收款账号的开户人真实姓名
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="form-gorup">
|
||||
<button class="bg-main" type="default" formType="submit" hover-class="none" disabled="{{form_submit_disabled_status}}">提交</button>
|
||||
</view>
|
||||
</form>
|
||||
|
||||
<view wx:if="{{check_status === 0}}" class="overdue tc">
|
||||
<view class="msg cr-888">安全验证已超时,请重新验证再操作</view>
|
||||
<navigator hover-class="none" open-type="navigateBack">
|
||||
<button size="mini" type="primary" hover-class="none" class="submit-cash">返回重新申请提现</button>
|
||||
</navigator>
|
||||
</view>
|
||||
<view wx:else>
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status, msg: data_list_loding_msg}}"></template>
|
||||
</view>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* 表单提示
|
||||
*/
|
||||
.form-tips {
|
||||
background: #ffffeb;
|
||||
padding-left: 10rpx;
|
||||
}
|
||||
|
||||
/*
|
||||
* 验证过期
|
||||
*/
|
||||
.overdue {
|
||||
padding-top: 30%;
|
||||
}
|
||||
.overdue .msg {
|
||||
font-size: 36rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
recharge_money_value: '',
|
||||
form_submit_disabled_status: false,
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
this.setData({
|
||||
params: params,
|
||||
recharge_money_value: params.money || '',
|
||||
});
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.init();
|
||||
},
|
||||
|
||||
init() {
|
||||
var user = app.get_user_info(this, "init");
|
||||
if (user != false) {
|
||||
// 用户未绑定用户则转到登录页面
|
||||
if (app.user_is_need_login(user)) {
|
||||
wx.redirectTo({
|
||||
url: "/pages/login/login?event_callback=init"
|
||||
});
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: '请先绑定手机号码',
|
||||
});
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: '请先授权用户信息',
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 充值金额输入事件
|
||||
recharge_money_value_input_event(e) {
|
||||
this.setData({ recharge_money_value: e.detail.value || '' });
|
||||
},
|
||||
|
||||
// 数据提交
|
||||
form_submit_event(e) {
|
||||
var self = this;
|
||||
// 参数
|
||||
if ((self.data.recharge_money_value || null) == null) {
|
||||
app.showToast('请输入充值金额');
|
||||
return false;
|
||||
}
|
||||
|
||||
self.setData({ form_submit_disabled_status: true });
|
||||
wx.showLoading({ title: "处理中..." });
|
||||
wx.request({
|
||||
url: app.get_request_url("create", "recharge", "wallet"),
|
||||
method: "POST",
|
||||
data: { money: self.data.recharge_money_value},
|
||||
dataType: "json",
|
||||
header: { 'content-type': 'application/x-www-form-urlencoded' },
|
||||
success: res => {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
wx.redirectTo({
|
||||
url: '/pages/plugins/wallet/user-recharge/user-recharge?is_pay=1&recharge_id=' + res.data.data.recharge_id,
|
||||
});
|
||||
} else {
|
||||
if (app.is_login_check(res.data)) {
|
||||
app.showToast(res.data.msg);
|
||||
} else {
|
||||
app.showToast('提交失败,请重试!');
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
self.setData({ form_submit_disabled_status: false });
|
||||
wx.hideLoading();
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "充值"
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<view class="form-container">
|
||||
<view class="form-gorup bg-white money-container">
|
||||
<view class="form-gorup-title">充值金额</view>
|
||||
<input type="number" name="money" value="{{recharge_money_value || ''}}" placeholder-class="cr-ccc" class="cr-666" placeholder="请输入充值金额" bindinput="recharge_money_value_input_event" maxlength="6" />
|
||||
</view>
|
||||
|
||||
<view class="form-gorup">
|
||||
<button class="submit-bottom" type="default" hover-class="none" class="bg-main" disabled="{{form_submit_disabled_status}}" bindtap="form_submit_event">提交</button>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
.form-container .money-container {
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
.form-container .money-container input {
|
||||
font-size: 60rpx;
|
||||
height: 130rpx;
|
||||
line-height: 130rpx;
|
||||
}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
data_bottom_line_status: false,
|
||||
|
||||
detail: null,
|
||||
detail_list: [],
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
//params['id'] = 1;
|
||||
this.setData({ params: params });
|
||||
this.init();
|
||||
},
|
||||
|
||||
onShow() { },
|
||||
|
||||
init() {
|
||||
var self = this;
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("detail", "cash", "wallet"),
|
||||
method: "POST",
|
||||
data: {
|
||||
id: this.data.params.id
|
||||
},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
self.setData({
|
||||
detail: data.data,
|
||||
detail_list: [
|
||||
{ name: "提现单号", value: data.data.cash_no || '' },
|
||||
{ name: "提现状态", value: data.data.status_name || '' },
|
||||
{ name: "提现金额", value: data.data.money + ' 元' || '' },
|
||||
{ name: "转账平台", value: data.data.bank_name || '' },
|
||||
{ name: "转账姓名", value: data.data.bank_username || '' },
|
||||
{ name: "转账账户", value: data.data.bank_accounts || '' },
|
||||
{ name: "打款金额", value: (data.data.pay_money <= 0) ? '' : (data.data.pay_money + ' 元' || '') },
|
||||
{ name: "打款时间", value: data.data.pay_time_time || '' },
|
||||
{ name: "备注", value: data.data.msg || '' },
|
||||
{ name: "申请时间", value: data.data.add_time_time || '' },
|
||||
{ name: "更新时间", value: data.data.upd_time_time || '' },
|
||||
],
|
||||
|
||||
data_list_loding_status: 3,
|
||||
data_bottom_line_status: true,
|
||||
data_list_loding_msg: '',
|
||||
});
|
||||
} else {
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_msg: res.data.msg,
|
||||
});
|
||||
if (app.is_login_check(res.data, self, 'init')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_msg: '服务器请求出错',
|
||||
});
|
||||
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.init();
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "提现详情"
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<view wx:if="{{detail != null}}">
|
||||
<view wx:if="{{detail_list.length > 0}}" class="panel-item">
|
||||
<view class="panel-content bg-white">
|
||||
<view wx:for="{{detail_list}}" wx:key="item" class="item br-b oh">
|
||||
<view class="title fl">{{item.name}}</view>
|
||||
<view class="content cr-888 fl br-l">{{item.value}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{detail == null}}">
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status, msg: data_list_loding_msg}}"></template>
|
||||
|
||||
<view class="nav-back tc wh-auto">
|
||||
<navigator url="/pages/plugins/wallet/user-cash/user-cash" open-type="navigateBack" hover-class="none">
|
||||
<button type="default" size="mini" class="cr-888 br" hover-class="none">返回</button>
|
||||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
.panel-item .panel-title {
|
||||
background: #fff;
|
||||
font-weight: bold;
|
||||
padding: 15rpx;
|
||||
border-bottom: 2px solid #eee;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
.panel-item .panel-content .item {
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
.panel-item .panel-content .item:last-child {
|
||||
border: 0;
|
||||
}
|
||||
.panel-item .panel-content .item .title {
|
||||
width: 25%;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.panel-item .panel-content .item .content {
|
||||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
}
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
data_list: [],
|
||||
data_page_total: 0,
|
||||
data_page: 1,
|
||||
data_list_loding_status: 1,
|
||||
data_bottom_line_status: false,
|
||||
params: null,
|
||||
nav_status_list: [
|
||||
{ name: "全部", value: "-1" },
|
||||
{ name: "未打款", value: "0" },
|
||||
{ name: "已打款", value: "1" },
|
||||
{ name: "打款失败", value: "2" },
|
||||
],
|
||||
nav_status_index: 0,
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
// 是否指定状态
|
||||
var nav_status_index = 0;
|
||||
if ((params.status || null) != null) {
|
||||
for (var i in this.data.nav_status_list) {
|
||||
if (this.data.nav_status_list[i]['value'] == params.status) {
|
||||
nav_status_index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
params: params,
|
||||
nav_status_index: nav_status_index,
|
||||
});
|
||||
this.init();
|
||||
},
|
||||
|
||||
onShow() { },
|
||||
|
||||
init() {
|
||||
var user = app.get_user_info(this, 'init');
|
||||
if (user != false) {
|
||||
// 用户未绑定用户则转到登录页面
|
||||
if (app.user_is_need_login(user)) {
|
||||
wx.redirectTo({
|
||||
url: "/pages/login/login?event_callback=init"
|
||||
});
|
||||
return false;
|
||||
} else {
|
||||
// 获取数据
|
||||
this.get_data_list();
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 获取数据
|
||||
get_data_list(is_mandatory) {
|
||||
// 分页是否还有数据
|
||||
if ((is_mandatory || 0) == 0) {
|
||||
if (this.data.data_bottom_line_status == true) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 加载loding
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
// 参数
|
||||
var status = ((this.data.nav_status_list[this.data.nav_status_index] || null) == null) ? -1 : this.data.nav_status_list[this.data.nav_status_index]['value'];
|
||||
|
||||
// 获取数据
|
||||
wx.request({
|
||||
url: app.get_request_url("index", "cash", "wallet"),
|
||||
method: "POST",
|
||||
data: {
|
||||
page: this.data.data_page,
|
||||
status: status,
|
||||
is_more: 1,
|
||||
},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
if (res.data.data.data.length > 0) {
|
||||
if (this.data.data_page <= 1) {
|
||||
var temp_data_list = res.data.data.data;
|
||||
} else {
|
||||
var temp_data_list = this.data.data_list;
|
||||
var temp_data = res.data.data.data;
|
||||
for (var i in temp_data) {
|
||||
temp_data_list.push(temp_data[i]);
|
||||
}
|
||||
}
|
||||
this.setData({
|
||||
data_list: temp_data_list,
|
||||
data_total: res.data.data.total,
|
||||
data_page_total: res.data.data.page_total,
|
||||
data_list_loding_status: 3,
|
||||
data_page: this.data.data_page + 1,
|
||||
});
|
||||
|
||||
// 是否还有数据
|
||||
if (this.data.data_page > 1 && this.data.data_page > this.data.data_page_total) {
|
||||
this.setData({ data_bottom_line_status: true });
|
||||
} else {
|
||||
this.setData({ data_bottom_line_status: false });
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_list: [],
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
});
|
||||
if (app.is_login_check(res.data, this, 'get_data_list')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
});
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.setData({
|
||||
data_page: 1
|
||||
});
|
||||
this.get_data_list(1);
|
||||
},
|
||||
|
||||
// 滚动加载
|
||||
scroll_lower(e) {
|
||||
this.get_data_list();
|
||||
},
|
||||
|
||||
// 导航事件
|
||||
nav_event(e) {
|
||||
this.setData({
|
||||
nav_status_index: e.currentTarget.dataset.index || 0,
|
||||
data_page: 1,
|
||||
});
|
||||
this.get_data_list(1);
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "提现记录"
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<!-- 导航 -->
|
||||
<view class="nav">
|
||||
<block wx:for="{{nav_status_list}}" wx:key="key">
|
||||
<view class="item fl tc cr-888 {{nav_status_index == index ? 'active' : ''}}" data-index="{{index}}" bindtap="nav_event">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<!-- 列表 -->
|
||||
<scroll-view scroll-y="{{true}}" class="scroll-box" bindscrolltolower="scroll_lower" lower-threshold="30">
|
||||
<view class="data-list">
|
||||
<view class="item bg-white spacing-mb" wx:if="{{data_list.length > 0}}" wx:for="{{data_list}}" wx:key="key">
|
||||
<view class="base oh br-b">
|
||||
<text class="cr-666">{{item.add_time_time}}</text>
|
||||
<text class="fr cr-main">{{item.status_name}}</text>
|
||||
</view>
|
||||
<navigator url="/pages/plugins/wallet/user-cash-detail/user-cash-detail?id={{item.id}}" hover-class="none">
|
||||
<view class="content">
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">提现单号</text>
|
||||
<text class="value">{{item.cash_no}}</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">提现金额</text>
|
||||
<text class="value">{{item.money}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
</view>
|
||||
</navigator>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{data_list.length == 0}}">
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status}}">
|
||||
</template>
|
||||
</view>
|
||||
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* 导航
|
||||
*/
|
||||
.nav {
|
||||
background: #eee;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
.nav .item {
|
||||
width: 25%;
|
||||
}
|
||||
.nav .active {
|
||||
color: #d2364c;
|
||||
}
|
||||
|
||||
/*
|
||||
* 列表
|
||||
*/
|
||||
.scroll-box {
|
||||
height: calc(100vh - 80rpx);
|
||||
}
|
||||
.data-list .item .base,
|
||||
.data-list .item .content {
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text {
|
||||
line-height: 50rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text .title {
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text .value {
|
||||
font-weight: 500;
|
||||
}
|
||||
.data-list .item .content .multi-text .unit {
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
data_bottom_line_status: false,
|
||||
|
||||
detail: null,
|
||||
detail_list: [],
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
//params['id'] = 4;
|
||||
this.setData({ params: params });
|
||||
this.init();
|
||||
},
|
||||
|
||||
onShow() { },
|
||||
|
||||
init() {
|
||||
var self = this;
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("detail", "recharge", "wallet"),
|
||||
method: "POST",
|
||||
data: {
|
||||
id: this.data.params.id
|
||||
},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
self.setData({
|
||||
detail: data.data,
|
||||
detail_list: [
|
||||
{ name: "充值单号", value: data.data.recharge_no || '' },
|
||||
{ name: "充值状态", value: data.data.status_name || '' },
|
||||
{ name: "充值金额", value: data.data.money+' 元' || '' },
|
||||
{ name: "支付金额", value: (data.data.pay_money <= 0) ? '' : (data.data.pay_money + ' 元'|| '') },
|
||||
{ name: "支付方式", value: data.data.payment_name || '' },
|
||||
{ name: "创建时间", value: data.data.add_time_time || '' },
|
||||
{ name: "支付时间", value: data.data.pay_time_time || '' },
|
||||
],
|
||||
|
||||
data_list_loding_status: 3,
|
||||
data_bottom_line_status: true,
|
||||
data_list_loding_msg: '',
|
||||
});
|
||||
} else {
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_msg: res.data.msg,
|
||||
});
|
||||
if (app.is_login_check(res.data, self, 'init')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_msg: '服务器请求出错',
|
||||
});
|
||||
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.init();
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "充值详情"
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<view wx:if="{{detail != null}}">
|
||||
<view wx:if="{{detail_list.length > 0}}" class="panel-item">
|
||||
<view class="panel-content bg-white">
|
||||
<view wx:for="{{detail_list}}" wx:key="item" class="item br-b oh">
|
||||
<view class="title fl">{{item.name}}</view>
|
||||
<view class="content cr-888 fl br-l">{{item.value}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{detail == null}}">
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status, msg: data_list_loding_msg}}"></template>
|
||||
|
||||
<view class="nav-back tc wh-auto">
|
||||
<navigator url="/pages/plugins/wallet/user-recharge/user-recharge" open-type="navigateBack" hover-class="none">
|
||||
<button type="default" size="mini" class="cr-888 br" hover-class="none">返回</button>
|
||||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
.panel-item .panel-title {
|
||||
background: #fff;
|
||||
font-weight: bold;
|
||||
padding: 15rpx;
|
||||
border-bottom: 2px solid #eee;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
.panel-item .panel-content .item {
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
.panel-item .panel-content .item:last-child {
|
||||
border: 0;
|
||||
}
|
||||
.panel-item .panel-content .item .title {
|
||||
width: 25%;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.panel-item .panel-content .item .content {
|
||||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
}
|
||||
|
|
@ -0,0 +1,320 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
data_list: [],
|
||||
data_page_total: 0,
|
||||
data_page: 1,
|
||||
data_list_loding_status: 1,
|
||||
data_bottom_line_status: false,
|
||||
params: null,
|
||||
load_status: 0,
|
||||
is_show_payment_popup: false,
|
||||
payment_list: [],
|
||||
payment_id: 0,
|
||||
temp_pay_value: 0,
|
||||
temp_pay_index: 0,
|
||||
nav_status_list: [
|
||||
{ name: "全部", value: "-1" },
|
||||
{ name: "待支付", value: "0" },
|
||||
{ name: "已支付", value: "1" },
|
||||
],
|
||||
nav_status_index: 0,
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
// 是否指定状态
|
||||
var nav_status_index = 0;
|
||||
if ((params.status || null) != null) {
|
||||
for (var i in this.data.nav_status_list) {
|
||||
if (this.data.nav_status_list[i]['value'] == params.status) {
|
||||
nav_status_index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
params: params,
|
||||
nav_status_index: nav_status_index,
|
||||
});
|
||||
this.init();
|
||||
},
|
||||
|
||||
onShow() { },
|
||||
|
||||
init() {
|
||||
var user = app.get_user_info(this, 'init');
|
||||
if (user != false) {
|
||||
// 用户未绑定用户则转到登录页面
|
||||
if (app.user_is_need_login(user)) {
|
||||
wx.redirectTo({
|
||||
url: "/pages/login/login?event_callback=init"
|
||||
});
|
||||
return false;
|
||||
} else {
|
||||
// 获取数据
|
||||
this.get_data_list();
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 获取数据
|
||||
get_data_list(is_mandatory) {
|
||||
// 分页是否还有数据
|
||||
if ((is_mandatory || 0) == 0) {
|
||||
if (this.data.data_bottom_line_status == true) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 加载loding
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
// 参数
|
||||
var order_status = ((this.data.nav_status_list[this.data.nav_status_index] || null) == null) ? -1 : this.data.nav_status_list[this.data.nav_status_index]['value'];
|
||||
|
||||
// 获取数据
|
||||
wx.request({
|
||||
url: app.get_request_url("index", "recharge", "wallet"),
|
||||
method: "POST",
|
||||
data: {
|
||||
page: this.data.data_page,
|
||||
status: order_status,
|
||||
is_more: 1,
|
||||
},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
if (res.data.data.data.length > 0) {
|
||||
if (this.data.data_page <= 1) {
|
||||
var temp_data_list = res.data.data.data;
|
||||
|
||||
// 下订单支付处理
|
||||
if (this.data.load_status == 0) {
|
||||
if ((this.data.params.is_pay || 0) == 1 && (this.data.params.recharge_id || 0) != 0) {
|
||||
for (var i in temp_data_list) {
|
||||
if (this.data.params.recharge_id == temp_data_list[i]['id']) {
|
||||
this.setData({
|
||||
is_show_payment_popup: true,
|
||||
temp_pay_value: temp_data_list[i]['id'],
|
||||
temp_pay_index: i,
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var temp_data_list = this.data.data_list;
|
||||
var temp_data = res.data.data.data;
|
||||
for (var i in temp_data) {
|
||||
temp_data_list.push(temp_data[i]);
|
||||
}
|
||||
}
|
||||
this.setData({
|
||||
data_list: temp_data_list,
|
||||
data_total: res.data.data.total,
|
||||
data_page_total: res.data.data.page_total,
|
||||
data_list_loding_status: 3,
|
||||
data_page: this.data.data_page + 1,
|
||||
load_status: 1,
|
||||
payment_list: res.data.data.payment_list || [],
|
||||
});
|
||||
|
||||
// 是否还有数据
|
||||
if (this.data.data_page > 1 && this.data.data_page > this.data.data_page_total) {
|
||||
this.setData({ data_bottom_line_status: true });
|
||||
} else {
|
||||
this.setData({ data_bottom_line_status: false });
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
load_status: 1,
|
||||
data_list: [],
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
load_status: 1,
|
||||
});
|
||||
if (app.is_login_check(res.data, this, 'get_data_list')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
load_status: 1,
|
||||
});
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.setData({
|
||||
data_page: 1
|
||||
});
|
||||
this.get_data_list(1);
|
||||
},
|
||||
|
||||
// 滚动加载
|
||||
scroll_lower(e) {
|
||||
this.get_data_list();
|
||||
},
|
||||
|
||||
// 支付
|
||||
pay_event(e) {
|
||||
this.setData({
|
||||
is_show_payment_popup: true,
|
||||
temp_pay_value: e.currentTarget.dataset.value,
|
||||
temp_pay_index: e.currentTarget.dataset.index,
|
||||
});
|
||||
},
|
||||
|
||||
// 支付弹窗关闭
|
||||
payment_popup_event_close(e) {
|
||||
this.setData({ is_show_payment_popup: false });
|
||||
},
|
||||
|
||||
// 支付弹窗发起支付
|
||||
popup_payment_event(e) {
|
||||
var payment_id = e.currentTarget.dataset.value || 0;
|
||||
this.setData({ payment_id: payment_id });
|
||||
this.payment_popup_event_close();
|
||||
this.pay_handle(this.data.temp_pay_value, this.data.temp_pay_index);
|
||||
},
|
||||
|
||||
// 支付方法
|
||||
pay_handle(recharge_id, index) {
|
||||
var self = this;
|
||||
// 加载loding
|
||||
wx.showLoading({ title: "请求中..." });
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("pay", "recharge", "wallet"),
|
||||
method: "POST",
|
||||
data: {
|
||||
recharge_id: recharge_id,
|
||||
payment_id: this.data.payment_id,
|
||||
},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
wx.requestPayment({
|
||||
timeStamp: res.data.data.timeStamp,
|
||||
nonceStr: res.data.data.nonceStr,
|
||||
package: res.data.data.package,
|
||||
signType: res.data.data.signType,
|
||||
paySign: res.data.data.paySign,
|
||||
success: function (res) {
|
||||
// 数据设置
|
||||
self.order_item_pay_success_handle(index);
|
||||
|
||||
// 跳转支付页面
|
||||
wx.navigateTo({
|
||||
url: "/pages/paytips/paytips?code=9000&total_price=" +
|
||||
self.data.data_list[index]['price']
|
||||
});
|
||||
},
|
||||
fail: function (res) {
|
||||
app.showToast('支付失败');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 支付成功数据设置
|
||||
order_item_pay_success_handle(index) {
|
||||
// 数据设置
|
||||
var temp_data_list = this.data.data_list;
|
||||
temp_data_list[index]['status'] = 1;
|
||||
temp_data_list[index]['status_name'] = '已支付';
|
||||
this.setData({ data_list: temp_data_list });
|
||||
},
|
||||
|
||||
// 删除
|
||||
delete_event(e) {
|
||||
wx.showModal({
|
||||
title: "温馨提示",
|
||||
content: "删除后不可恢复,确定继续吗?",
|
||||
confirmText: "确认",
|
||||
cancelText: "不了",
|
||||
success: result => {
|
||||
if (result.confirm) {
|
||||
// 参数
|
||||
var id = e.currentTarget.dataset.value;
|
||||
var index = e.currentTarget.dataset.index;
|
||||
|
||||
// 加载loding
|
||||
wx.showLoading({ title: "处理中..." });
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("delete", "recharge", "wallet"),
|
||||
method: "POST",
|
||||
data: { id: id },
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
var temp_data_list = this.data.data_list;
|
||||
temp_data_list.splice(index, 1);
|
||||
this.setData({ data_list: temp_data_list });
|
||||
if (temp_data_list.length == 0) {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
|
||||
app.showToast(res.data.msg, "success");
|
||||
} else {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 导航事件
|
||||
nav_event(e) {
|
||||
this.setData({
|
||||
nav_status_index: e.currentTarget.dataset.index || 0,
|
||||
data_page: 1,
|
||||
});
|
||||
this.get_data_list(1);
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "充值记录",
|
||||
"usingComponents": {
|
||||
"component-popup": "/components/popup/popup"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
<!-- 导航 -->
|
||||
<view class="nav">
|
||||
<block wx:for="{{nav_status_list}}" wx:key="key">
|
||||
<view class="item fl tc cr-888 {{nav_status_index == index ? 'active' : ''}}" data-index="{{index}}" bindtap="nav_event">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<!-- 列表 -->
|
||||
<scroll-view scroll-y="{{true}}" class="scroll-box" bindscrolltolower="scroll_lower" lower-threshold="30">
|
||||
<view class="data-list">
|
||||
<view class="item bg-white spacing-mb" wx:if="{{data_list.length > 0}}" wx:for="{{data_list}}" wx:key="key">
|
||||
<view class="base oh br-b">
|
||||
<text class="cr-666">{{item.add_time_time}}</text>
|
||||
<text class="fr cr-main">{{item.status_name}}</text>
|
||||
</view>
|
||||
<navigator url="/pages/plugins/wallet/user-recharge-detail/user-recharge-detail?id={{item.id}}" hover-class="none">
|
||||
<view class="content">
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">充值单号</text>
|
||||
<text class="value">{{item.recharge_no}}</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">充值金额</text>
|
||||
<text class="value">{{item.money}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">支付金额</text>
|
||||
<text class="value">{{item.pay_money}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
</view>
|
||||
</navigator>
|
||||
<view wx:if="{{item.status == 0}}" class="operation tr br-t-dashed">
|
||||
<button class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付</button>
|
||||
<button class="submit-delete cr-666 br" type="default" size="mini" bindtap="delete_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">删除</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{data_list.length == 0}}">
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status}}">
|
||||
</template>
|
||||
</view>
|
||||
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
<!-- 支付方式 popup -->
|
||||
<component-popup prop-show="{{is_show_payment_popup}}" prop-position="bottom" bindonclose="payment_popup_event_close">
|
||||
<view wx:if="{{payment_list.length > 0}}" class="payment-list oh bg-white">
|
||||
<view class="item tc fl" wx:for="{{payment_list}}" wx:key="key">
|
||||
<view class="item-content br" data-value="{{item.id}}" bindtap="popup_payment_event">
|
||||
<image wx:if="{{(item.logo || null) != null}}" class="icon" src="{{item.logo}}" mode="widthFix" />
|
||||
<text>{{item.name}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view wx:else class="payment-list oh bg-white tc cr-888">没有支付方式</view>
|
||||
</component-popup>
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* 导航
|
||||
*/
|
||||
.nav {
|
||||
background: #eee;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
.nav .item {
|
||||
width: 33.33%;
|
||||
}
|
||||
.nav .active {
|
||||
color: #d2364c;
|
||||
}
|
||||
|
||||
/*
|
||||
* 列表
|
||||
*/
|
||||
.scroll-box {
|
||||
height: calc(100vh - 80rpx);
|
||||
}
|
||||
.data-list .item .base,
|
||||
.data-list .item .content {
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text {
|
||||
line-height: 50rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text .title {
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text .value {
|
||||
font-weight: 500;
|
||||
}
|
||||
.data-list .item .content .multi-text .unit {
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
.data-list .item .operation {
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
.data-list .item .submit-delete {
|
||||
border: 1px solid #dc7f7f;
|
||||
color: #dc7f7f !important;
|
||||
}
|
||||
.data-list .item .operation button:not(:first-child) {
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付方式
|
||||
*/
|
||||
.payment-list {
|
||||
padding: 40rpx 0;
|
||||
}
|
||||
.payment-list .item {
|
||||
width: 50%;
|
||||
}
|
||||
.payment-list .item-content {
|
||||
margin: 20rpx;
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
.payment-list .item-content image {
|
||||
width: 50rpx;
|
||||
height: 50rpx !important;
|
||||
vertical-align: middle;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
|
@ -49,19 +49,19 @@ Page({
|
|||
set_nav_list() {
|
||||
var nav = [
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-order-icon.png",
|
||||
icon: "/images/plugins/wallet/user-center-wallet-log-icon.png",
|
||||
title: "账户明细",
|
||||
url: "/pages/plugins/distribution/order/order",
|
||||
url: "/pages/plugins/wallet/wallet-log/wallet-log",
|
||||
},
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-profit-icon.png",
|
||||
icon: "/images/plugins/wallet/user-center-recharge-icon.png",
|
||||
title: "充值记录",
|
||||
url: "/pages/plugins/distribution/profit/profit",
|
||||
url: "/pages/plugins/wallet/user-recharge/user-recharge",
|
||||
},
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-team-icon.png",
|
||||
icon: "/images/plugins/wallet/user-center-cash-icon.png",
|
||||
title: "提现记录",
|
||||
url: "/pages/plugins/distribution/team/team",
|
||||
url: "/pages/plugins/wallet/user-cash/user-cash",
|
||||
}
|
||||
];
|
||||
this.setData({ nav_list: nav});
|
||||
|
|
@ -76,7 +76,6 @@ Page({
|
|||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
|
|
@ -99,7 +98,6 @@ Page({
|
|||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_bottom_line_status: false,
|
||||
|
|
|
|||
|
|
@ -16,14 +16,13 @@
|
|||
<view class="fl cr-888 unit">元</view>
|
||||
</view>
|
||||
<view class="submit">
|
||||
<navigator url="/pages/plugins/wallet/recharge/recharge" hover-class="none" class="fl">
|
||||
<navigator wx:if="{{(data_base || null) == null || data_base.is_enable_recharge == 1}}" url="/pages/plugins/wallet/recharge/recharge" hover-class="none" class="fl">
|
||||
<button size="mini" type="default" hover-class="none" class="submit-recharge">充值</button>
|
||||
</navigator>
|
||||
<navigator url="/pages/plugins/wallet/cash/cash" hover-class="none" class="fl">
|
||||
<navigator wx:if="{{(data_base || null) == null || data_base.is_enable_cash == 1}}" url="/pages/plugins/wallet/cash-auth/cash-auth" hover-class="none" class="fl">
|
||||
<button size="mini" type="default" hover-class="none" class="submit-cash">提现</button>
|
||||
</navigator>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<!-- 导航 -->
|
||||
|
|
|
|||
|
|
@ -0,0 +1,86 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
data_bottom_line_status: false,
|
||||
|
||||
detail: null,
|
||||
detail_list: [],
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
//params['id'] = 3;
|
||||
this.setData({ params: params });
|
||||
this.init();
|
||||
},
|
||||
|
||||
onShow() { },
|
||||
|
||||
init() {
|
||||
var self = this;
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("detail", "walletlog", "wallet"),
|
||||
method: "POST",
|
||||
data: {
|
||||
id: this.data.params.id
|
||||
},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
self.setData({
|
||||
detail: data.data,
|
||||
detail_list: [
|
||||
{ name: "业务类型", value: data.data.business_type_name || '' },
|
||||
{ name: "操作类型", value: data.data.operation_type_name || '' },
|
||||
{ name: "金额类型", value: data.data.money_type_name || '' },
|
||||
{ name: "操作金额", value: data.data.operation_money + ' 元' || '' },
|
||||
{ name: "原始金额", value: data.data.original_money + ' 元' || '' },
|
||||
{ name: "最新金额", value: data.data.latest_money+' 元' || '' },
|
||||
{ name: "变更说明", value: data.data.msg || '' },
|
||||
{ name: "操作时间", value: data.data.add_time_time || '' },
|
||||
],
|
||||
|
||||
data_list_loding_status: 3,
|
||||
data_bottom_line_status: true,
|
||||
data_list_loding_msg: '',
|
||||
});
|
||||
} else {
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_msg: res.data.msg,
|
||||
});
|
||||
if (app.is_login_check(res.data, self, 'init')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_list_loding_status: 2,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_msg: '服务器请求出错',
|
||||
});
|
||||
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.init();
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "明细详情"
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<view wx:if="{{detail != null}}">
|
||||
<view wx:if="{{detail_list.length > 0}}" class="panel-item">
|
||||
<view class="panel-content bg-white">
|
||||
<view wx:for="{{detail_list}}" wx:key="item" class="item br-b oh">
|
||||
<view class="title fl">{{item.name}}</view>
|
||||
<view class="content cr-888 fl br-l">{{item.value}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{detail == null}}">
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status, msg: data_list_loding_msg}}"></template>
|
||||
|
||||
<view class="nav-back tc wh-auto">
|
||||
<navigator url="/pages/plugins/wallet/wallet-log/wallet-log" open-type="navigateBack" hover-class="none">
|
||||
<button type="default" size="mini" class="cr-888 br" hover-class="none">返回</button>
|
||||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
.panel-item .panel-title {
|
||||
background: #fff;
|
||||
font-weight: bold;
|
||||
padding: 15rpx;
|
||||
border-bottom: 2px solid #eee;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
.panel-item .panel-content .item {
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
.panel-item .panel-content .item:last-child {
|
||||
border: 0;
|
||||
}
|
||||
.panel-item .panel-content .item .title {
|
||||
width: 25%;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.panel-item .panel-content .item .content {
|
||||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
}
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
data_list: [],
|
||||
data_page_total: 0,
|
||||
data_page: 1,
|
||||
data_list_loding_status: 1,
|
||||
data_bottom_line_status: false,
|
||||
params: null,
|
||||
nav_status_list: [
|
||||
{ name: "全部", value: "-1" },
|
||||
{ name: "减少", value: "0" },
|
||||
{ name: "增加", value: "1" },
|
||||
],
|
||||
nav_status_index: 0,
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
// 是否指定状态
|
||||
var nav_status_index = 0;
|
||||
if ((params.status || null) != null) {
|
||||
for (var i in this.data.nav_status_list) {
|
||||
if (this.data.nav_status_list[i]['value'] == params.status) {
|
||||
nav_status_index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
params: params,
|
||||
nav_status_index: nav_status_index,
|
||||
});
|
||||
this.init();
|
||||
},
|
||||
|
||||
onShow() { },
|
||||
|
||||
init() {
|
||||
var user = app.get_user_info(this, 'init');
|
||||
if (user != false) {
|
||||
// 用户未绑定用户则转到登录页面
|
||||
if (app.user_is_need_login(user)) {
|
||||
wx.redirectTo({
|
||||
url: "/pages/login/login?event_callback=init"
|
||||
});
|
||||
return false;
|
||||
} else {
|
||||
// 获取数据
|
||||
this.get_data_list();
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 获取数据
|
||||
get_data_list(is_mandatory) {
|
||||
// 分页是否还有数据
|
||||
if ((is_mandatory || 0) == 0) {
|
||||
if (this.data.data_bottom_line_status == true) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 加载loding
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
// 参数
|
||||
var status = ((this.data.nav_status_list[this.data.nav_status_index] || null) == null) ? -1 : this.data.nav_status_list[this.data.nav_status_index]['value'];
|
||||
|
||||
// 获取数据
|
||||
wx.request({
|
||||
url: app.get_request_url("index", "walletlog", "wallet"),
|
||||
method: "POST",
|
||||
data: {
|
||||
page: this.data.data_page,
|
||||
operation_type: status,
|
||||
is_more: 1,
|
||||
},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
if (res.data.data.data.length > 0) {
|
||||
if (this.data.data_page <= 1) {
|
||||
var temp_data_list = res.data.data.data;
|
||||
} else {
|
||||
var temp_data_list = this.data.data_list;
|
||||
var temp_data = res.data.data.data;
|
||||
for (var i in temp_data) {
|
||||
temp_data_list.push(temp_data[i]);
|
||||
}
|
||||
}
|
||||
this.setData({
|
||||
data_list: temp_data_list,
|
||||
data_total: res.data.data.total,
|
||||
data_page_total: res.data.data.page_total,
|
||||
data_list_loding_status: 3,
|
||||
data_page: this.data.data_page + 1,
|
||||
});
|
||||
|
||||
// 是否还有数据
|
||||
if (this.data.data_page > 1 && this.data.data_page > this.data.data_page_total) {
|
||||
this.setData({ data_bottom_line_status: true });
|
||||
} else {
|
||||
this.setData({ data_bottom_line_status: false });
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_list: [],
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
});
|
||||
if (app.is_login_check(res.data, this, 'get_data_list')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
});
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.setData({
|
||||
data_page: 1
|
||||
});
|
||||
this.get_data_list(1);
|
||||
},
|
||||
|
||||
// 滚动加载
|
||||
scroll_lower(e) {
|
||||
this.get_data_list();
|
||||
},
|
||||
|
||||
// 导航事件
|
||||
nav_event(e) {
|
||||
this.setData({
|
||||
nav_status_index: e.currentTarget.dataset.index || 0,
|
||||
data_page: 1,
|
||||
});
|
||||
this.get_data_list(1);
|
||||
},
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#d2364c",
|
||||
"backgroundColorTop": "#d2364c",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "账户明细"
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<!-- 导航 -->
|
||||
<view class="nav">
|
||||
<block wx:for="{{nav_status_list}}" wx:key="key">
|
||||
<view class="item fl tc cr-888 {{nav_status_index == index ? 'active' : ''}}" data-index="{{index}}" bindtap="nav_event">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<!-- 列表 -->
|
||||
<scroll-view scroll-y="{{true}}" class="scroll-box" bindscrolltolower="scroll_lower" lower-threshold="30">
|
||||
<view class="data-list">
|
||||
<view class="item bg-white spacing-mb" wx:if="{{data_list.length > 0}}" wx:for="{{data_list}}" wx:key="key">
|
||||
<view class="base oh br-b">
|
||||
<text class="cr-666">{{item.add_time_time}}</text>
|
||||
<text class="fr cr-main">{{item.operation_type_name}}</text>
|
||||
</view>
|
||||
<navigator url="/pages/plugins/wallet/wallet-log-detail/wallet-log-detail?id={{item.id}}" hover-class="none">
|
||||
<view class="content">
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">业务类型</text>
|
||||
<text class="value">{{item.business_type_name}}</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">金额类型</text>
|
||||
<text class="value">{{item.money_type_name}}</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">操作金额</text>
|
||||
<text class="value">{{item.operation_money}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">原始金额</text>
|
||||
<text class="value">{{item.original_money}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">最新金额</text>
|
||||
<text class="value">{{item.latest_money}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
</view>
|
||||
</navigator>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{data_list.length == 0}}">
|
||||
<import src="/pages/common/nodata.wxml" />
|
||||
<template is="nodata" data="{{status: data_list_loding_status}}">
|
||||
</template>
|
||||
</view>
|
||||
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* 导航
|
||||
*/
|
||||
.nav {
|
||||
background: #eee;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
.nav .item {
|
||||
width: 33.33%;
|
||||
}
|
||||
.nav .active {
|
||||
color: #d2364c;
|
||||
}
|
||||
|
||||
/*
|
||||
* 列表
|
||||
*/
|
||||
.scroll-box {
|
||||
height: calc(100vh - 80rpx);
|
||||
}
|
||||
.data-list .item .base,
|
||||
.data-list .item .content {
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text {
|
||||
line-height: 50rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text .title {
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
.data-list .item .content .multi-text .value {
|
||||
font-weight: 500;
|
||||
}
|
||||
.data-list .item .content .multi-text .unit {
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
|
@ -91,6 +91,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@
|
|||
width: calc(75% - 50rpx);
|
||||
padding-left: 20rpx;
|
||||
min-height: 46rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
|
|
|
|||
Loading…
Reference in New Issue