tmp: 部分代码与UnishopV5结合,但是代码有严重缺陷
This commit is contained in:
@@ -183,8 +183,7 @@
|
||||
};
|
||||
|
||||
this.dataList.forEach(item => {
|
||||
item.withdraw_type_name = withdrawType[item.withdraw_type] ? withdrawType[
|
||||
item.withdraw_type] : '';
|
||||
item.withdraw_type_name = withdrawType[item.withdraw_type] ? withdrawType[item.withdraw_type] : '';
|
||||
});
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
},
|
||||
@@ -195,8 +194,7 @@
|
||||
});
|
||||
},
|
||||
getTransferType() {
|
||||
let url = this.type == "member" ? "/api/memberwithdraw/transferType" :
|
||||
"/fenxiao/api/withdraw/transferType";
|
||||
let url = this.type == "member" ? "/api/memberwithdraw/transferType" : "/fenxiao/api/withdraw/transferType";
|
||||
this.$api.sendRequest({
|
||||
url: url,
|
||||
success: res => {
|
||||
|
||||
@@ -59,7 +59,7 @@ export default {
|
||||
},
|
||||
onShow() {
|
||||
if (this.formData.id) {
|
||||
this.getAccountDetail(this.formData.id);
|
||||
this.getAccountDetail();
|
||||
} else {
|
||||
this.getTransferType();
|
||||
}
|
||||
@@ -74,7 +74,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getAccountDetail(id) {
|
||||
getAccountDetail() {
|
||||
this.$api.sendRequest({
|
||||
url: '/api/memberbankaccount/info',
|
||||
data: {
|
||||
|
||||
@@ -229,7 +229,11 @@
|
||||
if (res.data > 0) {
|
||||
this.$refs.mescroll.refresh();
|
||||
if (this.back != '') {
|
||||
this.$util.redirectTo(this.back, {}, 'redirectTo');
|
||||
// this.$util.redirectTo(this.back, {}, 'redirectTo');
|
||||
// 回退到上一个页面
|
||||
uni.navigateBack({
|
||||
delta: 1 // delta值为1时表示回退到上一级页面
|
||||
});
|
||||
} else {
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.show();
|
||||
this.addressList = [];
|
||||
@@ -333,7 +337,11 @@
|
||||
if (res.code >= 0) {
|
||||
|
||||
if (this.back != '') {
|
||||
this.$util.redirectTo(this.back, {}, 'redirectTo');
|
||||
// this.$util.redirectTo(this.back, {}, 'redirectTo');
|
||||
// 回退到上一个页面
|
||||
uni.navigateBack({
|
||||
delta: 1 // delta值为1时表示回退到上一级页面
|
||||
});
|
||||
} else {
|
||||
this.$refs.mescroll.refresh();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,14 +7,13 @@
|
||||
<view class="tx-bank" v-if="bankAccountInfo.withdraw_type == 'wechatpay'">微信默认钱包</view>
|
||||
<view class="tx-bank" v-else>{{ bankAccountInfo.bank_account }}</view>
|
||||
<view class="tx-img" v-if="bankAccountInfo.withdraw_type == 'alipay'">
|
||||
<image :src="$util.img('public/uniapp/member/apply_withdrawal/alipay.png')" mode="widthFix"></image>
|
||||
<image :src="$util.img('public/uniapp/member/apply_withdrawal/alipay.png')" mode="widthFix"/>
|
||||
</view>
|
||||
<view class="tx-img" v-else-if="bankAccountInfo.withdraw_type == 'bank'">
|
||||
<image :src="$util.img('public/uniapp/member/apply_withdrawal/bank.png')" mode="widthFix"></image>
|
||||
<image :src="$util.img('public/uniapp/member/apply_withdrawal/bank.png')" mode="widthFix"/>
|
||||
</view>
|
||||
<view class="tx-img" v-else-if="bankAccountInfo.withdraw_type == 'wechatpay'">
|
||||
<image :src="$util.img('public/uniapp/member/apply_withdrawal/wechatpay.png')" mode="widthFix">
|
||||
</image>
|
||||
<image :src="$util.img('public/uniapp/member/apply_withdrawal/wechatpay.png')" mode="widthFix"/>
|
||||
</view>
|
||||
</view>
|
||||
<text class="tx-to" v-else>请添加提现方式</text>
|
||||
@@ -192,9 +191,7 @@
|
||||
title: '提现申请成功'
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo(
|
||||
'/pages_tool/member/withdrawal', {},
|
||||
'redirectTo');
|
||||
this.$util.redirectTo('/pages_tool/member/withdrawal', {}, 'redirectTo');
|
||||
}, 1500);
|
||||
} else {
|
||||
this.isSub = false;
|
||||
@@ -228,8 +225,7 @@
|
||||
title: '提现申请成功'
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_tool/member/withdrawal', {},
|
||||
'redirectTo');
|
||||
this.$util.redirectTo('/pages_tool/member/withdrawal', {}, 'redirectTo');
|
||||
}, 1500);
|
||||
} else {
|
||||
this.isSub = false;
|
||||
@@ -246,41 +242,15 @@
|
||||
}
|
||||
},
|
||||
goAccount() {
|
||||
this.$util.redirectTo(
|
||||
'/pages_tool/member/account', {
|
||||
back: '/pages_tool/member/apply_withdrawal'
|
||||
},
|
||||
'redirectTo'
|
||||
);
|
||||
this.$util.redirectTo('/pages_tool/member/account', {
|
||||
back: '/pages_tool/member/apply_withdrawal'
|
||||
}, 'redirectTo');
|
||||
},
|
||||
/**
|
||||
* 微信订阅消息
|
||||
*/
|
||||
subscribeMessage(callback) {
|
||||
this.$api.sendRequest({
|
||||
url: '/weapp/api/weapp/messagetmplids',
|
||||
data: {
|
||||
keywords: 'USER_WITHDRAWAL_SUCCESS'
|
||||
},
|
||||
success: res => {
|
||||
if (res.code == 0 && res.data.length) {
|
||||
uni.requestSubscribeMessage({
|
||||
tmplIds: res.data,
|
||||
fail: res => {
|
||||
console.log('fail', res);
|
||||
},
|
||||
complete: () => {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
fail: res => {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
this.$util.subscribeMessage('USER_WITHDRAWAL_SUCCESS', callback);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -79,172 +79,182 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
accountInfo: {},
|
||||
member_info: {},
|
||||
fenxiao_info: {}
|
||||
};
|
||||
},
|
||||
onLoad(option) {
|
||||
|
||||
if (option.back) this.back = option.back;
|
||||
|
||||
// 判断登录
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo('/pages_tool/login/login');
|
||||
} else {
|
||||
this.getAccountInfo();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getAccountInfo() {
|
||||
this.$api.sendRequest({
|
||||
url: '/membercancel/api/membercancel/accountInfo',
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.accountInfo = res.data;
|
||||
this.member_info = res.data.member_info;
|
||||
if (res.data.member_info.is_fenxiao == 1) {
|
||||
this.fenxiao_info = res.data.fenxiao_info;
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
member_info: {
|
||||
point: 0,
|
||||
balance_money: '0.00',
|
||||
balance: '0.00'
|
||||
},
|
||||
accountInfo: {
|
||||
member_coupon_count: 0,
|
||||
order_pay_count: 0,
|
||||
order_delivery_count: 0,
|
||||
order_refund_count: 0
|
||||
},
|
||||
fenxiao_info: {
|
||||
account: '0.00',
|
||||
account_withdraw_apply: '0.00',
|
||||
fenxiao_order_count: 0
|
||||
}
|
||||
};
|
||||
},
|
||||
onLoad(option) {
|
||||
// 判断登录
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo('/pages_tool/login/login');
|
||||
} else {
|
||||
this.getAccountInfo();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getAccountInfo() {
|
||||
this.$api.sendRequest({
|
||||
url: '/membercancel/api/membercancel/accountInfo',
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.accountInfo = res.data;
|
||||
this.member_info = res.data.member_info;
|
||||
if (res.data.member_info.is_fenxiao == 1) {
|
||||
this.fenxiao_info = res.data.fenxiao_info;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
prev() {
|
||||
this.$util.redirectTo('/pages_tool/member/cancellation');
|
||||
},
|
||||
submit() {
|
||||
uni.showModal({
|
||||
title: '风险提示',
|
||||
content: '确定要注销当前账号吗?',
|
||||
confirmColor: '#000000',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$api.sendRequest({
|
||||
url: '/membercancel/api/membercancel/apply',
|
||||
success: rres => {
|
||||
let cancellation_condition = rres.data.is_audit;
|
||||
if (rres.code >= 0) {
|
||||
this.$util.redirectTo('/pages_tool/member/cancelstatus');
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: rres.message
|
||||
});
|
||||
});
|
||||
},
|
||||
prev() {
|
||||
this.$util.redirectTo('/pages_tool/member/cancellation');
|
||||
},
|
||||
submit() {
|
||||
uni.showModal({
|
||||
title: '风险提示',
|
||||
content: '确定要注销当前账号吗?',
|
||||
confirmColor: '#000000',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$api.sendRequest({
|
||||
url: '/membercancel/api/membercancel/apply',
|
||||
success: rres => {
|
||||
let cancellation_condition = rres.data.is_audit;
|
||||
if (rres.code >= 0) {
|
||||
this.$util.redirectTo('/pages_tool/member/cancelstatus');
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: rres.message
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.assets-wrap {
|
||||
.assets-block {
|
||||
padding: 0 24rpx;
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
|
||||
.assets-tips {
|
||||
width: 100%;
|
||||
height: 56rpx;
|
||||
background-color: rgba(250, 106, 0, 0.2);
|
||||
border-radius: 6rpx;
|
||||
line-height: 56rpx;
|
||||
padding-left: 20rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
text {
|
||||
color: #fa6a00;
|
||||
font-size: 28rpx;
|
||||
.assets-wrap {
|
||||
.assets-block {
|
||||
padding: 0 24rpx;
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.assets-box {
|
||||
width: 100%;
|
||||
margin-top: 30rpx;
|
||||
background-color: #ffffff;
|
||||
border-radius: 6rpx;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
.assets-tips {
|
||||
width: 100%;
|
||||
height: 56rpx;
|
||||
background-color: rgba(250, 106, 0, 0.2);
|
||||
border-radius: 6rpx;
|
||||
line-height: 56rpx;
|
||||
padding-left: 20rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
.assets-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
text:nth-child(1) {
|
||||
width: 6rpx;
|
||||
height: 28rpx;
|
||||
border-radius: 2rpx;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
margin-left: 20rpx;
|
||||
text {
|
||||
color: #fa6a00;
|
||||
font-size: 28rpx;
|
||||
line-height: 28rpx;
|
||||
padding-top: 8rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.assets-list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
padding: 0 26rpx 35rpx;
|
||||
margin-top: 53rpx;
|
||||
.assets-box {
|
||||
width: 100%;
|
||||
margin-top: 30rpx;
|
||||
background-color: #ffffff;
|
||||
border-radius: 6rpx;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
.assets-li {
|
||||
text-align: center;
|
||||
.assets-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
view:nth-child(1) {
|
||||
font-size: 36rpx;
|
||||
line-height: 36rpx;
|
||||
text:nth-child(1) {
|
||||
width: 6rpx;
|
||||
height: 28rpx;
|
||||
border-radius: 2rpx;
|
||||
}
|
||||
|
||||
view:nth-child(2) {
|
||||
text:nth-child(2) {
|
||||
margin-left: 20rpx;
|
||||
font-size: 28rpx;
|
||||
line-height: 28rpx;
|
||||
color: #666666;
|
||||
margin-top: 30rpx;
|
||||
padding-top: 8rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.assets-list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
padding: 0 26rpx 35rpx;
|
||||
margin-top: 53rpx;
|
||||
|
||||
.assets-li {
|
||||
text-align: center;
|
||||
|
||||
view:nth-child(1) {
|
||||
font-size: 36rpx;
|
||||
line-height: 36rpx;
|
||||
}
|
||||
|
||||
view:nth-child(2) {
|
||||
font-size: 28rpx;
|
||||
line-height: 28rpx;
|
||||
color: #666666;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.assets-btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 150rpx;
|
||||
.assets-btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 150rpx;
|
||||
|
||||
button {
|
||||
width: 300rpx;
|
||||
height: 80rpx;
|
||||
font-size: 28rpx;
|
||||
line-height: 80rpx;
|
||||
margin: 0 15rpx;
|
||||
}
|
||||
button {
|
||||
width: 300rpx;
|
||||
height: 80rpx;
|
||||
font-size: 28rpx;
|
||||
line-height: 80rpx;
|
||||
margin: 0 15rpx;
|
||||
}
|
||||
|
||||
button[type='primary'] {
|
||||
background-color: unset !important;
|
||||
color: #333333;
|
||||
border: 2rpx solid #dddddd;
|
||||
}
|
||||
button[type='primary'] {
|
||||
background-color: unset !important;
|
||||
color: #333333;
|
||||
border: 2rpx solid #dddddd;
|
||||
}
|
||||
|
||||
button:nth-child(2) {
|
||||
color: var(--btn-text-color);
|
||||
button:nth-child(2) {
|
||||
color: var(--btn-text-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
@@ -2,24 +2,20 @@
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view class="balance">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="custom-navbar" :style="{
|
||||
'padding-top': menuButtonBounding.top + 'px',
|
||||
'height': menuButtonBounding.height + 'px'
|
||||
}">
|
||||
<view class="custom-navbar" :style="{ 'padding-top': menuButtonBounding.top + 'px', 'height': menuButtonBounding.height + 'px' }">
|
||||
<view class="navbar-wrap">
|
||||
<text class="iconfont icon-back_light back" @click="$util.redirectTo('/pages/member/index')"></text>
|
||||
<view class="navbar-title">
|
||||
账户余额
|
||||
我的余额
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
|
||||
<view class="head-wrap" :style="{ background: 'url(' + $util.img('public/uniapp/balance/balance-bg.png') + ')',backgroundSize:'100% 100%' }">
|
||||
<!-- <view class="head-wrap" :style="{ background: 'url(' + $util.img('public/uniapp/balance/balance-bg.png') + ') no-repeat right bottom/ auto 380rpx, linear-gradient(314deg, #FE7849 0%, #FF1959 100%)' }"> -->
|
||||
<view class="title">账户余额(元)</view>
|
||||
<view class="head-wrap" :style="{ background: 'url(' + $util.img('public/uniapp/balance/balance_bg.png') + ') no-repeat right bottom/ auto 340rpx, linear-gradient(314deg, #FE7849 0%, #FF1959 100%)' }">
|
||||
<view class="balance price-font">{{ (parseFloat(balanceInfo.balance) + parseFloat(balanceInfo.balance_money)).toFixed(2) }}</view>
|
||||
<!-- <view class="flex-box">
|
||||
<view class="title">账户余额(元)</view>
|
||||
<view class="flex-box">
|
||||
<view class="flex-item">
|
||||
<view class="num price-font">{{ balanceInfo.balance_money|moneyFormat }}</view>
|
||||
<view class="font-size-tag">现金余额(元)</view>
|
||||
@@ -28,45 +24,34 @@
|
||||
<view class="num price-font">{{ balanceInfo.balance|moneyFormat }}</view>
|
||||
<view class="font-size-tag">储值余额(元)</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="btns">
|
||||
<view class="cash btn" @click="toWithdrawal">提现</view>
|
||||
<view class="recharge btn" @click="toList">充值</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="menu-wrap">
|
||||
<view class="menu-item" @click="toApply" style="border-bottom: 0.5px solid #f2f2f2;">
|
||||
<view class="icon">
|
||||
<text class="iconfont icon-yuemingxi"></text>
|
||||
</view>
|
||||
<text class="title">提现记录</text>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="menu-item" @click="toBalanceDetail" style="border-bottom: 0.5px solid #f2f2f2;">
|
||||
<view class="menu-item" @click="toBalanceDetail">
|
||||
<view class="icon">
|
||||
<text class="iconfont icon-yuemingxi"></text>
|
||||
</view>
|
||||
<text class="title">余额明细</text>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<!-- <view class="menu-item" @click="toOrderList">
|
||||
<view class="menu-item" @click="toOrderList" v-if="addonIsExist.memberrecharge && memberrechargeConfig && memberrechargeConfig.is_use">
|
||||
<view class="icon">
|
||||
<text class="iconfont icon-chongzhijilu"></text>
|
||||
</view>
|
||||
<text class="title">充值记录</text>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="action">
|
||||
<view class="action">
|
||||
<view @click="toList" class="recharge-withdraw" v-if="addonIsExist.memberrecharge && memberrechargeConfig && memberrechargeConfig.is_use">
|
||||
{{ $lang('recharge') }}
|
||||
</view>
|
||||
<view class="withdraw" v-if="addonIsExist.memberwithdraw && withdrawConfig && withdrawConfig.is_use" @click="toWithdrawal">
|
||||
{{ $lang('withdrawal') }}
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
</view>
|
||||
@@ -111,9 +96,6 @@ export default {
|
||||
toBalanceDetail() {
|
||||
this.$util.redirectTo('/pages_tool/member/balance_detail');
|
||||
},
|
||||
toApply(){
|
||||
this.$util.redirectTo('/pages_tool/member/withdrawal');
|
||||
},
|
||||
toList() {
|
||||
this.$util.redirectTo('/pages_tool/recharge/list');
|
||||
},
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
<text class="uni-tab-item-title" :class="statusIndex == orderStatus ? 'uni-tab-item-title-active' : ''">{{ statusItem.name }}</text>
|
||||
</view>
|
||||
</scroll-view> -->
|
||||
<!-- <view class="tab color-bg">
|
||||
<view class="tab color-bg">
|
||||
<view class="tab-left">
|
||||
<picker mode="date" :value="searchType.date" @change="bindDateChange" fields="month">
|
||||
<picker :range="monthData" :value="monthIndex" @change="bindDateChange" >
|
||||
<view class="uni-input">
|
||||
{{ date }}
|
||||
{{ monthData[monthIndex] }}
|
||||
<text class="iconfont icon-iconangledown"></text>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -21,22 +21,22 @@
|
||||
<text class="iconfont icon-iconangledown"></text>
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
<mescroll-uni @getData="getData" ref="mescroll">
|
||||
</view>
|
||||
<mescroll-uni @getData="getData" ref="mescroll" v-if="monthData.length">
|
||||
<block slot="list">
|
||||
<!-- 明细列表 -->
|
||||
<block v-if="dataList.length > 0">
|
||||
<view class="detailed-wrap">
|
||||
<view class="balances" v-for="(item, index) in dataList" :key="index">
|
||||
<image :src="$util.img('public/uniapp/balance/recharge.png')" class="balances-img" v-if="item.account_data > 0"></image>
|
||||
<image v-else :src="$util.img('public/uniapp/balance/shopping.png')" mode="widthFix"></image>
|
||||
<!-- <image :src="$util.img('public/uniapp/member/balance_detail/income.png')" class="balances-img" v-if="item.account_data > 0"></image>
|
||||
<image v-else :src="$util.img('public/uniapp/member/balance_detail/pay.png')" mode="widthFix"></image> -->
|
||||
<view class="balances-info" @click="toFromDetail(item)">
|
||||
<text class="title">{{ item.remark }}</text>
|
||||
<!-- <text>{{ item.remark }}</text> -->
|
||||
<text class="title">{{ item.type_name }}</text>
|
||||
<text>{{ item.remark }}</text>
|
||||
<text>{{ $util.timeStampTurnTime(item.create_time) }}</text>
|
||||
</view>
|
||||
<view class="balances-num">
|
||||
<text :class="item.account_data > 0 ? 'color-base-text' : ''">{{ item.account_data > 0 ? '+' + item.account_data : item.account_data }}元</text>
|
||||
<text :class="item.account_data > 0 ? 'color-base-text' : ''">{{ item.account_data > 0 ? '+' + item.account_data : item.account_data }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -53,9 +53,6 @@
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
const currentDate = this.getDate({
|
||||
format: true
|
||||
});
|
||||
return {
|
||||
dataList: [],
|
||||
statusList: [{
|
||||
@@ -70,7 +67,6 @@
|
||||
}],
|
||||
scrollInto: '',
|
||||
orderStatus: '0',
|
||||
date: currentDate,
|
||||
searchType: {
|
||||
from_type: 0,
|
||||
date: ''
|
||||
@@ -80,7 +76,9 @@
|
||||
value: '0'
|
||||
}], //积分类型
|
||||
balanceIndex: 0,
|
||||
related_id: 0
|
||||
related_id: 0,
|
||||
monthData:[],
|
||||
monthIndex:0,
|
||||
};
|
||||
},
|
||||
components: {},
|
||||
@@ -90,6 +88,7 @@
|
||||
if (option.related_id) this.related_id = option.related_id ? option.related_id : 0;
|
||||
if (option.status) this.orderStatus = option.status;
|
||||
this.getbalanceType();
|
||||
this.getMonthData();
|
||||
},
|
||||
onShow() {
|
||||
if (!this.storeToken) {
|
||||
@@ -100,26 +99,19 @@
|
||||
},
|
||||
methods: {
|
||||
bindDateChange: function(e) {
|
||||
var temp = e.target.value;
|
||||
var tempArr = temp.split('-');
|
||||
this.date = tempArr[0] + '年' + tempArr[1] + '月';
|
||||
this.searchType.date = e.target.value;
|
||||
var index = e.target.value;
|
||||
this.monthIndex = index;
|
||||
this.searchType.date = this.monthData[index];
|
||||
this.$refs.mescroll.refresh();
|
||||
},
|
||||
getDate(type) {
|
||||
const date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
let day = date.getDate();
|
||||
|
||||
if (type === 'start') {
|
||||
year = year - 60;
|
||||
} else if (type === 'end') {
|
||||
year = year + 2;
|
||||
}
|
||||
month = month > 9 ? month : '0' + month;
|
||||
day = day > 9 ? day : '0' + day;
|
||||
return `${year}年${month}月`;
|
||||
getMonthData(){
|
||||
this.$api.sendRequest({
|
||||
url: '/api/memberaccount/monthData',
|
||||
success: res => {
|
||||
this.monthData = res.data;
|
||||
this.searchType.date = res.data[0];
|
||||
}
|
||||
});
|
||||
},
|
||||
bindPickerChange(e) {
|
||||
this.balanceIndex = e.detail.value;
|
||||
@@ -204,9 +196,8 @@
|
||||
|
||||
<style lang="scss">
|
||||
.detailed-wrap {
|
||||
padding-top: 20rpx;
|
||||
|
||||
margin: 24rpx;
|
||||
padding-top: 80rpx;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.tab {
|
||||
@@ -295,20 +286,17 @@
|
||||
}
|
||||
|
||||
.balances {
|
||||
padding: $margin-both 24rpx;
|
||||
// margin: 0 $margin-both;
|
||||
padding: $margin-both 0;
|
||||
margin: 0 $margin-both;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
border-bottom: 2rpx solid $color-line;
|
||||
background: #fff;
|
||||
margin-bottom: 20rpx;
|
||||
border-radius: 24rpx;
|
||||
|
||||
image {
|
||||
width: 54rpx;
|
||||
height: 54rpx;
|
||||
border-radius: 50%;
|
||||
padding-top: 10rpx;
|
||||
}
|
||||
|
||||
.balances-info {
|
||||
@@ -342,8 +330,6 @@
|
||||
line-height: 1;
|
||||
font-size: $font-size-toolbar;
|
||||
font-weight: 500;
|
||||
color:#09c15f;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
<view class="agreement-box">
|
||||
<view class="agreement-intro">
|
||||
<view class="align-center agreement-title">{{ agreement.title }}</view>
|
||||
<rich-text class="agreement-content" :nodes="agreement.content"></rich-text>
|
||||
<!-- <rich-text class="agreement-content" :nodes="agreement.content"></rich-text> -->
|
||||
<ns-mp-html class="agreement-content" :content="agreement.content"></ns-mp-html>
|
||||
</view>
|
||||
|
||||
<view class="agreement-btn">
|
||||
@@ -29,7 +30,6 @@ export default {
|
||||
};
|
||||
},
|
||||
onLoad(option) {
|
||||
if (option.back) this.back = option.back;
|
||||
// 判断登录
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo('/pages_tool/login/login');
|
||||
@@ -44,7 +44,7 @@ export default {
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.agreement = res.data;
|
||||
if (this.agreement.content) this.agreement.content = htmlParser(this.agreement.content);
|
||||
// if (this.agreement.content) this.agreement.content = htmlParser(this.agreement.content);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -66,6 +66,10 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/deep/ .agreement-content view{
|
||||
font-size: 24rpx;
|
||||
line-height: 44rpx;
|
||||
}
|
||||
.agreement-box {
|
||||
.align-center {
|
||||
text-align: center;
|
||||
|
||||
@@ -15,16 +15,12 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
reason: ''
|
||||
};
|
||||
},
|
||||
onLoad(option) {
|
||||
|
||||
if (option.back) this.back = option.back;
|
||||
|
||||
// 判断登录
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo('/pages_tool/login/login');
|
||||
|
||||
@@ -20,9 +20,7 @@
|
||||
<view class="cancelstatus-box-line color-base-bg" :class="{ 'opacity-4': state == 0 }"></view>
|
||||
</view>
|
||||
<view class="cancelstatus-box cancelstatus-box-last">
|
||||
<view class="cancelstatus-box-sort color-base-bg" :class="[ state == 1 ? 'opacity': 'opacity-4' ]">
|
||||
3
|
||||
</view>
|
||||
<view class="cancelstatus-box-sort color-base-bg" :class="[ state == 1 ? 'opacity': 'opacity-4' ]">3</view>
|
||||
<view class="cancelstatus-box-con">
|
||||
<view class="cancelstatus-box-name">审核通过,注销完成</view>
|
||||
<view class="cancelstatus-box-info">您已成功注销账号,期待下一次与您相遇</view>
|
||||
@@ -64,16 +62,15 @@
|
||||
this.state = res.data.status;
|
||||
if (this.state == -1) {
|
||||
this.$util.redirectTo('/pages_tool/member/cancelrefuse');
|
||||
} else if(this.state == 1){
|
||||
this.$store.commit('setToken', '');
|
||||
this.$store.commit('setMemberInfo', '');
|
||||
this.$store.dispatch('emptyCart');
|
||||
//uni.removeStorageSync('authInfo');
|
||||
this.$util.redirectTo('/pages/index/index');
|
||||
}
|
||||
}
|
||||
|
||||
if (res.code == -1) {
|
||||
this.$store.commit('setToken', '');
|
||||
this.$store.commit('setMemberInfo', '');
|
||||
this.$store.commit('setMemberInfo', '');
|
||||
this.$store.dispatch('emptyCart');
|
||||
this.$util.redirectTo('/pages/index/index');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -14,38 +14,24 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
state: ''
|
||||
};
|
||||
return {};
|
||||
},
|
||||
onLoad(option) {
|
||||
|
||||
if (option.back) this.back = option.back;
|
||||
|
||||
// 判断登录
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo('/pages_tool/login/login');
|
||||
} else {
|
||||
this.getStatus();
|
||||
this.init();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getStatus() {
|
||||
this.$api.sendRequest({
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.state = res.data.state;
|
||||
if (res.data.state == 1) {
|
||||
this.$store.commit('setToken', '');
|
||||
this.$store.commit('setMemberInfo', '');
|
||||
this.$store.dispatch('emptyCart');
|
||||
this.$util.redirectTo('/pages/index/index');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
init() {
|
||||
this.$store.commit('setToken', '');
|
||||
this.$store.commit('setMemberInfo', '');
|
||||
this.$store.dispatch('emptyCart');
|
||||
//uni.removeStorageSync('authInfo');
|
||||
this.$util.redirectTo('/pages/index/index');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
<image :src="$util.getDefaultImage().head" v-else mode="aspectFill"/>
|
||||
<view class="member-desc">
|
||||
<view class="font-size-toolbar">{{ memberInfo.nickname }}</view>
|
||||
<view class="font-size-tag expire-time" v-if="memberInfo.level_expire_time > 0">
|
||||
有效期至:{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}</view>
|
||||
<view class="font-size-tag expire-time" v-if="memberInfo.level_expire_time > 0">有效期至:{{ $util.timeStampTurnTime(memberInfo.level_expire_time) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view class="page">
|
||||
<view class="agreement-title">{{ title }}</view>
|
||||
<view class="agreement-content"><rich-text :nodes="content"></rich-text></view>
|
||||
<view class="agreement-content">
|
||||
<!-- <rich-text :nodes="content"></rich-text> -->
|
||||
<ns-mp-html :content="content"></ns-mp-html>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -26,7 +29,8 @@ export default {
|
||||
success: res => {
|
||||
if (res.data && res.code == 0) {
|
||||
this.title = res.data.title;
|
||||
this.content = htmlParser(res.data.content);
|
||||
// this.content = htmlParser(res.data.content);
|
||||
this.content = res.data.content;
|
||||
uni.setNavigationBarTitle({
|
||||
title: this.title
|
||||
});
|
||||
|
||||
@@ -11,9 +11,7 @@
|
||||
<image :src="$util.getDefaultImage().head" v-else mode="aspectFill"></image>
|
||||
<view class="member-desc">
|
||||
<view class="font-size-toolbar">{{ memberInfo.nickname }}</view>
|
||||
<view class="font-size-tag expire-time" v-if="memberInfo.level_expire_time > 0">
|
||||
有效期至:{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}
|
||||
</view>
|
||||
<view class="font-size-tag expire-time" v-if="memberInfo.level_expire_time > 0">有效期至:{{ $util.timeStampTurnTime(memberInfo.level_expire_time) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<swiper :style="{ width: '100vw', height: '390rpx' }" class="margin-bottom"
|
||||
@@ -26,21 +24,25 @@
|
||||
<swiper-item :class="levelList.length == 1 ? 'image-container-box' : ''" v-for="(item, i) in levelList" :key="i">
|
||||
<view class="image-container" :class="[
|
||||
curIndex === 0
|
||||
? i === listLen - 1
|
||||
? 'item-left'
|
||||
: i === 1
|
||||
? i === 1
|
||||
? 'item-right'
|
||||
: i === listLen - 1
|
||||
? 'item-left'
|
||||
: 'item-center'
|
||||
: curIndex === listLen - 1
|
||||
? i === 0
|
||||
? i === curIndex - 1
|
||||
? 'item-left'
|
||||
: i === curIndex + 1
|
||||
? 'item-right'
|
||||
: i === 0
|
||||
? 'item-right'
|
||||
: i === listLen - 2
|
||||
? 'item-left'
|
||||
: 'item-center'
|
||||
: i === curIndex - 1
|
||||
? 'item-left'
|
||||
: i === curIndex + 1
|
||||
? 'item-right'
|
||||
? 'item-left'
|
||||
: i === curIndex + 1
|
||||
? 'item-right'
|
||||
: 'item-center'
|
||||
]">
|
||||
<view class="slide-image" style="background-size: 100% 100%;background-repeat:no-repeat"
|
||||
@@ -51,14 +53,14 @@
|
||||
}">
|
||||
<view class="bg-border"></view>
|
||||
|
||||
<image v-if="levelList[curIndex] && levelList[curIndex]['level_picture']" :src="$util.img(levelList[curIndex]['level_picture'])"/>
|
||||
<image v-else :style="{backgroundColor:levelList[curIndex]['bg_color']}"/>
|
||||
<image v-if="item && item['level_picture']" :src="$util.img(item['level_picture'])"/>
|
||||
<image v-else :style="{backgroundColor:item['bg_color']}"/>
|
||||
|
||||
<view class="info">
|
||||
<view class="level-detail" :style="{color:levelList[curIndex]['level_text_color']}">{{ levelList[curIndex].level_name }}</view>
|
||||
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">{{ levelList[curIndex].level_name }}可享受消费折扣和</view>
|
||||
<view class="growr-value" :style="{color:levelList[curIndex]['level_text_color']}">会员大礼包等权益</view>
|
||||
<view class="growth-rules font-size-tag" @click="openExplainPopup" v-if="levelList[curIndex].remark != ''">
|
||||
<view class="level-detail" :style="{color:item['level_text_color']}">{{ item.level_name }}</view>
|
||||
<view class="growr-name" :style="{color:item['level_text_color']}">{{ item.level_name }}可享受消费折扣和</view>
|
||||
<view class="growr-value" :style="{color:item['level_text_color']}">会员大礼包等权益</view>
|
||||
<view class="growth-rules font-size-tag" @click="openExplainPopup" v-if="item.remark != ''">
|
||||
<text class="iconfont icon-wenhao font-size-tag"></text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -93,8 +95,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="card-content"
|
||||
v-if="currCard.is_free_shipping || currCard.consume_discount < 100 || currCard.point_feedback > 0">
|
||||
<view class="card-content" v-if="currCard.is_free_shipping || currCard.consume_discount < 100 || currCard.point_feedback > 0">
|
||||
<view class="card-content-head">
|
||||
<view class="line-box">
|
||||
<view class="line right"></view>
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view class="contact">
|
||||
<image :src="$util.img('public/uniapp/member/contact_service.png')" mode="widthFix"></image>
|
||||
<!--<ns-contact><button type="primary">联系客服</button></ns-contact>-->
|
||||
<view class="tips">请点击下方按钮,联系客服</view>
|
||||
<ns-contact><button type="primary">联系客服</button></ns-contact>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -20,10 +21,18 @@ export default {
|
||||
<style lang="scss">
|
||||
.contact {
|
||||
width: 80%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
margin: 150rpx auto 0;
|
||||
image {
|
||||
width: 500rpx;
|
||||
}
|
||||
.tips{
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<mescroll-uni ref="mescroll" top="100" @getData="getMemberCounponList" v-if="storeToken">
|
||||
<mescroll-uni ref="mescroll" top="100" @getData="getMemberCouponList" v-if="storeToken">
|
||||
<block slot="list">
|
||||
<view class="coupon-listone">
|
||||
<view class="item" :class="['item',item.state != 1&&'item-disabled']" v-for="(item, index) in list" :key="index" @click="toGoodsList(item)" :style="{ backgroundColor: item.state != 1 ? '#FFF' : 'var(--main-color-shallow)' }">
|
||||
@@ -42,12 +42,12 @@
|
||||
<view class="item-info">
|
||||
<view class="use_title">
|
||||
<view class="title">{{ item.coupon_name }}</view>
|
||||
<view class="max_price" v-if="item.goods_type == 2 || item.goods_type == 3" :class="{ disabled: item.state == 3 }">指定商品</view>
|
||||
<view class="max_price" :class="{ disabled: item.state == 3 }">{{item.goods_type_name}}</view>
|
||||
<view class="max_price" v-if="item.discount_limit != '0.00'">(最大优惠{{ item.discount_limit }}元)</view>
|
||||
<view class="max_price" :class="{ disabled: item.useState == 2 }">{{ item.use_channel_name }}</view>
|
||||
<!-- <view class="max_price truncate" v-if="item.use_channel!='online'" :class="{ disabled: item.useState == 2 }">
|
||||
<view class="max_price truncate" v-if="item.use_channel!='online'" :class="{ disabled: item.useState == 2 }">
|
||||
{{ item.use_store==='all'?'适用门店:全部门店': '适用门店:'+item.use_store_name}}
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="use_time" v-if="item.end_time">有效期:{{ $util.timeStampTurnTime(item.end_time) }}
|
||||
</view>
|
||||
@@ -65,7 +65,7 @@
|
||||
</view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
<ns-login ref="ns-login"></ns-login>
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
</view>
|
||||
</template>
|
||||
@@ -97,7 +97,7 @@
|
||||
}, 2000);
|
||||
}
|
||||
},1000);
|
||||
|
||||
if(data.state) this.state = data.state;
|
||||
if (data.related_id) this.related_id = data.related_id ? data.related_id : 0;
|
||||
this.isIphoneX = this.$util.uniappIsIPhoneX();
|
||||
},
|
||||
@@ -123,7 +123,7 @@
|
||||
this.types = types;
|
||||
this.$refs.mescroll.refresh(false);
|
||||
},
|
||||
getMemberCounponList(mescroll) {
|
||||
getMemberCouponList(mescroll) {
|
||||
this.showEmpty = false;
|
||||
this.$api.sendRequest({
|
||||
url: '/coupon/api/coupon/memberpage',
|
||||
|
||||
@@ -162,11 +162,9 @@ export default {
|
||||
},
|
||||
goodsImg(imgStr) {
|
||||
let imgs = imgStr.split(',');
|
||||
return imgs[0]
|
||||
? this.$util.img(imgs[0], {
|
||||
size: 'mid'
|
||||
})
|
||||
: this.$util.getDefaultImage().goods;
|
||||
return imgs[0] ? this.$util.img(imgs[0], {
|
||||
size: 'mid'
|
||||
}) : this.$util.getDefaultImage().goods;
|
||||
},
|
||||
imgError(index) {
|
||||
dateList = [];
|
||||
|
||||
@@ -2,88 +2,86 @@
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view>
|
||||
<view v-if="indent == 'all' && memberInfo" class="info-wrap">
|
||||
<!-- 头像@click="headImage" -->
|
||||
<view class="info-list-cell info-item info-list-con" hover-class="cell-hover">
|
||||
<text class="cell-tit">头像</text>
|
||||
<!-- 头像 -->
|
||||
<view @click="headImage" class="info-list-cell info-item info-list-con" hover-class="cell-hover">
|
||||
<text class="cell-tit">{{ $lang('headImg') }}</text>
|
||||
<view class="info-list-head cell-tip">
|
||||
<image :src="memberInfo.headimg ? $util.img(memberInfo.headimg) : $util.getDefaultImage().head" @error="memberInfo.headimg = $util.getDefaultImage().head" mode="aspectFill" />
|
||||
</view>
|
||||
<text style="margin-right: 20rpx;"></text>
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
<!-- 账号 -->
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" v-if="memberInfo.is_edit_username == 1" @click="modifyInfo('username')">
|
||||
<text class="cell-tit">账号</text>
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" v-if="memberInfo.is_edit_username == 1" @click="modifyInfo('username')">
|
||||
<text class="cell-tit">{{ $lang('account') }}</text>
|
||||
<text class="cell-tip">{{ memberInfoformData.number }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- 账号 -->
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" v-else>
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" v-else>
|
||||
<text class="cell-tit">{{ $lang('account') }}</text>
|
||||
<text class="cell-tip cell-tip1">{{ memberInfoformData.number }}</text>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- 昵称 -->
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('name')">
|
||||
<text class="cell-tit">昵称</text>
|
||||
<text class="cell-tit">{{ $lang('nickname') }}</text>
|
||||
<text class="cell-tip">{{ memberInfoformData.nickName }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
<!-- 真实姓名 -->
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('realName')">
|
||||
<text class="cell-tit">姓名</text>
|
||||
<text class="cell-tit">{{ $lang('realName') }}</text>
|
||||
<text class="cell-tip">{{ memberInfoformData.realName }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
<!-- 性别 -->
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('sex')">
|
||||
<text class="cell-tit">性别</text>
|
||||
<text class="cell-tit">{{ $lang('sex') }}</text>
|
||||
<text class="cell-tip">{{ memberInfoformData.sex }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
<!-- 生日 -->
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('birthday')">
|
||||
<text class="cell-tit">生日</text>
|
||||
<text class="cell-tit">{{ $lang('birthday') }}</text>
|
||||
<text class="cell-tip">{{ memberInfoformData.birthday }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
<!-- 手机号 -->
|
||||
<view class="info-list-cell info-list-con" @click="modifyInfo('mobile')">
|
||||
<text class="cell-tit">手机号</text>
|
||||
<text v-if="memberInfoformData.user_tel == ''" class="cell-tip">密码</text>
|
||||
<text class="cell-tit">{{ $lang('mobilePhone') }}</text>
|
||||
<text v-if="memberInfoformData.user_tel == ''" class="cell-tip">{{ $lang('bindMobile') }}</text>
|
||||
<text v-else class="cell-tip">{{ memberInfoformData.mobile }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
<!-- 密码 -->
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('password')">
|
||||
<text class="cell-tit">密码</text>
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('password')">
|
||||
<text class="cell-tit">{{ $lang('password') }}</text>
|
||||
<!-- <text class="cell-tip">{{ memberInfo.password ? $lang('modify') : $lang('noset') }}</text> -->
|
||||
<text class="cell-more"></text>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- 支付密码 -->
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('paypassword')">
|
||||
<text class="cell-tit">{{ $lang('paypassword') }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view> -->
|
||||
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('address')">
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('address')">
|
||||
<text class="cell-tit">所在地址</text>
|
||||
<text class="cell-tip" v-if="memberInfo.full_address">{{ memberInfo.full_address }}
|
||||
{{ memberInfo.address }}</text>
|
||||
<text class="cell-tip" v-else>去设置</text>
|
||||
<text class="cell-more"></text>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<!-- 注销 -->
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="cancellation()">
|
||||
<text class="cell-tit">注销账号</text>
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('cancellation')" v-if="addonIsExist.membercancel && memberConfig.is_enable == 1">
|
||||
<text class="cell-tit">{{ $lang('cancellation') }}</text>
|
||||
<!-- <text class="cell-tip">{{ $lang('modify') }}</text> -->
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="cancellation()" v-if="addonIsExist.membercancel && memberConfig.is_enable == 1">
|
||||
<text class="cell-tit">注销账号</text>
|
||||
<text class="cell-more"></text>
|
||||
</view> -->
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover">
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover">
|
||||
<text class="cell-tit">版本号</text>
|
||||
<text class="cell-tip cell-tip1">{{ version }}</text>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<!-- 语言 -->
|
||||
<!-- <view class="info-list-cell info-item info-list-con" hover-class="cell-hover" @click="modifyInfo('language')">
|
||||
@@ -99,7 +97,7 @@
|
||||
|
||||
<!-- #endif -->
|
||||
<view class="save-item" @click="logout">
|
||||
<button type="primary">退出登录</button>
|
||||
<button type="primary">{{ $lang('logout') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -294,6 +292,7 @@
|
||||
|
||||
button {
|
||||
font-size: 30rpx;
|
||||
border-radius: 90rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,38 +5,38 @@
|
||||
<!-- 修改用户名 -->
|
||||
<view v-if="indent == 'username'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">用户名</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" placeholder="请输入" v-model="formData.username" />
|
||||
<text class="info-name">{{ $lang('username') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('usernamePlaceholder')" v-model="formData.username" />
|
||||
</view>
|
||||
<view class="color-tip font-size-goods-tag set-pass-tips">用户名仅可修改一次,请谨慎设置</view>
|
||||
<view class="save-item" @click="save('username')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改昵称 -->
|
||||
<view v-if="indent == 'name'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">昵称</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" placeholder="请输入" v-model="formData.nickName" />
|
||||
<text class="info-name">{{ $lang('nickname') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('nickPlaceholder')" v-model="formData.nickName" />
|
||||
</view>
|
||||
<view class="save-item" @click="save('name')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改真实姓名 -->
|
||||
<view v-if="indent == 'realName'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">姓名</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" placeholder="请输入" v-model="formData.realName" />
|
||||
<text class="info-name">{{ $lang('realName') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('pleaseRealName')" v-model="formData.realName" />
|
||||
</view>
|
||||
<view class="save-item" @click="save('realName')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改性别 -->
|
||||
<view v-if="indent == 'sex'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">性别</text>
|
||||
<text class="info-name">{{ $lang('sex') }}</text>
|
||||
<radio-group @change="radioChange" class="edit-sex-list">
|
||||
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items" :key="item.value">
|
||||
<view>
|
||||
@@ -47,19 +47,19 @@
|
||||
</radio-group>
|
||||
</view>
|
||||
<view class="save-item" @click="save('sex')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改生日 -->
|
||||
<view v-if="indent == 'birthday'" class="edit-info edit-birthday-list">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">生日</text>
|
||||
<text class="info-name">{{ $lang('birthday') }}</text>
|
||||
<picker mode="date" :value="formData.birthday" :start="startDate" :end="endDate" @change="bindDateChange">
|
||||
<view class="uni-input">{{ formData.birthday ? formData.birthday : '请选择生日' }}</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="save-item" @click="save('birthday')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改密码 -->
|
||||
@@ -75,55 +75,55 @@
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="edit-info-box" v-if="memberInfo.password">
|
||||
<text class="info-name">原密码</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" placeholder="请输入" v-model="formData.currentPassword" />
|
||||
<text class="info-name">{{ $lang('nowPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('nowPassword')" v-model="formData.currentPassword" />
|
||||
</view>
|
||||
<block v-else>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">新密码</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" placeholder="请输入" v-model="formData.mobileVercode" />
|
||||
<text class="info-name">{{ $lang('confirmCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('confirmCode')" v-model="formData.mobileVercode" />
|
||||
<image :src="captcha.img" class="captcha" @click="getCaptcha"></image>
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">再次输入</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" placeholder="请输入" v-model="formData.mobileDynacode" />
|
||||
<text class="info-name">{{ $lang('animateCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('animateCode')" v-model="formData.mobileDynacode" />
|
||||
<button type="primary" class="dynacode" @click="passwordMoblieCode()">{{ formData.mobileCodeText }}</button>
|
||||
</view>
|
||||
<view class="color-tip font-size-goods-tag set-pass-tips">
|
||||
点击“获取动态码”,将会向您已绑定的手机号{{ memberInfoformData.mobile | mobile }}发送验证码</view>
|
||||
</block>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">新密码</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" placeholder="请输入" v-model="formData.newPassword" />
|
||||
<text class="info-name">{{ $lang('newPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('newPassword')" v-model="formData.newPassword" />
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">再次输入</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" placeholder="请输入" v-model="formData.confirmPassword" />
|
||||
<text class="info-name">{{ $lang('confirmPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('confirmPassword')" v-model="formData.confirmPassword" />
|
||||
</view>
|
||||
|
||||
<view class="save-item" @click="save('password')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 修改手机号 -->
|
||||
<view v-if="indent == 'mobile'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">手机号</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="11" placeholder="请输入" v-model="formData.mobile" />
|
||||
<text class="info-name">{{ $lang('phoneNumber') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('phoneNumber')" v-model="formData.mobile" />
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">验证码</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" placeholder="请输入" v-model="formData.mobileVercode" />
|
||||
<text class="info-name">{{ $lang('confirmCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('confirmCode')" v-model="formData.mobileVercode" />
|
||||
<image :src="captcha.img" class="captcha" @click="getCaptcha"></image>
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">短信验证码</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" placeholder="请输入" v-model="formData.mobileDynacode" />
|
||||
<button type="primary" class="dynacode" @click="bindMoblieCode()">{{ formData.mobileCodeText }}</button>
|
||||
<text class="info-name">{{ $lang('animateCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('animateCode')" v-model="formData.mobileDynacode" />
|
||||
<button type="primary" class="dynacode" @click="bindMobileCode()">{{ formData.mobileCodeText }}</button>
|
||||
</view>
|
||||
<view class="save-item" @click="save('mobile')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 绑定手机号 -->
|
||||
@@ -149,7 +149,7 @@
|
||||
<input class="uni-input info-content" type="text" placeholder="详细地址" v-model="formData.address" />
|
||||
</view>
|
||||
<view class="save-item" @click="save('address')">
|
||||
<button type="primary">保存</button>
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<block v-if="inviteList.length > 0">
|
||||
<view class="invitelist_block">
|
||||
<view class="invitelist">
|
||||
<view class="list-item" v-for="(item, index) in inviteList">
|
||||
<view class="list-item" v-for="(item, index) in inviteList" :key="index">
|
||||
<view class="img color-base-border">
|
||||
<image mode="aspectFit" :src="item.headimg == '' ? $util.img($util.getDefaultImage().head) : $util.img(item.headimg)"/>
|
||||
</view>
|
||||
@@ -37,8 +37,7 @@
|
||||
<block v-if="item.balance > 0">{{ item.balance }}元现金红包</block>
|
||||
<block v-if="(item.point > 0 || item.coupon_num) && item.balance > 0">+</block>
|
||||
<block v-if="item.point > 0">{{ parseInt(item.point) }}积分</block>
|
||||
<block v-if="item.point > 0 && item.balance > 0 && item.coupon_num > 0">+
|
||||
</block>
|
||||
<block v-if="item.point > 0 && item.balance > 0 && item.coupon_num > 0">+</block>
|
||||
<block v-if="item.coupon_num > 0">{{ item.coupon_num }}张优惠券</block>
|
||||
</view>
|
||||
</view>
|
||||
@@ -98,24 +97,24 @@
|
||||
<view class="desc">
|
||||
<view class="title_desc color-tip">分享给好友,让好友通过你的分享链接进入并注册登录,可获得以下奖励:</view>
|
||||
<view class="desc_list">
|
||||
<view class="" v-if="$util.inArray('balance', info.type) != -1">
|
||||
<view v-if="$util.inArray('balance', info.type) != -1">
|
||||
<text>●</text>
|
||||
可得{{ info.balance }}元红包奖励
|
||||
</view>
|
||||
<view class="" v-if="$util.inArray('point', info.type) != -1">
|
||||
<view v-if="$util.inArray('point', info.type) != -1">
|
||||
<text>●</text>
|
||||
可得{{ info.point }}积分
|
||||
</view>
|
||||
<view class="" v-if="$util.inArray('coupon', info.type) != -1">
|
||||
<view v-if="$util.inArray('coupon', info.type) != -1">
|
||||
<text>●</text>
|
||||
可得{{ info.coupon.split(',').length }}张优惠券
|
||||
</view>
|
||||
|
||||
<view class="" v-if="info.max_fetch == 0">
|
||||
<view v-if="info.max_fetch == 0">
|
||||
<text>●</text>
|
||||
可得奖励不受限制
|
||||
</view>
|
||||
<view class="" v-else>
|
||||
<view v-else>
|
||||
<text>●</text>
|
||||
奖励上限为{{ info.max_fetch }}人
|
||||
</view>
|
||||
|
||||
@@ -23,25 +23,28 @@
|
||||
:interval="swiperConfig.interval" :duration="swiperConfig.duration" :circular="swiperConfig.circular"
|
||||
:previous-margin="swiperConfig.previousMargin" :next-margin="swiperConfig.nextMargin"
|
||||
@change="swiperChange" @animationfinish="animationfinish" :current="curIndex">
|
||||
<swiper-item :class="levelList.length == 1 ? 'image-container-box' : ''" v-for="(item, i) in levelList"
|
||||
:key="i">
|
||||
<swiper-item :class="levelList.length == 1 ? 'image-container-box' : ''" v-for="(item, i) in levelList" :key="i">
|
||||
<view class="image-container" :class="[
|
||||
curIndex === 0
|
||||
? i === listLen - 1
|
||||
? 'item-left'
|
||||
: i === 1
|
||||
? i === 1
|
||||
? 'item-right'
|
||||
: i === listLen - 1
|
||||
? 'item-left'
|
||||
: 'item-center'
|
||||
: curIndex === listLen - 1
|
||||
? i === 0
|
||||
? i === curIndex - 1
|
||||
? 'item-left'
|
||||
: i === curIndex + 1
|
||||
? 'item-right'
|
||||
: i === 0
|
||||
? 'item-right'
|
||||
: i === listLen - 2
|
||||
? 'item-left'
|
||||
: 'item-center'
|
||||
: i === curIndex - 1
|
||||
? 'item-left'
|
||||
: i === curIndex + 1
|
||||
? 'item-right'
|
||||
? 'item-left'
|
||||
: i === curIndex + 1
|
||||
? 'item-right'
|
||||
: 'item-center'
|
||||
]">
|
||||
<view class="slide-image" style="background-size: 100% 100%;background-repeat:no-repeat" :style="{
|
||||
@@ -49,34 +52,35 @@
|
||||
transitionDuration: '.3s',
|
||||
transitionTimingFunction: 'ease'
|
||||
}">
|
||||
<image v-if="levelList[curIndex]['level_picture']" :src="$util.img(levelList[curIndex]['level_picture'])"/>
|
||||
<image v-else :style="{backgroundColor:levelList[curIndex]['bg_color']}"/>
|
||||
<image v-if="item['level_picture']" :src="$util.img(item['level_picture'])"/>
|
||||
<image v-else :style="{backgroundColor:item['bg_color']}"/>
|
||||
|
||||
<view class="info">
|
||||
<view class="level-detail" :style="{color:levelList[curIndex]['level_text_color']}">
|
||||
{{ levelList[curIndex].level_name }}
|
||||
<text class="isnow " :style="{color:levelList[curIndex]['level_text_color']}" v-if="levelId == item.level_id">当前等级</text>
|
||||
<view class="level-detail" :style="{color:item['level_text_color']}">
|
||||
{{ item.level_name }}
|
||||
<text class="isnow " :style="{color:item['level_text_color']}" v-if="levelId == item.level_id">当前等级</text>
|
||||
</view>
|
||||
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">当前成长值</view>
|
||||
<view class="growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ growth }}</view>
|
||||
<view class="growr-name" :style="{color:item['level_text_color']}">当前成长值</view>
|
||||
<view class="growr-value" :style="{color:item['level_text_color']}">{{ growth }}</view>
|
||||
<block v-if="levelId == item.level_id">
|
||||
<block v-if="levelList[curIndex + 1] != undefined">
|
||||
<ns-progress :progress="levelList[curIndex + 1].rate"></ns-progress>
|
||||
<view class="residue-growr-value"
|
||||
:style="{color:levelList[curIndex]['level_text_color']}">
|
||||
再获得{{ levelList[curIndex + 1].needGrowth > 0 ? levelList[curIndex + 1].needGrowth : 0 }}成长值成为{{
|
||||
<block v-if="levelList[i + 1] != undefined">
|
||||
<ns-progress :progress="levelList[i + 1].rate"></ns-progress>
|
||||
<view class="residue-growr-value" :style="{color:item['level_text_color']}">
|
||||
再获得{{ levelList[i + 1].needGrowth > 0 ? levelList[i + 1].needGrowth : 0 }}成长值成为下一等级
|
||||
<!-- {{
|
||||
levelList[curIndex + 1].level_name
|
||||
}}
|
||||
}} -->
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="residue-growr-value" :style="{color:levelList[curIndex]['level_text_color']}">您现在已经是最高等级</view>
|
||||
<view class="residue-growr-value" :style="{color:item['level_text_color']}">您现在已经是最高等级</view>
|
||||
</block>
|
||||
</block>
|
||||
<block v-else>
|
||||
<ns-progress :progress="levelList[curIndex].rate" v-if="levelList[curIndex].needGrowth > 0"></ns-progress>
|
||||
<view class="residue-growr-value" v-if="levelList[curIndex].needGrowth > 0" :style="{color:levelList[curIndex]['level_text_color']}">
|
||||
再获得{{ levelList[curIndex].needGrowth }}成长值成为{{ levelList[curIndex].level_name }}
|
||||
<ns-progress :progress="item.rate" v-if="item.needGrowth > 0"></ns-progress>
|
||||
<view class="residue-growr-value" v-if="item.needGrowth > 0" :style="{color:item['level_text_color']}">
|
||||
再获得{{ item.needGrowth }}成长值成为当前等级
|
||||
<!-- {{ levelList[curIndex].level_name }} -->
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -97,7 +101,7 @@
|
||||
<image :src="$util.img('public/uniapp/level/consumption_discount.png')" mode="aspectFit"></image>
|
||||
<view class="equity-content" :class="{ active: levelList[curIndex].point_feedback > 0 }">
|
||||
<text>享受消费折扣服务</text>
|
||||
<text class="equity-desc" v-if="levelList[curIndex].is_default == 1">不享受任何消费折扣和其他权益</text>
|
||||
<text class="equity-desc" v-if="levelList[curIndex].consume_discount == 10">不享受任何消费折扣</text>
|
||||
<text class="equity-desc" v-else>提供{{ levelList[curIndex].consume_discount }}折消费折扣</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -220,7 +224,6 @@
|
||||
}
|
||||
},
|
||||
nextIndex() {
|
||||
let num = 0;
|
||||
if (this.curIndex == this.levelList.length - 1) {
|
||||
return this.curIndex;
|
||||
} else {
|
||||
@@ -287,8 +290,7 @@
|
||||
this.levelList = res.data;
|
||||
for (var i = 0; i < this.levelList.length; i++) {
|
||||
if (this.levelList[i].send_coupon) {
|
||||
this.levelList[i].coupon_length = this.levelList[i].send_coupon.split(',')
|
||||
.length;
|
||||
this.levelList[i].coupon_length = this.levelList[i].send_coupon.split(',').length;
|
||||
}
|
||||
}
|
||||
this.levelId = this.memberInfo.member_level;
|
||||
@@ -306,8 +308,7 @@
|
||||
v.needGrowth = 0;
|
||||
v.rate = 100;
|
||||
} else {
|
||||
v.needGrowth = (parseFloat(v.growth) - parseFloat(this.growth))
|
||||
.toFixed(2);
|
||||
v.needGrowth = (parseFloat(v.growth) - parseFloat(this.growth)).toFixed(2);
|
||||
v.rate = (this.growth / v.growth).toFixed(2) * 100;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -44,12 +44,9 @@
|
||||
},
|
||||
onShow() {
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo(
|
||||
'/pages_tool/login/login', {
|
||||
back: '/pages_tool/member/modify_face'
|
||||
},
|
||||
'redirectTo'
|
||||
);
|
||||
this.$util.redirectTo('/pages_tool/login/login', {
|
||||
back: '/pages_tool/member/modify_face'
|
||||
}, 'redirectTo');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -75,7 +72,8 @@
|
||||
data: {
|
||||
app_type: app_type,
|
||||
app_type_name: app_type_name,
|
||||
images: rsp.base64
|
||||
images: rsp.base64,
|
||||
token: this.$store.state.token || '',
|
||||
},
|
||||
header: {
|
||||
'content-type': 'application/x-www-form-urlencoded;application/json'
|
||||
|
||||
@@ -136,8 +136,7 @@
|
||||
title: '修改成功'
|
||||
});
|
||||
setTimeout(() => {
|
||||
if (this.back) this.$util.redirectTo(this.back, {},
|
||||
'redirectTo');
|
||||
if (this.back) this.$util.redirectTo(this.back, {}, 'redirectTo');
|
||||
else this.$util.redirectTo('/pages/member/index');
|
||||
}, 2000);
|
||||
} else {
|
||||
@@ -164,7 +163,6 @@
|
||||
this.step = 1;
|
||||
this.password = '';
|
||||
this.repassword = '';
|
||||
this.oldpassword = '';
|
||||
this.isSub = false;
|
||||
this.$refs.input.clear();
|
||||
},
|
||||
|
||||
@@ -2,16 +2,10 @@
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view class="point">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="custom-navbar" :style="{
|
||||
'padding-top': menuButtonBounding.top + 'px',
|
||||
'height': menuButtonBounding.height + 'px'
|
||||
}"
|
||||
>
|
||||
<view class="custom-navbar" :style="{ 'padding-top': menuButtonBounding.top + 'px', 'height': menuButtonBounding.height + 'px' }">
|
||||
<view class="navbar-wrap">
|
||||
<text class="iconfont icon-back_light back" @click="$util.redirectTo('/pages/member/index')"></text>
|
||||
<view class="navbar-title">
|
||||
我的积分
|
||||
</view>
|
||||
<view class="navbar-title">我的积分</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
@@ -49,7 +43,7 @@
|
||||
<text class="title">积分商城</text>
|
||||
</view>
|
||||
</view>
|
||||
<!--
|
||||
|
||||
<view class="task-wrap">
|
||||
<view class="title">做任务赚积分</view>
|
||||
<view class="task-item" @click="toSign">
|
||||
@@ -68,7 +62,7 @@
|
||||
</view>
|
||||
<view class="btn">去下单</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -124,19 +118,6 @@ export default {
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取充值提现配置
|
||||
*/
|
||||
getMemberrechargeConfig() {
|
||||
this.$api.sendRequest({
|
||||
url: '/memberrecharge/api/memberrecharge/config',
|
||||
success: res => {
|
||||
if (res.code >= 0 && res.data) {
|
||||
this.memberrechargeConfig = res.data;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onBackPress(options) {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view>
|
||||
<!-- <view class="tab color-bg">
|
||||
<view class="tab color-bg">
|
||||
<view class="tab-left">
|
||||
<picker mode="date" :value="searchType.date" @change="bindDateChange" fields="month">
|
||||
<picker :range="monthData" :value="monthIndex" @change="bindDateChange" >
|
||||
<view class="uni-input">
|
||||
{{ date }}
|
||||
{{ monthData[monthIndex] }}
|
||||
<text class="iconfont icon-iconangledown"></text>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -16,7 +16,7 @@
|
||||
<text class="iconfont icon-iconangledown"></text>
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<mescroll-uni @getData="getData" class="member-point" ref="mescroll">
|
||||
<view slot="list">
|
||||
@@ -48,15 +48,11 @@
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
const currentDate = this.getDate({
|
||||
format: true
|
||||
});
|
||||
return {
|
||||
memberAccount: {
|
||||
point: 0
|
||||
},
|
||||
dataList: [],
|
||||
date: currentDate,
|
||||
searchType: {
|
||||
from_type: 0,
|
||||
date: ''
|
||||
@@ -68,47 +64,39 @@ export default {
|
||||
}
|
||||
], //积分类型
|
||||
pointIndex: 0,
|
||||
related_id: 0
|
||||
related_id: 0,
|
||||
monthData:[],
|
||||
monthIndex:0,
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo(
|
||||
'/pages_tool/login/login',
|
||||
{
|
||||
back: '/pages_tool/member/point'
|
||||
},
|
||||
'redirectTo'
|
||||
);
|
||||
this.$util.redirectTo('/pages_tool/login/login', {
|
||||
back: '/pages_tool/member/point'
|
||||
}, 'redirectTo');
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
if (option.related_id) this.related_id = option.related_id ? option.related_id : 0;
|
||||
if (option.from_type) this.searchType.from_type = option.from_type;
|
||||
this.getPointType();
|
||||
this.getMonthData();
|
||||
},
|
||||
methods: {
|
||||
bindDateChange: function(e) {
|
||||
var temp = e.target.value;
|
||||
var tempArr = temp.split('-');
|
||||
this.date = tempArr[0] + '年' + tempArr[1] + '月';
|
||||
this.searchType.date = e.target.value;
|
||||
var index = e.target.value;
|
||||
this.monthIndex = index;
|
||||
this.searchType.date = this.monthData[index];
|
||||
this.$refs.mescroll.refresh();
|
||||
},
|
||||
getDate(type) {
|
||||
const date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
let day = date.getDate();
|
||||
|
||||
if (type === 'start') {
|
||||
year = year - 60;
|
||||
} else if (type === 'end') {
|
||||
year = year + 2;
|
||||
}
|
||||
month = month > 9 ? month : '0' + month;
|
||||
day = day > 9 ? day : '0' + day;
|
||||
return `${year}年${month}月`;
|
||||
getMonthData(){
|
||||
this.$api.sendRequest({
|
||||
url: '/api/memberaccount/monthData',
|
||||
success: res => {
|
||||
this.monthData = res.data;
|
||||
this.searchType.date = res.data[0];
|
||||
}
|
||||
});
|
||||
},
|
||||
bindPickerChange(e) {
|
||||
this.pointIndex = e.detail.value;
|
||||
@@ -148,22 +136,9 @@ export default {
|
||||
if (res.code >= 0) {
|
||||
var data = res.data;
|
||||
if (data.type == 1 && data.relate_order_id) {
|
||||
switch (data.delivery_type) {
|
||||
case 'store':
|
||||
this.$util.redirectTo('/pages/order/detail_pickup', {
|
||||
order_id: data.relate_order_id
|
||||
});
|
||||
break;
|
||||
case 'local':
|
||||
this.$util.redirectTo('/pages/order/detail_local_delivery', {
|
||||
order_id: data.relate_order_id
|
||||
});
|
||||
break;
|
||||
default:
|
||||
this.$util.redirectTo('/pages/order/detail', {
|
||||
order_id: data.relate_order_id
|
||||
});
|
||||
}
|
||||
this.$util.redirectTo('/pages/order/detail', {
|
||||
order_id: data.relate_order_id
|
||||
});
|
||||
} else {
|
||||
this.$util.redirectTo('/pages/order/detail_point', {
|
||||
order_id: data.order_id
|
||||
@@ -276,7 +251,7 @@ export default {
|
||||
background: #fff;
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
padding-top: 20rpx;
|
||||
padding-top: 80rpx;
|
||||
|
||||
.head {
|
||||
display: flex;
|
||||
|
||||
@@ -39,23 +39,21 @@
|
||||
}
|
||||
|
||||
.head-wrap {
|
||||
// width: 100vw;
|
||||
width: 100vw;
|
||||
background-size: 100%;
|
||||
padding: 32rpx 28rpx;
|
||||
padding: 60rpx 68rpx 140rpx 68rpx;
|
||||
box-sizing: border-box;
|
||||
// border-radius: 0 0 100% 100%/0 0 70rpx 70rpx;
|
||||
border-radius: 0 0 100% 100%/0 0 70rpx 70rpx;
|
||||
overflow: hidden;
|
||||
margin: 24rpx 28rpx;
|
||||
border-radius: 24rpx;
|
||||
|
||||
// #ifdef MP-WEIXIN
|
||||
padding-top: 160rpx;
|
||||
// #endif
|
||||
height: 352rpx;
|
||||
|
||||
.title {
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
color: #F6F6F6;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.balance {
|
||||
@@ -63,12 +61,7 @@
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
margin-bottom: 20rpx;
|
||||
// font-size: 64rpx;
|
||||
font-size: 80rpx;
|
||||
line-height: 112rpx;
|
||||
font-weight: 500 !important;
|
||||
|
||||
font-family: PingFang SC;
|
||||
font-size: 64rpx;
|
||||
}
|
||||
|
||||
.flex-box {
|
||||
@@ -94,65 +87,19 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.btns{
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
-webkit-flex-wrap: nowrap;
|
||||
flex-wrap: nowrap;
|
||||
position: relative;
|
||||
gap: 22rpx;
|
||||
margin-top: 32rpx;
|
||||
.btn{
|
||||
-webkit-box-flex: 1;
|
||||
-webkit-flex: 1;
|
||||
flex: 1;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
height: 80rpx;
|
||||
box-sizing: border-box;
|
||||
font-size: 32rpx;
|
||||
-webkit-flex-shrink: 0;
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
font-family: PingFang SC;
|
||||
border-radius: 180rpx;
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: normal;
|
||||
border: 2rpx solid #fff;
|
||||
:nth-child(2) {
|
||||
background: #fff;
|
||||
color: #4285f8;
|
||||
}
|
||||
}
|
||||
.recharge{
|
||||
background: #fff;
|
||||
color: #4285f8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.menu-wrap {
|
||||
border-radius: 20rpx;
|
||||
margin: 0 24rpx;
|
||||
padding: 0 24rpx;
|
||||
padding: 0 30rpx;
|
||||
background: #fff;
|
||||
// transform: translateY(-90rpx);
|
||||
transform: translateY(-90rpx);
|
||||
|
||||
.menu-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 4rpx 0;
|
||||
padding: 12rpx 0;
|
||||
|
||||
.icon {
|
||||
height: 80rpx;
|
||||
|
||||
@@ -15,10 +15,9 @@ export default {
|
||||
//请求数据
|
||||
getData(mescroll) {
|
||||
this.isShowEmpty = false;
|
||||
let url = "/api/goodscollect/page"
|
||||
let array = []
|
||||
this.$api.sendRequest({
|
||||
url: url,
|
||||
url: '/api/goodscollect/page',
|
||||
data: {
|
||||
page_size: mescroll.size,
|
||||
page: mescroll.num,
|
||||
|
||||
@@ -184,22 +184,20 @@ export default {
|
||||
this.memberInfoformData.nickName = this.memberInfo.nickname; //昵称
|
||||
this.memberInfoformData.realName = this.memberInfo.realname ? this.memberInfo.realname : '请输入真实姓名'; //真实姓名
|
||||
this.memberInfoformData.sex = this.memberInfo.sex == 0 ? '未知' : this.memberInfo.sex == 1 ? '男' : '女'; //性别
|
||||
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : '请选择生日'; //生日
|
||||
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'Y-m-d') : '请选择生日'; //生日
|
||||
this.memberInfoformData.mobile = this.memberInfo.mobile; //手机号
|
||||
|
||||
this.formData.username = this.memberInfo.username; //用户名
|
||||
this.formData.nickName = this.memberInfo.nickname; //昵称
|
||||
this.formData.realName = this.memberInfo.realname; //真实姓名
|
||||
this.formData.sex = this.memberInfo.sex; //性别
|
||||
this.formData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : ''; //生日
|
||||
this.formData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'Y-m-d') : ''; //生日
|
||||
this.formData.provinceId = this.memberInfo.province_id;
|
||||
this.formData.cityId = this.memberInfo.city_id;
|
||||
this.formData.districtId = this.memberInfo.district_id;
|
||||
this.formData.fullAddress = this.memberInfo.full_address;
|
||||
this.formData.address = this.memberInfo.address;
|
||||
if (this.memberInfo.full_address) this.defaultRegions = [this.memberInfo
|
||||
.province_id, this.memberInfo.city_id, this.memberInfo.district_id
|
||||
];
|
||||
if (this.memberInfo.full_address) this.defaultRegions = [this.memberInfo.province_id, this.memberInfo.city_id, this.memberInfo.district_id];
|
||||
},
|
||||
// 切换编辑项
|
||||
modifyInfo(action) {
|
||||
@@ -239,35 +237,6 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
cancellation() {
|
||||
uni.showModal({
|
||||
title: '风险提示',
|
||||
content: '确定要注销当前账号吗?',
|
||||
confirmColor: '#000000',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$api.sendRequest({
|
||||
url: '/membercancel/api/membercancel/apply',
|
||||
success: rres => {
|
||||
let cancellation_condition = rres.data.is_audit;
|
||||
if (rres.code >= 0) {
|
||||
this.$store.commit('setToken', '');
|
||||
this.$store.commit('setMemberInfo', '');
|
||||
this.$store.dispatch('emptyCart');
|
||||
this.$store.dispatch('emptyCart');
|
||||
uni.removeStorageSync('authInfo');
|
||||
this.$util.redirectTo('/pages/member/index');
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: rres.message
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
getCancelStatus() {
|
||||
this.$api.sendRequest({
|
||||
url: '/membercancel/api/membercancel/info',
|
||||
@@ -288,7 +257,7 @@ export default {
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.$util.redirectTo('/pages_tool/member/assets', {
|
||||
this.$util.redirectTo('/pages_tool/member/cancellation', {
|
||||
back: '/pages_tool/member/info'
|
||||
});
|
||||
}
|
||||
@@ -327,8 +296,7 @@ export default {
|
||||
this.$store.commit('setToken', '');
|
||||
this.$store.commit('setMemberInfo', '');
|
||||
this.$store.dispatch('emptyCart');
|
||||
this.$store.dispatch('emptyCart');
|
||||
uni.removeStorageSync('authInfo');
|
||||
// uni.removeStorageSync('authInfo');
|
||||
this.$util.redirectTo('/pages/member/index');
|
||||
}
|
||||
}
|
||||
@@ -616,30 +584,25 @@ export default {
|
||||
name: 'currentPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputOldPassword")
|
||||
},
|
||||
{
|
||||
name: 'newPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputNewPassword")
|
||||
}
|
||||
];
|
||||
}, {
|
||||
name: 'newPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputNewPassword")
|
||||
}];
|
||||
} else {
|
||||
var rule = [{
|
||||
name: 'mobileVercode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("confirmCodeInput")
|
||||
},
|
||||
{
|
||||
name: 'mobileDynacode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("animateCodeInput")
|
||||
},
|
||||
{
|
||||
name: 'newPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputNewPassword")
|
||||
}
|
||||
];
|
||||
}, {
|
||||
name: 'mobileDynacode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("animateCodeInput")
|
||||
}, {
|
||||
name: 'newPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputNewPassword")
|
||||
}];
|
||||
}
|
||||
|
||||
let regConfig = this.registerConfig;
|
||||
@@ -725,7 +688,7 @@ export default {
|
||||
|
||||
// ------------------------修改手机号------------------------------
|
||||
// 验证手机号
|
||||
vertifyMobile() {
|
||||
verifyMobile() {
|
||||
var rule = [{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
@@ -746,7 +709,7 @@ export default {
|
||||
},
|
||||
// 检测手机号是否存在
|
||||
async checkMobile() {
|
||||
if (!this.vertifyMobile()) return;
|
||||
if (!this.verifyMobile()) return;
|
||||
let res = await this.$api.sendRequest({
|
||||
url: '/api/member/checkmobile',
|
||||
data: {
|
||||
@@ -764,7 +727,7 @@ export default {
|
||||
},
|
||||
|
||||
// 发送短信动态码
|
||||
async bindMoblieCode() {
|
||||
async bindMobileCode() {
|
||||
if (this.seconds != 120) return;
|
||||
var rule = [{
|
||||
name: 'mobile',
|
||||
|
||||
@@ -52,7 +52,7 @@ export default {
|
||||
},
|
||||
copyUrl() {
|
||||
let text = this.$config.h5Domain + '/pages/index/index';
|
||||
if (this.memberInf && this.memberInfo.member_id) text += '?source_member=' + this.memberInfo.member_id;
|
||||
if (this.memberInfo && this.memberInfo.member_id) text += '?source_member=' + this.memberInfo.member_id;
|
||||
this.$util.copy(text, () => {
|
||||
this.closeSharePopup();
|
||||
});
|
||||
|
||||
@@ -52,8 +52,7 @@ export default {
|
||||
}
|
||||
|
||||
this.headimg = this.memberInfo.headimg;
|
||||
this.signDaysSeries = this.memberInfo.sign_days_series;
|
||||
|
||||
this.getMemberInfo();
|
||||
this.getSignPointData();
|
||||
this.getSignGrowthData();
|
||||
this.setPublicShare();
|
||||
@@ -61,6 +60,16 @@ export default {
|
||||
this.getIsSign();
|
||||
},
|
||||
methods: {
|
||||
getMemberInfo(){
|
||||
this.$api.sendRequest({
|
||||
url: '/api/member/info',
|
||||
success: (res) => {
|
||||
if (res.code >= 0) {
|
||||
this.signDaysSeries = res.data.sign_days_series;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 获取签到累积积分
|
||||
getSignPointData() {
|
||||
this.$api.sendRequest({
|
||||
|
||||
569
pages_tool/member/signin.vue
Normal file
569
pages_tool/member/signin.vue
Normal file
@@ -0,0 +1,569 @@
|
||||
<template>
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view class="signin">
|
||||
<block v-if="signState">
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="head-nav color-base-bg"></view>
|
||||
<!-- #endif -->
|
||||
<view class="sigin-box">
|
||||
<view class="sigin-bg"></view>
|
||||
|
||||
<view class="signin-wrap">
|
||||
<view class="member-info">
|
||||
<view class="headimg">
|
||||
<view class="headimg-img">
|
||||
<image :src="headimg ? $util.img(headimg) : $util.getDefaultImage().head" mode="aspectFill" @error="headimg = $util.getDefaultImage().head"/>
|
||||
</view>
|
||||
|
||||
<view class="signin-info">
|
||||
<view>
|
||||
已连续签到
|
||||
<text>{{ signDaysSeries }}</text>
|
||||
天
|
||||
</view>
|
||||
<view>{{ hasSign ? '明日' : '今日' }}签到可获得{{ pointTomorrow }}积分</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="point-box" @click="sign()">
|
||||
<image :src="$util.img(hasSign == 1 ? 'public/uniapp/signin/sign-btn-res.png' : 'public/uniapp/signin/sign-btn.png')" mode="widthFix"/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="signin-days-wrap">
|
||||
<view class="signin-desc">连续签到领好礼</view>
|
||||
<view class="signin-day-list">
|
||||
<view class="signin-day-con">
|
||||
<view class="signin-day-scroll">
|
||||
<block v-for="(item, index) in showSignDays">
|
||||
<view v-if="!item.is_last" :id="'id_' + item.day" class="signin-day-item"
|
||||
:class="{
|
||||
signed: item.day < signDaysSeries || (item.day == signDaysSeries && hasSign == 0) || (item.day == signDaysSeries && hasSign == 1)
|
||||
}">
|
||||
<view class="day">第{{ item.day }}天</view>
|
||||
<image :src="$util.img('public/uniapp/signin/sign-icon.png')"></image>
|
||||
<view class="point">{{ item.point }}积分</view>
|
||||
</view>
|
||||
<view v-else :id="'id_' + item.day" class="signin-day-item last" :class="{
|
||||
signed: item.day < signDaysSeries || (item.day == signDaysSeries && hasSign == 0) || (item.day == signDaysSeries && hasSign == 1)
|
||||
}">
|
||||
<view>
|
||||
<view class="day">第{{ item.day }}天</view>
|
||||
<view class="point">{{ item.point }}积分</view>
|
||||
</view>
|
||||
<image :src="$util.img('public/uniapp/signin/sign-box.png')" mode="widthFix"/>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="my-signin">
|
||||
<view class="my-signin-title">我的签到</view>
|
||||
|
||||
<view class="my-signin-con">
|
||||
<view class="my-signin-item">
|
||||
<image :src="$util.img('public/uniapp/signin/sign-bg-yellow.png')"></image>
|
||||
<view class="my-signin-item-num">积分:{{ signPoint }}</view>
|
||||
<view>累计获得积分</view>
|
||||
</view>
|
||||
<view class="my-signin-item">
|
||||
<image :src="$util.img('public/uniapp/signin/sign-bg-pink.png')"></image>
|
||||
<view class="my-signin-item-num">成长值:{{ signGrowth }}</view>
|
||||
<view>累计获得成长值</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="signin-rule" v-if="rule && rule.length">
|
||||
<view class="signin-rule-title">签到规则</view>
|
||||
|
||||
<view class="signin-rule-con">
|
||||
<view class="rule-item" v-for="(item, index) in rule" :key="index">
|
||||
<block v-if="index == 0">1. 每日签到奖励:</block>
|
||||
<block v-else>{{ index + 1 + '. 连续签到' + item.day + '天额外奖励:' }}</block>
|
||||
<text v-if="item.point">{{ item.point + '积分 ' }}</text>
|
||||
<text v-if="item.growth">{{ item.growth + '成长值' }}</text>
|
||||
</view>
|
||||
|
||||
<view class="rule-item">
|
||||
{{ rule.length + 1 }}.连续签到{{ cycle }}天为一个周期,连续签到天数签满一个周期或者签到中断,将清空连签天数重新计算签到天数
|
||||
</view>
|
||||
<view class="rule-item">
|
||||
{{ rule.length + 2 }}. 用户可在签到页每日签到一次,签到后可获得每日签到奖励;连续签到天数达到连签奖励的当天,可额外获得连签奖励
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @touchmove.prevent.stop>
|
||||
<uni-popup ref="uniPopup" type="center" class="wap-floating" :maskClick="false">
|
||||
<view class="popup-box" @click="close()">
|
||||
<text class="iconfont icon-close" @click="$refs.uniPopup.close()"></text>
|
||||
<image class="pic" :src="$util.img('public/uniapp/signin/bg1.png')"></image>
|
||||
<view class="popup-content">
|
||||
<view class="popup-content-wrap">
|
||||
<view class="title" v-if="successTip.point || successTip.growth">
|
||||
<text>恭喜您获得</text>
|
||||
<text v-if="successTip.point">
|
||||
<text class="num color-base-text">{{ successTip.point }}</text>
|
||||
积分
|
||||
</text>
|
||||
<text v-if="successTip.growth">
|
||||
<text class="num color-base-text">{{ successTip.growth }}</text>
|
||||
成长值
|
||||
</text>
|
||||
</view>
|
||||
<view class="desc">连续签到可获得更多奖励!</view>
|
||||
</view>
|
||||
<view class="other-info color-base-bg" @click="$refs.uniPopup.close()">知道了</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
|
||||
<!-- 悬浮按钮 -->
|
||||
<hover-nav :need="true"></hover-nav>
|
||||
</block>
|
||||
<block v-else><ns-empty text="暂未开启签到奖励" subText="请到营销中心开启签到奖励" :isIndex="false"></ns-empty></block>
|
||||
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
|
||||
<ns-login ref="login"></ns-login>
|
||||
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<!-- 小程序隐私协议 -->
|
||||
<privacy-popup ref="privacyPopup"></privacy-popup>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import uniCalender from '@/pages_tool/components/uni-calendar/uni-calendar.vue';
|
||||
import uniPopup from '@/components/uni-popup/uni-popup.vue';
|
||||
import signIn from './public/js/signin.js';
|
||||
export default {
|
||||
components: {
|
||||
uniPopup,
|
||||
uniCalender
|
||||
},
|
||||
mixins: [signIn]
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
uni-page-body,
|
||||
uni-page-refresh {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.signin {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
|
||||
.head-nav {
|
||||
width: 100%;
|
||||
height: var(--status-bar-height);
|
||||
}
|
||||
|
||||
.head-nav.active {
|
||||
padding-top: 40rpx;
|
||||
}
|
||||
|
||||
.sigin-box {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.sigin-bg {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
background: linear-gradient(136deg, #fe7849 0%, #ff1959 100%);
|
||||
height: 500rpx;
|
||||
border-radius: 0 0 100% 100%/0 0 20% 20%;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.signin-wrap {
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
|
||||
.member-info {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
padding: 74rpx 0 55rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.headimg {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.headimg-img {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
background: #fff;
|
||||
border: 0px solid #fff;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
margin-right: 20rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.signin-info {
|
||||
view {
|
||||
color: #ffffff;
|
||||
font-size: 24rpx;
|
||||
line-height: 1;
|
||||
|
||||
&:first-child {
|
||||
margin-bottom: 18rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
|
||||
text {
|
||||
margin: 0 9rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.point-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 68rpx;
|
||||
padding: 13rpx 0 13rpx 0;
|
||||
box-sizing: border-box;
|
||||
|
||||
image {
|
||||
width: 160rpx;
|
||||
height: 68rpx;
|
||||
max-height: 80rpx;
|
||||
margin-bottom: -6rpx;
|
||||
}
|
||||
|
||||
.point {
|
||||
margin-left: 14rpx;
|
||||
font-size: $font-size-toolbar;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.signin-days-wrap {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
background-color: #ffffff;
|
||||
border-radius: 18rpx;
|
||||
padding: 30rpx 0 30rpx;
|
||||
height: 468rpx;
|
||||
|
||||
.signin-desc {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
line-height: 1;
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
|
||||
.signin-day-list {
|
||||
margin-top: 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 30rpx;
|
||||
|
||||
.signin-day-con {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.signin-day-scroll {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
flex-direction: row;
|
||||
white-space: nowrap;
|
||||
line-height: 1;
|
||||
|
||||
.signin-day-item {
|
||||
flex-shrink: 0;
|
||||
background: #f5f6fa;
|
||||
margin-right: 30rpx;
|
||||
width: calc((100% - 90rpx) / 4);
|
||||
height: 155rpx;
|
||||
border-radius: 18rpx;
|
||||
margin-bottom: 24rpx;
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
width: calc((100% - 30rpx) / 2);
|
||||
}
|
||||
|
||||
&:nth-child(4n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
&.signed {
|
||||
background: linear-gradient(136deg, #fe7849 0%, #ff1959 100%);
|
||||
|
||||
view {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
&.last {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
>view {
|
||||
width: 50%;
|
||||
|
||||
.point {
|
||||
margin: 15rpx;
|
||||
}
|
||||
}
|
||||
|
||||
image {
|
||||
width: 40%;
|
||||
margin-top: 20rpx;
|
||||
max-width: 130rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reward {
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.signin-day-item {
|
||||
display: inline-block;
|
||||
width: 85rpx;
|
||||
height: 103rpx;
|
||||
border-radius: 4rpx;
|
||||
text-align: center;
|
||||
background-color: #f6f6fb;
|
||||
flex-shrink: 0;
|
||||
|
||||
.day {
|
||||
font-size: 24rpx;
|
||||
line-height: 1;
|
||||
margin-top: 18rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.point {
|
||||
font-size: 20rpx;
|
||||
line-height: 1;
|
||||
margin-top: -4rpx;
|
||||
color: #abb0c1;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.signin-btn {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
bottom: 40rpx;
|
||||
text-align: center;
|
||||
|
||||
button {
|
||||
display: inline-block;
|
||||
width: 442rpx;
|
||||
height: 100%;
|
||||
color: #ffffff;
|
||||
background-color: #ff4544;
|
||||
}
|
||||
|
||||
.btn-active {
|
||||
color: $color-title;
|
||||
background-color: #e1e1e1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.my-signin {
|
||||
padding: 30rpx;
|
||||
margin-top: 30rpx;
|
||||
background-color: #ffffff;
|
||||
border-radius: 18rpx;
|
||||
|
||||
.my-signin-title {
|
||||
font-size: 32rpx;
|
||||
line-height: 1;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.my-signin-con {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.my-signin-item {
|
||||
width: 300rpx;
|
||||
height: 155rpx;
|
||||
position: relative;
|
||||
|
||||
image {
|
||||
width: 300rpx;
|
||||
height: 155rpx;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.my-signin-item-num {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
padding: 44rpx 28rpx 0;
|
||||
line-height: $font-size-toolbar;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
view:last-child {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
color: #abb0c1;
|
||||
padding-left: 28rpx;
|
||||
font-size: $font-size-activity-tag;
|
||||
line-height: 1;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.signin-rule {
|
||||
margin-top: 30rpx;
|
||||
background-color: #ffffff;
|
||||
border-radius: 18rpx;
|
||||
padding: 30rpx;
|
||||
|
||||
.signin-rule-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
line-height: $font-size-toolbar;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.signin-rule-con {
|
||||
margin-top: 30rpx;
|
||||
padding: 0 0;
|
||||
|
||||
.rule-item {
|
||||
font-size: 26rpx;
|
||||
color: $color-sub;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.popup-box {
|
||||
position: relative;
|
||||
top: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.icon-close {
|
||||
width: 42rpx;
|
||||
height: 42rpx;
|
||||
border: 1px solid #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: 70rpx;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.pic {
|
||||
width: 274rpx;
|
||||
height: 200rpx;
|
||||
position: relative;
|
||||
margin-bottom: -30rpx;
|
||||
}
|
||||
|
||||
.popup-content {
|
||||
background: #ffffff;
|
||||
width: 70vw;
|
||||
margin-top: -100rpx;
|
||||
border-radius: 20rpx;
|
||||
padding: 0 60rpx;
|
||||
padding-bottom: 40rpx;
|
||||
box-sizing: border-box;
|
||||
background-size: 100% 100rpx;
|
||||
}
|
||||
|
||||
.popup-content-wrap {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.title {
|
||||
font-size: $font-size-base;
|
||||
margin-top: 160rpx;
|
||||
color: #999;
|
||||
|
||||
.num {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.desc {
|
||||
color: #999;
|
||||
font-size: $font-size-tag;
|
||||
}
|
||||
}
|
||||
|
||||
.other-info {
|
||||
width: 300rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 10rpx;
|
||||
margin: 0 auto;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<style scoped>
|
||||
.wap-floating>>>.uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
|
||||
background: none !important;
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
align-items: center !important;
|
||||
}
|
||||
</style>
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view>
|
||||
<mescroll-uni @getData="getData" class="member-point">
|
||||
<mescroll-uni @getData="getData" ref="mescroll" class="member-point">
|
||||
<view slot="list">
|
||||
<block v-if="dataList.length">
|
||||
<view class="detailed-wrap">
|
||||
@@ -15,8 +15,29 @@
|
||||
</view>
|
||||
<view class="right-wrap">
|
||||
<view class="num color-base-text">¥{{ item.apply_money }}</view>
|
||||
<view class="status-name">{{ item.status_name }}</view>
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="actions" v-if="$util.isWeiXin() && isWithdrawWechat && item.transfer_type == 'wechatpay' && item.status == 1" @click.stop="toTransfer(item.id)">
|
||||
<view class="act-btn">收款</view>
|
||||
</view>
|
||||
<view class="status-name" v-else :style="item.status == -1 || item.status == -2 ? 'color:red;' : ''">{{ item.status_name }}</view>
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="actions" v-if="isWithdrawWechat && item.transfer_type == 'wechatpay' && item.status == 1" @click.stop="toTransfer(item.id)">
|
||||
<view class="act-btn">收款</view>
|
||||
</view>
|
||||
<view class="status-name" v-else :style="item.status == -1 || item.status == -2 ? 'color:red;' : ''">{{ item.status_name }}</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view v-if="item.status == -1" class="fail-reason">
|
||||
拒绝原因:{{ item.refuse_reason }}
|
||||
</view>
|
||||
<view v-if="item.status == -2" class="fail-reason">
|
||||
失败原因:{{ item.fail_reason }}
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -34,21 +55,36 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dataList: []
|
||||
dataList: [],
|
||||
isWithdrawWechat: 0
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
if (!this.storeToken) {
|
||||
this.$util.redirectTo(
|
||||
'/pages_tool/login/login',
|
||||
{
|
||||
back: '/pages_tool/member/point'
|
||||
},
|
||||
'redirectTo'
|
||||
);
|
||||
this.$util.redirectTo('/pages_tool/login/login', {
|
||||
back: '/pages_tool/member/point'
|
||||
}, 'redirectTo');
|
||||
}
|
||||
if(this.$refs.mescroll) this.$refs.mescroll.refresh();
|
||||
this.getWithdrawConfig()
|
||||
},
|
||||
methods: {
|
||||
toTransfer(id) {
|
||||
this.$util.redirectTo('/pages_tool/member/withdrawal_detail', {
|
||||
id: id,
|
||||
action: 'transfer'
|
||||
});
|
||||
},
|
||||
getWithdrawConfig() {
|
||||
this.$api.sendRequest({
|
||||
url: '/wechatpay/api/transfer/getWithdrawConfig',
|
||||
success: res => {
|
||||
if (res.code == 0){
|
||||
this.isWithdrawWechat = res.data.transfer_type;
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
//获得列表数据
|
||||
getData(mescroll) {
|
||||
this.$api.sendRequest({
|
||||
@@ -165,6 +201,22 @@ export default {
|
||||
font-size: $font-size-toolbar;
|
||||
}
|
||||
}
|
||||
.fail-reason{
|
||||
font-size: $font-size-base;
|
||||
color:$color-tip;
|
||||
}
|
||||
.actions{
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
.act-btn{
|
||||
color: #fff;
|
||||
background-color: $base-color;
|
||||
font-size: $font-size-base;
|
||||
line-height: 1;
|
||||
padding: 10rpx $padding;
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<page-meta :page-style="themeColor"></page-meta>
|
||||
<view>
|
||||
<view class="money-wrap">
|
||||
<text>-{{ detail.apply_money }}</text>
|
||||
<text>{{ detail.apply_money }}</text>
|
||||
</view>
|
||||
|
||||
<!-- 状态0待审核1.待转账2已转账 -1拒绝' -->
|
||||
@@ -48,37 +48,113 @@
|
||||
<text class="value">{{ $util.timeStampTurnTime(detail.payment_time) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="operations" v-if="$util.isWeiXin() && withdrawInfo.transfer_type && detail.transfer_type == 'wechatpay' && detail.status == 1">
|
||||
<button class="operation" type="primary" @click="merchantTransfer()">收款</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="operations" v-if="withdrawInfo.transfer_type && detail.transfer_type == 'wechatpay' && detail.status == 1">
|
||||
<button class="operation" type="primary" @click="merchantTransfer()">收款</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
id: 0,
|
||||
detail: {}
|
||||
detail: {},
|
||||
withdrawInfo: {},
|
||||
requestCount: 0
|
||||
};
|
||||
},
|
||||
onLoad(option) {
|
||||
async onLoad(option) {
|
||||
this.id = option.id || 0;
|
||||
await this.getWithdrawConfig()
|
||||
if(option.action) this.merchantTransfer();
|
||||
},
|
||||
onShow() {
|
||||
if (this.storeToken) {
|
||||
this.getDetail();
|
||||
} else {
|
||||
this.$util.redirectTo(
|
||||
'/pages_tool/login/login',
|
||||
{
|
||||
back: '/pages_tool/member/point'
|
||||
},
|
||||
'redirectTo'
|
||||
);
|
||||
this.$util.redirectTo('/pages_tool/login/login', {
|
||||
back: '/pages_tool/member/point'
|
||||
}, 'redirectTo');
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.getDetail();
|
||||
},
|
||||
methods: {
|
||||
getDetail() {
|
||||
merchantTransfer() {
|
||||
uni.showLoading({})
|
||||
var app_id = ''
|
||||
// #ifdef MP
|
||||
app_id = this.withdrawInfo.weapp_appid;
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
if(this.$util.isWeiXin()){
|
||||
app_id = this.withdrawInfo.wechat_appid;
|
||||
}
|
||||
// #endif
|
||||
this.$util.merchantTransfer(
|
||||
{
|
||||
transfer_type: 'member_withdraw',
|
||||
id: this.id,
|
||||
},
|
||||
{
|
||||
mch_id: this.withdrawInfo.mch_id,
|
||||
app_id: app_id,
|
||||
},
|
||||
(res)=>{
|
||||
if (res.err_msg === 'requestMerchantTransfer:ok') {
|
||||
this.updateStatusToInProcess(()=>{
|
||||
this.getDetail(true);
|
||||
});
|
||||
}
|
||||
// #ifdef MP
|
||||
if (res.errMsg === 'requestMerchantTransfer:ok') {
|
||||
this.updateStatusToInProcess(()=>{
|
||||
this.getDetail(true);
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
);
|
||||
},
|
||||
async getWithdrawConfig() {
|
||||
let res = await this.$api.sendRequest({
|
||||
url: '/wechatpay/api/transfer/getWithdrawConfig',
|
||||
async: false,
|
||||
});
|
||||
if (res.code == 0){
|
||||
this.withdrawInfo = res.data;
|
||||
}
|
||||
},
|
||||
//修改收款状态为收款中
|
||||
updateStatusToInProcess(callback){
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.show();
|
||||
this.$api.sendRequest({
|
||||
url: '/wechatpay/api/transfer/inprocess',
|
||||
data: {
|
||||
from_type: 'member_withdraw',
|
||||
relate_tag : this.id,
|
||||
},
|
||||
success: (res)=>{
|
||||
if(res.code >= 0){
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
typeof callback == 'function' && callback();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
getDetail(is_loop = false) {
|
||||
this.$api.sendRequest({
|
||||
url: '/api/memberwithdraw/detail',
|
||||
data: {
|
||||
@@ -87,6 +163,22 @@ export default {
|
||||
success: res => {
|
||||
if (res.data) {
|
||||
this.detail = res.data;
|
||||
if(is_loop && this.requestCount < 10 && this.detail.status == 3){
|
||||
this.requestCount++;
|
||||
setTimeout(()=>{
|
||||
this.getDetail(true)
|
||||
},1000)
|
||||
}
|
||||
// if(mode && this.detail.status == 1){
|
||||
// // 提现状态还没有修改
|
||||
// if(this.requestCount < 10 && this.detail.status == 1){
|
||||
// this.requestCount++;
|
||||
// setTimeout(()=>{
|
||||
// this.getDetail('transferComplete')
|
||||
// },1000)
|
||||
// }
|
||||
// }
|
||||
uni.stopPullDownRefresh();
|
||||
}
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
},
|
||||
@@ -128,4 +220,30 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.operations {
|
||||
margin-top: 60rpx;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
// background: #fff;
|
||||
position: fixed;
|
||||
padding: 0 30rpx;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: constant(safe-area-inset-bottom);
|
||||
padding-bottom: env(safe-area-inset-bottom);
|
||||
z-index: 10;
|
||||
|
||||
.operation {
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-radius: 80rpx;
|
||||
margin: 30rpx 0 30rpx;
|
||||
font-size: $font-size-toolbar;
|
||||
|
||||
text {
|
||||
margin-right: 10rpx;
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user