小程序分销开发+细节优化
@ -97,7 +97,7 @@ class Order extends Common
|
||||
|
||||
// 发起支付 - 支付方式
|
||||
$pay_where = [
|
||||
'where' => ['is_enable'=>1, 'is_open_user'=>1, 'payment'=>config('shopxo.under_line_list')],
|
||||
'where' => ['is_enable'=>1, 'payment'=>config('shopxo.under_line_list')],
|
||||
];
|
||||
$this->assign('buy_payment_list', PaymentService::BuyPaymentList($pay_where));
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\service\PaymentService;
|
||||
use app\service\StoreService;
|
||||
|
||||
/**
|
||||
* 支付方式管理
|
||||
@ -58,6 +59,9 @@ class Payment extends Common
|
||||
// 适用平台
|
||||
$this->assign('common_platform_type', lang('common_platform_type'));
|
||||
|
||||
// 应用商店
|
||||
$this->assign('store_payment_url', StoreService::StorePaymentUrl());
|
||||
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ namespace app\admin\controller;
|
||||
|
||||
use app\service\ThemeService;
|
||||
use app\service\ConfigService;
|
||||
use app\service\StoreService;
|
||||
|
||||
/**
|
||||
* 主题管理
|
||||
@ -64,6 +65,10 @@ class Theme extends Common
|
||||
// 默认主题
|
||||
$theme = MyC('common_default_theme', 'default', true);
|
||||
$this->assign('theme', empty($theme) ? 'default' : $theme);
|
||||
|
||||
// 应用商店
|
||||
$this->assign('store_theme_url', StoreService::StoreThemeUrl());
|
||||
|
||||
return $this->fetch('index');
|
||||
} else {
|
||||
return $this->fetch('upload');
|
||||
|
@ -6,7 +6,7 @@
|
||||
<!-- operation start -->
|
||||
<div class="am-g">
|
||||
<a href="javascript:;" class="am-btn am-btn-secondary am-btn-xs am-margin-left-sm am-icon-cloud-upload am-radius" data-am-modal="{target: '#payment-upload-win'}"> 上传</a>
|
||||
<a class="am-margin-left-sm" href="https://store.shopxo.net/payment.html" target="_blank">更多支付插件下载 <i class="am-icon-external-link"></i></a>
|
||||
<a class="am-margin-left-sm" href="{{$store_payment_url}}" target="_blank">更多支付插件下载 <i class="am-icon-external-link"></i></a>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<th class="am-hide-sm-only">作者</th>
|
||||
<th class="am-hide-sm-only th-desc">描述</th>
|
||||
<th>启用</th>
|
||||
<th>开放使用</th>
|
||||
<th>用户开放</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -149,7 +149,7 @@
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="block">开放使用</label>
|
||||
<label class="block">用户开放</label>
|
||||
<input name="is_open_user" value="1" type="checkbox" data-off-text="否" data-on-text="是" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (isset($data['is_open_user']) and $data['is_open_user'] eq 1) or !isset($data['is_open_user'])}}checked="true"{{/if}} />
|
||||
</div>
|
||||
|
||||
|
@ -5,4 +5,7 @@
|
||||
<li {{if $view_type eq 'upload'}}class="am-active"{{/if}}>
|
||||
<a href="{{:MyUrl('admin/pluginsadmin/index', ['view_type'=>'upload'])}}">上传应用</a>
|
||||
</li>
|
||||
<li class="fr">
|
||||
<a class="am-margin-left-sm" href="{{$store_url}}" target="_blank">更多支付插件下载 <i class="am-icon-external-link"></i></a>
|
||||
</li>
|
||||
</ul>
|
@ -5,4 +5,7 @@
|
||||
<li {{if $view_type eq 'upload'}}class="am-active"{{/if}}>
|
||||
<a href="{{:MyUrl('admin/theme/index', ['view_type'=>'upload'])}}">主题安装</a>
|
||||
</li>
|
||||
<li class="fr">
|
||||
<a class="am-margin-left-sm" href="{{$store_theme_url}}" target="_blank">更多支付插件下载 <i class="am-icon-external-link"></i></a>
|
||||
</li>
|
||||
</ul>
|
@ -8,7 +8,7 @@
|
||||
<!-- nav end -->
|
||||
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/theme/upload')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/theme/index')}}" enctype="multipart/form-data">
|
||||
<form class="am-form form-validation view-save am-margin-top-sm" action="{{:MyUrl('admin/theme/upload')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/theme/index')}}" enctype="multipart/form-data">
|
||||
<div class="am-form-group am-form-file">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
|
||||
<i class="am-icon-cloud-upload"></i> 选择文件</button>
|
||||
|
@ -108,7 +108,7 @@ class Common extends Controller
|
||||
{
|
||||
if(MyC('home_site_state') != 1)
|
||||
{
|
||||
die(json_encode(DataReturn(MyC('home_site_close_reason', '网站维护中...'), -10000)));
|
||||
exit(json_encode(DataReturn(MyC('home_site_close_reason', '网站维护中...'), -10000)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1101,20 +1101,38 @@ function IsJson($jsonstr)
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T21:58:54+0800
|
||||
* @param [string] $url [请求地址]
|
||||
* @param [array] $post [发送的post数据]
|
||||
* @param [string] $url [请求地址]
|
||||
* @param [array] $post [发送的post数据]
|
||||
* @param [boolean] $is_json [是否使用 json 数据发送]
|
||||
* @return [mixed] [请求返回的数据]
|
||||
*/
|
||||
function CurlPost($url, $post)
|
||||
function CurlPost($url, $post, $is_json = false)
|
||||
{
|
||||
$options = array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_HEADER => false,
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => http_build_query($post),
|
||||
);
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_HEADER, false);
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
|
||||
// 是否 json
|
||||
if($is_json)
|
||||
{
|
||||
$data_string = json_encode($post);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
"Content-Type: application/json; charset=utf-8",
|
||||
"Content-Length: " . strlen($data_string)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
"Content-Type: application/x-www-form-urlencoded",
|
||||
"cache-control: no-cache"
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$ch = curl_init($url);
|
||||
curl_setopt_array($ch, $options);
|
||||
$result = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
return $result;
|
||||
|
@ -363,9 +363,9 @@ class Common extends Controller
|
||||
// 是否ajax请求
|
||||
if(IS_AJAX)
|
||||
{
|
||||
die(json_encode(DataReturn(MyC('home_site_close_reason', '网站维护中...'), -10000)));
|
||||
exit(json_encode(DataReturn(MyC('home_site_close_reason', '网站维护中...'), -10000)));
|
||||
} else {
|
||||
die('<div style="text-align: center;margin-top: 15%;font-size: 18px;color: #f00;">'.MyC('home_site_close_reason', '网站维护中...', true).'</div>');
|
||||
exit('<div style="text-align: center;margin-top: 15%;font-size: 18px;color: #f00;">'.MyC('home_site_close_reason', '网站维护中...', true).'</div>');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,5 +31,31 @@ class StoreService
|
||||
{
|
||||
return config('shopxo.store_url').'?ver='.APPLICATION_VERSION.'&url='.urlencode(__MY_URL__);
|
||||
}
|
||||
|
||||
/**
|
||||
* 应用商店支付插件地址
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-06-16T00:33:28+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function StorePaymentUrl($params = [])
|
||||
{
|
||||
return config('shopxo.store_payment_url').'?ver='.APPLICATION_VERSION.'&url='.urlencode(__MY_URL__);
|
||||
}
|
||||
|
||||
/**
|
||||
* 应用商店主题地址
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-06-16T00:33:28+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function StoreThemeUrl($params = [])
|
||||
{
|
||||
return config('shopxo.store_theme_url').'?ver='.APPLICATION_VERSION.'&url='.urlencode(__MY_URL__);
|
||||
}
|
||||
}
|
||||
?>
|
@ -37,19 +37,23 @@ return array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
1 => 'app\\plugins\\coupon\\Hook',
|
||||
2 => 'app\\plugins\\distribution\\Hook',
|
||||
3 => 'app\\plugins\\limitedtimediscount\\Hook',
|
||||
),
|
||||
'plugins_service_navigation_header_handle' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
1 => 'app\\plugins\\coupon\\Hook',
|
||||
2 => 'app\\plugins\\limitedtimediscount\\Hook',
|
||||
),
|
||||
'plugins_service_goods_handle_end' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
1 => 'app\\plugins\\limitedtimediscount\\Hook',
|
||||
),
|
||||
'plugins_service_goods_spec_base' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\membershiplevelvip\\Hook',
|
||||
1 => 'app\\plugins\\limitedtimediscount\\Hook',
|
||||
),
|
||||
'plugins_service_buy_handle' =>
|
||||
array (
|
||||
@ -110,6 +114,7 @@ return array (
|
||||
'plugins_js' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\coupon\\Hook',
|
||||
1 => 'app\\plugins\\limitedtimediscount\\Hook',
|
||||
),
|
||||
'plugins_view_goods_detail_panel_bottom' =>
|
||||
array (
|
||||
@ -131,6 +136,7 @@ return array (
|
||||
array (
|
||||
0 => 'app\\plugins\\coupon\\Hook',
|
||||
1 => 'app\\plugins\\distribution\\Hook',
|
||||
2 => 'app\\plugins\\fictitioussecretkey\\Hook',
|
||||
),
|
||||
'plugins_service_user_register_end' =>
|
||||
array (
|
||||
@ -160,5 +166,13 @@ return array (
|
||||
array (
|
||||
0 => 'app\\plugins\\distribution\\Hook',
|
||||
),
|
||||
'plugins_view_goods_detail_base_top' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\limitedtimediscount\\Hook',
|
||||
),
|
||||
'plugins_view_home_floor_top' =>
|
||||
array (
|
||||
0 => 'app\\plugins\\limitedtimediscount\\Hook',
|
||||
),
|
||||
);
|
||||
?>
|
@ -22,40 +22,42 @@ return [
|
||||
|
||||
// 缓存key列表
|
||||
// 公共系统配置信息key
|
||||
'cache_common_my_config_key' => 'cache_common_my_config_data',
|
||||
'cache_common_my_config_key' => 'cache_common_my_config_data',
|
||||
|
||||
// 前台顶部导航,后端菜单更新则删除缓存
|
||||
'cache_common_home_nav_header_key' => 'cache_common_home_nav_header_data',
|
||||
'cache_common_home_nav_header_key' => 'cache_common_home_nav_header_data',
|
||||
|
||||
// 前台顶部导航
|
||||
'cache_common_home_nav_footer_key' => 'cache_common_home_nav_footer_data',
|
||||
'cache_common_home_nav_footer_key' => 'cache_common_home_nav_footer_data',
|
||||
|
||||
// 商品大分类缓存
|
||||
'cache_goods_category_key' => 'cache_goods_category_key_data',
|
||||
'cache_goods_category_key' => 'cache_goods_category_key_data',
|
||||
|
||||
// 应用数据缓存
|
||||
'cache_plugins_data_key' => 'cache_plugins_data_key_data_',
|
||||
'cache_plugins_data_key' => 'cache_plugins_data_key_data_',
|
||||
|
||||
// 用户登录左侧数据
|
||||
'cache_user_login_left_key' => 'cache_user_login_left_data',
|
||||
'cache_user_login_left_key' => 'cache_user_login_left_data',
|
||||
|
||||
// 用户密码找回左侧数据
|
||||
'cache_user_forgetpwd_left_key' => 'cache_user_forgetpwd_left_data',
|
||||
'cache_user_forgetpwd_left_key' => 'cache_user_forgetpwd_left_data',
|
||||
|
||||
// 配置信息一条缓存 拼接唯一标记 [ only_tag ]
|
||||
'cache_config_row_key' => 'cache_config_row_data_',
|
||||
'cache_config_row_key' => 'cache_config_row_data_',
|
||||
|
||||
// 用户缓存信息
|
||||
'cache_user_info' => 'cache_user_info_',
|
||||
'cache_user_info' => 'cache_user_info_',
|
||||
|
||||
// 附件host, 数据库图片地址以/static/...开头
|
||||
'attachment_host' => defined('__MY_PUBLIC_URL__') ? substr(__MY_PUBLIC_URL__, 0, -1) : '',
|
||||
'attachment_host' => defined('__MY_PUBLIC_URL__') ? substr(__MY_PUBLIC_URL__, 0, -1) : '',
|
||||
|
||||
// 应用商店地址
|
||||
'store_url' => 'https://store.shopxo.net/',
|
||||
'store_url' => 'https://store.shopxo.net/',
|
||||
'store_payment_url' => 'https://store.shopxo.net/payment.html',
|
||||
'store_theme_url' => 'https://store.shopxo.net/theme.html',
|
||||
|
||||
// 开启U带域名
|
||||
'url_domain_deploy' => true,
|
||||
'url_domain_deploy' => true,
|
||||
|
||||
// 支付业务类型,支付插件根据业务类型自动生成支付入口文件
|
||||
'payment_business_type_all' => [
|
||||
@ -72,6 +74,6 @@ return [
|
||||
'under_line_list' => ['CashPayment', 'DeliveryPayment'],
|
||||
|
||||
// 小程序平台
|
||||
'mini_app_type_list' => ['weixin', 'alipay', 'baidu', 'toutiao', 'qq'],
|
||||
'mini_app_type_list' => ['weixin', 'alipay', 'baidu', 'toutiao', 'qq'],
|
||||
];
|
||||
?>
|
@ -34,11 +34,11 @@
|
||||
"pages/plugins/membershiplevelvip/user/user",
|
||||
"pages/plugins/membershiplevelvip/order/order",
|
||||
"pages/plugins/membershiplevelvip/order-detail/order-detail",
|
||||
"pages/plugins/membershiplevelvip/shouyi-detail/shouyi-detail",
|
||||
"pages/plugins/membershiplevelvip/shouyi/shouyi",
|
||||
"pages/plugins/membershiplevelvip/tongji/tongji",
|
||||
"pages/plugins/membershiplevelvip/tuiguang/tuiguang",
|
||||
"pages/plugins/membershiplevelvip/tuandui/tuandui"
|
||||
"pages/plugins/membershiplevelvip/profit-detail/profit-detail",
|
||||
"pages/plugins/membershiplevelvip/profit/profit",
|
||||
"pages/plugins/membershiplevelvip/statistics/statistics",
|
||||
"pages/plugins/membershiplevelvip/poster/poster",
|
||||
"pages/plugins/membershiplevelvip/team/team"
|
||||
],
|
||||
"window": {
|
||||
"defaultTitle": "shopxo",
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
@ -23,6 +23,13 @@
|
||||
margin: 20rpx 0;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
.share button {
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
}
|
||||
.submit-double button {
|
||||
width: 48%;
|
||||
}
|
||||
|
||||
/*
|
||||
* 链接
|
@ -7,8 +7,9 @@
|
||||
<view class="content">
|
||||
<image src="{{user_share_qrode}}" class="wh-auto dis-block" mode="widthFix" />
|
||||
</view>
|
||||
<view class="submit">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" onTap="qrcode_event">查看二维码长按保存</button>
|
||||
<view class="submit submit-double oh">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" class="fl" onTap="qrcode_show_event">查看二维码</button>
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" class="fr" onTap="qrcode_save_event">保存二维码</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -19,7 +20,7 @@
|
||||
</view>
|
||||
<view class="content">{{user_share_url}}</view>
|
||||
<view class="submit">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" onTap="url_event">点击复制链接地址</button>
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" class="dis-block wh-auto" onTap="url_event">点击复制链接地址</button>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -76,8 +76,8 @@ Page({
|
||||
this.init();
|
||||
},
|
||||
|
||||
// 二维码事件
|
||||
qrcode_event(e) {
|
||||
// 二维码查看事件
|
||||
qrcode_show_event(e) {
|
||||
if ((this.data.user_share_qrode || null) != null) {
|
||||
my.previewImage({
|
||||
current: 0,
|
||||
@ -88,6 +88,24 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
// 二维码保存事件
|
||||
qrcode_save_event(e) {
|
||||
if ((this.data.user_share_qrode || null) != null) {
|
||||
my.saveImage({
|
||||
url: this.data.user_share_qrode,
|
||||
showActionSheet: true,
|
||||
success: () => {
|
||||
app.showToast('保存成功', 'success');
|
||||
},
|
||||
fail: (res) => {
|
||||
app.showToast('保存失败');
|
||||
},
|
||||
});
|
||||
} else {
|
||||
app.showToast('二维码地址有误');
|
||||
}
|
||||
},
|
||||
|
||||
// url事件
|
||||
url_event(e) {
|
||||
if ((this.data.user_share_url || null) != null) {
|
@ -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>
|
@ -11,7 +11,7 @@ Page({
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
params['id'] = 1;
|
||||
//params['id'] = 1;
|
||||
this.setData({ params: params });
|
||||
this.init();
|
||||
},
|
@ -13,7 +13,7 @@
|
||||
<text class="cr-666">{{item.add_time_time}}</text>
|
||||
<text class="fr cr-main">{{item.status_name}}</text>
|
||||
</view>
|
||||
<navigator url="/pages/plugins/membershiplevelvip/shouyi-detail/shouyi-detail?id={{item.id}}" hover-class="none">
|
||||
<navigator url="/pages/plugins/membershiplevelvip/profit-detail/profit-detail?id={{item.id}}" hover-class="none">
|
||||
<view class="content">
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">订单金额</text>
|
||||
@ -29,10 +29,6 @@
|
||||
<text class="title cr-666">当前级别</text>
|
||||
<text class="value">{{item.level_name}}</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">返佣规则</text>
|
||||
<text class="value">{{item.commission_rules}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</navigator>
|
||||
</view>
|
@ -12,8 +12,8 @@
|
||||
}
|
||||
.head-item .avatar {
|
||||
padding: 10rpx;
|
||||
background: #1d1611;
|
||||
border: 1px solid #3d3c3c;
|
||||
background: #3c3835;
|
||||
border: 1px solid #3c3835;
|
||||
}
|
||||
.head-item .avatar image {
|
||||
width: 140rpx;
|
||||
|
@ -2,7 +2,7 @@
|
||||
<view class="head-box oh">
|
||||
<view class="head-item tc fl">
|
||||
<view class="avatar">
|
||||
<image onTap="preview_event" binderror="user_avatar_error" src="{{avatar}}" mode="widthFix" class="dis-block" />
|
||||
<image onTap="preview_event" onError="user_avatar_error" src="{{avatar}}" mode="widthFix" class="dis-block" />
|
||||
</view>
|
||||
<text class="item-name dis-block cr-888">{{nickname}}</text>
|
||||
</view>
|
||||
|
@ -14,12 +14,11 @@ Page({
|
||||
nav_list: [],
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
this.init();
|
||||
},
|
||||
onLoad(params) {},
|
||||
|
||||
onShow() {
|
||||
app.set_nav_bg_color_main('#1d1611');
|
||||
this.init();
|
||||
},
|
||||
|
||||
init(e) {
|
||||
@ -98,33 +97,33 @@ Page({
|
||||
if ((data_base.is_commission || 0) == 1)
|
||||
{
|
||||
nav_list.push({
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-shouyi-icon.png",
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-profit-icon.png",
|
||||
title: "收益明细",
|
||||
url: "/pages/plugins/membershiplevelvip/shouyi/shouyi",
|
||||
url: "/pages/plugins/membershiplevelvip/profit/profit",
|
||||
});
|
||||
}
|
||||
|
||||
// 开启推广
|
||||
if ((data_base.is_propaganda || 0) == 1) {
|
||||
nav_list.push({
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-tuandui-icon.png",
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-team-icon.png",
|
||||
title: "我的团队",
|
||||
url: "/pages/plugins/membershiplevelvip/tuandui/tuandui",
|
||||
url: "/pages/plugins/membershiplevelvip/team/team",
|
||||
});
|
||||
nav_list.push({
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-tuiguang-icon.png",
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-poster-icon.png",
|
||||
title: "推广返利",
|
||||
url: "/pages/plugins/membershiplevelvip/tuiguang/tuiguang",
|
||||
url: "/pages/plugins/membershiplevelvip/poster/poster",
|
||||
});
|
||||
nav_list.push({
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-tongji-icon.png",
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-statistics-icon.png",
|
||||
title: "数据统计",
|
||||
url: "/pages/plugins/membershiplevelvip/tongji/tongji",
|
||||
url: "/pages/plugins/membershiplevelvip/statistics/statistics",
|
||||
});
|
||||
}
|
||||
|
||||
nav_list.push({
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-shouye-icon.png",
|
||||
icon: "/images/plugins/membershiplevelvip/user-center-index-icon.png",
|
||||
title: "会员首页",
|
||||
url: "/pages/plugins/membershiplevelvip/index/index",
|
||||
});
|
||||
|
@ -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": [ "pages/plugins/distribution/user/user",
|
||||
"pages/index/index",
|
||||
"pages/goods-category/goods-category",
|
||||
"pages/cart/cart",
|
||||
@ -34,11 +34,21 @@
|
||||
"pages/plugins/membershiplevelvip/user/user",
|
||||
"pages/plugins/membershiplevelvip/order/order",
|
||||
"pages/plugins/membershiplevelvip/order-detail/order-detail",
|
||||
"pages/plugins/membershiplevelvip/shouyi-detail/shouyi-detail",
|
||||
"pages/plugins/membershiplevelvip/shouyi/shouyi",
|
||||
"pages/plugins/membershiplevelvip/tongji/tongji",
|
||||
"pages/plugins/membershiplevelvip/tuiguang/tuiguang",
|
||||
"pages/plugins/membershiplevelvip/tuandui/tuandui"
|
||||
"pages/plugins/membershiplevelvip/profit/profit",
|
||||
"pages/plugins/membershiplevelvip/profit-detail/profit-detail",
|
||||
"pages/plugins/membershiplevelvip/statistics/statistics",
|
||||
"pages/plugins/membershiplevelvip/poster/poster",
|
||||
"pages/plugins/membershiplevelvip/team/team",
|
||||
|
||||
|
||||
"pages/plugins/distribution/order/order",
|
||||
"pages/plugins/distribution/order-detail/order-detail",
|
||||
"pages/plugins/distribution/profit/profit",
|
||||
"pages/plugins/distribution/profit-detail/profit-detail",
|
||||
"pages/plugins/distribution/statistics/statistics",
|
||||
"pages/plugins/distribution/poster/poster",
|
||||
"pages/plugins/distribution/team/team",
|
||||
"pages/plugins/distribution/introduce/introduce"
|
||||
],
|
||||
"window": {
|
||||
"navigationBarTitleText": "{{application_title}}",
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
@ -800,7 +800,7 @@ Page({
|
||||
} else {
|
||||
wx.showLoading({ title: '生成中...' });
|
||||
wx.request({
|
||||
url: app.get_request_url('poster', 'user', 'distribution'),
|
||||
url: app.get_request_url('goodsposter', 'distribution', 'distribution'),
|
||||
method: 'POST',
|
||||
data: { "goods_id": this.data.goods.id },
|
||||
dataType: 'json',
|
||||
|
@ -0,0 +1,78 @@
|
||||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
data_bottom_line_status: false,
|
||||
|
||||
data_base: null,
|
||||
level_list: [],
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
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("index", "introduce", "distribution"),
|
||||
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;
|
||||
var data_base = data.base || null;
|
||||
var level_list = ((data.level_list || null) != null && data.level_list.length > 0) ? data.level_list : [];
|
||||
self.setData({
|
||||
data_base: data_base,
|
||||
level_list: level_list,
|
||||
data_list_loding_status: (data_base == null || level_list.length <= 0) ? 0 : 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": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "等级介绍"
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
<view wx:if="{{data_base != null}}">
|
||||
<!-- 等级信息 -->
|
||||
<view wx:if="{{level_list.length > 0}}" class="panel-item">
|
||||
<view wx:for="{{level_list}}" wx:key="item" class="bg-white spacing-mb">
|
||||
<view class="panel-title">{{item.name}}</view>
|
||||
<view class="panel-content">
|
||||
<view class="item br-b oh">
|
||||
<view class="title fl">等级证书</view>
|
||||
<view class="content cr-888 fl br-l images">
|
||||
<image src="{{item.images_url}}" class="avatar dis-block fl" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="item br-b oh">
|
||||
<view class="title fl">返佣比例</view>
|
||||
<view class="content cr-888 fl br-l">
|
||||
<view>一级 {{item.level_rate_one}}%</view>
|
||||
<view>二级 {{item.level_rate_two}}%</view>
|
||||
<view>三级 {{item.level_rate_three}}%</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item br-b oh">
|
||||
<view class="title fl">消费金额</view>
|
||||
<view class="content cr-888 fl br-l">{{item.rules_msg}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 等级介绍 -->
|
||||
<view wx:if="{{(data_base.user_center_level_desc || null) != null && data_base.user_center_level_desc.length > 0}}" class="spacing-mt user-center-level-desc">
|
||||
<view class="tips-desc">
|
||||
<view wx:for="{{data_base.user_center_level_desc}}" wx:key="key" class="item">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{((data_base.user_center_level_desc || null) != null && data_base.user_center_level_desc.length > 0) || level_list.length > 0}}">
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{level_list.length <= 0 && ((data_base.user_center_level_desc || null) == null || data_base.user_center_level_desc.length <= 0)}}">
|
||||
<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,48 @@
|
||||
/*
|
||||
* 等级信息
|
||||
*/
|
||||
.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;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
}
|
||||
.panel-item .panel-content .item .images image {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 等级介绍
|
||||
*/
|
||||
.user-center-level-desc {
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
.user-center-level-desc .tips-desc {
|
||||
background: #def2fd;
|
||||
border: 1px solid #cfeeff;
|
||||
color: #1490d2;
|
||||
padding: 10rpx;
|
||||
font-size: 26rpx;
|
||||
border-radius: 2px;
|
||||
}
|
@ -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'] = 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", "order", "distribution"),
|
||||
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.user_name_view || '' },
|
||||
{ name: "订单金额", value: data.data.total_price + ' 元' || '' },
|
||||
{ name: "退款金额", value: data.data.refund_price + ' 元' || '' },
|
||||
{ name: "订单状态", value: data.data.order_status_name || '' },
|
||||
{ name: "支付状态", value: data.data.order_pay_status_name || '' },
|
||||
{ name: "来源终端", value: data.data.order_client_type_name || '' },
|
||||
{ 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": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "订单详情"
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
<view wx:if="{{detail != null}}">
|
||||
<view wx:if="{{detail_list.length > 0}}" class="panel-item">
|
||||
<view class="panel-content bg-white">
|
||||
<view class="item br-b oh">
|
||||
<view class="title fl">用户头像</view>
|
||||
<view class="content cr-888 fl br-l">
|
||||
<image src="{{detail.avatar}}" class="avatar dis-block fl" mode="widthFix" bindtap="avatar_event" data-value="{{detail.avatar}}" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<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/distribution/order/order" 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,31 @@
|
||||
.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;
|
||||
}
|
||||
.panel-item .panel-content .item view {
|
||||
line-height: 46rpx;
|
||||
}
|
||||
|
||||
.panel-item .panel-content .item .content .avatar {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 50%;
|
||||
}
|
@ -0,0 +1,170 @@
|
||||
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: "1" },
|
||||
{ name: "已支付", value: "2" },
|
||||
{ name: "待收货", value: "3" },
|
||||
{ name: "已完成", value: "4" },
|
||||
],
|
||||
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", "order", "distribution"),
|
||||
method: "POST",
|
||||
data: {
|
||||
page: this.data.data_page,
|
||||
status: order_status,
|
||||
uid: this.data.params.uid || 0,
|
||||
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,
|
||||
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,
|
||||
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": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "分销订单"
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
<!-- 导航 -->
|
||||
<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">
|
||||
<image src="{{item.avatar}}" class="avatar dis-block fl" mode="widthFix" bindtap="avatar_event" data-value="{{item.avatar}}" />
|
||||
<text class="fr nickname cr-888">{{item.user_name_view || ''}}</text>
|
||||
</view>
|
||||
<navigator url="/pages/plugins/distribution/order-detail/order-detail?id={{item.id}}" hover-class="none">
|
||||
<view class="content">
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">订单金额</text>
|
||||
<text class="value">{{item.total_price}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">订单状态</text>
|
||||
<text class="value">{{item.order_status_name}}</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">来源终端</text>
|
||||
<text class="value">{{item.order_client_type_name}}</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,47 @@
|
||||
/*
|
||||
* 导航
|
||||
*/
|
||||
.nav {
|
||||
background: #eee;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
.nav .item {
|
||||
width: 20%;
|
||||
}
|
||||
.nav .active {
|
||||
color: #ff6a80;
|
||||
}
|
||||
|
||||
/*
|
||||
* 列表
|
||||
*/
|
||||
.scroll-box {
|
||||
height: calc(100vh - 80rpx);
|
||||
}
|
||||
.data-list .item .base {
|
||||
padding: 15rpx 10rpx;
|
||||
}
|
||||
.data-list .item .base .avatar {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.data-list .item .base .nickname {
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.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,132 @@
|
||||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '加载中...',
|
||||
data_bottom_line_status: false,
|
||||
user_share_poster: null,
|
||||
user_share_qrode: null,
|
||||
user_share_url: null,
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.init();
|
||||
},
|
||||
|
||||
init() {
|
||||
var self = this;
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("index", "poster", "distribution"),
|
||||
method: "POST",
|
||||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
self.setData({
|
||||
user_share_poster: data.user_share_poster || null,
|
||||
user_share_qrode: data.user_share_qrode || null,
|
||||
user_share_url: data.user_share_url || null,
|
||||
data_list_loding_status: 3,
|
||||
data_bottom_line_status: true,
|
||||
data_list_loding_msg: '',
|
||||
});
|
||||
|
||||
// 是否全部没数据
|
||||
if (self.data.user_share_poster == null && self.data.user_share_qrode == null && self.data.user_share_url == null)
|
||||
{
|
||||
self.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
}
|
||||
} 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();
|
||||
},
|
||||
|
||||
// 刷新海报
|
||||
poster_refresh_event(e) {
|
||||
wx.showLoading({ title: "处理中..." });
|
||||
wx.request({
|
||||
url: app.get_request_url("refresh", "poster", "distribution"),
|
||||
method: "POST",
|
||||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
this.setData({ user_share_poster: res.data.data});
|
||||
app.showToast(res.data.msg, "success");
|
||||
} else {
|
||||
if (app.is_login_check(res.data, self, 'init')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 图片查看事件
|
||||
images_show_event(e) {
|
||||
var value = e.currentTarget.dataset.value || null;
|
||||
if (value != null) {
|
||||
wx.previewImage({
|
||||
current: value,
|
||||
urls: [value]
|
||||
});
|
||||
} else {
|
||||
app.showToast('宣传图片地址有误');
|
||||
}
|
||||
},
|
||||
|
||||
// url事件
|
||||
url_event(e) {
|
||||
if ((this.data.user_share_url || null) != null) {
|
||||
wx.setClipboardData({
|
||||
data: this.data.user_share_url,
|
||||
success(res) {
|
||||
app.showToast('复制成功', 'success');
|
||||
}
|
||||
})
|
||||
} else {
|
||||
app.showToast('链接地址有误');
|
||||
}
|
||||
},
|
||||
});
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "推广返利"
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
<view wx:if="{{user_share_poster != null || user_share_qrode != null || user_share_url != null}}">
|
||||
<view wx:if="{{user_share_poster != null}}" class="share qrcode bg-white spacing-mb">
|
||||
<view class="title">海报分享</view>
|
||||
<view class="desc cr-888 br-b">
|
||||
保存海报后,发送给微信好友/群、QQ好友/群,分享到分朋友圈,微博等进行推广,轻轻松松赚返利!
|
||||
</view>
|
||||
<view class="content">
|
||||
<image src="{{user_share_poster}}" class="wh-auto dis-block" mode="widthFix" />
|
||||
</view>
|
||||
<view class="submit submit-double oh">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" data-value="{{user_share_poster}}" bindtap="images_show_event" class="fl">查看长按保存</button>
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" bindtap="poster_refresh_event" class="fr">重新生成</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{user_share_qrode != null}}" class="share qrcode bg-white spacing-mb">
|
||||
<view class="title">二维码分享</view>
|
||||
<view class="desc cr-888 br-b">
|
||||
保存二维码后,发送给微信好友/群、QQ好友/群,分享到分朋友圈,微博等进行推广,轻轻松松赚返利!
|
||||
</view>
|
||||
<view class="content">
|
||||
<image src="{{user_share_qrode}}" class="wh-auto dis-block" mode="widthFix" />
|
||||
</view>
|
||||
<view class="submit">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" class="dis-block wh-auto" data-value="{{user_share_qrode}}" bindtap="images_show_event">查看二维码长按保存</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{user_share_url != null}}" class="share url bg-white">
|
||||
<view class="title">链接分享</view>
|
||||
<view class="desc cr-888 br-b">
|
||||
复制以下链接,发送给微信好友/群、QQ好友/群,分享到分朋友圈,微博等进行推广,轻轻松松赚返利!
|
||||
</view>
|
||||
<view class="content">{{user_share_url}}</view>
|
||||
<view class="submit">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" class="dis-block wh-auto" bindtap="url_event">点击复制链接地址</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<import src="/pages/common/bottom_line.wxml" />
|
||||
<template is="bottom_line" data="{{status: data_bottom_line_status}}"></template>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{user_share_qrode == null && user_share_url == null}}">
|
||||
<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,40 @@
|
||||
/*
|
||||
* 公共
|
||||
*/
|
||||
.share {
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
.share .title {
|
||||
border-left: 3px solid #ff6a80;
|
||||
margin-left: 10rpx;
|
||||
padding-left: 20rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
.share .desc {
|
||||
font-size: 32rpx;
|
||||
padding: 0 10rpx 20rpx 10rpx;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
.share .content {
|
||||
padding: 20rpx;
|
||||
}
|
||||
.share .submit {
|
||||
margin: 20rpx 0;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
.share button {
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
}
|
||||
.submit-double button {
|
||||
width: 48%;
|
||||
}
|
||||
|
||||
/*
|
||||
* 链接
|
||||
*/
|
||||
.url .content {
|
||||
font-size: 32rpx;
|
||||
color: #ff6a80;
|
||||
}
|
@ -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", "profit", "distribution"),
|
||||
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.total_price + '元' || '' },
|
||||
{ name: "退款金额", value: data.data.refund_price + '元' || '' },
|
||||
{ name: "收益金额", value: data.data.profit_price + '元' || '' },
|
||||
{ name: "当前级别", value: data.data.level_name || '' },
|
||||
{ name: "结算状态", value: data.data.status_name || '' },
|
||||
{ name: "订单状态", value: data.data.order_status_name || '' },
|
||||
{ name: "订单支付状态", value: data.data.order_pay_status_name || '' },
|
||||
{ name: "来源终端", value: data.data.order_client_type_name || '' },
|
||||
{ name: "添加时间", value: data.data.add_time_time || '' },
|
||||
{ name: "更新时间", value: data.data.upd_time_text || '' },
|
||||
],
|
||||
|
||||
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": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"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/distribution/profit/profit" 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,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", "profit", "distribution"),
|
||||
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": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "收益明细"
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
<!-- 导航 -->
|
||||
<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/distribution/profit-detail/profit-detail?id={{item.id}}" hover-class="none">
|
||||
<view class="content">
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">订单金额</text>
|
||||
<text class="value">{{item.total_price}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">退款金额</text>
|
||||
<text class="value">{{item.refund_price}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">收益金额</text>
|
||||
<text class="value">{{item.profit_price}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">当前级别</text>
|
||||
<text class="value">{{item.level_name}}</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: #ff6a80;
|
||||
}
|
||||
|
||||
/*
|
||||
* 列表
|
||||
*/
|
||||
.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,201 @@
|
||||
import * as echarts from '../../../../components/ec-canvas/echarts';
|
||||
const app = getApp();
|
||||
|
||||
// 近15日收益走势
|
||||
let profit_chart_obj = null;
|
||||
function init_profit_chart(canvas, width, height) {
|
||||
profit_chart_obj = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height
|
||||
});
|
||||
canvas.setChart(profit_chart_obj);
|
||||
return profit_chart_obj;
|
||||
};
|
||||
|
||||
// 近15日推广用户数
|
||||
let user_chart_obj = null;
|
||||
function init_user_chart(canvas, width, height) {
|
||||
user_chart_obj = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height
|
||||
});
|
||||
canvas.setChart(user_chart_obj);
|
||||
return user_chart_obj;
|
||||
};
|
||||
|
||||
Page({
|
||||
data: {
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '加载中...',
|
||||
data_bottom_line_status: false,
|
||||
|
||||
user_total: null,
|
||||
user_profit_already_price: 0.00,
|
||||
user_profit_stay_price: 0.00,
|
||||
user_profit_total_price: 0.00,
|
||||
user_data: null,
|
||||
profit_data: null,
|
||||
|
||||
// 图表
|
||||
profit_chart: {
|
||||
onInit: init_profit_chart,
|
||||
},
|
||||
user_chart: {
|
||||
onInit: init_user_chart,
|
||||
},
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.init();
|
||||
},
|
||||
|
||||
init() {
|
||||
var self = this;
|
||||
wx.showLoading({ title: "加载中..." });
|
||||
this.setData({
|
||||
data_list_loding_status: 1
|
||||
});
|
||||
|
||||
wx.request({
|
||||
url: app.get_request_url("index", "statistics", "distribution"),
|
||||
method: "POST",
|
||||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
self.setData({
|
||||
user_total: data.user_total || null,
|
||||
user_profit_already_price: data.user_profit_already_price || 0.00,
|
||||
user_profit_stay_price: data.user_profit_stay_price || 0.00,
|
||||
user_profit_total_price: data.user_profit_total_price || 0.00,
|
||||
user_data: data.user_chart || null,
|
||||
profit_data: data.profit_chart || null,
|
||||
|
||||
data_list_loding_status: 3,
|
||||
data_bottom_line_status: true,
|
||||
data_list_loding_msg: '',
|
||||
});
|
||||
|
||||
// 图表
|
||||
setTimeout(function()
|
||||
{
|
||||
// 近15日收益走势
|
||||
self.set_profit_chart(data.profit_chart);
|
||||
|
||||
// 近15日推广用户数
|
||||
self.set_profit_user(data.user_chart);
|
||||
}, 200);
|
||||
} 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("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 近15日推广用户数
|
||||
set_profit_user(data) {
|
||||
if ((data || null) != null) {
|
||||
var option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
label: {
|
||||
backgroundColor: '#6a7985'
|
||||
}
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
top: '10%',
|
||||
left: '5%',
|
||||
right: '5%',
|
||||
bottom: '15%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: data.name_arr
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [{
|
||||
data: data.data,
|
||||
type: 'bar',
|
||||
areaStyle: {}
|
||||
}]
|
||||
};
|
||||
if (typeof (user_chart_obj) == 'object') {
|
||||
user_chart_obj.setOption(option);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// 近15日收益走势图表
|
||||
set_profit_chart(data) {
|
||||
if ((data || null) != null)
|
||||
{
|
||||
var option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
label: {
|
||||
backgroundColor: '#6a7985'
|
||||
}
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
top: '10%',
|
||||
left: '5%',
|
||||
right: '5%',
|
||||
bottom: '15%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: data.name_arr
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [{
|
||||
data: data.data,
|
||||
type: 'line'
|
||||
}]
|
||||
};
|
||||
if (typeof (profit_chart_obj) == 'object') {
|
||||
profit_chart_obj.setOption(option);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.init();
|
||||
},
|
||||
|
||||
});
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "数据统计",
|
||||
"usingComponents": {
|
||||
"component-ec-canvas": "/components/ec-canvas/ec-canvas"
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* 公共
|
||||
*/
|
||||
.container {
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
.container .title {
|
||||
border-left: 3px solid #ff6a80;
|
||||
padding-left: 20rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
.container .base-content {
|
||||
padding: 30rpx 10rpx;
|
||||
}
|
||||
.container .base-content .name {
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.container .base-content .value .golden,
|
||||
.container .base-content .value .yellow,
|
||||
.container .base-content .value .green {
|
||||
font-weight: 500;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
.container .base-content .value .golden {
|
||||
color: #ff6a80;
|
||||
}
|
||||
.container .base-content .value .yellow {
|
||||
color: #f37b1d;
|
||||
}
|
||||
.container .base-content .value .green {
|
||||
color: #5eb95e;
|
||||
}
|
||||
|
||||
/*
|
||||
* 用户
|
||||
*/
|
||||
.user-container .item {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
/*
|
||||
* 返利
|
||||
*/
|
||||
.profit-container .item {
|
||||
width: 33.33%;
|
||||
}
|
||||
|
||||
/*
|
||||
* 图表
|
||||
*/
|
||||
.chart-container {
|
||||
width: 100%;
|
||||
height: 520rpx;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
}
|
||||
.chart-container .chart-not-data {
|
||||
margin-top: 230rpx;
|
||||
}
|
@ -0,0 +1,147 @@
|
||||
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,
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
this.setData({
|
||||
params: params,
|
||||
});
|
||||
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
|
||||
});
|
||||
|
||||
// 获取数据
|
||||
wx.request({
|
||||
url: app.get_request_url("index", "team", "distribution"),
|
||||
method: "POST",
|
||||
data: {
|
||||
page: this.data.data_page,
|
||||
},
|
||||
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();
|
||||
},
|
||||
|
||||
// 头像查看
|
||||
avatar_event(e) {
|
||||
var value = e.currentTarget.dataset.value || null;
|
||||
if (value != null)
|
||||
{
|
||||
wx.previewImage({
|
||||
current: value,
|
||||
urls: [value]
|
||||
});
|
||||
} else {
|
||||
app.showToast('头像地址有误');
|
||||
}
|
||||
},
|
||||
});
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "我的团队"
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
<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">
|
||||
<image src="{{item.avatar}}" class="avatar dis-block fl" mode="widthFix" bindtap="avatar_event" data-value="{{item.avatar}}" />
|
||||
<text class="fr nickname cr-888">{{item.user_name_view || ''}}</text>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">消费金额</text>
|
||||
<text class="value">{{item.order_total}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">下级消费</text>
|
||||
<text class="value">{{item.find_order_total}}</text>
|
||||
<text class="unit cr-888">元</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">下级用户</text>
|
||||
<text class="value">{{item.referrer_count}}</text>
|
||||
<text class="unit cr-888">人</text>
|
||||
</view>
|
||||
<view class="multi-text">
|
||||
<text class="title cr-666">加入时间</text>
|
||||
<text class="value">{{item.add_time_time}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="operation tr br-t-dashed">
|
||||
<navigator url="/pages/plugins/distribution/order/order?uid={{item.id}}" hover-class="none">
|
||||
<button class="cr-888 br" type="default" size="mini" hover-class="none" class="submit-order">用户订单</button>
|
||||
</navigator>
|
||||
</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>
|
@ -0,0 +1,39 @@
|
||||
.scroll-box {
|
||||
height: 100vh;
|
||||
}
|
||||
.data-list .item .base {
|
||||
padding: 15rpx 10rpx;
|
||||
}
|
||||
.data-list .item .base .avatar {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.data-list .item .base .nickname {
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.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-order {
|
||||
border: 1px solid #e5e5e5;
|
||||
color: #888 !important;
|
||||
}
|
||||
.data-list .item .operation button:not(:first-child) {
|
||||
margin-left: 30rpx;
|
||||
}
|
@ -0,0 +1,172 @@
|
||||
const app = getApp();
|
||||
Page({
|
||||
data: {
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
data_base: null,
|
||||
user_level: null,
|
||||
extraction: null,
|
||||
avatar: app.data.default_user_head_src,
|
||||
nickname: "用户名",
|
||||
submit_disabled_status: false,
|
||||
|
||||
// 导航
|
||||
nav_list: [],
|
||||
},
|
||||
|
||||
onLoad(params) {},
|
||||
|
||||
onShow() {
|
||||
this.setData({ nav_list: this.nav_list_data()});
|
||||
this.init();
|
||||
},
|
||||
|
||||
init(e) {
|
||||
var user = app.get_user_info(this, "init"),
|
||||
self = this;
|
||||
if (user != false) {
|
||||
// 用户未绑定用户则转到登录页面
|
||||
if (app.user_is_need_login(user)) {
|
||||
wx.showModal({
|
||||
title: '温馨提示',
|
||||
content: '绑定手机号码',
|
||||
confirmText: '确认',
|
||||
cancelText: '暂不',
|
||||
success: (result) => {
|
||||
wx.stopPullDownRefresh();
|
||||
if (result.confirm) {
|
||||
wx.navigateTo({
|
||||
url: "/pages/login/login?event_callback=init"
|
||||
});
|
||||
}
|
||||
self.setData({
|
||||
avatar: user.avatar || app.data.default_user_head_src,
|
||||
nickname: user.nickname || '用户名',
|
||||
});
|
||||
},
|
||||
});
|
||||
} else {
|
||||
self.setData({
|
||||
avatar: user.avatar || app.data.default_user_head_src,
|
||||
nickname: user.nickname || '用户名',
|
||||
});
|
||||
|
||||
self.get_data();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// 导航数据
|
||||
nav_list_data() {
|
||||
return [
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-order-icon.png",
|
||||
title: "分销订单",
|
||||
url: "/pages/plugins/distribution/order/order",
|
||||
},
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-profit-icon.png",
|
||||
title: "收益明细",
|
||||
url: "/pages/plugins/distribution/profit/profit",
|
||||
},
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-team-icon.png",
|
||||
title: "我的团队",
|
||||
url: "/pages/plugins/distribution/team/team",
|
||||
},
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-poster-icon.png",
|
||||
title: "推广返利",
|
||||
url: "/pages/plugins/distribution/poster/poster",
|
||||
},
|
||||
{
|
||||
icon: "/images/plugins/distribution/user-center-statistics-icon.png",
|
||||
title: "数据统计",
|
||||
url: "/pages/plugins/distribution/statistics/statistics",
|
||||
}
|
||||
];
|
||||
},
|
||||
|
||||
// 获取数据
|
||||
get_data() {
|
||||
var self = this;
|
||||
wx.request({
|
||||
url: app.get_request_url("index", "user", "distribution"),
|
||||
method: "POST",
|
||||
data: {},
|
||||
dataType: "json",
|
||||
success: res => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
var data = res.data.data;
|
||||
var data_base = data.base || null;
|
||||
var user_level = data.user_level || null;
|
||||
self.setData({
|
||||
data_base: data_base,
|
||||
user_level: user_level,
|
||||
extraction: data.extraction || null,
|
||||
avatar: (user_level == null || (user_level.images_url || null) == null) ? self.data.avatar : user_level.images_url,
|
||||
data_list_loding_msg: '',
|
||||
data_list_loding_status: 0,
|
||||
data_bottom_line_status: false,
|
||||
});
|
||||
|
||||
// 导航
|
||||
var temp_data_list = self.nav_list_data();
|
||||
if (data_base != null && (data_base.is_show_introduce || 0) == 1)
|
||||
{
|
||||
// 等级介绍
|
||||
temp_data_list.push({
|
||||
icon: "/images/plugins/distribution/user-center-introduce-icon.png",
|
||||
title: "等级介绍",
|
||||
url: "/pages/plugins/distribution/introduce/introduce",
|
||||
});
|
||||
}
|
||||
self.setData({ nav_list: temp_data_list });
|
||||
} else {
|
||||
self.setData({
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: res.data.msg,
|
||||
});
|
||||
if (app.is_login_check(res.data, self, 'get_data')) {
|
||||
app.showToast(res.data.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
wx.hideLoading();
|
||||
wx.stopPullDownRefresh();
|
||||
self.setData({
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 2,
|
||||
data_list_loding_msg: '服务器请求出错',
|
||||
});
|
||||
app.showToast("服务器请求出错");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.get_data();
|
||||
},
|
||||
|
||||
// 头像查看
|
||||
preview_event() {
|
||||
if (app.data.default_user_head_src != this.data.avatar) {
|
||||
wx.previewImage({
|
||||
current: this.data.avatar,
|
||||
urls: [this.data.avatar]
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 头像加载错误
|
||||
user_avatar_error(e) {
|
||||
this.setData({ avatar: app.data.default_user_head_src });
|
||||
},
|
||||
|
||||
});
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#ff6a80",
|
||||
"backgroundColorTop": "#ff6a80",
|
||||
"backgroundColorBottom": "#f5f5f5",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarTitleText": "我的分销"
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
<!-- 头部 -->
|
||||
<view class="head-box oh">
|
||||
<view class="head-item tc fl">
|
||||
<view class="avatar">
|
||||
<image bindtap="preview_event" binderror="user_avatar_error" src="{{avatar}}" mode="widthFix" class="dis-block" />
|
||||
</view>
|
||||
<text class="item-name dis-block cr-fff">{{nickname}}</text>
|
||||
</view>
|
||||
<view class="head-base fl">
|
||||
<view wx:if="{{(user_level || null) != null && (user_level.name || null) != null}}" class="single-text level-name spacing-mt">{{user_level.name}}</view>
|
||||
<block wx:if="{{(data_base || null) != null && (data_base.is_enable_self_extraction || 0) == 1}}">
|
||||
<navigator url="/pages/plugins/distribution/extraction/extraction" hover-class="none">
|
||||
<button size="mini" type="default" hover-class="none" class="head-base-submit">{{(extraction_data || null) == null ? '申请' : ''}}取货点</button>
|
||||
</navigator>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 导航 -->
|
||||
<view wx:if="{{nav_list.length > 0}}" class="nav spacing-mt oh bg-white">
|
||||
<block wx:for="{{nav_list}}" wx:key="key">
|
||||
<navigator url="{{item.url}}" hover-class="none">
|
||||
<view class="item fl tc">
|
||||
<image src="{{item.icon}}" mode="scaleToFill" class="dis-block" />
|
||||
<view class="title">{{item.title}}</view>
|
||||
</view>
|
||||
</navigator>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<!-- 通知 -->
|
||||
<view class="tips-container spacing-mb">
|
||||
<!-- 不符合分销条件描述 -->
|
||||
<block wx:if="{{((user_level || null) == null)}}">
|
||||
<view wx:if="{{(data_base.non_conformity_desc || null) != null && data_base.non_conformity_desc.length > 0}}" class="tips-item spacing-mt">
|
||||
<view class="not-opening-vip-desc">
|
||||
<view wx:for="{{data_base.non_conformity_desc}}" wx:key="key" class="item">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<!-- 会员中心通知 -->
|
||||
<view wx:if="{{(data_base.user_center_notice || null) != null && data_base.user_center_notice.length > 0}}" class="tips-item spacing-mt">
|
||||
<view class="tips">
|
||||
<view wx:for="{{data_base.user_center_notice}}" wx:key="key" class="item">
|
||||
{{item}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
@ -0,0 +1,99 @@
|
||||
/*
|
||||
* 头部
|
||||
*/
|
||||
.head-box{
|
||||
padding-top: 20rpx;
|
||||
font-size: 24rpx;
|
||||
background-color: #ff6a80;
|
||||
position: relative;
|
||||
}
|
||||
.head-item {
|
||||
padding-bottom: 30rpx;
|
||||
}
|
||||
.head-item .avatar {
|
||||
padding: 10rpx;
|
||||
background: #fbbec7;
|
||||
border: 1px solid #fbbec7;
|
||||
}
|
||||
.head-item .avatar image {
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
}
|
||||
.head-item .avatar,
|
||||
.head-item .avatar image {
|
||||
border-radius: 50%;
|
||||
}
|
||||
.head-item .item-name{
|
||||
font-size: 30rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.head-item .item-icon {
|
||||
width: 30rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
.head-item {
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
.head-base {
|
||||
margin-left: 60rpx;
|
||||
width: calc(100% - 280rpx);
|
||||
}
|
||||
.head-base .level-name {
|
||||
font-size: 42rpx;
|
||||
font-weight: 500;
|
||||
margin-bottom: 30rpx;
|
||||
color: #fffbe0;
|
||||
}
|
||||
.head-base .head-base-submit {
|
||||
font-size: 26rpx;
|
||||
height: 55rpx;
|
||||
line-height: 55rpx;
|
||||
border: 1px solid #ffe2e5;
|
||||
background-color: #ffe2e5;
|
||||
color: #f77076;
|
||||
position: absolute;
|
||||
right: 30rpx;
|
||||
bottom: 35rpx;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
/*
|
||||
* 导航
|
||||
*/
|
||||
.nav {
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
.nav .item {
|
||||
padding: 30rpx 0;
|
||||
width: calc(50% - 1px);
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.nav .item:nth-child(odd) {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.nav .item image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.nav .item .title {
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
/*
|
||||
* 提示信息
|
||||
*/
|
||||
.tips-container .tips-item {
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
.tips-container .tips-item .tips .item {
|
||||
line-height: 38rpx;
|
||||
}
|
||||
.tips-container .not-opening-vip-desc {
|
||||
background: #def2fd;
|
||||
border: 1px solid #cfeeff;
|
||||
color: #1490d2;
|
||||
padding: 10rpx;
|
||||
font-size: 26rpx;
|
||||
border-radius: 2px;
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
<image src="{{user_share_qrode}}" class="wh-auto dis-block" mode="widthFix" />
|
||||
</view>
|
||||
<view class="submit">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" bindtap="qrcode_event">查看二维码长按保存</button>
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" class="dis-block wh-auto" bindtap="qrcode_event">查看二维码长按保存</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</view>
|
||||
<view class="content">{{user_share_url}}</view>
|
||||
<view class="submit">
|
||||
<button type="primary" plain="{{true}}" hover-class="none" bindtap="url_event">点击复制链接地址</button>
|
||||
<button type="primary" plain="{{true}}" hover-class="none" size="mini" class="dis-block wh-auto" bindtap="url_event">点击复制链接地址</button>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -23,6 +23,10 @@
|
||||
margin: 20rpx 0;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
.share button {
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
}
|
||||
|
||||
/*
|
||||
* 链接
|
@ -11,7 +11,7 @@ Page({
|
||||
},
|
||||
|
||||
onLoad(params) {
|
||||
params['id'] = 1;
|
||||
//params['id'] = 1;
|
||||
this.setData({ params: params });
|
||||
this.init();
|
||||
},
|