更新前端

This commit is contained in:
zoomtk@126.com 2023-04-07 17:00:02 +08:00
parent 550a129818
commit b29428ffdb
38 changed files with 1740 additions and 917 deletions

View File

@ -1,7 +1,6 @@
<script> <script>
import auth from 'common/js/auth.js'; import auth from 'common/js/auth.js';
import { Weixin } from 'common/js/wx-jssdk.js'; import { Weixin } from 'common/js/wx-jssdk.js';
export default { export default {
mixins: [auth], mixins: [auth],
onLaunch: function() { onLaunch: function() {
@ -30,13 +29,11 @@ export default {
// //
}); });
// #endif // #endif
// #ifdef H5 // #ifdef H5
if (uni.getSystemInfoSync().platform == 'ios') { if (uni.getSystemInfoSync().platform == 'ios') {
uni.setStorageSync('initUrl', location.href); uni.setStorageSync('initUrl', location.href);
} }
// #endif // #endif
uni.onNetworkStatusChange(function(res) { uni.onNetworkStatusChange(function(res) {
if (!res.isConnected) { if (!res.isConnected) {
uni.showModal({ uni.showModal({
@ -46,9 +43,7 @@ export default {
}); });
} }
}); });
this.$store.dispatch('init'); this.$store.dispatch('init');
// #ifdef H5 // #ifdef H5
// //
if (!uni.getStorageSync('token')) { if (!uni.getStorageSync('token')) {

View File

@ -1,5 +1,4 @@
import WxMap from 'common/js/map-wx-jssdk.js'; import WxMap from 'common/js/map-wx-jssdk.js';
let systemInfo = uni.getSystemInfoSync(); let systemInfo = uni.getSystemInfoSync();
export default { export default {
data() { data() {
@ -44,9 +43,7 @@ export default {
uni.hideTabBar(); uni.hideTabBar();
this.name = data.name || ''; this.name = data.name || '';
this.isDefault = data.is_default || ''; this.isDefault = data.is_default || '';
if (data.source_member) uni.setStorageSync('source_member', data.source_member); if (data.source_member) uni.setStorageSync('source_member', data.source_member);
// 小程序扫码进入 // 小程序扫码进入
if (data.scene) { if (data.scene) {
var sceneParams = decodeURIComponent(data.scene); var sceneParams = decodeURIComponent(data.scene);

View File

@ -6,8 +6,7 @@
:style="{ :style="{
'padding-top': menuButtonBounding.top + 'px', 'padding-top': menuButtonBounding.top + 'px',
height: menuButtonBounding.height + 'px' height: menuButtonBounding.height + 'px'
}" }">
>
<view class="navbar-title">确认订单</view> <view class="navbar-title">确认订单</view>
</view> </view>
<view class="payment-navbar-block" :style="{ height: menuButtonBounding.bottom + 'px' }"></view> <view class="payment-navbar-block" :style="{ height: menuButtonBounding.bottom + 'px' }"></view>
@ -24,8 +23,7 @@
:class="{ active: item.name == orderCreateData.delivery.delivery_type }" :class="{ active: item.name == orderCreateData.delivery.delivery_type }"
v-for="(item, index) in goodsData.express_type" v-for="(item, index) in goodsData.express_type"
:key="index" :key="index"
@click="selectDeliveryType(item)" @click="selectDeliveryType(item)">
>
{{ item.title }} {{ item.title }}
<!-- 外圆角 --> <!-- 外圆角 -->
<view class="out-radio"></view> <view class="out-radio"></view>
@ -166,9 +164,7 @@
v-if=" v-if="
orderCreateData.delivery && orderCreateData.delivery &&
goodsItem.support_trade_type && goodsItem.support_trade_type &&
goodsItem.support_trade_type.indexOf(orderCreateData.delivery.delivery_type) == -1 goodsItem.support_trade_type.indexOf(orderCreateData.delivery.delivery_type) == -1">
"
>
<text class="iconfont icon-gantanhao"></text> <text class="iconfont icon-gantanhao"></text>
<text>该商品不支持{{ orderCreateData.delivery.delivery_type_name }}</text> <text>该商品不支持{{ orderCreateData.delivery.delivery_type_name }}</text>
</view> </view>
@ -203,8 +199,7 @@
<view <view
class="member-goods-card order-cell" class="member-goods-card order-cell"
v-if="calculateGoodsData && calculateGoodsData.goods_list[goodsIndex].member_card_list" v-if="calculateGoodsData && calculateGoodsData.goods_list[goodsIndex].member_card_list"
@click="selectMemberGoodsCard(goodsIndex)" @click="selectMemberGoodsCard(goodsIndex)">
>
<text class="tit">次卡抵扣</text> <text class="tit">次卡抵扣</text>
<view class="box text-overflow"> <view class="box text-overflow">
<block v-if="calculateGoodsData.goods_list[goodsIndex].card_promotion_money"> <block v-if="calculateGoodsData.goods_list[goodsIndex].card_promotion_money">
@ -231,32 +226,25 @@
</view> </view>
<view class="site-wrap buyer-message" v-if="createDataKey !== 'futuresOrderCreateData'"> <view class="site-wrap buyer-message" v-if="createDataKey !== 'futuresOrderCreateData'">
<view class="order-cell"> <!-- <view class="order-cell">
<text class="tit">买家留言</text> <text class="tit">买家留言</text>
<view class="box text-overflow " @click="openPopup('buyerMessagePopup')"> <view class="box text-overflow " @click="openPopup('buyerMessagePopup')">
<text v-if="orderCreateData.buyer_message">{{ orderCreateData.buyer_message }}</text> <text v-if="orderCreateData.buyer_message">{{ orderCreateData.buyer_message }}</text>
<text class="color-sub" v-else>无留言</text> <text class="color-sub" v-else>无留言</text>
</view> </view>
<text class="iconfont icon-right"></text> <text class="iconfont icon-right"></text>
</view> </view> -->
</view> </view>
<view v-if="paymentData.system_form" class="system-form-wrap"> <view v-if="paymentData.system_form" class="system-form-wrap">
<view class="order-cell"> <view class="order-cell">
<text class="tit">{{ paymentData.system_form.form_name }}</text> <text class="tit">{{ paymentData.system_form.form_name }}</text>
</view> </view>
<ns-form :data="paymentData.system_form.json_data" ref="form"></ns-form> <ns-form :data="paymentData.system_form.json_data" ref="form"></ns-form>
</view> </view>
<view <view
class="site-wrap" class="site-wrap" v-if="(calculateGoodsData && calculateGoodsData.coupon_list && calculateGoodsData.coupon_list.length) ||
v-if=" promotionInfo ||(calculateGoodsData && calculateGoodsData.max_usable_point > 0) ||
(calculateGoodsData && calculateGoodsData.coupon_list && calculateGoodsData.coupon_list.length) || goodsData.invoice">
promotionInfo ||
(calculateGoodsData && calculateGoodsData.max_usable_point > 0) ||
goodsData.invoice
"
>
<view class="site-footer"> <view class="site-footer">
<view class="order-cell coupon" v-if="calculateGoodsData && calculateGoodsData.coupon_list && calculateGoodsData.coupon_list.length"> <view class="order-cell coupon" v-if="calculateGoodsData && calculateGoodsData.coupon_list && calculateGoodsData.coupon_list.length">
<text class="tit">优惠券</text> <text class="tit">优惠券</text>
@ -298,7 +286,6 @@
</view> </view>
</view> </view>
</view> </view>
<view class="site-wrap box member-card-wrap" v-if="paymentData.recommend_member_card"> <view class="site-wrap box member-card-wrap" v-if="paymentData.recommend_member_card">
<view class="head" @click="selectMemberCard"> <view class="head" @click="selectMemberCard">
<text class="iconfont icon-huiyuan"></text> <text class="iconfont icon-huiyuan"></text>

View File

@ -26,8 +26,7 @@
<view <view
class="graphic-img" class="graphic-img"
v-show="value.mode != 'text'" v-show="value.mode != 'text'"
:style="{ fontSize: value.imageSize * 2 + 'rpx', width: value.imageSize * 2 + 'rpx', height: value.imageSize * 2 + 'rpx' }" :style="{ fontSize: value.imageSize * 2 + 'rpx', width: value.imageSize * 2 + 'rpx', height: value.imageSize * 2 + 'rpx' }">
>
<image <image
v-if="item.iconType == 'img'" v-if="item.iconType == 'img'"
:src="$util.img(item.imageUrl) || $util.img('public/uniapp/default_img/goods.png')" :src="$util.img(item.imageUrl) || $util.img('public/uniapp/default_img/goods.png')"

View File

@ -98,8 +98,9 @@
<view class="title">积分</view> <view class="title">积分</view>
</view> </view>
<view class="solid"></view> <view class="solid"></view>
<view class="account-item" @click="redirect('/pages_promotion/fenxiao/bill')"> <view class="account-item" @click="redirect('/pages_tool/member/balance_detail',{'from_type':'diamond'})">
<view class="value price-font">{{ fenxiaoInfo && fenxiaoInfo.diamond != undefined ? parseInt(fenxiaoInfo.diamond) : '--' }}</view> <view class="value price-font">{{ memberInfo ? memberInfo.diamond : '--' }}</view>
<!-- <view class="value price-font">{{ fenxiaoInfo && fenxiaoInfo.diamond != undefined ? parseInt(fenxiaoInfo.diamond) : '--' }}</view> -->
<view class="title">钻石</view> <view class="title">钻石</view>
</view> </view>
<!-- <view class="solid"></view>--> <!-- <view class="solid"></view>-->

View File

@ -235,6 +235,7 @@
success: res => { success: res => {
uni.hideLoading(); uni.hideLoading();
if (res.code >= 0) { if (res.code >= 0) {
console.log(1111);
if (res.data.pay_success) { if (res.data.pay_success) {
this.paySuccess(); this.paySuccess();
return; return;
@ -435,6 +436,7 @@
* 支付成功之后跳转 * 支付成功之后跳转
*/ */
paySuccess() { paySuccess() {
console.log(this.payInfo)
if (this.payInfo.event == 'BlindboxGoodsOrderPayNotify') { if (this.payInfo.event == 'BlindboxGoodsOrderPayNotify') {
this.$util.redirectTo('/pages_promotion/blindbox/index', { this.$util.redirectTo('/pages_promotion/blindbox/index', {
outTradeNo: this.payInfo.out_trade_no outTradeNo: this.payInfo.out_trade_no

View File

@ -895,7 +895,7 @@
// #ifdef H5 // #ifdef H5
"navigationStyle": "custom", "navigationStyle": "custom",
// #endif // #endif
"navigationBarTitleText": "分销商" "navigationBarTitleText": "服务商"
} }
}, },
{ {

View File

@ -23,7 +23,6 @@ export default {
onLoad(data) { onLoad(data) {
uni.hideTabBar(); uni.hideTabBar();
this.name = 'DIY_VIEW_MEMBER_INDEX'; this.name = 'DIY_VIEW_MEMBER_INDEX';
if (data.code) { if (data.code) {
this.$api.sendRequest({ this.$api.sendRequest({
url: '/wechat/api/wechat/authcodetoopenid', url: '/wechat/api/wechat/authcodetoopenid',
@ -33,8 +32,7 @@ export default {
success: res => { success: res => {
if (res.code >= 0) { if (res.code >= 0) {
if (res.data.userinfo.nickName) this.modifyNickname(res.data.userinfo.nickName); if (res.data.userinfo.nickName) this.modifyNickname(res.data.userinfo.nickName);
if (res.data.userinfo.avatarUrl) this.modifyHeadimg(res.data.userinfo if (res.data.userinfo.avatarUrl) this.modifyHeadimg(res.data.userinfo.avatarUrl);
.avatarUrl);
} }
} }
}); });

View File

@ -8,7 +8,6 @@
<!-- #ifndef H5 --> <!-- #ifndef H5 -->
<!-- <view class="head-nav color-base-bg" :class="{ active: isIphoneX }"></view> --> <!-- <view class="head-nav color-base-bg" :class="{ active: isIphoneX }"></view> -->
<!-- #endif --> <!-- #endif -->
<view v-if="status === ''"> <view v-if="status === ''">
<block v-if="basicsConfig.is_apply == 1"> <block v-if="basicsConfig.is_apply == 1">
<view class="image" :class="fenXiaoAgreement.agreement.img ? '' : 'color-base-bg'"> <view class="image" :class="fenXiaoAgreement.agreement.img ? '' : 'color-base-bg'">
@ -18,7 +17,6 @@
<view class="bg-img"><image :src="$util.img('public/uniapp/fenxiao/apply/edit.png')" mode="scaleToFill"></image></view> <view class="bg-img"><image :src="$util.img('public/uniapp/fenxiao/apply/edit.png')" mode="scaleToFill"></image></view>
</view> </view>
</view> </view>
<view class="apply-wrap"> <view class="apply-wrap">
<view class="app-info"> <view class="app-info">
<view class="info"> <view class="info">
@ -51,7 +49,6 @@
</view> </view>
</view> </view>
</view> </view>
<view class="apply-message-wrap" v-if="fenxiaoConfig.fenxiao_condition == 2 || fenxiaoConfig.fenxiao_condition == 3"> <view class="apply-message-wrap" v-if="fenxiaoConfig.fenxiao_condition == 2 || fenxiaoConfig.fenxiao_condition == 3">
<view class="apply-message"> <view class="apply-message">
<view class="apply-message-title color-base-bg-before">分销商申请条件</view> <view class="apply-message-title color-base-bg-before">分销商申请条件</view>
@ -136,8 +133,8 @@
<text v-if="status == 1">您已提交{{ fenxiaoWords.fenxiao_name }}申请等待平台审核</text> <text v-if="status == 1">您已提交{{ fenxiaoWords.fenxiao_name }}申请等待平台审核</text>
<block v-else-if="status == -1"> <block v-else-if="status == -1">
<text>您提交的{{ fenxiaoWords.fenxiao_name }}申请已被拒绝请再接再厉</text> <text>您提交的{{ fenxiaoWords.fenxiao_name }}申请已被拒绝请再接再厉</text>
<view class="again-btn color-base-bg" @click="againApply" v-if="fenxiaoConfig.fenxiao_condition != 0">重新申请</view> <view class="again-btn color-base-bg" @click="againApply">重新申请</view>
<view class="again-btn color-base-bg" @click="applyFenXiao" v-else>重新申请</view> <!-- <view class="again-btn color-base-bg" @click="applyFenXiao" v-else>重新申请</view> -->
</block> </block>
</view> </view>
<view @touchmove.prevent v-if="fenXiaoAgreement.document"> <view @touchmove.prevent v-if="fenXiaoAgreement.document">
@ -426,7 +423,6 @@ export default {
} }
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.image { .image {
width: 100%; width: 100%;
@ -497,7 +493,6 @@ input::placeholder {
.apply-adv { .apply-adv {
width: 100%; width: 100%;
} }
.apply-wrap { .apply-wrap {
padding-bottom: 100rpx; padding-bottom: 100rpx;
.app-info { .app-info {
@ -793,13 +788,11 @@ input::placeholder {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
image { image {
width: 300rpx; width: 300rpx;
height: 176rpx; height: 176rpx;
margin-bottom: 50rpx; margin-bottom: 50rpx;
} }
text { text {
font-size: $font-size-goods-tag; font-size: $font-size-goods-tag;
font-weight: 600; font-weight: 600;

View File

@ -1,184 +1,398 @@
<template> <template>
<page-meta :page-style="themeColor"></page-meta> <page-meta :page-style="themeColor"></page-meta>
<view class="apply-upgrade"> <view class="apply-upgrade">
<!--顶部提示内容--> <view v-if="status === ''">
<view class="top-tips" v-if="parseInt(info.status) === 3">驳回原因{{ info.reject_cause }}</view> <!--顶部提示内容-->
<!--表单让你--> <view class="top-tips" v-if="parseInt(info.status) === 3">驳回原因{{ info.reject_cause }}</view>
<view class="title">1.填写注册申请代理的信息</view> <!--表单让你-->
<view class="form-list"> <view class="title">1.填写注册申请代理的信息</view>
<view class="form-list-block"> <view class="form-list">
<view class="left">真实姓名</view> <view class="form-list-block">
<view class="right"> <view class="left">真实姓名</view>
<input class="uni-input" v-model="info.username" placeholder="请输入真实姓名" /> <view class="right"><input class="uni-input" v-model="info.username" placeholder="请输入真实姓名" /></view>
</view> </view>
</view> <view class="form-list-block">
<view class="form-list-block"> <view class="left">联系电话</view>
<view class="left">联系电话</view> <view class="right"><input class="uni-input" v-model="info.mobile" placeholder="请输入联系电话" /></view>
<view class="right"> </view>
<input class="uni-input" v-model="info.phone" placeholder="请输入联系电话" /> <view class="form-list-block">
</view> <view class="left">身份证号</view>
</view> <view class="right"><input class="uni-input" v-model="info.id_card" placeholder="请输入身份证号" /></view>
<view class="form-list-block"> </view>
<view class="left">身份证号</view> </view>
<view class="right"> <view class="title">2.请拍摄并上传你的有效身份证</view>
<input class="uni-input" v-model="info.id_card" placeholder="请输入身份证号" /> <view class="id-card">
</view> <view class="id-card-content">
</view> <view class="id-card-block">
</view> <image :src="$util.img(info.id_card_front || default_card_front)" mode="widthFix"></image>
<view class="title">2.请拍摄并上传你的有效身份证</view> <view class="upload-buttons" @click="uploadCard('id_card_front')">上传身份证正面</view>
<view class="id-card"> </view>
<view class="id-card-content"> <view class="id-card-block">
<view class="id-card-block"> <image :src="$util.img(info.id_card_reverse || default_card_reverse)" mode="widthFix"></image>
<image :src="$util.img(info.id_card_front || default_card_front)" mode="widthFix"></image> <view class="upload-buttons" @click="uploadCard('id_card_reverse')">上传身份证反面</view>
<view class="upload-buttons" @click="uploadCard('id_card_front')">上传身份证正面</view> </view>
</view> </view>
<view class="id-card-block"> <view class="id-card-tips">
<image :src="$util.img(info.id_card_reverse || default_card_reverse)" mode="widthFix"></image> <view class="id-card-tips-line">大陆公民持有的本人有效二代身份证</view>
<view class="upload-buttons" @click="uploadCard('id_card_reverse')">上传身份证反面</view> <view class="id-card-tips-line">
</view> 上传时确保身份证
</view> <text class="tips-stress">边框完整字体清晰亮度均匀</text>
<view class="id-card-tips"> </view>
<view class="id-card-tips-line">大陆公民持有的本人有效二代身份证</view> </view>
<view class="id-card-tips-line"> </view>
上传时确保身份证<text class="tips-stress">边框完整字体清晰亮度均匀</text> <view class="title" v-if="parseInt(info.status) === 3 || parseInt(info.status) === 0">3.请完成协议</view>
</view> <view class="agree" v-if="parseInt(info.status) === 3 || parseInt(info.status) === 0">
</view> <textarea class="textarea-content" placeholder="请填写如下段落" auto-height v-model="info.upgrade_agree"></textarea>
</view> <view class="agree-text">
<view class="title" v-if="parseInt(info.status) === 3 || parseInt(info.status) === 0">3.请完成协议</view> <text class="agree-red">请输入这段话</text>
<view class="agree" v-if="parseInt(info.status) === 3 || parseInt(info.status) === 0"> {{ basicsConfig.upgrade_agree }}
<textarea class="textarea-content" placeholder="请填写如下段落" auto-height v-model="info.upgrade_agree"></textarea> <text class="agree-red" @click="$util.copy(basicsConfig.upgrade_agree)">[复制]</text>
<view class="agree-text"> </view>
<text class="agree-red">请输入这段话</text> </view>
{{ baseInfo.upgrade_agree }} <button class="submit-button" @click="submitApply">确定提交</button>
<text class="agree-red" @click="$util.copy(baseInfo.upgrade_agree)">[复制]</text> </view>
</view> <view class="empty" v-else>
</view> <image :src="$util.img('public/uniapp/fenxiao/index/no-fenxiao.png')" mode="widthFix"></image>
<button class="submit-button" @click="submitApply" v-if="parseInt(info.status) === 1" disabled>审核中</button> <text v-if="status == 1">您已提交{{ fenxiaoWords.fenxiao_name }}申请等待平台审核</text>
<button class="submit-button" @click="submitApply" v-if="parseInt(info.status) === 3 || parseInt(info.status) === 0">确定提交</button> <block v-else-if="status == -1">
<!--登录弹框--> <text>您提交的{{ fenxiaoWords.fenxiao_name }}申请已被拒绝请再接再厉</text>
<ns-login ref="login"></ns-login> <view class="again-btn color-base-bg" @click="againApply">重新申请</view>
<!--加载动画--> </block>
</view>
<!--登录弹框-->
<ns-login ref="login"></ns-login>
<!--加载动画-->
<loading-cover ref="loadingCover"></loading-cover> <loading-cover ref="loadingCover"></loading-cover>
</view> </view>
</template> </template>
<script> <script>
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default { export default {
components: {}, components: {},
data() { data() {
return { return {
baseInfo : {}, isChecked: false,
default_card_front: 'public/static/img/fenxiao/id_card_front.png', isShow: true,
default_card_reverse: 'public/static/img/fenxiao/id_card_reverse.png', isIphoneX: false,
info: { //
username: '', sourceMemberInfo: {
phone: '', fenxiao_name: '无'
id_card: '', },
id_card_front: '', formData: {
id_card_reverse: '', fenXiaoName: '',
upgrade_agree: '', mobile: ''
status: 0, },
}, fenXiaoAgreement: {
agreement: {},
document: {}
},
isAgreement: false,
back: '',
isAbled: false,
status: '',
isSub: false,
fenxiaoConfig: {
fenxiao_condition: 0
},
basicsConfig: {},
goodsList: [],
isOpen: false,
baseInfo: {},
default_card_front: 'public/static/img/fenxiao/id_card_front.png',
default_card_reverse: 'public/static/img/fenxiao/id_card_reverse.png',
info: {
username: '',
mobile: '',
id_card: '',
id_card_front: '',
id_card_reverse: '',
upgrade_agree: '',
status: 0
}
}; };
}, },
mixins: [], mixins: [fenxiaoWords],
onLoad(option) {}, onLoad(option) {
onReady(){ if (option.back) this.back = option.back;
if (uni.getStorageSync('token')) { },
this.getBaseInfo(); onReady() {
} else { // if (uni.getStorageSync('token')) {
this.$refs.login.open('/pages_promotion/fenxiao/apply_upgrade'); // this.getBaseInfo();
} // } else {
}, // this.$refs.login.open('/pages_promotion/fenxiao/apply_upgrade');
onShow() {}, // }
},
async onShow() {
setTimeout(() => {
if (this.addonIsExist && !this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
mask: true,
duration: 2000
});
setTimeout(() => {
this.$util.redirectTo('/pages/index/index');
}, 2000);
return;
}
}, 1000);
this.isIphoneX = this.$util.uniappIsIPhoneX();
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + '申请');
if (uni.getStorageSync('token')) {
this.applyStatus();
this.getSourceMemberInfo();
} else {
this.$util.redirectTo(
'/pages_tool/login/login',
{
back: '/pages_promotion/fenxiao/apply'
},
'redirectTo'
);
}
this.getFenxiaoConfig();
this.getFenxiaoBasicsConfig();
},
methods: { methods: {
// toClose() {
getBaseInfo(){ this.$refs.applyPopup.close();
let _this = this; },
_this.$api.sendRequest({ ckeckedRuler() {
url: '/fenxiao/api/apply/upgradeBase', this.isChecked = !this.isChecked;
success: res => { },
if (res.code === 0) { goodsImg(imgStr) {
_this.baseInfo = res.data; let imgs = imgStr.split(',');
if(res.data.info) _this.info = res.data.info; return imgs[0]
? this.$util.img(imgs[0], {
size: 'mid'
})
: this.$util.getDefaultImage().goods;
},
imgError(index) {
this.goodsList[index].goods_image = this.$util.getDefaultImage().goods;
},
onOpen() {
this.isOpen = this.isOpen ? false : true;
this.getFenxiaoConfig();
},
goodsTag(data) {
return data.label_name || '';
},
applyStatus() {
this.$api.sendRequest({
url: '/fenxiao/api/apply/status',
data: {},
success: res => {
if (res.code >= 0 && res.data) {
this.status = res.data.status;
this.isSub = false;
if (this.status == 2) {
this.$util.redirectTo('/pages/member/index');
}
}
this.$refs.loadingCover.hide();
}
});
},
navigateBack() {
this.$util.goBack();
},
//
getAgreement() {
this.$api.sendRequest({
url: '/fenxiao/api/config/agreement',
success: res => {
if (res.code === 0) {
this.fenXiaoAgreement = res.data;
if (this.fenXiaoAgreement.agreement.is_agreement === '1') {
this.isAgreement = true;
}
}
}
});
},
openPopup() {
if (this.isAgreement) this.$refs.applyPopup.open();
},
closePopup() {
this.$refs.applyPopup.close();
},
fenXiaoValidata() {
let rule = [
{
name: 'fenXiaoName',
checkType: 'required',
errorMsg: '请输入' + this.fenxiaoWords.fenxiao_name + '名称'
},
{
name: 'mobile',
checkType: 'required',
errorMsg: '请输入手机号'
},
{
name: 'mobile',
checkType: 'phoneno',
errorMsg: '请输入正确的手机号'
}
];
var checkRes = validate.check(this.formData, rule);
if (checkRes) {
return true;
} else {
this.$util.showToast({
title: validate.error
});
return false;
}
},
// 广
getSourceMemberInfo() {
this.$api.sendRequest({
url: '/fenxiao/api/fenxiao/sourceinfo',
success: res => {
if (res.code == 0 && res.data) {
this.sourceMemberInfo = res.data;
}
}
});
},
/**
* 重新申请
*/
againApply() {
this.status = '';
},
/**
* 获取申请条件
*/
getFenxiaoConfig() {
this.$api.sendRequest({
url: '/fenxiao/api/config/fenxiao',
data: {},
success: res => {
if (res.code >= 0 && res.data) {
this.fenxiaoConfig = res.data;
this.goodsList = res.data.goods_list;
if (this.goodsList.length <= 3) {
this.isShow = false;
} else if (this.goodsList.length > 3 && this.isOpen == true) {
this.isShow = true;
this.goodsList = res.data.goods_list.slice(0, 3);
}
}
}
});
},
/**
* 获取分销基本配置
*/
getFenxiaoBasicsConfig() {
this.$api.sendRequest({
url: '/fenxiao/api/config/basics',
data: {},
success: res => {
if (res.code >= 0 && res.data) {
this.basicsConfig = res.data;
}
}
});
},
if(parseInt(this.info.status) === 2){ onBackPress(options) {
_this.$util.showToast({ if (options.from === 'navigateBack') {
title: "审核已经通过", return false;
mask: true, }
duration: 1000, this.$util.redirectTo('/pages/member/index');
success: function () { return true;
setTimeout(() => { },
_this.$util.redirectTo('/pages_promotion/fenxiao/index', {}, 'redirectTo'); //
}, 1000); getBaseInfo() {
} let _this = this;
}); _this.$api.sendRequest({
} url: '/fenxiao/api/apply/upgradeBase',
success: res => {
if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); if (res.code === 0) {
} _this.baseInfo = res.data;
else{ if (res.data.info) _this.info = res.data.info;
this.$util.showToast({ if (parseInt(this.info.status) === 2) {
title: res.message _this.$util.showToast({
}); title: '审核已经通过',
} mask: true,
}, duration: 1000,
fail: res => { success: function() {
if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); setTimeout(() => {
} _this.$util.redirectTo('/pages_promotion/fenxiao/index', {}, 'redirectTo');
}); }, 1000);
}, }
// });
uploadCard(type) { }
let _this = this; if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
this.$util.upload(1, {path: 'evaluateimg'}, res => { } else {
if(type === 'id_card_front') _this.info.id_card_front = res[0]; this.$util.showToast({
else _this.info.id_card_reverse = res[0]; title: res.message
});
this.$forceUpdate(); }
}); },
}, fail: res => {
// if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
submitApply(){ }
let _this = this; });
let defaultRule = [ },
{name: 'username', checkType: 'required', errorMsg: '请输入真实姓名'}, //
{name: 'phone', checkType: 'required', errorMsg: '请输入联系电话'}, uploadCard(type) {
{name: 'phone', checkType: 'phoneno', errorMsg: '请输入正确的手机号'}, let _this = this;
{name: 'id_card', checkType: 'required', errorMsg: '请输入身份证号'}, this.$util.upload(1, { path: 'evaluateimg' }, res => {
{name: 'id_card_front', checkType: 'required', errorMsg: '请上传身份证正面'}, if (type === 'id_card_front') _this.info.id_card_front = res[0];
{name: 'id_card_reverse', checkType: 'required', errorMsg: '请上传身份证反面'}, else _this.info.id_card_reverse = res[0];
{name: 'upgrade_agree', checkType: 'required', errorMsg: '请输入协议内容以代表同意当前协议'},
{name: 'upgrade_agree', checkType: 'same', errorMsg: '协议不一致,请检查输入协议是否和下放协议内容一直', checkRule: this.baseInfo.upgrade_agree},
];
_this.$util.verify(_this.info,defaultRule).then(res => {
_this.$api.sendRequest({
url: '/fenxiao/api/apply/upgradeApply',
data: _this.info,
success: res => {
if (res.code === 0) {
_this.$util.showToast({
title: '申请成功',
success: function () {
_this.getBaseInfo();
_this.$forceUpdate();
}
});
}else{
this.$util.showToast({
title: res.message
});
}
},
fail: res => {
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}
});
}).catch((reject)=>{
console.log(reject);
});
},
this.$forceUpdate();
});
},
//
submitApply() {
let _this = this;
let defaultRule = [
{ name: 'username', checkType: 'required', errorMsg: '请输入真实姓名' },
{ name: 'mobile', checkType: 'required', errorMsg: '请输入联系电话' },
{ name: 'mobile', checkType: 'phoneno', errorMsg: '请输入正确的手机号' },
{ name: 'id_card', checkType: 'required', errorMsg: '请输入身份证号' },
{ name: 'id_card_front', checkType: 'required', errorMsg: '请上传身份证正面' },
{ name: 'id_card_reverse', checkType: 'required', errorMsg: '请上传身份证反面' },
{ name: 'upgrade_agree', checkType: 'required', errorMsg: '请输入协议内容以代表同意当前协议' },
{ name: 'upgrade_agree', checkType: 'same', errorMsg: '协议不一致,请检查输入协议是否和下放协议内容一直', checkRule: this.basicsConfig.upgrade_agree }
];
_this.$util
.verify(_this.info, defaultRule)
.then(res => {
_this.$api.sendRequest({
url: '/fenxiao/api/apply/applyfenxiao',
data: {
..._this.info,
fenxiao_condition: 1
},
success: res => {
if (res.code >= 0 && res.data) {
if (this.basicsConfig.is_examine == 1) {
this.applyStatus();
} else {
this.$util.redirectTo('/pages_promotion/fenxiao/index');
}
} else {
this.isSub = false;
this.$util.showToast({
title: res.message
});
}
},
fail: res => {
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}
});
})
.catch(reject => {
console.log(reject);
});
}
}, },
onBackPress(options) { onBackPress(options) {
if (options.from === 'navigateBack') return false; if (options.from === 'navigateBack') return false;
@ -187,143 +401,166 @@ export default {
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.apply-upgrade{ .apply-upgrade {
padding: 30rpx; padding: 30rpx;
.top-tips {
color: #f56c6c;
background-color: #fde2e2;
position: relative;
left: -15px;
top: -15px;
width: 100%;
padding: 15px;
line-height: 20px;
font-size: 15px;
}
.title {
width: 100%;
font-size: 30rpx;
color: #999999;
margin-bottom: 20rpx;
}
.form-list {
.form-list-block {
width: 100%;
color: #000000;
height: 90rpx;
line-height: 90rpx;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
align-items: center;
justify-content: space-between;
.left {
height: 70rpx;
font-size: 30rpx;
width: 240rpx;
}
.right {
font-size: 30rpx;
width: calc(100% - 240rpx);
input {
height: 70rpx;
text-align: right;
font-size: 30rpx;
color: #898989;
}
}
}
}
.id-card {
.id-card-content {
width: 100%;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
align-items: flex-start;
justify-content: space-between;
.id-card-block {
width: calc(50% - 15rpx);
position: relative;
border-bottom-left-radius: 20rpx;
border-bottom-right-radius: 20rpx;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: center;
align-items: center;
overflow: hidden;
padding-top: 20rpx;
padding-bottom: 75rpx;
/deep/ image {
width: 90%;
div {
background-position: top center !important;
}
}
.upload-buttons {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
font-size: 32rpx;
text-align: center;
background: #5581fe;
color: #ecefff;
height: 60rpx;
line-height: 60rpx;
}
}
}
.id-card-tips {
padding: 30rpx 0;
.id-card-tips-line {
.tips-stress {
color: #e15c5c;
}
}
}
}
.agree {
.textarea-content {
width: calc(100% - 40rpx);
border: 2rpx solid #7796e9;
border-radius: 20rpx;
padding: 20rpx;
min-height: 300rpx;
font-size: 30rpx;
}
.agree-text {
font-size: 26rpx;
line-height: 40rpx;
margin-top: 20rpx;
.top-tips{ .agree-red {
color: #f56c6c; font-size: 26rpx;
background-color: #fde2e2; line-height: 40rpx;
position: relative; color: #ee7877;
left: -15px; }
top: -15px; }
width: 100%; }
padding: 15px; .submit-button {
line-height: 20px; background: #5581fe;
font-size: 15px; border-radius: 100rpx;
} color: #cbd9f7;
.title{ font-size: 30rpx;
width: 100%; height: 70rpx;
font-size: 30rpx; line-height: 70rpx;
color: #999999; margin-top: 100rpx;
margin-bottom: 20rpx; }
} .again-btn {
.form-list{ display: flex;
justify-content: center;
.form-list-block{ width: auto;
width: 100%; border-radius: $border-radius;
color: #000000; margin-top: 20rpx;
height: 90rpx; color: #ffffff;
line-height: 90rpx; display: flex;
display: inline-flex; align-items: center;
flex-direction: row; justify-content: center;
flex-wrap: nowrap; padding: 10rpx 60rpx;
align-content: center; box-sizing: border-box;
align-items: center; }
justify-content: space-between; .empty {
.left{ width: 100%;
height: 70rpx; margin-top: 200rpx;
font-size: 30rpx; display: flex;
width: 240rpx; flex-direction: column;
} align-items: center;
.right{ justify-content: center;
font-size: 30rpx; image {
width: calc(100% - 240rpx); width: 300rpx;
input{ height: 176rpx;
height: 70rpx; margin-bottom: 50rpx;
text-align: right; }
font-size: 30rpx; text {
color: #898989; font-size: $font-size-goods-tag;
} font-weight: 600;
} }
} }
}
.id-card{
.id-card-content{
width: 100%;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
align-items: flex-start;
justify-content: space-between;
.id-card-block{
width: calc(50% - 15rpx);
position: relative;
border-bottom-left-radius: 20rpx;
border-bottom-right-radius: 20rpx;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: center;
align-items: center;
overflow: hidden;
padding-top: 20rpx;
padding-bottom: 75rpx;
/deep/ image{
width: 90%;
div{
background-position: top center!important;
}
}
.upload-buttons{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
font-size: 32rpx;
text-align: center;
background: #5581fe;
color: #ecefff;
height: 60rpx;
line-height: 60rpx;
}
}
}
.id-card-tips{
padding: 30rpx 0;
.id-card-tips-line{
.tips-stress{
color: #e15c5c;
}
}
}
}
.agree{
.textarea-content{
width: calc(100% - 40rpx);
border: 2rpx solid #7796e9;
border-radius: 20rpx;
padding: 20rpx;
min-height: 300rpx;
font-size: 30rpx;
}
.agree-text{
font-size: 26rpx;
line-height: 40rpx;
margin-top: 20rpx;
.agree-red{
font-size: 26rpx;
line-height: 40rpx;
color: #ee7877;
}
}
}
.submit-button{
background: #5581fe;
border-radius: 100rpx;
color: #cbd9f7;
font-size: 30rpx;
height: 70rpx;
line-height: 70rpx;
margin-top: 100rpx;
}
} }
</style> </style>

View File

@ -255,7 +255,7 @@ export default {
this.getTeamNum(); this.getTeamNum();
this.showEmpty = true; this.showEmpty = true;
} else { } else {
this.$util.redirectTo('/pages_promotion/fenxiao/apply', {}, 'redirectTo'); this.$util.redirectTo('/pages_promotion/fenxiao/apply_upgrade', {}, 'redirectTo');
} }
}, },
fail: res => { fail: res => {

View File

@ -7,8 +7,7 @@
:style="{ :style="{
'padding-top': menuButtonBounding.top + 'px', 'padding-top': menuButtonBounding.top + 'px',
height: menuButtonBounding.height + 'px' height: menuButtonBounding.height + 'px'
}" }">
>
<view class="navbar-title">确认订单</view> <view class="navbar-title">确认订单</view>
</view> </view>
<view class="payment-navbar-block" :style="{ height: menuButtonBounding.bottom + 'px' }"></view> <view class="payment-navbar-block" :style="{ height: menuButtonBounding.bottom + 'px' }"></view>
@ -37,8 +36,7 @@
<view <view
class="address-box" class="address-box"
:class="{ 'not-delivery-type': orderPaymentData.shop_goods_list.express_type.length <= 1 }" :class="{ 'not-delivery-type': orderPaymentData.shop_goods_list.express_type.length <= 1 }"
v-if="orderPaymentData.delivery.delivery_type != 'store'" v-if="orderPaymentData.delivery.delivery_type != 'store'">
>
<block v-if="orderPaymentData.delivery.delivery_type == 'local'"> <block v-if="orderPaymentData.delivery.delivery_type == 'local'">
<block v-if="storeInfo.storeList.length > 1"> <block v-if="storeInfo.storeList.length > 1">
<view class="local-delivery-store" v-if="Object.keys(storeInfo.currStore).length" @click="$refs.deliveryPopup.open()"> <view class="local-delivery-store" v-if="Object.keys(storeInfo.currStore).length" @click="$refs.deliveryPopup.open()">

View File

@ -0,0 +1,174 @@
<template>
<view class='szjp'>
<view v-if="show">
<view class="mask" @tap="Close"></view>
<view class="box" :class="AlertObj[AlertClass][AlertClassUp]">
<view class="bottom">
<view class="bg">
<image src="./static/bg.png" mode="widthFix" />
</view>
<view class="tle">
<view class="tle_lft">
<image src="./static/pwd.png" mode="widthFix" />
<view class="tle_1">{{txt}}</view>
<view class="tle_2">(长度{{pwdlength}})</view>
</view>
<view class="tle_rgt" @tap.stop="is_vis=!is_vis">
<block v-if="is_vis">
<image src="./static/yj2.png" mode="widthFix" />
</block>
<block v-else>
<image src="./static/yj1.png" mode="widthFix" />
</block>
</view>
</view>
<view class="pwd_box" @click.stop>
<view class="pwd-text" :class="{active:(idx==k)}" v-for="(v,k) in pwdlength" :key="k">
{{star_lis[k]}}
</view>
</view>
<view class="pwd_info">
<view @click="$util.redirectTo('/pages_tool/member/pay_password')">忘记密码?</view>
</view>
<view class="solt" @click.stop>
<view class="s_lft">
<button class="s_li" type="primary" plain="true" v-for="(v,k) in 9" :key="k"
@tap="click(k+1)">{{k+1}}</button>
<button class="s_li s_o" type="primary" plain="true" @tap=click(0)>0</button>
<button class="s_li s_sq" type="primary" plain="true" @tap="Close">
<image src="./static/sq.png" mode="widthFix" />
</button>
</view>
<view class="s_rgt">
<view class="s_cx">
<button class="s_li s_x" type="primary" plain="true" @tap="del">
<image src="./static/ht.png" mode="widthFix" />
</button>
</view>
<view class="s_qd">
<button class="s_li s_s " type="primary" plain="true" @tap="submit">确定</button>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
/*引入插件*/
export default {
props: {
txt: {
type: String,
default: '支付密码'
},
pwdlength: {
type: [Number, String],
default: 1
},
isPass:{
type: Boolean,
default: false
}
},
data() {
return {
Repeat: true,
show: false,
AlertObj: [
['a-bounceinB', 'a-bounceoutB'],
],
AlertClass: 0,
AlertClassUp: 0,
res_pwd: [],
fa_par: '',
is_vis: false,//
}
},
//
computed: {
idx() {
return this.res_pwd.length
},
star_lis() {
if (this.is_vis) {
return this.res_pwd
}else {
let arr = [];
this.res_pwd.forEach(v => {
arr.push('*')
});
return arr;
}
}
},
methods: {
click(e) {
if (this.res_pwd.length <= this.pwdlength - 1) {
this.res_pwd.push(e)
// #ifdef APP-PLUS
plus.device.vibrate(50);//
// #endif
} else {
this.toast(`最大长度${this.pwdlength}`)
}
},
del() {
this.res_pwd.pop()
// #ifdef APP-PLUS
plus.device.vibrate(50);//
// #endif
},
submit() {
// console.log('', this.res_pwd.join(''))
// #ifdef APP-PLUS
plus.device.vibrate(50);//
// #endif
if (this.res_pwd.length == this.pwdlength) {
let res = this.res_pwd.join('')
this.$emit('pwd_e', res);//
this.Close()
} else {
this.toast(`长度未满足`)
}
},
//
Open(par) {
if (par) {
console.log('父元素传参', par)
this.fa_par = par;//
}
if (!this.Repeat) { return false }
this.res_pwd = []
this.Repeat = false;
this.AlertClassUp = 0;
this.show = true
setTimeout(() => {
this.Repeat = true;
}, 300);
},
//
Close() {
if (!this.Repeat) { return false }
clearTimeout(this.SetTime);
this.Repeat = false;
this.AlertClassUp = 1;
setTimeout(() => {
this.show = false;
this.Repeat = true;
}, 300);
},
toast(val) {
uni.showToast({
title: val,
icon: 'error',
});
}
}
}
</script>
<style lang="scss" scoped>
/*引入css文件*/
@import "./static/szjp.scss";
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,288 @@
.mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.4);
}
.box {
width: 100vw;
height: 50vh;
position: fixed;
bottom: 0;
left: 0;
margin: auto;
z-index: 101;
display: flex;
justify-content: center;
align-items: center;
.center {
position: absolute;
}
.bottom {
position: absolute;
bottom: 0;
width: 100%;
background: #fff;
border-radius: 30rpx 30rpx 0 0;
.tle {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 3%;
.tle_lft {
display: flex;
align-items: center;
image {
width:60rpx;
height:60rpx;
}
.tle_1 {
font-size: 30rpx;
color: #444;
font-weight: bold;
letter-spacing: 3rpx;
padding-left: 8rpx;
}
.tle_2 {
font-size: 24rpx;
color: #999;
letter-spacing: 3rpx;
padding-left: 10rpx;
}
}
.tle_rgt {
padding: 0 20rpx;
image {
width: 40rpx;
}
}
}
.pwd_info {
text-align: center;
font-size: 24rpx;
color: red;
margin: 10px;
height: 100rpx;
line-height: 80rpx;
}
.bg {
opacity: 0.5;
position: absolute;
top: 85rpx;
// left: 0;
right: 0;
image {
width: 250rpx;
}
}
}
}
.pwd_box {
display: flex;
align-items: center;
justify-content: center;
background: #fff;
padding: 20rpx 0 0 0;
.pwd-text {
position: relative;
line-height: 60rpx;
vertical-align: middle;
text-align: center;
font-size: 46rpx;
color: #0fb361;
font-weight: bold;
width: 60rpx;
height: 70rpx;
margin-right: 20rpx;
display: inline-block;
border-bottom: solid 1px #666;
}
.pwd-text.active:after {
-webkit-animation: twinkle 1s infinite;
animation: twinkle 1s infinite;
height: 40rpx;
width: 5rpx;
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #007aff;
}
@-webkit-keyframes twinkle {
from {
background-color: #007aff;
}
to {
background-color: transparent;
}
}
}
.solt {
width: 96vw;
background: #f5f5f5;
padding: 40rpx 2vw;
display: flex;
align-items: center;
border-top: 1px solid #ccc;
// border-radius: 30rpx 30rpx 0 0;
.s_lft {
width: 78vw;
padding-right: 10rpx;
height: 100%;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
.s_li {
width: 31%;
margin-bottom: 20rpx;
background: #fff;
height: 90rpx;
line-height: 90rpx;
border-radius: 10rpx;
text-align: center;
font-size: 40rpx;
color: #444;
font-weight: bold;
border: 1px solid #fff;
margin: 10px 5px 5px 0;
}
.s_o {
width: 65%;
}
.button-hover {
background: #eee !important;
}
.s_sq {
display: flex;
align-items: center;
justify-content: center;
image {
width: 30rpx;
height: 30rpx;
}
}
}
.s_rgt {
width: 20vw;
height: 100%;
.s_li {
width: 100%;
margin-bottom: 20rpx;
background: #fff;
border-radius: 10rpx;
text-align: center;
font-size: 28rpx;
color: #000;
font-weight: bold;
border: 1px solid #fff;
}
.s_s {
height: 200rpx;
line-height: 200rpx;
color: #fff;
margin: 0 0 -5px;
background: #0fb361;
}
.s_x {
height: 200rpx;
line-height: 200rpx;
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 5px;
image {
width: 50rpx;
}
}
.s_cx {
.button-hover {
background: #eee !important;
}
}
.s_qd {
.button-hover {
background: #2aa515 !important;
}
}
}
}
/* 弹入-从下 */
.a-bounceinB {
-webkit-animation: 0.3s ease-out backwards;
-moz-animation: 0.3s ease-out backwards;
-ms-animation: 0.3s ease-out backwards;
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-animation-name: bounceinB;
-moz-animation-name: bounceinB;
-ms-animation-name: bounceinB;
animation-name: bounceinB;
}
/* 弹入-从下 */
@keyframes bounceinB {
0% {
opacity: 0;
transform: translateY(100%);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/* 弹出-向下 */
.a-bounceoutB {
-webkit-animation: 0.3s ease-in forwards;
-moz-animation: 0.3s ease-in forwards;
-ms-animation: 0.3s ease-in forwards;
animation: 0.3s ease-in forwards;
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-animation-name: bounceoutB;
-moz-animation-name: bounceoutB;
-ms-animation-name: bounceoutB;
animation-name: bounceoutB;
}
/* 弹出-向下 */
@keyframes bounceoutB {
0% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(100%);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -27,9 +27,7 @@
<script> <script>
import popup from '../uni-popup-new/popup.js' import popup from '../uni-popup-new/popup.js'
import { import {initVueI18n} from '@dcloudio/uni-i18n'
initVueI18n
} from '@dcloudio/uni-i18n'
import messages from '../uni-popup-new/i18n/index.js' import messages from '../uni-popup-new/i18n/index.js'
const { t } = initVueI18n(messages) const { t } = initVueI18n(messages)
/** /**

View File

@ -52,46 +52,62 @@
ref="detail" ref="detail"
:show="details_show" :show="details_show"
mode-class="slide-top" mode-class="slide-top"
:duration="2000" :duration="2000">
> <view class="detail-content-item">
<view v-html="info.goods_content"></view> <view class="goods-details" v-if="info.goods_content">
<rich-text :nodes="info.goods_content" @click="showImg($event)" :data-nodes="info.goods_content"></rich-text>
</view>
<view class="goods-details active" v-else>该商家暂无上传相关详情哦</view>
</view>
</uni-transition> </uni-transition>
</view> </view>
</view> </view>
<!--按钮--> <!--按钮-->
<view class="bottom-buttons"> <view class="bottom-buttons">
<view class="button-item" @click="editRemark">添加备注</view> <view class="button-item" @click="editRemark">添加备注</view>
<view class="button-item" @click="buy">立即采购</view> <view class="button-item" @click="payOpen">立即采购</view>
</view> </view>
<!--添加备注内容--> <!--添加备注内容-->
<uni-popup ref="orderRemarks" type="dialog" class="order-remarks-content"> <uni-popup ref="orderRemarks" type="dialog" class="order-remarks-content">
<uni-popup-dialog ref="inputClose" mode="input" placeholder="请输入订单备注" @close="$refs.orderRemarks.close()" @confirm="confirmRemarks"></uni-popup-dialog> <uni-popup-dialog ref="inputClose" mode="input" placeholder="请输入订单备注"
:value="order_remarks"
@close="$refs.orderRemarks.close()"
@confirm="confirmRemarks">
</uni-popup-dialog>
</uni-popup> </uni-popup>
</view> </view>
<view v-else> <view v-else>
<ns-empty :isIndex="false" text="未到秒杀时间"></ns-empty> <ns-empty :isIndex="false" text="未到秒杀时间"></ns-empty>
</view> </view>
<pay-pop txt="支付密码" :pwdlength="6" ref="payPop" @pwd_e="pwdEvend" />
<!--登录弹框--> <!--登录弹框-->
<ns-login ref="login"></ns-login> <ns-login ref="login"></ns-login>
<!--加载动画--> <!--加载动画-->
<loading-cover ref="loadingCover"></loading-cover> <loading-cover ref="loadingCover"></loading-cover>
</view> </view>
</template> </template>
<script> <script>
import uniTransition from '@/pages_rush/components/uni-transition/uni-transition.vue'; import uniTransition from '@/pages_rush/components/uni-transition/uni-transition.vue';
import uniPopup from '@/pages_rush/components/uni-popup-new/uni-popup.vue'; import uniPopup from '@/pages_rush/components/uni-popup-new/uni-popup.vue';
import uniPopupDialog from '@/pages_rush/components/uni-popup-dialog/uni-popup-dialog.vue'; import uniPopupDialog from '@/pages_rush/components/uni-popup-dialog/uni-popup-dialog.vue';
import payPop from '@/pages_rush/components/pay-pop/pay-pop.vue';
import payment from './payment.js';
export default { export default {
components: { components: {
uniTransition, uniTransition,
uniPopup, uniPopup,
payPop,
uniPopupDialog uniPopupDialog
}, },
mixins: [payment],
data() { data() {
return { return {
api: {
payment: '/futures/api/ordercreate/payment',
calculate: '/futures/api/ordercreate/calculate',
create: '/futures/api/ordercreate/create'
},
createDataKey:'futuresOrderCreateData',
id: 0, id: 0,
// //
end_time: 1680170346,// end_time: 1680170346,//
@ -104,24 +120,50 @@ export default {
details_show: true, details_show: true,
info: {}, info: {},
order_remarks: '', order_remarks: '',
userInfo:''
}; };
}, },
mixins: [],
onLoad(option) { onLoad(option) {
this.id = option.id; this.id = option.id;
this.orderCreateData.futures_id=this.id;
this.getDetail(option.id); this.getDetail(option.id);
}, },
onShow() {}, onShow() {
this.getMemberInfo();
},
onReady(){ onReady(){
// //
if (!uni.getStorageSync('token')) this.$refs.login.open('/pages_rush/futures/seckill'); if (!uni.getStorageSync('token')) this.$refs.login.open('/pages_rush/futures/seckill');
if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}, },
methods: { methods: {
async getMemberInfo() {
this.userInfo = uni.getStorageSync('userInfo');
if(this.userInfo) return;
let res = await this.$api.sendRequest({
url: '/api/member/info',
async: false
});
if (res.code >= 0 && res.data) {
this.token = uni.getStorageSync('token');
this.userInfo = res.data;
uni.setStorageSync('userInfo', this.userInfo);
}
},
payOpen() {
if (!uni.getStorageSync('token')) {
this.$util.redirectTo('/pages_tool/login/login');
}
this.$refs.payPop.Open()
},
pwdEvend(pass){
console.log('密码是:', pass)
this.orderCreateData.payPassword=pass;
this.orderCreate(); //
},
// //
getDetail(id) { getDetail(id) {
this.$api.sendRequest({ this.$api.sendRequest({
url: '/futures/api/futures/detail', url: '/futures/api/futures/detail',
data: { data: {
@ -161,7 +203,9 @@ export default {
}, },
// //
confirmRemarks(value){ confirmRemarks(value){
console.log(value)
this.order_remarks = value || ''; this.order_remarks = value || '';
this.orderCreateData.buyer_message=this.order_remarks;
this.$refs.orderRemarks.close(); this.$refs.orderRemarks.close();
}, },
// //
@ -177,7 +221,29 @@ export default {
this.$util.redirectTo('/pages_rush/futures/payment'); this.$util.redirectTo('/pages_rush/futures/payment');
} }
}); });
} },
showImg(e) {
//
let contentimg = e.target.dataset.nodes || e.currentTarget.dataset.nodes;
let arrImg = [];
for (var i = 0; i < contentimg.length; i++) {
var img = contentimg[i].children;
if (Array.isArray(img)) {
for (var j = 0; j < img.length; j++) {
if (img[j].attrs && img[j].name == "img") {
if (img[j].attrs.src) {
arrImg.push(img[j].attrs.src)
}
}
}
}
}
//api
uni.previewImage({
current: arrImg,
urls: arrImg,
})
}
}, },
onBackPress(options) { onBackPress(options) {
if (options.from === 'navigateBack') return false; if (options.from === 'navigateBack') return false;
@ -315,7 +381,6 @@ export default {
background: #fcfcfc; background: #fcfcfc;
margin-top: 20rpx; margin-top: 20rpx;
padding: 20rpx; padding: 20rpx;
.detail-top{ .detail-top{
width: 100%; width: 100%;
height: 70rpx; height: 70rpx;
@ -345,8 +410,23 @@ export default {
} }
} }
.goods-detail-content{ .goods-detail-content{
overflow: hidden; // padding: 5px 10px 10px;
margin-bottom: 52px;
overflow: hidden;
} }
.goods-details{
// padding: 5px 10px 10px;
margin-bottom: 52px;
overflow: hidden;
}
.goods-details.active {
min-height: 150rpx;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
color: $color-tip;
}
} }
.bottom-buttons{ .bottom-buttons{
position: fixed; position: fixed;

View File

@ -1,29 +1,12 @@
<template> <template>
<page-meta :page-style="themeColor"></page-meta> <page-meta :page-style="themeColor"></page-meta>
<view class="apply"> <view class="apply">
<!--登录弹框--> <!--登录弹框-->
<ns-login ref="login"></ns-login> <ns-login ref="login"></ns-login>
<!--加载动画--> <!--加载动画-->
<loading-cover ref="loadingCover"></loading-cover> <loading-cover ref="loadingCover"></loading-cover>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
@ -38,20 +21,12 @@ export default {
onReady(){ onReady(){
// //
if (!uni.getStorageSync('token')) this.$refs.login.open('/pages_rush/futures/list'); if (!uni.getStorageSync('token')) this.$refs.login.open('/pages_rush/futures/list');
if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}, },
methods: { methods: {
}, },
onBackPress(options) { onBackPress(options) {
if (options.from === 'navigateBack') return false; if (options.from === 'navigateBack') return false;
@ -60,14 +35,7 @@ export default {
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>

View File

@ -26,7 +26,7 @@
<view class="punish-title">违规总次数</view> <view class="punish-title">违规总次数</view>
<view class="punish-num">{{ user.total_violation_num || 0 }}</view> <view class="punish-num">{{ user.total_violation_num || 0 }}</view>
</view> </view>
</view> </view
<!--菜单列表--> <!--菜单列表-->
<view class="menu-list"> <view class="menu-list">
<view class="title">小店订单</view> <view class="title">小店订单</view>
@ -43,6 +43,7 @@
<i class="icondiy icon-system-arrow-right-s-line"></i> <i class="icondiy icon-system-arrow-right-s-line"></i>
</view> </view>
</view> </view>
<view class="point">您已完成{{user.business_num}}次寄售</view>
</view> </view>
</view> </view>
<!--登录弹框--> <!--登录弹框-->
@ -306,6 +307,12 @@ export default {
} }
} }
} }
.point {
justify-content: flex-end;
display: flex;
margin-top: 15px;
}
} }
} }
.punish{ .punish{

View File

@ -13,8 +13,7 @@
<view <view
v-for="(item,index) in tabs" :key="index" v-for="(item,index) in tabs" :key="index"
:class="['tabs-item',{'tabs-item-active': (item.status === tabs_active)}]" :class="['tabs-item',{'tabs-item-active': (item.status === tabs_active)}]"
@click="tabs_active = item.status" @click="tabs_active = item.status">
>
{{ item.title }} {{ item.title }}
</view> </view>
</view> </view>
@ -40,7 +39,8 @@
</view> </view>
</view> </view>
<view class="buttons"> <view class="buttons">
<view class="button-item" @click="$util.redirectTo('/pages_rush/futures/order_details',{ futures_id: item.id })">查看详情</view> <view v-if="item.status=='6'" class="button-item color-base-text color-base-border" @click="quickPay(item)">支付</view>
<view v-else class="button-item" @click="$util.redirectTo('/pages_rush/futures/order_details',{ futures_id: item.id })">查看详情</view>
</view> </view>
</view> </view>
</view> </view>
@ -49,26 +49,26 @@
</view> </view>
</block> </block>
</mescroll-uni> </mescroll-uni>
<ns-payment ref="choosePaymentPopup"></ns-payment>
<ns-payment ref="choosePaymentMergePopup"></ns-payment>
<!--登录弹框--> <!--登录弹框-->
<ns-login ref="login"></ns-login> <ns-login ref="login"></ns-login>
<!--加载动画--> <!--加载动画-->
<loading-cover ref="loadingCover"></loading-cover> <loading-cover ref="loadingCover"></loading-cover>
</view> </view>
</template> </template>
<script> <script>
import nsPayment from '@/components/payment/payment.vue';
import orderMethod from '../order/public/js/orderMethod.js';
export default { export default {
data() { data() {
return { return {
orderData: '',
payMoney: 0,
payMoneyMerge: 0,
searchText: '', searchText: '',
// all:stock:release:sold:
tabs_active: 'all', tabs_active: 'all',
tabs: [ tabs: [],
{title: '全部', status: 'all'},
{title: '库存', status: 'stock'},
{title: '已上架', status: 'release'},
{title: '已售卖', status: 'sold'}
],
page_titles: { page_titles: {
all: '全部订单', all: '全部订单',
stock: '库存中订单', stock: '库存中订单',
@ -87,30 +87,32 @@ export default {
} }
}; };
}, },
components: {}, components: {
mixins: [], nsPayment
},
mixins: [orderMethod],
onLoad(option) { onLoad(option) {
// //
if(option.status == 'release'){ if(option.status == 'release'){
this.tabs_active = '待付款订单'; this.tabs_active = 6;
this.tabs = [ this.tabs = [
{title: '待付款订单', status: '待付款订单'}, {title: '未付款订单', status: 6},
{title: '商城已完成', status: '商城已完成'}, {title: '订单已完成', status: 3},
] ]
} }
if(option.status == 'all'){ if(option.status == 'all'){
this.tabs_active = '采购未付款'; this.tabs_active = 'myorderpay';
this.tabs = [ this.tabs = [
{title: '采购未付款', status: '采购未付款'}, {title: '采购未付款', status: 'myorderpay'},
{title: '成功完成订单', status: '成功完成订单'}, {title: '成功完成订单', status: 'myorderend'},
] ]
} }
if(option.status == 'stock'){ if(option.status == 'stock'){
this.tabs_active = '库存订单'; this.tabs_active = 'stock';
this.tabs = [ this.tabs = [
{title: '库存订单', status: '库存订单'}, {title: '库存订单', status: 'stock'},
{title: '提货订单', status: '提货订单'}, {title: '提货订单', status: 'pickup'},
{title: '审核出售', status: '审核出售'}, {title: '审核出售', status: 'time'},
] ]
} }
// //
@ -133,6 +135,12 @@ export default {
} }
}, },
methods: { methods: {
quickPay(orderData){
console.log(orderData);
this.orderData = orderData;
this.payMoney = parseFloat(orderData.pay_money);
this.orderPay(orderData);
},
statusText(item){ statusText(item){
switch (item.status){ switch (item.status){
case 1: case 1:
@ -176,7 +184,6 @@ export default {
success: res => { success: res => {
if(parseInt(res.code) === 0){ if(parseInt(res.code) === 0){
mescroll.endSuccess(Object.keys(res.data.list).length); mescroll.endSuccess(Object.keys(res.data.list).length);
// //
if (parseInt(mescroll.num) === 1){ if (parseInt(mescroll.num) === 1){
this.list = []; // this.list = []; //
@ -185,7 +192,6 @@ export default {
}else { }else {
this.msg = res.message; this.msg = res.message;
} }
if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}, },
fail: res => { fail: res => {
@ -384,6 +390,17 @@ export default {
font-size: 26rpx; font-size: 26rpx;
border-radius: 10rpx; border-radius: 10rpx;
} }
.action-btn {
line-height: 1;
padding: 20rpx 26rpx;
color: #333;
display: inline-block;
border-radius: $border-radius;
background: #fff;
border: 2rpx solid #999;
font-size: $font-size-tag;
margin-left: 10rpx;
}
} }
} }
} }

View File

@ -20,6 +20,10 @@
<view class="left">用户昵称</view> <view class="left">用户昵称</view>
<view class="right">{{ info.seller_nickname }}</view> <view class="right">{{ info.seller_nickname }}</view>
</view> </view>
<view class="info-list-block">
<view class="left">买家姓名</view>
<view class="right ">{{ info.buyer_name }}</view>
</view>
<view class="info-list-block"> <view class="info-list-block">
<view class="left">订单金额</view> <view class="left">订单金额</view>
<view class="right right-price">{{ info.unit_price }}</view> <view class="right right-price">{{ info.unit_price }}</view>
@ -219,7 +223,7 @@ export default {
} }
}); });
}, },
// //
sale(agree_split_order = 0){ sale(agree_split_order = 0){
let _this = this; let _this = this;
// //
@ -264,7 +268,7 @@ export default {
duration: 2000, duration: 2000,
success: function () { success: function () {
setTimeout(() => { setTimeout(() => {
_this.$util.redirectTo('/pages_rush/futures/order', { status: 'release' }); _this.$util.redirectTo('/pages_rush/futures/order', {status: 'stock'});
}, 1000); }, 1000);
} }
}); });

View File

@ -0,0 +1,67 @@
export default {
data() {
return {
isIphoneX: false,
orderCreateData: {
buyer_message: '',
futures_id: '',
},
orderPaymentData: {},
isSub: false,
tempData: null,
canLocalDelicery: true,
// 选择自提、配送防重判断
judge:true,
goodsOpen: true,
min:1,
modifyFlag: false,
};
},
methods: {
// 订单创建
orderCreate() {
if (this.verify()) {
if (this.isSub) return;
this.isSub = true;
var data = this.$util.deepClone(this.orderCreateData);
this.$api.sendRequest({
url: '/futures/api/ordercreate/create',
data,
success: res => {
uni.hideLoading();
if (res.code >= 0) {
// if (parseFloat(this.orderPaymentData.pay_money) > 0) {
// let orderCreateData = uni.getStorageSync('giftcardOrderCreateData');
// orderCreateData.out_trade_no = res.data;
// uni.setStorageSync('giftcardOrderCreateData', orderCreateData);
// this.$refs.choosePaymentPopup.getPayInfo(res.data);
// this.isSub = false;
// } else {
// }
} else {
this.$util.showToast({
title: res.message
});
}
},
fail: res => {
uni.hideLoading();
this.isSub = false;
}
})
}
},
// 订单验证
verify() {
return true;
}
},
filters: {
// 金额格式化输出
moneyFormat(money) {
return parseFloat(money).toFixed(2);
}
}
}

View File

@ -4,7 +4,6 @@
<common-payment :api="api" create-data-key="futuresOrderCreateData" ref="payment"></common-payment> <common-payment :api="api" create-data-key="futuresOrderCreateData" ref="payment"></common-payment>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {

View File

@ -1,462 +1,483 @@
<template> <template>
<page-meta :page-style="themeColor"></page-meta> <page-meta :page-style="themeColor"></page-meta>
<view class="seckill"> <view class="seckill">
<!--顶部内容--> <!--顶部内容-->
<view class="seckill-top"> <view class="seckill-top">
<image class="top-background-image" :src="$util.img('public/static/img/futures/seckill-bg.png')" mode="widthFix"></image> <image class="top-background-image" :src="$util.img('public/static/img/futures/seckill-bg.png')" mode="widthFix"></image>
<view class="seckill-count-down" v-if="h > 0 || i > 0 || s > 0"> <view class="seckill-count-down" v-if="h > 0 || i > 0 || s > 0">
<text v-if="parseInt(activity_status) === 1">距开始</text> <text v-if="parseInt(activity_status) === 1">距开始</text>
<text v-else>距结束</text> <text v-else>距结束</text>
<text class="count-down-time">{{ h }}</text> <text class="count-down-time">{{ h }}</text>
<text class="count-down-time">{{ i }}</text>
<text class="count-down-time">{{ s }}</text> <text class="count-down-time">{{ i }}</text>
</view>
<view class="tip" @click="openPopup()"> <text class="count-down-time">{{ s }}</text>
<view class="title">商品全部实物销售</view>
<view class="content">本区域销售的商品均为商家已经生产并承诺全额补货</view> </view>
</view> <view class="tip" @click="openPopup()">
</view> <view class="title">商品全部实物销售</view>
<!--商品列表--> <view class="content">本区域销售的商品均为商家已经生产并承诺全额补货(查看规则)</view>
<mescroll-uni ref="mescroll" @getData="getList" top="240"> </view>
<block slot="list"> </view>
<!--活动正常进行中 商品列表--> <!--商品列表-->
<view class="goods-list" v-if="list.length > 0 && parseInt(activity_status) === 3"> <mescroll-uni ref="mescroll" @getData="getList" top="350">
<view class="goods-block" v-for="(item,index) in list" :key="index"> <block slot="list">
<view class="left"> <!--活动正常进行中 商品列表-->
<image class="goods-image" :src="$util.img(item.goods_image)" mode="widthFix"></image> <view class="goods-list" v-if="list.length > 0 && parseInt(activity_status) === 3">
<view class="goods-status" v-if="parseInt(item.status) === 2">正在销售</view> <view class="goods-block" v-for="(item, index) in list" :key="index">
<view class="goods-status" v-else>{{ status_text[item.status] }}</view> <view class="left">
</view> <image class="goods-image" :src="$util.img(item.goods_image)" mode="widthFix"></image>
<view class="right"> <view class="goods-status" v-if="parseInt(item.status) === 2">正在销售</view>
<view class="goods-title">{{ item.goods_name }}</view> <view class="goods-status" v-else>{{ status_text[item.status] }}</view>
<view class="goods-sell"> </view>
<view class="goods-sell-item">销售商{{ item.seller_nickname }}</view> <view class="right">
<view class="goods-sell-item">采购数量{{ item.total }}</view> <view class="goods-title">{{ item.goods_name }}</view>
</view> <view class="goods-sell">
<view class="goods-bottom"> <view class="goods-sell-item">销售商{{ item.seller_nickname }}</view>
<view class="price"> <view class="goods-sell-item">采购数量{{ item.total }}</view>
<view class="price-item">单价:{{ item.market_price }}/{{ item.unit || '件' }}</view> </view>
<view class="price-item">采购价:<text class="purchase_price">{{ item.price }}</text></view> <view class="goods-bottom">
</view> <view class="price">
<view class="buy-button"> <view class="price-item">单价:{{ item.market_price }}/{{ item.unit || '件' }}</view>
<view class="buy-btn" @click="$util.redirectTo('/pages_rush/futures/details', { id: item.id }, 'redirectTo');">前去采购</view> <view class="price-item">
</view> 采购价:
</view> <text class="purchase_price">{{ item.price }}</text>
</view> </view>
</view> </view>
</view> <view class="buy-button">
<!--秒杀活动未正常进行时的内容--> <view class="buy-btn" @click="ToBuy(item)">前去采购</view>
<view class="not-list" v-else> </view>
<image class="not-list-image" v-if="parseInt(activity_status) === 1" :src="$util.img('public/static/img/futures/futures_not_started.png')" mode="widthFix"></image> </view>
<image class="not-list-image" v-if="parseInt(activity_status) === 2" :src="$util.img('public/static/img/futures/futures_not_goods.png')" mode="widthFix"></image> </view>
<view class="back-buttons"> </view>
<view class="back-buttons-btn" @click="$util.goBack();">返回</view> </view>
</view> <!--秒杀活动未正常进行时的内容-->
</view> <view class="not-list" v-else>
</block> <image
</mescroll-uni> class="not-list-image"
<!--登录弹框--> v-if="parseInt(activity_status) === 1"
<ns-login ref="login"></ns-login> :src="$util.img('public/static/img/futures/futures_not_started.png')"
<!--加载动画--> mode="widthFix"
<loading-cover ref="loadingCover"></loading-cover> ></image>
</view> <image
class="not-list-image"
<view @touchmove.prevent> v-if="parseInt(activity_status) === 2"
<uni-popup ref="registerPopup" type="center" :maskClick="false"> :src="$util.img('public/static/img/futures/futures_not_goods.png')"
<view class="conten-box"> mode="widthFix"
<view class="close"><text class="iconfont icon-close" @click="toClose"></text></view> ></image>
<view class="title">{{ regisiterAgreement.title }}</view> <view class="back-buttons"><view class="back-buttons-btn" @click="$util.goBack()">返回</view></view>
<view class="con"> </view>
<scroll-view scroll-y="true" class="con"><rich-text :nodes="regisiterAgreement.content"></rich-text></scroll-view> </block>
</view> </mescroll-uni>
</view> <!--登录弹框-->
</uni-popup> <ns-login ref="login"></ns-login>
</view> <!--加载动画-->
<loading-cover ref="loadingCover"></loading-cover>
</view>
<view @touchmove.prevent>
<uni-popup ref="registerPopup" type="center" :maskClick="false">
<view class="conten-box">
<view class="close"><text class="iconfont icon-close" @click="toClose"></text></view>
<view class="title">{{ regisiterAgreement.title }}</view>
<view class="con">
<scroll-view scroll-y="true" class="con"><rich-text :nodes="regisiterAgreement.content"></rich-text></scroll-view>
</view>
</view>
</uni-popup>
</view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
list: [], list: [],
activity_status: 1,// 1=2=3= activity_status: 1, // 1=2=3=
status_text: { status_text: {
1 : '库存', 1: '库存',
2 : '正在销售', 2: '正在销售',
3 : '已售出', 3: '已售出',
4 : '提货中', 4: '提货中',
5 : '提货完成', 5: '提货完成',
6 : '待支付', 6: '待支付',
7 : '捡漏', 7: '捡漏'
}, },
// //
setInterval_time: 0,// setInterval_time: 0, //
diff_time: 0, diff_time: 0,
h: '00', h: '00',
i: '00', i: '00',
s: '00', s: '00',
interval: '', interval: '',
regisiterAgreement: { regisiterAgreement: {
// //
title: '', title: '',
content: '' content: ''
}, }
}; };
}, },
components: {}, components: {},
mixins: [], mixins: [],
onLoad(option) { onLoad(option) {
this.getRegisiterAggrement();}, this.getRegisiterAggrement();
onReady(){ },
// onReady() {
if (!uni.getStorageSync('token')) this.$refs.login.open('/pages_rush/futures/seckill'); //
}, if (!uni.getStorageSync('token')) this.$refs.login.open('/pages_rush/futures/seckill');
onShow() {}, },
methods: { onShow() {},
/** methods: {
* 获取注册协议 ToBuy(data){
*/ uni.setStorage({
getRegisiterAggrement() { key: 'futuresOrderCreateData',
this.$api.sendRequest({ data: {
url: '/futures/api/futures/aggrement', futures_id: data.id,
success: res => { order_remarks: ''
if (res.code >= 0) { },
this.regisiterAgreement = res.data; success: () => {
} this.$util.redirectTo('/pages_rush/futures/details',{ id: data.id });
} }
}); });
}, },
// /**
getList(mescroll) { * 获取注册协议
this.$api.sendRequest({ */
url: '/futures/api/futures/list', getRegisiterAggrement() {
data: { this.$api.sendRequest({
page: mescroll.num, url: '/futures/api/futures/aggrement',
page_size: mescroll.size, success: res => {
status: 'miaosha', if (res.code >= 0) {
}, this.regisiterAgreement = res.data;
success: res => { }
if(parseInt(res.code) === 0){ }
// });
mescroll.endSuccess(Object.keys(res.data.list).length); },
// //
if (parseInt(mescroll.num) === 1) this.list = []; // getList(mescroll) {
this.list = this.list.concat(res.data.list); // this.$api.sendRequest({
this.setInterval_time = parseInt(res.data.end_time); url: '/futures/api/futures/list',
// data: {
this.activity_status = 3;// page: mescroll.num,
if(Object.keys(this.list).length <= 0) this.activity_status = 2;// page_size: mescroll.size,
}else if(parseInt(res.code) === -801){ status: 'miaosha'
// res.code-801= },
mescroll.endSuccess(0); success: res => {
this.activity_status = 1;// if (parseInt(res.code) === 0) {
this.setInterval_time = res.data.miaosha_start_time; //
} mescroll.endSuccess(Object.keys(res.data.list).length);
// //
this.countDown(); if (parseInt(mescroll.num) === 1) this.list = []; //
this.list = this.list.concat(res.data.list); //
setTimeout(() => { this.setInterval_time = parseInt(res.data.end_time);
if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); //
}, 1000); this.activity_status = 3; //
}, if (Object.keys(this.list).length <= 0) this.activity_status = 2; //
fail: res => { } else if (parseInt(res.code) === -801) {
mescroll.endErr(); // res.code-801=
if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); mescroll.endSuccess(0);
} this.activity_status = 1; //
}); this.setInterval_time = res.data.miaosha_start_time;
}, }
// //
countDown(){ this.countDown();
this.interval = setInterval(() => { this.$refs.loadingCover.hide();
// // setTimeout(() => {
let nowTime = Math.ceil((new Date()).getTime() / 1000); // if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
this.diff_time = this.setInterval_time - nowTime; // }, 1000);
// },
let result = this.$util.countDown(this.diff_time); fail: res => {
this.h = (parseInt(result.d) * 24) + parseInt(result.h); mescroll.endErr();
this.i = parseInt(result.i); if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
this.s = parseInt(result.s); }
}, 1000) });
}, },
/** //
* 展示注册协议 countDown() {
*/ this.interval = setInterval(() => {
openPopup() { //
this.$refs.registerPopup.open(); let nowTime = Math.ceil(new Date().getTime() / 1000);
}, this.diff_time = this.setInterval_time - nowTime;
/** //
* 点击关闭协议 let result = this.$util.countDown(this.diff_time);
*/ this.h = parseInt(result.d) * 24 + parseInt(result.h);
toClose() { this.i = parseInt(result.i);
this.$refs.registerPopup.close(); this.s = parseInt(result.s);
}, }, 1000);
}, },
onBackPress(options) { /**
if (options.from === 'navigateBack') return false; * 展示注册协议
this.$util.redirectTo('/pages/member/index'); */
return true; openPopup() {
} this.$refs.registerPopup.open();
},
/**
* 点击关闭协议
*/
toClose() {
this.$refs.registerPopup.close();
}
},
onBackPress(options) {
if (options.from === 'navigateBack') return false;
this.$util.redirectTo('/pages/member/index');
return true;
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.seckill{ .seckill {
background: #fafcff; background: #fafcff;
min-height: 100vh; min-height: 100vh;
.seckill-top{ .seckill-top {
width: 100vw; width: 100vw;
position: relative; position: relative;
.top-background-image{ .top-background-image {
width: 100%; width: 100%;
} }
.seckill-count-down{ .seckill-count-down {
position: absolute; position: absolute;
top: 150rpx; top: 150rpx;
left: 0; left: 0;
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: 30rpx; font-size: 30rpx;
color: #f7dee1; color: #f7dee1;
display: inline-flex; display: inline-flex;
flex-direction: row; flex-direction: row;
flex-wrap: nowrap; flex-wrap: nowrap;
align-content: center; align-content: center;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
height: 60rpx; height: 60rpx;
.count-down-time{ .count-down-time {
--size--: 45rpx; --size--: 45rpx;
background: #ffffff; background: #ffffff;
color: #fe7671; color: #fe7671;
min-width: calc(var(--size--) - 20rpx); min-width: calc(var(--size--) - 20rpx);
height: var(--size--); height: var(--size--);
border-radius: 10rpx; border-radius: 10rpx;
display: inline-flex; display: inline-flex;
flex-direction: row; flex-direction: row;
flex-wrap: nowrap; flex-wrap: nowrap;
align-content: center; align-content: center;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin: 0 6rpx; margin: 0 6rpx;
font-size: 26rpx; font-size: 26rpx;
padding: 0 10rpx; padding: 0 10rpx;
} }
} }
.tip{ .tip {
position: absolute; position: absolute;
top: 214rpx; top: 198rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
width: 100%; width: 100%;
transform: scale(0.85); transform: scale(0.85);
z-index: 500; z-index: 500;
.title{ .title {
width: 520rpx; width: 520rpx;
font-weight: 900; font-weight: 900;
font-size: 60rpx; font-size: 60rpx;
color: #f4de38; color: #f4de38;
border-bottom: solid 2rpx; border-bottom: solid 2rpx;
border-top: solid 2rpx; border-top: solid 2rpx;
line-height: 82rpx; line-height: 82rpx;
text-align: center; text-align: center;
} }
.content{ .content {
font-size: 20rpx; font-size: 26rpx;
color: #f4de38; color: #fff;
} }
} }
} }
.goods-list{ .goods-list {
margin: 0 30rpx; margin: 0 30rpx;
.goods-block {
--size--: calc((100vw - 100rpx) / 3);
border-radius: 20rpx;
background: #ffffff;
padding: 20rpx;
margin-bottom: 30rpx;
box-shadow: 0 2rpx 10rpx #eeeff2;
width: calc(100% - 40rpx);
display: inline-flex;
flex-wrap: nowrap;
flex-direction: row;
align-content: center;
justify-content: center;
align-items: center;
height: var(--size--);
.left {
margin-right: 20rpx;
height: var(--size--);
width: var(--size--);
position: relative;
border-radius: 20rpx;
overflow: hidden;
.goods-image {
max-width: 100% !important;
max-height: 100% !important;
}
.goods-status {
position: absolute;
bottom: 0;
width: 100%;
background: #fc4740;
color: #febebc;
font-size: 24rpx;
text-align: center;
height: 30rpx;
line-height: 30rpx;
}
}
.right {
width: calc((var(--size--) * 2) - 20rpx);
display: inline-flex;
flex-direction: column;
flex-wrap: wrap;
align-content: flex-start;
justify-content: flex-start;
align-items: flex-start;
height: 100%;
.goods-title {
width: 100%;
height: 50rpx;
line-height: 50rpx;
font-size: 30rpx;
font-weight: bold;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.goods-sell {
width: 100%;
display: inline-flex;
height: 50rpx;
line-height: 50rpx;
color: #b5b7c0;
.goods-sell-item {
width: 50%;
color: #b5b7c0;
font-size: 24rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 50rpx;
}
.goods-sell-item:nth-of-type(1) {
text-align: left;
}
.goods-sell-item:nth-of-type(2) {
text-align: right;
}
}
.goods-bottom {
width: 100%;
height: calc(var(--size--) - 100rpx);
display: inline-flex;
align-items: flex-end;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
.goods-block{ .price {
--size--: calc((100vw - 100rpx) / 3); height: 100%;
border-radius: 20rpx; display: inline-flex;
background: #ffffff; flex-direction: column;
padding: 20rpx; flex-wrap: nowrap;
margin-bottom: 30rpx; justify-content: flex-end;
box-shadow: 0 2rpx 10rpx #eeeff2; align-items: flex-start;
width: calc(100% - 40rpx); width: calc(100% - 140rpx);
display: inline-flex;
flex-wrap: nowrap;
flex-direction: row;
align-content: center;
justify-content: center;
align-items: center;
height: var(--size--);
.left{ .price-item {
margin-right: 20rpx; width: 100%;
height: var(--size--); color: #b5b7c0;
width: var(--size--); font-size: 24rpx;
position: relative; white-space: nowrap;
border-radius: 20rpx; overflow: hidden;
overflow: hidden; text-overflow: ellipsis;
height: 40rpx;
.goods-image{ line-height: 40rpx;
max-width: 100% !important; .purchase_price {
max-height: 100% !important; color: #fe7e79;
} font-size: 30rpx;
.goods-status{ font-weight: bold;
position: absolute; }
bottom: 0; }
width: 100%; }
background: #fc4740; .buy-button {
color: #febebc; height: 100%;
font-size: 24rpx; display: inline-flex;
text-align: center; align-items: flex-end;
height: 30rpx; justify-content: flex-end;
line-height: 30rpx; .buy-btn {
} width: 140rpx;
} height: 70rpx;
.right{ line-height: 70rpx;
width: calc((var(--size--) * 2) - 20rpx); color: #fef5f5;
display: inline-flex; background: #ff2724;
flex-direction: column; font-size: 26rpx;
flex-wrap: wrap; border-radius: 100rpx;
align-content: flex-start; text-align: center;
justify-content: flex-start; margin-bottom: 8rpx;
align-items: flex-start; }
height: 100%; }
.goods-title{ }
width: 100%; }
height: 50rpx; }
line-height: 50rpx; }
font-size: 30rpx; .not-list {
font-weight: bold; width: 100%;
white-space: nowrap; padding-top: 200rpx;
overflow: hidden; display: inline-flex;
text-overflow: ellipsis; flex-direction: column;
} flex-wrap: nowrap;
.goods-sell{ justify-content: center;
width: 100%; align-items: center;
display: inline-flex; .not-list-image {
height: 50rpx; max-width: 60vw !important;
line-height: 50rpx; max-height: 60vw !important;
color: #b5b7c0; }
.goods-sell-item{ .back-buttons {
width: 50%; width: 100%;
color: #b5b7c0; display: inline-flex;
font-size: 24rpx; flex-direction: row;
white-space: nowrap; flex-wrap: nowrap;
overflow: hidden; justify-content: center;
text-overflow: ellipsis; align-items: center;
line-height: 50rpx; margin-top: 50rpx;
} .back-buttons-btn {
.goods-sell-item:nth-of-type(1){ background: linear-gradient(90deg, #f5877b, #e93e3d);
text-align: left; height: 70rpx;
} line-height: 70rpx;
.goods-sell-item:nth-of-type(2){ font-size: 34rpx;
text-align: right; color: #fffefe;
} width: 300rpx;
} text-align: center;
.goods-bottom{ border-radius: 100rpx;
width: 100%; letter-spacing: 6rpx;
height: calc(var(--size--) - 100rpx); text-indent: 6px;
display: inline-flex; }
align-items: flex-end; }
flex-direction: row; }
flex-wrap: nowrap;
justify-content: space-between;
.price{
height: 100%;
display: inline-flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-end;
align-items: flex-start;
width: calc(100% - 140rpx);
.price-item{
width: 100%;
color: #b5b7c0;
font-size: 24rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 40rpx;
line-height: 40rpx;
.purchase_price{
color: #fe7e79;
font-size: 30rpx;
font-weight: bold;
}
}
}
.buy-button{
height: 100%;
display: inline-flex;
align-items: flex-end;
justify-content: flex-end;
.buy-btn{
width: 140rpx;
height: 70rpx;
line-height: 70rpx;
color: #fef5f5;
background: #ff2724;
font-size: 26rpx;
border-radius: 100rpx;
text-align: center;
margin-bottom: 8rpx;
}
}
}
}
}
}
.not-list{
width: 100%;
padding-top: 200rpx;
display: inline-flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
.not-list-image{
max-width: 60vw!important;
max-height: 60vw!important;
}
.back-buttons{
width: 100%;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
margin-top: 50rpx;
.back-buttons-btn{
background: linear-gradient(90deg, #f5877b, #e93e3d);
height: 70rpx;
line-height: 70rpx;
font-size: 34rpx;
color: #fffefe;
width: 300rpx;
text-align: center;
border-radius: 100rpx;
letter-spacing: 6rpx;
text-indent: 6px;
}
}
}
} }
.conten-box { .conten-box {
padding: 0 30rpx 30rpx; padding: 0 30rpx 30rpx;
.title { .title {
text-align: center; text-align: center;
margin-top: 50rpx; margin-top: 50rpx;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.close { .close {
position: absolute; position: absolute;
right: 30rpx; right: 30rpx;
top: 10rpx; top: 10rpx;
} }
.con { .con {
height: 500rpx; height: 500rpx;
} }
} }
</style> </style>

View File

@ -342,14 +342,14 @@
</view> </view>
</block> </block>
<!-- 联系客服 --> <!-- 联系客服 -->
<ns-contact :niushop="{ order_id: orderData.order_id }"> <!-- <ns-contact :niushop="{ order_id: orderData.order_id }">
<view class="kefu"> <view class="kefu">
<view> <view>
<text class="iconfont icon-ziyuan"></text> <text class="iconfont icon-ziyuan"></text>
<text>联系客服</text> <text>联系客服</text>
</view> </view>
</view> </view>
</ns-contact> </ns-contact> -->
</view> </view>
<block v-if="orderData.virtual_goods && orderData.goods_class == 2 && orderData.virtual_goods.is_veirfy == 0"> <block v-if="orderData.virtual_goods && orderData.goods_class == 2 && orderData.virtual_goods.is_veirfy == 0">

View File

@ -119,8 +119,7 @@
<view <view
class="order-box-btn" class="order-box-btn"
v-if="evaluateConfig.evaluate_status == 1 && orderItem.is_evaluate == 1" v-if="evaluateConfig.evaluate_status == 1 && orderItem.is_evaluate == 1"
@click="operation('memberOrderEvaluation', orderItem)" @click="operation('memberOrderEvaluation', orderItem)">
>
<text v-if="orderItem.evaluate_status == 0">评价</text> <text v-if="orderItem.evaluate_status == 0">评价</text>
<text v-else-if="orderItem.evaluate_status == 1">追评</text> <text v-else-if="orderItem.evaluate_status == 1">追评</text>
</view> </view>
@ -129,8 +128,7 @@
:class="{ 'color-base-border color-base-bg': operationItem.action == 'orderPay' }" :class="{ 'color-base-border color-base-bg': operationItem.action == 'orderPay' }"
v-for="(operationItem, operationIndex) in orderItem.action" v-for="(operationItem, operationIndex) in orderItem.action"
:key="operationIndex" :key="operationIndex"
@click="operation(operationItem.action, orderItem)" @click="operation(operationItem.action, orderItem)">
>
{{ operationItem.title }} {{ operationItem.title }}
</view> </view>
</view> </view>

View File

@ -56,15 +56,15 @@
</view> </view>
<view class="assets-list"> <view class="assets-list">
<view class="assets-li"> <view class="assets-li">
<view>{{ fenxiao_info.account }}</view> <view>{{ fenxiao_info.account ||0 }}</view>
<view>可提现佣金</view> <view>可提现佣金</view>
</view> </view>
<view class="assets-li"> <view class="assets-li">
<view>{{ fenxiao_info.account_withdraw_apply }}</view> <view>{{ fenxiao_info.account_withdraw_apply ||0}}</view>
<view>提现中佣金</view> <view>提现中佣金</view>
</view> </view>
<view class="assets-li"> <view class="assets-li">
<view>{{ accountInfo.fenxiao_order_count }}</view> <view>{{ accountInfo.fenxiao_order_count ||0}}</view>
<view>待结算订单</view> <view>待结算订单</view>
</view> </view>
</view> </view>

View File

@ -2,11 +2,11 @@
<page-meta :page-style="themeColor"></page-meta> <page-meta :page-style="themeColor"></page-meta>
<view class="container"> <view class="container">
<view class="withdraw-wrap"> <view class="withdraw-wrap">
<view class="withdraw-wrap-title">会员账号</view> <view class="withdraw-wrap-title">账号</view>
<view class="money-wrap"> <view class="money-wrap">
<input type="text" class="withdraw-money" style="font-size: 16px;" placeholder="请输入会员账号" v-model="username" /> <input type="text" class="withdraw-money" style="font-size: 16px;" placeholder="请输入会员账号或手机号" v-model="username" />
<view class="delete" @click="removeUsername" v-if="username"> <view class="delete" @click="removeUsername" v-if="username">
<image :src="$util.img('upload/picture/member/apply_withdrawal/close.png')" mode="widthFix"></image> <image :src="$util.img('public/uniapp/member/apply_withdrawal/close.png')" mode="widthFix"></image>
</view> </view>
</view> </view>
</view> </view>
@ -17,7 +17,7 @@
<text class="unit">{{ $lang('common.currencySymbol') }}</text> <text class="unit">{{ $lang('common.currencySymbol') }}</text>
<input type="digit" class="withdraw-money" v-model="withdrawMoney" /> <input type="digit" class="withdraw-money" v-model="withdrawMoney" />
<view class="delete" @click="remove" v-if="withdrawMoney"> <view class="delete" @click="remove" v-if="withdrawMoney">
<image :src="$util.img('upload/picture/member/apply_withdrawal/close.png')" mode="widthFix"></image> <image :src="$util.img('public/uniapp/member/apply_withdrawal/close.png')" mode="widthFix"></image>
</view> </view>
</view> </view>
<view class="bootom"> <view class="bootom">
@ -30,11 +30,10 @@
<view class="withdraw-wrap"> <view class="withdraw-wrap">
<view class="withdraw-wrap-title">支付密码</view> <view class="withdraw-wrap-title">支付密码</view>
<view class="money-wrap"> <view class="money-wrap">
<input type="digit" class="withdraw-money" v-model="buy_password" /> <input type="password" class="withdraw-money" v-model="buy_password" />
</view> </view>
</view> </view>
<view class="btn color-base-border ns-gradient-otherpages-member-widthdrawal-withdrawal" <view class="btn color-base-border ns-gradient-otherpages-member-widthdrawal-withdrawal" :class="{ disabled: withdrawMoney == '' || withdrawMoney == 0 || username==''}" @click="withdraw">
:class="{ disabled: withdrawMoney == '' || withdrawMoney == 0 || username==''}" @click="withdraw">
确认转账 确认转账
</view> </view>
<loading-cover ref="loadingCover"></loading-cover> <loading-cover ref="loadingCover"></loading-cover>
@ -103,7 +102,7 @@ export default {
content: '您未设置支付密码,需设置支付密码后进行转账,点击确定前往支付密码设置', content: '您未设置支付密码,需设置支付密码后进行转账,点击确定前往支付密码设置',
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
_this.$util.redirectTo('/pages_tool/member/info_edit', {action: 'pay_password'}, ''); _this.$util.redirectTo('/pages_tool/member/pay_password',{'back':'/pages_tool/member/balance_transfer'});
} else if (res.cancel) { } else if (res.cancel) {
_this.isSub = false; _this.isSub = false;
console.log('用户点击取消'); console.log('用户点击取消');
@ -206,9 +205,6 @@ export default {
}); });
} }
} }
}, },
filters: { filters: {
/** /**

View File

@ -70,6 +70,7 @@
<text class="cell-tit">{{ $lang('paypassword') }}</text> <text class="cell-tit">{{ $lang('paypassword') }}</text>
<text class="cell-more"></text> <text class="cell-more"></text>
</view> </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-tit">所在地址</text>
<text class="cell-tip" v-if="memberInfo.full_address">{{ memberInfo.full_address }} {{ memberInfo.address }}</text> <text class="cell-tip" v-if="memberInfo.full_address">{{ memberInfo.full_address }} {{ memberInfo.address }}</text>

View File

@ -62,8 +62,8 @@
</view> </view>
</view> </view>
<!-- 修改密码 --> <!-- 修改密码 -->
<view v-if="indent == 'password' || indent == 'pay_password'" class="edit-info"> <view v-if="indent == 'password'" class="edit-info">
<block v-if="memberInfo.password =='' || memberInfo.pay_password == '' && memberInfo.mobile == ''"> <block v-if="memberInfo.password =='' && memberInfo.mobile == ''">
<view class="empty"> <view class="empty">
<view class="empty_img"><image :src="$util.img('public/uniapp/common/common-empty.png')" mode="aspectFit"></image></view> <view class="empty_img"><image :src="$util.img('public/uniapp/common/common-empty.png')" mode="aspectFit"></image></view>
<view class="color-tip margin-top margin-bottom">请先绑定手机再执行该操作</view> <view class="color-tip margin-top margin-bottom">请先绑定手机再执行该操作</view>
@ -71,7 +71,7 @@
</view> </view>
</block> </block>
<block v-else> <block v-else>
<view class="edit-info-box" v-if="memberInfo.password"> <view class="edit-info-box" v-if="memberInfo.password && indent == 'password'">
<text class="info-name">{{ $lang('nowPassword') }}</text> <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" /> <input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('nowPassword')" v-model="formData.currentPassword" />
</view> </view>
@ -97,12 +97,14 @@
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('confirmPassword')" v-model="formData.confirmPassword" /> <input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('confirmPassword')" v-model="formData.confirmPassword" />
</view> </view>
<view class="save-item" @click="save(indent)"> <view class="save-item" @click="save('password')">
<button type="primary">{{ $lang('save') }}</button> <button type="primary">{{ $lang('save') }}</button>
</view> </view>
</block> </block>
</view> </view>
<!-- 修改手机号 --> <!-- 修改手机号 -->
<view v-if="indent == 'mobile'" class="edit-info"> <view v-if="indent == 'mobile'" class="edit-info">
<view class="edit-info-box"> <view class="edit-info-box">

View File

@ -15,7 +15,6 @@
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import mypOne from '@/pages_tool/components/myp-one/myp-one.vue'; import mypOne from '@/pages_tool/components/myp-one/myp-one.vue';
export default { export default {
@ -167,14 +166,12 @@ export default {
if (this.dynacodeData.seconds != 120) return; if (this.dynacodeData.seconds != 120) return;
if (this.dynacodeData.isSend) return; if (this.dynacodeData.isSend) return;
this.dynacodeData.isSend = true; this.dynacodeData.isSend = true;
this.$api.sendRequest({ this.$api.sendRequest({
url: '/api/member/paypwdcode', url: '/api/member/paypwdcode',
success: res => { success: res => {
this.dynacodeData.isSend = false; this.dynacodeData.isSend = false;
if (res.code >= 0) { if (res.code >= 0) {
this.key = res.data.key; this.key = res.data.key;
if (this.dynacodeData.seconds == 120 && this.dynacodeData.timer == null) { if (this.dynacodeData.seconds == 120 && this.dynacodeData.timer == null) {
this.dynacodeData.timer = setInterval(() => { this.dynacodeData.timer = setInterval(() => {
this.dynacodeData.seconds--; this.dynacodeData.seconds--;
@ -193,11 +190,7 @@ export default {
} }
}, },
onLoad(option) { onLoad(option) {
if (option.back) this.back = option.back; if (option.back) this.back = option.back;
// //
if (!uni.getStorageSync('token')) { if (!uni.getStorageSync('token')) {
this.$util.redirectTo('/pages_tool/login/login'); this.$util.redirectTo('/pages_tool/login/login');

View File

@ -237,6 +237,11 @@ export default {
} }
}); });
break; break;
case 'pay_password':
this.$util.redirectTo('/pages_tool/member/pay_password', {
back: '/pages_tool/member/info'
});
break;
default: default:
this.$util.redirectTo('/pages_tool/member/info_edit', { this.$util.redirectTo('/pages_tool/member/info_edit', {
action action
@ -351,7 +356,7 @@ export default {
case 'birthday': case 'birthday':
this.modifyBirthday(); this.modifyBirthday();
break; break;
case 'password' || 'pay_password': case 'password':
this.modifyPassword(); this.modifyPassword();
break; break;
case 'mobile': case 'mobile':
@ -581,7 +586,7 @@ export default {
}); });
}, },
modifyPassword() { modifyPassword() {
if ((this.indent=='password'&&this.memberInfo.password) || (this.indent=='pay_password'&&this.memberInfo.pay_password)) { if (this.indent=='password' && this.memberInfo.password) {
var rule = [{ var rule = [{
name: 'currentPassword', name: 'currentPassword',
checkType: 'required', checkType: 'required',
@ -786,7 +791,6 @@ export default {
} }
}, },
async modifyMobile() { async modifyMobile() {
var mobileRule = [{ var mobileRule = [{
name: 'mobile', name: 'mobile',
checkType: 'phoneno', checkType: 'phoneno',
@ -856,7 +860,6 @@ export default {
*/ */
passwordMoblieCode() { passwordMoblieCode() {
if (this.seconds != 120) return; if (this.seconds != 120) return;
if (this.formData.mobileVercode == '') { if (this.formData.mobileVercode == '') {
this.$util.showToast({ this.$util.showToast({
title: this.$lang("confirmCodeInput") title: this.$lang("confirmCodeInput")